@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,110 @@
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 { ComponentActions } from "../../sdk/actions/types.js";
5
+ import { Ref } from "react";
6
+ //#region src/matter/order-cancel/order-cancel.d.ts
7
+ export declare const OrderCancelContent: {
8
+ readonly id: "order-cancel";
9
+ readonly title: "Order Cancel";
10
+ readonly description: "Confirmation copy and the optional cancellation reasons for one order.";
11
+ readonly schema: {
12
+ readonly type: "object";
13
+ readonly additionalProperties: false;
14
+ readonly properties: {
15
+ readonly trigger: {
16
+ readonly type: "string";
17
+ readonly default: "Cancel order";
18
+ readonly title: "Trigger";
19
+ };
20
+ readonly title: {
21
+ readonly type: "string";
22
+ readonly default: "Cancel this order?";
23
+ readonly title: "Title";
24
+ };
25
+ readonly description: {
26
+ readonly type: "string";
27
+ readonly default: "This cannot be undone.";
28
+ readonly title: "Description";
29
+ };
30
+ readonly confirm: {
31
+ readonly type: "string";
32
+ readonly default: "Cancel order";
33
+ readonly title: "Confirm";
34
+ };
35
+ readonly dismiss: {
36
+ readonly type: "string";
37
+ readonly default: "Keep order";
38
+ readonly title: "Dismiss";
39
+ };
40
+ readonly other: {
41
+ readonly type: "string";
42
+ readonly default: "Other";
43
+ readonly title: "Other";
44
+ };
45
+ readonly otherField: {
46
+ readonly type: "string";
47
+ readonly default: "Reason";
48
+ readonly title: "Other field";
49
+ };
50
+ readonly success: {
51
+ readonly type: "string";
52
+ readonly default: "Your order was cancelled.";
53
+ readonly title: "Success";
54
+ };
55
+ readonly failure: {
56
+ readonly type: "string";
57
+ readonly default: "Unable to cancel the order. Please try again.";
58
+ readonly title: "Failure";
59
+ };
60
+ readonly dismissMessage: {
61
+ readonly type: "string";
62
+ readonly default: "Dismiss";
63
+ readonly title: "Dismiss message";
64
+ };
65
+ readonly reasons: {
66
+ readonly type: "array";
67
+ readonly title: "Reasons";
68
+ readonly items: {
69
+ readonly type: "object";
70
+ readonly additionalProperties: false;
71
+ readonly required: readonly ["label"];
72
+ readonly properties: {
73
+ readonly label: {
74
+ readonly type: "string";
75
+ readonly minLength: 1;
76
+ readonly title: "Label";
77
+ };
78
+ };
79
+ };
80
+ };
81
+ };
82
+ };
83
+ };
84
+ export type OrderCancelContentValue = ContentValue<typeof OrderCancelContent>;
85
+ /** Unwrapped `customerOrder`. A single-root fragment binds `$data` to that field. */
86
+ export type OrderCancelData = {
87
+ id: string;
88
+ status: string;
89
+ allowCancellation: boolean;
90
+ };
91
+ export type OrderCancelProps = Readonly<{
92
+ $data?: OrderCancelData | null;
93
+ $actions?: ComponentActions;
94
+ $content?: OrderCancelContentValue;
95
+ className?: string;
96
+ ref?: Ref<HTMLDivElement>;
97
+ }>;
98
+ export declare const OrderCancelDefinition: ComponentDefinition<Readonly<{
99
+ $data?: OrderCancelData | null;
100
+ $actions?: ComponentActions;
101
+ $content?: OrderCancelContentValue;
102
+ className?: string;
103
+ ref?: Ref<HTMLDivElement>;
104
+ }>>;
105
+ export declare function OrderCancelSkeleton({ className }: Readonly<{
106
+ className?: string;
107
+ }>): import("react/jsx-runtime").JSX.Element;
108
+ export declare function OrderCancel({ $data, $actions: $actionsProp, $content, className, ref }: OrderCancelProps): import("react/jsx-runtime").JSX.Element | null;
109
+ //#endregion
110
+ //# sourceMappingURL=order-cancel.d.ts.map
@@ -0,0 +1,344 @@
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 { useIntl } from "../../sdk/i18n/client.js";
6
+ import { useStorefrontNavigation } from "../../sdk/navigation/use-storefront-navigation.js";
7
+ import { useActionsOverride } from "../../sdk/actions/actions-override-context.js";
8
+ import { Button } from "../../particles/button/button.js";
9
+ import { AlertDialogBackdrop, AlertDialogClose, AlertDialogDescription, AlertDialogPopup, AlertDialogPortal, AlertDialogRoot, AlertDialogTitle, AlertDialogTrigger, AlertDialogViewport } from "../../particles/alert-dialog/alert-dialog.js";
10
+ import { Radio } from "../../particles/radio/radio.js";
11
+ import { Input } from "../../particles/input/input.js";
12
+ import { useEffect, useRef, useState } from "react";
13
+ import { jsx, jsxs } from "react/jsx-runtime";
14
+ //#region src/matter/order-cancel/order-cancel.tsx
15
+ const fragment = `
16
+ fragment OrderCancelData on Query {
17
+ customerOrder(id: $orderId) {
18
+ id
19
+ status
20
+ allowCancellation
21
+ }
22
+ }
23
+ `;
24
+ /**
25
+ * OMS statuses that already mean a cancellation was requested or finished.
26
+ * `allowCancellation` can stay true in the intermediate ones, so the flag alone
27
+ * would show the button again.
28
+ */
29
+ const HIDDEN_STATUSES = /* @__PURE__ */ new Set([
30
+ "request-cancel",
31
+ "cancellation-requested",
32
+ "cancellation-requested-with-ack",
33
+ "cancel",
34
+ "canceled"
35
+ ]);
36
+ const OTHER = "other";
37
+ /** Matches `CUSTOMER_ORDER_CANCEL_REASON_MAX_LENGTH` in the orders module. */
38
+ const REASON_MAX_LENGTH = 500;
39
+ const REASON_IDS = [
40
+ "fs/order-cancel.reason.changed-mind",
41
+ "fs/order-cancel.reason.bought-by-mistake",
42
+ "fs/order-cancel.reason.better-price",
43
+ "fs/order-cancel.reason.slow-delivery"
44
+ ];
45
+ const OrderCancelContent = defineContentType({
46
+ id: "order-cancel",
47
+ title: "Order Cancel",
48
+ description: "Confirmation copy and the optional cancellation reasons for one order.",
49
+ schema: {
50
+ type: "object",
51
+ additionalProperties: false,
52
+ properties: {
53
+ trigger: {
54
+ type: "string",
55
+ default: "Cancel order",
56
+ title: "Trigger"
57
+ },
58
+ title: {
59
+ type: "string",
60
+ default: "Cancel this order?",
61
+ title: "Title"
62
+ },
63
+ description: {
64
+ type: "string",
65
+ default: "This cannot be undone.",
66
+ title: "Description"
67
+ },
68
+ confirm: {
69
+ type: "string",
70
+ default: "Cancel order",
71
+ title: "Confirm"
72
+ },
73
+ dismiss: {
74
+ type: "string",
75
+ default: "Keep order",
76
+ title: "Dismiss"
77
+ },
78
+ other: {
79
+ type: "string",
80
+ default: "Other",
81
+ title: "Other"
82
+ },
83
+ otherField: {
84
+ type: "string",
85
+ default: "Reason",
86
+ title: "Other field"
87
+ },
88
+ success: {
89
+ type: "string",
90
+ default: "Your order was cancelled.",
91
+ title: "Success"
92
+ },
93
+ failure: {
94
+ type: "string",
95
+ default: "Unable to cancel the order. Please try again.",
96
+ title: "Failure"
97
+ },
98
+ dismissMessage: {
99
+ type: "string",
100
+ default: "Dismiss",
101
+ title: "Dismiss message"
102
+ },
103
+ reasons: {
104
+ type: "array",
105
+ title: "Reasons",
106
+ items: {
107
+ type: "object",
108
+ additionalProperties: false,
109
+ required: ["label"],
110
+ properties: { label: {
111
+ type: "string",
112
+ minLength: 1,
113
+ title: "Label"
114
+ } }
115
+ }
116
+ }
117
+ }
118
+ }
119
+ });
120
+ const OrderCancelDefinition = defineComponent({
121
+ name: "OrderCancel",
122
+ importPath: "@vtex/faststore/components",
123
+ component: OrderCancel,
124
+ fragment,
125
+ skeleton: OrderCancelSkeleton,
126
+ actions: { order: ["cancel"] },
127
+ content: OrderCancelContent,
128
+ editor: {
129
+ label: "Order Cancel",
130
+ category: "action"
131
+ },
132
+ schema: {},
133
+ guideline: "Cancels one eligible order after the shopper confirms in an alert dialog. Place it on the order page. It hides when the order cannot be cancelled or a cancellation is already requested. Reasons and the dialog copy are content; a blank field uses the message catalog. Other is always offered. See order-cancel.md."
134
+ });
135
+ function OrderCancelSkeleton({ className }) {
136
+ return /* @__PURE__ */ jsx("div", {
137
+ className,
138
+ "data-fs-order-cancel-skeleton": "",
139
+ "aria-hidden": "true"
140
+ });
141
+ }
142
+ function text(value, fallback) {
143
+ return value?.trim() || fallback;
144
+ }
145
+ function copyOf(content, intl) {
146
+ const authored = content?.reasons?.flatMap((item) => {
147
+ const label = item.label.trim();
148
+ return label ? [label] : [];
149
+ });
150
+ return {
151
+ trigger: text(content?.trigger, intl.formatMessage({ id: "fs/order-cancel.trigger" })),
152
+ title: text(content?.title, intl.formatMessage({ id: "fs/order-cancel.title" })),
153
+ description: text(content?.description, intl.formatMessage({ id: "fs/order-cancel.description" })),
154
+ confirm: text(content?.confirm, intl.formatMessage({ id: "fs/order-cancel.confirm" })),
155
+ dismiss: text(content?.dismiss, intl.formatMessage({ id: "fs/order-cancel.dismiss" })),
156
+ other: text(content?.other, intl.formatMessage({ id: "fs/order-cancel.other" })),
157
+ otherField: text(content?.otherField, intl.formatMessage({ id: "fs/order-cancel.other-field" })),
158
+ success: text(content?.success, intl.formatMessage({ id: "fs/order-cancel.success" })),
159
+ failure: text(content?.failure, intl.formatMessage({ id: "fs/order-cancel.failure" })),
160
+ dismissMessage: text(content?.dismissMessage, intl.formatMessage({ id: "fs/order-cancel.dismiss-message" })),
161
+ reasons: content?.reasons == null ? REASON_IDS.map((id) => intl.formatMessage({ id })) : authored ?? []
162
+ };
163
+ }
164
+ function chosenReason(selected, reasons, otherText) {
165
+ if (selected == null) return void 0;
166
+ if (selected === OTHER) return otherText.trim() || void 0;
167
+ return reasons[Number(selected)]?.trim() || void 0;
168
+ }
169
+ function OrderCancel({ $data, $actions: $actionsProp, $content, className, ref }) {
170
+ const $actions = useActionsOverride($actionsProp);
171
+ const intl = useIntl();
172
+ const { refresh } = useStorefrontNavigation();
173
+ const copy = copyOf($content, intl);
174
+ const [open, setOpen] = useState(false);
175
+ const [selected, setSelected] = useState(null);
176
+ const [otherText, setOtherText] = useState("");
177
+ const [pending, setPending] = useState(false);
178
+ const [succeeded, setSucceeded] = useState(false);
179
+ const [outcome, setOutcome] = useState("idle");
180
+ const [failureMessage, setFailureMessage] = useState(copy.failure);
181
+ const pendingRef = useRef(false);
182
+ const requestRef = useRef(0);
183
+ const messageRef = useRef(null);
184
+ const portalRoot = useRef(null);
185
+ useEffect(() => {
186
+ if (outcome === "success" || outcome === "failure") messageRef.current?.focus();
187
+ }, [outcome]);
188
+ const ineligible = !$data?.allowCancellation || $data != null && HIDDEN_STATUSES.has($data.status);
189
+ function onOpenChange(next) {
190
+ if (!next && pendingRef.current) return;
191
+ setOpen(next);
192
+ if (!next) {
193
+ requestRef.current += 1;
194
+ setSelected(null);
195
+ setOtherText("");
196
+ setOutcome((current) => current === "failure" ? "idle" : current);
197
+ }
198
+ }
199
+ async function confirm() {
200
+ if (pendingRef.current || !$data) return;
201
+ const cancel = $actions?.order?.cancel;
202
+ if (!cancel) {
203
+ setFailureMessage(copy.failure);
204
+ setOutcome("failure");
205
+ return;
206
+ }
207
+ const request = requestRef.current + 1;
208
+ requestRef.current = request;
209
+ pendingRef.current = true;
210
+ setPending(true);
211
+ try {
212
+ const reason = chosenReason(selected, copy.reasons, otherText);
213
+ const result = await cancel(reason == null ? { id: $data.id } : {
214
+ id: $data.id,
215
+ reason
216
+ });
217
+ if (request !== requestRef.current) return;
218
+ if (result.userErrors.length === 0) {
219
+ setSucceeded(true);
220
+ setOutcome("success");
221
+ setOpen(false);
222
+ refresh();
223
+ return;
224
+ }
225
+ setFailureMessage(result.userErrors[0]?.message ?? copy.failure);
226
+ setOutcome("failure");
227
+ } finally {
228
+ pendingRef.current = false;
229
+ setPending(false);
230
+ }
231
+ }
232
+ function dismissMessage() {
233
+ setOutcome("idle");
234
+ }
235
+ function setRoot(node) {
236
+ portalRoot.current = node;
237
+ if (typeof ref === "function") {
238
+ ref(node);
239
+ return;
240
+ }
241
+ if (ref) ref.current = node;
242
+ }
243
+ if (ineligible || succeeded && outcome !== "success") return null;
244
+ if (succeeded) return /* @__PURE__ */ jsx("div", {
245
+ ref,
246
+ className,
247
+ "data-fs-order-cancel": "",
248
+ "data-fs-order-cancel-outcome": "success",
249
+ children: /* @__PURE__ */ jsx(Acknowledgement, {
250
+ ref: messageRef,
251
+ message: copy.success,
252
+ dismissLabel: copy.dismissMessage,
253
+ onDismiss: dismissMessage
254
+ })
255
+ });
256
+ return /* @__PURE__ */ jsx("div", {
257
+ ref: setRoot,
258
+ className,
259
+ "data-fs-order-cancel": "",
260
+ "data-fs-order-cancel-outcome": outcome,
261
+ children: /* @__PURE__ */ jsxs(AlertDialogRoot, {
262
+ open,
263
+ onOpenChange,
264
+ children: [/* @__PURE__ */ jsx(AlertDialogTrigger, {
265
+ "data-fs-order-cancel-action": "",
266
+ children: copy.trigger
267
+ }), /* @__PURE__ */ jsxs(AlertDialogPortal, {
268
+ container: portalRoot,
269
+ children: [/* @__PURE__ */ jsx(AlertDialogBackdrop, {}), /* @__PURE__ */ jsx(AlertDialogViewport, { children: /* @__PURE__ */ jsxs(AlertDialogPopup, { children: [
270
+ /* @__PURE__ */ jsx(AlertDialogTitle, { children: copy.title }),
271
+ /* @__PURE__ */ jsx(AlertDialogDescription, { children: copy.description }),
272
+ /* @__PURE__ */ jsxs(Radio.Group, {
273
+ value: selected ?? "",
274
+ onValueChange: setSelected,
275
+ "data-fs-order-cancel-reasons": "",
276
+ disabled: pending,
277
+ children: [copy.reasons.map((label, index) => /* @__PURE__ */ jsxs(Radio.Root, {
278
+ value: String(index),
279
+ children: [/* @__PURE__ */ jsx(Radio.Indicator, {
280
+ keepMounted: true,
281
+ children: /* @__PURE__ */ jsx("span", { "data-fs-order-cancel-mark": "" })
282
+ }), label]
283
+ }, label)), /* @__PURE__ */ jsxs(Radio.Root, {
284
+ value: OTHER,
285
+ children: [/* @__PURE__ */ jsx(Radio.Indicator, {
286
+ keepMounted: true,
287
+ children: /* @__PURE__ */ jsx("span", { "data-fs-order-cancel-mark": "" })
288
+ }), copy.other]
289
+ })]
290
+ }),
291
+ selected === OTHER ? /* @__PURE__ */ jsxs("label", {
292
+ htmlFor: "order-cancel-other",
293
+ "data-fs-order-cancel-other": "",
294
+ children: [/* @__PURE__ */ jsx("span", { children: copy.otherField }), /* @__PURE__ */ jsx(Input, {
295
+ id: "order-cancel-other",
296
+ value: otherText,
297
+ disabled: pending,
298
+ maxLength: REASON_MAX_LENGTH,
299
+ onChange: (event) => {
300
+ setOtherText(event.target.value.slice(0, REASON_MAX_LENGTH));
301
+ }
302
+ })]
303
+ }) : null,
304
+ outcome === "failure" ? /* @__PURE__ */ jsx(Acknowledgement, {
305
+ ref: messageRef,
306
+ message: failureMessage,
307
+ dismissLabel: copy.dismissMessage,
308
+ onDismiss: dismissMessage
309
+ }) : null,
310
+ /* @__PURE__ */ jsxs("div", {
311
+ "data-fs-order-cancel-actions": "",
312
+ children: [/* @__PURE__ */ jsx(Button, {
313
+ type: "button",
314
+ "data-fs-order-cancel-confirm": "",
315
+ disabled: pending,
316
+ onClick: () => void confirm(),
317
+ children: copy.confirm
318
+ }), /* @__PURE__ */ jsx(AlertDialogClose, {
319
+ "data-fs-order-cancel-dismiss": "",
320
+ disabled: pending,
321
+ children: copy.dismiss
322
+ })]
323
+ })
324
+ ] }) })]
325
+ })]
326
+ })
327
+ });
328
+ }
329
+ function Acknowledgement({ ref, message, dismissLabel, onDismiss }) {
330
+ return /* @__PURE__ */ jsxs("output", {
331
+ "data-fs-order-cancel-message": "",
332
+ children: [message, /* @__PURE__ */ jsx(Button, {
333
+ ref,
334
+ type: "button",
335
+ "aria-label": dismissLabel,
336
+ onClick: onDismiss,
337
+ children: dismissLabel
338
+ })]
339
+ });
340
+ }
341
+ //#endregion
342
+ export { OrderCancel, OrderCancelContent, OrderCancelDefinition, OrderCancelSkeleton };
343
+
344
+ //# sourceMappingURL=order-cancel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-cancel.js","names":[],"sources":["../../../src/matter/order-cancel/order-cancel.tsx"],"sourcesContent":["'use client';\n\nimport { type ContentValue, defineComponent, defineContentType } from '@vtex/fs-core';\nimport type { Ref } from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport {\n AlertDialogBackdrop,\n AlertDialogClose,\n AlertDialogDescription,\n AlertDialogPopup,\n AlertDialogPortal,\n AlertDialogRoot,\n AlertDialogTitle,\n AlertDialogTrigger,\n AlertDialogViewport,\n} from '../../particles/alert-dialog/alert-dialog.js';\nimport { Button } from '../../particles/button/button.js';\nimport { Input } from '../../particles/input/input.js';\nimport { Radio } from '../../particles/radio/radio.js';\nimport { useActionsOverride } from '../../sdk/actions/actions-override-context.js';\nimport type { ComponentActions } from '../../sdk/actions/types.js';\nimport { useIntl } from '../../sdk/i18n/client.js';\nimport type { MessageId } from '../../sdk/i18n/locales.js';\nimport { useStorefrontNavigation } from '../../sdk/navigation/use-storefront-navigation.js';\n\nconst fragment = /* GraphQL */ `\n fragment OrderCancelData on Query {\n customerOrder(id: $orderId) {\n id\n status\n allowCancellation\n }\n }\n`;\n\n/**\n * OMS statuses that already mean a cancellation was requested or finished.\n * `allowCancellation` can stay true in the intermediate ones, so the flag alone\n * would show the button again.\n */\nconst HIDDEN_STATUSES = new Set([\n 'request-cancel',\n 'cancellation-requested',\n 'cancellation-requested-with-ack',\n 'cancel',\n 'canceled',\n]);\n\nconst OTHER = 'other';\n\n/** Matches `CUSTOMER_ORDER_CANCEL_REASON_MAX_LENGTH` in the orders module. */\nconst REASON_MAX_LENGTH = 500;\n\nconst REASON_IDS = [\n 'fs/order-cancel.reason.changed-mind',\n 'fs/order-cancel.reason.bought-by-mistake',\n 'fs/order-cancel.reason.better-price',\n 'fs/order-cancel.reason.slow-delivery',\n] as const satisfies readonly MessageId[];\n\nexport const OrderCancelContent = defineContentType({\n id: 'order-cancel',\n title: 'Order Cancel',\n description: 'Confirmation copy and the optional cancellation reasons for one order.',\n schema: {\n type: 'object',\n additionalProperties: false,\n // Literals, not `COPY.*`: the catalog scanner only evaluates values it can see in the call.\n properties: {\n trigger: { type: 'string', default: 'Cancel order', title: 'Trigger' },\n title: { type: 'string', default: 'Cancel this order?', title: 'Title' },\n description: { type: 'string', default: 'This cannot be undone.', title: 'Description' },\n confirm: { type: 'string', default: 'Cancel order', title: 'Confirm' },\n dismiss: { type: 'string', default: 'Keep order', title: 'Dismiss' },\n other: { type: 'string', default: 'Other', title: 'Other' },\n otherField: { type: 'string', default: 'Reason', title: 'Other field' },\n success: { type: 'string', default: 'Your order was cancelled.', title: 'Success' },\n failure: { type: 'string', default: 'Unable to cancel the order. Please try again.', title: 'Failure' },\n dismissMessage: { type: 'string', default: 'Dismiss', title: 'Dismiss message' },\n reasons: {\n type: 'array',\n title: 'Reasons',\n items: {\n type: 'object',\n additionalProperties: false,\n required: ['label'],\n properties: {\n label: { type: 'string', minLength: 1, title: 'Label' },\n },\n },\n },\n },\n },\n});\n\nexport type OrderCancelContentValue = ContentValue<typeof OrderCancelContent>;\n\n/** Unwrapped `customerOrder`. A single-root fragment binds `$data` to that field. */\nexport type OrderCancelData = {\n id: string;\n status: string;\n allowCancellation: boolean;\n};\n\nexport type OrderCancelProps = Readonly<{\n $data?: OrderCancelData | null;\n $actions?: ComponentActions;\n $content?: OrderCancelContentValue;\n className?: string;\n ref?: Ref<HTMLDivElement>;\n}>;\n\ntype OrderCancelCopy = {\n trigger: string;\n title: string;\n description: string;\n confirm: string;\n dismiss: string;\n other: string;\n otherField: string;\n success: string;\n failure: string;\n dismissMessage: string;\n reasons: readonly string[];\n};\n\nexport const OrderCancelDefinition = defineComponent<OrderCancelProps>({\n name: 'OrderCancel',\n importPath: '@vtex/faststore/components',\n component: OrderCancel,\n fragment,\n skeleton: OrderCancelSkeleton,\n actions: { order: ['cancel'] },\n content: OrderCancelContent,\n editor: { label: 'Order Cancel', category: 'action' },\n schema: {},\n guideline:\n 'Cancels one eligible order after the shopper confirms in an alert dialog. Place it on the order page. It hides when the order cannot be cancelled or a cancellation is already requested. Reasons and the dialog copy are content; a blank field uses the message catalog. Other is always offered. See order-cancel.md.',\n});\n\nexport function OrderCancelSkeleton({ className }: Readonly<{ className?: string }>) {\n return <div className={className} data-fs-order-cancel-skeleton=\"\" aria-hidden=\"true\" />;\n}\n\nfunction text(value: string | undefined, fallback: string): string {\n const trimmed = value?.trim();\n return trimmed || fallback;\n}\n\nfunction copyOf(content: OrderCancelContentValue | undefined, intl: ReturnType<typeof useIntl>): OrderCancelCopy {\n const authored = content?.reasons?.flatMap((item) => {\n const label = item.label.trim();\n return label ? [label] : [];\n });\n return {\n trigger: text(content?.trigger, intl.formatMessage({ id: 'fs/order-cancel.trigger' })),\n title: text(content?.title, intl.formatMessage({ id: 'fs/order-cancel.title' })),\n description: text(content?.description, intl.formatMessage({ id: 'fs/order-cancel.description' })),\n confirm: text(content?.confirm, intl.formatMessage({ id: 'fs/order-cancel.confirm' })),\n dismiss: text(content?.dismiss, intl.formatMessage({ id: 'fs/order-cancel.dismiss' })),\n other: text(content?.other, intl.formatMessage({ id: 'fs/order-cancel.other' })),\n otherField: text(content?.otherField, intl.formatMessage({ id: 'fs/order-cancel.other-field' })),\n success: text(content?.success, intl.formatMessage({ id: 'fs/order-cancel.success' })),\n failure: text(content?.failure, intl.formatMessage({ id: 'fs/order-cancel.failure' })),\n dismissMessage: text(content?.dismissMessage, intl.formatMessage({ id: 'fs/order-cancel.dismiss-message' })),\n reasons: content?.reasons == null ? REASON_IDS.map((id) => intl.formatMessage({ id })) : (authored ?? []),\n };\n}\n\nfunction chosenReason(selected: string | null, reasons: readonly string[], otherText: string): string | undefined {\n if (selected == null) return undefined;\n if (selected === OTHER) {\n const trimmed = otherText.trim();\n return trimmed || undefined;\n }\n const label = reasons[Number(selected)]?.trim();\n return label || undefined;\n}\n\nexport function OrderCancel({ $data, $actions: $actionsProp, $content, className, ref }: OrderCancelProps) {\n const $actions = useActionsOverride($actionsProp);\n const intl = useIntl();\n const { refresh } = useStorefrontNavigation();\n const copy = copyOf($content, intl);\n const [open, setOpen] = useState(false);\n const [selected, setSelected] = useState<string | null>(null);\n const [otherText, setOtherText] = useState('');\n const [pending, setPending] = useState(false);\n const [succeeded, setSucceeded] = useState(false);\n const [outcome, setOutcome] = useState<'idle' | 'success' | 'failure'>('idle');\n const [failureMessage, setFailureMessage] = useState(copy.failure);\n const pendingRef = useRef(false);\n const requestRef = useRef(0);\n const messageRef = useRef<HTMLButtonElement>(null);\n const portalRoot = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (outcome === 'success' || outcome === 'failure') {\n messageRef.current?.focus();\n }\n }, [outcome]);\n\n const ineligible = !$data?.allowCancellation || ($data != null && HIDDEN_STATUSES.has($data.status));\n\n function onOpenChange(next: boolean) {\n if (!next && pendingRef.current) return;\n setOpen(next);\n if (!next) {\n requestRef.current += 1;\n setSelected(null);\n setOtherText('');\n setOutcome((current) => (current === 'failure' ? 'idle' : current));\n }\n }\n\n async function confirm() {\n if (pendingRef.current || !$data) return;\n const cancel = $actions?.order?.cancel;\n if (!cancel) {\n setFailureMessage(copy.failure);\n setOutcome('failure');\n return;\n }\n\n const request = requestRef.current + 1;\n requestRef.current = request;\n pendingRef.current = true;\n setPending(true);\n try {\n const reason = chosenReason(selected, copy.reasons, otherText);\n const result = await cancel(reason == null ? { id: $data.id } : { id: $data.id, reason });\n if (request !== requestRef.current) return;\n if (result.userErrors.length === 0) {\n setSucceeded(true);\n setOutcome('success');\n setOpen(false);\n refresh();\n return;\n }\n\n setFailureMessage(result.userErrors[0]?.message ?? copy.failure);\n setOutcome('failure');\n } finally {\n pendingRef.current = false;\n setPending(false);\n }\n }\n\n function dismissMessage() {\n setOutcome('idle');\n }\n\n function setRoot(node: HTMLDivElement | null) {\n portalRoot.current = node;\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n if (ref) {\n ref.current = node;\n }\n }\n\n if (ineligible || (succeeded && outcome !== 'success')) return null;\n\n if (succeeded) {\n return (\n <div ref={ref} className={className} data-fs-order-cancel=\"\" data-fs-order-cancel-outcome=\"success\">\n <Acknowledgement\n ref={messageRef}\n message={copy.success}\n dismissLabel={copy.dismissMessage}\n onDismiss={dismissMessage}\n />\n </div>\n );\n }\n\n return (\n <div ref={setRoot} className={className} data-fs-order-cancel=\"\" data-fs-order-cancel-outcome={outcome}>\n <AlertDialogRoot open={open} onOpenChange={onOpenChange}>\n <AlertDialogTrigger data-fs-order-cancel-action=\"\">{copy.trigger}</AlertDialogTrigger>\n <AlertDialogPortal container={portalRoot}>\n <AlertDialogBackdrop />\n <AlertDialogViewport>\n <AlertDialogPopup>\n <AlertDialogTitle>{copy.title}</AlertDialogTitle>\n <AlertDialogDescription>{copy.description}</AlertDialogDescription>\n <Radio.Group\n value={selected ?? ''}\n onValueChange={setSelected}\n data-fs-order-cancel-reasons=\"\"\n disabled={pending}\n >\n {copy.reasons.map((label, index) => (\n <Radio.Root key={label} value={String(index)}>\n <Radio.Indicator keepMounted>\n <span data-fs-order-cancel-mark=\"\" />\n </Radio.Indicator>\n {label}\n </Radio.Root>\n ))}\n <Radio.Root value={OTHER}>\n <Radio.Indicator keepMounted>\n <span data-fs-order-cancel-mark=\"\" />\n </Radio.Indicator>\n {copy.other}\n </Radio.Root>\n </Radio.Group>\n {selected === OTHER ? (\n <label htmlFor=\"order-cancel-other\" data-fs-order-cancel-other=\"\">\n <span>{copy.otherField}</span>\n <Input\n id=\"order-cancel-other\"\n value={otherText}\n disabled={pending}\n maxLength={REASON_MAX_LENGTH}\n onChange={(event) => {\n setOtherText(event.target.value.slice(0, REASON_MAX_LENGTH));\n }}\n />\n </label>\n ) : null}\n {outcome === 'failure' ? (\n <Acknowledgement\n ref={messageRef}\n message={failureMessage}\n dismissLabel={copy.dismissMessage}\n onDismiss={dismissMessage}\n />\n ) : null}\n <div data-fs-order-cancel-actions=\"\">\n <Button type=\"button\" data-fs-order-cancel-confirm=\"\" disabled={pending} onClick={() => void confirm()}>\n {copy.confirm}\n </Button>\n <AlertDialogClose data-fs-order-cancel-dismiss=\"\" disabled={pending}>\n {copy.dismiss}\n </AlertDialogClose>\n </div>\n </AlertDialogPopup>\n </AlertDialogViewport>\n </AlertDialogPortal>\n </AlertDialogRoot>\n </div>\n );\n}\n\nfunction Acknowledgement({\n ref,\n message,\n dismissLabel,\n onDismiss,\n}: Readonly<{\n ref: Ref<HTMLButtonElement>;\n message: string;\n dismissLabel: string;\n onDismiss: () => void;\n}>) {\n return (\n <output data-fs-order-cancel-message=\"\">\n {message}\n <Button ref={ref} type=\"button\" aria-label={dismissLabel} onClick={onDismiss}>\n {dismissLabel}\n </Button>\n </output>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,73 @@
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-delivery-address/order-delivery-address.d.ts
6
+ export declare const OrderDeliveryAddressContent: {
7
+ readonly id: "order-delivery-address";
8
+ readonly title: "Order Delivery Address";
9
+ readonly description: "The labels above a delivery address and above a pickup store address.";
10
+ readonly schema: {
11
+ readonly type: "object";
12
+ readonly additionalProperties: false;
13
+ readonly properties: {
14
+ readonly deliveryLabel: {
15
+ readonly type: "string";
16
+ readonly title: "Delivery address label";
17
+ };
18
+ readonly storeLabel: {
19
+ readonly type: "string";
20
+ readonly title: "Store address label";
21
+ };
22
+ };
23
+ };
24
+ };
25
+ export type OrderDeliveryAddressContentValue = ContentValue<typeof OrderDeliveryAddressContent>;
26
+ /** The historical address OMS recorded on one delivery option. */
27
+ export type OrderDeliveryAddressRecord = {
28
+ receiverName: string | null;
29
+ street: string | null;
30
+ number: string | null;
31
+ complement: string | null;
32
+ neighborhood: string | null;
33
+ reference: string | null;
34
+ city: string | null;
35
+ state: string | null;
36
+ postalCode: string | null;
37
+ country: string | null;
38
+ };
39
+ export type OrderDeliveryAddressOptionData = {
40
+ addressId: string | null;
41
+ deliveryChannel: string | null;
42
+ address: OrderDeliveryAddressRecord | null;
43
+ };
44
+ /** Unwrapped `CustomerOrder` slice. Null when the id does not resolve to the shopper's order. */
45
+ export type OrderDeliveryAddressData = {
46
+ deliveryOptions: OrderDeliveryAddressOptionData[];
47
+ } | null;
48
+ export type OrderDeliveryAddressProps = Readonly<{
49
+ /** Label above a delivery address. Content wins, then this prop, then the catalogue. */
50
+ deliveryLabel?: string;
51
+ /** Label above a pickup store address. Content wins, then this prop, then the catalogue. */
52
+ storeLabel?: string;
53
+ /** Injected by the compiler from the page content entry. */
54
+ $content?: OrderDeliveryAddressContentValue;
55
+ $data?: OrderDeliveryAddressData;
56
+ className?: string;
57
+ ref?: Ref<HTMLElement>;
58
+ }>;
59
+ export declare const OrderDeliveryAddressDefinition: ComponentDefinition<Readonly<{
60
+ /** Label above a delivery address. Content wins, then this prop, then the catalogue. */
61
+ deliveryLabel?: string;
62
+ /** Label above a pickup store address. Content wins, then this prop, then the catalogue. */
63
+ storeLabel?: string;
64
+ /** Injected by the compiler from the page content entry. */
65
+ $content?: OrderDeliveryAddressContentValue;
66
+ $data?: OrderDeliveryAddressData;
67
+ className?: string;
68
+ ref?: Ref<HTMLElement>;
69
+ }>>;
70
+ export declare function OrderDeliveryAddressSkeleton({ className, ...props }: ComponentPropsWithRef<'div'>): import("react/jsx-runtime").JSX.Element;
71
+ export declare function OrderDeliveryAddress({ deliveryLabel, storeLabel, $content, $data, className, ref }: OrderDeliveryAddressProps): import("react/jsx-runtime").JSX.Element | null;
72
+ //#endregion
73
+ //# sourceMappingURL=order-delivery-address.d.ts.map