@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,13 +1,15 @@
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
5
  import { useStorefrontContext } from "../../sdk/context/storefront-context.js";
5
- import { FormattedMessage, useIntl } from "../../sdk/i18n/client.js";
6
+ import { useMessageFormatter } from "../../sdk/i18n/use-message-formatter.js";
6
7
  import { useCartShippingSimulation } from "../../sdk/shipping/use-cart-shipping-simulation.js";
7
8
  import { useShippingSimulation } from "../../sdk/shipping/use-shipping-simulation.js";
9
+ import { formatErrorCode } from "../../sdk/i18n/format-error-code.js";
8
10
  import { useDataOverride } from "../../sdk/data/data-override-context.js";
9
11
  import { isFiniteAmount } from "../cart/cart.js";
10
- import { createContext, useCallback, useContext, useMemo, useRef, useState } from "react";
12
+ import { createContext, createElement, useCallback, useContext, useMemo, useRef, useState } from "react";
11
13
  import { jsx } from "react/jsx-runtime";
12
14
  //#region src/matter/shipping-simulator/shipping-simulator.tsx
13
15
  const fragment = `
@@ -30,6 +32,12 @@ const fragment = `
30
32
  const SHIPPING_SIMULATOR_CONTEXT_UNSET = Symbol("ShippingSimulatorContextUnset");
31
33
  const ShippingSimulatorContext = createContext(SHIPPING_SIMULATOR_CONTEXT_UNSET);
32
34
  const OptionItemContext = createContext(null);
