"use strict";(globalThis.webpackChunkimage_optimization=globalThis.webpackChunkimage_optimization||[]).push([[874],{5874(i){i.exports=JSON.parse('{"dialog":{"title":"Geri bildiriminizi paylaşın","fieldTitlePlaceholder":"Başlık","fieldDescriptionPlaceholder":"Aklınızdakileri bize bildirin","fieldSubjectPlaceholder":"Geri bildiriminizin konusunu seçin","fieldProductPlaceholder":"Ürünü seçin","note":"Geri bildiriminiz için teşekkür ederiz! Gönderilen tüm geri bildirimleri inceliyor olsak da her önerinin bir değişikliğe veya güncellemeyle sonuçlanacağını garanti edemeyiz.","subjects":{"leaveFeedback":"Geri bildirim bırakın","reportBug":"Hata bildirin","requestFeature":"Özellik isteyin","shareThoughts":"Başka düşüncelerinizi paylaşın"},"products":{"general":"Genel","editor":"Düzenleyici","accessibility":"Erişilebilirlik","imageOptimization":"Görsel optimizasyonu","emailDeliverability":"E-posta iletilebilirliği","siteManagement":"Site yönetimi","cookieConsent":"Cookie consent"},"cancel":"İptal","submit":"Gönder","titleLengthError":"Başlık 90 karakterden kısa olmalı","descriptionLengthError":"Açıklama 1024 karakterden kısa olmalı","alert":{"title":"Yardıma mı ihtiyacınız var veya bir sorunla mı karşılaştınız?","button":"Destek talebi gönderin"}},"tooltipSuccess":"Geri bildirim gönderildi. Yardımınız için teşekkürler.","tooltipError":"Bir şeyler ters gitti. Lütfen geri bildiriminizi tekrar göndermeyi deneyin."}')}}]);<!-- wp:group {"align":"wide","style":{"spacing":{"margin":{"top":"var:preset|spacing|60","bottom":"var:preset|spacing|60"}}},"layout":{"type":"default"}} -->
<div class="wp-block-group alignwide" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60);">
	<!-- wp:group {"ariaLabel":"Post navigation","tagName":"nav","align":"wide","style":{"border":{"top":{"color":"var:preset|color|accent-6","width":"1px"}},"spacing":{"padding":{"top":"var:preset|spacing|40","bottom":"var:preset|spacing|40"}}},"layout":{"type":"flex","flexWrap":"nowrap","justifyContent":"space-between"}} -->
	<nav class="wp-block-group alignwide" aria-label="Post navigation" style="border-top-color:var(--wp--preset--color--accent-6);border-top-width:1px;padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)">
		<!-- wp:post-navigation-link {"type":"previous","showTitle":true,"arrow":"arrow"} /-->
		<!-- wp:post-navigation-link {"showTitle":true,"arrow":"arrow"} /-->
	</nav>
	<!-- /wp:group -->
</div>
<!-- /wp:group -->
{"translation-revision-date":"2023-10-17 14:42:22+0000","generator":"WP-CLI\/2.12.0","source":"src\/Assist\/tasks\/add-page.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH","plural-forms":"nplurals=2; plural=n != 1;"},"Add a new page for your website.":["F\u00fcgen Sie Ihrer Website eine neue Seite hinzu."],"Add new":["Neu hinzuf\u00fcgen"],"Add a page":["Eine Seite hinzuf\u00fcgen"]}}}HTTP Factories
==============

This repository holds all interfaces related to [PSR-17 (HTTP Factories)][psr-url].

Note that this is not a HTTP Factory implementation of its own. It is merely interfaces that describe the components of a HTTP Factory.

The installable [package][package-url] and [implementations][implementation-url] are listed on Packagist.

[psr-url]: https://www.php-fig.org/psr/psr-17/
[package-url]: https://packagist.org/packages/psr/http-factory
[implementation-url]: https://packagist.org/providers/psr/http-factory-implementation

<header id="masthead" class="site-header has-title-and-tagline" role="banner">

		
</header><!-- #masthead -->
{
  "elements": {
    "wpvrelement": {
      "settings": {
        "name": "WP VR",
        "metaThumbnailUrl": "[publicPath]/thumbnail.png",
        "metaPreviewUrl": "[publicPath]/preview.jpg",
        "metaDescription": "Apply WP VR"
      }
    }
  },
  "categories": {
    "Misc": {
      "elements": [
        "wpvrelement"
      ]
    }
  }
}
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="64px" height="64px" viewBox="0 0 64 64" enable-background="new 0 0 64 64" xml:space="preserve">
<line fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" x1="5" y1="0" x2="5" y2="64"/>
<line fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" x1="59" y1="0" x2="59" y2="64"/>
<polyline fill="none" stroke="#000000" stroke-width="2" stroke-linejoin="bevel" stroke-miterlimit="10" points="45,25 38,32 
	45,39 "/>
<line fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" x1="38" y1="32" x2="59" y2="32"/>
<polyline fill="none" stroke="#000000" stroke-width="2" stroke-linejoin="bevel" stroke-miterlimit="10" points="19,39 26,32 
	19,25 "/>
