@zonos/elements 1.3.282 → 1.3.283

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 (178) hide show
  1. package/dist/cjs/{cart-dc31b242.js → cart-a1c00090.js} +1 -1
  2. package/dist/cjs/{collect-463ab3d7.js → collect-e61eafca.js} +2 -2
  3. package/dist/cjs/{getMissingRequiredShippingFields-7cd21100.js → getMissingRequiredShippingFields-a6c4f625.js} +1 -1
  4. package/dist/cjs/{hasInclusivePrice-d14b9d71.js → hasInclusivePrice-e7b57e02.js} +1 -1
  5. package/dist/cjs/index.cjs.js +7 -7
  6. package/dist/cjs/{invoice-8c995041.js → invoice-ead45797.js} +2 -2
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/{localization-491121ad.js → localization-783849c8.js} +2 -0
  9. package/dist/cjs/{paypal-2a4c374c.js → paypal-e1548f40.js} +2 -2
  10. package/dist/cjs/{placeTestOrder-a940a2e9.js → placeTestOrder-d99b1fe2.js} +2 -2
  11. package/dist/cjs/{renderCheckoutCurrency-ab39875a.js → renderCheckoutCurrency-c942fcba.js} +2 -2
  12. package/dist/cjs/zonos-address-completion-dialog_7.cjs.entry.js +94 -53
  13. package/dist/cjs/zonos-address-display_2.cjs.entry.js +12 -5
  14. package/dist/cjs/zonos-address_4.cjs.entry.js +2 -2
  15. package/dist/cjs/zonos-airwallex-payment.cjs.entry.js +3 -3
  16. package/dist/cjs/zonos-card_5.cjs.entry.js +3 -3
  17. package/dist/cjs/zonos-cart-items_12.cjs.entry.js +7 -7
  18. package/dist/cjs/zonos-checkout.cjs.entry.js +3 -3
  19. package/dist/cjs/zonos-collect-cart-items_3.cjs.entry.js +2 -2
  20. package/dist/cjs/zonos-collect-finish_6.cjs.entry.js +6 -6
  21. package/dist/cjs/zonos-collect.cjs.entry.js +4 -4
  22. package/dist/cjs/zonos-controller.cjs.entry.js +2 -2
  23. package/dist/cjs/zonos-country-flag.cjs.entry.js +1 -1
  24. package/dist/cjs/zonos-country-select_4.cjs.entry.js +1 -1
  25. package/dist/cjs/zonos-elements.cjs.js +1 -1
  26. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +2 -2
  27. package/dist/cjs/zonos-hello.cjs.entry.js +1 -1
  28. package/dist/cjs/zonos-invoice-cart-items_2.cjs.entry.js +4 -4
  29. package/dist/cjs/zonos-invoice-finish_5.cjs.entry.js +6 -6
  30. package/dist/cjs/zonos-invoice.cjs.entry.js +4 -4
  31. package/dist/cjs/zonos-language-select_2.cjs.entry.js +1 -1
  32. package/dist/cjs/zonos-policy-consent_2.cjs.entry.js +3 -3
  33. package/dist/collection/components/checkout/zonos-checkout/zonos-address-update-dialog/zonos-address-display/zonos-address-display.js +11 -4
  34. package/dist/collection/components/common/zonos-stripe-phone-input/zonos-stripe-phone-input.js +17 -5
  35. package/dist/collection/components/store/hello/localization.js +2 -0
  36. package/dist/collection/components/stripe/zonos-custom-address/zonos-custom-address.js +52 -48
  37. package/dist/collection/components/utils/checkout/getAddressCountryOptions.js +23 -0
  38. package/dist/esm/{cart-5282f6c1.js → cart-93c36159.js} +1 -1
  39. package/dist/esm/{collect-fdbab973.js → collect-42d4757a.js} +2 -2
  40. package/dist/esm/{getMissingRequiredShippingFields-bdeecbff.js → getMissingRequiredShippingFields-ebdccdcf.js} +1 -1
  41. package/dist/esm/{hasInclusivePrice-161e203f.js → hasInclusivePrice-4c12548f.js} +1 -1
  42. package/dist/esm/index.js +7 -7
  43. package/dist/esm/{invoice-cf6ad79e.js → invoice-71471339.js} +2 -2
  44. package/dist/esm/loader.js +1 -1
  45. package/dist/esm/{localization-0953a048.js → localization-754e7e8b.js} +2 -0
  46. package/dist/esm/{paypal-7c82eac4.js → paypal-b1410e02.js} +2 -2
  47. package/dist/esm/{placeTestOrder-6a746207.js → placeTestOrder-4267cafd.js} +2 -2
  48. package/dist/esm/{renderCheckoutCurrency-44f897a1.js → renderCheckoutCurrency-9a81e41c.js} +2 -2
  49. package/dist/esm/zonos-address-completion-dialog_7.entry.js +94 -53
  50. package/dist/esm/zonos-address-display_2.entry.js +12 -5
  51. package/dist/esm/zonos-address_4.entry.js +2 -2
  52. package/dist/esm/zonos-airwallex-payment.entry.js +3 -3
  53. package/dist/esm/zonos-card_5.entry.js +3 -3
  54. package/dist/esm/zonos-cart-items_12.entry.js +7 -7
  55. package/dist/esm/zonos-checkout.entry.js +3 -3
  56. package/dist/esm/zonos-collect-cart-items_3.entry.js +2 -2
  57. package/dist/esm/zonos-collect-finish_6.entry.js +6 -6
  58. package/dist/esm/zonos-collect.entry.js +4 -4
  59. package/dist/esm/zonos-controller.entry.js +2 -2
  60. package/dist/esm/zonos-country-flag.entry.js +1 -1
  61. package/dist/esm/zonos-country-select_4.entry.js +1 -1
  62. package/dist/esm/zonos-elements.js +1 -1
  63. package/dist/esm/zonos-hello-dialog.entry.js +2 -2
  64. package/dist/esm/zonos-hello.entry.js +1 -1
  65. package/dist/esm/zonos-invoice-cart-items_2.entry.js +4 -4
  66. package/dist/esm/zonos-invoice-finish_5.entry.js +6 -6
  67. package/dist/esm/zonos-invoice.entry.js +4 -4
  68. package/dist/esm/zonos-language-select_2.entry.js +1 -1
  69. package/dist/esm/zonos-policy-consent_2.entry.js +3 -3
  70. package/dist/esm-es5/{cart-5282f6c1.js → cart-93c36159.js} +1 -1
  71. package/dist/esm-es5/{collect-fdbab973.js → collect-42d4757a.js} +1 -1
  72. package/dist/esm-es5/{getMissingRequiredShippingFields-bdeecbff.js → getMissingRequiredShippingFields-ebdccdcf.js} +1 -1
  73. package/dist/esm-es5/{hasInclusivePrice-161e203f.js → hasInclusivePrice-4c12548f.js} +1 -1
  74. package/dist/esm-es5/index.js +1 -1
  75. package/dist/esm-es5/{invoice-cf6ad79e.js → invoice-71471339.js} +1 -1
  76. package/dist/esm-es5/loader.js +1 -1
  77. package/dist/esm-es5/{localization-0953a048.js → localization-754e7e8b.js} +1 -1
  78. package/dist/esm-es5/{paypal-7c82eac4.js → paypal-b1410e02.js} +1 -1
  79. package/dist/esm-es5/{placeTestOrder-6a746207.js → placeTestOrder-4267cafd.js} +1 -1
  80. package/dist/esm-es5/{renderCheckoutCurrency-44f897a1.js → renderCheckoutCurrency-9a81e41c.js} +1 -1
  81. package/dist/esm-es5/zonos-address-completion-dialog_7.entry.js +1 -1
  82. package/dist/esm-es5/zonos-address-display_2.entry.js +1 -1
  83. package/dist/esm-es5/zonos-address_4.entry.js +1 -1
  84. package/dist/esm-es5/zonos-airwallex-payment.entry.js +1 -1
  85. package/dist/esm-es5/zonos-card_5.entry.js +1 -1
  86. package/dist/esm-es5/zonos-cart-items_12.entry.js +1 -1
  87. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  88. package/dist/esm-es5/zonos-collect-cart-items_3.entry.js +1 -1
  89. package/dist/esm-es5/zonos-collect-finish_6.entry.js +1 -1
  90. package/dist/esm-es5/zonos-collect.entry.js +1 -1
  91. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  92. package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
  93. package/dist/esm-es5/zonos-country-select_4.entry.js +1 -1
  94. package/dist/esm-es5/zonos-elements.js +1 -1
  95. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  96. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  97. package/dist/esm-es5/zonos-invoice-cart-items_2.entry.js +1 -1
  98. package/dist/esm-es5/zonos-invoice-finish_5.entry.js +1 -1
  99. package/dist/esm-es5/zonos-invoice.entry.js +1 -1
  100. package/dist/esm-es5/zonos-language-select_2.entry.js +1 -1
  101. package/dist/esm-es5/zonos-policy-consent_2.entry.js +1 -1
  102. package/dist/scripts/index.js +1 -1
  103. package/dist/scripts/loadZonos.js +1 -1
  104. package/dist/scripts/zonos.js +1 -1
  105. package/dist/types/components/common/zonos-stripe-phone-input/zonos-stripe-phone-input.d.ts +1 -0
  106. package/dist/types/components/store/hello/localization.d.ts +7 -0
  107. package/dist/types/components/stripe/zonos-custom-address/zonos-custom-address.d.ts +9 -13
  108. package/dist/types/components/utils/checkout/getAddressCountryOptions.d.ts +29 -0
  109. package/dist/zonos-elements/index.esm.js +1 -1
  110. package/dist/zonos-elements/{p-dfd83cff.entry.js → p-007ff76a.entry.js} +1 -1
  111. package/dist/zonos-elements/{p-1cf5e2ce.system.entry.js → p-065f3f66.system.entry.js} +1 -1
  112. package/dist/zonos-elements/{p-543b25f9.entry.js → p-07c21940.entry.js} +1 -1
  113. package/dist/zonos-elements/{p-fb8dc23f.system.js → p-0d183f19.system.js} +1 -1
  114. package/dist/zonos-elements/{p-aa37f436.system.entry.js → p-1180a97c.system.entry.js} +1 -1
  115. package/dist/zonos-elements/{p-5953208b.js → p-19bbf4b3.js} +1 -1
  116. package/dist/zonos-elements/{p-d06486ba.system.entry.js → p-1af510ea.system.entry.js} +1 -1
  117. package/dist/zonos-elements/{p-646e6b47.system.entry.js → p-1cff471a.system.entry.js} +1 -1
  118. package/dist/zonos-elements/{p-1d31b966.system.js → p-22f7120a.system.js} +1 -1
  119. package/dist/zonos-elements/{p-71fc8a22.js → p-2837bfd2.js} +1 -1
  120. package/dist/zonos-elements/p-29b60bf3.system.js +1 -1
  121. package/dist/zonos-elements/{p-f1aa60fd.system.entry.js → p-29ca1415.system.entry.js} +1 -1
  122. package/dist/zonos-elements/p-2aebcfa8.system.entry.js +1 -0
  123. package/dist/zonos-elements/p-33dd7dab.entry.js +1 -0
  124. package/dist/zonos-elements/{p-68631285.system.entry.js → p-342b062d.system.entry.js} +1 -1
  125. package/dist/zonos-elements/{p-c8bc4ede.js → p-38881097.js} +1 -1
  126. package/dist/zonos-elements/{p-e6e3a303.entry.js → p-39399f67.entry.js} +1 -1
  127. package/dist/zonos-elements/{p-6f874ed9.entry.js → p-3d902845.entry.js} +1 -1
  128. package/dist/zonos-elements/{p-76e36d6d.entry.js → p-3dcb3794.entry.js} +1 -1
  129. package/dist/zonos-elements/p-4a5fa892.system.entry.js +1 -0
  130. package/dist/zonos-elements/{p-5d6b018c.system.entry.js → p-4a73906a.system.entry.js} +1 -1
  131. package/dist/zonos-elements/{p-323279b8.entry.js → p-4b9c7803.entry.js} +1 -1
  132. package/dist/zonos-elements/{p-c12ca8fe.system.entry.js → p-4dba0e9b.system.entry.js} +1 -1
  133. package/dist/zonos-elements/{p-ca9231a0.system.entry.js → p-58da55e6.system.entry.js} +1 -1
  134. package/dist/zonos-elements/p-59824ac6.entry.js +1 -0
  135. package/dist/zonos-elements/{p-c8df5eee.system.entry.js → p-59e4e0b6.system.entry.js} +1 -1
  136. package/dist/zonos-elements/{p-cd3f7fd7.system.js → p-5fceef56.system.js} +1 -1
  137. package/dist/zonos-elements/{p-e57f862d.system.js → p-602de72d.system.js} +1 -1
  138. package/dist/zonos-elements/{p-a4eddf6c.system.js → p-6325ee77.system.js} +1 -1
  139. package/dist/zonos-elements/{p-c5bfe522.system.js → p-67251274.system.js} +1 -1
  140. package/dist/zonos-elements/{p-4417475f.entry.js → p-69871ab6.entry.js} +1 -1
  141. package/dist/zonos-elements/{p-1cf76dd3.entry.js → p-6be4c473.entry.js} +1 -1
  142. package/dist/zonos-elements/{p-0287f9cd.system.js → p-72280783.system.js} +1 -1
  143. package/dist/zonos-elements/{p-c121b2b8.entry.js → p-73d1a554.entry.js} +1 -1
  144. package/dist/zonos-elements/{p-c9e44c77.system.entry.js → p-76a75da9.system.entry.js} +1 -1
  145. package/dist/zonos-elements/p-76cdf517.js +1 -0
  146. package/dist/zonos-elements/p-8eaf1316.js +1 -0
  147. package/dist/zonos-elements/{p-56e9a29e.entry.js → p-944282af.entry.js} +1 -1
  148. package/dist/zonos-elements/{p-aa1f3060.system.entry.js → p-97f15546.system.entry.js} +1 -1
  149. package/dist/zonos-elements/{p-10584546.entry.js → p-9ceb3d1c.entry.js} +1 -1
  150. package/dist/zonos-elements/{p-7c70e0c7.js → p-a2fe995b.js} +1 -1
  151. package/dist/zonos-elements/{p-b91a8f31.system.entry.js → p-aa7589de.system.entry.js} +1 -1
  152. package/dist/zonos-elements/{p-3642dd99.entry.js → p-b0482924.entry.js} +1 -1
  153. package/dist/zonos-elements/{p-28ee0860.system.js → p-b567448d.system.js} +1 -1
  154. package/dist/zonos-elements/{p-23eee868.entry.js → p-b7a03b08.entry.js} +1 -1
  155. package/dist/zonos-elements/{p-e101b0de.system.entry.js → p-c43130a7.system.entry.js} +1 -1
  156. package/dist/zonos-elements/{p-2394b186.system.js → p-c515bc23.system.js} +1 -1
  157. package/dist/zonos-elements/{p-30cfc9f4.entry.js → p-c8a48cce.entry.js} +1 -1
  158. package/dist/zonos-elements/{p-d2cb99ee.system.entry.js → p-cc35d5f8.system.entry.js} +1 -1
  159. package/dist/zonos-elements/{p-ab61ef19.system.js → p-cd5638b2.system.js} +2 -2
  160. package/dist/zonos-elements/p-d68425ad.js +1 -0
  161. package/dist/zonos-elements/{p-0fb4e032.entry.js → p-d74eda59.entry.js} +1 -1
  162. package/dist/zonos-elements/{p-95042e71.entry.js → p-d93f4837.entry.js} +1 -1
  163. package/dist/zonos-elements/{p-d0767f88.entry.js → p-dcf8ab79.entry.js} +1 -1
  164. package/dist/zonos-elements/{p-f1298203.system.entry.js → p-e2057ab0.system.entry.js} +1 -1
  165. package/dist/zonos-elements/{p-1977f4b5.js → p-e2b8936a.js} +1 -1
  166. package/dist/zonos-elements/{p-8fb15a6b.system.entry.js → p-e8159288.system.entry.js} +1 -1
  167. package/dist/zonos-elements/{p-59518657.entry.js → p-e8bb4f3b.entry.js} +1 -1
  168. package/dist/zonos-elements/{p-fdd7ec44.system.entry.js → p-e99654c1.system.entry.js} +1 -1
  169. package/dist/zonos-elements/{p-7ab15d20.js → p-f9f3155b.js} +1 -1
  170. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  171. package/package.json +1 -1
  172. package/dist/zonos-elements/p-193fc2da.entry.js +0 -1
  173. package/dist/zonos-elements/p-3c62acbd.js +0 -1
  174. package/dist/zonos-elements/p-5987dea1.js +0 -1
  175. package/dist/zonos-elements/p-63b462dd.system.entry.js +0 -1
  176. package/dist/zonos-elements/p-8418aa07.entry.js +0 -1
  177. package/dist/zonos-elements/p-987b5d8f.js +0 -1
  178. package/dist/zonos-elements/p-ddd0e703.system.entry.js +0 -1
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b1f95d96.js');
6
- const localization = require('./localization-491121ad.js');
6
+ const localization = require('./localization-783849c8.js');
7
7
  const zonosStore = require('./zonosStore-fee716c9.js');
