@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
@@ -3,7 +3,7 @@ import { defineComponent } from "../../core/dist/define-component.js";
3
3
  import { defineContentType } from "../../core/dist/define-content-type.js";
4
4
  import "../../core/dist/index.js";
5
5
  import { resolveSafeHref } from "../../utils/safe-href.js";
6
- import { useIntl } from "../../sdk/i18n/client.js";
6
+ import { useMessageFormatter } from "../../sdk/i18n/use-message-formatter.js";
7
7
  import { StorefrontLink } from "../../sdk/navigation/storefront-link.js";
8
8
  import { useStorefrontRoute } from "../../sdk/navigation/use-storefront-route.js";
9
9
  import { useStorefrontSearchParams } from "../../sdk/navigation/use-storefront-search-params.js";
@@ -47,104 +47,245 @@ const fragment = `
47
47
  const OrderListContent = defineContentType({
48
48
  id: "order-list",
49
49
  title: "Order List",
50
- description: "The count, empty, error, and advance sentences for the orders list.",
50
+ description: "The count, empty, error, and advance sentences for the orders list, its column headers, and its row status labels.",
51
51
  schema: {
52
52
  type: "object",
53
53
  additionalProperties: false,
54
54
  properties: {
55
55
  label: {
56
56
  type: "string",
57
- title: "Accessible name"
57
+ title: "Accessible name",
58
+ description: "Accessible name of the list region.",
59
+ format: "icu-message",
60
+ messageSource: "Orders"
58
61
  },
59
62
  count: {
60
63
  type: "string",
61
- title: "Count"
64
+ title: "Count",
65
+ format: "icu-message",
66
+ messageSource: "{count} of {total}",
67
+ messageArguments: {
68
+ type: "object",
69
+ properties: {
70
+ count: { type: "integer" },
71
+ total: { type: "integer" }
72
+ }
73
+ },
74
+ messageExample: {
75
+ count: 25,
76
+ total: 40
77
+ }
62
78
  },
63
79
  countIncomplete: {
64
80
  type: "string",
65
- title: "Incomplete count"
81
+ title: "Incomplete count",
82
+ format: "icu-message",
83
+ messageSource: "{count} of {total}, count incomplete",
84
+ messageArguments: {
85
+ type: "object",
86
+ properties: {
87
+ count: { type: "integer" },
88
+ total: { type: "integer" }
89
+ }
90
+ },
91
+ messageExample: {
92
+ count: 25,
93
+ total: 40
94
+ }
66
95
  },
67
96
  emptyAccount: {
68
97
  type: "string",
69
- title: "Empty account"
98
+ title: "Empty account",
99
+ format: "icu-message",
100
+ messageSource: "You have no orders yet"
70
101
  },
71
102
  emptyView: {
72
103
  type: "string",
73
- title: "Empty view"
104
+ title: "Empty view",
105
+ format: "icu-message",
106
+ messageSource: "No orders in this view"
74
107
  },
75
108
  emptySearch: {
76
109
  type: "string",
77
- title: "Empty search"
110
+ title: "Empty search",
111
+ format: "icu-message",
112
+ messageSource: "No orders match this search"
78
113
  },
79
114
  pastEnd: {
80
115
  type: "string",
81
- title: "Past the end"
116
+ title: "Past the end",
117
+ format: "icu-message",
118
+ messageSource: "This page has no orders"
82
119
  },
83
120
  walkStopped: {
84
121
  type: "string",
85
- title: "Walk stopped"
122
+ title: "Walk stopped",
123
+ format: "icu-message",
124
+ messageSource: "More orders may exist"
86
125
  },
87
126
  error: {
88
127
  type: "string",
89
- title: "Error"
128
+ title: "Error",
129
+ format: "icu-message",
130
+ messageSource: "Could not load orders"
90
131
  },
91
132
  retry: {
92
133
  type: "string",
93
- title: "Retry"
134
+ title: "Retry",
135
+ format: "icu-message",
136
+ messageSource: "Try again"
94
137
  },
95
138
  next: {
96
139
  type: "string",
97
- title: "Next page"
140
+ title: "Next page",
141
+ format: "icu-message",
142
+ messageSource: "Next page"
98
143
  },
99
144
  loadMore: {
100
145
  type: "string",
101
- title: "Load more"
146
+ title: "Load more",
147
+ format: "icu-message",
148
+ messageSource: "Load more"
102
149
  },
103
150
  firstPage: {
104
151
  type: "string",
105
- title: "First page"
152
+ title: "First page",
153
+ format: "icu-message",
154
+ messageSource: "First page"
106
155
  },
107
156
  clear: {
108
157
  type: "string",
109
- title: "Clear search"
158
+ title: "Clear search",
159
+ format: "icu-message",
160
+ messageSource: "Clear search"
110
161
  },
111
162
  startShopping: {
112
163
  type: "string",
113
- title: "Start shopping"
164
+ title: "Start shopping",
165
+ format: "icu-message",
166
+ messageSource: "Start shopping"
167
+ },
168
+ columnId: {
169
+ type: "string",
170
+ title: "Order column",
171
+ description: "Header of the order id column.",
172
+ format: "icu-message",
173
+ messageSource: "Order"
174
+ },
175
+ columnPlaced: {
176
+ type: "string",
177
+ title: "Placed column",
178
+ description: "Header of the placed date column.",
179
+ format: "icu-message",
180
+ messageSource: "Placed"
181
+ },
182
+ columnTotal: {
183
+ type: "string",
184
+ title: "Total column",
185
+ description: "Header of the total column.",
186
+ format: "icu-message",
187
+ messageSource: "Total"
188
+ },
189
+ columnItems: {
190
+ type: "string",
191
+ title: "Items column",
192
+ description: "Header of the items column.",
193
+ format: "icu-message",
194
+ messageSource: "Items"
195
+ },
196
+ columnStatus: {
197
+ type: "string",
198
+ title: "Status column",
199
+ description: "Header of the status column.",
200
+ format: "icu-message",
201
+ messageSource: "Status"
202
+ },
203
+ columnEstimate: {
204
+ type: "string",
205
+ title: "Estimate column",
206
+ description: "Header of the delivery estimate column.",
207
+ format: "icu-message",
208
+ messageSource: "Estimate"
209
+ },
210
+ statusInProgress: {
211
+ type: "string",
212
+ title: "In progress",
213
+ description: "Row status.",
214
+ format: "icu-message",
215
+ messageSource: "In progress"
216
+ },
217
+ statusCancellationRequested: {
218
+ type: "string",
219
+ title: "Cancellation requested",
220
+ description: "Row status.",
221
+ format: "icu-message",
222
+ messageSource: "Cancellation requested"
223
+ },
224
+ statusCancelled: {
225
+ type: "string",
226
+ title: "Cancelled",
227
+ description: "Row status.",
228
+ format: "icu-message",
229
+ messageSource: "Canceled"
230
+ },
231
+ statusDelivered: {
232
+ type: "string",
233
+ title: "Delivered",
234
+ description: "Row status.",
235
+ format: "icu-message",
236
+ messageSource: "Delivered"
237
+ },
238
+ statusShipped: {
239
+ type: "string",
240
+ title: "Shipped",
241
+ description: "Row status.",
242
+ format: "icu-message",
243
+ messageSource: "Shipped"
244
+ },
245
+ statusReadyForPickup: {
246
+ type: "string",
247
+ title: "Ready for pickup",
248
+ description: "Row status.",
249
+ format: "icu-message",
250
+ messageSource: "Ready for pickup"
251
+ },
252
+ statusCollected: {
253
+ type: "string",
254
+ title: "Collected",
255
+ description: "Row status.",
256
+ format: "icu-message",
257
+ messageSource: "Collected"
258
+ },
259
+ statusPlaceholder: {
260
+ type: "string",
261
+ title: "Status unavailable",
262
+ description: "Row status when the order has none.",
263
+ format: "icu-message",
264
+ messageSource: "Status unavailable"
114
265
  }
115
266
  }
116
267
  }
117
268
  });
118
- const DEFAULTS = {
119
- label: "Orders",
120
- count: "{count} of {total}",
121
- countIncomplete: "{count} of {total}, count incomplete",
122
- emptyAccount: "You have no orders yet",
123
- emptyView: "No orders in this view",
124
- emptySearch: "No orders match this search",
125
- pastEnd: "This page has no orders",
126
- walkStopped: "More orders may exist",
127
- error: "Could not load orders",
128
- retry: "Try again",
129
- next: "Next page",
130
- loadMore: "Load more",
131
- firstPage: "First page",
132
- clear: "Clear search",
133
- startShopping: "Start shopping"
134
- };
135
269
  const COLUMNS = [
136
- ["id", "fs/order-list.column.id"],
137
- ["placed", "fs/order-list.column.placed"],
138
- ["total", "fs/order-list.column.total"],
139
- ["items", "fs/order-list.column.items"],
140
- ["status", "fs/order-list.column.status"],
141
- ["estimate", "fs/order-list.column.estimate"]
270
+ ["id", "columnId"],
271
+ ["placed", "columnPlaced"],
272
+ ["total", "columnTotal"],
273
+ ["items", "columnItems"],
274
+ ["status", "columnStatus"],
275
+ ["estimate", "columnEstimate"]
142
276
  ];
143
277
  const CRITERIA = [
144
278
  "search",
145
279
  "placedFrom",
146
280
  "placedTo"
147
281
  ];
282
+ const EMPTY_FIELDS = {
283
+ account: "emptyAccount",
284
+ view: "emptyView",
285
+ search: "emptySearch",
286
+ "past-end": "pastEnd",
287
+ "walk-stopped": "walkStopped"
288
+ };
148
289
  const OrderListDefinition = defineComponent({
149
290
  name: "OrderList",
150
291
  importPath: "@vtex/faststore/components",
@@ -158,11 +299,6 @@ const OrderListDefinition = defineComponent({
158
299
  category: "content"
159
300
  },
160
301
  schema: {
161
- label: {
162
- type: "string",
163
- default: "Orders",
164
- label: "Accessible name"
165
- },
166
302
  advance: {
167
303
  type: ["pages", "load-more"],
168
304
  default: "pages",
@@ -180,11 +316,8 @@ const OrderListDefinition = defineComponent({
180
316
  label: "Order link"
181
317
  }
182
318
  },
183
- guideline: "One page of the shopper orders. The read is fixed at 25 and the cursor, view, search, and placed dates come from the page URL. Pages and load-more both link to the next cursor and load that page again."
319
+ guideline: "One page of the shopper orders. The read is fixed at 25 and the cursor, view, search, and placed dates come from the page URL. Pages and load-more both link to the next cursor and load that page again. Its sentences, links and column headers are $content message fields; label is the region name."
184
320
  });
185
- function copy(value, fallback) {
186
- return value?.trim() || fallback;
187
- }
188
321
  function advanceMode(value) {
189
322
  return value === "load-more" ? "load-more" : "pages";
190
323
  }
@@ -208,9 +341,6 @@ function withParams(route, params, edit) {
208
341
  edit?.(next);
209
342
  return currentPageWith(route, next);
210
343
  }
211
- function fillCount(template, count, total) {
212
- return template.replaceAll("{count}", String(count)).replaceAll("{total}", String(total));
213
- }
214
344
  const HOME_PAGE = { standard: "home" };
215
345
  const ORDER_PAGE = { standard: "order" };
216
346
  function shoppingHref(value) {
@@ -244,7 +374,7 @@ function OrderListSkeleton({ className, ...props }) {
244
374
  ]
245
375
  });
246
376
  }
247
- function listLinks(route, searchParams, connection, mode, content) {
377
+ function listLinks(route, searchParams, connection, mode, { format }) {
248
378
  const nextCursor = connection?.pageInfo.hasNextPage ? connection.pageInfo.endCursor : null;
249
379
  return {
250
380
  nextHref: nextCursor && nextCursor.length > 0 ? withParams(route, searchParams, (next) => {
@@ -260,36 +390,56 @@ function listLinks(route, searchParams, connection, mode, content) {
260
390
  next.delete("after");
261
391
  }),
262
392
  retryHref: withParams(route, searchParams),
263
- advanceLabel: copy(mode === "load-more" ? content?.loadMore : content?.next, mode === "load-more" ? DEFAULTS.loadMore : DEFAULTS.next)
393
+ advanceLabel: format(mode === "load-more" ? "loadMore" : "next")
264
394
  };
265
395
  }
266
- function countSentence(connection, content) {
267
- return copy(connection.totalIncomplete ? content?.countIncomplete : content?.count, connection.totalIncomplete ? DEFAULTS.countIncomplete : DEFAULTS.count);
396
+ function countSentence(connection, messages) {
397
+ return messages.format(connection.totalIncomplete ? "countIncomplete" : "count", {
398
+ count: connection.edges.length,
399
+ total: connection.totalCount
400
+ });
401
+ }
402
+ function columnHeaders({ format }) {
403
+ return COLUMNS.map(([name, field]) => [name, format(field)]);
268
404
  }
269
- function OrderList({ label, advance, startShoppingHref, orderHref = ORDER_PAGE, $content, $data, className, ref }) {
405
+ function statusMessages({ format }) {
406
+ return {
407
+ "in-progress": format("statusInProgress"),
408
+ "cancellation-requested": format("statusCancellationRequested"),
409
+ cancelled: format("statusCancelled"),
410
+ delivered: format("statusDelivered"),
411
+ shipped: format("statusShipped"),
412
+ "ready-for-pickup": format("statusReadyForPickup"),
413
+ collected: format("statusCollected"),
414
+ placeholder: format("statusPlaceholder")
415
+ };
416
+ }
417
+ function OrderList({ advance, startShoppingHref, orderHref = ORDER_PAGE, $content, $locale, $data, className, ref }) {
270
418
  const route = useStorefrontRoute();
271
419
  const searchParams = useStorefrontSearchParams();
420
+ const messages = useMessageFormatter(OrderListContent, $content);
272
421
  const mode = advanceMode(advance);
273
- const regionLabel = copy($content?.label, copy(label, DEFAULTS.label));
274
422
  const connection = connectionOf($data);
275
- const links = listLinks(route, searchParams, connection, mode, $content);
423
+ const links = listLinks(route, searchParams, connection, mode, messages);
276
424
  return /* @__PURE__ */ jsx("section", {
277
425
  ref,
278
- "aria-label": regionLabel,
426
+ "aria-label": messages.format("label"),
279
427
  className,
280
428
  "data-fs-order-list": "",
281
429
  "data-fs-order-list-advance": mode,
282
430
  children: connection && connection.edges.length > 0 ? /* @__PURE__ */ jsx(OrderPage, {
283
431
  connection,
284
- countLabel: countSentence(connection, $content),
432
+ countLabel: countSentence(connection, messages),
433
+ columns: columnHeaders(messages),
434
+ statusMessages: statusMessages(messages),
285
435
  advanceLabel: links.advanceLabel,
286
- firstLabel: copy($content?.firstPage, DEFAULTS.firstPage),
436
+ firstLabel: messages.format("firstPage"),
287
437
  nextHref: links.nextHref,
288
438
  firstHref: links.firstHref,
289
439
  orderHref
290
440
  }) : /* @__PURE__ */ jsx(OrderEmpty, {
291
441
  kind: connection ? emptyKind(connection, searchParams) : "error",
292
- content: $content,
442
+ messages,
293
443
  criteria: appliedCriteria(searchParams),
294
444
  advanceLabel: links.advanceLabel,
295
445
  nextHref: links.nextHref,
@@ -300,27 +450,27 @@ function OrderList({ label, advance, startShoppingHref, orderHref = ORDER_PAGE,
300
450
  })
301
451
  });
302
452
  }
303
- function OrderColumns() {
304
- const intl = useIntl();
453
+ function OrderColumns({ columns }) {
305
454
  return /* @__PURE__ */ jsx("div", {
306
455
  "data-fs-order-list-columns": "",
307
- children: COLUMNS.map(([name, id]) => /* @__PURE__ */ jsx("span", {
456
+ children: columns.map(([name, header]) => /* @__PURE__ */ jsx("span", {
308
457
  "data-fs-order-list-column": name,
309
- children: intl.formatMessage({ id })
458
+ children: header
310
459
  }, name))
311
460
  });
312
461
  }
313
- function OrderPage({ connection, countLabel, advanceLabel, firstLabel, nextHref, firstHref, orderHref }) {
462
+ function OrderPage({ connection, countLabel, columns, statusMessages, advanceLabel, firstLabel, nextHref, firstHref, orderHref }) {
314
463
  return /* @__PURE__ */ jsxs(Fragment, { children: [
315
464
  /* @__PURE__ */ jsx("p", {
316
465
  "data-fs-order-list-count": "",
317
466
  "data-fs-order-list-count-incomplete": connection.totalIncomplete ? "" : void 0,
318
- children: fillCount(countLabel, connection.edges.length, connection.totalCount)
467
+ children: countLabel
319
468
  }),
320
- /* @__PURE__ */ jsx(OrderColumns, {}),
469
+ /* @__PURE__ */ jsx(OrderColumns, { columns }),
321
470
  connection.edges.map((edge) => /* @__PURE__ */ jsx(OrderListRow, {
322
471
  $data: edge.node,
323
- href: orderHref
472
+ href: orderHref,
473
+ statusMessages
324
474
  }, edge.node.id)),
325
475
  firstHref ? /* @__PURE__ */ jsx(StorefrontLink, {
326
476
  href: firstHref,
@@ -334,35 +484,36 @@ function OrderPage({ connection, countLabel, advanceLabel, firstLabel, nextHref,
334
484
  }) : null
335
485
  ] });
336
486
  }
337
- function OrderEmpty({ kind, content, criteria, advanceLabel, nextHref, firstHref, clearHref, retryHref, startHref }) {
487
+ function OrderEmpty({ kind, messages, criteria, advanceLabel, nextHref, firstHref, clearHref, retryHref, startHref }) {
488
+ const { format } = messages;
338
489
  if (kind === "error") return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("p", {
339
490
  "data-fs-order-list-error": "",
340
- children: copy(content?.error, DEFAULTS.error)
491
+ children: format("error")
341
492
  }), /* @__PURE__ */ jsx(StorefrontLink, {
342
493
  href: retryHref,
343
494
  "data-fs-order-list-retry": "",
344
- children: copy(content?.retry, DEFAULTS.retry)
495
+ children: format("retry")
345
496
  })] });
346
497
  return /* @__PURE__ */ jsxs(Fragment, { children: [
347
498
  /* @__PURE__ */ jsx("p", {
348
499
  "data-fs-order-list-empty": kind,
349
- children: emptySentence(kind, content)
500
+ children: format(EMPTY_FIELDS[kind])
350
501
  }),
351
502
  kind === "search" ? /* @__PURE__ */ jsx(Criteria, { criteria }) : null,
352
503
  kind === "search" ? /* @__PURE__ */ jsx(StorefrontLink, {
353
504
  href: clearHref,
354
505
  "data-fs-order-list-clear": "",
355
- children: copy(content?.clear, DEFAULTS.clear)
506
+ children: format("clear")
356
507
  }) : null,
357
508
  kind === "account" ? /* @__PURE__ */ jsx(StorefrontLink, {
358
509
  href: startHref,
359
510
  "data-fs-order-list-start": "",
360
- children: copy(content?.startShopping, DEFAULTS.startShopping)
511
+ children: format("startShopping")
361
512
  }) : null,
362
513
  kind === "past-end" && firstHref ? /* @__PURE__ */ jsx(StorefrontLink, {
363
514
  href: firstHref,
364
515
  "data-fs-order-list-first": "",
365
- children: copy(content?.firstPage, DEFAULTS.firstPage)
516
+ children: format("firstPage")
366
517
  }) : null,
367
518
  kind === "walk-stopped" && nextHref ? /* @__PURE__ */ jsx(StorefrontLink, {
368
519
  href: nextHref,
@@ -371,15 +522,6 @@ function OrderEmpty({ kind, content, criteria, advanceLabel, nextHref, firstHref
371
522
  }) : null
372
523
  ] });
373
524
  }
374
- function emptySentence(kind, content) {
375
- switch (kind) {
376
- case "account": return copy(content?.emptyAccount, DEFAULTS.emptyAccount);
377
- case "view": return copy(content?.emptyView, DEFAULTS.emptyView);
378
- case "search": return copy(content?.emptySearch, DEFAULTS.emptySearch);
379
- case "past-end": return copy(content?.pastEnd, DEFAULTS.pastEnd);
380
- case "walk-stopped": return copy(content?.walkStopped, DEFAULTS.walkStopped);
381
- }
382
- }
383
525
  function Criteria({ criteria }) {
384
526
  return /* @__PURE__ */ jsx("ul", {
385
527
  "data-fs-order-list-criteria": "",
@@ -1 +1 @@
1
- {"version":3,"file":"order-list.js","names":[],"sources":["../../../src/matter/order-list/order-list.tsx"],"sourcesContent":["'use client';\n\nimport { type ContentValue, defineComponent, defineContentType } from '@vtex/fs-core';\nimport type { ComponentPropsWithRef, ReactNode, Ref } from 'react';\nimport { useIntl } from '../../sdk/i18n/client.js';\nimport type { MessageId } from '../../sdk/i18n/locales.js';\nimport { type CurrentRoute, currentPageWith } from '../../sdk/navigation/current-page.js';\nimport { StorefrontLink } from '../../sdk/navigation/storefront-link.js';\nimport type { PageRef } from '../../sdk/navigation/types.js';\nimport { useStorefrontRoute } from '../../sdk/navigation/use-storefront-route.js';\nimport { useStorefrontSearchParams } from '../../sdk/navigation/use-storefront-search-params.js';\nimport { resolveSafeHref } from '../../utils/safe-href.js';\nimport { type OrderListItemData, OrderListRow } from '../order-list-row/order-list-row.js';\n\nconst fragment = /* GraphQL */ `\n fragment OrderListData on Query {\n customerOrders(first: 25, after: $after, filter: $filter) {\n edges {\n node {\n ...OrderListRowData\n }\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n totalCount\n totalIncomplete\n }\n }\n\n fragment OrderListRowData on CustomerOrderListItem {\n id\n placedAt\n total {\n amount\n currencyCode\n }\n itemCount\n completion {\n view\n label\n }\n shippingEstimatedDateMin\n shippingEstimatedDateMax\n }\n`;\n\nexport const OrderListContent = defineContentType({\n id: 'order-list',\n title: 'Order List',\n description: 'The count, empty, error, and advance sentences for the orders list.',\n schema: {\n type: 'object',\n additionalProperties: false,\n properties: {\n label: { type: 'string', title: 'Accessible name' },\n count: { type: 'string', title: 'Count' },\n countIncomplete: { type: 'string', title: 'Incomplete count' },\n emptyAccount: { type: 'string', title: 'Empty account' },\n emptyView: { type: 'string', title: 'Empty view' },\n emptySearch: { type: 'string', title: 'Empty search' },\n pastEnd: { type: 'string', title: 'Past the end' },\n walkStopped: { type: 'string', title: 'Walk stopped' },\n error: { type: 'string', title: 'Error' },\n retry: { type: 'string', title: 'Retry' },\n next: { type: 'string', title: 'Next page' },\n loadMore: { type: 'string', title: 'Load more' },\n firstPage: { type: 'string', title: 'First page' },\n clear: { type: 'string', title: 'Clear search' },\n startShopping: { type: 'string', title: 'Start shopping' },\n },\n },\n});\n\nexport type OrderListAdvance = 'pages' | 'load-more';\n\nexport type OrderListContentValue = ContentValue<typeof OrderListContent>;\n\nexport type OrderListData = {\n edges: Array<{ node: OrderListItemData }>;\n pageInfo: { hasNextPage: boolean; endCursor: string | null };\n totalCount: number;\n totalIncomplete: boolean;\n};\n\nexport type OrderListProps = Readonly<{\n /** Accessible name of the list region. */\n label?: string;\n advance?: OrderListAdvance;\n /** Link offered when the account has no orders. */\n startShoppingHref?: PageRef | string;\n /** The order page each row links to; the row fills `orderId`, or appends it to a string path. */\n orderHref?: PageRef | string;\n $content?: OrderListContentValue;\n $data?: OrderListData | null;\n className?: string;\n ref?: Ref<HTMLElement>;\n}>;\n\nconst DEFAULTS = {\n label: 'Orders',\n count: '{count} of {total}',\n countIncomplete: '{count} of {total}, count incomplete',\n emptyAccount: 'You have no orders yet',\n emptyView: 'No orders in this view',\n emptySearch: 'No orders match this search',\n pastEnd: 'This page has no orders',\n walkStopped: 'More orders may exist',\n error: 'Could not load orders',\n retry: 'Try again',\n next: 'Next page',\n loadMore: 'Load more',\n firstPage: 'First page',\n clear: 'Clear search',\n startShopping: 'Start shopping',\n} as const;\n\nconst COLUMNS = [\n ['id', 'fs/order-list.column.id'],\n ['placed', 'fs/order-list.column.placed'],\n ['total', 'fs/order-list.column.total'],\n ['items', 'fs/order-list.column.items'],\n ['status', 'fs/order-list.column.status'],\n ['estimate', 'fs/order-list.column.estimate'],\n] as const satisfies ReadonlyArray<readonly [string, MessageId]>;\n\nconst CRITERIA = ['search', 'placedFrom', 'placedTo'] as const;\n\ntype CriterionKey = (typeof CRITERIA)[number];\n\ntype EmptyKind = 'account' | 'view' | 'search' | 'past-end' | 'walk-stopped';\n\nexport const OrderListDefinition = defineComponent<OrderListProps>({\n name: 'OrderList',\n importPath: '@vtex/faststore/components',\n component: OrderList,\n content: OrderListContent,\n fragment,\n fetchStrategy: 'static',\n skeleton: OrderListSkeleton,\n editor: { label: 'Order List', category: 'content' },\n schema: {\n label: { type: 'string', default: 'Orders', label: 'Accessible name' },\n advance: { type: ['pages', 'load-more'] as const, default: 'pages', label: 'Advance' },\n startShoppingHref: { type: 'link', default: { standard: 'home' }, label: 'Start shopping link' },\n orderHref: { type: 'link', default: { standard: 'order' }, fills: ['orderId'], label: 'Order link' },\n },\n guideline:\n 'One page of the shopper orders. The read is fixed at 25 and the cursor, view, search, and placed dates come from the page URL. Pages and load-more both link to the next cursor and load that page again.',\n});\n\nfunction copy(value: string | undefined, fallback: string): string {\n const trimmed = value?.trim();\n return trimmed || fallback;\n}\n\nfunction advanceMode(value: string | undefined): OrderListAdvance {\n return value === 'load-more' ? 'load-more' : 'pages';\n}\n\nfunction listView(value: string | null): 'ongoing' | 'completed' | 'cancelled' | null {\n if (value === 'ongoing' || value === 'completed' || value === 'cancelled') {\n return value;\n }\n return null;\n}\n\nfunction appliedCriteria(params: URLSearchParams): Array<{ key: CriterionKey; value: string }> {\n const found: Array<{ key: CriterionKey; value: string }> = [];\n for (const key of CRITERIA) {\n const value = params.get(key)?.trim() ?? '';\n if (value.length > 0) {\n found.push({ key, value });\n }\n }\n return found;\n}\n\nfunction withParams(\n route: CurrentRoute,\n params: URLSearchParams,\n edit?: (next: URLSearchParams) => void,\n): PageRef | string {\n const next = new URLSearchParams(params);\n edit?.(next);\n return currentPageWith(route, next);\n}\n\nfunction fillCount(template: string, count: number, total: number): string {\n return template.replaceAll('{count}', String(count)).replaceAll('{total}', String(total));\n}\n\nconst HOME_PAGE: PageRef = { standard: 'home' };\nconst ORDER_PAGE: PageRef = { standard: 'order' };\n\nfunction shoppingHref(value: PageRef | string | undefined): PageRef | string {\n if (typeof value !== 'string') {\n return value ?? HOME_PAGE;\n }\n const authored = value.trim();\n const destination = resolveSafeHref(authored);\n return authored.length > 0 && destination.safe ? destination.href : HOME_PAGE;\n}\n\nfunction connectionOf(data: OrderListData | null | undefined): OrderListData | null {\n if (!data || !Array.isArray(data.edges) || data.pageInfo == null) {\n return null;\n }\n if (typeof data.totalCount !== 'number' || typeof data.totalIncomplete !== 'boolean') {\n return null;\n }\n return data;\n}\n\nfunction emptyKind(data: OrderListData, params: URLSearchParams): EmptyKind {\n if (data.totalIncomplete) {\n return 'walk-stopped';\n }\n if (data.totalCount > 0) {\n return 'past-end';\n }\n if (appliedCriteria(params).length > 0) {\n return 'search';\n }\n if (listView(params.get('view'))) {\n return 'view';\n }\n return 'account';\n}\n\nexport function OrderListSkeleton({ className, ...props }: ComponentPropsWithRef<'div'>) {\n return (\n <div {...props} className={className} data-fs-order-list-skeleton=\"\" aria-hidden=\"true\">\n <span data-fs-order-list-skeleton-row=\"\" />\n <span data-fs-order-list-skeleton-row=\"\" />\n <span data-fs-order-list-skeleton-row=\"\" />\n </div>\n );\n}\n\ntype ListLinks = {\n nextHref: PageRef | string | null;\n firstHref: PageRef | string | null;\n clearHref: PageRef | string;\n retryHref: PageRef | string;\n advanceLabel: string;\n};\n\nfunction listLinks(\n route: CurrentRoute,\n searchParams: URLSearchParams,\n connection: OrderListData | null,\n mode: OrderListAdvance,\n content: OrderListContentValue | undefined,\n): ListLinks {\n const nextCursor = connection?.pageInfo.hasNextPage ? connection.pageInfo.endCursor : null;\n const nextHref =\n nextCursor && nextCursor.length > 0\n ? withParams(route, searchParams, (next) => {\n next.set('after', nextCursor);\n })\n : null;\n const showFirst = (searchParams.get('after') ?? '').trim().length > 0;\n const firstHref = showFirst\n ? withParams(route, searchParams, (next) => {\n next.delete('after');\n })\n : null;\n const clearHref = withParams(route, searchParams, (next) => {\n next.delete('search');\n next.delete('placedFrom');\n next.delete('placedTo');\n next.delete('after');\n });\n return {\n nextHref,\n firstHref,\n clearHref,\n retryHref: withParams(route, searchParams),\n advanceLabel: copy(\n mode === 'load-more' ? content?.loadMore : content?.next,\n mode === 'load-more' ? DEFAULTS.loadMore : DEFAULTS.next,\n ),\n };\n}\n\nfunction countSentence(connection: OrderListData, content: OrderListContentValue | undefined): string {\n return copy(\n connection.totalIncomplete ? content?.countIncomplete : content?.count,\n connection.totalIncomplete ? DEFAULTS.countIncomplete : DEFAULTS.count,\n );\n}\n\nexport function OrderList({\n label,\n advance,\n startShoppingHref,\n orderHref = ORDER_PAGE,\n $content,\n $data,\n className,\n ref,\n}: OrderListProps) {\n const route = useStorefrontRoute();\n const searchParams = useStorefrontSearchParams();\n const mode = advanceMode(advance);\n const regionLabel = copy($content?.label, copy(label, DEFAULTS.label));\n const connection = connectionOf($data);\n const links = listLinks(route, searchParams, connection, mode, $content);\n\n return (\n <section\n ref={ref}\n aria-label={regionLabel}\n className={className}\n data-fs-order-list=\"\"\n data-fs-order-list-advance={mode}\n >\n {connection && connection.edges.length > 0 ? (\n <OrderPage\n connection={connection}\n countLabel={countSentence(connection, $content)}\n advanceLabel={links.advanceLabel}\n firstLabel={copy($content?.firstPage, DEFAULTS.firstPage)}\n nextHref={links.nextHref}\n firstHref={links.firstHref}\n orderHref={orderHref}\n />\n ) : (\n <OrderEmpty\n kind={connection ? emptyKind(connection, searchParams) : 'error'}\n content={$content}\n criteria={appliedCriteria(searchParams)}\n advanceLabel={links.advanceLabel}\n nextHref={links.nextHref}\n firstHref={links.firstHref}\n clearHref={links.clearHref}\n retryHref={links.retryHref}\n startHref={shoppingHref(startShoppingHref)}\n />\n )}\n </section>\n );\n}\n\ntype OrderPageProps = Readonly<{\n connection: OrderListData;\n countLabel: string;\n advanceLabel: string;\n firstLabel: string;\n nextHref: PageRef | string | null;\n firstHref: PageRef | string | null;\n orderHref: PageRef | string;\n}>;\n\nfunction OrderColumns() {\n const intl = useIntl();\n\n return (\n <div data-fs-order-list-columns=\"\">\n {COLUMNS.map(([name, id]) => (\n <span key={name} data-fs-order-list-column={name}>\n {intl.formatMessage({ id })}\n </span>\n ))}\n </div>\n );\n}\n\nfunction OrderPage({\n connection,\n countLabel,\n advanceLabel,\n firstLabel,\n nextHref,\n firstHref,\n orderHref,\n}: OrderPageProps) {\n return (\n <>\n <p data-fs-order-list-count=\"\" data-fs-order-list-count-incomplete={connection.totalIncomplete ? '' : undefined}>\n {fillCount(countLabel, connection.edges.length, connection.totalCount)}\n </p>\n <OrderColumns />\n {connection.edges.map((edge) => (\n <OrderListRow key={edge.node.id} $data={edge.node} href={orderHref} />\n ))}\n {firstHref ? (\n <StorefrontLink href={firstHref} data-fs-order-list-first=\"\">\n {firstLabel}\n </StorefrontLink>\n ) : null}\n {nextHref ? (\n <StorefrontLink href={nextHref} data-fs-order-list-next=\"\">\n {advanceLabel}\n </StorefrontLink>\n ) : null}\n </>\n );\n}\n\ntype OrderEmptyProps = Readonly<{\n kind: EmptyKind | 'error';\n content: OrderListContentValue | undefined;\n criteria: Array<{ key: CriterionKey; value: string }>;\n advanceLabel: string;\n nextHref: PageRef | string | null;\n firstHref: PageRef | string | null;\n clearHref: PageRef | string;\n retryHref: PageRef | string;\n startHref: PageRef | string;\n}>;\n\nfunction OrderEmpty({\n kind,\n content,\n criteria,\n advanceLabel,\n nextHref,\n firstHref,\n clearHref,\n retryHref,\n startHref,\n}: OrderEmptyProps) {\n if (kind === 'error') {\n return (\n <>\n <p data-fs-order-list-error=\"\">{copy(content?.error, DEFAULTS.error)}</p>\n <StorefrontLink href={retryHref} data-fs-order-list-retry=\"\">\n {copy(content?.retry, DEFAULTS.retry)}\n </StorefrontLink>\n </>\n );\n }\n\n return (\n <>\n <p data-fs-order-list-empty={kind}>{emptySentence(kind, content)}</p>\n {kind === 'search' ? <Criteria criteria={criteria} /> : null}\n {kind === 'search' ? (\n <StorefrontLink href={clearHref} data-fs-order-list-clear=\"\">\n {copy(content?.clear, DEFAULTS.clear)}\n </StorefrontLink>\n ) : null}\n {kind === 'account' ? (\n <StorefrontLink href={startHref} data-fs-order-list-start=\"\">\n {copy(content?.startShopping, DEFAULTS.startShopping)}\n </StorefrontLink>\n ) : null}\n {kind === 'past-end' && firstHref ? (\n <StorefrontLink href={firstHref} data-fs-order-list-first=\"\">\n {copy(content?.firstPage, DEFAULTS.firstPage)}\n </StorefrontLink>\n ) : null}\n {kind === 'walk-stopped' && nextHref ? (\n <StorefrontLink href={nextHref} data-fs-order-list-next=\"\">\n {advanceLabel}\n </StorefrontLink>\n ) : null}\n </>\n );\n}\n\nfunction emptySentence(kind: EmptyKind, content: OrderListContentValue | undefined): string {\n switch (kind) {\n case 'account':\n return copy(content?.emptyAccount, DEFAULTS.emptyAccount);\n case 'view':\n return copy(content?.emptyView, DEFAULTS.emptyView);\n case 'search':\n return copy(content?.emptySearch, DEFAULTS.emptySearch);\n case 'past-end':\n return copy(content?.pastEnd, DEFAULTS.pastEnd);\n case 'walk-stopped':\n return copy(content?.walkStopped, DEFAULTS.walkStopped);\n }\n}\n\nfunction Criteria({ criteria }: Readonly<{ criteria: Array<{ key: CriterionKey; value: string }> }>): ReactNode {\n return (\n <ul data-fs-order-list-criteria=\"\">\n {criteria.map((item) => (\n <li key={item.key} data-fs-order-list-criterion={item.key}>\n {item.value}\n </li>\n ))}\n </ul>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"order-list.js","names":[],"sources":["../../../src/matter/order-list/order-list.tsx"],"sourcesContent":["'use client';\n\nimport {\n type ContentValue,\n defineComponent,\n defineContentType,\n type MessageFieldName,\n type MessageLocaleProp,\n} from '@vtex/fs-core';\nimport type { ComponentPropsWithRef, ReactNode, Ref } from 'react';\nimport type { OrderStatusMessages } from '../../particles/order-status-badge/order-status-badge.js';\nimport type { MessageFormatter } from '../../sdk/i18n/message-formatter.js';\nimport { useMessageFormatter } from '../../sdk/i18n/use-message-formatter.js';\nimport { type CurrentRoute, currentPageWith } from '../../sdk/navigation/current-page.js';\nimport { StorefrontLink } from '../../sdk/navigation/storefront-link.js';\nimport type { PageRef } from '../../sdk/navigation/types.js';\nimport { useStorefrontRoute } from '../../sdk/navigation/use-storefront-route.js';\nimport { useStorefrontSearchParams } from '../../sdk/navigation/use-storefront-search-params.js';\nimport { resolveSafeHref } from '../../utils/safe-href.js';\nimport { type OrderListItemData, OrderListRow } from '../order-list-row/order-list-row.js';\n\nconst fragment = /* GraphQL */ `\n fragment OrderListData on Query {\n customerOrders(first: 25, after: $after, filter: $filter) {\n edges {\n node {\n ...OrderListRowData\n }\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n totalCount\n totalIncomplete\n }\n }\n\n fragment OrderListRowData on CustomerOrderListItem {\n id\n placedAt\n total {\n amount\n currencyCode\n }\n itemCount\n completion {\n view\n label\n }\n shippingEstimatedDateMin\n shippingEstimatedDateMax\n }\n`;\n\nexport const OrderListContent = defineContentType({\n id: 'order-list',\n title: 'Order List',\n description:\n 'The count, empty, error, and advance sentences for the orders list, its column headers, and its row status labels.',\n schema: {\n type: 'object',\n additionalProperties: false,\n properties: {\n label: {\n type: 'string',\n title: 'Accessible name',\n description: 'Accessible name of the list region.',\n format: 'icu-message',\n messageSource: 'Orders',\n },\n count: {\n type: 'string',\n title: 'Count',\n format: 'icu-message',\n messageSource: '{count} of {total}',\n messageArguments: {\n type: 'object',\n properties: { count: { type: 'integer' }, total: { type: 'integer' } },\n },\n messageExample: { count: 25, total: 40 },\n },\n countIncomplete: {\n type: 'string',\n title: 'Incomplete count',\n format: 'icu-message',\n messageSource: '{count} of {total}, count incomplete',\n messageArguments: {\n type: 'object',\n properties: { count: { type: 'integer' }, total: { type: 'integer' } },\n },\n messageExample: { count: 25, total: 40 },\n },\n emptyAccount: {\n type: 'string',\n title: 'Empty account',\n format: 'icu-message',\n messageSource: 'You have no orders yet',\n },\n emptyView: {\n type: 'string',\n title: 'Empty view',\n format: 'icu-message',\n messageSource: 'No orders in this view',\n },\n emptySearch: {\n type: 'string',\n title: 'Empty search',\n format: 'icu-message',\n messageSource: 'No orders match this search',\n },\n pastEnd: {\n type: 'string',\n title: 'Past the end',\n format: 'icu-message',\n messageSource: 'This page has no orders',\n },\n walkStopped: {\n type: 'string',\n title: 'Walk stopped',\n format: 'icu-message',\n messageSource: 'More orders may exist',\n },\n error: { type: 'string', title: 'Error', format: 'icu-message', messageSource: 'Could not load orders' },\n retry: { type: 'string', title: 'Retry', format: 'icu-message', messageSource: 'Try again' },\n next: { type: 'string', title: 'Next page', format: 'icu-message', messageSource: 'Next page' },\n loadMore: { type: 'string', title: 'Load more', format: 'icu-message', messageSource: 'Load more' },\n firstPage: { type: 'string', title: 'First page', format: 'icu-message', messageSource: 'First page' },\n clear: { type: 'string', title: 'Clear search', format: 'icu-message', messageSource: 'Clear search' },\n startShopping: {\n type: 'string',\n title: 'Start shopping',\n format: 'icu-message',\n messageSource: 'Start shopping',\n },\n columnId: {\n type: 'string',\n title: 'Order column',\n description: 'Header of the order id column.',\n format: 'icu-message',\n messageSource: 'Order',\n },\n columnPlaced: {\n type: 'string',\n title: 'Placed column',\n description: 'Header of the placed date column.',\n format: 'icu-message',\n messageSource: 'Placed',\n },\n columnTotal: {\n type: 'string',\n title: 'Total column',\n description: 'Header of the total column.',\n format: 'icu-message',\n messageSource: 'Total',\n },\n columnItems: {\n type: 'string',\n title: 'Items column',\n description: 'Header of the items column.',\n format: 'icu-message',\n messageSource: 'Items',\n },\n columnStatus: {\n type: 'string',\n title: 'Status column',\n description: 'Header of the status column.',\n format: 'icu-message',\n messageSource: 'Status',\n },\n columnEstimate: {\n type: 'string',\n title: 'Estimate column',\n description: 'Header of the delivery estimate column.',\n format: 'icu-message',\n messageSource: 'Estimate',\n },\n statusInProgress: {\n type: 'string',\n title: 'In progress',\n description: 'Row status.',\n format: 'icu-message',\n messageSource: 'In progress',\n },\n statusCancellationRequested: {\n type: 'string',\n title: 'Cancellation requested',\n description: 'Row status.',\n format: 'icu-message',\n messageSource: 'Cancellation requested',\n },\n statusCancelled: {\n type: 'string',\n title: 'Cancelled',\n description: 'Row status.',\n format: 'icu-message',\n messageSource: 'Canceled',\n },\n statusDelivered: {\n type: 'string',\n title: 'Delivered',\n description: 'Row status.',\n format: 'icu-message',\n messageSource: 'Delivered',\n },\n statusShipped: {\n type: 'string',\n title: 'Shipped',\n description: 'Row status.',\n format: 'icu-message',\n messageSource: 'Shipped',\n },\n statusReadyForPickup: {\n type: 'string',\n title: 'Ready for pickup',\n description: 'Row status.',\n format: 'icu-message',\n messageSource: 'Ready for pickup',\n },\n statusCollected: {\n type: 'string',\n title: 'Collected',\n description: 'Row status.',\n format: 'icu-message',\n messageSource: 'Collected',\n },\n statusPlaceholder: {\n type: 'string',\n title: 'Status unavailable',\n description: 'Row status when the order has none.',\n format: 'icu-message',\n messageSource: 'Status unavailable',\n },\n },\n },\n});\n\nexport type OrderListAdvance = 'pages' | 'load-more';\n\nexport type OrderListContentValue = ContentValue<typeof OrderListContent>;\n\nexport type OrderListData = {\n edges: Array<{ node: OrderListItemData }>;\n pageInfo: { hasNextPage: boolean; endCursor: string | null };\n totalCount: number;\n totalIncomplete: boolean;\n};\n\nexport type OrderListProps = MessageLocaleProp &\n Readonly<{\n advance?: OrderListAdvance;\n /** Link offered when the account has no orders. */\n startShoppingHref?: PageRef | string;\n /** The order page each row links to; the row fills `orderId`, or appends it to a string path. */\n orderHref?: PageRef | string;\n $content?: OrderListContentValue;\n $data?: OrderListData | null;\n className?: string;\n ref?: Ref<HTMLElement>;\n }>;\n\nconst COLUMNS = [\n ['id', 'columnId'],\n ['placed', 'columnPlaced'],\n ['total', 'columnTotal'],\n ['items', 'columnItems'],\n ['status', 'columnStatus'],\n ['estimate', 'columnEstimate'],\n] as const satisfies ReadonlyArray<readonly [string, MessageFieldName<typeof OrderListContent>]>;\n\ntype ColumnName = (typeof COLUMNS)[number][0];\n\ntype OrderListMessages = MessageFormatter<typeof OrderListContent>;\n\nconst CRITERIA = ['search', 'placedFrom', 'placedTo'] as const;\n\ntype CriterionKey = (typeof CRITERIA)[number];\n\ntype EmptyKind = 'account' | 'view' | 'search' | 'past-end' | 'walk-stopped';\n\nconst EMPTY_FIELDS = {\n account: 'emptyAccount',\n view: 'emptyView',\n search: 'emptySearch',\n 'past-end': 'pastEnd',\n 'walk-stopped': 'walkStopped',\n} as const satisfies Record<EmptyKind, MessageFieldName<typeof OrderListContent>>;\n\nexport const OrderListDefinition = defineComponent<OrderListProps>({\n name: 'OrderList',\n importPath: '@vtex/faststore/components',\n component: OrderList,\n content: OrderListContent,\n fragment,\n fetchStrategy: 'static',\n skeleton: OrderListSkeleton,\n editor: { label: 'Order List', category: 'content' },\n schema: {\n advance: { type: ['pages', 'load-more'] as const, default: 'pages', label: 'Advance' },\n startShoppingHref: { type: 'link', default: { standard: 'home' }, label: 'Start shopping link' },\n orderHref: { type: 'link', default: { standard: 'order' }, fills: ['orderId'], label: 'Order link' },\n },\n guideline:\n 'One page of the shopper orders. The read is fixed at 25 and the cursor, view, search, and placed dates come from the page URL. Pages and load-more both link to the next cursor and load that page again. Its sentences, links and column headers are $content message fields; label is the region name.',\n});\n\nfunction advanceMode(value: string | undefined): OrderListAdvance {\n return value === 'load-more' ? 'load-more' : 'pages';\n}\n\nfunction listView(value: string | null): 'ongoing' | 'completed' | 'cancelled' | null {\n if (value === 'ongoing' || value === 'completed' || value === 'cancelled') {\n return value;\n }\n return null;\n}\n\nfunction appliedCriteria(params: URLSearchParams): Array<{ key: CriterionKey; value: string }> {\n const found: Array<{ key: CriterionKey; value: string }> = [];\n for (const key of CRITERIA) {\n const value = params.get(key)?.trim() ?? '';\n if (value.length > 0) {\n found.push({ key, value });\n }\n }\n return found;\n}\n\nfunction withParams(\n route: CurrentRoute,\n params: URLSearchParams,\n edit?: (next: URLSearchParams) => void,\n): PageRef | string {\n const next = new URLSearchParams(params);\n edit?.(next);\n return currentPageWith(route, next);\n}\n\nconst HOME_PAGE: PageRef = { standard: 'home' };\nconst ORDER_PAGE: PageRef = { standard: 'order' };\n\nfunction shoppingHref(value: PageRef | string | undefined): PageRef | string {\n if (typeof value !== 'string') {\n return value ?? HOME_PAGE;\n }\n const authored = value.trim();\n const destination = resolveSafeHref(authored);\n return authored.length > 0 && destination.safe ? destination.href : HOME_PAGE;\n}\n\nfunction connectionOf(data: OrderListData | null | undefined): OrderListData | null {\n if (!data || !Array.isArray(data.edges) || data.pageInfo == null) {\n return null;\n }\n if (typeof data.totalCount !== 'number' || typeof data.totalIncomplete !== 'boolean') {\n return null;\n }\n return data;\n}\n\nfunction emptyKind(data: OrderListData, params: URLSearchParams): EmptyKind {\n if (data.totalIncomplete) {\n return 'walk-stopped';\n }\n if (data.totalCount > 0) {\n return 'past-end';\n }\n if (appliedCriteria(params).length > 0) {\n return 'search';\n }\n if (listView(params.get('view'))) {\n return 'view';\n }\n return 'account';\n}\n\nexport function OrderListSkeleton({ className, ...props }: ComponentPropsWithRef<'div'>) {\n return (\n <div {...props} className={className} data-fs-order-list-skeleton=\"\" aria-hidden=\"true\">\n <span data-fs-order-list-skeleton-row=\"\" />\n <span data-fs-order-list-skeleton-row=\"\" />\n <span data-fs-order-list-skeleton-row=\"\" />\n </div>\n );\n}\n\ntype ListLinks = {\n nextHref: PageRef | string | null;\n firstHref: PageRef | string | null;\n clearHref: PageRef | string;\n retryHref: PageRef | string;\n advanceLabel: string;\n};\n\nfunction listLinks(\n route: CurrentRoute,\n searchParams: URLSearchParams,\n connection: OrderListData | null,\n mode: OrderListAdvance,\n { format }: OrderListMessages,\n): ListLinks {\n const nextCursor = connection?.pageInfo.hasNextPage ? connection.pageInfo.endCursor : null;\n const nextHref =\n nextCursor && nextCursor.length > 0\n ? withParams(route, searchParams, (next) => {\n next.set('after', nextCursor);\n })\n : null;\n const showFirst = (searchParams.get('after') ?? '').trim().length > 0;\n const firstHref = showFirst\n ? withParams(route, searchParams, (next) => {\n next.delete('after');\n })\n : null;\n const clearHref = withParams(route, searchParams, (next) => {\n next.delete('search');\n next.delete('placedFrom');\n next.delete('placedTo');\n next.delete('after');\n });\n return {\n nextHref,\n firstHref,\n clearHref,\n retryHref: withParams(route, searchParams),\n advanceLabel: format(mode === 'load-more' ? 'loadMore' : 'next'),\n };\n}\n\nfunction countSentence(connection: OrderListData, messages: OrderListMessages): string {\n return messages.format(connection.totalIncomplete ? 'countIncomplete' : 'count', {\n count: connection.edges.length,\n total: connection.totalCount,\n });\n}\n\nfunction columnHeaders({ format }: OrderListMessages): ReadonlyArray<readonly [ColumnName, string]> {\n return COLUMNS.map(([name, field]) => [name, format(field)] as const);\n}\n\nfunction statusMessages({ format }: OrderListMessages): OrderStatusMessages {\n return {\n 'in-progress': format('statusInProgress'),\n 'cancellation-requested': format('statusCancellationRequested'),\n cancelled: format('statusCancelled'),\n delivered: format('statusDelivered'),\n shipped: format('statusShipped'),\n 'ready-for-pickup': format('statusReadyForPickup'),\n collected: format('statusCollected'),\n placeholder: format('statusPlaceholder'),\n };\n}\n\nexport function OrderList({\n advance,\n startShoppingHref,\n orderHref = ORDER_PAGE,\n $content,\n $locale,\n $data,\n className,\n ref,\n}: OrderListProps) {\n const route = useStorefrontRoute();\n const searchParams = useStorefrontSearchParams();\n const messages = useMessageFormatter(OrderListContent, $content);\n const mode = advanceMode(advance);\n const connection = connectionOf($data);\n const links = listLinks(route, searchParams, connection, mode, messages);\n\n return (\n <section\n ref={ref}\n aria-label={messages.format('label')}\n className={className}\n data-fs-order-list=\"\"\n data-fs-order-list-advance={mode}\n >\n {connection && connection.edges.length > 0 ? (\n <OrderPage\n connection={connection}\n countLabel={countSentence(connection, messages)}\n columns={columnHeaders(messages)}\n statusMessages={statusMessages(messages)}\n advanceLabel={links.advanceLabel}\n firstLabel={messages.format('firstPage')}\n nextHref={links.nextHref}\n firstHref={links.firstHref}\n orderHref={orderHref}\n />\n ) : (\n <OrderEmpty\n kind={connection ? emptyKind(connection, searchParams) : 'error'}\n messages={messages}\n criteria={appliedCriteria(searchParams)}\n advanceLabel={links.advanceLabel}\n nextHref={links.nextHref}\n firstHref={links.firstHref}\n clearHref={links.clearHref}\n retryHref={links.retryHref}\n startHref={shoppingHref(startShoppingHref)}\n />\n )}\n </section>\n );\n}\n\ntype OrderPageProps = Readonly<{\n connection: OrderListData;\n countLabel: string;\n columns: ReadonlyArray<readonly [ColumnName, string]>;\n statusMessages: OrderStatusMessages;\n advanceLabel: string;\n firstLabel: string;\n nextHref: PageRef | string | null;\n firstHref: PageRef | string | null;\n orderHref: PageRef | string;\n}>;\n\nfunction OrderColumns({ columns }: Readonly<{ columns: ReadonlyArray<readonly [ColumnName, string]> }>) {\n return (\n <div data-fs-order-list-columns=\"\">\n {columns.map(([name, header]) => (\n <span key={name} data-fs-order-list-column={name}>\n {header}\n </span>\n ))}\n </div>\n );\n}\n\nfunction OrderPage({\n connection,\n countLabel,\n columns,\n statusMessages,\n advanceLabel,\n firstLabel,\n nextHref,\n firstHref,\n orderHref,\n}: OrderPageProps) {\n return (\n <>\n <p data-fs-order-list-count=\"\" data-fs-order-list-count-incomplete={connection.totalIncomplete ? '' : undefined}>\n {countLabel}\n </p>\n <OrderColumns columns={columns} />\n {connection.edges.map((edge) => (\n <OrderListRow key={edge.node.id} $data={edge.node} href={orderHref} statusMessages={statusMessages} />\n ))}\n {firstHref ? (\n <StorefrontLink href={firstHref} data-fs-order-list-first=\"\">\n {firstLabel}\n </StorefrontLink>\n ) : null}\n {nextHref ? (\n <StorefrontLink href={nextHref} data-fs-order-list-next=\"\">\n {advanceLabel}\n </StorefrontLink>\n ) : null}\n </>\n );\n}\n\ntype OrderEmptyProps = Readonly<{\n kind: EmptyKind | 'error';\n messages: OrderListMessages;\n criteria: Array<{ key: CriterionKey; value: string }>;\n advanceLabel: string;\n nextHref: PageRef | string | null;\n firstHref: PageRef | string | null;\n clearHref: PageRef | string;\n retryHref: PageRef | string;\n startHref: PageRef | string;\n}>;\n\nfunction OrderEmpty({\n kind,\n messages,\n criteria,\n advanceLabel,\n nextHref,\n firstHref,\n clearHref,\n retryHref,\n startHref,\n}: OrderEmptyProps) {\n const { format } = messages;\n if (kind === 'error') {\n return (\n <>\n <p data-fs-order-list-error=\"\">{format('error')}</p>\n <StorefrontLink href={retryHref} data-fs-order-list-retry=\"\">\n {format('retry')}\n </StorefrontLink>\n </>\n );\n }\n\n return (\n <>\n <p data-fs-order-list-empty={kind}>{format(EMPTY_FIELDS[kind])}</p>\n {kind === 'search' ? <Criteria criteria={criteria} /> : null}\n {kind === 'search' ? (\n <StorefrontLink href={clearHref} data-fs-order-list-clear=\"\">\n {format('clear')}\n </StorefrontLink>\n ) : null}\n {kind === 'account' ? (\n <StorefrontLink href={startHref} data-fs-order-list-start=\"\">\n {format('startShopping')}\n </StorefrontLink>\n ) : null}\n {kind === 'past-end' && firstHref ? (\n <StorefrontLink href={firstHref} data-fs-order-list-first=\"\">\n {format('firstPage')}\n </StorefrontLink>\n ) : null}\n {kind === 'walk-stopped' && nextHref ? (\n <StorefrontLink href={nextHref} data-fs-order-list-next=\"\">\n {advanceLabel}\n </StorefrontLink>\n ) : null}\n </>\n );\n}\n\nfunction Criteria({ criteria }: Readonly<{ criteria: Array<{ key: CriterionKey; value: string }> }>): ReactNode {\n return (\n <ul data-fs-order-list-criteria=\"\">\n {criteria.map((item) => (\n <li key={item.key} data-fs-order-list-criterion={item.key}>\n {item.value}\n </li>\n ))}\n </ul>\n );\n}\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { ComponentDefinition } from "../../core/dist/define-component.js";
2
2
  import "../../core/dist/index.js";
3
3
  import { PageRef } from "../../sdk/navigation/types.js";
4
+ import { OrderStatusMessages } from "../../particles/order-status-badge/order-status-badge.js";
4
5
  import { ComponentPropsWithRef, Ref } from "react";
5
6
  //#region src/matter/order-list-row/order-list-row.d.ts
6
7
  export type OrderListItemData = {
@@ -25,6 +26,8 @@ export type OrderListRowProps = Readonly<{
25
26
  * appends its id. `OrderList` passes its `orderHref`.
26
27
  */
27
28
  href?: PageRef | string;
29
+ /** The formatted status sentences. `OrderList` passes its own `status*` messages. */
30
+ statusMessages: OrderStatusMessages;
28
31
  className?: string;
29
32
  ref?: Ref<HTMLAnchorElement>;
30
33
  }>;
@@ -35,10 +38,12 @@ export declare const OrderListRowDefinition: ComponentDefinition<Readonly<{
35
38
  * appends its id. `OrderList` passes its `orderHref`.
36
39
  */
37
40
  href?: PageRef | string;
41
+ /** The formatted status sentences. `OrderList` passes its own `status*` messages. */
42
+ statusMessages: OrderStatusMessages;
38
43
  className?: string;
39
44
  ref?: Ref<HTMLAnchorElement>;
40
45
  }>>;
41
46
  export declare function OrderListRowSkeleton({ className, ...props }: ComponentPropsWithRef<'div'>): import("react/jsx-runtime").JSX.Element;
42
- export declare function OrderListRow({ $data, href, className, ref }: OrderListRowProps): import("react/jsx-runtime").JSX.Element;
47
+ export declare function OrderListRow({ $data, href, statusMessages, className, ref }: OrderListRowProps): import("react/jsx-runtime").JSX.Element;
43
48
  //#endregion
44
49
  //# sourceMappingURL=order-list-row.d.ts.map