<line fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" x1="26" y1="32" x2="5" y2="32"/>
</svg>
/*! pro-elements - v4.1.0 - 26-05-2026 */
.e-woo-select2-wrapper .select2-results__option{color:#69727d;font-family:Roboto,sans-serif;font-size:14px}.e-woo-select2-wrapper .select2-results__option:focus{color:#69727d}.elementor-widget-woocommerce-cart.e-cart-layout-one-column .e-cart__container{grid-template-columns:auto}.elementor-widget-woocommerce-cart table tbody tr:hover>td,.elementor-widget-woocommerce-cart table tbody tr:hover>th{background-color:inherit}.elementor-widget-woocommerce-cart .e-clear{height:0;overflow:hidden;width:0}.elementor-widget-woocommerce-cart .e-cart-section{background-color:var(--sections-background-color,#fff);border-color:var(--sections-border-color,#d5d8dc);border-radius:var(--sections-border-radius,3px);border-style:var(--sections-border-type,solid);border-width:1px;margin:var(--sections-margin,0 0 30px 0);padding:var(--sections-padding,16px 30px)}.elementor-widget-woocommerce-cart .e-cart-section--no-coupon{margin:var(--sections-margin,0 0 0 0)}@media (min-width:1024px){.elementor-widget-woocommerce-cart .e-cart-section:last-child{margin:var(--sections-margin,0)}}.elementor-widget-woocommerce-cart .e-cart-content{color:var(--sections-descriptions-color,#69727d);font-size:15px;font-weight:400;letter-spacing:0;line-height:23px}.elementor-widget-woocommerce-cart .e-cart__container{align-items:stretch;display:grid;flex-wrap:wrap;grid-template-columns:59% auto;grid-column-gap:var(--sections-margin,30px);grid-row-gap:var(--sections-margin,30px)}@media (max-width:1024px){.elementor-widget-woocommerce-cart .e-cart__container{grid-template-columns:repeat(1,1fr)}}.elementor-widget-woocommerce-cart .e-cart-layout-one-column .e-cart__container{grid-template-columns:auto}.elementor-widget-woocommerce-cart .select2-container{margin-bottom:4px}.elementor-widget-woocommerce-cart .select2-container--default .select2-selection--single{background-color:#f9fafa;border:none;border-radius:var(--forms-fields-border-radius,0);color:var(--forms-fields-normal-color,#69727d);height:45px}.elementor-widget-woocommerce-cart .select2-container--default .select2-selection--single:focus{background-color:#f9fafa;border-color:var(--forms-fields-focus-border-color,initial);color:var(--forms-fields-focus-color,#69727d);transition-duration:var(--forms-fields-focus-transition-duration,.3s)}.elementor-widget-woocommerce-cart .select2-container--default .select2-selection--single .select2-selection__placeholder{color:var(--forms-fields-normal-color,#69727d)}.elementor-widget-woocommerce-cart .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--forms-fields-normal-color,#69727d);line-height:45px;padding-inline:1rem}.elementor-widget-woocommerce-cart .select2-container--default .select2-selection--single .select2-selection__arrow{height:45px}.elementor-widget-woocommerce-cart .select2-container--open .select2-dropdown--below{background-color:#f9fafa}.elementor-widget-woocommerce-cart .woocommerce{font-family:Roboto,sans-serif}.elementor-widget-woocommerce-cart .woocommerce button.button{background-color:var(--e-a-bg-default);border-color:var(--forms-buttons-border-color,#5bc0de);border-radius:var(--forms-buttons-border-radius,3px);border-style:var(--forms-buttons-border-type,solid);border-width:2px;color:var(--forms-buttons-normal-text-color,#69727d);padding:var(--forms-buttons-padding,.88rem 2rem);width:var(--forms-buttons-width,auto)}.elementor-widget-woocommerce-cart .woocommerce button.button:hover{border-color:var(--forms-buttons-hover-border-color,#5bc0de);color:var(--forms-buttons-hover-text-color,#69727d);transition-duration:var(--forms-buttons-hover-transition-duration,.3s)}.elementor-widget-woocommerce-cart .woocommerce button.button.disabled,.elementor-widget-woocommerce-cart .woocommerce button.button:disabled,.elementor-widget-woocommerce-cart .woocommerce button.button:disabled[disabled]{color:var(--forms-buttons-normal-text-color,#69727d);padding:var(--forms-buttons-padding,.88rem 2rem)}.elementor-widget-woocommerce-cart .woocommerce button.button.disabled:hover,.elementor-widget-woocommerce-cart .woocommerce button.button:disabled:hover,.elementor-widget-woocommerce-cart .woocommerce button.button:disabled[disabled]:hover{background-color:var(--forms-buttons-hover-background-color,#fff);border-color:var(--forms-buttons-hover-border-color,#5bc0de);color:var(--forms-buttons-hover-text-color,#69727d);transition-duration:var(--forms-buttons-hover-transition-duration,.3s)}.elementor-widget-woocommerce-cart .woocommerce #shipping_method li label{color:var(--sections-radio-buttons-color,#69727d)}.elementor-widget-woocommerce-cart .woocommerce #shipping_method li input{vertical-align:middle}.elementor-widget-woocommerce-cart .woocommerce .shipping-calculator-form{margin-top:var(--sections-descriptions-spacing,15px)}.elementor-widget-woocommerce-cart .woocommerce .woocommerce-shipping-destination{color:var(--sections-descriptions-color,#69727d);margin-bottom:0}.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table_responsive tbody th,.elementor-widget-woocommerce-cart .woocommerce-page .cart_totals table.shop_table_responsive tbody th{display:none}.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals td,.elementor-widget-woocommerce-cart .woocommerce-page .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals td{text-align:start!important}.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals td:before,.elementor-widget-woocommerce-cart .woocommerce-page .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals td:before{margin-bottom:10px;width:100%}.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table_responsive tr td,.elementor-widget-woocommerce-cart .woocommerce-page .cart_totals table.shop_table_responsive tr td{text-align:end!important}.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table_responsive tr td:before,.elementor-widget-woocommerce-cart .woocommerce-page .cart_totals table.shop_table_responsive tr td:before{content:attr(data-title);float:inline-start;font-weight:700}.elementor-widget-woocommerce-cart .woocommerce .cart_totals h2{text-align:var(--totals-title-alignment,start)}.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table td{padding-bottom:var(--totals-rows-gap-bottom,9px);padding-top:var(--totals-rows-gap-top,12px)}.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table td .woocommerce-Price-amount,.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table td:before{color:var(--totals-color,#69727d);font-weight:700}.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table tr.order-total td{border-top-color:var(--totals-divider-color,#69727d);border-top-width:var(--totals-divider-weight,0)}.elementor-widget-woocommerce-cart .woocommerce .cart_totals .form-row{margin-bottom:var(--forms-rows-gap,6px)}.elementor-widget-woocommerce-cart .woocommerce .product-name a{color:var(--product-link-normal-color,#000)}.elementor-widget-woocommerce-cart .woocommerce .product-name a:hover{color:var(--product-link-hover-color,#000)}.elementor-widget-woocommerce-cart .woocommerce .form-row{margin:0;padding:3px 0}.elementor-widget-woocommerce-cart .woocommerce .input-text,.elementor-widget-woocommerce-cart .woocommerce select{background-color:#f9fafa;border:none;border-radius:var(--forms-fields-border-radius,3px);color:var(--forms-fields-normal-color,#69727d);font-size:14px;padding:var(--forms-fields-padding,16px)}.elementor-widget-woocommerce-cart .woocommerce .input-text::-moz-placeholder,.elementor-widget-woocommerce-cart .woocommerce select::-moz-placeholder{color:var(--forms-fields-normal-color,inherit);font-family:inherit;opacity:.6}.elementor-widget-woocommerce-cart .woocommerce .input-text::placeholder,.elementor-widget-woocommerce-cart .woocommerce select::placeholder{color:var(--forms-fields-normal-color,inherit);font-family:inherit;opacity:.6}.elementor-widget-woocommerce-cart .woocommerce .input-text:focus,.elementor-widget-woocommerce-cart .woocommerce select:focus{background-color:#f9fafa;border-color:var(--forms-fields-focus-border-color,transparent);color:var(--forms-fields-focus-color,#69727d);transition-duration:var(--forms-fields-focus-transition-duration,.3s)}.elementor-widget-woocommerce-cart .woocommerce .input-text:focus::-moz-placeholder,.elementor-widget-woocommerce-cart .woocommerce select:focus::-moz-placeholder{color:var(--forms-fields-focus-color,#69727d)}.elementor-widget-woocommerce-cart .woocommerce .input-text:focus::placeholder,.elementor-widget-woocommerce-cart .woocommerce select:focus::placeholder{color:var(--forms-fields-focus-color,#69727d)}.elementor-widget-woocommerce-cart .woocommerce .input-text.qty{background-color:transparent;border-color:var(--order-summary-quantity-border-color,#d5d8dc);border-radius:3px;border-style:solid;border-width:var(--order-summary-quantity-border-weight,1px);color:var(--order-summary-color,#000);font-size:14px;max-height:28px;min-height:28px;padding:1px 2px;text-align:start}.elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout{align-items:var(--place-order-title-alignment,stretch);display:flex;flex-direction:column;flex-wrap:wrap;padding-bottom:0}.elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout .checkout-button{background-color:#5bc0de;border-radius:var(--checkout-button-border-radius,3px);color:var(--checkout-button-normal-text-color,#fff);font-size:15px;margin-bottom:0;min-height:auto;padding:var(--checkout-button-padding,15px 1em);text-align:center;width:var(--checkout-button-width,auto)}.elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout .checkout-button:hover{background-color:#5bc0de;border-color:var(--checkout-button-hover-border-color,#5bc0de);color:var(--checkout-button-hover-text-color,#fff);transition-duration:var(--checkout-button-hover-transition-duration,.3s)}.elementor-widget-woocommerce-cart .woocommerce .remove{background:transparent;color:var(--order-summary-remove-icon-normal-color,#000)!important;width:auto}.elementor-widget-woocommerce-cart .woocommerce .remove:hover{background:transparent;color:var(--order-summary-remove-icon-hover-color,#5bc0de)!important}.elementor-widget-woocommerce-cart .woocommerce .cart-collaterals .cart_totals{float:none;width:100%}.elementor-widget-woocommerce-cart .woocommerce .cart-collaterals .cart_totals td{padding-inline-start:0}.elementor-widget-woocommerce-cart .woocommerce .cart-collaterals .cart_totals .woocommerce-shipping-totals td{padding-inline-end:0}.elementor-widget-woocommerce-cart .woocommerce .coupon .button{float:inline-end;width:100%}.elementor-widget-woocommerce-cart .woocommerce .coupon .form-row{padding:0}.elementor-widget-woocommerce-cart .woocommerce .coupon-col{display:flex}.elementor-widget-woocommerce-cart .woocommerce .coupon-col-start{flex:2;padding-inline-end:30px}@media (max-width:1024px){.elementor-widget-woocommerce-cart .woocommerce .coupon-col-start{padding-inline-end:0}}.elementor-widget-woocommerce-cart .woocommerce .coupon-col-end{flex:1}@media (max-width:1024px){.elementor-widget-woocommerce-cart .woocommerce .coupon-col-end{text-align:var(--apply-coupon-button-alignment,center)}.elementor-widget-woocommerce-cart .woocommerce .coupon-col{display:block}.elementor-widget-woocommerce-cart .woocommerce .coupon{margin:var(--sections-margin,0)}.elementor-widget-woocommerce-cart .woocommerce .coupon #coupon_code{margin-inline-end:0;margin-bottom:15px;width:100%}.elementor-widget-woocommerce-cart .woocommerce .coupon .button{float:none;width:var(--apply-coupon-button-width,100%)}}.elementor-widget-woocommerce-cart .woocommerce table.shop_table{border:0 solid}.elementor-widget-woocommerce-cart .woocommerce table.shop_table .button{float:inline-start;font-size:14px;font-weight:700}.elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart .actions{display:table-cell;text-align:var(--update-cart-button-alignment,start)!important}.elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart .actions .button{display:inline-block!important;float:none;width:var(--update-cart-button-width,auto)}@media (max-width:1024px){.elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart .actions .button{width:var(--update-cart-button-width,100%)!important}}.elementor-widget-woocommerce-cart .woocommerce table.shop_table .shipping-calculator-form p:last-of-type{text-align:var(--update-shipping-button-alignment,start)}.elementor-widget-woocommerce-cart .woocommerce table.shop_table .shipping-calculator-form .button{float:none;width:var(--update-shipping-button-width,auto)}@media (max-width:1024px){.elementor-widget-woocommerce-cart .woocommerce table.shop_table .shipping-calculator-form .button{width:var(--update-shipping-button-width,100%)}}.elementor-widget-woocommerce-cart .woocommerce table.shop_table td,.elementor-widget-woocommerce-cart .woocommerce table.shop_table th,.elementor-widget-woocommerce-cart .woocommerce table.shop_table tr{border:0 solid}.elementor-widget-woocommerce-cart .woocommerce table.shop_table tr:nth-child(odd)>td,.elementor-widget-woocommerce-cart .woocommerce table.shop_table tr:nth-child(odd)>th{background-color:transparent}.elementor-widget-woocommerce-cart .woocommerce table.shop_table .actions{padding:16px 0 0}.elementor-widget-woocommerce-cart .woocommerce table.shop_table .product-remove a{display:inline-block}.elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tbody tr:last-child{display:var(--update-cart-automatically-display,table-row)}.elementor-widget-woocommerce-cart .woocommerce table.cart{margin-bottom:0}.elementor-widget-woocommerce-cart .woocommerce table.cart img{display:block;height:auto;width:55px}.elementor-widget-woocommerce-cart .woocommerce table.cart td{padding-bottom:var(--order-summary-rows-gap-bottom,20px);padding-top:var(--order-summary-rows-gap-top,20px);padding-inline:0 20px}.elementor-widget-woocommerce-cart .woocommerce table.cart td span{color:var(--order-summary-color,#000);font-size:14px;font-weight:400}.elementor-widget-woocommerce-cart .woocommerce table.cart td.actions,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-name,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-price,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-quantity,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-remove,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-subtotal,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-thumbnail{border-top:var(--order-summary-items-divider-weight,1px) solid var(--order-summary-items-divider-color,#d5d8dc)}@media (max-width:768px){.elementor-widget-woocommerce-cart .woocommerce table.cart td.actions,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-name,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-price,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-quantity,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-remove,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-subtotal,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-thumbnail{border-top-width:0}}.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-remove{padding-inline:0}@media (min-width:767px){.elementor-widget-woocommerce-cart .woocommerce table.cart tbody tr:first-child td{border-top:none}}@media (max-width:1024px){.elementor-widget-woocommerce-cart .woocommerce table.cart.product-remove{position:relative}.elementor-widget-woocommerce-cart .woocommerce table.cart.product-name{padding-inline-end:0}.elementor-widget-woocommerce-cart .woocommerce table.cart tr{border-top-color:var(--order-summary-items-divider-color,#d5d8dc);border-top-width:var(--order-summary-items-divider-weight,1px)}.elementor-widget-woocommerce-cart .woocommerce table.cart tr:first-child{border-top:none}}@media (max-width:768px){.elementor-widget-woocommerce-cart .woocommerce table.cart td{padding-inline:0}}@media (max-width:767px){.elementor-widget-woocommerce-cart .woocommerce table.cart{padding:0}.elementor-widget-woocommerce-cart .woocommerce table.cart tr{padding:16px 28px}.elementor-widget-woocommerce-cart .woocommerce table.cart tr:first-child{border-top:none}.elementor-widget-woocommerce-cart .woocommerce table.cart td{padding-inline:0}.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-name,.elementor-widget-woocommerce-cart .woocommerce table.cart td:first-child{border-top:none}.elementor-widget-woocommerce-cart .woocommerce table.cart td.actions{padding:0}}.elementor-widget-woocommerce-cart .woocommerce a:not(.add_to_cart_button):not(.restore-item):not(.wc-backward):not(.wc-forward){color:var(--links-normal-color,#5bc0de)}.elementor-widget-woocommerce-cart .woocommerce a:not(.add_to_cart_button):not(.restore-item):not(.wc-backward):not(.wc-forward):hover{color:var(--links-hover-color,#5bc0de)}.elementor-widget-woocommerce-cart .woocommerce .cart th,.elementor-widget-woocommerce-cart .woocommerce .cart_totals h2{font-size:14px;font-weight:700;margin-top:0;padding-bottom:8px;padding-top:0;padding-inline:0 20px}.elementor-widget-woocommerce-cart .woocommerce .cart_totals h2{color:var(--sections-title-color,#000);margin-bottom:var(--sections-title-spacing,1rem)}.elementor-widget-woocommerce-cart .woocommerce .cart th{color:var(--order-summary-title-color,#000);padding-bottom:var(--order-summary-title-spacing,8px)}.elementor-widget-woocommerce-cart .woocommerce .cart td:before{color:var(--order-summary-title-color,#000)}.elementor-widget-woocommerce-cart .woocommerce .shipping-calculator-button:after{display:none}.elementor-widget-woocommerce-cart .woocommerce .product-name .variation{color:var(--order-summary-variations-color,#000)}@media (max-width:1024px){.elementor-widget-woocommerce-cart .woocommerce table.shop_table_responsive tr:nth-child(2n) td,.elementor-widget-woocommerce-cart .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td{background-color:transparent}.elementor-widget-woocommerce-cart .woocommerce .cart_totals .shop_table_responsive td{padding-inline-start:0}}.e-preview--show-hidden-elements .elementor-widget-woocommerce-cart .woocommerce #shipping_method input,.e-preview--show-hidden-elements .elementor-widget-woocommerce-cart .woocommerce .shipping-calculator-form button[name=calc_shipping]{pointer-events:none}.woocommerce div.product.elementor form.cart div.product-addon{flex-basis:100%;flex-shrink:0}.e-sticky-right-column--active{position:sticky;top:0}/*
 Plugin visibility module
 ------------------------
 */

.plugins thead .ame-check-column,
.plugins tfoot .ame-check-column {
	padding: 4px 0 0 6px;
	vertical-align: middle;
	width: 2.2em;
}

.plugins .ame-check-column {
	vertical-align: top;
}

/*
 Plugin status indicator on the check column
 */
.plugins .active th.ame-check-column,
.plugin-update-tr.active td {
	border-left: 4px solid #2ea2cc;
}

.plugins thead th.ame-check-column,
.plugins tfoot th.ame-check-column,
.plugins .inactive th.ame-check-column {
	padding-left: 6px;
}

.plugins tbody th.ame-check-column,
.plugins tbody {
	padding: 8px 0 0 2px;
}

.plugins tbody th.ame-check-column input[type=checkbox] {
	margin-top: 4px;
}

/*
 The "Save Changes" form
 */

.ame-pv-save-form {
	float: right;
	margin-top: 5px;
	margin-bottom: 6px;
}

//Make room for th save button.
#ws_actor_selector_container {
	margin-right: 130px;
}

