@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,129 @@
1
+ "use client";
2
+ import { defineComponent } from "../../core/dist/define-component.js";
3
+ import "../../core/dist/index.js";
4
+ import { createContext, useContext } from "react";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ //#region src/particles/address-summary/address-summary.tsx
7
+ const AddressSummaryContext = createContext(null);
8
+ function useAddressSummary() {
9
+ const ctx = useContext(AddressSummaryContext);
10
+ if (!ctx) throw new Error("AddressSummary must be used inside AddressSummaryRoot.");
11
+ return ctx;
12
+ }
13
+ const AddressSummaryRootDefinition = defineComponent({
14
+ name: "AddressSummaryRoot",
15
+ importPath: "@vtex/faststore/components",
16
+ component: AddressSummaryRoot,
17
+ providesContext: "address-summary",
18
+ editor: {
19
+ label: "Address Summary Root",
20
+ category: "content"
21
+ },
22
+ schema: {},
23
+ guideline: "Provides a postal address to descendant presentational components via context (no business coupling). Compose a matter component that owns address data as the source of the address prop, and AddressSummary (or a future alternative presentation reading the same context) as the child that renders it."
24
+ });
25
+ const AddressSummaryDefinition = defineComponent({
26
+ name: "AddressSummary",
27
+ importPath: "@vtex/faststore/components",
28
+ component: AddressSummary,
29
+ requiresContext: "address-summary",
30
+ editor: {
31
+ label: "Address Summary",
32
+ category: "content"
33
+ },
34
+ schema: {},
35
+ guideline: "The address block: recipient, street line, locality line, in that order by default. Compose AddressSummaryRecipient / Street / Locality as children to choose the order or drop a line; the wrapper, and any styling on it, is the same either way. Must be a descendant of AddressSummaryRoot."
36
+ });
37
+ const AddressSummaryRecipientDefinition = defineComponent({
38
+ name: "AddressSummaryRecipient",
39
+ importPath: "@vtex/faststore/components",
40
+ component: AddressSummaryRecipient,
41
+ requiresContext: "address-summary",
42
+ editor: {
43
+ label: "Address Summary Recipient",
44
+ category: "content"
45
+ },
46
+ schema: {},
47
+ guideline: "Who the delivery is addressed to, or nothing when the address carries no recipient. Place it in whatever order the summary should read. Must be a descendant of AddressSummaryRoot."
48
+ });
49
+ const AddressSummaryStreetDefinition = defineComponent({
50
+ name: "AddressSummaryStreet",
51
+ importPath: "@vtex/faststore/components",
52
+ component: AddressSummaryStreet,
53
+ requiresContext: "address-summary",
54
+ editor: {
55
+ label: "Address Summary Street",
56
+ category: "content"
57
+ },
58
+ schema: {},
59
+ guideline: "Street, number and complement on one line, or nothing when all three are absent. Must be a descendant of AddressSummaryRoot."
60
+ });
61
+ const AddressSummaryLocalityDefinition = defineComponent({
62
+ name: "AddressSummaryLocality",
63
+ importPath: "@vtex/faststore/components",
64
+ component: AddressSummaryLocality,
65
+ requiresContext: "address-summary",
66
+ editor: {
67
+ label: "Address Summary Locality",
68
+ category: "content"
69
+ },
70
+ schema: {},
71
+ guideline: "Neighborhood, city, state and postal code on one line, or nothing when all are absent. Must be a descendant of AddressSummaryRoot."
72
+ });
73
+ function AddressSummaryRoot({ address, children }) {
74
+ return /* @__PURE__ */ jsx(AddressSummaryContext.Provider, {
75
+ value: address,
76
+ children
77
+ });
78
+ }
79
+ function AddressSummary({ className, children }) {
80
+ return /* @__PURE__ */ jsx("div", {
81
+ className,
82
+ "data-fs-address-summary": "",
83
+ children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
84
+ /* @__PURE__ */ jsx(AddressSummaryRecipient, {}),
85
+ /* @__PURE__ */ jsx(AddressSummaryStreet, {}),
86
+ /* @__PURE__ */ jsx(AddressSummaryLocality, {})
87
+ ] })
88
+ });
89
+ }
90
+ /** Who the delivery is addressed to. Renders nothing when the address carries no recipient. */
91
+ function AddressSummaryRecipient({ className }) {
92
+ const { recipientName } = useAddressSummary();
93
+ if (!recipientName) return null;
94
+ return /* @__PURE__ */ jsx("p", {
95
+ className,
96
+ "data-fs-address-summary-recipient": "",
97
+ children: recipientName
98
+ });
99
+ }
100
+ /** Street, number and complement on one line. Renders nothing when all three are absent. */
101
+ function AddressSummaryStreet({ className }) {
102
+ const { street, number, complement } = useAddressSummary();
103
+ const line = [[street, number].filter(Boolean).join(", "), complement].filter(Boolean).join(" - ");
104
+ if (!line) return null;
105
+ return /* @__PURE__ */ jsx("p", {
106
+ className,
107
+ "data-fs-address-summary-address": "",
108
+ children: line
109
+ });
110
+ }
111
+ /** Neighborhood, city, state and postal code on one line. Renders nothing when all are absent. */
112
+ function AddressSummaryLocality({ className }) {
113
+ const { neighborhood, city, state, postalCode } = useAddressSummary();
114
+ const line = [
115
+ neighborhood,
116
+ [city, state].filter(Boolean).join(" - "),
117
+ postalCode
118
+ ].filter(Boolean).join(", ");
119
+ if (!line) return null;
120
+ return /* @__PURE__ */ jsx("p", {
121
+ className,
122
+ "data-fs-address-summary-locality": "",
123
+ children: line
124
+ });
125
+ }
126
+ //#endregion
127
+ export { AddressSummary, AddressSummaryDefinition, AddressSummaryLocality, AddressSummaryLocalityDefinition, AddressSummaryRecipient, AddressSummaryRecipientDefinition, AddressSummaryRoot, AddressSummaryRootDefinition, AddressSummaryStreet, AddressSummaryStreetDefinition, useAddressSummary };
128
+
129
+ //# sourceMappingURL=address-summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address-summary.js","names":[],"sources":["../../../src/particles/address-summary/address-summary.tsx"],"sourcesContent":["'use client';\n\nimport { defineComponent } from '@vtex/fs-core';\nimport { createContext, type ReactNode, useContext } from 'react';\n\n/**\n * AddressSummary particle (no business coupling — ADR-0001): a presentational display for a\n * postal address, driven entirely by AddressSummaryRoot's context rather than props. Any matter\n * component that owns address data (e.g. ShippingAddressSelectedSummary, ShippingAddressSavedOption)\n * provides it via AddressSummaryRoot; AddressSummary reads and renders it. A future alternative\n * presentation (e.g. a \"LeanAddressSummary\") would read the same context and could be composed in\n * its place — swapping the presentation is a composition change, not a new data-binding.\n */\n\nexport type AddressSummaryFields = Readonly<{\n recipientName?: string | null;\n street?: string | null;\n number?: string | null;\n complement?: string | null;\n neighborhood?: string | null;\n city?: string | null;\n state?: string | null;\n postalCode?: string | null;\n}>;\n\nconst AddressSummaryContext = createContext<AddressSummaryFields | null>(null);\n\nexport function useAddressSummary(): AddressSummaryFields {\n const ctx = useContext(AddressSummaryContext);\n if (!ctx) throw new Error('AddressSummary must be used inside AddressSummaryRoot.');\n return ctx;\n}\n\nexport type AddressSummaryRootProps = {\n /** The address fields provided to descendant presentational components via context. */\n address: AddressSummaryFields;\n children?: ReactNode;\n};\n\nexport type AddressSummaryProps = {\n className?: string;\n /** The lines to render, in order. Defaults to recipient, street, locality when omitted. */\n children?: ReactNode;\n};\n\nexport type AddressSummaryLineProps = {\n className?: string;\n};\n\nexport const AddressSummaryRootDefinition = defineComponent<AddressSummaryRootProps>({\n name: 'AddressSummaryRoot',\n importPath: '@vtex/faststore/components',\n component: AddressSummaryRoot,\n providesContext: 'address-summary',\n editor: { label: 'Address Summary Root', category: 'content' },\n schema: {},\n guideline:\n 'Provides a postal address to descendant presentational components via context (no business coupling). Compose a matter component that owns address data as the source of the address prop, and AddressSummary (or a future alternative presentation reading the same context) as the child that renders it.',\n});\n\nexport const AddressSummaryDefinition = defineComponent<AddressSummaryProps>({\n name: 'AddressSummary',\n importPath: '@vtex/faststore/components',\n component: AddressSummary,\n requiresContext: 'address-summary',\n editor: { label: 'Address Summary', category: 'content' },\n schema: {},\n guideline:\n 'The address block: recipient, street line, locality line, in that order by default. Compose AddressSummaryRecipient / Street / Locality as children to choose the order or drop a line; the wrapper, and any styling on it, is the same either way. Must be a descendant of AddressSummaryRoot.',\n});\n\nexport const AddressSummaryRecipientDefinition = defineComponent<AddressSummaryLineProps>({\n name: 'AddressSummaryRecipient',\n importPath: '@vtex/faststore/components',\n component: AddressSummaryRecipient,\n requiresContext: 'address-summary',\n editor: { label: 'Address Summary Recipient', category: 'content' },\n schema: {},\n guideline:\n 'Who the delivery is addressed to, or nothing when the address carries no recipient. Place it in whatever order the summary should read. Must be a descendant of AddressSummaryRoot.',\n});\n\nexport const AddressSummaryStreetDefinition = defineComponent<AddressSummaryLineProps>({\n name: 'AddressSummaryStreet',\n importPath: '@vtex/faststore/components',\n component: AddressSummaryStreet,\n requiresContext: 'address-summary',\n editor: { label: 'Address Summary Street', category: 'content' },\n schema: {},\n guideline:\n 'Street, number and complement on one line, or nothing when all three are absent. Must be a descendant of AddressSummaryRoot.',\n});\n\nexport const AddressSummaryLocalityDefinition = defineComponent<AddressSummaryLineProps>({\n name: 'AddressSummaryLocality',\n importPath: '@vtex/faststore/components',\n component: AddressSummaryLocality,\n requiresContext: 'address-summary',\n editor: { label: 'Address Summary Locality', category: 'content' },\n schema: {},\n guideline:\n 'Neighborhood, city, state and postal code on one line, or nothing when all are absent. Must be a descendant of AddressSummaryRoot.',\n});\n\nexport function AddressSummaryRoot({ address, children }: AddressSummaryRootProps) {\n return <AddressSummaryContext.Provider value={address}>{children}</AddressSummaryContext.Provider>;\n}\n\nexport function AddressSummary({ className, children }: AddressSummaryProps) {\n return (\n <div className={className} data-fs-address-summary=\"\">\n {children ?? (\n <>\n <AddressSummaryRecipient />\n <AddressSummaryStreet />\n <AddressSummaryLocality />\n </>\n )}\n </div>\n );\n}\n\n/** Who the delivery is addressed to. Renders nothing when the address carries no recipient. */\nexport function AddressSummaryRecipient({ className }: AddressSummaryLineProps) {\n const { recipientName } = useAddressSummary();\n if (!recipientName) return null;\n return (\n <p className={className} data-fs-address-summary-recipient=\"\">\n {recipientName}\n </p>\n );\n}\n\n/** Street, number and complement on one line. Renders nothing when all three are absent. */\nexport function AddressSummaryStreet({ className }: AddressSummaryLineProps) {\n const { street, number, complement } = useAddressSummary();\n const line = [[street, number].filter(Boolean).join(', '), complement].filter(Boolean).join(' - ');\n if (!line) return null;\n return (\n <p className={className} data-fs-address-summary-address=\"\">\n {line}\n </p>\n );\n}\n\n/** Neighborhood, city, state and postal code on one line. Renders nothing when all are absent. */\nexport function AddressSummaryLocality({ className }: AddressSummaryLineProps) {\n const { neighborhood, city, state, postalCode } = useAddressSummary();\n const line = [neighborhood, [city, state].filter(Boolean).join(' - '), postalCode].filter(Boolean).join(', ');\n if (!line) return null;\n return (\n <p className={className} data-fs-address-summary-locality=\"\">\n {line}\n </p>\n );\n}\n"],"mappings":";;;;;;AAyBA,MAAM,wBAAwB,cAA2C,IAAI;AAE7E,SAAgB,oBAA0C;CACxD,MAAM,MAAM,WAAW,qBAAqB;CAC5C,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,wDAAwD;CAClF,OAAO;AACT;AAkBA,MAAa,+BAA+B,gBAAyC;CACnF,MAAM;CACN,YAAY;CACZ,WAAW;CACX,iBAAiB;CACjB,QAAQ;EAAE,OAAO;EAAwB,UAAU;CAAU;CAC7D,QAAQ,CAAC;CACT,WACE;AACJ,CAAC;AAED,MAAa,2BAA2B,gBAAqC;CAC3E,MAAM;CACN,YAAY;CACZ,WAAW;CACX,iBAAiB;CACjB,QAAQ;EAAE,OAAO;EAAmB,UAAU;CAAU;CACxD,QAAQ,CAAC;CACT,WACE;AACJ,CAAC;AAED,MAAa,oCAAoC,gBAAyC;CACxF,MAAM;CACN,YAAY;CACZ,WAAW;CACX,iBAAiB;CACjB,QAAQ;EAAE,OAAO;EAA6B,UAAU;CAAU;CAClE,QAAQ,CAAC;CACT,WACE;AACJ,CAAC;AAED,MAAa,iCAAiC,gBAAyC;CACrF,MAAM;CACN,YAAY;CACZ,WAAW;CACX,iBAAiB;CACjB,QAAQ;EAAE,OAAO;EAA0B,UAAU;CAAU;CAC/D,QAAQ,CAAC;CACT,WACE;AACJ,CAAC;AAED,MAAa,mCAAmC,gBAAyC;CACvF,MAAM;CACN,YAAY;CACZ,WAAW;CACX,iBAAiB;CACjB,QAAQ;EAAE,OAAO;EAA4B,UAAU;CAAU;CACjE,QAAQ,CAAC;CACT,WACE;AACJ,CAAC;AAED,SAAgB,mBAAmB,EAAE,SAAS,YAAqC;CACjF,OAAO,oBAAC,sBAAsB,UAAvB;EAAgC,OAAO;EAAU;CAAyC,CAAA;AACnG;AAEA,SAAgB,eAAe,EAAE,WAAW,YAAiC;CAC3E,OACE,oBAAC,OAAD;EAAgB;EAAW,2BAAwB;EAChD,UAAA,YACC,qBAAA,UAAA,EAAA,UAAA;GACE,oBAAC,yBAAD,CAA0B,CAAA;GAC1B,oBAAC,sBAAD,CAAuB,CAAA;GACvB,oBAAC,wBAAD,CAAyB,CAAA;EACzB,EAAA,CAAA;CAED,CAAA;AAET;;AAGA,SAAgB,wBAAwB,EAAE,aAAsC;CAC9E,MAAM,EAAE,kBAAkB,kBAAkB;CAC5C,IAAI,CAAC,eAAe,OAAO;CAC3B,OACE,oBAAC,KAAD;EAAc;EAAW,qCAAkC;EACxD,UAAA;CACA,CAAA;AAEP;;AAGA,SAAgB,qBAAqB,EAAE,aAAsC;CAC3E,MAAM,EAAE,QAAQ,QAAQ,eAAe,kBAAkB;CACzD,MAAM,OAAO,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,IAAI,GAAG,UAAU,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,KAAK;CACjG,IAAI,CAAC,MAAM,OAAO;CAClB,OACE,oBAAC,KAAD;EAAc;EAAW,mCAAgC;EACtD,UAAA;CACA,CAAA;AAEP;;AAGA,SAAgB,uBAAuB,EAAE,aAAsC;CAC7E,MAAM,EAAE,cAAc,MAAM,OAAO,eAAe,kBAAkB;CACpE,MAAM,OAAO;EAAC;EAAc,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,KAAK;EAAG;CAAU,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,IAAI;CAC5G,IAAI,CAAC,MAAM,OAAO;CAClB,OACE,oBAAC,KAAD;EAAc;EAAW,oCAAiC;EACvD,UAAA;CACA,CAAA;AAEP"}
@@ -0,0 +1,10 @@
1
+ import { ComponentDefinition } from "../../core/dist/define-component.js";
2
+ import "../../core/dist/index.js";
3
+ import { ComponentPropsWithRef } from "react";
4
+ //#region src/particles/badge/badge.d.ts
5
+ /** Props for {@link Badge}. Extends all native `<span>` attributes. */
6
+ export type BadgeProps = ComponentPropsWithRef<'span'>;
7
+ export declare const BadgeDefinition: ComponentDefinition<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>;
8
+ export declare function Badge({ className, children, ...props }: BadgeProps): import("react/jsx-runtime").JSX.Element;
9
+ //#endregion
10
+ //# sourceMappingURL=badge.d.ts.map
@@ -0,0 +1,27 @@
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/badge/badge.tsx
5
+ const BadgeDefinition = defineComponent({
6
+ name: "Badge",
7
+ importPath: "@vtex/faststore/components",
8
+ component: Badge,
9
+ editor: {
10
+ label: "Badge",
11
+ category: "content"
12
+ },
13
+ schema: {},
14
+ guideline: "Status, count, or category labels with semantic color variants. Use for tags, status indicators, and notification badges."
15
+ });
16
+ function Badge({ className, children, ...props }) {
17
+ return /* @__PURE__ */ jsx("span", {
18
+ ...props,
19
+ className,
20
+ "data-fs-badge": "",
21
+ children
22
+ });
23
+ }
24
+ //#endregion
25
+ export { Badge, BadgeDefinition };
26
+
27
+ //# sourceMappingURL=badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.js","names":[],"sources":["../../../src/particles/badge/badge.tsx"],"sourcesContent":["import { defineComponent } from '@vtex/fs-core';\nimport type { ComponentPropsWithRef } from 'react';\n\n/** Props for {@link Badge}. Extends all native `<span>` attributes. */\nexport type BadgeProps = ComponentPropsWithRef<'span'>;\n\nexport const BadgeDefinition = defineComponent<BadgeProps>({\n name: 'Badge',\n importPath: '@vtex/faststore/components',\n component: Badge,\n editor: { label: 'Badge', category: 'content' },\n schema: {},\n guideline:\n 'Status, count, or category labels with semantic color variants. Use for tags, status indicators, and notification badges.',\n});\n\nexport function Badge({ className, children, ...props }: BadgeProps) {\n return (\n <span {...props} className={className} data-fs-badge=\"\">\n {children}\n </span>\n );\n}\n"],"mappings":";;;;AAMA,MAAa,kBAAkB,gBAA4B;CACzD,MAAM;CACN,YAAY;CACZ,WAAW;CACX,QAAQ;EAAE,OAAO;EAAS,UAAU;CAAU;CAC9C,QAAQ,CAAC;CACT,WACE;AACJ,CAAC;AAED,SAAgB,MAAM,EAAE,WAAW,UAAU,GAAG,SAAqB;CACnE,OACE,oBAAC,QAAD;EAAM,GAAI;EAAkB;EAAW,iBAAc;EAClD;CACG,CAAA;AAEV"}
@@ -0,0 +1,18 @@
1
+ import { ComponentDefinition } from "../../core/dist/define-component.js";
2
+ import "../../core/dist/index.js";
3
+ import { ComponentPropsWithRef } from "react";
4
+ //#region src/particles/button/button.d.ts
5
+ /** Props for {@link Button}. Extends all native `<button>` attributes. */
6
+ export type ButtonProps = ComponentPropsWithRef<'button'>;
7
+ /**
8
+ * General-purpose button built on Base UI's `<Button>`.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * <Button>Click me</Button>
13
+ * ```
14
+ */
15
+ export declare const ButtonDefinition: ComponentDefinition<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>>;
16
+ export declare function Button({ className, children, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
17
+ //#endregion
18
+ //# sourceMappingURL=button.d.ts.map
@@ -0,0 +1,37 @@
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 { Button } from "@base-ui/react/button";
6
+ //#region src/particles/button/button.tsx
7
+ /**
8
+ * General-purpose button built on Base UI's `<Button>`.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * <Button>Click me</Button>
13
+ * ```
14
+ */
15
+ const ButtonDefinition = defineComponent({
16
+ name: "Button",
17
+ importPath: "@vtex/faststore/components",
18
+ component: Button$1,
19
+ editor: {
20
+ label: "Button",
21
+ category: "action"
22
+ },
23
+ schema: {},
24
+ guideline: "Composable action button — combine with Icon for icon buttons, Spinner for loading states. Ghost appearance can be achieved via className."
25
+ });
26
+ function Button$1({ className, children, ...props }) {
27
+ return /* @__PURE__ */ jsx(Button, {
28
+ ...props,
29
+ className,
30
+ "data-fs-button": "",
31
+ children
32
+ });
33
+ }
34
+ //#endregion
35
+ export { Button$1 as Button, ButtonDefinition };
36
+
37
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","names":["Button","BaseButton"],"sources":["../../../src/particles/button/button.tsx"],"sourcesContent":["'use client';\nimport { Button as BaseButton } from '@base-ui/react/button';\nimport { defineComponent } from '@vtex/fs-core';\nimport type { ComponentPropsWithRef } from 'react';\n\n/** Props for {@link Button}. Extends all native `<button>` attributes. */\nexport type ButtonProps = ComponentPropsWithRef<'button'>;\n\n/**\n * General-purpose button built on Base UI's `<Button>`.\n *\n * @example\n * ```tsx\n * <Button>Click me</Button>\n * ```\n */\nexport const ButtonDefinition = defineComponent<ButtonProps>({\n name: 'Button',\n importPath: '@vtex/faststore/components',\n component: Button,\n editor: { label: 'Button', category: 'action' },\n schema: {},\n guideline:\n 'Composable action button — combine with Icon for icon buttons, Spinner for loading states. Ghost appearance can be achieved via className.',\n});\n\nexport function Button({ className, children, ...props }: ButtonProps) {\n return (\n <BaseButton {...props} className={className} data-fs-button=\"\">\n {children}\n </BaseButton>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;AAgBA,MAAa,mBAAmB,gBAA6B;CAC3D,MAAM;CACN,YAAY;CACZ,WAAWA;CACX,QAAQ;EAAE,OAAO;EAAU,UAAU;CAAS;CAC9C,QAAQ,CAAC;CACT,WACE;AACJ,CAAC;AAED,SAAgBA,SAAO,EAAE,WAAW,UAAU,GAAG,SAAsB;CACrE,OACE,oBAACC,QAAD;EAAY,GAAI;EAAkB;EAAW,kBAAe;EACzD;CACS,CAAA;AAEhB"}
@@ -0,0 +1,60 @@
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/carousel/carousel.d.ts
5
+ export type CarouselVariant = 'slide' | 'scroll';
6
+ export type CarouselContextValue = {
7
+ currentPage: number;
8
+ itemCount: number;
9
+ itemsPerPage: number;
10
+ totalPages: number;
11
+ variant: CarouselVariant;
12
+ infiniteMode: boolean;
13
+ goToPage: (page: number) => void;
14
+ next: () => void;
15
+ previous: () => void;
16
+ canGoNext: boolean;
17
+ canGoPrevious: boolean;
18
+ setItemCount: (count: number) => void;
19
+ };
20
+ export type CarouselRootProps = ComponentPropsWithRef<'section'> & {
21
+ infiniteMode?: boolean;
22
+ variant?: CarouselVariant;
23
+ itemsPerPage?: number;
24
+ defaultPage?: number;
25
+ label?: string;
26
+ };
27
+ export type CarouselTrackProps = ComponentPropsWithRef<'div'> & {
28
+ children?: ReactNode;
29
+ };
30
+ export type CarouselPreviousProps = ComponentPropsWithRef<'button'> & {
31
+ children?: ReactNode;
32
+ };
33
+ export type CarouselNextProps = ComponentPropsWithRef<'button'> & {
34
+ children?: ReactNode;
35
+ };
36
+ export type CarouselBulletsProps = ComponentPropsWithRef<'div'> & {
37
+ ariaLabel?: string;
38
+ bulletLabel?: string;
39
+ hideWhenSingle?: boolean;
40
+ };
41
+ export declare function useCarousel(): CarouselContextValue;
42
+ export declare function CarouselRoot({ infiniteMode, variant, itemsPerPage, defaultPage, label, children, ...props }: CarouselRootProps): import("react/jsx-runtime").JSX.Element;
43
+ export declare function CarouselTrack({ children, style, ref, onScroll, ...props }: CarouselTrackProps): import("react/jsx-runtime").JSX.Element;
44
+ export declare function CarouselPrevious({ children, onClick, ...props }: CarouselPreviousProps): import("react/jsx-runtime").JSX.Element;
45
+ export declare function CarouselNext({ children, onClick, ...props }: CarouselNextProps): import("react/jsx-runtime").JSX.Element;
46
+ export declare function CarouselBullets({ ariaLabel, bulletLabel, hideWhenSingle, ...props }: CarouselBulletsProps): import("react/jsx-runtime").JSX.Element | null;
47
+ export declare const CarouselRootDefinition: ComponentDefinition<CarouselRootProps>;
48
+ export declare const CarouselTrackDefinition: ComponentDefinition<CarouselTrackProps>;
49
+ export declare const CarouselPreviousDefinition: ComponentDefinition<CarouselPreviousProps>;
50
+ export declare const CarouselNextDefinition: ComponentDefinition<CarouselNextProps>;
51
+ export declare const CarouselBulletsDefinition: ComponentDefinition<CarouselBulletsProps>;
52
+ export declare const Carousel: {
53
+ Root: typeof CarouselRoot;
54
+ Track: typeof CarouselTrack;
55
+ Previous: typeof CarouselPrevious;
56
+ Next: typeof CarouselNext;
57
+ Bullets: typeof CarouselBullets;
58
+ };
59
+ //#endregion
60
+ //# sourceMappingURL=carousel.d.ts.map
@@ -0,0 +1,335 @@
1
+ "use client";
2
+ import { defineComponent } from "../../core/dist/define-component.js";
3
+ import "../../core/dist/index.js";
4
+ import { Children, createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+ //#region src/particles/carousel/carousel.tsx
7
+ const CarouselContext = createContext(null);
8
+ function useCarousel() {
9
+ const ctx = useContext(CarouselContext);
10
+ if (!ctx) throw new Error("Carousel components must be used inside CarouselRoot.");
11
+ return ctx;
12
+ }
13
+ function CarouselRoot({ infiniteMode = false, variant = "slide", itemsPerPage = 1, defaultPage = 0, label = "Carousel", children, ...props }) {
14
+ const [currentPage, setCurrentPage] = useState(defaultPage);
15
+ const [itemCount, setItemCountState] = useState(0);
16
+ const perPage = Math.max(1, itemsPerPage);
17
+ const totalPages = Math.max(1, Math.ceil(itemCount / perPage));
18
+ const setItemCount = useCallback((count) => {
19
+ setItemCountState((prev) => prev === count ? prev : count);
20
+ }, []);
21
+ useEffect(() => {
22
+ if (itemCount === 0) return;
23
+ setCurrentPage((page) => Math.min(page, totalPages - 1));
24
+ }, [itemCount, totalPages]);
25
+ const goToPage = useCallback((page) => {
26
+ setCurrentPage(Math.max(0, Math.min(page, totalPages - 1)));
27
+ }, [totalPages]);
28
+ const next = useCallback(() => {
29
+ setCurrentPage((page) => infiniteMode ? (page + 1) % totalPages : Math.min(page + 1, totalPages - 1));
30
+ }, [infiniteMode, totalPages]);
31
+ const previous = useCallback(() => {
32
+ setCurrentPage((page) => infiniteMode ? (page - 1 + totalPages) % totalPages : Math.max(page - 1, 0));
33
+ }, [infiniteMode, totalPages]);
34
+ const canGoNext = infiniteMode ? totalPages > 1 : currentPage < totalPages - 1;
35
+ const canGoPrevious = infiniteMode ? totalPages > 1 : currentPage > 0;
36
+ const ctx = useMemo(() => ({
37
+ currentPage,
38
+ itemCount,
39
+ itemsPerPage: perPage,
40
+ totalPages,
41
+ variant,
42
+ infiniteMode,
43
+ goToPage,
44
+ next,
45
+ previous,
46
+ canGoNext,
47
+ canGoPrevious,
48
+ setItemCount
49
+ }), [
50
+ currentPage,
51
+ itemCount,
52
+ perPage,
53
+ totalPages,
54
+ variant,
55
+ infiniteMode,
56
+ goToPage,
57
+ next,
58
+ previous,
59
+ canGoNext,
60
+ canGoPrevious,
61
+ setItemCount
62
+ ]);
63
+ return /* @__PURE__ */ jsx(CarouselContext, {
64
+ value: ctx,
65
+ children: /* @__PURE__ */ jsx("section", {
66
+ ...props,
67
+ "data-fs-carousel": "",
68
+ "data-fs-carousel-variant": variant,
69
+ "aria-roledescription": "carousel",
70
+ "aria-label": label,
71
+ children
72
+ })
73
+ });
74
+ }
75
+ function CarouselTrack({ children, style, ref, onScroll, ...props }) {
76
+ const { setItemCount, itemsPerPage, currentPage, variant, goToPage } = useCarousel();
77
+ const items = Children.toArray(children);
78
+ const count = items.length;
79
+ const scrollRef = useRef(null);
80
+ const programmaticScroll = useRef(false);
81
+ const mergedScrollRef = useCallback((node) => {
82
+ scrollRef.current = node;
83
+ if (typeof ref === "function") ref(node);
84
+ else if (ref) ref.current = node;
85
+ }, [ref]);
86
+ useEffect(() => {
87
+ setItemCount(count);
88
+ }, [count, setItemCount]);
89
+ useEffect(() => {
90
+ if (variant !== "scroll") return;
91
+ const el = scrollRef.current;
92
+ if (!el || typeof el.scrollTo !== "function") return;
93
+ if (el.clientWidth > 0 && Math.round(el.scrollLeft / el.clientWidth) === currentPage) return;
94
+ programmaticScroll.current = true;
95
+ el.scrollTo({
96
+ left: currentPage * el.clientWidth,
97
+ behavior: "smooth"
98
+ });
99
+ }, [variant, currentPage]);
100
+ function handleScroll(event) {
101
+ onScroll?.(event);
102
+ const { clientWidth, scrollLeft } = event.currentTarget;
103
+ if (clientWidth <= 0) return;
104
+ const page = Math.round(scrollLeft / clientWidth);
105
+ if (programmaticScroll.current) {
106
+ if (page === currentPage) programmaticScroll.current = false;
107
+ return;
108
+ }
109
+ if (page !== currentPage) goToPage(page);
110
+ }
111
+ const itemStyle = {
112
+ flex: `0 0 ${100 / itemsPerPage}%`,
113
+ boxSizing: "border-box"
114
+ };
115
+ const renderedItems = items.map((child, index) => /* @__PURE__ */ jsx("div", {
116
+ "data-fs-carousel-item": "",
117
+ style: variant === "scroll" ? {
118
+ ...itemStyle,
119
+ scrollSnapAlign: "start"
120
+ } : itemStyle,
121
+ children: child
122
+ }, index));
123
+ if (variant === "scroll") return /* @__PURE__ */ jsx("div", {
124
+ ...props,
125
+ ref: mergedScrollRef,
126
+ onScroll: handleScroll,
127
+ "data-fs-carousel-track": "",
128
+ style: {
129
+ display: "flex",
130
+ overflowX: "auto",
131
+ scrollSnapType: "x mandatory",
132
+ ...style
133
+ },
134
+ children: renderedItems
135
+ });
136
+ return /* @__PURE__ */ jsx("div", {
137
+ ...props,
138
+ ref,
139
+ "data-fs-carousel-track": "",
140
+ style: {
141
+ overflow: "hidden",
142
+ ...style
143
+ },
144
+ children: /* @__PURE__ */ jsx("div", {
145
+ "data-fs-carousel-viewport": "",
146
+ style: {
147
+ display: "flex",
148
+ transform: `translateX(-${currentPage * 100}%)`,
149
+ transition: "transform 300ms ease"
150
+ },
151
+ children: renderedItems
152
+ })
153
+ });
154
+ }
155
+ function CarouselPrevious({ children, onClick, ...props }) {
156
+ const { previous, canGoPrevious } = useCarousel();
157
+ return /* @__PURE__ */ jsx("button", {
158
+ type: "button",
159
+ disabled: !canGoPrevious,
160
+ onClick: (event) => {
161
+ onClick?.(event);
162
+ if (!event.defaultPrevented) previous();
163
+ },
164
+ "aria-label": "Previous",
165
+ "data-fs-carousel-previous": "",
166
+ ...props,
167
+ children
168
+ });
169
+ }
170
+ function CarouselNext({ children, onClick, ...props }) {
171
+ const { next, canGoNext } = useCarousel();
172
+ return /* @__PURE__ */ jsx("button", {
173
+ type: "button",
174
+ disabled: !canGoNext,
175
+ onClick: (event) => {
176
+ onClick?.(event);
177
+ if (!event.defaultPrevented) next();
178
+ },
179
+ "aria-label": "Next",
180
+ "data-fs-carousel-next": "",
181
+ ...props,
182
+ children
183
+ });
184
+ }
185
+ function CarouselBullets({ ariaLabel = "Choose page", bulletLabel = "Go to page {page}", hideWhenSingle = true, ...props }) {
186
+ const { totalPages, currentPage, goToPage } = useCarousel();
187
+ if (hideWhenSingle && totalPages <= 1) return null;
188
+ function handleKeyDown(event, page) {
189
+ let target = page;
190
+ switch (event.key) {
191
+ case "ArrowRight":
192
+ target = Math.min(page + 1, totalPages - 1);
193
+ break;
194
+ case "ArrowLeft":
195
+ target = Math.max(page - 1, 0);
196
+ break;
197
+ case "Home":
198
+ target = 0;
199
+ break;
200
+ case "End":
201
+ target = totalPages - 1;
202
+ break;
203
+ default: return;
204
+ }
205
+ event.preventDefault();
206
+ goToPage(target);
207
+ (event.currentTarget.parentElement?.querySelectorAll("[data-fs-carousel-bullet]"))?.[target]?.focus();
208
+ }
209
+ return /* @__PURE__ */ jsx("div", {
210
+ role: "group",
211
+ "aria-label": ariaLabel,
212
+ "data-fs-carousel-bullets": "",
213
+ ...props,
214
+ children: Array.from({ length: totalPages }, (_, page) => {
215
+ const isActive = page === currentPage;
216
+ return /* @__PURE__ */ jsx("button", {
217
+ type: "button",
218
+ "aria-label": bulletLabel.replace("{page}", String(page + 1)),
219
+ "aria-current": isActive,
220
+ "data-fs-carousel-bullet": "",
221
+ "data-fs-carousel-bullet-selected": String(isActive),
222
+ onClick: () => goToPage(page),
223
+ onKeyDown: (event) => handleKeyDown(event, page)
224
+ }, page);
225
+ })
226
+ });
227
+ }
228
+ const CarouselRootDefinition = defineComponent({
229
+ name: "CarouselRoot",
230
+ importPath: "@vtex/faststore/components",
231
+ component: CarouselRoot,
232
+ editor: {
233
+ label: "Carousel Root",
234
+ category: "layout"
235
+ },
236
+ schema: {
237
+ infiniteMode: {
238
+ type: "boolean",
239
+ default: false,
240
+ label: "Infinite Mode"
241
+ },
242
+ variant: {
243
+ type: ["slide", "scroll"],
244
+ default: "slide",
245
+ label: "Variant"
246
+ },
247
+ itemsPerPage: {
248
+ type: "number",
249
+ default: 1,
250
+ label: "Items Per Page"
251
+ },
252
+ defaultPage: {
253
+ type: "number",
254
+ default: 0,
255
+ label: "Default Page"
256
+ },
257
+ label: {
258
+ type: "string",
259
+ default: "Carousel",
260
+ label: "Aria Label"
261
+ }
262
+ },
263
+ guideline: "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."
264
+ });
265
+ const CarouselTrackDefinition = defineComponent({
266
+ name: "CarouselTrack",
267
+ importPath: "@vtex/faststore/components",
268
+ component: CarouselTrack,
269
+ editor: {
270
+ label: "Carousel Track",
271
+ category: "layout"
272
+ },
273
+ schema: {},
274
+ guideline: "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."
275
+ });
276
+ const CarouselPreviousDefinition = defineComponent({
277
+ name: "CarouselPrevious",
278
+ importPath: "@vtex/faststore/components",
279
+ component: CarouselPrevious,
280
+ editor: {
281
+ label: "Carousel Previous",
282
+ category: "action"
283
+ },
284
+ schema: {},
285
+ guideline: "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."
286
+ });
287
+ const CarouselNextDefinition = defineComponent({
288
+ name: "CarouselNext",
289
+ importPath: "@vtex/faststore/components",
290
+ component: CarouselNext,
291
+ editor: {
292
+ label: "Carousel Next",
293
+ category: "action"
294
+ },
295
+ schema: {},
296
+ guideline: "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."
297
+ });
298
+ const CarouselBulletsDefinition = defineComponent({
299
+ name: "CarouselBullets",
300
+ importPath: "@vtex/faststore/components",
301
+ component: CarouselBullets,
302
+ editor: {
303
+ label: "Carousel Bullets",
304
+ category: "action"
305
+ },
306
+ schema: {
307
+ ariaLabel: {
308
+ type: "string",
309
+ default: "Choose page",
310
+ label: "Aria Label"
311
+ },
312
+ bulletLabel: {
313
+ type: "string",
314
+ default: "Go to page {page}",
315
+ label: "Bullet Label Template"
316
+ },
317
+ hideWhenSingle: {
318
+ type: "boolean",
319
+ default: true,
320
+ label: "Hide when single page"
321
+ }
322
+ },
323
+ guideline: "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."
324
+ });
325
+ const Carousel = {
326
+ Root: CarouselRoot,
327
+ Track: CarouselTrack,
328
+ Previous: CarouselPrevious,
329
+ Next: CarouselNext,
330
+ Bullets: CarouselBullets
331
+ };
332
+ //#endregion
333
+ export { Carousel, CarouselBullets, CarouselBulletsDefinition, CarouselNext, CarouselNextDefinition, CarouselPrevious, CarouselPreviousDefinition, CarouselRoot, CarouselRootDefinition, CarouselTrack, CarouselTrackDefinition, useCarousel };
334
+
335
+ //# sourceMappingURL=carousel.js.map