@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,132 @@
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 { Meter } from "@base-ui/react/meter";
6
+ //#region src/particles/meter/meter.tsx
7
+ const MeterRootDefinition = defineComponent({
8
+ name: "MeterRoot",
9
+ importPath: "@vtex/faststore/components",
10
+ component: MeterRoot,
11
+ editor: {
12
+ label: "Meter Root",
13
+ category: "content"
14
+ },
15
+ schema: {
16
+ value: {
17
+ type: "number",
18
+ default: 0,
19
+ label: "Value"
20
+ },
21
+ min: {
22
+ type: "number",
23
+ default: 0,
24
+ label: "Min"
25
+ },
26
+ max: {
27
+ type: "number",
28
+ default: 100,
29
+ label: "Max"
30
+ }
31
+ },
32
+ guideline: "Determinate meter bar showing a value along a known range (ARIA role=\"meter\"). Wrap a MeterTrack + MeterIndicator; optionally a MeterLabel and MeterValue. See meter.md."
33
+ });
34
+ const MeterTrackDefinition = defineComponent({
35
+ name: "MeterTrack",
36
+ importPath: "@vtex/faststore/components",
37
+ component: MeterTrack,
38
+ editor: {
39
+ label: "Meter Track",
40
+ category: "content"
41
+ },
42
+ schema: {},
43
+ guideline: "The full-range groove of the meter. Direct child of MeterRoot; wraps MeterIndicator. See meter.md."
44
+ });
45
+ const MeterIndicatorDefinition = defineComponent({
46
+ name: "MeterIndicator",
47
+ importPath: "@vtex/faststore/components",
48
+ component: MeterIndicator,
49
+ editor: {
50
+ label: "Meter Indicator",
51
+ category: "content"
52
+ },
53
+ schema: {},
54
+ guideline: "The filled portion of the meter; Base UI sizes it to the value. Direct child of MeterTrack. See meter.md."
55
+ });
56
+ const MeterLabelDefinition = defineComponent({
57
+ name: "MeterLabel",
58
+ importPath: "@vtex/faststore/components",
59
+ component: MeterLabel,
60
+ editor: {
61
+ label: "Meter Label",
62
+ category: "content"
63
+ },
64
+ schema: {},
65
+ guideline: "Accessible text label for the meter. Child of MeterRoot. See meter.md."
66
+ });
67
+ const MeterValueDefinition = defineComponent({
68
+ name: "MeterValue",
69
+ importPath: "@vtex/faststore/components",
70
+ component: MeterValue,
71
+ editor: {
72
+ label: "Meter Value",
73
+ category: "content"
74
+ },
75
+ schema: {},
76
+ guideline: "Renders the current value as text. Child of MeterRoot. See meter.md."
77
+ });
78
+ function MeterRoot({ value, min = 0, max = 100, locale, getAriaValueText, className, children, ...props }) {
79
+ return /* @__PURE__ */ jsx(Meter.Root, {
80
+ ...props,
81
+ value,
82
+ min,
83
+ max,
84
+ locale,
85
+ getAriaValueText,
86
+ className,
87
+ "data-fs-meter-root": "",
88
+ children
89
+ });
90
+ }
91
+ function MeterTrack({ className, children, ...props }) {
92
+ return /* @__PURE__ */ jsx(Meter.Track, {
93
+ ...props,
94
+ className,
95
+ "data-fs-meter-track": "",
96
+ children
97
+ });
98
+ }
99
+ function MeterIndicator({ className, ...props }) {
100
+ return /* @__PURE__ */ jsx(Meter.Indicator, {
101
+ ...props,
102
+ className,
103
+ "data-fs-meter-indicator": ""
104
+ });
105
+ }
106
+ function MeterLabel({ className, children, ...props }) {
107
+ return /* @__PURE__ */ jsx(Meter.Label, {
108
+ ...props,
109
+ className,
110
+ "data-fs-meter-label": "",
111
+ children
112
+ });
113
+ }
114
+ function MeterValue({ className, children, ...props }) {
115
+ return /* @__PURE__ */ jsx(Meter.Value, {
116
+ ...props,
117
+ className,
118
+ "data-fs-meter-value": "",
119
+ children
120
+ });
121
+ }
122
+ const Meter$1 = {
123
+ Root: MeterRoot,
124
+ Track: MeterTrack,
125
+ Indicator: MeterIndicator,
126
+ Label: MeterLabel,
127
+ Value: MeterValue
128
+ };
129
+ //#endregion
130
+ export { Meter$1 as Meter, MeterIndicator, MeterIndicatorDefinition, MeterLabel, MeterLabelDefinition, MeterRoot, MeterRootDefinition, MeterTrack, MeterTrackDefinition, MeterValue, MeterValueDefinition };
131
+
132
+ //# sourceMappingURL=meter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meter.js","names":["BaseMeter","Meter"],"sources":["../../../src/particles/meter/meter.tsx"],"sourcesContent":["'use client';\n\nimport { Meter as BaseMeter } from '@base-ui/react/meter';\nimport { defineComponent } from '@vtex/fs-core';\nimport type { ComponentPropsWithRef, ReactNode } from 'react';\n\nexport type MeterRootProps = Omit<ComponentPropsWithRef<'div'>, 'defaultValue'> & {\n value: number;\n min?: number;\n max?: number;\n locale?: string;\n getAriaValueText?: (formattedValue: string, value: number) => string;\n};\n\nexport type MeterTrackProps = ComponentPropsWithRef<'div'>;\nexport type MeterIndicatorProps = ComponentPropsWithRef<'div'>;\nexport type MeterLabelProps = ComponentPropsWithRef<'span'>;\nexport type MeterValueProps = Omit<ComponentPropsWithRef<'span'>, 'children'> & {\n children?: (formattedValue: string, value: number) => ReactNode;\n};\n\nexport const MeterRootDefinition = defineComponent<MeterRootProps>({\n name: 'MeterRoot',\n importPath: '@vtex/faststore/components',\n component: MeterRoot,\n editor: { label: 'Meter Root', category: 'content' },\n schema: {\n value: { type: 'number', default: 0, label: 'Value' },\n min: { type: 'number', default: 0, label: 'Min' },\n max: { type: 'number', default: 100, label: 'Max' },\n },\n guideline:\n 'Determinate meter bar showing a value along a known range (ARIA role=\"meter\"). Wrap a MeterTrack + MeterIndicator; optionally a MeterLabel and MeterValue. See meter.md.',\n});\n\nexport const MeterTrackDefinition = defineComponent<MeterTrackProps>({\n name: 'MeterTrack',\n importPath: '@vtex/faststore/components',\n component: MeterTrack,\n editor: { label: 'Meter Track', category: 'content' },\n schema: {},\n guideline: 'The full-range groove of the meter. Direct child of MeterRoot; wraps MeterIndicator. See meter.md.',\n});\n\nexport const MeterIndicatorDefinition = defineComponent<MeterIndicatorProps>({\n name: 'MeterIndicator',\n importPath: '@vtex/faststore/components',\n component: MeterIndicator,\n editor: { label: 'Meter Indicator', category: 'content' },\n schema: {},\n guideline:\n 'The filled portion of the meter; Base UI sizes it to the value. Direct child of MeterTrack. See meter.md.',\n});\n\nexport const MeterLabelDefinition = defineComponent<MeterLabelProps>({\n name: 'MeterLabel',\n importPath: '@vtex/faststore/components',\n component: MeterLabel,\n editor: { label: 'Meter Label', category: 'content' },\n schema: {},\n guideline: 'Accessible text label for the meter. Child of MeterRoot. See meter.md.',\n});\n\nexport const MeterValueDefinition = defineComponent<MeterValueProps>({\n name: 'MeterValue',\n importPath: '@vtex/faststore/components',\n component: MeterValue,\n editor: { label: 'Meter Value', category: 'content' },\n schema: {},\n guideline: 'Renders the current value as text. Child of MeterRoot. See meter.md.',\n});\n\nexport function MeterRoot({\n value,\n min = 0,\n max = 100,\n locale,\n getAriaValueText,\n className,\n children,\n ...props\n}: MeterRootProps) {\n return (\n <BaseMeter.Root\n {...props}\n value={value}\n min={min}\n max={max}\n locale={locale}\n getAriaValueText={getAriaValueText}\n className={className}\n data-fs-meter-root=\"\"\n >\n {children}\n </BaseMeter.Root>\n );\n}\n\nexport function MeterTrack({ className, children, ...props }: MeterTrackProps) {\n return (\n <BaseMeter.Track {...props} className={className} data-fs-meter-track=\"\">\n {children}\n </BaseMeter.Track>\n );\n}\n\nexport function MeterIndicator({ className, ...props }: MeterIndicatorProps) {\n return <BaseMeter.Indicator {...props} className={className} data-fs-meter-indicator=\"\" />;\n}\n\nexport function MeterLabel({ className, children, ...props }: MeterLabelProps) {\n return (\n <BaseMeter.Label {...props} className={className} data-fs-meter-label=\"\">\n {children}\n </BaseMeter.Label>\n );\n}\n\nexport function MeterValue({ className, children, ...props }: MeterValueProps) {\n return (\n <BaseMeter.Value {...props} className={className} data-fs-meter-value=\"\">\n {children}\n </BaseMeter.Value>\n );\n}\n\nexport const Meter = {\n Root: MeterRoot,\n Track: MeterTrack,\n Indicator: MeterIndicator,\n Label: MeterLabel,\n Value: MeterValue,\n};\n"],"mappings":";;;;;;AAqBA,MAAa,sBAAsB,gBAAgC;CACjE,MAAM;CACN,YAAY;CACZ,WAAW;CACX,QAAQ;EAAE,OAAO;EAAc,UAAU;CAAU;CACnD,QAAQ;EACN,OAAO;GAAE,MAAM;GAAU,SAAS;GAAG,OAAO;EAAQ;EACpD,KAAK;GAAE,MAAM;GAAU,SAAS;GAAG,OAAO;EAAM;EAChD,KAAK;GAAE,MAAM;GAAU,SAAS;GAAK,OAAO;EAAM;CACpD;CACA,WACE;AACJ,CAAC;AAED,MAAa,uBAAuB,gBAAiC;CACnE,MAAM;CACN,YAAY;CACZ,WAAW;CACX,QAAQ;EAAE,OAAO;EAAe,UAAU;CAAU;CACpD,QAAQ,CAAC;CACT,WAAW;AACb,CAAC;AAED,MAAa,2BAA2B,gBAAqC;CAC3E,MAAM;CACN,YAAY;CACZ,WAAW;CACX,QAAQ;EAAE,OAAO;EAAmB,UAAU;CAAU;CACxD,QAAQ,CAAC;CACT,WACE;AACJ,CAAC;AAED,MAAa,uBAAuB,gBAAiC;CACnE,MAAM;CACN,YAAY;CACZ,WAAW;CACX,QAAQ;EAAE,OAAO;EAAe,UAAU;CAAU;CACpD,QAAQ,CAAC;CACT,WAAW;AACb,CAAC;AAED,MAAa,uBAAuB,gBAAiC;CACnE,MAAM;CACN,YAAY;CACZ,WAAW;CACX,QAAQ;EAAE,OAAO;EAAe,UAAU;CAAU;CACpD,QAAQ,CAAC;CACT,WAAW;AACb,CAAC;AAED,SAAgB,UAAU,EACxB,OACA,MAAM,GACN,MAAM,KACN,QACA,kBACA,WACA,UACA,GAAG,SACc;CACjB,OACE,oBAACA,MAAU,MAAX;EACE,GAAI;EACG;EACF;EACA;EACG;EACU;EACP;EACX,sBAAmB;EAElB;CACa,CAAA;AAEpB;AAEA,SAAgB,WAAW,EAAE,WAAW,UAAU,GAAG,SAA0B;CAC7E,OACE,oBAACA,MAAU,OAAX;EAAiB,GAAI;EAAkB;EAAW,uBAAoB;EACnE;CACc,CAAA;AAErB;AAEA,SAAgB,eAAe,EAAE,WAAW,GAAG,SAA8B;CAC3E,OAAO,oBAACA,MAAU,WAAX;EAAqB,GAAI;EAAkB;EAAW,2BAAwB;CAAI,CAAA;AAC3F;AAEA,SAAgB,WAAW,EAAE,WAAW,UAAU,GAAG,SAA0B;CAC7E,OACE,oBAACA,MAAU,OAAX;EAAiB,GAAI;EAAkB;EAAW,uBAAoB;EACnE;CACc,CAAA;AAErB;AAEA,SAAgB,WAAW,EAAE,WAAW,UAAU,GAAG,SAA0B;CAC7E,OACE,oBAACA,MAAU,OAAX;EAAiB,GAAI;EAAkB;EAAW,uBAAoB;EACnE;CACc,CAAA;AAErB;AAEA,MAAaC,UAAQ;CACnB,MAAM;CACN,OAAO;CACP,WAAW;CACX,OAAO;CACP,OAAO;AACT"}
@@ -0,0 +1,43 @@
1
+ import { ContentValue } from "../../core/dist/define-content-type.js";
2
+ import { ComponentDefinition } from "../../core/dist/define-component.js";
3
+ import "../../core/dist/index.js";
4
+ import { ComponentPropsWithRef } from "react";
5
+ import Link from "next/link";
6
+ //#region src/particles/navigation-link/navigation-link.d.ts
7
+ export declare const NavigationLinkContent: {
8
+ readonly id: "navigation-link";
9
+ readonly title: "Navigation Link";
10
+ readonly description: "Link label, destination, and whether it opens in a new tab.";
11
+ readonly schema: {
12
+ readonly type: "object";
13
+ readonly additionalProperties: false;
14
+ readonly required: readonly ["text"];
15
+ readonly properties: {
16
+ readonly text: {
17
+ readonly type: "string";
18
+ readonly minLength: 1;
19
+ readonly title: "Label";
20
+ };
21
+ readonly href: {
22
+ readonly type: "string";
23
+ readonly title: "Destination";
24
+ readonly format: "uri-reference";
25
+ readonly pattern: "^$|^(?:https?://.*|mailto:.+|tel:.+|/(?:[^/].*)?)$";
26
+ };
27
+ readonly target: {
28
+ readonly type: "string";
29
+ readonly enum: readonly ["_self", "_blank"];
30
+ readonly title: "Target";
31
+ };
32
+ };
33
+ };
34
+ };
35
+ export type NavigationLinkProps = ComponentPropsWithRef<typeof Link> & {
36
+ /** Merchant-authored link, sliced from the page/layout content entry; wins over the props field by
37
+ * field when present. Absent in a non-CMS store — the props are the fallback. */
38
+ $content?: ContentValue<typeof NavigationLinkContent>;
39
+ };
40
+ export declare const NavigationLinkDefinition: ComponentDefinition<NavigationLinkProps>;
41
+ export declare function NavigationLink({ href, className, children, target, rel, $content, ...props }: NavigationLinkProps): import("react/jsx-runtime").JSX.Element;
42
+ //#endregion
43
+ //# sourceMappingURL=navigation-link.d.ts.map
@@ -0,0 +1,82 @@
1
+ "use client";
2
+ import { defineComponent } from "../../core/dist/define-component.js";
3
+ import { defineContentType } from "../../core/dist/define-content-type.js";
4
+ import "../../core/dist/index.js";
5
+ import { resolveSafeHref } from "../../utils/safe-href.js";
6
+ import { jsx } from "react/jsx-runtime";
7
+ import Link from "next/link";
8
+ //#region src/particles/navigation-link/navigation-link.tsx
9
+ const NavigationLinkContent = defineContentType({
10
+ id: "navigation-link",
11
+ title: "Navigation Link",
12
+ description: "Link label, destination, and whether it opens in a new tab.",
13
+ schema: {
14
+ type: "object",
15
+ additionalProperties: false,
16
+ required: ["text"],
17
+ properties: {
18
+ text: {
19
+ type: "string",
20
+ minLength: 1,
21
+ title: "Label"
22
+ },
23
+ href: {
24
+ type: "string",
25
+ title: "Destination",
26
+ format: "uri-reference",
27
+ pattern: "^$|^(?:https?://.*|mailto:.+|tel:.+|/(?:[^/].*)?)$"
28
+ },
29
+ target: {
30
+ type: "string",
31
+ enum: ["_self", "_blank"],
32
+ title: "Target"
33
+ }
34
+ }
35
+ }
36
+ });
37
+ const NavigationLinkDefinition = defineComponent({
38
+ name: "NavigationLink",
39
+ importPath: "@vtex/faststore/components",
40
+ component: NavigationLink,
41
+ content: NavigationLinkContent,
42
+ editor: {
43
+ label: "Navigation Link",
44
+ category: "navigation"
45
+ },
46
+ schema: {
47
+ href: {
48
+ type: "string",
49
+ label: "URL"
50
+ },
51
+ target: {
52
+ type: ["_self", "_blank"],
53
+ default: "_self",
54
+ label: "Target"
55
+ }
56
+ },
57
+ guideline: "Client-side navigation link built on Next.js Link. Use for all internal navigation to avoid full-page reloads. Set target to _blank to open the destination in a new tab; when you do, write an \"(opens in new tab)\" cue into the link text, because the component adds no announcement of its own. A CMS entry overrides the link text, href, and target at runtime; a destination it supplies that is not an http, https, mailto, tel, or site-relative URL is refused and the authored href stands."
58
+ });
59
+ function NavigationLink({ href, className, children, target, rel, $content, ...props }) {
60
+ const entryDestination = $content?.href?.trim() ? resolveSafeHref($content.href) : null;
61
+ if (entryDestination && !entryDestination.safe) console.warn("[NavigationLink] link destination rejected", { reason: entryDestination.reason });
62
+ const linkHref = entryDestination?.safe ? entryDestination.href : href;
63
+ const linkTarget = $content?.target ?? target;
64
+ const linkText = $content?.text?.trim() ? $content.text : children;
65
+ const opensNewTab = linkTarget?.toLowerCase() === "_blank";
66
+ const relTokens = rel?.split(/\s+/).filter(Boolean) ?? [];
67
+ const present = new Set(relTokens.map((token) => token.toLowerCase()));
68
+ const safeRel = opensNewTab ? [...relTokens, ...["noopener", "noreferrer"].filter((token) => !present.has(token))].join(" ") : rel;
69
+ return /* @__PURE__ */ jsx(Link, {
70
+ ...props,
71
+ href: linkHref,
72
+ target: linkTarget,
73
+ rel: safeRel,
74
+ className,
75
+ "data-fs-navigation-link": "",
76
+ children: linkText
77
+ });
78
+ }
79
+ //#endregion
80
+ export { NavigationLink, NavigationLinkContent, NavigationLinkDefinition };
81
+
82
+ //# sourceMappingURL=navigation-link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-link.js","names":[],"sources":["../../../src/particles/navigation-link/navigation-link.tsx"],"sourcesContent":["'use client';\n\nimport { type ContentValue, defineComponent, defineContentType } from '@vtex/fs-core';\nimport Link from 'next/link';\nimport type { ComponentPropsWithRef } from 'react';\nimport { resolveSafeHref } from '../../utils/safe-href.js';\n\n// Only `text` is required — an entry that just retitles a link should not force the merchant to\n// retype its destination.\nexport const NavigationLinkContent = defineContentType({\n id: 'navigation-link',\n title: 'Navigation Link',\n description: 'Link label, destination, and whether it opens in a new tab.',\n schema: {\n type: 'object',\n additionalProperties: false,\n required: ['text'],\n properties: {\n text: { type: 'string', minLength: 1, title: 'Label' },\n href: {\n type: 'string',\n title: 'Destination',\n // `uri-reference` rather than `uri`, which rejects the root-relative paths most navigation\n // targets are. Author-time guidance only and lookahead-free, as in the sibling particles;\n // the empty alternative is this model's own, since clearing the field has to stay saveable.\n format: 'uri-reference',\n pattern: '^$|^(?:https?://.*|mailto:.+|tel:.+|/(?:[^/].*)?)$',\n },\n target: { type: 'string', enum: ['_self', '_blank'], title: 'Target' },\n },\n },\n});\n\nexport type NavigationLinkProps = ComponentPropsWithRef<typeof Link> & {\n /** Merchant-authored link, sliced from the page/layout content entry; wins over the props field by\n * field when present. Absent in a non-CMS store — the props are the fallback. */\n $content?: ContentValue<typeof NavigationLinkContent>;\n};\n\nexport const NavigationLinkDefinition = defineComponent<NavigationLinkProps>({\n name: 'NavigationLink',\n importPath: '@vtex/faststore/components',\n component: NavigationLink,\n content: NavigationLinkContent,\n editor: { label: 'Navigation Link', category: 'navigation' },\n schema: {\n href: { type: 'string', label: 'URL' },\n target: { type: ['_self', '_blank'] as const, default: '_self', label: 'Target' },\n },\n guideline:\n 'Client-side navigation link built on Next.js Link. Use for all internal navigation to avoid full-page reloads. Set target to _blank to open the destination in a new tab; when you do, write an \"(opens in new tab)\" cue into the link text, because the component adds no announcement of its own. A CMS entry overrides the link text, href, and target at runtime; a destination it supplies that is not an http, https, mailto, tel, or site-relative URL is refused and the authored href stands.',\n});\n\nexport function NavigationLink({ href, className, children, target, rel, $content, ...props }: NavigationLinkProps) {\n // Resolve the entry before deriving anything from `target`: a _blank arriving from the CMS needs the\n // same tab-nabbing defense as an authored one. `href` and `text` fall back on a blank entry field so\n // a cleared value keeps the authored link rather than emitting an empty destination or label.\n // Only the entry's destination goes through the allowlist: the prop comes from the store's own\n // source, while nothing enforces the model's shape on the value the Admin supplies. A refused\n // destination falls back the same way a cleared one does.\n const entryDestination = $content?.href?.trim() ? resolveSafeHref($content.href) : null;\n if (entryDestination && !entryDestination.safe) {\n // A bounded reason and no authored value, the convention the content runtime's own log follows.\n console.warn('[NavigationLink] link destination rejected', { reason: entryDestination.reason });\n }\n const linkHref = entryDestination?.safe ? entryDestination.href : href;\n const linkTarget = $content?.target ?? target;\n const linkText = $content?.text?.trim() ? $content.text : children;\n\n // Target keywords are ASCII case-insensitive per HTML, so _BLANK opens a new tab just like _blank.\n const opensNewTab = linkTarget?.toLowerCase() === '_blank';\n // Append rather than replace: a composing matter may pass its own rel, and the tab-nabbing defense has to survive it.\n // Link types are case-insensitive too, so a caller-passed NOOPENER already counts as noopener.\n const relTokens = rel?.split(/\\s+/).filter(Boolean) ?? [];\n const present = new Set(relTokens.map((token) => token.toLowerCase()));\n const safeRel = opensNewTab\n ? [...relTokens, ...['noopener', 'noreferrer'].filter((token) => !present.has(token))].join(' ')\n : rel;\n\n return (\n <Link {...props} href={linkHref} target={linkTarget} rel={safeRel} className={className} data-fs-navigation-link=\"\">\n {linkText}\n </Link>\n );\n}\n"],"mappings":";;;;;;;;AASA,MAAa,wBAAwB,kBAAkB;CACrD,IAAI;CACJ,OAAO;CACP,aAAa;CACb,QAAQ;EACN,MAAM;EACN,sBAAsB;EACtB,UAAU,CAAC,MAAM;EACjB,YAAY;GACV,MAAM;IAAE,MAAM;IAAU,WAAW;IAAG,OAAO;GAAQ;GACrD,MAAM;IACJ,MAAM;IACN,OAAO;IAIP,QAAQ;IACR,SAAS;GACX;GACA,QAAQ;IAAE,MAAM;IAAU,MAAM,CAAC,SAAS,QAAQ;IAAG,OAAO;GAAS;EACvE;CACF;AACF,CAAC;AAQD,MAAa,2BAA2B,gBAAqC;CAC3E,MAAM;CACN,YAAY;CACZ,WAAW;CACX,SAAS;CACT,QAAQ;EAAE,OAAO;EAAmB,UAAU;CAAa;CAC3D,QAAQ;EACN,MAAM;GAAE,MAAM;GAAU,OAAO;EAAM;EACrC,QAAQ;GAAE,MAAM,CAAC,SAAS,QAAQ;GAAY,SAAS;GAAS,OAAO;EAAS;CAClF;CACA,WACE;AACJ,CAAC;AAED,SAAgB,eAAe,EAAE,MAAM,WAAW,UAAU,QAAQ,KAAK,UAAU,GAAG,SAA8B;CAOlH,MAAM,mBAAmB,UAAU,MAAM,KAAK,IAAI,gBAAgB,SAAS,IAAI,IAAI;CACnF,IAAI,oBAAoB,CAAC,iBAAiB,MAExC,QAAQ,KAAK,8CAA8C,EAAE,QAAQ,iBAAiB,OAAO,CAAC;CAEhG,MAAM,WAAW,kBAAkB,OAAO,iBAAiB,OAAO;CAClE,MAAM,aAAa,UAAU,UAAU;CACvC,MAAM,WAAW,UAAU,MAAM,KAAK,IAAI,SAAS,OAAO;CAG1D,MAAM,cAAc,YAAY,YAAY,MAAM;CAGlD,MAAM,YAAY,KAAK,MAAM,KAAK,CAAC,CAAC,OAAO,OAAO,KAAK,CAAC;CACxD,MAAM,UAAU,IAAI,IAAI,UAAU,KAAK,UAAU,MAAM,YAAY,CAAC,CAAC;CACrE,MAAM,UAAU,cACZ,CAAC,GAAG,WAAW,GAAG,CAAC,YAAY,YAAY,CAAC,CAAC,QAAQ,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAC7F;CAEJ,OACE,oBAAC,MAAD;EAAM,GAAI;EAAO,MAAM;EAAU,QAAQ;EAAY,KAAK;EAAoB;EAAW,2BAAwB;EAC9G,UAAA;CACG,CAAA;AAEV"}
@@ -0,0 +1,59 @@
1
+ import { ContentValue } from "../../core/dist/define-content-type.js";
2
+ import { ComponentDefinition } from "../../core/dist/define-component.js";
3
+ import "../../core/dist/index.js";
4
+ import { ComponentPropsWithRef } from "react";
5
+ //#region src/particles/navigation-link-list/navigation-link-list.d.ts
6
+ export declare const NavigationLinkListContent: {
7
+ readonly id: "navigation-link-list";
8
+ readonly title: "Navigation Links";
9
+ readonly description: "The ordered list of navigation links, editable without a deployment.";
10
+ readonly schema: {
11
+ readonly type: "object";
12
+ readonly additionalProperties: false;
13
+ readonly properties: {
14
+ readonly links: {
15
+ readonly type: "array";
16
+ readonly title: "Links";
17
+ readonly minItems: 1;
18
+ readonly items: {
19
+ readonly type: "object";
20
+ readonly additionalProperties: false;
21
+ readonly required: readonly ["label", "href"];
22
+ readonly properties: {
23
+ readonly label: {
24
+ readonly type: "string";
25
+ readonly minLength: 1;
26
+ readonly title: "Label";
27
+ };
28
+ readonly href: {
29
+ readonly type: "string";
30
+ readonly minLength: 1;
31
+ readonly title: "URL";
32
+ readonly format: "uri-reference";
33
+ readonly pattern: "^(?:https?://.*|mailto:.+|tel:.+|/(?:[^/].*)?)$";
34
+ };
35
+ readonly target: {
36
+ readonly type: "string";
37
+ readonly enum: readonly ["_self", "_blank"];
38
+ readonly default: "_self";
39
+ readonly title: "Open in";
40
+ };
41
+ };
42
+ };
43
+ };
44
+ };
45
+ };
46
+ };
47
+ type NavigationLinkListContentValue = ContentValue<typeof NavigationLinkListContent>;
48
+ /** One authored link. Derived from the model so the prop and content channels cannot drift. */
49
+ export type NavigationLinkListLink = NonNullable<NavigationLinkListContentValue['links']>[number];
50
+ export type NavigationLinkListProps = ComponentPropsWithRef<'ul'> & {
51
+ /** Authored fallback for the link list, used when no CMS entry supplies one. */
52
+ links?: readonly NavigationLinkListLink[];
53
+ /** Injected by the compiler, sliced from the page's or layout's composite content entry. */
54
+ $content?: NavigationLinkListContentValue;
55
+ };
56
+ export declare const NavigationLinkListDefinition: ComponentDefinition<NavigationLinkListProps>;
57
+ export declare function NavigationLinkList({ links, $content, className, ...props }: NavigationLinkListProps): import("react/jsx-runtime").JSX.Element | null;
58
+ //#endregion
59
+ //# sourceMappingURL=navigation-link-list.d.ts.map
@@ -0,0 +1,103 @@
1
+ import { defineComponent } from "../../core/dist/define-component.js";
2
+ import { defineContentType } from "../../core/dist/define-content-type.js";
3
+ import "../../core/dist/index.js";
4
+ import { resolveSafeHref } from "../../utils/safe-href.js";
5
+ import { NavigationLink } from "../navigation-link/navigation-link.js";
6
+ import { jsx } from "react/jsx-runtime";
7
+ //#region src/particles/navigation-link-list/navigation-link-list.tsx
8
+ const NavigationLinkListContent = defineContentType({
9
+ id: "navigation-link-list",
10
+ title: "Navigation Links",
11
+ description: "The ordered list of navigation links, editable without a deployment.",
12
+ schema: {
13
+ type: "object",
14
+ additionalProperties: false,
15
+ properties: { links: {
16
+ type: "array",
17
+ title: "Links",
18
+ minItems: 1,
19
+ items: {
20
+ type: "object",
21
+ additionalProperties: false,
22
+ required: ["label", "href"],
23
+ properties: {
24
+ label: {
25
+ type: "string",
26
+ minLength: 1,
27
+ title: "Label"
28
+ },
29
+ href: {
30
+ type: "string",
31
+ minLength: 1,
32
+ title: "URL",
33
+ format: "uri-reference",
34
+ pattern: "^(?:https?://.*|mailto:.+|tel:.+|/(?:[^/].*)?)$"
35
+ },
36
+ target: {
37
+ type: "string",
38
+ enum: ["_self", "_blank"],
39
+ default: "_self",
40
+ title: "Open in"
41
+ }
42
+ }
43
+ }
44
+ } }
45
+ }
46
+ });
47
+ const NavigationLinkListDefinition = defineComponent({
48
+ name: "NavigationLinkList",
49
+ importPath: "@vtex/faststore/components",
50
+ component: NavigationLinkList,
51
+ content: NavigationLinkListContent,
52
+ editor: {
53
+ label: "Navigation Links",
54
+ category: "navigation"
55
+ },
56
+ schema: { links: {
57
+ type: "array",
58
+ label: "Links"
59
+ } },
60
+ guideline: "The list of navigation links as one CMS-editable collection, so a merchant adds, removes and reorders them without a deployment. Owns its own <ul>, so compose it directly under NavigationMenuRoot for the desktop bar and inside DrawerPopup for the mobile panel — reference the same element id from both and one entry feeds both surfaces. See navigation-link-list.md."
61
+ });
62
+ function resolveLinks(links) {
63
+ const resolved = [];
64
+ links.forEach((link, index) => {
65
+ if (link.label.trim().length === 0) return;
66
+ const destination = resolveSafeHref(link.href);
67
+ if (!destination.safe) console.warn("[NavigationLinkList] link destination rejected", {
68
+ index,
69
+ reason: destination.reason
70
+ });
71
+ resolved.push({
72
+ label: link.label,
73
+ href: destination.safe ? destination.href : null,
74
+ target: link.target
75
+ });
76
+ });
77
+ return resolved;
78
+ }
79
+ function NavigationLinkList({ links, $content, className, ...props }) {
80
+ const resolved = resolveLinks($content?.links ?? links ?? []);
81
+ if (resolved.length === 0) return null;
82
+ return /* @__PURE__ */ jsx("ul", {
83
+ ...props,
84
+ className,
85
+ "data-fs-navigation-link-list": "",
86
+ children: resolved.map((link, index) => /* @__PURE__ */ jsx("li", {
87
+ "data-fs-navigation-link-list-item": "",
88
+ children: link.href === null ? /* @__PURE__ */ jsx("span", {
89
+ "data-fs-text": "",
90
+ "data-fs-navigation-link-list-text": "",
91
+ children: link.label
92
+ }) : /* @__PURE__ */ jsx(NavigationLink, {
93
+ href: link.href,
94
+ target: link.target,
95
+ children: link.label
96
+ })
97
+ }, index))
98
+ });
99
+ }
100
+ //#endregion
101
+ export { NavigationLinkList, NavigationLinkListContent, NavigationLinkListDefinition };
102
+
103
+ //# sourceMappingURL=navigation-link-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-link-list.js","names":[],"sources":["../../../src/particles/navigation-link-list/navigation-link-list.tsx"],"sourcesContent":["import { type ContentValue, defineComponent, defineContentType } from '@vtex/fs-core';\nimport type { ComponentPropsWithRef } from 'react';\nimport { resolveSafeHref } from '../../utils/safe-href.js';\nimport { NavigationLink } from '../navigation-link/navigation-link.js';\n\n// ---------------------------------------------------------------------------\n// Content model\n// ---------------------------------------------------------------------------\n\nexport const NavigationLinkListContent = defineContentType({\n id: 'navigation-link-list',\n title: 'Navigation Links',\n description: 'The ordered list of navigation links, editable without a deployment.',\n schema: {\n type: 'object',\n additionalProperties: false,\n // `links` is not required, for the reason FooterLinkGroup records: a missing element key already\n // omits the component, so requiring it would only cost the prop fallback its shape validity.\n properties: {\n links: {\n type: 'array',\n title: 'Links',\n minItems: 1,\n items: {\n type: 'object',\n additionalProperties: false,\n required: ['label', 'href'],\n properties: {\n label: { type: 'string', minLength: 1, title: 'Label' },\n href: {\n type: 'string',\n minLength: 1,\n title: 'URL',\n format: 'uri-reference',\n // Author-time guidance only, and lookahead-free so the Admin's RE2-family engine takes it.\n pattern: '^(?:https?://.*|mailto:.+|tel:.+|/(?:[^/].*)?)$',\n },\n target: { type: 'string', enum: ['_self', '_blank'], default: '_self', title: 'Open in' },\n },\n },\n },\n },\n },\n});\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\ntype NavigationLinkListContentValue = ContentValue<typeof NavigationLinkListContent>;\n\n/** One authored link. Derived from the model so the prop and content channels cannot drift. */\nexport type NavigationLinkListLink = NonNullable<NavigationLinkListContentValue['links']>[number];\n\nexport type NavigationLinkListProps = ComponentPropsWithRef<'ul'> & {\n /** Authored fallback for the link list, used when no CMS entry supplies one. */\n links?: readonly NavigationLinkListLink[];\n /** Injected by the compiler, sliced from the page's or layout's composite content entry. */\n $content?: NavigationLinkListContentValue;\n};\n\n// ---------------------------------------------------------------------------\n// Definition\n// ---------------------------------------------------------------------------\n\nexport const NavigationLinkListDefinition = defineComponent({\n name: 'NavigationLinkList',\n importPath: '@vtex/faststore/components',\n component: NavigationLinkList,\n content: NavigationLinkListContent,\n editor: { label: 'Navigation Links', category: 'navigation' },\n schema: {\n links: { type: 'array', label: 'Links' },\n },\n guideline:\n 'The list of navigation links as one CMS-editable collection, so a merchant adds, removes and reorders them without a deployment. Owns its own <ul>, so compose it directly under NavigationMenuRoot for the desktop bar and inside DrawerPopup for the mobile panel — reference the same element id from both and one entry feeds both surfaces. See navigation-link-list.md.',\n});\n\n// ---------------------------------------------------------------------------\n// Implementation\n// ---------------------------------------------------------------------------\n\n/** A resolved link, ready to render. A null `href` is a destination the allowlist refused. */\ntype ResolvedLink = {\n label: string;\n href: string | null;\n target: NavigationLinkListLink['target'];\n};\n\nfunction resolveLinks(links: readonly NavigationLinkListLink[]): ResolvedLink[] {\n const resolved: ResolvedLink[] = [];\n\n links.forEach((link, index) => {\n // `minLength` is enforced by neither the runtime slice nor the preflight, so a blank label\n // reaches the component. Drop the link: an anchor with no accessible name is a WCAG failure.\n if (link.label.trim().length === 0) {\n return;\n }\n const destination = resolveSafeHref(link.href);\n if (!destination.safe) {\n console.warn('[NavigationLinkList] link destination rejected', { index, reason: destination.reason });\n }\n resolved.push({\n label: link.label,\n href: destination.safe ? destination.href : null,\n target: link.target,\n });\n });\n\n return resolved;\n}\n\nexport function NavigationLinkList({ links, $content, className, ...props }: NavigationLinkListProps) {\n // An entry supplying `links: []` beats an authored prop: a merchant who cleared the list cleared it.\n // `minItems` guides the Admin form only, so that empty list still reaches this component.\n const resolved = resolveLinks($content?.links ?? links ?? []);\n\n if (resolved.length === 0) {\n return null;\n }\n\n return (\n <ul {...props} className={className} data-fs-navigation-link-list=\"\">\n {resolved.map((link, index) => (\n <li key={index} data-fs-navigation-link-list-item=\"\">\n {link.href === null ? (\n <span data-fs-text=\"\" data-fs-navigation-link-list-text=\"\">\n {link.label}\n </span>\n ) : (\n // `target` reaches NavigationLink as a prop, which is where the tab-nabbing defense\n // lives: it derives rel from the resolved target, so `_blank` carries noopener/noreferrer.\n <NavigationLink href={link.href} target={link.target}>\n {link.label}\n </NavigationLink>\n )}\n </li>\n ))}\n </ul>\n );\n}\n"],"mappings":";;;;;;;AASA,MAAa,4BAA4B,kBAAkB;CACzD,IAAI;CACJ,OAAO;CACP,aAAa;CACb,QAAQ;EACN,MAAM;EACN,sBAAsB;EAGtB,YAAY,EACV,OAAO;GACL,MAAM;GACN,OAAO;GACP,UAAU;GACV,OAAO;IACL,MAAM;IACN,sBAAsB;IACtB,UAAU,CAAC,SAAS,MAAM;IAC1B,YAAY;KACV,OAAO;MAAE,MAAM;MAAU,WAAW;MAAG,OAAO;KAAQ;KACtD,MAAM;MACJ,MAAM;MACN,WAAW;MACX,OAAO;MACP,QAAQ;MAER,SAAS;KACX;KACA,QAAQ;MAAE,MAAM;MAAU,MAAM,CAAC,SAAS,QAAQ;MAAG,SAAS;MAAS,OAAO;KAAU;IAC1F;GACF;EACF,EACF;CACF;AACF,CAAC;AAsBD,MAAa,+BAA+B,gBAAgB;CAC1D,MAAM;CACN,YAAY;CACZ,WAAW;CACX,SAAS;CACT,QAAQ;EAAE,OAAO;EAAoB,UAAU;CAAa;CAC5D,QAAQ,EACN,OAAO;EAAE,MAAM;EAAS,OAAO;CAAQ,EACzC;CACA,WACE;AACJ,CAAC;AAaD,SAAS,aAAa,OAA0D;CAC9E,MAAM,WAA2B,CAAC;CAElC,MAAM,SAAS,MAAM,UAAU;EAG7B,IAAI,KAAK,MAAM,KAAK,CAAC,CAAC,WAAW,GAC/B;EAEF,MAAM,cAAc,gBAAgB,KAAK,IAAI;EAC7C,IAAI,CAAC,YAAY,MACf,QAAQ,KAAK,kDAAkD;GAAE;GAAO,QAAQ,YAAY;EAAO,CAAC;EAEtG,SAAS,KAAK;GACZ,OAAO,KAAK;GACZ,MAAM,YAAY,OAAO,YAAY,OAAO;GAC5C,QAAQ,KAAK;EACf,CAAC;CACH,CAAC;CAED,OAAO;AACT;AAEA,SAAgB,mBAAmB,EAAE,OAAO,UAAU,WAAW,GAAG,SAAkC;CAGpG,MAAM,WAAW,aAAa,UAAU,SAAS,SAAS,CAAC,CAAC;CAE5D,IAAI,SAAS,WAAW,GACtB,OAAO;CAGT,OACE,oBAAC,MAAD;EAAI,GAAI;EAAkB;EAAW,gCAA6B;EAC/D,UAAA,SAAS,KAAK,MAAM,UACnB,oBAAC,MAAD;GAAgB,qCAAkC;GAC/C,UAAA,KAAK,SAAS,OACb,oBAAC,QAAD;IAAM,gBAAa;IAAG,qCAAkC;IACrD,UAAA,KAAK;GACF,CAAA,IAIN,oBAAC,gBAAD;IAAgB,MAAM,KAAK;IAAM,QAAQ,KAAK;IAC3C,UAAA,KAAK;GACQ,CAAA;EAEhB,GAZK,KAYL,CACL;CACC,CAAA;AAER"}
@@ -0,0 +1,78 @@
1
+ import { ComponentDefinition } from "../../core/dist/define-component.js";
2
+ import "../../core/dist/index.js";
3
+ import { ComponentPropsWithRef, ReactNode } from "react";
4
+ import { NavigationMenu } from "@base-ui/react/navigation-menu";
5
+ //#region src/particles/navigation-menu/navigation-menu.d.ts
6
+ export type NavigationMenuSide = 'top' | 'bottom' | 'left' | 'right';
7
+ export type NavigationMenuAlign = 'start' | 'center' | 'end';
8
+ export type NavigationMenuOrientation = 'horizontal' | 'vertical';
9
+ export type NavigationMenuRootProps = {
10
+ orientation?: NavigationMenuOrientation;
11
+ delay?: number;
12
+ closeDelay?: number;
13
+ children?: ReactNode;
14
+ };
15
+ export type NavigationMenuListProps = ComponentPropsWithRef<'ul'>;
16
+ export type NavigationMenuItemProps = ComponentPropsWithRef<'li'> & {
17
+ value?: string;
18
+ };
19
+ export type NavigationMenuTriggerProps = ComponentPropsWithRef<'button'>;
20
+ export type NavigationMenuIconProps = Omit<ComponentPropsWithRef<typeof NavigationMenu.Icon>, 'className'> & {
21
+ className?: string;
22
+ };
23
+ export type NavigationMenuContentProps = ComponentPropsWithRef<'div'>;
24
+ export type NavigationMenuLinkProps = ComponentPropsWithRef<'a'>;
25
+ export type NavigationMenuPortalProps = {
26
+ children?: ReactNode;
27
+ };
28
+ export type NavigationMenuPositionerProps = ComponentPropsWithRef<'div'> & {
29
+ side?: NavigationMenuSide;
30
+ align?: NavigationMenuAlign;
31
+ sideOffset?: number;
32
+ };
33
+ export type NavigationMenuPopupProps = Omit<ComponentPropsWithRef<typeof NavigationMenu.Popup>, 'className'> & {
34
+ className?: string;
35
+ };
36
+ export type NavigationMenuArrowProps = ComponentPropsWithRef<'div'>;
37
+ export type NavigationMenuViewportProps = ComponentPropsWithRef<'div'>;
38
+ export declare const NavigationMenuRootDefinition: ComponentDefinition<NavigationMenuRootProps>;
39
+ export declare const NavigationMenuListDefinition: ComponentDefinition<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLUListElement>, HTMLUListElement>>;
40
+ export declare const NavigationMenuItemDefinition: ComponentDefinition<NavigationMenuItemProps>;
41
+ export declare const NavigationMenuTriggerDefinition: ComponentDefinition<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>>;
42
+ export declare const NavigationMenuIconDefinition: ComponentDefinition<NavigationMenuIconProps>;
43
+ export declare const NavigationMenuContentDefinition: ComponentDefinition<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>;
44
+ export declare const NavigationMenuLinkDefinition: ComponentDefinition<import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>>;
45
+ export declare const NavigationMenuPortalDefinition: ComponentDefinition<NavigationMenuPortalProps>;
46
+ export declare const NavigationMenuPositionerDefinition: ComponentDefinition<NavigationMenuPositionerProps>;
47
+ export declare const NavigationMenuPopupDefinition: ComponentDefinition<NavigationMenuPopupProps>;
48
+ export declare const NavigationMenuArrowDefinition: ComponentDefinition<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>;
49
+ export declare const NavigationMenuViewportDefinition: ComponentDefinition<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>;
50
+ export declare function NavigationMenuRoot({ orientation, delay, closeDelay, children }: NavigationMenuRootProps): import("react/jsx-runtime").JSX.Element;
51
+ export declare function NavigationMenuList({ className, children, ...props }: NavigationMenuListProps): import("react/jsx-runtime").JSX.Element;
52
+ export declare function NavigationMenuItem({ value, className, children, ...props }: NavigationMenuItemProps): import("react/jsx-runtime").JSX.Element;
53
+ export declare function NavigationMenuTrigger({ className, children, ...props }: NavigationMenuTriggerProps): import("react/jsx-runtime").JSX.Element;
54
+ export declare function NavigationMenuIcon({ className, children, ...props }: NavigationMenuIconProps): import("react/jsx-runtime").JSX.Element;
55
+ export declare function NavigationMenuContent({ className, children, ...props }: NavigationMenuContentProps): import("react/jsx-runtime").JSX.Element;
56
+ export declare function NavigationMenuLink({ className, children, ...props }: NavigationMenuLinkProps): import("react/jsx-runtime").JSX.Element;
57
+ export declare function NavigationMenuPortal({ children }: NavigationMenuPortalProps): import("react/jsx-runtime").JSX.Element;
58
+ export declare function NavigationMenuPositioner({ side, align, sideOffset, className, children, ...props }: NavigationMenuPositionerProps): import("react/jsx-runtime").JSX.Element;
59
+ export declare function NavigationMenuPopup({ className, children, ...props }: NavigationMenuPopupProps): import("react/jsx-runtime").JSX.Element;
60
+ export declare function NavigationMenuArrow({ className, children, ...props }: NavigationMenuArrowProps): import("react/jsx-runtime").JSX.Element;
61
+ export declare function NavigationMenuViewport({ className, children, ...props }: NavigationMenuViewportProps): import("react/jsx-runtime").JSX.Element;
62
+ declare const NavigationMenu$1: {
63
+ Root: typeof NavigationMenuRoot;
64
+ List: typeof NavigationMenuList;
65
+ Item: typeof NavigationMenuItem;
66
+ Trigger: typeof NavigationMenuTrigger;
67
+ Icon: typeof NavigationMenuIcon;
68
+ Content: typeof NavigationMenuContent;
69
+ Link: typeof NavigationMenuLink;
70
+ Portal: typeof NavigationMenuPortal;
71
+ Positioner: typeof NavigationMenuPositioner;
72
+ Popup: typeof NavigationMenuPopup;
73
+ Arrow: typeof NavigationMenuArrow;
74
+ Viewport: typeof NavigationMenuViewport;
75
+ };
76
+ //#endregion
77
+ export { NavigationMenu$1 as NavigationMenu };
78
+ //# sourceMappingURL=navigation-menu.d.ts.map