@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 @@
1
+ {"version":3,"file":"carousel.js","names":[],"sources":["../../../src/particles/carousel/carousel.tsx"],"sourcesContent":["'use client';\n\nimport { defineComponent } from '@vtex/fs-core';\nimport {\n Children,\n type ComponentPropsWithRef,\n createContext,\n type ReactNode,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nexport type CarouselVariant = 'slide' | 'scroll';\n\nexport type CarouselContextValue = {\n currentPage: number;\n itemCount: number;\n itemsPerPage: number;\n totalPages: number;\n variant: CarouselVariant;\n infiniteMode: boolean;\n goToPage: (page: number) => void;\n next: () => void;\n previous: () => void;\n canGoNext: boolean;\n canGoPrevious: boolean;\n setItemCount: (count: number) => void;\n};\n\nexport type CarouselRootProps = ComponentPropsWithRef<'section'> & {\n infiniteMode?: boolean;\n variant?: CarouselVariant;\n itemsPerPage?: number;\n defaultPage?: number;\n label?: string;\n};\n\nexport type CarouselTrackProps = ComponentPropsWithRef<'div'> & {\n children?: ReactNode;\n};\n\nexport type CarouselPreviousProps = ComponentPropsWithRef<'button'> & {\n children?: ReactNode;\n};\n\nexport type CarouselNextProps = ComponentPropsWithRef<'button'> & {\n children?: ReactNode;\n};\n\nexport type CarouselBulletsProps = ComponentPropsWithRef<'div'> & {\n ariaLabel?: string;\n bulletLabel?: string;\n hideWhenSingle?: boolean;\n};\n\nconst CarouselContext = createContext<CarouselContextValue | null>(null);\n\nexport function useCarousel(): CarouselContextValue {\n const ctx = useContext(CarouselContext);\n if (!ctx) throw new Error('Carousel components must be used inside CarouselRoot.');\n return ctx;\n}\n\nexport function CarouselRoot({\n infiniteMode = false,\n variant = 'slide',\n itemsPerPage = 1,\n defaultPage = 0,\n label = 'Carousel',\n children,\n ...props\n}: CarouselRootProps) {\n const [currentPage, setCurrentPage] = useState(defaultPage);\n const [itemCount, setItemCountState] = useState(0);\n\n const perPage = Math.max(1, itemsPerPage);\n const totalPages = Math.max(1, Math.ceil(itemCount / perPage));\n\n const setItemCount = useCallback((count: number) => {\n setItemCountState((prev) => (prev === count ? prev : count));\n }, []);\n\n // Keep the current page in range when the number of pages shrinks.\n useEffect(() => {\n if (itemCount === 0) return;\n setCurrentPage((page) => Math.min(page, totalPages - 1));\n }, [itemCount, totalPages]);\n\n const goToPage = useCallback(\n (page: number) => {\n setCurrentPage(Math.max(0, Math.min(page, totalPages - 1)));\n },\n [totalPages],\n );\n\n const next = useCallback(() => {\n setCurrentPage((page) => (infiniteMode ? (page + 1) % totalPages : Math.min(page + 1, totalPages - 1)));\n }, [infiniteMode, totalPages]);\n\n const previous = useCallback(() => {\n setCurrentPage((page) => (infiniteMode ? (page - 1 + totalPages) % totalPages : Math.max(page - 1, 0)));\n }, [infiniteMode, totalPages]);\n\n const canGoNext = infiniteMode ? totalPages > 1 : currentPage < totalPages - 1;\n const canGoPrevious = infiniteMode ? totalPages > 1 : currentPage > 0;\n\n const ctx = useMemo<CarouselContextValue>(\n () => ({\n currentPage,\n itemCount,\n itemsPerPage: perPage,\n totalPages,\n variant,\n infiniteMode,\n goToPage,\n next,\n previous,\n canGoNext,\n canGoPrevious,\n setItemCount,\n }),\n [\n currentPage,\n itemCount,\n perPage,\n totalPages,\n variant,\n infiniteMode,\n goToPage,\n next,\n previous,\n canGoNext,\n canGoPrevious,\n setItemCount,\n ],\n );\n\n return (\n <CarouselContext value={ctx}>\n <section\n {...props}\n data-fs-carousel=\"\"\n data-fs-carousel-variant={variant}\n aria-roledescription=\"carousel\"\n aria-label={label}\n >\n {children}\n </section>\n </CarouselContext>\n );\n}\n\nexport function CarouselTrack({ children, style, ref, onScroll, ...props }: CarouselTrackProps) {\n const { setItemCount, itemsPerPage, currentPage, variant, goToPage } = useCarousel();\n const items = Children.toArray(children);\n const count = items.length;\n const scrollRef = useRef<HTMLDivElement>(null);\n // True while an internal scrollTo animation runs, so the native scroll events it emits do not\n // feed back into goToPage and fight the animation. Cleared once the target page is reached.\n const programmaticScroll = useRef(false);\n\n // Scroll mode needs the internal scrollRef to drive scrollTo, but must still honor a\n // consumer-forwarded ref (the slide branch gets it for free through the element).\n const mergedScrollRef = useCallback(\n (node: HTMLDivElement | null) => {\n scrollRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref) ref.current = node;\n },\n [ref],\n );\n\n useEffect(() => {\n setItemCount(count);\n }, [count, setItemCount]);\n\n // In scroll mode the track is the native scroll container; move it to the current page unless it\n // is already there (e.g. the user just scrolled), so a programmatic scroll never fights the user.\n useEffect(() => {\n if (variant !== 'scroll') return;\n const el = scrollRef.current;\n if (!el || typeof el.scrollTo !== 'function') return;\n if (el.clientWidth > 0 && Math.round(el.scrollLeft / el.clientWidth) === currentPage) return;\n programmaticScroll.current = true;\n el.scrollTo({ left: currentPage * el.clientWidth, behavior: 'smooth' });\n }, [variant, currentPage]);\n\n // Sync a user scroll back into the paging state so bullets and Previous/Next stay accurate.\n function handleScroll(event: React.UIEvent<HTMLDivElement>) {\n onScroll?.(event);\n const { clientWidth, scrollLeft } = event.currentTarget;\n if (clientWidth <= 0) return;\n const page = Math.round(scrollLeft / clientWidth);\n if (programmaticScroll.current) {\n if (page === currentPage) programmaticScroll.current = false;\n return;\n }\n if (page !== currentPage) goToPage(page);\n }\n\n const itemStyle: React.CSSProperties = { flex: `0 0 ${100 / itemsPerPage}%`, boxSizing: 'border-box' };\n\n const renderedItems = items.map((child, index) => (\n <div\n key={index}\n data-fs-carousel-item=\"\"\n style={variant === 'scroll' ? { ...itemStyle, scrollSnapAlign: 'start' } : itemStyle}\n >\n {child}\n </div>\n ));\n\n if (variant === 'scroll') {\n return (\n <div\n {...props}\n ref={mergedScrollRef}\n onScroll={handleScroll}\n data-fs-carousel-track=\"\"\n style={{ display: 'flex', overflowX: 'auto', scrollSnapType: 'x mandatory', ...style }}\n >\n {renderedItems}\n </div>\n );\n }\n\n return (\n <div {...props} ref={ref} data-fs-carousel-track=\"\" style={{ overflow: 'hidden', ...style }}>\n <div\n data-fs-carousel-viewport=\"\"\n style={{ display: 'flex', transform: `translateX(-${currentPage * 100}%)`, transition: 'transform 300ms ease' }}\n >\n {renderedItems}\n </div>\n </div>\n );\n}\n\nexport function CarouselPrevious({ children, onClick, ...props }: CarouselPreviousProps) {\n const { previous, canGoPrevious } = useCarousel();\n return (\n <button\n type=\"button\"\n disabled={!canGoPrevious}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) previous();\n }}\n aria-label=\"Previous\"\n data-fs-carousel-previous=\"\"\n {...props}\n >\n {children}\n </button>\n );\n}\n\nexport function CarouselNext({ children, onClick, ...props }: CarouselNextProps) {\n const { next, canGoNext } = useCarousel();\n return (\n <button\n type=\"button\"\n disabled={!canGoNext}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) next();\n }}\n aria-label=\"Next\"\n data-fs-carousel-next=\"\"\n {...props}\n >\n {children}\n </button>\n );\n}\n\nexport function CarouselBullets({\n ariaLabel = 'Choose page',\n bulletLabel = 'Go to page {page}',\n hideWhenSingle = true,\n ...props\n}: CarouselBulletsProps) {\n const { totalPages, currentPage, goToPage } = useCarousel();\n\n if (hideWhenSingle && totalPages <= 1) return null;\n\n function handleKeyDown(event: React.KeyboardEvent<HTMLButtonElement>, page: number) {\n let target = page;\n switch (event.key) {\n case 'ArrowRight':\n target = Math.min(page + 1, totalPages - 1);\n break;\n case 'ArrowLeft':\n target = Math.max(page - 1, 0);\n break;\n case 'Home':\n target = 0;\n break;\n case 'End':\n target = totalPages - 1;\n break;\n default:\n return;\n }\n event.preventDefault();\n goToPage(target);\n const bullets = event.currentTarget.parentElement?.querySelectorAll<HTMLButtonElement>('[data-fs-carousel-bullet]');\n bullets?.[target]?.focus();\n }\n\n return (\n // biome-ignore lint/a11y/useSemanticElements: a labelled group of pagination buttons is not a <fieldset>\n <div role=\"group\" aria-label={ariaLabel} data-fs-carousel-bullets=\"\" {...props}>\n {Array.from({ length: totalPages }, (_, page) => {\n const isActive = page === currentPage;\n return (\n <button\n key={page}\n type=\"button\"\n aria-label={bulletLabel.replace('{page}', String(page + 1))}\n aria-current={isActive}\n data-fs-carousel-bullet=\"\"\n data-fs-carousel-bullet-selected={String(isActive)}\n onClick={() => goToPage(page)}\n onKeyDown={(event) => handleKeyDown(event, page)}\n />\n );\n })}\n </div>\n );\n}\n\nexport const CarouselRootDefinition = defineComponent<CarouselRootProps>({\n name: 'CarouselRoot',\n importPath: '@vtex/faststore/components',\n component: CarouselRoot,\n editor: { label: 'Carousel Root', category: 'layout' },\n schema: {\n infiniteMode: { type: 'boolean', default: false, label: 'Infinite Mode' },\n variant: { type: ['slide', 'scroll'] as const, default: 'slide', label: 'Variant' },\n itemsPerPage: { type: 'number', default: 1, label: 'Items Per Page' },\n defaultPage: { type: 'number', default: 0, label: 'Default Page' },\n label: { type: 'string', default: 'Carousel', label: 'Aria Label' },\n },\n guideline:\n 'Root of the carousel. Provides paging state to all parts. Compose as: CarouselRoot > (CarouselTrack > [item children] + CarouselPrevious + CarouselNext + CarouselBullets). Set infiniteMode=true to loop seamlessly (arrows never disable); variant=\"scroll\" for native overflow, \"slide\" for transform transitions. itemsPerPage sets how many children are visible per page. Holds no product or media data — nest any children in CarouselTrack.',\n});\n\nexport const CarouselTrackDefinition = defineComponent<CarouselTrackProps>({\n name: 'CarouselTrack',\n importPath: '@vtex/faststore/components',\n component: CarouselTrack,\n editor: { label: 'Carousel Track', category: 'layout' },\n schema: {},\n guideline:\n 'Lays out the carousel items as a single track and reports the child count to CarouselRoot. Wraps each child in an item slot sized to 100/itemsPerPage percent. In slide variant it translates by page; in scroll variant it is the native scroll-snap container. Place the iterated children (e.g. product cards) directly inside. Must be inside CarouselRoot.',\n});\n\nexport const CarouselPreviousDefinition = defineComponent<CarouselPreviousProps>({\n name: 'CarouselPrevious',\n importPath: '@vtex/faststore/components',\n component: CarouselPrevious,\n editor: { label: 'Carousel Previous', category: 'action' },\n schema: {},\n guideline:\n 'Moves the track one page backward. Disabled on the first page when infiniteMode is off; never disabled when infiniteMode is on (wraps to the last page). Accepts any children (Icon, text). Must be inside CarouselRoot.',\n});\n\nexport const CarouselNextDefinition = defineComponent<CarouselNextProps>({\n name: 'CarouselNext',\n importPath: '@vtex/faststore/components',\n component: CarouselNext,\n editor: { label: 'Carousel Next', category: 'action' },\n schema: {},\n guideline:\n 'Moves the track one page forward. Disabled on the last page when infiniteMode is off; never disabled when infiniteMode is on (wraps to the first page). Accepts any children (Icon, text). Must be inside CarouselRoot.',\n});\n\nexport const CarouselBulletsDefinition = defineComponent<CarouselBulletsProps>({\n name: 'CarouselBullets',\n importPath: '@vtex/faststore/components',\n component: CarouselBullets,\n editor: { label: 'Carousel Bullets', category: 'action' },\n schema: {\n ariaLabel: { type: 'string', default: 'Choose page', label: 'Aria Label' },\n bulletLabel: { type: 'string', default: 'Go to page {page}', label: 'Bullet Label Template' },\n hideWhenSingle: { type: 'boolean', default: true, label: 'Hide when single page' },\n },\n guideline:\n 'Renders one bullet button per page and marks the active page. Supports ArrowLeft/ArrowRight/Home/End keyboard navigation. Returns null when there is a single page unless hideWhenSingle={false}. Use {page} in bulletLabel for the 1-based page number. Must be inside CarouselRoot.',\n});\n\nexport const Carousel = {\n Root: CarouselRoot,\n Track: CarouselTrack,\n Previous: CarouselPrevious,\n Next: CarouselNext,\n Bullets: CarouselBullets,\n};\n"],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { ComponentDefinition } from "../../core/dist/define-component.js";
2
+ import "../../core/dist/index.js";
3
+ import { ComponentPropsWithRef, ReactNode } from "react";
4
+ //#region src/particles/checkbox/checkbox.d.ts
5
+ export type CheckboxRootProps = {
6
+ checked?: boolean;
7
+ defaultChecked?: boolean;
8
+ onCheckedChange?: (checked: boolean) => void;
9
+ indeterminate?: boolean;
10
+ disabled?: boolean;
11
+ readOnly?: boolean;
12
+ required?: boolean;
13
+ name?: string;
14
+ value?: string;
15
+ id?: string;
16
+ className?: string;
17
+ children?: ReactNode;
18
+ };
19
+ export type CheckboxIndicatorProps = ComponentPropsWithRef<'span'> & {
20
+ keepMounted?: boolean;
21
+ };
22
+ export type CheckboxGroupProps = Omit<ComponentPropsWithRef<'div'>, 'defaultValue'> & {
23
+ value?: string[];
24
+ defaultValue?: string[];
25
+ onValueChange?: (value: string[]) => void;
26
+ allValues?: string[];
27
+ disabled?: boolean;
28
+ };
29
+ export declare const CheckboxRootDefinition: ComponentDefinition<CheckboxRootProps>;
30
+ export declare const CheckboxIndicatorDefinition: ComponentDefinition<CheckboxIndicatorProps>;
31
+ export declare const CheckboxGroupDefinition: ComponentDefinition<CheckboxGroupProps>;
32
+ export declare function CheckboxRoot({ checked, defaultChecked, onCheckedChange, indeterminate, disabled, readOnly, required, name, value, id, className, children }: CheckboxRootProps): import("react/jsx-runtime").JSX.Element;
33
+ export declare function CheckboxIndicator({ keepMounted, className, children, ...props }: CheckboxIndicatorProps): import("react/jsx-runtime").JSX.Element;
34
+ export declare function CheckboxGroup({ className, children, ...props }: CheckboxGroupProps): import("react/jsx-runtime").JSX.Element;
35
+ export declare const Checkbox: {
36
+ Root: typeof CheckboxRoot;
37
+ Indicator: typeof CheckboxIndicator;
38
+ };
39
+ //#endregion
40
+ //# sourceMappingURL=checkbox.d.ts.map
@@ -0,0 +1,82 @@
1
+ "use client";
2
+ import { defineComponent } from "../../core/dist/define-component.js";
3
+ import "../../core/dist/index.js";
4
+ import { jsx } from "react/jsx-runtime";
5
+ import { Checkbox } from "@base-ui/react/checkbox";
6
+ import { CheckboxGroup } from "@base-ui/react/checkbox-group";
7
+ //#region src/particles/checkbox/checkbox.tsx
8
+ const CheckboxRootDefinition = defineComponent({
9
+ name: "CheckboxRoot",
10
+ importPath: "@vtex/faststore/components",
11
+ component: CheckboxRoot,
12
+ editor: {
13
+ label: "Checkbox Root",
14
+ category: "action"
15
+ },
16
+ schema: {},
17
+ guideline: "Form checkbox that integrates with Field for labeling and validation. Requires a Checkbox.Indicator child for visual state. Use indeterminate for partial selection in nested lists."
18
+ });
19
+ const CheckboxIndicatorDefinition = defineComponent({
20
+ name: "CheckboxIndicator",
21
+ importPath: "@vtex/faststore/components",
22
+ component: CheckboxIndicator,
23
+ editor: {
24
+ label: "Checkbox Indicator",
25
+ category: "layout"
26
+ },
27
+ schema: {},
28
+ guideline: "Visual indicator inside Checkbox.Root showing checked/indeterminate state. Render a checkmark SVG as a child. Visible only when checked or indeterminate via data-checked/data-indeterminate."
29
+ });
30
+ const CheckboxGroupDefinition = defineComponent({
31
+ name: "CheckboxGroup",
32
+ importPath: "@vtex/faststore/components",
33
+ component: CheckboxGroup$1,
34
+ editor: {
35
+ label: "Checkbox Group",
36
+ category: "layout"
37
+ },
38
+ schema: {},
39
+ guideline: "Shared state container for a series of checkboxes. Use allValues to enable select-all behavior. Contains Checkbox.Root children with individual value props."
40
+ });
41
+ function CheckboxRoot({ checked, defaultChecked, onCheckedChange, indeterminate, disabled, readOnly, required, name, value, id, className, children }) {
42
+ return /* @__PURE__ */ jsx(Checkbox.Root, {
43
+ checked,
44
+ defaultChecked,
45
+ onCheckedChange,
46
+ indeterminate,
47
+ disabled,
48
+ readOnly,
49
+ required,
50
+ name,
51
+ value,
52
+ id,
53
+ className,
54
+ "data-fs-checkbox-root": "",
55
+ children
56
+ });
57
+ }
58
+ function CheckboxIndicator({ keepMounted = false, className, children, ...props }) {
59
+ return /* @__PURE__ */ jsx(Checkbox.Indicator, {
60
+ ...props,
61
+ keepMounted,
62
+ className,
63
+ "data-fs-checkbox-indicator": "",
64
+ children
65
+ });
66
+ }
67
+ function CheckboxGroup$1({ className, children, ...props }) {
68
+ return /* @__PURE__ */ jsx(CheckboxGroup, {
69
+ ...props,
70
+ className,
71
+ "data-fs-checkbox-group": "",
72
+ children
73
+ });
74
+ }
75
+ const Checkbox$1 = {
76
+ Root: CheckboxRoot,
77
+ Indicator: CheckboxIndicator
78
+ };
79
+ //#endregion
80
+ export { Checkbox$1 as Checkbox, CheckboxGroup$1 as CheckboxGroup, CheckboxGroupDefinition, CheckboxIndicator, CheckboxIndicatorDefinition, CheckboxRoot, CheckboxRootDefinition };
81
+
82
+ //# sourceMappingURL=checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.js","names":["CheckboxGroup","BaseCheckbox","BaseCheckboxGroup","Checkbox"],"sources":["../../../src/particles/checkbox/checkbox.tsx"],"sourcesContent":["'use client';\nimport { Checkbox as BaseCheckbox } from '@base-ui/react/checkbox';\nimport { CheckboxGroup as BaseCheckboxGroup } from '@base-ui/react/checkbox-group';\nimport { defineComponent } from '@vtex/fs-core';\nimport type { ComponentPropsWithRef, ReactNode } from 'react';\n\nexport type CheckboxRootProps = {\n checked?: boolean;\n defaultChecked?: boolean;\n onCheckedChange?: (checked: boolean) => void;\n indeterminate?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n required?: boolean;\n name?: string;\n value?: string;\n id?: string;\n className?: string;\n children?: ReactNode;\n};\n\nexport type CheckboxIndicatorProps = ComponentPropsWithRef<'span'> & {\n keepMounted?: boolean;\n};\n\nexport type CheckboxGroupProps = Omit<ComponentPropsWithRef<'div'>, 'defaultValue'> & {\n value?: string[];\n defaultValue?: string[];\n onValueChange?: (value: string[]) => void;\n allValues?: string[];\n disabled?: boolean;\n};\n\nexport const CheckboxRootDefinition = defineComponent<CheckboxRootProps>({\n name: 'CheckboxRoot',\n importPath: '@vtex/faststore/components',\n component: CheckboxRoot,\n editor: { label: 'Checkbox Root', category: 'action' },\n schema: {},\n guideline:\n 'Form checkbox that integrates with Field for labeling and validation. Requires a Checkbox.Indicator child for visual state. Use indeterminate for partial selection in nested lists.',\n});\n\nexport const CheckboxIndicatorDefinition = defineComponent<CheckboxIndicatorProps>({\n name: 'CheckboxIndicator',\n importPath: '@vtex/faststore/components',\n component: CheckboxIndicator,\n editor: { label: 'Checkbox Indicator', category: 'layout' },\n schema: {},\n guideline:\n 'Visual indicator inside Checkbox.Root showing checked/indeterminate state. Render a checkmark SVG as a child. Visible only when checked or indeterminate via data-checked/data-indeterminate.',\n});\n\nexport const CheckboxGroupDefinition = defineComponent<CheckboxGroupProps>({\n name: 'CheckboxGroup',\n importPath: '@vtex/faststore/components',\n component: CheckboxGroup,\n editor: { label: 'Checkbox Group', category: 'layout' },\n schema: {},\n guideline:\n 'Shared state container for a series of checkboxes. Use allValues to enable select-all behavior. Contains Checkbox.Root children with individual value props.',\n});\n\nexport function CheckboxRoot({\n checked,\n defaultChecked,\n onCheckedChange,\n indeterminate,\n disabled,\n readOnly,\n required,\n name,\n value,\n id,\n className,\n children,\n}: CheckboxRootProps) {\n return (\n <BaseCheckbox.Root\n checked={checked}\n defaultChecked={defaultChecked}\n onCheckedChange={onCheckedChange}\n indeterminate={indeterminate}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n name={name}\n value={value}\n id={id}\n className={className}\n data-fs-checkbox-root=\"\"\n >\n {children}\n </BaseCheckbox.Root>\n );\n}\n\nexport function CheckboxIndicator({ keepMounted = false, className, children, ...props }: CheckboxIndicatorProps) {\n return (\n <BaseCheckbox.Indicator {...props} keepMounted={keepMounted} className={className} data-fs-checkbox-indicator=\"\">\n {children}\n </BaseCheckbox.Indicator>\n );\n}\n\nexport function CheckboxGroup({ className, children, ...props }: CheckboxGroupProps) {\n return (\n <BaseCheckboxGroup {...props} className={className} data-fs-checkbox-group=\"\">\n {children}\n </BaseCheckboxGroup>\n );\n}\n\nexport const Checkbox = {\n Root: CheckboxRoot,\n Indicator: CheckboxIndicator,\n};\n"],"mappings":";;;;;;;AAiCA,MAAa,yBAAyB,gBAAmC;CACvE,MAAM;CACN,YAAY;CACZ,WAAW;CACX,QAAQ;EAAE,OAAO;EAAiB,UAAU;CAAS;CACrD,QAAQ,CAAC;CACT,WACE;AACJ,CAAC;AAED,MAAa,8BAA8B,gBAAwC;CACjF,MAAM;CACN,YAAY;CACZ,WAAW;CACX,QAAQ;EAAE,OAAO;EAAsB,UAAU;CAAS;CAC1D,QAAQ,CAAC;CACT,WACE;AACJ,CAAC;AAED,MAAa,0BAA0B,gBAAoC;CACzE,MAAM;CACN,YAAY;CACZ,WAAWA;CACX,QAAQ;EAAE,OAAO;EAAkB,UAAU;CAAS;CACtD,QAAQ,CAAC;CACT,WACE;AACJ,CAAC;AAED,SAAgB,aAAa,EAC3B,SACA,gBACA,iBACA,eACA,UACA,UACA,UACA,MACA,OACA,IACA,WACA,YACoB;CACpB,OACE,oBAACC,SAAa,MAAd;EACW;EACO;EACC;EACF;EACL;EACA;EACA;EACJ;EACC;EACH;EACO;EACX,yBAAsB;EAErB;CACgB,CAAA;AAEvB;AAEA,SAAgB,kBAAkB,EAAE,cAAc,OAAO,WAAW,UAAU,GAAG,SAAiC;CAChH,OACE,oBAACA,SAAa,WAAd;EAAwB,GAAI;EAAoB;EAAwB;EAAW,8BAA2B;EAC3G;CACqB,CAAA;AAE5B;AAEA,SAAgBD,gBAAc,EAAE,WAAW,UAAU,GAAG,SAA6B;CACnF,OACE,oBAACE,eAAD;EAAmB,GAAI;EAAkB;EAAW,0BAAuB;EACxE;CACgB,CAAA;AAEvB;AAEA,MAAaC,aAAW;CACtB,MAAM;CACN,WAAW;AACb"}
@@ -0,0 +1,20 @@
1
+ import { ComponentDefinition } from "../../core/dist/define-component.js";
2
+ import "../../core/dist/index.js";
3
+ import { ComponentPropsWithRef } from "react";
4
+ //#region src/particles/container/container.d.ts
5
+ /** Props for {@link Container}. Extends all native `<div>` attributes. */
6
+ export type ContainerProps = ComponentPropsWithRef<'div'>;
7
+ /**
8
+ * Container component that centers content with responsive max-width.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * <Container>
13
+ * <ProductTitle title="Product Name" />
14
+ * </Container>
15
+ * ```
16
+ */
17
+ export declare const ContainerDefinition: ComponentDefinition<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>;
18
+ export declare function Container({ className, children, ...props }: ContainerProps): import("react/jsx-runtime").JSX.Element;
19
+ //#endregion
20
+ //# sourceMappingURL=container.d.ts.map
@@ -0,0 +1,36 @@
1
+ import { defineComponent } from "../../core/dist/define-component.js";
2
+ import "../../core/dist/index.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/particles/container/container.tsx
5
+ /**
6
+ * Container component that centers content with responsive max-width.
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * <Container>
11
+ * <ProductTitle title="Product Name" />
12
+ * </Container>
13
+ * ```
14
+ */
15
+ const ContainerDefinition = defineComponent({
16
+ name: "Container",
17
+ importPath: "@vtex/faststore/components",
18
+ component: Container,
19
+ editor: {
20
+ label: "Container",
21
+ category: "layout"
22
+ },
23
+ schema: {}
24
+ });
25
+ function Container({ className, children, ...props }) {
26
+ return /* @__PURE__ */ jsx("div", {
27
+ ...props,
28
+ className,
29
+ "data-fs-container": "",
30
+ children
31
+ });
32
+ }
33
+ //#endregion
34
+ export { Container, ContainerDefinition };
35
+
36
+ //# sourceMappingURL=container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.js","names":[],"sources":["../../../src/particles/container/container.tsx"],"sourcesContent":["import { defineComponent } from '@vtex/fs-core';\nimport type { ComponentPropsWithRef } from 'react';\n\n/** Props for {@link Container}. Extends all native `<div>` attributes. */\nexport type ContainerProps = ComponentPropsWithRef<'div'>;\n\n/**\n * Container component that centers content with responsive max-width.\n *\n * @example\n * ```tsx\n * <Container>\n * <ProductTitle title=\"Product Name\" />\n * </Container>\n * ```\n */\nexport const ContainerDefinition = defineComponent<ContainerProps>({\n name: 'Container',\n importPath: '@vtex/faststore/components',\n component: Container,\n editor: { label: 'Container', category: 'layout' },\n schema: {},\n});\n\nexport function Container({ className, children, ...props }: ContainerProps) {\n return (\n <div {...props} className={className} data-fs-container=\"\">\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;AAgBA,MAAa,sBAAsB,gBAAgC;CACjE,MAAM;CACN,YAAY;CACZ,WAAW;CACX,QAAQ;EAAE,OAAO;EAAa,UAAU;CAAS;CACjD,QAAQ,CAAC;AACX,CAAC;AAED,SAAgB,UAAU,EAAE,WAAW,UAAU,GAAG,SAAyB;CAC3E,OACE,oBAAC,OAAD;EAAK,GAAI;EAAkB;EAAW,qBAAkB;EACrD;CACE,CAAA;AAET"}
@@ -0,0 +1,54 @@
1
+ import { ComponentDefinition } from "../../core/dist/define-component.js";
2
+ import "../../core/dist/index.js";
3
+ import { ComponentPropsWithRef, ReactNode } from "react";
4
+ //#region src/particles/dialog/dialog.d.ts
5
+ export type DialogRootProps = {
6
+ open?: boolean;
7
+ defaultOpen?: boolean;
8
+ modal?: boolean;
9
+ onOpenChange?: (open: boolean, eventDetails: {
10
+ isCanceled: boolean;
11
+ }) => void;
12
+ children?: ReactNode;
13
+ };
14
+ export type DialogTriggerProps = ComponentPropsWithRef<'button'>;
15
+ export type DialogPortalProps = {
16
+ children?: ReactNode;
17
+ };
18
+ export type DialogBackdropProps = ComponentPropsWithRef<'div'>;
19
+ export type DialogViewportProps = ComponentPropsWithRef<'div'>;
20
+ export type DialogPopupProps = ComponentPropsWithRef<'div'>;
21
+ export type DialogTitleProps = ComponentPropsWithRef<'h2'>;
22
+ export type DialogDescriptionProps = ComponentPropsWithRef<'p'>;
23
+ export type DialogCloseProps = ComponentPropsWithRef<'button'>;
24
+ export declare const DialogRootDefinition: ComponentDefinition<DialogRootProps>;
25
+ export declare const DialogTriggerDefinition: ComponentDefinition<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>>;
26
+ export declare const DialogPortalDefinition: ComponentDefinition<DialogPortalProps>;
27
+ export declare const DialogBackdropDefinition: ComponentDefinition<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>;
28
+ export declare const DialogViewportDefinition: ComponentDefinition<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>;
29
+ export declare const DialogPopupDefinition: ComponentDefinition<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>;
30
+ export declare const DialogTitleDefinition: ComponentDefinition<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>>;
31
+ export declare const DialogDescriptionDefinition: ComponentDefinition<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>>;
32
+ export declare const DialogCloseDefinition: ComponentDefinition<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>>;
33
+ export declare function DialogRoot({ open, defaultOpen, modal, onOpenChange, children }: DialogRootProps): import("react/jsx-runtime").JSX.Element;
34
+ export declare function DialogTrigger({ className, children, ...props }: DialogTriggerProps): import("react/jsx-runtime").JSX.Element;
35
+ export declare function DialogPortal({ children }: DialogPortalProps): import("react/jsx-runtime").JSX.Element;
36
+ export declare function DialogBackdrop({ className, children, ...props }: DialogBackdropProps): import("react/jsx-runtime").JSX.Element;
37
+ export declare function DialogViewport({ className, children, ...props }: DialogViewportProps): import("react/jsx-runtime").JSX.Element;
38
+ export declare function DialogPopup({ className, children, ...props }: DialogPopupProps): import("react/jsx-runtime").JSX.Element;
39
+ export declare function DialogTitle({ className, children, ...props }: DialogTitleProps): import("react/jsx-runtime").JSX.Element;
40
+ export declare function DialogDescription({ className, children, ...props }: DialogDescriptionProps): import("react/jsx-runtime").JSX.Element;
41
+ export declare function DialogClose({ className, children, ...props }: DialogCloseProps): import("react/jsx-runtime").JSX.Element;
42
+ export declare const Dialog: {
43
+ Root: typeof DialogRoot;
44
+ Trigger: typeof DialogTrigger;
45
+ Portal: typeof DialogPortal;
46
+ Backdrop: typeof DialogBackdrop;
47
+ Viewport: typeof DialogViewport;
48
+ Popup: typeof DialogPopup;
49
+ Title: typeof DialogTitle;
50
+ Description: typeof DialogDescription;
51
+ Close: typeof DialogClose;
52
+ };
53
+ //#endregion
54
+ //# sourceMappingURL=dialog.d.ts.map
@@ -0,0 +1,192 @@
1
+ "use client";
2
+ import { defineComponent } from "../../core/dist/define-component.js";
3
+ import "../../core/dist/index.js";
4
+ import { jsx } from "react/jsx-runtime";
5
+ import { Dialog } from "@base-ui/react/dialog";
6
+ //#region src/particles/dialog/dialog.tsx
7
+ const DialogRootDefinition = defineComponent({
8
+ name: "DialogRoot",
9
+ importPath: "@vtex/faststore/components",
10
+ component: DialogRoot,
11
+ editor: {
12
+ label: "Dialog Root",
13
+ category: "layout"
14
+ },
15
+ schema: { modal: {
16
+ type: "boolean",
17
+ default: true,
18
+ label: "Modal"
19
+ } },
20
+ guideline: "Root of a dialog overlay. Compose as: DialogRoot > (DialogTrigger + DialogPortal > (DialogBackdrop + DialogViewport > DialogPopup > (DialogTitle + content + DialogClose))). Set modal=false only when the dialog must coexist with page interactions."
21
+ });
22
+ const DialogTriggerDefinition = defineComponent({
23
+ name: "DialogTrigger",
24
+ importPath: "@vtex/faststore/components",
25
+ component: DialogTrigger,
26
+ editor: {
27
+ label: "Dialog Trigger",
28
+ category: "action"
29
+ },
30
+ schema: {},
31
+ guideline: "Opens the dialog when clicked. Direct child of DialogRoot. Accepts any children (text, Icon). Base UI connects it to DialogRoot via context — no explicit wiring needed."
32
+ });
33
+ const DialogPortalDefinition = defineComponent({
34
+ name: "DialogPortal",
35
+ importPath: "@vtex/faststore/components",
36
+ component: DialogPortal,
37
+ editor: {
38
+ label: "Dialog Portal",
39
+ category: "layout"
40
+ },
41
+ schema: {},
42
+ guideline: "Renders its children outside the DOM tree (into document.body). Place DialogBackdrop and DialogViewport as direct children, in that order."
43
+ });
44
+ const DialogBackdropDefinition = defineComponent({
45
+ name: "DialogBackdrop",
46
+ importPath: "@vtex/faststore/components",
47
+ component: DialogBackdrop,
48
+ editor: {
49
+ label: "Dialog Backdrop",
50
+ category: "layout"
51
+ },
52
+ schema: {},
53
+ guideline: "Semi-transparent overlay behind the popup. Direct child of DialogPortal, before DialogViewport. Clicking it closes the dialog unless disablePointerDismissal is set on DialogRoot."
54
+ });
55
+ const DialogViewportDefinition = defineComponent({
56
+ name: "DialogViewport",
57
+ importPath: "@vtex/faststore/components",
58
+ component: DialogViewport,
59
+ editor: {
60
+ label: "Dialog Viewport",
61
+ category: "layout"
62
+ },
63
+ schema: {},
64
+ guideline: "Positioning container for DialogPopup. Direct child of DialogPortal, after DialogBackdrop. Apply fixed positioning and centering here (e.g. fixed inset-0 flex items-center justify-center). Place DialogPopup inside."
65
+ });
66
+ const DialogPopupDefinition = defineComponent({
67
+ name: "DialogPopup",
68
+ importPath: "@vtex/faststore/components",
69
+ component: DialogPopup,
70
+ editor: {
71
+ label: "Dialog Popup",
72
+ category: "layout"
73
+ },
74
+ schema: {},
75
+ guideline: "The visible dialog panel, inside DialogViewport. Place DialogTitle (required), optional DialogDescription, your content, and DialogClose inside. Style with a background, padding, and shadow."
76
+ });
77
+ const DialogTitleDefinition = defineComponent({
78
+ name: "DialogTitle",
79
+ importPath: "@vtex/faststore/components",
80
+ component: DialogTitle,
81
+ editor: {
82
+ label: "Dialog Title",
83
+ category: "layout"
84
+ },
85
+ schema: {},
86
+ guideline: "Required heading inside DialogPopup — sets the accessible name of the dialog for screen readers. Use sr-only to hide it visually when a visual title already exists."
87
+ });
88
+ const DialogDescriptionDefinition = defineComponent({
89
+ name: "DialogDescription",
90
+ importPath: "@vtex/faststore/components",
91
+ component: DialogDescription,
92
+ editor: {
93
+ label: "Dialog Description",
94
+ category: "layout"
95
+ },
96
+ schema: {},
97
+ guideline: "Optional description inside DialogPopup, after DialogTitle. Provides additional context to screen readers. Omit if the dialog content is self-explanatory."
98
+ });
99
+ const DialogCloseDefinition = defineComponent({
100
+ name: "DialogClose",
101
+ importPath: "@vtex/faststore/components",
102
+ component: DialogClose,
103
+ editor: {
104
+ label: "Dialog Close",
105
+ category: "action"
106
+ },
107
+ schema: {},
108
+ guideline: "Closes the dialog when clicked. Place inside DialogPopup — can appear multiple times (e.g., close icon at top-right and a Cancel button at the bottom)."
109
+ });
110
+ function DialogRoot({ open, defaultOpen, modal = true, onOpenChange, children }) {
111
+ return /* @__PURE__ */ jsx(Dialog.Root, {
112
+ open,
113
+ defaultOpen,
114
+ modal,
115
+ onOpenChange,
116
+ children
117
+ });
118
+ }
119
+ function DialogTrigger({ className, children, ...props }) {
120
+ return /* @__PURE__ */ jsx(Dialog.Trigger, {
121
+ ...props,
122
+ className,
123
+ "data-fs-dialog-trigger": "",
124
+ children
125
+ });
126
+ }
127
+ function DialogPortal({ children }) {
128
+ return /* @__PURE__ */ jsx(Dialog.Portal, { children });
129
+ }
130
+ function DialogBackdrop({ className, children, ...props }) {
131
+ return /* @__PURE__ */ jsx(Dialog.Backdrop, {
132
+ ...props,
133
+ className,
134
+ "data-fs-dialog-backdrop": "",
135
+ children
136
+ });
137
+ }
138
+ function DialogViewport({ className, children, ...props }) {
139
+ return /* @__PURE__ */ jsx("div", {
140
+ ...props,
141
+ className,
142
+ "data-fs-dialog-viewport": "",
143
+ children
144
+ });
145
+ }
146
+ function DialogPopup({ className, children, ...props }) {
147
+ return /* @__PURE__ */ jsx(Dialog.Popup, {
148
+ ...props,
149
+ className,
150
+ "data-fs-dialog-popup": "",
151
+ children
152
+ });
153
+ }
154
+ function DialogTitle({ className, children, ...props }) {
155
+ return /* @__PURE__ */ jsx(Dialog.Title, {
156
+ ...props,
157
+ className,
158
+ "data-fs-dialog-title": "",
159
+ children
160
+ });
161
+ }
162
+ function DialogDescription({ className, children, ...props }) {
163
+ return /* @__PURE__ */ jsx(Dialog.Description, {
164
+ ...props,
165
+ className,
166
+ "data-fs-dialog-description": "",
167
+ children
168
+ });
169
+ }
170
+ function DialogClose({ className, children, ...props }) {
171
+ return /* @__PURE__ */ jsx(Dialog.Close, {
172
+ ...props,
173
+ className,
174
+ "data-fs-dialog-close": "",
175
+ children
176
+ });
177
+ }
178
+ const Dialog$1 = {
179
+ Root: DialogRoot,
180
+ Trigger: DialogTrigger,
181
+ Portal: DialogPortal,
182
+ Backdrop: DialogBackdrop,
183
+ Viewport: DialogViewport,
184
+ Popup: DialogPopup,
185
+ Title: DialogTitle,
186
+ Description: DialogDescription,
187
+ Close: DialogClose
188
+ };
189
+ //#endregion
190
+ export { Dialog$1 as Dialog, DialogBackdrop, DialogBackdropDefinition, DialogClose, DialogCloseDefinition, DialogDescription, DialogDescriptionDefinition, DialogPopup, DialogPopupDefinition, DialogPortal, DialogPortalDefinition, DialogRoot, DialogRootDefinition, DialogTitle, DialogTitleDefinition, DialogTrigger, DialogTriggerDefinition, DialogViewport, DialogViewportDefinition };
191
+
192
+ //# sourceMappingURL=dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.js","names":["BaseDialog","Dialog"],"sources":["../../../src/particles/dialog/dialog.tsx"],"sourcesContent":["'use client';\nimport { Dialog as BaseDialog } from '@base-ui/react/dialog';\nimport { defineComponent } from '@vtex/fs-core';\nimport type { ComponentPropsWithRef, ReactNode } from 'react';\n\nexport type DialogRootProps = {\n open?: boolean;\n defaultOpen?: boolean;\n modal?: boolean;\n onOpenChange?: (open: boolean, eventDetails: { isCanceled: boolean }) => void;\n children?: ReactNode;\n};\n\nexport type DialogTriggerProps = ComponentPropsWithRef<'button'>;\n\nexport type DialogPortalProps = {\n children?: ReactNode;\n};\n\nexport type DialogBackdropProps = ComponentPropsWithRef<'div'>;\n\nexport type DialogViewportProps = ComponentPropsWithRef<'div'>;\n\nexport type DialogPopupProps = ComponentPropsWithRef<'div'>;\n\nexport type DialogTitleProps = ComponentPropsWithRef<'h2'>;\n\nexport type DialogDescriptionProps = ComponentPropsWithRef<'p'>;\n\nexport type DialogCloseProps = ComponentPropsWithRef<'button'>;\n\nexport const DialogRootDefinition = defineComponent<DialogRootProps>({\n name: 'DialogRoot',\n importPath: '@vtex/faststore/components',\n component: DialogRoot,\n editor: { label: 'Dialog Root', category: 'layout' },\n schema: {\n modal: { type: 'boolean', default: true, label: 'Modal' },\n },\n guideline:\n 'Root of a dialog overlay. Compose as: DialogRoot > (DialogTrigger + DialogPortal > (DialogBackdrop + DialogViewport > DialogPopup > (DialogTitle + content + DialogClose))). Set modal=false only when the dialog must coexist with page interactions.',\n});\n\nexport const DialogTriggerDefinition = defineComponent<DialogTriggerProps>({\n name: 'DialogTrigger',\n importPath: '@vtex/faststore/components',\n component: DialogTrigger,\n editor: { label: 'Dialog Trigger', category: 'action' },\n schema: {},\n guideline:\n 'Opens the dialog when clicked. Direct child of DialogRoot. Accepts any children (text, Icon). Base UI connects it to DialogRoot via context — no explicit wiring needed.',\n});\n\nexport const DialogPortalDefinition = defineComponent<DialogPortalProps>({\n name: 'DialogPortal',\n importPath: '@vtex/faststore/components',\n component: DialogPortal,\n editor: { label: 'Dialog Portal', category: 'layout' },\n schema: {},\n guideline:\n 'Renders its children outside the DOM tree (into document.body). Place DialogBackdrop and DialogViewport as direct children, in that order.',\n});\n\nexport const DialogBackdropDefinition = defineComponent<DialogBackdropProps>({\n name: 'DialogBackdrop',\n importPath: '@vtex/faststore/components',\n component: DialogBackdrop,\n editor: { label: 'Dialog Backdrop', category: 'layout' },\n schema: {},\n guideline:\n 'Semi-transparent overlay behind the popup. Direct child of DialogPortal, before DialogViewport. Clicking it closes the dialog unless disablePointerDismissal is set on DialogRoot.',\n});\n\nexport const DialogViewportDefinition = defineComponent<DialogViewportProps>({\n name: 'DialogViewport',\n importPath: '@vtex/faststore/components',\n component: DialogViewport,\n editor: { label: 'Dialog Viewport', category: 'layout' },\n schema: {},\n guideline:\n 'Positioning container for DialogPopup. Direct child of DialogPortal, after DialogBackdrop. Apply fixed positioning and centering here (e.g. fixed inset-0 flex items-center justify-center). Place DialogPopup inside.',\n});\n\nexport const DialogPopupDefinition = defineComponent<DialogPopupProps>({\n name: 'DialogPopup',\n importPath: '@vtex/faststore/components',\n component: DialogPopup,\n editor: { label: 'Dialog Popup', category: 'layout' },\n schema: {},\n guideline:\n 'The visible dialog panel, inside DialogViewport. Place DialogTitle (required), optional DialogDescription, your content, and DialogClose inside. Style with a background, padding, and shadow.',\n});\n\nexport const DialogTitleDefinition = defineComponent<DialogTitleProps>({\n name: 'DialogTitle',\n importPath: '@vtex/faststore/components',\n component: DialogTitle,\n editor: { label: 'Dialog Title', category: 'layout' },\n schema: {},\n guideline:\n 'Required heading inside DialogPopup — sets the accessible name of the dialog for screen readers. Use sr-only to hide it visually when a visual title already exists.',\n});\n\nexport const DialogDescriptionDefinition = defineComponent<DialogDescriptionProps>({\n name: 'DialogDescription',\n importPath: '@vtex/faststore/components',\n component: DialogDescription,\n editor: { label: 'Dialog Description', category: 'layout' },\n schema: {},\n guideline:\n 'Optional description inside DialogPopup, after DialogTitle. Provides additional context to screen readers. Omit if the dialog content is self-explanatory.',\n});\n\nexport const DialogCloseDefinition = defineComponent<DialogCloseProps>({\n name: 'DialogClose',\n importPath: '@vtex/faststore/components',\n component: DialogClose,\n editor: { label: 'Dialog Close', category: 'action' },\n schema: {},\n guideline:\n 'Closes the dialog when clicked. Place inside DialogPopup — can appear multiple times (e.g., close icon at top-right and a Cancel button at the bottom).',\n});\n\nexport function DialogRoot({ open, defaultOpen, modal = true, onOpenChange, children }: DialogRootProps) {\n return (\n <BaseDialog.Root open={open} defaultOpen={defaultOpen} modal={modal} onOpenChange={onOpenChange}>\n {children}\n </BaseDialog.Root>\n );\n}\n\nexport function DialogTrigger({ className, children, ...props }: DialogTriggerProps) {\n return (\n <BaseDialog.Trigger {...props} className={className} data-fs-dialog-trigger=\"\">\n {children}\n </BaseDialog.Trigger>\n );\n}\n\nexport function DialogPortal({ children }: DialogPortalProps) {\n return <BaseDialog.Portal>{children}</BaseDialog.Portal>;\n}\n\nexport function DialogBackdrop({ className, children, ...props }: DialogBackdropProps) {\n return (\n <BaseDialog.Backdrop {...props} className={className} data-fs-dialog-backdrop=\"\">\n {children}\n </BaseDialog.Backdrop>\n );\n}\n\nexport function DialogViewport({ className, children, ...props }: DialogViewportProps) {\n return (\n <div {...props} className={className} data-fs-dialog-viewport=\"\">\n {children}\n </div>\n );\n}\n\nexport function DialogPopup({ className, children, ...props }: DialogPopupProps) {\n return (\n <BaseDialog.Popup {...props} className={className} data-fs-dialog-popup=\"\">\n {children}\n </BaseDialog.Popup>\n );\n}\n\nexport function DialogTitle({ className, children, ...props }: DialogTitleProps) {\n return (\n <BaseDialog.Title {...props} className={className} data-fs-dialog-title=\"\">\n {children}\n </BaseDialog.Title>\n );\n}\n\nexport function DialogDescription({ className, children, ...props }: DialogDescriptionProps) {\n return (\n <BaseDialog.Description {...props} className={className} data-fs-dialog-description=\"\">\n {children}\n </BaseDialog.Description>\n );\n}\n\nexport function DialogClose({ className, children, ...props }: DialogCloseProps) {\n return (\n <BaseDialog.Close {...props} className={className} data-fs-dialog-close=\"\">\n {children}\n </BaseDialog.Close>\n );\n}\n\nexport const Dialog = {\n Root: DialogRoot,\n Trigger: DialogTrigger,\n Portal: DialogPortal,\n Backdrop: DialogBackdrop,\n Viewport: DialogViewport,\n Popup: DialogPopup,\n Title: DialogTitle,\n Description: DialogDescription,\n Close: DialogClose,\n};\n"],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { ComponentDefinition } from "../../core/dist/define-component.js";
2
+ import "../../core/dist/index.js";
3
+ import { applyMask } from "../shared/input-mask.js";
4
+ import { ComponentPropsWithRef, FocusEvent } from "react";
5
+ //#region src/particles/document-field/document-field.d.ts
6
+ export type DocumentType = 'CPF';
7
+ export type DocumentSpec = {
8
+ id: DocumentType;
9
+ name: string;
10
+ mask: string;
11
+ validate: (value: string) => boolean;
12
+ };
13
+ export type DocumentFieldProps = Omit<ComponentPropsWithRef<'div'>, 'defaultValue' | 'value' | 'onChange' | 'onBlur'> & {
14
+ value?: string;
15
+ defaultValue?: string;
16
+ onValueChange?: (value: string) => void;
17
+ onBlur?: (event: FocusEvent<HTMLInputElement>) => void;
18
+ invalid?: boolean;
19
+ errorMessage?: string;
20
+ label?: string;
21
+ placeholder?: string;
22
+ disabled?: boolean;
23
+ required?: boolean;
24
+ name?: string;
25
+ documentType?: DocumentType;
26
+ };
27
+ /**
28
+ * CPF check-digit validation, ported from the legacy `validateCPF`. Strips non-digits, requires
29
+ * exactly 11 digits, rejects all-equal sequences (e.g. `111.111.111-11`), and verifies both check
30
+ * digits. Runs on blur/submit only, never per keystroke.
31
+ */
32
+ export declare function validateCPF(value: string): boolean;
33
+ export declare const DOCUMENTS: Record<DocumentType, DocumentSpec>;
34
+ /** True when `type` is a document type this build supports (lets a host gate the field by locale). */
35
+ export declare function isSupportedDocumentType(type: unknown): type is DocumentType;
36
+ /**
37
+ * Apply a document type's mask to raw input: strip non-digits for digit-only masks, then truncate to
38
+ * the mask's slot count so excess characters never trail past the mask (e.g. a 15-digit paste into
39
+ * the 11-slot CPF mask yields `111.444.777-35`, not `111.444.777-358888`).
40
+ */
41
+ export declare function maskDocumentValue(rawValue: string, documentType: DocumentType): string;
42
+ /**
43
+ * Check-digit validity for a document value. An **empty** value is valid (the field is optional),
44
+ * mirroring the legacy `validateCardholderDocument`; a non-empty value must pass the document
45
+ * type's check-digit validation.
46
+ */
47
+ export declare function isValidDocument(value: string, documentType: DocumentType): boolean;
48
+ export declare const DocumentFieldDefinition: ComponentDefinition<DocumentFieldProps>;
49
+ /**
50
+ * Presentational tax-document input (particle). Composes the `Field` particle (`Field.Root` +
51
+ * `Field.Label` + `Field.Control` + `Field.Error`) and owns the locale mask (applied progressively on
52
+ * every change, never blocking typing) plus check-digit validation (run on blur/submit only — never
53
+ * per keystroke). An empty value is valid (the field is optional). It surfaces `errorMessage` inline
54
+ * when the check digit fails or when the host forces `invalid` (e.g. a server error surfaced by the
55
+ * form that owns the write). It consumes no GraphQL and no domain context — value flows through
56
+ * `value`/`defaultValue`/`onValueChange`, and `documentType` selects the mask + validator.
57
+ */
58
+ export declare function DocumentField({ value, defaultValue, onValueChange, onBlur, invalid, errorMessage, label, placeholder, disabled, required, name, documentType, className, ...props }: DocumentFieldProps): import("react/jsx-runtime").JSX.Element;
59
+ //#endregion
60
+ export { applyMask };
61
+ //# sourceMappingURL=document-field.d.ts.map