8
- const getMissingRequiredShippingFields = require('./getMissingRequiredShippingFields-7cd21100.js');
8
+ const getMissingRequiredShippingFields = require('./getMissingRequiredShippingFields-a6c4f625.js');
9
9
  const classes = require('./classes-b7918f56.js');
10
- const cart = require('./cart-dc31b242.js');
10
+ const cart = require('./cart-a1c00090.js');
11
11
  const RemoveIcon$1 = require('./RemoveIcon-081ac073.js');
12
12
  const containsNonLatinChars = require('./containsNonLatinChars-2be5129b.js');
13
13
  const getBorderRadius = require('./getBorderRadius-4da24d7c.js');
@@ -500,6 +500,30 @@ const isValidZip = ({ countryFields, zip, }) => {
500
500
  return countryFields.zipRequired && !!zip;
501
501
  };
502
502
 
503
+ const hasCountries = (countries) => !!countries && Object.keys(countries).length > 0;
504
+ /**
505
+ * Builds the country options for an address form's country dropdown.
506
+ *
507
+ * Shipping addresses are restricted to the merchant's shipping zone, since we
508
+ * can only fulfill orders to those countries. Billing addresses are not — a
509
+ * shopper's card can be billed to any country, so restricting the billing
510
+ * country prevents them from checking out at all (05CHECK-915).
511
+ *
512
+ * When the full country list is unavailable we fall back to the shipping zone
513
+ * so the dropdown is never empty.
514
+ */
515
+ const getAddressCountryOptions = ({ allCountries, shippingZoneCountries, type, }) => {
516
+ const countries = type === 'billing' && hasCountries(allCountries)
517
+ ? allCountries
518
+ : shippingZoneCountries;
519
+ return Object.values(countries || {})
520
+ .map(country => ({
521
+ label: country.displayName,
522
+ value: country.code,
523
+ }))
524
+ .sort((a, b) => a.label.localeCompare(b.label));
525
+ };
526
+
503
527
  const mergeAddress = ({ addresses, delimiter = ' ', }) => {
504
528
  // Remove duplicate addresses
505
529
  const addressSet = new Set(addresses.filter(Boolean));
@@ -564,14 +588,6 @@ const ZonosAddress = class {
564
588
  * Whether to start google place suggestions
565
589
  */
566
590
  this.startGooglePlaceSuggestions = false;
567
- /**
568
- * List of countries to show in the address element
569
- */
570
- this.shipToCountries = null;
571
- /**
572
- * Shipping zones from localization
573
- */
574
- this.shippingZones = null;
575
591
  this.city = '';
576
592
  this.country = '';
577
593
  this.firstName = '';
@@ -611,6 +627,14 @@ const ZonosAddress = class {
611
627
  * Google autocomplete overlay is conflict with our button, this is to adjust z index of the autocomplete
612
628
  */
613
629
  this.isAutoCompleteAdjusted = false;
630
+ /**
631
+ * Memoized country options, keyed on the store references they derive from.
632
+ * `render()` runs on every keystroke, and rebuilding the list each time would
633
+ * re-sort ~244 countries and hand `zonos-stripe-select` a new array identity,
634
+ * re-rendering it needlessly. `@stencil/store` replaces these references
635
+ * wholesale rather than mutating them, so reference equality is a safe key.
636
+ */
637
+ this.countryOptionsCache = null;
614
638
  // Create a single throttled instance that persists
615
639
  this.throttledGetAddressSuggestions = throttle.throttle_1(() => {
616
640
  if (zonosStore.zonosStore.checkoutAddressService) {
@@ -762,6 +786,28 @@ const ZonosAddress = class {
762
786
  this.onStoreCheckoutSessionIdChangedSubscription = localization.storageStoreOnChange('checkoutSessionId', onCheckoutSessionIdChange);
763
787
  };
764
788
  }
789
+ getCountryOptions() {
790
+ const { allCountries, shippingZoneCountries } = localization.localizationStore;
791
+ const cache = this.countryOptionsCache;
792
+ if (cache &&
793
+ cache.allCountries === allCountries &&
794
+ cache.shippingZoneCountries === shippingZoneCountries &&
795
+ cache.type === this.type) {
796
+ return cache.options;
797
+ }
798
+ const options = getAddressCountryOptions({
799
+ allCountries,
800
+ shippingZoneCountries,
801
+ type: this.type,
802
+ });
803
+ this.countryOptionsCache = {
804
+ allCountries,
805
+ options,
806
+ shippingZoneCountries,
807
+ type: this.type,
808
+ };
809
+ return options;
810
+ }
765
811
  getStripeAddressInstance() {
766
812
  if (this.type === 'billing') {
767
813
  return {
@@ -1188,24 +1234,19 @@ const ZonosAddress = class {
1188
1234
  this.initAddressSuggestions();
1189
1235
  this.initDefaultCustomAddressForm();
1190
1236
  }
1191
- shippingZonesChanged() {
1192
- this.shippingZones = localization.localizationStore.shippingZoneCountries;
1193
- this.shipToCountries = Object.values(this.shippingZones || {})
1194
- .map(country => ({
1195
- label: country.displayName,
1196
- value: country.code,
1197
- }))
1198
- .sort((a, b) => {
1199
- return a.label.localeCompare(b.label);
1200
- });
1201
- }
1202
1237
  renderCustomAddressForm() {
1203
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
1204
- const _t = this.getCustomAddressErrors(), { showError } = _t, customAddressErrors = __rest(_t, ["showError"]);
1238
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
1239
+ const _s = this.getCustomAddressErrors(), { showError } = _s, customAddressErrors = __rest(_s, ["showError"]);
1205
1240
  const stripeAddressEventData = this.getStripeAddressInstance().stripeAddressEventData;
1206
1241
  const countryCode = stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.country;
1207
- const firstCountry = (_a = this.shipToCountries) === null || _a === void 0 ? void 0 : _a[0];
1208
- const stateOptions = Object.entries(((_b = this.countryField) === null || _b === void 0 ? void 0 : _b.regions) || {})
1242
+ /**
1243
+ * Billing addresses are not limited to the shipping zone: a shopper's card
1244
+ * can be billed to any country, so restricting it would block them from
1245
+ * checking out entirely (05CHECK-915).
1246
+ */
1247
+ const countryOptions = this.getCountryOptions();
1248
+ const firstCountry = countryOptions[0];
1249
+ const stateOptions = Object.entries(((_a = this.countryField) === null || _a === void 0 ? void 0 : _a.regions) || {})
1209
1250
  .map(([label, region]) => ({
1210
1251
  label,
1211
1252
  value: region.interpayCode,
@@ -1239,7 +1280,7 @@ const ZonosAddress = class {
1239
1280
  * Therefore, we must update the value after validation to ensure correct error state
1240
1281
  */
1241
1282
  this.lastName = event.detail;
1242
- }, required: true }), index.h("zonos-stripe-select", { "aria-required": "true", autoComplete: "shipping country", class: "zonos--custom-address-form-input", name: `${this.type}-country`, onSelectChange: (event) => {
1283
+ }, required: true }), index.h("zonos-stripe-select", { "aria-required": "true", autoComplete: `${this.type} country`, class: "zonos--custom-address-form-input", name: `${this.type}-country`, onSelectChange: (event) => {
1243
1284
  this.countryChanged(event.detail);
1244
1285
  // revalidate the postal code since with empty value so it would reset the customAddressErrors
1245
1286
  this.validate({
@@ -1268,9 +1309,9 @@ const ZonosAddress = class {
1268
1309
  this.city = '';
1269
1310
  this.state = '';
1270
1311
  this.postalCode = '';
1271
- }, options: this.shipToCountries || [], required: true, selectLabel: localization.translate('Country'), selectedValue: (stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.country) ||
1312
+ }, options: countryOptions, required: true, selectLabel: localization.translate('Country'), selectedValue: (stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.country) ||
1272
1313
  localization.localizationStore.selectedCountryCode ||
1273
- (firstCountry === null || firstCountry === void 0 ? void 0 : firstCountry.value), title: `${this.type} country` }), index.h("div", { class: "zonos--custom-address-form-line1-wrapper" }, index.h("zonos-stripe-input", { "aria-autocomplete": "list", "aria-controls": "autocomplete-search", "aria-required": "true", autoComplete: "shipping address-line1", class: "zonos--custom-address-form-input", error: showError ? customAddressErrors.line1 : undefined, inputLabel: localization.translate('Address line 1'), inputValue: stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.line1, name: "address-line1", onInputChange: (event) => {
1314
+ (firstCountry === null || firstCountry === void 0 ? void 0 : firstCountry.value), title: `${this.type} country` }), index.h("div", { class: "zonos--custom-address-form-line1-wrapper" }, index.h("zonos-stripe-input", { "aria-autocomplete": "list", "aria-controls": "autocomplete-search", "aria-required": "true", autoComplete: `${this.type} address-line1`, class: "zonos--custom-address-form-input", error: showError ? customAddressErrors.line1 : undefined, inputLabel: localization.translate('Address line 1'), inputValue: stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.line1, name: "address-line1", onInputChange: (event) => {
1274
1315
  this.validate({
1275
1316
  type: this.type,
1276
1317
  value: event.detail,
@@ -1301,9 +1342,9 @@ const ZonosAddress = class {
1301
1342
  }, suggestions: this.addressSuggestions, type: this.type })), index.h("div", { "aria-label": "Additional address details", class: classes.classes([
1302
1343
  'zonos--custom-address-form-additional-fields',
1303
1344
  countryCode && this.isAddressLine1Entered ? 'zonos--show' : '',
1304
- ]), role: "group" }, index.h("zonos-stripe-input", { "aria-required": "false", autoComplete: "shipping address-line2", class: "zonos--custom-address-form-input", inputLabel: localization.translate(((_c = this.countryField) === null || _c === void 0 ? void 0 : _c.address2Label) || 'Address line 2'), inputValue: (stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.line2) || '', onInputChange: (event) => {
1345
+ ]), role: "group" }, index.h("zonos-stripe-input", { "aria-required": "false", autoComplete: `${this.type} address-line2`, class: "zonos--custom-address-form-input", inputLabel: localization.translate(((_b = this.countryField) === null || _b === void 0 ? void 0 : _b.address2Label) || 'Address line 2'), inputValue: (stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.line2) || '', onInputChange: (event) => {
1305
1346
  this.line2 = event.detail;
1306
- } }), ((_d = this.countryField) === null || _d === void 0 ? void 0 : _d.cityShow) && (index.h("zonos-stripe-input", { "aria-required": ((_e = this.countryField) === null || _e === void 0 ? void 0 : _e.cityRequired) ? 'true' : 'false', autoComplete: "shipping address-level2", class: "zonos--custom-address-form-input", error: showError ? customAddressErrors.city : undefined, inputLabel: localization.translate(((_f = this.countryField) === null || _f === void 0 ? void 0 : _f.cityLabel) || 'City'), inputValue: (stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.city) || '', name: "locality", onInputChange: (event) => {
1347
+ } }), ((_c = this.countryField) === null || _c === void 0 ? void 0 : _c.cityShow) && (index.h("zonos-stripe-input", { "aria-required": ((_d = this.countryField) === null || _d === void 0 ? void 0 : _d.cityRequired) ? 'true' : 'false', autoComplete: `${this.type} address-level2`, class: "zonos--custom-address-form-input", error: showError ? customAddressErrors.city : undefined, inputLabel: localization.translate(((_e = this.countryField) === null || _e === void 0 ? void 0 : _e.cityLabel) || 'City'), inputValue: (stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.city) || '', name: "locality", onInputChange: (event) => {
1307
1348
  this.validate({
1308
1349
  type: this.type,
1309
1350
  value: event.detail,
@@ -1317,7 +1358,7 @@ const ZonosAddress = class {
1317
1358
  * Therefore, we must update the value after validation to ensure correct error state
1318
1359
  */
1319
1360
  this.city = event.detail;
1320
- }, required: (_g = this.countryField) === null || _g === void 0 ? void 0 : _g.cityRequired })), index.h("div", { class: "zonos--custom-address-form-state-zip-wrapper" }, ((_h = this.countryField) === null || _h === void 0 ? void 0 : _h.stateShow) && (index.h("zonos-stripe-select", { "aria-required": ((_j = this.countryField) === null || _j === void 0 ? void 0 : _j.stateRequired) ? 'true' : 'false', autoComplete: "shipping address-level1", class: "zonos--custom-address-form-input", error: showError ? customAddressErrors.state : undefined, isError: showError && !!customAddressErrors.state, name: `${this.type}-state`, onSelectChange: (event) => {
1361
+ }, required: (_f = this.countryField) === null || _f === void 0 ? void 0 : _f.cityRequired })), index.h("div", { class: "zonos--custom-address-form-state-zip-wrapper" }, ((_g = this.countryField) === null || _g === void 0 ? void 0 : _g.stateShow) && (index.h("zonos-stripe-select", { "aria-required": ((_h = this.countryField) === null || _h === void 0 ? void 0 : _h.stateRequired) ? 'true' : 'false', autoComplete: `${this.type} address-level1`, class: "zonos--custom-address-form-input", error: showError ? customAddressErrors.state : undefined, isError: showError && !!customAddressErrors.state, name: `${this.type}-state`, onSelectChange: (event) => {
1321
1362
  this.validate({
1322
1363
  type: this.type,
1323
1364
  value: event.detail,
@@ -1331,9 +1372,9 @@ const ZonosAddress = class {
1331
1372
  * Therefore, we must update the value after validation to ensure correct error state
1332
1373
  */
1333
1374
  this.state = event.detail;
1334
- }, options: stateOptions, required: (_k = this.countryField) === null || _k === void 0 ? void 0 : _k.stateRequired, selectLabel: localization.translate(((_l = this.countryField) === null || _l === void 0 ? void 0 : _l.stateLabel) || 'State'), selectedValue: stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.state, title: `${this.type} state` })), ((_m = this.countryField) === null || _m === void 0 ? void 0 : _m.zipShow) && (index.h("zonos-stripe-input", { "aria-describedby": ((_o = this.countryField) === null || _o === void 0 ? void 0 : _o.zipFormat)
1375
+ }, options: stateOptions, required: (_j = this.countryField) === null || _j === void 0 ? void 0 : _j.stateRequired, selectLabel: localization.translate(((_k = this.countryField) === null || _k === void 0 ? void 0 : _k.stateLabel) || 'State'), selectedValue: stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.state, title: `${this.type} state` })), ((_l = this.countryField) === null || _l === void 0 ? void 0 : _l.zipShow) && (index.h("zonos-stripe-input", { "aria-describedby": ((_m = this.countryField) === null || _m === void 0 ? void 0 : _m.zipFormat)
1335
1376
  ? `zip-format-${this.type}`
1336
- : undefined, "aria-required": ((_p = this.countryField) === null || _p === void 0 ? void 0 : _p.zipRequired) ? 'true' : 'false', autoComplete: "shipping postal-code", class: "zonos--custom-address-form-input", error: showError ? customAddressErrors.postalCode : undefined, inputLabel: localization.translate(((_q = this.countryField) === null || _q === void 0 ? void 0 : _q.zipLabel) || 'Zip'), inputValue: (stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.postal_code) || '', name: "postalCode", onInputChange: (event) => {
1377
+ : undefined, "aria-required": ((_o = this.countryField) === null || _o === void 0 ? void 0 : _o.zipRequired) ? 'true' : 'false', autoComplete: `${this.type} postal-code`, class: "zonos--custom-address-form-input", error: showError ? customAddressErrors.postalCode : undefined, inputLabel: localization.translate(((_p = this.countryField) === null || _p === void 0 ? void 0 : _p.zipLabel) || 'Zip'), inputValue: (stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.postal_code) || '', name: "postalCode", onInputChange: (event) => {
1337
1378
  this.validate({
1338
1379
  type: this.type,
1339
1380
  value: event.detail,
@@ -1347,7 +1388,7 @@ const ZonosAddress = class {
1347
1388
  * Therefore, we must update the value after validation to ensure correct error state
1348
1389
  */
1349
1390
  this.postalCode = event.detail;
1350
- }, required: (_r = this.countryField) === null || _r === void 0 ? void 0 : _r.zipRequired, title: `${this.type} zip code` }))), index.h("zonos-stripe-phone-input", { autoComplete: "shipping tel", class: "zonos--custom-address-form-input", countryCode: stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.country, countryOptions: (_s = zonosStore.zonosStore.genericSettings) === null || _s === void 0 ? void 0 : _s.countryFields, error: showError ? customAddressErrors.phone : undefined, inputLabel: localization.translate('Phone number'), inputValue: (stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.phone) || '', onInputValueChange: event => {
1391
+ }, required: (_q = this.countryField) === null || _q === void 0 ? void 0 : _q.zipRequired, title: `${this.type} zip code` }))), index.h("zonos-stripe-phone-input", { autoComplete: `${this.type} tel`, class: "zonos--custom-address-form-input", countryCode: stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.country, countryOptions: (_r = zonosStore.zonosStore.genericSettings) === null || _r === void 0 ? void 0 : _r.countryFields, error: showError ? customAddressErrors.phone : undefined, inputLabel: localization.translate('Phone number'), inputValue: (stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.phone) || '', onInputValueChange: event => {
1351
1392
  const { isEmpty, phoneNumber, valid, wrongFormat } = event.detail;
1352
1393
  // Validate the phone number
1353
1394
  this.validate({
@@ -1388,14 +1429,6 @@ const ZonosAddress = class {
1388
1429
  }
1389
1430
  componentDidLoad() {
1390
1431
  const stripeAddressEventData = this.getStripeAddressInstance().stripeAddressEventData;
1391
- this.shipToCountries = Object.values(localization.localizationStore.shippingZoneCountries || {})
1392
- .map(country => ({
1393
- label: country.displayName,
1394
- value: country.code,
1395
- }))
1396
- .sort((a, b) => {
1397
- return a.label.localeCompare(b.label);
1398
- });
1399
1432
  this.isDirtyAddress =
1400
1433
  !!stripeAddressEventData &&
1401
1434
  stripeAddressEventData.value.address.line1.length > 0;
@@ -1408,7 +1441,6 @@ const ZonosAddress = class {
1408
1441
  }
1409
1442
  render() {
1410
1443
  var _a;
1411
- this.shippingZones = localization.localizationStore.shippingZoneCountries;
1412
1444
  this.addressService = zonosStore.zonosStore.checkoutAddressService;
1413
1445
  if ((_a = cart.stripeStore.stripeAddressEventData) === null || _a === void 0 ? void 0 : _a.complete) {
1414
1446
  this.isAddressFilled = true;
@@ -1418,10 +1450,10 @@ const ZonosAddress = class {
1418
1450
  this.country = localization.localizationStore.selectedCountryCode;
1419
1451
  }
1420
1452
  // this component loads iframe from the stripe elements and puts here, so we don't need to do anything here
1421
- return (index.h(index.Host, { key: '1e90973654268e1af1e98bf606f71d55c63f5656', class: classes.classes([
1453
+ return (index.h(index.Host, { key: '5baf00df63a693613f493a84c906898080dcbfa2', class: classes.classes([
1422
1454
  'zonos--address zonos--elements',
1423
1455
  `zonos--${this.type}-address`,
1424
- ]) }, index.h("zonos-text", { key: 'f986a00640502fb262cc424e57f5edb1f4cdbb9c', class: "zonos--title", type: "semiBoldLabel" }, this.titleText), index.h("slot", { key: '57ae4b8393e350b99112e6a7800a97d6a524d57c', name: "below-title" }), this.renderCompanyNameInput(), this.renderTaxIdInput(), this.renderShortAddressCodeInput(), this.renderCustomAddressForm()));
1456
+ ]) }, index.h("zonos-text", { key: 'f5079e30a1eadceffaac7fef5aa5296b1f9f480b', class: "zonos--title", type: "semiBoldLabel" }, this.titleText), index.h("slot", { key: 'fcbd1bac9e06e91c9e4a229d63852df9fea08c58', name: "below-title" }), this.renderCompanyNameInput(), this.renderTaxIdInput(), this.renderShortAddressCodeInput(), this.renderCustomAddressForm()));
1425
1457
  }
1426
1458
  get el() { return index.getElement(this); }
1427
1459
  static get watchers() { return {
@@ -1437,8 +1469,7 @@ const ZonosAddress = class {
1437
1469
  "phone": ["formFieldsChanged"],
1438
1470
  "postalCode": ["formFieldsChanged"],
1439
1471
  "state": ["formFieldsChanged"],
1440
- "addressService": ["shouldEnabledCustomAddressChanged"],
1441
- "shippingZones": ["shippingZonesChanged"]
1472
+ "addressService": ["shouldEnabledCustomAddressChanged"]
1442
1473
  }; }
1443
1474
  };
1444
1475
  ZonosAddress.style = ZonosCustomAddressStyle0;
@@ -7336,6 +7367,15 @@ const ZonosStripePhoneInput = class {
7336
7367
  this.updatePhoneFormatter();
7337
7368
  };
7338
7369
  }
7370
+ onCountryCodeChange() {
7371
+ /**
7372
+ * Re-derive the dial code when the address country changes, otherwise a
7373
+ * shopper who changes country keeps the previous country's dial code — for
7374
+ * example a US billing address on a Mexico shipment would send a US phone
7375
+ * number prefixed with +52 (05CHECK-915).
7376
+ */
7377
+ this.initPhoneNumberValue();
7378
+ }
7339
7379
  onCountryOptionsChange() {
7340
7380
  // Re-initialize the phone number value when the country options change
7341
7381
  this.initPhoneNumberValue();
@@ -7415,27 +7455,28 @@ const ZonosStripePhoneInput = class {
7415
7455
  .filter(Boolean)
7416
7456
  .sort((a, b) => a.displayName.localeCompare(b.displayName))
7417
7457
  : [];
7418
- return (index.h(index.Host, { key: 'd89450cd871f6220d00b325157e8b9213f1eede6', class: classes.classes([
7458
+ return (index.h(index.Host, { key: '14478c1db0acc4651d9433f71fefa8bd18b28a61', class: classes.classes([
7419
7459
  'zonos--phone-input zonos--elements',
7420
7460
  isDark && 'dark',
7421
- ]), "data-theme": isDark ? 'DARK' : 'LIGHT', style: Object.assign({ '--zonos--border-radius': getBorderRadius.getBorderRadius(), '--zonos--font-family': zonosStore.zonosStoreFontFamily(), '--zonos--font-size': `${fontSize}px`, '--zonos--primary-color': secondaryColor }, (this.minWidth ? { '--zonos--min-width': this.minWidth } : {})) }, index.h("div", { key: '7ec4d175288776584c2938ecb97ec3ddf862e782', class: classes.classes([
7461
+ ]), "data-theme": isDark ? 'DARK' : 'LIGHT', style: Object.assign({ '--zonos--border-radius': getBorderRadius.getBorderRadius(), '--zonos--font-family': zonosStore.zonosStoreFontFamily(), '--zonos--font-size': `${fontSize}px`, '--zonos--primary-color': secondaryColor }, (this.minWidth ? { '--zonos--min-width': this.minWidth } : {})) }, index.h("div", { key: 'cdc9f75fa9a8fd81ab565614729d33b3b54b1ba9', class: classes.classes([
7422
7462
  'zonos--label-wrapper',
7423
7463
  this.disabled && 'disabled',
7424
7464
  this.isFocused && 'focused',
7425
7465
  hasContent && 'has-content',
7426
7466
  this.error && 'has-error',
7427
7467
  this.inputLabel && 'has-label',
7428
- ]) }, index.h("select", { key: 'e4366c1c6ab1a2368a29948f1766978aa8fa580d', class: "zonos--select", disabled: this.disabled, onBlur: this.handleBlur, onChange: this.handleCountryChange, onFocus: this.handleFocus }, countryOptionsList.map(option => {
7468
+ ]) }, index.h("select", { key: 'a34d728be2b100874a2fb2a91e12b77988602b3a', class: "zonos--select", disabled: this.disabled, onBlur: this.handleBlur, onChange: this.handleCountryChange, onFocus: this.handleFocus }, countryOptionsList.map(option => {
7429
7469
  var _a;
7430
7470
  return (index.h("option", { key: option.countryCode, selected: option.countryCode === ((_a = this.selectedCountry) === null || _a === void 0 ? void 0 : _a.countryCode), value: option.countryCode }, option.displayName, " (+", option.phoneCode, ")"));
7431
- })), index.h("div", { key: 'f24b7bd87a8113d5cd240f3c11f5304a277c4f88', class: "zonos--input-group" }, index.h("div", { key: '3eafacfbe41af7221e9d40646849d6e5d48b1640', class: "zonos--select-wrapper" }, index.h("div", { key: 'cf11e4657375cf81e3c8cfce697c5bd171b93391', class: "zonos--country-select" }, index.h("div", { key: '503b7b08f66b5b875a3adb6b22a3011e19fe610e', class: "zonos--country-select-content" }, this.selectedCountry && (index.h("div", { key: 'f99b75f25ae1cbb9d05b308b5d4687a650ee7d4c', class: "zonos--country-select-selected" }, index.h("div", { key: '030899619207c8e809ffed56761372b0d83e50d0', class: "zonos--country-flag-wrapper" }, index.h("zonos-country-flag", { key: 'd3661dc8f66fb21d16e5ef686652ef8a966e0a88', class: "zonos--country-flag", countryCode: this.selectedCountry.countryCode })), index.h("div", { key: '23bff50c220aa53dc0182d8ccc0b213b47930cd3', class: "zonos--country-code" }, "+", this.selectedCountry.phoneCode))), index.h("div", { key: 'aa4cd5be6353f36ea3efd0d7fb7f1816c34ae48b', class: "zonos--select-chevron-wrapper" }, index.h("zonos-icon", { key: '3ff4a4fc0e0c6d1d8d293a5b09138d1aae445050', "aria-label": "Expand collapsed section", class: "zonos--select-chevron", content: ChevronDownIcon$1, iconColor: "gray-800" }))))), index.h("div", { key: '7f60b7f27c0f2d4ecba6ab9fa36fc0c438b8a16d', class: classes.classes([
7471
+ })), index.h("div", { key: 'c8d76a0a1e9ca245f03a853440a691e1bb478093', class: "zonos--input-group" }, index.h("div", { key: '51ccfb533bb4560061c63aaed368fb6488cf9d87', class: "zonos--select-wrapper" }, index.h("div", { key: 'cd50bc9c8f2fd407f47e5bfd3eba18a3f8fe721f', class: "zonos--country-select" }, index.h("div", { key: '05581057f31568b3d50b054e9c7fbbad5be7c27a', class: "zonos--country-select-content" }, this.selectedCountry && (index.h("div", { key: '04c5abdc6fdf7e71585896b426ec1ab00dc11f66', class: "zonos--country-select-selected" }, index.h("div", { key: '6750556068dbad185fadfba36268417974a43865', class: "zonos--country-flag-wrapper" }, index.h("zonos-country-flag", { key: 'a611a41490d68f2763ae43ad0fd5c0c498d16bfe', class: "zonos--country-flag", countryCode: this.selectedCountry.countryCode })), index.h("div", { key: 'eab8a6353cd865cffb1576f14fee6edd5dbd3383', class: "zonos--country-code" }, "+", this.selectedCountry.phoneCode))), index.h("div", { key: 'b3b4b8c407ed68305b467590921bc57925077acd', class: "zonos--select-chevron-wrapper" }, index.h("zonos-icon", { key: '7bc52fdcaf76bf6416d33442e844057b8d6e8121', "aria-label": "Expand collapsed section", class: "zonos--select-chevron", content: ChevronDownIcon$1, iconColor: "gray-800" }))))), index.h("div", { key: 'd0ad07b902ef0ff675a515c07ec6597c0d0b0aa2', class: classes.classes([
7432
7472
  'zonos--input-container',
7433
7473
  this.inputLabel && 'has-label',
7434
7474
  hasContent && 'has-content',
7435
- ]) }, index.h("input", Object.assign({ key: 'b821664395945a074682793137940507ece7126b' }, this.inheritedAttributes, { autoComplete: this.autoComplete, class: "zonos--floated-input", disabled: this.disabled, id: this.inputId, onBlur: this.handleBlur, onFocus: this.handleFocus, onInput: this.handlePhoneChange, placeholder: ((_a = this.selectedCountry) === null || _a === void 0 ? void 0 : _a.phonePlaceholder) || '', ref: el => (this.inputRef = el), type: "tel" })), this.inputLabel && (index.h("div", { key: 'e2ccfc80835f3a20fe973c0e1a11314212ab0c00', class: "zonos--floated-label" }, index.h("label", { key: 'b7d96e8332fb7c3cd4f084f76bf472107ae1e73b', htmlFor: this.inputId }, this.inputLabel || localization.translate('Phone number'))))))), this.error && (index.h("zonos-text", { key: '0aae60a88c79d3fade222efccd1049a4b130fbbc', textColor: "red-600" }, this.error))));
7475
+ ]) }, index.h("input", Object.assign({ key: '5b12c7a228bf9736856c9ebf8ff7898cf0fc1889' }, this.inheritedAttributes, { autoComplete: this.autoComplete, class: "zonos--floated-input", disabled: this.disabled, id: this.inputId, onBlur: this.handleBlur, onFocus: this.handleFocus, onInput: this.handlePhoneChange, placeholder: ((_a = this.selectedCountry) === null || _a === void 0 ? void 0 : _a.phonePlaceholder) || '', ref: el => (this.inputRef = el), type: "tel" })), this.inputLabel && (index.h("div", { key: '04482f4bc210fb7ee6047972043f6b1942b25142', class: "zonos--floated-label" }, index.h("label", { key: '345c8e9d7ebc4aa8891c86a77a51f9bbd0088044', htmlFor: this.inputId }, this.inputLabel || localization.translate('Phone number'))))))), this.error && (index.h("zonos-text", { key: 'cd8805f31cc6b2c9d6052f4c11190dba1f242945', textColor: "red-600" }, this.error))));
7436
7476
  }
7437
7477
  get el() { return index.getElement(this); }
7438
7478
  static get watchers() { return {
7479
+ "countryCode": ["onCountryCodeChange"],
7439
7480
  "countryOptions": ["onCountryOptionsChange"],
7440
7481
  "selectedCountry": ["onSelectedCountryChange"],
7441
7482
  "inputValue": ["onPhoneNumberChange"]
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b1f95d96.js');
6
- const localization = require('./localization-491121ad.js');
6
+ const localization = require('./localization-783849c8.js');
7
7
  const containsNonLatinChars = require('./containsNonLatinChars-2be5129b.js');
8
8
  const zonosStore = require('./zonosStore-fee716c9.js');
9
9
  const classes = require('./classes-b7918f56.js');
@@ -19,9 +19,16 @@ const ZonosAddressDisplay = class {
19
19
  index.registerInstance(this, hostRef);
20
20
  }
21
21
  render() {
22
- var _a;
22
+ var _a, _b;
23
23
  const { city, country, email, line1, line2, name, phone, postal_code, state, } = this.currentAddress;
24
- const shippingZoneCountry = (_a = localization.localizationStore.shippingZoneCountries) === null || _a === void 0 ? void 0 : _a[country];
24
+ /**
25
+ * Look the country up in the full country list first, since a billing
26
+ * address can be in a country the merchant does not ship to and would
27
+ * otherwise render without a country line (05CHECK-915). The shipping zone
28
+ * is a subset of all countries, so this is also correct for shipping.
29
+ */
30
+ const displayCountry = ((_a = localization.localizationStore.allCountries) === null || _a === void 0 ? void 0 : _a[country]) ||
31
+ ((_b = localization.localizationStore.shippingZoneCountries) === null || _b === void 0 ? void 0 : _b[country]);
25
32
  const renderEnteredInfoText = ({ bold, content, }) => {
26
33
  const textColor = containsNonLatinChars.isTextContainsNonLatinChars(content)
27
34
  ? 'red-600'
@@ -30,8 +37,8 @@ const ZonosAddressDisplay = class {
30
37
  };
31
38
  return (index.h(index.Host, { class: "zonos--address-form zonos--elements" }, index.h("div", { class: "zonos--title" }, index.h("zonos-text", { textColor: "gray-700", type: "smallHeader" }, this.addressType === 'shipping'
32
39
  ? localization.translate('Shipping')
33
- : localization.translate('Billing'))), index.h("div", { class: "zonos--address-group" }, name && (index.h("div", { class: "zonos--address-line" }, renderEnteredInfoText({ bold: true, content: name }))), email && (index.h("div", { class: "zonos--address-line" }, renderEnteredInfoText({ content: email }))), phone && (index.h("div", { class: "zonos--address-line" }, renderEnteredInfoText({ content: phone }))), line1 && (index.h("div", { class: "zonos--address-line" }, renderEnteredInfoText({ content: line1 }))), line2 && (index.h("div", { class: "zonos--address-line" }, renderEnteredInfoText({ content: line2 }))), index.h("div", { class: "zonos--address-line" }, city && renderEnteredInfoText({ content: city }), state && renderEnteredInfoText({ content: state }), postal_code && renderEnteredInfoText({ content: postal_code })), shippingZoneCountry && (index.h("div", { class: "zonos--address-line" }, index.h("zonos-country-flag", { class: "zonos--country-flag", countryCode: shippingZoneCountry.code }), ' ', renderEnteredInfoText({
34
- content: shippingZoneCountry.displayName,
40
+ : localization.translate('Billing'))), index.h("div", { class: "zonos--address-group" }, name && (index.h("div", { class: "zonos--address-line" }, renderEnteredInfoText({ bold: true, content: name }))), email && (index.h("div", { class: "zonos--address-line" }, renderEnteredInfoText({ content: email }))), phone && (index.h("div", { class: "zonos--address-line" }, renderEnteredInfoText({ content: phone }))), line1 && (index.h("div", { class: "zonos--address-line" }, renderEnteredInfoText({ content: line1 }))), line2 && (index.h("div", { class: "zonos--address-line" }, renderEnteredInfoText({ content: line2 }))), index.h("div", { class: "zonos--address-line" }, city && renderEnteredInfoText({ content: city }), state && renderEnteredInfoText({ content: state }), postal_code && renderEnteredInfoText({ content: postal_code })), displayCountry && (index.h("div", { class: "zonos--address-line" }, index.h("zonos-country-flag", { class: "zonos--country-flag", countryCode: displayCountry.code }), ' ', renderEnteredInfoText({
41
+ content: displayCountry.displayName,
35
42
  }))))));
36
43
  }
37
44
  };
@@ -4,8 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b1f95d96.js');
6
6
  const throttle = require('./throttle-34f7abf1.js');
7
- const cart = require('./cart-dc31b242.js');
8
- const localization = require('./localization-491121ad.js');
7
+ const cart = require('./cart-a1c00090.js');
8
+ const localization = require('./localization-783849c8.js');
9
9
  const zonosStore = require('./zonosStore-fee716c9.js');
10
10
  const handleFetch = require('./handleFetch-954f30e1.js');
11
11
  const shouldRenderTaxIdInput = require('./shouldRenderTaxIdInput-7d19556c.js');
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b1f95d96.js');
6
- const collect = require('./collect-463ab3d7.js');
7
- const cart = require('./cart-dc31b242.js');
8
- const localization = require('./localization-491121ad.js');
6
+ const collect = require('./collect-e61eafca.js');
7
+ const cart = require('./cart-a1c00090.js');
8
+ const localization = require('./localization-783849c8.js');
9
9
  const zonosStore = require('./zonosStore-fee716c9.js');
10
10
  const VarianceTest = require('./VarianceTest-bec00ea8.js');
11
11
  const handleFetch = require('./handleFetch-954f30e1.js');
@@ -6,10 +6,10 @@ const index = require('./index-b1f95d96.js');
6
6
  const zonosStore = require('./zonosStore-fee716c9.js');
7
7
  const classes = require('./classes-b7918f56.js');
8
8
  const getBorderRadius = require('./getBorderRadius-4da24d7c.js');
9
- const cart = require('./cart-dc31b242.js');
10
- const localization = require('./localization-491121ad.js');
9
+ const cart = require('./cart-a1c00090.js');
10
+ const localization = require('./localization-783849c8.js');
11
11
  const handleFetch = require('./handleFetch-954f30e1.js');
12
- const paypal = require('./paypal-2a4c374c.js');
12
+ const paypal = require('./paypal-e1548f40.js');
13
13
  const VarianceTest = require('./VarianceTest-bec00ea8.js');
14
14
  require('./isDarkColor-ebc74b4d.js');
15
15
  require('./TaxId-cd9d490e.js');
@@ -3,26 +3,26 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b1f95d96.js');
6
- const cart = require('./cart-dc31b242.js');
7
- const localization = require('./localization-491121ad.js');
8
- const renderCheckoutCurrency = require('./renderCheckoutCurrency-ab39875a.js');
6
+ const cart = require('./cart-a1c00090.js');
7
+ const localization = require('./localization-783849c8.js');
8
+ const renderCheckoutCurrency = require('./renderCheckoutCurrency-c942fcba.js');
9
9
  const cleanHtmlMarkdown = require('./cleanHtmlMarkdown-57147de7.js');
10
10
  const classes = require('./classes-b7918f56.js');
11
11
  const zonosStore = require('./zonosStore-fee716c9.js');
12
- const hasInclusivePrice = require('./hasInclusivePrice-d14b9d71.js');
12
+ const hasInclusivePrice = require('./hasInclusivePrice-e7b57e02.js');
13
13
  const isSameHostCheckoutLink = require('./isSameHostCheckoutLink-6148cabb.js');
14
- const paypal = require('./paypal-2a4c374c.js');
14
+ const paypal = require('./paypal-e1548f40.js');
15
15
  const handleFetch = require('./handleFetch-954f30e1.js');
16
16
  const createCustomEvent = require('./createCustomEvent-7b6fad95.js');
17
17
  const getBorderRadius = require('./getBorderRadius-4da24d7c.js');
18
18
  const VarianceTest = require('./VarianceTest-bec00ea8.js');
19
19
  const ILanguage = require('./ILanguage-98b04442.js');
20
- const placeTestOrder = require('./placeTestOrder-a940a2e9.js');
20
+ const placeTestOrder = require('./placeTestOrder-d99b1fe2.js');
21
21
  const isDarkColor = require('./isDarkColor-ebc74b4d.js');
22
22
  const getContrastColor = require('./getContrastColor-2fb235b8.js');
23
23
  const isColorVariable = require('./isColorVariable-525dbfa7.js');
24
24
  const updateCheckoutSessionAttributes = require('./updateCheckoutSessionAttributes-f595319d.js');
25
- const getMissingRequiredShippingFields = require('./getMissingRequiredShippingFields-7cd21100.js');
25
+ const getMissingRequiredShippingFields = require('./getMissingRequiredShippingFields-a6c4f625.js');
26
26
  const containsNonLatinChars = require('./containsNonLatinChars-2be5129b.js');
27
27
  const shouldRenderTaxIdInput = require('./shouldRenderTaxIdInput-7d19556c.js');
28
28
  const TaxId = require('./TaxId-cd9d490e.js');
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b1f95d96.js');
6
- const cart = require('./cart-dc31b242.js');
7
- const paypal = require('./paypal-2a4c374c.js');
8
- const localization = require('./localization-491121ad.js');
6
+ const cart = require('./cart-a1c00090.js');
7
+ const paypal = require('./paypal-e1548f40.js');
8
+ const localization = require('./localization-783849c8.js');
9
9
  const zonosStore = require('./zonosStore-fee716c9.js');
10
10
  const buildCartItemsByTempCart = require('./buildCartItemsByTempCart-edddbf4b.js');
11
11
  const handleFetch = require('./handleFetch-954f30e1.js');
@@ -3,12 +3,12 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b1f95d96.js');
6
- const cart = require('./cart-dc31b242.js');
6
+ const cart = require('./cart-a1c00090.js');
7
7
  const cleanHtmlMarkdown = require('./cleanHtmlMarkdown-57147de7.js');
8
8
  const zonosStore = require('./zonosStore-fee716c9.js');
9
9
  const classes = require('./classes-b7918f56.js');
10
10
  const styles = require('./styles-d1e64fb9.js');
11
- require('./localization-491121ad.js');
11
+ require('./localization-783849c8.js');
12
12
  require('./handleFetch-954f30e1.js');
13
13
  require('./VarianceTest-bec00ea8.js');
14
14
  require('./isDarkColor-ebc74b4d.js');
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b1f95d96.js');
6
- const collect = require('./collect-463ab3d7.js');
7
- const cart = require('./cart-dc31b242.js');
8
- const paypal = require('./paypal-2a4c374c.js');
9
- const localization = require('./localization-491121ad.js');
6
+ const collect = require('./collect-e61eafca.js');
7
+ const cart = require('./cart-a1c00090.js');
8
+ const paypal = require('./paypal-e1548f40.js');
9
+ const localization = require('./localization-783849c8.js');
10
10
  const zonosStore = require('./zonosStore-fee716c9.js');
11
11
  const handleFetch = require('./handleFetch-954f30e1.js');
12
12
  const createCustomEvent = require('./createCustomEvent-7b6fad95.js');
@@ -15,8 +15,8 @@ const VarianceTest = require('./VarianceTest-bec00ea8.js');
15
15
  const isCollectMobileTablet = require('./isCollectMobileTablet-884d4280.js');
16
16
  const classes = require('./classes-b7918f56.js');
17
17
  const ILanguage = require('./ILanguage-98b04442.js');
18
- const renderCheckoutCurrency = require('./renderCheckoutCurrency-ab39875a.js');
19
- const placeTestOrder = require('./placeTestOrder-a940a2e9.js');
18
+ const renderCheckoutCurrency = require('./renderCheckoutCurrency-c942fcba.js');
19
+ const placeTestOrder = require('./placeTestOrder-d99b1fe2.js');
20
20
  const renderFallback = require('./renderFallback-bc20ee20.js');
21
21
  require('./isDarkColor-ebc74b4d.js');
22
22
  require('./TaxId-cd9d490e.js');
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b1f95d96.js');
6
- const collect = require('./collect-463ab3d7.js');
7
- const cart = require('./cart-dc31b242.js');
8
- const paypal = require('./paypal-2a4c374c.js');
9
- const localization = require('./localization-491121ad.js');
6
+ const collect = require('./collect-e61eafca.js');
7
+ const cart = require('./cart-a1c00090.js');
8
+ const paypal = require('./paypal-e1548f40.js');
9
+ const localization = require('./localization-783849c8.js');
10
10
  const zonosStore = require('./zonosStore-fee716c9.js');
11
11
  const buildCartItemsByTempCart = require('./buildCartItemsByTempCart-edddbf4b.js');
12
12
  const handleFetch = require('./handleFetch-954f30e1.js');
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b1f95d96.js');
6
- const cart = require('./cart-dc31b242.js');
7
- const localization = require('./localization-491121ad.js');
6
+ const cart = require('./cart-a1c00090.js');
7
+ const localization = require('./localization-783849c8.js');
8
8
  const zonosStore = require('./zonosStore-fee716c9.js');
9
9
  const getGenericSettingsOverride = require('./getGenericSettingsOverride-c0ca32b9.js');
10
10
  const handleFetch = require('./handleFetch-954f30e1.js');
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b1f95d96.js');
6
- const localization = require('./localization-491121ad.js');
6
+ const localization = require('./localization-783849c8.js');
7
7
  const zonosStore = require('./zonosStore-fee716c9.js');
8
8
  const classes = require('./classes-b7918f56.js');
9
9
  require('./handleFetch-954f30e1.js');
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b1f95d96.js');
6
- const localization = require('./localization-491121ad.js');
6
+ const localization = require('./localization-783849c8.js');
7
7
  const zonosStore = require('./zonosStore-fee716c9.js');
8
8
  const formatStringWithLinks = require('./formatStringWithLinks-c25b4018.js');
9
9
  const isDarkColor = require('./isDarkColor-ebc74b4d.js');