@zonos/elements 1.3.207 → 1.3.209
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/{CheckoutConfig-4afc683b.js → CheckoutConfig-27c82f94.js} +19 -0
- package/dist/cjs/{cart-3d961c6e.js → cart-2ec8cac2.js} +285 -64
- package/dist/cjs/{debounce-0b9c0f8a.js → debounce-465a4328.js} +1 -1
- package/dist/cjs/{getBorderRadius-c424eb05.js → getBorderRadius-1b5e33cf.js} +1 -1
- package/dist/cjs/{handleFetch-969d05d8.js → handleFetch-05227713.js} +2 -6
- package/dist/cjs/index.cjs.js +29 -9
- package/dist/cjs/{isDarkColor-35e8daec.js → isDarkColor-428965f4.js} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{localization-ff33875b.js → localization-9b43376c.js} +3 -2
- package/dist/cjs/{paypal-dee5c109.js → paypal-6449314e.js} +5 -5
- package/dist/cjs/updateCheckoutSessionAttributes-a31bb681.js +50 -0
- package/dist/cjs/zonos-address_11.cjs.entry.js +104 -84
- package/dist/cjs/zonos-badge.cjs.entry.js +1 -1
- package/dist/cjs/zonos-banner.cjs.entry.js +1 -1
- package/dist/cjs/zonos-button_3.cjs.entry.js +3 -3
- package/dist/cjs/zonos-card.cjs.entry.js +2 -2
- package/dist/cjs/zonos-cart-items_14.cjs.entry.js +98 -49
- package/dist/cjs/zonos-checkout.cjs.entry.js +87 -31
- package/dist/cjs/zonos-collapse.cjs.entry.js +1 -1
- package/dist/cjs/zonos-controller.cjs.entry.js +6 -6
- package/dist/cjs/zonos-country-flag.cjs.entry.js +3 -3
- package/dist/cjs/zonos-country-select_4.cjs.entry.js +13 -9
- package/dist/cjs/zonos-elements.cjs.js +1 -1
- package/dist/cjs/zonos-empty-state-payment_4.cjs.entry.js +7 -7
- package/dist/cjs/zonos-hello-dialog.cjs.entry.js +3 -3
- package/dist/cjs/zonos-hello.cjs.entry.js +4 -4
- package/dist/cjs/zonos-input.cjs.entry.js +2 -2
- package/dist/cjs/zonos-language-select_2.cjs.entry.js +3 -3
- package/dist/cjs/zonos-logo.cjs.entry.js +1 -1
- package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js +2 -2
- package/dist/cjs/zonos-stripe-input.cjs.entry.js +3 -3
- package/dist/cjs/zonos-text.cjs.entry.js +1 -1
- package/dist/cjs/zonos-toggle.cjs.entry.js +1 -1
- package/dist/cjs/zonos-v-stack.cjs.entry.js +1 -1
- package/dist/cjs/{zonosStore-7c1e1bc1.js → zonosStore-f8ee56aa.js} +1 -0
- package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +79 -24
- package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.js +71 -36
- package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.js +33 -11
- package/dist/collection/components/common/zonos-checkout-progress-tabs/zonos-checkout-progress-tabs.js +2 -2
- package/dist/collection/components/common/zonos-country-select/zonos-country-select.js +9 -5
- package/dist/collection/components/store/checkout/cart.js +9 -2
- package/dist/collection/components/store/checkout/stripe.js +266 -55
- package/dist/collection/components/store/hello/localization.js +1 -0
- package/dist/collection/components/stripe/zonos-address/zonos-address.css +2 -1
- package/dist/collection/components/stripe/zonos-address/zonos-address.js +24 -3
- package/dist/collection/components/stripe/zonos-custom-address/zonos-custom-address.css +2 -1
- package/dist/collection/components/stripe/zonos-custom-address/zonos-custom-address.js +7 -5
- package/dist/collection/components/utils/api/cartCalculateLandedCost.js +3 -2
- package/dist/collection/components/utils/api/prepCalculateLandedCost.js +2 -2
- package/dist/collection/components/utils/api/updateCheckoutSessionAttributes.js +46 -0
- package/dist/collection/components/utils/checkout/getAbandonedCartRenewTokenValue.js +17 -0
- package/dist/collection/components/utils/handleFetch.js +2 -1
- package/dist/collection/components/utils/logging/log.js +0 -5
- package/dist/collection/scripts/_getCartInfoById.js +3 -0
- package/dist/collection/types/checkout/api/CheckoutSession.js +14 -1
- package/dist/collection/types/checkout/api/CreateParty.js +1 -0
- package/dist/collection/types/generated/graphql.frontend.types.js +2 -0
- package/dist/collection/types/generated/graphql.internal.types.js +15 -0
- package/dist/collection/types/index.js +1 -0
- package/dist/esm/{CheckoutConfig-eb7d6954.js → CheckoutConfig-724d7bae.js} +19 -1
- package/dist/esm/{cart-5835676d.js → cart-2f84f632.js} +284 -65
- package/dist/esm/{debounce-eaee3a94.js → debounce-0e42da22.js} +1 -1
- package/dist/esm/{getBorderRadius-b18c924f.js → getBorderRadius-71b3b8ab.js} +1 -1
- package/dist/esm/{handleFetch-621e45bc.js → handleFetch-7dd4622b.js} +2 -6
- package/dist/esm/index.js +28 -11
- package/dist/esm/{isDarkColor-d8bb8659.js → isDarkColor-3a9d6108.js} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{localization-4c7f64e8.js → localization-e17c211b.js} +3 -2
- package/dist/esm/{paypal-b4f106be.js → paypal-1cf701aa.js} +6 -6
- package/dist/esm/updateCheckoutSessionAttributes-5097e715.js +48 -0
- package/dist/esm/zonos-address_11.entry.js +104 -84
- package/dist/esm/zonos-badge.entry.js +1 -1
- package/dist/esm/zonos-banner.entry.js +1 -1
- package/dist/esm/zonos-button_3.entry.js +3 -3
- package/dist/esm/zonos-card.entry.js +2 -2
- package/dist/esm/zonos-cart-items_14.entry.js +98 -49
- package/dist/esm/zonos-checkout.entry.js +87 -31
- package/dist/esm/zonos-collapse.entry.js +1 -1
- package/dist/esm/zonos-controller.entry.js +6 -6
- package/dist/esm/zonos-country-flag.entry.js +3 -3
- package/dist/esm/zonos-country-select_4.entry.js +13 -9
- package/dist/esm/zonos-elements.js +1 -1
- package/dist/esm/zonos-empty-state-payment_4.entry.js +7 -7
- package/dist/esm/zonos-hello-dialog.entry.js +3 -3
- package/dist/esm/zonos-hello.entry.js +4 -4
- package/dist/esm/zonos-input.entry.js +2 -2
- package/dist/esm/zonos-language-select_2.entry.js +3 -3
- package/dist/esm/zonos-logo.entry.js +1 -1
- package/dist/esm/zonos-shipping-rich-radio.entry.js +2 -2
- package/dist/esm/zonos-stripe-input.entry.js +3 -3
- package/dist/esm/zonos-text.entry.js +1 -1
- package/dist/esm/zonos-toggle.entry.js +1 -1
- package/dist/esm/zonos-v-stack.entry.js +1 -1
- package/dist/esm/{zonosStore-1e015fa5.js → zonosStore-00975763.js} +1 -1
- package/dist/esm-es5/CheckoutConfig-724d7bae.js +1 -0
- package/dist/esm-es5/cart-2f84f632.js +1 -0
- package/dist/esm-es5/{debounce-eaee3a94.js → debounce-0e42da22.js} +1 -1
- package/dist/esm-es5/{getBorderRadius-b18c924f.js → getBorderRadius-71b3b8ab.js} +1 -1
- package/dist/esm-es5/handleFetch-7dd4622b.js +1 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/{isDarkColor-d8bb8659.js → isDarkColor-3a9d6108.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{localization-4c7f64e8.js → localization-e17c211b.js} +1 -1
- package/dist/esm-es5/{paypal-b4f106be.js → paypal-1cf701aa.js} +2 -2
- package/dist/esm-es5/updateCheckoutSessionAttributes-5097e715.js +1 -0
- package/dist/esm-es5/zonos-address_11.entry.js +1 -1
- package/dist/esm-es5/zonos-badge.entry.js +1 -1
- package/dist/esm-es5/zonos-banner.entry.js +1 -1
- package/dist/esm-es5/zonos-button_3.entry.js +1 -1
- package/dist/esm-es5/zonos-card.entry.js +1 -1
- package/dist/esm-es5/zonos-cart-items_14.entry.js +1 -1
- package/dist/esm-es5/zonos-checkout.entry.js +1 -1
- package/dist/esm-es5/zonos-collapse.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-elements.js +1 -1
- package/dist/esm-es5/zonos-empty-state-payment_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-input.entry.js +1 -1
- package/dist/esm-es5/zonos-language-select_2.entry.js +1 -1
- package/dist/esm-es5/zonos-logo.entry.js +1 -1
- package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
- package/dist/esm-es5/zonos-stripe-input.entry.js +1 -1
- package/dist/esm-es5/zonos-text.entry.js +1 -1
- package/dist/esm-es5/zonos-toggle.entry.js +1 -1
- package/dist/esm-es5/zonos-v-stack.entry.js +1 -1
- package/dist/esm-es5/{zonosStore-1e015fa5.js → zonosStore-00975763.js} +1 -1
- package/dist/scripts/index.d.ts +10 -0
- 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/checkout/zonos-checkout/zonos-checkout.d.ts +2 -0
- package/dist/types/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.d.ts +8 -4
- package/dist/types/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.d.ts +3 -0
- package/dist/types/components/common/zonos-country-select/zonos-country-select.d.ts +1 -0
- package/dist/types/components/store/checkout/cart.d.ts +6 -2
- package/dist/types/components/store/checkout/stripe.d.ts +33 -6
- package/dist/types/components/stripe/zonos-address/zonos-address.d.ts +6 -0
- package/dist/types/components/utils/api/updateCheckoutSessionAttributes.d.ts +7 -0
- package/dist/types/components/utils/checkout/getAbandonedCartRenewTokenValue.d.ts +1 -0
- package/dist/types/scripts/cart/_setupCartDataWithSettings.d.ts +1 -0
- package/dist/types/types/checkout/api/CheckoutSession.d.ts +16 -0
- package/dist/types/types/checkout/api/CreateParty.d.ts +34 -0
- package/dist/types/types/checkout/api/NormalizedTempCart.d.ts +2 -0
- package/dist/types/types/generated/graphql.frontend.types.d.ts +2 -0
- package/dist/types/types/generated/graphql.frontend.types.ts +2 -0
- package/dist/types/types/generated/graphql.internal.types.d.ts +61 -5
- package/dist/types/types/generated/graphql.internal.types.ts +105 -3
- package/dist/types/types/index.d.ts +1 -0
- package/dist/types/types/utils/ZonosSettings.d.ts +6 -0
- package/dist/zonos-elements/index.esm.js +1 -1
- package/dist/zonos-elements/{p-4e9c8f9e.system.js → p-0751b878.system.js} +1 -1
- package/dist/zonos-elements/{p-abe218ab.system.entry.js → p-08b29f73.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-74bcb5cc.entry.js → p-0ca1d6dd.entry.js} +1 -1
- package/dist/zonos-elements/{p-12cd9d3a.entry.js → p-144b5006.entry.js} +1 -1
- package/dist/zonos-elements/{p-9e9ac7a2.system.js → p-19182dc7.system.js} +1 -1
- package/dist/zonos-elements/{p-eca09508.system.entry.js → p-1dc78af3.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-e337fa88.js → p-207bd04a.js} +1 -1
- package/dist/zonos-elements/p-20839c46.js +1 -0
- package/dist/zonos-elements/{p-1aa24297.system.entry.js → p-2122d2cc.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-4fb88ebc.system.entry.js → p-239695e8.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-3196bf98.entry.js → p-23fe7661.entry.js} +1 -1
- package/dist/zonos-elements/p-2652198d.js +1 -0
- package/dist/zonos-elements/p-30a9f802.system.entry.js +1 -0
- package/dist/zonos-elements/{p-c666d557.system.js → p-3633a952.system.js} +1 -1
- package/dist/zonos-elements/{p-9b8a5372.entry.js → p-36b686b6.entry.js} +1 -1
- package/dist/zonos-elements/{p-658936c9.js → p-371d91d1.js} +2 -2
- package/dist/zonos-elements/{p-019f8637.entry.js → p-3934b38a.entry.js} +1 -1
- package/dist/zonos-elements/p-3c752420.system.js +1 -0
- package/dist/zonos-elements/p-3ee44728.system.js +1 -1
- package/dist/zonos-elements/p-40a4c8a2.system.js +1 -0
- package/dist/zonos-elements/{p-91c996d3.system.js → p-44c0a584.system.js} +2 -2
- package/dist/zonos-elements/{p-eb2560b6.system.entry.js → p-45a2f9b1.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-1327b935.system.js → p-4a1b4a2d.system.js} +1 -1
- package/dist/zonos-elements/p-4c70fd75.entry.js +1 -0
- package/dist/zonos-elements/{p-bab19e2a.entry.js → p-4d62f3de.entry.js} +1 -1
- package/dist/zonos-elements/{p-848e08e8.entry.js → p-4dbaa2c2.entry.js} +1 -1
- package/dist/zonos-elements/p-4ed73ff8.entry.js +1 -0
- package/dist/zonos-elements/{p-47e2cd31.entry.js → p-4f5513dc.entry.js} +1 -1
- package/dist/zonos-elements/p-542acc2c.js +1 -0
- package/dist/zonos-elements/p-5711e187.system.js +1 -0
- package/dist/zonos-elements/{p-41c1d7c4.entry.js → p-5956a9e0.entry.js} +1 -1
- package/dist/zonos-elements/{p-5616b304.entry.js → p-5b7686f8.entry.js} +1 -1
- package/dist/zonos-elements/{p-0c4c8d63.entry.js → p-63a4dac5.entry.js} +1 -1
- package/dist/zonos-elements/{p-f4d741de.system.entry.js → p-695bf400.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-9fa17353.js → p-6aa728f2.js} +1 -1
- package/dist/zonos-elements/{p-ed20f2f7.js → p-71c6bdc3.js} +1 -1
- package/dist/zonos-elements/p-738a49c0.system.js +1 -0
- package/dist/zonos-elements/{p-469ccc66.system.entry.js → p-74276b82.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-e0587eeb.entry.js → p-77e22be4.entry.js} +1 -1
- package/dist/zonos-elements/{p-3afc27ef.entry.js → p-78dd1c53.entry.js} +1 -1
- package/dist/zonos-elements/{p-620deb03.system.entry.js → p-7f9bbbb3.system.entry.js} +1 -1
- package/dist/zonos-elements/p-896f2358.system.entry.js +1 -0
- package/dist/zonos-elements/{p-719e14a8.system.entry.js → p-8f41d864.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-4cb8b87f.system.entry.js → p-964e2587.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-93aeba62.system.entry.js → p-97831744.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-2866fd29.system.entry.js → p-9d95c896.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-abc83d01.entry.js → p-a24870af.entry.js} +1 -1
- package/dist/zonos-elements/p-a411ce2a.system.js +1 -0
- package/dist/zonos-elements/{p-1bc09abe.system.entry.js → p-a4686344.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-edcfb3a3.js → p-a6f77d44.js} +1 -1
- package/dist/zonos-elements/{p-b21b0330.entry.js → p-a8f421ac.entry.js} +1 -1
- package/dist/zonos-elements/{p-18149db1.entry.js → p-aa40d402.entry.js} +1 -1
- package/dist/zonos-elements/{p-536f69eb.entry.js → p-ad1e1dbc.entry.js} +1 -1
- package/dist/zonos-elements/p-b1bfeec9.system.entry.js +1 -0
- package/dist/zonos-elements/p-b2d81c98.js +1 -0
- package/dist/zonos-elements/{p-7777d85f.system.entry.js → p-baa88176.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-1ad099ec.system.entry.js → p-bf9cb85f.system.entry.js} +1 -1
- package/dist/zonos-elements/p-bfdb4e7a.entry.js +1 -0
- package/dist/zonos-elements/{p-858b7908.system.entry.js → p-c345b306.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-22cb6880.system.entry.js → p-d1697144.system.entry.js} +1 -1
- package/dist/zonos-elements/p-d1c0bf92.entry.js +1 -0
- package/dist/zonos-elements/{p-16678764.js → p-d6a53ea6.js} +1 -1
- package/dist/zonos-elements/{p-265af369.system.entry.js → p-db424e02.system.entry.js} +1 -1
- package/dist/zonos-elements/p-eb77c0bf.system.js +1 -0
- package/dist/zonos-elements/{p-30778fde.system.entry.js → p-ef1ccec6.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-42a9557f.entry.js → p-fdf5b8f4.entry.js} +1 -1
- package/dist/zonos-elements/zonos-elements.esm.js +1 -1
- package/package.json +1 -1
- package/dist/esm-es5/CheckoutConfig-eb7d6954.js +0 -1
- package/dist/esm-es5/cart-5835676d.js +0 -1
- package/dist/esm-es5/handleFetch-621e45bc.js +0 -1
- package/dist/zonos-elements/p-0de2c731.system.js +0 -1
- package/dist/zonos-elements/p-0fc02cde.js +0 -1
- package/dist/zonos-elements/p-1b75aa35.system.js +0 -1
- package/dist/zonos-elements/p-3a50124e.entry.js +0 -1
- package/dist/zonos-elements/p-3f1a2d31.js +0 -1
- package/dist/zonos-elements/p-5e1b2654.system.js +0 -1
- package/dist/zonos-elements/p-666164d9.system.js +0 -1
- package/dist/zonos-elements/p-9f78b79e.entry.js +0 -1
- package/dist/zonos-elements/p-a2b55d11.entry.js +0 -1
- package/dist/zonos-elements/p-aafcd40f.system.entry.js +0 -1
- package/dist/zonos-elements/p-b922c441.system.js +0 -1
- package/dist/zonos-elements/p-ba027b70.system.entry.js +0 -1
- package/dist/zonos-elements/p-c4e0f49a.system.entry.js +0 -1
- package/dist/zonos-elements/p-dbd23bea.entry.js +0 -1
- package/dist/zonos-elements/p-f9664811.js +0 -1
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import debounce from "lodash/debounce";
|
|
2
|
+
import { handleFetch } from "../handleFetch";
|
|
3
|
+
import { logError } from "../logging/logError";
|
|
4
|
+
const attributesToUpdate = {};
|
|
5
|
+
// Store debounced functions per session to ensure proper debouncing
|
|
6
|
+
const debouncedFunctions = {};
|
|
7
|
+
const createDebouncedFetch = (sessionId) => {
|
|
8
|
+
return debounce(async () => {
|
|
9
|
+
var _a, _b;
|
|
10
|
+
// Get latest attributes from the map
|
|
11
|
+
const latestAttributes = Array.from(((_a = attributesToUpdate[sessionId]) === null || _a === void 0 ? void 0 : _a.entries()) || []).map(([key, value]) => ({ key, value }));
|
|
12
|
+
const { errors, json } = await handleFetch('/api/zonos-elements/update-checkout-session-attributes', {
|
|
13
|
+
body: {
|
|
14
|
+
attributes: latestAttributes,
|
|
15
|
+
id: sessionId,
|
|
16
|
+
},
|
|
17
|
+
method: 'POST',
|
|
18
|
+
});
|
|
19
|
+
if (errors.length) {
|
|
20
|
+
logError('Error updating checkout session attributes', errors);
|
|
21
|
+
return { success: false };
|
|
22
|
+
}
|
|
23
|
+
(_b = attributesToUpdate[sessionId]) === null || _b === void 0 ? void 0 : _b.clear();
|
|
24
|
+
return { success: !!(json === null || json === void 0 ? void 0 : json.success) };
|
|
25
|
+
}, 1000, { maxWait: 5000 });
|
|
26
|
+
};
|
|
27
|
+
export const updateCheckoutSessionAttributes = async ({ attributes, checkoutSessionId, }) => {
|
|
28
|
+
// Merge the new attributes with the attributes in the list, if key exist, override it
|
|
29
|
+
// init the map if not exist
|
|
30
|
+
attributesToUpdate[checkoutSessionId] || (attributesToUpdate[checkoutSessionId] = new Map());
|
|
31
|
+
attributes.forEach(attribute => {
|
|
32
|
+
var _a;
|
|
33
|
+
if (attribute.value) {
|
|
34
|
+
(_a = attributesToUpdate[checkoutSessionId]) === null || _a === void 0 ? void 0 : _a.set(attribute.key, attribute.value);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
if (!attributes.length) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
// Get or create the debounced function for this session
|
|
41
|
+
if (!debouncedFunctions[checkoutSessionId]) {
|
|
42
|
+
debouncedFunctions[checkoutSessionId] =
|
|
43
|
+
createDebouncedFetch(checkoutSessionId);
|
|
44
|
+
}
|
|
45
|
+
return debouncedFunctions[checkoutSessionId]();
|
|
46
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export const getAbandonedCartRenewTokenValue = () => {
|
|
2
|
+
const validityToken = new URLSearchParams(window.location.search).get('validityToken');
|
|
3
|
+
// check if validityToken length is base64 encoded
|
|
4
|
+
if (!validityToken ||
|
|
5
|
+
!/^[A-Za-z0-9+/]+={0,2}$/.test(validityToken) ||
|
|
6
|
+
validityToken.length % 4 !== 0) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
try {
|
|
10
|
+
// check if it can be decoded
|
|
11
|
+
atob(validityToken);
|
|
12
|
+
return validityToken;
|
|
13
|
+
}
|
|
14
|
+
catch (_a) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
@@ -176,12 +176,13 @@ const handleRequestWithFallback = async ({ basePathType: _basePathType, options,
|
|
|
176
176
|
}
|
|
177
177
|
const nextFallbackApiType = getNextFallbackApiType(basePathType);
|
|
178
178
|
const unknownError = errors.find(({ type }) => type === 'unknown');
|
|
179
|
+
const isAbortError = errors.find(({ message }) => message.includes('signal is aborted'));
|
|
179
180
|
const isUnknownError = !!unknownError || (response === null || response === void 0 ? void 0 : response.status) === 404;
|
|
180
181
|
const shouldCallFallback =
|
|
181
182
|
// If next fallback is available, and the error is unknown (Failed to fetch) or 404
|
|
182
183
|
nextFallbackApiType && isUnknownError;
|
|
183
184
|
// Should log the error if it's unknown error
|
|
184
|
-
if (isUnknownError) {
|
|
185
|
+
if (isUnknownError || isAbortError) {
|
|
185
186
|
void sendErrorLog({
|
|
186
187
|
endpoint: fallbackApiList[basePathType] + path,
|
|
187
188
|
errors: errors.map(({ message }) => `API: ${message}`),
|
|
@@ -35,11 +35,6 @@ export const log = (message, type, ..._additionalInfo) => {
|
|
|
35
35
|
!!window.location.search.match(/\?.*(&*)zonosDebug=1/);
|
|
36
36
|
// if debug is false, do not log
|
|
37
37
|
if (!isDebug) {
|
|
38
|
-
// log errors to the console if the type is error
|
|
39
|
-
if (type === 'error') {
|
|
40
|
-
// eslint-disable-next-line no-console
|
|
41
|
-
console.error(message, ...additionalInfo);
|
|
42
|
-
}
|
|
43
38
|
return;
|
|
44
39
|
}
|
|
45
40
|
let loggingIframe = document.querySelector('iframe#zonos---debug-logging-iframe');
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { getGenericSettingsOverride } from "../components/utils/api/getGenericSettingsOverride";
|
|
2
|
+
import { getAbandonedCartRenewTokenValue } from "../components/utils/checkout/getAbandonedCartRenewTokenValue";
|
|
2
3
|
import { getIsTestMode } from "../components/utils/checkout/getIsTestMode";
|
|
3
4
|
import { handleFetch } from "../components/utils/handleFetch";
|
|
4
5
|
import { log } from "../components/utils/logging/log";
|
|
5
6
|
export const getCartInfoById = async ({ cartId, retries, }) => {
|
|
6
7
|
const isTestMode = getIsTestMode();
|
|
7
8
|
const overrideSettings = getGenericSettingsOverride();
|
|
9
|
+
const renewCartExpirationToken = getAbandonedCartRenewTokenValue() || undefined;
|
|
8
10
|
const params = new URLSearchParams();
|
|
9
11
|
if (overrideSettings.overrideShouldEnabledCustomAddress) {
|
|
10
12
|
params.set('overrideShouldEnabledCustomAddress', overrideSettings.overrideShouldEnabledCustomAddress);
|
|
@@ -12,6 +14,7 @@ export const getCartInfoById = async ({ cartId, retries, }) => {
|
|
|
12
14
|
const { errors, json, zonosMode } = await handleFetch(`/api/zonos-elements/get-cart?${params.toString()}`, {
|
|
13
15
|
body: {
|
|
14
16
|
isTestMode,
|
|
17
|
+
renewCartExpirationToken,
|
|
15
18
|
tempCartUUID: cartId,
|
|
16
19
|
},
|
|
17
20
|
headers: {
|
|
@@ -1 +1,14 @@
|
|
|
1
|
-
export
|
|
1
|
+
export const checkoutSessionMutableAttributeKeys = [
|
|
2
|
+
'ZONOS_FORM_TYPE_USING',
|
|
3
|
+
'APP_VERSION',
|
|
4
|
+
'APP_VERSION_NPM_INTEGRATION',
|
|
5
|
+
'LEGACY_CHECKOUT_FACADE',
|
|
6
|
+
];
|
|
7
|
+
export const checkoutSessionImmutableAttributeKeys = [
|
|
8
|
+
'ORDER_DUPLICATION_CONSENT',
|
|
9
|
+
'WITH_ABANDONED_CART_TOKEN',
|
|
10
|
+
];
|
|
11
|
+
export const checkoutSessionAttributeKeys = [
|
|
12
|
+
...checkoutSessionMutableAttributeKeys,
|
|
13
|
+
...checkoutSessionImmutableAttributeKeys,
|
|
14
|
+
];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -2883,6 +2883,9 @@ export function getSdk(client, withWrapper = defaultWrapper) {
|
|
|
2883
2883
|
checkoutSessionUpdate(variables, requestHeaders) {
|
|
2884
2884
|
return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'checkoutSessionUpdate', 'mutation');
|
|
2885
2885
|
},
|
|
2886
|
+
checkoutSessionUpdateAttributes(variables, requestHeaders) {
|
|
2887
|
+
return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'checkoutSessionUpdateAttributes', 'mutation');
|
|
2888
|
+
},
|
|
2886
2889
|
checkoutSessionUpdateMetadata(variables, requestHeaders) {
|
|
2887
2890
|
return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'checkoutSessionUpdateMetadata', 'mutation');
|
|
2888
2891
|
},
|
|
@@ -2910,6 +2913,9 @@ export function getSdk(client, withWrapper = defaultWrapper) {
|
|
|
2910
2913
|
getCheckoutSession(variables, requestHeaders) {
|
|
2911
2914
|
return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'getCheckoutSession', 'query');
|
|
2912
2915
|
},
|
|
2916
|
+
getCheckoutSessionAttributes(variables, requestHeaders) {
|
|
2917
|
+
return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'getCheckoutSessionAttributes', 'query');
|
|
2918
|
+
},
|
|
2913
2919
|
getInclusivePriceSettingByCountry(variables, requestHeaders) {
|
|
2914
2920
|
return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'getInclusivePriceSettingByCountry', 'query');
|
|
2915
2921
|
},
|
|
@@ -2928,6 +2934,9 @@ export function getSdk(client, withWrapper = defaultWrapper) {
|
|
|
2928
2934
|
helloSettings(variables, requestHeaders) {
|
|
2929
2935
|
return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'helloSettings', 'query');
|
|
2930
2936
|
},
|
|
2937
|
+
landedCostSettings(variables, requestHeaders) {
|
|
2938
|
+
return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'landedCostSettings', 'query');
|
|
2939
|
+
},
|
|
2931
2940
|
onlineStoreSettings(variables, requestHeaders) {
|
|
2932
2941
|
return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'onlineStoreSettings', 'query');
|
|
2933
2942
|
},
|
|
@@ -2943,6 +2952,9 @@ export function getSdk(client, withWrapper = defaultWrapper) {
|
|
|
2943
2952
|
organizations(variables, requestHeaders) {
|
|
2944
2953
|
return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'organizations', 'query');
|
|
2945
2954
|
},
|
|
2955
|
+
partyCreate(variables, requestHeaders) {
|
|
2956
|
+
return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'partyCreate', 'mutation');
|
|
2957
|
+
},
|
|
2946
2958
|
partyInfo(variables, requestHeaders) {
|
|
2947
2959
|
return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'partyInfo', 'query');
|
|
2948
2960
|
},
|
|
@@ -2958,6 +2970,9 @@ export function getSdk(client, withWrapper = defaultWrapper) {
|
|
|
2958
2970
|
removeTrackingNumber(variables, requestHeaders) {
|
|
2959
2971
|
return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'removeTrackingNumber', 'mutation');
|
|
2960
2972
|
},
|
|
2973
|
+
renewCartExpirationToken(variables, requestHeaders) {
|
|
2974
|
+
return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'renewCartExpirationToken', 'mutation');
|
|
2975
|
+
},
|
|
2961
2976
|
selectCheckoutVarianceTest(variables, requestHeaders) {
|
|
2962
2977
|
return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'selectCheckoutVarianceTest', 'mutation');
|
|
2963
2978
|
},
|
|
@@ -3,6 +3,7 @@ import "./global.d";
|
|
|
3
3
|
export * from '../components.d';
|
|
4
4
|
export * from './checkout/api/CalculateLandedCost';
|
|
5
5
|
export * from './checkout/api/CheckoutSession';
|
|
6
|
+
export * from './checkout/api/CreateParty';
|
|
6
7
|
export * from './checkout/api/legacy/InventoryCheck';
|
|
7
8
|
export * from './checkout/api/NormalizedTempCart';
|
|
8
9
|
export * from './checkout/api/Paypal';
|
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
const getAbandonedCartRenewTokenValue = () => {
|
|
2
|
+
const validityToken = new URLSearchParams(window.location.search).get('validityToken');
|
|
3
|
+
// check if validityToken length is base64 encoded
|
|
4
|
+
if (!validityToken ||
|
|
5
|
+
!/^[A-Za-z0-9+/]+={0,2}$/.test(validityToken) ||
|
|
6
|
+
validityToken.length % 4 !== 0) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
try {
|
|
10
|
+
// check if it can be decoded
|
|
11
|
+
atob(validityToken);
|
|
12
|
+
return validityToken;
|
|
13
|
+
}
|
|
14
|
+
catch (_a) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
1
19
|
const baseRe = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/;
|
|
2
20
|
const uuidRe = new RegExp(`^${baseRe.source}$`);
|
|
3
21
|
const cartUuidRe = new RegExp(`^cart_${baseRe.source}$`);
|
|
@@ -29,4 +47,4 @@ const checkoutHiddenBtnSelector = 'zonos--checkout-hidden-button';
|
|
|
29
47
|
const checkoutHiddenInternationalBtnSelector = 'zonos--checkout-hidden-international-button';
|
|
30
48
|
const domesticRedirectedBtnSelector = 'zonos--domestic-redirected-checkout-button';
|
|
31
49
|
|
|
32
|
-
export { _getIsValidCartId as _, checkoutHiddenInternationalBtnSelector as a, checkoutHiddenBtnSelector as c, domesticRedirectedBtnSelector as d };
|
|
50
|
+
export { _getIsValidCartId as _, checkoutHiddenInternationalBtnSelector as a, checkoutHiddenBtnSelector as c, domesticRedirectedBtnSelector as d, getAbandonedCartRenewTokenValue as g };
|