@zonos/elements 1.1.1 → 1.1.2

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 (362) hide show
  1. package/dist/cjs/{cart-108bc407.js → cart-a969ee0b.js} +8 -8
  2. package/dist/cjs/{cart-108bc407.js.map → cart-a969ee0b.js.map} +1 -1
  3. package/dist/cjs/{getBorderRadius-2904800c.js → getBorderRadius-ae52cae1.js} +2 -2
  4. package/dist/cjs/{getBorderRadius-2904800c.js.map → getBorderRadius-ae52cae1.js.map} +1 -1
  5. package/dist/cjs/{isDarkColor-a86b8a05.js → isDarkColor-e1a7bf45.js} +2 -2
  6. package/dist/cjs/{isDarkColor-a86b8a05.js.map → isDarkColor-e1a7bf45.js.map} +1 -1
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/{localization-f6a1b679.js → localization-d510574c.js} +200 -12
  9. package/dist/cjs/localization-d510574c.js.map +1 -0
  10. package/dist/cjs/{submitGtag-b1b96579.js → submitGtag-4de4430f.js} +3 -3
  11. package/dist/cjs/{submitGtag-b1b96579.js.map → submitGtag-4de4430f.js.map} +1 -1
  12. package/dist/cjs/zonos-address_2.cjs.entry.js +5 -5
  13. package/dist/cjs/zonos-banner.cjs.entry.js +68 -0
  14. package/dist/cjs/zonos-banner.cjs.entry.js.map +1 -0
  15. package/dist/cjs/zonos-button_2.cjs.entry.js +3 -3
  16. package/dist/cjs/zonos-cart-items_10.cjs.entry.js +12 -12
  17. package/dist/cjs/zonos-checkout.cjs.entry.js +9 -9
  18. package/dist/cjs/zonos-controller.cjs.entry.js +6 -6
  19. package/dist/cjs/zonos-controller.cjs.entry.js.map +1 -1
  20. package/dist/cjs/zonos-country-flag_4.cjs.entry.js +6 -6
  21. package/dist/cjs/zonos-elements.cjs.js +1 -1
  22. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +12 -8
  23. package/dist/cjs/zonos-hello-dialog.cjs.entry.js.map +1 -1
  24. package/dist/cjs/zonos-hello.cjs.entry.js +237 -22
  25. package/dist/cjs/zonos-hello.cjs.entry.js.map +1 -1
  26. package/dist/cjs/zonos-payment.cjs.entry.js +60 -0
  27. package/dist/cjs/zonos-payment.cjs.entry.js.map +1 -0
  28. package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js +3 -3
  29. package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js.map +1 -1
  30. package/dist/cjs/{zonosStore-960e5542.js → zonosStore-d9cdaec6.js} +6 -22
  31. package/dist/cjs/zonosStore-d9cdaec6.js.map +1 -0
  32. package/dist/collection/components/checkout/zonos-checkout/assets/LeftArrow.svg +1 -1
  33. package/dist/collection/components/checkout/zonos-checkout/assets/MessageIcon.svg +1 -1
  34. package/dist/collection/components/checkout/zonos-checkout/assets/RemoveIcon.svg +1 -1
  35. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-subtotal/assets/InfoIcon.svg +1 -1
  36. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/assets/RemoveIcon.svg +1 -1
  37. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/assets/SuccessIcon.svg +1 -1
  38. package/dist/collection/components/checkout/zonos-checkout/zonos-review/assets/ChevronDownIcon.svg +1 -1
  39. package/dist/collection/components/checkout/zonos-checkout/zonos-review/assets/ChevronUpIcon.svg +1 -1
  40. package/dist/collection/components/common/zonos-banner/zonos-banner.css +6 -1
  41. package/dist/collection/components/common/zonos-banner/zonos-banner.js +1 -1
  42. package/dist/collection/components/common/zonos-banner/zonos-banner.js.map +1 -1
  43. package/dist/collection/components/common/zonos-country-select/assets/arrowLeftBlue.svg +1 -1
  44. package/dist/collection/components/common/zonos-dialog/assets/removeIcon.svg +1 -1
  45. package/dist/collection/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.js +1 -1
  46. package/dist/collection/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.js.map +1 -1
  47. package/dist/collection/components/hello/zonos-hello/zonos-hello.css +20 -2
  48. package/dist/collection/components/hello/zonos-hello/zonos-hello.js +135 -20
  49. package/dist/collection/components/hello/zonos-hello/zonos-hello.js.map +1 -1
  50. package/dist/collection/components/hello/zonos-hello-dialog/assets/bagIcon.svg +1 -1
  51. package/dist/collection/components/hello/zonos-hello-dialog/assets/messageIcon.svg +1 -1
  52. package/dist/collection/components/hello/zonos-hello-dialog/assets/moneyIcon.svg +1 -1
  53. package/dist/collection/components/hello/zonos-hello-dialog/assets/removeIcon.svg +1 -1
  54. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/assets/chevronDownIcon.svg +1 -1
  55. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/assets/zonosIcon.svg +1 -1
  56. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.css +12 -4
  57. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.js +30 -1
  58. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.js.map +1 -1
  59. package/dist/collection/components/store/hello/localization.js +2 -4
  60. package/dist/collection/components/store/hello/localization.js.map +1 -1
  61. package/dist/collection/components/store/translationStore/strings.arabic.js +9 -0
  62. package/dist/collection/components/store/translationStore/strings.arabic.js.map +1 -1
  63. package/dist/collection/components/store/translationStore/strings.base.js +9 -0
  64. package/dist/collection/components/store/translationStore/strings.base.js.map +1 -1
  65. package/dist/collection/components/store/translationStore/strings.chinese.js +9 -0
  66. package/dist/collection/components/store/translationStore/strings.chinese.js.map +1 -1
  67. package/dist/collection/components/store/translationStore/strings.danish.js +9 -0
  68. package/dist/collection/components/store/translationStore/strings.danish.js.map +1 -1
  69. package/dist/collection/components/store/translationStore/strings.dutch.js +9 -0
  70. package/dist/collection/components/store/translationStore/strings.dutch.js.map +1 -1
  71. package/dist/collection/components/store/translationStore/strings.french.js +9 -0
  72. package/dist/collection/components/store/translationStore/strings.french.js.map +1 -1
  73. package/dist/collection/components/store/translationStore/strings.german.js +9 -0
  74. package/dist/collection/components/store/translationStore/strings.german.js.map +1 -1
  75. package/dist/collection/components/store/translationStore/strings.hebrew.js +9 -0
  76. package/dist/collection/components/store/translationStore/strings.hebrew.js.map +1 -1
  77. package/dist/collection/components/store/translationStore/strings.indonesian.js +9 -0
  78. package/dist/collection/components/store/translationStore/strings.indonesian.js.map +1 -1
  79. package/dist/collection/components/store/translationStore/strings.italian.js +9 -0
  80. package/dist/collection/components/store/translationStore/strings.italian.js.map +1 -1
  81. package/dist/collection/components/store/translationStore/strings.japanese.js +9 -0
  82. package/dist/collection/components/store/translationStore/strings.japanese.js.map +1 -1
  83. package/dist/collection/components/store/translationStore/strings.korean.js +9 -0
  84. package/dist/collection/components/store/translationStore/strings.korean.js.map +1 -1
  85. package/dist/collection/components/store/translationStore/strings.norwegian.js +9 -0
  86. package/dist/collection/components/store/translationStore/strings.norwegian.js.map +1 -1
  87. package/dist/collection/components/store/translationStore/strings.polish.js +9 -0
  88. package/dist/collection/components/store/translationStore/strings.polish.js.map +1 -1
  89. package/dist/collection/components/store/translationStore/strings.portuguese.js +9 -0
  90. package/dist/collection/components/store/translationStore/strings.portuguese.js.map +1 -1
  91. package/dist/collection/components/store/translationStore/strings.russian.js +9 -0
  92. package/dist/collection/components/store/translationStore/strings.russian.js.map +1 -1
  93. package/dist/collection/components/store/translationStore/strings.spanish.js +9 -0
  94. package/dist/collection/components/store/translationStore/strings.spanish.js.map +1 -1
  95. package/dist/collection/components/store/translationStore/strings.swedish.js +9 -0
  96. package/dist/collection/components/store/translationStore/strings.swedish.js.map +1 -1
  97. package/dist/collection/components/store/translationStore/strings.turkish.js +9 -0
  98. package/dist/collection/components/store/translationStore/strings.turkish.js.map +1 -1
  99. package/dist/collection/components/store/translationStore/strings.vietnamese.js +9 -0
  100. package/dist/collection/components/store/translationStore/strings.vietnamese.js.map +1 -1
  101. package/dist/collection/components/store/zonosStore.js +5 -3
  102. package/dist/collection/components/store/zonosStore.js.map +1 -1
  103. package/dist/collection/components/utils/api/checkItemRestrictions.js +18 -0
  104. package/dist/collection/components/utils/api/checkItemRestrictions.js.map +1 -0
  105. package/dist/collection/components/utils/hello/detectItemRestrictions.js +29 -0
  106. package/dist/collection/components/utils/hello/detectItemRestrictions.js.map +1 -0
  107. package/dist/collection/components/utils/hello/getCurrentHelloLocalePage.js +8 -7
  108. package/dist/collection/components/utils/hello/getCurrentHelloLocalePage.js.map +1 -1
  109. package/dist/collection/components/utils/hello/getProductsOnPage.js +49 -0
  110. package/dist/collection/components/utils/hello/getProductsOnPage.js.map +1 -0
  111. package/dist/collection/components/utils/hello/setZonosCountryUrlParam.js +10 -0
  112. package/dist/collection/components/utils/hello/setZonosCountryUrlParam.js.map +1 -0
  113. package/dist/collection/environment.js +34 -7
  114. package/dist/collection/environment.js.map +1 -1
  115. package/dist/collection/scripts/loadStripe.js +3 -3
  116. package/dist/collection/scripts/loadStripe.js.map +1 -1
  117. package/dist/collection/scripts/stripe.js +3 -3
  118. package/dist/collection/scripts/stripe.js.map +1 -1
  119. package/dist/collection/scripts/zonos.js +83 -30
  120. package/dist/collection/scripts/zonos.js.map +1 -1
  121. package/dist/collection/types/generated/graphql.customer.types.js +34 -0
  122. package/dist/collection/types/generated/graphql.customer.types.js.map +1 -1
  123. package/dist/collection/types/hello/HelloConfig.js.map +1 -1
  124. package/dist/collection/types/hello/Product.js +2 -0
  125. package/dist/collection/types/hello/Product.js.map +1 -0
  126. package/dist/collection/types/hello/RestrictedItem.js +2 -0
  127. package/dist/collection/types/hello/RestrictedItem.js.map +1 -0
  128. package/dist/components/localization.js +198 -11
  129. package/dist/components/localization.js.map +1 -1
  130. package/dist/components/stripe.js +3 -3
  131. package/dist/components/stripe.js.map +1 -1
  132. package/dist/components/zonos-banner2.js +2 -2
  133. package/dist/components/zonos-banner2.js.map +1 -1
  134. package/dist/components/zonos-cart-subtotal2.js +1 -1
  135. package/dist/components/zonos-checkout-finish2.js +2 -2
  136. package/dist/components/zonos-checkout.js +3 -3
  137. package/dist/components/zonos-controller.js +1 -1
  138. package/dist/components/zonos-controller.js.map +1 -1
  139. package/dist/components/zonos-country-select2.js +1 -1
  140. package/dist/components/zonos-dialog2.js +1 -1
  141. package/dist/components/zonos-hello-dialog-footer2.js +2 -2
  142. package/dist/components/zonos-hello-dialog2.js +18 -7
  143. package/dist/components/zonos-hello-dialog2.js.map +1 -1
  144. package/dist/components/zonos-hello.js +247 -22
  145. package/dist/components/zonos-hello.js.map +1 -1
  146. package/dist/components/zonos-review2.js +2 -2
  147. package/dist/components/zonos-shipping-rich-radio2.js +1 -1
  148. package/dist/components/zonos-shipping-rich-radio2.js.map +1 -1
  149. package/dist/components/zonosStore.js +5 -21
  150. package/dist/components/zonosStore.js.map +1 -1
  151. package/dist/{zonos-elements/cart-2f83e048.js → esm/cart-d00e1acb.js} +8 -8
  152. package/dist/esm/{cart-2f83e048.js.map → cart-d00e1acb.js.map} +1 -1
  153. package/dist/{zonos-elements/getBorderRadius-82fbaf25.js → esm/getBorderRadius-e8ad5967.js} +2 -2
  154. package/dist/esm/{getBorderRadius-82fbaf25.js.map → getBorderRadius-e8ad5967.js.map} +1 -1
  155. package/dist/{zonos-elements/isDarkColor-b21326ae.js → esm/isDarkColor-3bb345f4.js} +2 -2
  156. package/dist/{zonos-elements/isDarkColor-b21326ae.js.map → esm/isDarkColor-3bb345f4.js.map} +1 -1
  157. package/dist/esm/loader.js +1 -1
  158. package/dist/{zonos-elements/localization-4a424f49.js → esm/localization-1d92a557.js} +200 -13
  159. package/dist/esm/localization-1d92a557.js.map +1 -0
  160. package/dist/{zonos-elements/submitGtag-fbdb454b.js → esm/submitGtag-85914088.js} +3 -3
  161. package/dist/esm/{submitGtag-fbdb454b.js.map → submitGtag-85914088.js.map} +1 -1
  162. package/dist/esm/zonos-address_2.entry.js +5 -5
  163. package/dist/esm/zonos-banner.entry.js +64 -0
  164. package/dist/esm/zonos-banner.entry.js.map +1 -0
  165. package/dist/esm/zonos-button_2.entry.js +3 -3
  166. package/dist/esm/zonos-cart-items_10.entry.js +12 -12
  167. package/dist/esm/zonos-checkout.entry.js +9 -9
  168. package/dist/esm/zonos-controller.entry.js +6 -6
  169. package/dist/esm/zonos-controller.entry.js.map +1 -1
  170. package/dist/esm/zonos-country-flag_4.entry.js +6 -6
  171. package/dist/esm/zonos-elements.js +1 -1
  172. package/dist/esm/zonos-hello-dialog.entry.js +12 -8
  173. package/dist/esm/zonos-hello-dialog.entry.js.map +1 -1
  174. package/dist/esm/zonos-hello.entry.js +237 -22
  175. package/dist/esm/zonos-hello.entry.js.map +1 -1
  176. package/dist/esm/zonos-payment.entry.js +56 -0
  177. package/dist/esm/zonos-payment.entry.js.map +1 -0
  178. package/dist/esm/zonos-shipping-rich-radio.entry.js +3 -3
  179. package/dist/esm/zonos-shipping-rich-radio.entry.js.map +1 -1
  180. package/dist/{zonos-elements/zonosStore-13a7b534.js → esm/zonosStore-1c9c7d76.js} +6 -22
  181. package/dist/esm/zonosStore-1c9c7d76.js.map +1 -0
  182. package/dist/esm-es5/cart-d00e1acb.js +2 -0
  183. package/dist/esm-es5/{cart-2f83e048.js.map → cart-d00e1acb.js.map} +1 -1
  184. package/dist/esm-es5/{getBorderRadius-82fbaf25.js → getBorderRadius-e8ad5967.js} +2 -2
  185. package/dist/esm-es5/{isDarkColor-b21326ae.js → isDarkColor-3bb345f4.js} +2 -2
  186. package/dist/esm-es5/loader.js +1 -1
  187. package/dist/esm-es5/loader.js.map +1 -1
  188. package/dist/esm-es5/localization-1d92a557.js +2 -0
  189. package/dist/esm-es5/localization-1d92a557.js.map +1 -0
  190. package/dist/esm-es5/{submitGtag-fbdb454b.js → submitGtag-85914088.js} +2 -2
  191. package/dist/esm-es5/zonos-address_2.entry.js +1 -1
  192. package/dist/esm-es5/zonos-banner.entry.js +2 -0
  193. package/dist/esm-es5/zonos-banner.entry.js.map +1 -0
  194. package/dist/esm-es5/zonos-button_2.entry.js +1 -1
  195. package/dist/esm-es5/zonos-cart-items_10.entry.js +1 -1
  196. package/dist/esm-es5/zonos-cart-items_10.entry.js.map +1 -1
  197. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  198. package/dist/esm-es5/zonos-checkout.entry.js.map +1 -1
  199. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  200. package/dist/esm-es5/zonos-controller.entry.js.map +1 -1
  201. package/dist/esm-es5/zonos-country-flag_4.entry.js +1 -1
  202. package/dist/esm-es5/zonos-country-flag_4.entry.js.map +1 -1
  203. package/dist/esm-es5/zonos-elements.js +1 -1
  204. package/dist/esm-es5/zonos-elements.js.map +1 -1
  205. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  206. package/dist/esm-es5/zonos-hello-dialog.entry.js.map +1 -1
  207. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  208. package/dist/esm-es5/zonos-hello.entry.js.map +1 -1
  209. package/dist/esm-es5/zonos-payment.entry.js +2 -0
  210. package/dist/esm-es5/zonos-payment.entry.js.map +1 -0
  211. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
  212. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js.map +1 -1
  213. package/dist/esm-es5/zonosStore-1c9c7d76.js +2 -0
  214. package/dist/esm-es5/zonosStore-1c9c7d76.js.map +1 -0
  215. package/dist/scripts/loadStripe.js +6 -6
  216. package/dist/scripts/loadZonos.js +92 -35
  217. package/dist/scripts/stripe.js +5 -5
  218. package/dist/scripts/zonos.js +92 -35
  219. package/dist/types/components/hello/zonos-hello/zonos-hello.d.ts +24 -1
  220. package/dist/types/components/hello/zonos-hello-dialog/zonos-hello-dialog.d.ts +6 -0
  221. package/dist/types/components/store/translationStore/strings.arabic.d.ts +9 -0
  222. package/dist/types/components/store/translationStore/strings.base.d.ts +9 -0
  223. package/dist/types/components/store/translationStore/strings.chinese.d.ts +9 -0
  224. package/dist/types/components/store/translationStore/strings.danish.d.ts +9 -0
  225. package/dist/types/components/store/translationStore/strings.dutch.d.ts +9 -0
  226. package/dist/types/components/store/translationStore/strings.french.d.ts +9 -0
  227. package/dist/types/components/store/translationStore/strings.german.d.ts +9 -0
  228. package/dist/types/components/store/translationStore/strings.hebrew.d.ts +9 -0
  229. package/dist/types/components/store/translationStore/strings.indonesian.d.ts +9 -0
  230. package/dist/types/components/store/translationStore/strings.italian.d.ts +9 -0
  231. package/dist/types/components/store/translationStore/strings.japanese.d.ts +9 -0
  232. package/dist/types/components/store/translationStore/strings.korean.d.ts +9 -0
  233. package/dist/types/components/store/translationStore/strings.norwegian.d.ts +9 -0
  234. package/dist/types/components/store/translationStore/strings.polish.d.ts +9 -0
  235. package/dist/types/components/store/translationStore/strings.portuguese.d.ts +9 -0
  236. package/dist/types/components/store/translationStore/strings.russian.d.ts +9 -0
  237. package/dist/types/components/store/translationStore/strings.spanish.d.ts +9 -0
  238. package/dist/types/components/store/translationStore/strings.swedish.d.ts +9 -0
  239. package/dist/types/components/store/translationStore/strings.turkish.d.ts +9 -0
  240. package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +9 -0
  241. package/dist/types/components/store/zonosStore.d.ts +1 -1
  242. package/dist/types/components/utils/api/checkItemRestrictions.d.ts +22 -0
  243. package/dist/types/components/utils/hello/detectItemRestrictions.d.ts +14 -0
  244. package/dist/types/components/utils/hello/getCurrentHelloLocalePage.d.ts +2 -1
  245. package/dist/types/components/utils/hello/getProductsOnPage.d.ts +2 -0
  246. package/dist/types/components/utils/hello/setZonosCountryUrlParam.d.ts +2 -0
  247. package/dist/types/components.d.ts +12 -0
  248. package/dist/types/environment.d.ts +9 -0
  249. package/dist/types/scripts/loadStripe.d.ts +1 -1
  250. package/dist/types/scripts/stripe.d.ts +2 -2
  251. package/dist/types/scripts/zonos.d.ts +2 -0
  252. package/dist/types/types/generated/graphql.customer.types.d.ts +75 -1
  253. package/dist/types/types/generated/graphql.customer.types.ts +113 -1
  254. package/dist/types/types/hello/HelloConfig.d.ts +4 -0
  255. package/dist/types/types/hello/Product.d.ts +5 -0
  256. package/dist/types/types/hello/RestrictedItem.d.ts +6 -0
  257. package/dist/zonos-elements/assets/ChevronDownIcon.svg +1 -1
  258. package/dist/zonos-elements/assets/ChevronUpIcon.svg +1 -1
  259. package/dist/zonos-elements/assets/InfoIcon.svg +1 -1
  260. package/dist/zonos-elements/assets/LeftArrow.svg +1 -1
  261. package/dist/zonos-elements/assets/MessageIcon.svg +1 -1
  262. package/dist/zonos-elements/assets/RemoveIcon.svg +1 -1
  263. package/dist/zonos-elements/assets/SuccessIcon.svg +1 -1
  264. package/dist/zonos-elements/assets/bagIcon.svg +1 -1
  265. package/dist/zonos-elements/assets/messageIcon.svg +1 -1
  266. package/dist/zonos-elements/assets/moneyIcon.svg +1 -1
  267. package/dist/zonos-elements/assets/removeIcon.svg +1 -1
  268. package/dist/zonos-elements/cart-c641ddaf.system.js +2 -0
  269. package/dist/zonos-elements/{cart-9780fa28.system.js.map → cart-c641ddaf.system.js.map} +1 -1
  270. package/dist/{esm/cart-2f83e048.js → zonos-elements/cart-d00e1acb.js} +8 -8
  271. package/dist/zonos-elements/{cart-2f83e048.js.map → cart-d00e1acb.js.map} +1 -1
  272. package/dist/zonos-elements/{getBorderRadius-4fbe49de.system.js → getBorderRadius-b59c3ada.system.js} +2 -2
  273. package/dist/{esm/getBorderRadius-82fbaf25.js → zonos-elements/getBorderRadius-e8ad5967.js} +2 -2
  274. package/dist/zonos-elements/{getBorderRadius-82fbaf25.js.map → getBorderRadius-e8ad5967.js.map} +1 -1
  275. package/dist/zonos-elements/{isDarkColor-dc2b7c8f.system.js → isDarkColor-231502d4.system.js} +2 -2
  276. package/dist/{esm/isDarkColor-b21326ae.js → zonos-elements/isDarkColor-3bb345f4.js} +2 -2
  277. package/dist/{esm/isDarkColor-b21326ae.js.map → zonos-elements/isDarkColor-3bb345f4.js.map} +1 -1
  278. package/dist/{esm/localization-4a424f49.js → zonos-elements/localization-1d92a557.js} +200 -13
  279. package/dist/zonos-elements/localization-1d92a557.js.map +1 -0
  280. package/dist/zonos-elements/localization-a6b6a5a5.system.js +2 -0
  281. package/dist/zonos-elements/localization-a6b6a5a5.system.js.map +1 -0
  282. package/dist/zonos-elements/submitGtag-764af8c4.system.js +2 -0
  283. package/dist/{esm/submitGtag-fbdb454b.js → zonos-elements/submitGtag-85914088.js} +3 -3
  284. package/dist/zonos-elements/{submitGtag-fbdb454b.js.map → submitGtag-85914088.js.map} +1 -1
  285. package/dist/zonos-elements/zonos-address_2.entry.js +5 -5
  286. package/dist/zonos-elements/zonos-address_2.system.entry.js +1 -1
  287. package/dist/zonos-elements/zonos-banner.entry.js +64 -0
  288. package/dist/zonos-elements/zonos-banner.entry.js.map +1 -0
  289. package/dist/zonos-elements/zonos-banner.system.entry.js +2 -0
  290. package/dist/zonos-elements/zonos-banner.system.entry.js.map +1 -0
  291. package/dist/zonos-elements/zonos-button_2.entry.js +3 -3
  292. package/dist/zonos-elements/zonos-button_2.system.entry.js +1 -1
  293. package/dist/zonos-elements/zonos-cart-items_10.entry.js +12 -12
  294. package/dist/zonos-elements/zonos-cart-items_10.system.entry.js +1 -1
  295. package/dist/zonos-elements/zonos-cart-items_10.system.entry.js.map +1 -1
  296. package/dist/zonos-elements/zonos-checkout.entry.js +9 -9
  297. package/dist/zonos-elements/zonos-checkout.system.entry.js +1 -1
  298. package/dist/zonos-elements/zonos-checkout.system.entry.js.map +1 -1
  299. package/dist/zonos-elements/zonos-controller.entry.js +6 -6
  300. package/dist/zonos-elements/zonos-controller.entry.js.map +1 -1
  301. package/dist/zonos-elements/zonos-controller.system.entry.js +1 -1
  302. package/dist/zonos-elements/zonos-controller.system.entry.js.map +1 -1
  303. package/dist/zonos-elements/zonos-country-flag_4.entry.js +6 -6
  304. package/dist/zonos-elements/zonos-country-flag_4.system.entry.js +1 -1
  305. package/dist/zonos-elements/zonos-country-flag_4.system.entry.js.map +1 -1
  306. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  307. package/dist/zonos-elements/zonos-elements.system.js +1 -1
  308. package/dist/zonos-elements/zonos-elements.system.js.map +1 -1
  309. package/dist/zonos-elements/zonos-hello-dialog.entry.js +12 -8
  310. package/dist/zonos-elements/zonos-hello-dialog.entry.js.map +1 -1
  311. package/dist/zonos-elements/zonos-hello-dialog.system.entry.js +1 -1
  312. package/dist/zonos-elements/zonos-hello-dialog.system.entry.js.map +1 -1
  313. package/dist/zonos-elements/zonos-hello.entry.js +237 -22
  314. package/dist/zonos-elements/zonos-hello.entry.js.map +1 -1
  315. package/dist/zonos-elements/zonos-hello.system.entry.js +1 -1
  316. package/dist/zonos-elements/zonos-hello.system.entry.js.map +1 -1
  317. package/dist/zonos-elements/zonos-payment.entry.js +56 -0
  318. package/dist/zonos-elements/zonos-payment.entry.js.map +1 -0
  319. package/dist/zonos-elements/zonos-payment.system.entry.js +2 -0
  320. package/dist/zonos-elements/zonos-payment.system.entry.js.map +1 -0
  321. package/dist/zonos-elements/zonos-shipping-rich-radio.entry.js +3 -3
  322. package/dist/zonos-elements/zonos-shipping-rich-radio.entry.js.map +1 -1
  323. package/dist/zonos-elements/zonos-shipping-rich-radio.system.entry.js +1 -1
  324. package/dist/zonos-elements/zonos-shipping-rich-radio.system.entry.js.map +1 -1
  325. package/dist/{esm/zonosStore-13a7b534.js → zonos-elements/zonosStore-1c9c7d76.js} +6 -22
  326. package/dist/zonos-elements/zonosStore-1c9c7d76.js.map +1 -0
  327. package/dist/zonos-elements/zonosStore-e5c545ea.system.js +2 -0
  328. package/dist/zonos-elements/zonosStore-e5c545ea.system.js.map +1 -0
  329. package/package.json +1 -1
  330. package/dist/cjs/localization-f6a1b679.js.map +0 -1
  331. package/dist/cjs/zonos-banner_2.cjs.entry.js +0 -120
  332. package/dist/cjs/zonos-banner_2.cjs.entry.js.map +0 -1
  333. package/dist/cjs/zonosStore-960e5542.js.map +0 -1
  334. package/dist/esm/localization-4a424f49.js.map +0 -1
  335. package/dist/esm/zonos-banner_2.entry.js +0 -115
  336. package/dist/esm/zonos-banner_2.entry.js.map +0 -1
  337. package/dist/esm/zonosStore-13a7b534.js.map +0 -1
  338. package/dist/esm-es5/cart-2f83e048.js +0 -2
  339. package/dist/esm-es5/localization-4a424f49.js +0 -2
  340. package/dist/esm-es5/localization-4a424f49.js.map +0 -1
  341. package/dist/esm-es5/zonos-banner_2.entry.js +0 -2
  342. package/dist/esm-es5/zonos-banner_2.entry.js.map +0 -1
  343. package/dist/esm-es5/zonosStore-13a7b534.js +0 -2
  344. package/dist/esm-es5/zonosStore-13a7b534.js.map +0 -1
  345. package/dist/zonos-elements/cart-9780fa28.system.js +0 -2
  346. package/dist/zonos-elements/localization-3c43290f.system.js +0 -2
  347. package/dist/zonos-elements/localization-3c43290f.system.js.map +0 -1
  348. package/dist/zonos-elements/localization-4a424f49.js.map +0 -1
  349. package/dist/zonos-elements/submitGtag-23ecdc20.system.js +0 -2
  350. package/dist/zonos-elements/zonos-banner_2.entry.js +0 -115
  351. package/dist/zonos-elements/zonos-banner_2.entry.js.map +0 -1
  352. package/dist/zonos-elements/zonos-banner_2.system.entry.js +0 -2
  353. package/dist/zonos-elements/zonos-banner_2.system.entry.js.map +0 -1
  354. package/dist/zonos-elements/zonosStore-13a7b534.js.map +0 -1
  355. package/dist/zonos-elements/zonosStore-77bcd7c0.system.js +0 -2
  356. package/dist/zonos-elements/zonosStore-77bcd7c0.system.js.map +0 -1
  357. /package/dist/esm-es5/{getBorderRadius-82fbaf25.js.map → getBorderRadius-e8ad5967.js.map} +0 -0
  358. /package/dist/esm-es5/{isDarkColor-b21326ae.js.map → isDarkColor-3bb345f4.js.map} +0 -0
  359. /package/dist/esm-es5/{submitGtag-fbdb454b.js.map → submitGtag-85914088.js.map} +0 -0
  360. /package/dist/zonos-elements/{getBorderRadius-4fbe49de.system.js.map → getBorderRadius-b59c3ada.system.js.map} +0 -0
  361. /package/dist/zonos-elements/{isDarkColor-dc2b7c8f.system.js.map → isDarkColor-231502d4.system.js.map} +0 -0
  362. /package/dist/zonos-elements/{submitGtag-23ecdc20.system.js.map → submitGtag-764af8c4.system.js.map} +0 -0
