@vtex/faststore 0.0.7 → 0.0.10

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 (498) hide show
  1. package/CHANGELOG.md +102 -0
  2. package/dist/actions.json +194 -1
  3. package/dist/catalog.json +3449 -1612
  4. package/dist/cli/index.d.ts +512 -63
  5. package/dist/cli/index.js +2098 -686
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/cli/server-runtime.js +44 -24
  8. package/dist/cli/server-runtime.js.map +1 -1
  9. package/dist/client.d.ts +5 -1
  10. package/dist/client.js +5 -1
  11. package/dist/components.d.ts +42 -10
  12. package/dist/components.js +47 -15
  13. package/dist/content-types.json +823 -0
  14. package/dist/core/dist/define-component.d.ts +12 -2
  15. package/dist/docs/account-access-gate.md +4 -4
  16. package/dist/docs/account-address-book.md +519 -0
  17. package/dist/docs/account-entry-point.md +5 -5
  18. package/dist/docs/account-menu.md +7 -7
  19. package/dist/docs/account-saved-cards.md +301 -0
  20. package/dist/docs/alert-dialog.md +2 -2
  21. package/dist/docs/billing-address.md +17 -9
  22. package/dist/docs/binding-switcher.md +154 -0
  23. package/dist/docs/card-entry.md +38 -7
  24. package/dist/docs/card-summary.md +175 -0
  25. package/dist/docs/cardholder-document.md +16 -14
  26. package/dist/docs/cart-destination.md +238 -0
  27. package/dist/docs/cart-item.md +22 -4
  28. package/dist/docs/cart-totalizer.md +1 -1
  29. package/dist/docs/cart.md +126 -19
  30. package/dist/docs/client-profile-fieldset.md +7 -5
  31. package/dist/docs/copy-text.md +84 -0
  32. package/dist/docs/document-field.md +8 -8
  33. package/dist/docs/footer-link-group.md +2 -2
  34. package/dist/docs/footer-social.md +1 -1
  35. package/dist/docs/free-shipping-progress.md +13 -9
  36. package/dist/docs/header-root.md +1 -1
  37. package/dist/docs/incentives.md +4 -4
  38. package/dist/docs/logo.md +6 -6
  39. package/dist/docs/my-account-profile.md +4 -4
  40. package/dist/docs/navigation-link-list.md +2 -2
  41. package/dist/docs/navigation-link.md +3 -3
  42. package/dist/docs/order-cancel.md +52 -0
  43. package/dist/docs/order-delivery-address.md +63 -0
  44. package/dist/docs/order-delivery-group.md +83 -0
  45. package/dist/docs/order-details-back.md +41 -0
  46. package/dist/docs/order-details-header.md +48 -0
  47. package/dist/docs/order-list-row.md +46 -0
  48. package/dist/docs/order-list-search.md +101 -0
  49. package/dist/docs/order-list-views.md +97 -0
  50. package/dist/docs/order-list.md +94 -0
  51. package/dist/docs/order-payment.md +94 -0
  52. package/dist/docs/order-placed-date.md +49 -0
  53. package/dist/docs/order-placed-payment-summary.md +13 -15
  54. package/dist/docs/order-placed.md +225 -0
  55. package/dist/docs/order-progress.md +88 -0
  56. package/dist/docs/order-status-badge.md +91 -0
  57. package/dist/docs/order-summary.md +53 -0
  58. package/dist/docs/payment-method-badges.md +16 -5
  59. package/dist/docs/payment-methods.md +1 -1
  60. package/dist/docs/place-order.md +13 -9
  61. package/dist/docs/product-information.md +2 -2
  62. package/dist/docs/product-shelf.md +7 -0
  63. package/dist/docs/saved-cards.md +2 -2
  64. package/dist/docs/select.md +22 -10
  65. package/dist/docs/session.md +1 -1
  66. package/dist/docs/shipping-address.md +1 -1
  67. package/dist/docs/sign-in-redirect.md +7 -7
  68. package/dist/docs/toast.md +35 -13
  69. package/dist/index.d.ts +7 -2
  70. package/dist/index.js +2 -1
  71. package/dist/internal/client.d.ts +9 -1
  72. package/dist/internal/client.js +10 -2
  73. package/dist/internal/server.d.ts +8 -2
  74. package/dist/internal/server.js +8 -2
  75. package/dist/matter/account-access-gate/account-access-gate.d.ts +2 -1
  76. package/dist/matter/account-access-gate/account-access-gate.js +19 -16
  77. package/dist/matter/account-access-gate/account-access-gate.js.map +1 -1
  78. package/dist/matter/account-address-book/account-address-book-delete.d.ts +60 -0
  79. package/dist/matter/account-address-book/account-address-book-delete.js +184 -0
  80. package/dist/matter/account-address-book/account-address-book-delete.js.map +1 -0
  81. package/dist/matter/account-address-book/account-address-book-deliverability.d.ts +19 -0
  82. package/dist/matter/account-address-book/account-address-book-deliverability.js +50 -0
  83. package/dist/matter/account-address-book/account-address-book-deliverability.js.map +1 -0
  84. package/dist/matter/account-address-book/account-address-book-form-parts.d.ts +42 -0
  85. package/dist/matter/account-address-book/account-address-book-form-parts.js +146 -0
  86. package/dist/matter/account-address-book/account-address-book-form-parts.js.map +1 -0
  87. package/dist/matter/account-address-book/account-address-book-profile-notice.d.ts +25 -0
  88. package/dist/matter/account-address-book/account-address-book-profile-notice.js +72 -0
  89. package/dist/matter/account-address-book/account-address-book-profile-notice.js.map +1 -0
  90. package/dist/matter/account-address-book/account-address-book.d.ts +120 -0
  91. package/dist/matter/account-address-book/account-address-book.js +469 -0
  92. package/dist/matter/account-address-book/account-address-book.js.map +1 -0
  93. package/dist/matter/account-address-book/account-address-country-switch.js +59 -0
  94. package/dist/matter/account-address-book/account-address-country-switch.js.map +1 -0
  95. package/dist/matter/account-address-book/account-address-country.d.ts +36 -0
  96. package/dist/matter/account-address-book/account-address-country.js +151 -0
  97. package/dist/matter/account-address-book/account-address-country.js.map +1 -0
  98. package/dist/matter/account-address-book/account-address-first-line.js +11 -0
  99. package/dist/matter/account-address-book/account-address-first-line.js.map +1 -0
  100. package/dist/matter/account-address-book/account-address-form-context.d.ts +55 -0
  101. package/dist/matter/account-address-book/account-address-form-context.js +14 -0
  102. package/dist/matter/account-address-book/account-address-form-context.js.map +1 -0
  103. package/dist/matter/account-address-book/account-address-form.d.ts +85 -0
  104. package/dist/matter/account-address-book/account-address-form.js +946 -0
  105. package/dist/matter/account-address-book/account-address-form.js.map +1 -0
  106. package/dist/matter/account-address-book/account-address-postal-autofill.js +189 -0
  107. package/dist/matter/account-address-book/account-address-postal-autofill.js.map +1 -0
  108. package/dist/matter/account-address-book/account-address-record.d.ts +26 -0
  109. package/dist/matter/account-address-book/account-address-record.js +138 -0
  110. package/dist/matter/account-address-book/account-address-record.js.map +1 -0
  111. package/dist/matter/account-entry-point/account-entry-point.js +11 -11
  112. package/dist/matter/account-entry-point/account-entry-point.js.map +1 -1
  113. package/dist/matter/account-menu/account-menu.d.ts +7 -3
  114. package/dist/matter/account-menu/account-menu.js +69 -28
  115. package/dist/matter/account-menu/account-menu.js.map +1 -1
  116. package/dist/matter/account-saved-cards/account-saved-cards.d.ts +383 -0
  117. package/dist/matter/account-saved-cards/account-saved-cards.js +956 -0
  118. package/dist/matter/account-saved-cards/account-saved-cards.js.map +1 -0
  119. package/dist/matter/billing-address/billing-address.d.ts +30 -17
  120. package/dist/matter/billing-address/billing-address.js +128 -33
  121. package/dist/matter/billing-address/billing-address.js.map +1 -1
  122. package/dist/matter/breadcrumb/breadcrumb.js +2 -2
  123. package/dist/matter/breadcrumb/breadcrumb.js.map +1 -1
  124. package/dist/matter/card-entry/card-capture.js +4 -3
  125. package/dist/matter/card-entry/card-capture.js.map +1 -1
  126. package/dist/matter/card-entry/card-entry.d.ts +5 -3
  127. package/dist/matter/card-entry/card-entry.js +77 -27
  128. package/dist/matter/card-entry/card-entry.js.map +1 -1
  129. package/dist/matter/cardholder-document/cardholder-document.d.ts +10 -9
  130. package/dist/matter/cardholder-document/cardholder-document.js +36 -16
  131. package/dist/matter/cardholder-document/cardholder-document.js.map +1 -1
  132. package/dist/matter/cart/cart-namespace.d.ts +5 -1
  133. package/dist/matter/cart/cart-namespace.js +5 -1
  134. package/dist/matter/cart/cart-namespace.js.map +1 -1
  135. package/dist/matter/cart/cart.d.ts +41 -6
  136. package/dist/matter/cart/cart.js +267 -54
  137. package/dist/matter/cart/cart.js.map +1 -1
  138. package/dist/matter/cart-destination/cart-destination.d.ts +222 -0
  139. package/dist/matter/cart-destination/cart-destination.js +613 -0
  140. package/dist/matter/cart-destination/cart-destination.js.map +1 -0
  141. package/dist/matter/cart-item/cart-item.d.ts +4 -2
  142. package/dist/matter/cart-item/cart-item.js +76 -17
  143. package/dist/matter/cart-item/cart-item.js.map +1 -1
  144. package/dist/matter/cart-totalizer/cart-totalizer.js +3 -2
  145. package/dist/matter/cart-totalizer/cart-totalizer.js.map +1 -1
  146. package/dist/matter/client-preferences/client-preferences-fieldset.js +1 -1
  147. package/dist/matter/client-profile-form/client-profile-fieldset.js +8 -5
  148. package/dist/matter/client-profile-form/client-profile-fieldset.js.map +1 -1
  149. package/dist/matter/free-shipping-progress/free-shipping-progress.d.ts +6 -3
  150. package/dist/matter/free-shipping-progress/free-shipping-progress.js +76 -33
  151. package/dist/matter/free-shipping-progress/free-shipping-progress.js.map +1 -1
  152. package/dist/matter/identity-edit/identity-edit.js +3 -3
  153. package/dist/matter/identity-edit/identity-edit.js.map +1 -1
  154. package/dist/matter/identity-summary/identity-summary.js +2 -2
  155. package/dist/matter/identity-summary/identity-summary.js.map +1 -1
  156. package/dist/matter/my-account-profile/my-account-profile.d.ts +3 -3
  157. package/dist/matter/my-account-profile/my-account-profile.js +4 -4
  158. package/dist/matter/my-account-profile/my-account-profile.js.map +1 -1
  159. package/dist/matter/order-cancel/order-cancel.d.ts +110 -0
  160. package/dist/matter/order-cancel/order-cancel.js +344 -0
  161. package/dist/matter/order-cancel/order-cancel.js.map +1 -0
  162. package/dist/matter/order-delivery-address/order-delivery-address.d.ts +73 -0
  163. package/dist/matter/order-delivery-address/order-delivery-address.js +172 -0
  164. package/dist/matter/order-delivery-address/order-delivery-address.js.map +1 -0
  165. package/dist/matter/order-delivery-group/order-delivery-group.d.ts +128 -0
  166. package/dist/matter/order-delivery-group/order-delivery-group.js +408 -0
  167. package/dist/matter/order-delivery-group/order-delivery-group.js.map +1 -0
  168. package/dist/matter/order-details-header/order-details-header.d.ts +104 -0
  169. package/dist/matter/order-details-header/order-details-header.js +190 -0
  170. package/dist/matter/order-details-header/order-details-header.js.map +1 -0
  171. package/dist/matter/order-list/customer-orders-filter.d.ts +12 -0
  172. package/dist/matter/order-list/customer-orders-filter.js +30 -0
  173. package/dist/matter/order-list/customer-orders-filter.js.map +1 -0
  174. package/dist/matter/order-list/order-list.d.ts +121 -0
  175. package/dist/matter/order-list/order-list.js +395 -0
  176. package/dist/matter/order-list/order-list.js.map +1 -0
  177. package/dist/matter/order-list-row/order-list-row.d.ts +44 -0
  178. package/dist/matter/order-list-row/order-list-row.js +127 -0
  179. package/dist/matter/order-list-row/order-list-row.js.map +1 -0
  180. package/dist/matter/order-list-search/order-list-search.d.ts +72 -0
  181. package/dist/matter/order-list-search/order-list-search.js +296 -0
  182. package/dist/matter/order-list-search/order-list-search.js.map +1 -0
  183. package/dist/matter/order-list-views/order-list-views.d.ts +65 -0
  184. package/dist/matter/order-list-views/order-list-views.js +154 -0
  185. package/dist/matter/order-list-views/order-list-views.js.map +1 -0
  186. package/dist/matter/order-payment/order-payment.d.ts +83 -0
  187. package/dist/matter/order-payment/order-payment.js +258 -0
  188. package/dist/matter/order-payment/order-payment.js.map +1 -0
  189. package/dist/matter/order-placed/order-placed-deliveries.d.ts +145 -0
  190. package/dist/matter/order-placed/order-placed-deliveries.js +380 -0
  191. package/dist/matter/order-placed/order-placed-deliveries.js.map +1 -0
  192. package/dist/matter/order-placed/order-placed.d.ts +122 -0
  193. package/dist/matter/order-placed/order-placed.js +452 -0
  194. package/dist/matter/order-placed/order-placed.js.map +1 -0
  195. package/dist/matter/order-placed-date/order-placed-date.d.ts +45 -0
  196. package/dist/matter/order-placed-date/order-placed-date.js +92 -0
  197. package/dist/matter/order-placed-date/order-placed-date.js.map +1 -0
  198. package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.d.ts +5 -8
  199. package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.js +29 -81
  200. package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.js.map +1 -1
  201. package/dist/matter/order-progress/order-progress.d.ts +85 -0
  202. package/dist/matter/order-progress/order-progress.js +203 -0
  203. package/dist/matter/order-progress/order-progress.js.map +1 -0
  204. package/dist/matter/order-summary/order-summary.d.ts +81 -0
  205. package/dist/matter/order-summary/order-summary.js +192 -0
  206. package/dist/matter/order-summary/order-summary.js.map +1 -0
  207. package/dist/matter/payment/cardholder-document-rule.d.ts +35 -0
  208. package/dist/matter/payment/cardholder-document-rule.js +35 -0
  209. package/dist/matter/payment/cardholder-document-rule.js.map +1 -0
  210. package/dist/matter/payment/payment-card-capture.js +38 -23
  211. package/dist/matter/payment/payment-card-capture.js.map +1 -1
  212. package/dist/matter/payment/payment-controller.js +11 -0
  213. package/dist/matter/payment/payment-controller.js.map +1 -1
  214. package/dist/matter/payment/payment-method-badges.js +4 -2
  215. package/dist/matter/payment/payment-method-badges.js.map +1 -1
  216. package/dist/matter/payment/payment.js +11 -0
  217. package/dist/matter/payment/payment.js.map +1 -1
  218. package/dist/matter/payment/use-payment-method-selection.d.ts +39 -0
  219. package/dist/matter/payment/use-payment-method-selection.js +30 -2
  220. package/dist/matter/payment/use-payment-method-selection.js.map +1 -1
  221. package/dist/matter/payment/use-payment-submit-gate.d.ts +16 -2
  222. package/dist/matter/payment/use-payment-submit-gate.js +42 -14
  223. package/dist/matter/payment/use-payment-submit-gate.js.map +1 -1
  224. package/dist/matter/place-order/place-order.d.ts +12 -7
  225. package/dist/matter/place-order/place-order.js +126 -103
  226. package/dist/matter/place-order/place-order.js.map +1 -1
  227. package/dist/matter/pricing/pricing.js +5 -5
  228. package/dist/matter/pricing/pricing.js.map +1 -1
  229. package/dist/matter/product-shelf/product-shelf.d.ts +7 -0
  230. package/dist/matter/product-shelf/product-shelf.js +115 -1
  231. package/dist/matter/product-shelf/product-shelf.js.map +1 -1
  232. package/dist/matter/region/region.js +1 -1
  233. package/dist/matter/saved-cards/saved-cards.js +26 -15
  234. package/dist/matter/saved-cards/saved-cards.js.map +1 -1
  235. package/dist/matter/session/session.js +2 -2
  236. package/dist/matter/session/session.js.map +1 -1
  237. package/dist/matter/shipping-address/country-descriptors.d.ts +1 -0
  238. package/dist/matter/shipping-address/country-descriptors.js +23 -1
  239. package/dist/matter/shipping-address/country-descriptors.js.map +1 -1
  240. package/dist/matter/shipping-address/shipping-address.js +62 -14
  241. package/dist/matter/shipping-address/shipping-address.js.map +1 -1
  242. package/dist/matter/shipping-simulator/shipping-simulator.d.ts +2 -2
  243. package/dist/matter/shipping-simulator/shipping-simulator.js +6 -2
  244. package/dist/matter/shipping-simulator/shipping-simulator.js.map +1 -1
  245. package/dist/matter/sign-in-redirect/sign-in-redirect.js +48 -10
  246. package/dist/matter/sign-in-redirect/sign-in-redirect.js.map +1 -1
  247. package/dist/matter/variant-selector/variant-selector.js +2 -2
  248. package/dist/matter/variant-selector/variant-selector.js.map +1 -1
  249. package/dist/particles/address-summary/address-summary.js +2 -2
  250. package/dist/particles/address-summary/address-summary.js.map +1 -1
  251. package/dist/particles/alert-dialog/alert-dialog.d.ts +5 -1
  252. package/dist/particles/alert-dialog/alert-dialog.js +5 -2
  253. package/dist/particles/alert-dialog/alert-dialog.js.map +1 -1
  254. package/dist/particles/binding-switcher/binding-switcher.d.ts +38 -0
  255. package/dist/particles/binding-switcher/binding-switcher.js +183 -0
  256. package/dist/particles/binding-switcher/binding-switcher.js.map +1 -0
  257. package/dist/particles/card-summary/card-network.d.ts +17 -0
  258. package/dist/particles/card-summary/card-network.js +25 -0
  259. package/dist/particles/card-summary/card-network.js.map +1 -0
  260. package/dist/particles/card-summary/card-summary.d.ts +83 -0
  261. package/dist/particles/card-summary/card-summary.js +188 -0
  262. package/dist/particles/card-summary/card-summary.js.map +1 -0
  263. package/dist/particles/copy-text/copy-text.d.ts +28 -0
  264. package/dist/particles/copy-text/copy-text.js +140 -0
  265. package/dist/particles/copy-text/copy-text.js.map +1 -0
  266. package/dist/particles/document-field/document-field.d.ts +34 -5
  267. package/dist/particles/document-field/document-field.js +115 -19
  268. package/dist/particles/document-field/document-field.js.map +1 -1
  269. package/dist/particles/field/field.js +1 -1
  270. package/dist/particles/field/field.js.map +1 -1
  271. package/dist/particles/footer-link-group/footer-link-group.d.ts +6 -2
  272. package/dist/particles/footer-link-group/footer-link-group.js +18 -7
  273. package/dist/particles/footer-link-group/footer-link-group.js.map +1 -1
  274. package/dist/particles/footer-social/footer-social.d.ts +1 -1
  275. package/dist/particles/footer-social/footer-social.js +1 -1
  276. package/dist/particles/footer-social/footer-social.js.map +1 -1
  277. package/dist/particles/incentives/incentives.d.ts +7 -3
  278. package/dist/particles/incentives/incentives.js +8 -3
  279. package/dist/particles/incentives/incentives.js.map +1 -1
  280. package/dist/particles/logo/logo.d.ts +3 -2
  281. package/dist/particles/logo/logo.js +20 -8
  282. package/dist/particles/logo/logo.js.map +1 -1
  283. package/dist/particles/navigation-link/navigation-link.d.ts +2 -3
  284. package/dist/particles/navigation-link/navigation-link.js +4 -4
  285. package/dist/particles/navigation-link/navigation-link.js.map +1 -1
  286. package/dist/particles/navigation-link-list/navigation-link-list.d.ts +6 -2
  287. package/dist/particles/navigation-link-list/navigation-link-list.js +18 -7
  288. package/dist/particles/navigation-link-list/navigation-link-list.js.map +1 -1
  289. package/dist/particles/order-details-back/order-details-back.d.ts +28 -0
  290. package/dist/particles/order-details-back/order-details-back.js +52 -0
  291. package/dist/particles/order-details-back/order-details-back.js.map +1 -0
  292. package/dist/particles/order-status-badge/order-status-badge.d.ts +19 -0
  293. package/dist/particles/order-status-badge/order-status-badge.js +50 -0
  294. package/dist/particles/order-status-badge/order-status-badge.js.map +1 -0
  295. package/dist/particles/payment-methods/payment-methods.d.ts +1 -1
  296. package/dist/particles/payment-methods/payment-methods.js +1 -1
  297. package/dist/particles/payment-methods/payment-methods.js.map +1 -1
  298. package/dist/particles/phone-field/phone-field.js +2 -2
  299. package/dist/particles/phone-field/phone-field.js.map +1 -1
  300. package/dist/particles/select/select.js +6 -6
  301. package/dist/particles/select/select.js.map +1 -1
  302. package/dist/particles/toast/toast.d.ts +21 -7
  303. package/dist/particles/toast/toast.js +76 -8
  304. package/dist/particles/toast/toast.js.map +1 -1
  305. package/dist/schema.graphql +1376 -126
  306. package/dist/sdk/actions/address-action-provider.d.ts +16 -0
  307. package/dist/sdk/actions/address-action-provider.js +20 -0
  308. package/dist/sdk/actions/address-action-provider.js.map +1 -0
  309. package/dist/sdk/actions/analytics-action-provider.js +1 -1
  310. package/dist/sdk/actions/index.d.ts +5 -1
  311. package/dist/sdk/actions/index.js +5 -1
  312. package/dist/sdk/actions/locale-action-provider.d.ts +16 -0
  313. package/dist/sdk/actions/locale-action-provider.js +20 -0
  314. package/dist/sdk/actions/locale-action-provider.js.map +1 -0
  315. package/dist/sdk/actions/order-action-provider.d.ts +12 -0
  316. package/dist/sdk/actions/order-action-provider.js +16 -0
  317. package/dist/sdk/actions/order-action-provider.js.map +1 -0
  318. package/dist/sdk/actions/saved-card-action-provider.d.ts +12 -0
  319. package/dist/sdk/actions/saved-card-action-provider.js +16 -0
  320. package/dist/sdk/actions/saved-card-action-provider.js.map +1 -0
  321. package/dist/sdk/actions/types.d.ts +10 -2
  322. package/dist/sdk/address/address-fields.js +38 -0
  323. package/dist/sdk/address/address-fields.js.map +1 -0
  324. package/dist/sdk/address/checkout-readiness.js +17 -0
  325. package/dist/sdk/address/checkout-readiness.js.map +1 -0
  326. package/dist/sdk/address/constants.js +60 -0
  327. package/dist/sdk/address/constants.js.map +1 -0
  328. package/dist/sdk/address/country-display.js +19 -0
  329. package/dist/sdk/address/country-display.js.map +1 -0
  330. package/dist/sdk/address/country-rules.js +30 -0
  331. package/dist/sdk/address/country-rules.js.map +1 -0
  332. package/dist/sdk/address/format-address.js +18 -0
  333. package/dist/sdk/address/format-address.js.map +1 -0
  334. package/dist/sdk/address/iso-countries.js +262 -0
  335. package/dist/sdk/address/iso-countries.js.map +1 -0
  336. package/dist/sdk/address/layouts.js +56 -0
  337. package/dist/sdk/address/layouts.js.map +1 -0
  338. package/dist/sdk/address/messages.js +97 -0
  339. package/dist/sdk/address/messages.js.map +1 -0
  340. package/dist/sdk/address/operations.d.ts +54 -0
  341. package/dist/sdk/address/operations.js +83 -0
  342. package/dist/sdk/address/operations.js.map +1 -0
  343. package/dist/sdk/address/postal-code-lookup-operations.js +23 -0
  344. package/dist/sdk/address/postal-code-lookup-operations.js.map +1 -0
  345. package/dist/sdk/address/postal-code.js +11 -0
  346. package/dist/sdk/address/postal-code.js.map +1 -0
  347. package/dist/sdk/address/schema.js +14 -0
  348. package/dist/sdk/address/schema.js.map +1 -0
  349. package/dist/sdk/address/server-fields.js +25 -0
  350. package/dist/sdk/address/server-fields.js.map +1 -0
  351. package/dist/sdk/address/switch-country.js +57 -0
  352. package/dist/sdk/address/switch-country.js.map +1 -0
  353. package/dist/sdk/address/types.d.ts +26 -0
  354. package/dist/sdk/address/use-address-actions.d.ts +29 -0
  355. package/dist/sdk/address/use-address-actions.js +247 -0
  356. package/dist/sdk/address/use-address-actions.js.map +1 -0
  357. package/dist/sdk/address/use-address-by-postal-code.js +57 -0
  358. package/dist/sdk/address/use-address-by-postal-code.js.map +1 -0
  359. package/dist/sdk/address/validate-address.js +62 -0
  360. package/dist/sdk/address/validate-address.js.map +1 -0
  361. package/dist/sdk/cache/storefront-cache.js +30 -4
  362. package/dist/sdk/cache/storefront-cache.js.map +1 -1
  363. package/dist/sdk/cart/operations.d.ts +2 -1
  364. package/dist/sdk/cart/operations.js +55 -1
  365. package/dist/sdk/cart/operations.js.map +1 -1
  366. package/dist/sdk/cart/optimistic.d.ts +30 -7
  367. package/dist/sdk/cart/optimistic.js +78 -41
  368. package/dist/sdk/cart/optimistic.js.map +1 -1
  369. package/dist/sdk/cart/use-cart-actions.d.ts +7 -0
  370. package/dist/sdk/cart/use-cart-actions.js +61 -15
  371. package/dist/sdk/cart/use-cart-actions.js.map +1 -1
  372. package/dist/sdk/cart/use-cart-sync-sales-channel.js +70 -0
  373. package/dist/sdk/cart/use-cart-sync-sales-channel.js.map +1 -0
  374. package/dist/sdk/client/fetch-page-data.d.ts +11 -0
  375. package/dist/sdk/client/fetch-page-data.js +12 -1
  376. package/dist/sdk/client/fetch-page-data.js.map +1 -1
  377. package/dist/sdk/content/create-content-runtime.js +1 -8
  378. package/dist/sdk/content/create-content-runtime.js.map +1 -1
  379. package/dist/sdk/data/failed-fields.js +23 -0
  380. package/dist/sdk/data/failed-fields.js.map +1 -0
  381. package/dist/sdk/data/index.js +2 -2
  382. package/dist/sdk/data/page-reactive-data-root.d.ts +45 -7
  383. package/dist/sdk/data/page-reactive-data-root.js +88 -12
  384. package/dist/sdk/data/page-reactive-data-root.js.map +1 -1
  385. package/dist/sdk/data/reactive-list-item-data-provider.js +2 -2
  386. package/dist/sdk/generated/fragment-types.js +2 -0
  387. package/dist/sdk/generated/fragment-types.js.map +1 -1
  388. package/dist/sdk/generated/gql.js +17 -11
  389. package/dist/sdk/generated/gql.js.map +1 -1
  390. package/dist/sdk/generated/graphql.d.ts +185 -46
  391. package/dist/sdk/generated/graphql.js +2587 -155
  392. package/dist/sdk/generated/graphql.js.map +1 -1
  393. package/dist/sdk/i18n/messages/en-US.js +157 -1
  394. package/dist/sdk/i18n/messages/en-US.json +157 -1
  395. package/dist/sdk/i18n/messages/en-US.json.d.ts +156 -0
  396. package/dist/sdk/i18n/messages/es-ES.js +157 -1
  397. package/dist/sdk/i18n/messages/es-ES.json +157 -1
  398. package/dist/sdk/i18n/messages/pt-BR.js +157 -1
  399. package/dist/sdk/i18n/messages/pt-BR.json +157 -1
  400. package/dist/sdk/i18n/provider.js +1 -1
  401. package/dist/sdk/i18n/provider.js.map +1 -1
  402. package/dist/sdk/locale/binding-switch-provider.d.ts +13 -0
  403. package/dist/sdk/locale/binding-switch-provider.js +20 -0
  404. package/dist/sdk/locale/binding-switch-provider.js.map +1 -0
  405. package/dist/sdk/locale/use-locale-actions.d.ts +16 -0
  406. package/dist/sdk/locale/use-locale-actions.js +70 -0
  407. package/dist/sdk/locale/use-locale-actions.js.map +1 -0
  408. package/dist/sdk/navigation/binding-switch.d.ts +39 -0
  409. package/dist/sdk/navigation/binding-switch.js +129 -0
  410. package/dist/sdk/navigation/binding-switch.js.map +1 -0
  411. package/dist/sdk/navigation/current-page.js +30 -0
  412. package/dist/sdk/navigation/current-page.js.map +1 -0
  413. package/dist/sdk/navigation/decode-route-params.d.ts +11 -0
  414. package/dist/sdk/navigation/decode-route-params.js +32 -0
  415. package/dist/sdk/navigation/decode-route-params.js.map +1 -0
  416. package/dist/sdk/navigation/not-found-log.d.ts +28 -0
  417. package/dist/sdk/navigation/not-found-log.js +133 -0
  418. package/dist/sdk/navigation/not-found-log.js.map +1 -0
  419. package/dist/sdk/navigation/path.js +25 -0
  420. package/dist/sdk/navigation/path.js.map +1 -0
  421. package/dist/sdk/navigation/redirect.d.ts +11 -0
  422. package/dist/sdk/navigation/redirect.js +22 -0
  423. package/dist/sdk/navigation/redirect.js.map +1 -0
  424. package/dist/sdk/navigation/report.js +70 -0
  425. package/dist/sdk/navigation/report.js.map +1 -0
  426. package/dist/sdk/navigation/resolve-storefront-href.d.ts +12 -0
  427. package/dist/sdk/navigation/resolve-storefront-href.js +214 -0
  428. package/dist/sdk/navigation/resolve-storefront-href.js.map +1 -0
  429. package/dist/sdk/navigation/route-identity-provider.d.ts +11 -0
  430. package/dist/sdk/navigation/route-identity-provider.js +20 -0
  431. package/dist/sdk/navigation/route-identity-provider.js.map +1 -0
  432. package/dist/sdk/navigation/route-map-provider.d.ts +19 -0
  433. package/dist/sdk/navigation/route-map-provider.js +29 -0
  434. package/dist/sdk/navigation/route-map-provider.js.map +1 -0
  435. package/dist/sdk/navigation/storefront-link.d.ts +16 -0
  436. package/dist/sdk/navigation/storefront-link.js +66 -0
  437. package/dist/sdk/navigation/storefront-link.js.map +1 -0
  438. package/dist/sdk/navigation/types.d.ts +45 -0
  439. package/dist/sdk/navigation/use-storefront-navigation.d.ts +26 -0
  440. package/dist/sdk/navigation/use-storefront-navigation.js +73 -0
  441. package/dist/sdk/navigation/use-storefront-navigation.js.map +1 -0
  442. package/dist/sdk/navigation/use-storefront-route.d.ts +26 -0
  443. package/dist/sdk/navigation/use-storefront-route.js +87 -0
  444. package/dist/sdk/navigation/use-storefront-route.js.map +1 -0
  445. package/dist/sdk/navigation/use-storefront-search-params.d.ts +11 -0
  446. package/dist/sdk/navigation/use-storefront-search-params.js +16 -0
  447. package/dist/sdk/navigation/use-storefront-search-params.js.map +1 -0
  448. package/dist/sdk/orders/completion-badge.d.ts +8 -0
  449. package/dist/sdk/orders/completion-badge.js +47 -0
  450. package/dist/sdk/orders/completion-badge.js.map +1 -0
  451. package/dist/sdk/orders/order-operations.d.ts +19 -0
  452. package/dist/sdk/orders/order-operations.js +21 -0
  453. package/dist/sdk/orders/order-operations.js.map +1 -0
  454. package/dist/sdk/orders/use-order-actions.d.ts +23 -0
  455. package/dist/sdk/orders/use-order-actions.js +62 -0
  456. package/dist/sdk/orders/use-order-actions.js.map +1 -0
  457. package/dist/sdk/payment/gateway-origin.js +26 -13
  458. package/dist/sdk/payment/gateway-origin.js.map +1 -1
  459. package/dist/sdk/payment/gateway.d.ts +14 -2
  460. package/dist/sdk/payment/gateway.js +32 -14
  461. package/dist/sdk/payment/gateway.js.map +1 -1
  462. package/dist/sdk/payment/operations.js +11 -0
  463. package/dist/sdk/payment/operations.js.map +1 -1
  464. package/dist/sdk/payment/submission-registry.d.ts +2 -1
  465. package/dist/sdk/payment/submission-registry.js +12 -8
  466. package/dist/sdk/payment/submission-registry.js.map +1 -1
  467. package/dist/sdk/payment/use-payment-actions.d.ts +5 -3
  468. package/dist/sdk/payment/use-payment-actions.js +5 -2
  469. package/dist/sdk/payment/use-payment-actions.js.map +1 -1
  470. package/dist/sdk/payment/use-place-order.d.ts +6 -3
  471. package/dist/sdk/payment/use-place-order.js +333 -143
  472. package/dist/sdk/payment/use-place-order.js.map +1 -1
  473. package/dist/sdk/saved-cards/operations.d.ts +16 -0
  474. package/dist/sdk/saved-cards/operations.js +41 -0
  475. package/dist/sdk/saved-cards/operations.js.map +1 -0
  476. package/dist/sdk/saved-cards/use-saved-card-actions.d.ts +26 -0
  477. package/dist/sdk/saved-cards/use-saved-card-actions.js +86 -0
  478. package/dist/sdk/saved-cards/use-saved-card-actions.js.map +1 -0
  479. package/dist/sdk/seo/page-alternates.d.ts +57 -0
  480. package/dist/sdk/seo/page-alternates.js +127 -0
  481. package/dist/sdk/seo/page-alternates.js.map +1 -0
  482. package/dist/sdk/shipping/shipping-operations.d.ts +1 -1
  483. package/dist/sdk/shipping/shipping-operations.js +13 -0
  484. package/dist/sdk/shipping/shipping-operations.js.map +1 -1
  485. package/dist/sdk/state/cart.d.ts +9 -2
  486. package/dist/sdk/state/cart.js +9 -2
  487. package/dist/sdk/state/cart.js.map +1 -1
  488. package/dist/utils/own-value.js +19 -0
  489. package/dist/utils/own-value.js.map +1 -0
  490. package/dist/utils/safe-href.d.ts +4 -4
  491. package/dist/utils/safe-href.js +31 -22
  492. package/dist/utils/safe-href.js.map +1 -1
  493. package/package.json +5 -1
  494. package/skills/storefront-asset/SKILL.md +111 -0
  495. package/skills/storefront-asset/references/api-side.md +153 -0
  496. package/skills/storefront-asset/references/findings.md +40 -0
  497. package/skills/storefront-asset/references/ui-side.md +94 -0
  498. package/src/styles/tailwind.css +28 -2
