@vtex/faststore 0.0.10 → 0.0.12

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 (509) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/README.md +0 -1
  3. package/dist/_virtual/_rolldown/runtime.js +4 -0
  4. package/dist/actions.json +6 -1
  5. package/dist/catalog.json +789 -1701
  6. package/dist/cli/index.d.ts +66 -28
  7. package/dist/cli/index.js +7371 -512
  8. package/dist/cli/index.js.map +1 -1
  9. package/dist/cli/server-runtime.js +41 -60
  10. package/dist/cli/server-runtime.js.map +1 -1
  11. package/dist/client.d.ts +3 -3
  12. package/dist/client.js +2 -2
  13. package/dist/components.d.ts +63 -57
  14. package/dist/components.js +60 -54
  15. package/dist/content-types.json +5785 -754
  16. package/dist/core/dist/define-component.d.ts +1 -1
  17. package/dist/core/dist/define-content-type.d.ts +50 -2
  18. package/dist/core/dist/define-content-type.js +107 -3
  19. package/dist/core/dist/define-content-type.js.map +1 -1
  20. package/dist/core/dist/index.d.ts +2 -2
  21. package/dist/docs/access-code-field.md +1 -1
  22. package/dist/docs/access-code-sign-in.md +126 -77
  23. package/dist/docs/account-address-book.md +210 -95
  24. package/dist/docs/account-menu.md +14 -15
  25. package/dist/docs/account-saved-cards.md +44 -39
  26. package/dist/docs/alert-dialog.md +3 -1
  27. package/dist/docs/avatar.md +4 -2
  28. package/dist/docs/billing-address.md +99 -30
  29. package/dist/docs/binding-switcher.md +5 -2
  30. package/dist/docs/buy-button.md +7 -8
  31. package/dist/docs/card-entry.md +39 -26
  32. package/dist/docs/card-summary.md +18 -8
  33. package/dist/docs/cardholder-document.md +5 -3
  34. package/dist/docs/carousel.md +5 -4
  35. package/dist/docs/cart-destination.md +39 -26
  36. package/dist/docs/cart-item.md +29 -14
  37. package/dist/docs/cart-totalizer.md +7 -5
  38. package/dist/docs/cart.md +135 -41
  39. package/dist/docs/challenge-return.md +135 -0
  40. package/dist/docs/client-preferences-fieldset.md +10 -5
  41. package/dist/docs/client-preferences.md +31 -8
  42. package/dist/docs/client-profile-fieldset.md +20 -6
  43. package/dist/docs/client-profile.md +12 -3
  44. package/dist/docs/copy-text.md +9 -7
  45. package/dist/docs/document-field.md +1 -1
  46. package/dist/docs/email-field.md +2 -1
  47. package/dist/docs/email-identification.md +12 -2
  48. package/dist/docs/footer-copyright.md +4 -2
  49. package/dist/docs/form.md +54 -18
  50. package/dist/docs/free-shipping-progress.md +6 -5
  51. package/dist/docs/identity-edit.md +8 -2
  52. package/dist/docs/identity-summary.md +18 -5
  53. package/dist/docs/installments.md +46 -32
  54. package/dist/docs/my-account-profile.md +16 -11
  55. package/dist/docs/navigation-link.md +5 -3
  56. package/dist/docs/order-cancel.md +3 -1
  57. package/dist/docs/order-delivery-address.md +7 -5
  58. package/dist/docs/order-delivery-group.md +1 -3
  59. package/dist/docs/order-details-back.md +1 -1
  60. package/dist/docs/order-details-header.md +1 -4
  61. package/dist/docs/order-invoice-download.md +60 -0
  62. package/dist/docs/order-list-row.md +1 -1
  63. package/dist/docs/order-list-search.md +13 -20
  64. package/dist/docs/order-list-views.md +11 -17
  65. package/dist/docs/order-list.md +12 -5
  66. package/dist/docs/order-payment.md +9 -7
  67. package/dist/docs/order-placed-date.md +1 -1
  68. package/dist/docs/order-placed-payment-summary.md +28 -15
  69. package/dist/docs/order-placed.md +49 -14
  70. package/dist/docs/order-progress.md +1 -1
  71. package/dist/docs/order-status-badge.md +20 -9
  72. package/dist/docs/order-summary.md +2 -2
  73. package/dist/docs/order-tracking-link.md +58 -0
  74. package/dist/docs/payment-method-badges.md +30 -4
  75. package/dist/docs/payment-methods.md +1 -1
  76. package/dist/docs/payment.md +36 -17
  77. package/dist/docs/phone-field.md +4 -4
  78. package/dist/docs/place-order.md +84 -36
  79. package/dist/docs/postal-code-field.md +3 -1
  80. package/dist/docs/pricing.md +21 -23
  81. package/dist/docs/product-gallery.md +19 -20
  82. package/dist/docs/product-information.md +13 -9
  83. package/dist/docs/product-list.md +7 -6
  84. package/dist/docs/product-shelf.md +0 -1
  85. package/dist/docs/promotion.md +4 -2
  86. package/dist/docs/region.md +23 -15
  87. package/dist/docs/save-card.md +7 -6
  88. package/dist/docs/saved-cards.md +65 -36
  89. package/dist/docs/shipping-address.md +57 -21
  90. package/dist/docs/shipping-simulator.md +53 -15
  91. package/dist/docs/sign-in-disclosure.md +176 -0
  92. package/dist/docs/sign-in-form.md +78 -47
  93. package/dist/docs/sign-in-redirect.md +4 -2
  94. package/dist/docs/sign-in.md +173 -0
  95. package/dist/docs/toast.md +15 -4
  96. package/dist/docs/variant-selector.md +15 -11
  97. package/dist/domain-logic/dist/checkout/rules.js +33 -0
  98. package/dist/domain-logic/dist/checkout/rules.js.map +1 -0
  99. package/dist/graphql/types.d.ts +4 -14
  100. package/dist/index.d.ts +2 -2
  101. package/dist/internal/client.d.ts +1 -3
  102. package/dist/internal/client.js +1 -1
  103. package/dist/internal/server.d.ts +7 -4
  104. package/dist/internal/server.js +7 -4
  105. package/dist/matter/access-code-sign-in/access-code-sign-in.d.ts +250 -66
  106. package/dist/matter/access-code-sign-in/access-code-sign-in.js +459 -188
  107. package/dist/matter/access-code-sign-in/access-code-sign-in.js.map +1 -1
  108. package/dist/matter/account-address-book/account-address-book-delete.d.ts +78 -40
  109. package/dist/matter/account-address-book/account-address-book-delete.js +86 -50
  110. package/dist/matter/account-address-book/account-address-book-delete.js.map +1 -1
  111. package/dist/matter/account-address-book/account-address-book-deliverability.d.ts +21 -4
  112. package/dist/matter/account-address-book/account-address-book-deliverability.js +45 -17
  113. package/dist/matter/account-address-book/account-address-book-deliverability.js.map +1 -1
  114. package/dist/matter/account-address-book/account-address-book-form-parts.d.ts +74 -19
  115. package/dist/matter/account-address-book/account-address-book-form-parts.js +77 -26
  116. package/dist/matter/account-address-book/account-address-book-form-parts.js.map +1 -1
  117. package/dist/matter/account-address-book/account-address-book-profile-notice.d.ts +27 -6
  118. package/dist/matter/account-address-book/account-address-book-profile-notice.js +55 -28
  119. package/dist/matter/account-address-book/account-address-book-profile-notice.js.map +1 -1
  120. package/dist/matter/account-address-book/account-address-book.d.ts +67 -14
  121. package/dist/matter/account-address-book/account-address-book.js +74 -33
  122. package/dist/matter/account-address-book/account-address-book.js.map +1 -1
  123. package/dist/matter/account-address-book/account-address-country-switch.js +3 -3
  124. package/dist/matter/account-address-book/account-address-country-switch.js.map +1 -1
  125. package/dist/matter/account-address-book/account-address-country.d.ts +66 -20
  126. package/dist/matter/account-address-book/account-address-country.js +83 -49
  127. package/dist/matter/account-address-book/account-address-country.js.map +1 -1
  128. package/dist/matter/account-address-book/account-address-form-context.d.ts +8 -4
  129. package/dist/matter/account-address-book/account-address-form-context.js.map +1 -1
  130. package/dist/matter/account-address-book/account-address-form.d.ts +468 -45
  131. package/dist/matter/account-address-book/account-address-form.js +518 -155
  132. package/dist/matter/account-address-book/account-address-form.js.map +1 -1
  133. package/dist/matter/account-address-book/account-address-record.d.ts +27 -6
  134. package/dist/matter/account-address-book/account-address-record.js +32 -17
  135. package/dist/matter/account-address-book/account-address-record.js.map +1 -1
  136. package/dist/matter/account-menu/account-menu.d.ts +34 -17
  137. package/dist/matter/account-menu/account-menu.js +46 -54
  138. package/dist/matter/account-menu/account-menu.js.map +1 -1
  139. package/dist/matter/account-menu-identity/account-menu-identity.js +1 -1
  140. package/dist/matter/account-saved-cards/account-saved-cards.d.ts +108 -28
  141. package/dist/matter/account-saved-cards/account-saved-cards.js +177 -122
  142. package/dist/matter/account-saved-cards/account-saved-cards.js.map +1 -1
  143. package/dist/matter/billing-address/billing-address.d.ts +156 -74
  144. package/dist/matter/billing-address/billing-address.js +227 -156
  145. package/dist/matter/billing-address/billing-address.js.map +1 -1
  146. package/dist/matter/breadcrumb/breadcrumb.d.ts +21 -3
  147. package/dist/matter/breadcrumb/breadcrumb.js +24 -9
  148. package/dist/matter/breadcrumb/breadcrumb.js.map +1 -1
  149. package/dist/matter/buy-button/buy-button.d.ts +8 -11
  150. package/dist/matter/buy-button/buy-button.js +10 -19
  151. package/dist/matter/buy-button/buy-button.js.map +1 -1
  152. package/dist/matter/card-entry/card-capture.js +12 -4
  153. package/dist/matter/card-entry/card-capture.js.map +1 -1
  154. package/dist/matter/card-entry/card-entry.d.ts +123 -32
  155. package/dist/matter/card-entry/card-entry.js +348 -221
  156. package/dist/matter/card-entry/card-entry.js.map +1 -1
  157. package/dist/matter/cart/cart-namespace.d.ts +7 -1
  158. package/dist/matter/cart/cart-namespace.js +7 -1
  159. package/dist/matter/cart/cart-namespace.js.map +1 -1
  160. package/dist/matter/cart/cart.d.ts +402 -61
  161. package/dist/matter/cart/cart.js +624 -153
  162. package/dist/matter/cart/cart.js.map +1 -1
  163. package/dist/matter/cart-destination/cart-destination.d.ts +30 -19
  164. package/dist/matter/cart-destination/cart-destination.js +160 -70
  165. package/dist/matter/cart-destination/cart-destination.js.map +1 -1
  166. package/dist/matter/cart-item/cart-item.d.ts +144 -17
  167. package/dist/matter/cart-item/cart-item.js +166 -49
  168. package/dist/matter/cart-item/cart-item.js.map +1 -1
  169. package/dist/matter/cart-item-compositions/cart-item-compositions.js +1 -1
  170. package/dist/matter/cart-item-compositions/cart-item-compositions.js.map +1 -1
  171. package/dist/matter/cart-item-customizations/cart-item-customizations.js +1 -1
  172. package/dist/matter/cart-item-customizations/cart-item-customizations.js.map +1 -1
  173. package/dist/matter/cart-item-discounts/cart-item-discounts.js +1 -1
  174. package/dist/matter/cart-item-discounts/cart-item-discounts.js.map +1 -1
  175. package/dist/matter/cart-item-seller-info/cart-item-seller-info.js +1 -1
  176. package/dist/matter/cart-item-seller-info/cart-item-seller-info.js.map +1 -1
  177. package/dist/matter/cart-item-variations/cart-item-variations.js +1 -1
  178. package/dist/matter/cart-item-variations/cart-item-variations.js.map +1 -1
  179. package/dist/matter/cart-totalizer/cart-totalizer.d.ts +43 -9
  180. package/dist/matter/cart-totalizer/cart-totalizer.js +46 -17
  181. package/dist/matter/cart-totalizer/cart-totalizer.js.map +1 -1
  182. package/dist/matter/challenge-return/challenge-return.d.ts +62 -0
  183. package/dist/matter/challenge-return/challenge-return.js +241 -0
  184. package/dist/matter/challenge-return/challenge-return.js.map +1 -0
  185. package/dist/matter/client-preferences/client-preferences-fieldset.d.ts +86 -17
  186. package/dist/matter/client-preferences/client-preferences-fieldset.js +126 -54
  187. package/dist/matter/client-preferences/client-preferences-fieldset.js.map +1 -1
  188. package/dist/matter/client-preferences/client-preferences.d.ts +50 -7
  189. package/dist/matter/client-preferences/client-preferences.js +84 -15
  190. package/dist/matter/client-preferences/client-preferences.js.map +1 -1
  191. package/dist/matter/client-profile/client-profile.d.ts +44 -9
  192. package/dist/matter/client-profile/client-profile.js +64 -24
  193. package/dist/matter/client-profile/client-profile.js.map +1 -1
  194. package/dist/matter/client-profile-form/client-profile-fieldset.d.ts +119 -22
  195. package/dist/matter/client-profile-form/client-profile-fieldset.js +161 -73
  196. package/dist/matter/client-profile-form/client-profile-fieldset.js.map +1 -1
  197. package/dist/matter/delivery-options/delivery-options-accordion.d.ts +49 -4
  198. package/dist/matter/delivery-options/delivery-options-accordion.js +67 -14
  199. package/dist/matter/delivery-options/delivery-options-accordion.js.map +1 -1
  200. package/dist/matter/delivery-options/delivery-options-controller.d.ts +69 -9
  201. package/dist/matter/delivery-options/delivery-options-controller.js +80 -14
  202. package/dist/matter/delivery-options/delivery-options-controller.js.map +1 -1
  203. package/dist/matter/delivery-options/delivery-options.d.ts +37 -2
  204. package/dist/matter/delivery-options/delivery-options.js +75 -12
  205. package/dist/matter/delivery-options/delivery-options.js.map +1 -1
  206. package/dist/matter/delivery-options/use-delivery-option-selection.d.ts +1 -0
  207. package/dist/matter/delivery-options/use-delivery-option-selection.js +1 -1
  208. package/dist/matter/delivery-options/use-delivery-option-selection.js.map +1 -1
  209. package/dist/matter/email-identification/email-identification.d.ts +25 -3
  210. package/dist/matter/email-identification/email-identification.js +49 -12
  211. package/dist/matter/email-identification/email-identification.js.map +1 -1
  212. package/dist/matter/free-shipping-progress/free-shipping-progress.d.ts +79 -7
  213. package/dist/matter/free-shipping-progress/free-shipping-progress.js +77 -20
  214. package/dist/matter/free-shipping-progress/free-shipping-progress.js.map +1 -1
  215. package/dist/matter/identity-edit/identity-edit.d.ts +52 -10
  216. package/dist/matter/identity-edit/identity-edit.js +47 -19
  217. package/dist/matter/identity-edit/identity-edit.js.map +1 -1
  218. package/dist/matter/identity-summary/identity-summary.d.ts +76 -22
  219. package/dist/matter/identity-summary/identity-summary.js +95 -45
  220. package/dist/matter/identity-summary/identity-summary.js.map +1 -1
  221. package/dist/matter/installments/installments-select.d.ts +98 -16
  222. package/dist/matter/installments/installments-select.js +156 -48
  223. package/dist/matter/installments/installments-select.js.map +1 -1
  224. package/dist/matter/installments/installments.d.ts +96 -16
  225. package/dist/matter/installments/installments.js +115 -40
  226. package/dist/matter/installments/installments.js.map +1 -1
  227. package/dist/matter/installments/use-installments-selection.d.ts +1 -0
  228. package/dist/matter/installments/use-installments-selection.js +8 -3
  229. package/dist/matter/installments/use-installments-selection.js.map +1 -1
  230. package/dist/matter/my-account-profile/my-account-profile.d.ts +358 -103
  231. package/dist/matter/my-account-profile/my-account-profile.js +370 -174
  232. package/dist/matter/my-account-profile/my-account-profile.js.map +1 -1
  233. package/dist/matter/order-cancel/order-cancel.d.ts +65 -19
  234. package/dist/matter/order-cancel/order-cancel.js +118 -51
  235. package/dist/matter/order-cancel/order-cancel.js.map +1 -1
  236. package/dist/matter/order-delivery-address/order-delivery-address.d.ts +8 -18
  237. package/dist/matter/order-delivery-address/order-delivery-address.js +14 -23
  238. package/dist/matter/order-delivery-address/order-delivery-address.js.map +1 -1
  239. package/dist/matter/order-delivery-group/order-delivery-group.d.ts +40 -24
  240. package/dist/matter/order-delivery-group/order-delivery-group.js +64 -74
  241. package/dist/matter/order-delivery-group/order-delivery-group.js.map +1 -1
  242. package/dist/matter/order-details-header/order-details-header.d.ts +32 -15
  243. package/dist/matter/order-details-header/order-details-header.js +66 -58
  244. package/dist/matter/order-details-header/order-details-header.js.map +1 -1
  245. package/dist/matter/order-invoice-download/order-invoice-download.d.ts +78 -0
  246. package/dist/matter/order-invoice-download/order-invoice-download.js +173 -0
  247. package/dist/matter/order-invoice-download/order-invoice-download.js.map +1 -0
  248. package/dist/matter/order-list/order-list.d.ts +164 -19
  249. package/dist/matter/order-list/order-list.js +229 -87
  250. package/dist/matter/order-list/order-list.js.map +1 -1
  251. package/dist/matter/order-list-row/order-list-row.d.ts +6 -1
  252. package/dist/matter/order-list-row/order-list-row.js +3 -2
  253. package/dist/matter/order-list-row/order-list-row.js.map +1 -1
  254. package/dist/matter/order-list-search/order-list-search.d.ts +18 -26
  255. package/dist/matter/order-list-search/order-list-search.js +30 -69
  256. package/dist/matter/order-list-search/order-list-search.js.map +1 -1
  257. package/dist/matter/order-list-views/order-list-views.d.ts +15 -22
  258. package/dist/matter/order-list-views/order-list-views.js +22 -68
  259. package/dist/matter/order-list-views/order-list-views.js.map +1 -1
  260. package/dist/matter/order-payment/order-payment.d.ts +33 -10
  261. package/dist/matter/order-payment/order-payment.js +44 -39
  262. package/dist/matter/order-payment/order-payment.js.map +1 -1
  263. package/dist/matter/order-placed/order-placed-deliveries.d.ts +144 -12
  264. package/dist/matter/order-placed/order-placed-deliveries.js +115 -40
  265. package/dist/matter/order-placed/order-placed-deliveries.js.map +1 -1
  266. package/dist/matter/order-placed/order-placed.d.ts +198 -31
  267. package/dist/matter/order-placed/order-placed.js +230 -139
  268. package/dist/matter/order-placed/order-placed.js.map +1 -1
  269. package/dist/matter/order-placed-date/order-placed-date.d.ts +5 -8
  270. package/dist/matter/order-placed-date/order-placed-date.js +7 -8
  271. package/dist/matter/order-placed-date/order-placed-date.js.map +1 -1
  272. package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.d.ts +90 -17
  273. package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.js +93 -117
  274. package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.js.map +1 -1
  275. package/dist/matter/order-progress/order-progress.d.ts +19 -8
  276. package/dist/matter/order-progress/order-progress.js +37 -45
  277. package/dist/matter/order-progress/order-progress.js.map +1 -1
  278. package/dist/matter/order-summary/order-summary.d.ts +19 -9
  279. package/dist/matter/order-summary/order-summary.js +38 -44
  280. package/dist/matter/order-summary/order-summary.js.map +1 -1
  281. package/dist/matter/order-tracking-link/order-tracking-link.d.ts +43 -0
  282. package/dist/matter/order-tracking-link/order-tracking-link.js +107 -0
  283. package/dist/matter/order-tracking-link/order-tracking-link.js.map +1 -0
  284. package/dist/matter/payment/payment-card-capture.js +17 -10
  285. package/dist/matter/payment/payment-card-capture.js.map +1 -1
  286. package/dist/matter/payment/payment-controller.d.ts +4 -2
  287. package/dist/matter/payment/payment-controller.js +30 -9
  288. package/dist/matter/payment/payment-controller.js.map +1 -1
  289. package/dist/matter/payment/payment-method-badges.js +1 -1
  290. package/dist/matter/payment/payment.d.ts +69 -19
  291. package/dist/matter/payment/payment.js +101 -35
  292. package/dist/matter/payment/payment.js.map +1 -1
  293. package/dist/matter/payment/use-payment-method-selection.d.ts +25 -4
  294. package/dist/matter/payment/use-payment-method-selection.js +94 -32
  295. package/dist/matter/payment/use-payment-method-selection.js.map +1 -1
  296. package/dist/matter/payment/use-payment-submit-gate.d.ts +14 -3
  297. package/dist/matter/payment/use-payment-submit-gate.js +47 -8
  298. package/dist/matter/payment/use-payment-submit-gate.js.map +1 -1
  299. package/dist/matter/place-order/place-order.d.ts +171 -57
  300. package/dist/matter/place-order/place-order.js +376 -185
  301. package/dist/matter/place-order/place-order.js.map +1 -1
  302. package/dist/matter/pricing/pricing.d.ts +152 -13
  303. package/dist/matter/pricing/pricing.js +153 -52
  304. package/dist/matter/pricing/pricing.js.map +1 -1
  305. package/dist/matter/product-information/product-information.d.ts +27 -4
  306. package/dist/matter/product-information/product-information.js +32 -15
  307. package/dist/matter/product-information/product-information.js.map +1 -1
  308. package/dist/matter/product-list/product-list.d.ts +24 -6
  309. package/dist/matter/product-list/product-list.js +32 -26
  310. package/dist/matter/product-list/product-list.js.map +1 -1
  311. package/dist/matter/product-shelf/product-shelf.d.ts +1 -3
  312. package/dist/matter/product-shelf/product-shelf.js +2 -15
  313. package/dist/matter/product-shelf/product-shelf.js.map +1 -1
  314. package/dist/matter/region/region.d.ts +33 -16
  315. package/dist/matter/region/region.js +59 -52
  316. package/dist/matter/region/region.js.map +1 -1
  317. package/dist/matter/save-card/save-card.d.ts +43 -8
  318. package/dist/matter/save-card/save-card.js +61 -23
  319. package/dist/matter/save-card/save-card.js.map +1 -1
  320. package/dist/matter/saved-cards/saved-cards.d.ts +113 -21
  321. package/dist/matter/saved-cards/saved-cards.js +349 -77
  322. package/dist/matter/saved-cards/saved-cards.js.map +1 -1
  323. package/dist/matter/shipping-address/address-payload.js +25 -0
  324. package/dist/matter/shipping-address/address-payload.js.map +1 -0
  325. package/dist/matter/shipping-address/country-descriptors.js +71 -71
  326. package/dist/matter/shipping-address/country-descriptors.js.map +1 -1
  327. package/dist/matter/shipping-address/library-country-descriptors.js +136 -0
  328. package/dist/matter/shipping-address/library-country-descriptors.js.map +1 -0
  329. package/dist/matter/shipping-address/shipping-address.d.ts +312 -45
  330. package/dist/matter/shipping-address/shipping-address.js +443 -188
  331. package/dist/matter/shipping-address/shipping-address.js.map +1 -1
  332. package/dist/matter/shipping-simulator/shipping-simulator.d.ts +250 -24
  333. package/dist/matter/shipping-simulator/shipping-simulator.js +257 -51
  334. package/dist/matter/shipping-simulator/shipping-simulator.js.map +1 -1
  335. package/dist/matter/sign-in/sign-in.d.ts +108 -0
  336. package/dist/matter/sign-in/sign-in.js +285 -0
  337. package/dist/matter/sign-in/sign-in.js.map +1 -0
  338. package/dist/matter/sign-in-disclosure/sign-in-disclosure.d.ts +81 -0
  339. package/dist/matter/sign-in-disclosure/sign-in-disclosure.js +232 -0
  340. package/dist/matter/sign-in-disclosure/sign-in-disclosure.js.map +1 -0
  341. package/dist/matter/sign-in-form/sign-in-form.d.ts +93 -62
  342. package/dist/matter/sign-in-form/sign-in-form.js +134 -144
  343. package/dist/matter/sign-in-form/sign-in-form.js.map +1 -1
  344. package/dist/particles/binding-switcher/binding-switcher.d.ts +29 -8
  345. package/dist/particles/binding-switcher/binding-switcher.js +37 -26
  346. package/dist/particles/binding-switcher/binding-switcher.js.map +1 -1
  347. package/dist/particles/card-summary/card-summary.d.ts +38 -8
  348. package/dist/particles/card-summary/card-summary.js +55 -22
  349. package/dist/particles/card-summary/card-summary.js.map +1 -1
  350. package/dist/particles/carousel/carousel.d.ts +99 -11
  351. package/dist/particles/carousel/carousel.js +103 -35
  352. package/dist/particles/carousel/carousel.js.map +1 -1
  353. package/dist/particles/copy-text/copy-text.js +5 -15
  354. package/dist/particles/copy-text/copy-text.js.map +1 -1
  355. package/dist/particles/dialog/dialog.d.ts +14 -6
  356. package/dist/particles/dialog/dialog.js +6 -3
  357. package/dist/particles/dialog/dialog.js.map +1 -1
  358. package/dist/particles/drawer/drawer.js +1 -1
  359. package/dist/particles/drawer/drawer.js.map +1 -1
  360. package/dist/particles/email-field/email-field.d.ts +2 -1
  361. package/dist/particles/email-field/email-field.js +2 -1
  362. package/dist/particles/email-field/email-field.js.map +1 -1
  363. package/dist/particles/footer-link-group/footer-link-group.js +1 -0
  364. package/dist/particles/footer-link-group/footer-link-group.js.map +1 -1
  365. package/dist/particles/form/form.d.ts +85 -13
  366. package/dist/particles/form/form.js +91 -42
  367. package/dist/particles/form/form.js.map +1 -1
  368. package/dist/particles/gallery/gallery.d.ts +129 -12
  369. package/dist/particles/gallery/gallery.js +121 -34
  370. package/dist/particles/gallery/gallery.js.map +1 -1
  371. package/dist/particles/order-details-back/order-details-back.d.ts +5 -3
  372. package/dist/particles/order-details-back/order-details-back.js +8 -10
  373. package/dist/particles/order-details-back/order-details-back.js.map +1 -1
  374. package/dist/particles/order-status-badge/order-status-badge.d.ts +3 -3
  375. package/dist/particles/order-status-badge/order-status-badge.js +4 -20
  376. package/dist/particles/order-status-badge/order-status-badge.js.map +1 -1
  377. package/dist/particles/password-field/password-field.d.ts +1 -1
  378. package/dist/particles/password-field/password-field.js +2 -4
  379. package/dist/particles/password-field/password-field.js.map +1 -1
  380. package/dist/particles/phone-field/phone-field.d.ts +4 -4
  381. package/dist/particles/phone-field/phone-field.js +8 -11
  382. package/dist/particles/phone-field/phone-field.js.map +1 -1
  383. package/dist/particles/spinner/spinner.d.ts +24 -4
  384. package/dist/particles/spinner/spinner.js +25 -9
  385. package/dist/particles/spinner/spinner.js.map +1 -1
  386. package/dist/particles/switch/switch.d.ts +4 -1
  387. package/dist/particles/switch/switch.js +3 -1
  388. package/dist/particles/switch/switch.js.map +1 -1
  389. package/dist/particles/toast/toast.d.ts +29 -3
  390. package/dist/particles/toast/toast.js +34 -10
  391. package/dist/particles/toast/toast.js.map +1 -1
  392. package/dist/schema.graphql +164 -56
  393. package/dist/sdk/address/address-fields.js +4 -4
  394. package/dist/sdk/address/address-fields.js.map +1 -1
  395. package/dist/sdk/address/constants.js +1 -6
  396. package/dist/sdk/address/constants.js.map +1 -1
  397. package/dist/sdk/address/messages.js +44 -44
  398. package/dist/sdk/address/messages.js.map +1 -1
  399. package/dist/sdk/address/postal-code.js +15 -2
  400. package/dist/sdk/address/postal-code.js.map +1 -1
  401. package/dist/sdk/address/types.d.ts +5 -3
  402. package/dist/sdk/address/validate-address.js +3 -3
  403. package/dist/sdk/address/validate-address.js.map +1 -1
  404. package/dist/sdk/analytics/use-analytics-actions.d.ts +1 -1
  405. package/dist/sdk/analytics/use-analytics-actions.js.map +1 -1
  406. package/dist/sdk/cart/use-cart-actions.js.map +1 -1
  407. package/dist/sdk/data/index.js +2 -2
  408. package/dist/sdk/data/reactive-list-item-data-provider.js +2 -2
  409. package/dist/sdk/generated/gql.js +1 -1
  410. package/dist/sdk/generated/gql.js.map +1 -1
  411. package/dist/sdk/generated/graphql.d.ts +20 -5
  412. package/dist/sdk/generated/graphql.js +6 -0
  413. package/dist/sdk/generated/graphql.js.map +1 -1
  414. package/dist/sdk/i18n/format-error-code.js +23 -0
  415. package/dist/sdk/i18n/format-error-code.js.map +1 -0
  416. package/dist/sdk/i18n/message-formatter.d.ts +22 -0
  417. package/dist/sdk/i18n/message-formatter.js +140 -0
  418. package/dist/sdk/i18n/message-formatter.js.map +1 -0
  419. package/dist/sdk/i18n/use-message-formatter.d.ts +8 -0
  420. package/dist/sdk/i18n/use-message-formatter.js +18 -0
  421. package/dist/sdk/i18n/use-message-formatter.js.map +1 -0
  422. package/dist/sdk/identity/use-identity-actions.js.map +1 -1
  423. package/dist/sdk/navigation/redirect.d.ts +2 -0
  424. package/dist/sdk/navigation/redirect.js +19 -1
  425. package/dist/sdk/navigation/redirect.js.map +1 -1
  426. package/dist/sdk/navigation/types.d.ts +13 -0
  427. package/dist/sdk/payment/bin-format.js +21 -0
  428. package/dist/sdk/payment/bin-format.js.map +1 -0
  429. package/dist/sdk/payment/challenge-return.js +37 -0
  430. package/dist/sdk/payment/challenge-return.js.map +1 -0
  431. package/dist/sdk/payment/confirmation-last-four.js +39 -0
  432. package/dist/sdk/payment/confirmation-last-four.js.map +1 -0
  433. package/dist/sdk/payment/gateway.d.ts +1 -1
  434. package/dist/sdk/payment/gateway.js +8 -2
  435. package/dist/sdk/payment/gateway.js.map +1 -1
  436. package/dist/sdk/payment/operations.d.ts +1 -0
  437. package/dist/sdk/payment/operations.js +28 -6
  438. package/dist/sdk/payment/operations.js.map +1 -1
  439. package/dist/sdk/payment/resumed-purchase.d.ts +1 -0
  440. package/dist/sdk/payment/resumed-purchase.js +119 -0
  441. package/dist/sdk/payment/resumed-purchase.js.map +1 -0
  442. package/dist/sdk/payment/security-code-mask.js +16 -23
  443. package/dist/sdk/payment/security-code-mask.js.map +1 -1
  444. package/dist/sdk/payment/submission-registry.js +6 -2
  445. package/dist/sdk/payment/submission-registry.js.map +1 -1
  446. package/dist/sdk/payment/use-payment-actions.d.ts +18 -3
  447. package/dist/sdk/payment/use-payment-actions.js +23 -4
  448. package/dist/sdk/payment/use-payment-actions.js.map +1 -1
  449. package/dist/sdk/payment/use-place-order.d.ts +10 -2
  450. package/dist/sdk/payment/use-place-order.js +138 -76
  451. package/dist/sdk/payment/use-place-order.js.map +1 -1
  452. package/dist/sdk/provider/storefront-provider.d.ts +1 -7
  453. package/dist/sdk/provider/storefront-provider.js +4 -11
  454. package/dist/sdk/provider/storefront-provider.js.map +1 -1
  455. package/dist/sdk/seo/entity-landing.d.ts +24 -0
  456. package/dist/sdk/seo/entity-landing.js +30 -0
  457. package/dist/sdk/seo/entity-landing.js.map +1 -0
  458. package/dist/sdk/seo/page-alternates.d.ts +3 -2
  459. package/dist/sdk/seo/page-alternates.js +4 -2
  460. package/dist/sdk/seo/page-alternates.js.map +1 -1
  461. package/dist/sdk/seo/search-landing.d.ts +42 -0
  462. package/dist/sdk/seo/search-landing.js +85 -0
  463. package/dist/sdk/seo/search-landing.js.map +1 -0
  464. package/dist/sdk/session/mock-session.d.ts +9 -0
  465. package/dist/sdk/session/mock-session.js +31 -0
  466. package/dist/sdk/session/mock-session.js.map +1 -0
  467. package/dist/sdk/session/read-server-session.d.ts +3 -0
  468. package/dist/sdk/session/read-server-session.js +5 -0
  469. package/dist/sdk/session/read-server-session.js.map +1 -1
  470. package/dist/sdk/session/return-path-segment.d.ts +10 -0
  471. package/dist/sdk/session/return-path-segment.js +15 -0
  472. package/dist/sdk/session/return-path-segment.js.map +1 -0
  473. package/dist/sdk/session/use-session-actions.js.map +1 -1
  474. package/dist/sdk/shipping/use-cart-shipping-simulation.js.map +1 -1
  475. package/dist/sdk/shipping/use-shipping-actions.js.map +1 -1
  476. package/dist/sdk/shipping/use-shipping-simulation.js.map +1 -1
  477. package/dist/utils/safe-href.d.ts +2 -0
  478. package/package.json +4 -3
  479. package/skills/storefront-asset/SKILL.md +2 -2
  480. package/skills/storefront-asset/references/api-side.md +27 -14
  481. package/skills/storefront-asset/references/findings.md +5 -2
  482. package/src/styles/tailwind.css +8 -0
  483. package/dist/matter/shipping-address/country-descriptors.d.ts +0 -1
  484. package/dist/message-locales.json +0 -7
  485. package/dist/sdk/i18n/client.d.ts +0 -4
  486. package/dist/sdk/i18n/client.js +0 -4
  487. package/dist/sdk/i18n/locales.d.ts +0 -8
  488. package/dist/sdk/i18n/locales.js +0 -57
  489. package/dist/sdk/i18n/locales.js.map +0 -1
  490. package/dist/sdk/i18n/messages/en-US.js +0 -183
  491. package/dist/sdk/i18n/messages/en-US.js.map +0 -1
  492. package/dist/sdk/i18n/messages/en-US.json +0 -178
  493. package/dist/sdk/i18n/messages/en-US.json.d.ts +0 -182
  494. package/dist/sdk/i18n/messages/es-ES.js +0 -183
  495. package/dist/sdk/i18n/messages/es-ES.js.map +0 -1
  496. package/dist/sdk/i18n/messages/es-ES.json +0 -178
  497. package/dist/sdk/i18n/messages/pt-BR.js +0 -183
  498. package/dist/sdk/i18n/messages/pt-BR.js.map +0 -1
  499. package/dist/sdk/i18n/messages/pt-BR.json +0 -178
  500. package/dist/sdk/i18n/provider.d.ts +0 -1
  501. package/dist/sdk/i18n/provider.js +0 -30
  502. package/dist/sdk/i18n/provider.js.map +0 -1
  503. package/dist/sdk/i18n/server.d.ts +0 -28
  504. package/dist/sdk/i18n/server.js +0 -59
  505. package/dist/sdk/i18n/server.js.map +0 -1
  506. package/dist/utils/resolve-authored-copy.js +0 -18
  507. package/dist/utils/resolve-authored-copy.js.map +0 -1
  508. package/dist/utils/substitute-template.js +0 -33
  509. package/dist/utils/substitute-template.js.map +0 -1
