@webflare/ui 0.0.0-stage → 0.1.0

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 (447) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +234 -2
  3. package/dist/AccordionRoot-CNPxdTtA.cjs +182 -0
  4. package/dist/AccordionRoot-CmK-jaZz.js +178 -0
  5. package/dist/AlertRoot-B-M0xDFC.js +274 -0
  6. package/dist/AlertRoot-DRRwRAhA.cjs +278 -0
  7. package/dist/BadgeRoot-CzUSTR0W.cjs +136 -0
  8. package/dist/BadgeRoot-ffbcCd5B.js +132 -0
  9. package/dist/Button-A9BiKfSl.js +240 -0
  10. package/dist/Button-CwVAoJjO.cjs +244 -0
  11. package/dist/CardBody-BEbTLrA2.cjs +21 -0
  12. package/dist/CardBody-DbSW-Ssx.js +16 -0
  13. package/dist/CardHeader-Cx1pE9No.cjs +36 -0
  14. package/dist/CardHeader-DDRGpYth.js +31 -0
  15. package/dist/CardRoot-CZpgncJQ.cjs +49 -0
  16. package/dist/CardRoot-ia9NDth1.js +44 -0
  17. package/dist/CarouselItem-CJ9Kj2lU.cjs +21 -0
  18. package/dist/CarouselItem-Crs28MA9.js +16 -0
  19. package/dist/CarouselNavigation-BUZyy5GA.cjs +53 -0
  20. package/dist/CarouselNavigation-aM0v6IoI.js +48 -0
  21. package/dist/CarouselRoot-Co9IuVve.cjs +45 -0
  22. package/dist/CarouselRoot-DlGJZCox.js +40 -0
  23. package/dist/ControlSwitch-C-pzHgWm.cjs +188 -0
  24. package/dist/ControlSwitch-C0Rj6fSW.js +184 -0
  25. package/dist/DialogRoot-BiH9G8Jm.js +170 -0
  26. package/dist/DialogRoot-C6icP9Fb.cjs +174 -0
  27. package/dist/FieldBase-BwD6Dput.js +42 -0
  28. package/dist/FieldBase-X1FWOqPU.cjs +47 -0
  29. package/dist/FieldCheckbox-CYuyWgbl.cjs +139 -0
  30. package/dist/FieldCheckbox-DsQsNeX7.js +134 -0
  31. package/dist/FieldError-BPjk-uZc.js +36 -0
  32. package/dist/FieldError-XRz98TFe.cjs +41 -0
  33. package/dist/FieldFooter-05GxwrFg.cjs +29 -0
  34. package/dist/FieldFooter-CE598o7n.js +24 -0
  35. package/dist/FieldInput-bnC_fTws.cjs +155 -0
  36. package/dist/FieldInput-h3MgGC6J.js +150 -0
  37. package/dist/FieldLabel-BYlOJvXY.js +37 -0
  38. package/dist/FieldLabel-DBKhMbql.cjs +42 -0
  39. package/dist/FieldMessage-C83iNsEp.cjs +40 -0
  40. package/dist/FieldMessage-GyO_RQdK.js +35 -0
  41. package/dist/FieldRadioGroup-CLWFr3aL.cjs +158 -0
  42. package/dist/FieldRadioGroup-CmQ5JOjv.js +153 -0
  43. package/dist/FieldRequired-7fJtYCdt.js +16 -0
  44. package/dist/FieldRequired-CJtyr3cL.cjs +21 -0
  45. package/dist/FieldSelect-D6X_BwTS.js +239 -0
  46. package/dist/FieldSelect-DVcgCsHL.cjs +243 -0
  47. package/dist/FieldSwitch-C7VMSMoE.cjs +71 -0
  48. package/dist/FieldSwitch-DqagDsKK.js +66 -0
  49. package/dist/FieldTextarea-DBufxMQf.cjs +148 -0
  50. package/dist/FieldTextarea-_BtGkI0v.js +143 -0
  51. package/dist/FieldUrl-CcIOyPSl.js +387 -0
  52. package/dist/FieldUrl-DNnXDfBR.cjs +391 -0
  53. package/dist/FlyoutDropdown-Bw3pD8Tk.cjs +90 -0
  54. package/dist/FlyoutDropdown-ByXW9lqH.js +74 -0
  55. package/dist/FlyoutRoot-CuXnqpf8.js +110 -0
  56. package/dist/FlyoutRoot-DUoOHEoX.cjs +115 -0
  57. package/dist/FormPrompt-BDAVKk5i.cjs +63 -0
  58. package/dist/FormPrompt-BuS1lg-K.js +58 -0
  59. package/dist/FormPromptFooter-BhwWsaib.cjs +21 -0
  60. package/dist/FormPromptFooter-BrUOs40t.js +16 -0
  61. package/dist/HeroLead-BU-74-fX.js +151 -0
  62. package/dist/HeroLead-D52JBlM2.cjs +155 -0
  63. package/dist/ListItem-1sYxrNuv.cjs +164 -0
  64. package/dist/ListItem-rD49tsLw.js +148 -0
  65. package/dist/ListRoot-BRrC79y6.cjs +42 -0
  66. package/dist/ListRoot-CP7smMl_.js +37 -0
  67. package/dist/Loader-CMEggjED.cjs +121 -0
  68. package/dist/Loader-DSLPdX6P.js +116 -0
  69. package/dist/PricingCardBadge-DoHnRqTM.cjs +25 -0
  70. package/dist/PricingCardBadge-lh3Oq5fB.js +20 -0
  71. package/dist/PricingCardBody--EB7FzUU.cjs +60 -0
  72. package/dist/PricingCardBody-Dai1zKDL.js +49 -0
  73. package/dist/PricingCardHeader-DCEG6BUA.js +39 -0
  74. package/dist/PricingCardHeader-yebSjw8M.cjs +44 -0
  75. package/dist/PricingCardPricing-DvdbyMEh.cjs +30 -0
  76. package/dist/PricingCardPricing-Vbs2D8Fm.js +25 -0
  77. package/dist/PricingCardRoot-B9ztC1u9.cjs +46 -0
  78. package/dist/PricingCardRoot-Dagig8jr.js +41 -0
  79. package/dist/ProgressRoot-BV_wQKYv.js +251 -0
  80. package/dist/ProgressRoot-CWWNmB99.cjs +255 -0
  81. package/dist/SwitchRoot-CcipiBzA.cjs +61 -0
  82. package/dist/SwitchRoot-DGFu9ZWR.js +56 -0
  83. package/dist/TabItem--4wiBton.cjs +114 -0
  84. package/dist/TabItem-BTIrtLtp.js +104 -0
  85. package/dist/TabRoot-BNp4_dI_.cjs +77 -0
  86. package/dist/TabRoot-DDDJe5FC.js +72 -0
  87. package/dist/carousel-BrCOR927.cjs +144 -0
  88. package/dist/carousel-CBw9xA_6.js +139 -0
  89. package/dist/choiceStyles-DIVBtoZF.cjs +175 -0
  90. package/dist/choiceStyles-DRjL1Y2d.js +164 -0
  91. package/dist/components/Accordion/AccordionRoot.vue.d.ts +31 -0
  92. package/dist/components/Accordion/index.d.ts +59 -0
  93. package/dist/components/Accordion/styles.d.ts +67 -0
  94. package/dist/components/Accordion/types.d.ts +15 -0
  95. package/dist/components/Alert/AlertRoot.vue.d.ts +38 -0
  96. package/dist/components/Alert/index.d.ts +54 -0
  97. package/dist/components/Alert/styles.d.ts +132 -0
  98. package/dist/components/Alert/types.d.ts +6 -0
  99. package/dist/components/Badge/BadgeRoot.vue.d.ts +26 -0
  100. package/dist/components/Badge/index.d.ts +49 -0
  101. package/dist/components/Badge/styles.d.ts +94 -0
  102. package/dist/components/Button/Button.vue.d.ts +26 -0
  103. package/dist/components/Button/index.d.ts +4 -0
  104. package/dist/components/Button/styles.d.ts +140 -0
  105. package/dist/components/Card/CardBody.vue.d.ts +17 -0
  106. package/dist/components/Card/CardHeader.vue.d.ts +25 -0
  107. package/dist/components/Card/CardRoot.vue.d.ts +39 -0
  108. package/dist/components/Card/index.d.ts +98 -0
  109. package/dist/components/Card/styles.d.ts +169 -0
  110. package/dist/components/Card/types.d.ts +8 -0
  111. package/dist/components/Carousel/CarouselItem.vue.d.ts +17 -0
  112. package/dist/components/Carousel/CarouselNavigation.vue.d.ts +30 -0
  113. package/dist/components/Carousel/CarouselRoot.vue.d.ts +30 -0
  114. package/dist/components/Carousel/index.d.ts +117 -0
  115. package/dist/components/Carousel/styles.d.ts +1 -0
  116. package/dist/components/Carousel/types.d.ts +11 -0
  117. package/dist/components/Dialog/DialogRoot.vue.d.ts +39 -0
  118. package/dist/components/Dialog/index.d.ts +68 -0
  119. package/dist/components/Dialog/styles.d.ts +1 -0
  120. package/dist/components/Field/FieldBase.vue.d.ts +22 -0
  121. package/dist/components/Field/FieldCheckbox.vue.d.ts +15 -0
  122. package/dist/components/Field/FieldError.vue.d.ts +10 -0
  123. package/dist/components/Field/FieldFooter.vue.d.ts +3 -0
  124. package/dist/components/Field/FieldInput.vue.d.ts +21 -0
  125. package/dist/components/Field/FieldLabel.vue.d.ts +13 -0
  126. package/dist/components/Field/FieldMessage.vue.d.ts +10 -0
  127. package/dist/components/Field/FieldRadioGroup.vue.d.ts +19 -0
  128. package/dist/components/Field/FieldRequired.vue.d.ts +3 -0
  129. package/dist/components/Field/FieldSelect.vue.d.ts +20 -0
  130. package/dist/components/Field/FieldSwitch.vue.d.ts +18 -0
  131. package/dist/components/Field/FieldTextarea.vue.d.ts +19 -0
  132. package/dist/components/Field/FieldUrl.vue.d.ts +24 -0
  133. package/dist/components/Field/index.d.ts +220 -0
  134. package/dist/components/Field/styles.d.ts +20 -0
  135. package/dist/components/Field/types.d.ts +17 -0
  136. package/dist/components/Flyout/FlyoutDropdown.vue.d.ts +19 -0
  137. package/dist/components/Flyout/FlyoutRoot.vue.d.ts +43 -0
  138. package/dist/components/Flyout/index.d.ts +74 -0
  139. package/dist/components/Flyout/styles.d.ts +1 -0
  140. package/dist/components/Flyout/types.d.ts +10 -0
  141. package/dist/components/Form/FormPrompt.vue.d.ts +43 -0
  142. package/dist/components/Form/FormPromptFooter.vue.d.ts +20 -0
  143. package/dist/components/Form/index.d.ts +72 -0
  144. package/dist/components/Form/styles.d.ts +1 -0
  145. package/dist/components/Hero/HeroLead.vue.d.ts +39 -0
  146. package/dist/components/Hero/index.d.ts +49 -0
  147. package/dist/components/Hero/styles.d.ts +111 -0
  148. package/dist/components/List/ListItem.vue.d.ts +24 -0
  149. package/dist/components/List/ListRoot.vue.d.ts +26 -0
  150. package/dist/components/List/index.d.ts +74 -0
  151. package/dist/components/List/styles.d.ts +90 -0
  152. package/dist/components/List/types.d.ts +12 -0
  153. package/dist/components/Loader/Loader.vue.d.ts +14 -0
  154. package/dist/components/Loader/index.d.ts +4 -0
  155. package/dist/components/Loader/styles.d.ts +62 -0
  156. package/dist/components/PricingCard/PricingCardBadge.vue.d.ts +20 -0
  157. package/dist/components/PricingCard/PricingCardBody.vue.d.ts +20 -0
  158. package/dist/components/PricingCard/PricingCardHeader.vue.d.ts +28 -0
  159. package/dist/components/PricingCard/PricingCardPricing.vue.d.ts +22 -0
  160. package/dist/components/PricingCard/PricingCardRoot.vue.d.ts +27 -0
  161. package/dist/components/PricingCard/index.d.ts +138 -0
  162. package/dist/components/PricingCard/styles.d.ts +10 -0
  163. package/dist/components/PricingCard/types.d.ts +21 -0
  164. package/dist/components/Progress/ProgressRoot.vue.d.ts +41 -0
  165. package/dist/components/Progress/index.d.ts +81 -0
  166. package/dist/components/Progress/styles.d.ts +560 -0
  167. package/dist/components/Progress/types.d.ts +4 -0
  168. package/dist/components/Switch/SwitchRoot.vue.d.ts +25 -0
  169. package/dist/components/Switch/index.d.ts +35 -0
  170. package/dist/components/Switch/types.d.ts +2 -0
  171. package/dist/components/Tab/TabItem.vue.d.ts +19 -0
  172. package/dist/components/Tab/TabRoot.vue.d.ts +32 -0
  173. package/dist/components/Tab/index.d.ts +97 -0
  174. package/dist/components/Tab/styles.d.ts +1 -0
  175. package/dist/components/Tab/types.d.ts +14 -0
  176. package/dist/composables/carousel.d.ts +29 -0
  177. package/dist/composables/flyout.d.ts +30 -0
  178. package/dist/composables/form.d.ts +18 -0
  179. package/dist/composables/injection-key.d.ts +2 -0
  180. package/dist/context-Bk4uIMQS.js +4 -0
  181. package/dist/context-cK3z69qT.cjs +8 -0
  182. package/dist/controlStyles-Bf6fx2rL.js +92 -0
  183. package/dist/controlStyles-CClWH9EG.cjs +96 -0
  184. package/dist/css-BRRSQx3P.cjs +21 -0
  185. package/dist/css-DWYlz0rn.js +16 -0
  186. package/dist/flyout-BaVoXePQ.cjs +67 -0
  187. package/dist/flyout-QHh1jKmV.js +62 -0
  188. package/dist/form-BtxAsfYs.cjs +34 -0
  189. package/dist/form-CB12X8xv.js +29 -0
  190. package/dist/index.cjs +233 -0
  191. package/dist/index.d.ts +41 -0
  192. package/dist/index.js +168 -0
  193. package/dist/injection-key-BQYV9vIr.js +5 -0
  194. package/dist/injection-key-DPb_AXnh.cjs +10 -0
  195. package/dist/internal/controls/ControlCheckbox.vue.d.ts +23 -0
  196. package/dist/internal/controls/ControlInput.vue.d.ts +28 -0
  197. package/dist/internal/controls/ControlRadioGroup.vue.d.ts +24 -0
  198. package/dist/internal/controls/ControlSelect.vue.d.ts +27 -0
  199. package/dist/internal/controls/ControlSwitch.vue.d.ts +25 -0
  200. package/dist/internal/controls/ControlTextarea.vue.d.ts +27 -0
  201. package/dist/internal/controls/ControlUrl.vue.d.ts +31 -0
  202. package/dist/internal/controls/choiceStyles.d.ts +64 -0
  203. package/dist/internal/controls/context.d.ts +10 -0
  204. package/dist/internal/controls/controlStyles.d.ts +54 -0
  205. package/dist/internal/controls/index.d.ts +14 -0
  206. package/dist/internal/controls/selectStyles.d.ts +2 -0
  207. package/dist/internal/controls/switchStyles.d.ts +46 -0
  208. package/dist/internal/controls/types.d.ts +10 -0
  209. package/dist/internal/controls/urlStyles.d.ts +84 -0
  210. package/dist/internal/controls/urlUtils.d.ts +14 -0
  211. package/dist/internal/controls/useFieldControl.d.ts +17 -0
  212. package/dist/internal/css.d.ts +24 -0
  213. package/dist/nuxt/module.d.mts +21 -0
  214. package/dist/nuxt/module.json +9 -0
  215. package/dist/nuxt/module.mjs +126 -0
  216. package/dist/nuxt/types.d.mts +3 -0
  217. package/dist/nuxt-entries.json +49 -0
  218. package/dist/panda/buildinfo.json +5432 -0
  219. package/dist/panda/lib.json +18 -0
  220. package/dist/panda/preset.mjs +4092 -0
  221. package/dist/plugin.d.ts +3 -0
  222. package/dist/preset/index.cjs +692 -0
  223. package/dist/preset/index.d.cts +18 -0
  224. package/dist/preset/index.d.ts +18 -0
  225. package/dist/preset/index.js +656 -0
  226. package/dist/style.css +153 -0
  227. package/dist/styled-system/css/conditions.d.ts +7 -0
  228. package/dist/styled-system/css/conditions.js +32 -0
  229. package/dist/styled-system/css/css.d.ts +22 -0
  230. package/dist/styled-system/css/css.js +63 -0
  231. package/dist/styled-system/css/cva.d.ts +5 -0
  232. package/dist/styled-system/css/cva.js +51 -0
  233. package/dist/styled-system/css/cx.d.ts +6 -0
  234. package/dist/styled-system/css/cx.js +16 -0
  235. package/dist/styled-system/css/first-that-works.d.ts +22 -0
  236. package/dist/styled-system/css/first-that-works.js +1 -0
  237. package/dist/styled-system/css/index.d.ts +8 -0
  238. package/dist/styled-system/css/index.js +8 -0
  239. package/dist/styled-system/css/keyframes.d.ts +5 -0
  240. package/dist/styled-system/css/keyframes.js +8 -0
  241. package/dist/styled-system/css/position-try.d.ts +5 -0
  242. package/dist/styled-system/css/position-try.js +11 -0
  243. package/dist/styled-system/css/sva.d.ts +3 -0
  244. package/dist/styled-system/css/sva.js +49 -0
  245. package/dist/styled-system/css/view-transition.d.ts +7 -0
  246. package/dist/styled-system/css/view-transition.js +18 -0
  247. package/dist/styled-system/helpers.d.ts +67 -0
  248. package/dist/styled-system/helpers.js +624 -0
  249. package/dist/styled-system/patterns/aspect-ratio.d.ts +19 -0
  250. package/dist/styled-system/patterns/aspect-ratio.js +37 -0
  251. package/dist/styled-system/patterns/bleed.d.ts +20 -0
  252. package/dist/styled-system/patterns/bleed.js +30 -0
  253. package/dist/styled-system/patterns/box.d.ts +17 -0
  254. package/dist/styled-system/patterns/box.js +16 -0
  255. package/dist/styled-system/patterns/center.d.ts +19 -0
  256. package/dist/styled-system/patterns/center.js +22 -0
  257. package/dist/styled-system/patterns/circle.d.ts +19 -0
  258. package/dist/styled-system/patterns/circle.js +26 -0
  259. package/dist/styled-system/patterns/container.d.ts +17 -0
  260. package/dist/styled-system/patterns/container.js +37 -0
  261. package/dist/styled-system/patterns/cq.d.ts +21 -0
  262. package/dist/styled-system/patterns/cq.js +24 -0
  263. package/dist/styled-system/patterns/divider.d.ts +22 -0
  264. package/dist/styled-system/patterns/divider.js +31 -0
  265. package/dist/styled-system/patterns/flex.d.ts +25 -0
  266. package/dist/styled-system/patterns/flex.js +27 -0
  267. package/dist/styled-system/patterns/float.d.ts +23 -0
  268. package/dist/styled-system/patterns/float.js +78 -0
  269. package/dist/styled-system/patterns/grid-item.d.ts +24 -0
  270. package/dist/styled-system/patterns/grid-item.js +26 -0
  271. package/dist/styled-system/patterns/grid.d.ts +24 -0
  272. package/dist/styled-system/patterns/grid.js +30 -0
  273. package/dist/styled-system/patterns/hstack.d.ts +20 -0
  274. package/dist/styled-system/patterns/hstack.js +27 -0
  275. package/dist/styled-system/patterns/index.d.ts +20 -0
  276. package/dist/styled-system/patterns/index.js +20 -0
  277. package/dist/styled-system/patterns/link-overlay.d.ts +17 -0
  278. package/dist/styled-system/patterns/link-overlay.js +25 -0
  279. package/dist/styled-system/patterns/runtime.js +25 -0
  280. package/dist/styled-system/patterns/spacer.d.ts +20 -0
  281. package/dist/styled-system/patterns/spacer.js +25 -0
  282. package/dist/styled-system/patterns/square.d.ts +19 -0
  283. package/dist/styled-system/patterns/square.js +25 -0
  284. package/dist/styled-system/patterns/stack.d.ts +22 -0
  285. package/dist/styled-system/patterns/stack.js +30 -0
  286. package/dist/styled-system/patterns/visually-hidden.d.ts +17 -0
  287. package/dist/styled-system/patterns/visually-hidden.js +19 -0
  288. package/dist/styled-system/patterns/vstack.d.ts +20 -0
  289. package/dist/styled-system/patterns/vstack.js +27 -0
  290. package/dist/styled-system/patterns/wrap.d.ts +23 -0
  291. package/dist/styled-system/patterns/wrap.js +26 -0
  292. package/dist/styled-system/recipes/runtime.js +133 -0
  293. package/dist/styled-system/tokens/index.d.ts +8 -0
  294. package/dist/styled-system/tokens/index.js +18 -0
  295. package/dist/styled-system/types/index.d.ts +5 -0
  296. package/dist/styled-system/types/pattern.d.ts +26 -0
  297. package/dist/styled-system/types/recipe.d.ts +89 -0
  298. package/dist/styled-system/types/register.d.ts +36 -0
  299. package/dist/styled-system/types/system.d.ts +1880 -0
  300. package/dist/styled-system/types/tokens.d.ts +60 -0
  301. package/dist/styles-8a0pzMRc.js +88 -0
  302. package/dist/styles-BU90HeKh.js +72 -0
  303. package/dist/styles-BvLgeNpb.cjs +42 -0
  304. package/dist/styles-CK7DJVwO.js +72 -0
  305. package/dist/styles-Cjlvkx8i.cjs +92 -0
  306. package/dist/styles-CuN4CHU4.cjs +76 -0
  307. package/dist/styles-WOyB8APA.js +38 -0
  308. package/dist/styles-_I-I4HYc.cjs +76 -0
  309. package/dist/types-B1vOzUjg.js +5 -0
  310. package/dist/types-Boy3jvmf.js +4 -0
  311. package/dist/types-CBApDh_h.js +149 -0
  312. package/dist/types-D2v625uE.cjs +8 -0
  313. package/dist/types-DzEK6W6x.cjs +16 -0
  314. package/dist/types-cLDeFros.cjs +166 -0
  315. package/dist/useFieldControl-BkQi1zak.js +29 -0
  316. package/dist/useFieldControl-CEI7IRAa.cjs +34 -0
  317. package/dist/vue/AccordionRoot.cjs +6 -0
  318. package/dist/vue/AccordionRoot.d.ts +1 -0
  319. package/dist/vue/AccordionRoot.js +1 -0
  320. package/dist/vue/AlertRoot.cjs +6 -0
  321. package/dist/vue/AlertRoot.d.ts +1 -0
  322. package/dist/vue/AlertRoot.js +1 -0
  323. package/dist/vue/BadgeRoot.cjs +6 -0
  324. package/dist/vue/BadgeRoot.d.ts +1 -0
  325. package/dist/vue/BadgeRoot.js +1 -0
  326. package/dist/vue/Button.cjs +6 -0
  327. package/dist/vue/Button.d.ts +1 -0
  328. package/dist/vue/Button.js +1 -0
  329. package/dist/vue/CardBody.cjs +6 -0
  330. package/dist/vue/CardBody.d.ts +1 -0
  331. package/dist/vue/CardBody.js +1 -0
  332. package/dist/vue/CardHeader.cjs +6 -0
  333. package/dist/vue/CardHeader.d.ts +1 -0
  334. package/dist/vue/CardHeader.js +1 -0
  335. package/dist/vue/CardRoot.cjs +6 -0
  336. package/dist/vue/CardRoot.d.ts +1 -0
  337. package/dist/vue/CardRoot.js +1 -0
  338. package/dist/vue/CarouselItem.cjs +6 -0
  339. package/dist/vue/CarouselItem.d.ts +1 -0
  340. package/dist/vue/CarouselItem.js +1 -0
  341. package/dist/vue/CarouselNavigation.cjs +6 -0
  342. package/dist/vue/CarouselNavigation.d.ts +1 -0
  343. package/dist/vue/CarouselNavigation.js +1 -0
  344. package/dist/vue/CarouselRoot.cjs +6 -0
  345. package/dist/vue/CarouselRoot.d.ts +1 -0
  346. package/dist/vue/CarouselRoot.js +1 -0
  347. package/dist/vue/DialogRoot.cjs +6 -0
  348. package/dist/vue/DialogRoot.d.ts +1 -0
  349. package/dist/vue/DialogRoot.js +1 -0
  350. package/dist/vue/FieldBase.cjs +6 -0
  351. package/dist/vue/FieldBase.d.ts +1 -0
  352. package/dist/vue/FieldBase.js +1 -0
  353. package/dist/vue/FieldCheckbox.cjs +6 -0
  354. package/dist/vue/FieldCheckbox.d.ts +1 -0
  355. package/dist/vue/FieldCheckbox.js +1 -0
  356. package/dist/vue/FieldError.cjs +6 -0
  357. package/dist/vue/FieldError.d.ts +1 -0
  358. package/dist/vue/FieldError.js +1 -0
  359. package/dist/vue/FieldInput.cjs +6 -0
  360. package/dist/vue/FieldInput.d.ts +1 -0
  361. package/dist/vue/FieldInput.js +1 -0
  362. package/dist/vue/FieldLabel.cjs +6 -0
  363. package/dist/vue/FieldLabel.d.ts +1 -0
  364. package/dist/vue/FieldLabel.js +1 -0
  365. package/dist/vue/FieldMessage.cjs +6 -0
  366. package/dist/vue/FieldMessage.d.ts +1 -0
  367. package/dist/vue/FieldMessage.js +1 -0
  368. package/dist/vue/FieldRadioGroup.cjs +6 -0
  369. package/dist/vue/FieldRadioGroup.d.ts +1 -0
  370. package/dist/vue/FieldRadioGroup.js +1 -0
  371. package/dist/vue/FieldRequired.cjs +6 -0
  372. package/dist/vue/FieldRequired.d.ts +1 -0
  373. package/dist/vue/FieldRequired.js +1 -0
  374. package/dist/vue/FieldSelect.cjs +6 -0
  375. package/dist/vue/FieldSelect.d.ts +1 -0
  376. package/dist/vue/FieldSelect.js +1 -0
  377. package/dist/vue/FieldSwitch.cjs +6 -0
  378. package/dist/vue/FieldSwitch.d.ts +1 -0
  379. package/dist/vue/FieldSwitch.js +1 -0
  380. package/dist/vue/FieldTextarea.cjs +6 -0
  381. package/dist/vue/FieldTextarea.d.ts +1 -0
  382. package/dist/vue/FieldTextarea.js +1 -0
  383. package/dist/vue/FieldUrl.cjs +6 -0
  384. package/dist/vue/FieldUrl.d.ts +1 -0
  385. package/dist/vue/FieldUrl.js +1 -0
  386. package/dist/vue/FlyoutDropdown.cjs +6 -0
  387. package/dist/vue/FlyoutDropdown.d.ts +1 -0
  388. package/dist/vue/FlyoutDropdown.js +1 -0
  389. package/dist/vue/FlyoutRoot.cjs +6 -0
  390. package/dist/vue/FlyoutRoot.d.ts +1 -0
  391. package/dist/vue/FlyoutRoot.js +1 -0
  392. package/dist/vue/FormPrompt.cjs +6 -0
  393. package/dist/vue/FormPrompt.d.ts +1 -0
  394. package/dist/vue/FormPrompt.js +1 -0
  395. package/dist/vue/FormPromptFooter.cjs +6 -0
  396. package/dist/vue/FormPromptFooter.d.ts +1 -0
  397. package/dist/vue/FormPromptFooter.js +1 -0
  398. package/dist/vue/HeroLead.cjs +6 -0
  399. package/dist/vue/HeroLead.d.ts +1 -0
  400. package/dist/vue/HeroLead.js +1 -0
  401. package/dist/vue/ListItem.cjs +6 -0
  402. package/dist/vue/ListItem.d.ts +1 -0
  403. package/dist/vue/ListItem.js +1 -0
  404. package/dist/vue/ListRoot.cjs +6 -0
  405. package/dist/vue/ListRoot.d.ts +1 -0
  406. package/dist/vue/ListRoot.js +1 -0
  407. package/dist/vue/Loader.cjs +6 -0
  408. package/dist/vue/Loader.d.ts +1 -0
  409. package/dist/vue/Loader.js +1 -0
  410. package/dist/vue/PricingCardBadge.cjs +6 -0
  411. package/dist/vue/PricingCardBadge.d.ts +1 -0
  412. package/dist/vue/PricingCardBadge.js +1 -0
  413. package/dist/vue/PricingCardBody.cjs +6 -0
  414. package/dist/vue/PricingCardBody.d.ts +1 -0
  415. package/dist/vue/PricingCardBody.js +1 -0
  416. package/dist/vue/PricingCardHeader.cjs +6 -0
  417. package/dist/vue/PricingCardHeader.d.ts +1 -0
  418. package/dist/vue/PricingCardHeader.js +1 -0
  419. package/dist/vue/PricingCardPricing.cjs +6 -0
  420. package/dist/vue/PricingCardPricing.d.ts +1 -0
  421. package/dist/vue/PricingCardPricing.js +1 -0
  422. package/dist/vue/PricingCardRoot.cjs +6 -0
  423. package/dist/vue/PricingCardRoot.d.ts +1 -0
  424. package/dist/vue/PricingCardRoot.js +1 -0
  425. package/dist/vue/ProgressRoot.cjs +6 -0
  426. package/dist/vue/ProgressRoot.d.ts +1 -0
  427. package/dist/vue/ProgressRoot.js +1 -0
  428. package/dist/vue/SwitchRoot.cjs +6 -0
  429. package/dist/vue/SwitchRoot.d.ts +1 -0
  430. package/dist/vue/SwitchRoot.js +1 -0
  431. package/dist/vue/TabItem.cjs +6 -0
  432. package/dist/vue/TabItem.d.ts +1 -0
  433. package/dist/vue/TabItem.js +1 -0
  434. package/dist/vue/TabRoot.cjs +6 -0
  435. package/dist/vue/TabRoot.d.ts +1 -0
  436. package/dist/vue/TabRoot.js +1 -0
  437. package/dist/vue/useCarousel.cjs +3 -0
  438. package/dist/vue/useCarousel.d.ts +1 -0
  439. package/dist/vue/useCarousel.js +1 -0
  440. package/dist/vue/useFlyout.cjs +3 -0
  441. package/dist/vue/useFlyout.d.ts +1 -0
  442. package/dist/vue/useFlyout.js +1 -0
  443. package/dist/vue/useFormData.cjs +3 -0
  444. package/dist/vue/useFormData.d.ts +1 -0
  445. package/dist/vue/useFormData.js +1 -0
  446. package/dist/vue-components.d.ts +17 -0
  447. package/package.json +172 -4
