@wow-two-beta/ui 0.0.4 → 0.0.6

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 (398) hide show
  1. package/dist/actions/button/Button.d.ts +6 -0
  2. package/dist/actions/button/Button.d.ts.map +1 -0
  3. package/dist/actions/button/Button.variants.d.ts +81 -0
  4. package/dist/actions/button/Button.variants.d.ts.map +1 -0
  5. package/dist/actions/button/index.d.ts +3 -0
  6. package/dist/actions/button/index.d.ts.map +1 -0
  7. package/dist/actions/iconButton/IconButton.d.ts +13 -0
  8. package/dist/actions/iconButton/IconButton.d.ts.map +1 -0
  9. package/dist/actions/iconButton/IconButton.variants.d.ts +130 -0
  10. package/dist/actions/iconButton/IconButton.variants.d.ts.map +1 -0
  11. package/dist/actions/iconButton/index.d.ts +3 -0
  12. package/dist/actions/iconButton/index.d.ts.map +1 -0
  13. package/dist/actions/index.d.ts +4 -91
  14. package/dist/actions/index.d.ts.map +1 -0
  15. package/dist/actions/index.js +2 -1
  16. package/dist/actions/link/Link.d.ts +13 -0
  17. package/dist/actions/link/Link.d.ts.map +1 -0
  18. package/dist/actions/link/Link.variants.d.ts +88 -0
  19. package/dist/actions/link/Link.variants.d.ts.map +1 -0
  20. package/dist/actions/link/index.d.ts +3 -0
  21. package/dist/actions/link/index.d.ts.map +1 -0
  22. package/dist/chunk-33IOXQYO.js +47 -0
  23. package/dist/chunk-33IOXQYO.js.map +1 -0
  24. package/dist/{chunk-AOHZGL6F.js → chunk-6NYTRHP7.js} +4 -3
  25. package/dist/chunk-6NYTRHP7.js.map +1 -0
  26. package/dist/{chunk-KDXJQNB6.js → chunk-77WSI427.js} +5 -9
  27. package/dist/chunk-77WSI427.js.map +1 -0
  28. package/dist/{chunk-T3JN5Y3E.js → chunk-JCMV6IT4.js} +7 -71
  29. package/dist/chunk-JCMV6IT4.js.map +1 -0
  30. package/dist/chunk-JTJEI6MF.js +11 -0
  31. package/dist/chunk-JTJEI6MF.js.map +1 -0
  32. package/dist/chunk-L2RYQWZZ.js +120 -0
  33. package/dist/chunk-L2RYQWZZ.js.map +1 -0
  34. package/dist/chunk-MP4OTUFA.js +318 -0
  35. package/dist/chunk-MP4OTUFA.js.map +1 -0
  36. package/dist/chunk-NJZS7RIH.js +604 -0
  37. package/dist/chunk-NJZS7RIH.js.map +1 -0
  38. package/dist/chunk-Q27NAHVB.js +34 -0
  39. package/dist/chunk-Q27NAHVB.js.map +1 -0
  40. package/dist/chunk-SYG6ZE42.js +218 -0
  41. package/dist/chunk-SYG6ZE42.js.map +1 -0
  42. package/dist/chunk-YLN7VMYU.js +275 -0
  43. package/dist/chunk-YLN7VMYU.js.map +1 -0
  44. package/dist/display/avatar/Avatar.d.ts +18 -0
  45. package/dist/display/avatar/Avatar.d.ts.map +1 -0
  46. package/dist/display/avatar/Avatar.variants.d.ts +95 -0
  47. package/dist/display/avatar/Avatar.variants.d.ts.map +1 -0
  48. package/dist/display/avatar/index.d.ts +3 -0
  49. package/dist/display/avatar/index.d.ts.map +1 -0
  50. package/dist/display/badge/Badge.d.ts +10 -0
  51. package/dist/display/badge/Badge.d.ts.map +1 -0
  52. package/dist/display/badge/Badge.variants.d.ts +109 -0
  53. package/dist/display/badge/Badge.variants.d.ts.map +1 -0
  54. package/dist/display/badge/index.d.ts +3 -0
  55. package/dist/display/badge/index.d.ts.map +1 -0
  56. package/dist/display/code/Code.d.ts +10 -0
  57. package/dist/display/code/Code.d.ts.map +1 -0
  58. package/dist/display/code/Code.variants.d.ts +39 -0
  59. package/dist/display/code/Code.variants.d.ts.map +1 -0
  60. package/dist/display/code/index.d.ts +3 -0
  61. package/dist/display/code/index.d.ts.map +1 -0
  62. package/dist/display/heading/Heading.d.ts +15 -0
  63. package/dist/display/heading/Heading.d.ts.map +1 -0
  64. package/dist/display/heading/Heading.variants.d.ts +158 -0
  65. package/dist/display/heading/Heading.variants.d.ts.map +1 -0
  66. package/dist/display/heading/index.d.ts +3 -0
  67. package/dist/display/heading/index.d.ts.map +1 -0
  68. package/dist/display/image/Image.d.ts +12 -0
  69. package/dist/display/image/Image.d.ts.map +1 -0
  70. package/dist/display/image/index.d.ts +2 -0
  71. package/dist/display/image/index.d.ts.map +1 -0
  72. package/dist/display/index.d.ts +12 -2
  73. package/dist/display/index.d.ts.map +1 -0
  74. package/dist/display/index.js +6 -1
  75. package/dist/display/kbd/Kbd.d.ts +8 -0
  76. package/dist/display/kbd/Kbd.d.ts.map +1 -0
  77. package/dist/display/kbd/index.d.ts +2 -0
  78. package/dist/display/kbd/index.d.ts.map +1 -0
  79. package/dist/display/mark/Mark.d.ts +8 -0
  80. package/dist/display/mark/Mark.d.ts.map +1 -0
  81. package/dist/display/mark/index.d.ts +2 -0
  82. package/dist/display/mark/index.d.ts.map +1 -0
  83. package/dist/display/quote/Quote.d.ts +7 -0
  84. package/dist/display/quote/Quote.d.ts.map +1 -0
  85. package/dist/display/quote/index.d.ts +2 -0
  86. package/dist/display/quote/index.d.ts.map +1 -0
  87. package/dist/display/separator/Separator.d.ts +13 -0
  88. package/dist/display/separator/Separator.d.ts.map +1 -0
  89. package/dist/display/separator/index.d.ts +2 -0
  90. package/dist/display/separator/index.d.ts.map +1 -0
  91. package/dist/display/tag/Tag.d.ts +15 -0
  92. package/dist/display/tag/Tag.d.ts.map +1 -0
  93. package/dist/display/tag/Tag.variants.d.ts +67 -0
  94. package/dist/display/tag/Tag.variants.d.ts.map +1 -0
  95. package/dist/display/tag/index.d.ts +3 -0
  96. package/dist/display/tag/index.d.ts.map +1 -0
  97. package/dist/display/text/Text.d.ts +11 -0
  98. package/dist/display/text/Text.d.ts.map +1 -0
  99. package/dist/display/text/Text.variants.d.ts +228 -0
  100. package/dist/display/text/Text.variants.d.ts.map +1 -0
  101. package/dist/display/text/index.d.ts +3 -0
  102. package/dist/display/text/index.d.ts.map +1 -0
  103. package/dist/feedback/alertSimple/AlertSimple.d.ts +13 -0
  104. package/dist/feedback/alertSimple/AlertSimple.d.ts.map +1 -0
  105. package/dist/feedback/alertSimple/AlertSimple.variants.d.ts +60 -0
  106. package/dist/feedback/alertSimple/AlertSimple.variants.d.ts.map +1 -0
  107. package/dist/feedback/alertSimple/index.d.ts +3 -0
  108. package/dist/feedback/alertSimple/index.d.ts.map +1 -0
  109. package/dist/feedback/bannerSimple/BannerSimple.d.ts +10 -0
  110. package/dist/feedback/bannerSimple/BannerSimple.d.ts.map +1 -0
  111. package/dist/feedback/bannerSimple/BannerSimple.variants.d.ts +60 -0
  112. package/dist/feedback/bannerSimple/BannerSimple.variants.d.ts.map +1 -0
  113. package/dist/feedback/bannerSimple/index.d.ts +3 -0
  114. package/dist/feedback/bannerSimple/index.d.ts.map +1 -0
  115. package/dist/feedback/index.d.ts +8 -2
  116. package/dist/feedback/index.d.ts.map +1 -0
  117. package/dist/feedback/index.js +5 -1
  118. package/dist/feedback/progressBar/ProgressBar.d.ts +15 -0
  119. package/dist/feedback/progressBar/ProgressBar.d.ts.map +1 -0
  120. package/dist/feedback/progressBar/ProgressBar.variants.d.ts +103 -0
  121. package/dist/feedback/progressBar/ProgressBar.variants.d.ts.map +1 -0
  122. package/dist/feedback/progressBar/index.d.ts +3 -0
  123. package/dist/feedback/progressBar/index.d.ts.map +1 -0
  124. package/dist/feedback/progressCircle/ProgressCircle.d.ts +16 -0
  125. package/dist/feedback/progressCircle/ProgressCircle.d.ts.map +1 -0
  126. package/dist/feedback/progressCircle/index.d.ts +2 -0
  127. package/dist/feedback/progressCircle/index.d.ts.map +1 -0
  128. package/dist/feedback/skeleton/Skeleton.d.ts +10 -0
  129. package/dist/feedback/skeleton/Skeleton.d.ts.map +1 -0
  130. package/dist/feedback/skeleton/Skeleton.variants.d.ts +46 -0
  131. package/dist/feedback/skeleton/Skeleton.variants.d.ts.map +1 -0
  132. package/dist/feedback/skeleton/index.d.ts +3 -0
  133. package/dist/feedback/skeleton/index.d.ts.map +1 -0
  134. package/dist/feedback/spinner/Spinner.d.ts +12 -0
  135. package/dist/feedback/spinner/Spinner.d.ts.map +1 -0
  136. package/dist/feedback/spinner/Spinner.variants.d.ts +102 -0
  137. package/dist/feedback/spinner/Spinner.variants.d.ts.map +1 -0
  138. package/dist/feedback/spinner/index.d.ts +3 -0
  139. package/dist/feedback/spinner/index.d.ts.map +1 -0
  140. package/dist/feedback/toastSimple/ToastSimple.d.ts +12 -0
  141. package/dist/feedback/toastSimple/ToastSimple.d.ts.map +1 -0
  142. package/dist/feedback/toastSimple/ToastSimple.variants.d.ts +60 -0
  143. package/dist/feedback/toastSimple/ToastSimple.variants.d.ts.map +1 -0
  144. package/dist/feedback/toastSimple/index.d.ts +3 -0
  145. package/dist/feedback/toastSimple/index.d.ts.map +1 -0
  146. package/dist/forms/_styles.d.ts +74 -0
  147. package/dist/forms/_styles.d.ts.map +1 -0
  148. package/dist/forms/checkbox/Checkbox.d.ts +12 -0
  149. package/dist/forms/checkbox/Checkbox.d.ts.map +1 -0
  150. package/dist/forms/checkbox/index.d.ts +2 -0
  151. package/dist/forms/checkbox/index.d.ts.map +1 -0
  152. package/dist/forms/emailInput/EmailInput.d.ts +7 -0
  153. package/dist/forms/emailInput/EmailInput.d.ts.map +1 -0
  154. package/dist/forms/emailInput/index.d.ts +2 -0
  155. package/dist/forms/emailInput/index.d.ts.map +1 -0
  156. package/dist/forms/fieldset/Fieldset.d.ts +8 -0
  157. package/dist/forms/fieldset/Fieldset.d.ts.map +1 -0
  158. package/dist/forms/fieldset/index.d.ts +2 -0
  159. package/dist/forms/fieldset/index.d.ts.map +1 -0
  160. package/dist/forms/formErrorMessage/FormErrorMessage.d.ts +8 -0
  161. package/dist/forms/formErrorMessage/FormErrorMessage.d.ts.map +1 -0
  162. package/dist/forms/formErrorMessage/index.d.ts +2 -0
  163. package/dist/forms/formErrorMessage/index.d.ts.map +1 -0
  164. package/dist/forms/formHelperText/FormHelperText.d.ts +8 -0
  165. package/dist/forms/formHelperText/FormHelperText.d.ts.map +1 -0
  166. package/dist/forms/formHelperText/index.d.ts +2 -0
  167. package/dist/forms/formHelperText/index.d.ts.map +1 -0
  168. package/dist/forms/index.d.ts +18 -2
  169. package/dist/forms/index.d.ts.map +1 -0
  170. package/dist/forms/index.js +8 -1
  171. package/dist/forms/label/Label.d.ts +11 -0
  172. package/dist/forms/label/Label.d.ts.map +1 -0
  173. package/dist/forms/label/index.d.ts +2 -0
  174. package/dist/forms/label/index.d.ts.map +1 -0
  175. package/dist/forms/legend/Legend.d.ts +7 -0
  176. package/dist/forms/legend/Legend.d.ts.map +1 -0
  177. package/dist/forms/legend/index.d.ts +2 -0
  178. package/dist/forms/legend/index.d.ts.map +1 -0
  179. package/dist/forms/numberInput/NumberInput.d.ts +11 -0
  180. package/dist/forms/numberInput/NumberInput.d.ts.map +1 -0
  181. package/dist/forms/numberInput/index.d.ts +2 -0
  182. package/dist/forms/numberInput/index.d.ts.map +1 -0
  183. package/dist/forms/passwordInput/PasswordInput.d.ts +12 -0
  184. package/dist/forms/passwordInput/PasswordInput.d.ts.map +1 -0
  185. package/dist/forms/passwordInput/index.d.ts +2 -0
  186. package/dist/forms/passwordInput/index.d.ts.map +1 -0
  187. package/dist/forms/radio/Radio.d.ts +11 -0
  188. package/dist/forms/radio/Radio.d.ts.map +1 -0
  189. package/dist/forms/radio/index.d.ts +2 -0
  190. package/dist/forms/radio/index.d.ts.map +1 -0
  191. package/dist/forms/searchInput/SearchInput.d.ts +13 -0
  192. package/dist/forms/searchInput/SearchInput.d.ts.map +1 -0
  193. package/dist/forms/searchInput/index.d.ts +2 -0
  194. package/dist/forms/searchInput/index.d.ts.map +1 -0
  195. package/dist/forms/slider/Slider.d.ts +10 -0
  196. package/dist/forms/slider/Slider.d.ts.map +1 -0
  197. package/dist/forms/slider/index.d.ts +2 -0
  198. package/dist/forms/slider/index.d.ts.map +1 -0
  199. package/dist/forms/switch/Switch.d.ts +10 -0
  200. package/dist/forms/switch/Switch.d.ts.map +1 -0
  201. package/dist/forms/switch/index.d.ts +2 -0
  202. package/dist/forms/switch/index.d.ts.map +1 -0
  203. package/dist/forms/telInput/TelInput.d.ts +7 -0
  204. package/dist/forms/telInput/TelInput.d.ts.map +1 -0
  205. package/dist/forms/telInput/index.d.ts +2 -0
  206. package/dist/forms/telInput/index.d.ts.map +1 -0
  207. package/dist/forms/textInput/TextInput.d.ts +11 -0
  208. package/dist/forms/textInput/TextInput.d.ts.map +1 -0
  209. package/dist/forms/textInput/index.d.ts +2 -0
  210. package/dist/forms/textInput/index.d.ts.map +1 -0
  211. package/dist/forms/textarea/Textarea.d.ts +10 -0
  212. package/dist/forms/textarea/Textarea.d.ts.map +1 -0
  213. package/dist/forms/textarea/index.d.ts +2 -0
  214. package/dist/forms/textarea/index.d.ts.map +1 -0
  215. package/dist/forms/urlInput/UrlInput.d.ts +7 -0
  216. package/dist/forms/urlInput/UrlInput.d.ts.map +1 -0
  217. package/dist/forms/urlInput/index.d.ts +2 -0
  218. package/dist/forms/urlInput/index.d.ts.map +1 -0
  219. package/dist/hooks/index.d.ts +11 -2
  220. package/dist/hooks/index.d.ts.map +1 -0
  221. package/dist/hooks/index.js +3 -2
  222. package/dist/hooks/useControlled.d.ts +16 -0
  223. package/dist/hooks/useControlled.d.ts.map +1 -0
  224. package/dist/hooks/useDisclosure.d.ts +14 -0
  225. package/dist/hooks/useDisclosure.d.ts.map +1 -0
  226. package/dist/hooks/useEscape.d.ts +7 -0
  227. package/dist/hooks/useEscape.d.ts.map +1 -0
  228. package/dist/hooks/useEventListener.d.ts +8 -0
  229. package/dist/hooks/useEventListener.d.ts.map +1 -0
  230. package/dist/hooks/useFocusTrap.d.ts +11 -0
  231. package/dist/hooks/useFocusTrap.d.ts.map +1 -0
  232. package/dist/hooks/useId.d.ts +6 -0
  233. package/dist/hooks/useId.d.ts.map +1 -0
  234. package/dist/hooks/useMediaQuery.d.ts +6 -0
  235. package/dist/hooks/useMediaQuery.d.ts.map +1 -0
  236. package/dist/hooks/useOutsideClick.d.ts +8 -0
  237. package/dist/hooks/useOutsideClick.d.ts.map +1 -0
  238. package/dist/hooks/useResizeObserver.d.ts +7 -0
  239. package/dist/hooks/useResizeObserver.d.ts.map +1 -0
  240. package/dist/hooks/useScrollLock.d.ts +7 -0
  241. package/dist/hooks/useScrollLock.d.ts.map +1 -0
  242. package/dist/icons/Icon.d.ts +26 -0
  243. package/dist/icons/Icon.d.ts.map +1 -0
  244. package/dist/icons/index.d.ts +2 -2
  245. package/dist/icons/index.d.ts.map +1 -0
  246. package/dist/index.css +73 -3
  247. package/dist/index.d.ts +10 -13
  248. package/dist/index.d.ts.map +1 -0
  249. package/dist/index.js +11 -9
  250. package/dist/layout/aspectRatio/AspectRatio.d.ts +12 -0
  251. package/dist/layout/aspectRatio/AspectRatio.d.ts.map +1 -0
  252. package/dist/layout/aspectRatio/index.d.ts +2 -0
  253. package/dist/layout/aspectRatio/index.d.ts.map +1 -0
  254. package/dist/layout/box/Box.d.ts +12 -0
  255. package/dist/layout/box/Box.d.ts.map +1 -0
  256. package/dist/layout/box/index.d.ts +2 -0
  257. package/dist/layout/box/index.d.ts.map +1 -0
  258. package/dist/layout/center/Center.d.ts +5 -0
  259. package/dist/layout/center/Center.d.ts.map +1 -0
  260. package/dist/layout/center/index.d.ts +2 -0
  261. package/dist/layout/center/index.d.ts.map +1 -0
  262. package/dist/layout/container/Container.d.ts +11 -0
  263. package/dist/layout/container/Container.d.ts.map +1 -0
  264. package/dist/layout/container/Container.variants.d.ts +67 -0
  265. package/dist/layout/container/Container.variants.d.ts.map +1 -0
  266. package/dist/layout/container/index.d.ts +3 -0
  267. package/dist/layout/container/index.d.ts.map +1 -0
  268. package/dist/layout/flex/Flex.d.ts +10 -0
  269. package/dist/layout/flex/Flex.d.ts.map +1 -0
  270. package/dist/layout/flex/index.d.ts +2 -0
  271. package/dist/layout/flex/index.d.ts.map +1 -0
  272. package/dist/layout/grid/Grid.d.ts +12 -0
  273. package/dist/layout/grid/Grid.d.ts.map +1 -0
  274. package/dist/layout/grid/Grid.variants.d.ts +165 -0
  275. package/dist/layout/grid/Grid.variants.d.ts.map +1 -0
  276. package/dist/layout/grid/index.d.ts +3 -0
  277. package/dist/layout/grid/index.d.ts.map +1 -0
  278. package/dist/layout/hStack/HStack.d.ts +5 -0
  279. package/dist/layout/hStack/HStack.d.ts.map +1 -0
  280. package/dist/layout/hStack/index.d.ts +2 -0
  281. package/dist/layout/hStack/index.d.ts.map +1 -0
  282. package/dist/layout/index.d.ts +12 -2
  283. package/dist/layout/index.d.ts.map +1 -0
  284. package/dist/layout/index.js +5 -1
  285. package/dist/layout/scrollArea/ScrollArea.d.ts +11 -0
  286. package/dist/layout/scrollArea/ScrollArea.d.ts.map +1 -0
  287. package/dist/layout/scrollArea/index.d.ts +2 -0
  288. package/dist/layout/scrollArea/index.d.ts.map +1 -0
  289. package/dist/layout/spacer/Spacer.d.ts +13 -0
  290. package/dist/layout/spacer/Spacer.d.ts.map +1 -0
  291. package/dist/layout/spacer/index.d.ts +2 -0
  292. package/dist/layout/spacer/index.d.ts.map +1 -0
  293. package/dist/layout/stack/Stack.d.ts +11 -0
  294. package/dist/layout/stack/Stack.d.ts.map +1 -0
  295. package/dist/layout/stack/Stack.variants.d.ts +277 -0
  296. package/dist/layout/stack/Stack.variants.d.ts.map +1 -0
  297. package/dist/layout/stack/index.d.ts +3 -0
  298. package/dist/layout/stack/index.d.ts.map +1 -0
  299. package/dist/layout/vStack/VStack.d.ts +5 -0
  300. package/dist/layout/vStack/VStack.d.ts.map +1 -0
  301. package/dist/layout/vStack/index.d.ts +2 -0
  302. package/dist/layout/vStack/index.d.ts.map +1 -0
  303. package/dist/primitives/accessibleIcon/AccessibleIcon.d.ts +13 -0
  304. package/dist/primitives/accessibleIcon/AccessibleIcon.d.ts.map +1 -0
  305. package/dist/primitives/accessibleIcon/index.d.ts +2 -0
  306. package/dist/primitives/accessibleIcon/index.d.ts.map +1 -0
  307. package/dist/primitives/anchoredPositioner/AnchoredPositioner.d.ts +20 -0
  308. package/dist/primitives/anchoredPositioner/AnchoredPositioner.d.ts.map +1 -0
  309. package/dist/primitives/anchoredPositioner/index.d.ts +2 -0
  310. package/dist/primitives/anchoredPositioner/index.d.ts.map +1 -0
  311. package/dist/primitives/collection/Collection.d.ts +19 -0
  312. package/dist/primitives/collection/Collection.d.ts.map +1 -0
  313. package/dist/primitives/collection/index.d.ts +2 -0
  314. package/dist/primitives/collection/index.d.ts.map +1 -0
  315. package/dist/primitives/directionProvider/DirectionProvider.d.ts +13 -0
  316. package/dist/primitives/directionProvider/DirectionProvider.d.ts.map +1 -0
  317. package/dist/primitives/directionProvider/index.d.ts +2 -0
  318. package/dist/primitives/directionProvider/index.d.ts.map +1 -0
  319. package/dist/primitives/dismissableLayer/DismissableLayer.d.ts +18 -0
  320. package/dist/primitives/dismissableLayer/DismissableLayer.d.ts.map +1 -0
  321. package/dist/primitives/dismissableLayer/index.d.ts +2 -0
  322. package/dist/primitives/dismissableLayer/index.d.ts.map +1 -0
  323. package/dist/primitives/focusScope/FocusScope.d.ts +11 -0
  324. package/dist/primitives/focusScope/FocusScope.d.ts.map +1 -0
  325. package/dist/primitives/focusScope/index.d.ts +2 -0
  326. package/dist/primitives/focusScope/index.d.ts.map +1 -0
  327. package/dist/primitives/formControlContext/FormControlContext.d.ts +32 -0
  328. package/dist/primitives/formControlContext/FormControlContext.d.ts.map +1 -0
  329. package/dist/primitives/formControlContext/index.d.ts +2 -0
  330. package/dist/primitives/formControlContext/index.d.ts.map +1 -0
  331. package/dist/primitives/index.d.ts +14 -5
  332. package/dist/primitives/index.d.ts.map +1 -0
  333. package/dist/primitives/index.js +5 -2
  334. package/dist/primitives/portal/Portal.d.ts +14 -0
  335. package/dist/primitives/portal/Portal.d.ts.map +1 -0
  336. package/dist/primitives/portal/index.d.ts +2 -0
  337. package/dist/primitives/portal/index.d.ts.map +1 -0
  338. package/dist/primitives/presence/Presence.d.ts +14 -0
  339. package/dist/primitives/presence/Presence.d.ts.map +1 -0
  340. package/dist/primitives/presence/index.d.ts +2 -0
  341. package/dist/primitives/presence/index.d.ts.map +1 -0
  342. package/dist/primitives/rovingFocusGroup/RovingFocusGroup.d.ts +26 -0
  343. package/dist/primitives/rovingFocusGroup/RovingFocusGroup.d.ts.map +1 -0
  344. package/dist/primitives/rovingFocusGroup/index.d.ts +2 -0
  345. package/dist/primitives/rovingFocusGroup/index.d.ts.map +1 -0
  346. package/dist/primitives/scrollLockProvider/ScrollLockProvider.d.ts +12 -0
  347. package/dist/primitives/scrollLockProvider/ScrollLockProvider.d.ts.map +1 -0
  348. package/dist/primitives/scrollLockProvider/index.d.ts +2 -0
  349. package/dist/primitives/scrollLockProvider/index.d.ts.map +1 -0
  350. package/dist/primitives/slot/Slot.d.ts +15 -0
  351. package/dist/primitives/slot/Slot.d.ts.map +1 -0
  352. package/dist/primitives/slot/index.d.ts +2 -0
  353. package/dist/primitives/slot/index.d.ts.map +1 -0
  354. package/dist/primitives/visuallyHidden/VisuallyHidden.d.ts +9 -0
  355. package/dist/primitives/visuallyHidden/VisuallyHidden.d.ts.map +1 -0
  356. package/dist/primitives/visuallyHidden/index.d.ts +2 -0
  357. package/dist/primitives/visuallyHidden/index.d.ts.map +1 -0
  358. package/dist/utils/cn.d.ts +7 -0
  359. package/dist/utils/cn.d.ts.map +1 -0
  360. package/dist/utils/composeEventHandlers.d.ts +11 -0
  361. package/dist/utils/composeEventHandlers.d.ts.map +1 -0
  362. package/dist/utils/composeRefs.d.ts +9 -0
  363. package/dist/utils/composeRefs.d.ts.map +1 -0
  364. package/dist/utils/dataAttr.d.ts +7 -0
  365. package/dist/utils/dataAttr.d.ts.map +1 -0
  366. package/dist/utils/index.d.ts +7 -4
  367. package/dist/utils/index.d.ts.map +1 -0
  368. package/dist/utils/polymorphic.d.ts +14 -0
  369. package/dist/utils/polymorphic.d.ts.map +1 -0
  370. package/dist/utils/tv.d.ts +2 -0
  371. package/dist/utils/tv.d.ts.map +1 -0
  372. package/package.json +5 -14
  373. package/dist/chunk-A2OBJDIK.js +0 -3
  374. package/dist/chunk-A2OBJDIK.js.map +0 -1
  375. package/dist/chunk-AOHZGL6F.js.map +0 -1
  376. package/dist/chunk-D67WGR7Y.js +0 -212
  377. package/dist/chunk-D67WGR7Y.js.map +0 -1
  378. package/dist/chunk-KDXJQNB6.js.map +0 -1
  379. package/dist/chunk-OEEYNBEO.js +0 -41
  380. package/dist/chunk-OEEYNBEO.js.map +0 -1
  381. package/dist/chunk-PSDQXPUE.js +0 -3
  382. package/dist/chunk-PSDQXPUE.js.map +0 -1
  383. package/dist/chunk-T3JN5Y3E.js.map +0 -1
  384. package/dist/chunk-YP4MAZRQ.js +0 -3
  385. package/dist/chunk-YP4MAZRQ.js.map +0 -1
  386. package/dist/chunk-ZDU7SROW.js +0 -3
  387. package/dist/chunk-ZDU7SROW.js.map +0 -1
  388. package/dist/index-Bk6CuDNT.d.ts +0 -247
  389. package/dist/index-C0IDphm_.d.ts +0 -61
  390. package/dist/index-CEAM9LLM.d.ts +0 -37
  391. package/dist/index-PAuwodyY.d.ts +0 -103
  392. package/dist/index-goThcZ1E.d.ts +0 -416
  393. package/dist/tailwind/index.d.ts +0 -5
  394. package/dist/tailwind/index.js +0 -23
  395. package/dist/tailwind/index.js.map +0 -1
  396. package/dist/tokens/index.d.ts +0 -1
  397. package/dist/tokens/index.js +0 -4
  398. package/dist/tokens/index.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/display/heading/Heading.variants.ts","../src/display/heading/Heading.tsx","../src/display/text/Text.variants.ts","../src/display/text/Text.tsx","../src/display/code/Code.variants.ts","../src/display/code/Code.tsx","../src/display/kbd/Kbd.tsx","../src/display/image/Image.tsx","../src/display/avatar/Avatar.variants.ts","../src/display/avatar/Avatar.tsx","../src/display/badge/Badge.variants.ts","../src/display/badge/Badge.tsx","../src/display/tag/Tag.variants.ts","../src/display/tag/Tag.tsx","../src/display/separator/Separator.tsx","../src/display/mark/Mark.tsx","../src/display/quote/Quote.tsx"],"names":["Tag","forwardRef","jsx","useState"],"mappings":"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","file":"chunk-MP4OTUFA.js","sourcesContent":["import { tv, type VariantProps } from '../../utils';\n\nexport const headingVariants = tv({\n base: 'font-semibold tracking-tight text-neutral-900',\n variants: {\n size: {\n xs: 'text-sm',\n sm: 'text-base',\n md: 'text-lg',\n lg: 'text-xl',\n xl: 'text-2xl',\n '2xl': 'text-3xl',\n '3xl': 'text-4xl',\n '4xl': 'text-5xl',\n },\n weight: {\n normal: 'font-normal',\n medium: 'font-medium',\n semibold: 'font-semibold',\n bold: 'font-bold',\n },\n align: {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right',\n },\n },\n defaultVariants: {\n size: 'lg',\n weight: 'semibold',\n },\n});\n\nexport type HeadingVariants = VariantProps<typeof headingVariants>;\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\nimport { headingVariants, type HeadingVariants } from './Heading.variants';\n\ntype HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;\n\nexport interface HeadingProps\n extends Omit<ComponentPropsWithoutRef<'h2'>, 'size'>,\n HeadingVariants {\n /** Semantic heading level (1–6). Default 2. Visual size is independent — set via `size`. */\n level?: HeadingLevel;\n}\n\n/**\n * Semantic heading. `level` controls the rendered tag (`h1`–`h6`); `size`\n * controls the visual scale independently — so a visually-large heading\n * can still be the right outline level.\n */\nexport const Heading = forwardRef<HTMLHeadingElement, HeadingProps>(\n ({ level = 2, className, size, weight, align, ...props }, ref) => {\n const Tag = `h${level}` as 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n return (\n <Tag\n ref={ref}\n className={cn(headingVariants({ size, weight, align }), className)}\n {...props}\n />\n );\n },\n);\nHeading.displayName = 'Heading';\n","import { tv, type VariantProps } from '../../utils';\n\nexport const textVariants = tv({\n base: '',\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n xl: 'text-xl',\n },\n weight: {\n normal: 'font-normal',\n medium: 'font-medium',\n semibold: 'font-semibold',\n bold: 'font-bold',\n },\n color: {\n default: 'text-neutral-900',\n muted: 'text-neutral-500',\n subtle: 'text-neutral-400',\n brand: 'text-brand-600',\n success: 'text-success-600',\n warning: 'text-warning-600',\n danger: 'text-danger-600',\n },\n align: {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right',\n justify: 'text-justify',\n },\n truncate: {\n true: 'truncate',\n },\n },\n defaultVariants: {\n size: 'md',\n weight: 'normal',\n color: 'default',\n },\n});\n\nexport type TextVariants = VariantProps<typeof textVariants>;\n","import {\n forwardRef,\n type ComponentPropsWithoutRef,\n type ElementType,\n type Ref,\n} from 'react';\nimport { cn } from '../../utils';\nimport { textVariants, type TextVariants } from './Text.variants';\n\nexport interface TextProps\n extends Omit<ComponentPropsWithoutRef<'p'>, 'as' | 'color'>,\n TextVariants {\n as?: ElementType;\n}\n\n/**\n * Body text. Renders as `<p>` by default; pass `as=\"span\"` (or any element)\n * to keep semantics consistent with the surrounding markup.\n */\nexport const Text = forwardRef<HTMLElement, TextProps>(\n ({ as: Component = 'p', className, size, weight, color, align, truncate, ...props }, ref) => (\n <Component\n ref={ref as Ref<HTMLElement>}\n className={cn(textVariants({ size, weight, color, align, truncate }), className)}\n {...props}\n />\n ),\n);\nText.displayName = 'Text';\n","import { tv, type VariantProps } from '../../utils';\n\nexport const codeVariants = tv({\n base: 'font-mono text-sm',\n variants: {\n variant: {\n inline: 'rounded-sm bg-neutral-100 px-1 py-0.5 text-neutral-900',\n block: 'block w-full overflow-x-auto rounded-md bg-neutral-100 p-4 text-neutral-900',\n },\n },\n defaultVariants: {\n variant: 'inline',\n },\n});\n\nexport type CodeVariants = VariantProps<typeof codeVariants>;\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\nimport { codeVariants, type CodeVariants } from './Code.variants';\n\nexport interface CodeProps extends ComponentPropsWithoutRef<'code'>, CodeVariants {}\n\n/**\n * Inline or block code. For block, wrap children in a `<pre>` if you need\n * pre-wrap whitespace; this atom only styles. Syntax highlighting is L5.\n */\nexport const Code = forwardRef<HTMLElement, CodeProps>(\n ({ className, variant, ...props }, ref) => (\n <code ref={ref} className={cn(codeVariants({ variant }), className)} {...props} />\n ),\n);\nCode.displayName = 'Code';\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\n\nexport type KbdProps = ComponentPropsWithoutRef<'kbd'>;\n\n/**\n * Keyboard key affordance — `<kbd>` styled with subtle border and inset\n * shadow. Single key per `<Kbd>`; chain via `<Kbd>⌘</Kbd> + <Kbd>K</Kbd>`.\n */\nexport const Kbd = forwardRef<HTMLElement, KbdProps>(({ className, ...props }, ref) => (\n <kbd\n ref={ref}\n className={cn(\n 'inline-flex h-5 min-w-5 items-center justify-center rounded-sm border border-neutral-300',\n 'bg-neutral-100 px-1.5 font-mono text-xs text-neutral-700 shadow-[inset_0_-1px_0_0_rgb(0_0_0/0.05)]',\n className,\n )}\n {...props}\n />\n));\nKbd.displayName = 'Kbd';\n","import { forwardRef, useState, type ComponentPropsWithoutRef, type ReactNode } from 'react';\nimport { cn } from '../../utils';\n\nexport interface ImageProps extends ComponentPropsWithoutRef<'img'> {\n /** Element rendered when the image fails to load. */\n fallback?: ReactNode;\n}\n\n/**\n * Image with built-in error fallback. The fallback element replaces the\n * `<img>` on error (broken `src`, network failure). For aspect-locked\n * images, wrap in `AspectRatio`.\n */\nexport const Image = forwardRef<HTMLImageElement, ImageProps>(\n ({ fallback, onError, alt = '', className, ...props }, ref) => {\n const [errored, setErrored] = useState(false);\n if (errored && fallback !== undefined) return <>{fallback}</>;\n return (\n <img\n ref={ref}\n alt={alt}\n className={cn('block max-w-full', className)}\n onError={(e) => {\n setErrored(true);\n onError?.(e);\n }}\n {...props}\n />\n );\n },\n);\nImage.displayName = 'Image';\n","import { tv, type VariantProps } from '../../utils';\n\nexport const avatarVariants = tv({\n base: 'inline-flex shrink-0 select-none items-center justify-center overflow-hidden rounded-full bg-neutral-200 text-neutral-700 font-medium',\n variants: {\n size: {\n xs: 'h-6 w-6 text-xs',\n sm: 'h-8 w-8 text-sm',\n md: 'h-10 w-10 text-base',\n lg: 'h-12 w-12 text-lg',\n xl: 'h-16 w-16 text-xl',\n '2xl': 'h-20 w-20 text-2xl',\n },\n shape: {\n circle: 'rounded-full',\n square: 'rounded-md',\n },\n },\n defaultVariants: {\n size: 'md',\n shape: 'circle',\n },\n});\n\nexport type AvatarVariants = VariantProps<typeof avatarVariants>;\n","import {\n forwardRef,\n useState,\n type ComponentPropsWithoutRef,\n type ReactNode,\n} from 'react';\nimport { cn } from '../../utils';\nimport { avatarVariants, type AvatarVariants } from './Avatar.variants';\n\nexport interface AvatarProps\n extends Omit<ComponentPropsWithoutRef<'span'>, 'children'>,\n AvatarVariants {\n /** Image source. Falls back to `name` initials or `fallback` on error. */\n src?: string;\n /** Person/entity name — used to derive initials when no image. */\n name?: string;\n /** Custom fallback (overrides initials). */\n fallback?: ReactNode;\n /** Alt text for the underlying `<img>`. Defaults to `name`. */\n alt?: string;\n}\n\nfunction getInitials(name: string): string {\n const parts = name.trim().split(/\\s+/);\n if (parts.length === 0) return '';\n const first = parts[0]?.[0] ?? '';\n const last = parts.length > 1 ? parts[parts.length - 1]?.[0] ?? '' : '';\n return (first + last).toUpperCase();\n}\n\n/**\n * Image avatar with initials fallback. Strict atom — fallback is rendered\n * inline (raw text), not via the `Text` atom, to keep this self-contained.\n */\nexport const Avatar = forwardRef<HTMLSpanElement, AvatarProps>(\n ({ src, name = '', fallback, alt, className, size, shape, ...props }, ref) => {\n const [errored, setErrored] = useState(false);\n const showImage = src && !errored;\n return (\n <span\n ref={ref}\n className={cn(avatarVariants({ size, shape }), className)}\n {...props}\n >\n {showImage ? (\n <img\n src={src}\n alt={alt ?? name}\n className=\"h-full w-full object-cover\"\n onError={() => setErrored(true)}\n />\n ) : (\n fallback ?? getInitials(name)\n )}\n </span>\n );\n },\n);\nAvatar.displayName = 'Avatar';\n","import { tv, type VariantProps } from '../../utils';\n\nexport const badgeVariants = tv({\n base: 'inline-flex items-center rounded-full font-medium',\n variants: {\n variant: {\n neutral: 'bg-neutral-100 text-neutral-800',\n brand: 'bg-brand-100 text-brand-800',\n success: 'bg-success-100 text-success-700',\n warning: 'bg-warning-100 text-warning-700',\n danger: 'bg-danger-100 text-danger-700',\n info: 'bg-info-100 text-info-700',\n outline: 'border border-neutral-300 text-neutral-800',\n },\n size: {\n sm: 'h-5 px-2 text-xs',\n md: 'h-6 px-2.5 text-xs',\n lg: 'h-7 px-3 text-sm',\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: 'md',\n },\n});\n\nexport type BadgeVariants = VariantProps<typeof badgeVariants>;\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\nimport { badgeVariants, type BadgeVariants } from './Badge.variants';\n\nexport interface BadgeProps extends ComponentPropsWithoutRef<'span'>, BadgeVariants {}\n\n/**\n * Pill-shaped status / category indicator. Non-interactive — for clickable\n * use `Tag`. For severity-tinted callouts at message scale, use `Alert*`.\n */\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n ({ className, variant, size, ...props }, ref) => (\n <span ref={ref} className={cn(badgeVariants({ variant, size }), className)} {...props} />\n ),\n);\nBadge.displayName = 'Badge';\n","import { tv, type VariantProps } from '../../utils';\n\nexport const tagVariants = tv({\n base: 'inline-flex items-center gap-1 rounded-md border border-neutral-200 bg-white px-2 py-0.5 text-xs font-medium text-neutral-800',\n variants: {\n variant: {\n neutral: '',\n brand: 'border-brand-200 bg-brand-50 text-brand-800',\n success: 'border-success-100 bg-success-50 text-success-700',\n warning: 'border-warning-100 bg-warning-50 text-warning-700',\n danger: 'border-danger-100 bg-danger-50 text-danger-700',\n info: 'border-info-100 bg-info-50 text-info-700',\n },\n },\n defaultVariants: {\n variant: 'neutral',\n },\n});\n\nexport type TagVariants = VariantProps<typeof tagVariants>;\n","import { forwardRef, type ComponentPropsWithoutRef, type ReactNode } from 'react';\nimport { X } from 'lucide-react';\nimport { cn } from '../../utils';\nimport { Icon } from '../../icons';\nimport { tagVariants, type TagVariants } from './Tag.variants';\n\nexport interface TagProps\n extends Omit<ComponentPropsWithoutRef<'span'>, 'children'>,\n TagVariants {\n children?: ReactNode;\n /** Show a close (×) button. Pass a handler to receive the click. */\n onClose?: () => void;\n /** Accessible label for the close button. Default `\"Remove\"`. */\n closeLabel?: string;\n}\n\n/**\n * Pill with an optional close button. The close button is a raw `<button>`\n * (not `IconButton`) so this stays a strict atom.\n */\nexport const Tag = forwardRef<HTMLSpanElement, TagProps>(\n ({ children, onClose, closeLabel = 'Remove', variant, className, ...props }, ref) => (\n <span ref={ref} className={cn(tagVariants({ variant }), className)} {...props}>\n {children}\n {onClose && (\n <button\n type=\"button\"\n aria-label={closeLabel}\n onClick={onClose}\n className=\"-mr-1 inline-flex h-4 w-4 items-center justify-center rounded-sm text-neutral-500 hover:bg-neutral-100 hover:text-neutral-900 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-brand-500\"\n >\n <Icon icon={X} size={12} />\n </button>\n )}\n </span>\n ),\n);\nTag.displayName = 'Tag';\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\n\nexport interface SeparatorProps extends ComponentPropsWithoutRef<'div'> {\n orientation?: 'horizontal' | 'vertical';\n /** When `true`, the separator is purely decorative — `role=\"none\"` and\n * unannounced. Default `true`. Set `false` when meaningful in context. */\n decorative?: boolean;\n}\n\n/**\n * Visual divider. Defaults to a horizontal hairline; pass `orientation=\"vertical\"`\n * for column dividers (use inside a flex/grid with explicit height).\n */\nexport const Separator = forwardRef<HTMLDivElement, SeparatorProps>(\n ({ orientation = 'horizontal', decorative = true, className, ...props }, ref) => (\n <div\n ref={ref}\n role={decorative ? 'none' : 'separator'}\n aria-orientation={decorative ? undefined : orientation}\n className={cn(\n 'bg-neutral-200',\n orientation === 'horizontal' ? 'h-px w-full' : 'w-px self-stretch',\n className,\n )}\n {...props}\n />\n ),\n);\nSeparator.displayName = 'Separator';\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\n\nexport type MarkProps = ComponentPropsWithoutRef<'mark'>;\n\n/**\n * Highlighted text — semantic `<mark>` with a yellow tint. Use for search\n * matches and \"you mentioned this\" affordances.\n */\nexport const Mark = forwardRef<HTMLElement, MarkProps>(({ className, ...props }, ref) => (\n <mark\n ref={ref}\n className={cn('rounded-sm bg-warning-100 px-0.5 text-warning-900', className)}\n {...props}\n />\n));\nMark.displayName = 'Mark';\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\n\nexport type QuoteProps = ComponentPropsWithoutRef<'blockquote'>;\n\n/**\n * Block quote with subtle left border and italic body text.\n */\nexport const Quote = forwardRef<HTMLQuoteElement, QuoteProps>(\n ({ className, ...props }, ref) => (\n <blockquote\n ref={ref}\n className={cn(\n 'border-l-4 border-neutral-200 pl-4 italic text-neutral-700',\n className,\n )}\n {...props}\n />\n ),\n);\nQuote.displayName = 'Quote';\n"]}
@@ -0,0 +1,604 @@
1
+ import { useFormControl } from './chunk-Q27NAHVB.js';
2
+ import { Icon } from './chunk-TDX22OWF.js';
3
+ import { tv } from './chunk-BMBIZLO4.js';
4
+ import { cn } from './chunk-KZ4VFY2T.js';
5
+ import { forwardRef, useRef, useImperativeHandle, useState } from 'react';
6
+ import { jsxs, jsx } from 'react/jsx-runtime';
7
+ import { Minus, Plus, EyeOff, Eye, Search, X, Check } from 'lucide-react';
8
+
9
+ var Label = forwardRef(
10
+ ({ className, required, htmlFor, id, children, ...props }, ref) => {
11
+ const ctx = useFormControl();
12
+ const isRequired = required ?? ctx?.isRequired ?? false;
13
+ return /* @__PURE__ */ jsxs(
14
+ "label",
15
+ {
16
+ ref,
17
+ htmlFor: htmlFor ?? ctx?.id,
18
+ id: id ?? ctx?.labelId,
19
+ className: cn(
20
+ "text-sm font-medium text-neutral-900",
21
+ ctx?.isDisabled && "opacity-60",
22
+ className
23
+ ),
24
+ ...props,
25
+ children: [
26
+ children,
27
+ isRequired && /* @__PURE__ */ jsx("span", { className: "ml-0.5 text-danger-500", "aria-hidden": "true", children: "*" })
28
+ ]
29
+ }
30
+ );
31
+ }
32
+ );
33
+ Label.displayName = "Label";
34
+ var FormHelperText = forwardRef(
35
+ ({ className, id, ...props }, ref) => {
36
+ const ctx = useFormControl();
37
+ return /* @__PURE__ */ jsx(
38
+ "p",
39
+ {
40
+ ref,
41
+ id: id ?? ctx?.helperId,
42
+ className: cn("text-sm text-neutral-500", className),
43
+ ...props
44
+ }
45
+ );
46
+ }
47
+ );
48
+ FormHelperText.displayName = "FormHelperText";
49
+ var FormErrorMessage = forwardRef(
50
+ ({ className, id, ...props }, ref) => {
51
+ const ctx = useFormControl();
52
+ if (ctx && !ctx.isInvalid) return null;
53
+ return /* @__PURE__ */ jsx(
54
+ "p",
55
+ {
56
+ ref,
57
+ id: id ?? ctx?.errorId,
58
+ role: "alert",
59
+ className: cn("text-sm text-danger-600", className),
60
+ ...props
61
+ }
62
+ );
63
+ }
64
+ );
65
+ FormErrorMessage.displayName = "FormErrorMessage";
66
+ var Fieldset = forwardRef(
67
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
68
+ "fieldset",
69
+ {
70
+ ref,
71
+ className: cn("m-0 min-w-0 border-0 p-0", className),
72
+ ...props
73
+ }
74
+ )
75
+ );
76
+ Fieldset.displayName = "Fieldset";
77
+ var Legend = forwardRef(
78
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
79
+ "legend",
80
+ {
81
+ ref,
82
+ className: cn("mb-2 text-sm font-medium text-neutral-900", className),
83
+ ...props
84
+ }
85
+ )
86
+ );
87
+ Legend.displayName = "Legend";
88
+
89
+ // src/forms/_styles.ts
90
+ var inputBaseVariants = tv({
91
+ base: "flex w-full rounded-md border bg-white text-neutral-900 placeholder:text-neutral-400 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-500 disabled:cursor-not-allowed disabled:opacity-60 read-only:bg-neutral-50",
92
+ variants: {
93
+ size: {
94
+ sm: "h-8 px-2.5 text-sm",
95
+ md: "h-10 px-3 text-sm",
96
+ lg: "h-12 px-4 text-base"
97
+ },
98
+ state: {
99
+ default: "border-neutral-300 hover:border-neutral-400",
100
+ invalid: "border-danger-500 focus-visible:ring-danger-500"
101
+ }
102
+ },
103
+ defaultVariants: {
104
+ size: "md",
105
+ state: "default"
106
+ }
107
+ });
108
+ var TextInput = forwardRef(
109
+ ({ className, size, state, id, disabled, required, readOnly, ...props }, ref) => {
110
+ const ctx = useFormControl();
111
+ const finalState = state ?? (ctx?.isInvalid ? "invalid" : "default");
112
+ return /* @__PURE__ */ jsx(
113
+ "input",
114
+ {
115
+ ref,
116
+ type: "text",
117
+ id: id ?? ctx?.id,
118
+ disabled: disabled ?? ctx?.isDisabled,
119
+ required: required ?? ctx?.isRequired,
120
+ readOnly: readOnly ?? ctx?.isReadOnly,
121
+ "aria-invalid": ctx?.isInvalid || void 0,
122
+ "aria-describedby": ctx ? `${ctx.helperId} ${ctx.errorId}` : void 0,
123
+ className: cn(inputBaseVariants({ size, state: finalState }), className),
124
+ ...props
125
+ }
126
+ );
127
+ }
128
+ );
129
+ TextInput.displayName = "TextInput";
130
+ var EmailInput = forwardRef(
131
+ ({ className, size, state, id, disabled, required, readOnly, ...props }, ref) => {
132
+ const ctx = useFormControl();
133
+ const finalState = state ?? (ctx?.isInvalid ? "invalid" : "default");
134
+ return /* @__PURE__ */ jsx(
135
+ "input",
136
+ {
137
+ ref,
138
+ type: "email",
139
+ autoComplete: "email",
140
+ inputMode: "email",
141
+ spellCheck: false,
142
+ id: id ?? ctx?.id,
143
+ disabled: disabled ?? ctx?.isDisabled,
144
+ required: required ?? ctx?.isRequired,
145
+ readOnly: readOnly ?? ctx?.isReadOnly,
146
+ "aria-invalid": ctx?.isInvalid || void 0,
147
+ "aria-describedby": ctx ? `${ctx.helperId} ${ctx.errorId}` : void 0,
148
+ className: cn(inputBaseVariants({ size, state: finalState }), className),
149
+ ...props
150
+ }
151
+ );
152
+ }
153
+ );
154
+ EmailInput.displayName = "EmailInput";
155
+ var TelInput = forwardRef(
156
+ ({ className, size, state, id, disabled, required, readOnly, ...props }, ref) => {
157
+ const ctx = useFormControl();
158
+ const finalState = state ?? (ctx?.isInvalid ? "invalid" : "default");
159
+ return /* @__PURE__ */ jsx(
160
+ "input",
161
+ {
162
+ ref,
163
+ type: "tel",
164
+ autoComplete: "tel",
165
+ inputMode: "tel",
166
+ id: id ?? ctx?.id,
167
+ disabled: disabled ?? ctx?.isDisabled,
168
+ required: required ?? ctx?.isRequired,
169
+ readOnly: readOnly ?? ctx?.isReadOnly,
170
+ "aria-invalid": ctx?.isInvalid || void 0,
171
+ "aria-describedby": ctx ? `${ctx.helperId} ${ctx.errorId}` : void 0,
172
+ className: cn(inputBaseVariants({ size, state: finalState }), className),
173
+ ...props
174
+ }
175
+ );
176
+ }
177
+ );
178
+ TelInput.displayName = "TelInput";
179
+ var UrlInput = forwardRef(
180
+ ({ className, size, state, id, disabled, required, readOnly, ...props }, ref) => {
181
+ const ctx = useFormControl();
182
+ const finalState = state ?? (ctx?.isInvalid ? "invalid" : "default");
183
+ return /* @__PURE__ */ jsx(
184
+ "input",
185
+ {
186
+ ref,
187
+ type: "url",
188
+ autoComplete: "url",
189
+ inputMode: "url",
190
+ spellCheck: false,
191
+ id: id ?? ctx?.id,
192
+ disabled: disabled ?? ctx?.isDisabled,
193
+ required: required ?? ctx?.isRequired,
194
+ readOnly: readOnly ?? ctx?.isReadOnly,
195
+ "aria-invalid": ctx?.isInvalid || void 0,
196
+ "aria-describedby": ctx ? `${ctx.helperId} ${ctx.errorId}` : void 0,
197
+ className: cn(inputBaseVariants({ size, state: finalState }), className),
198
+ ...props
199
+ }
200
+ );
201
+ }
202
+ );
203
+ UrlInput.displayName = "UrlInput";
204
+ var NumberInput = forwardRef(
205
+ ({ className, size, state, id, disabled, required, readOnly, step = 1, ...props }, forwardedRef) => {
206
+ const ctx = useFormControl();
207
+ const finalState = state ?? (ctx?.isInvalid ? "invalid" : "default");
208
+ const inputRef = useRef(null);
209
+ useImperativeHandle(forwardedRef, () => inputRef.current);
210
+ const adjust = (direction) => {
211
+ const el = inputRef.current;
212
+ if (!el || typeof el.stepUp !== "function") return;
213
+ if (direction === 1) el.stepUp(step);
214
+ else el.stepDown(step);
215
+ el.dispatchEvent(new Event("input", { bubbles: true }));
216
+ el.dispatchEvent(new Event("change", { bubbles: true }));
217
+ };
218
+ const isDisabled = disabled ?? ctx?.isDisabled ?? false;
219
+ return /* @__PURE__ */ jsxs("div", { className: cn("relative", className), children: [
220
+ /* @__PURE__ */ jsx(
221
+ "input",
222
+ {
223
+ ref: inputRef,
224
+ type: "number",
225
+ inputMode: "decimal",
226
+ step,
227
+ id: id ?? ctx?.id,
228
+ disabled: isDisabled,
229
+ required: required ?? ctx?.isRequired,
230
+ readOnly: readOnly ?? ctx?.isReadOnly,
231
+ "aria-invalid": ctx?.isInvalid || void 0,
232
+ "aria-describedby": ctx ? `${ctx.helperId} ${ctx.errorId}` : void 0,
233
+ className: cn(inputBaseVariants({ size, state: finalState }), "pr-12 [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none"),
234
+ ...props
235
+ }
236
+ ),
237
+ /* @__PURE__ */ jsxs("div", { className: "absolute right-1 top-1/2 flex -translate-y-1/2 items-center", children: [
238
+ /* @__PURE__ */ jsx(
239
+ "button",
240
+ {
241
+ type: "button",
242
+ disabled: isDisabled,
243
+ onClick: () => adjust(-1),
244
+ "aria-label": "Decrement",
245
+ className: "grid h-7 w-6 place-items-center rounded text-neutral-500 hover:bg-neutral-100 disabled:opacity-50",
246
+ children: /* @__PURE__ */ jsx(Icon, { icon: Minus, size: 14 })
247
+ }
248
+ ),
249
+ /* @__PURE__ */ jsx(
250
+ "button",
251
+ {
252
+ type: "button",
253
+ disabled: isDisabled,
254
+ onClick: () => adjust(1),
255
+ "aria-label": "Increment",
256
+ className: "grid h-7 w-6 place-items-center rounded text-neutral-500 hover:bg-neutral-100 disabled:opacity-50",
257
+ children: /* @__PURE__ */ jsx(Icon, { icon: Plus, size: 14 })
258
+ }
259
+ )
260
+ ] })
261
+ ] });
262
+ }
263
+ );
264
+ NumberInput.displayName = "NumberInput";
265
+ var PasswordInput = forwardRef(
266
+ ({
267
+ className,
268
+ size,
269
+ state,
270
+ id,
271
+ disabled,
272
+ required,
273
+ readOnly,
274
+ toggleable = true,
275
+ autoComplete = "current-password",
276
+ ...props
277
+ }, ref) => {
278
+ const [visible, setVisible] = useState(false);
279
+ const ctx = useFormControl();
280
+ const finalState = state ?? (ctx?.isInvalid ? "invalid" : "default");
281
+ const isDisabled = disabled ?? ctx?.isDisabled ?? false;
282
+ return /* @__PURE__ */ jsxs("div", { className: cn("relative", className), children: [
283
+ /* @__PURE__ */ jsx(
284
+ "input",
285
+ {
286
+ ref,
287
+ type: visible ? "text" : "password",
288
+ autoComplete,
289
+ spellCheck: false,
290
+ id: id ?? ctx?.id,
291
+ disabled: isDisabled,
292
+ required: required ?? ctx?.isRequired,
293
+ readOnly: readOnly ?? ctx?.isReadOnly,
294
+ "aria-invalid": ctx?.isInvalid || void 0,
295
+ "aria-describedby": ctx ? `${ctx.helperId} ${ctx.errorId}` : void 0,
296
+ className: cn(inputBaseVariants({ size, state: finalState }), toggleable && "pr-10"),
297
+ ...props
298
+ }
299
+ ),
300
+ toggleable && /* @__PURE__ */ jsx(
301
+ "button",
302
+ {
303
+ type: "button",
304
+ disabled: isDisabled,
305
+ onClick: () => setVisible((v) => !v),
306
+ "aria-label": visible ? "Hide password" : "Show password",
307
+ "aria-pressed": visible,
308
+ className: "absolute right-1 top-1/2 grid h-8 w-8 -translate-y-1/2 place-items-center rounded text-neutral-500 hover:bg-neutral-100 disabled:opacity-50",
309
+ children: /* @__PURE__ */ jsx(Icon, { icon: visible ? EyeOff : Eye, size: 16 })
310
+ }
311
+ )
312
+ ] });
313
+ }
314
+ );
315
+ PasswordInput.displayName = "PasswordInput";
316
+ var SearchInput = forwardRef(
317
+ ({
318
+ className,
319
+ size,
320
+ state,
321
+ id,
322
+ disabled,
323
+ required,
324
+ readOnly,
325
+ clearable = true,
326
+ onClear,
327
+ onChange,
328
+ defaultValue,
329
+ value,
330
+ ...props
331
+ }, forwardedRef) => {
332
+ const ctx = useFormControl();
333
+ const finalState = state ?? (ctx?.isInvalid ? "invalid" : "default");
334
+ const isDisabled = disabled ?? ctx?.isDisabled ?? false;
335
+ const inputRef = useRef(null);
336
+ useImperativeHandle(forwardedRef, () => inputRef.current);
337
+ const isControlled = value !== void 0;
338
+ const [uncontrolled, setUncontrolled] = useState(defaultValue ?? "");
339
+ const currentValue = isControlled ? value : uncontrolled;
340
+ const showClear = clearable && String(currentValue ?? "").length > 0;
341
+ const handleClear = () => {
342
+ const el = inputRef.current;
343
+ if (el) {
344
+ const setter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, "value")?.set;
345
+ setter?.call(el, "");
346
+ el.dispatchEvent(new Event("input", { bubbles: true }));
347
+ el.focus();
348
+ }
349
+ if (!isControlled) setUncontrolled("");
350
+ onClear?.();
351
+ };
352
+ return /* @__PURE__ */ jsxs("div", { className: cn("relative", className), children: [
353
+ /* @__PURE__ */ jsx(
354
+ Icon,
355
+ {
356
+ icon: Search,
357
+ size: 16,
358
+ className: "absolute left-3 top-1/2 -translate-y-1/2 text-neutral-400"
359
+ }
360
+ ),
361
+ /* @__PURE__ */ jsx(
362
+ "input",
363
+ {
364
+ ref: inputRef,
365
+ type: "search",
366
+ id: id ?? ctx?.id,
367
+ value: isControlled ? value : void 0,
368
+ defaultValue: !isControlled ? defaultValue : void 0,
369
+ onChange: (e) => {
370
+ if (!isControlled) setUncontrolled(e.target.value);
371
+ onChange?.(e);
372
+ },
373
+ disabled: isDisabled,
374
+ required: required ?? ctx?.isRequired,
375
+ readOnly: readOnly ?? ctx?.isReadOnly,
376
+ "aria-invalid": ctx?.isInvalid || void 0,
377
+ "aria-describedby": ctx ? `${ctx.helperId} ${ctx.errorId}` : void 0,
378
+ className: cn(
379
+ inputBaseVariants({ size, state: finalState }),
380
+ "pl-9",
381
+ showClear && "pr-9",
382
+ "[&::-webkit-search-cancel-button]:appearance-none"
383
+ ),
384
+ ...props
385
+ }
386
+ ),
387
+ showClear && /* @__PURE__ */ jsx(
388
+ "button",
389
+ {
390
+ type: "button",
391
+ disabled: isDisabled,
392
+ onClick: handleClear,
393
+ "aria-label": "Clear search",
394
+ className: "absolute right-1 top-1/2 grid h-8 w-8 -translate-y-1/2 place-items-center rounded text-neutral-400 hover:bg-neutral-100 hover:text-neutral-600",
395
+ children: /* @__PURE__ */ jsx(Icon, { icon: X, size: 14 })
396
+ }
397
+ )
398
+ ] });
399
+ }
400
+ );
401
+ SearchInput.displayName = "SearchInput";
402
+ var Textarea = forwardRef(
403
+ ({ className, size, state, id, disabled, required, readOnly, rows = 3, ...props }, ref) => {
404
+ const ctx = useFormControl();
405
+ const finalState = state ?? (ctx?.isInvalid ? "invalid" : "default");
406
+ return /* @__PURE__ */ jsx(
407
+ "textarea",
408
+ {
409
+ ref,
410
+ rows,
411
+ id: id ?? ctx?.id,
412
+ disabled: disabled ?? ctx?.isDisabled,
413
+ required: required ?? ctx?.isRequired,
414
+ readOnly: readOnly ?? ctx?.isReadOnly,
415
+ "aria-invalid": ctx?.isInvalid || void 0,
416
+ "aria-describedby": ctx ? `${ctx.helperId} ${ctx.errorId}` : void 0,
417
+ className: cn(
418
+ inputBaseVariants({ size, state: finalState }),
419
+ "h-auto resize-y py-2",
420
+ className
421
+ ),
422
+ ...props
423
+ }
424
+ );
425
+ }
426
+ );
427
+ Textarea.displayName = "Textarea";
428
+ var SIZE_CLASS = {
429
+ sm: "h-4 w-4",
430
+ md: "h-5 w-5",
431
+ lg: "h-6 w-6"
432
+ };
433
+ var Checkbox = forwardRef(
434
+ ({ className, size = "md", indeterminate, id, disabled, required, checked, ...props }, ref) => {
435
+ const ctx = useFormControl();
436
+ const isDisabled = disabled ?? ctx?.isDisabled;
437
+ return /* @__PURE__ */ jsxs("span", { className: cn("relative inline-flex shrink-0", SIZE_CLASS[size], className), children: [
438
+ /* @__PURE__ */ jsx(
439
+ "input",
440
+ {
441
+ ref,
442
+ type: "checkbox",
443
+ id: id ?? ctx?.id,
444
+ disabled: isDisabled,
445
+ required: required ?? ctx?.isRequired,
446
+ checked,
447
+ "aria-invalid": ctx?.isInvalid || void 0,
448
+ "aria-describedby": ctx ? `${ctx.helperId} ${ctx.errorId}` : void 0,
449
+ className: "peer absolute inset-0 m-0 h-full w-full cursor-pointer opacity-0 disabled:cursor-not-allowed",
450
+ ...props
451
+ }
452
+ ),
453
+ /* @__PURE__ */ jsx(
454
+ "span",
455
+ {
456
+ "aria-hidden": "true",
457
+ className: cn(
458
+ "pointer-events-none grid h-full w-full place-items-center rounded-sm border border-neutral-300 bg-white text-white transition-colors",
459
+ "peer-checked:border-brand-600 peer-checked:bg-brand-600",
460
+ "peer-focus-visible:ring-2 peer-focus-visible:ring-brand-500 peer-focus-visible:ring-offset-1",
461
+ "peer-disabled:opacity-50",
462
+ indeterminate && "border-brand-600 bg-brand-600"
463
+ ),
464
+ children: indeterminate ? /* @__PURE__ */ jsx(Minus, { size: Math.round(SIZE_CLASS[size].length * 1.4), className: "h-3 w-3" }) : /* @__PURE__ */ jsx(Check, { className: "h-3 w-3 opacity-0 peer-checked:opacity-100" })
465
+ }
466
+ )
467
+ ] });
468
+ }
469
+ );
470
+ Checkbox.displayName = "Checkbox";
471
+ var SIZE_CLASS2 = {
472
+ sm: "h-4 w-4",
473
+ md: "h-5 w-5",
474
+ lg: "h-6 w-6"
475
+ };
476
+ var Radio = forwardRef(
477
+ ({ className, size = "md", id, disabled, required, ...props }, ref) => {
478
+ const ctx = useFormControl();
479
+ return /* @__PURE__ */ jsxs("span", { className: cn("relative inline-flex shrink-0", SIZE_CLASS2[size], className), children: [
480
+ /* @__PURE__ */ jsx(
481
+ "input",
482
+ {
483
+ ref,
484
+ type: "radio",
485
+ id: id ?? ctx?.id,
486
+ disabled: disabled ?? ctx?.isDisabled,
487
+ required: required ?? ctx?.isRequired,
488
+ "aria-invalid": ctx?.isInvalid || void 0,
489
+ className: "peer absolute inset-0 m-0 h-full w-full cursor-pointer opacity-0 disabled:cursor-not-allowed",
490
+ ...props
491
+ }
492
+ ),
493
+ /* @__PURE__ */ jsx(
494
+ "span",
495
+ {
496
+ "aria-hidden": "true",
497
+ className: cn(
498
+ "pointer-events-none grid h-full w-full place-items-center rounded-full border border-neutral-300 bg-white transition-colors",
499
+ "peer-checked:border-brand-600",
500
+ "peer-focus-visible:ring-2 peer-focus-visible:ring-brand-500 peer-focus-visible:ring-offset-1",
501
+ "peer-disabled:opacity-50"
502
+ ),
503
+ children: /* @__PURE__ */ jsx("span", { className: "h-2 w-2 rounded-full bg-brand-600 opacity-0 peer-checked:opacity-100" })
504
+ }
505
+ )
506
+ ] });
507
+ }
508
+ );
509
+ Radio.displayName = "Radio";
510
+ var TRACK_CLASS = {
511
+ sm: "h-4 w-7",
512
+ md: "h-5 w-9",
513
+ lg: "h-6 w-11"
514
+ };
515
+ var THUMB_CLASS = {
516
+ sm: "h-3 w-3 peer-checked:translate-x-3",
517
+ md: "h-4 w-4 peer-checked:translate-x-4",
518
+ lg: "h-5 w-5 peer-checked:translate-x-5"
519
+ };
520
+ var Switch = forwardRef(
521
+ ({ className, size = "md", id, disabled, required, ...props }, ref) => {
522
+ const ctx = useFormControl();
523
+ return /* @__PURE__ */ jsxs("span", { className: cn("relative inline-flex shrink-0", TRACK_CLASS[size], className), children: [
524
+ /* @__PURE__ */ jsx(
525
+ "input",
526
+ {
527
+ ref,
528
+ type: "checkbox",
529
+ role: "switch",
530
+ id: id ?? ctx?.id,
531
+ disabled: disabled ?? ctx?.isDisabled,
532
+ required: required ?? ctx?.isRequired,
533
+ "aria-invalid": ctx?.isInvalid || void 0,
534
+ className: "peer absolute inset-0 m-0 h-full w-full cursor-pointer opacity-0 disabled:cursor-not-allowed",
535
+ ...props
536
+ }
537
+ ),
538
+ /* @__PURE__ */ jsx(
539
+ "span",
540
+ {
541
+ "aria-hidden": "true",
542
+ className: cn(
543
+ "pointer-events-none flex h-full w-full items-center rounded-full bg-neutral-300 px-0.5 transition-colors",
544
+ "peer-checked:bg-brand-600",
545
+ "peer-focus-visible:ring-2 peer-focus-visible:ring-brand-500 peer-focus-visible:ring-offset-1",
546
+ "peer-disabled:opacity-50"
547
+ ),
548
+ children: /* @__PURE__ */ jsx(
549
+ "span",
550
+ {
551
+ className: cn(
552
+ "rounded-full bg-white shadow-sm transition-transform duration-150",
553
+ THUMB_CLASS[size]
554
+ )
555
+ }
556
+ )
557
+ }
558
+ )
559
+ ] });
560
+ }
561
+ );
562
+ Switch.displayName = "Switch";
563
+ var TRACK_CLASS2 = {
564
+ sm: "h-1",
565
+ md: "h-1.5",
566
+ lg: "h-2"
567
+ };
568
+ var Slider = forwardRef(
569
+ ({ className, size = "md", id, disabled, required, min = 0, max = 100, ...props }, ref) => {
570
+ const ctx = useFormControl();
571
+ return /* @__PURE__ */ jsx(
572
+ "input",
573
+ {
574
+ ref,
575
+ type: "range",
576
+ id: id ?? ctx?.id,
577
+ disabled: disabled ?? ctx?.isDisabled,
578
+ required: required ?? ctx?.isRequired,
579
+ min,
580
+ max,
581
+ "aria-invalid": ctx?.isInvalid || void 0,
582
+ className: cn(
583
+ "w-full appearance-none bg-transparent disabled:cursor-not-allowed disabled:opacity-50",
584
+ // WebKit
585
+ "[&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-neutral-200",
586
+ `[&::-webkit-slider-runnable-track]:${TRACK_CLASS2[size]}`,
587
+ "[&::-webkit-slider-thumb]:mt-[-6px] [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-brand-600 [&::-webkit-slider-thumb]:bg-white",
588
+ // Firefox
589
+ `[&::-moz-range-track]:${TRACK_CLASS2[size]}`,
590
+ "[&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-neutral-200",
591
+ "[&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-2 [&::-moz-range-thumb]:border-brand-600 [&::-moz-range-thumb]:bg-white",
592
+ "focus-visible:outline-none focus-visible:[&::-webkit-slider-thumb]:ring-2 focus-visible:[&::-webkit-slider-thumb]:ring-brand-500",
593
+ className
594
+ ),
595
+ ...props
596
+ }
597
+ );
598
+ }
599
+ );
600
+ Slider.displayName = "Slider";
601
+
602
+ export { Checkbox, EmailInput, Fieldset, FormErrorMessage, FormHelperText, Label, Legend, NumberInput, PasswordInput, Radio, SearchInput, Slider, Switch, TelInput, TextInput, Textarea, UrlInput };
603
+ //# sourceMappingURL=chunk-NJZS7RIH.js.map
604
+ //# sourceMappingURL=chunk-NJZS7RIH.js.map