@zonos/elements 1.3.36 → 1.3.38

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 (152) hide show
  1. package/README.md +6 -6
  2. package/dist/cjs/{cart-401b6d32.js → cart-c7212410.js} +309 -199
  3. package/dist/cjs/index.cjs.js +4 -4
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{submitGtag-bc6af393.js → submitGtag-7a679d92.js} +1 -1
  6. package/dist/cjs/zonos-address_8.cjs.entry.js +3 -3
  7. package/dist/cjs/zonos-cart-items_12.cjs.entry.js +2 -2
  8. package/dist/cjs/zonos-checkout.cjs.entry.js +2 -2
  9. package/dist/cjs/zonos-controller.cjs.entry.js +2 -2
  10. package/dist/cjs/zonos-country-flag.cjs.entry.js +1 -1
  11. package/dist/cjs/zonos-country-select_3.cjs.entry.js +7 -9
  12. package/dist/cjs/zonos-elements.cjs.js +1 -1
  13. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +35 -14
  14. package/dist/cjs/zonos-hello.cjs.entry.js +7 -1
  15. package/dist/cjs/zonos-language-select_2.cjs.entry.js +1 -1
  16. package/dist/cjs/zonos-notification_2.cjs.entry.js +2 -2
  17. package/dist/collection/components/common/zonos-country-select/zonos-country-select.js +4 -6
  18. package/dist/collection/components/hello/zonos-hello/zonos-hello.js +23 -0
  19. package/dist/collection/components/hello/zonos-hello-dialog/assets/inclusivePricingIcon.svg +8 -0
  20. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.js +2 -2
  21. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.js +28 -14
  22. package/dist/collection/components/main/zonos-controller.js +1 -1
  23. package/dist/collection/components/store/hello/localization.js +37 -0
  24. package/dist/collection/components/store/translationStore/strings.arabic.js +13 -10
  25. package/dist/collection/components/store/translationStore/strings.base.js +13 -10
  26. package/dist/collection/components/store/translationStore/strings.chinese.js +13 -10
  27. package/dist/collection/components/store/translationStore/strings.danish.js +13 -10
  28. package/dist/collection/components/store/translationStore/strings.dutch.js +13 -10
  29. package/dist/collection/components/store/translationStore/strings.french.js +13 -10
  30. package/dist/collection/components/store/translationStore/strings.german.js +13 -10
  31. package/dist/collection/components/store/translationStore/strings.hebrew.js +13 -10
  32. package/dist/collection/components/store/translationStore/strings.indonesian.js +13 -10
  33. package/dist/collection/components/store/translationStore/strings.italian.js +13 -10
  34. package/dist/collection/components/store/translationStore/strings.japanese.js +12 -9
  35. package/dist/collection/components/store/translationStore/strings.korean.js +13 -10
  36. package/dist/collection/components/store/translationStore/strings.norwegian.js +13 -10
  37. package/dist/collection/components/store/translationStore/strings.polish.js +13 -10
  38. package/dist/collection/components/store/translationStore/strings.portuguese.js +13 -10
  39. package/dist/collection/components/store/translationStore/strings.russian.js +13 -10
  40. package/dist/collection/components/store/translationStore/strings.spanish.js +13 -10
  41. package/dist/collection/components/store/translationStore/strings.swedish.js +13 -10
  42. package/dist/collection/components/store/translationStore/strings.turkish.js +13 -10
  43. package/dist/collection/components/store/translationStore/strings.vietnamese.js +13 -10
  44. package/dist/collection/components/stripe/zonos-address/zonos-address.js +1 -1
  45. package/dist/collection/components/stripe/zonos-link-authentication/zonos-link-authentication.js +1 -1
  46. package/dist/collection/components/stripe/zonos-payment/zonos-payment.js +1 -1
  47. package/dist/collection/components/utils/api/getInclusivePricing.js +15 -0
  48. package/dist/collection/types/generated/graphql.customer.types.js +65 -9
  49. package/dist/collection/types/generated/graphql.frontend.types.js +4 -0
  50. package/dist/esm/{cart-f29968a8.js → cart-eb75b113.js} +309 -199
  51. package/dist/esm/index.js +4 -4
  52. package/dist/esm/loader.js +1 -1
  53. package/dist/esm/{submitGtag-fcfd5cf4.js → submitGtag-0bc0baa0.js} +1 -1
  54. package/dist/esm/zonos-address_8.entry.js +3 -3
  55. package/dist/esm/zonos-cart-items_12.entry.js +2 -2
  56. package/dist/esm/zonos-checkout.entry.js +2 -2
  57. package/dist/esm/zonos-controller.entry.js +2 -2
  58. package/dist/esm/zonos-country-flag.entry.js +1 -1
  59. package/dist/esm/zonos-country-select_3.entry.js +7 -9
  60. package/dist/esm/zonos-elements.js +1 -1
  61. package/dist/esm/zonos-hello-dialog.entry.js +36 -15
  62. package/dist/esm/zonos-hello.entry.js +7 -1
  63. package/dist/esm/zonos-language-select_2.entry.js +1 -1
  64. package/dist/esm/zonos-notification_2.entry.js +2 -2
  65. package/dist/esm-es5/cart-eb75b113.js +1 -0
  66. package/dist/esm-es5/index.js +1 -1
  67. package/dist/esm-es5/loader.js +1 -1
  68. package/dist/esm-es5/{submitGtag-fcfd5cf4.js → submitGtag-0bc0baa0.js} +1 -1
  69. package/dist/esm-es5/zonos-address_8.entry.js +1 -1
  70. package/dist/esm-es5/zonos-cart-items_12.entry.js +1 -1
  71. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  72. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  73. package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
  74. package/dist/esm-es5/zonos-country-select_3.entry.js +1 -1
  75. package/dist/esm-es5/zonos-elements.js +1 -1
  76. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  77. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  78. package/dist/esm-es5/zonos-language-select_2.entry.js +1 -1
  79. package/dist/esm-es5/zonos-notification_2.entry.js +1 -1
  80. package/dist/scripts/index.d.ts +62 -7
  81. package/dist/scripts/index.js +1 -1
  82. package/dist/scripts/loadZonos.js +1 -1
  83. package/dist/scripts/zonos.js +1 -1
  84. package/dist/types/components/hello/zonos-hello/zonos-hello.d.ts +4 -0
  85. package/dist/types/components/hello/zonos-hello-dialog/zonos-hello-dialog.d.ts +1 -0
  86. package/dist/types/components/store/hello/localization.d.ts +2 -0
  87. package/dist/types/components/store/translationStore/strings.arabic.d.ts +8 -5
  88. package/dist/types/components/store/translationStore/strings.base.d.ts +8 -5
  89. package/dist/types/components/store/translationStore/strings.chinese.d.ts +8 -5
  90. package/dist/types/components/store/translationStore/strings.danish.d.ts +8 -5
  91. package/dist/types/components/store/translationStore/strings.dutch.d.ts +8 -5
  92. package/dist/types/components/store/translationStore/strings.french.d.ts +8 -5
  93. package/dist/types/components/store/translationStore/strings.german.d.ts +8 -5
  94. package/dist/types/components/store/translationStore/strings.hebrew.d.ts +8 -5
  95. package/dist/types/components/store/translationStore/strings.indonesian.d.ts +8 -5
  96. package/dist/types/components/store/translationStore/strings.italian.d.ts +8 -5
  97. package/dist/types/components/store/translationStore/strings.japanese.d.ts +8 -5
  98. package/dist/types/components/store/translationStore/strings.korean.d.ts +8 -5
  99. package/dist/types/components/store/translationStore/strings.norwegian.d.ts +8 -5
  100. package/dist/types/components/store/translationStore/strings.polish.d.ts +8 -5
  101. package/dist/types/components/store/translationStore/strings.portuguese.d.ts +8 -5
  102. package/dist/types/components/store/translationStore/strings.russian.d.ts +8 -5
  103. package/dist/types/components/store/translationStore/strings.spanish.d.ts +8 -5
  104. package/dist/types/components/store/translationStore/strings.swedish.d.ts +8 -5
  105. package/dist/types/components/store/translationStore/strings.turkish.d.ts +8 -5
  106. package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +8 -5
  107. package/dist/types/components/store/translationStore.d.ts +1 -1
  108. package/dist/types/components/utils/api/getInclusivePricing.d.ts +8 -0
  109. package/dist/types/components/utils/api/getLocaleMessages.d.ts +1 -1
  110. package/dist/types/components.d.ts +4 -0
  111. package/dist/types/types/generated/graphql.customer.types.d.ts +85 -12
  112. package/dist/types/types/generated/graphql.customer.types.ts +111 -14
  113. package/dist/types/types/generated/graphql.frontend.types.d.ts +5 -1
  114. package/dist/types/types/generated/graphql.frontend.types.ts +7 -1
  115. package/dist/types/types/hello/HelloConfig.d.ts +6 -0
  116. package/dist/zonos-elements/assets/inclusivePricingIcon.svg +8 -0
  117. package/dist/zonos-elements/index.esm.js +1 -1
  118. package/dist/zonos-elements/{p-4d95b4f4.system.entry.js → p-02405211.system.entry.js} +1 -1
  119. package/dist/zonos-elements/p-085548f2.entry.js +1 -0
  120. package/dist/zonos-elements/{p-eea3ec17.entry.js → p-18b28104.entry.js} +1 -1
  121. package/dist/zonos-elements/{p-2cee5f3a.system.entry.js → p-357322ea.system.entry.js} +1 -1
  122. package/dist/zonos-elements/{p-c9062536.system.entry.js → p-3f5e2e5c.system.entry.js} +1 -1
  123. package/dist/zonos-elements/{p-38f882ea.system.entry.js → p-467f934c.system.entry.js} +1 -1
  124. package/dist/zonos-elements/{p-5b723a1d.js → p-53acc999.js} +1 -1
  125. package/dist/zonos-elements/{p-6b06ac3d.entry.js → p-548ac127.entry.js} +1 -1
  126. package/dist/zonos-elements/{p-f9931ad1.system.entry.js → p-5609876a.system.entry.js} +1 -1
  127. package/dist/zonos-elements/{p-6ec40c8f.entry.js → p-57617755.entry.js} +1 -1
  128. package/dist/zonos-elements/{p-bf9578d3.entry.js → p-59f37de3.entry.js} +1 -1
  129. package/dist/zonos-elements/{p-e0709be2.entry.js → p-62ed4236.entry.js} +1 -1
  130. package/dist/zonos-elements/{p-8363436f.entry.js → p-6f9448bb.entry.js} +1 -1
  131. package/dist/zonos-elements/{p-1fbf0527.system.js → p-70262120.system.js} +1 -1
  132. package/dist/zonos-elements/p-878293fe.js +1 -0
  133. package/dist/zonos-elements/{p-62e21e2b.system.entry.js → p-8acdf43b.system.entry.js} +1 -1
  134. package/dist/zonos-elements/p-9d29f3f4.system.entry.js +1 -0
  135. package/dist/zonos-elements/{p-d410ef50.system.entry.js → p-a21ec316.system.entry.js} +1 -1
  136. package/dist/zonos-elements/p-a8b934c2.entry.js +1 -0
  137. package/dist/zonos-elements/p-abe8ea12.system.js +1 -0
  138. package/dist/zonos-elements/{p-1c2de5da.system.js → p-ad37d20e.system.js} +1 -1
  139. package/dist/zonos-elements/{p-e4ef71bd.entry.js → p-ae04d3ff.entry.js} +1 -1
  140. package/dist/zonos-elements/{p-891d2c76.system.entry.js → p-b684f8aa.system.entry.js} +1 -1
  141. package/dist/zonos-elements/p-e0bf9666.system.js +1 -1
  142. package/dist/zonos-elements/p-e1db1bc9.entry.js +1 -0
  143. package/dist/zonos-elements/{p-5ce19bce.system.entry.js → p-f06bb776.system.entry.js} +1 -1
  144. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  145. package/package.json +5 -3
  146. package/dist/esm-es5/cart-f29968a8.js +0 -1
  147. package/dist/zonos-elements/p-2947c138.js +0 -1
  148. package/dist/zonos-elements/p-60f7bcee.entry.js +0 -1
  149. package/dist/zonos-elements/p-91635589.system.js +0 -1
  150. package/dist/zonos-elements/p-952e331c.entry.js +0 -1
  151. package/dist/zonos-elements/p-c0efa3a3.system.entry.js +0 -1
  152. package/dist/zonos-elements/p-cfe9c940.entry.js +0 -1
