@vtex/faststore 0.0.7 → 0.0.10

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 (498) hide show
  1. package/CHANGELOG.md +102 -0
  2. package/dist/actions.json +194 -1
  3. package/dist/catalog.json +3449 -1612
  4. package/dist/cli/index.d.ts +512 -63
  5. package/dist/cli/index.js +2098 -686
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/cli/server-runtime.js +44 -24
  8. package/dist/cli/server-runtime.js.map +1 -1
  9. package/dist/client.d.ts +5 -1
  10. package/dist/client.js +5 -1
  11. package/dist/components.d.ts +42 -10
  12. package/dist/components.js +47 -15
  13. package/dist/content-types.json +823 -0
  14. package/dist/core/dist/define-component.d.ts +12 -2
  15. package/dist/docs/account-access-gate.md +4 -4
  16. package/dist/docs/account-address-book.md +519 -0
  17. package/dist/docs/account-entry-point.md +5 -5
  18. package/dist/docs/account-menu.md +7 -7
  19. package/dist/docs/account-saved-cards.md +301 -0
  20. package/dist/docs/alert-dialog.md +2 -2
  21. package/dist/docs/billing-address.md +17 -9
  22. package/dist/docs/binding-switcher.md +154 -0
  23. package/dist/docs/card-entry.md +38 -7
  24. package/dist/docs/card-summary.md +175 -0
  25. package/dist/docs/cardholder-document.md +16 -14
  26. package/dist/docs/cart-destination.md +238 -0
  27. package/dist/docs/cart-item.md +22 -4
  28. package/dist/docs/cart-totalizer.md +1 -1
  29. package/dist/docs/cart.md +126 -19
  30. package/dist/docs/client-profile-fieldset.md +7 -5
  31. package/dist/docs/copy-text.md +84 -0
  32. package/dist/docs/document-field.md +8 -8
  33. package/dist/docs/footer-link-group.md +2 -2
  34. package/dist/docs/footer-social.md +1 -1
  35. package/dist/docs/free-shipping-progress.md +13 -9
  36. package/dist/docs/header-root.md +1 -1
  37. package/dist/docs/incentives.md +4 -4
  38. package/dist/docs/logo.md +6 -6
  39. package/dist/docs/my-account-profile.md +4 -4
  40. package/dist/docs/navigation-link-list.md +2 -2
  41. package/dist/docs/navigation-link.md +3 -3
  42. package/dist/docs/order-cancel.md +52 -0
  43. package/dist/docs/order-delivery-address.md +63 -0
  44. package/dist/docs/order-delivery-group.md +83 -0
  45. package/dist/docs/order-details-back.md +41 -0
  46. package/dist/docs/order-details-header.md +48 -0
  47. package/dist/docs/order-list-row.md +46 -0
  48. package/dist/docs/order-list-search.md +101 -0
  49. package/dist/docs/order-list-views.md +97 -0
  50. package/dist/docs/order-list.md +94 -0
  51. package/dist/docs/order-payment.md +94 -0
  52. package/dist/docs/order-placed-date.md +49 -0
  53. package/dist/docs/order-placed-payment-summary.md +13 -15
  54. package/dist/docs/order-placed.md +225 -0
  55. package/dist/docs/order-progress.md +88 -0
  56. package/dist/docs/order-status-badge.md +91 -0
  57. package/dist/docs/order-summary.md +53 -0
  58. package/dist/docs/payment-method-badges.md +16 -5
  59. package/dist/docs/payment-methods.md +1 -1
  60. package/dist/docs/place-order.md +13 -9
  61. package/dist/docs/product-information.md +2 -2
  62. package/dist/docs/product-shelf.md +7 -0
  63. package/dist/docs/saved-cards.md +2 -2
  64. package/dist/docs/select.md +22 -10
  65. package/dist/docs/session.md +1 -1
  66. package/dist/docs/shipping-address.md +1 -1
  67. package/dist/docs/sign-in-redirect.md +7 -7
  68. package/dist/docs/toast.md +35 -13
  69. package/dist/index.d.ts +7 -2
  70. package/dist/index.js +2 -1
  71. package/dist/internal/client.d.ts +9 -1
  72. package/dist/internal/client.js +10 -2
  73. package/dist/internal/server.d.ts +8 -2
  74. package/dist/internal/server.js +8 -2
  75. package/dist/matter/account-access-gate/account-access-gate.d.ts +2 -1
  76. package/dist/matter/account-access-gate/account-access-gate.js +19 -16
  77. package/dist/matter/account-access-gate/account-access-gate.js.map +1 -1
  78. package/dist/matter/account-address-book/account-address-book-delete.d.ts +60 -0
  79. package/dist/matter/account-address-book/account-address-book-delete.js +184 -0
  80. package/dist/matter/account-address-book/account-address-book-delete.js.map +1 -0
  81. package/dist/matter/account-address-book/account-address-book-deliverability.d.ts +19 -0
  82. package/dist/matter/account-address-book/account-address-book-deliverability.js +50 -0
  83. package/dist/matter/account-address-book/account-address-book-deliverability.js.map +1 -0
  84. package/dist/matter/account-address-book/account-address-book-form-parts.d.ts +42 -0
  85. package/dist/matter/account-address-book/account-address-book-form-parts.js +146 -0
  86. package/dist/matter/account-address-book/account-address-book-form-parts.js.map +1 -0
  87. package/dist/matter/account-address-book/account-address-book-profile-notice.d.ts +25 -0
  88. package/dist/matter/account-address-book/account-address-book-profile-notice.js +72 -0
  89. package/dist/matter/account-address-book/account-address-book-profile-notice.js.map +1 -0
  90. package/dist/matter/account-address-book/account-address-book.d.ts +120 -0
  91. package/dist/matter/account-address-book/account-address-book.js +469 -0
  92. package/dist/matter/account-address-book/account-address-book.js.map +1 -0
  93. package/dist/matter/account-address-book/account-address-country-switch.js +59 -0
  94. package/dist/matter/account-address-book/account-address-country-switch.js.map +1 -0
  95. package/dist/matter/account-address-book/account-address-country.d.ts +36 -0
  96. package/dist/matter/account-address-book/account-address-country.js +151 -0
  97. package/dist/matter/account-address-book/account-address-country.js.map +1 -0
  98. package/dist/matter/account-address-book/account-address-first-line.js +11 -0
  99. package/dist/matter/account-address-book/account-address-first-line.js.map +1 -0
  100. package/dist/matter/account-address-book/account-address-form-context.d.ts +55 -0
  101. package/dist/matter/account-address-book/account-address-form-context.js +14 -0
  102. package/dist/matter/account-address-book/account-address-form-context.js.map +1 -0
  103. package/dist/matter/account-address-book/account-address-form.d.ts +85 -0
  104. package/dist/matter/account-address-book/account-address-form.js +946 -0
  105. package/dist/matter/account-address-book/account-address-form.js.map +1 -0
  106. package/dist/matter/account-address-book/account-address-postal-autofill.js +189 -0
  107. package/dist/matter/account-address-book/account-address-postal-autofill.js.map +1 -0
  108. package/dist/matter/account-address-book/account-address-record.d.ts +26 -0
  109. package/dist/matter/account-address-book/account-address-record.js +138 -0
  110. package/dist/matter/account-address-book/account-address-record.js.map +1 -0
  111. package/dist/matter/account-entry-point/account-entry-point.js +11 -11
  112. package/dist/matter/account-entry-point/account-entry-point.js.map +1 -1
  113. package/dist/matter/account-menu/account-menu.d.ts +7 -3
  114. package/dist/matter/account-menu/account-menu.js +69 -28
  115. package/dist/matter/account-menu/account-menu.js.map +1 -1
  116. package/dist/matter/account-saved-cards/account-saved-cards.d.ts +383 -0
  117. package/dist/matter/account-saved-cards/account-saved-cards.js +956 -0
  118. package/dist/matter/account-saved-cards/account-saved-cards.js.map +1 -0
  119. package/dist/matter/billing-address/billing-address.d.ts +30 -17
  120. package/dist/matter/billing-address/billing-address.js +128 -33
  121. package/dist/matter/billing-address/billing-address.js.map +1 -1
  122. package/dist/matter/breadcrumb/breadcrumb.js +2 -2
  123. package/dist/matter/breadcrumb/breadcrumb.js.map +1 -1
  124. package/dist/matter/card-entry/card-capture.js +4 -3
  125. package/dist/matter/card-entry/card-capture.js.map +1 -1
  126. package/dist/matter/card-entry/card-entry.d.ts +5 -3
  127. package/dist/matter/card-entry/card-entry.js +77 -27
  128. package/dist/matter/card-entry/card-entry.js.map +1 -1
  129. package/dist/matter/cardholder-document/cardholder-document.d.ts +10 -9
  130. package/dist/matter/cardholder-document/cardholder-document.js +36 -16
  131. package/dist/matter/cardholder-document/cardholder-document.js.map +1 -1
  132. package/dist/matter/cart/cart-namespace.d.ts +5 -1
  133. package/dist/matter/cart/cart-namespace.js +5 -1
  134. package/dist/matter/cart/cart-namespace.js.map +1 -1
  135. package/dist/matter/cart/cart.d.ts +41 -6
  136. package/dist/matter/cart/cart.js +267 -54
  137. package/dist/matter/cart/cart.js.map +1 -1
  138. package/dist/matter/cart-destination/cart-destination.d.ts +222 -0
  139. package/dist/matter/cart-destination/cart-destination.js +613 -0
  140. package/dist/matter/cart-destination/cart-destination.js.map +1 -0
  141. package/dist/matter/cart-item/cart-item.d.ts +4 -2
  142. package/dist/matter/cart-item/cart-item.js +76 -17
  143. package/dist/matter/cart-item/cart-item.js.map +1 -1
  144. package/dist/matter/cart-totalizer/cart-totalizer.js +3 -2
  145. package/dist/matter/cart-totalizer/cart-totalizer.js.map +1 -1
  146. package/dist/matter/client-preferences/client-preferences-fieldset.js +1 -1
  147. package/dist/matter/client-profile-form/client-profile-fieldset.js +8 -5
  148. package/dist/matter/client-profile-form/client-profile-fieldset.js.map +1 -1
  149. package/dist/matter/free-shipping-progress/free-shipping-progress.d.ts +6 -3
  150. package/dist/matter/free-shipping-progress/free-shipping-progress.js +76 -33
  151. package/dist/matter/free-shipping-progress/free-shipping-progress.js.map +1 -1
  152. package/dist/matter/identity-edit/identity-edit.js +3 -3
  153. package/dist/matter/identity-edit/identity-edit.js.map +1 -1
  154. package/dist/matter/identity-summary/identity-summary.js +2 -2
  155. package/dist/matter/identity-summary/identity-summary.js.map +1 -1
  156. package/dist/matter/my-account-profile/my-account-profile.d.ts +3 -3
  157. package/dist/matter/my-account-profile/my-account-profile.js +4 -4
  158. package/dist/matter/my-account-profile/my-account-profile.js.map +1 -1
  159. package/dist/matter/order-cancel/order-cancel.d.ts +110 -0
  160. package/dist/matter/order-cancel/order-cancel.js +344 -0
  161. package/dist/matter/order-cancel/order-cancel.js.map +1 -0
  162. package/dist/matter/order-delivery-address/order-delivery-address.d.ts +73 -0
  163. package/dist/matter/order-delivery-address/order-delivery-address.js +172 -0
  164. package/dist/matter/order-delivery-address/order-delivery-address.js.map +1 -0
  165. package/dist/matter/order-delivery-group/order-delivery-group.d.ts +128 -0
  166. package/dist/matter/order-delivery-group/order-delivery-group.js +408 -0
  167. package/dist/matter/order-delivery-group/order-delivery-group.js.map +1 -0
  168. package/dist/matter/order-details-header/order-details-header.d.ts +104 -0
  169. package/dist/matter/order-details-header/order-details-header.js +190 -0
  170. package/dist/matter/order-details-header/order-details-header.js.map +1 -0
  171. package/dist/matter/order-list/customer-orders-filter.d.ts +12 -0
  172. package/dist/matter/order-list/customer-orders-filter.js +30 -0
  173. package/dist/matter/order-list/customer-orders-filter.js.map +1 -0
  174. package/dist/matter/order-list/order-list.d.ts +121 -0
  175. package/dist/matter/order-list/order-list.js +395 -0
  176. package/dist/matter/order-list/order-list.js.map +1 -0
  177. package/dist/matter/order-list-row/order-list-row.d.ts +44 -0
  178. package/dist/matter/order-list-row/order-list-row.js +127 -0
  179. package/dist/matter/order-list-row/order-list-row.js.map +1 -0
  180. package/dist/matter/order-list-search/order-list-search.d.ts +72 -0
  181. package/dist/matter/order-list-search/order-list-search.js +296 -0
  182. package/dist/matter/order-list-search/order-list-search.js.map +1 -0
  183. package/dist/matter/order-list-views/order-list-views.d.ts +65 -0
  184. package/dist/matter/order-list-views/order-list-views.js +154 -0
  185. package/dist/matter/order-list-views/order-list-views.js.map +1 -0
  186. package/dist/matter/order-payment/order-payment.d.ts +83 -0
  187. package/dist/matter/order-payment/order-payment.js +258 -0
  188. package/dist/matter/order-payment/order-payment.js.map +1 -0
  189. package/dist/matter/order-placed/order-placed-deliveries.d.ts +145 -0
  190. package/dist/matter/order-placed/order-placed-deliveries.js +380 -0
  191. package/dist/matter/order-placed/order-placed-deliveries.js.map +1 -0
  192. package/dist/matter/order-placed/order-placed.d.ts +122 -0
  193. package/dist/matter/order-placed/order-placed.js +452 -0
  194. package/dist/matter/order-placed/order-placed.js.map +1 -0
  195. package/dist/matter/order-placed-date/order-placed-date.d.ts +45 -0
  196. package/dist/matter/order-placed-date/order-placed-date.js +92 -0
  197. package/dist/matter/order-placed-date/order-placed-date.js.map +1 -0
  198. package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.d.ts +5 -8
  199. package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.js +29 -81
  200. package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.js.map +1 -1
  201. package/dist/matter/order-progress/order-progress.d.ts +85 -0
  202. package/dist/matter/order-progress/order-progress.js +203 -0
  203. package/dist/matter/order-progress/order-progress.js.map +1 -0
  204. package/dist/matter/order-summary/order-summary.d.ts +81 -0
  205. package/dist/matter/order-summary/order-summary.js +192 -0
  206. package/dist/matter/order-summary/order-summary.js.map +1 -0
  207. package/dist/matter/payment/cardholder-document-rule.d.ts +35 -0
  208. package/dist/matter/payment/cardholder-document-rule.js +35 -0
  209. package/dist/matter/payment/cardholder-document-rule.js.map +1 -0
  210. package/dist/matter/payment/payment-card-capture.js +38 -23
  211. package/dist/matter/payment/payment-card-capture.js.map +1 -1
  212. package/dist/matter/payment/payment-controller.js +11 -0
  213. package/dist/matter/payment/payment-controller.js.map +1 -1
  214. package/dist/matter/payment/payment-method-badges.js +4 -2
  215. package/dist/matter/payment/payment-method-badges.js.map +1 -1
  216. package/dist/matter/payment/payment.js +11 -0
  217. package/dist/matter/payment/payment.js.map +1 -1
  218. package/dist/matter/payment/use-payment-method-selection.d.ts +39 -0
  219. package/dist/matter/payment/use-payment-method-selection.js +30 -2
  220. package/dist/matter/payment/use-payment-method-selection.js.map +1 -1
  221. package/dist/matter/payment/use-payment-submit-gate.d.ts +16 -2
  222. package/dist/matter/payment/use-payment-submit-gate.js +42 -14
  223. package/dist/matter/payment/use-payment-submit-gate.js.map +1 -1
  224. package/dist/matter/place-order/place-order.d.ts +12 -7
  225. package/dist/matter/place-order/place-order.js +126 -103
  226. package/dist/matter/place-order/place-order.js.map +1 -1
  227. package/dist/matter/pricing/pricing.js +5 -5
  228. package/dist/matter/pricing/pricing.js.map +1 -1
  229. package/dist/matter/product-shelf/product-shelf.d.ts +7 -0
  230. package/dist/matter/product-shelf/product-shelf.js +115 -1
  231. package/dist/matter/product-shelf/product-shelf.js.map +1 -1
  232. package/dist/matter/region/region.js +1 -1
  233. package/dist/matter/saved-cards/saved-cards.js +26 -15
  234. package/dist/matter/saved-cards/saved-cards.js.map +1 -1
  235. package/dist/matter/session/session.js +2 -2
  236. package/dist/matter/session/session.js.map +1 -1
  237. package/dist/matter/shipping-address/country-descriptors.d.ts +1 -0
  238. package/dist/matter/shipping-address/country-descriptors.js +23 -1
  239. package/dist/matter/shipping-address/country-descriptors.js.map +1 -1
  240. package/dist/matter/shipping-address/shipping-address.js +62 -14
  241. package/dist/matter/shipping-address/shipping-address.js.map +1 -1
  242. package/dist/matter/shipping-simulator/shipping-simulator.d.ts +2 -2
  243. package/dist/matter/shipping-simulator/shipping-simulator.js +6 -2
  244. package/dist/matter/shipping-simulator/shipping-simulator.js.map +1 -1
  245. package/dist/matter/sign-in-redirect/sign-in-redirect.js +48 -10
  246. package/dist/matter/sign-in-redirect/sign-in-redirect.js.map +1 -1
  247. package/dist/matter/variant-selector/variant-selector.js +2 -2
  248. package/dist/matter/variant-selector/variant-selector.js.map +1 -1
  249. package/dist/particles/address-summary/address-summary.js +2 -2
  250. package/dist/particles/address-summary/address-summary.js.map +1 -1
  251. package/dist/particles/alert-dialog/alert-dialog.d.ts +5 -1
  252. package/dist/particles/alert-dialog/alert-dialog.js +5 -2
  253. package/dist/particles/alert-dialog/alert-dialog.js.map +1 -1
  254. package/dist/particles/binding-switcher/binding-switcher.d.ts +38 -0
  255. package/dist/particles/binding-switcher/binding-switcher.js +183 -0
  256. package/dist/particles/binding-switcher/binding-switcher.js.map +1 -0
  257. package/dist/particles/card-summary/card-network.d.ts +17 -0
  258. package/dist/particles/card-summary/card-network.js +25 -0
  259. package/dist/particles/card-summary/card-network.js.map +1 -0
  260. package/dist/particles/card-summary/card-summary.d.ts +83 -0
  261. package/dist/particles/card-summary/card-summary.js +188 -0
  262. package/dist/particles/card-summary/card-summary.js.map +1 -0
  263. package/dist/particles/copy-text/copy-text.d.ts +28 -0
  264. package/dist/particles/copy-text/copy-text.js +140 -0
  265. package/dist/particles/copy-text/copy-text.js.map +1 -0
  266. package/dist/particles/document-field/document-field.d.ts +34 -5
  267. package/dist/particles/document-field/document-field.js +115 -19
  268. package/dist/particles/document-field/document-field.js.map +1 -1
  269. package/dist/particles/field/field.js +1 -1
  270. package/dist/particles/field/field.js.map +1 -1
  271. package/dist/particles/footer-link-group/footer-link-group.d.ts +6 -2
  272. package/dist/particles/footer-link-group/footer-link-group.js +18 -7
  273. package/dist/particles/footer-link-group/footer-link-group.js.map +1 -1
  274. package/dist/particles/footer-social/footer-social.d.ts +1 -1
  275. package/dist/particles/footer-social/footer-social.js +1 -1
  276. package/dist/particles/footer-social/footer-social.js.map +1 -1
  277. package/dist/particles/incentives/incentives.d.ts +7 -3
  278. package/dist/particles/incentives/incentives.js +8 -3
  279. package/dist/particles/incentives/incentives.js.map +1 -1
  280. package/dist/particles/logo/logo.d.ts +3 -2
  281. package/dist/particles/logo/logo.js +20 -8
  282. package/dist/particles/logo/logo.js.map +1 -1
  283. package/dist/particles/navigation-link/navigation-link.d.ts +2 -3
  284. package/dist/particles/navigation-link/navigation-link.js +4 -4
  285. package/dist/particles/navigation-link/navigation-link.js.map +1 -1
  286. package/dist/particles/navigation-link-list/navigation-link-list.d.ts +6 -2
  287. package/dist/particles/navigation-link-list/navigation-link-list.js +18 -7
  288. package/dist/particles/navigation-link-list/navigation-link-list.js.map +1 -1
  289. package/dist/particles/order-details-back/order-details-back.d.ts +28 -0
  290. package/dist/particles/order-details-back/order-details-back.js +52 -0
  291. package/dist/particles/order-details-back/order-details-back.js.map +1 -0
  292. package/dist/particles/order-status-badge/order-status-badge.d.ts +19 -0
  293. package/dist/particles/order-status-badge/order-status-badge.js +50 -0
  294. package/dist/particles/order-status-badge/order-status-badge.js.map +1 -0
  295. package/dist/particles/payment-methods/payment-methods.d.ts +1 -1
  296. package/dist/particles/payment-methods/payment-methods.js +1 -1
  297. package/dist/particles/payment-methods/payment-methods.js.map +1 -1
  298. package/dist/particles/phone-field/phone-field.js +2 -2
  299. package/dist/particles/phone-field/phone-field.js.map +1 -1
  300. package/dist/particles/select/select.js +6 -6
  301. package/dist/particles/select/select.js.map +1 -1
  302. package/dist/particles/toast/toast.d.ts +21 -7
  303. package/dist/particles/toast/toast.js +76 -8
  304. package/dist/particles/toast/toast.js.map +1 -1
  305. package/dist/schema.graphql +1376 -126
  306. package/dist/sdk/actions/address-action-provider.d.ts +16 -0
  307. package/dist/sdk/actions/address-action-provider.js +20 -0
  308. package/dist/sdk/actions/address-action-provider.js.map +1 -0
  309. package/dist/sdk/actions/analytics-action-provider.js +1 -1
  310. package/dist/sdk/actions/index.d.ts +5 -1
  311. package/dist/sdk/actions/index.js +5 -1
  312. package/dist/sdk/actions/locale-action-provider.d.ts +16 -0
  313. package/dist/sdk/actions/locale-action-provider.js +20 -0
  314. package/dist/sdk/actions/locale-action-provider.js.map +1 -0
  315. package/dist/sdk/actions/order-action-provider.d.ts +12 -0
  316. package/dist/sdk/actions/order-action-provider.js +16 -0
  317. package/dist/sdk/actions/order-action-provider.js.map +1 -0
  318. package/dist/sdk/actions/saved-card-action-provider.d.ts +12 -0
  319. package/dist/sdk/actions/saved-card-action-provider.js +16 -0
  320. package/dist/sdk/actions/saved-card-action-provider.js.map +1 -0
  321. package/dist/sdk/actions/types.d.ts +10 -2
  322. package/dist/sdk/address/address-fields.js +38 -0
  323. package/dist/sdk/address/address-fields.js.map +1 -0
  324. package/dist/sdk/address/checkout-readiness.js +17 -0
  325. package/dist/sdk/address/checkout-readiness.js.map +1 -0
  326. package/dist/sdk/address/constants.js +60 -0
  327. package/dist/sdk/address/constants.js.map +1 -0
  328. package/dist/sdk/address/country-display.js +19 -0
  329. package/dist/sdk/address/country-display.js.map +1 -0
  330. package/dist/sdk/address/country-rules.js +30 -0
  331. package/dist/sdk/address/country-rules.js.map +1 -0
  332. package/dist/sdk/address/format-address.js +18 -0
  333. package/dist/sdk/address/format-address.js.map +1 -0
  334. package/dist/sdk/address/iso-countries.js +262 -0
  335. package/dist/sdk/address/iso-countries.js.map +1 -0
  336. package/dist/sdk/address/layouts.js +56 -0
  337. package/dist/sdk/address/layouts.js.map +1 -0
  338. package/dist/sdk/address/messages.js +97 -0
  339. package/dist/sdk/address/messages.js.map +1 -0
  340. package/dist/sdk/address/operations.d.ts +54 -0
  341. package/dist/sdk/address/operations.js +83 -0
  342. package/dist/sdk/address/operations.js.map +1 -0
  343. package/dist/sdk/address/postal-code-lookup-operations.js +23 -0
  344. package/dist/sdk/address/postal-code-lookup-operations.js.map +1 -0
  345. package/dist/sdk/address/postal-code.js +11 -0
  346. package/dist/sdk/address/postal-code.js.map +1 -0
  347. package/dist/sdk/address/schema.js +14 -0
  348. package/dist/sdk/address/schema.js.map +1 -0
  349. package/dist/sdk/address/server-fields.js +25 -0
  350. package/dist/sdk/address/server-fields.js.map +1 -0
  351. package/dist/sdk/address/switch-country.js +57 -0
  352. package/dist/sdk/address/switch-country.js.map +1 -0
  353. package/dist/sdk/address/types.d.ts +26 -0
  354. package/dist/sdk/address/use-address-actions.d.ts +29 -0
  355. package/dist/sdk/address/use-address-actions.js +247 -0
  356. package/dist/sdk/address/use-address-actions.js.map +1 -0
  357. package/dist/sdk/address/use-address-by-postal-code.js +57 -0
  358. package/dist/sdk/address/use-address-by-postal-code.js.map +1 -0
  359. package/dist/sdk/address/validate-address.js +62 -0
  360. package/dist/sdk/address/validate-address.js.map +1 -0
  361. package/dist/sdk/cache/storefront-cache.js +30 -4
  362. package/dist/sdk/cache/storefront-cache.js.map +1 -1
  363. package/dist/sdk/cart/operations.d.ts +2 -1
  364. package/dist/sdk/cart/operations.js +55 -1
  365. package/dist/sdk/cart/operations.js.map +1 -1
  366. package/dist/sdk/cart/optimistic.d.ts +30 -7
  367. package/dist/sdk/cart/optimistic.js +78 -41
  368. package/dist/sdk/cart/optimistic.js.map +1 -1
  369. package/dist/sdk/cart/use-cart-actions.d.ts +7 -0
  370. package/dist/sdk/cart/use-cart-actions.js +61 -15
  371. package/dist/sdk/cart/use-cart-actions.js.map +1 -1
  372. package/dist/sdk/cart/use-cart-sync-sales-channel.js +70 -0
  373. package/dist/sdk/cart/use-cart-sync-sales-channel.js.map +1 -0
  374. package/dist/sdk/client/fetch-page-data.d.ts +11 -0
  375. package/dist/sdk/client/fetch-page-data.js +12 -1
  376. package/dist/sdk/client/fetch-page-data.js.map +1 -1
  377. package/dist/sdk/content/create-content-runtime.js +1 -8
  378. package/dist/sdk/content/create-content-runtime.js.map +1 -1
  379. package/dist/sdk/data/failed-fields.js +23 -0
  380. package/dist/sdk/data/failed-fields.js.map +1 -0
  381. package/dist/sdk/data/index.js +2 -2
  382. package/dist/sdk/data/page-reactive-data-root.d.ts +45 -7
  383. package/dist/sdk/data/page-reactive-data-root.js +88 -12
  384. package/dist/sdk/data/page-reactive-data-root.js.map +1 -1
  385. package/dist/sdk/data/reactive-list-item-data-provider.js +2 -2
  386. package/dist/sdk/generated/fragment-types.js +2 -0
  387. package/dist/sdk/generated/fragment-types.js.map +1 -1
  388. package/dist/sdk/generated/gql.js +17 -11
  389. package/dist/sdk/generated/gql.js.map +1 -1
  390. package/dist/sdk/generated/graphql.d.ts +185 -46
  391. package/dist/sdk/generated/graphql.js +2587 -155
  392. package/dist/sdk/generated/graphql.js.map +1 -1
  393. package/dist/sdk/i18n/messages/en-US.js +157 -1
  394. package/dist/sdk/i18n/messages/en-US.json +157 -1
  395. package/dist/sdk/i18n/messages/en-US.json.d.ts +156 -0
  396. package/dist/sdk/i18n/messages/es-ES.js +157 -1
  397. package/dist/sdk/i18n/messages/es-ES.json +157 -1
  398. package/dist/sdk/i18n/messages/pt-BR.js +157 -1
  399. package/dist/sdk/i18n/messages/pt-BR.json +157 -1
  400. package/dist/sdk/i18n/provider.js +1 -1
  401. package/dist/sdk/i18n/provider.js.map +1 -1
  402. package/dist/sdk/locale/binding-switch-provider.d.ts +13 -0
  403. package/dist/sdk/locale/binding-switch-provider.js +20 -0
  404. package/dist/sdk/locale/binding-switch-provider.js.map +1 -0
  405. package/dist/sdk/locale/use-locale-actions.d.ts +16 -0
  406. package/dist/sdk/locale/use-locale-actions.js +70 -0
  407. package/dist/sdk/locale/use-locale-actions.js.map +1 -0
  408. package/dist/sdk/navigation/binding-switch.d.ts +39 -0
  409. package/dist/sdk/navigation/binding-switch.js +129 -0
  410. package/dist/sdk/navigation/binding-switch.js.map +1 -0
  411. package/dist/sdk/navigation/current-page.js +30 -0
  412. package/dist/sdk/navigation/current-page.js.map +1 -0
  413. package/dist/sdk/navigation/decode-route-params.d.ts +11 -0
  414. package/dist/sdk/navigation/decode-route-params.js +32 -0
  415. package/dist/sdk/navigation/decode-route-params.js.map +1 -0
  416. package/dist/sdk/navigation/not-found-log.d.ts +28 -0
  417. package/dist/sdk/navigation/not-found-log.js +133 -0
  418. package/dist/sdk/navigation/not-found-log.js.map +1 -0
  419. package/dist/sdk/navigation/path.js +25 -0
  420. package/dist/sdk/navigation/path.js.map +1 -0
  421. package/dist/sdk/navigation/redirect.d.ts +11 -0
  422. package/dist/sdk/navigation/redirect.js +22 -0
  423. package/dist/sdk/navigation/redirect.js.map +1 -0
  424. package/dist/sdk/navigation/report.js +70 -0
  425. package/dist/sdk/navigation/report.js.map +1 -0
  426. package/dist/sdk/navigation/resolve-storefront-href.d.ts +12 -0
  427. package/dist/sdk/navigation/resolve-storefront-href.js +214 -0
  428. package/dist/sdk/navigation/resolve-storefront-href.js.map +1 -0
  429. package/dist/sdk/navigation/route-identity-provider.d.ts +11 -0
  430. package/dist/sdk/navigation/route-identity-provider.js +20 -0
  431. package/dist/sdk/navigation/route-identity-provider.js.map +1 -0
  432. package/dist/sdk/navigation/route-map-provider.d.ts +19 -0
  433. package/dist/sdk/navigation/route-map-provider.js +29 -0
  434. package/dist/sdk/navigation/route-map-provider.js.map +1 -0
  435. package/dist/sdk/navigation/storefront-link.d.ts +16 -0
  436. package/dist/sdk/navigation/storefront-link.js +66 -0
  437. package/dist/sdk/navigation/storefront-link.js.map +1 -0
  438. package/dist/sdk/navigation/types.d.ts +45 -0
  439. package/dist/sdk/navigation/use-storefront-navigation.d.ts +26 -0
  440. package/dist/sdk/navigation/use-storefront-navigation.js +73 -0
  441. package/dist/sdk/navigation/use-storefront-navigation.js.map +1 -0
  442. package/dist/sdk/navigation/use-storefront-route.d.ts +26 -0
  443. package/dist/sdk/navigation/use-storefront-route.js +87 -0
  444. package/dist/sdk/navigation/use-storefront-route.js.map +1 -0
  445. package/dist/sdk/navigation/use-storefront-search-params.d.ts +11 -0
  446. package/dist/sdk/navigation/use-storefront-search-params.js +16 -0
  447. package/dist/sdk/navigation/use-storefront-search-params.js.map +1 -0
  448. package/dist/sdk/orders/completion-badge.d.ts +8 -0
  449. package/dist/sdk/orders/completion-badge.js +47 -0
  450. package/dist/sdk/orders/completion-badge.js.map +1 -0
  451. package/dist/sdk/orders/order-operations.d.ts +19 -0
  452. package/dist/sdk/orders/order-operations.js +21 -0
  453. package/dist/sdk/orders/order-operations.js.map +1 -0
  454. package/dist/sdk/orders/use-order-actions.d.ts +23 -0
  455. package/dist/sdk/orders/use-order-actions.js +62 -0
  456. package/dist/sdk/orders/use-order-actions.js.map +1 -0
  457. package/dist/sdk/payment/gateway-origin.js +26 -13
  458. package/dist/sdk/payment/gateway-origin.js.map +1 -1
  459. package/dist/sdk/payment/gateway.d.ts +14 -2
  460. package/dist/sdk/payment/gateway.js +32 -14
  461. package/dist/sdk/payment/gateway.js.map +1 -1
  462. package/dist/sdk/payment/operations.js +11 -0
  463. package/dist/sdk/payment/operations.js.map +1 -1
  464. package/dist/sdk/payment/submission-registry.d.ts +2 -1
  465. package/dist/sdk/payment/submission-registry.js +12 -8
  466. package/dist/sdk/payment/submission-registry.js.map +1 -1
  467. package/dist/sdk/payment/use-payment-actions.d.ts +5 -3
  468. package/dist/sdk/payment/use-payment-actions.js +5 -2
  469. package/dist/sdk/payment/use-payment-actions.js.map +1 -1
  470. package/dist/sdk/payment/use-place-order.d.ts +6 -3
  471. package/dist/sdk/payment/use-place-order.js +333 -143
  472. package/dist/sdk/payment/use-place-order.js.map +1 -1
  473. package/dist/sdk/saved-cards/operations.d.ts +16 -0
  474. package/dist/sdk/saved-cards/operations.js +41 -0
  475. package/dist/sdk/saved-cards/operations.js.map +1 -0
  476. package/dist/sdk/saved-cards/use-saved-card-actions.d.ts +26 -0
  477. package/dist/sdk/saved-cards/use-saved-card-actions.js +86 -0
  478. package/dist/sdk/saved-cards/use-saved-card-actions.js.map +1 -0
  479. package/dist/sdk/seo/page-alternates.d.ts +57 -0
  480. package/dist/sdk/seo/page-alternates.js +127 -0
  481. package/dist/sdk/seo/page-alternates.js.map +1 -0
  482. package/dist/sdk/shipping/shipping-operations.d.ts +1 -1
  483. package/dist/sdk/shipping/shipping-operations.js +13 -0
  484. package/dist/sdk/shipping/shipping-operations.js.map +1 -1
  485. package/dist/sdk/state/cart.d.ts +9 -2
  486. package/dist/sdk/state/cart.js +9 -2
  487. package/dist/sdk/state/cart.js.map +1 -1
  488. package/dist/utils/own-value.js +19 -0
  489. package/dist/utils/own-value.js.map +1 -0
  490. package/dist/utils/safe-href.d.ts +4 -4
  491. package/dist/utils/safe-href.js +31 -22
  492. package/dist/utils/safe-href.js.map +1 -1
  493. package/package.json +5 -1
  494. package/skills/storefront-asset/SKILL.md +111 -0
  495. package/skills/storefront-asset/references/api-side.md +153 -0
  496. package/skills/storefront-asset/references/findings.md +40 -0
  497. package/skills/storefront-asset/references/ui-side.md +94 -0
  498. package/src/styles/tailwind.css +28 -2
