@zonos/elements 1.3.82 → 1.3.83

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.
Files changed (158) hide show
  1. package/dist/cjs/{cart-ba540c8e.js → cart-4de3faca.js} +455 -16
  2. package/dist/cjs/{createCustomEvent-1fd24ad8.js → createCustomEvent-65331eae.js} +1 -1
  3. package/dist/cjs/index.cjs.js +7 -7
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{paypal-6bbe55a7.js → paypal-370b3a10.js} +1 -1
  6. package/dist/cjs/{zonos-address_8.cjs.entry.js → zonos-address_7.cjs.entry.js} +1 -56
  7. package/dist/cjs/zonos-cart-items_12.cjs.entry.js +99 -29
  8. package/dist/cjs/zonos-checkout.cjs.entry.js +4 -4
  9. package/dist/cjs/zonos-collapse.cjs.entry.js +62 -0
  10. package/dist/cjs/zonos-controller.cjs.entry.js +1 -1
  11. package/dist/cjs/zonos-country-flag.cjs.entry.js +1 -1
  12. package/dist/cjs/zonos-country-select_4.cjs.entry.js +1 -1
  13. package/dist/cjs/zonos-elements.cjs.js +1 -1
  14. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +1 -1
  15. package/dist/cjs/zonos-hello.cjs.entry.js +1 -1
  16. package/dist/cjs/zonos-language-select_2.cjs.entry.js +1 -1
  17. package/dist/cjs/zonos-notification_3.cjs.entry.js +2 -2
  18. package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js +1 -11
  19. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.js +17 -6
  20. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.css +3 -1
  21. package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/assets/ChevronUpIcon.svg +23 -0
  22. package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.css +55 -9
  23. package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.js +57 -16
  24. package/dist/collection/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.js +20 -27
  25. package/dist/collection/components/store/checkout/cart.js +29 -11
  26. package/dist/collection/components/store/checkout/stripe.js +2 -2
  27. package/dist/collection/components/store/translationStore/strings.arabic.js +21 -0
  28. package/dist/collection/components/store/translationStore/strings.base.js +21 -0
  29. package/dist/collection/components/store/translationStore/strings.chinese.js +21 -0
  30. package/dist/collection/components/store/translationStore/strings.danish.js +21 -0
  31. package/dist/collection/components/store/translationStore/strings.dutch.js +21 -0
  32. package/dist/collection/components/store/translationStore/strings.french.js +22 -1
  33. package/dist/collection/components/store/translationStore/strings.german.js +22 -1
  34. package/dist/collection/components/store/translationStore/strings.hebrew.js +22 -1
  35. package/dist/collection/components/store/translationStore/strings.indonesian.js +21 -0
  36. package/dist/collection/components/store/translationStore/strings.italian.js +21 -0
  37. package/dist/collection/components/store/translationStore/strings.japanese.js +21 -0
  38. package/dist/collection/components/store/translationStore/strings.korean.js +21 -0
  39. package/dist/collection/components/store/translationStore/strings.norwegian.js +21 -0
  40. package/dist/collection/components/store/translationStore/strings.polish.js +21 -0
  41. package/dist/collection/components/store/translationStore/strings.portuguese.js +21 -0
  42. package/dist/collection/components/store/translationStore/strings.russian.js +22 -1
  43. package/dist/collection/components/store/translationStore/strings.spanish.js +21 -0
  44. package/dist/collection/components/store/translationStore/strings.swedish.js +21 -0
  45. package/dist/collection/components/store/translationStore/strings.turkish.js +21 -0
  46. package/dist/collection/components/store/translationStore/strings.vietnamese.js +21 -0
  47. package/dist/collection/components/utils/checkout/{sortServiceLevelOptions.js → sortServiceLevelOptionsByAmount.js} +1 -1
  48. package/dist/esm/{cart-7df78f9f.js → cart-bdc45f59.js} +455 -17
  49. package/dist/esm/{createCustomEvent-fcec608e.js → createCustomEvent-4db13122.js} +1 -1
  50. package/dist/esm/index.js +7 -7
  51. package/dist/esm/loader.js +1 -1
  52. package/dist/esm/{paypal-a27aad03.js → paypal-1b29d424.js} +1 -1
  53. package/dist/esm/{zonos-address_8.entry.js → zonos-address_7.entry.js} +2 -56
  54. package/dist/esm/zonos-cart-items_12.entry.js +99 -29
  55. package/dist/esm/zonos-checkout.entry.js +4 -4
  56. package/dist/esm/zonos-collapse.entry.js +58 -0
  57. package/dist/esm/zonos-controller.entry.js +1 -1
  58. package/dist/esm/zonos-country-flag.entry.js +1 -1
  59. package/dist/esm/zonos-country-select_4.entry.js +1 -1
  60. package/dist/esm/zonos-elements.js +1 -1
  61. package/dist/esm/zonos-hello-dialog.entry.js +1 -1
  62. package/dist/esm/zonos-hello.entry.js +1 -1
  63. package/dist/esm/zonos-language-select_2.entry.js +1 -1
  64. package/dist/esm/zonos-notification_3.entry.js +2 -2
  65. package/dist/esm/zonos-shipping-rich-radio.entry.js +1 -11
  66. package/dist/esm-es5/cart-bdc45f59.js +1 -0
  67. package/dist/esm-es5/{createCustomEvent-fcec608e.js → createCustomEvent-4db13122.js} +1 -1
  68. package/dist/esm-es5/index.js +1 -1
  69. package/dist/esm-es5/loader.js +1 -1
  70. package/dist/esm-es5/{paypal-a27aad03.js → paypal-1b29d424.js} +1 -1
  71. package/dist/esm-es5/{zonos-address_8.entry.js → zonos-address_7.entry.js} +1 -1
  72. package/dist/esm-es5/zonos-cart-items_12.entry.js +1 -1
  73. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  74. package/dist/esm-es5/zonos-collapse.entry.js +1 -0
  75. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  76. package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
  77. package/dist/esm-es5/zonos-country-select_4.entry.js +1 -1
  78. package/dist/esm-es5/zonos-elements.js +1 -1
  79. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  80. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  81. package/dist/esm-es5/zonos-language-select_2.entry.js +1 -1
  82. package/dist/esm-es5/zonos-notification_3.entry.js +1 -1
  83. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
  84. package/dist/scripts/index.d.ts +499 -496
  85. package/dist/scripts/index.js +1 -1
  86. package/dist/scripts/loadZonos.js +1 -1
  87. package/dist/scripts/zonos.js +1 -1
  88. package/dist/types/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.d.ts +4 -1
  89. package/dist/types/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.d.ts +2 -6
  90. package/dist/types/components/store/checkout/cart.d.ts +9 -7
  91. package/dist/types/components/store/translationStore/strings.arabic.d.ts +21 -0
  92. package/dist/types/components/store/translationStore/strings.base.d.ts +21 -0
  93. package/dist/types/components/store/translationStore/strings.chinese.d.ts +21 -0
  94. package/dist/types/components/store/translationStore/strings.danish.d.ts +21 -0
  95. package/dist/types/components/store/translationStore/strings.dutch.d.ts +21 -0
  96. package/dist/types/components/store/translationStore/strings.french.d.ts +21 -0
  97. package/dist/types/components/store/translationStore/strings.german.d.ts +21 -0
  98. package/dist/types/components/store/translationStore/strings.hebrew.d.ts +21 -0
  99. package/dist/types/components/store/translationStore/strings.indonesian.d.ts +21 -0
  100. package/dist/types/components/store/translationStore/strings.italian.d.ts +21 -0
  101. package/dist/types/components/store/translationStore/strings.japanese.d.ts +21 -0
  102. package/dist/types/components/store/translationStore/strings.korean.d.ts +21 -0
  103. package/dist/types/components/store/translationStore/strings.norwegian.d.ts +21 -0
  104. package/dist/types/components/store/translationStore/strings.polish.d.ts +21 -0
  105. package/dist/types/components/store/translationStore/strings.portuguese.d.ts +21 -0
  106. package/dist/types/components/store/translationStore/strings.russian.d.ts +21 -0
  107. package/dist/types/components/store/translationStore/strings.spanish.d.ts +21 -0
  108. package/dist/types/components/store/translationStore/strings.swedish.d.ts +21 -0
  109. package/dist/types/components/store/translationStore/strings.turkish.d.ts +21 -0
  110. package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +21 -0
  111. package/dist/types/components/store/translationStore.d.ts +1 -1
  112. package/dist/types/components/utils/checkout/{sortServiceLevelOptions.d.ts → sortServiceLevelOptionsByAmount.d.ts} +1 -1
  113. package/dist/types/components.d.ts +10 -8
  114. package/dist/zonos-elements/assets/ChevronUpIcon.svg +23 -1
  115. package/dist/zonos-elements/assets/RemoveIcon.svg +1 -1
  116. package/dist/zonos-elements/index.esm.js +1 -1
  117. package/dist/zonos-elements/{p-270cc182.system.entry.js → p-00bb8221.system.entry.js} +1 -1
  118. package/dist/zonos-elements/{p-b09c3702.entry.js → p-017bf338.entry.js} +1 -1
  119. package/dist/zonos-elements/{p-2d2edb5a.system.entry.js → p-01d11845.system.entry.js} +1 -1
  120. package/dist/zonos-elements/p-0cc8c6a3.system.js +1 -0
  121. package/dist/zonos-elements/{p-43e2de45.system.entry.js → p-2140ccb4.system.entry.js} +1 -1
  122. package/dist/zonos-elements/{p-4e06a2bb.system.entry.js → p-2183128a.system.entry.js} +1 -1
  123. package/dist/zonos-elements/p-278d61ed.js +1 -0
  124. package/dist/zonos-elements/p-2b60faf8.entry.js +1 -0
  125. package/dist/zonos-elements/{p-8dd38974.entry.js → p-3347e142.entry.js} +1 -1
  126. package/dist/zonos-elements/{p-4097a25b.system.entry.js → p-3457c5e8.system.entry.js} +1 -1
  127. package/dist/zonos-elements/p-4abca0e9.system.entry.js +1 -0
  128. package/dist/zonos-elements/{p-15651b06.system.js → p-4ec7afc5.system.js} +1 -1
  129. package/dist/zonos-elements/{p-bf84416a.entry.js → p-5fb337a0.entry.js} +1 -1
  130. package/dist/zonos-elements/{p-a4cdd4f2.entry.js → p-6aa35f18.entry.js} +1 -1
  131. package/dist/zonos-elements/{p-cfd53396.entry.js → p-771e2623.entry.js} +1 -1
  132. package/dist/zonos-elements/{p-acabfc47.js → p-7cc5e325.js} +1 -1
  133. package/dist/zonos-elements/p-7f3aeb53.system.entry.js +1 -0
  134. package/dist/zonos-elements/p-844ec9f9.system.entry.js +1 -0
  135. package/dist/zonos-elements/p-9931bea7.system.entry.js +1 -0
  136. package/dist/zonos-elements/{p-cd17565d.entry.js → p-9b911f6f.entry.js} +1 -1
  137. package/dist/zonos-elements/{p-59806a8e.system.entry.js → p-9cfa3736.system.entry.js} +1 -1
  138. package/dist/zonos-elements/{p-957b1c1b.system.js → p-a1fa0a1c.system.js} +1 -1
  139. package/dist/zonos-elements/{p-df83e30b.entry.js → p-a34f0674.entry.js} +1 -1
  140. package/dist/zonos-elements/{p-4683797b.system.js → p-a6cff57f.system.js} +1 -1
  141. package/dist/zonos-elements/{p-112a969c.entry.js → p-b0303b0e.entry.js} +1 -1
  142. package/dist/zonos-elements/{p-2c5e2163.entry.js → p-c6350880.entry.js} +1 -1
  143. package/dist/zonos-elements/p-c78dd680.system.js +1 -1
  144. package/dist/zonos-elements/{p-2024313c.js → p-ce41cbde.js} +1 -1
  145. package/dist/zonos-elements/p-cec3e1ed.entry.js +1 -0
  146. package/dist/zonos-elements/{p-d48f3bd3.system.entry.js → p-e3df5ff6.system.entry.js} +1 -1
  147. package/dist/zonos-elements/{p-5d4bde9c.system.entry.js → p-f1d043ad.system.entry.js} +1 -1
  148. package/dist/zonos-elements/p-f1e452e1.entry.js +1 -0
  149. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  150. package/package.json +1 -1
  151. package/dist/esm-es5/cart-7df78f9f.js +0 -1
  152. package/dist/zonos-elements/p-85600e22.system.entry.js +0 -1
  153. package/dist/zonos-elements/p-8fd6ae63.js +0 -1
  154. package/dist/zonos-elements/p-a1c5c1a2.entry.js +0 -1
  155. package/dist/zonos-elements/p-aa899bf7.entry.js +0 -1
  156. package/dist/zonos-elements/p-cffe7cc8.system.entry.js +0 -1
  157. package/dist/zonos-elements/p-e7eb0a92.system.js +0 -1
  158. package/dist/zonos-elements/p-f4667002.system.entry.js +0 -1