@@ -4,7 +4,7 @@ import { logError } from "../components/utils/logging/logError";
4
4
  const V3_URL = 'https://js.stripe.com/v3';
5
5
  const V3_URL_REGEX = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;
6
6
  const EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';
7
- export const findScript = () => {
7
+ export const zonosStripeFindScript = () => {
8
8
  const scripts = document.querySelectorAll(`script[src^="${V3_URL}"]`);
9
9
  for (let i = 0; i < scripts.length; i++) {
10
10
  const script = scripts[i];
@@ -31,7 +31,7 @@ export const injectScript = (params) => {
31
31
  headBody.appendChild(script);
32
32
  return script;
33
33
  };
34
- export const loadScript = (params) => {
34
+ export const zonosStripeLoadScript = (params) => {
35
35
  // Ensure that we only attempt to load Stripe.js at most once
36
36
  if (stripePromise !== null) {
37
37
  return stripePromise;
@@ -51,7 +51,7 @@ export const loadScript = (params) => {
51
51
  return;
52
52
  }
53
53
  try {
54
- let script = findScript();
54
+ let script = zonosStripeFindScript();
55
55
  if (script && params) {
56
56
  console.warn(EXISTING_SCRIPT_MESSAGE);
57
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../src/scripts/stripe.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-console */\n/** Loading stripe script extracted from stripe.js repository */\n\nimport type { Stripe, StripeConstructor } from '@stripe/stripe-js';\n\nimport { logError } from 'src/components/utils/logging/logError';\n\nconst V3_URL = 'https://js.stripe.com/v3';\nconst V3_URL_REGEX = /^https:\\/\\/js\\.stripe\\.com\\/v3\\/?(\\?.*)?$/;\n\nconst EXISTING_SCRIPT_MESSAGE =\n 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-definitions\nexport interface LoadParams {\n advancedFraudSignals: boolean;\n}\n\nexport type LoadStripe = (\n ...args: Parameters<StripeConstructor>\n) => Promise<Stripe | null>;\n\nexport const findScript = (): HTMLScriptElement | null => {\n const scripts = document.querySelectorAll<HTMLScriptElement>(\n `script[src^=\"${V3_URL}\"]`,\n );\n\n for (let i = 0; i < scripts.length; i++) {\n const script = scripts[i];\n if (!script) {\n continue;\n }\n\n if (!V3_URL_REGEX.test(script.src)) {\n continue;\n }\n\n return script;\n }\n\n return null;\n};\n\nlet stripePromise: Promise<StripeConstructor | null> | null = null;\n\nexport const injectScript = (\n params: null | LoadParams,\n): HTMLScriptElement | null => {\n const queryString =\n params && !params.advancedFraudSignals ? '?advancedFraudSignals=false' : '';\n const script = document.createElement('script');\n script.src = `${V3_URL}${queryString}`;\n\n const headBody = document.head || document.body;\n\n if (!headBody) {\n logError(\n 'Expected document.body not to be null. Stripe.js requires a <body> element.',\n );\n\n return null;\n }\n\n headBody.appendChild(script);\n\n return script;\n};\n\nexport const loadScript = (\n params: null | LoadParams,\n): Promise<StripeConstructor | null> => {\n // Ensure that we only attempt to load Stripe.js at most once\n if (stripePromise !== null) {\n return stripePromise;\n }\n\n stripePromise = new Promise((resolve, reject) => {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n // Resolve to null when imported server side. This makes the module\n // safe to import in an isomorphic code base.\n resolve(null);\n return;\n }\n\n if (window.Stripe && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n }\n\n if (window.Stripe) {\n resolve(window.Stripe);\n return;\n }\n\n try {\n let script = findScript();\n\n if (script && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n } else if (!script) {\n script = injectScript(params);\n }\n\n script?.addEventListener('load', () => {\n if (window.Stripe) {\n resolve(window.Stripe);\n } else {\n reject(new Error('Stripe.js not available'));\n }\n });\n\n script?.addEventListener('error', () => {\n reject(new Error('Failed to load Stripe.js'));\n });\n } catch (error) {\n reject(error);\n return;\n }\n });\n\n return stripePromise;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst registerWrapper = (stripe: any, startTime: number): void => {\n if (!stripe || !stripe._registerWrapper) {\n return;\n }\n\n stripe._registerWrapper({ name: 'stripe-js', startTime });\n};\n\nexport const initStripe = (\n maybeStripe: StripeConstructor | null,\n args: Parameters<StripeConstructor>,\n startTime: number,\n): Stripe | null => {\n if (maybeStripe === null) {\n return null;\n }\n\n const stripe = maybeStripe.apply(undefined, args);\n registerWrapper(stripe, startTime);\n return stripe;\n};\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport const validateLoadParams = (params: {\n advancedFraudSignals: boolean;\n}): LoadParams | void => {\n const errorMessage = `invalid load parameters; expected object of shape\n\n {advancedFraudSignals: boolean}\n\nbut received\n\n ${JSON.stringify(params)}\n`;\n\n if (params === null || typeof params !== 'object') {\n logError(errorMessage);\n return;\n }\n\n if (\n Object.keys(params).length === 1 &&\n typeof params.advancedFraudSignals === 'boolean'\n ) {\n return params;\n }\n\n logError(errorMessage);\n};\n"]}
1
+ {"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../src/scripts/stripe.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-console */\n/** Loading stripe script extracted from stripe.js repository */\n\nimport type { Stripe, StripeConstructor } from '@stripe/stripe-js';\n\nimport { logError } from 'src/components/utils/logging/logError';\n\nconst V3_URL = 'https://js.stripe.com/v3';\nconst V3_URL_REGEX = /^https:\\/\\/js\\.stripe\\.com\\/v3\\/?(\\?.*)?$/;\n\nconst EXISTING_SCRIPT_MESSAGE =\n 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-definitions\nexport interface LoadParams {\n advancedFraudSignals: boolean;\n}\n\nexport type LoadStripe = (\n ...args: Parameters<StripeConstructor>\n) => Promise<Stripe | null>;\n\nexport const zonosStripeFindScript = (): HTMLScriptElement | null => {\n const scripts = document.querySelectorAll<HTMLScriptElement>(\n `script[src^=\"${V3_URL}\"]`,\n );\n\n for (let i = 0; i < scripts.length; i++) {\n const script = scripts[i];\n if (!script) {\n continue;\n }\n\n if (!V3_URL_REGEX.test(script.src)) {\n continue;\n }\n\n return script;\n }\n\n return null;\n};\n\nlet stripePromise: Promise<StripeConstructor | null> | null = null;\n\nexport const injectScript = (\n params: null | LoadParams,\n): HTMLScriptElement | null => {\n const queryString =\n params && !params.advancedFraudSignals ? '?advancedFraudSignals=false' : '';\n const script = document.createElement('script');\n script.src = `${V3_URL}${queryString}`;\n\n const headBody = document.head || document.body;\n\n if (!headBody) {\n logError(\n 'Expected document.body not to be null. Stripe.js requires a <body> element.',\n );\n\n return null;\n }\n\n headBody.appendChild(script);\n\n return script;\n};\n\nexport const zonosStripeLoadScript = (\n params: null | LoadParams,\n): Promise<StripeConstructor | null> => {\n // Ensure that we only attempt to load Stripe.js at most once\n if (stripePromise !== null) {\n return stripePromise;\n }\n\n stripePromise = new Promise((resolve, reject) => {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n // Resolve to null when imported server side. This makes the module\n // safe to import in an isomorphic code base.\n resolve(null);\n return;\n }\n\n if (window.Stripe && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n }\n\n if (window.Stripe) {\n resolve(window.Stripe);\n return;\n }\n\n try {\n let script = zonosStripeFindScript();\n\n if (script && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n } else if (!script) {\n script = injectScript(params);\n }\n\n script?.addEventListener('load', () => {\n if (window.Stripe) {\n resolve(window.Stripe);\n } else {\n reject(new Error('Stripe.js not available'));\n }\n });\n\n script?.addEventListener('error', () => {\n reject(new Error('Failed to load Stripe.js'));\n });\n } catch (error) {\n reject(error);\n return;\n }\n });\n\n return stripePromise;\n};\n\ntype StripeRegisterWrapper = {\n _registerWrapper?: (wrapper: { name: string; startTime: number }) => void;\n} & Stripe;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst registerWrapper = (\n stripe: StripeRegisterWrapper,\n startTime: number,\n): void => {\n if (!stripe || !stripe._registerWrapper) {\n return;\n }\n\n stripe._registerWrapper({ name: 'stripe-js', startTime });\n};\n\nexport const initStripe = (\n maybeStripe: StripeConstructor | null,\n args: Parameters<StripeConstructor>,\n startTime: number,\n): Stripe | null => {\n if (maybeStripe === null) {\n return null;\n }\n\n const stripe = maybeStripe.apply(undefined, args);\n registerWrapper(stripe, startTime);\n return stripe;\n};\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport const validateLoadParams = (params: {\n advancedFraudSignals: boolean;\n}): LoadParams | void => {\n const errorMessage = `invalid load parameters; expected object of shape\n\n {advancedFraudSignals: boolean}\n\nbut received\n\n ${JSON.stringify(params)}\n`;\n\n if (params === null || typeof params !== 'object') {\n logError(errorMessage);\n return;\n }\n\n if (\n Object.keys(params).length === 1 &&\n typeof params.advancedFraudSignals === 'boolean'\n ) {\n return params;\n }\n\n logError(errorMessage);\n};\n"]}
@@ -1,8 +1,9 @@
1
1
  var _a;
2
2
  import { log } from "../components/utils/logging/log";
3
3
  import { logError } from "../components/utils/logging/logError";
4
- import { loadStripe } from "./loadStripe";
4
+ import { zonosLoadStripe } from "./loadStripe";
5
5
  const ZONOS_URL = process.env.NEXT_PUBLIC_ZONOS_CDN_URL;
6
+ const UNPKG_ZONOS_URL = process.env.NEXT_PUBLIC_ZONOS_UNPKG_CDN_URL;
6
7
  const INTER_FONT_URL = 'https://rsms.me';
7
8
  const INTER_FONT_REGEX = /^https:\/\/rsms\.me\/inter\/inter\.css(.*)$/;
8
9
  export class Zonos {
@@ -16,7 +17,7 @@ Zonos.init = async ({ appearance, checkoutSettings, currencyConverter, helloSett
16
17
  // do nothing if zonos is already initializeds
17
18
  return;
18
19
  }
19
- log('====== ZONOS DEBUG MODE: on ======');
20
+ log(`====== ZONOS DEBUG MODE: on (v${process.env.NEXT_PUBLIC_ZONOS_PACKAGE_VERSION}) ======`);
20
21
  if (!zonosApiKey) {
21
22
  logError('Missing Zonos API key');
22
23
  return;
@@ -62,7 +63,7 @@ Zonos.injectController = ({ config, zonosApiKey, }) => {
62
63
  zonosController.addEventListener('stripeInitEvent', async (event) => {
63
64
  const { detail } = event;
64
65
  log('loading Stripe');
65
- const stripe = await loadStripe(detail.publishableKey);
66
+ const stripe = await zonosLoadStripe(detail.publishableKey);
66
67
  if (!stripe) {
67
68
  logError('API seems to be invalid or missing. Failed to load Stripe');
68
69
  return;
@@ -74,36 +75,93 @@ Zonos.injectController = ({ config, zonosApiKey, }) => {
74
75
  // eslint-disable-next-line no-console
75
76
  log('Zonos controller injected!');
76
77
  };
77
- Zonos.injectZonosCdn = () => {
78
+ Zonos.injectScript = ({ fallBackDomain, isModule, scriptDomain, theRestUrl, }) => {
79
+ const fullScriptUrl = `${scriptDomain}/${theRestUrl}`;
78
80
  const findScript = () => {
79
- const scripts = document.querySelectorAll(`script[src^="${ZONOS_URL}/dist/zonos-elements"]`);
80
- scripts.forEach(script => {
81
- if (script.src.indexOf('zonos-elements.js')) {
82
- return true;
83
- }
84
- });
85
- return false;
81
+ const script = document.querySelector(`script[src="${fullScriptUrl}"]`);
82
+ return !!script;
86
83
  };
87
84
  if (findScript()) {
88
85
  // eslint-disable-next-line no-console
89
- log('Zonos script already exists in the document', 'warn');
86
+ log(`Zonos script "${fullScriptUrl}" already exists in the document`, 'warn');
90
87
  return;
91
88
  }
92
89
  const headOrBody = document.head || document.body;
93
90
  // init zonos elements when the zonosKey is valid
94
91
  // inject esmodule cdn for zonos elements
95
- const zonosEsmCdn = document.createElement('script');
96
- zonosEsmCdn.type = 'module';
97
- zonosEsmCdn.src = `${ZONOS_URL}/dist/zonos-elements/zonos-elements.esm.js`;
98
- headOrBody.appendChild(zonosEsmCdn);
92
+ const script = document.createElement('script');
93
+ if (!!isModule) {
94
+ script.type = 'module';
95
+ }
96
+ else {
97
+ script.noModule = true;
98
+ }
99
+ script.src = fullScriptUrl;
100
+ script.onerror = () => {
101
+ // only fallback if the stylesheetDomain is versioned. (https://v1.2.3.something.com || https://v1.something.com)
102
+ const isVersioned = /\/\/v\d+\./g.test(scriptDomain);
103
+ if (!isVersioned) {
104
+ log('No need to fallback since this is not a versioned domain', 'warn');
105
+ return;
106
+ }
107
+ if (fallBackDomain) {
108
+ _a.injectScript({
109
+ isModule,
110
+ scriptDomain: fallBackDomain,
111
+ theRestUrl,
112
+ });
113
+ }
114
+ logError(`Failed to load ${script.src}`);
115
+ };
116
+ headOrBody.appendChild(script);
117
+ };
118
+ Zonos.injectZonosCdn = () => {
119
+ // init zonos elements when the zonosKey is valid
120
+ // inject esmodule cdn for zonos elements
121
+ _a.injectScript({
122
+ fallBackDomain: UNPKG_ZONOS_URL,
123
+ isModule: true,
124
+ scriptDomain: ZONOS_URL,
125
+ theRestUrl: 'dist/zonos-elements/zonos-elements.esm.js',
126
+ });
99
127
  // inject non module cdn for zonos elements
100
- const zonosCdn = document.createElement('script');
101
- zonosCdn.noModule = true;
102
- zonosCdn.src = `${ZONOS_URL}/dist/zonos-elements/zonos-elements.js`;
103
- headOrBody.appendChild(zonosCdn);
128
+ _a.injectScript({
129
+ fallBackDomain: UNPKG_ZONOS_URL,
130
+ isModule: false,
131
+ scriptDomain: ZONOS_URL,
132
+ theRestUrl: 'dist/zonos-elements/zonos-elements.js',
133
+ });
104
134
  // eslint-disable-next-line no-console
105
135
  log('Zonos cdn script injected!');
106
136
  };
137
+ Zonos.injectStylesheet = ({ fallBackDomain, stylesheetDomain, theRestUrl, }) => {
138
+ const headOrBody = document.head || document.body;
139
+ // inject preconnect css for zonos elements
140
+ const zonosCssPreconnect = document.createElement('link');
141
+ zonosCssPreconnect.rel = 'preconnect';
142
+ zonosCssPreconnect.href = `${ZONOS_URL}/`;
143
+ headOrBody.appendChild(zonosCssPreconnect);
144
+ // inject css for zonos elements
145
+ const zonosCss = document.createElement('link');
146
+ zonosCss.rel = 'stylesheet';
147
+ zonosCss.href = `${stylesheetDomain}/${theRestUrl}`;
148
+ zonosCss.onerror = () => {
149
+ // only fallback if the stylesheetDomain is versioned. (https://v1.2.3.something.com || https://v1.something.com)
150
+ const isVersioned = /\/\/v\d+\./g.test(stylesheetDomain);
151
+ if (!isVersioned) {
152
+ log('No need to fallback since this is not a versioned domain', 'warn');
153
+ return;
154
+ }
155
+ if (fallBackDomain && isVersioned) {
156
+ _a.injectStylesheet({
157
+ stylesheetDomain: fallBackDomain,
158
+ theRestUrl,
159
+ });
160
+ }
161
+ logError(`Failed to load ${zonosCss.href}`);
162
+ };
163
+ headOrBody.appendChild(zonosCss);
164
+ };
107
165
  Zonos.injectZonosCss = () => {
108
166
  const findStyleLink = () => {
109
167
  return !!document.querySelector(`link[rel="stylesheet"][href^="${ZONOS_URL}/dist/zonos-elements/zonos-elements.css"]`);
@@ -113,17 +171,12 @@ Zonos.injectZonosCss = () => {
113
171
  log('Zonos style links already injected', 'warn');
114
172
  return;
115
173
  }
116
- const headOrBody = document.head || document.body;
117
174
  // inject css for zonos elements
118
- const zonosCssPreconnect = document.createElement('link');
119
- zonosCssPreconnect.rel = 'preconnect';
120
- zonosCssPreconnect.href = `${ZONOS_URL}/`;
121
- headOrBody.appendChild(zonosCssPreconnect);
122
- // inject css for zonos elements
123
- const zonosCss = document.createElement('link');
124
- zonosCss.rel = 'stylesheet';
125
- zonosCss.href = `${ZONOS_URL}/dist/zonos-elements/zonos-elements.css`;
126
- headOrBody.appendChild(zonosCss);
175
+ _a.injectStylesheet({
176
+ fallBackDomain: UNPKG_ZONOS_URL,
177
+ stylesheetDomain: ZONOS_URL,
178
+ theRestUrl: 'dist/zonos-elements/zonos-elements.css',
179
+ });
127
180
  // eslint-disable-next-line no-console
128
181
  log('Zonos style css injected!');
129
182
  };
@@ -1 +1 @@
1
- {"version":3,"file":"zonos.js","sourceRoot":"","sources":["../../src/scripts/zonos.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,kCAAkC,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;AAExD,MAAM,cAAc,GAAG,iBAAiB,CAAC;AACzC,MAAM,gBAAgB,GAAG,6CAA6C,CAAC;AAsCvE,MAAM,OAAgB,KAAK;;;AAGlB,cAAQ,GAAY,KAAK,AAAjB,CAAkB;AACjC,2DAA2D;AACpD,WAAK,GACV,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,AAD5C,CAC6C;AAElD,UAAI,GAAG,KAAK,EAAE,EACnB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,WAAW,GACK,EAAE,EAAE;EACpB,IAAI,KAAK,CAAC,QAAQ,EAAE;IAClB,8CAA8C;IAC9C,OAAO;GACR;EACD,GAAG,CAAC,oCAAoC,CAAC,CAAC;EAC1C,IAAI,CAAC,WAAW,EAAE;IAChB,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IAClC,OAAO;GACR;EACD,EAAI,CAAC,WAAW,GAAG,WAAW,CAAC;EAC/B,sCAAsC;EACtC,GAAG,CAAC,YAAY,CAAC,CAAC;EAElB,mBAAmB;EACnB,KAAK,CAAC,cAAc,EAAE,CAAC;EAEvB,gCAAgC;EAChC,KAAK,CAAC,cAAc,EAAE,CAAC;EAEvB,kCAAkC;EAClC,KAAK,CAAC,WAAW,EAAE,CAAC;EAEpB,wBAAwB;EACxB,KAAK,CAAC,gBAAgB,CAAC;IACrB,MAAM,EAAE;MACN,UAAU;MACV,gBAAgB;MAChB,iBAAiB;MACjB,aAAa;KACd;IACD,WAAW;GACZ,CAAC,CAAC;EACH,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;AACxB,CAAC,AAxCU,CAwCT;AAEK,qBAAe,GAAG,GAAG,EAAE;EAC5B,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;EACzD,IAAI,UAAU,EAAE;IACd,KAAK,UAAU,CAAC,eAAe,EAAE,CAAC;GACnC;AACH,CAAC,AALqB,CAKpB;AAEK,sBAAgB,GAAG,CAAC,YAA8B,EAAE,EAAE;EAC3D,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;EACnE,KAAK,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA,CAAC;AACvD,CAAC,AAHsB,CAGrB;AAEa,sBAAgB,GAAG,CAAC,EACjC,MAAM,EACN,WAAW,GAIZ,EAAE,EAAE;EACH,IAAI,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE;IAC9C,OAAO;GACR;EACD,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;EACnE,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC;EAChC,eAAe,CAAC,WAAW,GAAG,WAAW,CAAC;EAE1C,eAAe,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;IAChE,MAAM,EAAE,MAAM,EAAE,GAAG,KAEjB,CAAC;IACH,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACtB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM,EAAE;MACX,QAAQ,CAAC,2DAA2D,CAAC,CAAC;MACtE,OAAO;KACR;IACD,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAC7B,KAAK,eAAe,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;EACnD,CAAC,CAAC,CAAC;EAEH,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;EAC3C,sCAAsC;EACtC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AACpC,CAAC,AA/B8B,CA+B7B;AAEa,oBAAc,GAAG,GAAG,EAAE;EACnC,MAAM,UAAU,GAAG,GAAG,EAAE;IACtB,MAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CACvC,gBAAgB,SAAS,wBAAwB,CAClD,CAAC;IACF,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;MACvB,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE;QAC3C,OAAO,IAAI,CAAC;OACb;IACH,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;EACf,CAAC,CAAC;EACF,IAAI,UAAU,EAAE,EAAE;IAChB,sCAAsC;IACtC,GAAG,CAAC,6CAA6C,EAAE,MAAM,CAAC,CAAC;IAC3D,OAAO;GACR;EACD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;EAClD,iDAAiD;EACjD,yCAAyC;EACzC,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;EACrD,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC;EAC5B,WAAW,CAAC,GAAG,GAAG,GAAG,SAAS,4CAA4C,CAAC;EAC3E,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;EAEpC,2CAA2C;EAC3C,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;EAClD,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;EACzB,QAAQ,CAAC,GAAG,GAAG,GAAG,SAAS,wCAAwC,CAAC;EACpE,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;EACjC,sCAAsC;EACtC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AACpC,CAAC,AAhC4B,CAgC3B;AAEa,oBAAc,GAAG,GAAG,EAAE;EACnC,MAAM,aAAa,GAAG,GAAG,EAAE;IACzB,OAAO,CAAC,CAAC,QAAQ,CAAC,aAAa,CAC7B,iCAAiC,SAAS,2CAA2C,CACtF,CAAC;EACJ,CAAC,CAAC;EAEF,IAAI,aAAa,EAAE,EAAE;IACnB,sCAAsC;IACtC,GAAG,CAAC,oCAAoC,EAAE,MAAM,CAAC,CAAC;IAClD,OAAO;GACR;EAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;EAClD,gCAAgC;EAChC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;EAC1D,kBAAkB,CAAC,GAAG,GAAG,YAAY,CAAC;EACtC,kBAAkB,CAAC,IAAI,GAAG,GAAG,SAAS,GAAG,CAAC;EAC1C,UAAU,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;EAC3C,gCAAgC;EAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;EAChD,QAAQ,CAAC,GAAG,GAAG,YAAY,CAAC;EAC5B,QAAQ,CAAC,IAAI,GAAG,GAAG,SAAS,yCAAyC,CAAC;EACtE,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;EACjC,sCAAsC;EACtC,GAAG,CAAC,2BAA2B,CAAC,CAAC;AACnC,CAAC,AA1B4B,CA0B3B;AAEa,iBAAW,GAAG,GAAG,EAAE;EAChC,MAAM,QAAQ,GAAG,GAAG,EAAE;IACpB,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CACrC,iCAAiC,cAAc,IAAI,CACpD,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;MACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;MACtB,IAAI,CAAC,IAAI,EAAE;QACT,SAAS;OACV;MAED,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACpC,SAAS;OACV;MAED,OAAO,IAAI,CAAC;KACb;IAED,OAAO,IAAI,CAAC;EACd,CAAC,CAAC;EAEF,IAAI,QAAQ,EAAE,EAAE;IACd,sCAAsC;IACtC,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;IAC3C,OAAO;GACR;EAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;EAElD,gCAAgC;EAChC,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;EACtD,cAAc,CAAC,GAAG,GAAG,YAAY,CAAC;EAClC,cAAc,CAAC,IAAI,GAAG,cAAc,CAAC;EACrC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;EACvC,gCAAgC;EAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;EAC5C,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC;EACxB,IAAI,CAAC,IAAI,GAAG,GAAG,cAAc,kBAAkB,CAAC;EAChD,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;EAC7B,sCAAsC;EACtC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAC9B,CAAC,AA1CyB,CA0CxB","sourcesContent":["import type { Stripe } from '@stripe/stripe-js';\n\nimport type { AppearanceConfig } from 'src/components/store/zonosStore';\nimport { log } from 'src/components/utils/logging/log';\nimport { logError } from 'src/components/utils/logging/logError';\nimport { loadStripe } from 'src/scripts/loadStripe';\nimport type { CheckoutConfig, HelloConfig, NotificationInit } from 'src/types';\nimport type { OnlineStoreConfig } from 'src/types/online-store/OnlineStoreConfig';\n\nconst ZONOS_URL = process.env.NEXT_PUBLIC_ZONOS_CDN_URL;\n\nconst INTER_FONT_URL = 'https://rsms.me';\nconst INTER_FONT_REGEX = /^https:\\/\\/rsms\\.me\\/inter\\/inter\\.css(.*)$/;\n\nexport type CurrencyConverter = (\n convertAndFormat: (amount: number) => string,\n convert: (amount: number) => number,\n format: (amount: number) => string,\n selector?: string,\n) => void;\n\nexport type LoadZonosParamsConfig = {\n appearance?: Partial<AppearanceConfig>;\n checkoutSettings?: Partial<CheckoutConfig>;\n currencyConverter?: CurrencyConverter;\n helloSettings?: Partial<HelloConfig>;\n onlineStoreSettings?: Partial<OnlineStoreConfig>;\n};\n\nexport type LoadZonosParams = LoadZonosParamsConfig & {\n zonosApiKey: string;\n};\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-definitions\nexport interface Zonos {\n /**\n * Toggle debug mode (add query param 'zonosDebug=1' to url)\n * @default false\n */\n debug?: boolean;\n // status of zonos initialization\n doneInit: boolean;\n /** Stripe instance */\n stripe: Stripe;\n zonosApiKey: string;\n displayCurrency: () => void;\n init: (params: LoadZonosParams) => Promise<void>;\n showNotification: (props: NotificationInit) => void;\n}\n\nexport abstract class Zonos {\n static zonosApiKey: string;\n static stripe: Stripe;\n static doneInit: boolean = false;\n // if query 'zonosDebug=1' param from url, debug mode is on\n static debug: boolean =\n !!window.location.search.match(/\\?.*(&*)zonosDebug=1/);\n\n static init = async ({\n appearance,\n checkoutSettings,\n currencyConverter,\n helloSettings,\n zonosApiKey,\n }: LoadZonosParams) => {\n if (Zonos.doneInit) {\n // do nothing if zonos is already initializeds\n return;\n }\n log('====== ZONOS DEBUG MODE: on ======');\n if (!zonosApiKey) {\n logError('Missing Zonos API key');\n return;\n }\n this.zonosApiKey = zonosApiKey;\n // eslint-disable-next-line no-console\n log('init zonos');\n\n // inject zonos cdn\n Zonos.injectZonosCdn();\n\n // inject css for zonos elements\n Zonos.injectZonosCss();\n\n // inject fonts for zonos elements\n Zonos.injectFonts();\n\n // init zonos controller\n Zonos.injectController({\n config: {\n appearance,\n checkoutSettings,\n currencyConverter,\n helloSettings,\n },\n zonosApiKey,\n });\n Zonos.doneInit = true;\n };\n\n static displayCurrency = () => {\n const zonosHello = document.querySelector('zonos-hello');\n if (zonosHello) {\n void zonosHello.displayCurrency();\n }\n };\n\n static showNotification = (notification: NotificationInit) => {\n const zonosController = document.querySelector('zonos-controller');\n void zonosController?.showNotification(notification);\n };\n\n private static injectController = ({\n config,\n zonosApiKey,\n }: {\n config: LoadZonosParamsConfig;\n zonosApiKey: string;\n }) => {\n if (document.querySelector('zonos-controller')) {\n return;\n }\n const zonosController = document.createElement('zonos-controller');\n zonosController.config = config;\n zonosController.zonosApiKey = zonosApiKey;\n\n zonosController.addEventListener('stripeInitEvent', async event => {\n const { detail } = event as CustomEvent<{\n publishableKey: string;\n }>;\n log('loading Stripe');\n const stripe = await loadStripe(detail.publishableKey);\n if (!stripe) {\n logError('API seems to be invalid or missing. Failed to load Stripe');\n return;\n }\n window.Zonos.stripe = stripe;\n void zonosController.initCheckoutElement(stripe);\n });\n\n document.body.appendChild(zonosController);\n // eslint-disable-next-line no-console\n log('Zonos controller injected!');\n };\n\n private static injectZonosCdn = () => {\n const findScript = () => {\n const scripts = document.querySelectorAll<HTMLScriptElement>(\n `script[src^=\"${ZONOS_URL}/dist/zonos-elements\"]`,\n );\n scripts.forEach(script => {\n if (script.src.indexOf('zonos-elements.js')) {\n return true;\n }\n });\n return false;\n };\n if (findScript()) {\n // eslint-disable-next-line no-console\n log('Zonos script already exists in the document', 'warn');\n return;\n }\n const headOrBody = document.head || document.body;\n // init zonos elements when the zonosKey is valid\n // inject esmodule cdn for zonos elements\n const zonosEsmCdn = document.createElement('script');\n zonosEsmCdn.type = 'module';\n zonosEsmCdn.src = `${ZONOS_URL}/dist/zonos-elements/zonos-elements.esm.js`;\n headOrBody.appendChild(zonosEsmCdn);\n\n // inject non module cdn for zonos elements\n const zonosCdn = document.createElement('script');\n zonosCdn.noModule = true;\n zonosCdn.src = `${ZONOS_URL}/dist/zonos-elements/zonos-elements.js`;\n headOrBody.appendChild(zonosCdn);\n // eslint-disable-next-line no-console\n log('Zonos cdn script injected!');\n };\n\n private static injectZonosCss = () => {\n const findStyleLink = () => {\n return !!document.querySelector<HTMLLinkElement>(\n `link[rel=\"stylesheet\"][href^=\"${ZONOS_URL}/dist/zonos-elements/zonos-elements.css\"]`,\n );\n };\n\n if (findStyleLink()) {\n // eslint-disable-next-line no-console\n log('Zonos style links already injected', 'warn');\n return;\n }\n\n const headOrBody = document.head || document.body;\n // inject css for zonos elements\n const zonosCssPreconnect = document.createElement('link');\n zonosCssPreconnect.rel = 'preconnect';\n zonosCssPreconnect.href = `${ZONOS_URL}/`;\n headOrBody.appendChild(zonosCssPreconnect);\n // inject css for zonos elements\n const zonosCss = document.createElement('link');\n zonosCss.rel = 'stylesheet';\n zonosCss.href = `${ZONOS_URL}/dist/zonos-elements/zonos-elements.css`;\n headOrBody.appendChild(zonosCss);\n // eslint-disable-next-line no-console\n log('Zonos style css injected!');\n };\n\n private static injectFonts = () => {\n const findFont = () => {\n const links = document.querySelectorAll<HTMLLinkElement>(\n `link[rel=\"stylesheet\"][href^=\"${INTER_FONT_URL}\"]`,\n );\n\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n if (!link) {\n continue;\n }\n\n if (INTER_FONT_REGEX.test(link.href)) {\n continue;\n }\n\n return link;\n }\n\n return null;\n };\n\n if (findFont()) {\n // eslint-disable-next-line no-console\n log('Inter font already injected', 'warn');\n return;\n }\n\n const headOrBody = document.head || document.body;\n\n // inject css for zonos elements\n const fontPreconnect = document.createElement('link');\n fontPreconnect.rel = 'preconnect';\n fontPreconnect.href = INTER_FONT_URL;\n headOrBody.appendChild(fontPreconnect);\n // inject css for zonos elements\n const font = document.createElement('link');\n font.rel = 'stylesheet';\n font.href = `${INTER_FONT_URL}/inter/inter.css`;\n headOrBody.appendChild(font);\n // eslint-disable-next-line no-console\n log('Zonos font injected!');\n };\n}\n"]}
1
+ {"version":3,"file":"zonos.js","sourceRoot":"","sources":["../../src/scripts/zonos.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Stripe } from '@stripe/stripe-js';\n\nimport type { AppearanceConfig } from 'src/components/store/zonosStore';\nimport { log } from 'src/components/utils/logging/log';\nimport { logError } from 'src/components/utils/logging/logError';\nimport { zonosLoadStripe } from 'src/scripts/loadStripe';\nimport type { CheckoutConfig, HelloConfig, NotificationInit } from 'src/types';\nimport type { OnlineStoreConfig } from 'src/types/online-store/OnlineStoreConfig';\n\nconst ZONOS_URL = process.env.NEXT_PUBLIC_ZONOS_CDN_URL;\nconst UNPKG_ZONOS_URL = process.env.NEXT_PUBLIC_ZONOS_UNPKG_CDN_URL;\n\nconst INTER_FONT_URL = 'https://rsms.me';\nconst INTER_FONT_REGEX = /^https:\\/\\/rsms\\.me\\/inter\\/inter\\.css(.*)$/;\n\nexport type CurrencyConverter = (\n convertAndFormat: (amount: number) => string,\n convert: (amount: number) => number,\n format: (amount: number) => string,\n selector?: string,\n) => void;\n\nexport type LoadZonosParamsConfig = {\n appearance?: Partial<AppearanceConfig>;\n checkoutSettings?: Partial<CheckoutConfig>;\n currencyConverter?: CurrencyConverter;\n helloSettings?: Partial<HelloConfig>;\n onlineStoreSettings?: Partial<OnlineStoreConfig>;\n};\n\nexport type LoadZonosParams = LoadZonosParamsConfig & {\n zonosApiKey: string;\n};\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-definitions\nexport interface Zonos {\n /**\n * Toggle debug mode (add query param 'zonosDebug=1' to url)\n * @default false\n */\n debug?: boolean;\n // status of zonos initialization\n doneInit: boolean;\n /** Stripe instance */\n stripe: Stripe;\n zonosApiKey: string;\n displayCurrency: () => void;\n init: (params: LoadZonosParams) => Promise<void>;\n showNotification: (props: NotificationInit) => void;\n}\n\nexport abstract class Zonos {\n static zonosApiKey: string;\n static stripe: Stripe;\n static doneInit: boolean = false;\n // if query 'zonosDebug=1' param from url, debug mode is on\n static debug: boolean =\n !!window.location.search.match(/\\?.*(&*)zonosDebug=1/);\n\n static init = async ({\n appearance,\n checkoutSettings,\n currencyConverter,\n helloSettings,\n zonosApiKey,\n }: LoadZonosParams) => {\n if (Zonos.doneInit) {\n // do nothing if zonos is already initializeds\n return;\n }\n log(\n `====== ZONOS DEBUG MODE: on (v${process.env.NEXT_PUBLIC_ZONOS_PACKAGE_VERSION}) ======`,\n );\n if (!zonosApiKey) {\n logError('Missing Zonos API key');\n return;\n }\n this.zonosApiKey = zonosApiKey;\n // eslint-disable-next-line no-console\n log('init zonos');\n\n // inject zonos cdn\n Zonos.injectZonosCdn();\n\n // inject css for zonos elements\n Zonos.injectZonosCss();\n\n // inject fonts for zonos elements\n Zonos.injectFonts();\n\n // init zonos controller\n Zonos.injectController({\n config: {\n appearance,\n checkoutSettings,\n currencyConverter,\n helloSettings,\n },\n zonosApiKey,\n });\n Zonos.doneInit = true;\n };\n\n static displayCurrency = () => {\n const zonosHello = document.querySelector('zonos-hello');\n if (zonosHello) {\n void zonosHello.displayCurrency();\n }\n };\n\n static showNotification = (notification: NotificationInit) => {\n const zonosController = document.querySelector('zonos-controller');\n void zonosController?.showNotification(notification);\n };\n\n private static injectController = ({\n config,\n zonosApiKey,\n }: {\n config: LoadZonosParamsConfig;\n zonosApiKey: string;\n }) => {\n if (document.querySelector('zonos-controller')) {\n return;\n }\n const zonosController = document.createElement('zonos-controller');\n zonosController.config = config;\n zonosController.zonosApiKey = zonosApiKey;\n\n zonosController.addEventListener('stripeInitEvent', async event => {\n const { detail } = event as CustomEvent<{\n publishableKey: string;\n }>;\n log('loading Stripe');\n const stripe = await zonosLoadStripe(detail.publishableKey);\n if (!stripe) {\n logError('API seems to be invalid or missing. Failed to load Stripe');\n return;\n }\n window.Zonos.stripe = stripe;\n void zonosController.initCheckoutElement(stripe);\n });\n\n document.body.appendChild(zonosController);\n // eslint-disable-next-line no-console\n log('Zonos controller injected!');\n };\n\n private static injectScript = ({\n fallBackDomain,\n isModule,\n scriptDomain,\n theRestUrl,\n }: {\n fallBackDomain?: string;\n isModule: boolean;\n scriptDomain: string;\n // the rest of the url after the scriptDomain (without the leading slash)\n theRestUrl: string;\n }) => {\n const fullScriptUrl = `${scriptDomain}/${theRestUrl}`;\n const findScript = () => {\n const script = document.querySelector<HTMLScriptElement>(\n `script[src=\"${fullScriptUrl}\"]`,\n );\n return !!script;\n };\n if (findScript()) {\n // eslint-disable-next-line no-console\n log(\n `Zonos script \"${fullScriptUrl}\" already exists in the document`,\n 'warn',\n );\n return;\n }\n\n const headOrBody = document.head || document.body;\n // init zonos elements when the zonosKey is valid\n // inject esmodule cdn for zonos elements\n const script = document.createElement('script');\n if (!!isModule) {\n script.type = 'module';\n } else {\n script.noModule = true;\n }\n script.src = fullScriptUrl;\n script.onerror = () => {\n // only fallback if the stylesheetDomain is versioned. (https://v1.2.3.something.com || https://v1.something.com)\n const isVersioned = /\\/\\/v\\d+\\./g.test(scriptDomain);\n if (!isVersioned) {\n log('No need to fallback since this is not a versioned domain', 'warn');\n return;\n }\n if (fallBackDomain) {\n this.injectScript({\n isModule,\n scriptDomain: fallBackDomain,\n theRestUrl,\n });\n }\n logError(`Failed to load ${script.src}`);\n };\n\n headOrBody.appendChild(script);\n };\n\n private static injectZonosCdn = () => {\n // init zonos elements when the zonosKey is valid\n // inject esmodule cdn for zonos elements\n this.injectScript({\n fallBackDomain: UNPKG_ZONOS_URL,\n isModule: true,\n scriptDomain: ZONOS_URL,\n theRestUrl: 'dist/zonos-elements/zonos-elements.esm.js',\n });\n\n // inject non module cdn for zonos elements\n this.injectScript({\n fallBackDomain: UNPKG_ZONOS_URL,\n isModule: false,\n scriptDomain: ZONOS_URL,\n theRestUrl: 'dist/zonos-elements/zonos-elements.js',\n });\n // eslint-disable-next-line no-console\n log('Zonos cdn script injected!');\n };\n\n private static injectStylesheet = ({\n fallBackDomain,\n stylesheetDomain,\n theRestUrl,\n }: {\n fallBackDomain?: string;\n stylesheetDomain: string;\n // the rest of the url after the stylesheetDomain (without the leading slash)\n theRestUrl: string;\n }) => {\n const headOrBody = document.head || document.body;\n\n // inject preconnect css for zonos elements\n const zonosCssPreconnect = document.createElement('link');\n zonosCssPreconnect.rel = 'preconnect';\n zonosCssPreconnect.href = `${ZONOS_URL}/`;\n headOrBody.appendChild(zonosCssPreconnect);\n\n // inject css for zonos elements\n const zonosCss = document.createElement('link');\n zonosCss.rel = 'stylesheet';\n zonosCss.href = `${stylesheetDomain}/${theRestUrl}`;\n zonosCss.onerror = () => {\n // only fallback if the stylesheetDomain is versioned. (https://v1.2.3.something.com || https://v1.something.com)\n const isVersioned = /\\/\\/v\\d+\\./g.test(stylesheetDomain);\n if (!isVersioned) {\n log('No need to fallback since this is not a versioned domain', 'warn');\n return;\n }\n if (fallBackDomain && isVersioned) {\n this.injectStylesheet({\n stylesheetDomain: fallBackDomain,\n theRestUrl,\n });\n }\n logError(`Failed to load ${zonosCss.href}`);\n };\n headOrBody.appendChild(zonosCss);\n };\n\n private static injectZonosCss = () => {\n const findStyleLink = () => {\n return !!document.querySelector<HTMLLinkElement>(\n `link[rel=\"stylesheet\"][href^=\"${ZONOS_URL}/dist/zonos-elements/zonos-elements.css\"]`,\n );\n };\n\n if (findStyleLink()) {\n // eslint-disable-next-line no-console\n log('Zonos style links already injected', 'warn');\n return;\n }\n\n // inject css for zonos elements\n this.injectStylesheet({\n fallBackDomain: UNPKG_ZONOS_URL,\n stylesheetDomain: ZONOS_URL,\n theRestUrl: 'dist/zonos-elements/zonos-elements.css',\n });\n\n // eslint-disable-next-line no-console\n log('Zonos style css injected!');\n };\n\n private static injectFonts = () => {\n const findFont = () => {\n const links = document.querySelectorAll<HTMLLinkElement>(\n `link[rel=\"stylesheet\"][href^=\"${INTER_FONT_URL}\"]`,\n );\n\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n if (!link) {\n continue;\n }\n\n if (INTER_FONT_REGEX.test(link.href)) {\n continue;\n }\n\n return link;\n }\n\n return null;\n };\n\n if (findFont()) {\n // eslint-disable-next-line no-console\n log('Inter font already injected', 'warn');\n return;\n }\n\n const headOrBody = document.head || document.body;\n\n // inject css for zonos elements\n const fontPreconnect = document.createElement('link');\n fontPreconnect.rel = 'preconnect';\n fontPreconnect.href = INTER_FONT_URL;\n headOrBody.appendChild(fontPreconnect);\n // inject css for zonos elements\n const font = document.createElement('link');\n font.rel = 'stylesheet';\n font.href = `${INTER_FONT_URL}/inter/inter.css`;\n headOrBody.appendChild(font);\n // eslint-disable-next-line no-console\n log('Zonos font injected!');\n };\n}\n"]}
@@ -51,6 +51,10 @@ export const carrierAccountApiUsage = {
51
51
  Label: 'LABEL',
52
52
  Rating: 'RATING',
53
53
  };
54
+ export const carrierAccountRateType = {
55
+ Negotiated: 'NEGOTIATED',
56
+ Retail: 'RETAIL',
57
+ };
54
58
  export const carrierCode = {
55
59
  Apc: 'APC',
56
60
  Dhl: 'DHL',
@@ -897,6 +901,10 @@ export const dimensionalUnitCode = {
897
901
  Millimeter: 'MILLIMETER',
898
902
  Yard: 'YARD',
899
903
  };
904
+ export const displayCurrency = {
905
+ DestinationCountry: 'DESTINATION_COUNTRY',
906
+ StoreNative: 'STORE_NATIVE',
907
+ };
900
908
  export const documentFilingType = {
901
909
  Electronic: 'ELECTRONIC',
902
910
  HardCopy: 'HARD_COPY',
@@ -1036,6 +1044,26 @@ export const imageSlot = {
1036
1044
  Image_4: 'IMAGE_4',
1037
1045
  Image_5: 'IMAGE_5',
1038
1046
  };
1047
+ export const inclusivePriceHistoryCsvJobStatus = {
1048
+ Error: 'ERROR',
1049
+ Processed: 'PROCESSED',
1050
+ ReadyForProcessing: 'READY_FOR_PROCESSING',
1051
+ ReadyForUpload: 'READY_FOR_UPLOAD',
1052
+ Uploading: 'UPLOADING',
1053
+ };
1054
+ export const inclusivePriceHistorySource = {
1055
+ Platform: 'PLATFORM',
1056
+ UserInput: 'USER_INPUT',
1057
+ Zonos: 'ZONOS',
1058
+ };
1059
+ export const inclusivePriceSettingAdjustmentStatus = {
1060
+ Excluded: 'EXCLUDED',
1061
+ Included: 'INCLUDED',
1062
+ };
1063
+ export const inclusivePriceSettingStatus = {
1064
+ Disabled: 'DISABLED',
1065
+ Enabled: 'ENABLED',
1066
+ };
1039
1067
  export const incotermCode = {
1040
1068
  Cif: 'CIF',
1041
1069
  Custom: 'CUSTOM',
@@ -1613,9 +1641,15 @@ export const zonosAttribution = {
1613
1641
  const defaultWrapper = (action, _operationName, _operationType) => action();
1614
1642
  export function getSdk(client, withWrapper = defaultWrapper) {
1615
1643
  return {
1644
+ BulkClassify(variables, requestHeaders) {
1645
+ return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'BulkClassify', 'mutation');
1646
+ },
1616
1647
  CalculateLandedCost(variables, requestHeaders) {
1617
1648
  return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'CalculateLandedCost', 'mutation');
1618
1649
  },
1650
+ CheckItemRestrictions(variables, requestHeaders) {
1651
+ return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'CheckItemRestrictions', 'mutation');
1652
+ },
1619
1653
  CheckoutSessionCreate(variables, requestHeaders) {
1620
1654
  return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'CheckoutSessionCreate', 'mutation');
1621
1655
  },