@@ -0,0 +1,16 @@
1
+ import { ActionProviderProps } from "./inject-actions.js";
2
+ import { ReactNode } from "react";
3
+ //#region src/sdk/actions/address-action-provider.d.ts
4
+ export type AddressActionProviderProps = ActionProviderProps;
5
+ /**
6
+ * Compiler-emitted runtime wrapper for the `address` action namespace — a line-for-line mirror of
7
+ * `RegionActionProvider`. The compiler wraps every element whose definition declares
8
+ * `actions: { address: [...] }` with `<AddressActionProvider methods={[...]}>`, calls
9
+ * `useAddressActions` once, narrows the surface to the declared `methods`, and publishes it through
10
+ * `ActionsOverrideContext` (merging with any outer namespace provider) for `useActionsOverride` to
11
+ * read further down. A namespace a component does not declare is never wrapped, so its hook is never
12
+ * called.
13
+ */
14
+ export declare function AddressActionProvider(props: AddressActionProviderProps): ReactNode;
15
+ //#endregion
16
+ //# sourceMappingURL=address-action-provider.d.ts.map
@@ -0,0 +1,20 @@
1
+ "use client";
2
+ import { useAddressActions } from "../address/use-address-actions.js";
3
+ import { useInjectActions } from "./inject-actions.js";
4
+ //#region src/sdk/actions/address-action-provider.tsx
5
+ /**
6
+ * Compiler-emitted runtime wrapper for the `address` action namespace — a line-for-line mirror of
7
+ * `RegionActionProvider`. The compiler wraps every element whose definition declares
8
+ * `actions: { address: [...] }` with `<AddressActionProvider methods={[...]}>`, calls
9
+ * `useAddressActions` once, narrows the surface to the declared `methods`, and publishes it through
10
+ * `ActionsOverrideContext` (merging with any outer namespace provider) for `useActionsOverride` to
11
+ * read further down. A namespace a component does not declare is never wrapped, so its hook is never
12
+ * called.
13
+ */
14
+ function AddressActionProvider(props) {
15
+ return useInjectActions("address", useAddressActions(), props);
16
+ }
17
+ //#endregion
18
+ export { AddressActionProvider };
19
+
20
+ //# sourceMappingURL=address-action-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address-action-provider.js","names":[],"sources":["../../../src/sdk/actions/address-action-provider.tsx"],"sourcesContent":["'use client';\n\nimport type { ReactNode } from 'react';\nimport { useAddressActions } from '../address/use-address-actions.js';\nimport { type ActionProviderProps, useInjectActions } from './inject-actions.js';\n\nexport type AddressActionProviderProps = ActionProviderProps;\n\n/**\n * Compiler-emitted runtime wrapper for the `address` action namespace — a line-for-line mirror of\n * `RegionActionProvider`. The compiler wraps every element whose definition declares\n * `actions: { address: [...] }` with `<AddressActionProvider methods={[...]}>`, calls\n * `useAddressActions` once, narrows the surface to the declared `methods`, and publishes it through\n * `ActionsOverrideContext` (merging with any outer namespace provider) for `useActionsOverride` to\n * read further down. A namespace a component does not declare is never wrapped, so its hook is never\n * called.\n */\nexport function AddressActionProvider(props: AddressActionProviderProps): ReactNode {\n return useInjectActions('address', useAddressActions(), props);\n}\n"],"mappings":";;;;;;;;;;;;;AAiBA,SAAgB,sBAAsB,OAA8C;CAClF,OAAO,iBAAiB,WAAW,kBAAkB,GAAG,KAAK;AAC/D"}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { useAnalyticsActions } from "../analytics/use-analytics-actions.js";
3
2
  import { useInjectActions } from "./inject-actions.js";