@@ -13,8 +13,6 @@ const REVIEWS_BY_SLUG: Record<string, Array<{ id: string; rating: number; text:
13
13
  };
14
14
 
15
15
  export default defineSubgraph({
16
- vendor: 'acme',
17
-
18
16
  typeDefs: gql`
19
17
  extend type Product @key(fields: "slug") {
20
18
  slug: String! @external
@@ -44,18 +42,22 @@ provider builds the schema from it.
44
42
 
45
43
  | Field | What it is |
46
44
  | --- | --- |
47
- | `vendor` | Required. Matches `^[a-z][a-z0-9]*$`: lowercase letters and digits, starting with a letter. It prefixes every name the Asset contributes. |
48
45
  | `typeDefs` | SDL in a `gql` tag, with bare names. Write `@key` and `@external` on the entity you extend; the provider injects the federation preamble. |
49
46
  | `extends` | The core entities the SDL extends. `Product`, keyed by `slug`, is the only one. |
50
47
  | `resolvers` | Keyed by bare names. The provider renames the keys to the prefixed names and adds each entity's `__resolveReference`. |
51
- | `secrets` | Optional. The environment names the resolvers read; see Secrets. |
52
48
  | `name` | Optional. The subgraph name; the package name by default. |
53
49
 
50
+ The vendor and the secret names are not in the declaration. The extension's `extension.yaml`
51
+ declares the vendor, and the Asset's `asset.yaml` lists the secrets; see Secrets.
52
+
54
53
  ## The vendor prefix
55
54
 
56
- The build prefixes every name the Asset contributes with `<vendor>_`: fields added to `Product`,
57
- root `Query` and `Mutation` fields, and each declared type with every reference to it. The
58
- declaration above exposes `Product.acme_reviews` of type `[acme_Review!]!`. Write bare names in the
55
+ The build prefixes every name the Asset contributes with the vendor's token, the vendor from
56
+ `extension.yaml` with each `-` turned into `_`: fields added to `Product`, root `Query` and
57
+ `Mutation` fields, and each declared type with every reference to it. Under vendor `acme` the
58
+ declaration above exposes `Product.acme_reviews` of type `[acme_Review!]!`; under `acme-corp` it is
59
+ `Product.acme_corp_reviews`. A vendor that starts with a digit has no token, and `validate` reports
60
+ `storefront-vendor-invalid` on `extension.yaml`. Write bare names in the
59
61
  declaration and let the build add the prefix. The `@key` field of an extended entity keeps its core
60
62
  name.
61
63
 
@@ -80,10 +82,20 @@ const reviews = (product: { slug: string }, _args: unknown, ctx: SubgraphContext
80
82
 
81
83
  ## Secrets
82
84
 
83
- `secrets: ['ACME_API_KEY']` declares the environment names the Asset reads. Each name matches
84
- `^[A-Z][A-Z0-9_]*$`. The provider rejects `PATH`, `HOME`, `PWD`, `SHELL`, `TMPDIR` and any name
85
- that starts with `VTEX_` or `NODE_`. A declared name that is not set is absent from `ctx.secrets`;
86
- `dev` logs one warning for each. Values come from the repo root's `.env` and `.env.local`; keep
85
+ The `secrets` list in the Asset's `asset.yaml` declares the environment names the Asset reads:
86
+
87
+ ```yaml
88
+ apiVersion: assets.vtex.com/v1alpha1
89
+ name: api
90
+ kind: storefront
91
+ secrets:
92
+ - ACME_API_KEY
93
+ ```
94
+
95
+ Each name matches `^[A-Z][A-Z0-9_]*$`. The provider rejects `PATH`, `HOME`, `PWD`, `SHELL`,
96
+ `TMPDIR` and any name that starts with `VTEX_` or `NODE_` with `storefront-secret-reserved` on
97
+ `asset.yaml`. A declared name that is not set is absent from `ctx.secrets`; `dev` logs one warning
98
+ for each. Values come from the repo root's `.env` and `.env.local`; keep
87
99
  secret values in `.env.local`, which git ignores. A resolver reads them through `ctx.secrets` only.
88
100
 
89
101
  ## The capability boundary
@@ -93,7 +105,7 @@ Finding at the line it flags:
93
105
 
94
106
  | Rule | What it flags | What to write instead |
95
107
  | --- | --- | --- |
96
- | `process-env` | Any `process.env` member access | Declare the name in `secrets` and read `ctx.secrets` |
108
+ | `process-env` | Any `process.env` member access | List the name under `secrets` in `asset.yaml` and read `ctx.secrets` |
97
109
  | `fs-import` | A runtime import of `fs` or `fs/promises`, bare or `node:` | Fetch the data from a service |
98
110
  | `child-process-import` | A runtime import of `child_process` | Call a service over HTTP |
99
111
 
@@ -105,7 +117,8 @@ environment after boot.
105
117
  ## The test
106
118
 
107
119
  `src/index.test.ts` sits beside the declaration. It builds the subgraph with `buildSubgraph` from
108
- `@vtex/faststore/cli` and resolves the field through `_entities`, the join a federated query makes:
120
+ `@vtex/faststore/cli`, under the extension's vendor, and resolves the field through `_entities`, the
121
+ join a federated query makes:
109
122
 
110
123
  ```ts
111
124
  import { buildSubgraph } from '@vtex/faststore/cli';
@@ -115,7 +128,7 @@ import definition from './index';
115
128
 
116
129
  describe('acme extension', () => {
117
130
  it('builds a subgraph and resolves the sample field via _entities', async () => {
118
- const schema = buildSubgraph(definition);
131
+ const schema = buildSubgraph(definition, 'acme');
119
132
 
120
133
  const result = await graphql({
121
134
  schema,
@@ -11,14 +11,17 @@ it writes, plus `storefront-build-failed`.
11
11
  | Code | Trigger | On | Fix |
12
12
  | --- | --- | --- | --- |
13
13
  | `storefront-typescript-unsupported` | The Asset's `typescript` is missing or has no TypeScript 5 compiler API, so the capability lint did not run | `package.json` | `pnpm add -D typescript@^5.9.3` in the Asset's folder |
14
- | `storefront-capability-process-env` | A `process.env` member access in the declaration or a module it imports | The source line | Declare the name in `secrets` and read `ctx.secrets` |
14
+ | `storefront-capability-process-env` | A `process.env` member access in the declaration or a module it imports | The source line | List the name under `secrets` in `asset.yaml` and read `ctx.secrets` |
15
15
  | `storefront-capability-fs-import` | A runtime import of `fs` or `fs/promises` | The source line | Fetch the data from a service; a resolver has no filesystem |
16
16
  | `storefront-capability-child-process-import` | A runtime import of `child_process` | The source line | Call a service; a resolver spawns no process |
17
- | `storefront-declaration-invalid` | `main` names no file; the declaration does not bundle or import; it does not `export default defineSubgraph(...)`; or the build rejects it: a `vendor` outside `^[a-z][a-z0-9]*$`, an `extends` entry other than `Product`, a `@key` other than `slug`, a secret name outside the grammar, or SDL that does not parse | The declaration entry | The message names the field or the SDL error. On a UI-only Asset's `src/index.ts`, add `exports["./catalog.json"]`: without it the barrel was read as a declaration |
17
+ | `storefront-declaration-invalid` | `main` names no file; the declaration does not bundle or import; it does not `export default defineSubgraph(...)`; or the build rejects it: an `extends` entry other than `Product`, a `@key` other than `slug`, or SDL that does not parse | The declaration entry | The message names the field or the SDL error. On a UI-only Asset's `src/index.ts`, add `exports["./catalog.json"]`: without it the barrel was read as a declaration |
18
18
  | `storefront-composition-failed` | The built slice does not compose with the storefront core schema: a type or field that collides with core's, or a federation directive the composer rejects. In `dev`, also a conflict between two Assets' slices | The declaration entry | Change the SDL as the message says. Keep `@key(fields: "slug")` on `Product` and bare names elsewhere |
19
19
  | `storefront-catalog-export-missing` | The Asset has `src/components/` and `package.json#exports` has no `./catalog.json` key | `package.json` | Add `"./catalog.json": "./dist/catalog.json"` and `".": "./src/index.ts"` to `exports` |
20
20
  | `storefront-catalog-export-invalid` | The `./catalog.json` export names no file, or a path that is not `./`-relative, has `..` or resolves outside the Asset through a link; `dev` and `build` write where it points, so the catalog goes to `dist/` meanwhile | `package.json` | Point the export at a file inside the Asset: `"./catalog.json": "./dist/catalog.json"` |
21
21
  | `storefront-catalog-invalid` | The catalog build threw: no component under `src/components/` (`NoExtensionComponents`), two components with one name, a fragment spread with no definition (`UnresolvedSpread`), no `package.json#name` (`MissingPackageName`), or a top-level `defineActions` | `package.json` | The message names the file or component. Add a `defineComponent`, rename the duplicate, drop the spread, set `name`, or remove `defineActions` |
22
+ | `storefront-vendor-missing` | The extension's `extension.yaml` declares no `vendor` | `extension.yaml` | Add `vendor: <kebab-case>` to the extension |
23
+ | `storefront-vendor-invalid` | The vendor is not kebab-case or starts with a digit, so it has no GraphQL prefix | `extension.yaml` | Choose a vendor that starts with a letter |
24
+ | `storefront-secret-reserved` | A name under `secrets` is `PATH`, `HOME`, `PWD`, `SHELL` or `TMPDIR`, or starts with `VTEX_` or `NODE_` | `asset.yaml` | Rename the secret; the message names the rule |
22
25
  | `storefront-build-failed` | The build step after `validate` passed failed: no or invalid `tsconfig.json`, a TypeScript diagnostic, the `server.mjs` bundle, two component docs sharing a basename, or the catalog | `package.json` | The message is the runner's error. Fix what it names and run `pnpm extension build` again |
23
26
 
24
27
  `storefront-declaration-invalid`, `storefront-catalog-invalid` and `storefront-build-failed` carry
@@ -89,4 +89,12 @@
89
89
  min-height: 0;
90
90
  overflow-y: auto;
91
91
  }
92
+
93
+ /* A CartAllUnavailable that holds no rendered CartAllUnavailableMessage (blank copy renders none) would
94
+ show the store's box empty. `!important` in `@layer base` outranks every store utility, `!flex`
95
+ included, because important declarations reverse the layer order, as preflight's `[hidden]` rule
96
+ does. A rule of its own so a browser without `:has` drops only this selector. */
97
+ [data-fs-cart-all-unavailable]:not(:has([data-fs-cart-all-unavailable-message])) {
98
+ display: none !important;
99
+ }
92
100
  }
@@ -1 +0,0 @@
1
- import "../../particles/field/field.js";
@@ -1,7 +0,0 @@
1
- {
2
- "locales": [
3
- "en-US",
4
- "es-ES",
5
- "pt-BR"
6
- ]
7
- }
@@ -1,4 +0,0 @@
1
- import { MessageId, Messages } from "./locales.js";
2
- import "./provider.js";
3
- import { FormattedMessage, useIntl } from "react-intl";
4
- export { FormattedMessage, type MessageId, type Messages, useIntl };
@@ -1,4 +0,0 @@
1
- "use client";
2
- import "./provider.js";
3
- import { FormattedMessage, useIntl } from "react-intl";
4
- export { FormattedMessage, useIntl };
@@ -1,8 +0,0 @@
1
- import _exports from "./messages/en-US.json.js";
2
- //#region src/sdk/i18n/locales.d.ts
3
- /** The resolved record a render formats against: what crosses the RSC boundary and what `IntlProvider` takes. */
4
- export type Messages = Readonly<Record<string, string>>;
5
- /** Every id in the source catalog. Exported for the `Record<string, MessageId>` escape hatch. */
6
- export type MessageId = keyof typeof _exports;
7
- //#endregion
8
- //# sourceMappingURL=locales.d.ts.map
@@ -1,57 +0,0 @@
1
- //#region src/sdk/i18n/locales.ts
2
- /** The locales this package ships a catalog for. */
3
- const SUPPORTED_LOCALES = [
4
- "en-US",
5
- "es-ES",
6
- "pt-BR"
7
- ];
8
- /** The hand-authored source catalog and the implicit floor of every fallback chain. */
9
- const DEFAULT_LOCALE = "en-US";
10
- /** Locale tag → catalog loader. An explicit table, never string formatting. */
11
- const CATALOG_FILES = Object.freeze({
12
- "en-US": () => import("./messages/en-US.js").then((module) => module.default),
13
- "es-ES": () => import("./messages/es-ES.js").then((module) => module.default),
14
- "pt-BR": () => import("./messages/pt-BR.js").then((module) => module.default)
15
- });
16
- /**
17
- * The supported locale a tag names, matched against the table's keys case-insensitively.
18
- * `undefined` for anything else — no truncation, no language-only fallback.
19
- */
20
- function normalizeLocale(tag) {
21
- const wanted = tag.toLowerCase();
22
- return SUPPORTED_LOCALES.find((locale) => locale.toLowerCase() === wanted);
23
- }
24
- /**
25
- * The merged record as `react-intl` types it.
26
- *
27
- * The id augmentation in `intl.d.ts` makes `messages` require *every* id in the union, which a
28
- * record merged from up to four catalogs cannot prove structurally — and typing `Messages` by the
29
- * union instead would push the same gap out to every caller that serializes it. What actually holds
30
- * is Invariant 4: `loadMessages` merges the source catalog underneath every chain, and
31
- * `locales.test.ts` asserts the result is a superset of its keys for every supported locale. This is
32
- * the one place that gap is crossed.
33
- *
34
- * An assertion and never a copy: `IntlProvider` compares `messages` by reference to decide whether
35
- * to rebuild `intl`, so handing it a fresh object would invalidate every `useIntl()` in the tree on
36
- * each render of the provider above it.
37
- */
38
- function asIntlMessages(messages) {
39
- return messages;
40
- }
41
- /**
42
- * How both entries answer a formatting error.
43
- *
44
- * A missing id is impossible — the id union rejects one at `pnpm typecheck` — and a missing
45
- * translation is the build warning's business, not a shopper's console. What is left is a malformed
46
- * ICU string from a translator, which the parity test already fails CI over. Logging it in
47
- * development keeps it findable while a catalog is being edited; staying silent in production keeps
48
- * a shopper's console clean.
49
- */
50
- function onIntlError(error) {
51
- if (process.env.NODE_ENV === "production") return;
52
- console.error(error);
53
- }
54
- //#endregion
55
- export { CATALOG_FILES, DEFAULT_LOCALE, SUPPORTED_LOCALES, asIntlMessages, normalizeLocale, onIntlError };
56
-
57
- //# sourceMappingURL=locales.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"locales.js","names":[],"sources":["../../../src/sdk/i18n/locales.ts"],"sourcesContent":["/**\n * The message catalogs this package ships, and the table that finds one.\n *\n * ## Adding a key\n *\n * Every id is prefixed `fs/` and uses at most three dot-separated levels after the prefix, in one of\n * two tiers: generic (`fs/a11y.*`, `fs/action.*`, `fs/error.*`) or `domain.area.leaf`\n * (`fs/shipping.estimate.in-hours`). **A component name never appears in a key.**\n *\n * Crowdin treats a renamed key as a new string and orphans its translations, and component names are\n * the most-renamed thing in this repository — a component moving between `particles/` and `matter/`,\n * being absorbed, or being renamed would force a choice between a lying key and paying for\n * retranslation. Domain names are more stable. The `fs/` prefix earns nothing mechanically today; it\n * buys the option of a second catalog owner later, and adding it afterwards costs a retranslation.\n *\n * Add the key to `messages/en-US.json` — the hand-authored source, never a build artifact — and the\n * id union picks it up. The translated catalogs follow through Crowdin; the package build warns about\n * the gap and does not fail on it.\n *\n * ## Adding a locale\n *\n * Three edits, all in this directory: the JSON file, a `SUPPORTED_LOCALES` entry, a `CATALOG_FILES`\n * entry. Never derive a filename from a locale tag by concatenation or truncation — the filename\n * Crowdin writes is decided by the Crowdin project's language mapping, not by anything here, and a\n * computed path that misses falls through to the default locale with HTTP 200. The table plus\n * `locales.test.ts` is what makes a disagreement loud.\n */\nimport type enUS from './messages/en-US.json';\n\n/** The resolved record a render formats against: what crosses the RSC boundary and what `IntlProvider` takes. */\nexport type Messages = Readonly<Record<string, string>>;\n\n/** Every id in the source catalog. Exported for the `Record<string, MessageId>` escape hatch. */\nexport type MessageId = keyof typeof enUS;\n\n/** The locales this package ships a catalog for. */\nexport const SUPPORTED_LOCALES = ['en-US', 'es-ES', 'pt-BR'] as const;\n\nexport type SupportedLocale = (typeof SUPPORTED_LOCALES)[number];\n\n/** The hand-authored source catalog and the implicit floor of every fallback chain. */\nexport const DEFAULT_LOCALE: SupportedLocale = 'en-US';\n\n/** Locale tag → catalog loader. An explicit table, never string formatting. */\nexport const CATALOG_FILES: Readonly<Record<SupportedLocale, () => Promise<Messages>>> = Object.freeze({\n 'en-US': () => import('./messages/en-US.json').then((module) => module.default),\n 'es-ES': () => import('./messages/es-ES.json').then((module) => module.default),\n 'pt-BR': () => import('./messages/pt-BR.json').then((module) => module.default),\n});\n\n/**\n * The supported locale a tag names, matched against the table's keys case-insensitively.\n * `undefined` for anything else — no truncation, no language-only fallback.\n */\nexport function normalizeLocale(tag: string): SupportedLocale | undefined {\n const wanted = tag.toLowerCase();\n return SUPPORTED_LOCALES.find((locale) => locale.toLowerCase() === wanted);\n}\n\n/**\n * The merged record as `react-intl` types it.\n *\n * The id augmentation in `intl.d.ts` makes `messages` require *every* id in the union, which a\n * record merged from up to four catalogs cannot prove structurally — and typing `Messages` by the\n * union instead would push the same gap out to every caller that serializes it. What actually holds\n * is Invariant 4: `loadMessages` merges the source catalog underneath every chain, and\n * `locales.test.ts` asserts the result is a superset of its keys for every supported locale. This is\n * the one place that gap is crossed.\n *\n * An assertion and never a copy: `IntlProvider` compares `messages` by reference to decide whether\n * to rebuild `intl`, so handing it a fresh object would invalidate every `useIntl()` in the tree on\n * each render of the provider above it.\n */\nexport function asIntlMessages(messages: Messages): Record<MessageId, string> {\n return messages as Record<MessageId, string>;\n}\n\n/**\n * How both entries answer a formatting error.\n *\n * A missing id is impossible — the id union rejects one at `pnpm typecheck` — and a missing\n * translation is the build warning's business, not a shopper's console. What is left is a malformed\n * ICU string from a translator, which the parity test already fails CI over. Logging it in\n * development keeps it findable while a catalog is being edited; staying silent in production keeps\n * a shopper's console clean.\n */\nexport function onIntlError(error: Error): void {\n if (process.env.NODE_ENV === 'production') return;\n console.error(error);\n}\n"],"mappings":";;AAoCA,MAAa,oBAAoB;CAAC;CAAS;CAAS;AAAO;;AAK3D,MAAa,iBAAkC;;AAG/C,MAAa,gBAA4E,OAAO,OAAO;CACrG,eAAe,OAAO,sBAAwB,CAAC,MAAM,WAAW,OAAO,OAAO;CAC9E,eAAe,OAAO,sBAAwB,CAAC,MAAM,WAAW,OAAO,OAAO;CAC9E,eAAe,OAAO,sBAAwB,CAAC,MAAM,WAAW,OAAO,OAAO;AAChF,CAAC;;;;;AAMD,SAAgB,gBAAgB,KAA0C;CACxE,MAAM,SAAS,IAAI,YAAY;CAC/B,OAAO,kBAAkB,MAAM,WAAW,OAAO,YAAY,MAAM,MAAM;AAC3E;;;;;;;;;;;;;;;AAgBA,SAAgB,eAAe,UAA+C;CAC5E,OAAO;AACT;;;;;;;;;;AAWA,SAAgB,YAAY,OAAoB;CAC9C,IAAI,QAAQ,IAAI,aAAa,cAAc;CAC3C,QAAQ,MAAM,KAAK;AACrB"}
@@ -1,183 +0,0 @@
1
- //#region src/sdk/i18n/messages/en-US.json
2
- var en_US_default = {
3
- "fs/a11y.close": "Close",
4
- "fs/address-book.empty": "You have no saved addresses yet.",
5
- "fs/address-book.error": "We couldn't load your addresses.",
6
- "fs/address-book.loading": "Loading your addresses…",
7
- "fs/address-book.profile-notice": "Your saved addresses won't be offered at checkout until your profile has a phone number.",
8
- "fs/address-book.profile-notice.link": "Complete your profile",
9
- "fs/address-book.retry": "Try again",
10
- "fs/address-book.undeliverable": "We don't deliver to this country at the moment.",
11
- "fs/address-delete.cancel": "Cancel",
12
- "fs/address-delete.confirm": "Delete",
13
- "fs/address-delete.deleted": "Address deleted.",
14
- "fs/address-delete.description": "This can't be undone.",
15
- "fs/address-delete.error.failed": "We couldn't delete this address. Try again.",
16
- "fs/address-delete.error.unauthorized": "Your session expired. Sign in again to delete this address.",
17
- "fs/address-delete.title": "Delete this address?",
18
- "fs/address-delete.trigger": "Delete",
19
- "fs/address-form.add": "Add address",
20
- "fs/address-form.added": "Address added.",
21
- "fs/address-form.cancel": "Cancel",
22
- "fs/address-form.country": "Country",
23
- "fs/address-form.country-notice": "{count, plural, one {This field won't carry over to an address in {country}: {fields}. It comes back if you switch back to {previous}.} other {These fields won't carry over to an address in {country}: {fields}. They come back if you switch back to {previous}.}}",
24
- "fs/address-form.edit": "Edit",
25
- "fs/address-form.error.country-switch-failed": "We couldn't change the country. Try again.",
26
- "fs/address-form.error.not-found": "This address no longer exists.",
27
- "fs/address-form.error.rules-failed": "We couldn't load this form. Close it and try again.",
28
- "fs/address-form.error.save-failed": "We couldn't save this address. Try again.",
29
- "fs/address-form.error.unauthorized": "Your session expired. Sign in again to save this address.",
30
- "fs/address-form.error.unrendered-field": "This address needs details this form can't show, so it wasn't saved.",
31
- "fs/address-form.error.unsupported-country": "The store doesn't deliver to this country.",
32
- "fs/address-form.saved": "Address saved.",
33
- "fs/address-form.status.failed": "Address not saved.",
34
- "fs/address-form.status.fields": "Address not saved. {count, plural, one {# field needs attention.} other {# fields need attention.}}",
35
- "fs/address-form.status.filled": "{count, plural, one {# field filled from the postal code.} other {# fields filled from the postal code.}}",
36
- "fs/address-form.submit": "Save",
37
- "fs/address-form.title.add": "Add address",
38
- "fs/address-form.title.edit": "Edit address",
39
- "fs/address-record.error": "We couldn't load this address.",
40
- "fs/address.error.cep": "Enter a valid CEP (example: {example}).",
41
- "fs/address.error.invalid": "Check this field.",
42
- "fs/address.error.postal-code": "Enter a valid postal code (example: {example}).",
43
- "fs/address.error.required": "This field is required.",
44
- "fs/address.error.too-long": "Use {maxLength, number} characters or fewer.",
45
- "fs/address.field.cep": "CEP",
46
- "fs/address.field.city": "City",
47
- "fs/address.field.commune": "Commune",
48
- "fs/address.field.complement": "Additional information (optional)",
49
- "fs/address.field.county": "County",
50
- "fs/address.field.department": "Department",
51
- "fs/address.field.district": "District",
52
- "fs/address.field.municipality": "Municipality",
53
- "fs/address.field.name": "Address name (optional)",
54
- "fs/address.field.neighborhood": "Neighborhood",
55
- "fs/address.field.number": "Number",
56
- "fs/address.field.postal-code": "Postal code",
57
- "fs/address.field.postcode": "Postcode",
58
- "fs/address.field.province": "Province",
59
- "fs/address.field.recipient-name": "Recipient name",
60
- "fs/address.field.reference": "Reference (optional)",
61
- "fs/address.field.region": "Region",
62
- "fs/address.field.state": "State",
63
- "fs/address.field.street": "Street address",
64
- "fs/address.field.town": "Town",
65
- "fs/address.placeholder.postal-code": "Example: {example}",
66
- "fs/address.placeholder.street": "Address line 1",
67
- "fs/card.ending-in": "ending in {lastDigits}",
68
- "fs/form.clear": "Clear",
69
- "fs/form.reset": "Reset",
70
- "fs/form.submit": "Continue",
71
- "fs/order-cancel.confirm": "Cancel order",
72
- "fs/order-cancel.description": "This cannot be undone.",
73
- "fs/order-cancel.dismiss": "Keep order",
74
- "fs/order-cancel.dismiss-message": "Dismiss",
75
- "fs/order-cancel.failure": "Unable to cancel the order. Please try again.",
76
- "fs/order-cancel.other": "Other",
77
- "fs/order-cancel.other-field": "Reason",
78
- "fs/order-cancel.reason.better-price": "Found a better price",
79
- "fs/order-cancel.reason.bought-by-mistake": "Bought by mistake",
80
- "fs/order-cancel.reason.changed-mind": "Changed my mind",
81
- "fs/order-cancel.reason.slow-delivery": "Delivery is too slow",
82
- "fs/order-cancel.success": "Your order was cancelled.",
83
- "fs/order-cancel.title": "Cancel this order?",
84
- "fs/order-cancel.trigger": "Cancel order",
85
- "fs/order-delivery-address.delivery": "Delivery address",
86
- "fs/order-delivery-address.store": "Store address",
87
- "fs/order-delivery-group.channel.delivery": "Delivery",
88
- "fs/order-delivery-group.channel.pickup-in-point": "Pickup",
89
- "fs/order-delivery-group.estimate": "Estimated delivery",
90
- "fs/order-delivery-group.items": "{count, plural, one {# item} other {# items}}",
91
- "fs/order-delivery-group.label": "Deliveries",
92
- "fs/order-delivery-group.list-price": "List price",
93
- "fs/order-delivery-group.quantity": "Quantity",
94
- "fs/order-delivery-group.subtotal": "Subtotal",
95
- "fs/order-delivery-group.tax": "Tax",
96
- "fs/order-delivery-group.total": "Total",
97
- "fs/order-delivery-group.unit-price": "Unit price",
98
- "fs/order-list.column.estimate": "Estimate",
99
- "fs/order-list.column.id": "Order",
100
- "fs/order-list.column.items": "Items",
101
- "fs/order-list.column.placed": "Placed",
102
- "fs/order-list.column.status": "Status",
103
- "fs/order-list.column.total": "Total",
104
- "fs/order-payment.bank-invoice.number": "Bank invoice number",
105
- "fs/order-payment.bank-invoice.print": "Print bank invoice",
106
- "fs/order-payment.empty": "No payment recorded",
107
- "fs/order-payment.heading": "Payment",
108
- "fs/order-payment.installments": "{count}x {amount}",
109
- "fs/order-payment.method.placeholder": "Payment method unavailable",
110
- "fs/order-payment.redemption-code": "Gift card code",
111
- "fs/order-status.cancellation-requested": "Cancellation requested",
112
- "fs/order-status.cancelled": "Canceled",
113
- "fs/order-status.collected": "Collected",
114
- "fs/order-status.delivered": "Delivered",
115
- "fs/order-status.in-progress": "In progress",
116
- "fs/order-status.placeholder": "Status unavailable",
117
- "fs/order-status.ready-for-pickup": "Ready for pickup",
118
- "fs/order-status.shipped": "Shipped",
119
- "fs/order.back-to-orders": "Back to orders",
120
- "fs/order.copy.action": "Copy",
121
- "fs/order.copy.copied": "Copied",
122
- "fs/order.copy.dismiss": "Dismiss",
123
- "fs/order.copy.failure": "Could not copy",
124
- "fs/order.number.copy-name": "Copy order number",
125
- "fs/order.number.prefix": "Order #",
126
- "fs/order.placed-at": "Order placed",
127
- "fs/order.progress.label": "Order progress",
128
- "fs/order.stage-state.current": "In progress",
129
- "fs/order.stage-state.done": "Completed",
130
- "fs/order.stage-state.pending": "Not started",
131
- "fs/order.stage.payment": "Payment",
132
- "fs/order.stage.placed": "Order placed",
133
- "fs/order.stage.processing": "Processing",
134
- "fs/order.stage.shipping": "Shipping",
135
- "fs/order.totals.change": "Change",
136
- "fs/order.totals.discounts": "Discounts",
137
- "fs/order.totals.grand-total": "Total",
138
- "fs/order.totals.heading": "Summary",
139
- "fs/order.totals.interest": "Interest",
140
- "fs/order.totals.items": "Items",
141
- "fs/order.totals.shipping": "Shipping",
142
- "fs/order.totals.tax": "Tax",
143
- "fs/region.error.invalid-postal-code": "Enter a valid postal code.",
144
- "fs/region.error.network": "Unable to set your region. Please try again.",
145
- "fs/region.error.unserved-postal-code": "We do not deliver to this postal code yet.",
146
- "fs/route.not-found": "Page not found",
147
- "fs/saved-cards.empty": "You have no saved cards yet.",
148
- "fs/saved-cards.expired": "Expired",
149
- "fs/saved-cards.expired-no-date": "Expired",
150
- "fs/saved-cards.expires": "Expires",
151
- "fs/saved-cards.heading": "Saved cards",
152
- "fs/saved-cards.load-failed": "We couldn't load your saved cards. Please try again later.",
153
- "fs/saved-cards.loading": "Loading your saved cards…",
154
- "fs/saved-cards.remove.cancel": "Cancel",
155
- "fs/saved-cards.remove.confirm": "Remove card",
156
- "fs/saved-cards.remove.description": "It will no longer be offered when you pay. This can't be undone.",
157
- "fs/saved-cards.remove.failed": "We couldn't remove the card. Please try again.",
158
- "fs/saved-cards.remove.pending": "Removing…",
159
- "fs/saved-cards.remove.success": "The card was removed.",
160
- "fs/saved-cards.remove.title": "Remove this card?",
161
- "fs/saved-cards.remove.trigger": "Remove",
162
- "fs/saved-cards.session-expired": "Your session has expired.",
163
- "fs/saved-cards.sign-in": "Sign in again",
164
- "fs/saved-cards.unusable": "This card can't be used",
165
- "fs/shipping.calculating": "Calculating…",
166
- "fs/shipping.calculation-failed": "Unable to calculate shipping. Try again.",
167
- "fs/shipping.estimate.in-business-days": "in {days, plural, one {# business day} other {# business days}}",
168
- "fs/shipping.estimate.in-days": "in {days, plural, one {# day} other {# days}}",
169
- "fs/shipping.estimate.in-hours": "in {hours, plural, one {# hour} other {# hours}}",
170
- "fs/shipping.estimate.in-minutes": "in {minutes, plural, one {# minute} other {# minutes}}",
171
- "fs/shipping.estimate.today": "arrives today",
172
- "fs/shipping.free-badge": "Free shipping",
173
- "fs/shipping.free-price": "Free",
174
- "fs/shipping.no-options": "No delivery options available for this address.",
175
- "fs/shipping.postal-code.aria-label": "Postal code",
176
- "fs/shipping.postal-code.placeholder": "Enter your postal code",
177
- "fs/toast.dismiss": "Dismiss",
178
- "fs/toast.region": "Notifications"
179
- };
180
- //#endregion
181
- export { en_US_default as default };
182
-
183
- //# sourceMappingURL=en-US.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"en-US.js","names":[],"sources":["../../../../src/sdk/i18n/messages/en-US.json"],"sourcesContent":[""],"mappings":""}
@@ -1,178 +0,0 @@
1
- {
2
- "fs/a11y.close": "Close",
3
- "fs/address-book.empty": "You have no saved addresses yet.",
4
- "fs/address-book.error": "We couldn't load your addresses.",
5
- "fs/address-book.loading": "Loading your addresses…",
6
- "fs/address-book.profile-notice": "Your saved addresses won't be offered at checkout until your profile has a phone number.",
7
- "fs/address-book.profile-notice.link": "Complete your profile",
8
- "fs/address-book.retry": "Try again",
9
- "fs/address-book.undeliverable": "We don't deliver to this country at the moment.",
10
- "fs/address-delete.cancel": "Cancel",
11
- "fs/address-delete.confirm": "Delete",
12
- "fs/address-delete.deleted": "Address deleted.",
13
- "fs/address-delete.description": "This can't be undone.",
14
- "fs/address-delete.error.failed": "We couldn't delete this address. Try again.",
15
- "fs/address-delete.error.unauthorized": "Your session expired. Sign in again to delete this address.",
16
- "fs/address-delete.title": "Delete this address?",
17
- "fs/address-delete.trigger": "Delete",
18
- "fs/address-form.add": "Add address",
19
- "fs/address-form.added": "Address added.",
20
- "fs/address-form.cancel": "Cancel",
21
- "fs/address-form.country": "Country",
22
- "fs/address-form.country-notice": "{count, plural, one {This field won't carry over to an address in {country}: {fields}. It comes back if you switch back to {previous}.} other {These fields won't carry over to an address in {country}: {fields}. They come back if you switch back to {previous}.}}",
23
- "fs/address-form.edit": "Edit",
24
- "fs/address-form.error.country-switch-failed": "We couldn't change the country. Try again.",
25
- "fs/address-form.error.not-found": "This address no longer exists.",
26
- "fs/address-form.error.rules-failed": "We couldn't load this form. Close it and try again.",
27
- "fs/address-form.error.save-failed": "We couldn't save this address. Try again.",
28
- "fs/address-form.error.unauthorized": "Your session expired. Sign in again to save this address.",
29
- "fs/address-form.error.unrendered-field": "This address needs details this form can't show, so it wasn't saved.",
30
- "fs/address-form.error.unsupported-country": "The store doesn't deliver to this country.",
31
- "fs/address-form.saved": "Address saved.",
32
- "fs/address-form.status.failed": "Address not saved.",
33
- "fs/address-form.status.fields": "Address not saved. {count, plural, one {# field needs attention.} other {# fields need attention.}}",
34
- "fs/address-form.status.filled": "{count, plural, one {# field filled from the postal code.} other {# fields filled from the postal code.}}",
35
- "fs/address-form.submit": "Save",
36
- "fs/address-form.title.add": "Add address",
37
- "fs/address-form.title.edit": "Edit address",
38
- "fs/address-record.error": "We couldn't load this address.",
39
- "fs/address.error.cep": "Enter a valid CEP (example: {example}).",
40
- "fs/address.error.invalid": "Check this field.",
41
- "fs/address.error.postal-code": "Enter a valid postal code (example: {example}).",
42
- "fs/address.error.required": "This field is required.",
43
- "fs/address.error.too-long": "Use {maxLength, number} characters or fewer.",
44
- "fs/address.field.cep": "CEP",
45
- "fs/address.field.city": "City",
46
- "fs/address.field.commune": "Commune",
47
- "fs/address.field.complement": "Additional information (optional)",
48
- "fs/address.field.county": "County",
49
- "fs/address.field.department": "Department",
50
- "fs/address.field.district": "District",
51
- "fs/address.field.municipality": "Municipality",
52
- "fs/address.field.name": "Address name (optional)",
53
- "fs/address.field.neighborhood": "Neighborhood",
54
- "fs/address.field.number": "Number",
55
- "fs/address.field.postal-code": "Postal code",
56
- "fs/address.field.postcode": "Postcode",
57
- "fs/address.field.province": "Province",
58
- "fs/address.field.recipient-name": "Recipient name",
59
- "fs/address.field.reference": "Reference (optional)",
60
- "fs/address.field.region": "Region",
61
- "fs/address.field.state": "State",
62
- "fs/address.field.street": "Street address",
63
- "fs/address.field.town": "Town",
64
- "fs/address.placeholder.postal-code": "Example: {example}",
65
- "fs/address.placeholder.street": "Address line 1",
66
- "fs/card.ending-in": "ending in {lastDigits}",
67
- "fs/form.clear": "Clear",
68
- "fs/form.reset": "Reset",
69
- "fs/form.submit": "Continue",
70
- "fs/order-cancel.confirm": "Cancel order",
71
- "fs/order-cancel.description": "This cannot be undone.",
72
- "fs/order-cancel.dismiss": "Keep order",
73
- "fs/order-cancel.dismiss-message": "Dismiss",
74
- "fs/order-cancel.failure": "Unable to cancel the order. Please try again.",
75
- "fs/order-cancel.other": "Other",
76
- "fs/order-cancel.other-field": "Reason",
77
- "fs/order-cancel.reason.better-price": "Found a better price",
78
- "fs/order-cancel.reason.bought-by-mistake": "Bought by mistake",
79
- "fs/order-cancel.reason.changed-mind": "Changed my mind",
80
- "fs/order-cancel.reason.slow-delivery": "Delivery is too slow",
81
- "fs/order-cancel.success": "Your order was cancelled.",
82
- "fs/order-cancel.title": "Cancel this order?",
83
- "fs/order-cancel.trigger": "Cancel order",
84
- "fs/order-delivery-address.delivery": "Delivery address",
85
- "fs/order-delivery-address.store": "Store address",
86
- "fs/order-delivery-group.channel.delivery": "Delivery",
87
- "fs/order-delivery-group.channel.pickup-in-point": "Pickup",
88
- "fs/order-delivery-group.estimate": "Estimated delivery",
89
- "fs/order-delivery-group.items": "{count, plural, one {# item} other {# items}}",
90
- "fs/order-delivery-group.label": "Deliveries",
91
- "fs/order-delivery-group.list-price": "List price",
92
- "fs/order-delivery-group.quantity": "Quantity",
93
- "fs/order-delivery-group.subtotal": "Subtotal",
94
- "fs/order-delivery-group.tax": "Tax",
95
- "fs/order-delivery-group.total": "Total",
96
- "fs/order-delivery-group.unit-price": "Unit price",
97
- "fs/order-list.column.estimate": "Estimate",
98
- "fs/order-list.column.id": "Order",
99
- "fs/order-list.column.items": "Items",
100
- "fs/order-list.column.placed": "Placed",
101
- "fs/order-list.column.status": "Status",
102
- "fs/order-list.column.total": "Total",
103
- "fs/order-payment.bank-invoice.number": "Bank invoice number",
104
- "fs/order-payment.bank-invoice.print": "Print bank invoice",
105
- "fs/order-payment.empty": "No payment recorded",
106
- "fs/order-payment.heading": "Payment",
107
- "fs/order-payment.installments": "{count}x {amount}",
108
- "fs/order-payment.method.placeholder": "Payment method unavailable",
109
- "fs/order-payment.redemption-code": "Gift card code",
110
- "fs/order-status.cancellation-requested": "Cancellation requested",
111
- "fs/order-status.cancelled": "Canceled",
112
- "fs/order-status.collected": "Collected",
113
- "fs/order-status.delivered": "Delivered",
114
- "fs/order-status.in-progress": "In progress",
115
- "fs/order-status.placeholder": "Status unavailable",
116
- "fs/order-status.ready-for-pickup": "Ready for pickup",
117
- "fs/order-status.shipped": "Shipped",
118
- "fs/order.back-to-orders": "Back to orders",
119
- "fs/order.copy.action": "Copy",
120
- "fs/order.copy.copied": "Copied",
121
- "fs/order.copy.dismiss": "Dismiss",
122
- "fs/order.copy.failure": "Could not copy",
123
- "fs/order.number.copy-name": "Copy order number",
124
- "fs/order.number.prefix": "Order #",
125
- "fs/order.placed-at": "Order placed",
126
- "fs/order.progress.label": "Order progress",
127
- "fs/order.stage-state.current": "In progress",
128
- "fs/order.stage-state.done": "Completed",
129
- "fs/order.stage-state.pending": "Not started",
130
- "fs/order.stage.payment": "Payment",
131
- "fs/order.stage.placed": "Order placed",
132
- "fs/order.stage.processing": "Processing",
133
- "fs/order.stage.shipping": "Shipping",
134
- "fs/order.totals.change": "Change",
135
- "fs/order.totals.discounts": "Discounts",
136
- "fs/order.totals.grand-total": "Total",
137
- "fs/order.totals.heading": "Summary",
138
- "fs/order.totals.interest": "Interest",
139
- "fs/order.totals.items": "Items",
140
- "fs/order.totals.shipping": "Shipping",
141
- "fs/order.totals.tax": "Tax",
142
- "fs/region.error.invalid-postal-code": "Enter a valid postal code.",
143
- "fs/region.error.network": "Unable to set your region. Please try again.",
144
- "fs/region.error.unserved-postal-code": "We do not deliver to this postal code yet.",
145
- "fs/route.not-found": "Page not found",
146
- "fs/saved-cards.empty": "You have no saved cards yet.",
147
- "fs/saved-cards.expired": "Expired",
148
- "fs/saved-cards.expired-no-date": "Expired",
149
- "fs/saved-cards.expires": "Expires",
150
- "fs/saved-cards.heading": "Saved cards",
151
- "fs/saved-cards.load-failed": "We couldn't load your saved cards. Please try again later.",
152
- "fs/saved-cards.loading": "Loading your saved cards…",
153
- "fs/saved-cards.remove.cancel": "Cancel",
154
- "fs/saved-cards.remove.confirm": "Remove card",
155
- "fs/saved-cards.remove.description": "It will no longer be offered when you pay. This can't be undone.",
156
- "fs/saved-cards.remove.failed": "We couldn't remove the card. Please try again.",
157
- "fs/saved-cards.remove.pending": "Removing…",
158
- "fs/saved-cards.remove.success": "The card was removed.",
159
- "fs/saved-cards.remove.title": "Remove this card?",
160
- "fs/saved-cards.remove.trigger": "Remove",
161
- "fs/saved-cards.session-expired": "Your session has expired.",
162
- "fs/saved-cards.sign-in": "Sign in again",
163
- "fs/saved-cards.unusable": "This card can't be used",
164
- "fs/shipping.calculating": "Calculating…",
165
- "fs/shipping.calculation-failed": "Unable to calculate shipping. Try again.",
166
- "fs/shipping.estimate.in-business-days": "in {days, plural, one {# business day} other {# business days}}",
167
- "fs/shipping.estimate.in-days": "in {days, plural, one {# day} other {# days}}",
168
- "fs/shipping.estimate.in-hours": "in {hours, plural, one {# hour} other {# hours}}",
169
- "fs/shipping.estimate.in-minutes": "in {minutes, plural, one {# minute} other {# minutes}}",
170
- "fs/shipping.estimate.today": "arrives today",
171
- "fs/shipping.free-badge": "Free shipping",
172
- "fs/shipping.free-price": "Free",
173
- "fs/shipping.no-options": "No delivery options available for this address.",
174
- "fs/shipping.postal-code.aria-label": "Postal code",
175
- "fs/shipping.postal-code.placeholder": "Enter your postal code",
176
- "fs/toast.dismiss": "Dismiss",
177
- "fs/toast.region": "Notifications"
178
- }