@vtex/faststore 0.0.1

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 (538) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/LICENSE +21 -0
  3. package/README.md +95 -0
  4. package/dist/actions.json +334 -0
  5. package/dist/catalog.json +6615 -0
  6. package/dist/client.d.ts +17 -0
  7. package/dist/client.js +8 -0
  8. package/dist/components.d.ts +87 -0
  9. package/dist/components.js +87 -0
  10. package/dist/content-types.json +684 -0
  11. package/dist/core/dist/actions/mock-action.d.ts +24 -0
  12. package/dist/core/dist/actions/mock-action.js +28 -0
  13. package/dist/core/dist/actions/mock-action.js.map +1 -0
  14. package/dist/core/dist/actions/registry.d.ts +24 -0
  15. package/dist/core/dist/actions/registry.js +28 -0
  16. package/dist/core/dist/actions/registry.js.map +1 -0
  17. package/dist/core/dist/define-component.d.ts +100 -0
  18. package/dist/core/dist/define-component.js +8 -0
  19. package/dist/core/dist/define-component.js.map +1 -0
  20. package/dist/core/dist/define-content-type.d.ts +95 -0
  21. package/dist/core/dist/define-content-type.js +283 -0
  22. package/dist/core/dist/define-content-type.js.map +1 -0
  23. package/dist/core/dist/index.d.ts +7 -0
  24. package/dist/core/dist/index.js +5 -0
  25. package/dist/core/dist/schema/generated/schema.d.ts +28 -0
  26. package/dist/core/dist/types.d.ts +1 -0
  27. package/dist/docs/access-code-field.md +100 -0
  28. package/dist/docs/access-code-sign-in.md +174 -0
  29. package/dist/docs/account-entry-point.md +155 -0
  30. package/dist/docs/address-summary.md +50 -0
  31. package/dist/docs/buy-button.md +162 -0
  32. package/dist/docs/carousel.md +105 -0
  33. package/dist/docs/cart-item.md +162 -0
  34. package/dist/docs/cart-totalizer.md +197 -0
  35. package/dist/docs/cart.md +495 -0
  36. package/dist/docs/client-preferences.md +184 -0
  37. package/dist/docs/client-profile-form.md +192 -0
  38. package/dist/docs/client-profile.md +117 -0
  39. package/dist/docs/container.md +97 -0
  40. package/dist/docs/document-field.md +97 -0
  41. package/dist/docs/email-field.md +93 -0
  42. package/dist/docs/email-identification.md +102 -0
  43. package/dist/docs/footer-copyright.md +112 -0
  44. package/dist/docs/footer-link-group.md +162 -0
  45. package/dist/docs/footer-root.md +145 -0
  46. package/dist/docs/footer-social.md +151 -0
  47. package/dist/docs/free-shipping-progress.md +87 -0
  48. package/dist/docs/gallery.md +84 -0
  49. package/dist/docs/header-root.md +150 -0
  50. package/dist/docs/identity-edit.md +88 -0
  51. package/dist/docs/identity-summary.md +106 -0
  52. package/dist/docs/incentives.md +151 -0
  53. package/dist/docs/logo.md +135 -0
  54. package/dist/docs/meter.md +67 -0
  55. package/dist/docs/navigation-link-list.md +171 -0
  56. package/dist/docs/navigation-link.md +163 -0
  57. package/dist/docs/navigation-menu.md +264 -0
  58. package/dist/docs/payment-methods.md +139 -0
  59. package/dist/docs/phone-field.md +106 -0
  60. package/dist/docs/postal-code-field.md +126 -0
  61. package/dist/docs/pricing.md +499 -0
  62. package/dist/docs/product-gallery.md +409 -0
  63. package/dist/docs/product-information.md +295 -0
  64. package/dist/docs/product-list.md +170 -0
  65. package/dist/docs/product-quantity.md +88 -0
  66. package/dist/docs/product-shelf.md +141 -0
  67. package/dist/docs/promotion.md +109 -0
  68. package/dist/docs/region.md +225 -0
  69. package/dist/docs/session.md +123 -0
  70. package/dist/docs/shipping-address.md +390 -0
  71. package/dist/docs/shipping-simulator.md +147 -0
  72. package/dist/docs/sign-in-form.md +117 -0
  73. package/dist/docs/tabs.md +176 -0
  74. package/dist/docs/toast.md +124 -0
  75. package/dist/docs/variant-selector.md +450 -0
  76. package/dist/graphql/define-subgraph.d.ts +12 -0
  77. package/dist/graphql/define-subgraph.js +15 -0
  78. package/dist/graphql/define-subgraph.js.map +1 -0
  79. package/dist/graphql/gql.d.ts +10 -0
  80. package/dist/graphql/gql.js +16 -0
  81. package/dist/graphql/gql.js.map +1 -0
  82. package/dist/graphql/types.d.ts +88 -0
  83. package/dist/graphql.d.ts +4 -0
  84. package/dist/graphql.js +3 -0
  85. package/dist/index.d.ts +19 -0
  86. package/dist/index.js +5 -0
  87. package/dist/internal/client.d.ts +24 -0
  88. package/dist/internal/client.js +23 -0
  89. package/dist/internal/content.d.ts +2 -0
  90. package/dist/internal/content.js +2 -0
  91. package/dist/internal/server.d.ts +7 -0
  92. package/dist/internal/server.js +6 -0
  93. package/dist/matter/access-code-sign-in/access-code-sign-in.d.ts +111 -0
  94. package/dist/matter/access-code-sign-in/access-code-sign-in.js +387 -0
  95. package/dist/matter/access-code-sign-in/access-code-sign-in.js.map +1 -0
  96. package/dist/matter/account-entry-point/account-entry-point.d.ts +64 -0
  97. package/dist/matter/account-entry-point/account-entry-point.js +151 -0
  98. package/dist/matter/account-entry-point/account-entry-point.js.map +1 -0
  99. package/dist/matter/breadcrumb/breadcrumb.d.ts +40 -0
  100. package/dist/matter/breadcrumb/breadcrumb.js +155 -0
  101. package/dist/matter/breadcrumb/breadcrumb.js.map +1 -0
  102. package/dist/matter/buy-button/buy-button.d.ts +95 -0
  103. package/dist/matter/buy-button/buy-button.js +259 -0
  104. package/dist/matter/buy-button/buy-button.js.map +1 -0
  105. package/dist/matter/cart/cart-namespace.d.ts +48 -0
  106. package/dist/matter/cart/cart-namespace.js +50 -0
  107. package/dist/matter/cart/cart-namespace.js.map +1 -0
  108. package/dist/matter/cart/cart.d.ts +312 -0
  109. package/dist/matter/cart/cart.js +1034 -0
  110. package/dist/matter/cart/cart.js.map +1 -0
  111. package/dist/matter/cart-item/cart-item.d.ts +103 -0
  112. package/dist/matter/cart-item/cart-item.js +672 -0
  113. package/dist/matter/cart-item/cart-item.js.map +1 -0
  114. package/dist/matter/cart-item-compositions/cart-item-compositions.d.ts +49 -0
  115. package/dist/matter/cart-item-compositions/cart-item-compositions.js +165 -0
  116. package/dist/matter/cart-item-compositions/cart-item-compositions.js.map +1 -0
  117. package/dist/matter/cart-item-customizations/cart-item-customizations.d.ts +28 -0
  118. package/dist/matter/cart-item-customizations/cart-item-customizations.js +73 -0
  119. package/dist/matter/cart-item-customizations/cart-item-customizations.js.map +1 -0
  120. package/dist/matter/cart-item-discounts/cart-item-discounts.d.ts +33 -0
  121. package/dist/matter/cart-item-discounts/cart-item-discounts.js +70 -0
  122. package/dist/matter/cart-item-discounts/cart-item-discounts.js.map +1 -0
  123. package/dist/matter/cart-item-seller-info/cart-item-seller-info.d.ts +24 -0
  124. package/dist/matter/cart-item-seller-info/cart-item-seller-info.js +54 -0
  125. package/dist/matter/cart-item-seller-info/cart-item-seller-info.js.map +1 -0
  126. package/dist/matter/cart-item-variations/cart-item-variations.d.ts +27 -0
  127. package/dist/matter/cart-item-variations/cart-item-variations.js +69 -0
  128. package/dist/matter/cart-item-variations/cart-item-variations.js.map +1 -0
  129. package/dist/matter/cart-totalizer/cart-totalizer.d.ts +78 -0
  130. package/dist/matter/cart-totalizer/cart-totalizer.js +220 -0
  131. package/dist/matter/cart-totalizer/cart-totalizer.js.map +1 -0
  132. package/dist/matter/client-preferences/client-preferences.d.ts +50 -0
  133. package/dist/matter/client-preferences/client-preferences.js +206 -0
  134. package/dist/matter/client-preferences/client-preferences.js.map +1 -0
  135. package/dist/matter/client-profile/client-profile.d.ts +59 -0
  136. package/dist/matter/client-profile/client-profile.js +185 -0
  137. package/dist/matter/client-profile/client-profile.js.map +1 -0
  138. package/dist/matter/client-profile-form/client-profile-form.d.ts +126 -0
  139. package/dist/matter/client-profile-form/client-profile-form.js +660 -0
  140. package/dist/matter/client-profile-form/client-profile-form.js.map +1 -0
  141. package/dist/matter/delivery-options/delivery-options-accordion.d.ts +30 -0
  142. package/dist/matter/delivery-options/delivery-options-accordion.js +189 -0
  143. package/dist/matter/delivery-options/delivery-options-accordion.js.map +1 -0
  144. package/dist/matter/delivery-options/delivery-options-controller.d.ts +49 -0
  145. package/dist/matter/delivery-options/delivery-options-controller.js +203 -0
  146. package/dist/matter/delivery-options/delivery-options-controller.js.map +1 -0
  147. package/dist/matter/delivery-options/delivery-options.d.ts +31 -0
  148. package/dist/matter/delivery-options/delivery-options.js +103 -0
  149. package/dist/matter/delivery-options/delivery-options.js.map +1 -0
  150. package/dist/matter/delivery-options/use-delivery-option-selection.d.ts +9 -0
  151. package/dist/matter/delivery-options/use-delivery-option-selection.js +76 -0
  152. package/dist/matter/delivery-options/use-delivery-option-selection.js.map +1 -0
  153. package/dist/matter/email-identification/email-identification.d.ts +37 -0
  154. package/dist/matter/email-identification/email-identification.js +111 -0
  155. package/dist/matter/email-identification/email-identification.js.map +1 -0
  156. package/dist/matter/free-shipping-progress/free-shipping-progress.d.ts +44 -0
  157. package/dist/matter/free-shipping-progress/free-shipping-progress.js +170 -0
  158. package/dist/matter/free-shipping-progress/free-shipping-progress.js.map +1 -0
  159. package/dist/matter/identity-edit/identity-edit.d.ts +52 -0
  160. package/dist/matter/identity-edit/identity-edit.js +148 -0
  161. package/dist/matter/identity-edit/identity-edit.js.map +1 -0
  162. package/dist/matter/identity-summary/identity-summary.d.ts +128 -0
  163. package/dist/matter/identity-summary/identity-summary.js +344 -0
  164. package/dist/matter/identity-summary/identity-summary.js.map +1 -0
  165. package/dist/matter/pricing/pricing.d.ts +162 -0
  166. package/dist/matter/pricing/pricing.js +793 -0
  167. package/dist/matter/pricing/pricing.js.map +1 -0
  168. package/dist/matter/product-gallery/product-gallery.d.ts +23 -0
  169. package/dist/matter/product-gallery/product-gallery.js +188 -0
  170. package/dist/matter/product-gallery/product-gallery.js.map +1 -0
  171. package/dist/matter/product-information/product-information.d.ts +61 -0
  172. package/dist/matter/product-information/product-information.js +355 -0
  173. package/dist/matter/product-information/product-information.js.map +1 -0
  174. package/dist/matter/product-list/product-list.d.ts +86 -0
  175. package/dist/matter/product-list/product-list.js +342 -0
  176. package/dist/matter/product-list/product-list.js.map +1 -0
  177. package/dist/matter/product-quantity/product-quantity.d.ts +50 -0
  178. package/dist/matter/product-quantity/product-quantity.js +111 -0
  179. package/dist/matter/product-quantity/product-quantity.js.map +1 -0
  180. package/dist/matter/product-shelf/product-shelf.d.ts +125 -0
  181. package/dist/matter/product-shelf/product-shelf.js +376 -0
  182. package/dist/matter/product-shelf/product-shelf.js.map +1 -0
  183. package/dist/matter/region/region.d.ts +211 -0
  184. package/dist/matter/region/region.js +579 -0
  185. package/dist/matter/region/region.js.map +1 -0
  186. package/dist/matter/session/session.d.ts +58 -0
  187. package/dist/matter/session/session.js +112 -0
  188. package/dist/matter/session/session.js.map +1 -0
  189. package/dist/matter/shipping-address/country-descriptors.js +101 -0
  190. package/dist/matter/shipping-address/country-descriptors.js.map +1 -0
  191. package/dist/matter/shipping-address/shipping-address.d.ts +284 -0
  192. package/dist/matter/shipping-address/shipping-address.js +1036 -0
  193. package/dist/matter/shipping-address/shipping-address.js.map +1 -0
  194. package/dist/matter/shipping-simulator/shipping-simulator.d.ts +143 -0
  195. package/dist/matter/shipping-simulator/shipping-simulator.js +644 -0
  196. package/dist/matter/shipping-simulator/shipping-simulator.js.map +1 -0
  197. package/dist/matter/sign-in-form/sign-in-form.d.ts +79 -0
  198. package/dist/matter/sign-in-form/sign-in-form.js +226 -0
  199. package/dist/matter/sign-in-form/sign-in-form.js.map +1 -0
  200. package/dist/matter/variant-selector/variant-selector.d.ts +183 -0
  201. package/dist/matter/variant-selector/variant-selector.js +840 -0
  202. package/dist/matter/variant-selector/variant-selector.js.map +1 -0
  203. package/dist/message-locales.json +7 -0
  204. package/dist/particles/access-code-field/access-code-field.d.ts +33 -0
  205. package/dist/particles/access-code-field/access-code-field.js +95 -0
  206. package/dist/particles/access-code-field/access-code-field.js.map +1 -0
  207. package/dist/particles/accordion/accordion.d.ts +45 -0
  208. package/dist/particles/accordion/accordion.js +156 -0
  209. package/dist/particles/accordion/accordion.js.map +1 -0
  210. package/dist/particles/address-summary/address-summary.d.ts +50 -0
  211. package/dist/particles/address-summary/address-summary.js +129 -0
  212. package/dist/particles/address-summary/address-summary.js.map +1 -0
  213. package/dist/particles/badge/badge.d.ts +10 -0
  214. package/dist/particles/badge/badge.js +27 -0
  215. package/dist/particles/badge/badge.js.map +1 -0
  216. package/dist/particles/button/button.d.ts +18 -0
  217. package/dist/particles/button/button.js +37 -0
  218. package/dist/particles/button/button.js.map +1 -0
  219. package/dist/particles/carousel/carousel.d.ts +60 -0
  220. package/dist/particles/carousel/carousel.js +335 -0
  221. package/dist/particles/carousel/carousel.js.map +1 -0
  222. package/dist/particles/checkbox/checkbox.d.ts +40 -0
  223. package/dist/particles/checkbox/checkbox.js +82 -0
  224. package/dist/particles/checkbox/checkbox.js.map +1 -0
  225. package/dist/particles/container/container.d.ts +20 -0
  226. package/dist/particles/container/container.js +36 -0
  227. package/dist/particles/container/container.js.map +1 -0
  228. package/dist/particles/dialog/dialog.d.ts +54 -0
  229. package/dist/particles/dialog/dialog.js +192 -0
  230. package/dist/particles/dialog/dialog.js.map +1 -0
  231. package/dist/particles/document-field/document-field.d.ts +61 -0
  232. package/dist/particles/document-field/document-field.js +146 -0
  233. package/dist/particles/document-field/document-field.js.map +1 -0
  234. package/dist/particles/drawer/drawer.d.ts +52 -0
  235. package/dist/particles/drawer/drawer.js +183 -0
  236. package/dist/particles/drawer/drawer.js.map +1 -0
  237. package/dist/particles/email-field/email-field.d.ts +37 -0
  238. package/dist/particles/email-field/email-field.js +106 -0
  239. package/dist/particles/email-field/email-field.js.map +1 -0
  240. package/dist/particles/field/field.d.ts +50 -0
  241. package/dist/particles/field/field.js +133 -0
  242. package/dist/particles/field/field.js.map +1 -0
  243. package/dist/particles/fieldset/fieldset.d.ts +16 -0
  244. package/dist/particles/fieldset/fieldset.js +52 -0
  245. package/dist/particles/fieldset/fieldset.js.map +1 -0
  246. package/dist/particles/footer-copyright/footer-copyright.d.ts +32 -0
  247. package/dist/particles/footer-copyright/footer-copyright.js +50 -0
  248. package/dist/particles/footer-copyright/footer-copyright.js.map +1 -0
  249. package/dist/particles/footer-link-group/footer-link-group.d.ts +66 -0
  250. package/dist/particles/footer-link-group/footer-link-group.js +154 -0
  251. package/dist/particles/footer-link-group/footer-link-group.js.map +1 -0
  252. package/dist/particles/footer-root/footer-root.d.ts +21 -0
  253. package/dist/particles/footer-root/footer-root.js +38 -0
  254. package/dist/particles/footer-root/footer-root.js.map +1 -0
  255. package/dist/particles/footer-social/footer-social.d.ts +79 -0
  256. package/dist/particles/footer-social/footer-social.js +176 -0
  257. package/dist/particles/footer-social/footer-social.js.map +1 -0
  258. package/dist/particles/gallery/gallery.d.ts +181 -0
  259. package/dist/particles/gallery/gallery.js +920 -0
  260. package/dist/particles/gallery/gallery.js.map +1 -0
  261. package/dist/particles/header-root/header-root.d.ts +21 -0
  262. package/dist/particles/header-root/header-root.js +38 -0
  263. package/dist/particles/header-root/header-root.js.map +1 -0
  264. package/dist/particles/icon/icon.d.ts +22 -0
  265. package/dist/particles/icon/icon.js +48 -0
  266. package/dist/particles/icon/icon.js.map +1 -0
  267. package/dist/particles/image/image.d.ts +13 -0
  268. package/dist/particles/image/image.js +59 -0
  269. package/dist/particles/image/image.js.map +1 -0
  270. package/dist/particles/incentives/incentives.d.ts +85 -0
  271. package/dist/particles/incentives/incentives.js +200 -0
  272. package/dist/particles/incentives/incentives.js.map +1 -0
  273. package/dist/particles/input/input.d.ts +9 -0
  274. package/dist/particles/input/input.js +28 -0
  275. package/dist/particles/input/input.js.map +1 -0
  276. package/dist/particles/logo/logo.d.ts +55 -0
  277. package/dist/particles/logo/logo.js +96 -0
  278. package/dist/particles/logo/logo.js.map +1 -0
  279. package/dist/particles/menu/menu.d.ts +103 -0
  280. package/dist/particles/menu/menu.js +409 -0
  281. package/dist/particles/menu/menu.js.map +1 -0
  282. package/dist/particles/menubar/menubar.d.ts +18 -0
  283. package/dist/particles/menubar/menubar.js +42 -0
  284. package/dist/particles/menubar/menubar.js.map +1 -0
  285. package/dist/particles/meter/meter.d.ts +36 -0
  286. package/dist/particles/meter/meter.js +132 -0
  287. package/dist/particles/meter/meter.js.map +1 -0
  288. package/dist/particles/navigation-link/navigation-link.d.ts +43 -0
  289. package/dist/particles/navigation-link/navigation-link.js +82 -0
  290. package/dist/particles/navigation-link/navigation-link.js.map +1 -0
  291. package/dist/particles/navigation-link-list/navigation-link-list.d.ts +59 -0
  292. package/dist/particles/navigation-link-list/navigation-link-list.js +103 -0
  293. package/dist/particles/navigation-link-list/navigation-link-list.js.map +1 -0
  294. package/dist/particles/navigation-menu/navigation-menu.d.ts +78 -0
  295. package/dist/particles/navigation-menu/navigation-menu.js +295 -0
  296. package/dist/particles/navigation-menu/navigation-menu.js.map +1 -0
  297. package/dist/particles/number-field/number-field.d.ts +46 -0
  298. package/dist/particles/number-field/number-field.js +169 -0
  299. package/dist/particles/number-field/number-field.js.map +1 -0
  300. package/dist/particles/password-field/password-field.d.ts +31 -0
  301. package/dist/particles/password-field/password-field.js +109 -0
  302. package/dist/particles/password-field/password-field.js.map +1 -0
  303. package/dist/particles/payment-methods/payment-methods.d.ts +72 -0
  304. package/dist/particles/payment-methods/payment-methods.js +151 -0
  305. package/dist/particles/payment-methods/payment-methods.js.map +1 -0
  306. package/dist/particles/phone-field/phone-field.d.ts +67 -0
  307. package/dist/particles/phone-field/phone-field.js +250 -0
  308. package/dist/particles/phone-field/phone-field.js.map +1 -0
  309. package/dist/particles/popover/popover.d.ts +68 -0
  310. package/dist/particles/popover/popover.js +284 -0
  311. package/dist/particles/popover/popover.js.map +1 -0
  312. package/dist/particles/postal-code-field/postal-code-field.d.ts +75 -0
  313. package/dist/particles/postal-code-field/postal-code-field.js +169 -0
  314. package/dist/particles/postal-code-field/postal-code-field.js.map +1 -0
  315. package/dist/particles/promotion/promotion.d.ts +46 -0
  316. package/dist/particles/promotion/promotion.js +78 -0
  317. package/dist/particles/promotion/promotion.js.map +1 -0
  318. package/dist/particles/quantity-selector/quantity-selector.d.ts +30 -0
  319. package/dist/particles/quantity-selector/quantity-selector.js +116 -0
  320. package/dist/particles/quantity-selector/quantity-selector.js.map +1 -0
  321. package/dist/particles/radio/radio.d.ts +36 -0
  322. package/dist/particles/radio/radio.js +76 -0
  323. package/dist/particles/radio/radio.js.map +1 -0
  324. package/dist/particles/scroll-area/scroll-area.d.ts +36 -0
  325. package/dist/particles/scroll-area/scroll-area.js +145 -0
  326. package/dist/particles/scroll-area/scroll-area.js.map +1 -0
  327. package/dist/particles/select/select.d.ts +125 -0
  328. package/dist/particles/select/select.js +478 -0
  329. package/dist/particles/select/select.js.map +1 -0
  330. package/dist/particles/separator/separator.d.ts +12 -0
  331. package/dist/particles/separator/separator.js +33 -0
  332. package/dist/particles/separator/separator.js.map +1 -0
  333. package/dist/particles/shared/input-mask.d.ts +5 -0
  334. package/dist/particles/shared/input-mask.js +58 -0
  335. package/dist/particles/shared/input-mask.js.map +1 -0
  336. package/dist/particles/spinner/spinner.d.ts +13 -0
  337. package/dist/particles/spinner/spinner.js +31 -0
  338. package/dist/particles/spinner/spinner.js.map +1 -0
  339. package/dist/particles/switch/switch.d.ts +27 -0
  340. package/dist/particles/switch/switch.js +59 -0
  341. package/dist/particles/switch/switch.js.map +1 -0
  342. package/dist/particles/tabs/tabs.d.ts +45 -0
  343. package/dist/particles/tabs/tabs.js +164 -0
  344. package/dist/particles/tabs/tabs.js.map +1 -0
  345. package/dist/particles/text/text.d.ts +24 -0
  346. package/dist/particles/text/text.js +40 -0
  347. package/dist/particles/text/text.js.map +1 -0
  348. package/dist/particles/toast/toast.d.ts +83 -0
  349. package/dist/particles/toast/toast.js +194 -0
  350. package/dist/particles/toast/toast.js.map +1 -0
  351. package/dist/particles/toggle/toggle.d.ts +26 -0
  352. package/dist/particles/toggle/toggle.js +61 -0
  353. package/dist/particles/toggle/toggle.js.map +1 -0
  354. package/dist/particles/tooltip/tooltip.d.ts +61 -0
  355. package/dist/particles/tooltip/tooltip.js +240 -0
  356. package/dist/particles/tooltip/tooltip.js.map +1 -0
  357. package/dist/schema.graphql +2953 -0
  358. package/dist/sdk/actions/cart-action-provider.d.ts +19 -0
  359. package/dist/sdk/actions/cart-action-provider.js +23 -0
  360. package/dist/sdk/actions/cart-action-provider.js.map +1 -0
  361. package/dist/sdk/actions/identity-action-provider.d.ts +15 -0
  362. package/dist/sdk/actions/identity-action-provider.js +19 -0
  363. package/dist/sdk/actions/identity-action-provider.js.map +1 -0
  364. package/dist/sdk/actions/index.d.ts +7 -0
  365. package/dist/sdk/actions/index.js +6 -0
  366. package/dist/sdk/actions/inject-actions.d.ts +14 -0
  367. package/dist/sdk/actions/inject-actions.js +36 -0
  368. package/dist/sdk/actions/inject-actions.js.map +1 -0
  369. package/dist/sdk/actions/region-action-provider.d.ts +15 -0
  370. package/dist/sdk/actions/region-action-provider.js +19 -0
  371. package/dist/sdk/actions/region-action-provider.js.map +1 -0
  372. package/dist/sdk/actions/session-action-provider.d.ts +15 -0
  373. package/dist/sdk/actions/session-action-provider.js +19 -0
  374. package/dist/sdk/actions/session-action-provider.js.map +1 -0
  375. package/dist/sdk/actions/shipping-action-provider.d.ts +15 -0
  376. package/dist/sdk/actions/shipping-action-provider.js +19 -0
  377. package/dist/sdk/actions/shipping-action-provider.js.map +1 -0
  378. package/dist/sdk/actions/types.d.ts +21 -0
  379. package/dist/sdk/cache/storefront-cache.js +35 -0
  380. package/dist/sdk/cache/storefront-cache.js.map +1 -0
  381. package/dist/sdk/cart/operations.d.ts +31 -0
  382. package/dist/sdk/cart/operations.js +215 -0
  383. package/dist/sdk/cart/operations.js.map +1 -0
  384. package/dist/sdk/cart/optimistic.d.ts +24 -0
  385. package/dist/sdk/cart/optimistic.js +164 -0
  386. package/dist/sdk/cart/optimistic.js.map +1 -0
  387. package/dist/sdk/cart/use-cart-actions.d.ts +56 -0
  388. package/dist/sdk/cart/use-cart-actions.js +348 -0
  389. package/dist/sdk/cart/use-cart-actions.js.map +1 -0
  390. package/dist/sdk/cart/use-cart-validate-on-open.js +50 -0
  391. package/dist/sdk/cart/use-cart-validate-on-open.js.map +1 -0
  392. package/dist/sdk/cart/write-gate.js +54 -0
  393. package/dist/sdk/cart/write-gate.js.map +1 -0
  394. package/dist/sdk/client/assert-api-url.js +20 -0
  395. package/dist/sdk/client/assert-api-url.js.map +1 -0
  396. package/dist/sdk/client/create-client.d.ts +23 -0
  397. package/dist/sdk/client/create-client.js +46 -0
  398. package/dist/sdk/client/create-client.js.map +1 -0
  399. package/dist/sdk/client/fetch-page-data.d.ts +39 -0
  400. package/dist/sdk/client/fetch-page-data.js +33 -0
  401. package/dist/sdk/client/fetch-page-data.js.map +1 -0
  402. package/dist/sdk/client/register-preload-query.d.ts +24 -0
  403. package/dist/sdk/client/register-preload-query.js +33 -0
  404. package/dist/sdk/client/register-preload-query.js.map +1 -0
  405. package/dist/sdk/content/create-content-runtime.d.ts +68 -0
  406. package/dist/sdk/content/create-content-runtime.js +503 -0
  407. package/dist/sdk/content/create-content-runtime.js.map +1 -0
  408. package/dist/sdk/context/headers.d.ts +15 -0
  409. package/dist/sdk/context/headers.js +21 -0
  410. package/dist/sdk/context/headers.js.map +1 -0
  411. package/dist/sdk/context/storefront-context.d.ts +11 -0
  412. package/dist/sdk/context/storefront-context.js +29 -0
  413. package/dist/sdk/context/storefront-context.js.map +1 -0
  414. package/dist/sdk/data/data-override-context.d.ts +12 -0
  415. package/dist/sdk/data/data-override-context.js +19 -0
  416. package/dist/sdk/data/data-override-context.js.map +1 -0
  417. package/dist/sdk/data/entity-subscriber.js +28 -0
  418. package/dist/sdk/data/entity-subscriber.js.map +1 -0
  419. package/dist/sdk/data/hot-data-provider.d.ts +19 -0
  420. package/dist/sdk/data/hot-data-provider.js +33 -0
  421. package/dist/sdk/data/hot-data-provider.js.map +1 -0
  422. package/dist/sdk/data/index.d.ts +8 -0
  423. package/dist/sdk/data/index.js +8 -0
  424. package/dist/sdk/data/list-item-ref-context.d.ts +20 -0
  425. package/dist/sdk/data/list-item-ref-context.js +11 -0
  426. package/dist/sdk/data/list-item-ref-context.js.map +1 -0
  427. package/dist/sdk/data/multiple-reactive-data-provider.d.ts +32 -0
  428. package/dist/sdk/data/multiple-reactive-data-provider.js +20 -0
  429. package/dist/sdk/data/multiple-reactive-data-provider.js.map +1 -0
  430. package/dist/sdk/data/page-reactive-data-root.d.ts +53 -0
  431. package/dist/sdk/data/page-reactive-data-root.js +153 -0
  432. package/dist/sdk/data/page-reactive-data-root.js.map +1 -0
  433. package/dist/sdk/data/reactive-data-provider.d.ts +25 -0
  434. package/dist/sdk/data/reactive-data-provider.js +24 -0
  435. package/dist/sdk/data/reactive-data-provider.js.map +1 -0
  436. package/dist/sdk/data/reactive-list-item-data-provider.d.ts +26 -0
  437. package/dist/sdk/data/reactive-list-item-data-provider.js +42 -0
  438. package/dist/sdk/data/reactive-list-item-data-provider.js.map +1 -0
  439. package/dist/sdk/data/use-reactive-entity.js +40 -0
  440. package/dist/sdk/data/use-reactive-entity.js.map +1 -0
  441. package/dist/sdk/format/client.d.ts +12 -0
  442. package/dist/sdk/format/client.js +20 -0
  443. package/dist/sdk/format/client.js.map +1 -0
  444. package/dist/sdk/format/formatters.d.ts +32 -0
  445. package/dist/sdk/format/formatters.js +45 -0
  446. package/dist/sdk/format/formatters.js.map +1 -0
  447. package/dist/sdk/generated/fragment-types.js +23 -0
  448. package/dist/sdk/generated/fragment-types.js.map +1 -0
  449. package/dist/sdk/generated/gql.js +51 -0
  450. package/dist/sdk/generated/gql.js.map +1 -0
  451. package/dist/sdk/generated/graphql.d.ts +622 -0
  452. package/dist/sdk/generated/graphql.js +11917 -0
  453. package/dist/sdk/generated/graphql.js.map +1 -0
  454. package/dist/sdk/graphql-tag.d.ts +10 -0
  455. package/dist/sdk/graphql-tag.js +21 -0
  456. package/dist/sdk/graphql-tag.js.map +1 -0
  457. package/dist/sdk/i18n/client.d.ts +4 -0
  458. package/dist/sdk/i18n/client.js +4 -0
  459. package/dist/sdk/i18n/locales.d.ts +8 -0
  460. package/dist/sdk/i18n/locales.js +57 -0
  461. package/dist/sdk/i18n/locales.js.map +1 -0
  462. package/dist/sdk/i18n/messages/en-US.js +24 -0
  463. package/dist/sdk/i18n/messages/en-US.js.map +1 -0
  464. package/dist/sdk/i18n/messages/en-US.json +19 -0
  465. package/dist/sdk/i18n/messages/en-US.json.d.ts +23 -0
  466. package/dist/sdk/i18n/messages/es-ES.js +24 -0
  467. package/dist/sdk/i18n/messages/es-ES.js.map +1 -0
  468. package/dist/sdk/i18n/messages/es-ES.json +19 -0
  469. package/dist/sdk/i18n/messages/pt-BR.js +24 -0
  470. package/dist/sdk/i18n/messages/pt-BR.js.map +1 -0
  471. package/dist/sdk/i18n/messages/pt-BR.json +19 -0
  472. package/dist/sdk/i18n/provider.d.ts +1 -0
  473. package/dist/sdk/i18n/provider.js +30 -0
  474. package/dist/sdk/i18n/provider.js.map +1 -0
  475. package/dist/sdk/i18n/server.d.ts +28 -0
  476. package/dist/sdk/i18n/server.js +59 -0
  477. package/dist/sdk/i18n/server.js.map +1 -0
  478. package/dist/sdk/identity/operations.d.ts +34 -0
  479. package/dist/sdk/identity/operations.js +78 -0
  480. package/dist/sdk/identity/operations.js.map +1 -0
  481. package/dist/sdk/identity/use-identity-actions.d.ts +62 -0
  482. package/dist/sdk/identity/use-identity-actions.js +180 -0
  483. package/dist/sdk/identity/use-identity-actions.js.map +1 -0
  484. package/dist/sdk/provider/index.d.ts +2 -0
  485. package/dist/sdk/provider/index.js +2 -0
  486. package/dist/sdk/provider/storefront-provider.d.ts +32 -0
  487. package/dist/sdk/provider/storefront-provider.js +111 -0
  488. package/dist/sdk/provider/storefront-provider.js.map +1 -0
  489. package/dist/sdk/region/operations.d.ts +6 -0
  490. package/dist/sdk/region/region-operations.d.ts +30 -0
  491. package/dist/sdk/region/region-operations.js +23 -0
  492. package/dist/sdk/region/region-operations.js.map +1 -0
  493. package/dist/sdk/region/use-region-actions.d.ts +23 -0
  494. package/dist/sdk/region/use-region-actions.js +66 -0
  495. package/dist/sdk/region/use-region-actions.js.map +1 -0
  496. package/dist/sdk/seller.js +11 -0
  497. package/dist/sdk/seller.js.map +1 -0
  498. package/dist/sdk/session/auth-operations.d.ts +47 -0
  499. package/dist/sdk/session/auth-operations.js +79 -0
  500. package/dist/sdk/session/auth-operations.js.map +1 -0
  501. package/dist/sdk/session/operations.d.ts +6 -0
  502. package/dist/sdk/session/use-session-actions.d.ts +27 -0
  503. package/dist/sdk/session/use-session-actions.js +126 -0
  504. package/dist/sdk/session/use-session-actions.js.map +1 -0
  505. package/dist/sdk/shipping/cart-operations.d.ts +3 -0
  506. package/dist/sdk/shipping/cart-operations.js +33 -0
  507. package/dist/sdk/shipping/cart-operations.js.map +1 -0
  508. package/dist/sdk/shipping/operations.d.ts +3 -0
  509. package/dist/sdk/shipping/operations.js +33 -0
  510. package/dist/sdk/shipping/operations.js.map +1 -0
  511. package/dist/sdk/shipping/option-select-operations.d.ts +24 -0
  512. package/dist/sdk/shipping/option-select-operations.js +45 -0
  513. package/dist/sdk/shipping/option-select-operations.js.map +1 -0
  514. package/dist/sdk/shipping/request-timeout.js +41 -0
  515. package/dist/sdk/shipping/request-timeout.js.map +1 -0
  516. package/dist/sdk/shipping/shipping-operations.d.ts +38 -0
  517. package/dist/sdk/shipping/shipping-operations.js +77 -0
  518. package/dist/sdk/shipping/shipping-operations.js.map +1 -0
  519. package/dist/sdk/shipping/use-cart-shipping-simulation.d.ts +7 -0
  520. package/dist/sdk/shipping/use-cart-shipping-simulation.js +72 -0
  521. package/dist/sdk/shipping/use-cart-shipping-simulation.js.map +1 -0
  522. package/dist/sdk/shipping/use-shipping-actions.d.ts +27 -0
  523. package/dist/sdk/shipping/use-shipping-actions.js +113 -0
  524. package/dist/sdk/shipping/use-shipping-actions.js.map +1 -0
  525. package/dist/sdk/shipping/use-shipping-simulation.d.ts +7 -0
  526. package/dist/sdk/shipping/use-shipping-simulation.js +72 -0
  527. package/dist/sdk/shipping/use-shipping-simulation.js.map +1 -0
  528. package/dist/sdk/state/cart.d.ts +42 -0
  529. package/dist/sdk/state/cart.js +64 -0
  530. package/dist/sdk/state/cart.js.map +1 -0
  531. package/dist/sdk/state/index.js +3 -0
  532. package/dist/sdk/state/variant-selector.d.ts +17 -0
  533. package/dist/sdk/state/variant-selector.js +14 -0
  534. package/dist/sdk/state/variant-selector.js.map +1 -0
  535. package/dist/utils/safe-href.js +63 -0
  536. package/dist/utils/safe-href.js.map +1 -0
  537. package/package.json +84 -0
  538. package/src/styles/tailwind.css +32 -0