3
+ import { useAnalyticsActions } from "../analytics/use-analytics-actions.js";
4
4
  //#region src/sdk/actions/analytics-action-provider.tsx
5
5
  /**
6
6
  * Compiler-emitted runtime wrapper for the `analytics` action namespace. The compiler wraps every
@@ -1,9 +1,13 @@
1
1
  import { ComponentActions } from "./types.js";
2
+ import { AddressActionProvider, AddressActionProviderProps } from "./address-action-provider.js";
2
3
  import { AnalyticsActionProvider, AnalyticsActionProviderProps } from "./analytics-action-provider.js";
3
4
  import { CartActionProvider, CartActionProviderProps } from "./cart-action-provider.js";
4
5
  import { IdentityActionProvider, IdentityActionProviderProps } from "./identity-action-provider.js";
6
+ import { LocaleActionProvider, LocaleActionProviderProps } from "./locale-action-provider.js";
7
+ import { OrderActionProvider, OrderActionProviderProps } from "./order-action-provider.js";
5
8
  import { PaymentActionProvider, PaymentActionProviderProps } from "./payment-action-provider.js";
6
9
  import { RegionActionProvider, RegionActionProviderProps } from "./region-action-provider.js";
10
+ import { SavedCardActionProvider, SavedCardActionProviderProps } from "./saved-card-action-provider.js";
7
11
  import { SessionActionProvider, SessionActionProviderProps } from "./session-action-provider.js";
8
12
  import { ShippingActionProvider, ShippingActionProviderProps } from "./shipping-action-provider.js";
9
- export { AnalyticsActionProvider, type AnalyticsActionProviderProps, CartActionProvider, type CartActionProviderProps, IdentityActionProvider, type IdentityActionProviderProps, PaymentActionProvider, type PaymentActionProviderProps, RegionActionProvider, type RegionActionProviderProps, SessionActionProvider, type SessionActionProviderProps, ShippingActionProvider, type ShippingActionProviderProps };
13
+ export { AddressActionProvider, type AddressActionProviderProps, AnalyticsActionProvider, type AnalyticsActionProviderProps, CartActionProvider, type CartActionProviderProps, IdentityActionProvider, type IdentityActionProviderProps, LocaleActionProvider, type LocaleActionProviderProps, OrderActionProvider, type OrderActionProviderProps, PaymentActionProvider, type PaymentActionProviderProps, RegionActionProvider, type RegionActionProviderProps, SavedCardActionProvider, type SavedCardActionProviderProps, SessionActionProvider, type SessionActionProviderProps, ShippingActionProvider, type ShippingActionProviderProps };
@@ -1,8 +1,12 @@
1
+ import { AddressActionProvider } from "./address-action-provider.js";
1
2
  import { AnalyticsActionProvider } from "./analytics-action-provider.js";
2
3
  import { CartActionProvider } from "./cart-action-provider.js";
3
4
  import { IdentityActionProvider } from "./identity-action-provider.js";
5
+ import { LocaleActionProvider } from "./locale-action-provider.js";
6
+ import { OrderActionProvider } from "./order-action-provider.js";
4
7
  import { PaymentActionProvider } from "./payment-action-provider.js";
5
8
  import { RegionActionProvider } from "./region-action-provider.js";
9
+ import { SavedCardActionProvider } from "./saved-card-action-provider.js";
6
10
  import { SessionActionProvider } from "./session-action-provider.js";
7
11
  import { ShippingActionProvider } from "./shipping-action-provider.js";
8
- export { AnalyticsActionProvider, CartActionProvider, IdentityActionProvider, PaymentActionProvider, RegionActionProvider, SessionActionProvider, ShippingActionProvider };
12
+ export { AddressActionProvider, AnalyticsActionProvider, CartActionProvider, IdentityActionProvider, LocaleActionProvider, OrderActionProvider, PaymentActionProvider, RegionActionProvider, SavedCardActionProvider, SessionActionProvider, ShippingActionProvider };
@@ -0,0 +1,16 @@
1
+ import { ActionProviderProps } from "./inject-actions.js";
2
+ import { ReactNode } from "react";
3
+ //#region src/sdk/actions/locale-action-provider.d.ts
4
+ export type LocaleActionProviderProps = ActionProviderProps;
5
+ /**
6
+ * Compiler-emitted runtime wrapper for the `locale` action namespace — a line-for-line mirror of
7
+ * `RegionActionProvider`. The compiler wraps every element whose definition declares
8
+ * `actions: { locale: [...] }` with `<LocaleActionProvider methods={[...]}>`, calls `useLocaleActions`
9
+ * once, narrows the surface to the declared `methods`, and publishes it through
10
+ * `ActionsOverrideContext` (merging with any outer namespace provider) for `useActionsOverride` to
11
+ * read further down. A namespace a component does not declare is never wrapped, so its hook is never
12
+ * called.
13
+ */
14
+ export declare function LocaleActionProvider(props: LocaleActionProviderProps): ReactNode;
15
+ //#endregion
16
+ //# sourceMappingURL=locale-action-provider.d.ts.map
@@ -0,0 +1,20 @@
1
+ "use client";
2
+ import { useInjectActions } from "./inject-actions.js";
3
+ import { useLocaleActions } from "../locale/use-locale-actions.js";
4
+ //#region src/sdk/actions/locale-action-provider.tsx
5
+ /**
6
+ * Compiler-emitted runtime wrapper for the `locale` action namespace — a line-for-line mirror of
7
+ * `RegionActionProvider`. The compiler wraps every element whose definition declares
8
+ * `actions: { locale: [...] }` with `<LocaleActionProvider methods={[...]}>`, calls `useLocaleActions`
9
+ * once, narrows the surface to the declared `methods`, and publishes it through
10
+ * `ActionsOverrideContext` (merging with any outer namespace provider) for `useActionsOverride` to
11
+ * read further down. A namespace a component does not declare is never wrapped, so its hook is never
12
+ * called.
13
+ */
14
+ function LocaleActionProvider(props) {
15
+ return useInjectActions("locale", useLocaleActions(), props);
16
+ }
17
+ //#endregion
18
+ export { LocaleActionProvider };
19
+
20
+ //# sourceMappingURL=locale-action-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale-action-provider.js","names":[],"sources":["../../../src/sdk/actions/locale-action-provider.tsx"],"sourcesContent":["'use client';\n\nimport type { ReactNode } from 'react';\nimport { useLocaleActions } from '../locale/use-locale-actions.js';\nimport { type ActionProviderProps, useInjectActions } from './inject-actions.js';\n\nexport type LocaleActionProviderProps = ActionProviderProps;\n\n/**\n * Compiler-emitted runtime wrapper for the `locale` action namespace — a line-for-line mirror of\n * `RegionActionProvider`. The compiler wraps every element whose definition declares\n * `actions: { locale: [...] }` with `<LocaleActionProvider methods={[...]}>`, calls `useLocaleActions`\n * once, narrows the surface to the declared `methods`, and publishes it through\n * `ActionsOverrideContext` (merging with any outer namespace provider) for `useActionsOverride` to\n * read further down. A namespace a component does not declare is never wrapped, so its hook is never\n * called.\n */\nexport function LocaleActionProvider(props: LocaleActionProviderProps): ReactNode {\n return useInjectActions('locale', useLocaleActions(), props);\n}\n"],"mappings":";;;;;;;;;;;;;AAiBA,SAAgB,qBAAqB,OAA6C;CAChF,OAAO,iBAAiB,UAAU,iBAAiB,GAAG,KAAK;AAC7D"}
@@ -0,0 +1,12 @@
1
+ import { ActionProviderProps } from "./inject-actions.js";
2
+ import { ReactNode } from "react";
3
+ //#region src/sdk/actions/order-action-provider.d.ts
4
+ export type OrderActionProviderProps = ActionProviderProps;
5
+ /**
6
+ * Compiler-emitted wrapper for the `order` action namespace. The compiler wraps an element that
7
+ * declares `actions: { order: [...] }` with this provider, which publishes the narrowed methods
8
+ * through `ActionsOverrideContext`.
9
+ */
10
+ export declare function OrderActionProvider(props: OrderActionProviderProps): ReactNode;
11
+ //#endregion
12
+ //# sourceMappingURL=order-action-provider.d.ts.map
@@ -0,0 +1,16 @@
1
+ "use client";
2
+ import { useInjectActions } from "./inject-actions.js";
3
+ import { useOrderActions } from "../orders/use-order-actions.js";
4
+ //#region src/sdk/actions/order-action-provider.tsx
5
+ /**
6
+ * Compiler-emitted wrapper for the `order` action namespace. The compiler wraps an element that
7
+ * declares `actions: { order: [...] }` with this provider, which publishes the narrowed methods
8
+ * through `ActionsOverrideContext`.
9
+ */
10
+ function OrderActionProvider(props) {
11
+ return useInjectActions("order", useOrderActions(), props);
12
+ }
13
+ //#endregion
14
+ export { OrderActionProvider };
15
+
16
+ //# sourceMappingURL=order-action-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-action-provider.js","names":[],"sources":["../../../src/sdk/actions/order-action-provider.tsx"],"sourcesContent":["'use client';\n\nimport type { ReactNode } from 'react';\nimport { useOrderActions } from '../orders/use-order-actions.js';\nimport { type ActionProviderProps, useInjectActions } from './inject-actions.js';\n\nexport type OrderActionProviderProps = ActionProviderProps;\n\n/**\n * Compiler-emitted wrapper for the `order` action namespace. The compiler wraps an element that\n * declares `actions: { order: [...] }` with this provider, which publishes the narrowed methods\n * through `ActionsOverrideContext`.\n */\nexport function OrderActionProvider(props: OrderActionProviderProps): ReactNode {\n return useInjectActions('order', useOrderActions(), props);\n}\n"],"mappings":";;;;;;;;;AAaA,SAAgB,oBAAoB,OAA4C;CAC9E,OAAO,iBAAiB,SAAS,gBAAgB,GAAG,KAAK;AAC3D"}
@@ -0,0 +1,12 @@
1
+ import { ActionProviderProps } from "./inject-actions.js";
2
+ import { ReactNode } from "react";
3
+ //#region src/sdk/actions/saved-card-action-provider.d.ts
4
+ export type SavedCardActionProviderProps = ActionProviderProps;
5
+ /**
6
+ * Compiler-emitted runtime wrapper for the `savedCard` action namespace, structurally identical to
7
+ * `IdentityActionProvider`: calls `useSavedCardActions` once, narrows it to the declared `methods`,
8
+ * and publishes it through `ActionsOverrideContext`.
9
+ */
10
+ export declare function SavedCardActionProvider(props: SavedCardActionProviderProps): ReactNode;
11
+ //#endregion
12
+ //# sourceMappingURL=saved-card-action-provider.d.ts.map
@@ -0,0 +1,16 @@
1
+ "use client";
2
+ import { useInjectActions } from "./inject-actions.js";
3
+ import { useSavedCardActions } from "../saved-cards/use-saved-card-actions.js";
4
+ //#region src/sdk/actions/saved-card-action-provider.tsx
5
+ /**
6
+ * Compiler-emitted runtime wrapper for the `savedCard` action namespace, structurally identical to
7
+ * `IdentityActionProvider`: calls `useSavedCardActions` once, narrows it to the declared `methods`,
8
+ * and publishes it through `ActionsOverrideContext`.
9
+ */
10
+ function SavedCardActionProvider(props) {
11
+ return useInjectActions("savedCard", useSavedCardActions(), props);
12
+ }
13
+ //#endregion
14
+ export { SavedCardActionProvider };
15
+
16
+ //# sourceMappingURL=saved-card-action-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saved-card-action-provider.js","names":[],"sources":["../../../src/sdk/actions/saved-card-action-provider.tsx"],"sourcesContent":["'use client';\n\nimport type { ReactNode } from 'react';\nimport { useSavedCardActions } from '../saved-cards/use-saved-card-actions.js';\nimport { type ActionProviderProps, useInjectActions } from './inject-actions.js';\n\nexport type SavedCardActionProviderProps = ActionProviderProps;\n\n/**\n * Compiler-emitted runtime wrapper for the `savedCard` action namespace, structurally identical to\n * `IdentityActionProvider`: calls `useSavedCardActions` once, narrows it to the declared `methods`,\n * and publishes it through `ActionsOverrideContext`.\n */\nexport function SavedCardActionProvider(props: SavedCardActionProviderProps): ReactNode {\n return useInjectActions('savedCard', useSavedCardActions(), props);\n}\n"],"mappings":";;;;;;;;;AAaA,SAAgB,wBAAwB,OAAgD;CACtF,OAAO,iBAAiB,aAAa,oBAAoB,GAAG,KAAK;AACnE"}
@@ -1,23 +1,31 @@
1
+ import { AddressActions } from "../address/use-address-actions.js";
1
2
  import { AnalyticsActions } from "../analytics/use-analytics-actions.js";
