@thorprovider/blocks 3.0.2 → 4.1.0

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 (234) hide show
  1. package/README.md +61 -21
  2. package/dist/blocks/designs/checkout-commerce-v1/block.d.ts +49 -0
  3. package/dist/blocks/designs/checkout-commerce-v1/block.d.ts.map +1 -0
  4. package/dist/blocks/designs/checkout-commerce-v1/block.js +2487 -0
  5. package/dist/blocks/designs/checkout-commerce-v1/block.js.map +1 -0
  6. package/dist/blocks/designs/checkout-commerce-v1/block.mjs +2467 -0
  7. package/dist/blocks/designs/checkout-commerce-v1/block.mjs.map +1 -0
  8. package/dist/blocks/designs/checkout-commerce-v1/data-context.d.ts +8 -0
  9. package/dist/blocks/designs/checkout-commerce-v1/data-context.d.ts.map +1 -0
  10. package/dist/blocks/designs/checkout-commerce-v1/data-context.js +44 -0
  11. package/dist/blocks/designs/checkout-commerce-v1/data-context.js.map +1 -0
  12. package/dist/blocks/designs/checkout-commerce-v1/data-context.mjs +19 -0
  13. package/dist/blocks/designs/checkout-commerce-v1/data-context.mjs.map +1 -0
  14. package/dist/blocks/designs/checkout-commerce-v1/index.d.ts +3 -0
  15. package/dist/blocks/designs/checkout-commerce-v1/index.d.ts.map +1 -0
  16. package/dist/blocks/designs/checkout-commerce-v1/index.js +36 -0
  17. package/dist/blocks/designs/checkout-commerce-v1/index.js.map +1 -0
  18. package/dist/blocks/designs/checkout-commerce-v1/index.mjs +6 -0
  19. package/dist/blocks/designs/checkout-commerce-v1/index.mjs.map +1 -0
  20. package/dist/blocks/designs/marketplace-product-card/block.d.ts +12 -0
  21. package/dist/blocks/designs/marketplace-product-card/block.d.ts.map +1 -0
  22. package/dist/blocks/designs/marketplace-product-card/block.js +243 -0
  23. package/dist/blocks/designs/marketplace-product-card/block.js.map +1 -0
  24. package/dist/blocks/designs/marketplace-product-card/block.mjs +233 -0
  25. package/dist/blocks/designs/marketplace-product-card/block.mjs.map +1 -0
  26. package/dist/blocks/designs/marketplace-product-card/index.d.ts +3 -0
  27. package/dist/blocks/designs/marketplace-product-card/index.d.ts.map +1 -0
  28. package/dist/blocks/designs/marketplace-product-card/index.js +36 -0
  29. package/dist/blocks/designs/marketplace-product-card/index.js.map +1 -0
  30. package/dist/blocks/designs/marketplace-product-card/index.mjs +6 -0
  31. package/dist/blocks/designs/marketplace-product-card/index.mjs.map +1 -0
  32. package/dist/blocks/designs/marketplace-product-card/normalize.d.ts +13 -0
  33. package/dist/blocks/designs/marketplace-product-card/normalize.d.ts.map +1 -0
  34. package/dist/blocks/designs/marketplace-product-card/normalize.js +36 -0
  35. package/dist/blocks/designs/marketplace-product-card/normalize.js.map +1 -0
  36. package/dist/blocks/designs/marketplace-product-card/normalize.mjs +12 -0
  37. package/dist/blocks/designs/marketplace-product-card/normalize.mjs.map +1 -0
  38. package/dist/blocks/designs/marketplace-product-card/variants.d.ts +72 -0
  39. package/dist/blocks/designs/marketplace-product-card/variants.d.ts.map +1 -0
  40. package/dist/blocks/designs/marketplace-product-card/variants.js +123 -0
  41. package/dist/blocks/designs/marketplace-product-card/variants.js.map +1 -0
  42. package/dist/blocks/designs/marketplace-product-card/variants.mjs +89 -0
  43. package/dist/blocks/designs/marketplace-product-card/variants.mjs.map +1 -0
  44. package/dist/blocks/e-commerce/account/account-frame.d.ts +38 -0
  45. package/dist/blocks/e-commerce/account/account-frame.d.ts.map +1 -0
  46. package/dist/blocks/e-commerce/account/account-frame.js +102 -0
  47. package/dist/blocks/e-commerce/account/account-frame.js.map +1 -0
  48. package/dist/blocks/e-commerce/account/account-frame.mjs +78 -0
  49. package/dist/blocks/e-commerce/account/account-frame.mjs.map +1 -0
  50. package/dist/blocks/e-commerce/account/address-book.d.ts +79 -0
  51. package/dist/blocks/e-commerce/account/address-book.d.ts.map +1 -0
  52. package/dist/blocks/e-commerce/account/address-book.js +250 -0
  53. package/dist/blocks/e-commerce/account/address-book.js.map +1 -0
  54. package/dist/blocks/e-commerce/account/address-book.mjs +225 -0
  55. package/dist/blocks/e-commerce/account/address-book.mjs.map +1 -0
  56. package/dist/blocks/e-commerce/account/profile-form.d.ts +35 -0
  57. package/dist/blocks/e-commerce/account/profile-form.d.ts.map +1 -0
  58. package/dist/blocks/e-commerce/account/profile-form.js +100 -0
  59. package/dist/blocks/e-commerce/account/profile-form.js.map +1 -0
  60. package/dist/blocks/e-commerce/account/profile-form.mjs +76 -0
  61. package/dist/blocks/e-commerce/account/profile-form.mjs.map +1 -0
  62. package/dist/blocks/e-commerce/checkout-forms/checkbox-check.js +1 -1
  63. package/dist/blocks/e-commerce/checkout-forms/checkbox-check.js.map +1 -1
  64. package/dist/blocks/e-commerce/checkout-forms/checkbox-check.mjs +1 -1
  65. package/dist/blocks/e-commerce/checkout-forms/checkbox-check.mjs.map +1 -1
  66. package/dist/blocks/e-commerce/checkout-forms/checkout-address-equality.d.ts +11 -0
  67. package/dist/blocks/e-commerce/checkout-forms/checkout-address-equality.d.ts.map +1 -0
  68. package/dist/blocks/e-commerce/checkout-forms/checkout-address-equality.js +46 -0
  69. package/dist/blocks/e-commerce/checkout-forms/checkout-address-equality.js.map +1 -0
  70. package/dist/blocks/e-commerce/checkout-forms/checkout-address-equality.mjs +22 -0
  71. package/dist/blocks/e-commerce/checkout-forms/checkout-address-equality.mjs.map +1 -0
  72. package/dist/blocks/e-commerce/checkout-forms/checkout-address-fields.d.ts +28 -0
  73. package/dist/blocks/e-commerce/checkout-forms/checkout-address-fields.d.ts.map +1 -0
  74. package/dist/blocks/e-commerce/checkout-forms/checkout-address-fields.js +278 -0
  75. package/dist/blocks/e-commerce/checkout-forms/checkout-address-fields.js.map +1 -0
  76. package/dist/blocks/e-commerce/checkout-forms/checkout-address-fields.mjs +260 -0
  77. package/dist/blocks/e-commerce/checkout-forms/checkout-address-fields.mjs.map +1 -0
  78. package/dist/blocks/e-commerce/checkout-forms/checkout-contact-step.d.ts +12 -9
  79. package/dist/blocks/e-commerce/checkout-forms/checkout-contact-step.d.ts.map +1 -1
  80. package/dist/blocks/e-commerce/checkout-forms/checkout-contact-step.js +49 -71
  81. package/dist/blocks/e-commerce/checkout-forms/checkout-contact-step.js.map +1 -1
  82. package/dist/blocks/e-commerce/checkout-forms/checkout-contact-step.mjs +50 -72
  83. package/dist/blocks/e-commerce/checkout-forms/checkout-contact-step.mjs.map +1 -1
  84. package/dist/blocks/e-commerce/checkout-forms/checkout-country-field.d.ts.map +1 -1
  85. package/dist/blocks/e-commerce/checkout-forms/checkout-country-field.js +6 -3
  86. package/dist/blocks/e-commerce/checkout-forms/checkout-country-field.js.map +1 -1
  87. package/dist/blocks/e-commerce/checkout-forms/checkout-country-field.mjs +6 -3
  88. package/dist/blocks/e-commerce/checkout-forms/checkout-country-field.mjs.map +1 -1
  89. package/dist/blocks/e-commerce/checkout-forms/checkout-id-context.d.ts +7 -0
  90. package/dist/blocks/e-commerce/checkout-forms/checkout-id-context.d.ts.map +1 -0
  91. package/dist/blocks/e-commerce/checkout-forms/checkout-id-context.js +41 -0
  92. package/dist/blocks/e-commerce/checkout-forms/checkout-id-context.js.map +1 -0
  93. package/dist/blocks/e-commerce/checkout-forms/checkout-id-context.mjs +16 -0
  94. package/dist/blocks/e-commerce/checkout-forms/checkout-id-context.mjs.map +1 -0
  95. package/dist/blocks/e-commerce/checkout-forms/checkout-location-select.d.ts +24 -0
  96. package/dist/blocks/e-commerce/checkout-forms/checkout-location-select.d.ts.map +1 -0
  97. package/dist/blocks/e-commerce/checkout-forms/checkout-location-select.js +75 -0
  98. package/dist/blocks/e-commerce/checkout-forms/checkout-location-select.js.map +1 -0
  99. package/dist/blocks/e-commerce/checkout-forms/checkout-location-select.mjs +58 -0
  100. package/dist/blocks/e-commerce/checkout-forms/checkout-location-select.mjs.map +1 -0
  101. package/dist/blocks/e-commerce/checkout-forms/checkout-order-summary.d.ts +3 -2
  102. package/dist/blocks/e-commerce/checkout-forms/checkout-order-summary.d.ts.map +1 -1
  103. package/dist/blocks/e-commerce/checkout-forms/checkout-order-summary.js +9 -2
  104. package/dist/blocks/e-commerce/checkout-forms/checkout-order-summary.js.map +1 -1
  105. package/dist/blocks/e-commerce/checkout-forms/checkout-order-summary.mjs +9 -2
  106. package/dist/blocks/e-commerce/checkout-forms/checkout-order-summary.mjs.map +1 -1
  107. package/dist/blocks/e-commerce/checkout-forms/checkout-payment-step.d.ts +23 -8
  108. package/dist/blocks/e-commerce/checkout-forms/checkout-payment-step.d.ts.map +1 -1
  109. package/dist/blocks/e-commerce/checkout-forms/checkout-payment-step.js +136 -31
  110. package/dist/blocks/e-commerce/checkout-forms/checkout-payment-step.js.map +1 -1
  111. package/dist/blocks/e-commerce/checkout-forms/checkout-payment-step.mjs +143 -32
  112. package/dist/blocks/e-commerce/checkout-forms/checkout-payment-step.mjs.map +1 -1
  113. package/dist/blocks/e-commerce/checkout-forms/checkout-review-step.d.ts +13 -7
  114. package/dist/blocks/e-commerce/checkout-forms/checkout-review-step.d.ts.map +1 -1
  115. package/dist/blocks/e-commerce/checkout-forms/checkout-review-step.js +179 -28
  116. package/dist/blocks/e-commerce/checkout-forms/checkout-review-step.js.map +1 -1
  117. package/dist/blocks/e-commerce/checkout-forms/checkout-review-step.mjs +180 -29
  118. package/dist/blocks/e-commerce/checkout-forms/checkout-review-step.mjs.map +1 -1
  119. package/dist/blocks/e-commerce/checkout-forms/checkout-saved-addresses.d.ts +20 -0
  120. package/dist/blocks/e-commerce/checkout-forms/checkout-saved-addresses.d.ts.map +1 -0
  121. package/dist/blocks/e-commerce/checkout-forms/checkout-saved-addresses.js +199 -0
  122. package/dist/blocks/e-commerce/checkout-forms/checkout-saved-addresses.js.map +1 -0
  123. package/dist/blocks/e-commerce/checkout-forms/checkout-saved-addresses.mjs +175 -0
  124. package/dist/blocks/e-commerce/checkout-forms/checkout-saved-addresses.mjs.map +1 -0
  125. package/dist/blocks/e-commerce/checkout-forms/checkout-section-nav.d.ts +14 -0
  126. package/dist/blocks/e-commerce/checkout-forms/checkout-section-nav.d.ts.map +1 -0
  127. package/dist/blocks/e-commerce/checkout-forms/checkout-section-nav.js +136 -0
  128. package/dist/blocks/e-commerce/checkout-forms/checkout-section-nav.js.map +1 -0
  129. package/dist/blocks/e-commerce/checkout-forms/checkout-section-nav.mjs +109 -0
  130. package/dist/blocks/e-commerce/checkout-forms/checkout-section-nav.mjs.map +1 -0
  131. package/dist/blocks/e-commerce/checkout-forms/checkout-shipping-step.d.ts +32 -10
  132. package/dist/blocks/e-commerce/checkout-forms/checkout-shipping-step.d.ts.map +1 -1
  133. package/dist/blocks/e-commerce/checkout-forms/checkout-shipping-step.js +265 -147
  134. package/dist/blocks/e-commerce/checkout-forms/checkout-shipping-step.js.map +1 -1
  135. package/dist/blocks/e-commerce/checkout-forms/checkout-shipping-step.mjs +272 -148
  136. package/dist/blocks/e-commerce/checkout-forms/checkout-shipping-step.mjs.map +1 -1
  137. package/dist/blocks/e-commerce/checkout-forms/checkout-step-header.d.ts +13 -0
  138. package/dist/blocks/e-commerce/checkout-forms/checkout-step-header.d.ts.map +1 -0
  139. package/dist/blocks/e-commerce/checkout-forms/checkout-step-header.js +74 -0
  140. package/dist/blocks/e-commerce/checkout-forms/checkout-step-header.js.map +1 -0
  141. package/dist/blocks/e-commerce/checkout-forms/checkout-step-header.mjs +50 -0
  142. package/dist/blocks/e-commerce/checkout-forms/checkout-step-header.mjs.map +1 -0
  143. package/dist/blocks/e-commerce/checkout-forms/checkout-step-summary.d.ts +7 -0
  144. package/dist/blocks/e-commerce/checkout-forms/checkout-step-summary.d.ts.map +1 -0
  145. package/dist/blocks/e-commerce/checkout-forms/checkout-step-summary.js +91 -0
  146. package/dist/blocks/e-commerce/checkout-forms/checkout-step-summary.js.map +1 -0
  147. package/dist/blocks/e-commerce/checkout-forms/checkout-step-summary.mjs +65 -0
  148. package/dist/blocks/e-commerce/checkout-forms/checkout-step-summary.mjs.map +1 -0
  149. package/dist/blocks/e-commerce/checkout-forms/checkout.d.ts +174 -44
  150. package/dist/blocks/e-commerce/checkout-forms/checkout.d.ts.map +1 -1
  151. package/dist/blocks/e-commerce/checkout-forms/checkout.js +532 -108
  152. package/dist/blocks/e-commerce/checkout-forms/checkout.js.map +1 -1
  153. package/dist/blocks/e-commerce/checkout-forms/checkout.mjs +542 -109
  154. package/dist/blocks/e-commerce/checkout-forms/checkout.mjs.map +1 -1
  155. package/dist/blocks/e-commerce/navigation/storefront-navbar-cart-sheet.d.ts.map +1 -1
  156. package/dist/blocks/e-commerce/navigation/storefront-navbar-cart-sheet.js +44 -20
  157. package/dist/blocks/e-commerce/navigation/storefront-navbar-cart-sheet.js.map +1 -1
  158. package/dist/blocks/e-commerce/navigation/storefront-navbar-cart-sheet.mjs +44 -20
  159. package/dist/blocks/e-commerce/navigation/storefront-navbar-cart-sheet.mjs.map +1 -1
  160. package/dist/blocks/e-commerce/navigation/storefront-navbar.d.ts.map +1 -1
  161. package/dist/blocks/e-commerce/navigation/storefront-navbar.js +21 -10
  162. package/dist/blocks/e-commerce/navigation/storefront-navbar.js.map +1 -1
  163. package/dist/blocks/e-commerce/navigation/storefront-navbar.mjs +21 -10
  164. package/dist/blocks/e-commerce/navigation/storefront-navbar.mjs.map +1 -1
  165. package/dist/blocks/e-commerce/product-list/product-card.d.ts.map +1 -1
  166. package/dist/blocks/e-commerce/product-list/product-card.js +36 -9
  167. package/dist/blocks/e-commerce/product-list/product-card.js.map +1 -1
  168. package/dist/blocks/e-commerce/product-list/product-card.mjs +36 -9
  169. package/dist/blocks/e-commerce/product-list/product-card.mjs.map +1 -1
  170. package/dist/blocks/e-commerce/product-list/product-showcase-1.d.ts.map +1 -1
  171. package/dist/blocks/e-commerce/product-list/product-showcase-1.js +7 -2
  172. package/dist/blocks/e-commerce/product-list/product-showcase-1.js.map +1 -1
  173. package/dist/blocks/e-commerce/product-list/product-showcase-1.mjs +7 -2
  174. package/dist/blocks/e-commerce/product-list/product-showcase-1.mjs.map +1 -1
  175. package/dist/blocks/e-commerce/product-overview/product-quick-view-dialog.d.ts.map +1 -1
  176. package/dist/blocks/e-commerce/product-overview/product-quick-view-dialog.js +5 -1
  177. package/dist/blocks/e-commerce/product-overview/product-quick-view-dialog.js.map +1 -1
  178. package/dist/blocks/e-commerce/product-overview/product-quick-view-dialog.mjs +5 -1
  179. package/dist/blocks/e-commerce/product-overview/product-quick-view-dialog.mjs.map +1 -1
  180. package/dist/blocks/e-commerce/storefront-hero/storefront-hero.d.ts.map +1 -1
  181. package/dist/blocks/e-commerce/storefront-hero/storefront-hero.js +71 -51
  182. package/dist/blocks/e-commerce/storefront-hero/storefront-hero.js.map +1 -1
  183. package/dist/blocks/e-commerce/storefront-hero/storefront-hero.mjs +71 -51
  184. package/dist/blocks/e-commerce/storefront-hero/storefront-hero.mjs.map +1 -1
  185. package/dist/blocks/marketing/banners/banner-1.d.ts.map +1 -1
  186. package/dist/blocks/marketing/banners/banner-1.js +15 -27
  187. package/dist/blocks/marketing/banners/banner-1.js.map +1 -1
  188. package/dist/blocks/marketing/banners/banner-1.mjs +16 -28
  189. package/dist/blocks/marketing/banners/banner-1.mjs.map +1 -1
  190. package/dist/index.d.ts +16 -4
  191. package/dist/index.d.ts.map +1 -1
  192. package/dist/index.js +19 -0
  193. package/dist/index.js.map +1 -1
  194. package/dist/index.mjs +13 -0
  195. package/dist/index.mjs.map +1 -1
  196. package/dist/lib/contracts/checkout-commerce-v1.d.ts +2350 -0
  197. package/dist/lib/contracts/checkout-commerce-v1.d.ts.map +1 -0
  198. package/dist/lib/contracts/checkout-commerce-v1.js +417 -0
  199. package/dist/lib/contracts/checkout-commerce-v1.js.map +1 -0
  200. package/dist/lib/contracts/checkout-commerce-v1.mjs +392 -0
  201. package/dist/lib/contracts/checkout-commerce-v1.mjs.map +1 -0
  202. package/dist/lib/contracts/marketplace-product-card.d.ts +324 -0
  203. package/dist/lib/contracts/marketplace-product-card.d.ts.map +1 -0
  204. package/dist/lib/contracts/marketplace-product-card.js +85 -0
  205. package/dist/lib/contracts/marketplace-product-card.js.map +1 -0
  206. package/dist/lib/contracts/marketplace-product-card.mjs +61 -0
  207. package/dist/lib/contracts/marketplace-product-card.mjs.map +1 -0
  208. package/dist/lib/contracts.d.ts +2289 -178
  209. package/dist/lib/contracts.d.ts.map +1 -1
  210. package/dist/lib/contracts.js +332 -25
  211. package/dist/lib/contracts.js.map +1 -1
  212. package/dist/lib/contracts.mjs +278 -5
  213. package/dist/lib/contracts.mjs.map +1 -1
  214. package/dist/lib/money-schema.d.ts +19 -0
  215. package/dist/lib/money-schema.d.ts.map +1 -0
  216. package/dist/lib/money-schema.js +33 -0
  217. package/dist/lib/money-schema.js.map +1 -0
  218. package/dist/lib/money-schema.mjs +9 -0
  219. package/dist/lib/money-schema.mjs.map +1 -0
  220. package/dist/lib/motion.d.ts +29 -0
  221. package/dist/lib/motion.d.ts.map +1 -0
  222. package/dist/lib/motion.js +65 -0
  223. package/dist/lib/motion.js.map +1 -0
  224. package/dist/lib/motion.mjs +41 -0
  225. package/dist/lib/motion.mjs.map +1 -0
  226. package/dist/ui/accordion.d.ts +3 -1
  227. package/dist/ui/accordion.d.ts.map +1 -1
  228. package/dist/ui/accordion.js +21 -5
  229. package/dist/ui/accordion.js.map +1 -1
  230. package/dist/ui/accordion.mjs +21 -5
  231. package/dist/ui/accordion.mjs.map +1 -1
  232. package/dist/ui/input-group.d.ts +1 -1
  233. package/package.json +18 -3
  234. package/dist/.tsbuildinfo +0 -1
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var checkout_address_equality_exports = {};
20
+ __export(checkout_address_equality_exports, {
21
+ addressesEqual: () => addressesEqual
22
+ });
23
+ module.exports = __toCommonJS(checkout_address_equality_exports);
24
+ const ADDRESS_KEYS = [
25
+ "firstName",
26
+ "lastName",
27
+ "address1",
28
+ "address2",
29
+ "company",
30
+ "city",
31
+ "province",
32
+ "postalCode",
33
+ "countryCode",
34
+ "phone"
35
+ ];
36
+ function normalize(value) {
37
+ return (value ?? "").trim();
38
+ }
39
+ function addressesEqual(a, b) {
40
+ return ADDRESS_KEYS.every((key) => normalize(a[key]) === normalize(b[key]));
41
+ }
42
+ // Annotate the CommonJS export names for ESM import in node:
43
+ 0 && (module.exports = {
44
+ addressesEqual
45
+ });
46
+ //# sourceMappingURL=checkout-address-equality.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/blocks/e-commerce/checkout-forms/checkout-address-equality.ts"],"sourcesContent":["import type { CheckoutAddressValues } from '@thorprovider/types'\n\nconst ADDRESS_KEYS: Array<keyof CheckoutAddressValues> = [\n 'firstName',\n 'lastName',\n 'address1',\n 'address2',\n 'company',\n 'city',\n 'province',\n 'postalCode',\n 'countryCode',\n 'phone',\n]\n\nfunction normalize(value: string | undefined): string {\n return (value ?? '').trim()\n}\n\n/**\n * Compare two controlled addresses for the saved-address affordances.\n *\n * The host may serialise an absent optional field as `undefined` or as an\n * empty string; both mean \"not supplied\" and must compare equal. Whitespace is\n * ignored so a value that only gained surrounding spaces is still the same\n * address. Every address key participates.\n */\nexport function addressesEqual(\n a: CheckoutAddressValues,\n b: CheckoutAddressValues,\n): boolean {\n return ADDRESS_KEYS.every((key) => normalize(a[key]) === normalize(b[key]))\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,MAAM,eAAmD;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,SAAS,UAAU,OAAmC;AACpD,UAAQ,SAAS,IAAI,KAAK;AAC5B;AAUO,SAAS,eACd,GACA,GACS;AACT,SAAO,aAAa,MAAM,CAAC,QAAQ,UAAU,EAAE,GAAG,CAAC,MAAM,UAAU,EAAE,GAAG,CAAC,CAAC;AAC5E;","names":[]}
@@ -0,0 +1,22 @@
1
+ const ADDRESS_KEYS = [
2
+ "firstName",
3
+ "lastName",
4
+ "address1",
5
+ "address2",
6
+ "company",
7
+ "city",
8
+ "province",
9
+ "postalCode",
10
+ "countryCode",
11
+ "phone"
12
+ ];
13
+ function normalize(value) {
14
+ return (value ?? "").trim();
15
+ }
16
+ function addressesEqual(a, b) {
17
+ return ADDRESS_KEYS.every((key) => normalize(a[key]) === normalize(b[key]));
18
+ }
19
+ export {
20
+ addressesEqual
21
+ };
22
+ //# sourceMappingURL=checkout-address-equality.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/blocks/e-commerce/checkout-forms/checkout-address-equality.ts"],"sourcesContent":["import type { CheckoutAddressValues } from '@thorprovider/types'\n\nconst ADDRESS_KEYS: Array<keyof CheckoutAddressValues> = [\n 'firstName',\n 'lastName',\n 'address1',\n 'address2',\n 'company',\n 'city',\n 'province',\n 'postalCode',\n 'countryCode',\n 'phone',\n]\n\nfunction normalize(value: string | undefined): string {\n return (value ?? '').trim()\n}\n\n/**\n * Compare two controlled addresses for the saved-address affordances.\n *\n * The host may serialise an absent optional field as `undefined` or as an\n * empty string; both mean \"not supplied\" and must compare equal. Whitespace is\n * ignored so a value that only gained surrounding spaces is still the same\n * address. Every address key participates.\n */\nexport function addressesEqual(\n a: CheckoutAddressValues,\n b: CheckoutAddressValues,\n): boolean {\n return ADDRESS_KEYS.every((key) => normalize(a[key]) === normalize(b[key]))\n}\n"],"mappings":"AAEA,MAAM,eAAmD;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,SAAS,UAAU,OAAmC;AACpD,UAAQ,SAAS,IAAI,KAAK;AAC5B;AAUO,SAAS,eACd,GACA,GACS;AACT,SAAO,aAAa,MAAM,CAAC,QAAQ,UAAU,EAAE,GAAG,CAAC,MAAM,UAAU,EAAE,GAAG,CAAC,CAAC;AAC5E;","names":[]}
@@ -0,0 +1,28 @@
1
+ import type { CheckoutAddressLevel, CheckoutAddressValues, CheckoutLocationOptions } from '@thorprovider/types';
2
+ import type { CheckoutFieldError } from './checkout-form-types';
3
+ import type { CheckoutAddressChangeHandler, CheckoutLabels } from './checkout';
4
+ type AddressErrors = Partial<Record<keyof CheckoutAddressValues, CheckoutFieldError[]>>;
5
+ type AddressDescriptions = Partial<Record<keyof CheckoutAddressValues, string>>;
6
+ export interface CheckoutAddressFieldsProps {
7
+ prefix: 'shipping' | 'billing';
8
+ values: CheckoutAddressValues;
9
+ onChange: CheckoutAddressChangeHandler;
10
+ locations?: CheckoutLocationOptions;
11
+ onRetryLocation?: (level: CheckoutAddressLevel) => void;
12
+ labels: CheckoutLabels;
13
+ errors?: AddressErrors;
14
+ descriptions?: AddressDescriptions;
15
+ /** Rendered only for the shipping variant; billing keeps its own section heading. */
16
+ heading?: string;
17
+ description?: string;
18
+ requiredPhone?: boolean;
19
+ }
20
+ /**
21
+ * The shared address form. The recipient fields come first, then the delivery
22
+ * address in a fixed order: line 1 (required), line 2 (optional), country,
23
+ * state/province, city, postal code. Billing reuses the same fields without the
24
+ * recipient legend.
25
+ */
26
+ export declare function CheckoutAddressFields({ prefix, values, onChange, locations, onRetryLocation, labels, errors, descriptions, heading, description, requiredPhone, }: CheckoutAddressFieldsProps): import("react").JSX.Element;
27
+ export {};
28
+ //# sourceMappingURL=checkout-address-fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkout-address-fields.d.ts","sourceRoot":"","sources":["../../../../src/blocks/e-commerce/checkout-forms/checkout-address-fields.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,qBAAqB,CAAA;AAI5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,KAAK,EACV,4BAA4B,EAE5B,cAAc,EACf,MAAM,YAAY,CAAA;AAEnB,KAAK,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,qBAAqB,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAA;AACvF,KAAK,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAA;AAE/E,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAA;IAC9B,MAAM,EAAE,qBAAqB,CAAA;IAC7B,QAAQ,EAAE,4BAA4B,CAAA;IACtC,SAAS,CAAC,EAAE,uBAAuB,CAAA;IACnC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAA;IACvD,MAAM,EAAE,cAAc,CAAA;IACtB,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,YAAY,CAAC,EAAE,mBAAmB,CAAA;IAClC,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,EACT,eAAe,EACf,MAAM,EACN,MAAM,EACN,YAAY,EACZ,OAAO,EACP,WAAW,EACX,aAAqB,GACtB,EAAE,0BAA0B,+BA+L5B"}
@@ -0,0 +1,278 @@
1
+ "use strict";
2
+ "use client";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var checkout_address_fields_exports = {};
21
+ __export(checkout_address_fields_exports, {
22
+ CheckoutAddressFields: () => CheckoutAddressFields
23
+ });
24
+ module.exports = __toCommonJS(checkout_address_fields_exports);
25
+ var import_jsx_runtime = require("react/jsx-runtime");
26
+ var import_field = require("../../../ui/field.js");
27
+ var import_input = require("../../../ui/input.js");
28
+ var import_checkout_field_feedback = require("./checkout-field-feedback.js");
29
+ var import_checkout_location_select = require("./checkout-location-select.js");
30
+ var import_checkout_id_context = require("./checkout-id-context.js");
31
+ function CheckoutAddressFields({
32
+ prefix,
33
+ values,
34
+ onChange,
35
+ locations,
36
+ onRetryLocation,
37
+ labels,
38
+ errors,
39
+ descriptions,
40
+ heading,
41
+ description,
42
+ requiredPhone = false
43
+ }) {
44
+ const checkoutId = (0, import_checkout_id_context.useCheckoutIds)();
45
+ const id = (field) => checkoutId(`checkout-${prefix}-${field}`);
46
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_field.FieldGroup, { className: "grid grid-cols-1 gap-6", children: [
47
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_field.FieldSet, { children: [
48
+ heading ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_field.FieldLegend, { children: heading }) : null,
49
+ description ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-muted-foreground -mt-3 text-sm", children: description }) : null,
50
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: [
51
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_field.Field, { "data-invalid": !!errors?.firstName?.length, children: [
52
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_field.FieldLabel, { htmlFor: id("first-name"), children: labels.firstNameLabel }),
53
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
54
+ import_input.Input,
55
+ {
56
+ id: id("first-name"),
57
+ autoComplete: "given-name",
58
+ "aria-required": "true",
59
+ value: values.firstName,
60
+ onChange: (e) => onChange("firstName", e.target.value),
61
+ ...(0, import_checkout_field_feedback.checkoutFieldAria)(id("first-name"), errors?.firstName)
62
+ }
63
+ ),
64
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
65
+ import_checkout_field_feedback.CheckoutFieldFeedback,
66
+ {
67
+ id: id("first-name"),
68
+ errors: errors?.firstName,
69
+ description: descriptions?.firstName
70
+ }
71
+ )
72
+ ] }),
73
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_field.Field, { "data-invalid": !!errors?.lastName?.length, children: [
74
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_field.FieldLabel, { htmlFor: id("last-name"), children: labels.lastNameLabel }),
75
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
76
+ import_input.Input,
77
+ {
78
+ id: id("last-name"),
79
+ autoComplete: "family-name",
80
+ "aria-required": "true",
81
+ value: values.lastName,
82
+ onChange: (e) => onChange("lastName", e.target.value),
83
+ ...(0, import_checkout_field_feedback.checkoutFieldAria)(id("last-name"), errors?.lastName)
84
+ }
85
+ ),
86
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
87
+ import_checkout_field_feedback.CheckoutFieldFeedback,
88
+ {
89
+ id: id("last-name"),
90
+ errors: errors?.lastName,
91
+ description: descriptions?.lastName
92
+ }
93
+ )
94
+ ] })
95
+ ] }),
96
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_field.Field, { "data-invalid": !!errors?.company?.length, children: [
97
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_field.FieldLabel, { htmlFor: id("company"), children: labels.companyLabel }),
98
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
99
+ import_input.Input,
100
+ {
101
+ id: id("company"),
102
+ autoComplete: "organization",
103
+ value: values.company ?? "",
104
+ onChange: (e) => onChange("company", e.target.value),
105
+ ...(0, import_checkout_field_feedback.checkoutFieldAria)(id("company"), errors?.company)
106
+ }
107
+ ),
108
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
109
+ import_checkout_field_feedback.CheckoutFieldFeedback,
110
+ {
111
+ id: id("company"),
112
+ errors: errors?.company,
113
+ description: descriptions?.company
114
+ }
115
+ )
116
+ ] }),
117
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_field.Field, { "data-invalid": !!errors?.phone?.length, children: [
118
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_field.FieldLabel, { htmlFor: id("phone"), children: [
119
+ labels.phoneLabel,
120
+ !requiredPhone ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: "text-muted-foreground", children: [
121
+ " (",
122
+ labels.optionalIndicatorLabel,
123
+ ")"
124
+ ] }) : null
125
+ ] }),
126
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
127
+ import_input.Input,
128
+ {
129
+ id: id("phone"),
130
+ type: "tel",
131
+ inputMode: "tel",
132
+ autoComplete: "tel",
133
+ "aria-required": requiredPhone || void 0,
134
+ value: values.phone ?? "",
135
+ onChange: (e) => onChange("phone", e.target.value),
136
+ ...(0, import_checkout_field_feedback.checkoutFieldAria)(id("phone"), errors?.phone)
137
+ }
138
+ ),
139
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
140
+ import_checkout_field_feedback.CheckoutFieldFeedback,
141
+ {
142
+ id: id("phone"),
143
+ errors: errors?.phone,
144
+ description: descriptions?.phone
145
+ }
146
+ )
147
+ ] })
148
+ ] }),
149
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_field.FieldSet, { children: [
150
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_field.FieldLegend, { children: labels.addressHeading }),
151
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_field.Field, { "data-invalid": !!errors?.address1?.length, children: [
152
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_field.FieldLabel, { htmlFor: id("address"), children: labels.addressLabel }),
153
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
154
+ import_input.Input,
155
+ {
156
+ id: id("address"),
157
+ "data-checkout-field": `${prefix}.address1`,
158
+ autoComplete: "address-line1",
159
+ "aria-required": "true",
160
+ value: values.address1,
161
+ onChange: (e) => onChange("address1", e.target.value),
162
+ ...(0, import_checkout_field_feedback.checkoutFieldAria)(id("address"), errors?.address1)
163
+ }
164
+ ),
165
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
166
+ import_checkout_field_feedback.CheckoutFieldFeedback,
167
+ {
168
+ id: id("address"),
169
+ errors: errors?.address1,
170
+ description: descriptions?.address1
171
+ }
172
+ )
173
+ ] }),
174
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_field.Field, { "data-invalid": !!errors?.address2?.length, children: [
175
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_field.FieldLabel, { htmlFor: id("address2"), children: labels.address2Label }),
176
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
177
+ import_input.Input,
178
+ {
179
+ id: id("address2"),
180
+ autoComplete: "address-line2",
181
+ value: values.address2 ?? "",
182
+ onChange: (e) => onChange("address2", e.target.value),
183
+ ...(0, import_checkout_field_feedback.checkoutFieldAria)(id("address2"), errors?.address2)
184
+ }
185
+ ),
186
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
187
+ import_checkout_field_feedback.CheckoutFieldFeedback,
188
+ {
189
+ id: id("address2"),
190
+ errors: errors?.address2,
191
+ description: descriptions?.address2
192
+ }
193
+ )
194
+ ] }),
195
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
196
+ import_checkout_location_select.CheckoutLocationSelect,
197
+ {
198
+ id: id("country"),
199
+ label: labels.countryLabel,
200
+ placeholder: labels.countryPlaceholder,
201
+ value: values.countryCode,
202
+ options: locations?.countries ?? [],
203
+ state: locations?.countriesState,
204
+ error: locations?.countriesError,
205
+ onChange: (value) => onChange("countryCode", value),
206
+ onRetry: onRetryLocation ? () => onRetryLocation("countries") : void 0,
207
+ labels,
208
+ errors: errors?.countryCode,
209
+ description: descriptions?.countryCode
210
+ }
211
+ ),
212
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: [
213
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
214
+ import_checkout_location_select.CheckoutLocationSelect,
215
+ {
216
+ id: id("province"),
217
+ label: labels.stateLabel,
218
+ placeholder: labels.provincePlaceholder,
219
+ value: values.province ?? "",
220
+ options: values.countryCode ? locations?.provinces ?? [] : [],
221
+ state: values.countryCode ? locations?.provincesState : void 0,
222
+ error: values.countryCode ? locations?.provincesError : void 0,
223
+ disabled: !values.countryCode,
224
+ onChange: (value) => onChange("province", value),
225
+ onRetry: onRetryLocation ? () => onRetryLocation("provinces") : void 0,
226
+ labels,
227
+ errors: errors?.province,
228
+ description: descriptions?.province
229
+ }
230
+ ),
231
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
232
+ import_checkout_location_select.CheckoutLocationSelect,
233
+ {
234
+ id: id("city"),
235
+ label: labels.cityLabel,
236
+ placeholder: labels.cityPlaceholder,
237
+ value: values.city,
238
+ options: values.province ? locations?.cities ?? [] : [],
239
+ state: values.province ? locations?.citiesState : void 0,
240
+ error: values.province ? locations?.citiesError : void 0,
241
+ disabled: !values.province,
242
+ onChange: (value) => onChange("city", value),
243
+ onRetry: onRetryLocation ? () => onRetryLocation("cities") : void 0,
244
+ labels,
245
+ errors: errors?.city,
246
+ description: descriptions?.city
247
+ }
248
+ )
249
+ ] }),
250
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_field.Field, { "data-invalid": !!errors?.postalCode?.length, children: [
251
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_field.FieldLabel, { htmlFor: id("zip"), children: labels.zipCodeLabel }),
252
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
253
+ import_input.Input,
254
+ {
255
+ id: id("zip"),
256
+ autoComplete: "postal-code",
257
+ value: values.postalCode ?? "",
258
+ onChange: (e) => onChange("postalCode", e.target.value),
259
+ ...(0, import_checkout_field_feedback.checkoutFieldAria)(id("zip"), errors?.postalCode)
260
+ }
261
+ ),
262
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
263
+ import_checkout_field_feedback.CheckoutFieldFeedback,
264
+ {
265
+ id: id("zip"),
266
+ errors: errors?.postalCode,
267
+ description: descriptions?.postalCode
268
+ }
269
+ )
270
+ ] })
271
+ ] })
272
+ ] });
273
+ }
274
+ // Annotate the CommonJS export names for ESM import in node:
275
+ 0 && (module.exports = {
276
+ CheckoutAddressFields
277
+ });
278
+ //# sourceMappingURL=checkout-address-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/blocks/e-commerce/checkout-forms/checkout-address-fields.tsx"],"sourcesContent":["'use client'\n\nimport {\n Field,\n FieldGroup,\n FieldLabel,\n FieldLegend,\n FieldSet,\n} from '../../../ui/field'\nimport { Input } from '../../../ui/input'\nimport type {\n CheckoutAddressLevel,\n CheckoutAddressValues,\n CheckoutLocationOptions,\n} from '@thorprovider/types'\nimport { CheckoutFieldFeedback, checkoutFieldAria } from './checkout-field-feedback'\nimport { CheckoutLocationSelect } from './checkout-location-select'\nimport { useCheckoutIds } from './checkout-id-context'\nimport type { CheckoutFieldError } from './checkout-form-types'\nimport type {\n CheckoutAddressChangeHandler,\n CheckoutFieldDescriptions,\n CheckoutLabels,\n} from './checkout'\n\ntype AddressErrors = Partial<Record<keyof CheckoutAddressValues, CheckoutFieldError[]>>\ntype AddressDescriptions = Partial<Record<keyof CheckoutAddressValues, string>>\n\nexport interface CheckoutAddressFieldsProps {\n prefix: 'shipping' | 'billing'\n values: CheckoutAddressValues\n onChange: CheckoutAddressChangeHandler\n locations?: CheckoutLocationOptions\n onRetryLocation?: (level: CheckoutAddressLevel) => void\n labels: CheckoutLabels\n errors?: AddressErrors\n descriptions?: AddressDescriptions\n /** Rendered only for the shipping variant; billing keeps its own section heading. */\n heading?: string\n description?: string\n requiredPhone?: boolean\n}\n\n/**\n * The shared address form. The recipient fields come first, then the delivery\n * address in a fixed order: line 1 (required), line 2 (optional), country,\n * state/province, city, postal code. Billing reuses the same fields without the\n * recipient legend.\n */\nexport function CheckoutAddressFields({\n prefix,\n values,\n onChange,\n locations,\n onRetryLocation,\n labels,\n errors,\n descriptions,\n heading,\n description,\n requiredPhone = false,\n}: CheckoutAddressFieldsProps) {\n const checkoutId = useCheckoutIds()\n const id = (field: string) => checkoutId(`checkout-${prefix}-${field}`)\n\n return (\n <FieldGroup className=\"grid grid-cols-1 gap-6\">\n <FieldSet>\n {heading ? <FieldLegend>{heading}</FieldLegend> : null}\n {description ? (\n <p className=\"text-muted-foreground -mt-3 text-sm\">{description}</p>\n ) : null}\n\n <div className=\"grid grid-cols-1 gap-4 md:grid-cols-2\">\n <Field data-invalid={!!errors?.firstName?.length}>\n <FieldLabel htmlFor={id('first-name')}>{labels.firstNameLabel}</FieldLabel>\n <Input\n id={id('first-name')}\n autoComplete=\"given-name\"\n aria-required=\"true\"\n value={values.firstName}\n onChange={(e) => onChange('firstName', e.target.value)}\n {...checkoutFieldAria(id('first-name'), errors?.firstName)}\n />\n <CheckoutFieldFeedback\n id={id('first-name')}\n errors={errors?.firstName}\n description={descriptions?.firstName}\n />\n </Field>\n <Field data-invalid={!!errors?.lastName?.length}>\n <FieldLabel htmlFor={id('last-name')}>{labels.lastNameLabel}</FieldLabel>\n <Input\n id={id('last-name')}\n autoComplete=\"family-name\"\n aria-required=\"true\"\n value={values.lastName}\n onChange={(e) => onChange('lastName', e.target.value)}\n {...checkoutFieldAria(id('last-name'), errors?.lastName)}\n />\n <CheckoutFieldFeedback\n id={id('last-name')}\n errors={errors?.lastName}\n description={descriptions?.lastName}\n />\n </Field>\n </div>\n\n <Field data-invalid={!!errors?.company?.length}>\n <FieldLabel htmlFor={id('company')}>{labels.companyLabel}</FieldLabel>\n <Input\n id={id('company')}\n autoComplete=\"organization\"\n value={values.company ?? ''}\n onChange={(e) => onChange('company', e.target.value)}\n {...checkoutFieldAria(id('company'), errors?.company)}\n />\n <CheckoutFieldFeedback\n id={id('company')}\n errors={errors?.company}\n description={descriptions?.company}\n />\n </Field>\n\n <Field data-invalid={!!errors?.phone?.length}>\n <FieldLabel htmlFor={id('phone')}>\n {labels.phoneLabel}\n {!requiredPhone ? (\n <span className=\"text-muted-foreground\"> ({labels.optionalIndicatorLabel})</span>\n ) : null}\n </FieldLabel>\n <Input\n id={id('phone')}\n type=\"tel\"\n inputMode=\"tel\"\n autoComplete=\"tel\"\n aria-required={requiredPhone || undefined}\n value={values.phone ?? ''}\n onChange={(e) => onChange('phone', e.target.value)}\n {...checkoutFieldAria(id('phone'), errors?.phone)}\n />\n <CheckoutFieldFeedback\n id={id('phone')}\n errors={errors?.phone}\n description={descriptions?.phone}\n />\n </Field>\n </FieldSet>\n\n <FieldSet>\n <FieldLegend>{labels.addressHeading}</FieldLegend>\n\n <Field data-invalid={!!errors?.address1?.length}>\n <FieldLabel htmlFor={id('address')}>{labels.addressLabel}</FieldLabel>\n <Input\n id={id('address')}\n data-checkout-field={`${prefix}.address1`}\n autoComplete=\"address-line1\"\n aria-required=\"true\"\n value={values.address1}\n onChange={(e) => onChange('address1', e.target.value)}\n {...checkoutFieldAria(id('address'), errors?.address1)}\n />\n <CheckoutFieldFeedback\n id={id('address')}\n errors={errors?.address1}\n description={descriptions?.address1}\n />\n </Field>\n\n <Field data-invalid={!!errors?.address2?.length}>\n <FieldLabel htmlFor={id('address2')}>{labels.address2Label}</FieldLabel>\n <Input\n id={id('address2')}\n autoComplete=\"address-line2\"\n value={values.address2 ?? ''}\n onChange={(e) => onChange('address2', e.target.value)}\n {...checkoutFieldAria(id('address2'), errors?.address2)}\n />\n <CheckoutFieldFeedback\n id={id('address2')}\n errors={errors?.address2}\n description={descriptions?.address2}\n />\n </Field>\n\n <CheckoutLocationSelect\n id={id('country')}\n label={labels.countryLabel}\n placeholder={labels.countryPlaceholder}\n value={values.countryCode}\n options={locations?.countries ?? []}\n state={locations?.countriesState}\n error={locations?.countriesError}\n onChange={(value) => onChange('countryCode', value)}\n onRetry={onRetryLocation ? () => onRetryLocation('countries') : undefined}\n labels={labels}\n errors={errors?.countryCode}\n description={descriptions?.countryCode}\n />\n\n <div className=\"grid grid-cols-1 gap-4 md:grid-cols-2\">\n <CheckoutLocationSelect\n id={id('province')}\n label={labels.stateLabel}\n placeholder={labels.provincePlaceholder}\n value={values.province ?? ''}\n options={values.countryCode ? locations?.provinces ?? [] : []}\n state={values.countryCode ? locations?.provincesState : undefined}\n error={values.countryCode ? locations?.provincesError : undefined}\n disabled={!values.countryCode}\n onChange={(value) => onChange('province', value)}\n onRetry={onRetryLocation ? () => onRetryLocation('provinces') : undefined}\n labels={labels}\n errors={errors?.province}\n description={descriptions?.province}\n />\n <CheckoutLocationSelect\n id={id('city')}\n label={labels.cityLabel}\n placeholder={labels.cityPlaceholder}\n value={values.city}\n options={values.province ? locations?.cities ?? [] : []}\n state={values.province ? locations?.citiesState : undefined}\n error={values.province ? locations?.citiesError : undefined}\n disabled={!values.province}\n onChange={(value) => onChange('city', value)}\n onRetry={onRetryLocation ? () => onRetryLocation('cities') : undefined}\n labels={labels}\n errors={errors?.city}\n description={descriptions?.city}\n />\n </div>\n\n <Field data-invalid={!!errors?.postalCode?.length}>\n <FieldLabel htmlFor={id('zip')}>{labels.zipCodeLabel}</FieldLabel>\n <Input\n id={id('zip')}\n autoComplete=\"postal-code\"\n value={values.postalCode ?? ''}\n onChange={(e) => onChange('postalCode', e.target.value)}\n {...checkoutFieldAria(id('zip'), errors?.postalCode)}\n />\n <CheckoutFieldFeedback\n id={id('zip')}\n errors={errors?.postalCode}\n description={descriptions?.postalCode}\n />\n </Field>\n </FieldSet>\n </FieldGroup>\n )\n}\n"],"mappings":"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","names":[]}