@zonos/elements 1.3.266 → 1.3.268

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 (346) hide show
  1. package/dist/cjs/{cart-efc42379.js → cart-af7c024e.js} +129 -4
  2. package/dist/cjs/{debounce-606d1801.js → debounce-7990f5ea.js} +1 -1
  3. package/dist/cjs/{getBorderRadius-a91911e7.js → getBorderRadius-fc683d94.js} +1 -1
  4. package/dist/cjs/{getContrastColor-ce80dbe7.js → getContrastColor-d5134ef3.js} +2 -2
  5. package/dist/cjs/{hasInclusivePrice-400be1b2.js → hasInclusivePrice-0fa6e022.js} +1 -1
  6. package/dist/cjs/index.cjs.js +7 -7
  7. package/dist/cjs/{invoice-9e4d479f.js → invoice-c2e3f232.js} +3 -3
  8. package/dist/cjs/{isCollectMobileTablet-630fcf87.js → isCollectMobileTablet-6014787b.js} +3 -3
  9. package/dist/cjs/{isContrastColor-a02c4889.js → isContrastColor-76592c92.js} +1 -1
  10. package/dist/cjs/{isDarkColor-e317bb06.js → isDarkColor-5d6ca405.js} +1 -1
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/cjs/{localization-4b17c530.js → localization-f897bc45.js} +472 -1
  13. package/dist/cjs/{paypal-3bb55914.js → paypal-6756a0da.js} +60 -18
  14. package/dist/cjs/{placeTestOrder-313cbd78.js → placeTestOrder-a4874e51.js} +2 -2
  15. package/dist/cjs/{renderCheckoutCurrency-e0436f1c.js → renderCheckoutCurrency-584d50fe.js} +2 -2
  16. package/dist/cjs/{submitGtag-07a3b09e.js → submitGtag-4906b161.js} +1 -1
  17. package/dist/cjs/{throttle-8aebac7d.js → throttle-02c2e917.js} +2 -2
  18. package/dist/cjs/{updateCheckoutSessionAttributes-a9a97194.js → updateCheckoutSessionAttributes-47d73942.js} +1 -1
  19. package/dist/cjs/zonos-address-display_8.cjs.entry.js +7 -7
  20. package/dist/cjs/zonos-address_4.cjs.entry.js +7 -7
  21. package/dist/cjs/zonos-badge.cjs.entry.js +1 -1
  22. package/dist/cjs/zonos-banner.cjs.entry.js +1 -1
  23. package/dist/cjs/zonos-button_3.cjs.entry.js +3 -3
  24. package/dist/cjs/zonos-card_5.cjs.entry.js +8 -8
  25. package/dist/cjs/zonos-cart-items_12.cjs.entry.js +94 -27
  26. package/dist/cjs/zonos-checkbox_2.cjs.entry.js +3 -3
  27. package/dist/cjs/zonos-checkout.cjs.entry.js +112 -85
  28. package/dist/cjs/zonos-collapse.cjs.entry.js +1 -1
  29. package/dist/cjs/zonos-collect-cart-items_3.cjs.entry.js +5 -5
  30. package/dist/cjs/zonos-collect-finish_6.cjs.entry.js +11 -11
  31. package/dist/cjs/zonos-collect.cjs.entry.js +9 -9
  32. package/dist/cjs/zonos-controller.cjs.entry.js +126 -7
  33. package/dist/cjs/zonos-country-flag.cjs.entry.js +2 -2
  34. package/dist/cjs/zonos-country-select_4.cjs.entry.js +3 -3
  35. package/dist/cjs/zonos-elements.cjs.js +1 -1
  36. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +3 -3
  37. package/dist/cjs/zonos-hello.cjs.entry.js +3 -3
  38. package/dist/cjs/zonos-input.cjs.entry.js +2 -2
  39. package/dist/cjs/zonos-invoice-cart-items_2.cjs.entry.js +7 -7
  40. package/dist/cjs/zonos-invoice-finish_5.cjs.entry.js +11 -11
  41. package/dist/cjs/zonos-invoice.cjs.entry.js +9 -9
  42. package/dist/cjs/zonos-language-select_2.cjs.entry.js +2 -2
  43. package/dist/cjs/zonos-logo.cjs.entry.js +1 -1
  44. package/dist/cjs/{zonos-store-credit.cjs.entry.js → zonos-policy-consent_2.cjs.entry.js} +91 -6
  45. package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js +5 -5
  46. package/dist/cjs/zonos-stripe-input.cjs.entry.js +3 -3
  47. package/dist/cjs/zonos-text.cjs.entry.js +1 -1
  48. package/dist/cjs/zonos-v-stack.cjs.entry.js +1 -1
  49. package/dist/cjs/{zonosStore-0662b95f.js → zonosStore-45a87908.js} +1 -0
  50. package/dist/collection/collection-manifest.json +1 -0
  51. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-footer/zonos-checkout-footer.js +7 -2
  52. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.js +66 -12
  53. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +103 -75
  54. package/dist/collection/components/checkout/zonos-checkout/zonos-policy-consent/zonos-policy-consent.css +93 -0
  55. package/dist/collection/components/checkout/zonos-checkout/zonos-policy-consent/zonos-policy-consent.js +93 -0
  56. package/dist/collection/components/common/zonos-stripe-phone-input/zonos-stripe-phone-input.js +1 -1
  57. package/dist/collection/components/main/zonos-controller.js +6 -2
  58. package/dist/collection/components/store/checkout/paypal.js +57 -14
  59. package/dist/collection/components/store/checkout/policyConsent.js +58 -0
  60. package/dist/collection/components/store/checkout/stripe.js +66 -0
  61. package/dist/collection/components/store/hello/localization.js +6 -0
  62. package/dist/collection/components/store/translationStore/strings.arabic.js +21 -0
  63. package/dist/collection/components/store/translationStore/strings.base.js +21 -0
  64. package/dist/collection/components/store/translationStore/strings.chinese.js +21 -0
  65. package/dist/collection/components/store/translationStore/strings.danish.js +21 -0
  66. package/dist/collection/components/store/translationStore/strings.dutch.js +21 -0
  67. package/dist/collection/components/store/translationStore/strings.french.js +21 -0
  68. package/dist/collection/components/store/translationStore/strings.german.js +21 -0
  69. package/dist/collection/components/store/translationStore/strings.hebrew.js +21 -0
  70. package/dist/collection/components/store/translationStore/strings.indonesian.js +21 -0
  71. package/dist/collection/components/store/translationStore/strings.italian.js +21 -0
  72. package/dist/collection/components/store/translationStore/strings.japanese.js +21 -0
  73. package/dist/collection/components/store/translationStore/strings.korean.js +21 -0
  74. package/dist/collection/components/store/translationStore/strings.norwegian.js +21 -0
  75. package/dist/collection/components/store/translationStore/strings.polish.js +21 -0
  76. package/dist/collection/components/store/translationStore/strings.portuguese.js +21 -0
  77. package/dist/collection/components/store/translationStore/strings.russian.js +21 -0
  78. package/dist/collection/components/store/translationStore/strings.spanish.js +21 -0
  79. package/dist/collection/components/store/translationStore/strings.swedish.js +21 -0
  80. package/dist/collection/components/store/translationStore/strings.turkish.js +21 -0
  81. package/dist/collection/components/store/translationStore/strings.vietnamese.js +21 -0
  82. package/dist/collection/components/store/zonosStore.js +1 -0
  83. package/dist/collection/components/utils/checkout/injectDomesticElementHideStyle.js +116 -0
  84. package/dist/collection/types/generated/graphql.internal.types.js +351 -73
  85. package/dist/collection/utils/toggleBigcommerceNativeCurrencySelector.js +48 -0
  86. package/dist/esm/{cart-62c166fc.js → cart-68c16805.js} +125 -5
  87. package/dist/esm/{debounce-ab526ca0.js → debounce-58e4ff3e.js} +1 -1
  88. package/dist/esm/{getBorderRadius-98c64be8.js → getBorderRadius-d23f47a6.js} +1 -1
  89. package/dist/esm/{getContrastColor-0aa643c1.js → getContrastColor-f0bd5b65.js} +2 -2
  90. package/dist/esm/{hasInclusivePrice-a73f64b7.js → hasInclusivePrice-f1ca1610.js} +1 -1
  91. package/dist/esm/index.js +7 -7
  92. package/dist/esm/{invoice-fa4ff6fb.js → invoice-d0eadc6a.js} +3 -3
  93. package/dist/esm/{isCollectMobileTablet-5f50ec81.js → isCollectMobileTablet-11ade63f.js} +3 -3
  94. package/dist/esm/{isContrastColor-6bad285e.js → isContrastColor-fbddacb6.js} +1 -1
  95. package/dist/esm/{isDarkColor-0a8453e7.js → isDarkColor-566f04c5.js} +1 -1
  96. package/dist/esm/loader.js +1 -1
  97. package/dist/esm/{localization-d2631105.js → localization-8e81b696.js} +472 -1
  98. package/dist/esm/{paypal-424d040d.js → paypal-e32877e9.js} +60 -18
  99. package/dist/esm/{placeTestOrder-cf237d95.js → placeTestOrder-4cf429d7.js} +2 -2
  100. package/dist/esm/{renderCheckoutCurrency-513ead96.js → renderCheckoutCurrency-9459b8a3.js} +2 -2
  101. package/dist/esm/{submitGtag-ae9d5d91.js → submitGtag-c7ea1f2a.js} +1 -1
  102. package/dist/esm/{throttle-882b1f47.js → throttle-f09d0659.js} +2 -2
  103. package/dist/esm/{updateCheckoutSessionAttributes-da7fdd37.js → updateCheckoutSessionAttributes-40e301a4.js} +1 -1
  104. package/dist/esm/zonos-address-display_8.entry.js +7 -7
  105. package/dist/esm/zonos-address_4.entry.js +7 -7
  106. package/dist/esm/zonos-badge.entry.js +1 -1
  107. package/dist/esm/zonos-banner.entry.js +1 -1
  108. package/dist/esm/zonos-button_3.entry.js +3 -3
  109. package/dist/esm/zonos-card_5.entry.js +8 -8
  110. package/dist/esm/zonos-cart-items_12.entry.js +94 -27
  111. package/dist/esm/zonos-checkbox_2.entry.js +3 -3
  112. package/dist/esm/zonos-checkout.entry.js +112 -85
  113. package/dist/esm/zonos-collapse.entry.js +1 -1
  114. package/dist/esm/zonos-collect-cart-items_3.entry.js +5 -5
  115. package/dist/esm/zonos-collect-finish_6.entry.js +11 -11
  116. package/dist/esm/zonos-collect.entry.js +9 -9
  117. package/dist/esm/zonos-controller.entry.js +126 -7
  118. package/dist/esm/zonos-country-flag.entry.js +2 -2
  119. package/dist/esm/zonos-country-select_4.entry.js +3 -3
  120. package/dist/esm/zonos-elements.js +1 -1
  121. package/dist/esm/zonos-hello-dialog.entry.js +3 -3
  122. package/dist/esm/zonos-hello.entry.js +3 -3
  123. package/dist/esm/zonos-input.entry.js +2 -2
  124. package/dist/esm/zonos-invoice-cart-items_2.entry.js +7 -7
  125. package/dist/esm/zonos-invoice-finish_5.entry.js +11 -11
  126. package/dist/esm/zonos-invoice.entry.js +9 -9
  127. package/dist/esm/zonos-language-select_2.entry.js +2 -2
  128. package/dist/esm/zonos-logo.entry.js +1 -1
  129. package/dist/esm/{zonos-store-credit.entry.js → zonos-policy-consent_2.entry.js} +91 -7
  130. package/dist/esm/zonos-shipping-rich-radio.entry.js +5 -5
  131. package/dist/esm/zonos-stripe-input.entry.js +3 -3
  132. package/dist/esm/zonos-text.entry.js +1 -1
  133. package/dist/esm/zonos-v-stack.entry.js +1 -1
  134. package/dist/esm/{zonosStore-9662b071.js → zonosStore-8e19daff.js} +1 -0
  135. package/dist/esm-es5/cart-68c16805.js +1 -0
  136. package/dist/esm-es5/{debounce-ab526ca0.js → debounce-58e4ff3e.js} +1 -1
  137. package/dist/esm-es5/{getBorderRadius-98c64be8.js → getBorderRadius-d23f47a6.js} +1 -1
  138. package/dist/esm-es5/{getContrastColor-0aa643c1.js → getContrastColor-f0bd5b65.js} +1 -1
  139. package/dist/esm-es5/{hasInclusivePrice-a73f64b7.js → hasInclusivePrice-f1ca1610.js} +1 -1
  140. package/dist/esm-es5/index.js +1 -1
  141. package/dist/esm-es5/{invoice-fa4ff6fb.js → invoice-d0eadc6a.js} +1 -1
  142. package/dist/esm-es5/{isCollectMobileTablet-5f50ec81.js → isCollectMobileTablet-11ade63f.js} +1 -1
  143. package/dist/esm-es5/{isContrastColor-6bad285e.js → isContrastColor-fbddacb6.js} +1 -1
  144. package/dist/esm-es5/{isDarkColor-0a8453e7.js → isDarkColor-566f04c5.js} +1 -1
  145. package/dist/esm-es5/loader.js +1 -1
  146. package/dist/esm-es5/localization-8e81b696.js +1 -0
  147. package/dist/esm-es5/{paypal-424d040d.js → paypal-e32877e9.js} +2 -2
  148. package/dist/esm-es5/{placeTestOrder-cf237d95.js → placeTestOrder-4cf429d7.js} +1 -1
  149. package/dist/esm-es5/{renderCheckoutCurrency-513ead96.js → renderCheckoutCurrency-9459b8a3.js} +1 -1
  150. package/dist/esm-es5/{submitGtag-ae9d5d91.js → submitGtag-c7ea1f2a.js} +1 -1
  151. package/dist/esm-es5/throttle-f09d0659.js +1 -0
  152. package/dist/esm-es5/{updateCheckoutSessionAttributes-da7fdd37.js → updateCheckoutSessionAttributes-40e301a4.js} +1 -1
  153. package/dist/esm-es5/zonos-address-display_8.entry.js +1 -1
  154. package/dist/esm-es5/zonos-address_4.entry.js +1 -1
  155. package/dist/esm-es5/zonos-badge.entry.js +1 -1
  156. package/dist/esm-es5/zonos-banner.entry.js +1 -1
  157. package/dist/esm-es5/zonos-button_3.entry.js +1 -1
  158. package/dist/esm-es5/zonos-card_5.entry.js +1 -1
  159. package/dist/esm-es5/zonos-cart-items_12.entry.js +1 -1
  160. package/dist/esm-es5/zonos-checkbox_2.entry.js +1 -1
  161. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  162. package/dist/esm-es5/zonos-collapse.entry.js +1 -1
  163. package/dist/esm-es5/zonos-collect-cart-items_3.entry.js +1 -1
  164. package/dist/esm-es5/zonos-collect-finish_6.entry.js +1 -1
  165. package/dist/esm-es5/zonos-collect.entry.js +1 -1
  166. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  167. package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
  168. package/dist/esm-es5/zonos-country-select_4.entry.js +1 -1
  169. package/dist/esm-es5/zonos-elements.js +1 -1
  170. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  171. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  172. package/dist/esm-es5/zonos-input.entry.js +1 -1
  173. package/dist/esm-es5/zonos-invoice-cart-items_2.entry.js +1 -1
  174. package/dist/esm-es5/zonos-invoice-finish_5.entry.js +1 -1
  175. package/dist/esm-es5/zonos-invoice.entry.js +1 -1
  176. package/dist/esm-es5/zonos-language-select_2.entry.js +1 -1
  177. package/dist/esm-es5/zonos-logo.entry.js +1 -1
  178. package/dist/esm-es5/zonos-policy-consent_2.entry.js +1 -0
  179. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
  180. package/dist/esm-es5/zonos-stripe-input.entry.js +1 -1
  181. package/dist/esm-es5/zonos-text.entry.js +1 -1
  182. package/dist/esm-es5/zonos-v-stack.entry.js +1 -1
  183. package/dist/esm-es5/{zonosStore-9662b071.js → zonosStore-8e19daff.js} +1 -1
  184. package/dist/scripts/index.d.ts +105 -11
  185. package/dist/scripts/index.js +1 -1
  186. package/dist/scripts/loadZonos.js +1 -1
  187. package/dist/scripts/zonos.js +1 -1
  188. package/dist/types/components/checkout/zonos-checkout/zonos-policy-consent/zonos-policy-consent.d.ts +3 -0
  189. package/dist/types/components/store/checkout/policyConsent.d.ts +41 -0
  190. package/dist/types/components/store/checkout/stripe.d.ts +13 -0
  191. package/dist/types/components/store/translationStore/strings.arabic.d.ts +21 -0
  192. package/dist/types/components/store/translationStore/strings.base.d.ts +21 -0
  193. package/dist/types/components/store/translationStore/strings.chinese.d.ts +21 -0
  194. package/dist/types/components/store/translationStore/strings.danish.d.ts +21 -0
  195. package/dist/types/components/store/translationStore/strings.dutch.d.ts +21 -0
  196. package/dist/types/components/store/translationStore/strings.french.d.ts +21 -0
  197. package/dist/types/components/store/translationStore/strings.german.d.ts +21 -0
  198. package/dist/types/components/store/translationStore/strings.hebrew.d.ts +21 -0
  199. package/dist/types/components/store/translationStore/strings.indonesian.d.ts +21 -0
  200. package/dist/types/components/store/translationStore/strings.italian.d.ts +21 -0
  201. package/dist/types/components/store/translationStore/strings.japanese.d.ts +21 -0
  202. package/dist/types/components/store/translationStore/strings.korean.d.ts +21 -0
  203. package/dist/types/components/store/translationStore/strings.norwegian.d.ts +21 -0
  204. package/dist/types/components/store/translationStore/strings.polish.d.ts +21 -0
  205. package/dist/types/components/store/translationStore/strings.portuguese.d.ts +21 -0
  206. package/dist/types/components/store/translationStore/strings.russian.d.ts +21 -0
  207. package/dist/types/components/store/translationStore/strings.spanish.d.ts +21 -0
  208. package/dist/types/components/store/translationStore/strings.swedish.d.ts +21 -0
  209. package/dist/types/components/store/translationStore/strings.turkish.d.ts +21 -0
  210. package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +21 -0
  211. package/dist/types/components/utils/checkout/injectDomesticElementHideStyle.d.ts +18 -0
  212. package/dist/types/components.d.ts +13 -0
  213. package/dist/types/scripts/cart/_setupCartDataWithSettings.d.ts +29 -11
  214. package/dist/types/types/checkout/CheckoutConfig.d.ts +32 -0
  215. package/dist/types/types/generated/graphql.internal.types.d.ts +501 -119
  216. package/dist/types/types/generated/graphql.internal.types.ts +561 -154
  217. package/dist/types/types/utils/ZonosSettings.d.ts +9 -0
  218. package/dist/types/utils/toggleBigcommerceNativeCurrencySelector.d.ts +17 -0
  219. package/dist/zonos-elements/index.esm.js +1 -1
  220. package/dist/zonos-elements/{p-7b640194.entry.js → p-000b895a.entry.js} +1 -1
  221. package/dist/zonos-elements/p-01913da8.js +1 -0
  222. package/dist/zonos-elements/{p-bbbbae9a.system.entry.js → p-06e7fe2a.system.entry.js} +1 -1
  223. package/dist/zonos-elements/p-0803ad10.js +1 -0
  224. package/dist/zonos-elements/{p-79e5a629.system.entry.js → p-0e36a7cf.system.entry.js} +1 -1
  225. package/dist/zonos-elements/{p-8cd0a098.system.entry.js → p-108b5307.system.entry.js} +1 -1
  226. package/dist/zonos-elements/p-11439d12.entry.js +1 -0
  227. package/dist/zonos-elements/{p-b6df4cc2.system.entry.js → p-134c5010.system.entry.js} +1 -1
  228. package/dist/zonos-elements/{p-ea88f7f5.system.entry.js → p-1376e67f.system.entry.js} +1 -1
  229. package/dist/zonos-elements/p-14d6542f.system.js +1 -0
  230. package/dist/zonos-elements/p-17be8409.entry.js +1 -0
  231. package/dist/zonos-elements/{p-a75baf3e.js → p-17e3cd62.js} +1 -1
  232. package/dist/zonos-elements/{p-0207c91e.system.js → p-18af6aaa.system.js} +1 -1
  233. package/dist/zonos-elements/p-1eef8c23.system.js +1 -0
  234. package/dist/zonos-elements/p-24091606.system.entry.js +1 -0
  235. package/dist/zonos-elements/{p-6b6cfc59.system.entry.js → p-26ae4ee7.system.entry.js} +1 -1
  236. package/dist/zonos-elements/p-29b60bf3.system.js +1 -1
  237. package/dist/zonos-elements/{p-71fb6126.entry.js → p-2afecda7.entry.js} +1 -1
  238. package/dist/zonos-elements/p-2ccd20c0.system.js +1 -0
  239. package/dist/zonos-elements/{p-d28be518.js → p-33d4be28.js} +1 -1
  240. package/dist/zonos-elements/{p-26c85188.entry.js → p-344a1fee.entry.js} +1 -1
  241. package/dist/zonos-elements/{p-f1bbad73.entry.js → p-38311c16.entry.js} +1 -1
  242. package/dist/zonos-elements/p-3b28fc76.js +1 -0
  243. package/dist/zonos-elements/{p-db3b101a.js → p-3dc3596b.js} +1 -1
  244. package/dist/zonos-elements/{p-3689821f.system.js → p-3e7ee89d.system.js} +1 -1
  245. package/dist/zonos-elements/{p-2b30beea.system.js → p-44b279cc.system.js} +1 -1
  246. package/dist/zonos-elements/{p-4d433020.system.entry.js → p-48805ed6.system.entry.js} +1 -1
  247. package/dist/zonos-elements/{p-ab0b23f2.js → p-4df08fc4.js} +1 -1
  248. package/dist/zonos-elements/p-4fe3d5e0.system.js +18 -0
  249. package/dist/zonos-elements/{p-227ef22f.entry.js → p-50362897.entry.js} +1 -1
  250. package/dist/zonos-elements/p-52bd7be3.system.js +1 -0
  251. package/dist/zonos-elements/{p-deaf0e38.system.entry.js → p-536cbab5.system.entry.js} +1 -1
  252. package/dist/zonos-elements/{p-305e2dd8.system.js → p-53a59935.system.js} +1 -1
  253. package/dist/zonos-elements/{p-27513bfe.system.entry.js → p-593764cf.system.entry.js} +1 -1
  254. package/dist/zonos-elements/{p-01384124.system.js → p-5b05b461.system.js} +1 -1
  255. package/dist/zonos-elements/{p-a49ba3ae.system.entry.js → p-5b4e5608.system.entry.js} +1 -1
  256. package/dist/zonos-elements/{p-1bf9a1b9.system.js → p-5d65be06.system.js} +1 -1
  257. package/dist/zonos-elements/{p-bce7bfcc.system.entry.js → p-5e18d92b.system.entry.js} +1 -1
  258. package/dist/zonos-elements/{p-1957af5a.system.entry.js → p-5f92db80.system.entry.js} +1 -1
  259. package/dist/zonos-elements/p-5fa2395d.system.js +1 -0
  260. package/dist/zonos-elements/{p-2431f95c.entry.js → p-620a9013.entry.js} +1 -1
  261. package/dist/zonos-elements/p-623fc89a.system.entry.js +1 -0
  262. package/dist/zonos-elements/p-64e8f05d.system.entry.js +1 -0
  263. package/dist/zonos-elements/{p-2a6be4a5.entry.js → p-658ab5e2.entry.js} +1 -1
  264. package/dist/zonos-elements/{p-bb77b580.entry.js → p-673407b8.entry.js} +1 -1
  265. package/dist/zonos-elements/{p-6ab742d9.system.entry.js → p-69089a6f.system.entry.js} +1 -1
  266. package/dist/zonos-elements/{p-f76d5249.entry.js → p-6f41c193.entry.js} +1 -1
  267. package/dist/zonos-elements/{p-f3cfd8fa.js → p-701d9a7c.js} +1 -1
  268. package/dist/zonos-elements/{p-02d812c8.entry.js → p-7166df08.entry.js} +1 -1
  269. package/dist/zonos-elements/p-72960738.js +1 -0
  270. package/dist/zonos-elements/p-72c3756a.js +1 -0
  271. package/dist/zonos-elements/{p-5ae695a3.entry.js → p-7628569a.entry.js} +1 -1
  272. package/dist/zonos-elements/p-774de1ec.system.js +1 -0
  273. package/dist/zonos-elements/{p-27061873.entry.js → p-777d396e.entry.js} +1 -1
  274. package/dist/zonos-elements/{p-ce44c942.system.js → p-7a220941.system.js} +1 -1
  275. package/dist/zonos-elements/{p-46071125.entry.js → p-7aca66cd.entry.js} +1 -1
  276. package/dist/zonos-elements/p-7cf8e1f0.js +1 -0
  277. package/dist/zonos-elements/{p-eb99a625.system.js → p-7d9d2407.system.js} +1 -1
  278. package/dist/zonos-elements/{p-889e5db0.entry.js → p-7fef8558.entry.js} +1 -1
  279. package/dist/zonos-elements/{p-7003d093.system.entry.js → p-80df7e0b.system.entry.js} +1 -1
  280. package/dist/zonos-elements/p-8116d3ba.entry.js +1 -0
  281. package/dist/zonos-elements/{p-648f3ada.entry.js → p-889a44fc.entry.js} +1 -1
  282. package/dist/zonos-elements/{p-4c89d04a.js → p-896fb969.js} +1 -1
  283. package/dist/zonos-elements/{p-0ea16658.system.entry.js → p-8ddc21f1.system.entry.js} +1 -1
  284. package/dist/zonos-elements/p-90d22087.system.js +1 -0
  285. package/dist/zonos-elements/{p-7c101a92.system.entry.js → p-95b460e9.system.entry.js} +1 -1
  286. package/dist/zonos-elements/{p-08934304.system.entry.js → p-95f3bbad.system.entry.js} +1 -1
  287. package/dist/zonos-elements/{p-7677c45a.entry.js → p-97da66f2.entry.js} +1 -1
  288. package/dist/zonos-elements/{p-55fb4ea3.system.entry.js → p-98bea13e.system.entry.js} +1 -1
  289. package/dist/zonos-elements/{p-ba9e2612.system.entry.js → p-990d1495.system.entry.js} +1 -1
  290. package/dist/zonos-elements/p-9f5fb332.js +1 -0
  291. package/dist/zonos-elements/{p-6b682a6b.system.entry.js → p-a0ee01dd.system.entry.js} +1 -1
  292. package/dist/zonos-elements/p-ac8cfdc0.js +1 -0
  293. package/dist/zonos-elements/{p-7b74e5f2.system.entry.js → p-af12a1b7.system.entry.js} +1 -1
  294. package/dist/zonos-elements/{p-b4b23475.entry.js → p-b35a0b1e.entry.js} +1 -1
  295. package/dist/zonos-elements/{p-bf5c3dd7.system.entry.js → p-b59fc3fa.system.entry.js} +1 -1
  296. package/dist/zonos-elements/p-b71ef46e.js +17 -0
  297. package/dist/zonos-elements/{p-d63e18a8.entry.js → p-b93b66c2.entry.js} +1 -1
  298. package/dist/zonos-elements/p-b9a615bc.system.entry.js +1 -0
  299. package/dist/zonos-elements/{p-6a195559.system.js → p-bc919de1.system.js} +1 -1
  300. package/dist/zonos-elements/{p-72efa5b7.system.entry.js → p-bc9a30a1.system.entry.js} +1 -1
  301. package/dist/zonos-elements/{p-665bfd4f.entry.js → p-c1463da7.entry.js} +1 -1
  302. package/dist/zonos-elements/{p-03e95598.entry.js → p-c3459f4a.entry.js} +1 -1
  303. package/dist/zonos-elements/{p-781cc8de.system.entry.js → p-c7ca3e98.system.entry.js} +1 -1
  304. package/dist/zonos-elements/p-c91fade3.entry.js +1 -0
  305. package/dist/zonos-elements/{p-79f3c227.system.entry.js → p-c92a5ae5.system.entry.js} +1 -1
  306. package/dist/zonos-elements/p-cd34ecf2.js +1 -0
  307. package/dist/zonos-elements/{p-28e2ac3b.entry.js → p-dae881f2.entry.js} +1 -1
  308. package/dist/zonos-elements/{p-9b660cd3.js → p-dcafbd4e.js} +1 -1
  309. package/dist/zonos-elements/{p-8571f3ce.entry.js → p-df55536b.entry.js} +1 -1
  310. package/dist/zonos-elements/{p-acf42bc1.entry.js → p-e3d6f9b4.entry.js} +1 -1
  311. package/dist/zonos-elements/{p-928291e5.entry.js → p-e548b8ec.entry.js} +1 -1
  312. package/dist/zonos-elements/{p-5e6f85f0.system.js → p-f053975e.system.js} +1 -1
  313. package/dist/zonos-elements/{p-72187e00.entry.js → p-fc5007e0.entry.js} +1 -1
  314. package/dist/zonos-elements/zonos-elements.css +1 -1
  315. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  316. package/package.json +1 -1
  317. package/dist/esm-es5/cart-62c166fc.js +0 -1
  318. package/dist/esm-es5/localization-d2631105.js +0 -1
  319. package/dist/esm-es5/throttle-882b1f47.js +0 -1
  320. package/dist/esm-es5/zonos-store-credit.entry.js +0 -1
  321. package/dist/zonos-elements/p-06c4d422.system.js +0 -1
  322. package/dist/zonos-elements/p-0efd2d5a.js +0 -1
  323. package/dist/zonos-elements/p-1a470353.entry.js +0 -1
  324. package/dist/zonos-elements/p-1d6f3ab9.js +0 -1
  325. package/dist/zonos-elements/p-209d7728.system.entry.js +0 -1
  326. package/dist/zonos-elements/p-27eeaf56.system.js +0 -1
  327. package/dist/zonos-elements/p-367a72bc.js +0 -1
  328. package/dist/zonos-elements/p-37207963.system.js +0 -1
  329. package/dist/zonos-elements/p-40284821.system.js +0 -1
  330. package/dist/zonos-elements/p-40a45837.system.entry.js +0 -1
  331. package/dist/zonos-elements/p-4495f149.system.entry.js +0 -1
  332. package/dist/zonos-elements/p-456a600b.entry.js +0 -1
  333. package/dist/zonos-elements/p-4980facb.js +0 -1
  334. package/dist/zonos-elements/p-5e10d4ff.system.entry.js +0 -1
  335. package/dist/zonos-elements/p-61d73d69.js +0 -1
  336. package/dist/zonos-elements/p-6d81901a.js +0 -1
  337. package/dist/zonos-elements/p-8ccd6d3f.js +0 -1
  338. package/dist/zonos-elements/p-9aaa1d80.entry.js +0 -1
  339. package/dist/zonos-elements/p-a371f770.system.js +0 -1
  340. package/dist/zonos-elements/p-a9425900.system.js +0 -18
  341. package/dist/zonos-elements/p-b2d276e1.js +0 -1
  342. package/dist/zonos-elements/p-c7047a1c.js +0 -1
  343. package/dist/zonos-elements/p-cd88efdb.js +0 -17
  344. package/dist/zonos-elements/p-daeb57cb.entry.js +0 -1
  345. package/dist/zonos-elements/p-e3292be8.system.js +0 -1
  346. package/dist/zonos-elements/p-e5dfccd8.system.js +0 -1