2
3
  import { CartActions } from "../cart/use-cart-actions.js";
3
4
  import { IdentityActions } from "../identity/use-identity-actions.js";
5
+ import { LocaleActions } from "../locale/use-locale-actions.js";
6
+ import { OrderActions } from "../orders/use-order-actions.js";
4
7
  import { PaymentActions } from "../payment/use-payment-actions.js";
5
8
  import { RegionActions } from "../region/use-region-actions.js";
9
+ import { SavedCardActions } from "../saved-cards/use-saved-card-actions.js";
6
10
  import { SessionActions } from "../session/use-session-actions.js";
7
11
  import { ShippingActions } from "../shipping/use-shipping-actions.js";
8
12
  //#region src/sdk/actions/types.d.ts
9
13
  /**
10
14
  * The `$actions` prop the compiler injects (and `mockAction` builds for tests). Each namespace is
11
15
  * optional and each method is optional within it, because a component only receives the methods it
12
- * declared under `actions: { ... }`. Ships the `analytics`, `cart`, `identity`, `payment`, `region`,
13
- * `session`, and `shipping` namespaces.
16
+ * declared under `actions: { ... }`. Ships the `address`, `analytics`, `cart`, `identity`, `locale`,
17
+ * `order`, `payment`, `region`, `savedCard`, `session`, and `shipping` namespaces.
14
18
  */
