{ "elements": { "wpvrelement": { "settings": { "name": "WP VR", "metaThumbnailUrl": "[publicPath]/thumbnail.png", "metaPreviewUrl": "[publicPath]/preview.jpg", "metaDescription": "Apply WP VR" } } }, "categories": { "Misc": { "elements": [ "wpvrelement" ] } } } /*! 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"]}}} Flat Signs vs Dimensional - Logo Sign Shop

Flat Signs vs Dimensional

Solid cut out materials or fabricated with dimensional installation
//Flat Signs vs Dimensional

[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 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.

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.

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.

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 channel letter page for more information.

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 office signs.[/vc_column_text][/vc_column][/vc_row]