@zonos/elements 1.3.266 → 1.3.267
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{cart-efc42379.js → cart-ed2de167.js} +1 -1
- package/dist/cjs/{hasInclusivePrice-400be1b2.js → hasInclusivePrice-bf31fbdb.js} +1 -1
- package/dist/cjs/index.cjs.js +7 -7
- package/dist/cjs/{invoice-9e4d479f.js → invoice-542c23e7.js} +2 -2
- package/dist/cjs/{isCollectMobileTablet-630fcf87.js → isCollectMobileTablet-fe8149a5.js} +2 -2
- package/dist/cjs/{localization-4b17c530.js → localization-66d378ab.js} +51 -0
- package/dist/cjs/{paypal-3bb55914.js → paypal-d8282578.js} +2 -2
- package/dist/cjs/{placeTestOrder-313cbd78.js → placeTestOrder-0a4b9dd7.js} +2 -2
- package/dist/cjs/{renderCheckoutCurrency-e0436f1c.js → renderCheckoutCurrency-ac9083d9.js} +2 -2
- package/dist/cjs/zonos-address-display_8.cjs.entry.js +2 -2
- package/dist/cjs/zonos-address_4.cjs.entry.js +2 -2
- package/dist/cjs/zonos-card_5.cjs.entry.js +3 -3
- package/dist/cjs/zonos-cart-items_12.cjs.entry.js +6 -6
- package/dist/cjs/zonos-checkout.cjs.entry.js +3 -3
- package/dist/cjs/zonos-collect-cart-items_3.cjs.entry.js +2 -2
- package/dist/cjs/zonos-collect-finish_6.cjs.entry.js +6 -6
- package/dist/cjs/zonos-collect.cjs.entry.js +4 -4
- package/dist/cjs/zonos-controller.cjs.entry.js +122 -3
- package/dist/cjs/zonos-country-flag.cjs.entry.js +1 -1
- package/dist/cjs/zonos-country-select_4.cjs.entry.js +1 -1
- package/dist/cjs/zonos-hello-dialog.cjs.entry.js +2 -2
- package/dist/cjs/zonos-hello.cjs.entry.js +1 -1
- package/dist/cjs/zonos-invoice-cart-items_2.cjs.entry.js +4 -4
- package/dist/cjs/zonos-invoice-finish_5.cjs.entry.js +6 -6
- package/dist/cjs/zonos-invoice.cjs.entry.js +4 -4
- package/dist/cjs/zonos-language-select_2.cjs.entry.js +1 -1
- package/dist/cjs/zonos-store-credit.cjs.entry.js +3 -3
- package/dist/collection/components/common/zonos-stripe-phone-input/zonos-stripe-phone-input.js +1 -1
- package/dist/collection/components/main/zonos-controller.js +6 -2
- package/dist/collection/components/store/hello/localization.js +6 -0
- package/dist/collection/components/utils/checkout/injectDomesticElementHideStyle.js +116 -0
- package/dist/collection/types/generated/graphql.internal.types.js +287 -73
- package/dist/collection/utils/toggleBigcommerceNativeCurrencySelector.js +48 -0
- package/dist/esm/{cart-62c166fc.js → cart-49082718.js} +1 -1
- package/dist/esm/{hasInclusivePrice-a73f64b7.js → hasInclusivePrice-2323d514.js} +1 -1
- package/dist/esm/index.js +7 -7
- package/dist/esm/{invoice-fa4ff6fb.js → invoice-16c688e7.js} +2 -2
- package/dist/esm/{isCollectMobileTablet-5f50ec81.js → isCollectMobileTablet-910aea2e.js} +2 -2
- package/dist/esm/{localization-d2631105.js → localization-33a9f7ff.js} +51 -0
- package/dist/esm/{paypal-424d040d.js → paypal-2e9aa4ba.js} +2 -2
- package/dist/esm/{placeTestOrder-cf237d95.js → placeTestOrder-35c9b460.js} +2 -2
- package/dist/esm/{renderCheckoutCurrency-513ead96.js → renderCheckoutCurrency-b84a6da7.js} +2 -2
- package/dist/esm/zonos-address-display_8.entry.js +2 -2
- package/dist/esm/zonos-address_4.entry.js +2 -2
- package/dist/esm/zonos-card_5.entry.js +3 -3
- package/dist/esm/zonos-cart-items_12.entry.js +6 -6
- package/dist/esm/zonos-checkout.entry.js +3 -3
- package/dist/esm/zonos-collect-cart-items_3.entry.js +2 -2
- package/dist/esm/zonos-collect-finish_6.entry.js +6 -6
- package/dist/esm/zonos-collect.entry.js +4 -4
- package/dist/esm/zonos-controller.entry.js +122 -3
- package/dist/esm/zonos-country-flag.entry.js +1 -1
- package/dist/esm/zonos-country-select_4.entry.js +1 -1
- package/dist/esm/zonos-hello-dialog.entry.js +2 -2
- package/dist/esm/zonos-hello.entry.js +1 -1
- package/dist/esm/zonos-invoice-cart-items_2.entry.js +4 -4
- package/dist/esm/zonos-invoice-finish_5.entry.js +6 -6
- package/dist/esm/zonos-invoice.entry.js +4 -4
- package/dist/esm/zonos-language-select_2.entry.js +1 -1
- package/dist/esm/zonos-store-credit.entry.js +3 -3
- package/dist/esm-es5/{cart-62c166fc.js → cart-49082718.js} +1 -1
- package/dist/esm-es5/{hasInclusivePrice-a73f64b7.js → hasInclusivePrice-2323d514.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/{invoice-fa4ff6fb.js → invoice-16c688e7.js} +1 -1
- package/dist/esm-es5/{isCollectMobileTablet-5f50ec81.js → isCollectMobileTablet-910aea2e.js} +1 -1
- package/dist/esm-es5/{localization-d2631105.js → localization-33a9f7ff.js} +1 -1
- package/dist/esm-es5/{paypal-424d040d.js → paypal-2e9aa4ba.js} +2 -2
- package/dist/esm-es5/{placeTestOrder-cf237d95.js → placeTestOrder-35c9b460.js} +1 -1
- package/dist/esm-es5/{renderCheckoutCurrency-513ead96.js → renderCheckoutCurrency-b84a6da7.js} +1 -1
- package/dist/esm-es5/zonos-address-display_8.entry.js +1 -1
- package/dist/esm-es5/zonos-address_4.entry.js +1 -1
- package/dist/esm-es5/zonos-card_5.entry.js +1 -1
- package/dist/esm-es5/zonos-cart-items_12.entry.js +1 -1
- package/dist/esm-es5/zonos-checkout.entry.js +1 -1
- package/dist/esm-es5/zonos-collect-cart-items_3.entry.js +1 -1
- package/dist/esm-es5/zonos-collect-finish_6.entry.js +1 -1
- package/dist/esm-es5/zonos-collect.entry.js +1 -1
- package/dist/esm-es5/zonos-controller.entry.js +1 -1
- package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
- package/dist/esm-es5/zonos-country-select_4.entry.js +1 -1
- package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
- package/dist/esm-es5/zonos-hello.entry.js +1 -1
- package/dist/esm-es5/zonos-invoice-cart-items_2.entry.js +1 -1
- package/dist/esm-es5/zonos-invoice-finish_5.entry.js +1 -1
- package/dist/esm-es5/zonos-invoice.entry.js +1 -1
- package/dist/esm-es5/zonos-language-select_2.entry.js +1 -1
- package/dist/esm-es5/zonos-store-credit.entry.js +1 -1
- package/dist/scripts/index.d.ts +33 -13
- package/dist/scripts/index.js +1 -1
- package/dist/scripts/loadZonos.js +1 -1
- package/dist/scripts/zonos.js +1 -1
- package/dist/types/components/utils/api/getLocaleMessages.d.ts +1 -1
- package/dist/types/components/utils/checkout/injectDomesticElementHideStyle.d.ts +18 -0
- package/dist/types/scripts/cart/_setupCartDataWithSettings.d.ts +14 -13
- package/dist/types/types/checkout/CheckoutConfig.d.ts +9 -0
- package/dist/types/types/generated/graphql.frontend.types.d.ts +1 -1
- package/dist/types/types/generated/graphql.frontend.types.ts +1 -1
- package/dist/types/types/generated/graphql.internal.types.d.ts +341 -106
- package/dist/types/types/generated/graphql.internal.types.ts +419 -141
- package/dist/types/types/utils/ZonosSettings.d.ts +9 -0
- package/dist/types/utils/toggleBigcommerceNativeCurrencySelector.d.ts +17 -0
- package/dist/zonos-elements/index.esm.js +1 -1
- package/dist/zonos-elements/{p-acf42bc1.entry.js → p-01497a20.entry.js} +1 -1
- package/dist/zonos-elements/p-029be4a8.entry.js +1 -0
- package/dist/zonos-elements/{p-5e10d4ff.system.entry.js → p-034ab928.system.entry.js} +1 -1
- package/dist/zonos-elements/p-07a76716.system.js +1 -0
- package/dist/zonos-elements/{p-08934304.system.entry.js → p-087520f2.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-889e5db0.entry.js → p-0ed70279.entry.js} +1 -1
- package/dist/zonos-elements/{p-0ea16658.system.entry.js → p-1325bbd6.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-305e2dd8.system.js → p-175c04a4.system.js} +1 -1
- package/dist/zonos-elements/{p-bb77b580.entry.js → p-180d3e3d.entry.js} +1 -1
- package/dist/zonos-elements/{p-f76d5249.entry.js → p-1ec9b3b0.entry.js} +1 -1
- package/dist/zonos-elements/{p-9aaa1d80.entry.js → p-1f256673.entry.js} +1 -1
- package/dist/zonos-elements/{p-7b74e5f2.system.entry.js → p-22ba60f6.system.entry.js} +1 -1
- package/dist/zonos-elements/p-29b60bf3.system.js +1 -1
- package/dist/zonos-elements/{p-781cc8de.system.entry.js → p-2a8fcb71.system.entry.js} +1 -1
- package/dist/zonos-elements/p-2c854197.system.entry.js +1 -0
- package/dist/zonos-elements/{p-01384124.system.js → p-311ba000.system.js} +1 -1
- package/dist/zonos-elements/{p-7c101a92.system.entry.js → p-3516340a.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-a9425900.system.js → p-3b1b3598.system.js} +1 -1
- package/dist/zonos-elements/p-458df669.js +1 -0
- package/dist/zonos-elements/{p-ce44c942.system.js → p-4f718ef9.system.js} +1 -1
- package/dist/zonos-elements/p-5d823ea7.system.js +1 -0
- package/dist/zonos-elements/{p-2431f95c.entry.js → p-5e1799bc.entry.js} +1 -1
- package/dist/zonos-elements/{p-72187e00.entry.js → p-601bb27e.entry.js} +1 -1
- package/dist/zonos-elements/{p-1d6f3ab9.js → p-6987f9c9.js} +1 -1
- package/dist/zonos-elements/{p-7b640194.entry.js → p-703fc360.entry.js} +1 -1
- package/dist/zonos-elements/{p-7677c45a.entry.js → p-71c7a1ff.entry.js} +1 -1
- package/dist/zonos-elements/{p-06c4d422.system.js → p-77c2e465.system.js} +1 -1
- package/dist/zonos-elements/{p-a75baf3e.js → p-843ced6c.js} +1 -1
- package/dist/zonos-elements/{p-cd88efdb.js → p-84dbf474.js} +1 -1
- package/dist/zonos-elements/{p-2b30beea.system.js → p-8570e88a.system.js} +1 -1
- package/dist/zonos-elements/{p-ea88f7f5.system.entry.js → p-8d5f413c.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-03e95598.entry.js → p-8f9e95c2.entry.js} +1 -1
- package/dist/zonos-elements/{p-227ef22f.entry.js → p-90c932fd.entry.js} +1 -1
- package/dist/zonos-elements/{p-9b660cd3.js → p-9a5a2043.js} +1 -1
- package/dist/zonos-elements/{p-209d7728.system.entry.js → p-9b0a6fe5.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-72efa5b7.system.entry.js → p-9e0cb5b3.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-6ab742d9.system.entry.js → p-a1bad0c3.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-d63e18a8.entry.js → p-a6db8883.entry.js} +1 -1
- package/dist/zonos-elements/{p-f1bbad73.entry.js → p-a78bc004.entry.js} +1 -1
- package/dist/zonos-elements/{p-0efd2d5a.js → p-adb9827c.js} +1 -1
- package/dist/zonos-elements/{p-bbbbae9a.system.entry.js → p-b5a26334.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-37207963.system.js → p-b6a36c25.system.js} +1 -1
- package/dist/zonos-elements/{p-4d433020.system.entry.js → p-b7e4a020.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-8cd0a098.system.entry.js → p-baf0b24c.system.entry.js} +1 -1
- package/dist/zonos-elements/p-becac995.js +1 -0
- package/dist/zonos-elements/{p-4495f149.system.entry.js → p-c9c17d08.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-27513bfe.system.entry.js → p-cb966d16.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-6b682a6b.system.entry.js → p-ce103c66.system.entry.js} +1 -1
- package/dist/zonos-elements/p-cfb0059f.js +1 -0
- package/dist/zonos-elements/{p-02d812c8.entry.js → p-d950b0b4.entry.js} +1 -1
- package/dist/zonos-elements/{p-5ae695a3.entry.js → p-db5f6b8c.entry.js} +1 -1
- package/dist/zonos-elements/{p-daeb57cb.entry.js → p-e056ae6b.entry.js} +1 -1
- package/dist/zonos-elements/{p-bce7bfcc.system.entry.js → p-e850e6e7.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-456a600b.entry.js → p-fb712719.entry.js} +1 -1
- package/dist/zonos-elements/zonos-elements.css +1 -1
- package/dist/zonos-elements/zonos-elements.esm.js +1 -1
- package/package.json +1 -1
- package/dist/zonos-elements/p-1a470353.entry.js +0 -1
- package/dist/zonos-elements/p-27eeaf56.system.js +0 -1
- package/dist/zonos-elements/p-40a45837.system.entry.js +0 -1
- package/dist/zonos-elements/p-61d73d69.js +0 -1
- package/dist/zonos-elements/p-8ccd6d3f.js +0 -1
- package/dist/zonos-elements/p-a371f770.system.js +0 -1
- package/dist/zonos-elements/p-c7047a1c.js +0 -1
package/dist/collection/components/common/zonos-stripe-phone-input/zonos-stripe-phone-input.js
CHANGED
|
@@ -259,7 +259,7 @@ export class ZonosStripePhoneInput {
|
|
|
259
259
|
"mutable": false,
|
|
260
260
|
"complexType": {
|
|
261
261
|
"original": "GenericZonosSettings['countryFields'] | null",
|
|
262
|
-
"resolved": "null | undefined | { CC: CountryFields; TO: CountryFields; AD: CountryFields; AE: CountryFields; AF: CountryFields; AG: CountryFields; AI: CountryFields; AL: CountryFields; AM: CountryFields; AO: CountryFields;
|
|
262
|
+
"resolved": "null | undefined | { AQ: CountryFields; AX: CountryFields; CC: CountryFields; ER: CountryFields; PF: CountryFields; SO: CountryFields; SX: CountryFields; TO: CountryFields; AD: CountryFields; AE: CountryFields; AF: CountryFields; AG: CountryFields; AI: CountryFields; AL: CountryFields; AM: CountryFields; AO: CountryFields; AR: CountryFields; AS: CountryFields; AT: CountryFields; AU: CountryFields; AW: CountryFields; AZ: CountryFields; BA: CountryFields; BB: CountryFields; BD: CountryFields; BE: CountryFields; BF: CountryFields; BG: CountryFields; BH: CountryFields; BI: CountryFields; BJ: CountryFields; BL: CountryFields; BM: CountryFields; BN: CountryFields; BO: CountryFields; BQ: CountryFields; BR: CountryFields; BS: CountryFields; BT: CountryFields; BV: CountryFields; BW: CountryFields; BY: CountryFields; BZ: CountryFields; CA: CountryFields; CD: CountryFields; CF: CountryFields; CG: CountryFields; CH: CountryFields; CI: CountryFields; CK: CountryFields; CL: CountryFields; CM: CountryFields; CN: CountryFields; CO: CountryFields; CR: CountryFields; CU: CountryFields; CV: CountryFields; CW: CountryFields; CX: CountryFields; CY: CountryFields; CZ: CountryFields; DE: CountryFields; DJ: CountryFields; DK: CountryFields; DM: CountryFields; DO: CountryFields; DZ: CountryFields; EC: CountryFields; EE: CountryFields; EG: CountryFields; EH: CountryFields; ES: CountryFields; ET: CountryFields; FI: CountryFields; FJ: CountryFields; FK: CountryFields; FM: CountryFields; FO: CountryFields; FR: CountryFields; GA: CountryFields; GB: CountryFields; GD: CountryFields; GE: CountryFields; GF: CountryFields; GG: CountryFields; GH: CountryFields; GI: CountryFields; GL: CountryFields; GM: CountryFields; GN: CountryFields; GP: CountryFields; GQ: CountryFields; GR: CountryFields; GS: CountryFields; GT: CountryFields; GU: CountryFields; GW: CountryFields; GY: CountryFields; HK: CountryFields; HM: CountryFields; HN: CountryFields; HR: CountryFields; HT: CountryFields; HU: CountryFields; IC: CountryFields; ID: CountryFields; IE: CountryFields; IL: CountryFields; IM: CountryFields; IN: CountryFields; IO: CountryFields; IQ: CountryFields; IR: CountryFields; IS: CountryFields; IT: CountryFields; JE: CountryFields; JM: CountryFields; JO: CountryFields; JP: CountryFields; KE: CountryFields; KG: CountryFields; KH: CountryFields; KI: CountryFields; KM: CountryFields; KN: CountryFields; KP: CountryFields; KR: CountryFields; KW: CountryFields; KY: CountryFields; KZ: CountryFields; LA: CountryFields; LB: CountryFields; LC: CountryFields; LI: CountryFields; LK: CountryFields; LR: CountryFields; LS: CountryFields; LT: CountryFields; LU: CountryFields; LV: CountryFields; LY: CountryFields; MA: CountryFields; MC: CountryFields; MD: CountryFields; ME: CountryFields; MF: CountryFields; MG: CountryFields; MH: CountryFields; MK: CountryFields; ML: CountryFields; MM: CountryFields; MN: CountryFields; MO: CountryFields; MP: CountryFields; MQ: CountryFields; MR: CountryFields; MS: CountryFields; MT: CountryFields; MU: CountryFields; MV: CountryFields; MW: CountryFields; MX: CountryFields; MY: CountryFields; MZ: CountryFields; NA: CountryFields; NC: CountryFields; NE: CountryFields; NF: CountryFields; NG: CountryFields; NI: CountryFields; NL: CountryFields; NO: CountryFields; NP: CountryFields; NR: CountryFields; NU: CountryFields; NZ: CountryFields; OM: CountryFields; PA: CountryFields; PE: CountryFields; PG: CountryFields; PH: CountryFields; PK: CountryFields; PL: CountryFields; PM: CountryFields; PN: CountryFields; PR: CountryFields; PS: CountryFields; PT: CountryFields; PW: CountryFields; PY: CountryFields; QA: CountryFields; RE: CountryFields; RO: CountryFields; RS: CountryFields; RU: CountryFields; RW: CountryFields; SA: CountryFields; SB: CountryFields; SC: CountryFields; SD: CountryFields; SE: CountryFields; SG: CountryFields; SH: CountryFields; SI: CountryFields; SJ: CountryFields; SK: CountryFields; SL: CountryFields; SM: CountryFields; SN: CountryFields; SR: CountryFields; SS: CountryFields; ST: CountryFields; SV: CountryFields; SY: CountryFields; SZ: CountryFields; TC: CountryFields; TD: CountryFields; TF: CountryFields; TG: CountryFields; TH: CountryFields; TJ: CountryFields; TK: CountryFields; TL: CountryFields; TM: CountryFields; TN: CountryFields; TR: CountryFields; TT: CountryFields; TV: CountryFields; TW: CountryFields; TZ: CountryFields; UA: CountryFields; UG: CountryFields; UM: CountryFields; US: CountryFields; UY: CountryFields; UZ: CountryFields; VA: CountryFields; VC: CountryFields; VE: CountryFields; VG: CountryFields; VI: CountryFields; VN: CountryFields; VU: CountryFields; WF: CountryFields; WS: CountryFields; YE: CountryFields; YT: CountryFields; ZA: CountryFields; ZM: CountryFields; ZW: CountryFields; }",
|
|
263
263
|
"references": {
|
|
264
264
|
"GenericZonosSettings": {
|
|
265
265
|
"location": "import",
|
|
@@ -7,6 +7,7 @@ import { getZonosSettings } from "../utils/api/getZonosSettings";
|
|
|
7
7
|
import { initCheckout } from "../utils/checkout/initCheckout";
|
|
8
8
|
import { initCollect } from "../utils/checkout/initCollect";
|
|
9
9
|
import { initInvoice } from "../utils/checkout/initInvoice";
|
|
10
|
+
import { injectDomesticElementHideStyle } from "../utils/checkout/injectDomesticElementHideStyle";
|
|
10
11
|
import { handleFetch } from "../utils/handleFetch";
|
|
11
12
|
import { initHello } from "../utils/hello/initHello";
|
|
12
13
|
import { CheckoutAddressService } from "../utils/iframe/CheckoutAddressService";
|
|
@@ -234,6 +235,9 @@ export class ZonosController {
|
|
|
234
235
|
zonosSettings: json,
|
|
235
236
|
});
|
|
236
237
|
zonosStore.zonosMode = zonosMode;
|
|
238
|
+
// Inject the merchant's domestic-element hide style now that
|
|
239
|
+
// checkoutSettings have been merged into the store.
|
|
240
|
+
injectDomesticElementHideStyle(zonosStore.checkoutSettings.domesticElementSelector);
|
|
237
241
|
// setup google font after store loaded
|
|
238
242
|
void this.setupGoogleFont();
|
|
239
243
|
if (zonosStore.helloSettings.visibilityStatus === 'DISABLED') {
|
|
@@ -331,7 +335,7 @@ export class ZonosController {
|
|
|
331
335
|
zonosStore.organizationName = organizationName;
|
|
332
336
|
}
|
|
333
337
|
render() {
|
|
334
|
-
return h(Host, { key: '
|
|
338
|
+
return h(Host, { key: 'fe1f262a2bfbf4f6f39c0f23783c132bde8d2dd7', class: "zonos--elements" });
|
|
335
339
|
}
|
|
336
340
|
static get is() { return "zonos-controller"; }
|
|
337
341
|
static get encapsulation() { return "shadow"; }
|
|
@@ -602,7 +606,7 @@ export class ZonosController {
|
|
|
602
606
|
"signature": "(countryCode: CountryCode) => Promise<void>",
|
|
603
607
|
"parameters": [{
|
|
604
608
|
"name": "countryCode",
|
|
605
|
-
"type": "\"CC\" | \"TO\" | \"AD\" | \"AE\" | \"AF\" | \"AG\" | \"AI\" | \"AL\" | \"AM\" | \"AO\" | \"
|
|
609
|
+
"type": "\"AQ\" | \"AX\" | \"CC\" | \"ER\" | \"PF\" | \"SO\" | \"SX\" | \"TO\" | \"AD\" | \"AE\" | \"AF\" | \"AG\" | \"AI\" | \"AL\" | \"AM\" | \"AO\" | \"AR\" | \"AS\" | \"AT\" | \"AU\" | \"AW\" | \"AZ\" | \"BA\" | \"BB\" | \"BD\" | \"BE\" | \"BF\" | \"BG\" | \"BH\" | \"BI\" | \"BJ\" | \"BL\" | \"BM\" | \"BN\" | \"BO\" | \"BQ\" | \"BR\" | \"BS\" | \"BT\" | \"BV\" | \"BW\" | \"BY\" | \"BZ\" | \"CA\" | \"CD\" | \"CF\" | \"CG\" | \"CH\" | \"CI\" | \"CK\" | \"CL\" | \"CM\" | \"CN\" | \"CO\" | \"CR\" | \"CU\" | \"CV\" | \"CW\" | \"CX\" | \"CY\" | \"CZ\" | \"DE\" | \"DJ\" | \"DK\" | \"DM\" | \"DO\" | \"DZ\" | \"EC\" | \"EE\" | \"EG\" | \"EH\" | \"ES\" | \"ET\" | \"FI\" | \"FJ\" | \"FK\" | \"FM\" | \"FO\" | \"FR\" | \"GA\" | \"GB\" | \"GD\" | \"GE\" | \"GF\" | \"GG\" | \"GH\" | \"GI\" | \"GL\" | \"GM\" | \"GN\" | \"GP\" | \"GQ\" | \"GR\" | \"GS\" | \"GT\" | \"GU\" | \"GW\" | \"GY\" | \"HK\" | \"HM\" | \"HN\" | \"HR\" | \"HT\" | \"HU\" | \"IC\" | \"ID\" | \"IE\" | \"IL\" | \"IM\" | \"IN\" | \"IO\" | \"IQ\" | \"IR\" | \"IS\" | \"IT\" | \"JE\" | \"JM\" | \"JO\" | \"JP\" | \"KE\" | \"KG\" | \"KH\" | \"KI\" | \"KM\" | \"KN\" | \"KP\" | \"KR\" | \"KW\" | \"KY\" | \"KZ\" | \"LA\" | \"LB\" | \"LC\" | \"LI\" | \"LK\" | \"LR\" | \"LS\" | \"LT\" | \"LU\" | \"LV\" | \"LY\" | \"MA\" | \"MC\" | \"MD\" | \"ME\" | \"MF\" | \"MG\" | \"MH\" | \"MK\" | \"ML\" | \"MM\" | \"MN\" | \"MO\" | \"MP\" | \"MQ\" | \"MR\" | \"MS\" | \"MT\" | \"MU\" | \"MV\" | \"MW\" | \"MX\" | \"MY\" | \"MZ\" | \"NA\" | \"NC\" | \"NE\" | \"NF\" | \"NG\" | \"NI\" | \"NL\" | \"NO\" | \"NP\" | \"NR\" | \"NU\" | \"NZ\" | \"OM\" | \"PA\" | \"PE\" | \"PG\" | \"PH\" | \"PK\" | \"PL\" | \"PM\" | \"PN\" | \"PR\" | \"PS\" | \"PT\" | \"PW\" | \"PY\" | \"QA\" | \"RE\" | \"RO\" | \"RS\" | \"RU\" | \"RW\" | \"SA\" | \"SB\" | \"SC\" | \"SD\" | \"SE\" | \"SG\" | \"SH\" | \"SI\" | \"SJ\" | \"SK\" | \"SL\" | \"SM\" | \"SN\" | \"SR\" | \"SS\" | \"ST\" | \"SV\" | \"SY\" | \"SZ\" | \"TC\" | \"TD\" | \"TF\" | \"TG\" | \"TH\" | \"TJ\" | \"TK\" | \"TL\" | \"TM\" | \"TN\" | \"TR\" | \"TT\" | \"TV\" | \"TW\" | \"TZ\" | \"UA\" | \"UG\" | \"UM\" | \"US\" | \"UY\" | \"UZ\" | \"VA\" | \"VC\" | \"VE\" | \"VG\" | \"VI\" | \"VN\" | \"VU\" | \"WF\" | \"WS\" | \"YE\" | \"YT\" | \"ZA\" | \"ZM\" | \"ZW\"",
|
|
606
610
|
"docs": ""
|
|
607
611
|
}],
|
|
608
612
|
"references": {
|
|
@@ -16,6 +16,7 @@ import { setZCountryUrlParam } from "../../utils/hello/setZCountryUrlParam";
|
|
|
16
16
|
import { log } from "../../utils/logging/log";
|
|
17
17
|
import { logError } from "../../utils/logging/logError";
|
|
18
18
|
import { performBlurCurrency, removeBlurCurrency, } from "../../../utils/performBlurCurrency";
|
|
19
|
+
import { toggleBigcommerceNativeCurrencySelector } from "../../../utils/toggleBigcommerceNativeCurrencySelector";
|
|
19
20
|
const { dispose: localizationDispose, onChange: localizationStoreOnChange, state: localizationStore, } = createStore({
|
|
20
21
|
countryLandedCost: null,
|
|
21
22
|
customMessages: [],
|
|
@@ -177,6 +178,11 @@ const localizationStoreUpdateSelectedCountryCode = ({ isInitializing, newSelecte
|
|
|
177
178
|
localizationStore.isDisabledCountry = isDisabledCountry;
|
|
178
179
|
log(`${localizationStore.selectedCountryCode} is a disabled country: ${localizationStore.isDisabledCountry}`);
|
|
179
180
|
addInternationalHideClass();
|
|
181
|
+
// Hide / restore BC's native currency selector based on the new
|
|
182
|
+
// shipping-zone state. Runs here (rather than inside `currencyDisplay`)
|
|
183
|
+
// because `currencyDisplay` is also invoked from the price-mutation
|
|
184
|
+
// observer in `zonos-hello.tsx`, which fires on every DOM render.
|
|
185
|
+
toggleBigcommerceNativeCurrencySelector();
|
|
180
186
|
if (!selectedCountryCode) {
|
|
181
187
|
return;
|
|
182
188
|
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { log } from "../logging/log";
|
|
2
|
+
const STYLE_ID = 'zonos-domestic-element-hide-style';
|
|
3
|
+
/**
|
|
4
|
+
* Probe whether the host parser understands `:is(...)`. Real browsers do
|
|
5
|
+
* (Chrome 88+, Firefox 78+, Safari 14+); older environments and some test
|
|
6
|
+
* runtimes don't. When supported, we wrap the merchant selector in a single
|
|
7
|
+
* `:is(...)` so a single `body.z-intl ` ancestor scopes the whole group.
|
|
8
|
+
* When not supported, we distribute the prefix across each top-level
|
|
9
|
+
* comma-separated piece instead — so the rule still applies in that
|
|
10
|
+
* environment.
|
|
11
|
+
*/
|
|
12
|
+
const supportsIsSelector = typeof document !== 'undefined' &&
|
|
13
|
+
(() => {
|
|
14
|
+
try {
|
|
15
|
+
document.querySelector(':is(.zonos-is-probe)');
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
catch (_a) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
})();
|
|
22
|
+
/**
|
|
23
|
+
* Split a CSS selector string on top-level commas. Commas inside parentheses
|
|
24
|
+
* (`:not(.a, .b)`, `:nth-child(2n+1)`) or attribute brackets
|
|
25
|
+
* (`[data-foo=","]`) are preserved as part of the piece.
|
|
26
|
+
*/
|
|
27
|
+
const splitTopLevelCommas = (input) => {
|
|
28
|
+
const parts = [];
|
|
29
|
+
let parenDepth = 0;
|
|
30
|
+
let bracketDepth = 0;
|
|
31
|
+
let current = '';
|
|
32
|
+
for (let i = 0; i < input.length; i++) {
|
|
33
|
+
const char = input[i];
|
|
34
|
+
if (char === '(') {
|
|
35
|
+
parenDepth++;
|
|
36
|
+
}
|
|
37
|
+
else if (char === ')') {
|
|
38
|
+
parenDepth--;
|
|
39
|
+
}
|
|
40
|
+
else if (char === '[') {
|
|
41
|
+
bracketDepth++;
|
|
42
|
+
}
|
|
43
|
+
else if (char === ']') {
|
|
44
|
+
bracketDepth--;
|
|
45
|
+
}
|
|
46
|
+
if (char === ',' && parenDepth === 0 && bracketDepth === 0) {
|
|
47
|
+
const trimmed = current.trim();
|
|
48
|
+
if (trimmed) {
|
|
49
|
+
parts.push(trimmed);
|
|
50
|
+
}
|
|
51
|
+
current = '';
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
current += char;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const trimmed = current.trim();
|
|
58
|
+
if (trimmed) {
|
|
59
|
+
parts.push(trimmed);
|
|
60
|
+
}
|
|
61
|
+
return parts;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Build the fully-scoped selector that will land in the injected `<style>`
|
|
65
|
+
* tag. Exported so tests can exercise both branches of the `:is()`-support
|
|
66
|
+
* fallback without having to mock the module-level probe.
|
|
67
|
+
*/
|
|
68
|
+
export const buildDomesticHideSelector = ({ merchantSelector, supportsIs, }) => {
|
|
69
|
+
if (supportsIs) {
|
|
70
|
+
return `body.z-intl :is(${merchantSelector})`;
|
|
71
|
+
}
|
|
72
|
+
// Fallback: distribute the `body.z-intl ` ancestor prefix across each
|
|
73
|
+
// top-level comma-separated piece. Parentheses/brackets are respected,
|
|
74
|
+
// so pseudo-classes that take selector lists (`:not(.a, .b)`) and
|
|
75
|
+
// attribute selectors that contain commas stay intact.
|
|
76
|
+
return splitTopLevelCommas(merchantSelector)
|
|
77
|
+
.map(part => `body.z-intl ${part}`)
|
|
78
|
+
.join(', ');
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Inject a `<style>` tag that hides storefront elements matching the
|
|
82
|
+
* merchant-configured `checkoutSettings.domesticElementSelector`, scoped to
|
|
83
|
+
* `body.z-intl` so the rule only takes effect when the shopper is in a
|
|
84
|
+
* shipping zone (Hello sets the body class). The exact selector we emit is
|
|
85
|
+
* also the selector we validate — see [[buildDomesticHideSelector]] for the
|
|
86
|
+
* `:is()`-support branching.
|
|
87
|
+
*/
|
|
88
|
+
export const injectDomesticElementHideStyle = (domesticElementSelector) => {
|
|
89
|
+
if (typeof document === 'undefined' || !domesticElementSelector) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const fullSelector = buildDomesticHideSelector({
|
|
93
|
+
merchantSelector: domesticElementSelector,
|
|
94
|
+
supportsIs: supportsIsSelector,
|
|
95
|
+
});
|
|
96
|
+
// The browser's own parser is the source of truth — `document.querySelector`
|
|
97
|
+
// throws `DOMException(SyntaxError)` for syntactically invalid selectors.
|
|
98
|
+
// Validating the exact string we're about to emit catches both malformed
|
|
99
|
+
// input and payloads that close `:is(` early to escape the wrapper.
|
|
100
|
+
try {
|
|
101
|
+
document.querySelector(fullSelector);
|
|
102
|
+
}
|
|
103
|
+
catch (_a) {
|
|
104
|
+
log(`Skip domesticElementSelector injection: "${domesticElementSelector}" produced an invalid CSS selector ("${fullSelector}")`, 'warn');
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
// Already injected — settings can re-emit on hot reload during dev.
|
|
108
|
+
if (document.getElementById(STYLE_ID)) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const style = document.createElement('style');
|
|
112
|
+
style.id = STYLE_ID;
|
|
113
|
+
style.textContent = `${fullSelector} { display: none !important; }`;
|
|
114
|
+
(document.head || document.body).appendChild(style);
|
|
115
|
+
log('Zonos domestic element hide style injected');
|
|
116
|
+
};
|