15
19
  export type ComponentActions = {
20
+ address?: Partial<AddressActions>;
16
21
  analytics?: Partial<AnalyticsActions>;
17
22
  cart?: Partial<CartActions>;
18
23
  identity?: Partial<IdentityActions>;
24
+ locale?: Partial<LocaleActions>;
25
+ order?: Partial<OrderActions>;
19
26
  payment?: Partial<PaymentActions>;
20
27
  region?: Partial<RegionActions>;
28
+ savedCard?: Partial<SavedCardActions>;
21
29
  session?: Partial<SessionActions>;
22
30
  shipping?: Partial<ShippingActions>;
23
31
  };
@@ -0,0 +1,38 @@
1
+ import { ACCOUNT_MAX_LENGTH, isCountryField } from "./constants.js";
2
+ import { resolveLabelId, resolvePlaceholder } from "./messages.js";
3
+ import { declaredMaxLength, toFormValues } from "./schema.js";
4
+ import { getVisibleFields, resolveFieldInputMode, resolveFieldLabel, resolveFieldOptions, resolveFieldPlaceholder } from "@vtex/country-forms";
5
+ //#region src/sdk/address/address-fields.ts
6
+ /**
7
+ * The fields a country's form shows for the values typed so far, in the form's order. A country the
8
+ * library does not cover lists `street` alone. Labels and placeholders are message ids for the
9
+ * caller's i18n; option labels are proper names and are not translated.
10
+ */
11
+ function addressFields(rules, values) {
12
+ const text = toFormValues(values);
13
+ return getVisibleFields(rules.schema, text).flatMap((field) => {
14
+ const { name, dependsOn } = field;
15
+ if (!isCountryField(name)) return [];
16
+ const inputMode = resolveFieldInputMode(field, text);
17
+ const placeholder = resolvePlaceholder(resolveFieldPlaceholder(field, text), rules.country);
18
+ const options = field.type === "select" ? resolveFieldOptions(field, text) ?? [] : void 0;
19
+ return [{
20
+ name,
21
+ control: field.type === "select" ? "select" : "text",
22
+ required: field.required,
23
+ maxLength: declaredMaxLength(field) ?? ACCOUNT_MAX_LENGTH[name],
24
+ labelId: resolveLabelId(resolveFieldLabel(field, text), name, rules.country),
25
+ ...inputMode && { inputMode },
26
+ ...placeholder && { placeholder },
27
+ ...options && { options: options.map(({ value, displayValue }) => ({
28
+ value,
29
+ label: displayValue
30
+ })) },
31
+ ...dependsOn && isCountryField(dependsOn) && { dependsOn }
32
+ }];
33
+ });
34
+ }
35
+ //#endregion
36
+ export { addressFields };
37
+
38
+ //# sourceMappingURL=address-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address-fields.js","names":[],"sources":["../../../src/sdk/address/address-fields.ts"],"sourcesContent":["import {\n getVisibleFields,\n resolveFieldInputMode,\n resolveFieldLabel,\n resolveFieldOptions,\n resolveFieldPlaceholder,\n} from '@vtex/country-forms';\nimport { ACCOUNT_MAX_LENGTH, isCountryField } from './constants.js';\nimport { resolveLabelId, resolvePlaceholder } from './messages.js';\nimport { declaredMaxLength, toFormValues } from './schema.js';\nimport type { AddressFieldDescriptor, AddressValues, CountryRules } from './types.js';\n\n/**\n * The fields a country's form shows for the values typed so far, in the form's order. A country the\n * library does not cover lists `street` alone. Labels and placeholders are message ids for the\n * caller's i18n; option labels are proper names and are not translated.\n */\nexport function addressFields(rules: CountryRules, values: AddressValues): readonly AddressFieldDescriptor[] {\n const text = toFormValues(values);\n\n return getVisibleFields(rules.schema, text).flatMap((field): AddressFieldDescriptor[] => {\n const { name, dependsOn } = field;\n if (!isCountryField(name)) {\n return [];\n }\n\n const inputMode = resolveFieldInputMode(field, text);\n const placeholder = resolvePlaceholder(resolveFieldPlaceholder(field, text), rules.country);\n const options = field.type === 'select' ? (resolveFieldOptions(field, text) ?? []) : undefined;\n\n return [\n {\n name,\n control: field.type === 'select' ? 'select' : 'text',\n required: field.required,\n maxLength: declaredMaxLength(field) ?? ACCOUNT_MAX_LENGTH[name],\n labelId: resolveLabelId(resolveFieldLabel(field, text), name, rules.country),\n ...(inputMode && { inputMode }),\n ...(placeholder && { placeholder }),\n ...(options && { options: options.map(({ value, displayValue }) => ({ value, label: displayValue })) }),\n ...(dependsOn && isCountryField(dependsOn) && { dependsOn }),\n },\n ];\n });\n}\n"],"mappings":";;;;;;;;;;AAiBA,SAAgB,cAAc,OAAqB,QAA0D;CAC3G,MAAM,OAAO,aAAa,MAAM;CAEhC,OAAO,iBAAiB,MAAM,QAAQ,IAAI,CAAC,CAAC,SAAS,UAAoC;EACvF,MAAM,EAAE,MAAM,cAAc;EAC5B,IAAI,CAAC,eAAe,IAAI,GACtB,OAAO,CAAC;EAGV,MAAM,YAAY,sBAAsB,OAAO,IAAI;EACnD,MAAM,cAAc,mBAAmB,wBAAwB,OAAO,IAAI,GAAG,MAAM,OAAO;EAC1F,MAAM,UAAU,MAAM,SAAS,WAAY,oBAAoB,OAAO,IAAI,KAAK,CAAC,IAAK,KAAA;EAErF,OAAO,CACL;GACE;GACA,SAAS,MAAM,SAAS,WAAW,WAAW;GAC9C,UAAU,MAAM;GAChB,WAAW,kBAAkB,KAAK,KAAK,mBAAmB;GAC1D,SAAS,eAAe,kBAAkB,OAAO,IAAI,GAAG,MAAM,MAAM,OAAO;GAC3E,GAAI,aAAa,EAAE,UAAU;GAC7B,GAAI,eAAe,EAAE,YAAY;GACjC,GAAI,WAAW,EAAE,SAAS,QAAQ,KAAK,EAAE,OAAO,oBAAoB;IAAE;IAAO,OAAO;GAAa,EAAE,EAAE;GACrG,GAAI,aAAa,eAAe,SAAS,KAAK,EAAE,UAAU;EAC5D,CACF;CACF,CAAC;AACH"}
@@ -0,0 +1,17 @@
1
+ import { CHECKOUT_MINIMUMS } from "./constants.js";
2
+ //#region src/sdk/address/checkout-readiness.ts
3
+ /**
4
+ * What the checkout needs in a profile before it offers the shopper's saved addresses. The profile
5
+ * list uses it to warn the shopper, so the notice and the checkout agree on the minimums.
6
+ */
7
+ function checkoutReadiness(profile) {
8
+ const missing = CHECKOUT_MINIMUMS.filter((minimum) => (profile[minimum] ?? "").trim() === "");
9
+ return {
10
+ ready: missing.length === 0,
11
+ missing
12
+ };
13
+ }
14
+ //#endregion
15
+ export { checkoutReadiness };
16
+
17
+ //# sourceMappingURL=checkout-readiness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkout-readiness.js","names":[],"sources":["../../../src/sdk/address/checkout-readiness.ts"],"sourcesContent":["import { CHECKOUT_MINIMUMS } from './constants.js';\nimport type { CheckoutReadiness } from './types.js';\n\n/**\n * What the checkout needs in a profile before it offers the shopper's saved addresses. The profile\n * list uses it to warn the shopper, so the notice and the checkout agree on the minimums.\n */\nexport function checkoutReadiness(profile: Readonly<{ homePhone?: string | null }>): CheckoutReadiness {\n const missing = CHECKOUT_MINIMUMS.filter((minimum) => (profile[minimum] ?? '').trim() === '');\n return { ready: missing.length === 0, missing };\n}\n"],"mappings":";;;;;;AAOA,SAAgB,kBAAkB,SAAqE;CACrG,MAAM,UAAU,kBAAkB,QAAQ,aAAa,QAAQ,YAAY,GAAA,CAAI,KAAK,MAAM,EAAE;CAC5F,OAAO;EAAE,OAAO,QAAQ,WAAW;EAAG;CAAQ;AAChD"}
@@ -0,0 +1,60 @@
1
+ //#region src/sdk/address/constants.ts
2
+ /** In the order a country's form lists them when it does not say otherwise. */
3
+ const COUNTRY_FIELDS = [
4
+ "postalCode",
5
+ "street",
6
+ "number",
7
+ "complement",
8
+ "neighborhood",
9
+ "state",
10
+ "city"
11
+ ];
12
+ const COUNTRY_FIELD_NAMES = new Set(COUNTRY_FIELDS);
13
+ function isCountryField(name) {
14
+ return COUNTRY_FIELD_NAMES.has(name);
15
+ }
16
+ const ACCOUNT_FIELDS = [
17
+ "recipientName",
18
+ "reference",
19
+ "name"
20
+ ];
21
+ const ACCOUNT_FIELD_LABELS = {
22
+ recipientName: "fs/address.field.recipient-name",
23
+ reference: "fs/address.field.reference",
24
+ name: "fs/address.field.name"
25
+ };
26
+ /**
27
+ * Each maximum is at least the largest limit any covered schema declares for that field, and at
28
+ * most the size of the Master Data `AD` column that stores it.
29
+ */
30
+ const ACCOUNT_MAX_LENGTH = {
31
+ recipientName: 200,
32
+ name: 50,
33
+ reference: 750,
34
+ street: 750,
35
+ number: 750,
36
+ complement: 750,
37
+ neighborhood: 100,
38
+ city: 100,
39
+ state: 100,
40
+ postalCode: 20
41
+ };
42
+ /** What the checkout needs in a profile before it offers the shopper's saved addresses. */
43
+ const CHECKOUT_MINIMUMS = ["homePhone"];
44
+ /**
45
+ * Countries for which the checkout's postal-code lookup filled at least the city and the state of a
46
+ * valid sample code. An unknown code is an empty success, so a country missing here costs nothing.
47
+ */
48
+ const POSTAL_CODE_LOOKUP_COUNTRIES = [
49
+ "ARG",
50
+ "BRA",
51
+ "CAN",
52
+ "ESP",
53
+ "FRA",
54
+ "MEX",
55
+ "USA"
56
+ ];
57
+ //#endregion
58
+ export { ACCOUNT_FIELDS, ACCOUNT_FIELD_LABELS, ACCOUNT_MAX_LENGTH, CHECKOUT_MINIMUMS, COUNTRY_FIELDS, POSTAL_CODE_LOOKUP_COUNTRIES, isCountryField };
59
+
60
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","names":[],"sources":["../../../src/sdk/address/constants.ts"],"sourcesContent":["import type { MessageId } from '../i18n/client.js';\nimport type { AccountFieldName, AddressFieldName, CheckoutMinimum, CountryFieldName } from './types.js';\n\n/** In the order a country's form lists them when it does not say otherwise. */\nexport const COUNTRY_FIELDS: readonly CountryFieldName[] = [\n 'postalCode',\n 'street',\n 'number',\n 'complement',\n 'neighborhood',\n 'state',\n 'city',\n];\n\nconst COUNTRY_FIELD_NAMES: ReadonlySet<string> = new Set(COUNTRY_FIELDS);\n\nexport function isCountryField(name: string): name is CountryFieldName {\n return COUNTRY_FIELD_NAMES.has(name);\n}\n\nexport const ACCOUNT_FIELDS: readonly AccountFieldName[] = ['recipientName', 'reference', 'name'];\n\nexport const ACCOUNT_FIELD_LABELS: Readonly<Record<AccountFieldName, MessageId>> = {\n recipientName: 'fs/address.field.recipient-name',\n reference: 'fs/address.field.reference',\n name: 'fs/address.field.name',\n};\n\n/**\n * Each maximum is at least the largest limit any covered schema declares for that field, and at\n * most the size of the Master Data `AD` column that stores it.\n */\nexport const ACCOUNT_MAX_LENGTH: Readonly<Record<AddressFieldName, number>> = {\n recipientName: 200,\n name: 50,\n reference: 750,\n street: 750,\n number: 750,\n complement: 750,\n neighborhood: 100,\n city: 100,\n state: 100,\n postalCode: 20,\n};\n\n/** What the checkout needs in a profile before it offers the shopper's saved addresses. */\nexport const CHECKOUT_MINIMUMS: readonly CheckoutMinimum[] = ['homePhone'];\n\n/**\n * Countries for which the checkout's postal-code lookup filled at least the city and the state of a\n * valid sample code. An unknown code is an empty success, so a country missing here costs nothing.\n */\nexport const POSTAL_CODE_LOOKUP_COUNTRIES: readonly string[] = ['ARG', 'BRA', 'CAN', 'ESP', 'FRA', 'MEX', 'USA'];\n"],"mappings":";;AAIA,MAAa,iBAA8C;CACzD;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,sBAA2C,IAAI,IAAI,cAAc;AAEvE,SAAgB,eAAe,MAAwC;CACrE,OAAO,oBAAoB,IAAI,IAAI;AACrC;AAEA,MAAa,iBAA8C;CAAC;CAAiB;CAAa;AAAM;AAEhG,MAAa,uBAAsE;CACjF,eAAe;CACf,WAAW;CACX,MAAM;AACR;;;;;AAMA,MAAa,qBAAiE;CAC5E,eAAe;CACf,MAAM;CACN,WAAW;CACX,QAAQ;CACR,QAAQ;CACR,YAAY;CACZ,cAAc;CACd,MAAM;CACN,OAAO;CACP,YAAY;AACd;;AAGA,MAAa,oBAAgD,CAAC,WAAW;;;;;AAMzE,MAAa,+BAAkD;CAAC;CAAO;CAAO;CAAO;CAAO;CAAO;CAAO;AAAK"}
@@ -0,0 +1,19 @@
1
+ import { ALPHA2_BY_ALPHA3 } from "./iso-countries.js";
2
+ //#region src/sdk/address/country-display.ts
3
+ /**
4
+ * The name of an address's country, in the locale the formatter was built for. The code an address
5
+ * stores is ISO 3166-1 alpha-3, which `Intl.DisplayNames` rejects, so it goes through the alpha-2
6
+ * table first. A code the table does not know, or one the formatter has no name for, shows as the
7
+ * code, so a shopper still sees which country it is. An empty code has no country and gives `null`.
8
+ */
9
+ function countryDisplayName(code, displayName) {
10
+ const trimmed = (code ?? "").trim();
11
+ if (trimmed === "") return null;
12
+ const alpha2 = ALPHA2_BY_ALPHA3[trimmed.toUpperCase()];
13
+ if (alpha2 === void 0) return trimmed;
14
+ return displayName(alpha2, { type: "region" }) ?? trimmed;
15
+ }
16
+ //#endregion
17
+ export { countryDisplayName };
18
+
19
+ //# sourceMappingURL=country-display.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"country-display.js","names":[],"sources":["../../../src/sdk/address/country-display.ts"],"sourcesContent":["import { ALPHA2_BY_ALPHA3 } from './iso-countries.js';\n\ntype DisplayName = (code: string, options: Intl.DisplayNamesOptions) => string | undefined;\n\n/**\n * The name of an address's country, in the locale the formatter was built for. The code an address\n * stores is ISO 3166-1 alpha-3, which `Intl.DisplayNames` rejects, so it goes through the alpha-2\n * table first. A code the table does not know, or one the formatter has no name for, shows as the\n * code, so a shopper still sees which country it is. An empty code has no country and gives `null`.\n */\nexport function countryDisplayName(code: string | null | undefined, displayName: DisplayName): string | null {\n const trimmed = (code ?? '').trim();\n if (trimmed === '') return null;\n\n const alpha2 = ALPHA2_BY_ALPHA3[trimmed.toUpperCase()];\n if (alpha2 === undefined) return trimmed;\n\n return displayName(alpha2, { type: 'region' }) ?? trimmed;\n}\n"],"mappings":";;;;;;;;AAUA,SAAgB,mBAAmB,MAAiC,aAAyC;CAC3G,MAAM,WAAW,QAAQ,GAAA,CAAI,KAAK;CAClC,IAAI,YAAY,IAAI,OAAO;CAE3B,MAAM,SAAS,iBAAiB,QAAQ,YAAY;CACpD,IAAI,WAAW,KAAA,GAAW,OAAO;CAEjC,OAAO,YAAY,QAAQ,EAAE,MAAM,SAAS,CAAC,KAAK;AACpD"}
@@ -0,0 +1,30 @@
1
+ import { SUPPORTED_ADDRESS_COUNTRIES, loadSchema } from "@vtex/country-forms";
2
+ //#region src/sdk/address/country-rules.ts
3
+ const rulesByCountry = /* @__PURE__ */ new Map();
4
+ /**
5
+ * Loads the address rules of a country. This is the only asynchronous step of the module: the
6
+ * library ships one chunk per country, some of them large (about 350 KB for BRA, 1.3 MB for ARG),
7
+ * so call it once the country is known. Every other function takes the result.
8
+ *
9
+ * A country the library does not cover gets the library's own fallback form. A load that fails is
10
+ * not remembered, so the next call imports the chunk again.
11
+ */
12
+ function loadCountryRules(country) {
13
+ const code = country.trim().toUpperCase();
14
+ const cached = rulesByCountry.get(code);
15
+ if (cached) return cached;
16
+ const pending = loadSchema(code, "address").then((schema) => ({
17
+ country: code,
18
+ covered: SUPPORTED_ADDRESS_COUNTRIES.includes(code),
19
+ schema
20
+ }));
21
+ rulesByCountry.set(code, pending);
22
+ pending.catch(() => {
23
+ if (rulesByCountry.get(code) === pending) rulesByCountry.delete(code);
24
+ });
25
+ return pending;
26
+ }
27
+ //#endregion
28
+ export { loadCountryRules };
29
+
30
+ //# sourceMappingURL=country-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"country-rules.js","names":[],"sources":["../../../src/sdk/address/country-rules.ts"],"sourcesContent":["import { loadSchema, SUPPORTED_ADDRESS_COUNTRIES } from '@vtex/country-forms';\nimport type { CountryRules } from './types.js';\n\nconst rulesByCountry = new Map<string, Promise<CountryRules>>();\n\n/**\n * Loads the address rules of a country. This is the only asynchronous step of the module: the\n * library ships one chunk per country, some of them large (about 350 KB for BRA, 1.3 MB for ARG),\n * so call it once the country is known. Every other function takes the result.\n *\n * A country the library does not cover gets the library's own fallback form. A load that fails is\n * not remembered, so the next call imports the chunk again.\n */\nexport function loadCountryRules(country: string): Promise<CountryRules> {\n const code = country.trim().toUpperCase();\n const cached = rulesByCountry.get(code);\n if (cached) {\n return cached;\n }\n\n const pending = loadSchema(code, 'address').then(\n (schema): CountryRules => ({ country: code, covered: SUPPORTED_ADDRESS_COUNTRIES.includes(code), schema }),\n );\n rulesByCountry.set(code, pending);\n pending.catch(() => {\n if (rulesByCountry.get(code) === pending) {\n rulesByCountry.delete(code);\n }\n });\n return pending;\n}\n"],"mappings":";;AAGA,MAAM,iCAAiB,IAAI,IAAmC;;;;;;;;;AAU9D,SAAgB,iBAAiB,SAAwC;CACvE,MAAM,OAAO,QAAQ,KAAK,CAAC,CAAC,YAAY;CACxC,MAAM,SAAS,eAAe,IAAI,IAAI;CACtC,IAAI,QACF,OAAO;CAGT,MAAM,UAAU,WAAW,MAAM,SAAS,CAAC,CAAC,MACzC,YAA0B;EAAE,SAAS;EAAM,SAAS,4BAA4B,SAAS,IAAI;EAAG;CAAO,EAC1G;CACA,eAAe,IAAI,MAAM,OAAO;CAChC,QAAQ,YAAY;EAClB,IAAI,eAAe,IAAI,IAAI,MAAM,SAC/B,eAAe,OAAO,IAAI;CAE9B,CAAC;CACD,OAAO;AACT"}
@@ -0,0 +1,18 @@
1
+ import { ADDRESS_LAYOUTS, DEFAULT_LAYOUT } from "./layouts.js";
2
+ //#region src/sdk/address/format-address.ts
3
+ /**
4
+ * Orders an address into the lines its country prints, as fields and separators for the list to
5
+ * compose. It keeps only fields that hold a value, prints a separator only between two kept fields
6
+ * of one line, and drops a line left empty. It is synchronous and loads no schema, so a list of
7
+ * addresses renders without waiting on a country.
8
+ */
9
+ function formatAddress(values, country) {
10
+ return (ADDRESS_LAYOUTS[country.trim().toUpperCase()] ?? DEFAULT_LAYOUT).flatMap((line) => {
11
+ const present = line.filter(({ field }) => (values[field] ?? "").trim() !== "");
12
+ return present.length === 0 ? [] : [present.map((part, index) => index === 0 ? { field: part.field } : part)];
13
+ });
14
+ }
15
+ //#endregion
16
+ export { formatAddress };
17
+
18
+ //# sourceMappingURL=format-address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-address.js","names":[],"sources":["../../../src/sdk/address/format-address.ts"],"sourcesContent":["import { ADDRESS_LAYOUTS, DEFAULT_LAYOUT } from './layouts.js';\nimport type { AddressDisplayLine, AddressValues } from './types.js';\n\n/**\n * Orders an address into the lines its country prints, as fields and separators for the list to\n * compose. It keeps only fields that hold a value, prints a separator only between two kept fields\n * of one line, and drops a line left empty. It is synchronous and loads no schema, so a list of\n * addresses renders without waiting on a country.\n */\nexport function formatAddress(values: AddressValues, country: string): readonly AddressDisplayLine[] {\n const layout = ADDRESS_LAYOUTS[country.trim().toUpperCase()] ?? DEFAULT_LAYOUT;\n\n return layout.flatMap((line) => {\n const present = line.filter(({ field }) => (values[field] ?? '').trim() !== '');\n return present.length === 0 ? [] : [present.map((part, index) => (index === 0 ? { field: part.field } : part))];\n });\n}\n"],"mappings":";;;;;;;;AASA,SAAgB,cAAc,QAAuB,SAAgD;CAGnG,QAFe,gBAAgB,QAAQ,KAAK,CAAC,CAAC,YAAY,MAAM,eAAA,CAElD,SAAS,SAAS;EAC9B,MAAM,UAAU,KAAK,QAAQ,EAAE,aAAa,OAAO,UAAU,GAAA,CAAI,KAAK,MAAM,EAAE;EAC9E,OAAO,QAAQ,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,UAAW,UAAU,IAAI,EAAE,OAAO,KAAK,MAAM,IAAI,IAAK,CAAC;CAChH,CAAC;AACH"}