@@ -0,0 +1,8 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd"
3
+ d="M4.04505 6.64123C2.19006 8.49622 2.19006 11.5038 4.04505 13.3587L11.2929 20.6066C11.6834 20.9971 12.3166 20.9971 12.7071 20.6066L19.955 13.3587C21.8099 11.5038 21.8099 8.49622 19.955 6.64123L17.8336 4.51991C17.4431 4.12939 16.8099 4.12939 16.4194 4.51991L13.5241 7.41527C12.5864 6.86157 11.4136 6.86157 10.4759 7.41527L7.58059 4.51991C7.19006 4.12939 6.5569 4.12939 6.16637 4.51991L4.04505 6.64123ZM5.10571 12.2981C3.83651 11.0289 3.83651 8.9711 5.10571 7.70189L6.87348 5.93413L9.70191 8.76255C10.1056 9.16622 10.6991 9.12 11.0641 8.82749C11.6091 8.39083 12.3909 8.39082 12.9359 8.82749C13.301 9.12 13.8944 9.16622 14.2981 8.76255L17.1265 5.93413L18.8943 7.70189C20.1635 8.9711 20.1635 11.0289 18.8943 12.2981L12 19.1924L5.10571 12.2981Z"
4
+ fill="#0F1015" />
5
+ <path
6
+ d="M10.0333 3.28075C9.63566 3.39679 9.40739 3.8132 9.52343 4.21083C9.63947 4.60846 10.0559 4.83673 10.4535 4.72069C11.4618 4.42644 12.5383 4.42644 13.5466 4.72069C13.9442 4.83673 14.3606 4.60846 14.4766 4.21083C14.5927 3.81321 14.3644 3.39679 13.9668 3.28075C12.6841 2.90642 11.316 2.90642 10.0333 3.28075Z"
7
+ fill="#0F1015" />
8
+ </svg>
@@ -18,9 +18,9 @@ export class ZonosHelloDialogFooter {
18
18
  const language = (_b = languages.find(x => x.code === localizationStore.selectedLocale)) === null || _b === void 0 ? void 0 : _b.translatedLabel;
19
19
  // Only use gray-0 (white) when the background color is dark (apply inverted color if the element is using dark theme variable)
20
20
  const mainColor = primaryColor && isDarkColor(primaryColor) ? 'white' : 'black';
21
- return (h(Host, { key: '3ec3d830c3818a9f3661eefe7da50520919e7800', class: "zonos--elements" }, h("div", { key: 'c67564b69ce94116285cf28b9c4d8158f1d732cc', class: "zonos--hello-dialog-footer", style: {
21
+ return (h(Host, { key: '49ed5ba840bd0d1e813b8eb4b89d0508930928a2', class: "zonos--elements" }, h("div", { key: 'ae66c6a3e8c824189b4eae2208c873943f8687ca', class: "zonos--hello-dialog-footer", style: {
22
22
  '--primary-color': primaryColor,
23
- } }, h("a", { key: 'fcb17ee52dc72b107a0c43c27103bc6ebd400ee1', href: "https://zonos.com", target: "_blank", title: "Zonos website" }, h("zonos-icon", { key: 'f73ba904c41c936d020d5c61d087deaedf9d4708', "aria-label": "Zonos Logo", autoHeight: true, content: ZonosIcon, iconColor: mainColor, size: 108 })), h("div", { key: '6b3909844a290b1a76a0f77d2371ba1aba72a536', class: "zonos--hello-locale-wrapper" }, h("zonos-button", { key: 'd1cc73adf8c92a97b656b6054613caa71d742afa', buttonColor: mainColor, icon: h("zonos-icon", { "aria-label": "Open language select", content: Globe, iconColor: mainColor }), onClick: () => this.setShowLanguageSelect(true), variant: "subtle" }, language), h("zonos-button", { key: 'f9497df1d84e9c18ac02b614c43449f9ffd311ed', buttonColor: mainColor, icon: h("zonos-country-flag", { "aria-label": "Open country select", class: "zonos--footer-country-flag", countryCode: localizationStore.selectedCountryCode }), onClick: () => this.setShowCountrySelect(true), variant: "subtle" }, localizationStore.selectedCountryCode)))));
23
+ } }, h("a", { key: '61226c77fe20c817efd58e12c5d5c16dad6375ac', href: "https://zonos.com", target: "_blank", title: "Zonos website" }, h("zonos-icon", { key: '7dc60e603c7f64fc42359632190249caf0a18317', "aria-label": "Zonos Logo", autoHeight: true, content: ZonosIcon, iconColor: mainColor, size: 108 })), h("div", { key: 'a6875d4c4dcf5804570d47409567f87728b8c8b5', class: "zonos--hello-locale-wrapper" }, h("zonos-button", { key: '51083ce07a51f62469afce508c79a7ebbf4eeacf', buttonColor: mainColor, icon: h("zonos-icon", { "aria-label": "Open language select", content: Globe, iconColor: mainColor }), onClick: () => this.setShowLanguageSelect(true), variant: "subtle" }, language), h("zonos-button", { key: '46b826f2fc8f819507db9d432da459124b65cee8', buttonColor: mainColor, icon: h("zonos-country-flag", { "aria-label": "Open country select", class: "zonos--footer-country-flag", countryCode: localizationStore.selectedCountryCode }), onClick: () => this.setShowCountrySelect(true), variant: "subtle" }, localizationStore.selectedCountryCode)))));
24
24
  }