@@ -0,0 +1,109 @@
1
+ "use client";
2
+ import { defineComponent } from "../../core/dist/define-component.js";
3
+ import "../../core/dist/index.js";
4
+ import { Field } from "../field/field.js";
5
+ import { Icon } from "../icon/icon.js";
6
+ import { Input } from "../input/input.js";
7
+ import { Toggle } from "../toggle/toggle.js";
8
+ import { useState } from "react";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ //#region src/particles/password-field/password-field.tsx
11
+ const PasswordFieldDefinition = defineComponent({
12
+ name: "PasswordField",
13
+ importPath: "@vtex/faststore/components",
14
+ component: PasswordField,
15
+ editor: {
16
+ label: "Password Field",
17
+ category: "action"
18
+ },
19
+ schema: {
20
+ label: {
21
+ type: "string",
22
+ label: "Label"
23
+ },
24
+ placeholder: {
25
+ type: "string",
26
+ label: "Placeholder"
27
+ },
28
+ requirement: {
29
+ type: ["mandatory", "optional"],
30
+ default: "mandatory",
31
+ label: "Requirement"
32
+ },
33
+ autoComplete: {
34
+ type: ["current-password", "new-password"],
35
+ default: "current-password",
36
+ label: "Autocomplete"
37
+ },
38
+ showPasswordLabel: {
39
+ type: "string",
40
+ default: "Show password",
41
+ label: "Show password label"
42
+ },
43
+ hidePasswordLabel: {
44
+ type: "string",
45
+ default: "Hide password",
46
+ label: "Hide password label"
47
+ },
48
+ disabled: {
49
+ type: "boolean",
50
+ default: false,
51
+ label: "Disabled"
52
+ }
53
+ },
54
+ guideline: "Presentational password input with a show/hide reveal toggle. Set autoComplete=\"new-password\" for recovery/set-password screens (default is \"current-password\" for sign-in). No validation beyond presence — invalid/errorMessage are caller-driven. No data layer: does not call login, does not read session."
55
+ });
56
+ /**
57
+ * Composes Field + Input + Toggle + Icon into a password input with a show/hide reveal
58
+ * toggle. Presence-only validation is caller-driven via `invalid`/`errorMessage` — this
59
+ * particle computes no validity of its own. `revealed` is local, uncontrolled UI state.
60
+ */
61
+ function PasswordField({ value, defaultValue, onValueChange, invalid = false, errorMessage, label, placeholder, requirement = "mandatory", autoComplete = "current-password", showPasswordLabel = "Show password", hidePasswordLabel = "Hide password", disabled = false, name, id, className }) {
62
+ const [revealed, setRevealed] = useState(false);
63
+ function handleChange(event) {
64
+ onValueChange?.(event.target.value);
65
+ }
66
+ return /* @__PURE__ */ jsxs(Field.Root, {
67
+ invalid,
68
+ disabled,
69
+ name,
70
+ className,
71
+ "data-fs-password-field": "",
72
+ children: [
73
+ label ? /* @__PURE__ */ jsx(Field.Label, { children: label }) : null,
74
+ /* @__PURE__ */ jsxs("div", {
75
+ "data-fs-password-field-group": "",
76
+ children: [/* @__PURE__ */ jsx(Input, {
77
+ id,
78
+ type: revealed ? "text" : "password",
79
+ autoComplete,
80
+ "aria-required": requirement === "mandatory" ? "true" : void 0,
81
+ spellCheck: false,
82
+ autoCapitalize: "off",
83
+ autoCorrect: "off",
84
+ placeholder,
85
+ disabled,
86
+ value,
87
+ defaultValue: value === void 0 ? defaultValue : void 0,
88
+ onChange: handleChange
89
+ }), /* @__PURE__ */ jsx(Toggle, {
90
+ type: "button",
91
+ pressed: revealed,
92
+ onPressedChange: setRevealed,
93
+ disabled,
94
+ "aria-label": revealed ? hidePasswordLabel : showPasswordLabel,
95
+ "data-fs-password-field-toggle": "",
96
+ children: /* @__PURE__ */ jsx(Icon, { name: revealed ? "eye-off" : "eye" })
97
+ })]
98
+ }),
99
+ /* @__PURE__ */ jsx(Field.Error, {
100
+ match: invalid ? true : "customError",
101
+ children: errorMessage
102
+ })
103
+ ]
104
+ });
105
+ }
106
+ //#endregion
107
+ export { PasswordField, PasswordFieldDefinition };
108
+
109
+ //# sourceMappingURL=password-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password-field.js","names":[],"sources":["../../../src/particles/password-field/password-field.tsx"],"sourcesContent":["'use client';\nimport { defineComponent } from '@vtex/fs-core';\nimport { type ChangeEvent, useState } from 'react';\nimport { Field } from '../field/field.js';\nimport { Icon } from '../icon/icon.js';\nimport { Input } from '../input/input.js';\nimport { Toggle } from '../toggle/toggle.js';\n\nexport type PasswordFieldRequirement = 'mandatory' | 'optional';\n\nexport type PasswordFieldAutoComplete = 'current-password' | 'new-password';\n\nexport type PasswordFieldProps = {\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n invalid?: boolean;\n errorMessage?: string;\n label?: string;\n placeholder?: string;\n requirement?: PasswordFieldRequirement;\n autoComplete?: PasswordFieldAutoComplete;\n showPasswordLabel?: string;\n hidePasswordLabel?: string;\n disabled?: boolean;\n name?: string;\n id?: string;\n className?: string;\n};\n\nexport const PasswordFieldDefinition = defineComponent<PasswordFieldProps>({\n name: 'PasswordField',\n importPath: '@vtex/faststore/components',\n component: PasswordField,\n editor: { label: 'Password Field', category: 'action' },\n schema: {\n label: { type: 'string', label: 'Label' },\n placeholder: { type: 'string', label: 'Placeholder' },\n requirement: { type: ['mandatory', 'optional'] as const, default: 'mandatory', label: 'Requirement' },\n autoComplete: {\n type: ['current-password', 'new-password'] as const,\n default: 'current-password',\n label: 'Autocomplete',\n },\n showPasswordLabel: { type: 'string', default: 'Show password', label: 'Show password label' },\n hidePasswordLabel: { type: 'string', default: 'Hide password', label: 'Hide password label' },\n disabled: { type: 'boolean', default: false, label: 'Disabled' },\n },\n guideline:\n 'Presentational password input with a show/hide reveal toggle. Set autoComplete=\"new-password\" for recovery/set-password screens (default is \"current-password\" for sign-in). No validation beyond presence — invalid/errorMessage are caller-driven. No data layer: does not call login, does not read session.',\n});\n\n/**\n * Composes Field + Input + Toggle + Icon into a password input with a show/hide reveal\n * toggle. Presence-only validation is caller-driven via `invalid`/`errorMessage` — this\n * particle computes no validity of its own. `revealed` is local, uncontrolled UI state.\n */\nexport function PasswordField({\n value,\n defaultValue,\n onValueChange,\n invalid = false,\n errorMessage,\n label,\n placeholder,\n requirement = 'mandatory',\n autoComplete = 'current-password',\n showPasswordLabel = 'Show password',\n hidePasswordLabel = 'Hide password',\n disabled = false,\n name,\n id,\n className,\n}: PasswordFieldProps) {\n const [revealed, setRevealed] = useState(false);\n\n function handleChange(event: ChangeEvent<HTMLInputElement>) {\n onValueChange?.(event.target.value);\n }\n\n return (\n <Field.Root invalid={invalid} disabled={disabled} name={name} className={className} data-fs-password-field=\"\">\n {label ? <Field.Label>{label}</Field.Label> : null}\n <div data-fs-password-field-group=\"\">\n <Input\n id={id}\n type={revealed ? 'text' : 'password'}\n autoComplete={autoComplete}\n // `aria-required`, not native `required`: `Input` is a Base UI `Field.Control`, and native\n // constraint tracking would flip `aria-invalid` on its own — validity here is caller-driven.\n aria-required={requirement === 'mandatory' ? 'true' : undefined}\n spellCheck={false}\n autoCapitalize=\"off\"\n autoCorrect=\"off\"\n placeholder={placeholder}\n disabled={disabled}\n value={value}\n defaultValue={value === undefined ? defaultValue : undefined}\n onChange={handleChange}\n />\n <Toggle\n type=\"button\"\n pressed={revealed}\n onPressedChange={setRevealed}\n disabled={disabled}\n aria-label={revealed ? hidePasswordLabel : showPasswordLabel}\n data-fs-password-field-toggle=\"\"\n >\n <Icon name={revealed ? 'eye-off' : 'eye'} />\n </Toggle>\n </div>\n <Field.Error match={invalid ? true : 'customError'}>{errorMessage}</Field.Error>\n </Field.Root>\n );\n}\n"],"mappings":";;;;;;;;;;AA8BA,MAAa,0BAA0B,gBAAoC;CACzE,MAAM;CACN,YAAY;CACZ,WAAW;CACX,QAAQ;EAAE,OAAO;EAAkB,UAAU;CAAS;CACtD,QAAQ;EACN,OAAO;GAAE,MAAM;GAAU,OAAO;EAAQ;EACxC,aAAa;GAAE,MAAM;GAAU,OAAO;EAAc;EACpD,aAAa;GAAE,MAAM,CAAC,aAAa,UAAU;GAAY,SAAS;GAAa,OAAO;EAAc;EACpG,cAAc;GACZ,MAAM,CAAC,oBAAoB,cAAc;GACzC,SAAS;GACT,OAAO;EACT;EACA,mBAAmB;GAAE,MAAM;GAAU,SAAS;GAAiB,OAAO;EAAsB;EAC5F,mBAAmB;GAAE,MAAM;GAAU,SAAS;GAAiB,OAAO;EAAsB;EAC5F,UAAU;GAAE,MAAM;GAAW,SAAS;GAAO,OAAO;EAAW;CACjE;CACA,WACE;AACJ,CAAC;;;;;;AAOD,SAAgB,cAAc,EAC5B,OACA,cACA,eACA,UAAU,OACV,cACA,OACA,aACA,cAAc,aACd,eAAe,oBACf,oBAAoB,iBACpB,oBAAoB,iBACpB,WAAW,OACX,MACA,IACA,aACqB;CACrB,MAAM,CAAC,UAAU,eAAe,SAAS,KAAK;CAE9C,SAAS,aAAa,OAAsC;EAC1D,gBAAgB,MAAM,OAAO,KAAK;CACpC;CAEA,OACE,qBAAC,MAAM,MAAP;EAAqB;EAAmB;EAAgB;EAAiB;EAAW,0BAAuB;EAA3G,UAAA;GACG,QAAQ,oBAAC,MAAM,OAAP,EAAA,UAAc,MAAmB,CAAA,IAAI;GAC9C,qBAAC,OAAD;IAAK,gCAA6B;IAAlC,UAAA,CACE,oBAAC,OAAD;KACM;KACJ,MAAM,WAAW,SAAS;KACZ;KAGd,iBAAe,gBAAgB,cAAc,SAAS,KAAA;KACtD,YAAY;KACZ,gBAAe;KACf,aAAY;KACC;KACH;KACH;KACP,cAAc,UAAU,KAAA,IAAY,eAAe,KAAA;KACnD,UAAU;IACX,CAAA,GACD,oBAAC,QAAD;KACE,MAAK;KACL,SAAS;KACT,iBAAiB;KACP;KACV,cAAY,WAAW,oBAAoB;KAC3C,iCAA8B;KAE9B,UAAA,oBAAC,MAAD,EAAM,MAAM,WAAW,YAAY,MAAQ,CAAA;IACrC,CAAA,CACL;;GACL,oBAAC,MAAM,OAAP;IAAa,OAAO,UAAU,OAAO;IAAgB,UAAA;GAA0B,CAAA;EACrE;;AAEhB"}
@@ -0,0 +1,72 @@
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 } from "react";
5
+ //#region src/particles/payment-methods/payment-methods.d.ts
6
+ export declare const PaymentMethodsContent: {
7
+ readonly id: "payment-methods";
8
+ readonly title: "Payment Methods";
9
+ readonly description: "Accepted payment methods shown as a strip of icons.";
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 methods: {
19
+ readonly type: "array";
20
+ readonly title: "Payment methods";
21
+ readonly minItems: 1;
22
+ readonly items: {
23
+ readonly type: "object";
24
+ readonly additionalProperties: false;
25
+ readonly required: readonly ["label"];
26
+ readonly properties: {
27
+ readonly method: {
28
+ readonly type: "string";
29
+ readonly enum: readonly ["visa", "amex", "apple-pay", "elo-card", "diners", "google-pay", "mastercard", "paypal", "pix", "stripe"];
30
+ readonly title: "Method";
31
+ };
32
+ readonly label: {
33
+ readonly type: "string";
34
+ readonly minLength: 1;
35
+ readonly title: "Label";
36
+ };
37
+ readonly iconUrl: {
38
+ readonly type: "string";
39
+ readonly format: "uri";
40
+ readonly title: "Custom icon";
41
+ readonly widget: {
42
+ readonly 'ui:widget': "media-gallery";
43
+ };
44
+ };
45
+ };
46
+ };
47
+ };
48
+ };
49
+ };
50
+ };
51
+ /**
52
+ * The payment glyphs the base icon dialect carries, and so the only names `method` admits. Exported
53
+ * because a store's `global.json` has to list them under `icons.include` for a CMS-chosen name to
54
+ * resolve at runtime — one import there instead of ten retyped strings. Reading it off the model
55
+ * rather than declaring it beside one makes the two impossible to drift apart.
56
+ */
57
+ export declare const PAYMENT_METHOD_NAMES: readonly ["visa", "amex", "apple-pay", "elo-card", "diners", "google-pay", "mastercard", "paypal", "pix", "stripe"];
58
+ type PaymentMethodsContentValue = ContentValue<typeof PaymentMethodsContent>;
59
+ /** One row of the strip. Derived from the model so the prop and content channels cannot drift. */
60
+ export type PaymentMethodItem = NonNullable<PaymentMethodsContentValue['methods']>[number];
61
+ export type PaymentMethodsProps = ComponentPropsWithRef<'div'> & {
62
+ /** Authored fallback for the section heading, used when no CMS entry supplies one. */
63
+ heading?: string;
64
+ /** Authored fallback for the accepted set, used when no CMS entry supplies one. */
65
+ methods?: readonly PaymentMethodItem[];
66
+ /** Injected by the compiler, sliced from the page's or layout's composite content entry. */
67
+ $content?: PaymentMethodsContentValue;
68
+ };
69
+ export declare const PaymentMethodsDefinition: ComponentDefinition<PaymentMethodsProps>;
70
+ export declare function PaymentMethods({ heading, methods, $content, className, ...props }: PaymentMethodsProps): import("react/jsx-runtime").JSX.Element | null;
71
+ //#endregion
72
+ //# sourceMappingURL=payment-methods.d.ts.map
@@ -0,0 +1,151 @@
1
+ import { defineComponent } from "../../core/dist/define-component.js";
2
+ import { defineContentType } from "../../core/dist/define-content-type.js";
3
+ import "../../core/dist/index.js";
4
+ import { Icon } from "../icon/icon.js";
5
+ import { Image } from "../image/image.js";
6
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
+ //#region src/particles/payment-methods/payment-methods.tsx
8
+ const PaymentMethodsContent = defineContentType({
9
+ id: "payment-methods",
10
+ title: "Payment Methods",
11
+ description: "Accepted payment methods shown as a strip of icons.",
12
+ schema: {
13
+ type: "object",
14
+ additionalProperties: false,
15
+ properties: {
16
+ heading: {
17
+ type: "string",
18
+ title: "Heading"
19
+ },
20
+ methods: {
21
+ type: "array",
22
+ title: "Payment methods",
23
+ minItems: 1,
24
+ items: {
25
+ type: "object",
26
+ additionalProperties: false,
27
+ required: ["label"],
28
+ properties: {
29
+ method: {
30
+ type: "string",
31
+ enum: [
32
+ "visa",
33
+ "amex",
34
+ "apple-pay",
35
+ "elo-card",
36
+ "diners",
37
+ "google-pay",
38
+ "mastercard",
39
+ "paypal",
40
+ "pix",
41
+ "stripe"
42
+ ],
43
+ title: "Method"
44
+ },
45
+ label: {
46
+ type: "string",
47
+ minLength: 1,
48
+ title: "Label"
49
+ },
50
+ iconUrl: {
51
+ type: "string",
52
+ format: "uri",
53
+ title: "Custom icon",
54
+ widget: { "ui:widget": "media-gallery" }
55
+ }
56
+ }
57
+ }
58
+ }
59
+ }
60
+ }
61
+ });
62
+ /**
63
+ * The payment glyphs the base icon dialect carries, and so the only names `method` admits. Exported
64
+ * because a store's `global.json` has to list them under `icons.include` for a CMS-chosen name to
65
+ * resolve at runtime — one import there instead of ten retyped strings. Reading it off the model
66
+ * rather than declaring it beside one makes the two impossible to drift apart.
67
+ */
68
+ const PAYMENT_METHOD_NAMES = PaymentMethodsContent.schema.properties.methods.items.properties.method.enum;
69
+ const PaymentMethodsDefinition = defineComponent({
70
+ name: "PaymentMethods",
71
+ importPath: "@vtex/faststore/components",
72
+ component: PaymentMethods,
73
+ content: PaymentMethodsContent,
74
+ editor: {
75
+ label: "Payment Methods",
76
+ category: "content"
77
+ },
78
+ schema: {
79
+ heading: {
80
+ type: "string",
81
+ label: "Heading"
82
+ },
83
+ methods: {
84
+ type: "array",
85
+ label: "Payment methods"
86
+ }
87
+ },
88
+ guideline: "The store's accepted payment methods as a strip of flags, both the heading and the list CMS-editable. Not PricingPaymentMethodsList, which renders a product's installment plans from commerce data. Every predefined method name must be listed in the store's icons.include. See payment-methods.md."
89
+ });
90
+ /**
91
+ * Drops every item that cannot render both a glyph and an accessible name. Neither read-time gate
92
+ * enforces `minLength`, so a blank label reaches the component, and `method` is optional so that
93
+ * Boleto can arrive through `iconUrl` — which leaves an item carrying neither, also legal and also
94
+ * unrenderable. An icon with no name is the one thing F5 must not ship.
95
+ */
96
+ function resolveMethods(methods) {
97
+ const resolved = [];
98
+ for (const item of methods) {
99
+ if (!item.label.trim()) continue;
100
+ if (item.iconUrl?.trim()) resolved.push({
101
+ label: item.label,
102
+ method: item.method,
103
+ src: item.iconUrl
104
+ });
105
+ else if (item.method) resolved.push({
106
+ label: item.label,
107
+ method: item.method
108
+ });
109
+ }
110
+ return resolved;
111
+ }
112
+ function PaymentMethods({ heading, methods, $content, className, ...props }) {
113
+ const sectionHeading = $content?.heading ?? heading;
114
+ const resolved = resolveMethods($content?.methods ?? methods ?? []);
115
+ if (resolved.length === 0) return null;
116
+ const named = Boolean(sectionHeading?.trim());
117
+ return /* @__PURE__ */ jsxs("div", {
118
+ ...props,
119
+ className,
120
+ "data-fs-payment-methods": "",
121
+ children: [named ? /* @__PURE__ */ jsx("h3", {
122
+ "data-fs-text": "",
123
+ "data-fs-payment-methods-heading": "",
124
+ children: sectionHeading
125
+ }) : null, /* @__PURE__ */ jsx("ul", {
126
+ role: "list",
127
+ "data-fs-payment-methods-list": "",
128
+ "aria-label": named ? sectionHeading : void 0,
129
+ children: resolved.map((item, index) => /* @__PURE__ */ jsx("li", {
130
+ "data-fs-payment-method": "",
131
+ "data-fs-payment-method-name": item.method,
132
+ children: item.src === void 0 ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Icon, {
133
+ name: item.method,
134
+ "data-fs-payment-method-icon": ""
135
+ }), /* @__PURE__ */ jsx("span", {
136
+ "data-fs-sr-only": "",
137
+ className: "sr-only",
138
+ children: item.label
139
+ })] }) : /* @__PURE__ */ jsx(Image, {
140
+ src: item.src,
141
+ alt: item.label,
142
+ "data-fs-payment-method-icon": ""
143
+ })
144
+ }, index))
145
+ })]
146
+ });
147
+ }
148
+ //#endregion
149
+ export { PAYMENT_METHOD_NAMES, PaymentMethods, PaymentMethodsContent, PaymentMethodsDefinition };
150
+
151
+ //# sourceMappingURL=payment-methods.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-methods.js","names":[],"sources":["../../../src/particles/payment-methods/payment-methods.tsx"],"sourcesContent":["import { type ContentValue, defineComponent, defineContentType } from '@vtex/fs-core';\nimport type { ComponentPropsWithRef } from 'react';\nimport { Icon } from '../icon/icon.js';\nimport { Image } from '../image/image.js';\n\n// ---------------------------------------------------------------------------\n// Content model\n// ---------------------------------------------------------------------------\n\nexport const PaymentMethodsContent = defineContentType({\n id: 'payment-methods',\n title: 'Payment Methods',\n description: 'Accepted payment methods shown as a strip of icons.',\n schema: {\n type: 'object',\n additionalProperties: false,\n // Neither property is required. A missing element key already omits the component before any\n // required check runs, so requiring them would buy nothing and cost the prop fallback: an entry\n // authoring one field alone would be shape-invalid and take the whole element down with it.\n properties: {\n heading: { type: 'string', title: 'Heading' },\n methods: {\n type: 'array',\n title: 'Payment methods',\n // Author-time guidance only: no read-time gate enforces item bounds, so its one consumer is\n // the Content Platform Admin's form. An empty list still reaches the component, which\n // self-hides on it. No ceiling — a merchant lists every method they accept.\n minItems: 1,\n items: {\n type: 'object',\n additionalProperties: false,\n required: ['label'],\n properties: {\n // Inline rather than a named constant: the catalog scanner reads this file statically\n // and rejects an identifier it cannot evaluate. `PAYMENT_METHOD_NAMES` derives from here.\n method: {\n type: 'string',\n enum: [\n 'visa',\n 'amex',\n 'apple-pay',\n 'elo-card',\n 'diners',\n 'google-pay',\n 'mastercard',\n 'paypal',\n 'pix',\n 'stripe',\n ],\n title: 'Method',\n },\n label: { type: 'string', minLength: 1, title: 'Label' },\n iconUrl: {\n type: 'string',\n format: 'uri',\n title: 'Custom icon',\n widget: { 'ui:widget': 'media-gallery' },\n },\n },\n },\n },\n },\n },\n});\n\n/**\n * The payment glyphs the base icon dialect carries, and so the only names `method` admits. Exported\n * because a store's `global.json` has to list them under `icons.include` for a CMS-chosen name to\n * resolve at runtime — one import there instead of ten retyped strings. Reading it off the model\n * rather than declaring it beside one makes the two impossible to drift apart.\n */\nexport const PAYMENT_METHOD_NAMES = PaymentMethodsContent.schema.properties.methods.items.properties.method.enum;\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\ntype PaymentMethodsContentValue = ContentValue<typeof PaymentMethodsContent>;\n\n/** One row of the strip. Derived from the model so the prop and content channels cannot drift. */\nexport type PaymentMethodItem = NonNullable<PaymentMethodsContentValue['methods']>[number];\n\ntype PaymentMethodName = NonNullable<PaymentMethodItem['method']>;\n\nexport type PaymentMethodsProps = ComponentPropsWithRef<'div'> & {\n /** Authored fallback for the section heading, used when no CMS entry supplies one. */\n heading?: string;\n /** Authored fallback for the accepted set, used when no CMS entry supplies one. */\n methods?: readonly PaymentMethodItem[];\n /** Injected by the compiler, sliced from the page's or layout's composite content entry. */\n $content?: PaymentMethodsContentValue;\n};\n\n// ---------------------------------------------------------------------------\n// Definition\n// ---------------------------------------------------------------------------\n\nexport const PaymentMethodsDefinition = defineComponent({\n name: 'PaymentMethods',\n importPath: '@vtex/faststore/components',\n component: PaymentMethods,\n content: PaymentMethodsContent,\n editor: { label: 'Payment Methods', category: 'content' },\n schema: {\n heading: { type: 'string', label: 'Heading' },\n methods: { type: 'array', label: 'Payment methods' },\n },\n guideline:\n \"The store's accepted payment methods as a strip of flags, both the heading and the list CMS-editable. Not PricingPaymentMethodsList, which renders a product's installment plans from commerce data. Every predefined method name must be listed in the store's icons.include. See payment-methods.md.\",\n});\n\n// ---------------------------------------------------------------------------\n// Implementation\n// ---------------------------------------------------------------------------\n\n/**\n * A method that can render: a non-blank label plus exactly one glyph source. The two members are\n * what the union encodes — an upload names itself through `alt`, while a sprite glyph is decorative\n * and needs the label alongside it.\n */\ntype ResolvedMethod =\n | { label: string; method: PaymentMethodName; src?: undefined }\n | { label: string; method?: PaymentMethodName; src: string };\n\n/**\n * Drops every item that cannot render both a glyph and an accessible name. Neither read-time gate\n * enforces `minLength`, so a blank label reaches the component, and `method` is optional so that\n * Boleto can arrive through `iconUrl` — which leaves an item carrying neither, also legal and also\n * unrenderable. An icon with no name is the one thing F5 must not ship.\n */\nfunction resolveMethods(methods: readonly PaymentMethodItem[]): ResolvedMethod[] {\n const resolved: ResolvedMethod[] = [];\n\n for (const item of methods) {\n if (!item.label.trim()) continue;\n\n if (item.iconUrl?.trim()) {\n resolved.push({ label: item.label, method: item.method, src: item.iconUrl });\n } else if (item.method) {\n resolved.push({ label: item.label, method: item.method });\n }\n }\n\n return resolved;\n}\n\nexport function PaymentMethods({ heading, methods, $content, className, ...props }: PaymentMethodsProps) {\n const sectionHeading = $content?.heading ?? heading;\n const resolved = resolveMethods($content?.methods ?? methods ?? []);\n\n if (resolved.length === 0) return null;\n\n // A blank heading is unconfigured, not an empty value: no element and no group name, rather than\n // an empty one. Trim to decide, never to render.\n const named = Boolean(sectionHeading?.trim());\n\n return (\n <div {...props} className={className} data-fs-payment-methods=\"\">\n {named ? (\n <h3 data-fs-text=\"\" data-fs-payment-methods-heading=\"\">\n {sectionHeading}\n </h3>\n ) : null}\n {/* biome-ignore lint/a11y/noRedundantRoles: WebKit drops the implicit list role from a ul whose\n computed `list-style` is `none` — exactly what this component's swatch sets — so the explicit\n role is what holds the semantics the named list was chosen for. */}\n <ul role=\"list\" data-fs-payment-methods-list=\"\" aria-label={named ? sectionHeading : undefined}>\n {resolved.map((item, index) => (\n <li key={index} data-fs-payment-method=\"\" data-fs-payment-method-name={item.method}>\n {item.src === undefined ? (\n <>\n <Icon name={item.method} data-fs-payment-method-icon=\"\" />\n <span data-fs-sr-only=\"\" className=\"sr-only\">\n {item.label}\n </span>\n </>\n ) : (\n <Image src={item.src} alt={item.label} data-fs-payment-method-icon=\"\" />\n )}\n </li>\n ))}\n </ul>\n </div>\n );\n}\n"],"mappings":";;;;;;;AASA,MAAa,wBAAwB,kBAAkB;CACrD,IAAI;CACJ,OAAO;CACP,aAAa;CACb,QAAQ;EACN,MAAM;EACN,sBAAsB;EAItB,YAAY;GACV,SAAS;IAAE,MAAM;IAAU,OAAO;GAAU;GAC5C,SAAS;IACP,MAAM;IACN,OAAO;IAIP,UAAU;IACV,OAAO;KACL,MAAM;KACN,sBAAsB;KACtB,UAAU,CAAC,OAAO;KAClB,YAAY;MAGV,QAAQ;OACN,MAAM;OACN,MAAM;QACJ;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;OACF;OACA,OAAO;MACT;MACA,OAAO;OAAE,MAAM;OAAU,WAAW;OAAG,OAAO;MAAQ;MACtD,SAAS;OACP,MAAM;OACN,QAAQ;OACR,OAAO;OACP,QAAQ,EAAE,aAAa,gBAAgB;MACzC;KACF;IACF;GACF;EACF;CACF;AACF,CAAC;;;;;;;AAQD,MAAa,uBAAuB,sBAAsB,OAAO,WAAW,QAAQ,MAAM,WAAW,OAAO;AA0B5G,MAAa,2BAA2B,gBAAgB;CACtD,MAAM;CACN,YAAY;CACZ,WAAW;CACX,SAAS;CACT,QAAQ;EAAE,OAAO;EAAmB,UAAU;CAAU;CACxD,QAAQ;EACN,SAAS;GAAE,MAAM;GAAU,OAAO;EAAU;EAC5C,SAAS;GAAE,MAAM;GAAS,OAAO;EAAkB;CACrD;CACA,WACE;AACJ,CAAC;;;;;;;AAqBD,SAAS,eAAe,SAAyD;CAC/E,MAAM,WAA6B,CAAC;CAEpC,KAAK,MAAM,QAAQ,SAAS;EAC1B,IAAI,CAAC,KAAK,MAAM,KAAK,GAAG;EAExB,IAAI,KAAK,SAAS,KAAK,GACrB,SAAS,KAAK;GAAE,OAAO,KAAK;GAAO,QAAQ,KAAK;GAAQ,KAAK,KAAK;EAAQ,CAAC;OACtE,IAAI,KAAK,QACd,SAAS,KAAK;GAAE,OAAO,KAAK;GAAO,QAAQ,KAAK;EAAO,CAAC;CAE5D;CAEA,OAAO;AACT;AAEA,SAAgB,eAAe,EAAE,SAAS,SAAS,UAAU,WAAW,GAAG,SAA8B;CACvG,MAAM,iBAAiB,UAAU,WAAW;CAC5C,MAAM,WAAW,eAAe,UAAU,WAAW,WAAW,CAAC,CAAC;CAElE,IAAI,SAAS,WAAW,GAAG,OAAO;CAIlC,MAAM,QAAQ,QAAQ,gBAAgB,KAAK,CAAC;CAE5C,OACE,qBAAC,OAAD;EAAK,GAAI;EAAkB;EAAW,2BAAwB;EAA9D,UAAA,CACG,QACC,oBAAC,MAAD;GAAI,gBAAa;GAAG,mCAAgC;GACjD,UAAA;EACC,CAAA,IACF,MAIJ,oBAAC,MAAD;GAAI,MAAK;GAAO,gCAA6B;GAAG,cAAY,QAAQ,iBAAiB,KAAA;GAClF,UAAA,SAAS,KAAK,MAAM,UACnB,oBAAC,MAAD;IAAgB,0BAAuB;IAAG,+BAA6B,KAAK;IACzE,UAAA,KAAK,QAAQ,KAAA,IACZ,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,MAAD;KAAM,MAAM,KAAK;KAAQ,+BAA4B;IAAI,CAAA,GACzD,oBAAC,QAAD;KAAM,mBAAgB;KAAG,WAAU;KAChC,UAAA,KAAK;IACF,CAAA,CACN,EAAA,CAAA,IAEF,oBAAC,OAAD;KAAO,KAAK,KAAK;KAAK,KAAK,KAAK;KAAO,+BAA4B;IAAI,CAAA;GAEvE,GAXK,KAWL,CACL;EACC,CAAA,CACD;;AAET"}
@@ -0,0 +1,67 @@
1
+ import { ComponentDefinition } from "../../core/dist/define-component.js";
2
+ import "../../core/dist/index.js";
3
+ //#region src/particles/phone-field/phone-field.d.ts
4
+ /**
5
+ * Country codes supported by PhoneField.
6
+ * Only US and BR are implemented; every other ISO-2 code falls back to the US
7
+ * format (Gap-06 in the PhoneField spec).
8
+ */
9
+ export type PhoneCountry = 'US' | 'BR';
10
+ type PhoneFieldRequirement = 'mandatory' | 'optional' | 'hidden';
11
+ export type PhoneFieldProps = {
12
+ /** Controlled raw (unmasked) phone value. */
13
+ value?: string;
14
+ /** Uncontrolled initial raw value. */
15
+ defaultValue?: string;
16
+ /** Called with the raw (unmasked) value on every change. */
17
+ onValueChange?: (value: string) => void;
18
+ /** Selects the phone mask and validation rule. */
19
+ country?: PhoneCountry;
20
+ /** Visible field label. */
21
+ label?: string;
22
+ /** Disables the field when true. */
23
+ isDisabled?: boolean;
24
+ /** Input placeholder text. */
25
+ placeholder?: string;
26
+ /**
27
+ * Externally-controlled invalid state. When provided, overrides the
28
+ * particle's internal blur-triggered validation result.
29
+ */
30
+ invalid?: boolean;
31
+ /**
32
+ * Externally-supplied error message. When provided, overrides the
33
+ * particle's internal error string.
34
+ */
35
+ error?: string;
36
+ /** Error string shown when the input format is invalid. */
37
+ errorInvalid?: string;
38
+ /** Error string shown when the mandatory field is left empty. */
39
+ errorRequired?: string;
40
+ /**
41
+ * Controls field visibility and required validation.
42
+ *
43
+ * - `'mandatory'` (default): empty input blocks submission.
44
+ * - `'optional'`: empty input is allowed; format is still checked when a
45
+ * value is present.
46
+ * - `'hidden'`: renders null — no DOM node is emitted.
47
+ */
48
+ requirement?: PhoneFieldRequirement;
49
+ /** Called after the field loses focus (post-validation). */
50
+ onBlur?: () => void;
51
+ /** Additional class applied to the root element. */
52
+ className?: string;
53
+ };
54
+ export declare const PhoneFieldDefinition: ComponentDefinition<PhoneFieldProps>;
55
+ /**
56
+ * Presentational, business-agnostic phone field. Composes the `field` and `input` particles: the
57
+ * `Field.Root` owns the invalid/disabled state and the `Field.Error match` slot, while the `Input`
58
+ * particle renders the masked `<tel>` control. The particle stays reusable (checkout binding today,
59
+ * MyAccount / extensions later); a binding owns the data source and persistence.
60
+ *
61
+ * US/BR masking, blur validation, and the `data-fs-phone-field*` attributes (plus the country variant
62
+ * attribute) are kept; error strings remain props (a documented i18n divergence — the country tables
63
+ * are internal, the copy is owner-supplied).
64
+ */
65
+ export declare function PhoneField({ value, defaultValue, onValueChange, country, label, isDisabled, placeholder, invalid, error, errorInvalid, errorRequired, requirement, onBlur, className }: PhoneFieldProps): import("react/jsx-runtime").JSX.Element | null;
66
+ //#endregion
67
+ //# sourceMappingURL=phone-field.d.ts.map