35
+ /**
36
+ * True under `ShippingSimulatorOptions`, whose `ul` makes each option an `li`. Where another root
37
+ * (a radio group) provides the option, an `li` has no list around it, so the option is a `div`.
38
+ * Module-private: the roots that reuse the option leaves do not provide it.
39
+ */
40
+ const OptionListContext = createContext(false);
33
41
  function useShippingSimulator() {
34
42
  const ctx = useContext(ShippingSimulatorContext);
35
43
  if (ctx === SHIPPING_SIMULATOR_CONTEXT_UNSET) throw new Error("ShippingSimulator components must be used inside ShippingSimulatorRoot.");
@@ -48,19 +56,19 @@ function formatPrice(value, locale, currency) {
48
56
  }
49
57
  const ESTIMATE_MESSAGE = {
50
58
  BUSINESS_DAYS: {
51
- id: "fs/shipping.estimate.in-business-days",
59
+ field: "inBusinessDays",
52
60
  variable: "days"
53
61
  },
54
62
  DAYS: {
55
- id: "fs/shipping.estimate.in-days",
63
+ field: "inDays",
56
64
  variable: "days"
57
65
  },
58
66
  HOURS: {
59
- id: "fs/shipping.estimate.in-hours",
67
+ field: "inHours",
60
68
  variable: "hours"
61
69
  },
62
70
  MINUTES: {
63
- id: "fs/shipping.estimate.in-minutes",
71
+ field: "inMinutes",
64
72
  variable: "minutes"
65
73
  }
66
74
  };
@@ -151,10 +159,34 @@ const ShippingSimulatorFormDefinition = defineComponent({
151
159
  requiresContext: "shipping-simulator",
152
160
  guideline: "Form wrapper that holds ShippingSimulatorInput and ShippingSimulatorSubmit; must be a descendant of ShippingSimulatorRoot."
153
161
  });
162
+ const ShippingSimulatorInputContent = defineContentType({
163
+ id: "shipping-simulator-input",
164
+ title: "Shipping Simulator Input",
165
+ description: "The postal code input's accessible name and placeholder.",
166
+ schema: {
167
+ type: "object",
168
+ additionalProperties: false,
169
+ properties: {
170
+ ariaLabel: {
171
+ type: "string",
172
+ title: "Accessible name",
173
+ format: "icu-message",
174
+ messageSource: "Postal code"
175
+ },
176
+ placeholder: {
177
+ type: "string",
178
+ title: "Placeholder",
179
+ format: "icu-message",
180
+ messageSource: "Enter your postal code"
181
+ }
182
+ }
183
+ }
184
+ });
154
185
  const ShippingSimulatorInputDefinition = defineComponent({
155
186
  name: "ShippingSimulatorInput",
156
187
  importPath: "@vtex/faststore/components",
157
188
  component: ShippingSimulatorInput,
189
+ content: ShippingSimulatorInputContent,
158
190
  editor: {
159
191
  label: "Shipping Simulator Input",
160
192
  category: "action"
@@ -165,7 +197,7 @@ const ShippingSimulatorInputDefinition = defineComponent({
165
197
  label: "Auto-format CEP (00000-000)"
166
198
  } },
167
199
  requiresContext: "shipping-simulator",
168
- guideline: "Postal-code text input; enable `format` to auto-hyphenate the CEP as the user types (e.g. 01310-100). The placeholder comes from the message catalog. Must be a descendant of ShippingSimulatorForm."
200
+ guideline: "Postal-code text input; enable `format` to auto-hyphenate the CEP as the user types (e.g. 01310-100). Its $content holds the ariaLabel and placeholder. Must be a descendant of ShippingSimulatorForm."
169
201
  });
170
202
  const ShippingSimulatorSubmitDefinition = defineComponent({
171
203
  name: "ShippingSimulatorSubmit",
@@ -179,10 +211,26 @@ const ShippingSimulatorSubmitDefinition = defineComponent({
179
211
  requiresContext: "shipping-simulator",
180
212
  guideline: "Submit button for the postal-code form; must be a descendant of ShippingSimulatorForm."
181
213
  });
214
+ const ShippingSimulatorLoadingContent = defineContentType({
215
+ id: "shipping-simulator-loading",
216
+ title: "Shipping Simulator Loading",
217
+ description: "Text shown while a simulation runs.",
218
+ schema: {
219
+ type: "object",
220
+ additionalProperties: false,
221
+ properties: { text: {
222
+ type: "string",
223
+ title: "Loading text",
224
+ format: "icu-message",
225
+ messageSource: "Calculating…"
226
+ } }
227
+ }
228
+ });
182
229
  const ShippingSimulatorLoadingDefinition = defineComponent({
183
230
  name: "ShippingSimulatorLoading",
184
231
  importPath: "@vtex/faststore/components",
185
232
  component: ShippingSimulatorLoading,
233
+ content: ShippingSimulatorLoadingContent,
186
234
  editor: {
187
235
  label: "Shipping Simulator Loading",
188
236
  category: "commerce"
@@ -191,17 +239,50 @@ const ShippingSimulatorLoadingDefinition = defineComponent({
191
239
  requiresContext: "shipping-simulator",
192
240
  guideline: "Loading indicator shown while a simulation is in progress; must be a descendant of ShippingSimulatorRoot."
193
241
  });
242
+ const ShippingSimulatorErrorContent = defineContentType({
243
+ id: "shipping-simulator-error",
244
+ title: "Shipping Simulator Error",
245
+ description: "Messages shown when the shipping cannot be calculated, one per error code.",
246
+ schema: {
247
+ type: "object",
248
+ additionalProperties: false,
249
+ properties: {
250
+ calculationFailed: {
251
+ type: "string",
252
+ title: "Calculation failed message",
253
+ description: "Shown when a store-supplied simulation callback fails.",
254
+ format: "icu-message",
255
+ messageSource: "Unable to calculate shipping. Try again."
256
+ },
257
+ invalidPostalCode: {
258
+ type: "string",
259
+ title: "Invalid postal code",
260
+ description: "Shown when the postal code is not found or is rejected.",
261
+ format: "icu-message",
262
+ messageSource: "Enter a valid postal code."
263
+ },
264
+ genericErrorMessage: {
265
+ type: "string",
266
+ title: "Generic failure message",
267
+ description: "Shown for a network failure and for every refusal the shopper cannot act on.",
268
+ format: "icu-message",
269
+ messageSource: "Unable to calculate shipping. Try again."
270
+ }
271
+ }
272
+ }
273
+ });
194
274
  const ShippingSimulatorErrorDefinition = defineComponent({
195
275
  name: "ShippingSimulatorError",
196
276
  importPath: "@vtex/faststore/components",
197
277
  component: ShippingSimulatorError,
278
+ content: ShippingSimulatorErrorContent,
198
279
  editor: {
199
280
  label: "Shipping Simulator Error",
200
281
  category: "commerce"
201
282
  },
202
283
  schema: {},
203
284
  requiresContext: "shipping-simulator",
204
- guideline: "Error banner shown when the simulation returns validation errors; must be a descendant of ShippingSimulatorRoot."
285
+ guideline: "Error banner shown when the simulation returns errors; renders nothing otherwise. Words each error code from its $content: invalidPostalCode for a rejected postal code, genericErrorMessage for a network failure and every other refusal, calculationFailed for a failed simulation callback. An unknown code shows genericErrorMessage; authored children replace the message. Must be a descendant of ShippingSimulatorRoot."
205
286
  });
206
287
  const ShippingSimulatorOptionsDefinition = defineComponent({
207
288
  name: "ShippingSimulatorOptions",
@@ -249,34 +330,128 @@ const ShippingSimulatorOptionNameDefinition = defineComponent({
249
330
  requiresContext: "shipping-simulator-option",
250
331
  guideline: "Displays the shipping option name (e.g. \"Entrega Normal\"); must be a descendant of ShippingSimulatorOption."
251
332
  });
333
+ const ShippingSimulatorOptionEstimateContent = defineContentType({
334
+ id: "shipping-simulator-option-estimate",
335
+ title: "Shipping Simulator Option Estimate",
336
+ description: "Delivery estimate sentences, one per unit.",
337
+ schema: {
338
+ type: "object",
339
+ additionalProperties: false,
340
+ properties: {
341
+ today: {
342
+ type: "string",
343
+ title: "Arrives today",
344
+ format: "icu-message",
345
+ messageSource: "arrives today"
346
+ },
347
+ inBusinessDays: {
348
+ type: "string",
349
+ title: "In business days",
350
+ format: "icu-message",
351
+ messageSource: "in {days, plural, one {# business day} other {# business days}}",
352
+ messageArguments: {
353
+ type: "object",
354
+ properties: { days: { type: "integer" } }
355
+ },
356
+ messageExample: { days: 3 }
357
+ },
358
+ inDays: {
359
+ type: "string",
360
+ title: "In days",
361
+ format: "icu-message",
362
+ messageSource: "in {days, plural, one {# day} other {# days}}",
363
+ messageArguments: {
364
+ type: "object",
365
+ properties: { days: { type: "integer" } }
366
+ },
367
+ messageExample: { days: 3 }
368
+ },
369
+ inHours: {
370
+ type: "string",
371
+ title: "In hours",
372
+ format: "icu-message",
373
+ messageSource: "in {hours, plural, one {# hour} other {# hours}}",
374
+ messageArguments: {
375
+ type: "object",
376
+ properties: { hours: { type: "integer" } }
377
+ },
378
+ messageExample: { hours: 4 }
379
+ },
380
+ inMinutes: {
381
+ type: "string",
382
+ title: "In minutes",
383
+ format: "icu-message",
384
+ messageSource: "in {minutes, plural, one {# minute} other {# minutes}}",
385
+ messageArguments: {
386
+ type: "object",
387
+ properties: { minutes: { type: "integer" } }
388
+ },
389
+ messageExample: { minutes: 30 }
390
+ }
391
+ }
392
+ }
393
+ });
252
394
  const ShippingSimulatorOptionEstimateDefinition = defineComponent({
253
395
  name: "ShippingSimulatorOptionEstimate",
254
396
  importPath: "@vtex/faststore/components",
255
397
  component: ShippingSimulatorOptionEstimate,
398
+ content: ShippingSimulatorOptionEstimateContent,
256
399
  editor: {
257
400
  label: "Option Estimate",
258
401
  category: "commerce"
259
402
  },
260
403
  schema: {},
261
404
  requiresContext: "shipping-simulator-option",
262
- guideline: "Displays the delivery estimate in the active locale, one whole sentence per unit from the message catalog; a zero-value estimate (any unit) reads as an arrival-today message instead, since \"chega em 0 dias úteis\" reads wrong. Must be a descendant of ShippingSimulatorOption."
405
+ guideline: "Displays the delivery estimate in the active locale, one whole sentence per unit from its $content; a zero-value estimate (any unit) reads as an arrival-today message instead, since \"chega em 0 dias úteis\" reads wrong. Must be a descendant of ShippingSimulatorOption."
406
+ });
407
+ const ShippingSimulatorOptionPriceContent = defineContentType({
408
+ id: "shipping-simulator-option-price",
409
+ title: "Shipping Simulator Option Price",
410
+ description: "Text shown instead of a zero shipping price.",
411
+ schema: {
412
+ type: "object",
413
+ additionalProperties: false,
414
+ properties: { freeLabel: {
415
+ type: "string",
416
+ title: "Free price label",
417
+ format: "icu-message",
418
+ messageSource: "Free"
419
+ } }
420
+ }
263
421
  });
264
422
  const ShippingSimulatorOptionPriceDefinition = defineComponent({
265
423
  name: "ShippingSimulatorOptionPrice",
266
424
  importPath: "@vtex/faststore/components",
267
425
  component: ShippingSimulatorOptionPrice,
426
+ content: ShippingSimulatorOptionPriceContent,
268
427
  editor: {
269
428
  label: "Option Price",
270
429
  category: "commerce"
271
430
  },
272
431
  schema: {},
273
432
  requiresContext: "shipping-simulator-option",
274
- guideline: "Displays the shipping price, showing the free-shipping label from the message catalog when the amount is zero; must be a descendant of ShippingSimulatorOption."
433
+ guideline: "Displays the shipping price, showing its $content.freeLabel when the amount is zero; must be a descendant of ShippingSimulatorOption."
434
+ });
435
+ const ShippingSimulatorOptionFreeBadgeContent = defineContentType({
436
+ id: "shipping-simulator-option-free-badge",
437
+ title: "Shipping Simulator Option Free Badge",
438
+ description: "Badge text of a free shipping option.",
439
+ schema: {
440
+ type: "object",
441
+ additionalProperties: false,
442
+ properties: { text: {
443
+ type: "string",
444
+ title: "Badge text",
445
+ format: "icu-message",
446
+ messageSource: "Free shipping"
447
+ } }
448
+ }
275
449
  });
276
450
  const ShippingSimulatorOptionFreeBadgeDefinition = defineComponent({
277
451
  name: "ShippingSimulatorOptionFreeBadge",
278
452
  importPath: "@vtex/faststore/components",
279
453
  component: ShippingSimulatorOptionFreeBadge,
454
+ content: ShippingSimulatorOptionFreeBadgeContent,
280
455
  editor: {
281
456
  label: "Option Free Badge",
282
457
  category: "commerce"
@@ -285,22 +460,37 @@ const ShippingSimulatorOptionFreeBadgeDefinition = defineComponent({
285
460
  requiresContext: "shipping-simulator-option",
286
461
  guideline: "Badge shown only when the current option price is zero (free shipping); renders nothing otherwise. Must be a descendant of ShippingSimulatorOption. Orthogonal to the free-price replacement text owned by ShippingSimulatorOptionPrice."
287
462
  });
463
+ const ShippingSimulatorEmptyContent = defineContentType({
464
+ id: "shipping-simulator-empty",
465
+ title: "Shipping Simulator Empty",
466
+ description: "Message shown when a simulation returns no shipping options.",
467
+ schema: {
468
+ type: "object",
469
+ additionalProperties: false,
470
+ properties: { text: {
471
+ type: "string",
472
+ title: "Empty message",
473
+ format: "icu-message",
474
+ messageSource: "No delivery options available for this address."
475
+ } }
476
+ }
477
+ });
288
478
  const ShippingSimulatorEmptyDefinition = defineComponent({
289
479
  name: "ShippingSimulatorEmpty",
290
480
  importPath: "@vtex/faststore/components",
291
481
  component: ShippingSimulatorEmpty,
482
+ content: ShippingSimulatorEmptyContent,
292
483
  editor: {
293
484
  label: "Shipping Simulator Empty",
294
485
  category: "commerce"
295
486
  },
296
487
  schema: {},
297
488
  requiresContext: "shipping-simulator",
298
- guideline: "Message shown when a simulation ran and returned no shipping options (e.g. no carrier common to the whole cart). Renders nothing before the first submit and nothing when options or an error are present. The copy comes from the message catalog; pass children to override. Must be a descendant of a shipping-simulator Root."
489
+ guideline: "Message shown when a simulation ran and returned no shipping options (e.g. no carrier common to the whole cart). Renders nothing before the first submit and nothing when options or an error are present. The copy is its $content.text; pass children to override. Must be a descendant of a shipping-simulator Root."
299
490
  });
300
491
  function ShippingSimulatorRoot({ country = "BRA", quantity = 1, variantId: variantIdProp, seller: sellerProp, $data: $dataProp, shippingOptions: shippingOptionsProp, userErrors: userErrorsProp, onSimulate: onSimulateProp, onResult, className, children, ...props }) {
301
492
  const defaultSimulate = useShippingSimulation();
302
493
  const onSimulate = onSimulateProp ?? defaultSimulate;
303
- const intl = useIntl();
304
494
  const extracted = extractProductFromData(useDataOverride($dataProp));
305
495
  const variantId = variantIdProp ?? extracted.variantId;
306
496
  const seller = sellerProp ?? extracted.seller;
@@ -336,8 +526,8 @@ function ShippingSimulatorRoot({ country = "BRA", quantity = 1, variantId: varia
336
526
  }).catch(() => {
337
527
  if (submissionToken.current !== token) return;
338
528
  const fallback = {
339
- code: "UNKNOWN",
340
- message: intl.formatMessage({ id: "fs/shipping.calculation-failed" })
529
+ code: "CALCULATION_FAILED",
530
+ message: ""
341
531
  };
342
532
  setShippingOptions(null);
343
533
  setUserErrors([fallback]);
@@ -349,7 +539,6 @@ function ShippingSimulatorRoot({ country = "BRA", quantity = 1, variantId: varia
349
539
  });
350
540
  }, [
351
541
  country,
352
- intl,
353
542
  onResult,
354
543
  onSimulate,
355
544
  postalCode,
@@ -384,7 +573,6 @@ function ShippingSimulatorRoot({ country = "BRA", quantity = 1, variantId: varia
384
573
  function CartShippingSimulatorRoot({ country = "BRA", shippingOptions: shippingOptionsProp, userErrors: userErrorsProp, onSimulate: onSimulateProp, onResult, className, children, ...props }) {
385
574
  const defaultSimulate = useCartShippingSimulation();
386
575
  const onSimulate = onSimulateProp ?? defaultSimulate;
387
- const intl = useIntl();
388
576
  const [postalCode, setPostalCode] = useState("");
389
577
  const [status, setStatus] = useState(() => {
390
578
  if (userErrorsProp?.length) return "error";
@@ -413,8 +601,8 @@ function CartShippingSimulatorRoot({ country = "BRA", shippingOptions: shippingO
413
601
  }).catch(() => {
414
602
  if (submissionToken.current !== token) return;
415
603
  const fallback = {
416
- code: "UNKNOWN",
417
- message: intl.formatMessage({ id: "fs/shipping.calculation-failed" })
604
+ code: "CALCULATION_FAILED",
605
+ message: ""
418
606
  };
419
607
  setShippingOptions(null);
420
608
  setUserErrors([fallback]);
@@ -426,7 +614,6 @@ function CartShippingSimulatorRoot({ country = "BRA", shippingOptions: shippingO
426
614
  });
427
615
  }, [
428
616
  country,
429
- intl,
430
617
  onResult,
431
618
  onSimulate,
432
619
  postalCode
@@ -468,19 +655,19 @@ function ShippingSimulatorForm({ className, children, ...props }) {
468
655
  children
469
656
  });
470
657
  }
471
- function ShippingSimulatorInput({ className, placeholder, "aria-label": ariaLabel, format = false, ...props }) {
658
+ function ShippingSimulatorInput({ $content, $locale, className, format = false, ...props }) {
472
659
  const { postalCode, setPostalCode } = useShippingSimulator();
473
- const intl = useIntl();
660
+ const messages = useMessageFormatter(ShippingSimulatorInputContent, $content);
474
661
  const displayValue = format ? formatPostalCode(postalCode) : postalCode;
475
662
  return /* @__PURE__ */ jsx("input", {
476
663
  ...props,
477
- "aria-label": ariaLabel ?? intl.formatMessage({ id: "fs/shipping.postal-code.aria-label" }),
664
+ "aria-label": messages.format("ariaLabel"),
478
665
  className,
479
666
  "data-fs-shipping-simulator-input": "",
480
667
  type: "text",
481
668
  value: displayValue,
482
669
  onChange: (event) => setPostalCode(normalizePostalCode(event.target.value)),
483
- placeholder: placeholder ?? intl.formatMessage({ id: "fs/shipping.postal-code.placeholder" }),
670
+ placeholder: messages.format("placeholder"),
484
671
  pattern: "\\d{5}-?\\d{3}",
485
672
  maxLength: 9,
486
673
  inputMode: "numeric",
@@ -500,19 +687,30 @@ function ShippingSimulatorSubmit({ className, children, disabled, ...props }) {
500
687
  children
501
688
  });
502
689
  }
503
- function ShippingSimulatorLoading({ className, children, ...props }) {
690
+ function ShippingSimulatorLoading({ $content, $locale, className, children, ...props }) {
504
691
  const { status } = useShippingSimulator();
692
+ const { format } = useMessageFormatter(ShippingSimulatorLoadingContent, $content);
505
693
  if (status !== "loading") return null;
506
694
  return /* @__PURE__ */ jsx("output", {
507
695
  ...props,
508
696
  "aria-live": "polite",
509
697
  className,
510
698
  "data-fs-shipping-simulator-loading": "",
511
- children: children ?? /* @__PURE__ */ jsx(FormattedMessage, { id: "fs/shipping.calculating" })
699
+ children: children ?? format("text")
512
700
  });
513
701
  }
514
- function ShippingSimulatorError({ className, children, ...props }) {
702
+ /**
703
+ * The message for each code a simulation can return. The default hooks collapse every server code but
704
+ * `INVALID_POSTAL_CODE`, and every transport failure, into `UNKNOWN`.
705
+ */
706
+ const SHIPPING_SIMULATOR_ERROR_FIELDS = {
707
+ INVALID_POSTAL_CODE: "invalidPostalCode",
708
+ UNKNOWN: "genericErrorMessage",
709
+ CALCULATION_FAILED: "calculationFailed"
710
+ };
711
+ function ShippingSimulatorError({ $content, $locale, className, children, ...props }) {
515
712
  const { userErrors } = useShippingSimulator();
713
+ const { format } = useMessageFormatter(ShippingSimulatorErrorContent, $content);
516
714
  const [firstError] = userErrors;
517
715
  if (!firstError) return null;
518
716
  return /* @__PURE__ */ jsx("div", {
@@ -520,7 +718,7 @@ function ShippingSimulatorError({ className, children, ...props }) {
520
718
  role: "alert",
521
719
  className,
522
720
  "data-fs-shipping-simulator-error": "",
523
- children: children ?? firstError.message
721
+ children: children ?? formatErrorCode(ShippingSimulatorErrorContent, SHIPPING_SIMULATOR_ERROR_FIELDS, firstError, format, "genericErrorMessage")
524
722
  });
525
723
  }
526
724
  function ShippingSimulatorOptions({ sortBy, maxOptions, className, children, ...props }) {
@@ -539,21 +737,24 @@ function ShippingSimulatorOptions({ sortBy, maxOptions, className, children, ...
539
737
  ...props,
540
738
  className,
541
739
  "data-fs-shipping-simulator-options": "",
542
- children: visibleOptions.map((option) => /* @__PURE__ */ jsx(OptionItemContext, {
543
- value: option,
544
- children
545
- }, option.id))
740
+ children: /* @__PURE__ */ jsx(OptionListContext, {
741
+ value: true,
742
+ children: visibleOptions.map((option) => /* @__PURE__ */ jsx(OptionItemContext, {
743
+ value: option,
744
+ children
745
+ }, option.id))
746
+ })
546
747
  });
547
748
  }
548
749
  function ShippingSimulatorOption({ className, children, ...props }) {
549
750
  const option = useOptionItem();
550
- return /* @__PURE__ */ jsx("li", {
751
+ const inList = useContext(OptionListContext);
752
+ return createElement(inList ? "li" : "div", {
551
753
  ...props,
552
754
  className,
553
755
  "data-fs-shipping-simulator-option": "",
554
- "data-fs-shipping-simulator-option-channel": option.channel,
555
- children
556
- });
756
+ "data-fs-shipping-simulator-option-channel": option.channel
757
+ }, children);
557
758
  }
558
759
  function ShippingSimulatorOptionName({ className, children, ...props }) {
559
760
  const option = useOptionItem();
@@ -564,52 +765,57 @@ function ShippingSimulatorOptionName({ className, children, ...props }) {
564
765
  children: children ?? option.name
565
766
  });
566
767
  }
567
- function ShippingSimulatorOptionEstimate({ className, children, ...props }) {
768
+ function ShippingSimulatorOptionEstimate({ $content, $locale, className, children, ...props }) {
568
769
  const option = useOptionItem();
569
- const intl = useIntl();
570
- const { value, unit } = option.shippingEstimate;
571
- const { id, variable } = ESTIMATE_MESSAGE[unit];
572
- const text = value === 0 ? intl.formatMessage({ id: "fs/shipping.estimate.today" }) : intl.formatMessage({ id }, { [variable]: value });
770
+ const { format } = useMessageFormatter(ShippingSimulatorOptionEstimateContent, $content);
771
+ function estimate() {
772
+ const { value, unit } = option.shippingEstimate;
773
+ if (value === 0) return format("today");
774
+ const { field, variable } = ESTIMATE_MESSAGE[unit];
775
+ return format(field, { [variable]: value });
776
+ }
573
777
  return /* @__PURE__ */ jsx("span", {
574
778
  ...props,
575
779
  className,
576
780
  "data-fs-shipping-simulator-option-estimate": "",
577
- children: children ?? text
781
+ children: children ?? estimate()
578
782
  });
579
783
  }
580
784
  function isFreeAmount(amount) {
581
785
  return isFiniteAmount(amount) && Number(amount) === 0;
582
786
  }
583
- function ShippingSimulatorOptionPrice({ className, children, ...props }) {
787
+ function ShippingSimulatorOptionPrice({ $content, $locale, className, children, ...props }) {
584
788
  const option = useOptionItem();
585
- const intl = useIntl();
789
+ const { format } = useMessageFormatter(ShippingSimulatorOptionPriceContent, $content);
586
790
  const { locale, currency } = useStorefrontContext();
587
- const text = isFreeAmount(option.price.amount) ? intl.formatMessage({ id: "fs/shipping.free-price" }) : formatPrice(Number(option.price.amount), locale, currency);
588
791
  return /* @__PURE__ */ jsx("span", {
589
792
  ...props,
590
793
  className,
591
794
  "data-fs-shipping-simulator-option-price": "",
592
- children: children ?? text
795
+ children: children ?? (isFreeAmount(option.price.amount) ? format("freeLabel") : formatPrice(Number(option.price.amount), locale, currency))
593
796
  });
594
797
  }
595
- function ShippingSimulatorOptionFreeBadge({ className, children, ...props }) {
596
- if (!isFreeAmount(useOptionItem().price.amount)) return null;
798
+ function ShippingSimulatorOptionFreeBadge({ $content, $locale, className, children, ...props }) {
799
+ const option = useOptionItem();
800
+ const { format } = useMessageFormatter(ShippingSimulatorOptionFreeBadgeContent, $content);
801
+ if (!isFreeAmount(option.price.amount)) return null;
597
802
  return /* @__PURE__ */ jsx("span", {
598
803
  ...props,
599
804
  className,
600
805
  "data-fs-shipping-simulator-option-free-badge": "",
601
- children: children ?? /* @__PURE__ */ jsx(FormattedMessage, { id: "fs/shipping.free-badge" })
806
+ children: children ?? format("text")
602
807
  });
603
808
  }
604
- function ShippingSimulatorEmpty({ className, children, ...props }) {
809
+ function ShippingSimulatorEmpty({ $content, $locale, className, children, ...props }) {
605
810
  const { shippingOptions, userErrors } = useShippingSimulator();
811
+ const { format } = useMessageFormatter(ShippingSimulatorEmptyContent, $content);
606
812
  if (!(Array.isArray(shippingOptions) && shippingOptions.length === 0 && userErrors.length === 0)) return null;
607
813
  return /* @__PURE__ */ jsx("output", {
608
814
  ...props,
609
815
  "aria-live": "polite",
610
816
  className,
611
817
  "data-fs-shipping-simulator-empty": "",
612
- children: children ?? /* @__PURE__ */ jsx(FormattedMessage, { id: "fs/shipping.no-options" })
818
+ children: children ?? format("text")
613
819
  });
614
820
  }
615
821
  const ShippingSimulator = {
@@ -643,6 +849,6 @@ const CartShippingSimulator = {
643
849
  Empty: ShippingSimulatorEmpty
644
850
  };
645
851
  //#endregion
646
- export { CartShippingSimulator, CartShippingSimulatorRoot, CartShippingSimulatorRootDefinition, ESTIMATE_MESSAGE, OptionItemContext, ShippingSimulator, ShippingSimulatorContext, ShippingSimulatorEmpty, ShippingSimulatorEmptyDefinition, ShippingSimulatorError, ShippingSimulatorErrorDefinition, ShippingSimulatorForm, ShippingSimulatorFormDefinition, ShippingSimulatorInput, ShippingSimulatorInputDefinition, ShippingSimulatorLoading, ShippingSimulatorLoadingDefinition, ShippingSimulatorOption, ShippingSimulatorOptionDefinition, ShippingSimulatorOptionEstimate, ShippingSimulatorOptionEstimateDefinition, ShippingSimulatorOptionFreeBadge, ShippingSimulatorOptionFreeBadgeDefinition, ShippingSimulatorOptionName, ShippingSimulatorOptionNameDefinition, ShippingSimulatorOptionPrice, ShippingSimulatorOptionPriceDefinition, ShippingSimulatorOptions, ShippingSimulatorOptionsDefinition, ShippingSimulatorRoot, ShippingSimulatorRootDefinition, ShippingSimulatorSubmit, ShippingSimulatorSubmitDefinition };
852
+ export { CartShippingSimulator, CartShippingSimulatorRoot, CartShippingSimulatorRootDefinition, ESTIMATE_MESSAGE, OptionItemContext, SHIPPING_SIMULATOR_ERROR_FIELDS, ShippingSimulator, ShippingSimulatorContext, ShippingSimulatorEmpty, ShippingSimulatorEmptyContent, ShippingSimulatorEmptyDefinition, ShippingSimulatorError, ShippingSimulatorErrorContent, ShippingSimulatorErrorDefinition, ShippingSimulatorForm, ShippingSimulatorFormDefinition, ShippingSimulatorInput, ShippingSimulatorInputContent, ShippingSimulatorInputDefinition, ShippingSimulatorLoading, ShippingSimulatorLoadingContent, ShippingSimulatorLoadingDefinition, ShippingSimulatorOption, ShippingSimulatorOptionDefinition, ShippingSimulatorOptionEstimate, ShippingSimulatorOptionEstimateContent, ShippingSimulatorOptionEstimateDefinition, ShippingSimulatorOptionFreeBadge, ShippingSimulatorOptionFreeBadgeContent, ShippingSimulatorOptionFreeBadgeDefinition, ShippingSimulatorOptionName, ShippingSimulatorOptionNameDefinition, ShippingSimulatorOptionPrice, ShippingSimulatorOptionPriceContent, ShippingSimulatorOptionPriceDefinition, ShippingSimulatorOptions, ShippingSimulatorOptionsDefinition, ShippingSimulatorRoot, ShippingSimulatorRootDefinition, ShippingSimulatorSubmit, ShippingSimulatorSubmitDefinition, isFreeAmount };
647
853
 
648
854
  //# sourceMappingURL=shipping-simulator.js.map