25
25
  static get is() { return "zonos-hello-dialog-footer"; }
26
26
  static get encapsulation() { return "shadow"; }
@@ -1,4 +1,4 @@
1
- import { h, Host, } from "@stencil/core";
1
+ import { Fragment, h, Host, } from "@stencil/core";
2
2
  import { localizationStore } from "../../store/hello/localization";
3
3
  import { translate } from "../../store/translationStore";
4
4
  import { zonosStore } from "../../store/zonosStore";
@@ -13,11 +13,18 @@ import BagIcon from "./assets/bagIcon.svg";
13
13
  // eslint-disable-next-line no-relative-import-paths/no-relative-import-paths
14
14
  import ImportIcon from "./assets/importIcon.svg";
15
15
  // eslint-disable-next-line no-relative-import-paths/no-relative-import-paths
16
+ import InclusivePricingIcon from "./assets/inclusivePricingIcon.svg";
17
+ // eslint-disable-next-line no-relative-import-paths/no-relative-import-paths
16
18
  import MessageIcon from "./assets/messageIcon.svg";
17
19
  // eslint-disable-next-line no-relative-import-paths/no-relative-import-paths
18
20
  import MoneyIcon from "./assets/moneyIcon.svg";
19
21
  // eslint-disable-next-line no-relative-import-paths/no-relative-import-paths
20
22
  import RemoveIcon from "./assets/removeIcon.svg";
