@vtex/faststore 0.0.10 → 0.0.11

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 (506) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +0 -1
  3. package/dist/actions.json +6 -1
  4. package/dist/catalog.json +789 -1701
  5. package/dist/cli/index.d.ts +66 -28
  6. package/dist/cli/index.js +7371 -512
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/cli/server-runtime.js +41 -60
  9. package/dist/cli/server-runtime.js.map +1 -1
  10. package/dist/client.d.ts +3 -3
  11. package/dist/client.js +2 -2
  12. package/dist/components.d.ts +63 -57
  13. package/dist/components.js +60 -54
  14. package/dist/content-types.json +5785 -754
  15. package/dist/core/dist/define-component.d.ts +1 -1
  16. package/dist/core/dist/define-content-type.d.ts +50 -2
  17. package/dist/core/dist/define-content-type.js +107 -3
  18. package/dist/core/dist/define-content-type.js.map +1 -1
  19. package/dist/core/dist/index.d.ts +2 -2
  20. package/dist/docs/access-code-field.md +1 -1
  21. package/dist/docs/access-code-sign-in.md +126 -77
  22. package/dist/docs/account-address-book.md +210 -95
  23. package/dist/docs/account-menu.md +14 -15
  24. package/dist/docs/account-saved-cards.md +44 -39
  25. package/dist/docs/alert-dialog.md +3 -1
  26. package/dist/docs/avatar.md +4 -2
  27. package/dist/docs/billing-address.md +99 -30
  28. package/dist/docs/binding-switcher.md +5 -2
  29. package/dist/docs/buy-button.md +7 -8
  30. package/dist/docs/card-entry.md +39 -26
  31. package/dist/docs/card-summary.md +18 -8
  32. package/dist/docs/cardholder-document.md +5 -3
  33. package/dist/docs/carousel.md +5 -4
  34. package/dist/docs/cart-destination.md +39 -26
  35. package/dist/docs/cart-item.md +29 -14
  36. package/dist/docs/cart-totalizer.md +7 -5
  37. package/dist/docs/cart.md +135 -41
  38. package/dist/docs/challenge-return.md +135 -0
  39. package/dist/docs/client-preferences-fieldset.md +10 -5
  40. package/dist/docs/client-preferences.md +31 -8
  41. package/dist/docs/client-profile-fieldset.md +20 -6
  42. package/dist/docs/client-profile.md +12 -3
  43. package/dist/docs/copy-text.md +9 -7
  44. package/dist/docs/document-field.md +1 -1
  45. package/dist/docs/email-field.md +2 -1
  46. package/dist/docs/email-identification.md +12 -2
  47. package/dist/docs/footer-copyright.md +4 -2
  48. package/dist/docs/form.md +54 -18
  49. package/dist/docs/free-shipping-progress.md +6 -5
  50. package/dist/docs/identity-edit.md +8 -2
  51. package/dist/docs/identity-summary.md +18 -5
  52. package/dist/docs/installments.md +46 -32
  53. package/dist/docs/my-account-profile.md +16 -11
  54. package/dist/docs/navigation-link.md +5 -3
  55. package/dist/docs/order-cancel.md +3 -1
  56. package/dist/docs/order-delivery-address.md +7 -5
  57. package/dist/docs/order-delivery-group.md +1 -3
  58. package/dist/docs/order-details-back.md +1 -1
  59. package/dist/docs/order-details-header.md +1 -4
  60. package/dist/docs/order-invoice-download.md +60 -0
  61. package/dist/docs/order-list-row.md +1 -1
  62. package/dist/docs/order-list-search.md +13 -20
  63. package/dist/docs/order-list-views.md +11 -17
  64. package/dist/docs/order-list.md +12 -5
  65. package/dist/docs/order-payment.md +9 -7
  66. package/dist/docs/order-placed-date.md +1 -1
  67. package/dist/docs/order-placed-payment-summary.md +28 -15
  68. package/dist/docs/order-placed.md +49 -14
  69. package/dist/docs/order-progress.md +1 -1
  70. package/dist/docs/order-status-badge.md +20 -9
  71. package/dist/docs/order-summary.md +2 -2
  72. package/dist/docs/order-tracking-link.md +58 -0
  73. package/dist/docs/payment-method-badges.md +30 -4
  74. package/dist/docs/payment-methods.md +1 -1
  75. package/dist/docs/payment.md +36 -17
  76. package/dist/docs/phone-field.md +4 -4
  77. package/dist/docs/place-order.md +84 -36
  78. package/dist/docs/postal-code-field.md +3 -1
  79. package/dist/docs/pricing.md +21 -23
  80. package/dist/docs/product-gallery.md +19 -20
  81. package/dist/docs/product-information.md +13 -9
  82. package/dist/docs/product-list.md +7 -6
  83. package/dist/docs/product-shelf.md +0 -1
  84. package/dist/docs/promotion.md +4 -2
  85. package/dist/docs/region.md +23 -15
  86. package/dist/docs/save-card.md +7 -6
  87. package/dist/docs/saved-cards.md +65 -36
  88. package/dist/docs/shipping-address.md +57 -21
  89. package/dist/docs/shipping-simulator.md +53 -15
  90. package/dist/docs/sign-in-disclosure.md +176 -0
  91. package/dist/docs/sign-in-form.md +78 -47
  92. package/dist/docs/sign-in-redirect.md +4 -2
  93. package/dist/docs/sign-in.md +173 -0
  94. package/dist/docs/toast.md +15 -4
  95. package/dist/docs/variant-selector.md +15 -11
  96. package/dist/graphql/types.d.ts +4 -14
  97. package/dist/index.d.ts +2 -2
  98. package/dist/internal/client.d.ts +1 -3
  99. package/dist/internal/client.js +1 -1
  100. package/dist/internal/server.d.ts +7 -4
  101. package/dist/internal/server.js +7 -4
  102. package/dist/matter/access-code-sign-in/access-code-sign-in.d.ts +250 -66
  103. package/dist/matter/access-code-sign-in/access-code-sign-in.js +459 -188
  104. package/dist/matter/access-code-sign-in/access-code-sign-in.js.map +1 -1
  105. package/dist/matter/account-address-book/account-address-book-delete.d.ts +78 -40
  106. package/dist/matter/account-address-book/account-address-book-delete.js +86 -50
  107. package/dist/matter/account-address-book/account-address-book-delete.js.map +1 -1
  108. package/dist/matter/account-address-book/account-address-book-deliverability.d.ts +21 -4
  109. package/dist/matter/account-address-book/account-address-book-deliverability.js +45 -17
  110. package/dist/matter/account-address-book/account-address-book-deliverability.js.map +1 -1
  111. package/dist/matter/account-address-book/account-address-book-form-parts.d.ts +74 -19
  112. package/dist/matter/account-address-book/account-address-book-form-parts.js +77 -26
  113. package/dist/matter/account-address-book/account-address-book-form-parts.js.map +1 -1
  114. package/dist/matter/account-address-book/account-address-book-profile-notice.d.ts +27 -6
  115. package/dist/matter/account-address-book/account-address-book-profile-notice.js +55 -28
  116. package/dist/matter/account-address-book/account-address-book-profile-notice.js.map +1 -1
  117. package/dist/matter/account-address-book/account-address-book.d.ts +67 -14
  118. package/dist/matter/account-address-book/account-address-book.js +74 -33
  119. package/dist/matter/account-address-book/account-address-book.js.map +1 -1
  120. package/dist/matter/account-address-book/account-address-country-switch.js +3 -3
  121. package/dist/matter/account-address-book/account-address-country-switch.js.map +1 -1
  122. package/dist/matter/account-address-book/account-address-country.d.ts +66 -20
  123. package/dist/matter/account-address-book/account-address-country.js +83 -49
  124. package/dist/matter/account-address-book/account-address-country.js.map +1 -1
  125. package/dist/matter/account-address-book/account-address-form-context.d.ts +8 -4
  126. package/dist/matter/account-address-book/account-address-form-context.js.map +1 -1
  127. package/dist/matter/account-address-book/account-address-form.d.ts +468 -45
  128. package/dist/matter/account-address-book/account-address-form.js +518 -155
  129. package/dist/matter/account-address-book/account-address-form.js.map +1 -1
  130. package/dist/matter/account-address-book/account-address-record.d.ts +27 -6
  131. package/dist/matter/account-address-book/account-address-record.js +32 -17
  132. package/dist/matter/account-address-book/account-address-record.js.map +1 -1
  133. package/dist/matter/account-menu/account-menu.d.ts +34 -17
  134. package/dist/matter/account-menu/account-menu.js +46 -54
  135. package/dist/matter/account-menu/account-menu.js.map +1 -1
  136. package/dist/matter/account-menu-identity/account-menu-identity.js +1 -1
  137. package/dist/matter/account-saved-cards/account-saved-cards.d.ts +108 -28
  138. package/dist/matter/account-saved-cards/account-saved-cards.js +177 -122
  139. package/dist/matter/account-saved-cards/account-saved-cards.js.map +1 -1
  140. package/dist/matter/billing-address/billing-address.d.ts +156 -74
  141. package/dist/matter/billing-address/billing-address.js +227 -156
  142. package/dist/matter/billing-address/billing-address.js.map +1 -1
  143. package/dist/matter/breadcrumb/breadcrumb.d.ts +21 -3
  144. package/dist/matter/breadcrumb/breadcrumb.js +24 -9
  145. package/dist/matter/breadcrumb/breadcrumb.js.map +1 -1
  146. package/dist/matter/buy-button/buy-button.d.ts +8 -11
  147. package/dist/matter/buy-button/buy-button.js +10 -19
  148. package/dist/matter/buy-button/buy-button.js.map +1 -1
  149. package/dist/matter/card-entry/card-capture.js +12 -4
  150. package/dist/matter/card-entry/card-capture.js.map +1 -1
  151. package/dist/matter/card-entry/card-entry.d.ts +123 -32
  152. package/dist/matter/card-entry/card-entry.js +348 -221
  153. package/dist/matter/card-entry/card-entry.js.map +1 -1
  154. package/dist/matter/cart/cart-namespace.d.ts +7 -1
  155. package/dist/matter/cart/cart-namespace.js +7 -1
  156. package/dist/matter/cart/cart-namespace.js.map +1 -1
  157. package/dist/matter/cart/cart.d.ts +402 -61
  158. package/dist/matter/cart/cart.js +624 -153
  159. package/dist/matter/cart/cart.js.map +1 -1
  160. package/dist/matter/cart-destination/cart-destination.d.ts +30 -19
  161. package/dist/matter/cart-destination/cart-destination.js +160 -70
  162. package/dist/matter/cart-destination/cart-destination.js.map +1 -1
  163. package/dist/matter/cart-item/cart-item.d.ts +144 -17
  164. package/dist/matter/cart-item/cart-item.js +166 -49
  165. package/dist/matter/cart-item/cart-item.js.map +1 -1
  166. package/dist/matter/cart-item-compositions/cart-item-compositions.js +1 -1
  167. package/dist/matter/cart-item-compositions/cart-item-compositions.js.map +1 -1
  168. package/dist/matter/cart-item-customizations/cart-item-customizations.js +1 -1
  169. package/dist/matter/cart-item-customizations/cart-item-customizations.js.map +1 -1
  170. package/dist/matter/cart-item-discounts/cart-item-discounts.js +1 -1
  171. package/dist/matter/cart-item-discounts/cart-item-discounts.js.map +1 -1
  172. package/dist/matter/cart-item-seller-info/cart-item-seller-info.js +1 -1
  173. package/dist/matter/cart-item-seller-info/cart-item-seller-info.js.map +1 -1
  174. package/dist/matter/cart-item-variations/cart-item-variations.js +1 -1
  175. package/dist/matter/cart-item-variations/cart-item-variations.js.map +1 -1
  176. package/dist/matter/cart-totalizer/cart-totalizer.d.ts +43 -9
  177. package/dist/matter/cart-totalizer/cart-totalizer.js +46 -17
  178. package/dist/matter/cart-totalizer/cart-totalizer.js.map +1 -1
  179. package/dist/matter/challenge-return/challenge-return.d.ts +62 -0
  180. package/dist/matter/challenge-return/challenge-return.js +241 -0
  181. package/dist/matter/challenge-return/challenge-return.js.map +1 -0
  182. package/dist/matter/client-preferences/client-preferences-fieldset.d.ts +86 -17
  183. package/dist/matter/client-preferences/client-preferences-fieldset.js +126 -54
  184. package/dist/matter/client-preferences/client-preferences-fieldset.js.map +1 -1
  185. package/dist/matter/client-preferences/client-preferences.d.ts +50 -7
  186. package/dist/matter/client-preferences/client-preferences.js +84 -15
  187. package/dist/matter/client-preferences/client-preferences.js.map +1 -1
  188. package/dist/matter/client-profile/client-profile.d.ts +44 -9
  189. package/dist/matter/client-profile/client-profile.js +64 -24
  190. package/dist/matter/client-profile/client-profile.js.map +1 -1
  191. package/dist/matter/client-profile-form/client-profile-fieldset.d.ts +119 -22
  192. package/dist/matter/client-profile-form/client-profile-fieldset.js +161 -73
  193. package/dist/matter/client-profile-form/client-profile-fieldset.js.map +1 -1
  194. package/dist/matter/delivery-options/delivery-options-accordion.d.ts +49 -4
  195. package/dist/matter/delivery-options/delivery-options-accordion.js +67 -14
  196. package/dist/matter/delivery-options/delivery-options-accordion.js.map +1 -1
  197. package/dist/matter/delivery-options/delivery-options-controller.d.ts +69 -9
  198. package/dist/matter/delivery-options/delivery-options-controller.js +80 -14
  199. package/dist/matter/delivery-options/delivery-options-controller.js.map +1 -1
  200. package/dist/matter/delivery-options/delivery-options.d.ts +37 -2
  201. package/dist/matter/delivery-options/delivery-options.js +75 -12
  202. package/dist/matter/delivery-options/delivery-options.js.map +1 -1
  203. package/dist/matter/delivery-options/use-delivery-option-selection.d.ts +1 -0
  204. package/dist/matter/delivery-options/use-delivery-option-selection.js +1 -1
  205. package/dist/matter/delivery-options/use-delivery-option-selection.js.map +1 -1
  206. package/dist/matter/email-identification/email-identification.d.ts +25 -3
  207. package/dist/matter/email-identification/email-identification.js +49 -12
  208. package/dist/matter/email-identification/email-identification.js.map +1 -1
  209. package/dist/matter/free-shipping-progress/free-shipping-progress.d.ts +79 -7
  210. package/dist/matter/free-shipping-progress/free-shipping-progress.js +77 -20
  211. package/dist/matter/free-shipping-progress/free-shipping-progress.js.map +1 -1
  212. package/dist/matter/identity-edit/identity-edit.d.ts +52 -10
  213. package/dist/matter/identity-edit/identity-edit.js +47 -19
  214. package/dist/matter/identity-edit/identity-edit.js.map +1 -1
  215. package/dist/matter/identity-summary/identity-summary.d.ts +76 -22
  216. package/dist/matter/identity-summary/identity-summary.js +95 -45
  217. package/dist/matter/identity-summary/identity-summary.js.map +1 -1
  218. package/dist/matter/installments/installments-select.d.ts +98 -16
  219. package/dist/matter/installments/installments-select.js +156 -48
  220. package/dist/matter/installments/installments-select.js.map +1 -1
  221. package/dist/matter/installments/installments.d.ts +96 -16
  222. package/dist/matter/installments/installments.js +115 -40
  223. package/dist/matter/installments/installments.js.map +1 -1
  224. package/dist/matter/installments/use-installments-selection.d.ts +1 -0
  225. package/dist/matter/installments/use-installments-selection.js +8 -3
  226. package/dist/matter/installments/use-installments-selection.js.map +1 -1
  227. package/dist/matter/my-account-profile/my-account-profile.d.ts +358 -103
  228. package/dist/matter/my-account-profile/my-account-profile.js +370 -174
  229. package/dist/matter/my-account-profile/my-account-profile.js.map +1 -1
  230. package/dist/matter/order-cancel/order-cancel.d.ts +65 -19
  231. package/dist/matter/order-cancel/order-cancel.js +118 -51
  232. package/dist/matter/order-cancel/order-cancel.js.map +1 -1
  233. package/dist/matter/order-delivery-address/order-delivery-address.d.ts +8 -18
  234. package/dist/matter/order-delivery-address/order-delivery-address.js +14 -23
  235. package/dist/matter/order-delivery-address/order-delivery-address.js.map +1 -1
  236. package/dist/matter/order-delivery-group/order-delivery-group.d.ts +40 -24
  237. package/dist/matter/order-delivery-group/order-delivery-group.js +64 -74
  238. package/dist/matter/order-delivery-group/order-delivery-group.js.map +1 -1
  239. package/dist/matter/order-details-header/order-details-header.d.ts +32 -15
  240. package/dist/matter/order-details-header/order-details-header.js +66 -58
  241. package/dist/matter/order-details-header/order-details-header.js.map +1 -1
  242. package/dist/matter/order-invoice-download/order-invoice-download.d.ts +78 -0
  243. package/dist/matter/order-invoice-download/order-invoice-download.js +173 -0
  244. package/dist/matter/order-invoice-download/order-invoice-download.js.map +1 -0
  245. package/dist/matter/order-list/order-list.d.ts +164 -19
  246. package/dist/matter/order-list/order-list.js +229 -87
  247. package/dist/matter/order-list/order-list.js.map +1 -1
  248. package/dist/matter/order-list-row/order-list-row.d.ts +6 -1
  249. package/dist/matter/order-list-row/order-list-row.js +3 -2
  250. package/dist/matter/order-list-row/order-list-row.js.map +1 -1
  251. package/dist/matter/order-list-search/order-list-search.d.ts +18 -26
  252. package/dist/matter/order-list-search/order-list-search.js +30 -69
  253. package/dist/matter/order-list-search/order-list-search.js.map +1 -1
  254. package/dist/matter/order-list-views/order-list-views.d.ts +15 -22
  255. package/dist/matter/order-list-views/order-list-views.js +22 -68
  256. package/dist/matter/order-list-views/order-list-views.js.map +1 -1
  257. package/dist/matter/order-payment/order-payment.d.ts +33 -10
  258. package/dist/matter/order-payment/order-payment.js +44 -39
  259. package/dist/matter/order-payment/order-payment.js.map +1 -1
  260. package/dist/matter/order-placed/order-placed-deliveries.d.ts +144 -12
  261. package/dist/matter/order-placed/order-placed-deliveries.js +115 -40
  262. package/dist/matter/order-placed/order-placed-deliveries.js.map +1 -1
  263. package/dist/matter/order-placed/order-placed.d.ts +198 -31
  264. package/dist/matter/order-placed/order-placed.js +230 -139
  265. package/dist/matter/order-placed/order-placed.js.map +1 -1
  266. package/dist/matter/order-placed-date/order-placed-date.d.ts +5 -8
  267. package/dist/matter/order-placed-date/order-placed-date.js +7 -8
  268. package/dist/matter/order-placed-date/order-placed-date.js.map +1 -1
  269. package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.d.ts +90 -17
  270. package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.js +93 -117
  271. package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.js.map +1 -1
  272. package/dist/matter/order-progress/order-progress.d.ts +19 -8
  273. package/dist/matter/order-progress/order-progress.js +37 -45
  274. package/dist/matter/order-progress/order-progress.js.map +1 -1
  275. package/dist/matter/order-summary/order-summary.d.ts +19 -9
  276. package/dist/matter/order-summary/order-summary.js +38 -44
  277. package/dist/matter/order-summary/order-summary.js.map +1 -1
  278. package/dist/matter/order-tracking-link/order-tracking-link.d.ts +43 -0
  279. package/dist/matter/order-tracking-link/order-tracking-link.js +107 -0
  280. package/dist/matter/order-tracking-link/order-tracking-link.js.map +1 -0
  281. package/dist/matter/payment/payment-card-capture.js +17 -10
  282. package/dist/matter/payment/payment-card-capture.js.map +1 -1
  283. package/dist/matter/payment/payment-controller.d.ts +4 -2
  284. package/dist/matter/payment/payment-controller.js +30 -9
  285. package/dist/matter/payment/payment-controller.js.map +1 -1
  286. package/dist/matter/payment/payment-method-badges.js +1 -1
  287. package/dist/matter/payment/payment.d.ts +69 -19
  288. package/dist/matter/payment/payment.js +101 -35
  289. package/dist/matter/payment/payment.js.map +1 -1
  290. package/dist/matter/payment/use-payment-method-selection.d.ts +25 -4
  291. package/dist/matter/payment/use-payment-method-selection.js +94 -32
  292. package/dist/matter/payment/use-payment-method-selection.js.map +1 -1
  293. package/dist/matter/payment/use-payment-submit-gate.d.ts +14 -3
  294. package/dist/matter/payment/use-payment-submit-gate.js +47 -8
  295. package/dist/matter/payment/use-payment-submit-gate.js.map +1 -1
  296. package/dist/matter/place-order/place-order.d.ts +171 -57
  297. package/dist/matter/place-order/place-order.js +376 -185
  298. package/dist/matter/place-order/place-order.js.map +1 -1
  299. package/dist/matter/pricing/pricing.d.ts +152 -13
  300. package/dist/matter/pricing/pricing.js +153 -52
  301. package/dist/matter/pricing/pricing.js.map +1 -1
  302. package/dist/matter/product-information/product-information.d.ts +27 -4
  303. package/dist/matter/product-information/product-information.js +32 -15
  304. package/dist/matter/product-information/product-information.js.map +1 -1
  305. package/dist/matter/product-list/product-list.d.ts +24 -6
  306. package/dist/matter/product-list/product-list.js +32 -26
  307. package/dist/matter/product-list/product-list.js.map +1 -1
  308. package/dist/matter/product-shelf/product-shelf.d.ts +1 -3
  309. package/dist/matter/product-shelf/product-shelf.js +2 -15
  310. package/dist/matter/product-shelf/product-shelf.js.map +1 -1
  311. package/dist/matter/region/region.d.ts +33 -16
  312. package/dist/matter/region/region.js +59 -52
  313. package/dist/matter/region/region.js.map +1 -1
  314. package/dist/matter/save-card/save-card.d.ts +43 -8
  315. package/dist/matter/save-card/save-card.js +61 -23
  316. package/dist/matter/save-card/save-card.js.map +1 -1
  317. package/dist/matter/saved-cards/saved-cards.d.ts +113 -21
  318. package/dist/matter/saved-cards/saved-cards.js +349 -77
  319. package/dist/matter/saved-cards/saved-cards.js.map +1 -1
  320. package/dist/matter/shipping-address/address-payload.js +25 -0
  321. package/dist/matter/shipping-address/address-payload.js.map +1 -0
  322. package/dist/matter/shipping-address/country-descriptors.js +71 -71
  323. package/dist/matter/shipping-address/country-descriptors.js.map +1 -1
  324. package/dist/matter/shipping-address/library-country-descriptors.js +136 -0
  325. package/dist/matter/shipping-address/library-country-descriptors.js.map +1 -0
  326. package/dist/matter/shipping-address/shipping-address.d.ts +312 -45
  327. package/dist/matter/shipping-address/shipping-address.js +443 -188
  328. package/dist/matter/shipping-address/shipping-address.js.map +1 -1
  329. package/dist/matter/shipping-simulator/shipping-simulator.d.ts +250 -24
  330. package/dist/matter/shipping-simulator/shipping-simulator.js +257 -51
  331. package/dist/matter/shipping-simulator/shipping-simulator.js.map +1 -1
  332. package/dist/matter/sign-in/sign-in.d.ts +108 -0
  333. package/dist/matter/sign-in/sign-in.js +285 -0
  334. package/dist/matter/sign-in/sign-in.js.map +1 -0
  335. package/dist/matter/sign-in-disclosure/sign-in-disclosure.d.ts +81 -0
  336. package/dist/matter/sign-in-disclosure/sign-in-disclosure.js +232 -0
  337. package/dist/matter/sign-in-disclosure/sign-in-disclosure.js.map +1 -0
  338. package/dist/matter/sign-in-form/sign-in-form.d.ts +93 -62
  339. package/dist/matter/sign-in-form/sign-in-form.js +134 -144
  340. package/dist/matter/sign-in-form/sign-in-form.js.map +1 -1
  341. package/dist/particles/binding-switcher/binding-switcher.d.ts +29 -8
  342. package/dist/particles/binding-switcher/binding-switcher.js +37 -26
  343. package/dist/particles/binding-switcher/binding-switcher.js.map +1 -1
  344. package/dist/particles/card-summary/card-summary.d.ts +38 -8
  345. package/dist/particles/card-summary/card-summary.js +55 -22
  346. package/dist/particles/card-summary/card-summary.js.map +1 -1
  347. package/dist/particles/carousel/carousel.d.ts +99 -11
  348. package/dist/particles/carousel/carousel.js +103 -35
  349. package/dist/particles/carousel/carousel.js.map +1 -1
  350. package/dist/particles/copy-text/copy-text.js +5 -15
  351. package/dist/particles/copy-text/copy-text.js.map +1 -1
  352. package/dist/particles/dialog/dialog.d.ts +14 -6
  353. package/dist/particles/dialog/dialog.js +6 -3
  354. package/dist/particles/dialog/dialog.js.map +1 -1
  355. package/dist/particles/drawer/drawer.js +1 -1
  356. package/dist/particles/drawer/drawer.js.map +1 -1
  357. package/dist/particles/email-field/email-field.d.ts +2 -1
  358. package/dist/particles/email-field/email-field.js +2 -1
  359. package/dist/particles/email-field/email-field.js.map +1 -1
  360. package/dist/particles/footer-link-group/footer-link-group.js +1 -0
  361. package/dist/particles/footer-link-group/footer-link-group.js.map +1 -1
  362. package/dist/particles/form/form.d.ts +85 -13
  363. package/dist/particles/form/form.js +91 -42
  364. package/dist/particles/form/form.js.map +1 -1
  365. package/dist/particles/gallery/gallery.d.ts +129 -12
  366. package/dist/particles/gallery/gallery.js +121 -34
  367. package/dist/particles/gallery/gallery.js.map +1 -1
  368. package/dist/particles/order-details-back/order-details-back.d.ts +5 -3
  369. package/dist/particles/order-details-back/order-details-back.js +8 -10
  370. package/dist/particles/order-details-back/order-details-back.js.map +1 -1
  371. package/dist/particles/order-status-badge/order-status-badge.d.ts +3 -3
  372. package/dist/particles/order-status-badge/order-status-badge.js +4 -20
  373. package/dist/particles/order-status-badge/order-status-badge.js.map +1 -1
  374. package/dist/particles/password-field/password-field.d.ts +1 -1
  375. package/dist/particles/password-field/password-field.js +2 -4
  376. package/dist/particles/password-field/password-field.js.map +1 -1
  377. package/dist/particles/phone-field/phone-field.d.ts +4 -4
  378. package/dist/particles/phone-field/phone-field.js +8 -11
  379. package/dist/particles/phone-field/phone-field.js.map +1 -1
  380. package/dist/particles/spinner/spinner.d.ts +24 -4
  381. package/dist/particles/spinner/spinner.js +25 -9
  382. package/dist/particles/spinner/spinner.js.map +1 -1
  383. package/dist/particles/switch/switch.d.ts +4 -1
  384. package/dist/particles/switch/switch.js +3 -1
  385. package/dist/particles/switch/switch.js.map +1 -1
  386. package/dist/particles/toast/toast.d.ts +29 -3
  387. package/dist/particles/toast/toast.js +34 -10
  388. package/dist/particles/toast/toast.js.map +1 -1
  389. package/dist/schema.graphql +164 -56
  390. package/dist/sdk/address/address-fields.js +4 -4
  391. package/dist/sdk/address/address-fields.js.map +1 -1
  392. package/dist/sdk/address/constants.js +1 -6
  393. package/dist/sdk/address/constants.js.map +1 -1
  394. package/dist/sdk/address/messages.js +44 -44
  395. package/dist/sdk/address/messages.js.map +1 -1
  396. package/dist/sdk/address/postal-code.js +15 -2
  397. package/dist/sdk/address/postal-code.js.map +1 -1
  398. package/dist/sdk/address/types.d.ts +5 -3
  399. package/dist/sdk/address/validate-address.js +3 -3
  400. package/dist/sdk/address/validate-address.js.map +1 -1
  401. package/dist/sdk/analytics/use-analytics-actions.d.ts +1 -1
  402. package/dist/sdk/analytics/use-analytics-actions.js.map +1 -1
  403. package/dist/sdk/cart/use-cart-actions.js.map +1 -1
  404. package/dist/sdk/data/index.js +2 -2
  405. package/dist/sdk/data/reactive-list-item-data-provider.js +2 -2
  406. package/dist/sdk/generated/gql.js +1 -1
  407. package/dist/sdk/generated/gql.js.map +1 -1
  408. package/dist/sdk/generated/graphql.d.ts +20 -5
  409. package/dist/sdk/generated/graphql.js +6 -0
  410. package/dist/sdk/generated/graphql.js.map +1 -1
  411. package/dist/sdk/i18n/format-error-code.js +23 -0
  412. package/dist/sdk/i18n/format-error-code.js.map +1 -0
  413. package/dist/sdk/i18n/message-formatter.d.ts +22 -0
  414. package/dist/sdk/i18n/message-formatter.js +140 -0
  415. package/dist/sdk/i18n/message-formatter.js.map +1 -0
  416. package/dist/sdk/i18n/use-message-formatter.d.ts +8 -0
  417. package/dist/sdk/i18n/use-message-formatter.js +18 -0
  418. package/dist/sdk/i18n/use-message-formatter.js.map +1 -0
  419. package/dist/sdk/identity/use-identity-actions.js.map +1 -1
  420. package/dist/sdk/navigation/redirect.d.ts +2 -0
  421. package/dist/sdk/navigation/redirect.js +19 -1
  422. package/dist/sdk/navigation/redirect.js.map +1 -1
  423. package/dist/sdk/navigation/types.d.ts +13 -0
  424. package/dist/sdk/payment/bin-format.js +20 -0
  425. package/dist/sdk/payment/bin-format.js.map +1 -0
  426. package/dist/sdk/payment/challenge-return.js +37 -0
  427. package/dist/sdk/payment/challenge-return.js.map +1 -0
  428. package/dist/sdk/payment/confirmation-last-four.js +39 -0
  429. package/dist/sdk/payment/confirmation-last-four.js.map +1 -0
  430. package/dist/sdk/payment/gateway.d.ts +1 -1
  431. package/dist/sdk/payment/gateway.js +8 -2
  432. package/dist/sdk/payment/gateway.js.map +1 -1
  433. package/dist/sdk/payment/operations.d.ts +1 -0
  434. package/dist/sdk/payment/operations.js +28 -6
  435. package/dist/sdk/payment/operations.js.map +1 -1
  436. package/dist/sdk/payment/resumed-purchase.d.ts +1 -0
  437. package/dist/sdk/payment/resumed-purchase.js +119 -0
  438. package/dist/sdk/payment/resumed-purchase.js.map +1 -0
  439. package/dist/sdk/payment/security-code-mask.js +16 -23
  440. package/dist/sdk/payment/security-code-mask.js.map +1 -1
  441. package/dist/sdk/payment/submission-registry.js +6 -2
  442. package/dist/sdk/payment/submission-registry.js.map +1 -1
  443. package/dist/sdk/payment/use-payment-actions.d.ts +18 -3
  444. package/dist/sdk/payment/use-payment-actions.js +23 -3
  445. package/dist/sdk/payment/use-payment-actions.js.map +1 -1
  446. package/dist/sdk/payment/use-place-order.d.ts +10 -2
  447. package/dist/sdk/payment/use-place-order.js +138 -76
  448. package/dist/sdk/payment/use-place-order.js.map +1 -1
  449. package/dist/sdk/provider/storefront-provider.d.ts +1 -7
  450. package/dist/sdk/provider/storefront-provider.js +4 -11
  451. package/dist/sdk/provider/storefront-provider.js.map +1 -1
  452. package/dist/sdk/seo/entity-landing.d.ts +24 -0
  453. package/dist/sdk/seo/entity-landing.js +30 -0
  454. package/dist/sdk/seo/entity-landing.js.map +1 -0
  455. package/dist/sdk/seo/page-alternates.d.ts +3 -2
  456. package/dist/sdk/seo/page-alternates.js +4 -2
  457. package/dist/sdk/seo/page-alternates.js.map +1 -1
  458. package/dist/sdk/seo/search-landing.d.ts +42 -0
  459. package/dist/sdk/seo/search-landing.js +85 -0
  460. package/dist/sdk/seo/search-landing.js.map +1 -0
  461. package/dist/sdk/session/mock-session.d.ts +9 -0
  462. package/dist/sdk/session/mock-session.js +31 -0
  463. package/dist/sdk/session/mock-session.js.map +1 -0
  464. package/dist/sdk/session/read-server-session.d.ts +3 -0
  465. package/dist/sdk/session/read-server-session.js +5 -0
  466. package/dist/sdk/session/read-server-session.js.map +1 -1
  467. package/dist/sdk/session/return-path-segment.d.ts +10 -0
  468. package/dist/sdk/session/return-path-segment.js +15 -0
  469. package/dist/sdk/session/return-path-segment.js.map +1 -0
  470. package/dist/sdk/session/use-session-actions.js.map +1 -1
  471. package/dist/sdk/shipping/use-cart-shipping-simulation.js.map +1 -1
  472. package/dist/sdk/shipping/use-shipping-actions.js.map +1 -1
  473. package/dist/sdk/shipping/use-shipping-simulation.js.map +1 -1
  474. package/dist/utils/safe-href.d.ts +2 -0
  475. package/package.json +4 -3
  476. package/skills/storefront-asset/SKILL.md +2 -2
  477. package/skills/storefront-asset/references/api-side.md +27 -14
  478. package/skills/storefront-asset/references/findings.md +5 -2
  479. package/src/styles/tailwind.css +8 -0
  480. package/dist/matter/shipping-address/country-descriptors.d.ts +0 -1
  481. package/dist/message-locales.json +0 -7
  482. package/dist/sdk/i18n/client.d.ts +0 -4
  483. package/dist/sdk/i18n/client.js +0 -4
  484. package/dist/sdk/i18n/locales.d.ts +0 -8
  485. package/dist/sdk/i18n/locales.js +0 -57
  486. package/dist/sdk/i18n/locales.js.map +0 -1
  487. package/dist/sdk/i18n/messages/en-US.js +0 -183
  488. package/dist/sdk/i18n/messages/en-US.js.map +0 -1
  489. package/dist/sdk/i18n/messages/en-US.json +0 -178
  490. package/dist/sdk/i18n/messages/en-US.json.d.ts +0 -182
  491. package/dist/sdk/i18n/messages/es-ES.js +0 -183
  492. package/dist/sdk/i18n/messages/es-ES.js.map +0 -1
  493. package/dist/sdk/i18n/messages/es-ES.json +0 -178
  494. package/dist/sdk/i18n/messages/pt-BR.js +0 -183
  495. package/dist/sdk/i18n/messages/pt-BR.js.map +0 -1
  496. package/dist/sdk/i18n/messages/pt-BR.json +0 -178
  497. package/dist/sdk/i18n/provider.d.ts +0 -1
  498. package/dist/sdk/i18n/provider.js +0 -30
  499. package/dist/sdk/i18n/provider.js.map +0 -1
  500. package/dist/sdk/i18n/server.d.ts +0 -28
  501. package/dist/sdk/i18n/server.js +0 -59
  502. package/dist/sdk/i18n/server.js.map +0 -1
  503. package/dist/utils/resolve-authored-copy.js +0 -18
  504. package/dist/utils/resolve-authored-copy.js.map +0 -1
  505. package/dist/utils/substitute-template.js +0 -33
  506. package/dist/utils/substitute-template.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ import { ContentValue, MessageLocaleProp } from "../../core/dist/define-content-type.js";