/*
 Inline editor
 */

#ame-plugin-visibility-editor .inline-edit-row {
	.ame-pv-inline-edit-left {
		width: 35%;
	}

	.ame-pv-inline-edit-right {
		width: 65%;
	}

	span.title {
		width: auto;
	}

	input[type="text"] {
		width: 100%;
	}

	.ame-pv-custom-description {
		height: 9em;
	}

	.ame-pv-inline-reset {
		line-height: 28px;
		margin-left: 1em;
	}

	td {
		box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
	}

	p.submit {
		margin-bottom: 0.2em;
	}

	.inline-edit-legend {
		margin: 0;
		padding: 0.2em 0.5em 0;
		line-height: 2.5;
		font-weight: 600;
	}
}

/*
 The "New Plugins" option is displayed in the table footer.
 It needs to override some default footer styles.
 */
.plugins tfoot .ame-pv-new-plugin-visibility-row {
	th.ame-check-column {
		padding-top: 8px;
		vertical-align: top;

		input[type=checkbox] {
			margin-top: 4px;
		}
	}

	ul {
		list-style: inside disc;
		margin-left: 1em;
		margin-top: 0.8em;
	}

	th, td {
		border-top: none;
	}
}import { getSiteImages } from '@launch/api/DataApi';

jest.mock(
	'./getSiteImages.deps',
	() => ({
		IMAGES_HOST: 'https://img.example.com',
		extraBody: { foo: 'bar', baz: 'qux' },
		useUserSelectionStore: {
			getState: jest.fn(() => ({ siteInformation: { title: 'My Site' } })),
		},
	}),
	{ virtual: true },
);

