@vtex/faststore 0.0.6 → 0.0.8

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 (488) hide show
  1. package/CHANGELOG.md +99 -0
  2. package/dist/actions.json +152 -1
  3. package/dist/catalog.json +2541 -1278
  4. package/dist/cli/UnreachableCaseError-Crd168Vu.js +10 -0
  5. package/dist/cli/UnreachableCaseError-Crd168Vu.js.map +1 -0
  6. package/dist/cli/cacheControl-CEojH_TM.js +158 -0
  7. package/dist/cli/cacheControl-CEojH_TM.js.map +1 -0
  8. package/dist/cli/cachePolicy-m2vASMRW.js +26 -0
  9. package/dist/cli/cachePolicy-m2vASMRW.js.map +1 -0
  10. package/dist/cli/computeCoreSchemaHash-DPJZj-qJ.js +10 -0
  11. package/dist/cli/computeCoreSchemaHash-DPJZj-qJ.js.map +1 -0
  12. package/dist/cli/default-BCQHcwbL.js +253 -0
  13. package/dist/cli/default-BCQHcwbL.js.map +1 -0
  14. package/dist/cli/disableSuggestions-yO9UqiWn.js +21 -0
  15. package/dist/cli/disableSuggestions-yO9UqiWn.js.map +1 -0
  16. package/dist/cli/dist-C1JhdHfo.js +2001 -0
  17. package/dist/cli/dist-C1JhdHfo.js.map +1 -0
  18. package/dist/cli/graphql-DG9thCDG.js +14589 -0
  19. package/dist/cli/graphql-DG9thCDG.js.map +1 -0
  20. package/dist/cli/index.d.ts +799 -0
  21. package/dist/cli/index.js +36459 -0
  22. package/dist/cli/index.js.map +1 -0
  23. package/dist/cli/index.min-BsIHDfFK.js +613 -0
  24. package/dist/cli/index.min-BsIHDfFK.js.map +1 -0
  25. package/dist/cli/inlineTrace-uLgOJ3TH.js +52 -0
  26. package/dist/cli/inlineTrace-uLgOJ3TH.js.map +1 -0
  27. package/dist/cli/internalPlugin-DnuwN4_4.js +11 -0
  28. package/dist/cli/internalPlugin-DnuwN4_4.js.map +1 -0
  29. package/dist/cli/packageVersion-DQAnIEil.js +6 -0
  30. package/dist/cli/packageVersion-DQAnIEil.js.map +1 -0
  31. package/dist/cli/rolldown-runtime-BMI-E3GI.js +44 -0
  32. package/dist/cli/schemaIsSubgraph-DoGh3OYj.js +17 -0
  33. package/dist/cli/schemaIsSubgraph-DoGh3OYj.js.map +1 -0
  34. package/dist/cli/schemaReporting-K-me-3-v.js +199 -0
  35. package/dist/cli/schemaReporting-K-me-3-v.js.map +1 -0
  36. package/dist/cli/server-runtime.js +49879 -0
  37. package/dist/cli/server-runtime.js.map +1 -0
  38. package/dist/cli/traceTreeBuilder-BIcV2U7b.js +9118 -0
  39. package/dist/cli/traceTreeBuilder-BIcV2U7b.js.map +1 -0
  40. package/dist/cli/usageReporting-Bpl8vSZX.js +10201 -0
  41. package/dist/cli/usageReporting-Bpl8vSZX.js.map +1 -0
  42. package/dist/cli/v4-CBhFvC49.js +42 -0
  43. package/dist/cli/v4-CBhFvC49.js.map +1 -0
  44. package/dist/client.d.ts +5 -1
  45. package/dist/client.js +5 -1
  46. package/dist/components.d.ts +38 -9
  47. package/dist/components.js +42 -13
  48. package/dist/content-types.json +616 -0
  49. package/dist/core/dist/define-component.d.ts +43 -1
  50. package/dist/core/dist/index.d.ts +2 -2
  51. package/dist/docs/account-access-gate.md +4 -4
  52. package/dist/docs/account-address-book.md +519 -0
  53. package/dist/docs/account-entry-point.md +1 -1
  54. package/dist/docs/account-menu-identity.md +160 -0
  55. package/dist/docs/account-menu.md +107 -24
  56. package/dist/docs/alert-dialog.md +2 -2
  57. package/dist/docs/avatar.md +103 -0
  58. package/dist/docs/billing-address.md +17 -9
  59. package/dist/docs/card-entry.md +37 -6
  60. package/dist/docs/cardholder-document.md +16 -14
  61. package/dist/docs/cart-item.md +1 -1
  62. package/dist/docs/cart.md +8 -8
  63. package/dist/docs/client-profile-fieldset.md +7 -5
  64. package/dist/docs/copy-text.md +84 -0
  65. package/dist/docs/document-field.md +8 -8
  66. package/dist/docs/footer-link-group.md +2 -2
  67. package/dist/docs/header-root.md +1 -1
  68. package/dist/docs/incentives.md +2 -2
  69. package/dist/docs/logo.md +5 -5
  70. package/dist/docs/my-account-profile.md +5 -5
  71. package/dist/docs/navigation-link-list.md +2 -2
  72. package/dist/docs/navigation-link.md +3 -3
  73. package/dist/docs/order-cancel.md +52 -0
  74. package/dist/docs/order-delivery-address.md +63 -0
  75. package/dist/docs/order-delivery-group.md +83 -0
  76. package/dist/docs/order-details-back.md +41 -0
  77. package/dist/docs/order-details-header.md +48 -0
  78. package/dist/docs/order-list-row.md +46 -0
  79. package/dist/docs/order-list-search.md +101 -0
  80. package/dist/docs/order-list-views.md +97 -0
  81. package/dist/docs/order-list.md +94 -0
  82. package/dist/docs/order-payment.md +94 -0
  83. package/dist/docs/order-placed-date.md +49 -0
  84. package/dist/docs/order-placed-payment-summary.md +13 -15
  85. package/dist/docs/order-placed.md +225 -0
  86. package/dist/docs/order-progress.md +88 -0
  87. package/dist/docs/order-status-badge.md +91 -0
  88. package/dist/docs/order-summary.md +53 -0
  89. package/dist/docs/payment-method-badges.md +14 -3
  90. package/dist/docs/place-order.md +13 -9
  91. package/dist/docs/product-shelf.md +20 -13
  92. package/dist/docs/saved-cards.md +2 -2
  93. package/dist/docs/select.md +19 -6
  94. package/dist/docs/session.md +1 -1
  95. package/dist/docs/shipping-address.md +1 -1
  96. package/dist/docs/sign-in-redirect.md +6 -6
  97. package/dist/docs/toast.md +7 -3
  98. package/dist/index.d.ts +7 -3
  99. package/dist/index.js +2 -1
  100. package/dist/internal/client.d.ts +6 -1
  101. package/dist/internal/client.js +8 -3
  102. package/dist/internal/content.d.ts +2 -2
  103. package/dist/internal/server.d.ts +8 -1
  104. package/dist/internal/server.js +8 -1
  105. package/dist/matter/account-access-gate/account-access-gate.d.ts +2 -1
  106. package/dist/matter/account-access-gate/account-access-gate.js +19 -16
  107. package/dist/matter/account-access-gate/account-access-gate.js.map +1 -1
  108. package/dist/matter/account-address-book/account-address-book-delete.d.ts +60 -0
  109. package/dist/matter/account-address-book/account-address-book-delete.js +184 -0
  110. package/dist/matter/account-address-book/account-address-book-delete.js.map +1 -0
  111. package/dist/matter/account-address-book/account-address-book-deliverability.d.ts +19 -0
  112. package/dist/matter/account-address-book/account-address-book-deliverability.js +50 -0
  113. package/dist/matter/account-address-book/account-address-book-deliverability.js.map +1 -0
  114. package/dist/matter/account-address-book/account-address-book-form-parts.d.ts +42 -0
  115. package/dist/matter/account-address-book/account-address-book-form-parts.js +146 -0
  116. package/dist/matter/account-address-book/account-address-book-form-parts.js.map +1 -0
  117. package/dist/matter/account-address-book/account-address-book-profile-notice.d.ts +25 -0
  118. package/dist/matter/account-address-book/account-address-book-profile-notice.js +72 -0
  119. package/dist/matter/account-address-book/account-address-book-profile-notice.js.map +1 -0
  120. package/dist/matter/account-address-book/account-address-book.d.ts +120 -0
  121. package/dist/matter/account-address-book/account-address-book.js +469 -0
  122. package/dist/matter/account-address-book/account-address-book.js.map +1 -0
  123. package/dist/matter/account-address-book/account-address-country-switch.js +59 -0
  124. package/dist/matter/account-address-book/account-address-country-switch.js.map +1 -0
  125. package/dist/matter/account-address-book/account-address-country.d.ts +36 -0
  126. package/dist/matter/account-address-book/account-address-country.js +151 -0
  127. package/dist/matter/account-address-book/account-address-country.js.map +1 -0
  128. package/dist/matter/account-address-book/account-address-first-line.js +11 -0
  129. package/dist/matter/account-address-book/account-address-first-line.js.map +1 -0
  130. package/dist/matter/account-address-book/account-address-form-context.d.ts +55 -0
  131. package/dist/matter/account-address-book/account-address-form-context.js +14 -0
  132. package/dist/matter/account-address-book/account-address-form-context.js.map +1 -0
  133. package/dist/matter/account-address-book/account-address-form.d.ts +85 -0
  134. package/dist/matter/account-address-book/account-address-form.js +946 -0
  135. package/dist/matter/account-address-book/account-address-form.js.map +1 -0
  136. package/dist/matter/account-address-book/account-address-postal-autofill.js +189 -0
  137. package/dist/matter/account-address-book/account-address-postal-autofill.js.map +1 -0
  138. package/dist/matter/account-address-book/account-address-record.d.ts +26 -0
  139. package/dist/matter/account-address-book/account-address-record.js +138 -0
  140. package/dist/matter/account-address-book/account-address-record.js.map +1 -0
  141. package/dist/matter/account-entry-point/account-entry-point.js +11 -11
  142. package/dist/matter/account-entry-point/account-entry-point.js.map +1 -1
  143. package/dist/matter/account-menu/account-menu.d.ts +77 -3
  144. package/dist/matter/account-menu/account-menu.js +252 -19
  145. package/dist/matter/account-menu/account-menu.js.map +1 -1
  146. package/dist/matter/account-menu/sign-out-failure.js +50 -0
  147. package/dist/matter/account-menu/sign-out-failure.js.map +1 -0
  148. package/dist/matter/account-menu-identity/account-menu-identity.d.ts +21 -0
  149. package/dist/matter/account-menu-identity/account-menu-identity.js +88 -0
  150. package/dist/matter/account-menu-identity/account-menu-identity.js.map +1 -0
  151. package/dist/matter/billing-address/billing-address.d.ts +30 -17
  152. package/dist/matter/billing-address/billing-address.js +128 -33
  153. package/dist/matter/billing-address/billing-address.js.map +1 -1
  154. package/dist/matter/breadcrumb/breadcrumb.js +2 -2
  155. package/dist/matter/breadcrumb/breadcrumb.js.map +1 -1
  156. package/dist/matter/card-entry/card-capture.js +4 -3
  157. package/dist/matter/card-entry/card-capture.js.map +1 -1
  158. package/dist/matter/card-entry/card-entry.d.ts +5 -3
  159. package/dist/matter/card-entry/card-entry.js +78 -27
  160. package/dist/matter/card-entry/card-entry.js.map +1 -1
  161. package/dist/matter/cardholder-document/cardholder-document.d.ts +10 -9
  162. package/dist/matter/cardholder-document/cardholder-document.js +36 -16
  163. package/dist/matter/cardholder-document/cardholder-document.js.map +1 -1
  164. package/dist/matter/cart/cart.d.ts +7 -2
  165. package/dist/matter/cart/cart.js +29 -26
  166. package/dist/matter/cart/cart.js.map +1 -1
  167. package/dist/matter/cart-item/cart-item.js +2 -2
  168. package/dist/matter/cart-item/cart-item.js.map +1 -1
  169. package/dist/matter/client-preferences/client-preferences-fieldset.js +2 -2
  170. package/dist/matter/client-profile-form/client-profile-fieldset.js +9 -6
  171. package/dist/matter/client-profile-form/client-profile-fieldset.js.map +1 -1
  172. package/dist/matter/identity-edit/identity-edit.js +3 -3
  173. package/dist/matter/identity-edit/identity-edit.js.map +1 -1
  174. package/dist/matter/identity-summary/identity-summary.js +4 -3
  175. package/dist/matter/identity-summary/identity-summary.js.map +1 -1
  176. package/dist/matter/my-account-profile/my-account-profile.d.ts +6 -3
  177. package/dist/matter/my-account-profile/my-account-profile.js +6 -5
  178. package/dist/matter/my-account-profile/my-account-profile.js.map +1 -1
  179. package/dist/matter/order-cancel/order-cancel.d.ts +110 -0
  180. package/dist/matter/order-cancel/order-cancel.js +344 -0
  181. package/dist/matter/order-cancel/order-cancel.js.map +1 -0
  182. package/dist/matter/order-delivery-address/order-delivery-address.d.ts +73 -0
  183. package/dist/matter/order-delivery-address/order-delivery-address.js +172 -0
  184. package/dist/matter/order-delivery-address/order-delivery-address.js.map +1 -0
  185. package/dist/matter/order-delivery-group/order-delivery-group.d.ts +128 -0
  186. package/dist/matter/order-delivery-group/order-delivery-group.js +408 -0
  187. package/dist/matter/order-delivery-group/order-delivery-group.js.map +1 -0
  188. package/dist/matter/order-details-header/order-details-header.d.ts +104 -0
  189. package/dist/matter/order-details-header/order-details-header.js +190 -0
  190. package/dist/matter/order-details-header/order-details-header.js.map +1 -0
  191. package/dist/matter/order-list/customer-orders-filter.d.ts +12 -0
  192. package/dist/matter/order-list/customer-orders-filter.js +30 -0
  193. package/dist/matter/order-list/customer-orders-filter.js.map +1 -0
  194. package/dist/matter/order-list/order-list.d.ts +121 -0
  195. package/dist/matter/order-list/order-list.js +395 -0
  196. package/dist/matter/order-list/order-list.js.map +1 -0
  197. package/dist/matter/order-list-row/order-list-row.d.ts +44 -0
  198. package/dist/matter/order-list-row/order-list-row.js +127 -0
  199. package/dist/matter/order-list-row/order-list-row.js.map +1 -0
  200. package/dist/matter/order-list-search/order-list-search.d.ts +72 -0
  201. package/dist/matter/order-list-search/order-list-search.js +296 -0
  202. package/dist/matter/order-list-search/order-list-search.js.map +1 -0
  203. package/dist/matter/order-list-views/order-list-views.d.ts +65 -0
  204. package/dist/matter/order-list-views/order-list-views.js +154 -0
  205. package/dist/matter/order-list-views/order-list-views.js.map +1 -0
  206. package/dist/matter/order-payment/order-payment.d.ts +83 -0
  207. package/dist/matter/order-payment/order-payment.js +258 -0
  208. package/dist/matter/order-payment/order-payment.js.map +1 -0
  209. package/dist/matter/order-placed/order-placed-deliveries.d.ts +145 -0
  210. package/dist/matter/order-placed/order-placed-deliveries.js +380 -0
  211. package/dist/matter/order-placed/order-placed-deliveries.js.map +1 -0
  212. package/dist/matter/order-placed/order-placed.d.ts +122 -0
  213. package/dist/matter/order-placed/order-placed.js +452 -0
  214. package/dist/matter/order-placed/order-placed.js.map +1 -0
  215. package/dist/matter/order-placed-date/order-placed-date.d.ts +45 -0
  216. package/dist/matter/order-placed-date/order-placed-date.js +92 -0
  217. package/dist/matter/order-placed-date/order-placed-date.js.map +1 -0
  218. package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.d.ts +5 -8
  219. package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.js +29 -81
  220. package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.js.map +1 -1
  221. package/dist/matter/order-progress/order-progress.d.ts +85 -0
  222. package/dist/matter/order-progress/order-progress.js +203 -0
  223. package/dist/matter/order-progress/order-progress.js.map +1 -0
  224. package/dist/matter/order-summary/order-summary.d.ts +81 -0
  225. package/dist/matter/order-summary/order-summary.js +192 -0
  226. package/dist/matter/order-summary/order-summary.js.map +1 -0
  227. package/dist/matter/payment/cardholder-document-rule.d.ts +35 -0
  228. package/dist/matter/payment/cardholder-document-rule.js +35 -0
  229. package/dist/matter/payment/cardholder-document-rule.js.map +1 -0
  230. package/dist/matter/payment/payment-card-capture.js +38 -23
  231. package/dist/matter/payment/payment-card-capture.js.map +1 -1
  232. package/dist/matter/payment/payment-controller.js +12 -0
  233. package/dist/matter/payment/payment-controller.js.map +1 -1
  234. package/dist/matter/payment/payment-method-badges.js +4 -2
  235. package/dist/matter/payment/payment-method-badges.js.map +1 -1
  236. package/dist/matter/payment/payment.js +12 -0
  237. package/dist/matter/payment/payment.js.map +1 -1
  238. package/dist/matter/payment/use-payment-method-selection.d.ts +39 -0
  239. package/dist/matter/payment/use-payment-method-selection.js +30 -2
  240. package/dist/matter/payment/use-payment-method-selection.js.map +1 -1
  241. package/dist/matter/payment/use-payment-submit-gate.d.ts +16 -2
  242. package/dist/matter/payment/use-payment-submit-gate.js +42 -14
  243. package/dist/matter/payment/use-payment-submit-gate.js.map +1 -1
  244. package/dist/matter/place-order/place-order.d.ts +12 -7
  245. package/dist/matter/place-order/place-order.js +126 -103
  246. package/dist/matter/place-order/place-order.js.map +1 -1
  247. package/dist/matter/pricing/pricing.js +5 -5
  248. package/dist/matter/pricing/pricing.js.map +1 -1
  249. package/dist/matter/product-shelf/product-shelf.d.ts +61 -31
  250. package/dist/matter/product-shelf/product-shelf.js +157 -57
  251. package/dist/matter/product-shelf/product-shelf.js.map +1 -1
  252. package/dist/matter/region/region.js +1 -1
  253. package/dist/matter/saved-cards/saved-cards.js +27 -15
  254. package/dist/matter/saved-cards/saved-cards.js.map +1 -1
  255. package/dist/matter/session/session.js +2 -2
  256. package/dist/matter/session/session.js.map +1 -1
  257. package/dist/matter/shipping-address/country-descriptors.d.ts +1 -0
  258. package/dist/matter/shipping-address/country-descriptors.js +23 -1
  259. package/dist/matter/shipping-address/country-descriptors.js.map +1 -1
  260. package/dist/matter/shipping-address/shipping-address.js +63 -15
  261. package/dist/matter/shipping-address/shipping-address.js.map +1 -1
  262. package/dist/matter/shipping-simulator/shipping-simulator.d.ts +1 -1
  263. package/dist/matter/shipping-simulator/shipping-simulator.js.map +1 -1
  264. package/dist/matter/sign-in-redirect/sign-in-redirect.js +48 -10
  265. package/dist/matter/sign-in-redirect/sign-in-redirect.js.map +1 -1
  266. package/dist/matter/variant-selector/variant-selector.js +2 -2
  267. package/dist/matter/variant-selector/variant-selector.js.map +1 -1
  268. package/dist/particles/address-summary/address-summary.js +2 -2
  269. package/dist/particles/address-summary/address-summary.js.map +1 -1
  270. package/dist/particles/alert-dialog/alert-dialog.d.ts +5 -1
  271. package/dist/particles/alert-dialog/alert-dialog.js +5 -2
  272. package/dist/particles/alert-dialog/alert-dialog.js.map +1 -1
  273. package/dist/particles/avatar/avatar.d.ts +17 -0
  274. package/dist/particles/avatar/avatar.js +65 -0
  275. package/dist/particles/avatar/avatar.js.map +1 -0
  276. package/dist/particles/copy-text/copy-text.d.ts +28 -0
  277. package/dist/particles/copy-text/copy-text.js +140 -0
  278. package/dist/particles/copy-text/copy-text.js.map +1 -0
  279. package/dist/particles/document-field/document-field.d.ts +34 -5
  280. package/dist/particles/document-field/document-field.js +115 -19
  281. package/dist/particles/document-field/document-field.js.map +1 -1
  282. package/dist/particles/field/field.js +1 -1
  283. package/dist/particles/field/field.js.map +1 -1
  284. package/dist/particles/footer-link-group/footer-link-group.d.ts +6 -2
  285. package/dist/particles/footer-link-group/footer-link-group.js +18 -7
  286. package/dist/particles/footer-link-group/footer-link-group.js.map +1 -1
  287. package/dist/particles/incentives/incentives.d.ts +6 -2
  288. package/dist/particles/incentives/incentives.js +7 -2
  289. package/dist/particles/incentives/incentives.js.map +1 -1
  290. package/dist/particles/logo/logo.d.ts +3 -2
  291. package/dist/particles/logo/logo.js +20 -8
  292. package/dist/particles/logo/logo.js.map +1 -1
  293. package/dist/particles/navigation-link/navigation-link.d.ts +2 -3
  294. package/dist/particles/navigation-link/navigation-link.js +4 -4
  295. package/dist/particles/navigation-link/navigation-link.js.map +1 -1
  296. package/dist/particles/navigation-link-list/navigation-link-list.d.ts +6 -2
  297. package/dist/particles/navigation-link-list/navigation-link-list.js +18 -7
  298. package/dist/particles/navigation-link-list/navigation-link-list.js.map +1 -1
  299. package/dist/particles/order-details-back/order-details-back.d.ts +28 -0
  300. package/dist/particles/order-details-back/order-details-back.js +52 -0
  301. package/dist/particles/order-details-back/order-details-back.js.map +1 -0
  302. package/dist/particles/order-status-badge/order-status-badge.d.ts +19 -0
  303. package/dist/particles/order-status-badge/order-status-badge.js +50 -0
  304. package/dist/particles/order-status-badge/order-status-badge.js.map +1 -0
  305. package/dist/particles/phone-field/phone-field.js +2 -2
  306. package/dist/particles/phone-field/phone-field.js.map +1 -1
  307. package/dist/particles/select/select.js +6 -6
  308. package/dist/particles/select/select.js.map +1 -1
  309. package/dist/particles/toast/toast.d.ts +1 -1
  310. package/dist/particles/toast/toast.js +32 -6
  311. package/dist/particles/toast/toast.js.map +1 -1
  312. package/dist/schema.graphql +1079 -54
  313. package/dist/sdk/actions/address-action-provider.d.ts +16 -0
  314. package/dist/sdk/actions/address-action-provider.js +20 -0
  315. package/dist/sdk/actions/address-action-provider.js.map +1 -0
  316. package/dist/sdk/actions/analytics-action-provider.js +1 -1
  317. package/dist/sdk/actions/index.d.ts +3 -1
  318. package/dist/sdk/actions/index.js +3 -1
  319. package/dist/sdk/actions/order-action-provider.d.ts +12 -0
  320. package/dist/sdk/actions/order-action-provider.js +16 -0
  321. package/dist/sdk/actions/order-action-provider.js.map +1 -0
  322. package/dist/sdk/actions/types.d.ts +6 -2
  323. package/dist/sdk/address/address-fields.js +38 -0
  324. package/dist/sdk/address/address-fields.js.map +1 -0
  325. package/dist/sdk/address/checkout-readiness.js +17 -0
  326. package/dist/sdk/address/checkout-readiness.js.map +1 -0
  327. package/dist/sdk/address/constants.js +60 -0
  328. package/dist/sdk/address/constants.js.map +1 -0
  329. package/dist/sdk/address/country-display.js +19 -0
  330. package/dist/sdk/address/country-display.js.map +1 -0
  331. package/dist/sdk/address/country-rules.js +30 -0
  332. package/dist/sdk/address/country-rules.js.map +1 -0
  333. package/dist/sdk/address/format-address.js +18 -0
  334. package/dist/sdk/address/format-address.js.map +1 -0
  335. package/dist/sdk/address/iso-countries.js +262 -0
  336. package/dist/sdk/address/iso-countries.js.map +1 -0
  337. package/dist/sdk/address/layouts.js +56 -0
  338. package/dist/sdk/address/layouts.js.map +1 -0
  339. package/dist/sdk/address/messages.js +97 -0
  340. package/dist/sdk/address/messages.js.map +1 -0
  341. package/dist/sdk/address/operations.d.ts +54 -0
  342. package/dist/sdk/address/operations.js +83 -0
  343. package/dist/sdk/address/operations.js.map +1 -0
  344. package/dist/sdk/address/postal-code-lookup-operations.js +23 -0
  345. package/dist/sdk/address/postal-code-lookup-operations.js.map +1 -0
  346. package/dist/sdk/address/postal-code.js +11 -0
  347. package/dist/sdk/address/postal-code.js.map +1 -0
  348. package/dist/sdk/address/schema.js +14 -0
  349. package/dist/sdk/address/schema.js.map +1 -0
  350. package/dist/sdk/address/server-fields.js +25 -0
  351. package/dist/sdk/address/server-fields.js.map +1 -0
  352. package/dist/sdk/address/switch-country.js +57 -0
  353. package/dist/sdk/address/switch-country.js.map +1 -0
  354. package/dist/sdk/address/types.d.ts +26 -0
  355. package/dist/sdk/address/use-address-actions.d.ts +29 -0
  356. package/dist/sdk/address/use-address-actions.js +247 -0
  357. package/dist/sdk/address/use-address-actions.js.map +1 -0
  358. package/dist/sdk/address/use-address-by-postal-code.js +57 -0
  359. package/dist/sdk/address/use-address-by-postal-code.js.map +1 -0
  360. package/dist/sdk/address/validate-address.js +62 -0
  361. package/dist/sdk/address/validate-address.js.map +1 -0
  362. package/dist/sdk/analytics/use-analytics-actions.js +2 -1
  363. package/dist/sdk/analytics/use-analytics-actions.js.map +1 -1
  364. package/dist/sdk/cache/storefront-cache.js +29 -4
  365. package/dist/sdk/cache/storefront-cache.js.map +1 -1
  366. package/dist/sdk/cart/use-cart-actions.js +9 -8
  367. package/dist/sdk/cart/use-cart-actions.js.map +1 -1
  368. package/dist/sdk/cart/use-cart-validate-on-open.js +2 -1
  369. package/dist/sdk/cart/use-cart-validate-on-open.js.map +1 -1
  370. package/dist/sdk/client/fetch-page-data.d.ts +11 -0
  371. package/dist/sdk/client/fetch-page-data.js +12 -1
  372. package/dist/sdk/client/fetch-page-data.js.map +1 -1
  373. package/dist/sdk/content/create-content-runtime.d.ts +22 -1
  374. package/dist/sdk/content/create-content-runtime.js +90 -9
  375. package/dist/sdk/content/create-content-runtime.js.map +1 -1
  376. package/dist/sdk/data/empty-content-value.js +16 -0
  377. package/dist/sdk/data/empty-content-value.js.map +1 -0
  378. package/dist/sdk/data/failed-fields.js +23 -0
  379. package/dist/sdk/data/failed-fields.js.map +1 -0
  380. package/dist/sdk/data/hot-data-provider.js +2 -1
  381. package/dist/sdk/data/hot-data-provider.js.map +1 -1
  382. package/dist/sdk/data/index.js +1 -1
  383. package/dist/sdk/data/page-reactive-data-root.d.ts +45 -7
  384. package/dist/sdk/data/page-reactive-data-root.js +88 -12
  385. package/dist/sdk/data/page-reactive-data-root.js.map +1 -1
  386. package/dist/sdk/data/variables-from-content.d.ts +43 -0
  387. package/dist/sdk/data/variables-from-content.js +57 -0
  388. package/dist/sdk/data/variables-from-content.js.map +1 -0
  389. package/dist/sdk/generated/fragment-types.js +2 -0
  390. package/dist/sdk/generated/fragment-types.js.map +1 -1
  391. package/dist/sdk/generated/gql.js +4 -1
  392. package/dist/sdk/generated/gql.js.map +1 -1
  393. package/dist/sdk/generated/graphql.d.ts +8 -0
  394. package/dist/sdk/generated/graphql.js +296 -1
  395. package/dist/sdk/generated/graphql.js.map +1 -1
  396. package/dist/sdk/i18n/messages/en-US.js +138 -1
  397. package/dist/sdk/i18n/messages/en-US.json +138 -1
  398. package/dist/sdk/i18n/messages/en-US.json.d.ts +137 -0
  399. package/dist/sdk/i18n/messages/es-ES.js +138 -1
  400. package/dist/sdk/i18n/messages/es-ES.json +138 -1
  401. package/dist/sdk/i18n/messages/pt-BR.js +138 -1
  402. package/dist/sdk/i18n/messages/pt-BR.json +138 -1
  403. package/dist/sdk/identity/use-identity-actions.js +5 -4
  404. package/dist/sdk/identity/use-identity-actions.js.map +1 -1
  405. package/dist/sdk/navigation/current-page.js +30 -0
  406. package/dist/sdk/navigation/current-page.js.map +1 -0
  407. package/dist/sdk/navigation/not-found-log.d.ts +28 -0
  408. package/dist/sdk/navigation/not-found-log.js +133 -0
  409. package/dist/sdk/navigation/not-found-log.js.map +1 -0
  410. package/dist/sdk/navigation/path.js +25 -0
  411. package/dist/sdk/navigation/path.js.map +1 -0
  412. package/dist/sdk/navigation/redirect.d.ts +11 -0
  413. package/dist/sdk/navigation/redirect.js +22 -0
  414. package/dist/sdk/navigation/redirect.js.map +1 -0
  415. package/dist/sdk/navigation/report.js +70 -0
  416. package/dist/sdk/navigation/report.js.map +1 -0
  417. package/dist/sdk/navigation/resolve-storefront-href.d.ts +12 -0
  418. package/dist/sdk/navigation/resolve-storefront-href.js +214 -0
  419. package/dist/sdk/navigation/resolve-storefront-href.js.map +1 -0
  420. package/dist/sdk/navigation/route-identity-provider.d.ts +11 -0
  421. package/dist/sdk/navigation/route-identity-provider.js +20 -0
  422. package/dist/sdk/navigation/route-identity-provider.js.map +1 -0
  423. package/dist/sdk/navigation/route-map-provider.d.ts +19 -0
  424. package/dist/sdk/navigation/route-map-provider.js +29 -0
  425. package/dist/sdk/navigation/route-map-provider.js.map +1 -0
  426. package/dist/sdk/navigation/storefront-link.d.ts +16 -0
  427. package/dist/sdk/navigation/storefront-link.js +66 -0
  428. package/dist/sdk/navigation/storefront-link.js.map +1 -0
  429. package/dist/sdk/navigation/types.d.ts +45 -0
  430. package/dist/sdk/navigation/use-storefront-navigation.d.ts +26 -0
  431. package/dist/sdk/navigation/use-storefront-navigation.js +73 -0
  432. package/dist/sdk/navigation/use-storefront-navigation.js.map +1 -0
  433. package/dist/sdk/navigation/use-storefront-route.d.ts +26 -0
  434. package/dist/sdk/navigation/use-storefront-route.js +87 -0
  435. package/dist/sdk/navigation/use-storefront-route.js.map +1 -0
  436. package/dist/sdk/navigation/use-storefront-search-params.d.ts +11 -0
  437. package/dist/sdk/navigation/use-storefront-search-params.js +16 -0
  438. package/dist/sdk/navigation/use-storefront-search-params.js.map +1 -0
  439. package/dist/sdk/orders/completion-badge.d.ts +8 -0
  440. package/dist/sdk/orders/completion-badge.js +47 -0
  441. package/dist/sdk/orders/completion-badge.js.map +1 -0
  442. package/dist/sdk/orders/order-operations.d.ts +19 -0
  443. package/dist/sdk/orders/order-operations.js +21 -0
  444. package/dist/sdk/orders/order-operations.js.map +1 -0
  445. package/dist/sdk/orders/use-order-actions.d.ts +23 -0
  446. package/dist/sdk/orders/use-order-actions.js +62 -0
  447. package/dist/sdk/orders/use-order-actions.js.map +1 -0
  448. package/dist/sdk/payment/gateway-origin.js +26 -13
  449. package/dist/sdk/payment/gateway-origin.js.map +1 -1
  450. package/dist/sdk/payment/gateway.d.ts +14 -2
  451. package/dist/sdk/payment/gateway.js +32 -14
  452. package/dist/sdk/payment/gateway.js.map +1 -1
  453. package/dist/sdk/payment/operations.js +11 -0
  454. package/dist/sdk/payment/operations.js.map +1 -1
  455. package/dist/sdk/payment/submission-registry.d.ts +2 -1
  456. package/dist/sdk/payment/submission-registry.js +12 -8
  457. package/dist/sdk/payment/submission-registry.js.map +1 -1
  458. package/dist/sdk/payment/use-payment-actions.d.ts +5 -3
  459. package/dist/sdk/payment/use-payment-actions.js +6 -3
  460. package/dist/sdk/payment/use-payment-actions.js.map +1 -1
  461. package/dist/sdk/payment/use-place-order.d.ts +6 -3
  462. package/dist/sdk/payment/use-place-order.js +334 -144
  463. package/dist/sdk/payment/use-place-order.js.map +1 -1
  464. package/dist/sdk/region/use-region-actions.js +2 -1
  465. package/dist/sdk/region/use-region-actions.js.map +1 -1
  466. package/dist/sdk/seo/page-alternates.d.ts +55 -0
  467. package/dist/sdk/seo/page-alternates.js +132 -0
  468. package/dist/sdk/seo/page-alternates.js.map +1 -0
  469. package/dist/sdk/session/read-server-session.d.ts +21 -0
  470. package/dist/sdk/session/read-server-session.js +61 -0
  471. package/dist/sdk/session/read-server-session.js.map +1 -0
  472. package/dist/sdk/session/use-session-actions.js +5 -4
  473. package/dist/sdk/session/use-session-actions.js.map +1 -1
  474. package/dist/sdk/session/use-session-revalidation.js +2 -1
  475. package/dist/sdk/session/use-session-revalidation.js.map +1 -1
  476. package/dist/sdk/shipping/use-shipping-actions.js +3 -2
  477. package/dist/sdk/shipping/use-shipping-actions.js.map +1 -1
  478. package/dist/utils/own-value.js +19 -0
  479. package/dist/utils/own-value.js.map +1 -0
  480. package/dist/utils/safe-href.d.ts +11 -0
  481. package/dist/utils/safe-href.js +31 -22
  482. package/dist/utils/safe-href.js.map +1 -1
  483. package/package.json +17 -2
  484. package/skills/storefront-asset/SKILL.md +111 -0
  485. package/skills/storefront-asset/references/api-side.md +153 -0
  486. package/skills/storefront-asset/references/findings.md +40 -0
  487. package/skills/storefront-asset/references/ui-side.md +94 -0
  488. package/src/styles/tailwind.css +27 -0