@@ -1,8 +1,9 @@
1
1
  import { loadScript, } from "@paypal/paypal-js";
2
2
  import { createStore } from "@stencil/store";
3
3
  import { cartStore, cartStoreClearCheckoutInterval, cartStoreNextStep, } from "./cart";
4
+ import { isPolicyConsentRequired, policyConsentStore, } from "./policyConsent";
4
5
  import { storeCreditStoreApplyCredit, storeCreditStoreCoversFullAmount, storeCreditStoreCreateOrder, storeCreditStoreGetEffectiveAmount, } from "./storeCredit";
5
- import { stripeStore, stripeStoreHandleInventoryCheck, } from "./stripe";
6
+ import { stripeStore, stripeStoreHandleInventoryCheck, stripeStoreRecordPolicyConsent, } from "./stripe";
6
7
  import { storageStore } from "../storageStore";
7
8
  import { translate } from "../translationStore";
8
9
  import { zonosStore } from "../zonosStore";
@@ -81,6 +82,7 @@ const paypalButtonOptions = ({ checkoutSessionId, onPaypalFail, onPaypalSessionD
81
82
  });
82
83
  return {
83
84
  createOrder: async () => {
85
+ var _a;
84
86
  // Clicking on the paypal button should trigger the paymentInfoCompleted event
85
87
  void trackConversionEvent({
86
88
  checkoutSessionId,
@@ -89,22 +91,42 @@ const paypalButtonOptions = ({ checkoutSessionId, onPaypalFail, onPaypalSessionD
89
91
  paymentMethod: 'paypal',
90
92
  },
91
93
  });
92
- const checkoutSessionStatus = await validateCheckoutSession();
93
- if (!checkoutSessionStatus.valid) {
94
- paypalStore.paypalErrorMessage = checkoutSessionStatus.errorMessage;
95
- // reset stripe error message
96
- stripeStore.hasPaymentError = false;
97
- stripeStore.customErrorMessage = null;
98
- submitAnalytics({
99
- event: 'zonos-checkout-payment-fail',
100
- metadata: {
101
- checkoutSessionId,
102
- },
103
- });
94
+ // Block PayPal submit when the merchant requires policy consent and the
95
+ // buyer hasn't accepted. Mirrors the Pay-button gate so both flows enforce
96
+ // the same legal contract.
97
+ if (isPolicyConsentRequired() && !policyConsentStore.accepted) {
98
+ policyConsentStore.showError = true;
99
+ (_a = document
100
+ .querySelector('zonos-policy-consent')) === null || _a === void 0 ? void 0 : _a.scrollIntoView({ behavior: 'smooth' });
104
101
  onPaypalFail === null || onPaypalFail === void 0 ? void 0 : onPaypalFail();
105
102
  return '';
106
103
  }
104
+ // Lock consent for the rest of the flow so the buyer can't uncheck during
105
+ // the async PayPal handshake and create a race against the metadata writer.
106
+ // The `try/finally` below clears the lock on any non-success exit so the
107
+ // checkbox doesn't stay disabled when validation / inventory / store
108
+ // credit aborts before an order is actually created.
109
+ const consentRequired = isPolicyConsentRequired();
110
+ if (consentRequired) {
111
+ policyConsentStore.locked = true;
112
+ }
113
+ let handedOffToPayPal = false;
107
114
  try {
115
+ const checkoutSessionStatus = await validateCheckoutSession();
116
+ if (!checkoutSessionStatus.valid) {
117
+ paypalStore.paypalErrorMessage = checkoutSessionStatus.errorMessage;
118
+ // reset stripe error message
119
+ stripeStore.hasPaymentError = false;
120
+ stripeStore.customErrorMessage = null;
121
+ submitAnalytics({
122
+ event: 'zonos-checkout-payment-fail',
123
+ metadata: {
124
+ checkoutSessionId,
125
+ },
126
+ });
127
+ onPaypalFail === null || onPaypalFail === void 0 ? void 0 : onPaypalFail();
128
+ return '';
129
+ }
108
130
  // reset paypal error banner
109
131
  paypalStore.paypalErrorMessage = null;
110
132
  // reset inventory check error message
@@ -114,7 +136,7 @@ const paypalButtonOptions = ({ checkoutSessionId, onPaypalFail, onPaypalSessionD
114
136
  cartStore.inventoryCheckErrorMessage =
115
137
  await stripeStoreHandleInventoryCheck();
116
138
  }
117
- catch (_a) {
139
+ catch (_b) {
118
140
  // If user provide callback and it throw an exception, default to this message and stop the payment.
119
141
  cartStore.inventoryCheckErrorMessage = translate('Unable to check inventory. Please try again.');
120
142
  }
@@ -134,6 +156,13 @@ const paypalButtonOptions = ({ checkoutSessionId, onPaypalFail, onPaypalSessionD
134
156
  return '';
135
157
  }
136
158
  }
159
+ // Persist consent into the checkout session metadata BEFORE either
160
+ // branch creates the order — both the store-credit-only path and the
161
+ // real PayPal path need the consent recorded. A transient failure here
162
+ // is logged (via `logError` inside the helper) but does NOT block the
163
+ // order: blocking on a flaky network would gate buyers from paying,
164
+ // and the buyer's consent intent is already captured client-side.
165
+ await stripeStoreRecordPolicyConsent();
137
166
  // If store credit covers the full order, create order directly
138
167
  if (storeCreditStoreCoversFullAmount()) {
139
168
  const orderResult = await storeCreditStoreCreateOrder();
@@ -147,11 +176,18 @@ const paypalButtonOptions = ({ checkoutSessionId, onPaypalFail, onPaypalSessionD
147
176
  onPaypalSessionDone === null || onPaypalSessionDone === void 0 ? void 0 : onPaypalSessionDone({ orderId: orderResult.orderId || '' });
148
177
  cartStoreNextStep();
149
178
  cartStoreClearCheckoutInterval();
179
+ // Store-credit-only success: the cart advances to the next step
180
+ // and the store reset on close will handle the lock cleanup.
181
+ handedOffToPayPal = true;
150
182
  return '';
151
183
  }
152
184
  const paypalOrderId = await paypalStoreCreaterOrder({
153
185
  checkoutSessionId,
154
186
  });
187
+ // Successful hand-off to PayPal — the popup opens next and onApprove
188
+ // will fire on completion. Keep the lock set so closes/resets later
189
+ // clean up; an empty ID falls through to the unlock in `finally`.
190
+ handedOffToPayPal = !!paypalOrderId;
155
191
  return paypalOrderId;
156
192
  }
157
193
  catch (err) {
@@ -170,6 +206,13 @@ const paypalButtonOptions = ({ checkoutSessionId, onPaypalFail, onPaypalSessionD
170
206
  onPaypalFail === null || onPaypalFail === void 0 ? void 0 : onPaypalFail();
171
207
  return '';
172
208
  }
209
+ finally {
210
+ // Clear the lock unless we successfully handed off the order — on
211
+ // failures the buyer needs to be able to uncheck and retry.
212
+ if (consentRequired && !handedOffToPayPal) {
213
+ policyConsentStore.locked = false;
214
+ }
215
+ }
173
216
  },
174
217
  onApprove: async (_, _actions) => {
175
218
  try {
@@ -0,0 +1,58 @@
1
+ import { createStore } from "@stencil/store";
2
+ import { translate } from "../translationStore";
3
+ import { zonosStore } from "../zonosStore";
4
+ const POLICY_ORDER = [
5
+ 'termsAndConditions',
6
+ 'privacyPolicy',
7
+ 'refundPolicy',
8
+ 'shippingPolicy',
9
+ 'warrantyPolicy',
10
+ ];
11
+ // Reuses the lowercase `'Privacy policy'` key already translated in 19 locales
12
+ // (also used by the checkout footer) — the other four are new keys that follow
13
+ // the same lowercase convention for visual consistency in the joined consent line.
14
+ const POLICY_NAME_KEY = {
15
+ privacyPolicy: 'Privacy policy',
16
+ refundPolicy: 'Refund policy',
17
+ shippingPolicy: 'Shipping policy',
18
+ termsAndConditions: 'Terms and conditions',
19
+ warrantyPolicy: 'Warranty policy',
20
+ };
21
+ const { reset: policyConsentStoreReset, state: policyConsentStore } = createStore({
22
+ accepted: false,
23
+ acceptedAt: null,
24
+ locked: false,
25
+ showError: false,
26
+ });
27
+ export { policyConsentStore, policyConsentStoreReset };
28
+ /**
29
+ * Returns the list of policies the merchant has configured (non-empty link).
30
+ * Policies are returned in a fixed display order so the rendered list is
31
+ * deterministic across renders and across locales. URLs that aren't absolute
32
+ * http(s) URLs are filtered out as defense-in-depth against `javascript:` or
33
+ * other unexpected schemes slipping through the backend validation.
34
+ *
35
+ * Reads from `zonosStore.checkoutSettings` (not `window.Zonos.cartSettings`)
36
+ * so the consent UI works when zonos-elements is consumed via the npm package,
37
+ * where `cartSettings` is not populated.
38
+ */
39
+ export const getEnabledPolicies = () => {
40
+ const links = zonosStore.checkoutSettings.merchantPolicyLinks;
41
+ if (!links) {
42
+ return [];
43
+ }
44
+ return POLICY_ORDER.reduce((acc, key) => {
45
+ var _a, _b;
46
+ const rawUrl = (_b = (_a = links[key]) === null || _a === void 0 ? void 0 : _a.link) === null || _b === void 0 ? void 0 : _b.trim();
47
+ if (!rawUrl || !/^https?:\/\//i.test(rawUrl)) {
48
+ return acc;
49
+ }
50
+ acc.push({
51
+ key,
52
+ name: translate(POLICY_NAME_KEY[key]),
53
+ url: rawUrl,
54
+ });
55
+ return acc;
56
+ }, []);
57
+ };
58
+ export const isPolicyConsentRequired = () => getEnabledPolicies().length > 0;
@@ -1,5 +1,6 @@
1
1
  import { createStore } from "@stencil/store";
2
2
  import { cartStore, cartStoreApplySubtotals, cartStoreCheckItemRestrictions, cartStorePreviousStep, cartStoreResetCartItems, cartStoreSetCheckoutSession, cartStoreUpdateSelectedShippingOption, cartStoreUpdateToErrorState, } from "./cart";
3
+ import { getEnabledPolicies, policyConsentStore, } from "./policyConsent";
3
4
  import { localizationStore } from "../hello/localization";
4
5
  import { storageStore } from "../storageStore";
5
6
  import { translate } from "../translationStore";
@@ -879,6 +880,38 @@ const stripeStoreConfirmPayment = async (props) => {
879
880
  }
880
881
  }
881
882
  };
883
+ /**
884
+ * Builds the single `merchantPolicyConsent` metadata entry that records the buyer's
885
+ * acceptance of the merchant policies (Terms and Conditions, Privacy Policy, etc.).
886
+ * Returns null when consent has not been accepted or when no policies are configured.
887
+ *
888
+ * The recorded value captures which policies were shown, the URLs the buyer
889
+ * agreed to, the active locale, and the snapshotted acceptance timestamp.
890
+ */
891
+ const buildPolicyConsentMetadataEntry = () => {
892
+ if (!policyConsentStore.accepted) {
893
+ return null;
894
+ }
895
+ const policies = getEnabledPolicies();
896
+ if (!policies.length) {
897
+ return null;
898
+ }
899
+ return {
900
+ key: 'merchantPolicyConsent',
901
+ value: JSON.stringify({
902
+ // Use the timestamp snapshotted when the buyer first accepted, so any
903
+ // later session-metadata update keeps the original moment of consent
904
+ // for audit purposes. Fall back to "now" as a safety net for the
905
+ // unlikely case the store value was cleared between accept and write.
906
+ acceptedAt: policyConsentStore.acceptedAt || new Date().toISOString(),
907
+ locale: localizationStore.selectedLocale,
908
+ policies: policies.reduce((acc, policy) => {
909
+ acc[policy.key] = policy.url;
910
+ return acc;
911
+ }, {}),
912
+ }),
913
+ };
914
+ };
882
915
  export const getCheckoutSessionBody = () => {
883
916
  var _a;
884
917
  const total = cartStore.items.reduce((amount, item) => amount + item.amount * item.quantity, 0);
@@ -1059,6 +1092,39 @@ const stripeStoreUpdateCheckoutSession = async ({ adjustmentsAmount, cartId, cur
1059
1092
  }
1060
1093
  return { errors: [], json };
1061
1094
  };
1095
+ /**
1096
+ * Pushes the buyer's policy consent into the checkout session's metadata via the
1097
+ * dedicated metadata-only mutation. Called from the payment continue handler so
1098
+ * consent is persisted to the session before Stripe's confirmPayment fires.
1099
+ *
1100
+ * Uses `checkoutSessionUpdateMetadata` — not the full `checkoutSessionUpdate` —
1101
+ * because this fires at the end of the payment phase, when we don't want to
1102
+ * touch landed-cost / cart / party state. No-op when no policies are configured,
1103
+ * when consent hasn't been accepted, or when there is no active session ID.
1104
+ */
1105
+ export const stripeStoreRecordPolicyConsent = async () => {
1106
+ const consentEntry = buildPolicyConsentMetadataEntry();
1107
+ if (!consentEntry) {
1108
+ return { errors: [] };
1109
+ }
1110
+ if (!storageStore.checkoutSessionId) {
1111
+ return { errors: [] };
1112
+ }
1113
+ const { errors } = await handleFetch('/api/zonos-elements/update-checkout-session-metadata', {
1114
+ body: {
1115
+ id: storageStore.checkoutSessionId,
1116
+ metadata: [consentEntry],
1117
+ },
1118
+ method: 'POST',
1119
+ });
1120
+ if (errors.length) {
1121
+ // Surface failures loudly so we have observability on consent records that
1122
+ // didn't persist — callers don't block payment, but the failure is logged.
1123
+ logError('Failed to record merchant policy consent on checkout session', JSON.stringify(errors, null, 2));
1124
+ return { errors: errors.map(err => err.message || 'Unknown error') };
1125
+ }
1126
+ return { errors: [] };
1127
+ };
1062
1128
  /**
1063
1129
  * This function builds a translated address object from the current address and the translated address result.
1064
1130
  * It checks each field in the current address and if it exists in the translated address result, it adds it to the translated address object.
@@ -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
  }
@@ -281,6 +281,12 @@ export const stringsArabic = {
281
281
  'Hide non-prepaid options': {
282
282
  value: 'إخفاء الخيارات غير المدفوعة مسبقًا',
283
283
  },
284
+ "I agree to [merchantName]'s [policies]": {
285
+ value: 'أوافق على [policies] [merchantName]',
286
+ },
287
+ 'I agree to the [policies]': {
288
+ value: 'أوافق على [policies]',
289
+ },
284
290
  "If you select FedEx Ground as your shipping option, you'll need to complete a General Agency Agreement (GAA) after placing your order. This form allows FedEx to clear your package through Canadian customs on your behalf. FedEx will contact you directly—usually by email or phone—with instructions on how to complete the GAA. To avoid delays or the return of your package, please respond promptly to their request.": {
285
291
  value: 'إذا اخترت FedEx Ground كخيار الشحن الخاص بك، ستحتاج إلى إكمال اتفاقية الوكالة العامة (GAA) بعد تقديم طلبك. يتيح لك هذا النموذج السماح لـ FedEx بتخليص الطرد الخاص بك من الجمارك الكندية نيابة عنك. ستتصل بك FedEx مباشرةً - عادةً عبر البريد الإلكتروني أو الهاتف - مع تعليمات حول كيفية إكمال GAA. لتجنب التأخير أو إعادة الطرد الخاص بك، يرجى الرد بسرعة على طلبهم.',
286
292
  },
@@ -497,6 +503,9 @@ export const stringsArabic = {
497
503
  'RFC number': {
498
504
  value: 'رقم RFC',
499
505
  },
506
+ 'Refund policy': {
507
+ value: 'سياسة الاسترداد',
508
+ },
500
509
  Region: {
501
510
  value: 'منطقة',
502
511
  },
@@ -551,6 +560,9 @@ export const stringsArabic = {
551
560
  'Shipping method': {
552
561
  value: 'طريقة الشحن',
553
562
  },
563
+ 'Shipping policy': {
564
+ value: 'سياسة الشحن',
565
+ },
554
566
  'Shopping cart expired': {
555
567
  value: 'انتهت صلاحية عربة التسوق',
556
568
  },
@@ -638,6 +650,9 @@ export const stringsArabic = {
638
650
  'Taxes, duties, and fees included': {
639
651
  value: 'الضرائب والرسوم والرسوم مشمولة',
640
652
  },
653
+ 'Terms and conditions': {
654
+ value: 'الشروط والأحكام',
655
+ },
641
656
  'Test cards': {
642
657
  value: 'بطاقات اختبار',
643
658
  },
@@ -725,6 +740,9 @@ export const stringsArabic = {
725
740
  Village: {
726
741
  value: 'قرية',
727
742
  },
743
+ 'Warranty policy': {
744
+ value: 'سياسة الضمان',
745
+ },
728
746
  "We couldn't complete your payment. Please verify the payment details and try again.": {
729
747
  value: 'تعذر علينا اكمال الدفع. يرجى التحقق من تفاصيل الدفع وإعادة المحاولة.',
730
748
  },
@@ -755,6 +773,9 @@ export const stringsArabic = {
755
773
  'You may incur additional fees from the shipping carrier by not prepaying.': {
756
774
  value: 'قد تتكبد رسومًا إضافية من شركة الشحن إذا لم تدفع مسبقًا.',
757
775
  },
776
+ 'You must accept the policies to place this order': {
777
+ value: 'يجب عليك قبول السياسات لتقديم هذا الطلب',
778
+ },
758
779
  "You will be redirected back to the merchant's site in a few seconds.": {
759
780
  value: 'سيتم إعادة توجيهك إلى موقع التاجر في غضون ثوانٍ قليلة.',
760
781
  },
@@ -282,6 +282,12 @@ export const stringsBase = {
282
282
  'Hide non-prepaid options': {
283
283
  value: 'Hide non-prepaid options',
284
284
  },
285
+ "I agree to [merchantName]'s [policies]": {
286
+ value: "I agree to [merchantName]'s [policies]",
287
+ },
288
+ 'I agree to the [policies]': {
289
+ value: 'I agree to the [policies]',
290
+ },
285
291
  "If you select FedEx Ground as your shipping option, you'll need to complete a General Agency Agreement (GAA) after placing your order. This form allows FedEx to clear your package through Canadian customs on your behalf. FedEx will contact you directly—usually by email or phone—with instructions on how to complete the GAA. To avoid delays or the return of your package, please respond promptly to their request.": {
286
292
  value: "If you select FedEx Ground as your shipping option, you'll need to complete a General Agency Agreement (GAA) after placing your order. This form allows FedEx to clear your package through Canadian customs on your behalf. FedEx will contact you directly—usually by email or phone—with instructions on how to complete the GAA. To avoid delays or the return of your package, please respond promptly to their request.",
287
293
  },
@@ -498,6 +504,9 @@ export const stringsBase = {
498
504
  'RFC number': {
499
505
  value: 'RFC number',
500
506
  },
507
+ 'Refund policy': {
508
+ value: 'Refund policy',
509
+ },
501
510
  Region: {
502
511
  value: 'Region',
503
512
  },
@@ -552,6 +561,9 @@ export const stringsBase = {
552
561
  'Shipping method': {
553
562
  value: 'Shipping method',
554
563
  },
564
+ 'Shipping policy': {
565
+ value: 'Shipping policy',
566
+ },
555
567
  'Shopping cart expired': {
556
568
  value: 'Shopping cart expired',
557
569
  },
@@ -639,6 +651,9 @@ export const stringsBase = {
639
651
  'Taxes, duties, and fees included': {
640
652
  value: 'Taxes, duties, and fees included',
641
653
  },
654
+ 'Terms and conditions': {
655
+ value: 'Terms and conditions',
656
+ },
642
657
  'Test cards': {
643
658
  value: 'Test cards',
644
659
  },
@@ -726,6 +741,9 @@ export const stringsBase = {
726
741
  Village: {
727
742
  value: 'Village',
728
743
  },
744
+ 'Warranty policy': {
745
+ value: 'Warranty policy',
746
+ },
729
747
  "We couldn't complete your payment. Please verify the payment details and try again.": {
730
748
  value: "We couldn't complete your payment. Please verify the payment details and try again.",
731
749
  },
@@ -756,6 +774,9 @@ export const stringsBase = {
756
774
  'You may incur additional fees from the shipping carrier by not prepaying.': {
757
775
  value: 'You may incur additional fees from the shipping carrier by not prepaying.',
758
776
  },
777
+ 'You must accept the policies to place this order': {
778
+ value: 'You must accept the policies to place this order',
779
+ },
759
780
  "You will be redirected back to the merchant's site in a few seconds.": {
760
781
  value: "You will be redirected back to the merchant's site in a few seconds.",
761
782
  },
@@ -281,6 +281,12 @@ export const stringsChinese = {
281
281
  'Hide non-prepaid options': {
282
282
  value: '隐藏非预付选项',
283
283
  },
284
+ "I agree to [merchantName]'s [policies]": {
285
+ value: '我同意[merchantName]的[policies]',
286
+ },
287
+ 'I agree to the [policies]': {
288
+ value: '我同意[policies]',
289
+ },
284
290
  "If you select FedEx Ground as your shipping option, you'll need to complete a General Agency Agreement (GAA) after placing your order. This form allows FedEx to clear your package through Canadian customs on your behalf. FedEx will contact you directly—usually by email or phone—with instructions on how to complete the GAA. To avoid delays or the return of your package, please respond promptly to their request.": {
285
291
  value: '如果您选择FedEx Ground作为您的运输选项,您需要在下订单后完成一般代理协议(GAA)。此表格允许FedEx代表您通过加拿大海关清关您的包裹。FedEx会直接与您联系,通常通过电子邮件或电话,提供有关如何完成GAA的说明。为避免延误或包裹退回,请及时回应他们的请求。',
286
292
  },
@@ -497,6 +503,9 @@ export const stringsChinese = {
497
503
  'RFC number': {
498
504
  value: 'RFC编号',
499
505
  },
506
+ 'Refund policy': {
507
+ value: '退款政策',
508
+ },
500
509
  Region: {
501
510
  value: '地区',
502
511
  },
@@ -551,6 +560,9 @@ export const stringsChinese = {
551
560
  'Shipping method': {
552
561
  value: '运输方式',
553
562
  },
563
+ 'Shipping policy': {
564
+ value: '运输政策',
565
+ },
554
566
  'Shopping cart expired': {
555
567
  value: '购物车已过期',
556
568
  },
@@ -638,6 +650,9 @@ export const stringsChinese = {
638
650
  'Taxes, duties, and fees included': {
639
651
  value: '包括税费、关税和费用',
640
652
  },
653
+ 'Terms and conditions': {
654
+ value: '条款和条件',
655
+ },
641
656
  'Test cards': {
642
657
  value: '测试卡',
643
658
  },
@@ -725,6 +740,9 @@ export const stringsChinese = {
725
740
  Village: {
726
741
  value: '村庄',
727
742
  },
743
+ 'Warranty policy': {
744
+ value: '保修政策',
745
+ },
728
746
  "We couldn't complete your payment. Please verify the payment details and try again.": {
729
747
  value: '我们无法完成您的付款。请验证付款详情并重试。',
730
748
  },
@@ -755,6 +773,9 @@ export const stringsChinese = {
755
773
  'You may incur additional fees from the shipping carrier by not prepaying.': {
756
774
  value: '如果不预付,您可能会产生来自运输公司的额外费用。',
757
775
  },
776
+ 'You must accept the policies to place this order': {
777
+ value: '您必须接受政策才能下此订单',
778
+ },
758
779
  "You will be redirected back to the merchant's site in a few seconds.": {
759
780
  value: '您将在几秒钟内被重定向回商家网站。',
760
781
  },
@@ -281,6 +281,12 @@ export const stringsDanish = {
281
281
  'Hide non-prepaid options': {
282
282
  value: 'Skjul ikke-forudbetalte muligheder',
283
283
  },
284
+ "I agree to [merchantName]'s [policies]": {
285
+ value: 'Jeg accepterer [merchantName]s [policies]',
286
+ },
287
+ 'I agree to the [policies]': {
288
+ value: 'Jeg accepterer [policies]',
289
+ },
284
290
  "If you select FedEx Ground as your shipping option, you'll need to complete a General Agency Agreement (GAA) after placing your order. This form allows FedEx to clear your package through Canadian customs on your behalf. FedEx will contact you directly—usually by email or phone—with instructions on how to complete the GAA. To avoid delays or the return of your package, please respond promptly to their request.": {
285
291
  value: 'Hvis du vælger FedEx Ground som din forsendelsesmulighed, skal du udfylde en General Agency Agreement (GAA) efter at have afgivet din ordre. Denne formular giver FedEx mulighed for at fortolde din pakke gennem canadisk told på dine vegne. FedEx vil kontakte dig direkte - normalt via e-mail eller telefon - med instruktioner om, hvordan du fuldfører GAA. For at undgå forsinkelser eller returnering af din pakke, bedes du svare hurtigt på deres anmodning.',
286
292
  },
@@ -497,6 +503,9 @@ export const stringsDanish = {
497
503
  'RFC number': {
498
504
  value: 'RFC-nummer',
499
505
  },
506
+ 'Refund policy': {
507
+ value: 'Refunderingspolitik',
508
+ },
500
509
  Region: {
501
510
  value: 'Region',
502
511
  },
@@ -551,6 +560,9 @@ export const stringsDanish = {
551
560
  'Shipping method': {
552
561
  value: 'Leveringsmetode',
553
562
  },
563
+ 'Shipping policy': {
564
+ value: 'Forsendelsespolitik',
565
+ },
554
566
  'Shopping cart expired': {
555
567
  value: 'Indkøbskurv udløbet',
556
568
  },
@@ -638,6 +650,9 @@ export const stringsDanish = {
638
650
  'Taxes, duties, and fees included': {
639
651
  value: 'Skatter, afgifter og gebyrer inkluderet',
640
652
  },
653
+ 'Terms and conditions': {
654
+ value: 'Vilkår og betingelser',
655
+ },
641
656
  'Test cards': {
642
657
  value: 'Testkort',
643
658
  },
@@ -725,6 +740,9 @@ export const stringsDanish = {
725
740
  Village: {
726
741
  value: 'Landsby',
727
742
  },
743
+ 'Warranty policy': {
744
+ value: 'Garantipolitik',
745
+ },
728
746
  "We couldn't complete your payment. Please verify the payment details and try again.": {
729
747
  value: 'Vi kunne ikke gennemføre din betaling. Kontroller venligst betalingsoplysningerne og prøv igen.',
730
748
  },
@@ -755,6 +773,9 @@ export const stringsDanish = {
755
773
  'You may incur additional fees from the shipping carrier by not prepaying.': {
756
774
  value: 'Du kan pådrage dig ekstra gebyrer fra fragtfirmaet ved ikke at forudbetale.',
757
775
  },
776
+ 'You must accept the policies to place this order': {
777
+ value: 'Du skal acceptere politikkerne for at afgive denne bestilling',
778
+ },
758
779
  "You will be redirected back to the merchant's site in a few seconds.": {
759
780
  value: 'Du vil blive omdirigeret tilbage til forhandlerens side om få sekunder.',
760
781
  },
@@ -281,6 +281,12 @@ export const stringsDutch = {
281
281
  'Hide non-prepaid options': {
282
282
  value: 'Verberg niet-vooruitbetaalde opties',
283
283
  },
284
+ "I agree to [merchantName]'s [policies]": {
285
+ value: 'Ik ga akkoord met de [policies] van [merchantName]',
286
+ },
287
+ 'I agree to the [policies]': {
288
+ value: 'Ik ga akkoord met [policies]',
289
+ },
284
290
  "If you select FedEx Ground as your shipping option, you'll need to complete a General Agency Agreement (GAA) after placing your order. This form allows FedEx to clear your package through Canadian customs on your behalf. FedEx will contact you directly—usually by email or phone—with instructions on how to complete the GAA. To avoid delays or the return of your package, please respond promptly to their request.": {
285
291
  value: 'Als je FedEx Ground als verzendoptie selecteert, moet je na het plaatsen van je bestelling een General Agency Agreement (GAA) invullen. Dit formulier stelt FedEx in staat om je pakket namens jou door de Canadese douane te laten gaan. FedEx neemt rechtstreeks contact met je op - meestal via e-mail of telefoon - met instructies over hoe je de GAA kunt voltooien. Om vertragingen of de terugzending van je pakket te voorkomen, reageer snel op hun verzoek.',
286
292
  },
@@ -497,6 +503,9 @@ export const stringsDutch = {
497
503
  'RFC number': {
498
504
  value: 'RFC-nummer',
499
505
  },
506
+ 'Refund policy': {
507
+ value: 'Restitutiebeleid',
508
+ },
500
509
  Region: {
501
510
  value: 'Regio',
502
511
  },
@@ -551,6 +560,9 @@ export const stringsDutch = {
551
560
  'Shipping method': {
552
561
  value: 'Verzendmethode',
553
562
  },
563
+ 'Shipping policy': {
564
+ value: 'Verzendbeleid',
565
+ },
554
566
  'Shopping cart expired': {
555
567
  value: 'Winkelwagen verlopen',
556
568
  },
@@ -638,6 +650,9 @@ export const stringsDutch = {
638
650
  'Taxes, duties, and fees included': {
639
651
  value: 'Belastingen, rechten en kosten inbegrepen',
640
652
  },
653
+ 'Terms and conditions': {
654
+ value: 'Algemene voorwaarden',
655
+ },
641
656
  'Test cards': {
642
657
  value: 'Testkaarten',
643
658
  },
@@ -725,6 +740,9 @@ export const stringsDutch = {
725
740
  Village: {
726
741
  value: 'Dorp',
727
742
  },
743
+ 'Warranty policy': {
744
+ value: 'Garantiebeleid',
745
+ },
728
746
  "We couldn't complete your payment. Please verify the payment details and try again.": {
729
747
  value: 'We konden je betaling niet voltooien. Controleer de betalingsgegevens en probeer het opnieuw.',
730
748
  },
@@ -755,6 +773,9 @@ export const stringsDutch = {
755
773
  'You may incur additional fees from the shipping carrier by not prepaying.': {
756
774
  value: 'U kunt extra kosten van de vervoerder krijgen als u niet vooraf betaalt.',
757
775
  },
776
+ 'You must accept the policies to place this order': {
777
+ value: 'U moet het beleid accepteren om deze bestelling te plaatsen',
778
+ },
758
779
  "You will be redirected back to the merchant's site in a few seconds.": {
759
780
  value: 'U wordt binnen enkele seconden teruggeleid naar de site van de handelaar.',
760
781
  },
@@ -281,6 +281,12 @@ export const stringsFrench = {
281
281
  'Hide non-prepaid options': {
282
282
  value: 'Masquer les options non prépayées',
283
283
  },
284
+ "I agree to [merchantName]'s [policies]": {
285
+ value: "J'accepte les [policies] de [merchantName]",
286
+ },
287
+ 'I agree to the [policies]': {
288
+ value: "J'accepte [policies]",
289
+ },
284
290
  "If you select FedEx Ground as your shipping option, you'll need to complete a General Agency Agreement (GAA) after placing your order. This form allows FedEx to clear your package through Canadian customs on your behalf. FedEx will contact you directly—usually by email or phone—with instructions on how to complete the GAA. To avoid delays or the return of your package, please respond promptly to their request.": {
285
291
  value: "Si vous choisissez FedEx Ground comme option d'expédition, vous devrez remplir un Accord d'Agence Générale (GAA) après avoir passé votre commande. Ce formulaire permet à FedEx de dédouaner votre colis à travers la douane canadienne en votre nom. FedEx vous contactera directement - généralement par e-mail ou téléphone - avec des instructions sur la façon de compléter le GAA. Pour éviter les retards ou le retour de votre colis, veuillez répondre rapidement à leur demande.",
286
292
  },
@@ -497,6 +503,9 @@ export const stringsFrench = {
497
503
  'RFC number': {
498
504
  value: 'Numéro RFC',
499
505
  },
506
+ 'Refund policy': {
507
+ value: 'Politique de remboursement',
508
+ },
500
509
  Region: {
501
510
  value: 'Région',
502
511
  },
@@ -551,6 +560,9 @@ export const stringsFrench = {
551
560
  'Shipping method': {
552
561
  value: 'Mode de livraison',
553
562
  },
563
+ 'Shipping policy': {
564
+ value: "Politique d'expédition",
565
+ },
554
566
  'Shopping cart expired': {
555
567
  value: 'Panier expiré',
556
568
  },
@@ -638,6 +650,9 @@ export const stringsFrench = {
638
650
  'Taxes, duties, and fees included': {
639
651
  value: 'Taxes, droits et frais inclus',
640
652
  },
653
+ 'Terms and conditions': {
654
+ value: 'Conditions générales',
655
+ },
641
656
  'Test cards': {
642
657
  value: 'Cartes de test',
643
658
  },
@@ -725,6 +740,9 @@ export const stringsFrench = {
725
740
  Village: {
726
741
  value: 'Village',
727
742
  },
743
+ 'Warranty policy': {
744
+ value: 'Politique de garantie',
745
+ },
728
746
  "We couldn't complete your payment. Please verify the payment details and try again.": {
729
747
  value: "Nous n'avons pas pu finaliser votre paiement. Veuillez vérifier les détails du paiement et réessayer.",
730
748
  },
@@ -755,6 +773,9 @@ export const stringsFrench = {
755
773
  'You may incur additional fees from the shipping carrier by not prepaying.': {
756
774
  value: "Vous pourriez encourir des frais supplémentaires de la part du transporteur si vous ne payez pas à l'avance.",
757
775
  },
776
+ 'You must accept the policies to place this order': {
777
+ value: 'Vous devez accepter les politiques pour passer cette commande',
778
+ },
758
779
  "You will be redirected back to the merchant's site in a few seconds.": {
759
780
  value: 'Vous serez redirigé vers le site du marchand dans quelques secondes.',
760
781
  },