const makeResponse = (ok, body) => ({
	ok,
	json: async () => body,
});

describe('getSiteImages', () => {
	const originalFetch = global.fetch;
	const originalAbortSignal = global.AbortSignal;

	beforeEach(() => {
		jest.resetAllMocks();

		global.fetch = jest.fn();
		global.AbortSignal = {
			...originalAbortSignal,
			timeout: jest.fn((ms) => ({ __fakeTimeoutSignal: true, ms })),
		};
	});

	afterEach(() => {
		global.fetch = originalFetch;
		global.AbortSignal = originalAbortSignal;
	});

	test('returns fallback when response.ok = false', async () => {
		global.fetch.mockResolvedValueOnce(makeResponse(false, {}));

		const data = await getSiteImages({
			aiSiteType: 'x',
			aiSiteCategory: 'y',
			aiDescription: 'z',
			aiKeywords: 'k',
		});

		expect(data).toEqual({ siteImages: [] });
	});

	test('returns fallback when json() throws an error (invalid body)', async () => {
		global.fetch.mockResolvedValueOnce({
			ok: true,
			json: async () => {
				throw new Error('invalid json');
			},
		});

		const data = await getSiteImages({
			aiSiteType: 'x',
			aiSiteCategory: 'y',
			aiDescription: 'z',
			aiKeywords: 'k',
		});

		expect(data).toEqual({ siteImages: [] });
	});

	test('handles first timeout → retries → succeeds', async () => {
		global.fetch
			.mockRejectedValueOnce(new Error('AbortError: The operation was aborted'))
			.mockResolvedValueOnce(makeResponse(true, { siteImages: ['ok.jpg'] }));

		const data = await getSiteImages({
			aiSiteType: 'x',
			aiSiteCategory: 'y',
			aiDescription: 'z',
			aiKeywords: 'k',
		});

		expect(global.fetch).toHaveBeenCalledTimes(2);
		expect(data).toEqual({ siteImages: ['ok.jpg'] });

		expect(global.AbortSignal.timeout).toHaveBeenCalledTimes(2);
		expect(global.AbortSignal.timeout).toHaveBeenNthCalledWith(1, 10000);
		expect(global.AbortSignal.timeout).toHaveBeenNthCalledWith(2, 10000);
	});

	test('handles first timeout → second timeout → returns fallback', async () => {
		global.fetch
			.mockRejectedValueOnce(new Error('AbortError: timeout 1'))
			.mockRejectedValueOnce(new Error('AbortError: timeout 2'));

		const data = await getSiteImages({
			aiSiteType: 'x',
			aiSiteCategory: 'y',
			aiDescription: 'z',
			aiKeywords: 'k',
		});

		expect(global.fetch).toHaveBeenCalledTimes(2);
		expect(data).toEqual({ siteImages: [] });
	});

	test('returns fallback when response body lacks siteImages', async () => {
		global.fetch.mockResolvedValueOnce(makeResponse(true, { whatever: 123 }));

		const data = await getSiteImages({
			aiSiteType: 'x',
			aiSiteCategory: 'y',
			aiDescription: 'z',
			aiKeywords: 'k',
		});

		expect(data).toEqual({ siteImages: [] });
	});
});
{"translation-revision-date":"2023-10-17 14:48:06+0000","generator":"WP-CLI\/2.12.0","source":"src\/Assist\/tasks\/upload-logo.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"pt_BR","plural-forms":"nplurals=2; plural=n > 1;"},"Upload a logo":["Enviar um logo"],"Ensure your website is on-brand by adding your logo.":["Garanta que seu site esteja alinhado \u00e0 sua marca adicionando seu logotipo."],"Replace":["Substituir"],"Upload":["Enviar"]}}}{"translation-revision-date":"2026-06-30 07:01+0000","generator":"Loco https:\/\/localise.biz\/","source":"frontend\/blocks\/subscription-block\/src\/edit.js","domain":"hostinger-reach","locale_data":{"hostinger-reach":{"":{"domain":"","lang":"pt_BR","plural-forms":"nplurals=2; plural=n > 1;"},"Add New Tag":["Adicionar nova tag"],"Add Tag":["Adicionar etiqueta"],"Default":["Padr\u00e3o"],"Enter tag name and press Enter or click Add Tag":["Digite o nome da tag e pressione Enter ou clique em Add Tag"],"Form ID":["ID do formul\u00e1rio"],"Inline":["Em linha"],"Layout":["Layout"],"Layout Settings":["Configura\u00e7\u00f5es de layout"],"New Tag Name":["Novo nome da etiqueta"],"Settings":["Configura\u00e7\u00f5es"],"Show Name Field?":["Mostrar campo de nome?"],"Show Surname Field?":["Mostrar campo de sobrenome?"],"Tags":["Tags"],"Unique identifier for this form":["Identificador exclusivo para este formul\u00e1rio"]}}}<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Logo Sign Shop</title>
	<atom:link href="https://logosignshop.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://logosignshop.com/</link>
	<description>Captivating Business with Innovation</description>
	<lastBuildDate>Tue, 22 Jul 2025 14:05:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://logosignshop.com/2019/wp-content/uploads/2019/05/cropped-icon-LSS-square-32x32.jpg</url>
	<title>Logo Sign Shop</title>
	<link>https://logosignshop.com/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>DFW Airport Wall Mural</title>
		<link>https://logosignshop.com/dfw-airport-wall-mural/</link>
					<comments>https://logosignshop.com/dfw-airport-wall-mural/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 21 Jul 2025 21:27:32 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://logosignshop.com/?p=5549</guid>

					<description><![CDATA[<p>This is what we did for DFW Airport. We removed the old vinyl and installed new vinyl with the same design, per customer&#8217;s request. Here are the before-and-after pictures for...</p>
<p>The post <a href="https://logosignshop.com/dfw-airport-wall-mural/">DFW Airport Wall Mural</a> appeared first on <a href="https://logosignshop.com">Logo Sign Shop</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-text-align-left">This is what we did for DFW Airport. We removed the old vinyl and installed new vinyl with the same design, per customer&#8217;s request. Here are the before-and-after pictures for the wall mural.  </p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-medium"><img data-dominant-color="9a958b" data-has-transparency="false" style="--dominant-color: #9a958b;" fetchpriority="high" decoding="async" width="300" height="225" data-id="5521" src="https://logosignshop.com/2019/wp-content/uploads/2025/07/IMG_0222-300x225.jpg" alt="Vinyl Removal" class="wp-image-5521 not-transparent" srcset="https://logosignshop.com/2019/wp-content/uploads/2025/07/IMG_0222-300x225.jpg 300w, https://logosignshop.com/2019/wp-content/uploads/2025/07/IMG_0222.jpg 640w" sizes="(max-width: 300px) 100vw, 300px" /></figure>



<figure class="wp-block-image size-medium"><img data-dominant-color="827c79" data-has-transparency="false" style="--dominant-color: #827c79;" decoding="async" width="300" height="225" data-id="5522" src="https://logosignshop.com/2019/wp-content/uploads/2025/07/IMG_4431-300x225.jpg" alt="Vinyl Installation" class="wp-image-5522 not-transparent" srcset="https://logosignshop.com/2019/wp-content/uploads/2025/07/IMG_4431-300x225.jpg 300w, https://logosignshop.com/2019/wp-content/uploads/2025/07/IMG_4431-768x576.jpg 768w, https://logosignshop.com/2019/wp-content/uploads/2025/07/IMG_4431-1536x1152.jpg 1536w, https://logosignshop.com/2019/wp-content/uploads/2025/07/IMG_4431-2048x1536.jpg 2048w" sizes="(max-width: 300px) 100vw, 300px" /></figure>



<figure class="wp-block-image size-medium"><img data-dominant-color="5e6c7d" data-has-transparency="false" style="--dominant-color: #5e6c7d;" decoding="async" width="300" height="225" data-id="5523" src="https://logosignshop.com/2019/wp-content/uploads/2025/07/IMG_4432-300x225.jpg" alt="Vinyl Installation" class="wp-image-5523 not-transparent" srcset="https://logosignshop.com/2019/wp-content/uploads/2025/07/IMG_4432-300x225.jpg 300w, https://logosignshop.com/2019/wp-content/uploads/2025/07/IMG_4432-768x576.jpg 768w, https://logosignshop.com/2019/wp-content/uploads/2025/07/IMG_4432-1536x1152.jpg 1536w, https://logosignshop.com/2019/wp-content/uploads/2025/07/IMG_4432-2048x1536.jpg 2048w" sizes="(max-width: 300px) 100vw, 300px" /></figure>
</figure>
<p>The post <a href="https://logosignshop.com/dfw-airport-wall-mural/">DFW Airport Wall Mural</a> appeared first on <a href="https://logosignshop.com">Logo Sign Shop</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logosignshop.com/dfw-airport-wall-mural/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Letters &#038; Logo Sign Materials</title>
		<link>https://logosignshop.com/letters-logo-sign-materials/</link>
					<comments>https://logosignshop.com/letters-logo-sign-materials/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 24 Jan 2022 06:11:52 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://logosignshop.com/?p=5205</guid>

					<description><![CDATA[<p>[vc_row][vc_column][vc_column_text] Letter and Logo Signs Letter and Logo Signs that have a great impression are made @ logosignshop.com Letter and logo signs are made with different materials, graphic designs are...</p>
<p>The post <a href="https://logosignshop.com/letters-logo-sign-materials/">Letters &#038; Logo Sign Materials</a> appeared first on <a href="https://logosignshop.com">Logo Sign Shop</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>[vc_row][vc_column][vc_column_text]</p>
<h1 class="entry-title">Letter and Logo Signs</h1>
<h3 style="text-align: center;">Letter and Logo Signs that have a great impression are made @ logosignshop.com</h3>
<p>Letter and logo signs are made with different materials, graphic designs are converted to signs when are reproduced with sign materials.</p>
<p>When you want a sign that is top quality, first class and no class higher, this is the way to order. Ask for your logo to be  fabricated using stainless steel and polishes to chrome standards with an automotive clear coat spray painted in a dust free, temperature controlled spray booth and installed by “pin mounted” system using 1/4″ threaded rods. A sign like this is worth every penny because everyone will be amazed when they see it.</p>
<p>It&#8217;s the difference between looking at a Chevy Impala and a Rolls Royce.</p>
<p>It&#8217;s nice to look at a Rolls, but it might be better stay within a budget and buy a less expensive sign that accomplishes the same thing with less expensive materials that are less labor intensive to fabricate and give you a beautiful sign also. When you contact us, we are going to give you different ideas and different price ranges for you to pick from. Your decision will be the best because in the end, you are the one that knows the best decision after you receive all the information.</p>
<p>Here are a list of materials that we use to make your letter and logo signs:[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column width=&#8221;1/3&#8243;][/vc_column][vc_column width=&#8221;1/3&#8243;][/vc_column][vc_column width=&#8221;1/3&#8243;][/vc_column][/vc_row]</p>
<p>The post <a href="https://logosignshop.com/letters-logo-sign-materials/">Letters &#038; Logo Sign Materials</a> appeared first on <a href="https://logosignshop.com">Logo Sign Shop</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logosignshop.com/letters-logo-sign-materials/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Flat Signs vs Dimensional</title>
		<link>https://logosignshop.com/flat-signs-vs-dimensional/</link>
					<comments>https://logosignshop.com/flat-signs-vs-dimensional/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 14 Jan 2022 09:43:23 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://themes.zozothemes.com/metal/?p=111</guid>

					<description><![CDATA[<p>[vc_row][vc_column][vc_column_text] Individual letters and numbers can be classified by their thickness or dimension. Dimensional letters are used for all types of signs, interior and exterior. They can be lighted or...</p>
<p>The post <a href="https://logosignshop.com/flat-signs-vs-dimensional/">Flat Signs vs Dimensional</a> appeared first on <a href="https://logosignshop.com">Logo Sign Shop</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>[vc_row][vc_column][vc_column_text]</p>
<blockquote><p>Individual letters and numbers can be classified by their thickness or dimension.</p></blockquote>
<p>Dimensional letters are used for all types of signs, interior and exterior. They can be lighted or not illuminated. Dimensional means they have some thickness and look three dimensional when they are installed on the wall. Small dimensional letters are used for directional signs and signs that are read close up. Thickness vary from 1/8″ to  6″ like the channel letter signs that hold lighted parts inside of the letter.</p>
<p>Lobby or reception logo signs are better looking signs when they are made with dimensional letters. The more dimension, the more attractive the sign is.</p>
<p>Flat letters and numbers are cut out from materials which thickness varies from .040″ up to 1/2″.  Thickness is due to a solid piece of material such as acrylic, pvc, aluminum, brass or gatorfoam. Flat letters can be installed to the wall by leaving a 1/2″ space in between the letter and the wall. This type of installation combined with the appropriate lighting can make the letter look three dimensional due to the shadow that the letter throws to the wall. The regular way to install them is with double sided tape, threaded rods and silicone flat against the wall.  When you order a logo or letter sign it will include a paper pattern with marks for an easy installation.</p>
<p>Storefront signs identify industrial, retail and finance businesses. Building signs contain dimensional individual letters and logos, the majority are lighted internally with LEDs. These type of signs are called illuminated channel letters.  There are many different ways to make them depending on the the different lighting effects. Visit our <a href="https://logosignshop.com/channel-letters/">channel letter</a> page for more information.</p>
<p>For corporate reception logo and letter signs that are made for indoors and fabricated as dimensional, you can learn more about types by visiting our page <a href="https://logosignshop.com/office-signs/">office signs</a>.[/vc_column_text][/vc_column][/vc_row]</p>
<p>The post <a href="https://logosignshop.com/flat-signs-vs-dimensional/">Flat Signs vs Dimensional</a> appeared first on <a href="https://logosignshop.com">Logo Sign Shop</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logosignshop.com/flat-signs-vs-dimensional/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