@@ -0,0 +1,72 @@
1
+ import { n as tabStyles, t as TabItem_default } from "./TabItem-BTIrtLtp.js";
2
+ import { t as withCss } from "./css-DWYlz0rn.js";
3
+ import { Fragment, createBlock, createElementBlock, createVNode, defineComponent, normalizeClass, openBlock, ref, renderList, renderSlot, unref, watch, withCtx } from "vue";
4
+ import { TabsList, TabsRoot } from "reka-ui";
5
+ // src/components/Tab/TabRoot.vue
6
+ var TabRoot_default = /* @__PURE__ */ defineComponent({
7
+ __name: "TabRoot",
8
+ props: {
9
+ modelValue: {},
10
+ defaultValue: {},
11
+ orientation: { default: "horizontal" },
12
+ loop: {
13
+ type: Boolean,
14
+ default: true
15
+ },
16
+ items: { default: () => [] },
17
+ css: {}
18
+ },
19
+ emits: ["update:modelValue", "change"],
20
+ setup(__props, { emit: __emit }) {
21
+ const props = __props;
22
+ const emit = __emit;
23
+ const internalValue = ref(props.modelValue ?? props.defaultValue ?? void 0);
24
+ watch(() => props.modelValue, (value) => {
25
+ internalValue.value = value;
26
+ });
27
+ const styles = tabStyles.raw();
28
+ const handleUpdate = (value) => {
29
+ const stringValue = String(value);
30
+ const oldValue = internalValue.value;
31
+ const oldIndex = props.items.findIndex((i) => i.value === oldValue);
32
+ const newIndex = props.items.findIndex((i) => i.value === stringValue);
33
+ const direction = oldIndex !== -1 && newIndex !== -1 && newIndex < oldIndex ? "prev" : "next";
34
+ internalValue.value = stringValue;
35
+ emit("update:modelValue", stringValue);
36
+ emit("change", {
37
+ value: stringValue,
38
+ direction
39
+ });
40
+ };
41
+ return (_ctx, _cache) => {
42
+ return openBlock(), createBlock(unref(TabsRoot), {
43
+ "model-value": internalValue.value,
44
+ orientation: __props.orientation,
45
+ "onUpdate:modelValue": handleUpdate
46
+ }, {
47
+ default: withCtx(() => [createVNode(unref(TabsList), {
48
+ class: normalizeClass(unref(withCss)(unref(styles).root, props.css?.root)),
49
+ loop: __props.loop
50
+ }, {
51
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
52
+ return openBlock(), createBlock(TabItem_default, {
53
+ key: item.value,
54
+ value: item.value,
55
+ label: item.label,
56
+ icon: item.icon,
57
+ disabled: item.disabled
58
+ }, null, 8, [
59
+ "value",
60
+ "label",
61
+ "icon",
62
+ "disabled"
63
+ ]);
64
+ }), 128)), renderSlot(_ctx.$slots, "default")]),
65
+ _: 3
66
+ }, 8, ["class", "loop"])]),
67
+ _: 3
68
+ }, 8, ["model-value", "orientation"]);
69
+ };
70
+ }
71
+ });
72
+ export { TabRoot_default as t };
@@ -0,0 +1,144 @@
1
+ let vue = require("vue");
2
+ // src/composables/carousel.ts
3
+ /** Minimum time between two wheel-driven moves, so one gesture moves one step. */
4
+ var WHEEL_COOLDOWN_MS = 400;
5
+ /**
6
+ * Carousel scrolling for `item` and `viewport` modes.
7
+ *
8
+ * Navigation uses the scroller's overflow geometry (`scrollTo` + item offsets),
9
+ * not IntersectionObserver visibility. Observer callbacks only toggle the
10
+ * `visible` class — a `threshold` of `1` never marked items visible when the
11
+ * viewport was smaller than an item (issue #11).
12
+ *
13
+ * @param options Carousel options.
14
+ * @param options.scrollMode `item` moves one item; `viewport` moves past the visible ones.
15
+ * @param carousel The scroll container. Its direct children are the items.
16
+ */
17
+ function useCarousel(options, carousel) {
18
+ const carouselItems = (0, vue.shallowRef)([]);
19
+ const currentCarouselItemIndex = (0, vue.ref)(0);
20
+ const visibleCarouselItems = (0, vue.shallowRef)([]);
21
+ const scrollDirection = (0, vue.ref)(null);
22
+ let observer = null;
23
+ let lastWheelAt = 0;
24
+ const carouselItem = (0, vue.computed)(() => carouselItems.value[currentCarouselItemIndex.value] ?? null);
25
+ const pages = (0, vue.computed)(() => {
26
+ const visibleCount = visibleCarouselItems.value.length;
27
+ if (visibleCount === 0) return 0;
28
+ return Math.ceil(carouselItems.value.length / visibleCount);
29
+ });
30
+ const allItemsVisible = (0, vue.computed)(() => {
31
+ const total = carouselItems.value.length;
32
+ return total > 0 && visibleCarouselItems.value.length === total;
33
+ });
34
+ (0, vue.watch)(carouselItem, (newItem, oldItem) => {
35
+ newItem?.classList.add("active");
36
+ if (oldItem && oldItem !== newItem) oldItem.classList.remove("active");
37
+ });
38
+ const isFullyVisible = (item, scroller) => {
39
+ const start = item.offsetLeft;
40
+ const end = start + item.offsetWidth;
41
+ const viewStart = scroller.scrollLeft;
42
+ const viewEnd = viewStart + scroller.clientWidth;
43
+ return start >= viewStart - 1 && end <= viewEnd + 1;
44
+ };
45
+ /** First item that still reaches into the viewport. */
46
+ const firstOverlappingIndex = (items, scroller) => {
47
+ const index = items.findIndex((item) => item.offsetLeft + item.offsetWidth > scroller.scrollLeft);
48
+ return index === -1 ? 0 : index;
49
+ };
50
+ const scrollToIndex = (index) => {
51
+ const item = carouselItems.value[index];
52
+ const scroller = carousel.value;
53
+ if (!item || !scroller) return;
54
+ scroller.scrollTo({
55
+ left: item.offsetLeft,
56
+ behavior: "smooth"
57
+ });
58
+ currentCarouselItemIndex.value = index;
59
+ };
60
+ const viewportTargetIndex = (direction) => {
61
+ const items = carouselItems.value;
62
+ const scroller = carousel.value;
63
+ if (!scroller || items.length === 0) return null;
64
+ const fullyVisible = items.filter((item) => isFullyVisible(item, scroller));
65
+ if (direction === "next") {
66
+ const lastFullyVisible = fullyVisible.at(-1);
67
+ const nextIndex = lastFullyVisible ? items.indexOf(lastFullyVisible) + 1 : firstOverlappingIndex(items, scroller) + 1;
68
+ return nextIndex < items.length ? nextIndex : null;
69
+ }
70
+ const firstFullyVisible = fullyVisible[0];
71
+ const prevIndex = firstFullyVisible ? items.indexOf(firstFullyVisible) - 1 : firstOverlappingIndex(items, scroller) - 1;
72
+ return prevIndex >= 0 ? prevIndex : null;
73
+ };
74
+ const move = (direction) => {
75
+ scrollDirection.value = direction;
76
+ if ((0, vue.toValue)(options.scrollMode) === "viewport") {
77
+ const index = viewportTargetIndex(direction);
78
+ if (index !== null) scrollToIndex(index);
79
+ return;
80
+ }
81
+ scrollToIndex(currentCarouselItemIndex.value + (direction === "next" ? 1 : -1));
82
+ };
83
+ const handleNext = () => move("next");
84
+ const handlePrev = () => move("prev");
85
+ /**
86
+ * Wheel navigation (opt-in on `CarouselRoot` with `wheel-navigation`).
87
+ * Follows the dominant axis and moves at most one step per gesture.
88
+ */
89
+ const handleWheel = (event) => {
90
+ const delta = Math.abs(event.deltaX) > Math.abs(event.deltaY) ? event.deltaX : event.deltaY;
91
+ if (delta === 0) return;
92
+ event.preventDefault();
93
+ const now = Date.now();
94
+ if (now - lastWheelAt < WHEEL_COOLDOWN_MS) return;
95
+ lastWheelAt = now;
96
+ move(delta > 0 ? "next" : "prev");
97
+ };
98
+ (0, vue.onMounted)(() => {
99
+ carouselItems.value = Array.from(carousel.value?.querySelectorAll(":scope > *") ?? []);
100
+ if (typeof IntersectionObserver === "undefined") return;
101
+ observer = new IntersectionObserver((entries) => {
102
+ for (const entry of entries) {
103
+ const target = entry.target;
104
+ if (entry.isIntersecting) {
105
+ target.dataset.carouselVisibility = "visible";
106
+ target.classList.add("visible");
107
+ } else {
108
+ delete target.dataset.carouselVisibility;
109
+ target.classList.remove("visible");
110
+ }
111
+ }
112
+ visibleCarouselItems.value = carouselItems.value.filter((item) => item.dataset.carouselVisibility === "visible");
113
+ }, {
114
+ root: carousel.value,
115
+ rootMargin: "0px",
116
+ threshold: .01
117
+ });
118
+ carouselItems.value.forEach((item) => observer?.observe(item));
119
+ });
120
+ (0, vue.onUnmounted)(() => {
121
+ observer?.disconnect();
122
+ observer = null;
123
+ carouselItems.value = [];
124
+ currentCarouselItemIndex.value = 0;
125
+ });
126
+ return {
127
+ handleNext,
128
+ handlePrev,
129
+ handleWheel,
130
+ carouselItems,
131
+ carouselItem,
132
+ currentCarouselItemIndex,
133
+ visibleCarouselItems,
134
+ scrollDirection,
135
+ allItemsVisible,
136
+ pages
137
+ };
138
+ }
139
+ Object.defineProperty(exports, "useCarousel", {
140
+ enumerable: true,
141
+ get: function() {
142
+ return useCarousel;
143
+ }
144
+ });
@@ -0,0 +1,139 @@
1
+ import { computed, onMounted, onUnmounted, ref, shallowRef, toValue, watch } from "vue";
2
+ // src/composables/carousel.ts
3
+ /** Minimum time between two wheel-driven moves, so one gesture moves one step. */
4
+ var WHEEL_COOLDOWN_MS = 400;
5
+ /**
6
+ * Carousel scrolling for `item` and `viewport` modes.
7
+ *
8
+ * Navigation uses the scroller's overflow geometry (`scrollTo` + item offsets),
9
+ * not IntersectionObserver visibility. Observer callbacks only toggle the
10
+ * `visible` class — a `threshold` of `1` never marked items visible when the
11
+ * viewport was smaller than an item (issue #11).
12
+ *
13
+ * @param options Carousel options.
14
+ * @param options.scrollMode `item` moves one item; `viewport` moves past the visible ones.
15
+ * @param carousel The scroll container. Its direct children are the items.
16
+ */
17
+ function useCarousel(options, carousel) {
18
+ const carouselItems = shallowRef([]);
19
+ const currentCarouselItemIndex = ref(0);
20
+ const visibleCarouselItems = shallowRef([]);
21
+ const scrollDirection = ref(null);
22
+ let observer = null;
23
+ let lastWheelAt = 0;
24
+ const carouselItem = computed(() => carouselItems.value[currentCarouselItemIndex.value] ?? null);
25
+ const pages = computed(() => {
26
+ const visibleCount = visibleCarouselItems.value.length;
27
+ if (visibleCount === 0) return 0;
28
+ return Math.ceil(carouselItems.value.length / visibleCount);
29
+ });
30
+ const allItemsVisible = computed(() => {
31
+ const total = carouselItems.value.length;
32
+ return total > 0 && visibleCarouselItems.value.length === total;
33
+ });
34
+ watch(carouselItem, (newItem, oldItem) => {
35
+ newItem?.classList.add("active");
36
+ if (oldItem && oldItem !== newItem) oldItem.classList.remove("active");
37
+ });
38
+ const isFullyVisible = (item, scroller) => {
39
+ const start = item.offsetLeft;
40
+ const end = start + item.offsetWidth;
41
+ const viewStart = scroller.scrollLeft;
42
+ const viewEnd = viewStart + scroller.clientWidth;
43
+ return start >= viewStart - 1 && end <= viewEnd + 1;
44
+ };
45
+ /** First item that still reaches into the viewport. */
46
+ const firstOverlappingIndex = (items, scroller) => {
47
+ const index = items.findIndex((item) => item.offsetLeft + item.offsetWidth > scroller.scrollLeft);
48
+ return index === -1 ? 0 : index;
49
+ };
50
+ const scrollToIndex = (index) => {
51
+ const item = carouselItems.value[index];
52
+ const scroller = carousel.value;
53
+ if (!item || !scroller) return;
54
+ scroller.scrollTo({
55
+ left: item.offsetLeft,
56
+ behavior: "smooth"
57
+ });
58
+ currentCarouselItemIndex.value = index;
59
+ };
60
+ const viewportTargetIndex = (direction) => {
61
+ const items = carouselItems.value;
62
+ const scroller = carousel.value;
63
+ if (!scroller || items.length === 0) return null;
64
+ const fullyVisible = items.filter((item) => isFullyVisible(item, scroller));
65
+ if (direction === "next") {
66
+ const lastFullyVisible = fullyVisible.at(-1);
67
+ const nextIndex = lastFullyVisible ? items.indexOf(lastFullyVisible) + 1 : firstOverlappingIndex(items, scroller) + 1;
68
+ return nextIndex < items.length ? nextIndex : null;
69
+ }
70
+ const firstFullyVisible = fullyVisible[0];
71
+ const prevIndex = firstFullyVisible ? items.indexOf(firstFullyVisible) - 1 : firstOverlappingIndex(items, scroller) - 1;
72
+ return prevIndex >= 0 ? prevIndex : null;
73
+ };
74
+ const move = (direction) => {
75
+ scrollDirection.value = direction;
76
+ if (toValue(options.scrollMode) === "viewport") {
77
+ const index = viewportTargetIndex(direction);
78
+ if (index !== null) scrollToIndex(index);
79
+ return;
80
+ }
81
+ scrollToIndex(currentCarouselItemIndex.value + (direction === "next" ? 1 : -1));
82
+ };
83
+ const handleNext = () => move("next");
84
+ const handlePrev = () => move("prev");
85
+ /**
86
+ * Wheel navigation (opt-in on `CarouselRoot` with `wheel-navigation`).
87
+ * Follows the dominant axis and moves at most one step per gesture.
88
+ */
89
+ const handleWheel = (event) => {
90
+ const delta = Math.abs(event.deltaX) > Math.abs(event.deltaY) ? event.deltaX : event.deltaY;
91
+ if (delta === 0) return;
92
+ event.preventDefault();
93
+ const now = Date.now();
94
+ if (now - lastWheelAt < WHEEL_COOLDOWN_MS) return;
95
+ lastWheelAt = now;
96
+ move(delta > 0 ? "next" : "prev");
97
+ };
98
+ onMounted(() => {
99
+ carouselItems.value = Array.from(carousel.value?.querySelectorAll(":scope > *") ?? []);
100
+ if (typeof IntersectionObserver === "undefined") return;
101
+ observer = new IntersectionObserver((entries) => {
102
+ for (const entry of entries) {
103
+ const target = entry.target;
104
+ if (entry.isIntersecting) {
105
+ target.dataset.carouselVisibility = "visible";
106
+ target.classList.add("visible");
107
+ } else {
108
+ delete target.dataset.carouselVisibility;
109
+ target.classList.remove("visible");
110
+ }
111
+ }
112
+ visibleCarouselItems.value = carouselItems.value.filter((item) => item.dataset.carouselVisibility === "visible");
113
+ }, {
114
+ root: carousel.value,
115
+ rootMargin: "0px",
116
+ threshold: .01
117
+ });
118
+ carouselItems.value.forEach((item) => observer?.observe(item));
119
+ });
120
+ onUnmounted(() => {
121
+ observer?.disconnect();
122
+ observer = null;
123
+ carouselItems.value = [];
124
+ currentCarouselItemIndex.value = 0;
125
+ });
126
+ return {
127
+ handleNext,
128
+ handlePrev,
129
+ handleWheel,
130
+ carouselItems,
131
+ carouselItem,
132
+ currentCarouselItemIndex,
133
+ visibleCarouselItems,
134
+ scrollDirection,
135
+ allItemsVisible,
136
+ pages
137
+ };
138
+ }
139
+ export { useCarousel as t };
@@ -0,0 +1,175 @@
1
+ let styled_system_css = require("@webflare/ui/css");
2
+ // src/internal/controls/choiceStyles.ts
3
+ /** Checkbox: label wrapper, box, check indicator, text. */
4
+ var checkboxStyles = (0, styled_system_css.sva)({
5
+ slots: [
6
+ "root",
7
+ "control",
8
+ "indicator",
9
+ "label"
10
+ ],
11
+ base: {
12
+ root: {
13
+ display: "inline-flex",
14
+ alignItems: "center",
15
+ gap: "sm",
16
+ cursor: "pointer",
17
+ userSelect: "none",
18
+ _disabled: {
19
+ cursor: "not-allowed",
20
+ opacity: "0.5"
21
+ }
22
+ },
23
+ control: {
24
+ "display": "inline-flex",
25
+ "alignItems": "center",
26
+ "justifyContent": "center",
27
+ "borderWidth": "1px",
28
+ "borderStyle": "solid",
29
+ "borderColor": "border",
30
+ "backgroundColor": "surface",
31
+ "transition": "all 200ms",
32
+ "flexShrink": "0",
33
+ "_enabled": { _hover: { borderColor: "border.hover" } },
34
+ "_invalid": { borderColor: "danger.subtle" },
35
+ "borderRadius": "sm",
36
+ "color": "neutral",
37
+ "&[data-state=\"checked\"]": {
38
+ backgroundColor: "primary",
39
+ borderColor: "primary",
40
+ color: "grey.800"
41
+ }
42
+ },
43
+ indicator: {
44
+ display: "flex",
45
+ alignItems: "center",
46
+ justifyContent: "center",
47
+ width: "100%",
48
+ height: "100%"
49
+ },
50
+ label: {
51
+ fontWeight: "500",
52
+ color: "neutral",
53
+ lineHeight: "1.4"
54
+ }
55
+ },
56
+ variants: { size: {
57
+ sm: {
58
+ control: {
59
+ width: "1rem",
60
+ height: "1rem"
61
+ },
62
+ label: { fontSize: "sm" }
63
+ },
64
+ md: {
65
+ control: {
66
+ width: "1.125rem",
67
+ height: "1.125rem"
68
+ },
69
+ label: { fontSize: "md" }
70
+ },
71
+ lg: {
72
+ control: {
73
+ width: "1.375rem",
74
+ height: "1.375rem"
75
+ },
76
+ label: { fontSize: "lg" }
77
+ }
78
+ } },
79
+ defaultVariants: { size: "md" }
80
+ });
81
+ /** Radio group: shares the box, label, and size scale with the checkbox. */
82
+ var radioGroupStyles = (0, styled_system_css.sva)({
83
+ slots: [
84
+ "root",
85
+ "item",
86
+ "control",
87
+ "indicator",
88
+ "label"
89
+ ],
90
+ base: {
91
+ root: {
92
+ display: "flex",
93
+ flexDirection: "column",
94
+ gap: "sm",
95
+ border: "none",
96
+ p: 0,
97
+ m: 0,
98
+ minWidth: "0"
99
+ },
100
+ item: {
101
+ display: "flex",
102
+ alignItems: "center",
103
+ gap: "sm",
104
+ cursor: "pointer",
105
+ userSelect: "none",
106
+ _disabled: {
107
+ cursor: "not-allowed",
108
+ opacity: "0.5"
109
+ }
110
+ },
111
+ control: {
112
+ "display": "inline-flex",
113
+ "alignItems": "center",
114
+ "justifyContent": "center",
115
+ "borderWidth": "1px",
116
+ "borderStyle": "solid",
117
+ "borderColor": "border",
118
+ "backgroundColor": "surface",
119
+ "transition": "all 200ms",
120
+ "flexShrink": "0",
121
+ "_enabled": { _hover: { borderColor: "border.hover" } },
122
+ "_invalid": { borderColor: "danger.subtle" },
123
+ "&[data-state=\"checked\"]": { borderColor: "primary" },
124
+ "borderRadius": "full"
125
+ },
126
+ indicator: {
127
+ display: "block",
128
+ width: "55%",
129
+ height: "55%",
130
+ borderRadius: "full",
131
+ backgroundColor: "primary"
132
+ },
133
+ label: {
134
+ fontWeight: "500",
135
+ color: "neutral",
136
+ lineHeight: "1.4"
137
+ }
138
+ },
139
+ variants: { size: {
140
+ sm: {
141
+ control: {
142
+ width: "1rem",
143
+ height: "1rem"
144
+ },
145
+ label: { fontSize: "sm" }
146
+ },
147
+ md: {
148
+ control: {
149
+ width: "1.125rem",
150
+ height: "1.125rem"
151
+ },
152
+ label: { fontSize: "md" }
153
+ },
154
+ lg: {
155
+ control: {
156
+ width: "1.375rem",
157
+ height: "1.375rem"
158
+ },
159
+ label: { fontSize: "lg" }
160
+ }
161
+ } },
162
+ defaultVariants: { size: "md" }
163
+ });
164
+ Object.defineProperty(exports, "checkboxStyles", {
165
+ enumerable: true,
166
+ get: function() {
167
+ return checkboxStyles;
168
+ }
169
+ });
170
+ Object.defineProperty(exports, "radioGroupStyles", {
171
+ enumerable: true,
172
+ get: function() {
173
+ return radioGroupStyles;
174
+ }
175
+ });
@@ -0,0 +1,164 @@
1
+ import { sva } from "@webflare/ui/css";
2
+ // src/internal/controls/choiceStyles.ts
3
+ /** Checkbox: label wrapper, box, check indicator, text. */
4
+ var checkboxStyles = sva({
5
+ slots: [
6
+ "root",
7
+ "control",
8
+ "indicator",
9
+ "label"
10
+ ],
11
+ base: {
12
+ root: {
13
+ display: "inline-flex",
14
+ alignItems: "center",
15
+ gap: "sm",
16
+ cursor: "pointer",
17
+ userSelect: "none",
18
+ _disabled: {
19
+ cursor: "not-allowed",
20
+ opacity: "0.5"
21
+ }
22
+ },
23
+ control: {
24
+ "display": "inline-flex",
25
+ "alignItems": "center",
26
+ "justifyContent": "center",
27
+ "borderWidth": "1px",
28
+ "borderStyle": "solid",
29
+ "borderColor": "border",
30
+ "backgroundColor": "surface",
31
+ "transition": "all 200ms",
32
+ "flexShrink": "0",
33
+ "_enabled": { _hover: { borderColor: "border.hover" } },
34
+ "_invalid": { borderColor: "danger.subtle" },
35
+ "borderRadius": "sm",
36
+ "color": "neutral",
37
+ "&[data-state=\"checked\"]": {
38
+ backgroundColor: "primary",
39
+ borderColor: "primary",
40
+ color: "grey.800"
41
+ }
42
+ },
43
+ indicator: {
44
+ display: "flex",
45
+ alignItems: "center",
46
+ justifyContent: "center",
47
+ width: "100%",
48
+ height: "100%"
49
+ },
50
+ label: {
51
+ fontWeight: "500",
52
+ color: "neutral",
53
+ lineHeight: "1.4"
54
+ }
55
+ },
56
+ variants: { size: {
57
+ sm: {
58
+ control: {
59
+ width: "1rem",
60
+ height: "1rem"
61
+ },
62
+ label: { fontSize: "sm" }
63
+ },
64
+ md: {
65
+ control: {
66
+ width: "1.125rem",
67
+ height: "1.125rem"
68
+ },
69
+ label: { fontSize: "md" }
70
+ },
71
+ lg: {
72
+ control: {
73
+ width: "1.375rem",
74
+ height: "1.375rem"
75
+ },
76
+ label: { fontSize: "lg" }
77
+ }
78
+ } },
79
+ defaultVariants: { size: "md" }
80
+ });
81
+ /** Radio group: shares the box, label, and size scale with the checkbox. */
82
+ var radioGroupStyles = sva({
83
+ slots: [
84
+ "root",
85
+ "item",
86
+ "control",
87
+ "indicator",
88
+ "label"
89
+ ],
90
+ base: {
91
+ root: {
92
+ display: "flex",
93
+ flexDirection: "column",
94
+ gap: "sm",
95
+ border: "none",
96
+ p: 0,
97
+ m: 0,
98
+ minWidth: "0"
99
+ },
100
+ item: {
101
+ display: "flex",
102
+ alignItems: "center",
103
+ gap: "sm",
104
+ cursor: "pointer",
105
+ userSelect: "none",
106
+ _disabled: {
107
+ cursor: "not-allowed",
108
+ opacity: "0.5"
109
+ }
110
+ },
111
+ control: {
112
+ "display": "inline-flex",
113
+ "alignItems": "center",
114
+ "justifyContent": "center",
115
+ "borderWidth": "1px",
116
+ "borderStyle": "solid",
117
+ "borderColor": "border",
118
+ "backgroundColor": "surface",
119
+ "transition": "all 200ms",
120
+ "flexShrink": "0",
121
+ "_enabled": { _hover: { borderColor: "border.hover" } },
122
+ "_invalid": { borderColor: "danger.subtle" },
123
+ "&[data-state=\"checked\"]": { borderColor: "primary" },
124
+ "borderRadius": "full"
125
+ },
126
+ indicator: {
127
+ display: "block",
128
+ width: "55%",
129
+ height: "55%",
130
+ borderRadius: "full",
131
+ backgroundColor: "primary"
132
+ },
133
+ label: {
134
+ fontWeight: "500",
135
+ color: "neutral",
136
+ lineHeight: "1.4"
137
+ }
138
+ },
139
+ variants: { size: {
140
+ sm: {
141
+ control: {
142
+ width: "1rem",
143
+ height: "1rem"
144
+ },
145
+ label: { fontSize: "sm" }
146
+ },
147
+ md: {
148
+ control: {
149
+ width: "1.125rem",
150
+ height: "1.125rem"
151
+ },
152
+ label: { fontSize: "md" }
153
+ },
154
+ lg: {
155
+ control: {
156
+ width: "1.375rem",
157
+ height: "1.375rem"
158
+ },
159
+ label: { fontSize: "lg" }
160
+ }
161
+ } },
162
+ defaultVariants: { size: "md" }
163
+ });
164
+ export { radioGroupStyles as n, checkboxStyles as t };