@@ -67,7 +67,7 @@ layout-header
67
67
 
68
68
  | Prop | Type | Required | Notes |
69
69
  |-------|------|----------|-------|
70
- | `links` | array | no | Authored fallback list of `{ label, href, target? }`. Ignored when a CMS entry supplies `links` |
70
+ | `links` | array | no | Authored fallback list of `{ label, href, target? }`. An item `href` may be a page reference or a logical path. Ignored when a CMS entry supplies `links` |
71
71
 
72
72
  Content model (`navigation-link-list`) fields, edited in the CMS:
73
73
 
@@ -75,7 +75,7 @@ Content model (`navigation-link-list`) fields, edited in the CMS:
75
75
  |-------|------|----------|-------|
76
76
  | `links` | array | no | Ordered links. Adding, removing or reordering here changes the navigation with no deployment. Optional so an unfilled entry falls back to the authored list |
77
77
  | `links[].label` | string | yes | Link text. A blank label drops that link — an anchor with no name is unusable |
78
- | `links[].href` | string | yes | Destination. `http:`, `https:`, `mailto:`, `tel:`, or a path starting with a single `/` |
78
+ | `links[].href` | string | yes | A `uri-reference` string: `http:`, `https:`, `mailto:`, `tel:`, or a path starting with a single `/`. The binding prefix is applied at render |
79
79
  | `links[].target` | `_self` \| `_blank` | no | `_blank` opens a new tab and adds `rel="noopener noreferrer"` automatically. Write an "(opens in new tab)" cue into the label — the component announces nothing on its own |
