@wow-two-beta/ui 0.0.6 → 0.0.8

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 (307) hide show
  1. package/dist/actions/button/Button.variants.d.ts +2 -2
  2. package/dist/actions/buttonGroup/ButtonGroup.d.ts +14 -0
  3. package/dist/actions/buttonGroup/ButtonGroup.d.ts.map +1 -0
  4. package/dist/actions/buttonGroup/index.d.ts +2 -0
  5. package/dist/actions/buttonGroup/index.d.ts.map +1 -0
  6. package/dist/actions/copyButton/CopyButton.d.ts +20 -0
  7. package/dist/actions/copyButton/CopyButton.d.ts.map +1 -0
  8. package/dist/actions/copyButton/index.d.ts +2 -0
  9. package/dist/actions/copyButton/index.d.ts.map +1 -0
  10. package/dist/actions/disclosureButton/DisclosureButton.d.ts +20 -0
  11. package/dist/actions/disclosureButton/DisclosureButton.d.ts.map +1 -0
  12. package/dist/actions/disclosureButton/index.d.ts +2 -0
  13. package/dist/actions/disclosureButton/index.d.ts.map +1 -0
  14. package/dist/actions/fab/FAB.d.ts +13 -0
  15. package/dist/actions/fab/FAB.d.ts.map +1 -0
  16. package/dist/actions/fab/FAB.variants.d.ts +130 -0
  17. package/dist/actions/fab/FAB.variants.d.ts.map +1 -0
  18. package/dist/actions/fab/index.d.ts +3 -0
  19. package/dist/actions/fab/index.d.ts.map +1 -0
  20. package/dist/actions/iconButton/IconButton.variants.d.ts +2 -2
  21. package/dist/actions/index.d.ts +8 -0
  22. package/dist/actions/index.d.ts.map +1 -1
  23. package/dist/actions/index.js +4 -1
  24. package/dist/actions/link/Link.variants.d.ts +2 -2
  25. package/dist/actions/overlayButton/OverlayButton.d.ts +16 -0
  26. package/dist/actions/overlayButton/OverlayButton.d.ts.map +1 -0
  27. package/dist/actions/overlayButton/OverlayButton.variants.d.ts +123 -0
  28. package/dist/actions/overlayButton/OverlayButton.variants.d.ts.map +1 -0
  29. package/dist/actions/overlayButton/index.d.ts +3 -0
  30. package/dist/actions/overlayButton/index.d.ts.map +1 -0
  31. package/dist/actions/segmentedControl/SegmentedControl.d.ts +9 -0
  32. package/dist/actions/segmentedControl/SegmentedControl.d.ts.map +1 -0
  33. package/dist/actions/segmentedControl/index.d.ts +2 -0
  34. package/dist/actions/segmentedControl/index.d.ts.map +1 -0
  35. package/dist/actions/toggleButton/ToggleButton.d.ts +16 -0
  36. package/dist/actions/toggleButton/ToggleButton.d.ts.map +1 -0
  37. package/dist/actions/toggleButton/ToggleButton.variants.d.ts +81 -0
  38. package/dist/actions/toggleButton/ToggleButton.variants.d.ts.map +1 -0
  39. package/dist/actions/toggleButton/index.d.ts +3 -0
  40. package/dist/actions/toggleButton/index.d.ts.map +1 -0
  41. package/dist/actions/toggleButtonGroup/ToggleButtonGroup.d.ts +25 -0
  42. package/dist/actions/toggleButtonGroup/ToggleButtonGroup.d.ts.map +1 -0
  43. package/dist/actions/toggleButtonGroup/index.d.ts +2 -0
  44. package/dist/actions/toggleButtonGroup/index.d.ts.map +1 -0
  45. package/dist/{chunk-6NYTRHP7.js → chunk-4P2TFUVW.js} +39 -5
  46. package/dist/chunk-4P2TFUVW.js.map +1 -0
  47. package/dist/chunk-7SGLT2LM.js +774 -0
  48. package/dist/chunk-7SGLT2LM.js.map +1 -0
  49. package/dist/chunk-D5CHR6RX.js +423 -0
  50. package/dist/chunk-D5CHR6RX.js.map +1 -0
  51. package/dist/{chunk-77WSI427.js → chunk-KDXJQNB6.js} +9 -5
  52. package/dist/chunk-KDXJQNB6.js.map +1 -0
  53. package/dist/chunk-L32PXXQL.js +126 -0
  54. package/dist/chunk-L32PXXQL.js.map +1 -0
  55. package/dist/{chunk-SYG6ZE42.js → chunk-NKGNOOXJ.js} +116 -4
  56. package/dist/chunk-NKGNOOXJ.js.map +1 -0
  57. package/dist/chunk-RIW2V3N4.js +596 -0
  58. package/dist/chunk-RIW2V3N4.js.map +1 -0
  59. package/dist/{chunk-JCMV6IT4.js → chunk-SL5YJADS.js} +4 -4
  60. package/dist/{chunk-JCMV6IT4.js.map → chunk-SL5YJADS.js.map} +1 -1
  61. package/dist/{chunk-Q27NAHVB.js → chunk-WEM32VIJ.js} +3 -3
  62. package/dist/{chunk-Q27NAHVB.js.map → chunk-WEM32VIJ.js.map} +1 -1
  63. package/dist/chunk-X2LTOZ7F.js +1119 -0
  64. package/dist/chunk-X2LTOZ7F.js.map +1 -0
  65. package/dist/display/avatar/Avatar.variants.d.ts +2 -2
  66. package/dist/display/avatarGroup/AvatarGroup.d.ts +16 -0
  67. package/dist/display/avatarGroup/AvatarGroup.d.ts.map +1 -0
  68. package/dist/display/avatarGroup/index.d.ts +2 -0
  69. package/dist/display/avatarGroup/index.d.ts.map +1 -0
  70. package/dist/display/badgeOverlay/BadgeOverlay.d.ts +18 -0
  71. package/dist/display/badgeOverlay/BadgeOverlay.d.ts.map +1 -0
  72. package/dist/display/badgeOverlay/index.d.ts +2 -0
  73. package/dist/display/badgeOverlay/index.d.ts.map +1 -0
  74. package/dist/display/card/Card.d.ts +20 -0
  75. package/dist/display/card/Card.d.ts.map +1 -0
  76. package/dist/display/card/index.d.ts +2 -0
  77. package/dist/display/card/index.d.ts.map +1 -0
  78. package/dist/display/countBadge/CountBadge.d.ts +18 -0
  79. package/dist/display/countBadge/CountBadge.d.ts.map +1 -0
  80. package/dist/display/countBadge/index.d.ts +2 -0
  81. package/dist/display/countBadge/index.d.ts.map +1 -0
  82. package/dist/display/descriptionList/DescriptionList.d.ts +18 -0
  83. package/dist/display/descriptionList/DescriptionList.d.ts.map +1 -0
  84. package/dist/display/descriptionList/index.d.ts +2 -0
  85. package/dist/display/descriptionList/index.d.ts.map +1 -0
  86. package/dist/display/emptyState/EmptyState.d.ts +19 -0
  87. package/dist/display/emptyState/EmptyState.d.ts.map +1 -0
  88. package/dist/display/emptyState/index.d.ts +2 -0
  89. package/dist/display/emptyState/index.d.ts.map +1 -0
  90. package/dist/display/heading/Heading.variants.d.ts +2 -2
  91. package/dist/display/highlight/Highlight.d.ts +16 -0
  92. package/dist/display/highlight/Highlight.d.ts.map +1 -0
  93. package/dist/display/highlight/index.d.ts +2 -0
  94. package/dist/display/highlight/index.d.ts.map +1 -0
  95. package/dist/display/index.d.ts +15 -0
  96. package/dist/display/index.d.ts.map +1 -1
  97. package/dist/display/index.js +7 -2
  98. package/dist/display/infoRow/InfoRow.d.ts +16 -0
  99. package/dist/display/infoRow/InfoRow.d.ts.map +1 -0
  100. package/dist/display/infoRow/index.d.ts +2 -0
  101. package/dist/display/infoRow/index.d.ts.map +1 -0
  102. package/dist/display/keyboardShortcut/KeyboardShortcut.d.ts +13 -0
  103. package/dist/display/keyboardShortcut/KeyboardShortcut.d.ts.map +1 -0
  104. package/dist/display/keyboardShortcut/index.d.ts +2 -0
  105. package/dist/display/keyboardShortcut/index.d.ts.map +1 -0
  106. package/dist/display/notificationDot/NotificationDot.d.ts +15 -0
  107. package/dist/display/notificationDot/NotificationDot.d.ts.map +1 -0
  108. package/dist/display/notificationDot/index.d.ts +2 -0
  109. package/dist/display/notificationDot/index.d.ts.map +1 -0
  110. package/dist/display/sectionHeader/SectionHeader.d.ts +21 -0
  111. package/dist/display/sectionHeader/SectionHeader.d.ts.map +1 -0
  112. package/dist/display/sectionHeader/index.d.ts +2 -0
  113. package/dist/display/sectionHeader/index.d.ts.map +1 -0
  114. package/dist/display/snippet/Snippet.d.ts +15 -0
  115. package/dist/display/snippet/Snippet.d.ts.map +1 -0
  116. package/dist/display/snippet/index.d.ts +2 -0
  117. package/dist/display/snippet/index.d.ts.map +1 -0
  118. package/dist/display/stat/Stat.d.ts +22 -0
  119. package/dist/display/stat/Stat.d.ts.map +1 -0
  120. package/dist/display/stat/index.d.ts +2 -0
  121. package/dist/display/stat/index.d.ts.map +1 -0
  122. package/dist/display/status/Status.d.ts +14 -0
  123. package/dist/display/status/Status.d.ts.map +1 -0
  124. package/dist/display/status/index.d.ts +2 -0
  125. package/dist/display/status/index.d.ts.map +1 -0
  126. package/dist/display/tag/Tag.variants.d.ts +2 -2
  127. package/dist/display/tooltip/Tooltip.d.ts +25 -0
  128. package/dist/display/tooltip/Tooltip.d.ts.map +1 -0
  129. package/dist/display/tooltip/index.d.ts +2 -0
  130. package/dist/display/tooltip/index.d.ts.map +1 -0
  131. package/dist/feedback/alert/Alert.d.ts +22 -0
  132. package/dist/feedback/alert/Alert.d.ts.map +1 -0
  133. package/dist/feedback/alert/index.d.ts +2 -0
  134. package/dist/feedback/alert/index.d.ts.map +1 -0
  135. package/dist/feedback/banner/Banner.d.ts +16 -0
  136. package/dist/feedback/banner/Banner.d.ts.map +1 -0
  137. package/dist/feedback/banner/index.d.ts +2 -0
  138. package/dist/feedback/banner/index.d.ts.map +1 -0
  139. package/dist/feedback/callout/Callout.d.ts +13 -0
  140. package/dist/feedback/callout/Callout.d.ts.map +1 -0
  141. package/dist/feedback/callout/index.d.ts +2 -0
  142. package/dist/feedback/callout/index.d.ts.map +1 -0
  143. package/dist/feedback/index.d.ts +10 -0
  144. package/dist/feedback/index.d.ts.map +1 -1
  145. package/dist/feedback/index.js +2 -1
  146. package/dist/feedback/inlineSpinner/InlineSpinner.d.ts +14 -0
  147. package/dist/feedback/inlineSpinner/InlineSpinner.d.ts.map +1 -0
  148. package/dist/feedback/inlineSpinner/index.d.ts +2 -0
  149. package/dist/feedback/inlineSpinner/index.d.ts.map +1 -0
  150. package/dist/feedback/loadingState/LoadingState.d.ts +15 -0
  151. package/dist/feedback/loadingState/LoadingState.d.ts.map +1 -0
  152. package/dist/feedback/loadingState/index.d.ts +2 -0
  153. package/dist/feedback/loadingState/index.d.ts.map +1 -0
  154. package/dist/feedback/meterBar/MeterBar.d.ts +18 -0
  155. package/dist/feedback/meterBar/MeterBar.d.ts.map +1 -0
  156. package/dist/feedback/meterBar/index.d.ts +2 -0
  157. package/dist/feedback/meterBar/index.d.ts.map +1 -0
  158. package/dist/feedback/progressBar/ProgressBar.variants.d.ts +2 -2
  159. package/dist/feedback/progressSteps/ProgressSteps.d.ts +16 -0
  160. package/dist/feedback/progressSteps/ProgressSteps.d.ts.map +1 -0
  161. package/dist/feedback/progressSteps/index.d.ts +2 -0
  162. package/dist/feedback/progressSteps/index.d.ts.map +1 -0
  163. package/dist/feedback/skeleton/Skeleton.variants.d.ts +2 -2
  164. package/dist/feedback/statusIndicator/StatusIndicator.d.ts +17 -0
  165. package/dist/feedback/statusIndicator/StatusIndicator.d.ts.map +1 -0
  166. package/dist/feedback/statusIndicator/index.d.ts +2 -0
  167. package/dist/feedback/statusIndicator/index.d.ts.map +1 -0
  168. package/dist/feedback/toast/Toast.d.ts +16 -0
  169. package/dist/feedback/toast/Toast.d.ts.map +1 -0
  170. package/dist/feedback/toast/index.d.ts +2 -0
  171. package/dist/feedback/toast/index.d.ts.map +1 -0
  172. package/dist/feedback/toastSimple/ToastSimple.variants.d.ts +2 -2
  173. package/dist/feedback/trendIndicator/TrendIndicator.d.ts +18 -0
  174. package/dist/feedback/trendIndicator/TrendIndicator.d.ts.map +1 -0
  175. package/dist/feedback/trendIndicator/index.d.ts +2 -0
  176. package/dist/feedback/trendIndicator/index.d.ts.map +1 -0
  177. package/dist/forms/_styles.d.ts +2 -2
  178. package/dist/forms/characterCount/CharacterCount.d.ts +15 -0
  179. package/dist/forms/characterCount/CharacterCount.d.ts.map +1 -0
  180. package/dist/forms/characterCount/index.d.ts +2 -0
  181. package/dist/forms/characterCount/index.d.ts.map +1 -0
  182. package/dist/forms/checkboxField/CheckboxField.d.ts +16 -0
  183. package/dist/forms/checkboxField/CheckboxField.d.ts.map +1 -0
  184. package/dist/forms/checkboxField/index.d.ts +2 -0
  185. package/dist/forms/checkboxField/index.d.ts.map +1 -0
  186. package/dist/forms/checkboxGroup/CheckboxGroup.d.ts +24 -0
  187. package/dist/forms/checkboxGroup/CheckboxGroup.d.ts.map +1 -0
  188. package/dist/forms/checkboxGroup/index.d.ts +2 -0
  189. package/dist/forms/checkboxGroup/index.d.ts.map +1 -0
  190. package/dist/forms/choiceCard/ChoiceCard.d.ts +17 -0
  191. package/dist/forms/choiceCard/ChoiceCard.d.ts.map +1 -0
  192. package/dist/forms/choiceCard/index.d.ts +2 -0
  193. package/dist/forms/choiceCard/index.d.ts.map +1 -0
  194. package/dist/forms/currencyInput/CurrencyInput.d.ts +11 -0
  195. package/dist/forms/currencyInput/CurrencyInput.d.ts.map +1 -0
  196. package/dist/forms/currencyInput/index.d.ts +2 -0
  197. package/dist/forms/currencyInput/index.d.ts.map +1 -0
  198. package/dist/forms/filePicker/FilePicker.d.ts +18 -0
  199. package/dist/forms/filePicker/FilePicker.d.ts.map +1 -0
  200. package/dist/forms/filePicker/index.d.ts +2 -0
  201. package/dist/forms/filePicker/index.d.ts.map +1 -0
  202. package/dist/forms/formField/FormField.d.ts +24 -0
  203. package/dist/forms/formField/FormField.d.ts.map +1 -0
  204. package/dist/forms/formField/index.d.ts +2 -0
  205. package/dist/forms/formField/index.d.ts.map +1 -0
  206. package/dist/forms/index.d.ts +17 -0
  207. package/dist/forms/index.d.ts.map +1 -1
  208. package/dist/forms/index.js +5 -4
  209. package/dist/forms/inputAddon/InputAddon.d.ts +16 -0
  210. package/dist/forms/inputAddon/InputAddon.d.ts.map +1 -0
  211. package/dist/forms/inputAddon/index.d.ts +2 -0
  212. package/dist/forms/inputAddon/index.d.ts.map +1 -0
  213. package/dist/forms/inputGroup/InputGroup.d.ts +11 -0
  214. package/dist/forms/inputGroup/InputGroup.d.ts.map +1 -0
  215. package/dist/forms/inputGroup/index.d.ts +2 -0
  216. package/dist/forms/inputGroup/index.d.ts.map +1 -0
  217. package/dist/forms/labeledInput/LabeledInput.d.ts +17 -0
  218. package/dist/forms/labeledInput/LabeledInput.d.ts.map +1 -0
  219. package/dist/forms/labeledInput/index.d.ts +2 -0
  220. package/dist/forms/labeledInput/index.d.ts.map +1 -0
  221. package/dist/forms/maskedInput/MaskedInput.d.ts +17 -0
  222. package/dist/forms/maskedInput/MaskedInput.d.ts.map +1 -0
  223. package/dist/forms/maskedInput/index.d.ts +2 -0
  224. package/dist/forms/maskedInput/index.d.ts.map +1 -0
  225. package/dist/forms/passwordStrength/PasswordStrength.d.ts +15 -0
  226. package/dist/forms/passwordStrength/PasswordStrength.d.ts.map +1 -0
  227. package/dist/forms/passwordStrength/index.d.ts +2 -0
  228. package/dist/forms/passwordStrength/index.d.ts.map +1 -0
  229. package/dist/forms/percentInput/PercentInput.d.ts +8 -0
  230. package/dist/forms/percentInput/PercentInput.d.ts.map +1 -0
  231. package/dist/forms/percentInput/index.d.ts +2 -0
  232. package/dist/forms/percentInput/index.d.ts.map +1 -0
  233. package/dist/forms/pinInput/PinInput.d.ts +26 -0
  234. package/dist/forms/pinInput/PinInput.d.ts.map +1 -0
  235. package/dist/forms/pinInput/index.d.ts +2 -0
  236. package/dist/forms/pinInput/index.d.ts.map +1 -0
  237. package/dist/forms/radioField/RadioField.d.ts +12 -0
  238. package/dist/forms/radioField/RadioField.d.ts.map +1 -0
  239. package/dist/forms/radioField/index.d.ts +2 -0
  240. package/dist/forms/radioField/index.d.ts.map +1 -0
  241. package/dist/forms/radioGroup/RadioGroup.d.ts +19 -0
  242. package/dist/forms/radioGroup/RadioGroup.d.ts.map +1 -0
  243. package/dist/forms/radioGroup/index.d.ts +2 -0
  244. package/dist/forms/radioGroup/index.d.ts.map +1 -0
  245. package/dist/forms/switchField/SwitchField.d.ts +15 -0
  246. package/dist/forms/switchField/SwitchField.d.ts.map +1 -0
  247. package/dist/forms/switchField/index.d.ts +2 -0
  248. package/dist/forms/switchField/index.d.ts.map +1 -0
  249. package/dist/hooks/index.d.ts +1 -0
  250. package/dist/hooks/index.d.ts.map +1 -1
  251. package/dist/hooks/index.js +2 -3
  252. package/dist/hooks/useClipboard.d.ts +21 -0
  253. package/dist/hooks/useClipboard.d.ts.map +1 -0
  254. package/dist/index.css +112 -5
  255. package/dist/index.d.ts +1 -0
  256. package/dist/index.d.ts.map +1 -1
  257. package/dist/index.js +11 -11
  258. package/dist/layout/cluster/Cluster.d.ts +13 -0
  259. package/dist/layout/cluster/Cluster.d.ts.map +1 -0
  260. package/dist/layout/cluster/index.d.ts +2 -0
  261. package/dist/layout/cluster/index.d.ts.map +1 -0
  262. package/dist/layout/frame/Frame.d.ts +17 -0
  263. package/dist/layout/frame/Frame.d.ts.map +1 -0
  264. package/dist/layout/frame/index.d.ts +2 -0
  265. package/dist/layout/frame/index.d.ts.map +1 -0
  266. package/dist/layout/index.d.ts +4 -0
  267. package/dist/layout/index.d.ts.map +1 -1
  268. package/dist/layout/index.js +1 -1
  269. package/dist/layout/inline/Inline.d.ts +13 -0
  270. package/dist/layout/inline/Inline.d.ts.map +1 -0
  271. package/dist/layout/inline/index.d.ts +2 -0
  272. package/dist/layout/inline/index.d.ts.map +1 -0
  273. package/dist/layout/twoColumn/TwoColumn.d.ts +19 -0
  274. package/dist/layout/twoColumn/TwoColumn.d.ts.map +1 -0
  275. package/dist/layout/twoColumn/index.d.ts +2 -0
  276. package/dist/layout/twoColumn/index.d.ts.map +1 -0
  277. package/dist/nav/breadcrumb/Breadcrumb.d.ts +18 -0
  278. package/dist/nav/breadcrumb/Breadcrumb.d.ts.map +1 -0
  279. package/dist/nav/breadcrumb/index.d.ts +2 -0
  280. package/dist/nav/breadcrumb/index.d.ts.map +1 -0
  281. package/dist/nav/index.d.ts +4 -0
  282. package/dist/nav/index.d.ts.map +1 -0
  283. package/dist/nav/index.js +12 -0
  284. package/dist/nav/index.js.map +1 -0
  285. package/dist/nav/navItem/NavItem.d.ts +22 -0
  286. package/dist/nav/navItem/NavItem.d.ts.map +1 -0
  287. package/dist/nav/navItem/index.d.ts +2 -0
  288. package/dist/nav/navItem/index.d.ts.map +1 -0
  289. package/dist/nav/pagination/Pagination.d.ts +19 -0
  290. package/dist/nav/pagination/Pagination.d.ts.map +1 -0
  291. package/dist/nav/pagination/index.d.ts +2 -0
  292. package/dist/nav/pagination/index.d.ts.map +1 -0
  293. package/dist/primitives/index.js +3 -4
  294. package/package.json +5 -1
  295. package/dist/chunk-6NYTRHP7.js.map +0 -1
  296. package/dist/chunk-77WSI427.js.map +0 -1
  297. package/dist/chunk-JTJEI6MF.js +0 -11
  298. package/dist/chunk-JTJEI6MF.js.map +0 -1
  299. package/dist/chunk-L2RYQWZZ.js +0 -120
  300. package/dist/chunk-L2RYQWZZ.js.map +0 -1
  301. package/dist/chunk-MP4OTUFA.js +0 -318
  302. package/dist/chunk-MP4OTUFA.js.map +0 -1
  303. package/dist/chunk-NJZS7RIH.js +0 -604
  304. package/dist/chunk-NJZS7RIH.js.map +0 -1
  305. package/dist/chunk-SYG6ZE42.js.map +0 -1
  306. package/dist/chunk-YLN7VMYU.js +0 -275
  307. package/dist/chunk-YLN7VMYU.js.map +0 -1
@@ -1,604 +0,0 @@
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