1
2
  import { ComponentDefinition } from "../../core/dist/define-component.js";
2
3
  import "../../core/dist/index.js";
3
4
  import { ComponentPropsWithRef } from "react";
@@ -7,13 +8,29 @@ export type AccountAddressBookItemDeliverabilitySlice = Readonly<{
7
8
  countries: readonly string[];
8
9
  source: 'PLATFORM' | 'SALES_CHANNEL_FALLBACK';
9
10
  }>;
10
- export type AccountAddressBookItemDeliverabilityProps = ComponentPropsWithRef<'p'> & {
11
+ export type AccountAddressBookItemDeliverabilityProps = ComponentPropsWithRef<'p'> & MessageLocaleProp & {
11
12
  /** Unwrapped `shippingCountries` from the reactive runtime: `null` when the read failed, `undefined` outside the page query. */
12
13
  $data?: AccountAddressBookItemDeliverabilitySlice | null;
13
- /** The marker text. A blank value falls back to the catalog copy. */
14
- message?: string;
14
+ $content?: ContentValue<typeof AccountAddressBookItemDeliverabilityContent>;
15
+ };
16
+ export declare const AccountAddressBookItemDeliverabilityContent: {
17
+ readonly id: "account-address-book-deliverability";
18
+ readonly title: "Account Address Book Item Deliverability";
19
+ readonly description: "Marker on a saved address the store does not ship to.";
20
+ readonly schema: {
21
+ readonly type: "object";
22
+ readonly additionalProperties: false;
23
+ readonly properties: {
24
+ readonly message: {
25
+ readonly type: "string";
26
+ readonly title: "Marker message";
27
+ readonly format: "icu-message";
28
+ readonly messageSource: "We don't deliver to this country at the moment.";
29
+ };
30
+ };
31
+ };
15
32
  };
16
33
  export declare const AccountAddressBookItemDeliverabilityDefinition: ComponentDefinition<AccountAddressBookItemDeliverabilityProps>;
17
- export declare function AccountAddressBookItemDeliverability({ $data: $dataProp, message, className, ...props }: AccountAddressBookItemDeliverabilityProps): import("react/jsx-runtime").JSX.Element | null;
34
+ export declare function AccountAddressBookItemDeliverability({ $data: $dataProp, $content, $locale, className, ...props }: AccountAddressBookItemDeliverabilityProps): import("react/jsx-runtime").JSX.Element | null;
18
35
  //#endregion
19
36
  //# sourceMappingURL=account-address-book-deliverability.d.ts.map
@@ -1,23 +1,54 @@
1
1
  "use client";
2
2
  import { defineComponent } from "../../core/dist/define-component.js";
3
+ import { defineContentType } from "../../core/dist/define-content-type.js";
3
4
  import "../../core/dist/index.js";
4
- import { useIntl } from "../../sdk/i18n/client.js";
5
+ import { useMessageFormatter } from "../../sdk/i18n/use-message-formatter.js";
5
6
  import { useDataOverride } from "../../sdk/data/data-override-context.js";
6
- import { resolveAuthoredCopy } from "../../utils/resolve-authored-copy.js";
7
7
  import { AccountAddressBookSkeleton, useAccountAddressBookItem } from "./account-address-book.js";
8
8
  import { jsx } from "react/jsx-runtime";
9
- const AccountAddressBookItemDeliverabilityDefinition = defineComponent({
10
- name: "AccountAddressBookItemDeliverability",
11
- importPath: "@vtex/faststore/components",
12
- component: AccountAddressBookItemDeliverability,
13
- fragment: `
9
+ //#region src/matter/account-address-book/account-address-book-deliverability.tsx
10
+ /**
11
+ * Marks a saved address the store does not ship to (specs/sfs-3436-address-deliverability-marker.md,
12
+ * RFC REQ-01). The checkout refuses such an address, and the shopper otherwise finds out mid-purchase.
13
+ *
14
+ * It renders only when it can tell for sure: the store's own shipping countries (`PLATFORM`, never
15
+ * the single-country `SALES_CHANNEL_FALLBACK` guess), a non-blank country on the address, and a
16
+ * country that is not in the list. A failed read, a page that does not carry the marker, and an
17
+ * address with no country all render nothing, so the marker never claims what the data has not earned.
18
+ *
19
+ * Its fragment is the one `AddressCountryControl` (SFS-3442) shares: the same selection, with no alias
20
+ * and no argument, so the compiler merges both into one root read. `ShippingCountries` has no `id`,
21
+ * so the marker keeps the server-rendered value for the whole page.
22
+ */
23
+ const fragment = `
14
24
  fragment AccountAddressBookItemDeliverabilityData on Query {
15
25
  shippingCountries {
16
26
  countries
17
27
  source
18
28
  }
19
29
  }
20
- `,
30
+ `;
31
+ const AccountAddressBookItemDeliverabilityContent = defineContentType({
32
+ id: "account-address-book-deliverability",
33
+ title: "Account Address Book Item Deliverability",
34
+ description: "Marker on a saved address the store does not ship to.",
35
+ schema: {
36
+ type: "object",
37
+ additionalProperties: false,
38
+ properties: { message: {
39
+ type: "string",
40
+ title: "Marker message",
41
+ format: "icu-message",
42
+ messageSource: "We don't deliver to this country at the moment."
43
+ } }
44
+ }
45
+ });
46
+ const AccountAddressBookItemDeliverabilityDefinition = defineComponent({
47
+ name: "AccountAddressBookItemDeliverability",
48
+ importPath: "@vtex/faststore/components",
49
+ component: AccountAddressBookItemDeliverability,
50
+ content: AccountAddressBookItemDeliverabilityContent,
51
+ fragment,
21
52
  fetchStrategy: "reactive",
22
53
  requiresContext: "account-address-book-item",
23
54
  skeleton: AccountAddressBookSkeleton,
@@ -25,26 +56,23 @@ const AccountAddressBookItemDeliverabilityDefinition = defineComponent({
25
56
  label: "Account Address Book Item Deliverability",
26
57
  category: "content"
27
58
  },
28
- schema: { message: {
29
- type: "string",
30
- label: "Marker message"
31
- } },
32
- guideline: "Marks a saved address the store does not ship to, as text read with the address. Place it inside AccountAddressBookItem, which repeats it per address. Renders nothing unless the store's shipping countries are known and the address's country is not among them: a failed read, a single-country fallback list, or an address with no country all leave it empty. Set message to replace the default copy."
59
+ schema: {},
60
+ guideline: "Marks a saved address the store does not ship to, as text read with the address. Place it inside AccountAddressBookItem, which repeats it per address. Renders nothing unless the store's shipping countries are known and the address's country is not among them: a failed read, a single-country fallback list, or an address with no country all leave it empty. The marker text is the message field of its content."
33
61
  });
34
- function AccountAddressBookItemDeliverability({ $data: $dataProp, message, className, ...props }) {
62
+ function AccountAddressBookItemDeliverability({ $data: $dataProp, $content, $locale, className, ...props }) {
35
63
  const { country } = useAccountAddressBookItem();
36
64
  const shippingCountries = useDataOverride($dataProp);
37
- const intl = useIntl();
65
+ const { format } = useMessageFormatter(AccountAddressBookItemDeliverabilityContent, $content);
38
66
  const code = country?.trim().toUpperCase() ?? "";
39
67
  if (shippingCountries?.source !== "PLATFORM" || code === "" || shippingCountries.countries.includes(code)) return null;
40
68
  return /* @__PURE__ */ jsx("p", {
41
69
  ...props,
42
70
  className,
43
71
  "data-fs-account-address-book-item-deliverability": "",
44
- children: resolveAuthoredCopy(message, intl.formatMessage({ id: "fs/address-book.undeliverable" }))
72
+ children: format("message")
45
73
  });
46
74
  }
47
75
  //#endregion
48
- export { AccountAddressBookItemDeliverability, AccountAddressBookItemDeliverabilityDefinition };
76
+ export { AccountAddressBookItemDeliverability, AccountAddressBookItemDeliverabilityContent, AccountAddressBookItemDeliverabilityDefinition };
49
77
 
50
78
  //# sourceMappingURL=account-address-book-deliverability.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account-address-book-deliverability.js","names":[],"sources":["../../../src/matter/account-address-book/account-address-book-deliverability.tsx"],"sourcesContent":["'use client';\n\nimport { defineComponent } from '@vtex/fs-core';\nimport type { ComponentPropsWithRef } from 'react';\nimport { useDataOverride } from '../../sdk/data/data-override-context.js';\nimport { useIntl } from '../../sdk/i18n/client.js';\nimport { resolveAuthoredCopy } from '../../utils/resolve-authored-copy.js';\nimport { AccountAddressBookSkeleton, useAccountAddressBookItem } from './account-address-book.js';\n\n/**\n * Marks a saved address the store does not ship to (specs/sfs-3436-address-deliverability-marker.md,\n * RFC REQ-01). The checkout refuses such an address, and the shopper otherwise finds out mid-purchase.\n *\n * It renders only when it can tell for sure: the store's own shipping countries (`PLATFORM`, never\n * the single-country `SALES_CHANNEL_FALLBACK` guess), a non-blank country on the address, and a\n * country that is not in the list. A failed read, a page that does not carry the marker, and an\n * address with no country all render nothing, so the marker never claims what the data has not earned.\n *\n * Its fragment is the one `AddressCountryControl` (SFS-3442) shares: the same selection, with no alias\n * and no argument, so the compiler merges both into one root read. `ShippingCountries` has no `id`,\n * so the marker keeps the server-rendered value for the whole page.\n */\n\nconst fragment = /* GraphQL */ `\n fragment AccountAddressBookItemDeliverabilityData on Query {\n shippingCountries {\n countries\n source\n }\n }\n`;\n\n/** The shipping countries the marker reads. */\nexport type AccountAddressBookItemDeliverabilitySlice = Readonly<{\n countries: readonly string[];\n source: 'PLATFORM' | 'SALES_CHANNEL_FALLBACK';\n}>;\n\nexport type AccountAddressBookItemDeliverabilityProps = ComponentPropsWithRef<'p'> & {\n /** Unwrapped `shippingCountries` from the reactive runtime: `null` when the read failed, `undefined` outside the page query. */\n $data?: AccountAddressBookItemDeliverabilitySlice | null;\n /** The marker text. A blank value falls back to the catalog copy. */\n message?: string;\n};\n\nexport const AccountAddressBookItemDeliverabilityDefinition =\n defineComponent<AccountAddressBookItemDeliverabilityProps>({\n name: 'AccountAddressBookItemDeliverability',\n importPath: '@vtex/faststore/components',\n component: AccountAddressBookItemDeliverability,\n fragment,\n fetchStrategy: 'reactive',\n requiresContext: 'account-address-book-item',\n skeleton: AccountAddressBookSkeleton,\n editor: { label: 'Account Address Book Item Deliverability', category: 'content' },\n schema: {\n message: { type: 'string', label: 'Marker message' },\n },\n guideline:\n \"Marks a saved address the store does not ship to, as text read with the address. Place it inside AccountAddressBookItem, which repeats it per address. Renders nothing unless the store's shipping countries are known and the address's country is not among them: a failed read, a single-country fallback list, or an address with no country all leave it empty. Set message to replace the default copy.\",\n });\n\nexport function AccountAddressBookItemDeliverability({\n $data: $dataProp,\n message,\n className,\n ...props\n}: AccountAddressBookItemDeliverabilityProps) {\n const { country } = useAccountAddressBookItem();\n const shippingCountries = useDataOverride<AccountAddressBookItemDeliverabilitySlice | null | undefined>($dataProp);\n const intl = useIntl();\n\n const code = country?.trim().toUpperCase() ?? '';\n if (shippingCountries?.source !== 'PLATFORM' || code === '' || shippingCountries.countries.includes(code)) {\n return null;\n }\n\n return (\n <p {...props} className={className} data-fs-account-address-book-item-deliverability=\"\">\n {resolveAuthoredCopy(message, intl.formatMessage({ id: 'fs/address-book.undeliverable' }))}\n </p>\n );\n}\n"],"mappings":";;;;;;;;AA6CA,MAAa,iDACX,gBAA2D;CACzD,MAAM;CACN,YAAY;CACZ,WAAW;CACX;;;;;;;;CACA,eAAe;CACf,iBAAiB;CACjB,UAAU;CACV,QAAQ;EAAE,OAAO;EAA4C,UAAU;CAAU;CACjF,QAAQ,EACN,SAAS;EAAE,MAAM;EAAU,OAAO;CAAiB,EACrD;CACA,WACE;AACJ,CAAC;AAEH,SAAgB,qCAAqC,EACnD,OAAO,WACP,SACA,WACA,GAAG,SACyC;CAC5C,MAAM,EAAE,YAAY,0BAA0B;CAC9C,MAAM,oBAAoB,gBAA8E,SAAS;CACjH,MAAM,OAAO,QAAQ;CAErB,MAAM,OAAO,SAAS,KAAK,CAAC,CAAC,YAAY,KAAK;CAC9C,IAAI,mBAAmB,WAAW,cAAc,SAAS,MAAM,kBAAkB,UAAU,SAAS,IAAI,GACtG,OAAO;CAGT,OACE,oBAAC,KAAD;EAAG,GAAI;EAAkB;EAAW,oDAAiD;EAClF,UAAA,oBAAoB,SAAS,KAAK,cAAc,EAAE,IAAI,gCAAgC,CAAC,CAAC;CACxF,CAAA;AAEP"}
1
+ {"version":3,"file":"account-address-book-deliverability.js","names":[],"sources":["../../../src/matter/account-address-book/account-address-book-deliverability.tsx"],"sourcesContent":["'use client';\n\nimport { type ContentValue, defineComponent, defineContentType, type MessageLocaleProp } from '@vtex/fs-core';\nimport type { ComponentPropsWithRef } from 'react';\nimport { useDataOverride } from '../../sdk/data/data-override-context.js';\nimport { useMessageFormatter } from '../../sdk/i18n/use-message-formatter.js';\nimport { AccountAddressBookSkeleton, useAccountAddressBookItem } from './account-address-book.js';\n\n/**\n * Marks a saved address the store does not ship to (specs/sfs-3436-address-deliverability-marker.md,\n * RFC REQ-01). The checkout refuses such an address, and the shopper otherwise finds out mid-purchase.\n *\n * It renders only when it can tell for sure: the store's own shipping countries (`PLATFORM`, never\n * the single-country `SALES_CHANNEL_FALLBACK` guess), a non-blank country on the address, and a\n * country that is not in the list. A failed read, a page that does not carry the marker, and an\n * address with no country all render nothing, so the marker never claims what the data has not earned.\n *\n * Its fragment is the one `AddressCountryControl` (SFS-3442) shares: the same selection, with no alias\n * and no argument, so the compiler merges both into one root read. `ShippingCountries` has no `id`,\n * so the marker keeps the server-rendered value for the whole page.\n */\n\nconst fragment = /* GraphQL */ `\n fragment AccountAddressBookItemDeliverabilityData on Query {\n shippingCountries {\n countries\n source\n }\n }\n`;\n\n/** The shipping countries the marker reads. */\nexport type AccountAddressBookItemDeliverabilitySlice = Readonly<{\n countries: readonly string[];\n source: 'PLATFORM' | 'SALES_CHANNEL_FALLBACK';\n}>;\n\nexport type AccountAddressBookItemDeliverabilityProps = ComponentPropsWithRef<'p'> &\n MessageLocaleProp & {\n /** Unwrapped `shippingCountries` from the reactive runtime: `null` when the read failed, `undefined` outside the page query. */\n $data?: AccountAddressBookItemDeliverabilitySlice | null;\n $content?: ContentValue<typeof AccountAddressBookItemDeliverabilityContent>;\n };\n\nexport const AccountAddressBookItemDeliverabilityContent = defineContentType({\n id: 'account-address-book-deliverability',\n title: 'Account Address Book Item Deliverability',\n description: 'Marker on a saved address the store does not ship to.',\n schema: {\n type: 'object',\n additionalProperties: false,\n properties: {\n message: {\n type: 'string',\n title: 'Marker message',\n format: 'icu-message',\n messageSource: \"We don't deliver to this country at the moment.\",\n },\n },\n },\n});\n\nexport const AccountAddressBookItemDeliverabilityDefinition =\n defineComponent<AccountAddressBookItemDeliverabilityProps>({\n name: 'AccountAddressBookItemDeliverability',\n importPath: '@vtex/faststore/components',\n component: AccountAddressBookItemDeliverability,\n content: AccountAddressBookItemDeliverabilityContent,\n fragment,\n fetchStrategy: 'reactive',\n requiresContext: 'account-address-book-item',\n skeleton: AccountAddressBookSkeleton,\n editor: { label: 'Account Address Book Item Deliverability', category: 'content' },\n schema: {},\n guideline:\n \"Marks a saved address the store does not ship to, as text read with the address. Place it inside AccountAddressBookItem, which repeats it per address. Renders nothing unless the store's shipping countries are known and the address's country is not among them: a failed read, a single-country fallback list, or an address with no country all leave it empty. The marker text is the message field of its content.\",\n });\n\nexport function AccountAddressBookItemDeliverability({\n $data: $dataProp,\n $content,\n $locale,\n className,\n ...props\n}: AccountAddressBookItemDeliverabilityProps) {\n const { country } = useAccountAddressBookItem();\n const shippingCountries = useDataOverride<AccountAddressBookItemDeliverabilitySlice | null | undefined>($dataProp);\n const { format } = useMessageFormatter(AccountAddressBookItemDeliverabilityContent, $content);\n\n const code = country?.trim().toUpperCase() ?? '';\n if (shippingCountries?.source !== 'PLATFORM' || code === '' || shippingCountries.countries.includes(code)) {\n return null;\n }\n\n return (\n <p {...props} className={className} data-fs-account-address-book-item-deliverability=\"\">\n {format('message')}\n </p>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAsBA,MAAM,WAAyB;;;;;;;;AAsB/B,MAAa,8CAA8C,kBAAkB;CAC3E,IAAI;CACJ,OAAO;CACP,aAAa;CACb,QAAQ;EACN,MAAM;EACN,sBAAsB;EACtB,YAAY,EACV,SAAS;GACP,MAAM;GACN,OAAO;GACP,QAAQ;GACR,eAAe;EACjB,EACF;CACF;AACF,CAAC;AAED,MAAa,iDACX,gBAA2D;CACzD,MAAM;CACN,YAAY;CACZ,WAAW;CACX,SAAS;CACT;CACA,eAAe;CACf,iBAAiB;CACjB,UAAU;CACV,QAAQ;EAAE,OAAO;EAA4C,UAAU;CAAU;CACjF,QAAQ,CAAC;CACT,WACE;AACJ,CAAC;AAEH,SAAgB,qCAAqC,EACnD,OAAO,WACP,UACA,SACA,WACA,GAAG,SACyC;CAC5C,MAAM,EAAE,YAAY,0BAA0B;CAC9C,MAAM,oBAAoB,gBAA8E,SAAS;CACjH,MAAM,EAAE,WAAW,oBAAoB,6CAA6C,QAAQ;CAE5F,MAAM,OAAO,SAAS,KAAK,CAAC,CAAC,YAAY,KAAK;CAC9C,IAAI,mBAAmB,WAAW,cAAc,SAAS,MAAM,kBAAkB,UAAU,SAAS,IAAI,GACtG,OAAO;CAGT,OACE,oBAAC,KAAD;EAAG,GAAI;EAAkB;EAAW,oDAAiD;EAClF,UAAA,OAAO,SAAS;CAChB,CAAA;AAEP"}
@@ -1,3 +1,4 @@
1
+ import { ContentValue, MessageLocaleProp } from "../../core/dist/define-content-type.js";
1
2
  import { ComponentDefinition } from "../../core/dist/define-component.js";
2
3
  import "../../core/dist/index.js";
3
4
  import { ComponentPropsWithRef, ReactNode } from "react";
@@ -8,35 +9,89 @@ import { ComponentPropsWithRef, ReactNode } from "react";
8
9
  * shows it: `AccountAddressBookFormSlot` in place, `AccountAddressBookFormDialog` in a dialog. A store
9
10
  * chooses by composition, and no prop selects a layout.
10
11
  */
11
- export type AccountAddressBookAddTriggerProps = ComponentPropsWithRef<'button'> & {
12
- /** The button's text. A blank value falls back to the catalog copy. */
13
- label?: string;
12
+ export type AccountAddressBookAddTriggerProps = ComponentPropsWithRef<'button'> & MessageLocaleProp & {
13
+ $content?: ContentValue<typeof AccountAddressBookAddTriggerContent>;
14
14
  };
15
- export type AccountAddressBookEditTriggerProps = ComponentPropsWithRef<'button'> & {
16
- /** The button's visible text. A blank value falls back to the catalog copy. */
17
- label?: string;
15
+ export type AccountAddressBookEditTriggerProps = ComponentPropsWithRef<'button'> & MessageLocaleProp & {
16
+ $content?: ContentValue<typeof AccountAddressBookEditTriggerContent>;
18
17
  };
19
18
  export type AccountAddressBookFormSlotProps = ComponentPropsWithRef<'div'>;
20
- export type AccountAddressBookFormDialogProps = Readonly<{
19
+ export type AccountAddressBookFormDialogProps = MessageLocaleProp & Readonly<{
21
20
  children?: ReactNode;
22
21
  /** Goes on the dialog's popup, the one element a store can size and place: the dialog renders in a portal. */
23
22
  className?: string;
24
- /** The dialog's title. A blank value falls back to the catalog copy for the open mode. */
25
- title?: string;
23
+ $content?: ContentValue<typeof AccountAddressBookFormDialogContent>;
26
24
  }>;
27
- export declare function AccountAddressBookAddTrigger({ label, className, children, onClick, ...props }: AccountAddressBookAddTriggerProps): import("react/jsx-runtime").JSX.Element;
28
- export declare function AccountAddressBookEditTrigger({ label, className, children, onClick, ...props }: AccountAddressBookEditTriggerProps): import("react/jsx-runtime").JSX.Element;
25
+ export declare function AccountAddressBookAddTrigger({ $content, $locale, className, children, onClick, ...props }: AccountAddressBookAddTriggerProps): import("react/jsx-runtime").JSX.Element;
26
+ export declare function AccountAddressBookEditTrigger({ $content, $locale, className, children, onClick, ...props }: AccountAddressBookEditTriggerProps): import("react/jsx-runtime").JSX.Element;
29
27
  export declare function AccountAddressBookFormSlot({ children, ...props }: AccountAddressBookFormSlotProps): import("react/jsx-runtime").JSX.Element | null;
30
- export declare function AccountAddressBookFormDialog({ title, className, children }: AccountAddressBookFormDialogProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare function AccountAddressBookFormDialog({ $content, className, children }: AccountAddressBookFormDialogProps): import("react/jsx-runtime").JSX.Element;
29
+ export declare const AccountAddressBookAddTriggerContent: {
30
+ readonly id: "account-address-book-add-trigger";
31
+ readonly title: "Account Address Book Add Trigger";
32
+ readonly description: "Label of the control that opens the form to add an address.";
33
+ readonly schema: {
34
+ readonly type: "object";
35
+ readonly additionalProperties: false;
36
+ readonly properties: {
37
+ readonly label: {
38
+ readonly type: "string";
39
+ readonly title: "Button label";
40
+ readonly format: "icu-message";
41
+ readonly messageSource: "Add address";
42
+ };
43
+ };
44
+ };
45
+ };
31
46
  export declare const AccountAddressBookAddTriggerDefinition: ComponentDefinition<AccountAddressBookAddTriggerProps>;
47
+ export declare const AccountAddressBookEditTriggerContent: {
48
+ readonly id: "account-address-book-edit-trigger";
49
+ readonly title: "Account Address Book Edit Trigger";
50
+ readonly description: "Label of the control that opens the form to edit an address.";
51
+ readonly schema: {
52
+ readonly type: "object";
53
+ readonly additionalProperties: false;
54
+ readonly properties: {
55
+ readonly label: {
56
+ readonly type: "string";
57
+ readonly title: "Button label";
58
+ readonly format: "icu-message";
59
+ readonly messageSource: "Edit";
60
+ };
61
+ };
62
+ };
63
+ };
32
64
  export declare const AccountAddressBookEditTriggerDefinition: ComponentDefinition<AccountAddressBookEditTriggerProps>;
33
65
  export declare const AccountAddressBookFormSlotDefinition: ComponentDefinition<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>;
34
- export declare const AccountAddressBookFormDialogDefinition: ComponentDefinition<Readonly<{
35
- children?: ReactNode;
36
- /** Goes on the dialog's popup, the one element a store can size and place: the dialog renders in a portal. */
37
- className?: string;
38
- /** The dialog's title. A blank value falls back to the catalog copy for the open mode. */
39
- title?: string;
40
- }>>;
66
+ export declare const AccountAddressBookFormDialogContent: {
67
+ readonly id: "account-address-book-form-dialog";
68
+ readonly title: "Account Address Book Form Dialog";
69
+ readonly description: "The address form dialog's titles and its close button's name.";
70
+ readonly schema: {
71
+ readonly type: "object";
72
+ readonly additionalProperties: false;
73
+ readonly properties: {
74
+ readonly titleAdd: {
75
+ readonly type: "string";
76
+ readonly title: "Title when adding";
77
+ readonly format: "icu-message";
78
+ readonly messageSource: "Add address";
79
+ };
80
+ readonly titleEdit: {
81
+ readonly type: "string";
82
+ readonly title: "Title when editing";
83
+ readonly format: "icu-message";
84
+ readonly messageSource: "Edit address";
85
+ };
86
+ readonly closeLabel: {
87
+ readonly type: "string";
88
+ readonly title: "Close button name";
89
+ readonly format: "icu-message";
90
+ readonly messageSource: "Close";
91
+ };
92
+ };
93
+ };
94
+ };
95
+ export declare const AccountAddressBookFormDialogDefinition: ComponentDefinition<AccountAddressBookFormDialogProps>;
41
96
  //#endregion
42
97
  //# sourceMappingURL=account-address-book-form-parts.d.ts.map
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { defineComponent } from "../../core/dist/define-component.js";
3
+ import { defineContentType } from "../../core/dist/define-content-type.js";
3
4
  import "../../core/dist/index.js";
4
- import { useIntl } from "../../sdk/i18n/client.js";
5
- import { resolveAuthoredCopy } from "../../utils/resolve-authored-copy.js";
5
+ import { useMessageFormatter } from "../../sdk/i18n/use-message-formatter.js";
6
6
  import { Button } from "../../particles/button/button.js";
7
7
  import { useAccountAddressBook, useAccountAddressBookItem } from "./account-address-book.js";
8
8
  import { firstLine } from "./account-address-first-line.js";
@@ -14,9 +14,9 @@ import { jsx, jsxs } from "react/jsx-runtime";
14
14
  function formKey(form) {
15
15
  return form.mode === "edit" ? `edit:${form.address.id}` : "add";
16
16
  }
17
- function AccountAddressBookAddTrigger({ label, className, children, onClick, ...props }) {
17
+ function AccountAddressBookAddTrigger({ $content, $locale, className, children, onClick, ...props }) {
18
18
  const { open } = useAccountAddressBook();
19
- const intl = useIntl();
19
+ const { format } = useMessageFormatter(AccountAddressBookAddTriggerContent, $content);
20
20
  return /* @__PURE__ */ jsx(Button, {
21
21
  ...props,
22
22
  type: "button",
@@ -26,14 +26,13 @@ function AccountAddressBookAddTrigger({ label, className, children, onClick, ...
26
26
  open({ mode: "add" }, event.currentTarget);
27
27
  },
28
28
  "data-fs-account-address-book-add": "",
29
- children: children ?? resolveAuthoredCopy(label, intl.formatMessage({ id: "fs/address-form.add" }))
29
+ children: children ?? format("label")
30
30
  });
31
31
  }
32
- function AccountAddressBookEditTrigger({ label, className, children, onClick, ...props }) {
32
+ function AccountAddressBookEditTrigger({ $content, $locale, className, children, onClick, ...props }) {
33
33
  const { open } = useAccountAddressBook();
34
34
  const address = useAccountAddressBookItem();
35
- const intl = useIntl();
36
- const text = resolveAuthoredCopy(label, intl.formatMessage({ id: "fs/address-form.edit" }));
35
+ const text = useMessageFormatter(AccountAddressBookEditTriggerContent, $content).format("label");
37
36
  const line = firstLine(address);
38
37
  return /* @__PURE__ */ jsx(Button, {
39
38
  "aria-label": line === "" ? void 0 : `${text} ${line}`,
@@ -60,10 +59,9 @@ function AccountAddressBookFormSlot({ children, ...props }) {
60
59
  "data-fs-account-address-book-form-slot": ""
61
60
  }, children);
62
61
  }
63
- function AccountAddressBookFormDialog({ title, className, children }) {
62
+ function AccountAddressBookFormDialog({ $content, className, children }) {
64
63
  const { openForm, close, formPending } = useAccountAddressBook();
65
- const intl = useIntl();
66
- const defaultTitle = intl.formatMessage({ id: openForm?.mode === "edit" ? "fs/address-form.title.edit" : "fs/address-form.title.add" });
64
+ const { format } = useMessageFormatter(AccountAddressBookFormDialogContent, $content);
67
65
  return /* @__PURE__ */ jsx(Dialog.Root, {
68
66
  open: openForm !== null,
69
67
  onOpenChange: (next) => {
@@ -73,9 +71,9 @@ function AccountAddressBookFormDialog({ title, className, children }) {
73
71
  className,
74
72
  "data-fs-account-address-book-form-dialog": "",
75
73
  children: [
76
- /* @__PURE__ */ jsx(Dialog.Title, { children: resolveAuthoredCopy(title, defaultTitle) }),
74
+ /* @__PURE__ */ jsx(Dialog.Title, { children: format(openForm?.mode === "edit" ? "titleEdit" : "titleAdd") }),
77
75
  /* @__PURE__ */ jsx(Dialog.Close, {
78
- "aria-label": intl.formatMessage({ id: "fs/a11y.close" }),
76
+ "aria-label": format("closeLabel"),
79
77
  children: "×"
80
78
  }),
81
79
  openForm === null ? null : /* @__PURE__ */ jsx("div", { children }, formKey(openForm))
@@ -83,34 +81,60 @@ function AccountAddressBookFormDialog({ title, className, children }) {
83
81
  }) })] })
84
82
  });
85
83
  }
84
+ const AccountAddressBookAddTriggerContent = defineContentType({
85
+ id: "account-address-book-add-trigger",
86
+ title: "Account Address Book Add Trigger",
87
+ description: "Label of the control that opens the form to add an address.",
88
+ schema: {
89
+ type: "object",
90
+ additionalProperties: false,
91
+ properties: { label: {
92
+ type: "string",
93
+ title: "Button label",
94
+ format: "icu-message",
95
+ messageSource: "Add address"
96
+ } }
97
+ }
98
+ });
86
99
  const AccountAddressBookAddTriggerDefinition = defineComponent({
87
100
  name: "AccountAddressBookAddTrigger",
88
101
  importPath: "@vtex/faststore/components",
89
102
  component: AccountAddressBookAddTrigger,
103
+ content: AccountAddressBookAddTriggerContent,
90
104
  requiresContext: "account-address-book",
91
105
  editor: {
92
106
  label: "Account Address Book Add Trigger",
93
107
  category: "action"
94
108
  },
95
- schema: { label: {
96
- type: "string",
97
- label: "Button label"
98
- } },
109
+ schema: {},
99
110
  guideline: "Opens the address form in add mode. Shown in every state of the book, the empty one included, since that is where a first address is added. Place an AccountAddressBookFormSlot or an AccountAddressBookFormDialog beside it to show the form. Must be inside AccountAddressBookRoot."
100
111
  });
112
+ const AccountAddressBookEditTriggerContent = defineContentType({
113
+ id: "account-address-book-edit-trigger",
114
+ title: "Account Address Book Edit Trigger",
115
+ description: "Label of the control that opens the form to edit an address.",
116
+ schema: {
117
+ type: "object",
118
+ additionalProperties: false,
119
+ properties: { label: {
120
+ type: "string",
121
+ title: "Button label",
122
+ format: "icu-message",
123
+ messageSource: "Edit"
124
+ } }
125
+ }
126
+ });
101
127
  const AccountAddressBookEditTriggerDefinition = defineComponent({
102
128
  name: "AccountAddressBookEditTrigger",
103
129
  importPath: "@vtex/faststore/components",
104
130
  component: AccountAddressBookEditTrigger,
131
+ content: AccountAddressBookEditTriggerContent,
105
132
  requiresContext: "account-address-book-item",
106
133
  editor: {
107
134
  label: "Account Address Book Edit Trigger",
108
135
  category: "action"
109
136
  },
110
- schema: { label: {
111
- type: "string",
112
- label: "Button label"
113
- } },
137
+ schema: {},
114
138
  guideline: "Opens the address form in edit mode for the address of the entry it sits in. Its accessible name adds the address's first line, so a list of them is told apart. Place it inside AccountAddressBookItem, and an AccountAddressBookFormSlot or an AccountAddressBookFormDialog under the root to show the form."
115
139
  });
116
140
  const AccountAddressBookFormSlotDefinition = defineComponent({
@@ -125,22 +149,49 @@ const AccountAddressBookFormSlotDefinition = defineComponent({
125
149
  schema: {},
126
150
  guideline: "Shows its children, an AccountAddressFormRoot, in place while a form is open, and nothing otherwise. Each open starts a new draft. Use it to open the form inline under the list; use AccountAddressBookFormDialog for an overlay. Must be inside AccountAddressBookRoot."
127
151
  });
152
+ const AccountAddressBookFormDialogContent = defineContentType({
153
+ id: "account-address-book-form-dialog",
154
+ title: "Account Address Book Form Dialog",
155
+ description: "The address form dialog's titles and its close button's name.",
156
+ schema: {
157
+ type: "object",
158
+ additionalProperties: false,
159
+ properties: {
160
+ titleAdd: {
161
+ type: "string",
162
+ title: "Title when adding",
163
+ format: "icu-message",
164
+ messageSource: "Add address"
165
+ },
166
+ titleEdit: {
167
+ type: "string",
168
+ title: "Title when editing",
169
+ format: "icu-message",
170
+ messageSource: "Edit address"
171
+ },
172
+ closeLabel: {
173
+ type: "string",
174
+ title: "Close button name",
175
+ format: "icu-message",
176
+ messageSource: "Close"
177
+ }
178
+ }
179
+ }
180
+ });
128
181
  const AccountAddressBookFormDialogDefinition = defineComponent({
129
182
  name: "AccountAddressBookFormDialog",
130
183
  importPath: "@vtex/faststore/components",
131
184
  component: AccountAddressBookFormDialog,
185
+ content: AccountAddressBookFormDialogContent,
132
186
  requiresContext: "account-address-book",
133
187
  editor: {
134
188
  label: "Account Address Book Form Dialog",
135
189
  category: "layout"
136
190
  },
137
- schema: { title: {
138
- type: "string",
139
- label: "Dialog title"
140
- } },
191
+ schema: {},
141
192
  guideline: "Shows its children, an AccountAddressFormRoot, in a modal dialog while a form is open. Escape and the close button cancel the form and drop the draft, and focus returns to the control that opened it. Use AccountAddressBookFormSlot instead to open the form in place. Must be inside AccountAddressBookRoot."
142
193
  });
143
194
  //#endregion
144
- export { AccountAddressBookAddTrigger, AccountAddressBookAddTriggerDefinition, AccountAddressBookEditTrigger, AccountAddressBookEditTriggerDefinition, AccountAddressBookFormDialog, AccountAddressBookFormDialogDefinition, AccountAddressBookFormSlot, AccountAddressBookFormSlotDefinition };
195
+ export { AccountAddressBookAddTrigger, AccountAddressBookAddTriggerContent, AccountAddressBookAddTriggerDefinition, AccountAddressBookEditTrigger, AccountAddressBookEditTriggerContent, AccountAddressBookEditTriggerDefinition, AccountAddressBookFormDialog, AccountAddressBookFormDialogContent, AccountAddressBookFormDialogDefinition, AccountAddressBookFormSlot, AccountAddressBookFormSlotDefinition };
145
196
 
146
197
  //# sourceMappingURL=account-address-book-form-parts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account-address-book-form-parts.js","names":[],"sources":["../../../src/matter/account-address-book/account-address-book-form-parts.tsx"],"sourcesContent":["'use client';\n\nimport { defineComponent } from '@vtex/fs-core';\nimport type { ComponentPropsWithRef, ReactNode } from 'react';\nimport { Button } from '../../particles/button/button.js';\nimport { Dialog } from '../../particles/dialog/dialog.js';\nimport { useIntl } from '../../sdk/i18n/client.js';\nimport { resolveAuthoredCopy } from '../../utils/resolve-authored-copy.js';\nimport {\n type AccountAddressBookOpenForm,\n useAccountAddressBook,\n useAccountAddressBookItem,\n} from './account-address-book.js';\nimport { firstLine } from './account-address-first-line.js';\n\n/**\n * Where the address form opens (specs/sfs-3441-address-book-form.md, RFC REQ-02 and REQ-03). The book's\n * root holds which form is open; these parts read it. A trigger opens a form, and a placement part\n * shows it: `AccountAddressBookFormSlot` in place, `AccountAddressBookFormDialog` in a dialog. A store\n * chooses by composition, and no prop selects a layout.\n */\n\nexport type AccountAddressBookAddTriggerProps = ComponentPropsWithRef<'button'> & {\n /** The button's text. A blank value falls back to the catalog copy. */\n label?: string;\n};\n\nexport type AccountAddressBookEditTriggerProps = ComponentPropsWithRef<'button'> & {\n /** The button's visible text. A blank value falls back to the catalog copy. */\n label?: string;\n};\n\nexport type AccountAddressBookFormSlotProps = ComponentPropsWithRef<'div'>;\n\nexport type AccountAddressBookFormDialogProps = Readonly<{\n children?: ReactNode;\n /** Goes on the dialog's popup, the one element a store can size and place: the dialog renders in a portal. */\n className?: string;\n /** The dialog's title. A blank value falls back to the catalog copy for the open mode. */\n title?: string;\n}>;\n\n/** A new key starts a new draft: a different address, or an add after an edit. */\nfunction formKey(form: AccountAddressBookOpenForm): string {\n return form.mode === 'edit' ? `edit:${form.address.id}` : 'add';\n}\n\nexport function AccountAddressBookAddTrigger({\n label,\n className,\n children,\n onClick,\n ...props\n}: AccountAddressBookAddTriggerProps) {\n const { open } = useAccountAddressBook();\n const intl = useIntl();\n\n return (\n <Button\n {...props}\n type=\"button\"\n className={className}\n onClick={(event) => {\n onClick?.(event);\n open({ mode: 'add' }, event.currentTarget);\n }}\n data-fs-account-address-book-add=\"\"\n >\n {children ?? resolveAuthoredCopy(label, intl.formatMessage({ id: 'fs/address-form.add' }))}\n </Button>\n );\n}\n\nexport function AccountAddressBookEditTrigger({\n label,\n className,\n children,\n onClick,\n ...props\n}: AccountAddressBookEditTriggerProps) {\n const { open } = useAccountAddressBook();\n const address = useAccountAddressBookItem();\n const intl = useIntl();\n const text = resolveAuthoredCopy(label, intl.formatMessage({ id: 'fs/address-form.edit' }));\n const line = firstLine(address);\n\n return (\n <Button\n aria-label={line === '' ? undefined : `${text} ${line}`}\n {...props}\n type=\"button\"\n className={className}\n onClick={(event) => {\n onClick?.(event);\n open({ mode: 'edit', address }, event.currentTarget);\n }}\n data-fs-account-address-book-edit=\"\"\n >\n {children ?? text}\n </Button>\n );\n}\n\nexport function AccountAddressBookFormSlot({ children, ...props }: AccountAddressBookFormSlotProps) {\n const { openForm } = useAccountAddressBook();\n\n if (openForm === null) return null;\n\n return (\n <div {...props} key={formKey(openForm)} data-fs-account-address-book-form-slot=\"\">\n {children}\n </div>\n );\n}\n\nexport function AccountAddressBookFormDialog({ title, className, children }: AccountAddressBookFormDialogProps) {\n const { openForm, close, formPending } = useAccountAddressBook();\n const intl = useIntl();\n const defaultTitle = intl.formatMessage({\n id: openForm?.mode === 'edit' ? 'fs/address-form.title.edit' : 'fs/address-form.title.add',\n });\n\n return (\n <Dialog.Root\n open={openForm !== null}\n onOpenChange={(next) => {\n // A save in flight keeps the form open: its refusal has to land where the shopper can see it.\n if (!next && !formPending) close();\n }}\n >\n <Dialog.Portal>\n <Dialog.Backdrop />\n <Dialog.Viewport>\n <Dialog.Popup className={className} data-fs-account-address-book-form-dialog=\"\">\n <Dialog.Title>{resolveAuthoredCopy(title, defaultTitle)}</Dialog.Title>\n <Dialog.Close aria-label={intl.formatMessage({ id: 'fs/a11y.close' })}>×</Dialog.Close>\n {openForm === null ? null : <div key={formKey(openForm)}>{children}</div>}\n </Dialog.Popup>\n </Dialog.Viewport>\n </Dialog.Portal>\n </Dialog.Root>\n );\n}\n\n// ---------------------------------------------------------------------------\n// Definitions\n// ---------------------------------------------------------------------------\n\nexport const AccountAddressBookAddTriggerDefinition = defineComponent<AccountAddressBookAddTriggerProps>({\n name: 'AccountAddressBookAddTrigger',\n importPath: '@vtex/faststore/components',\n component: AccountAddressBookAddTrigger,\n requiresContext: 'account-address-book',\n editor: { label: 'Account Address Book Add Trigger', category: 'action' },\n schema: {\n label: { type: 'string', label: 'Button label' },\n },\n guideline:\n 'Opens the address form in add mode. Shown in every state of the book, the empty one included, since that is where a first address is added. Place an AccountAddressBookFormSlot or an AccountAddressBookFormDialog beside it to show the form. Must be inside AccountAddressBookRoot.',\n});\n\nexport const AccountAddressBookEditTriggerDefinition = defineComponent<AccountAddressBookEditTriggerProps>({\n name: 'AccountAddressBookEditTrigger',\n importPath: '@vtex/faststore/components',\n component: AccountAddressBookEditTrigger,\n requiresContext: 'account-address-book-item',\n editor: { label: 'Account Address Book Edit Trigger', category: 'action' },\n schema: {\n label: { type: 'string', label: 'Button label' },\n },\n guideline:\n \"Opens the address form in edit mode for the address of the entry it sits in. Its accessible name adds the address's first line, so a list of them is told apart. Place it inside AccountAddressBookItem, and an AccountAddressBookFormSlot or an AccountAddressBookFormDialog under the root to show the form.\",\n});\n\nexport const AccountAddressBookFormSlotDefinition = defineComponent<AccountAddressBookFormSlotProps>({\n name: 'AccountAddressBookFormSlot',\n importPath: '@vtex/faststore/components',\n component: AccountAddressBookFormSlot,\n requiresContext: 'account-address-book',\n editor: { label: 'Account Address Book Form Slot', category: 'layout' },\n schema: {},\n guideline:\n 'Shows its children, an AccountAddressFormRoot, in place while a form is open, and nothing otherwise. Each open starts a new draft. Use it to open the form inline under the list; use AccountAddressBookFormDialog for an overlay. Must be inside AccountAddressBookRoot.',\n});\n\nexport const AccountAddressBookFormDialogDefinition = defineComponent<AccountAddressBookFormDialogProps>({\n name: 'AccountAddressBookFormDialog',\n importPath: '@vtex/faststore/components',\n component: AccountAddressBookFormDialog,\n requiresContext: 'account-address-book',\n editor: { label: 'Account Address Book Form Dialog', category: 'layout' },\n schema: {\n title: { type: 'string', label: 'Dialog title' },\n },\n guideline:\n 'Shows its children, an AccountAddressFormRoot, in a modal dialog while a form is open. Escape and the close button cancel the form and drop the draft, and focus returns to the control that opened it. Use AccountAddressBookFormSlot instead to open the form in place. Must be inside AccountAddressBookRoot.',\n});\n"],"mappings":";;;;;;;;;;;;;AA2CA,SAAS,QAAQ,MAA0C;CACzD,OAAO,KAAK,SAAS,SAAS,QAAQ,KAAK,QAAQ,OAAO;AAC5D;AAEA,SAAgB,6BAA6B,EAC3C,OACA,WACA,UACA,SACA,GAAG,SACiC;CACpC,MAAM,EAAE,SAAS,sBAAsB;CACvC,MAAM,OAAO,QAAQ;CAErB,OACE,oBAAC,QAAD;EACE,GAAI;EACJ,MAAK;EACM;EACX,UAAU,UAAU;GAClB,UAAU,KAAK;GACf,KAAK,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa;EAC3C;EACA,oCAAiC;EAEhC,UAAA,YAAY,oBAAoB,OAAO,KAAK,cAAc,EAAE,IAAI,sBAAsB,CAAC,CAAC;CACnF,CAAA;AAEZ;AAEA,SAAgB,8BAA8B,EAC5C,OACA,WACA,UACA,SACA,GAAG,SACkC;CACrC,MAAM,EAAE,SAAS,sBAAsB;CACvC,MAAM,UAAU,0BAA0B;CAC1C,MAAM,OAAO,QAAQ;CACrB,MAAM,OAAO,oBAAoB,OAAO,KAAK,cAAc,EAAE,IAAI,uBAAuB,CAAC,CAAC;CAC1F,MAAM,OAAO,UAAU,OAAO;CAE9B,OACE,oBAAC,QAAD;EACE,cAAY,SAAS,KAAK,KAAA,IAAY,GAAG,KAAK,GAAG;EACjD,GAAI;EACJ,MAAK;EACM;EACX,UAAU,UAAU;GAClB,UAAU,KAAK;GACf,KAAK;IAAE,MAAM;IAAQ;GAAQ,GAAG,MAAM,aAAa;EACrD;EACA,qCAAkC;EAEjC,UAAA,YAAY;CACP,CAAA;AAEZ;AAEA,SAAgB,2BAA2B,EAAE,UAAU,GAAG,SAA0C;CAClG,MAAM,EAAE,aAAa,sBAAsB;CAE3C,IAAI,aAAa,MAAM,OAAO;CAE9B,OACE,8BAAC,OAAD;EAAK,GAAI;EAAO,KAAK,QAAQ,QAAQ;EAAG,0CAAuC;CAE1E,GADF,QACE;AAET;AAEA,SAAgB,6BAA6B,EAAE,OAAO,WAAW,YAA+C;CAC9G,MAAM,EAAE,UAAU,OAAO,gBAAgB,sBAAsB;CAC/D,MAAM,OAAO,QAAQ;CACrB,MAAM,eAAe,KAAK,cAAc,EACtC,IAAI,UAAU,SAAS,SAAS,+BAA+B,4BACjE,CAAC;CAED,OACE,oBAAC,OAAO,MAAR;EACE,MAAM,aAAa;EACnB,eAAe,SAAS;GAEtB,IAAI,CAAC,QAAQ,CAAC,aAAa,MAAM;EACnC;EAEA,UAAA,qBAAC,OAAO,QAAR,EAAA,UAAA,CACE,oBAAC,OAAO,UAAR,CAAkB,CAAA,GAClB,oBAAC,OAAO,UAAR,EAAA,UACE,qBAAC,OAAO,OAAR;GAAyB;GAAW,4CAAyC;GAA7E,UAAA;IACE,oBAAC,OAAO,OAAR,EAAA,UAAe,oBAAoB,OAAO,YAAY,EAAgB,CAAA;IACtE,oBAAC,OAAO,OAAR;KAAc,cAAY,KAAK,cAAc,EAAE,IAAI,gBAAgB,CAAC;KAAG,UAAA;IAAe,CAAA;IACrF,aAAa,OAAO,OAAO,oBAAC,OAAD,EAA8B,SAAc,GAAlC,QAAQ,QAAQ,CAAkB;GAC5D;EACC,CAAA,EAAA,CAAA,CACJ,EAAA,CAAA;CACJ,CAAA;AAEjB;AAMA,MAAa,yCAAyC,gBAAmD;CACvG,MAAM;CACN,YAAY;CACZ,WAAW;CACX,iBAAiB;CACjB,QAAQ;EAAE,OAAO;EAAoC,UAAU;CAAS;CACxE,QAAQ,EACN,OAAO;EAAE,MAAM;EAAU,OAAO;CAAe,EACjD;CACA,WACE;AACJ,CAAC;AAED,MAAa,0CAA0C,gBAAoD;CACzG,MAAM;CACN,YAAY;CACZ,WAAW;CACX,iBAAiB;CACjB,QAAQ;EAAE,OAAO;EAAqC,UAAU;CAAS;CACzE,QAAQ,EACN,OAAO;EAAE,MAAM;EAAU,OAAO;CAAe,EACjD;CACA,WACE;AACJ,CAAC;AAED,MAAa,uCAAuC,gBAAiD;CACnG,MAAM;CACN,YAAY;CACZ,WAAW;CACX,iBAAiB;CACjB,QAAQ;EAAE,OAAO;EAAkC,UAAU;CAAS;CACtE,QAAQ,CAAC;CACT,WACE;AACJ,CAAC;AAED,MAAa,yCAAyC,gBAAmD;CACvG,MAAM;CACN,YAAY;CACZ,WAAW;CACX,iBAAiB;CACjB,QAAQ;EAAE,OAAO;EAAoC,UAAU;CAAS;CACxE,QAAQ,EACN,OAAO;EAAE,MAAM;EAAU,OAAO;CAAe,EACjD;CACA,WACE;AACJ,CAAC"}
1
+ {"version":3,"file":"account-address-book-form-parts.js","names":[],"sources":["../../../src/matter/account-address-book/account-address-book-form-parts.tsx"],"sourcesContent":["'use client';\n\nimport { type ContentValue, defineComponent, defineContentType, type MessageLocaleProp } from '@vtex/fs-core';\nimport type { ComponentPropsWithRef, ReactNode } from 'react';\nimport { Button } from '../../particles/button/button.js';\nimport { Dialog } from '../../particles/dialog/dialog.js';\nimport { useMessageFormatter } from '../../sdk/i18n/use-message-formatter.js';\nimport {\n type AccountAddressBookOpenForm,\n useAccountAddressBook,\n useAccountAddressBookItem,\n} from './account-address-book.js';\nimport { firstLine } from './account-address-first-line.js';\n\n/**\n * Where the address form opens (specs/sfs-3441-address-book-form.md, RFC REQ-02 and REQ-03). The book's\n * root holds which form is open; these parts read it. A trigger opens a form, and a placement part\n * shows it: `AccountAddressBookFormSlot` in place, `AccountAddressBookFormDialog` in a dialog. A store\n * chooses by composition, and no prop selects a layout.\n */\n\nexport type AccountAddressBookAddTriggerProps = ComponentPropsWithRef<'button'> &\n MessageLocaleProp & {\n $content?: ContentValue<typeof AccountAddressBookAddTriggerContent>;\n };\n\nexport type AccountAddressBookEditTriggerProps = ComponentPropsWithRef<'button'> &\n MessageLocaleProp & {\n $content?: ContentValue<typeof AccountAddressBookEditTriggerContent>;\n };\n\nexport type AccountAddressBookFormSlotProps = ComponentPropsWithRef<'div'>;\n\nexport type AccountAddressBookFormDialogProps = MessageLocaleProp &\n Readonly<{\n children?: ReactNode;\n /** Goes on the dialog's popup, the one element a store can size and place: the dialog renders in a portal. */\n className?: string;\n $content?: ContentValue<typeof AccountAddressBookFormDialogContent>;\n }>;\n\n/** A new key starts a new draft: a different address, or an add after an edit. */\nfunction formKey(form: AccountAddressBookOpenForm): string {\n return form.mode === 'edit' ? `edit:${form.address.id}` : 'add';\n}\n\nexport function AccountAddressBookAddTrigger({\n $content,\n $locale,\n className,\n children,\n onClick,\n ...props\n}: AccountAddressBookAddTriggerProps) {\n const { open } = useAccountAddressBook();\n const { format } = useMessageFormatter(AccountAddressBookAddTriggerContent, $content);\n\n return (\n <Button\n {...props}\n type=\"button\"\n className={className}\n onClick={(event) => {\n onClick?.(event);\n open({ mode: 'add' }, event.currentTarget);\n }}\n data-fs-account-address-book-add=\"\"\n >\n {children ?? format('label')}\n </Button>\n );\n}\n\nexport function AccountAddressBookEditTrigger({\n $content,\n $locale,\n className,\n children,\n onClick,\n ...props\n}: AccountAddressBookEditTriggerProps) {\n const { open } = useAccountAddressBook();\n const address = useAccountAddressBookItem();\n const text = useMessageFormatter(AccountAddressBookEditTriggerContent, $content).format('label');\n const line = firstLine(address);\n\n return (\n <Button\n aria-label={line === '' ? undefined : `${text} ${line}`}\n {...props}\n type=\"button\"\n className={className}\n onClick={(event) => {\n onClick?.(event);\n open({ mode: 'edit', address }, event.currentTarget);\n }}\n data-fs-account-address-book-edit=\"\"\n >\n {children ?? text}\n </Button>\n );\n}\n\nexport function AccountAddressBookFormSlot({ children, ...props }: AccountAddressBookFormSlotProps) {\n const { openForm } = useAccountAddressBook();\n\n if (openForm === null) return null;\n\n return (\n <div {...props} key={formKey(openForm)} data-fs-account-address-book-form-slot=\"\">\n {children}\n </div>\n );\n}\n\nexport function AccountAddressBookFormDialog({ $content, className, children }: AccountAddressBookFormDialogProps) {\n const { openForm, close, formPending } = useAccountAddressBook();\n const { format } = useMessageFormatter(AccountAddressBookFormDialogContent, $content);\n\n return (\n <Dialog.Root\n open={openForm !== null}\n onOpenChange={(next) => {\n // A save in flight keeps the form open: its refusal has to land where the shopper can see it.\n if (!next && !formPending) close();\n }}\n >\n <Dialog.Portal>\n <Dialog.Backdrop />\n <Dialog.Viewport>\n <Dialog.Popup className={className} data-fs-account-address-book-form-dialog=\"\">\n <Dialog.Title>{format(openForm?.mode === 'edit' ? 'titleEdit' : 'titleAdd')}</Dialog.Title>\n <Dialog.Close aria-label={format('closeLabel')}>×</Dialog.Close>\n {openForm === null ? null : <div key={formKey(openForm)}>{children}</div>}\n </Dialog.Popup>\n </Dialog.Viewport>\n </Dialog.Portal>\n </Dialog.Root>\n );\n}\n\nexport const AccountAddressBookAddTriggerContent = defineContentType({\n id: 'account-address-book-add-trigger',\n title: 'Account Address Book Add Trigger',\n description: 'Label of the control that opens the form to add an address.',\n schema: {\n type: 'object',\n additionalProperties: false,\n properties: {\n label: { type: 'string', title: 'Button label', format: 'icu-message', messageSource: 'Add address' },\n },\n },\n});\n\n// ---------------------------------------------------------------------------\n// Definitions\n// ---------------------------------------------------------------------------\n\nexport const AccountAddressBookAddTriggerDefinition = defineComponent<AccountAddressBookAddTriggerProps>({\n name: 'AccountAddressBookAddTrigger',\n importPath: '@vtex/faststore/components',\n component: AccountAddressBookAddTrigger,\n content: AccountAddressBookAddTriggerContent,\n requiresContext: 'account-address-book',\n editor: { label: 'Account Address Book Add Trigger', category: 'action' },\n schema: {},\n guideline:\n 'Opens the address form in add mode. Shown in every state of the book, the empty one included, since that is where a first address is added. Place an AccountAddressBookFormSlot or an AccountAddressBookFormDialog beside it to show the form. Must be inside AccountAddressBookRoot.',\n});\n\nexport const AccountAddressBookEditTriggerContent = defineContentType({\n id: 'account-address-book-edit-trigger',\n title: 'Account Address Book Edit Trigger',\n description: 'Label of the control that opens the form to edit an address.',\n schema: {\n type: 'object',\n additionalProperties: false,\n properties: {\n label: { type: 'string', title: 'Button label', format: 'icu-message', messageSource: 'Edit' },\n },\n },\n});\n\nexport const AccountAddressBookEditTriggerDefinition = defineComponent<AccountAddressBookEditTriggerProps>({\n name: 'AccountAddressBookEditTrigger',\n importPath: '@vtex/faststore/components',\n component: AccountAddressBookEditTrigger,\n content: AccountAddressBookEditTriggerContent,\n requiresContext: 'account-address-book-item',\n editor: { label: 'Account Address Book Edit Trigger', category: 'action' },\n schema: {},\n guideline:\n \"Opens the address form in edit mode for the address of the entry it sits in. Its accessible name adds the address's first line, so a list of them is told apart. Place it inside AccountAddressBookItem, and an AccountAddressBookFormSlot or an AccountAddressBookFormDialog under the root to show the form.\",\n});\n\nexport const AccountAddressBookFormSlotDefinition = defineComponent<AccountAddressBookFormSlotProps>({\n name: 'AccountAddressBookFormSlot',\n importPath: '@vtex/faststore/components',\n component: AccountAddressBookFormSlot,\n requiresContext: 'account-address-book',\n editor: { label: 'Account Address Book Form Slot', category: 'layout' },\n schema: {},\n guideline:\n 'Shows its children, an AccountAddressFormRoot, in place while a form is open, and nothing otherwise. Each open starts a new draft. Use it to open the form inline under the list; use AccountAddressBookFormDialog for an overlay. Must be inside AccountAddressBookRoot.',\n});\n\nexport const AccountAddressBookFormDialogContent = defineContentType({\n id: 'account-address-book-form-dialog',\n title: 'Account Address Book Form Dialog',\n description: \"The address form dialog's titles and its close button's name.\",\n schema: {\n type: 'object',\n additionalProperties: false,\n properties: {\n titleAdd: { type: 'string', title: 'Title when adding', format: 'icu-message', messageSource: 'Add address' },\n titleEdit: { type: 'string', title: 'Title when editing', format: 'icu-message', messageSource: 'Edit address' },\n closeLabel: { type: 'string', title: 'Close button name', format: 'icu-message', messageSource: 'Close' },\n },\n },\n});\n\nexport const AccountAddressBookFormDialogDefinition = defineComponent<AccountAddressBookFormDialogProps>({\n name: 'AccountAddressBookFormDialog',\n importPath: '@vtex/faststore/components',\n component: AccountAddressBookFormDialog,\n content: AccountAddressBookFormDialogContent,\n requiresContext: 'account-address-book',\n editor: { label: 'Account Address Book Form Dialog', category: 'layout' },\n schema: {},\n guideline:\n 'Shows its children, an AccountAddressFormRoot, in a modal dialog while a form is open. Escape and the close button cancel the form and drop the draft, and focus returns to the control that opened it. Use AccountAddressBookFormSlot instead to open the form in place. Must be inside AccountAddressBookRoot.',\n});\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { ContentValue, MessageLocaleProp } from "../../core/dist/define-content-type.js";
1
2
  import { ComponentDefinition } from "../../core/dist/define-component.js";
2
3
  import "../../core/dist/index.js";
3
4
  import { PageRef } from "../../sdk/navigation/types.js";
@@ -9,17 +10,37 @@ export type AccountAddressBookProfileNoticeSlice = Readonly<{
9
10
  id: string;
10
11
  homePhone?: string | null;
11
12
  }>;
12
- export type AccountAddressBookProfileNoticeProps = ComponentPropsWithRef<'div'> & {
13
+ export type AccountAddressBookProfileNoticeProps = ComponentPropsWithRef<'div'> & MessageLocaleProp & {
13
14
  /** Unwrapped `customerProfile` from the reactive runtime (arity-1 fragment); `null` until resolved. */
14
15
  $data?: AccountAddressBookProfileNoticeSlice | null;
15
16
  /** Where the link goes. A blank value falls back to the default. */
16
17
  href?: PageRef | string;
17
- /** The notice text. A blank value falls back to the catalog copy. */
18
- message?: string;
19
- /** The link's label. A blank value falls back to the catalog copy. */
20
- linkLabel?: string;
18
+ $content?: ContentValue<typeof AccountAddressBookProfileNoticeContent>;
19
+ };
20
+ export declare const AccountAddressBookProfileNoticeContent: {
21
+ readonly id: "account-address-book-profile-notice";
22
+ readonly title: "Account Address Book Profile Notice";
23
+ readonly description: "Notice that saved addresses need a phone number on the profile, and its link label.";
24
+ readonly schema: {
25
+ readonly type: "object";
26
+ readonly additionalProperties: false;
27
+ readonly properties: {
28
+ readonly message: {
29
+ readonly type: "string";
30
+ readonly title: "Notice message";
31
+ readonly format: "icu-message";
32
+ readonly messageSource: "Your saved addresses won't be offered at checkout until your profile has a phone number.";
33
+ };
34
+ readonly linkLabel: {
35
+ readonly type: "string";
36
+ readonly title: "Link label";
37
+ readonly format: "icu-message";
38
+ readonly messageSource: "Complete your profile";
39
+ };
40
+ };
41
+ };
21
42
  };
22
43
  export declare const AccountAddressBookProfileNoticeDefinition: ComponentDefinition<AccountAddressBookProfileNoticeProps>;
23
- export declare function AccountAddressBookProfileNotice({ $data: $dataProp, href, message, linkLabel, className, ...props }: AccountAddressBookProfileNoticeProps): import("react/jsx-runtime").JSX.Element | null;
44
+ export declare function AccountAddressBookProfileNotice({ $data: $dataProp, href, $content, $locale, className, ...props }: AccountAddressBookProfileNoticeProps): import("react/jsx-runtime").JSX.Element | null;
24
45
  //#endregion
25
46
  //# sourceMappingURL=account-address-book-profile-notice.d.ts.map