@@ -0,0 +1,83 @@
1
+ import { ContentValue } from "../../core/dist/define-content-type.js";
2
+ import { ComponentDefinition } from "../../core/dist/define-component.js";
3
+ import "../../core/dist/index.js";
4
+ import { ComponentPropsWithRef, Ref } from "react";
5
+ //#region src/matter/order-payment/order-payment.d.ts
6
+ export declare const OrderPaymentContent: {
7
+ readonly id: "order-payment";
8
+ readonly title: "Order Payment";
9
+ readonly description: "The heading, the bank-invoice name, and the fixed labels of the payment section. The installment line keeps {count} and {amount}.";
10
+ readonly schema: {
11
+ readonly type: "object";
12
+ readonly additionalProperties: false;
13
+ readonly properties: {
14
+ readonly heading: {
15
+ readonly type: "string";
16
+ readonly title: "Heading";
17
+ };
18
+ readonly bankInvoiceName: {
19
+ readonly type: "string";
20
+ readonly title: "Bank invoice name";
21
+ };
22
+ readonly empty: {
23
+ readonly type: "string";
24
+ readonly title: "Empty";
25
+ };
26
+ readonly methodPlaceholder: {
27
+ readonly type: "string";
28
+ readonly title: "Method unavailable";
29
+ };
30
+ readonly installments: {
31
+ readonly type: "string";
32
+ readonly title: "Installments";
33
+ readonly description: "Keep the placeholders {count} and {amount}.";
34
+ };
35
+ readonly redemptionCode: {
36
+ readonly type: "string";
37
+ readonly title: "Gift card code";
38
+ };
39
+ readonly bankInvoiceNumber: {
40
+ readonly type: "string";
41
+ readonly title: "Bank invoice number";
42
+ };
43
+ readonly bankInvoicePrint: {
44
+ readonly type: "string";
45
+ readonly title: "Print bank invoice";
46
+ };
47
+ };
48
+ };
49
+ };
50
+ export type OrderPaymentContentValue = ContentValue<typeof OrderPaymentContent>;
51
+ export type OrderPaymentRecord = {
52
+ methodName: string | null;
53
+ lastDigits: string | null;
54
+ amount: {
55
+ amount: string | number;
56
+ currencyCode: string;
57
+ };
58
+ installments: number | null;
59
+ redemptionCode: string | null;
60
+ bankInvoiceNumber: string | null;
61
+ bankInvoicePrintUrl: string | null;
62
+ };
63
+ export type OrderPaymentData = {
64
+ id: string;
65
+ allowCancellation: boolean;
66
+ payments: OrderPaymentRecord[];
67
+ };
68
+ export type OrderPaymentProps = Readonly<{
69
+ $content?: OrderPaymentContentValue;
70
+ $data?: OrderPaymentData | null;
71
+ className?: string;
72
+ ref?: Ref<HTMLElement>;
73
+ }>;
74
+ export declare const OrderPaymentDefinition: ComponentDefinition<Readonly<{
75
+ $content?: OrderPaymentContentValue;
76
+ $data?: OrderPaymentData | null;
77
+ className?: string;
78
+ ref?: Ref<HTMLElement>;
79
+ }>>;
80
+ export declare function OrderPaymentSkeleton({ className, ...props }: ComponentPropsWithRef<'div'>): import("react/jsx-runtime").JSX.Element;
81
+ export declare function OrderPayment({ $content, $data, className, ref }: OrderPaymentProps): import("react/jsx-runtime").JSX.Element | null;
82
+ //#endregion
83
+ //# sourceMappingURL=order-payment.d.ts.map
@@ -0,0 +1,258 @@
1
+ "use client";
2
+ import { defineComponent } from "../../core/dist/define-component.js";
3
+ import { defineContentType } from "../../core/dist/define-content-type.js";
4
+ import "../../core/dist/index.js";
5
+ import { resolveSafeHref } from "../../utils/safe-href.js";
6
+ import { useStorefrontFormatters } from "../../sdk/format/client.js";
7
+ import { useIntl } from "../../sdk/i18n/client.js";
8
+ import { Icon } from "../../particles/icon/icon.js";
9
+ import { paymentMethodIconName } from "../payment/payment-method-badges.js";
10
+ import { useId } from "react";
11
+ import { jsx, jsxs } from "react/jsx-runtime";
12
+ //#region src/matter/order-payment/order-payment.tsx
13
+ const fragment = `
14
+ fragment OrderPaymentData on Query {
15
+ customerOrder(id: $orderId) {
16
+ id
17
+ allowCancellation
18
+ payments {
19
+ methodName
20
+ lastDigits
21
+ amount {
22
+ amount
23
+ currencyCode
24
+ }
25
+ installments
26
+ redemptionCode
27
+ bankInvoiceNumber
28
+ bankInvoicePrintUrl
29
+ }
30
+ }
31
+ }
32
+ `;
33
+ const OrderPaymentContent = defineContentType({
34
+ id: "order-payment",
35
+ title: "Order Payment",
36
+ description: "The heading, the bank-invoice name, and the fixed labels of the payment section. The installment line keeps {count} and {amount}.",
37
+ schema: {
38
+ type: "object",
39
+ additionalProperties: false,
40
+ properties: {
41
+ heading: {
42
+ type: "string",
43
+ title: "Heading"
44
+ },
45
+ bankInvoiceName: {
46
+ type: "string",
47
+ title: "Bank invoice name"
48
+ },
49
+ empty: {
50
+ type: "string",
51
+ title: "Empty"
52
+ },
53
+ methodPlaceholder: {
54
+ type: "string",
55
+ title: "Method unavailable"
56
+ },
57
+ installments: {
58
+ type: "string",
59
+ title: "Installments",
60
+ description: "Keep the placeholders {count} and {amount}."
61
+ },
62
+ redemptionCode: {
63
+ type: "string",
64
+ title: "Gift card code"
65
+ },
66
+ bankInvoiceNumber: {
67
+ type: "string",
68
+ title: "Bank invoice number"
69
+ },
70
+ bankInvoicePrint: {
71
+ type: "string",
72
+ title: "Print bank invoice"
73
+ }
74
+ }
75
+ }
76
+ });
77
+ const OrderPaymentDefinition = defineComponent({
78
+ name: "OrderPayment",
79
+ importPath: "@vtex/faststore/components",
80
+ component: OrderPayment,
81
+ content: OrderPaymentContent,
82
+ fragment,
83
+ fetchStrategy: "static",
84
+ skeleton: OrderPaymentSkeleton,
85
+ editor: {
86
+ label: "Order Payment",
87
+ category: "content"
88
+ },
89
+ schema: {},
90
+ guideline: "The payments recorded on one of the shopper orders: method, last four digits when recorded, brand icon when known, amount, installments, gift-card code, and bank-invoice number. Labels are content; a blank field keeps the catalogue. The print link shows only while the order can still be cancelled. Place it on the order details page."
91
+ });
92
+ function fill(template, values) {
93
+ return template.replaceAll(/\{(count|amount)\}/g, (_, key) => String(values[key] ?? ""));
94
+ }
95
+ function paymentLabels(content, intl) {
96
+ return {
97
+ empty: copy(content?.empty, intl.formatMessage({ id: "fs/order-payment.empty" })),
98
+ methodPlaceholder: copy(content?.methodPlaceholder, intl.formatMessage({ id: "fs/order-payment.method.placeholder" })),
99
+ installments: content?.installments?.trim() || void 0,
100
+ redemptionCode: copy(content?.redemptionCode, intl.formatMessage({ id: "fs/order-payment.redemption-code" })),
101
+ bankInvoiceNumber: copy(content?.bankInvoiceNumber, intl.formatMessage({ id: "fs/order-payment.bank-invoice.number" })),
102
+ bankInvoicePrint: copy(content?.bankInvoicePrint, intl.formatMessage({ id: "fs/order-payment.bank-invoice.print" }))
103
+ };
104
+ }
105
+ function copy(value, fallback) {
106
+ return value?.trim() || fallback;
107
+ }
108
+ function moneyAmount(amount) {
109
+ if (typeof amount === "string" && amount.trim() === "") return null;
110
+ const value = typeof amount === "number" ? amount : Number(amount);
111
+ return Number.isFinite(value) ? value : null;
112
+ }
113
+ function paymentKeys(payments) {
114
+ const seen = /* @__PURE__ */ new Map();
115
+ return payments.map((record) => {
116
+ const base = [
117
+ record.methodName,
118
+ record.lastDigits,
119
+ record.amount.amount,
120
+ record.amount.currencyCode,
121
+ record.installments,
122
+ record.redemptionCode,
123
+ record.bankInvoiceNumber
124
+ ].map((value) => value ?? "").join(":");
125
+ const repeats = seen.get(base) ?? 0;
126
+ seen.set(base, repeats + 1);
127
+ return repeats === 0 ? base : `${base}#${repeats}`;
128
+ });
129
+ }
130
+ function isBankInvoice(record) {
131
+ return Boolean(record.bankInvoiceNumber || record.bankInvoicePrintUrl);
132
+ }
133
+ function printHref(record, allowCancellation) {
134
+ if (!allowCancellation || !record.bankInvoicePrintUrl) return null;
135
+ const destination = resolveSafeHref(record.bankInvoicePrintUrl);
136
+ return destination.safe ? destination.href : null;
137
+ }
138
+ function OrderPaymentSkeleton({ className, ...props }) {
139
+ return /* @__PURE__ */ jsxs("div", {
140
+ ...props,
141
+ className,
142
+ "data-fs-order-payment-skeleton": "",
143
+ "aria-hidden": "true",
144
+ children: [/* @__PURE__ */ jsx("span", { "data-fs-order-payment-skeleton-row": "" }), /* @__PURE__ */ jsx("span", { "data-fs-order-payment-skeleton-row": "" })]
145
+ });
146
+ }
147
+ function OrderPayment({ $content, $data, className, ref }) {
148
+ const intl = useIntl();
149
+ const headingId = useId();
150
+ if (!$data) return null;
151
+ const heading = copy($content?.heading, intl.formatMessage({ id: "fs/order-payment.heading" }));
152
+ const labels = paymentLabels($content, intl);
153
+ const keys = paymentKeys($data.payments);
154
+ return /* @__PURE__ */ jsxs("section", {
155
+ ref,
156
+ "aria-labelledby": headingId,
157
+ className,
158
+ "data-fs-order-payment": "",
159
+ children: [/* @__PURE__ */ jsx("h2", {
160
+ id: headingId,
161
+ "data-fs-order-payment-heading": "",
162
+ children: heading
163
+ }), $data.payments.length === 0 ? /* @__PURE__ */ jsx("p", {
164
+ "data-fs-order-payment-empty": "",
165
+ children: labels.empty
166
+ }) : /* @__PURE__ */ jsx("ul", {
167
+ "data-fs-order-payment-list": "",
168
+ children: $data.payments.map((record, index) => /* @__PURE__ */ jsx(OrderPaymentItem, {
169
+ record,
170
+ allowCancellation: $data.allowCancellation,
171
+ bankInvoiceName: $content?.bankInvoiceName,
172
+ labels
173
+ }, keys[index]))
174
+ })]
175
+ });
176
+ }
177
+ function OrderPaymentItem({ record, allowCancellation, bankInvoiceName, labels }) {
178
+ const intl = useIntl();
179
+ const { formatMoney } = useStorefrontFormatters();
180
+ const bankInvoice = isBankInvoice(record);
181
+ const methodName = record.methodName?.trim() || null;
182
+ const name = bankInvoice ? copy(bankInvoiceName, methodName ?? "") : methodName ?? "";
183
+ const lastDigits = record.lastDigits?.trim() || null;
184
+ const icon = methodName ? paymentMethodIconName(methodName) : null;
185
+ const amount = moneyAmount(record.amount.amount);
186
+ const currency = record.amount.currencyCode;
187
+ const installments = record.installments != null && record.installments > 1 ? record.installments : null;
188
+ const href = printHref(record, allowCancellation);
189
+ return /* @__PURE__ */ jsxs("li", {
190
+ "data-fs-order-payment-item": "",
191
+ "data-fs-order-payment-item-bank-invoice": bankInvoice ? "" : void 0,
192
+ children: [
193
+ /* @__PURE__ */ jsxs("span", {
194
+ "data-fs-order-payment-method": "",
195
+ children: [
196
+ icon ? /* @__PURE__ */ jsx(Icon, {
197
+ name: icon,
198
+ "aria-hidden": "true",
199
+ "data-fs-order-payment-icon": ""
200
+ }) : null,
201
+ /* @__PURE__ */ jsx("span", {
202
+ "data-fs-order-payment-method-name": "",
203
+ children: name || labels.methodPlaceholder
204
+ }),
205
+ lastDigits ? /* @__PURE__ */ jsx("span", {
206
+ "data-fs-order-payment-last-digits": "",
207
+ children: `•••• ${lastDigits}`
208
+ }) : null
209
+ ]
210
+ }),
211
+ amount == null ? null : /* @__PURE__ */ jsx("span", {
212
+ "data-fs-order-payment-amount": "",
213
+ children: formatMoney(amount, { currency })
214
+ }),
215
+ amount != null && installments ? /* @__PURE__ */ jsx("span", {
216
+ "data-fs-order-payment-installments": "",
217
+ children: labels.installments ? fill(labels.installments, {
218
+ count: installments,
219
+ amount: formatMoney(amount / installments, { currency })
220
+ }) : intl.formatMessage({ id: "fs/order-payment.installments" }, {
221
+ count: installments,
222
+ amount: formatMoney(amount / installments, { currency })
223
+ })
224
+ }) : null,
225
+ record.redemptionCode ? /* @__PURE__ */ jsxs("span", {
226
+ "data-fs-order-payment-redemption-code": "",
227
+ children: [/* @__PURE__ */ jsx("span", {
228
+ "data-fs-order-payment-label": "",
229
+ children: labels.redemptionCode
230
+ }), /* @__PURE__ */ jsx("span", {
231
+ "data-fs-order-payment-value": "",
232
+ children: record.redemptionCode
233
+ })]
234
+ }) : null,
235
+ record.bankInvoiceNumber ? /* @__PURE__ */ jsxs("span", {
236
+ "data-fs-order-payment-bank-invoice-number": "",
237
+ children: [/* @__PURE__ */ jsx("span", {
238
+ "data-fs-order-payment-label": "",
239
+ children: labels.bankInvoiceNumber
240
+ }), /* @__PURE__ */ jsx("span", {
241
+ "data-fs-order-payment-value": "",
242
+ children: record.bankInvoiceNumber
243
+ })]
244
+ }) : null,
245
+ href ? /* @__PURE__ */ jsx("a", {
246
+ href,
247
+ target: "_blank",
248
+ rel: "noopener noreferrer",
249
+ "data-fs-order-payment-print": "",
250
+ children: labels.bankInvoicePrint
251
+ }) : null
252
+ ]
253
+ });
254
+ }
255
+ //#endregion
256
+ export { OrderPayment, OrderPaymentContent, OrderPaymentDefinition, OrderPaymentSkeleton };
257
+
258
+ //# sourceMappingURL=order-payment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-payment.js","names":[],"sources":["../../../src/matter/order-payment/order-payment.tsx"],"sourcesContent":["'use client';\n\nimport { type ContentValue, defineComponent, defineContentType } from '@vtex/fs-core';\nimport { type ComponentPropsWithRef, type Ref, useId } from 'react';\nimport { Icon } from '../../particles/icon/icon.js';\nimport { useStorefrontFormatters } from '../../sdk/format/client.js';\nimport { useIntl } from '../../sdk/i18n/client.js';\nimport { resolveSafeHref } from '../../utils/safe-href.js';\nimport { paymentMethodIconName } from '../payment/payment-method-badges.js';\n\nconst fragment = /* GraphQL */ `\n fragment OrderPaymentData on Query {\n customerOrder(id: $orderId) {\n id\n allowCancellation\n payments {\n methodName\n lastDigits\n amount {\n amount\n currencyCode\n }\n installments\n redemptionCode\n bankInvoiceNumber\n bankInvoicePrintUrl\n }\n }\n }\n`;\n\nexport const OrderPaymentContent = defineContentType({\n id: 'order-payment',\n title: 'Order Payment',\n description:\n 'The heading, the bank-invoice name, and the fixed labels of the payment section. The installment line keeps {count} and {amount}.',\n schema: {\n type: 'object',\n additionalProperties: false,\n properties: {\n heading: { type: 'string', title: 'Heading' },\n bankInvoiceName: { type: 'string', title: 'Bank invoice name' },\n empty: { type: 'string', title: 'Empty' },\n methodPlaceholder: { type: 'string', title: 'Method unavailable' },\n installments: {\n type: 'string',\n title: 'Installments',\n description: 'Keep the placeholders {count} and {amount}.',\n },\n redemptionCode: { type: 'string', title: 'Gift card code' },\n bankInvoiceNumber: { type: 'string', title: 'Bank invoice number' },\n bankInvoicePrint: { type: 'string', title: 'Print bank invoice' },\n },\n },\n});\n\nexport type OrderPaymentContentValue = ContentValue<typeof OrderPaymentContent>;\n\nexport type OrderPaymentRecord = {\n methodName: string | null;\n lastDigits: string | null;\n amount: { amount: string | number; currencyCode: string };\n installments: number | null;\n redemptionCode: string | null;\n bankInvoiceNumber: string | null;\n bankInvoicePrintUrl: string | null;\n};\n\nexport type OrderPaymentData = {\n id: string;\n allowCancellation: boolean;\n payments: OrderPaymentRecord[];\n};\n\nexport type OrderPaymentProps = Readonly<{\n $content?: OrderPaymentContentValue;\n $data?: OrderPaymentData | null;\n className?: string;\n ref?: Ref<HTMLElement>;\n}>;\n\nexport const OrderPaymentDefinition = defineComponent<OrderPaymentProps>({\n name: 'OrderPayment',\n importPath: '@vtex/faststore/components',\n component: OrderPayment,\n content: OrderPaymentContent,\n fragment,\n fetchStrategy: 'static',\n skeleton: OrderPaymentSkeleton,\n editor: { label: 'Order Payment', category: 'content' },\n schema: {},\n guideline:\n 'The payments recorded on one of the shopper orders: method, last four digits when recorded, brand icon when known, amount, installments, gift-card code, and bank-invoice number. Labels are content; a blank field keeps the catalogue. The print link shows only while the order can still be cancelled. Place it on the order details page.',\n});\n\nfunction fill(template: string, values: Record<string, string | number>): string {\n return template.replaceAll(/\\{(count|amount)\\}/g, (_, key: string) => String(values[key] ?? ''));\n}\n\ntype PaymentLabels = {\n empty: string;\n methodPlaceholder: string;\n installments: string | undefined;\n redemptionCode: string;\n bankInvoiceNumber: string;\n bankInvoicePrint: string;\n};\n\nfunction paymentLabels(content: OrderPaymentContentValue | undefined, intl: ReturnType<typeof useIntl>): PaymentLabels {\n return {\n empty: copy(content?.empty, intl.formatMessage({ id: 'fs/order-payment.empty' })),\n methodPlaceholder: copy(\n content?.methodPlaceholder,\n intl.formatMessage({ id: 'fs/order-payment.method.placeholder' }),\n ),\n installments: content?.installments?.trim() || undefined,\n redemptionCode: copy(content?.redemptionCode, intl.formatMessage({ id: 'fs/order-payment.redemption-code' })),\n bankInvoiceNumber: copy(\n content?.bankInvoiceNumber,\n intl.formatMessage({ id: 'fs/order-payment.bank-invoice.number' }),\n ),\n bankInvoicePrint: copy(\n content?.bankInvoicePrint,\n intl.formatMessage({ id: 'fs/order-payment.bank-invoice.print' }),\n ),\n };\n}\n\nfunction copy(value: string | undefined, fallback: string): string {\n const trimmed = value?.trim();\n return trimmed || fallback;\n}\n\nfunction moneyAmount(amount: string | number): number | null {\n // Number('') and Number(' ') are 0, which would print a blank upstream amount as a real zero.\n if (typeof amount === 'string' && amount.trim() === '') {\n return null;\n }\n const value = typeof amount === 'number' ? amount : Number(amount);\n return Number.isFinite(value) ? value : null;\n}\n\n// Payments carry no identifier, so the key is the record's own values; a repeated record (two\n// identical card charges) gets a counter so React still sees distinct keys.\nfunction paymentKeys(payments: readonly OrderPaymentRecord[]): string[] {\n const seen = new Map<string, number>();\n return payments.map((record) => {\n const base = [\n record.methodName,\n record.lastDigits,\n record.amount.amount,\n record.amount.currencyCode,\n record.installments,\n record.redemptionCode,\n record.bankInvoiceNumber,\n ]\n .map((value) => value ?? '')\n .join(':');\n const repeats = seen.get(base) ?? 0;\n seen.set(base, repeats + 1);\n return repeats === 0 ? base : `${base}#${repeats}`;\n });\n}\n\nfunction isBankInvoice(record: OrderPaymentRecord): boolean {\n return Boolean(record.bankInvoiceNumber || record.bankInvoicePrintUrl);\n}\n\nfunction printHref(record: OrderPaymentRecord, allowCancellation: boolean): string | null {\n if (!allowCancellation || !record.bankInvoicePrintUrl) {\n return null;\n }\n const destination = resolveSafeHref(record.bankInvoicePrintUrl);\n return destination.safe ? destination.href : null;\n}\n\nexport function OrderPaymentSkeleton({ className, ...props }: ComponentPropsWithRef<'div'>) {\n return (\n <div {...props} className={className} data-fs-order-payment-skeleton=\"\" aria-hidden=\"true\">\n <span data-fs-order-payment-skeleton-row=\"\" />\n <span data-fs-order-payment-skeleton-row=\"\" />\n </div>\n );\n}\n\nexport function OrderPayment({ $content, $data, className, ref }: OrderPaymentProps) {\n const intl = useIntl();\n const headingId = useId();\n\n if (!$data) {\n return null;\n }\n\n const heading = copy($content?.heading, intl.formatMessage({ id: 'fs/order-payment.heading' }));\n const labels = paymentLabels($content, intl);\n const keys = paymentKeys($data.payments);\n\n return (\n <section ref={ref} aria-labelledby={headingId} className={className} data-fs-order-payment=\"\">\n <h2 id={headingId} data-fs-order-payment-heading=\"\">\n {heading}\n </h2>\n {$data.payments.length === 0 ? (\n <p data-fs-order-payment-empty=\"\">{labels.empty}</p>\n ) : (\n <ul data-fs-order-payment-list=\"\">\n {$data.payments.map((record, index) => (\n <OrderPaymentItem\n key={keys[index]}\n record={record}\n allowCancellation={$data.allowCancellation}\n bankInvoiceName={$content?.bankInvoiceName}\n labels={labels}\n />\n ))}\n </ul>\n )}\n </section>\n );\n}\n\ntype OrderPaymentItemProps = Readonly<{\n record: OrderPaymentRecord;\n allowCancellation: boolean;\n bankInvoiceName: string | undefined;\n labels: PaymentLabels;\n}>;\n\nfunction OrderPaymentItem({ record, allowCancellation, bankInvoiceName, labels }: OrderPaymentItemProps) {\n const intl = useIntl();\n const { formatMoney } = useStorefrontFormatters();\n const bankInvoice = isBankInvoice(record);\n const methodName = record.methodName?.trim() || null;\n const name = bankInvoice ? copy(bankInvoiceName, methodName ?? '') : (methodName ?? '');\n const lastDigits = record.lastDigits?.trim() || null;\n const icon = methodName ? paymentMethodIconName(methodName) : null;\n const amount = moneyAmount(record.amount.amount);\n const currency = record.amount.currencyCode;\n const installments = record.installments != null && record.installments > 1 ? record.installments : null;\n const href = printHref(record, allowCancellation);\n\n return (\n <li data-fs-order-payment-item=\"\" data-fs-order-payment-item-bank-invoice={bankInvoice ? '' : undefined}>\n <span data-fs-order-payment-method=\"\">\n {icon ? <Icon name={icon} aria-hidden=\"true\" data-fs-order-payment-icon=\"\" /> : null}\n <span data-fs-order-payment-method-name=\"\">{name || labels.methodPlaceholder}</span>\n {lastDigits ? <span data-fs-order-payment-last-digits=\"\">{`•••• ${lastDigits}`}</span> : null}\n </span>\n {amount == null ? null : <span data-fs-order-payment-amount=\"\">{formatMoney(amount, { currency })}</span>}\n {amount != null && installments ? (\n <span data-fs-order-payment-installments=\"\">\n {labels.installments\n ? fill(labels.installments, {\n count: installments,\n amount: formatMoney(amount / installments, { currency }),\n })\n : intl.formatMessage(\n { id: 'fs/order-payment.installments' },\n { count: installments, amount: formatMoney(amount / installments, { currency }) },\n )}\n </span>\n ) : null}\n {record.redemptionCode ? (\n <span data-fs-order-payment-redemption-code=\"\">\n <span data-fs-order-payment-label=\"\">{labels.redemptionCode}</span>\n <span data-fs-order-payment-value=\"\">{record.redemptionCode}</span>\n </span>\n ) : null}\n {record.bankInvoiceNumber ? (\n <span data-fs-order-payment-bank-invoice-number=\"\">\n <span data-fs-order-payment-label=\"\">{labels.bankInvoiceNumber}</span>\n <span data-fs-order-payment-value=\"\">{record.bankInvoiceNumber}</span>\n </span>\n ) : null}\n {href ? (\n <a href={href} target=\"_blank\" rel=\"noopener noreferrer\" data-fs-order-payment-print=\"\">\n {labels.bankInvoicePrint}\n </a>\n ) : null}\n </li>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ import { ComponentDefinition } from "../../core/dist/define-component.js";
2
+ import "../../core/dist/index.js";
3
+ import { ShippingEstimateUnit } from "../shipping-simulator/shipping-simulator.js";
4
+ import { OrderPlacedMoney } from "./order-placed.js";
5
+ import { AddressSummaryFields } from "../../particles/address-summary/address-summary.js";
6
+ import { ReactNode } from "react";
7
+ //#region src/matter/order-placed/order-placed-deliveries.d.ts
8
+ export type OrderPlacedShippingEstimateUnit = ShippingEstimateUnit;
9
+ export type OrderPlacedItemComposition = {
10
+ id: string;
11
+ name: string;
12
+ quantity: number;
13
+ price: OrderPlacedMoney;
14
+ availability: string;
15
+ assemblyId: string;
16
+ ownTotal: OrderPlacedMoney;
17
+ total: OrderPlacedMoney;
18
+ customizations: readonly {
19
+ id: string;
20
+ entries: readonly {
21
+ name: string;
22
+ value: string;
23
+ }[];
24
+ }[];
25
+ compositions?: readonly OrderPlacedItemComposition[];
26
+ };
27
+ /**
28
+ * An `OrderItem` with `CartItemRootData`'s selection plus `compositions`. Amounts are the wire's
29
+ * strings; it is published to `DataOverrideContext`, typed `unknown`, with no cast and no mapping.
30
+ */
31
+ export type OrderPlacedItem = {
32
+ __typename?: string;
33
+ id: string;
34
+ quantity: number;
35
+ price: OrderPlacedMoney;
36
+ listPrice: OrderPlacedMoney;
37
+ sellingPrice: OrderPlacedMoney;
38
+ gift: boolean;
39
+ ownTotal: OrderPlacedMoney;
40
+ total: OrderPlacedMoney;
41
+ variant: {
42
+ __typename?: string;
43
+ variantId: string;
44
+ sku: string;
45
+ name: string;
46
+ image?: {
47
+ url: string;
48
+ altText?: string | null;
49
+ } | null;
50
+ availability: string;
51
+ };
52
+ product: {
53
+ __typename?: string;
54
+ productId: string;
55
+ title: string;
56
+ detailUrl: string;
57
+ categories: readonly {
58
+ categoryId: string;
59
+ name: string;
60
+ }[];
61
+ brand?: {
62
+ brandId: string;
63
+ name: string;
64
+ } | null;
65
+ };
66
+ compositions: readonly OrderPlacedItemComposition[];
67
+ };
68
+ export type OrderPlacedDelivery = {
69
+ id: string;
70
+ shippingOption?: {
71
+ id: string;
72
+ name: string;
73
+ channel: 'DELIVERY' | 'PICKUP' | 'UNKNOWN';
74
+ shippingEstimate: {
75
+ value: number;
76
+ unit: OrderPlacedShippingEstimateUnit;
77
+ };
78
+ } | null;
79
+ estimatedDate?: string | null;
80
+ itemCount: number;
81
+ pickupPointName?: string | null;
82
+ address?: (AddressSummaryFields & {
83
+ id?: string | null;
84
+ }) | null;
85
+ items: readonly OrderPlacedItem[];
86
+ };
87
+ /** `OrderPlacedDeliveryList`'s `$data`: the unwrapped `order` field of its fragment (ADR-0015). */
88
+ export type OrderPlacedDeliveryListData = {
89
+ deliveries: readonly OrderPlacedDelivery[];
90
+ } | null;
91
+ export type OrderPlacedDeliveryListProps = {
92
+ className?: string;
93
+ children?: ReactNode;
94
+ $data?: OrderPlacedDeliveryListData;
95
+ };
96
+ export type OrderPlacedDeliveryGroupProps = {
97
+ className?: string;
98
+ children?: ReactNode;
99
+ /** The dated promise; `{date}` placeholder. */
100
+ dateTemplate?: string;
101
+ /** `{count}` placeholder, for any count but one. */
102
+ itemCountTemplate?: string;
103
+ /** `{count}` placeholder, for a count of one. */
104
+ itemCountOneTemplate?: string;
105
+ /** `{name}` placeholder, shown when the delivery is picked up. */
106
+ pickupPointTemplate?: string;
107
+ };
108
+ export type OrderPlacedItemRowProps = {
109
+ className?: string;
110
+ children?: ReactNode;
111
+ };
112
+ export type OrderPlacedItemCompositionsProps = {
113
+ className?: string;
114
+ };
115
+ /** The delivery the nearest OrderPlacedDeliveryList renders this subtree for. */
116
+ export declare function useOrderDelivery(): OrderPlacedDelivery;
117
+ /** The item the nearest OrderPlacedItemRow renders this subtree for. */
118
+ export declare function useOrderPlacedItem(): OrderPlacedItem;
119
+ export declare const OrderPlacedDeliveryListDefinition: ComponentDefinition<OrderPlacedDeliveryListProps>;
120
+ export declare const OrderPlacedDeliveryGroupDefinition: ComponentDefinition<OrderPlacedDeliveryGroupProps>;
121
+ export declare const OrderPlacedItemRowDefinition: ComponentDefinition<OrderPlacedItemRowProps>;
122
+ export declare const OrderPlacedItemCompositionsDefinition: ComponentDefinition<OrderPlacedItemCompositionsProps>;
123
+ /** Renders its child once per delivery of the placed order. */
124
+ export declare function OrderPlacedDeliveryList({ className, children, $data: $dataProp }: Readonly<OrderPlacedDeliveryListProps>): import("react/jsx-runtime").JSX.Element | null;
125
+ /**
126
+ * One delivery: method, promise, item count and pickup point, with its address provided to the
127
+ * `AddressSummary*` children. The dated promise wins when the order carries one; otherwise the relative
128
+ * estimate. A delivery with neither a method nor a date still shows its items and count.
129
+ */
130
+ export declare function OrderPlacedDeliveryGroup({ className, children, dateTemplate, itemCountTemplate, itemCountOneTemplate, pickupPointTemplate }: Readonly<OrderPlacedDeliveryGroupProps>): import("react/jsx-runtime").JSX.Element;
131
+ /**
132
+ * Each item of the nearest delivery, through the cart's own `CartItemRoot`: the row publishes the
133
+ * order item on `DataOverrideContext`, the seam `CartItemRoot` reads before its `$data`, so the cart's
134
+ * leaves present it unchanged (ADR-0009's substitution; `cart-item.tsx` is not edited). Outside a
135
+ * delivery, as straight under the root, the purchase has no items of its own to show.
136
+ */
137
+ export declare function OrderPlacedItemRow({ className, children }: OrderPlacedItemRowProps): import("react/jsx-runtime").JSX.Element[] | null;
138
+ /**
139
+ * The item's add-ons, through the cart's own `CartItemCompositions`, which reads the item from the
140
+ * row's `DataOverrideContext`. Rendered as a function, never composed in the page, so its `Query.cart`
141
+ * fragment is never collected and the page reads only the order.
142
+ */
143
+ export declare function OrderPlacedItemCompositions({ className }: Readonly<OrderPlacedItemCompositionsProps>): import("react/jsx-runtime").JSX.Element;
144
+ //#endregion
145
+ //# sourceMappingURL=order-placed-deliveries.d.ts.map