80
80
 
81
81
  ---
@@ -1,7 +1,7 @@
1
1
  # NavigationLink
2
2
 
3
3
  **Category:** navigation
4
- **Purpose:** Client-side navigation link built on Next.js Link. Renders a single `<a>` and moves the shopper between routes without a full-page reload. Carries no commerce data of its own.
4
+ **Purpose:** Client-side navigation link that renders `StorefrontLink`. `href` is a page reference or a logical path. Renders a single `<a>` and moves the shopper between routes without a full-page reload. Carries no commerce data of its own.
5
5
 
6
6
  ---
7
7
 
@@ -57,7 +57,7 @@ Sibling links share the same `children` array on the parent, and their order ref
57
57
 
58
58
  | Prop | Type | Default | Notes |
59
59
  |------|------|---------|-------|
60
- | `href` | `string` | — | Destination. An internal path (`/collection/sale`) keeps client-side navigation; an absolute URL (`https://…`) leaves the store. |
60
+ | `href` | page reference or string | — | A page reference (`{ page }` or `{ standard }`) or a logical path (`/collection/sale`). An absolute URL (`https://…`) leaves the store. The binding prefix is applied at render. |
61
61
  | `target` | `_self` \| `_blank` | `_self` | `_blank` opens the destination in a new tab. The component then adds `noopener` and `noreferrer` to the anchor's `rel` on its own. |