@@ -13,7 +13,8 @@ const { onChange, reset, state: cartStore, } = createStore(() => ({
13
13
  checkoutTimeoutInterval: null,
14
14
  currency: 'USD',
15
15
  doneSteps: [],
16
- dutiesTaxFees: 0,
16
+ dutiesTaxesFees: 0,
17
+ dutiesTaxesFeesEstimate: 0,
17
18
  error: null,
18
19
  exchangeRate: null,
19
20
  externalConfirmationPageURL: null,
@@ -22,6 +23,7 @@ const { onChange, reset, state: cartStore, } = createStore(() => ({
22
23
  isSelectedShippingGuarantee: false,
23
24
  items: [],
24
25
  landedCostData: null,
26
+ landedCostMethod: 'DDP',
25
27
  promoCode: sessionStorage.getItem('promoCode') || '',
26
28
  // When user clicked applied button, save promocode into session storage for later use. So if session has promocode, applied button is clicked
27
29
  promoCodeApplied: !!sessionStorage.getItem('promoCode'),
@@ -136,14 +138,15 @@ const cartStoreUpdateToErrorState = ({ messages, title, }) => {
136
138
  title,
137
139
  };
138
140
  };
139
- const cartStoreApplySubtotals = (subtotals) => {
141
+ const cartStoreApplySubtotals = (subtotals, dutiesTaxesFeesEstimate) => {
140
142
  // update exchange rate so we can use it to display cart items
141
143
  cartStore.exchangeRate = subtotals.exchangeRate;
142
144
  cartStore.adjustmentTotal = subtotals.adjustments;
143
- cartStore.dutiesTaxFees = subtotals.landedCostTotal;
145
+ cartStore.dutiesTaxesFees = subtotals.landedCostTotal;
144
146
  cartStore.subtotal = subtotals.items;
145
147
  cartStore.total = subtotals.total;
146
148
  cartStore.currency = subtotals.presentmentCurrencyCode;
149
+ cartStore.dutiesTaxesFeesEstimate = dutiesTaxesFeesEstimate || 0;
147
150
  };
148
151
  /**
149
152
  * Detect if there are any items in cart that are not restricted and have positive amount, exclude negative amount items
@@ -166,11 +169,11 @@ const cartStoreSetCheckoutSession = (checkoutSession) => {
166
169
  cartStore.externalConfirmationPageURL = externalConfirmationPageURL;
167
170
  }
168
171
  };
169
- const cartStoreReCalculateTotal = async ({ adjustmentsAmount, cartId, currency, itemsAmount, landedCostId, }) => {
172
+ const cartStoreReCalculateTotal = async ({ adjustmentsAmount, cartId, currency, dutiesTaxesFeesEstimate, itemsAmount, landedCostId, }) => {
170
173
  if (landedCostId && cartStore.selectedLandedCost) {
171
174
  // update cart total right away if we have landed cost id to avoid order total flickering
172
175
  const subtotals = cartStore.selectedLandedCost.subtotals;
173
- cartStoreApplySubtotals(subtotals);
176
+ cartStoreApplySubtotals(subtotals, dutiesTaxesFeesEstimate);
174
177
  log('Exchange rate updated for cart items (landed cost subtotal)', 'info', cartStore.exchangeRate);
175
178
  }
176
179
  // update checkout session
@@ -208,7 +211,7 @@ const cartStoreReCalculateTotal = async ({ adjustmentsAmount, cartId, currency,
208
211
  return true;
209
212
  };
210
213
  const cartStoreUpdateSelectedShippingOption = async (selectedShippingOption, landedCostId) => {
211
- var _a, _b, _c, _d, _e;
214
+ var _a, _b, _c, _d, _e, _f;
212
215
  cartStore.selectedShippingOption = selectedShippingOption;
213
216
  // update shipping transit info
214
217
  const transitData = cartStoreGetShippingTransitInfo(cartStore.selectedShippingOption);
@@ -216,6 +219,9 @@ const cartStoreUpdateSelectedShippingOption = async (selectedShippingOption, lan
216
219
  const { maxTransit, minTransit, unit } = transitData;
217
220
  cartStore.selectedShippingOptionTransitTime = `${minTransit}-${maxTransit} ${unit}`;
218
221
  }
222
+ else {
223
+ cartStore.selectedShippingOptionTransitTime = '';
224
+ }
219
225
  const selectedLandedCost = (_a = cartStore.landedCostData) === null || _a === void 0 ? void 0 : _a.find(x => x.landedCostId === landedCostId);
220
226
  // save selected landed cost for later use
221
227
  cartStore.selectedLandedCost = selectedLandedCost || null;
@@ -223,19 +229,28 @@ const cartStoreUpdateSelectedShippingOption = async (selectedShippingOption, lan
223
229
  // do nothing if we can't find landed cost for selected shipping option
224
230
  return false;
225
231
  }
232
+ // If the quote is DAP, get the estimate from the corresponding DDP quote if available
233
+ const correspondingDdpQuote = (_b = cartStore.landedCostData) === null || _b === void 0 ? void 0 : _b.find(x => x.landedCost.shipmentRating.id === selectedShippingOption.id &&
234
+ x.landedCost.method === 'DDP');
235
+ const dutiesTaxesFeesEstimate = correspondingDdpQuote === null || correspondingDdpQuote === void 0 ? void 0 : correspondingDdpQuote.subtotals.landedCostTotal;
236
+ if (dutiesTaxesFeesEstimate) {
237
+ log(`DAP quote, using estimate from DDP quote: ${dutiesTaxesFeesEstimate}`, 'info');
238
+ }
239
+ cartStore.landedCostMethod = selectedLandedCost.landedCost.method || 'DDP';
226
240
  // update shipping value and dutiesTaxFees on selectedShippingOption change
227
241
  cartStore.shipping = selectedLandedCost.subtotals.shipping;
228
242
  // update deminimis status
229
- const isGuarantee = ((_b = selectedLandedCost === null || selectedLandedCost === void 0 ? void 0 : selectedLandedCost.landedCost) === null || _b === void 0 ? void 0 : _b.landedCostGuaranteeCode) === 'ZONOS';
243
+ const isGuarantee = ((_c = selectedLandedCost === null || selectedLandedCost === void 0 ? void 0 : selectedLandedCost.landedCost) === null || _c === void 0 ? void 0 : _c.landedCostGuaranteeCode) === 'ZONOS';
230
244
  // one item in deminimis with type of duty and tax has threshold value is "ABOVE"
231
- const isAboveDeminimis = !!((_d = (_c = selectedLandedCost === null || selectedLandedCost === void 0 ? void 0 : selectedLandedCost.landedCost) === null || _c === void 0 ? void 0 : _c.deMinimis) === null || _d === void 0 ? void 0 : _d.find(item => ['DUTY', 'TAX'].includes(item.type) && item.threshold === 'ABOVE'));
245
+ const isAboveDeminimis = !!((_e = (_d = selectedLandedCost === null || selectedLandedCost === void 0 ? void 0 : selectedLandedCost.landedCost) === null || _d === void 0 ? void 0 : _d.deMinimis) === null || _e === void 0 ? void 0 : _e.find(item => ['DUTY', 'TAX'].includes(item.type) && item.threshold === 'ABOVE'));
232
246
  cartStore.isSelectedShippingAboveDeminimis = isAboveDeminimis;
233
247
  cartStore.isSelectedShippingGuarantee = isGuarantee;
234
248
  // update session with selected landed cost
235
249
  const updateCalculateStatus = await cartStoreReCalculateTotal({
236
250
  adjustmentsAmount: cartStore.adjustmentTotal,
237
251
  cartId: window.Zonos.cartId,
238
- landedCostId: (_e = selectedLandedCost.landedCost) === null || _e === void 0 ? void 0 : _e.id,
252
+ dutiesTaxesFeesEstimate: dutiesTaxesFeesEstimate,
253
+ landedCostId: (_f = selectedLandedCost.landedCost) === null || _f === void 0 ? void 0 : _f.id,
239
254
  });
240
255
  return updateCalculateStatus;
241
256
  };
@@ -295,6 +310,8 @@ const cartStoreUpdateItems = async ({ adjustments, cartItems, }) => {
295
310
  adjustmentsAmount: adjustmentTotal,
296
311
  cartId: window.Zonos.cartId,
297
312
  currency: currency,
313
+ // TEMP: test
314
+ dutiesTaxesFeesEstimate: 0,
298
315
  itemsAmount: total,
299
316
  });
300
317
  stripeStore.isFetchingSession = false;
@@ -304,7 +321,8 @@ const cartStoreResetSelectedShippingOption = () => {
304
321
  cartStore.isSelectedShippingAboveDeminimis = false;
305
322
  cartStore.isSelectedShippingGuarantee = false;
306
323
  cartStore.selectedShippingOptionTransitTime = '';
307
- cartStore.dutiesTaxFees = 0;
324
+ cartStore.dutiesTaxesFees = 0;
325
+ cartStore.dutiesTaxesFeesEstimate = 0;
308
326
  cartStore.shipping = 0;
309
327
  // reset total to subtotal
310
328
  cartStore.total = cartStore.subtotal;
@@ -341,4 +359,4 @@ const cartStoreResetTabItems = () => {
341
359
  cartStore.tabItems = Object.assign(Object.assign({}, cartStore.tabItems), { 'customer-info': Object.assign(Object.assign({}, cartStore.tabItems['customer-info']), { isDone: false }), payment: Object.assign(Object.assign({}, cartStore.tabItems.payment), { isDone: false }), shipping: Object.assign(Object.assign({}, cartStore.tabItems.shipping), { isDone: false }) });
342
360
  cartStoreResetSelectedShippingOption();
343
361
  };
344
- export { cartStore, cartStoreApplySubtotals, cartStoreCheckItemRestrictions, cartStoreClearCheckoutInterval, cartStoreGetShippingTransitInfo, cartStoreHasOneEligibleItem, cartStoreNextStep, cartStorePreviousStep, cartStoreReCalculateTotal, cartStoreReset, cartStoreResetCartItems, cartStoreResetTabItems, cartStoreSetCheckoutSession, cartStoreStartCheckoutInterval, cartStoreUpdateItems, cartStoreUpdateSelectedShippingOption, cartStoreUpdateToErrorState, };
362
+ export { cartStore, cartStoreApplySubtotals, cartStoreCheckItemRestrictions, cartStoreClearCheckoutInterval, cartStoreGetShippingTransitInfo, cartStoreHasOneEligibleItem, cartStoreNextStep, cartStorePreviousStep, cartStoreReset, cartStoreResetCartItems, cartStoreResetTabItems, cartStoreSetCheckoutSession, cartStoreStartCheckoutInterval, cartStoreUpdateItems, cartStoreUpdateSelectedShippingOption, cartStoreUpdateToErrorState, };
@@ -5,7 +5,7 @@ import { translate } from "../translationStore";
5
5
  import { zonosStore } from "../zonosStore";
6
6
  import { calculateLandedCostNormalized } from "../../utils/api/calculateLandedCostNormaliz";
7
7
  import { buildTranslateRequest } from "../../utils/checkout/buildTranslateRequest";
8
- import { sortServiceLevelOptions } from "../../utils/checkout/sortServiceLevelOptions";
8
+ import { sortServiceLevelOptionsByAmount } from "../../utils/checkout/sortServiceLevelOptionsByAmount";
9
9
  import { handleFetch } from "../../utils/handleFetch";
10
10
  import { isDarkColor } from "../../utils/isDarkColor";
11
11
  import { jsonParse } from "../../utils/jsonParse";
@@ -170,7 +170,7 @@ const stripeCalculateLandedCost = async () => {
170
170
  // Reset cart items to non-restricted state and restricted item list
171
171
  cartStoreResetCartItems();
172
172
  const { checkoutSessionWorkflow, itemCreateWorkflow, landedCostCalculateWorkflow, shipmentRatingCalculateWorkflow, } = await calculateLandedCostNormalized(abortController);
173
- cartStore.shippingData = sortServiceLevelOptions((shipmentRatingCalculateWorkflow === null || shipmentRatingCalculateWorkflow === void 0 ? void 0 : shipmentRatingCalculateWorkflow.filter(Boolean)) || []);
173
+ cartStore.shippingData = sortServiceLevelOptionsByAmount((shipmentRatingCalculateWorkflow === null || shipmentRatingCalculateWorkflow === void 0 ? void 0 : shipmentRatingCalculateWorkflow.filter(Boolean)) || []);
174
174
  // check and update cart items with restrictions
175
175
  cartStoreCheckItemRestrictions(itemCreateWorkflow);
176
176
  // reset abort controller after we are done
@@ -86,12 +86,18 @@ export const stringsArabic = {
86
86
  "Don't close": {
87
87
  value: 'لا تغلق',
88
88
  },
89
+ 'Due at delivery': {
90
+ value: 'مستحق عند التسليم',
91
+ },
89
92
  'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders.': {
90
93
  value: 'الرسوم والضرائب في أستراليا، ضريبة القيمة المضافة أو GST هي [percentage] وتستحق على جميع الطلبات.',
91
94
  },
92
95
  'Duties and taxes will be applied to items and shipping.': {
93
96
  value: 'سيتم تطبيق الرسوم والضرائب على العناصر والشحن.',
94
97
  },
98
+ 'Duties and taxes will be charged upon delivery.': {
99
+ value: 'سيتم فرض الرسوم والضرائب عند التسليم.',
100
+ },
95
101
  'Duties will apply to all orders.': {
96
102
  value: 'ستنطبق الرسوم على جميع الطلبات.',
97
103
  },
@@ -107,6 +113,9 @@ export const stringsArabic = {
107
113
  'Error updating Checkout': {
108
114
  value: 'خطأ في تحديث جلسة الخروج',
109
115
  },
116
+ Estimated: {
117
+ value: 'مقدر',
118
+ },
110
119
  'Expected delivery': {
111
120
  value: 'التوصيل المتوقع',
112
121
  },
@@ -128,6 +137,9 @@ export const stringsArabic = {
128
137
  Hide: {
129
138
  value: 'اخفِ',
130
139
  },
140
+ 'Hide non prepaid methods': {
141
+ value: 'إخفاء الطرق غير المدفوعة مسبقًا',
142
+ },
131
143
  'Invalid promo code': {
132
144
  value: 'رمز ترويجي غير صالح',
133
145
  },
@@ -161,6 +173,9 @@ export const stringsArabic = {
161
173
  'No shipping methods found - try editing your address or contacting support if the error persists': {
162
174
  value: 'لم يتم العثور على طرق شحن - جرب تحرير عنوانك أو الاتصال بالدعم إذا استمر الخطأ',
163
175
  },
176
+ 'Nothing due at delivery': {
177
+ value: 'لا شيء مستحق عند التسليم',
178
+ },
164
179
  'Nothing due at the door': {
165
180
  value: 'لا شيء مستحق عند الباب',
166
181
  },
@@ -269,6 +284,9 @@ export const stringsArabic = {
269
284
  Show: {
270
285
  value: 'عرض',
271
286
  },
287
+ 'Show non prepaid methods': {
288
+ value: 'عرض طرق غير مدفوعة مسبقًا',
289
+ },
272
290
  'Something went wrong.': {
273
291
  value: 'حدث خطأ ما.',
274
292
  },
@@ -341,6 +359,9 @@ export const stringsArabic = {
341
359
  'Would you like to close checkout and return to the site?': {
342
360
  value: 'هل ترغب في إغلاق عملية الدفع والعودة إلى الموقع؟',
343
361
  },
362
+ 'You may incur additional fees from the shipping carrier by not prepaying.': {
363
+ value: 'قد تتكبد رسومًا إضافية من شركة الشحن إذا لم تدفع مسبقًا.',
364
+ },
344
365
  "You're all set!": {
345
366
  value: 'أنت جاهز!',
346
367
  },
@@ -86,12 +86,18 @@ export const stringsBase = {
86
86
  "Don't close": {
87
87
  value: "Don't close",
88
88
  },
89
+ 'Due at delivery': {
90
+ value: 'Due at delivery',
91
+ },
89
92
  'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders.': {
90
93
  value: 'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders.',
91
94
  },
92
95
  'Duties and taxes will be applied to items and shipping.': {
93
96
  value: 'Duties and taxes will be applied to items and shipping.',
94
97
  },
98
+ 'Duties and taxes will be charged upon delivery.': {
99
+ value: 'Duties and taxes will be charged upon delivery.',
100
+ },
95
101
  'Duties will apply to all orders.': {
96
102
  value: 'Duties will apply to all orders.',
97
103
  },
@@ -107,6 +113,9 @@ export const stringsBase = {
107
113
  'Error updating Checkout': {
108
114
  value: 'Error updating Checkout',
109
115
  },
116
+ Estimated: {
117
+ value: 'Estimated',
118
+ },
110
119
  'Expected delivery': {
111
120
  value: 'Expected delivery',
112
121
  },
@@ -128,6 +137,9 @@ export const stringsBase = {
128
137
  Hide: {
129
138
  value: 'Hide',
130
139
  },
140
+ 'Hide non prepaid methods': {
141
+ value: 'Hide non prepaid methods',
142
+ },
131
143
  'Invalid promo code': {
132
144
  value: 'Invalid promo code',
133
145
  },
@@ -161,6 +173,9 @@ export const stringsBase = {
161
173
  'No shipping methods found - try editing your address or contacting support if the error persists': {
162
174
  value: 'No shipping methods found - try editing your address or contacting support if the error persists',
163
175
  },
176
+ 'Nothing due at delivery': {
177
+ value: 'Nothing due at delivery',
178
+ },
164
179
  'Nothing due at the door': {
165
180
  value: 'Nothing due at the door',
166
181
  },
@@ -269,6 +284,9 @@ export const stringsBase = {
269
284
  Show: {
270
285
  value: 'Show',
271
286
  },
287
+ 'Show non prepaid methods': {
288
+ value: 'Show non prepaid methods',
289
+ },
272
290
  'Something went wrong.': {
273
291
  value: 'Something went wrong.',
274
292
  },
@@ -341,6 +359,9 @@ export const stringsBase = {
341
359
  'Would you like to close checkout and return to the site?': {
342
360
  value: 'Would you like to close checkout and return to the site?',
343
361
  },
362
+ 'You may incur additional fees from the shipping carrier by not prepaying.': {
363
+ value: 'You may incur additional fees from the shipping carrier by not prepaying.',
364
+ },
344
365
  "You're all set!": {
345
366
  value: "You're all set!",
346
367
  },
@@ -86,12 +86,18 @@ export const stringsChinese = {
86
86
  "Don't close": {
87
87
  value: '不要关',
88
88
  },
89
+ 'Due at delivery': {
90
+ value: '交货时付款',
91
+ },
89
92
  'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders.': {
90
93
  value: '澳大利亚的关税和税费,增值税或GST为[percentage],适用于所有订单。',
91
94
  },
92
95
  'Duties and taxes will be applied to items and shipping.': {
93
96
  value: '商品和运费将征收关税和税款。',
94
97
  },
98
+ 'Duties and taxes will be charged upon delivery.': {
99
+ value: '关税和税款将在交货时收取。',
100
+ },
95
101
  'Duties will apply to all orders.': {
96
102
  value: '所有订单都将适用关税。',
97
103
  },
@@ -107,6 +113,9 @@ export const stringsChinese = {
107
113
  'Error updating Checkout': {
108
114
  value: '更新结账时出错',
109
115
  },
116
+ Estimated: {
117
+ value: '估计',
118
+ },
110
119
  'Expected delivery': {
111
120
  value: '预计送达',
112
121
  },
@@ -128,6 +137,9 @@ export const stringsChinese = {
128
137
  Hide: {
129
138
  value: '隐藏',
130
139
  },
140
+ 'Hide non prepaid methods': {
141
+ value: '隐藏非预付费方法',
142
+ },
131
143
  'Invalid promo code': {
132
144
  value: '无效的促销代码',
133
145
  },
@@ -161,6 +173,9 @@ export const stringsChinese = {
161
173
  'No shipping methods found - try editing your address or contacting support if the error persists': {
162
174
  value: '未找到运输方法 - 如果错误仍然存在,请尝试编辑您的地址或联系支持',
163
175
  },
176
+ 'Nothing due at delivery': {
177
+ value: '交货时无需付款',
178
+ },
164
179
  'Nothing due at the door': {
165
180
  value: '门口无需付款',
166
181
  },
@@ -269,6 +284,9 @@ export const stringsChinese = {
269
284
  Show: {
270
285
  value: '显示',
271
286
  },
287
+ 'Show non prepaid methods': {
288
+ value: '显示非预付费方法',
289
+ },
272
290
  'Something went wrong.': {
273
291
  value: '出了些问题。',
274
292
  },
@@ -341,6 +359,9 @@ export const stringsChinese = {
341
359
  'Would you like to close checkout and return to the site?': {
342
360
  value: '您要关闭结帐并返回网站吗?',
343
361
  },
362
+ 'You may incur additional fees from the shipping carrier by not prepaying.': {
363
+ value: '如果不预付,您可能会产生来自运输公司的额外费用。',
364
+ },
344
365
  "You're all set!": {
345
366
  value: '您已完成设置!',
346
367
  },
@@ -86,12 +86,18 @@ export const stringsDanish = {
86
86
  "Don't close": {
87
87
  value: 'Luk ikke',
88
88
  },
89
+ 'Due at delivery': {
90
+ value: 'Betales ved levering',
91
+ },
89
92
  'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders.': {
90
93
  value: 'Afgifter og skatter i Australien, moms eller GST er [percentage] og forfalder på alle ordrer.',
91
94
  },
92
95
  'Duties and taxes will be applied to items and shipping.': {
93
96
  value: 'Told og skatter vil blive pålagt varer og fragt.',
94
97
  },
98
+ 'Duties and taxes will be charged upon delivery.': {
99
+ value: 'Told og skatter vil blive opkrævet ved levering.',
100
+ },
95
101
  'Duties will apply to all orders.': {
96
102
  value: 'Told vil gælde for alle ordrer.',
97
103
  },
@@ -107,6 +113,9 @@ export const stringsDanish = {
107
113
  'Error updating Checkout': {
108
114
  value: 'Fejl ved opdatering af betalingssession',
109
115
  },
116
+ Estimated: {
117
+ value: 'Anslået',
118
+ },
110
119
  'Expected delivery': {
111
120
  value: 'Forventet levering',
112
121
  },
@@ -128,6 +137,9 @@ export const stringsDanish = {
128
137
  Hide: {
129
138
  value: 'Skjul',
130
139
  },
140
+ 'Hide non prepaid methods': {
141
+ value: 'Skjul ikke-forudbetalte metoder',
142
+ },
131
143
  'Invalid promo code': {
132
144
  value: 'Ugyldig kampagnekode',
133
145
  },
@@ -161,6 +173,9 @@ export const stringsDanish = {
161
173
  'No shipping methods found - try editing your address or contacting support if the error persists': {
162
174
  value: 'Ingen forsendelsesmetoder fundet - prøv at redigere din adresse eller kontakte support, hvis fejlen fortsætter',
163
175
  },
176
+ 'Nothing due at delivery': {
177
+ value: 'Intet at betale ved levering',
178
+ },
164
179
  'Nothing due at the door': {
165
180
  value: 'Intet at betale ved døren',
166
181
  },
@@ -269,6 +284,9 @@ export const stringsDanish = {
269
284
  Show: {
270
285
  value: 'Vis',
271
286
  },
287
+ 'Show non prepaid methods': {
288
+ value: 'Vis ikke forudbetalte metoder',
289
+ },
272
290
  'Something went wrong.': {
273
291
  value: 'Noget gik galt.',
274
292
  },
@@ -341,6 +359,9 @@ export const stringsDanish = {
341
359
  'Would you like to close checkout and return to the site?': {
342
360
  value: 'Vil du lukke kassen og vende tilbage til siden?',
343
361
  },
362
+ 'You may incur additional fees from the shipping carrier by not prepaying.': {
363
+ value: 'Du kan pådrage dig ekstra gebyrer fra fragtfirmaet ved ikke at forudbetale.',
364
+ },
344
365
  "You're all set!": {
345
366
  value: 'Du er klar til at gå!',
346
367
  },
@@ -86,12 +86,18 @@ export const stringsDutch = {
86
86
  "Don't close": {
87
87
  value: 'Niet sluiten',
88
88
  },
89
+ 'Due at delivery': {
90
+ value: 'Te betalen bij levering',
91
+ },
89
92
  'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders.': {
90
93
  value: 'Invoerrechten en belastingen in Australië, de btw of GST is [percentage] en is verschuldigd op alle bestellingen.',
91
94
  },
92
95
  'Duties and taxes will be applied to items and shipping.': {
93
96
  value: 'Belastingen en heffingen worden toegepast op artikelen en verzending.',
94
97
  },
98
+ 'Duties and taxes will be charged upon delivery.': {
99
+ value: 'Invoerrechten en belastingen worden bij levering in rekening gebracht.',
100
+ },
95
101
  'Duties will apply to all orders.': {
96
102
  value: 'Invoerrechten zullen van toepassing zijn op alle bestellingen.',
97
103
  },
@@ -107,6 +113,9 @@ export const stringsDutch = {
107
113
  'Error updating Checkout': {
108
114
  value: 'Fout bij het bijwerken van afrekening',
109
115
  },
116
+ Estimated: {
117
+ value: 'Geschat',
118
+ },
110
119
  'Expected delivery': {
111
120
  value: 'Verwachte levering',
112
121
  },
@@ -128,6 +137,9 @@ export const stringsDutch = {
128
137
  Hide: {
129
138
  value: 'Verbergen',
130
139
  },
140
+ 'Hide non prepaid methods': {
141
+ value: 'Verberg niet-voorafbetaalde methoden',
142
+ },
131
143
  'Invalid promo code': {
132
144
  value: 'Ongeldige promotiecode',
133
145
  },
@@ -161,6 +173,9 @@ export const stringsDutch = {
161
173
  'No shipping methods found - try editing your address or contacting support if the error persists': {
162
174
  value: 'Geen verzendmethoden gevonden - probeer uw adres te bewerken of neem contact op met de ondersteuning als de fout aanhoudt',
163
175
  },
176
+ 'Nothing due at delivery': {
177
+ value: 'Niets te betalen bij levering',
178
+ },
164
179
  'Nothing due at the door': {
165
180
  value: 'Niets te betalen aan de deur',
166
181
  },
@@ -269,6 +284,9 @@ export const stringsDutch = {
269
284
  Show: {
270
285
  value: 'Tonen',
271
286
  },
287
+ 'Show non prepaid methods': {
288
+ value: 'Toon niet-vooruitbetaalde methoden',
289
+ },
272
290
  'Something went wrong.': {
273
291
  value: 'Er is iets misgegaan.',
274
292
  },
@@ -341,6 +359,9 @@ export const stringsDutch = {
341
359
  'Would you like to close checkout and return to the site?': {
342
360
  value: 'Wilt u de kassa sluiten en terugkeren naar de site?',
343
361
  },
362
+ 'You may incur additional fees from the shipping carrier by not prepaying.': {
363
+ value: 'U kunt extra kosten van de vervoerder krijgen als u niet vooraf betaalt.',
364
+ },
344
365
  "You're all set!": {
345
366
  value: 'Je bent helemaal klaar!',
346
367
  },
@@ -86,12 +86,18 @@ export const stringsFrench = {
86
86
  "Don't close": {
87
87
  value: 'Ne pas fermer',
88
88
  },
89
+ 'Due at delivery': {
90
+ value: 'À payer à la livraison',
91
+ },
89
92
  'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders.': {
90
93
  value: 'Droits et taxes en Australie, la TVA ou GST est de [percentage] et est due sur toutes les commandes.',
91
94
  },
92
95
  'Duties and taxes will be applied to items and shipping.': {
93
96
  value: 'Des droits et taxes seront appliqués aux articles et à la livraison.',
94
97
  },
98
+ 'Duties and taxes will be charged upon delivery.': {
99
+ value: 'Les droits et taxes seront facturés à la livraison.',
100
+ },
95
101
  'Duties will apply to all orders.': {
96
102
  value: "Des droits de douane s'appliqueront à toutes les commandes.",
97
103
  },
@@ -107,6 +113,9 @@ export const stringsFrench = {
107
113
  'Error updating Checkout': {
108
114
  value: 'Erreur lors de la mise à jour du paiement',
109
115
  },
116
+ Estimated: {
117
+ value: 'Estimé',
118
+ },
110
119
  'Expected delivery': {
111
120
  value: 'Livraison prévue',
112
121
  },
@@ -128,8 +137,11 @@ export const stringsFrench = {
128
137
  Hide: {
129
138
  value: 'Cacher',
130
139
  },
140
+ 'Hide non prepaid methods': {
141
+ value: 'Masquer les méthodes non prépayées',
142
+ },
131
143
  'Invalid promo code': {
132
- value: 'Code promotionnel invalide',
144
+ value: 'Code promo invalide',
133
145
  },
134
146
  'Keep shopping': {
135
147
  value: 'Continuer à faire du shopping',
@@ -161,6 +173,9 @@ export const stringsFrench = {
161
173
  'No shipping methods found - try editing your address or contacting support if the error persists': {
162
174
  value: "Aucune méthode d'expédition trouvée - essayez de modifier votre adresse ou de contacter le support si l'erreur persiste",
163
175
  },
176
+ 'Nothing due at delivery': {
177
+ value: 'Rien à payer à la livraison',
178
+ },
164
179
  'Nothing due at the door': {
165
180
  value: 'Rien à payer à la porte',
166
181
  },
@@ -269,6 +284,9 @@ export const stringsFrench = {
269
284
  Show: {
270
285
  value: 'Montrer',
271
286
  },
287
+ 'Show non prepaid methods': {
288
+ value: 'Afficher les méthodes non prépayées',
289
+ },
272
290
  'Something went wrong.': {
273
291
  value: "Quelque chose s'est mal passé.",
274
292
  },
@@ -341,6 +359,9 @@ export const stringsFrench = {
341
359
  'Would you like to close checkout and return to the site?': {
342
360
  value: 'Voulez-vous fermer la caisse et retourner sur le site?',
343
361
  },
362
+ 'You may incur additional fees from the shipping carrier by not prepaying.': {
363
+ value: "Vous pourriez encourir des frais supplémentaires de la part du transporteur si vous ne payez pas à l'avance.",
364
+ },
344
365
  "You're all set!": {
345
366
  value: 'Vous êtes prêt!',
346
367
  },
@@ -86,12 +86,18 @@ export const stringsGerman = {
86
86
  "Don't close": {
87
87
  value: 'Nicht schließen',
88
88
  },
89
+ 'Due at delivery': {
90
+ value: 'Fällig bei Lieferung',
91
+ },
89
92
  'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders.': {
90
93
  value: 'Zölle und Steuern in Australien, die Mehrwertsteuer oder GST beträgt [percentage] und ist bei allen Bestellungen fällig.',
91
94
  },
92
95
  'Duties and taxes will be applied to items and shipping.': {
93
96
  value: 'Zölle und Steuern werden auf Artikel und Versand erhoben.',
94
97
  },
98
+ 'Duties and taxes will be charged upon delivery.': {
99
+ value: 'Zölle und Steuern werden bei Lieferung berechnet.',
100
+ },
95
101
  'Duties will apply to all orders.': {
96
102
  value: 'Zölle werden auf alle Bestellungen angewendet.',
97
103
  },
@@ -107,6 +113,9 @@ export const stringsGerman = {
107
113
  'Error updating Checkout': {
108
114
  value: 'Fehler bei der Aktualisierung des Checkouts',
109
115
  },
116
+ Estimated: {
117
+ value: 'Geschätzt',
118
+ },
110
119
  'Expected delivery': {
111
120
  value: 'Voraussichtliche Lieferung',
112
121
  },
@@ -128,8 +137,11 @@ export const stringsGerman = {
128
137
  Hide: {
129
138
  value: 'Verstecken',
130
139
  },
140
+ 'Hide non prepaid methods': {
141
+ value: 'Nicht vorausbezahlte Methoden ausblenden',
142
+ },
131
143
  'Invalid promo code': {
132
- value: 'Ungültiger Promo-Code',
144
+ value: 'Ungültiger Aktionscode',
133
145
  },
134
146
  'Keep shopping': {
135
147
  value: 'Einkauf fortsetzen',
@@ -161,6 +173,9 @@ export const stringsGerman = {
161
173
  'No shipping methods found - try editing your address or contacting support if the error persists': {
162
174
  value: 'Keine Versandmethoden gefunden - versuchen Sie, Ihre Adresse zu bearbeiten, oder kontaktieren Sie den Support, wenn der Fehler weiterhin besteht',
163
175
  },
176
+ 'Nothing due at delivery': {
177
+ value: 'Bei der Lieferung nichts zu bezahlen',
178
+ },
164
179
  'Nothing due at the door': {
165
180
  value: 'An der Tür nichts zu bezahlen',
166
181
  },
@@ -269,6 +284,9 @@ export const stringsGerman = {
269
284
  Show: {
270
285
  value: 'Zeigen',
271
286
  },
287
+ 'Show non prepaid methods': {
288
+ value: 'Nicht vorausbezahlte Methoden anzeigen',
289
+ },
272
290
  'Something went wrong.': {
273
291
  value: 'Etwas ist schief gelaufen.',
274
292
  },
@@ -341,6 +359,9 @@ export const stringsGerman = {
341
359
  'Would you like to close checkout and return to the site?': {
342
360
  value: 'Möchten Sie den Checkout schließen und zur Seite zurückkehren?',
343
361
  },
362
+ 'You may incur additional fees from the shipping carrier by not prepaying.': {
363
+ value: 'Sie können zusätzliche Gebühren vom Versanddienstleister erhalten, wenn Sie nicht im Voraus bezahlen.',
364
+ },
344
365
  "You're all set!": {
345
366
  value: 'Alles bereit!',
346
367
  },