23
+ const dutyTaxMessage_AU_lowValueGST = `${translate('The low-value GST law passed July 1st, 2018 applies to this retailer.')} ${wrapStringWithLink({
24
+ href: 'https://zonos.com/docs/global-ecommerce/landed-cost/tax-remittance/australia-gst',
25
+ text: translate('Learn more.'),
26
+ })}`;
27
+ const inclusivePriceMessage = translate('Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.');
21
28
  export class ZonosHelloDialog {
22
29
  constructor() {
23
30
  this.clickOutsideDialogHandler = (e) => {
@@ -52,6 +59,9 @@ export class ZonosHelloDialog {
52
59
  var _a;
53
60
  return (_a = localizationStore.countryLandedCost) === null || _a === void 0 ? void 0 : _a.hasTaxId;
54
61
  };
62
+ this.hasInclusivePrices = () => {
63
+ return localizationStore.hasInclusivePrices;
64
+ };
55
65
  /**
56
66
  * Some countries don't have threshold. So we need to show generic message for them
57
67
  */
@@ -71,10 +81,10 @@ export class ZonosHelloDialog {
71
81
  // If deminimis is undefined or null, assume it's $0
72
82
  return dutyDeminimis &&
73
83
  !this.isNoThresholdCountry(countryLandedCost === null || countryLandedCost === void 0 ? void 0 : countryLandedCost.countryCode)
74
- ? translate('Spend [threshold] duty free', {
84
+ ? translate('Spend [threshold] duty free.', {
75
85
  threshold: dutyDeminimis,
76
86
  })
77
- : translate('Duties will apply to all orders');
87
+ : translate('Duties will apply to all orders.');
78
88
  };
79
89
  this.getTaxMessage = () => {
80
90
  const { countryLandedCost } = localizationStore;
@@ -84,10 +94,10 @@ export class ZonosHelloDialog {
84
94
  : null;
85
95
  return taxDeminimis &&
86
96
  !this.isNoThresholdCountry(countryLandedCost === null || countryLandedCost === void 0 ? void 0 : countryLandedCost.countryCode)
87
- ? translate('Spend [threshold] tax free', {
97
+ ? translate('Spend [threshold] tax free.', {
88
98
  threshold: taxDeminimis,
89
99
  })
90
- : translate('Taxes will apply to all orders');
100
+ : translate('Taxes will apply to all orders.');
91
101
  };
92
102
  this.getUkDutyTaxMessage = (landedCost) => {
93
103
  if (landedCost.allowLowValueOrders) {
@@ -103,17 +113,20 @@ export class ZonosHelloDialog {
103
113
  ];
104
114
  };
105
115
  this.getAustraliaDutyTaxMessage = (landedCost) => {
116
+ if (localizationStore.hasInclusivePrices) {
117
+ return [dutyTaxMessage_AU_lowValueGST];
118
+ }
106
119
  return [
107
- translate('Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders', {
120
+ translate('Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders.', {
108
121
  percentage: `${landedCost.vatTaxRate * 100}%`,
109
122
  }),
110
- `${translate('The low-value GST law passed July 1st, 2018 applies to this retailer.')} ${wrapStringWithLink({
111
- href: 'https://zonos.com/docs/global-ecommerce/landed-cost/tax-remittance/australia-gst',
112
- text: translate('Learn more.'),
113
- })}`,
123
+ dutyTaxMessage_AU_lowValueGST,
114
124
  ];
115
125
  };
116
126
  this.getNewZealandDutyTaxMessge = (landedCost) => {
127
+ if (localizationStore.hasInclusivePrices) {
128
+ return null;
129
+ }
117
130
  return [
118
131
  translate('[percentage] GST due on any order above [threshold] along with an import entry transaction fee and MPI levy.', {
119
132
  percentage: `${landedCost.vatTaxRate * 100}%`,
@@ -166,6 +179,7 @@ export class ZonosHelloDialog {
166
179
  render() {
167
180
  var _a;
168
181
  const { selectedCountryCode } = localizationStore;
182
+ const hasInclusivePrices = this.hasInclusivePrices();
169
183
  // If deminimis is undefined or null, assume it's $0
170
184
  const dutyDeMinimisMessage = this.getDutyMessage();
171
185
  // If deminimis is undefined or null, assume it's $0
@@ -184,18 +198,18 @@ export class ZonosHelloDialog {
184
198
  const defaultMessage = formatStringWithLinks(defaultMessageStr);
185
199
  const currentPage = this.getCurrentPageEnum();
186
200
  const filteredMessages = customMessages.filter(x => x.pageName === currentPage);
187
- return (h(Host, { key: 'af2c46bcc413205d644a2b94ee2ff568d3d004f2', class: "zonos--elements" }, h("div", { key: 'e74b871d52d734ca9ad772d8ae1c5bef1aaf06f9', class: classes([
201
+ return (h(Host, { key: '7fa136af625bb72bb9f14ba4f3ff3aa70a95074b', class: "zonos--elements" }, h("div", { key: '94839999d9a9f2ff182f50ba24ad3183c44c6a31', class: classes([
188
202
  'zonos--hello-dialog',
189
203
  animateLeft && 'zonos--hello-dialog-animate-from-left',
190
204
  animateFromBottom && 'zonos--hello-dialog-animate-from-bottom',
191
205
  !!this.mobileLocationOverride &&
192
206
  'zonos--hello-dialog-mobile-override',
193
207
  this.isOpen && 'zonos--hello-dialog-open',
194
- ]), inert: !this.isOpen, ref: el => el && (this.dialogRef = el) }, !this.showCountrySelect && !this.showLanguageSelect && (h("div", { key: 'd973d051143ab56e1af29b7ee812f1e5405b7768' }, h("div", { key: '1539bbc35aebccc9748e2d3b77b1717bd2e5dec5', class: "zonos--hello-dialog-content" }, h("zonos-button", { key: '675ff7bb8fdf8373c1aa21200ccc42ff9b585355', class: "zonos--close-button", icon: h("zonos-icon", { "aria-label": "Close Zonos Hello dialog", content: RemoveIcon }), noBackground: true, onClick: () => this.setIsOpen(false) }), h("zonos-v-stack", { key: 'c82a41c292facb00fd1a48ce69920b1de47d3f09', spacing: 24 }, h("zonos-country-flag", { key: '6b083cf77226e3766ad50a812c1201809593f3d6', class: "zonos--hello-country-flag", countryCode: selectedCountryCode }), h("zonos-v-stack", { key: 'f0ab4ca66f22b0448edff37fc730e72790b83de8', class: "zonos--hello-dialog-header", spacing: 4 }, h("zonos-text", { key: '574f22410d18fbeea3ac3fe22a735a2d858b5c9e', type: "boldSubheader" }, welcomeMessage), h("zonos-text", { key: '35f718094fcbd34d8e8ae9ec46fd0429cfcd1104', innerHTML: defaultMessage, textColor: "gray-800" })), h("zonos-v-stack", { key: 'e4bd687a84f1d48d0a20564a4ac9b9c1a24b3850', spacing: 8 }, this.restrictedItems.map(item => {
208
+ ]), inert: !this.isOpen, ref: el => el && (this.dialogRef = el) }, !this.showCountrySelect && !this.showLanguageSelect && (h("div", { key: '7c412fd167248e55b4b285cd77f4cfc85a6a038f' }, h("div", { key: '78d376fffe7289f3a4e144aca964e6a11da45600', class: "zonos--hello-dialog-content" }, h("zonos-button", { key: 'b1c03836ef2825d4f0cf7c395aab0905008f2d5d', class: "zonos--close-button", icon: h("zonos-icon", { "aria-label": "Close Zonos Hello dialog", content: RemoveIcon }), noBackground: true, onClick: () => this.setIsOpen(false) }), h("zonos-v-stack", { key: '91249ab433e0c29ca013c8cba607693a7a6bed02', spacing: 24 }, h("zonos-country-flag", { key: 'f11acc0b2f96f3fd0e5af6f4abb34c64bd290dae', class: "zonos--hello-country-flag", countryCode: selectedCountryCode }), h("zonos-v-stack", { key: '7322b563606ae3e6f5e0751305ef5779c99f3b36', class: "zonos--hello-dialog-header", spacing: 4 }, h("zonos-text", { key: 'cc6b7618a289bb0b001e2f1268b30e2ef18a6e54', type: "boldSubheader" }, welcomeMessage), h("zonos-text", { key: 'f60575298db7743c942bfaa922baff1e93ea6774', innerHTML: defaultMessage, textColor: "gray-800" })), h("zonos-v-stack", { key: '28c6a3bd2b49078ee337ae1e755519de332cda5d', spacing: 8 }, this.restrictedItems.map(item => {
195
209
  var _a;
196
210
  return item && (h("zonos-banner", { bannerTitle: item.name, intent: "error" }, (_a = item.itemRestrictions) === null || _a === void 0 ? void 0 : _a.map(x => (h("zonos-text", { textColor: "red-800" }, x === null || x === void 0 ? void 0 : x.note)))));
197
- }), h("zonos-card", { key: '53fa284d1d87505e550bb893a895e944894cd8b6', spacing: "12px" }, h("zonos-v-stack", { key: 'ee8ecb870af875c1bbc49be88464094753d96b26', spacing: 12 }, h("div", { key: '9bb07220319b2635d66722c79a81c77c049e2aa0', class: "zonos--flex-message" }, h("zonos-icon", { key: 'cf345dace81622f3fd240a1538f25fce855d2ae2', "aria-label": "Duty de minimis", content: ImportIcon }), h("zonos-text", { key: '4a047bc63a8e2a1f88203241b927ac3f3f05a398' }, dutyDeMinimisMessage)), h("div", { key: 'af75e4d21ae1189d015376bfed3caf9156788ceb', class: "zonos--flex-message" }, h("zonos-icon", { key: '356fbbe36379ab8513822be08f8b4f3af4f8baf5', "aria-label": "Tax de minimis", content: MoneyIcon }), h("zonos-text", { key: '5b8fb3f1622bb49bbed21e0a81d6725a5825e931' }, taxDeMinimisMessage)), additionalInformation === null || additionalInformation === void 0 ? void 0 :
198
- additionalInformation.map(info => (h("div", { class: "zonos--flex-message" }, h("zonos-icon", { "aria-label": "Additional information for buying goods from selected country", content: BagIcon }), h("zonos-text", { innerHTML: info })))))), filteredMessages.map(x => (h("zonos-custom-message", { icon: MessageIcon, message: x.message })))))), h("zonos-hello-dialog-footer", { key: '362873c8bac81efc80e44fae1d74a0bffae5e605', appearanceSettings: this.appearanceSettings, setShowCountrySelect: value => this.setShowCountrySelect(value), setShowLanguageSelect: value => this.setShowLanguageSelect(value) }))), this.showCountrySelect && (h("div", { key: '86d0d738e77d51666d3f63288aa1e954d539bb06' }, h("zonos-country-select", { key: '98766f096f97b249f0b4b3ebe053474de4ae498a', handleOnClose: () => this.setShowCountrySelect(false) }))), this.showLanguageSelect && (h("div", { key: '3268e1c0a9f7300b0e997ef238a4d95ec9d4f894' }, h("zonos-language-select", { key: '1b6d9dd2872332b2eba343ffd8798b1e87c71c2a', handleOnClose: () => this.setShowLanguageSelect(false) }))))));
211
+ }), h("zonos-card", { key: '3fe69193fa354dcd592957333d8ddb484a88f309', spacing: "12px" }, h("zonos-v-stack", { key: '327079d7ead3a16af25b9131e1882f97c6ebe2be', spacing: 12 }, hasInclusivePrices ? (h("div", { class: "zonos--flex-message" }, h("zonos-icon", { "aria-label": "Duty de minimis", content: InclusivePricingIcon }), h("zonos-text", null, inclusivePriceMessage))) : (h(Fragment, null, h("div", { class: "zonos--flex-message" }, h("zonos-icon", { "aria-label": "Duty de minimis", content: ImportIcon }), h("zonos-text", null, dutyDeMinimisMessage)), h("div", { class: "zonos--flex-message" }, h("zonos-icon", { "aria-label": "Tax de minimis", content: MoneyIcon }), h("zonos-text", null, taxDeMinimisMessage)))), additionalInformation === null || additionalInformation === void 0 ? void 0 :
212
+ additionalInformation.map(info => (h("div", { class: "zonos--flex-message" }, h("zonos-icon", { "aria-label": "Additional information for buying goods from selected country", content: BagIcon }), h("zonos-text", { innerHTML: info })))))), filteredMessages.map(x => (h("zonos-custom-message", { icon: MessageIcon, message: x.message })))))), h("zonos-hello-dialog-footer", { key: 'ce8ca134e3918406bf69c0ab8dd883fd1af802c2', appearanceSettings: this.appearanceSettings, setShowCountrySelect: value => this.setShowCountrySelect(value), setShowLanguageSelect: value => this.setShowLanguageSelect(value) }))), this.showCountrySelect && (h("div", { key: '03f07b6d622b1bc0ac918e9c910e5d5d815bd886' }, h("zonos-country-select", { key: 'fcbc3374d29c7b52f5316450956671340e0dd45c', handleOnClose: () => this.setShowCountrySelect(false) }))), this.showLanguageSelect && (h("div", { key: '32e7c6391b5299fc845f7404745ee768a6f5e7bf' }, h("zonos-language-select", { key: 'b82087d23130629c339f02236d18dab598f33993', handleOnClose: () => this.setShowLanguageSelect(false) }))))));
199
213
  }
200
214
  static get is() { return "zonos-hello-dialog"; }
201
215
  static get encapsulation() { return "shadow"; }
@@ -187,7 +187,7 @@ export class ZonosController {
187
187
  zonosStore.organizationName = organizationName;
188
188
  }
189
189
  render() {
190
- return h(Host, { key: 'c22a26c71e3f57f97bd67d8c8775fef7585774cf', class: "zonos--elements" });
190
+ return h(Host, { key: '209a2ea0249b9561b5ca1f84f7d31b1520ef49fe', class: "zonos--elements" });
191
191
  }
192
192
  static get is() { return "zonos-controller"; }
193
193
  static get encapsulation() { return "shadow"; }
@@ -5,6 +5,7 @@ import { zonosStore } from "../zonosStore";
5
5
  import { getCountries } from "../../utils/api/getCountries";
6
6
  import { getCountryLandedCost, } from "../../utils/api/getCountryLandedCost";
7
7
  import { getExchangeRate, } from "../../utils/api/getExchangeRate";
8
+ import { getInclusivePricing } from "../../utils/api/getInclusivePricing";
8
9
  import { getLocaleMessages } from "../../utils/api/getLocaleMessages";
9
10
  import { getLocalization } from "../../utils/api/getLocalization";
10
11
  import { getShippingZones } from "../../utils/api/getShippingZones";
@@ -18,6 +19,8 @@ const { dispose: localizationDispose, onChange: localizationStoreOnUpdate, state
18
19
  countryLandedCost: null,
19
20
  customMessages: [],
20
21
  exchangeRate: null,
22
+ hasInclusivePrices: false,
23
+ helloCountryList: null,
21
24
  isShippableCountry: false,
22
25
  localizationLoaded: false,
23
26
  selectedCountryCode: null,
@@ -53,9 +56,15 @@ const startExchangeRateTimeout = ({ isGuaranteed, maxAge, }) => {
53
56
  }, maxAgeToUse * 1000);
54
57
  };
55
58
  const getNewLocalization = async () => {
59
+ var _a;
56
60
  log('get new localization store');
57
61
  const { isShippableCountry, selectedCountryCode } = localizationStore;
58
62
  localizationStore.countryLandedCost = await getCountryLandedCost(localizationStore.selectedCountryCode);
63
+ localizationStore.hasInclusivePrices =
64
+ ((_a = (await getInclusivePricing(selectedCountryCode))) === null || _a === void 0 ? void 0 : _a.hasEnabledInclusivePrices) || false;
65
+ if (localizationStore.hasInclusivePrices) {
66
+ log(`Inclusive prices are enabled for the country ${selectedCountryCode}`);
67
+ }
59
68
  if (zonosStore.helloSettings.currencyBehavior === 'DISABLED' ||
60
69
  !isShippableCountry ||
61
70
  !selectedCountryCode) {
@@ -135,6 +144,32 @@ const localizationStoreUpdateSelectedCountryCode = (newSelectedCountryCode) => {
135
144
  });
136
145
  }
137
146
  };
147
+ const initHelloCountryList = (allCountries) => {
148
+ const showCountrylist = zonosStore.helloSettings.showCountryList;
149
+ const hellCountryList = localizationStore.shippingZoneCountries;
150
+ if (!showCountrylist || showCountrylist === 'ONLY_SHIPPABLE') {
151
+ // just use the shipping zone countries
152
+ localizationStore.helloCountryList = hellCountryList;
153
+ return;
154
+ }
155
+ if (showCountrylist === 'ALL') {
156
+ // Get all active countries
157
+ localizationStore.helloCountryList = Object.entries(allCountries || {}).reduce((current, [countryCode, countryInfo]) => {
158
+ const isActive = countryInfo.active;
159
+ if (!isActive) {
160
+ return current;
161
+ }
162
+ return Object.assign(Object.assign({}, current), { [countryCode]: countryInfo });
163
+ }, {});
164
+ return;
165
+ }
166
+ // get all active countries in the showCountryList
167
+ localizationStore.helloCountryList = showCountrylist.reduce((acc, countryCode) => {
168
+ const countryInfo = allCountries === null || allCountries === void 0 ? void 0 : allCountries[countryCode];
169
+ return countryInfo && countryInfo.active
170
+ ? Object.assign(Object.assign({}, acc), { [countryCode]: countryInfo }) : acc;
171
+ }, {});
172
+ };
138
173
  const initLocalizationStore = async () => {
139
174
  // all countries from countries.json, shipping zone and localization
140
175
  const [allCountries, shippingZoneCountries, localization] = await Promise.all([getCountries(), getShippingZones(), getLocalization()]);
@@ -145,6 +180,8 @@ const initLocalizationStore = async () => {
145
180
  ? Object.assign(Object.assign({}, acc), { [countryCode]: countryInfo }) : acc;
146
181
  }, {});
147
182
  localizationStore.shippingZoneCountries = filteredCountries || null;
183
+ // Initialize the country list for the hello widget
184
+ initHelloCountryList(allCountries || {});
148
185
  const { country, locale } = localization;
149
186
  // update selected country code in store
150
187
  void localizationStoreUpdateSelectedCountryCode(country);
@@ -68,14 +68,14 @@ export const stringsArabic = {
68
68
  "Don't close": {
69
69
  value: 'لا تغلق',
70
70
  },
71
- 'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders': {
72
- value: 'الرسوم والضرائب في أستراليا، ضريبة القيمة المضافة أو ضريبة السلع والخدمات هي [percentage] وتستحق على جميع الطلبات',
71
+ 'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders.': {
72
+ value: 'الرسوم والضرائب في أستراليا، ضريبة القيمة المضافة أو GST هي [percentage] وتستحق على جميع الطلبات.',
73
73
  },
74
74
  'Duties and taxes will be applied to items and shipping.': {
75
75
  value: 'سيتم تطبيق الرسوم والضرائب على العناصر والشحن.',
76
76
  },
77
- 'Duties will apply to all orders': {
78
- value: 'ستنطبق الرسوم على جميع الطلبات',
77
+ 'Duties will apply to all orders.': {
78
+ value: 'ستنطبق الرسوم على جميع الطلبات.',
79
79
  },
80
80
  'Duties, taxes, and fees': {
81
81
  value: 'الرسوم والضرائب والرسوم',
@@ -182,6 +182,9 @@ export const stringsArabic = {
182
182
  'Prepay duties and taxes at checkout': {
183
183
  value: 'دفع الرسوم والضرائب مقدمًا عند الدفع',
184
184
  },
185
+ 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.': {
186
+ value: 'أسعار المنتجات تشمل بالفعل الرسوم والضرائب والرسوم. لن يتم إضافة أي رسوم أو ضرائب إضافية عند الدفع، مع استثناءات نادرة.',
187
+ },
185
188
  Reload: {
186
189
  value: 'إعادة تحميل',
187
190
  },
@@ -224,11 +227,11 @@ export const stringsArabic = {
224
227
  'Something went wrong.': {
225
228
  value: 'حدث خطأ ما.',
226
229
  },
227
- 'Spend [threshold] duty free': {
228
- value: 'أنفق [threshold] معفاة من الرسوم الجمركية',
230
+ 'Spend [threshold] duty free.': {
231
+ value: 'أنفق [threshold] معفى من الرسوم الجمركية.',
229
232
  },
230
- 'Spend [threshold] tax free': {
231
- value: 'أنفق [threshold] معفاة من الضرائب',
233
+ 'Spend [threshold] tax free.': {
234
+ value: 'أنفق [threshold] بدون ضرائب.',
232
235
  },
233
236
  State: {
234
237
  value: 'ولاية',
@@ -239,8 +242,8 @@ export const stringsArabic = {
239
242
  Success: {
240
243
  value: 'نجاح',
241
244
  },
242
- 'Taxes will apply to all orders': {
243
- value: 'ستنطبق الضرائب على جميع الطلبات',
245
+ 'Taxes will apply to all orders.': {
246
+ value: 'سيتم تطبيق الضرائب على جميع الطلبات.',
244
247
  },
245
248
  'Test cards': {
246
249
  value: 'بطاقات اختبار',
@@ -68,14 +68,14 @@ export const stringsBase = {
68
68
  "Don't close": {
69
69
  value: "Don't close",
70
70
  },
71
- 'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders': {
72
- value: 'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders',
71
+ 'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders.': {
72
+ value: 'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders.',
73
73
  },
74
74
  'Duties and taxes will be applied to items and shipping.': {
75
75
  value: 'Duties and taxes will be applied to items and shipping.',
76
76
  },
77
- 'Duties will apply to all orders': {
78
- value: 'Duties will apply to all orders',
77
+ 'Duties will apply to all orders.': {
78
+ value: 'Duties will apply to all orders.',
79
79
  },
80
80
  'Duties, taxes, and fees': {
81
81
  value: 'Duties, taxes, and fees',
@@ -182,6 +182,9 @@ export const stringsBase = {
182
182
  'Prepay duties and taxes at checkout': {
183
183
  value: 'Prepay duties and taxes at checkout',
184
184
  },
185
+ 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.': {
186
+ value: 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.',
187
+ },
185
188
  Reload: {
186
189
  value: 'Reload',
187
190
  },
@@ -224,11 +227,11 @@ export const stringsBase = {
224
227
  'Something went wrong.': {
225
228
  value: 'Something went wrong.',
226
229
  },
227
- 'Spend [threshold] duty free': {
228
- value: 'Spend [threshold] duty free',
230
+ 'Spend [threshold] duty free.': {
231
+ value: 'Spend [threshold] duty free.',
229
232
  },
230
- 'Spend [threshold] tax free': {
231
- value: 'Spend [threshold] tax free',
233
+ 'Spend [threshold] tax free.': {
234
+ value: 'Spend [threshold] tax free.',
232
235
  },
233
236
  State: {
234
237
  value: 'State',
@@ -239,8 +242,8 @@ export const stringsBase = {
239
242
  Success: {
240
243
  value: 'Success',
241
244
  },
242
- 'Taxes will apply to all orders': {
243
- value: 'Taxes will apply to all orders',
245
+ 'Taxes will apply to all orders.': {
246
+ value: 'Taxes will apply to all orders.',
244
247
  },
245
248
  'Test cards': {
246
249
  value: 'Test cards',
@@ -68,14 +68,14 @@ export const stringsChinese = {
68
68
  "Don't close": {
69
69
  value: '不要关',
70
70
  },
71
- 'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders': {
72
- value: '澳大利亚的关税和税款,增值税或GST为[percentage],适用于所有订单',
71
+ 'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders.': {
72
+ value: '澳大利亚的关税和税费,增值税或GST为[percentage],适用于所有订单。',
73
73
  },
74
74
  'Duties and taxes will be applied to items and shipping.': {
75
75
  value: '商品和运费将征收关税和税款。',
76
76
  },
77
- 'Duties will apply to all orders': {
78
- value: '所有订单将征收关税',
77
+ 'Duties will apply to all orders.': {
78
+ value: '所有订单都将适用关税。',
79
79
  },
80
80
  'Duties, taxes, and fees': {
81
81
  value: '关税、税款和费用',
@@ -182,6 +182,9 @@ export const stringsChinese = {
182
182
  'Prepay duties and taxes at checkout': {
183
183
  value: '在结账时预付关税和税款',
184
184
  },
185
+ 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.': {
186
+ value: '产品价格已包含关税、税费和费用。结账时不会再增加额外的关税或税费,极少数情况除外。',
187
+ },
185
188
  Reload: {
186
189
  value: '重新加载',
187
190
  },
@@ -224,11 +227,11 @@ export const stringsChinese = {
224
227
  'Something went wrong.': {
225
228
  value: '出了些问题。',
226
229
  },
227
- 'Spend [threshold] duty free': {
228
- value: '花费[threshold]免税',
230
+ 'Spend [threshold] duty free.': {
231
+ value: '花费 [threshold] 免税。',
229
232
  },
230
- 'Spend [threshold] tax free': {
231
- value: '花费[threshold]免税',
233
+ 'Spend [threshold] tax free.': {
234
+ value: '花费 [threshold] 免税。',
232
235
  },
233
236
  State: {
234
237
  value: '州',
@@ -239,8 +242,8 @@ export const stringsChinese = {
239
242
  Success: {
240
243
  value: '成功',
241
244
  },
242
- 'Taxes will apply to all orders': {
243
- value: '税款将适用于所有订单',
245
+ 'Taxes will apply to all orders.': {
246
+ value: '所有订单将适用税款。',
244
247
  },
245
248
  'Test cards': {
246
249
  value: '测试卡',
@@ -68,14 +68,14 @@ export const stringsDanish = {
68
68
  "Don't close": {
69
69
  value: 'Luk ikke',
70
70
  },
71
- 'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders': {
72
- value: 'Afgifter og skatter i Australien, moms eller GST er [percentage] og forfalder på alle ordrer',
71
+ 'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders.': {
72
+ value: 'Afgifter og skatter i Australien, moms eller GST er [percentage] og forfalder på alle ordrer.',
73
73
  },
74
74
  'Duties and taxes will be applied to items and shipping.': {
75
75
  value: 'Told og skatter vil blive pålagt varer og fragt.',
76
76
  },
77
- 'Duties will apply to all orders': {
78
- value: 'Told vil gælde for alle ordrer',
77
+ 'Duties will apply to all orders.': {
78
+ value: 'Told vil gælde for alle ordrer.',
79
79
  },
80
80
  'Duties, taxes, and fees': {
81
81
  value: 'Told, skatter og gebyrer',
@@ -182,6 +182,9 @@ export const stringsDanish = {
182
182
  'Prepay duties and taxes at checkout': {
183
183
  value: 'Betal told og skatter på forhånd ved kassen',
184
184
  },
185
+ 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.': {
186
+ value: 'Produktpriser inkluderer allerede told, skatter og gebyrer. Ingen yderligere told eller skatter vil blive tilføjet ved kassen, med sjældne undtagelser.',
187
+ },
185
188
  Reload: {
186
189
  value: 'Genindlæs',
187
190
  },
@@ -224,11 +227,11 @@ export const stringsDanish = {
224
227
  'Something went wrong.': {
225
228
  value: 'Noget gik galt.',
226
229
  },
227
- 'Spend [threshold] duty free': {
228
- value: 'Brug [threshold] toldfrit',
230
+ 'Spend [threshold] duty free.': {
231
+ value: 'Brug [threshold] toldfrit.',
229
232
  },
230
- 'Spend [threshold] tax free': {
231
- value: 'Brug [threshold] skattefrit',
233
+ 'Spend [threshold] tax free.': {
234
+ value: 'Brug [threshold] skattefrit.',
232
235
  },
233
236
  State: {
234
237
  value: 'Stat',
@@ -239,8 +242,8 @@ export const stringsDanish = {
239
242
  Success: {
240
243
  value: 'Succes',
241
244
  },
242
- 'Taxes will apply to all orders': {
243
- value: 'Skatter vil gælde for alle ordrer',
245
+ 'Taxes will apply to all orders.': {
246
+ value: 'Skatter vil gælde for alle ordrer.',
244
247
  },
245
248
  'Test cards': {
246
249
  value: 'Testkort',
@@ -68,14 +68,14 @@ export const stringsDutch = {
68
68
  "Don't close": {
69
69
  value: 'Niet sluiten',
70
70
  },
71
- 'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders': {
72
- value: 'Douane- en belastingkosten in Australië, btw of GST is [percentage] en verschuldigd op alle bestellingen',
71
+ 'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders.': {
72
+ value: 'Invoerrechten en belastingen in Australië, de btw of GST is [percentage] en is verschuldigd op alle bestellingen.',
73
73
  },
74
74
  'Duties and taxes will be applied to items and shipping.': {
75
75
  value: 'Belastingen en heffingen worden toegepast op artikelen en verzending.',
76
76
  },
77
- 'Duties will apply to all orders': {
78
- value: 'Heffingen gelden voor alle bestellingen',
77
+ 'Duties will apply to all orders.': {
78
+ value: 'Invoerrechten zullen van toepassing zijn op alle bestellingen.',
79
79
  },
80
80
  'Duties, taxes, and fees': {
81
81
  value: 'Heffingen, belastingen en kosten',
@@ -182,6 +182,9 @@ export const stringsDutch = {
182
182
  'Prepay duties and taxes at checkout': {
183
183
  value: 'Heffingen en belastingen vooraf betalen bij het afrekenen',
184
184
  },
185
+ 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.': {
186
+ value: 'Productprijzen zijn inclusief douanerechten, belastingen en vergoedingen. Er worden geen extra douanerechten of belastingen toegevoegd bij het afrekenen, met zeldzame uitzonderingen.',
187
+ },
185
188
  Reload: {
186
189
  value: 'Herladen',
187
190
  },
@@ -224,11 +227,11 @@ export const stringsDutch = {
224
227
  'Something went wrong.': {
225
228
  value: 'Er is iets misgegaan.',
226
229
  },
227
- 'Spend [threshold] duty free': {
228
- value: 'Besteed [threshold] belastingvrij',
230
+ 'Spend [threshold] duty free.': {
231
+ value: 'Besteed [threshold] belastingvrij.',
229
232
  },
230
- 'Spend [threshold] tax free': {
231
- value: 'Besteed [threshold] belastingvrij',
233
+ 'Spend [threshold] tax free.': {
234
+ value: 'Besteed [threshold] belastingvrij.',
232
235
  },
233
236
  State: {
234
237
  value: 'Staat',
@@ -239,8 +242,8 @@ export const stringsDutch = {
239
242
  Success: {
240
243
  value: 'Succes',
241
244
  },
242
- 'Taxes will apply to all orders': {
243
- value: 'Belastingen gelden voor alle bestellingen',
245
+ 'Taxes will apply to all orders.': {
246
+ value: 'Belastingen zullen van toepassing zijn op alle bestellingen.',
244
247
  },
245
248
  'Test cards': {
246
249
  value: 'Testkaarten',
@@ -68,14 +68,14 @@ export const stringsFrench = {
68
68
  "Don't close": {
69
69
  value: 'Ne pas fermer',
70
70
  },
71
- 'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders': {
72
- value: 'Droits et taxes en Australie, la TVA ou la GST est de [percentage] et est due sur toutes les commandes',
71
+ 'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders.': {
72
+ value: 'Droits et taxes en Australie, la TVA ou GST est de [percentage] et est due sur toutes les commandes.',
73
73
  },
74
74
  'Duties and taxes will be applied to items and shipping.': {
75
75
  value: 'Des droits et taxes seront appliqués aux articles et à la livraison.',
76
76
  },
77
- 'Duties will apply to all orders': {
78
- value: "Les droits s'appliqueront à toutes les commandes",
77
+ 'Duties will apply to all orders.': {
78
+ value: "Des droits de douane s'appliqueront à toutes les commandes.",
79
79
  },
80
80
  'Duties, taxes, and fees': {
81
81
  value: 'Droits, taxes et frais',
@@ -182,6 +182,9 @@ export const stringsFrench = {
182
182
  'Prepay duties and taxes at checkout': {
183
183
  value: "Payez les droits et taxes à l'avance lors du checkout",
184
184
  },
185
+ 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.': {
186
+ value: 'Les prix des produits incluent déjà les droits de douane, les taxes et les frais. Aucun droit de douane ou taxe supplémentaire ne sera ajouté lors du paiement, sauf rares exceptions.',
187
+ },
185
188
  Reload: {
186
189
  value: 'Recharger',
187
190
  },
@@ -224,11 +227,11 @@ export const stringsFrench = {
224
227
  'Something went wrong.': {
225
228
  value: "Quelque chose s'est mal passé.",
226
229
  },
227
- 'Spend [threshold] duty free': {
228
- value: 'Dépensez [threshold] hors taxes',
230
+ 'Spend [threshold] duty free.': {
231
+ value: 'Dépensez [threshold] hors taxes.',
229
232
  },
230
- 'Spend [threshold] tax free': {
231
- value: 'Dépensez [threshold] hors taxes',
233
+ 'Spend [threshold] tax free.': {
234
+ value: 'Dépensez [threshold] hors taxes.',
232
235
  },
233
236
  State: {
234
237
  value: 'État',
@@ -239,8 +242,8 @@ export const stringsFrench = {
239
242
  Success: {
240
243
  value: 'Succès',
241
244
  },
242
- 'Taxes will apply to all orders': {
243
- value: "Les taxes s'appliqueront à toutes les commandes",
245
+ 'Taxes will apply to all orders.': {
246
+ value: "Des taxes s'appliqueront à toutes les commandes.",
244
247
  },
245
248
  'Test cards': {
246
249
  value: 'Cartes de test',
@@ -68,14 +68,14 @@ export const stringsGerman = {
68
68
  "Don't close": {
69
69
  value: 'Nicht schließen',
70
70
  },
71
- 'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders': {
72
- value: 'Zölle und Steuern in Australien, die Mehrwertsteuer oder GST beträgt [percentage] und ist bei allen Bestellungen fällig',
71
+ 'Duties & taxes in Australia, VAT or GST is [percentage] and is due on all orders.': {
72
+ value: 'Zölle und Steuern in Australien, die Mehrwertsteuer oder GST beträgt [percentage] und ist bei allen Bestellungen fällig.',
73
73
  },
74
74
  'Duties and taxes will be applied to items and shipping.': {
75
75
  value: 'Zölle und Steuern werden auf Artikel und Versand erhoben.',
76
76
  },
77
- 'Duties will apply to all orders': {
78
- value: 'Zölle werden auf alle Bestellungen erhoben',
77
+ 'Duties will apply to all orders.': {
78
+ value: 'Zölle werden auf alle Bestellungen angewendet.',
79
79
  },
80
80
  'Duties, taxes, and fees': {
81
81
  value: 'Zölle, Steuern und Gebühren',
@@ -182,6 +182,9 @@ export const stringsGerman = {
182
182
  'Prepay duties and taxes at checkout': {
183
183
  value: 'Zölle und Steuern im Voraus bezahlen',
184
184
  },
185
+ 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.': {
186
+ value: 'Produktpreise beinhalten bereits Zölle, Steuern und Gebühren. Keine zusätzlichen Zölle oder Steuern werden beim Checkout hinzugefügt, mit seltenen Ausnahmen.',
187
+ },
185
188
  Reload: {
186
189
  value: 'Neu laden',
187
190
  },
@@ -224,11 +227,11 @@ export const stringsGerman = {
224
227
  'Something went wrong.': {
225
228
  value: 'Etwas ist schief gelaufen.',
226
229
  },
227
- 'Spend [threshold] duty free': {
228
- value: 'Geben Sie [threshold] zollfrei aus',
230
+ 'Spend [threshold] duty free.': {
231
+ value: 'Geben Sie [threshold] zollfrei aus.',
229
232
  },
230
- 'Spend [threshold] tax free': {
231
- value: 'Geben Sie [threshold] steuerfrei aus',
233
+ 'Spend [threshold] tax free.': {
234
+ value: 'Geben Sie [threshold] steuerfrei aus.',
232
235
  },
233
236
  State: {
234
237
  value: 'Bundesland',
@@ -239,8 +242,8 @@ export const stringsGerman = {
239
242
  Success: {
240
243
  value: 'Erfolg',
241
244
  },
242
- 'Taxes will apply to all orders': {
243
- value: 'Steuern werden auf alle Bestellungen erhoben',
245
+ 'Taxes will apply to all orders.': {
246
+ value: 'Steuern werden auf alle Bestellungen angewendet.',
244
247
  },
245
248
  'Test cards': {
246
249
  value: 'Testkarten',