62
62
  | `children` | `string` | — | The link text. This is also the link's accessible name, so it has to describe the destination on its own. |
63
63
 
@@ -68,7 +68,7 @@ Content model (`navigation-link`) fields, edited in the CMS:
68
68
  | Field | Type | Required | Notes |
69
69
  |-------|------|----------|-------|
70
70
  | `text` | string | yes | The link label |
71
- | `href` | string | no | Cleared, absent, or outside the allowlist keeps the authored `href` |
71
+ | `href` | string | no | A `uri-reference` string. Cleared, absent, or outside the allowlist keeps the authored `href`. A safe string receives the binding prefix at render |
72
72
  | `target` | `_self` \| `_blank` | no | Absent keeps the authored `target` |
73
73
 
74
74
  **Props and content both work.** The props stay the authoring surface, and a CMS entry overrides them field by field, so a merchant can retitle a link or repoint it without a deploy. A store with no CMS binding receives no `$content` and renders from the props alone. The safety `rel` follows the *resolved* target, so a `_blank` that arrives from the CMS is defended exactly like an authored one — but the "(opens in new tab)" cue lives in the label, which means a merchant who switches a link to `_blank` has to write that cue into `text` themselves.
@@ -0,0 +1,52 @@
1
+ # OrderCancel
2
+
3
+ **Category:** action
4
+ **Purpose:** Confirms and cancels one eligible order.
5
+
6
+ ---
7
+
8
+ ## Visual cues (how to identify in an image)
9
+
10
+ - A "Cancel order" button on the order page.
11
+ - A confirmation dialog with a reason list, an Other entry, and confirm and dismiss actions.
12
+ - After a successful cancel, the button is gone and a short confirmation sentence remains.
13
+
14
+ The image is the source of truth for layout.
15
+
16
+ ## When to use
17
+
18
+ - On the order details page, for a shopper who may cancel that order.
19
+
20
+ ## When NOT to use
21
+
22
+ - For a toast or a dialog that closes on an outside click.
23
+ - For cancelling a single item.
24
+
25
+ ---
26
+
27
+ ## Composition
28
+
29
+ ```text
30
+ OrderCancel
31
+ ```
32
+
33
+ The dialog, the reason list, and the acknowledgement are inside this matter.
34
+
35
+ ## Components
36
+
37
+ ### OrderCancel
38
+
39
+ No authoring props. The page query passes the order. Reasons and sentences come from the `order-cancel` content model.
40
+
41
+ ## Styling
42
+
43
+ - `data-fs-order-cancel` — the root. `data-fs-order-cancel-outcome` is `idle`, `success`, or `failure`.
44
+ - `data-fs-order-cancel-action` — the button that opens the dialog.
45
+ - `data-fs-alert-dialog-backdrop`, `data-fs-alert-dialog-viewport`, `data-fs-alert-dialog-popup`, `data-fs-alert-dialog-title`, `data-fs-alert-dialog-description` — the overlay. It portals into this root so these hooks stay reachable.
46
+ - `data-fs-order-cancel-reasons` — the reason list. `data-fs-radio-root`, `data-fs-radio-indicator`, and `data-fs-order-cancel-mark` are one option.
47
+ - `data-fs-order-cancel-actions` — the confirm and dismiss row.
48
+ - `data-fs-order-cancel-other` — the free-text field, only while Other is selected.
49
+ - `data-fs-order-cancel-confirm` — the confirm button. Disabled while the write is in flight.
50
+ - `data-fs-order-cancel-dismiss` — the dismiss button.
51
+ - `data-fs-order-cancel-message` — the success or failure acknowledgement.
52
+ - `data-fs-order-cancel-skeleton` — the loading placeholder.
@@ -0,0 +1,63 @@
1
+ # OrderDeliveryAddress
2
+
3
+ **Category:** content
4
+ **Purpose:** The address the order recorded for one delivery option, inside its delivery group.
5
+
6
+ ---
7
+
8
+ ## Visual cues (how to identify in an image)
9
+
10
+ - A short address block under the products of a delivery group on an order details page. It starts with a caption such as "Delivery address" or "Store address".
11
+ - Under a delivery caption, a person's name comes first, then street, number, complement, neighborhood, reference, city, state, postal code, and country code. Fields the order did not store are absent.
12
+ - Under a store caption there is no person's name: the block is the pickup point's address.
13
+
14
+ The image is the source of truth for layout.
15
+
16
+ ## When to use
17
+
18
+ - The order details page, inside each `OrderDeliveryGroup`, after the product rows.
19
+
20
+ ## When NOT to use
21
+
22
+ - For the products of each delivery → use `OrderDeliveryGroup`.
23
+ - For the shopper's saved addresses or an address form → use the address book components.
24
+ - For the billing address of a payment → use the payment components.
25
+
26
+ ---
27
+
28
+ ## Composition
29
+
30
+ `OrderDeliveryAddress` is a leaf. Place it as a child of `OrderDeliveryGroup`; the group renders it once per delivery option and tells it which option it sits in. Outside a group it renders one block per option that has an address.
31
+
32
+ ```text
33
+ OrderDeliveryGroup
34
+ └── OrderDeliveryAddress
35
+ ```
36
+
37
+ ## Components
38
+
39
+ ### OrderDeliveryAddress
40
+
41
+ | Prop | Type | Default | Description |
42
+ |---|---|---|---|
43
+ | deliveryLabel | string | catalogue `fs/order-delivery-address.delivery` | Caption above a delivery address |
44
+ | storeLabel | string | catalogue `fs/order-delivery-address.store` | Caption above a pickup store address |
45
+
46
+ Content model `order-delivery-address` with `deliveryLabel` and `storeLabel`. Content wins over the prop, and the prop wins over the catalogue. A blank value falls through.
47
+
48
+ ## Data
49
+
50
+ The fragment reads `customerOrder(id: $orderId).deliveryOptions` with `addressId`, `deliveryChannel`, and `address`. `$orderId` is the `orderId` route segment. The address carries `receiverName`, `street`, `number`, `complement`, `neighborhood`, `reference`, `city`, `state`, `postalCode`, and `country`.
51
+
52
+ A pickup is an option whose `deliveryChannel` is `pickup-in-point`: it shows the store caption and no recipient. Everything else is a delivery: it shows the delivery caption and the recipient when the order stored one. The values are the order record. The component does not format them with country rules and shows the country as the code the order stored.
53
+
54
+ ## Styling
55
+
56
+ - `data-fs-order-delivery-address` — one address block (an `address` element). `flex flex-wrap gap-x-[4px] gap-y-[2px] px-[16px] pb-[16px] text-[14px] not-italic`.
57
+ - `data-fs-order-delivery-address-channel` — `delivery` or `pickup-in-point`.
58
+ - `data-fs-order-delivery-address-option` — the index of the delivery option.
59
+ - `data-fs-order-delivery-address-label` — the caption. `basis-full font-medium text-[#666666]`.
60
+ - `data-fs-order-delivery-address-recipient` — the recipient name. `basis-full`.
61
+ - `data-fs-order-delivery-address-street`, `-number`, `-complement`, `-neighborhood`, `-reference`, `-city`, `-state`, `-postal-code`, `-country` — one field each, in that order.
62
+ - `data-fs-order-delivery-address-list` — the wrapper when the component renders outside a group. `flex flex-col gap-[16px]`.
63
+ - `data-fs-order-delivery-address-skeleton`, `data-fs-order-delivery-address-skeleton-line` — the pending look.
@@ -0,0 +1,83 @@
1
+ # OrderDeliveryGroup
2
+
3
+ **Category:** content
4
+ **Purpose:** The products of one order grouped by delivery option, one collapsible group per option.
5
+
6
+ ---
7
+
8
+ ## Visual cues (how to identify in an image)
9
+
10
+ - One or more collapsible rows on an order details page. Each row header carries a delivery name such as "Normal" or "Pickup", a delivery estimate when the order has one, a count such as "3 items", and a money amount labeled "Subtotal".
11
+ - An open row lists products: a small image, the name, sometimes a detail such as "Size M" next to the name, a quantity, a unit price, sometimes a struck list price, a line tax when the order recorded one, and a line total.
12
+ - When the page shows a single delivery, the row arrives open. Two or more arrive closed.
13
+
14
+ The image is the source of truth for layout.
15
+
16
+ ## When to use
17
+
18
+ - The order details page, for the products of the order.
19
+
20
+ ## When NOT to use
21
+
22
+ - For the address of each delivery → use `OrderDeliveryAddress`.
23
+ - For the order total, discounts, and shipping lines → use the order summary.
24
+ - For a generic collapsible section → use `Accordion`.
25
+ - For the live cart → use `CartItem`.
26
+
27
+ ---
28
+
29
+ ## Composition
30
+
31
+ `OrderDeliveryGroup` renders the accordion and the rows itself. Do not place `Accordion` or product rows as children. Its children render once per option, after that option's rows, inside the `order-delivery-option` context that carries the option index. `OrderDeliveryAddress` is the child that reads it.
32
+
33
+ ```text
34
+ OrderDeliveryGroup
35
+ └── OrderDeliveryAddress
36
+ ```
37
+
38
+ The group order is the order of `deliveryOptions`.
39
+
40
+ ## Components
41
+
42
+ ### OrderDeliveryGroup
43
+
44
+ | Prop | Type | Default | Description |
45
+ |---|---|---|---|
46
+ | label | string | content, then catalogue `fs/order-delivery-group.label` | Accessible name of the section. The other fixed labels are content too (`order-delivery-group`). Item counts keep `{count}`. |
47
+
48
+ The initial open state is not a prop. One option opens; two or more start closed.
49
+
50
+ ## Data
51
+
52
+ The fragment reads `customerOrder(id: $orderId).deliveryOptions`. `$orderId` is the `orderId` route segment. Each option reads `selectedSla`, `deliveryChannel`, `shippingEstimateDate`, and its `items` with `id`, `name`, `quantity`, `image`, `sellingPrice`, `listPrice`, `total`, `tax`, and `customFields`. The address is not selected. The header shows the estimate when the instant is valid, and nothing when it is missing. A row shows `tax` when the line recorded one, including zero, and omits it when the value is absent.
53
+
54
+ The header count is the sum of the item quantities. The subtotal is the sum of the line totals the order carries. The component never multiplies a price by a quantity.
55
+
56
+ ## Styling
57
+
58
+ - `data-fs-order-delivery-group` — the section. `flex flex-col gap-[16px]`.
59
+ - `data-fs-order-delivery-group-count` — the number of options.
60
+ - `data-fs-order-delivery-group-option` — one group. `rounded-[8px] border border-[#E5E5E5]`.
61
+ - `data-fs-order-delivery-group-option-channel` — `delivery` or `pickup-in-point`.
62
+ - `data-fs-order-delivery-group-option-header`, `data-fs-order-delivery-group-option-trigger` — the group header and its button. `flex items-center justify-between p-[16px]`.
63
+ - `data-fs-order-delivery-group-option-panel` — the collapsible body.
64
+ - `data-fs-order-delivery-group-option-name` — the delivery name. `text-[16px] font-medium`.
65
+ - `data-fs-order-delivery-group-option-estimate-label`, `data-fs-order-delivery-group-option-estimate` — the delivery estimate caption and instant. The value is a `time`.
66
+ - `data-fs-order-delivery-group-option-items` — the count sentence. `text-[14px] text-[#666666]`.
67
+ - `data-fs-order-delivery-group-option-subtotal-label`, `data-fs-order-delivery-group-option-subtotal` — the subtotal caption and amount.
68
+ - `data-fs-order-delivery-group-rows` — the list of products. `flex flex-col gap-[12px] p-[16px]`.
69
+ - `data-fs-order-delivery-group-row` — one product. `grid grid-cols-[64px_1fr_auto] gap-[12px]`.
70
+ - `data-fs-order-delivery-group-row-image` — the product image. `size-[64px] object-contain`.
71
+ - `data-fs-order-delivery-group-row-details` — the name and the facts under it.
72
+ - `data-fs-order-delivery-group-row-name` — the product name.
73
+ - `data-fs-order-delivery-group-row-fact` — one fact line (quantity, unit price, list price, or tax).
74
+ - `data-fs-order-delivery-group-row-custom-field`, `-custom-field-name`, `-custom-field-value` — a custom value next to the name.
75
+ - `data-fs-order-delivery-group-row-quantity-label`, `data-fs-order-delivery-group-row-quantity` — the quantity caption and value.
76
+ - `data-fs-order-delivery-group-row-unit-price-label`, `data-fs-order-delivery-group-row-unit-price` — the unit price.
77
+ - `data-fs-order-delivery-group-row-list-price-label`, `data-fs-order-delivery-group-row-list-price` — the list price, only when it differs. `line-through`.
78
+ - `data-fs-order-delivery-group-row-tax-label`, `data-fs-order-delivery-group-row-tax` — the line tax, only when the order recorded one.
79
+ - `data-fs-order-delivery-group-row-aside` — the line total, aligned to the end of the row.
80
+ - `data-fs-order-delivery-group-row-total-label`, `data-fs-order-delivery-group-row-total` — the line total.
81
+ - `data-fs-order-delivery-group-skeleton`, `data-fs-order-delivery-group-skeleton-option` — the pending look.
82
+
83
+ The accordion particle adds `data-fs-accordion-*` and Base UI adds `data-open` and `data-closed`.
@@ -0,0 +1,41 @@
1
+ # OrderDetailsBack
2
+
3
+ **Category:** action
4
+ **Purpose:** Returns from one order to the order list.
5
+
6
+ ---
7
+
8
+ ## Visual cues (how to identify in an image)
9
+
10
+ A single text link above the order heading, reading as a return to the orders list. The image is the source of truth for layout.
11
+
12
+ ## When to use
13
+
14
+ The first element of an order details page whose account layout does not already show a breadcrumb.
15
+
16
+ ## When NOT to use
17
+
18
+ - A layout that already composes the account breadcrumb. Leave this element out of that page.
19
+ - The order list itself.
20
+
21
+ ---
22
+
23
+ ## Composition
24
+
25
+ ```
26
+ OrderDetailsBack
27
+ ```
28
+
29
+ `OrderDetailsBack` is one element. It has no schema props and no children.
30
+
31
+ ## Components
32
+
33
+ ### OrderDetailsBack
34
+
35
+ | Prop | Type | Default | Purpose |
36
+ |---|---|---|---|
37
+ | — | — | — | No schema props. The label is content (`order-details-back`); a blank field keeps `fs/order.back-to-orders`. The href is `/pvt/orders`. |
38
+
39
+ ## Styling hooks
40
+
41
+ `data-fs-order-details-back`.
@@ -0,0 +1,48 @@
1
+ # OrderDetailsHeader
2
+
3
+ **Category:** content
4
+ **Purpose:** The top of an order page: the order number, a copy action for that number, and the status badge.
5
+
6
+ ---
7
+
8
+ ## Visual cues (how to identify in an image)
9
+
10
+ A page heading with a short prefix and an order number, a copy action beside it, and a status badge. The image is the source of truth for layout.
11
+
12
+ ## When to use
13
+
14
+ The first section of an order details page, once.
15
+
16
+ ## When NOT to use
17
+
18
+ - Building the copy control. Compose `CopyText`.
19
+ - Building the status sentence. Compose `OrderStatusBadge`.
20
+ - Mapping an OMS status code. The header reads `completion` from the order.
21
+
22
+ ---
23
+
24
+ ## Composition
25
+
26
+ ```
27
+ OrderDetailsHeader
28
+ ├── heading (prefix + number)
29
+ ├── CopyText
30
+ └── OrderStatusBadge
31
+ ```
32
+
33
+ ## Components
34
+
35
+ ### OrderDetailsHeader
36
+
37
+ | Prop | Type | Default | Purpose |
38
+ |---|---|---|---|
39
+ | `$data` | `{ id, completion } \| null` | — | The `customerOrder` the generator passes. Null renders nothing. |
40
+ | `prefix` | string | `Order #` | Copy before the number. Content wins. An empty string, with no content, omits the prefix. |
41
+ | `copyLabel` | string | `Copy` | Visible label of the copy action. Content wins. |
42
+ | `copyAccessibleName` | string | `Copy order number` | Accessible name of the copy action. Content wins. |
43
+
44
+ Content id `order-details-header` also carries the copy acknowledgement (`copyCopied`, `copyFailure`, `copyDismiss`) and one field per status sentence (`statusInProgress`, `statusCancellationRequested`, `statusCancelled`, `statusDelivered`, `statusShipped`, `statusReadyForPickup`, `statusCollected`, `statusPlaceholder`). A blank field keeps the catalogue. The list page does not read this entry.
45
+
46
+ ## Styling hooks
47
+
48
+ `data-fs-order-details-header`, `data-fs-order-details-header-heading`, `data-fs-order-details-header-prefix`, `data-fs-order-details-header-number`, `data-fs-order-details-header-copy`, `data-fs-order-details-header-status`.
@@ -0,0 +1,46 @@
1
+ # OrderListRow
2
+
3
+ **Category:** content
4
+ **Purpose:** One order in the list, as a link to that order.
5
+
6
+ ---
7
+
8
+ ## Visual cues (how to identify in an image)
9
+
10
+ - One clickable row with an order number, a date, a money amount, a small count, and a status label.
11
+ - An ongoing row may also show a delivery date. A completed or cancelled row does not.
12
+
13
+ The image is the source of truth for layout.
14
+
15
+ ## When to use
16
+
17
+ - Inside `OrderList`, which renders one row per order. Do not place this component in a page schema.
18
+
19
+ ## When NOT to use
20
+
21
+ - For the whole page of orders → use `OrderList`.
22
+ - For the status sentence alone → use `OrderStatusBadge`.
23
+
24
+ ---
25
+
26
+ ## Composition
27
+
28
+ `OrderList` owns the rows. There is no page-schema child relationship.
29
+
30
+ ```text
31
+ OrderList
32
+ ```
33
+
34
+ ## Components
35
+
36
+ ### OrderListRow
37
+
38
+ No props. The list passes the order.
39
+
40
+ ## Styling
41
+
42
+ - `data-fs-order-list-row` — the link. `flex flex-col gap-[4px]`.
43
+ - `data-fs-order-list-row-state` — `ongoing`, `completed`, or `cancelled`.
44
+ - `data-fs-order-list-row-id` — the order number. `text-[16px] font-medium`.
45
+ - `data-fs-order-list-row-placed`, `data-fs-order-list-row-total`, `data-fs-order-list-row-count` — the facts.
46
+ - `data-fs-order-list-row-estimate` — the delivery estimate, only while the order is ongoing.
@@ -0,0 +1,101 @@
1
+ # OrderListSearch
2
+
3
+ **Category:** action
4
+ **Purpose:** A text field and a placed-date range that ask the orders page for a term and a period.
5
+
6
+ ---
7
+
8
+ ## Visual cues (how to identify in an image)
9
+
10
+ - A text field whose label names the order number.
11
+ - Two date fields, a start and an end, for the date the order was placed.
12
+ - A submit button, and a clear link when a term or a date is already in the URL.
13
+
14
+ The image is the source of truth for layout.
15
+
16
+ ## When to use
17
+
18
+ - On the orders page, as the control that narrows the list by a term and by the dates an order was placed.
19
+
20
+ ## When NOT to use
21
+
22
+ - For the rows, the empty sentences, or the page controls → those belong to the list, which reads the params this form writes.
23
+ - For the four view choices → that is `OrderListViews`, which writes `view`.
24
+ - For a filter of the orders already on screen → this form loads the page again.
25
+ - For a product search of its own → the term is the route's text search.
26
+
27
+ ---
28
+
29
+ ## Composition
30
+
31
+ `OrderListSearch` is a leaf element in the PageSchema. It renders its own fields and takes no children. The list is a sibling on the page, not a child of this element.
32
+
33
+ ```text
34
+ OrderListSearch
35
+ ```
36
+
37
+ ## Components
38
+
39
+ ### OrderListSearch
40
+
41
+ | Prop | Type | Default | Notes |
42
+ |------|------|---------|-------|
43
+ | `label` | string | `Order number` | Visible label of the text field. |
44
+ | `fromLabel` | string | `Placed from` | Visible label of the from day. |
45
+ | `toLabel` | string | `Placed to` | Visible label of the to day. |
46
+ | `submitLabel` | string | `Search` | Submit button. |
47
+ | `clearLabel` | string | `Clear search` | Clear link. Rendered only when the URL already has a criterion. |
48
+ | `invalidRangeMessage` | string | `The start date is after the end date.` | Shown when the from day is after the to day. |
49
+
50
+ Content model (`order-list-search`) fields, edited in the CMS. A non-blank field wins over the matching prop. A blank field falls through to the prop, then to the default. A blank field does not remove a control.
51
+
52
+ | Field | Type | Required | Notes |
53
+ |-------|------|----------|-------|
54
+ | `label` | string | no | Maps to `label`. |
55
+ | `from` | string | no | Maps to `fromLabel`. |
56
+ | `to` | string | no | Maps to `toLabel`. |
57
+ | `submit` | string | no | Maps to `submitLabel`. |
58
+ | `clear` | string | no | Maps to `clearLabel`. |
59
+ | `invalidRange` | string | no | Maps to `invalidRangeMessage`. |
60
+
61
+ **The param keys are fixed.** The term is `search`. The days are `placedFrom` and `placedTo`, as RFC 3339 UTC instants of the local start and the local end of the picked days. Renaming a label does not change the keys. Submit and clear delete `after` and keep `view`.
62
+
63
+ **An inverted range is not written.** The message is shown and the URL stays. One empty day is an open range. Render does not replace the URL. A `YYYY-MM-DD` value in `placedFrom` or `placedTo` is not an instant, so that input stays empty.
64
+
65
+ **No fragment.** This matter does not read `customerOrders` and does not decide which orders match.
66
+
67
+ ---
68
+
69
+ ## Canonical schema example
70
+
71
+ ```json
72
+ {
73
+ "order-search": {
74
+ "type": "OrderListSearch",
75
+ "props": {
76
+ "label": "Order number",
77
+ "fromLabel": "Placed from",
78
+ "toLabel": "Placed to",
79
+ "submitLabel": "Search",
80
+ "clearLabel": "Clear search",
81
+ "invalidRangeMessage": "The start date is after the end date."
82
+ },
83
+ "children": [],
84
+ "style": ["flex flex-wrap items-end gap-[12px]"]
85
+ }
86
+ }
87
+ ```
88
+
89
+ ## Common mistakes
90
+
91
+ - Filtering the orders already rendered in the browser. The route narrows the list.
92
+ - Sending the calendar day `YYYY-MM-DD` as `placedFrom`. The value is the local start of that day, as an RFC 3339 instant.
93
+ - Dropping `view` on submit. A search narrows the view the shopper already chose.
94
+ - Keeping `after`. A new term or range starts at the first page.
95
+ - Building the empty sentence here. The list says that nothing matched. This form shows the criteria and clears them.
96
+
97
+ ## Styling
98
+
99
+ No CSS file. The form carries `data-fs-order-list-search`. While the range is invalid it also carries `data-fs-order-list-search-invalid`. The text field carries `data-fs-order-list-search-term`. The days carry `data-fs-order-list-search-from` and `data-fs-order-list-search-to`. The clear link carries `data-fs-order-list-search-clear`.
100
+
101
+ A row of the field, the two days, and the button is `flex flex-wrap items-end gap-[12px]` on the form. The invalid message is typically `text-[14px]` on the paragraph.
@@ -0,0 +1,97 @@
1
+ # OrderListViews
2
+
3
+ **Category:** navigation
4
+ **Purpose:** Four links that ask the orders page for every order, or only the ongoing, completed, or cancelled ones.
5
+
6
+ ---
7
+
8
+ ## Visual cues (how to identify in an image)
9
+
10
+ - A short row of four text choices, one of them visually current.
11
+ - The words name groups of orders (all, ongoing, completed, cancelled), not individual status codes such as "Payment denied" or "Invoiced".
12
+ - Each choice is its own link. The row is not a set of tabs with a panel of orders inside it.
13
+
14
+ The image is the source of truth for layout.
15
+
16
+ ## When to use
17
+
18
+ - On the orders page, as the control that switches the list among the four views.
19
+
20
+ ## When NOT to use
21
+
22
+ - For the rows, the empty sentences, or the page controls → those belong to the list, which reads the params this switch writes.
23
+ - For the search field and the placed-date range → those are a separate control that writes `search`, `placedFrom`, and `placedTo`.
24
+ - For a filter of individual order statuses → this switch has exactly four choices.
25
+ - For tabbed content whose panel lives inside the control → use [[tabs]].
26
+
27
+ ---
28
+
29
+ ## Composition
30
+
31
+ `OrderListViews` is a leaf element in the PageSchema. It renders its own four links and takes no children. The list is a sibling on the page, not a child of this element.
32
+
33
+ ```text
34
+ OrderListViews
35
+ ```
36
+
37
+ ## Components
38
+
39
+ ### OrderListViews
40
+
41
+ | Prop | Type | Default | Notes |
42
+ |------|------|---------|-------|
43
+ | `label` | string | `Order views` | Accessible name of the navigation landmark. |
44
+ | `allLabel` | string | `All orders` | Visible name of the all-orders choice. |
45
+ | `ongoingLabel` | string | `Ongoing` | Visible name of the ongoing choice. |
46
+ | `completedLabel` | string | `Completed` | Visible name of the completed choice. |
47
+ | `cancelledLabel` | string | `Cancelled` | Visible name of the cancelled choice. |
48
+
49
+ Content model (`order-list-views`) fields, edited in the CMS. A non-blank field wins over the matching prop. A blank field falls through to the prop, then to the default. A blank field does not remove a choice.
50
+
51
+ | Field | Type | Required | Notes |
52
+ |-------|------|----------|-------|
53
+ | `label` | string | no | Accessible name. Maps to `label`. |
54
+ | `all` | string | no | Maps to `allLabel`. |
55
+ | `ongoing` | string | no | Maps to `ongoingLabel`. |
56
+ | `completed` | string | no | Maps to `completedLabel`. |
57
+ | `cancelled` | string | no | Maps to `cancelledLabel`. |
58
+
59
+ **The href values are fixed.** All orders omits `view`. The other three set `view` to `ongoing`, `completed`, or `cancelled`. Renaming a label does not change the param. The switch also deletes `after` and keeps every other search param, including `search`, `placedFrom`, and `placedTo`.
60
+
61
+ **An unrecognized `view` shows all orders as current.** The component does not add a fifth choice and does not replace the URL on render.
62
+
63
+ **No fragment.** This matter does not read `customerOrders` and does not decide which orders belong in a view.
64
+
65
+ ---
66
+
67
+ ## Canonical schema example
68
+
69
+ ```json
70
+ {
71
+ "order-views": {
72
+ "type": "OrderListViews",
73
+ "props": {
74
+ "label": "Order views",
75
+ "allLabel": "All orders",
76
+ "ongoingLabel": "Ongoing",
77
+ "completedLabel": "Completed",
78
+ "cancelledLabel": "Cancelled"
79
+ },
80
+ "children": [],
81
+ "style": ["flex flex-wrap gap-[8px]"]
82
+ }
83
+ }
84
+ ```
85
+
86
+ ## Common mistakes
87
+
88
+ - Composing `TabsRoot` with a panel of orders inside this element. The list is a sibling. Choosing a view loads the page again.
89
+ - Authoring one link per OMS status. The set is the four views.
90
+ - Putting the order number, or a search term, into a label. Labels are the view names. The param values stay the four constants.
91
+ - Filtering the orders already rendered in the browser. Ongoing is computed on the server.
92
+
93
+ ## Styling
94
+
95
+ No CSS file. The landmark carries `data-fs-order-list-views` and `data-fs-order-list-views-current` (`all`, `ongoing`, `completed`, or `cancelled`). Each link carries `data-fs-order-list-views-choice` set to the same value. The current link also carries `data-fs-order-list-views-choice-current`.
96
+
97
+ A row of choices is `flex flex-wrap gap-[8px]` on the landmark. The current choice is typically `font-semibold` with a bottom border, targeted with `data-[fs-order-list-views-choice-current]:font-semibold`.