@whatisboom/boom-ui 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/README.md +13 -0
  2. package/dist/{Select-BmJyyqxL.js → Select-Di9WjMsi.js} +32 -31
  3. package/dist/Select-Di9WjMsi.js.map +1 -0
  4. package/dist/boom-ui.css +1 -1
  5. package/dist/form.d.ts +1 -0
  6. package/dist/form.js +67 -65
  7. package/dist/form.js.map +1 -1
  8. package/dist/index.d.ts +1 -0
  9. package/dist/index.js +2837 -2619
  10. package/dist/index.js.map +1 -1
  11. package/dist/src/components/Alert/Alert.d.ts +0 -1
  12. package/dist/src/components/Alert/Alert.d.ts.map +1 -1
  13. package/dist/src/components/Alert/Alert.stories.d.ts +0 -1
  14. package/dist/src/components/Alert/Alert.types.d.ts +0 -1
  15. package/dist/src/components/Alert/Alert.types.d.ts.map +1 -1
  16. package/dist/src/components/Avatar/Avatar.d.ts +0 -1
  17. package/dist/src/components/Avatar/Avatar.d.ts.map +1 -1
  18. package/dist/src/components/Avatar/Avatar.stories.d.ts +0 -1
  19. package/dist/src/components/Avatar/Avatar.types.d.ts +0 -1
  20. package/dist/src/components/Avatar/Avatar.types.d.ts.map +1 -1
  21. package/dist/src/components/Badge/Badge.d.ts +0 -1
  22. package/dist/src/components/Badge/Badge.d.ts.map +1 -1
  23. package/dist/src/components/Badge/Badge.stories.d.ts +0 -1
  24. package/dist/src/components/Badge/Badge.types.d.ts +0 -1
  25. package/dist/src/components/Badge/Badge.types.d.ts.map +1 -1
  26. package/dist/src/components/Box/Box.d.ts +0 -1
  27. package/dist/src/components/Box/Box.d.ts.map +1 -1
  28. package/dist/src/components/Box/Box.stories.d.ts +15 -1
  29. package/dist/src/components/Box/Box.stories.d.ts.map +1 -1
  30. package/dist/src/components/Box/Box.types.d.ts +0 -1
  31. package/dist/src/components/Box/Box.types.d.ts.map +1 -1
  32. package/dist/src/components/Button/Button.d.ts +0 -1
  33. package/dist/src/components/Button/Button.d.ts.map +1 -1
  34. package/dist/src/components/Button/Button.stories.d.ts +0 -1
  35. package/dist/src/components/Button/Button.types.d.ts +0 -1
  36. package/dist/src/components/Button/Button.types.d.ts.map +1 -1
  37. package/dist/src/components/Card/Card.d.ts +0 -1
  38. package/dist/src/components/Card/Card.d.ts.map +1 -1
  39. package/dist/src/components/Card/Card.stories.d.ts +0 -1
  40. package/dist/src/components/Card/Card.types.d.ts +0 -1
  41. package/dist/src/components/Card/Card.types.d.ts.map +1 -1
  42. package/dist/src/components/Checkbox/Checkbox.d.ts +0 -1
  43. package/dist/src/components/Checkbox/Checkbox.d.ts.map +1 -1
  44. package/dist/src/components/Checkbox/Checkbox.stories.d.ts +0 -1
  45. package/dist/src/components/Checkbox/Checkbox.types.d.ts +0 -1
  46. package/dist/src/components/Checkbox/Checkbox.types.d.ts.map +1 -1
  47. package/dist/src/components/EmptyState/EmptyState.d.ts +0 -1
  48. package/dist/src/components/EmptyState/EmptyState.d.ts.map +1 -1
  49. package/dist/src/components/EmptyState/EmptyState.stories.d.ts +0 -1
  50. package/dist/src/components/EmptyState/EmptyState.types.d.ts +0 -1
  51. package/dist/src/components/EmptyState/EmptyState.types.d.ts.map +1 -1
  52. package/dist/src/components/ErrorBoundary/DefaultErrorFallback.d.ts +0 -1
  53. package/dist/src/components/ErrorBoundary/DefaultErrorFallback.d.ts.map +1 -1
  54. package/dist/src/components/ErrorBoundary/ErrorBoundary.d.ts +1 -2
  55. package/dist/src/components/ErrorBoundary/ErrorBoundary.d.ts.map +1 -1
  56. package/dist/src/components/ErrorBoundary/ErrorBoundary.stories.d.ts +0 -1
  57. package/dist/src/components/ErrorBoundary/ErrorBoundary.types.d.ts +0 -1
  58. package/dist/src/components/ErrorBoundary/ErrorBoundary.types.d.ts.map +1 -1
  59. package/dist/src/components/Form/FieldArray.types.d.ts +0 -1
  60. package/dist/src/components/Form/FieldArray.types.d.ts.map +1 -1
  61. package/dist/src/components/Form/Form.d.ts +0 -1
  62. package/dist/src/components/Form/Form.d.ts.map +1 -1
  63. package/dist/src/components/Form/Form.stories.d.ts +0 -1
  64. package/dist/src/components/Form/Form.types.d.ts +0 -1
  65. package/dist/src/components/Form/Form.types.d.ts.map +1 -1
  66. package/dist/src/components/Form/FormActions.d.ts +0 -1
  67. package/dist/src/components/Form/FormActions.d.ts.map +1 -1
  68. package/dist/src/components/Form/FormActions.types.d.ts +0 -1
  69. package/dist/src/components/Form/FormActions.types.d.ts.map +1 -1
  70. package/dist/src/components/Form/FormMessage.d.ts +0 -1
  71. package/dist/src/components/Form/FormMessage.d.ts.map +1 -1
  72. package/dist/src/components/Form/FormMessage.types.d.ts +0 -1
  73. package/dist/src/components/Form/FormMessage.types.d.ts.map +1 -1
  74. package/dist/src/components/Form/FormStep.types.d.ts +0 -1
  75. package/dist/src/components/Form/FormStep.types.d.ts.map +1 -1
  76. package/dist/src/components/Form/FormStepper.types.d.ts +0 -1
  77. package/dist/src/components/Form/FormStepper.types.d.ts.map +1 -1
  78. package/dist/src/components/Form/createFieldComponent.d.ts +0 -1
  79. package/dist/src/components/Form/createFieldComponent.d.ts.map +1 -1
  80. package/dist/src/components/Form/hooks/useFormStep.d.ts +0 -1
  81. package/dist/src/components/Form/hooks/useFormStep.d.ts.map +1 -1
  82. package/dist/src/components/Grid/Grid.d.ts +7 -0
  83. package/dist/src/components/Grid/Grid.d.ts.map +1 -0
  84. package/dist/src/components/Grid/Grid.stories.d.ts +51 -0
  85. package/dist/src/components/Grid/Grid.stories.d.ts.map +1 -0
  86. package/dist/src/components/Grid/Grid.test.d.ts +2 -0
  87. package/dist/src/components/Grid/Grid.test.d.ts.map +1 -0
  88. package/dist/src/components/Grid/Grid.types.d.ts +49 -0
  89. package/dist/src/components/Grid/Grid.types.d.ts.map +1 -0
  90. package/dist/src/components/Grid/index.d.ts +3 -0
  91. package/dist/src/components/Grid/index.d.ts.map +1 -0
  92. package/dist/src/components/Header/Header.d.ts +0 -1
  93. package/dist/src/components/Header/Header.d.ts.map +1 -1
  94. package/dist/src/components/Header/Header.stories.d.ts +0 -1
  95. package/dist/src/components/Header/Header.types.d.ts +0 -1
  96. package/dist/src/components/Header/Header.types.d.ts.map +1 -1
  97. package/dist/src/components/Hero/Hero.d.ts +0 -1
  98. package/dist/src/components/Hero/Hero.d.ts.map +1 -1
  99. package/dist/src/components/Hero/Hero.stories.d.ts +0 -1
  100. package/dist/src/components/Hero/Hero.types.d.ts +0 -1
  101. package/dist/src/components/Hero/Hero.types.d.ts.map +1 -1
  102. package/dist/src/components/Input/Input.d.ts +0 -1
  103. package/dist/src/components/Input/Input.d.ts.map +1 -1
  104. package/dist/src/components/Input/Input.stories.d.ts +0 -1
  105. package/dist/src/components/Input/Input.types.d.ts +0 -1
  106. package/dist/src/components/Input/Input.types.d.ts.map +1 -1
  107. package/dist/src/components/Introduction.stories.d.ts +0 -1
  108. package/dist/src/components/Layout.stories.d.ts +0 -1
  109. package/dist/src/components/Nav/Nav.d.ts +7 -0
  110. package/dist/src/components/Nav/Nav.d.ts.map +1 -0
  111. package/dist/src/components/Nav/Nav.stories.d.ts +50 -0
  112. package/dist/src/components/Nav/Nav.stories.d.ts.map +1 -0
  113. package/dist/src/components/Nav/Nav.test.d.ts +2 -0
  114. package/dist/src/components/Nav/Nav.test.d.ts.map +1 -0
  115. package/dist/src/components/Nav/Nav.types.d.ts +52 -0
  116. package/dist/src/components/Nav/Nav.types.d.ts.map +1 -0
  117. package/dist/src/components/Nav/NavItem.d.ts +7 -0
  118. package/dist/src/components/Nav/NavItem.d.ts.map +1 -0
  119. package/dist/src/components/Nav/index.d.ts +4 -0
  120. package/dist/src/components/Nav/index.d.ts.map +1 -0
  121. package/dist/src/components/Navigation/Navigation.d.ts +0 -1
  122. package/dist/src/components/Navigation/Navigation.d.ts.map +1 -1
  123. package/dist/src/components/Navigation/Navigation.stories.d.ts +0 -1
  124. package/dist/src/components/Navigation/Navigation.types.d.ts +0 -1
  125. package/dist/src/components/Navigation/Navigation.types.d.ts.map +1 -1
  126. package/dist/src/components/NotificationMenu/NotificationMenu.d.ts +0 -1
  127. package/dist/src/components/NotificationMenu/NotificationMenu.d.ts.map +1 -1
  128. package/dist/src/components/NotificationMenu/NotificationMenu.stories.d.ts +0 -1
  129. package/dist/src/components/NotificationMenu/NotificationMenu.types.d.ts +0 -1
  130. package/dist/src/components/NotificationMenu/NotificationMenu.types.d.ts.map +1 -1
  131. package/dist/src/components/Progress/Progress.d.ts +0 -1
  132. package/dist/src/components/Progress/Progress.d.ts.map +1 -1
  133. package/dist/src/components/Progress/Progress.stories.d.ts +0 -1
  134. package/dist/src/components/Progress/Progress.types.d.ts +0 -1
  135. package/dist/src/components/Progress/Progress.types.d.ts.map +1 -1
  136. package/dist/src/components/RadioGroup/RadioGroup.d.ts +0 -1
  137. package/dist/src/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  138. package/dist/src/components/RadioGroup/RadioGroup.stories.d.ts +0 -1
  139. package/dist/src/components/RadioGroup/RadioGroup.types.d.ts +0 -1
  140. package/dist/src/components/RadioGroup/RadioGroup.types.d.ts.map +1 -1
  141. package/dist/src/components/SearchCommand/SearchCommand.d.ts +0 -1
  142. package/dist/src/components/SearchCommand/SearchCommand.d.ts.map +1 -1
  143. package/dist/src/components/SearchCommand/SearchCommand.stories.d.ts +0 -1
  144. package/dist/src/components/SearchCommand/SearchCommand.types.d.ts +0 -1
  145. package/dist/src/components/SearchCommand/SearchCommand.types.d.ts.map +1 -1
  146. package/dist/src/components/Select/Select.d.ts +0 -1
  147. package/dist/src/components/Select/Select.d.ts.map +1 -1
  148. package/dist/src/components/Select/Select.stories.d.ts +0 -1
  149. package/dist/src/components/Select/Select.types.d.ts +0 -1
  150. package/dist/src/components/Select/Select.types.d.ts.map +1 -1
  151. package/dist/src/components/Skeleton/Skeleton.d.ts +0 -1
  152. package/dist/src/components/Skeleton/Skeleton.d.ts.map +1 -1
  153. package/dist/src/components/Skeleton/Skeleton.stories.d.ts +0 -1
  154. package/dist/src/components/Skeleton/Skeleton.types.d.ts +0 -1
  155. package/dist/src/components/Skeleton/Skeleton.types.d.ts.map +1 -1
  156. package/dist/src/components/Skeleton/SkeletonAvatar.d.ts +0 -1
  157. package/dist/src/components/Skeleton/SkeletonAvatar.d.ts.map +1 -1
  158. package/dist/src/components/Skeleton/SkeletonCard.d.ts +0 -1
  159. package/dist/src/components/Skeleton/SkeletonCard.d.ts.map +1 -1
  160. package/dist/src/components/Skeleton/SkeletonText.d.ts +0 -1
  161. package/dist/src/components/Skeleton/SkeletonText.d.ts.map +1 -1
  162. package/dist/src/components/Slider/Slider.d.ts +0 -1
  163. package/dist/src/components/Slider/Slider.d.ts.map +1 -1
  164. package/dist/src/components/Slider/Slider.stories.d.ts +0 -1
  165. package/dist/src/components/Slider/Slider.types.d.ts +0 -1
  166. package/dist/src/components/Slider/Slider.types.d.ts.map +1 -1
  167. package/dist/src/components/Spinner/Spinner.d.ts +0 -1
  168. package/dist/src/components/Spinner/Spinner.d.ts.map +1 -1
  169. package/dist/src/components/Spinner/Spinner.stories.d.ts +0 -1
  170. package/dist/src/components/Stack/Stack.d.ts +0 -1
  171. package/dist/src/components/Stack/Stack.d.ts.map +1 -1
  172. package/dist/src/components/Stack/Stack.stories.d.ts +10 -1
  173. package/dist/src/components/Stack/Stack.stories.d.ts.map +1 -1
  174. package/dist/src/components/Stack/Stack.types.d.ts +0 -1
  175. package/dist/src/components/Stack/Stack.types.d.ts.map +1 -1
  176. package/dist/src/components/Switch/Switch.d.ts +0 -1
  177. package/dist/src/components/Switch/Switch.d.ts.map +1 -1
  178. package/dist/src/components/Switch/Switch.stories.d.ts +0 -1
  179. package/dist/src/components/Switch/Switch.types.d.ts +0 -1
  180. package/dist/src/components/Switch/Switch.types.d.ts.map +1 -1
  181. package/dist/src/components/Table/Pagination.d.ts +0 -1
  182. package/dist/src/components/Table/SortIndicator.d.ts +0 -1
  183. package/dist/src/components/Table/SortIndicator.d.ts.map +1 -1
  184. package/dist/src/components/Table/SortIndicator.types.d.ts +0 -1
  185. package/dist/src/components/Table/SortIndicator.types.d.ts.map +1 -1
  186. package/dist/src/components/Table/Table.d.ts +0 -1
  187. package/dist/src/components/Table/Table.d.ts.map +1 -1
  188. package/dist/src/components/Table/Table.stories.d.ts +0 -1
  189. package/dist/src/components/Table/Table.types.d.ts +0 -1
  190. package/dist/src/components/Table/Table.types.d.ts.map +1 -1
  191. package/dist/src/components/Table/TableBody.d.ts +0 -1
  192. package/dist/src/components/Table/TableBody.d.ts.map +1 -1
  193. package/dist/src/components/Table/TableCell.d.ts +0 -1
  194. package/dist/src/components/Table/TableCell.d.ts.map +1 -1
  195. package/dist/src/components/Table/TableContext.d.ts +0 -1
  196. package/dist/src/components/Table/TableContext.d.ts.map +1 -1
  197. package/dist/src/components/Table/TableHead.d.ts +0 -1
  198. package/dist/src/components/Table/TableHead.d.ts.map +1 -1
  199. package/dist/src/components/Table/TableHeaderCell.d.ts +0 -1
  200. package/dist/src/components/Table/TableHeaderCell.d.ts.map +1 -1
  201. package/dist/src/components/Table/TableRow.d.ts +0 -1
  202. package/dist/src/components/Table/TableRow.d.ts.map +1 -1
  203. package/dist/src/components/Tabs/Tab.d.ts +0 -1
  204. package/dist/src/components/Tabs/Tab.d.ts.map +1 -1
  205. package/dist/src/components/Tabs/TabList.d.ts +0 -1
  206. package/dist/src/components/Tabs/TabList.d.ts.map +1 -1
  207. package/dist/src/components/Tabs/TabPanel.d.ts +0 -1
  208. package/dist/src/components/Tabs/TabPanel.d.ts.map +1 -1
  209. package/dist/src/components/Tabs/Tabs.d.ts +0 -1
  210. package/dist/src/components/Tabs/Tabs.d.ts.map +1 -1
  211. package/dist/src/components/Tabs/Tabs.stories.d.ts +0 -1
  212. package/dist/src/components/Tabs/Tabs.types.d.ts +0 -1
  213. package/dist/src/components/Tabs/Tabs.types.d.ts.map +1 -1
  214. package/dist/src/components/Tabs/TabsContext.d.ts +0 -1
  215. package/dist/src/components/Tabs/TabsContext.d.ts.map +1 -1
  216. package/dist/src/components/Textarea/Textarea.d.ts +0 -1
  217. package/dist/src/components/Textarea/Textarea.d.ts.map +1 -1
  218. package/dist/src/components/Textarea/Textarea.stories.d.ts +0 -1
  219. package/dist/src/components/Textarea/Textarea.types.d.ts +0 -1
  220. package/dist/src/components/Textarea/Textarea.types.d.ts.map +1 -1
  221. package/dist/src/components/ThemeProvider/Theme.stories.d.ts +0 -1
  222. package/dist/src/components/ThemeProvider/ThemeProvider.d.ts +0 -1
  223. package/dist/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  224. package/dist/src/components/ThemeProvider/ThemeProvider.test.d.ts +2 -0
  225. package/dist/src/components/ThemeProvider/ThemeProvider.test.d.ts.map +1 -0
  226. package/dist/src/components/ThemeProvider/ThemeProvider.types.d.ts +61 -0
  227. package/dist/src/components/ThemeProvider/ThemeProvider.types.d.ts.map +1 -1
  228. package/dist/src/components/ThemeProvider/index.d.ts +1 -1
  229. package/dist/src/components/ThemeProvider/index.d.ts.map +1 -1
  230. package/dist/src/components/Toast/Toast.d.ts +0 -1
  231. package/dist/src/components/Toast/Toast.d.ts.map +1 -1
  232. package/dist/src/components/Toast/Toast.stories.d.ts +0 -1
  233. package/dist/src/components/Toast/Toast.types.d.ts +0 -1
  234. package/dist/src/components/Toast/Toast.types.d.ts.map +1 -1
  235. package/dist/src/components/Toast/ToastProvider.d.ts +0 -1
  236. package/dist/src/components/Toast/ToastProvider.d.ts.map +1 -1
  237. package/dist/src/components/Toast/useToast.d.ts +0 -1
  238. package/dist/src/components/Toast/useToast.d.ts.map +1 -1
  239. package/dist/src/components/Tooltip/Tooltip.d.ts +0 -1
  240. package/dist/src/components/Tooltip/Tooltip.d.ts.map +1 -1
  241. package/dist/src/components/Tooltip/Tooltip.stories.d.ts +0 -1
  242. package/dist/src/components/Tooltip/Tooltip.types.d.ts +0 -1
  243. package/dist/src/components/Tooltip/Tooltip.types.d.ts.map +1 -1
  244. package/dist/src/components/Tree/Tree.d.ts +0 -1
  245. package/dist/src/components/Tree/Tree.d.ts.map +1 -1
  246. package/dist/src/components/Tree/Tree.stories.d.ts +0 -1
  247. package/dist/src/components/Tree/Tree.types.d.ts +0 -1
  248. package/dist/src/components/Tree/Tree.types.d.ts.map +1 -1
  249. package/dist/src/components/Tree/TreeContext.d.ts +0 -1
  250. package/dist/src/components/Tree/TreeContext.d.ts.map +1 -1
  251. package/dist/src/components/Tree/TreeItem.d.ts +0 -1
  252. package/dist/src/components/Tree/TreeItem.d.ts.map +1 -1
  253. package/dist/src/components/Typography/Typography.d.ts +0 -1
  254. package/dist/src/components/Typography/Typography.d.ts.map +1 -1
  255. package/dist/src/components/Typography/Typography.stories.d.ts +0 -1
  256. package/dist/src/components/Typography/Typography.types.d.ts +0 -1
  257. package/dist/src/components/Typography/Typography.types.d.ts.map +1 -1
  258. package/dist/src/components/primitives/Drawer/Drawer.d.ts +0 -1
  259. package/dist/src/components/primitives/Drawer/Drawer.d.ts.map +1 -1
  260. package/dist/src/components/primitives/Drawer/Drawer.stories.d.ts +0 -1
  261. package/dist/src/components/primitives/Modal/Modal.d.ts +0 -1
  262. package/dist/src/components/primitives/Modal/Modal.d.ts.map +1 -1
  263. package/dist/src/components/primitives/Modal/Modal.stories.d.ts +0 -1
  264. package/dist/src/components/primitives/Overlay/Overlay.d.ts +0 -1
  265. package/dist/src/components/primitives/Overlay/Overlay.d.ts.map +1 -1
  266. package/dist/src/components/primitives/Overlay/Overlay.stories.d.ts +0 -1
  267. package/dist/src/components/primitives/Popover/Popover.d.ts +0 -1
  268. package/dist/src/components/primitives/Popover/Popover.d.ts.map +1 -1
  269. package/dist/src/components/primitives/Popover/Popover.stories.d.ts +0 -1
  270. package/dist/src/components/primitives/Portal/Portal.d.ts +0 -1
  271. package/dist/src/components/primitives/Portal/Portal.d.ts.map +1 -1
  272. package/dist/src/components/primitives/Portal/Portal.stories.d.ts +0 -1
  273. package/dist/src/hooks/useClickOutside.d.ts +0 -1
  274. package/dist/src/hooks/useClickOutside.d.ts.map +1 -1
  275. package/dist/src/hooks/useFocusTrap.d.ts +0 -1
  276. package/dist/src/hooks/useFocusTrap.d.ts.map +1 -1
  277. package/dist/src/hooks/usePopoverPosition.d.ts +0 -1
  278. package/dist/src/hooks/usePopoverPosition.d.ts.map +1 -1
  279. package/dist/src/index.d.ts +5 -2
  280. package/dist/src/index.d.ts.map +1 -1
  281. package/dist/src/types/index.d.ts +0 -1
  282. package/dist/src/types/index.d.ts.map +1 -1
  283. package/package.json +8 -8
  284. package/dist/Select-BmJyyqxL.js.map +0 -1
package/README.md CHANGED
@@ -286,6 +286,19 @@ const buttonProps: ButtonProps = {
286
286
  - Safari (latest)
287
287
  - Edge (latest)
288
288
 
289
+ ## Security
290
+
291
+ Security is a top priority for @whatisboom/boom-ui. We follow industry best practices for:
292
+
293
+ - **XSS Prevention**: All components use React's built-in escaping, no `dangerouslySetInnerHTML`
294
+ - **Dependency Security**: Automated Dependabot scans, pre-push vulnerability checks
295
+ - **Supply Chain**: npm provenance attestations, OIDC authentication
296
+ - **Type Safety**: Strict TypeScript mode with no `any` types
297
+
298
+ For security vulnerabilities, please use [GitHub Security Advisories](https://github.com/whatisboom/boom-ui/security/advisories/new).
299
+
300
+ See [SECURITY.md](./SECURITY.md) for our complete security policy.
301
+
289
302
  ## License
290
303
 
291
304
  MIT
@@ -1,4 +1,4 @@
1
- import { jsxs as u, jsx as e } from "react/jsx-runtime";
1
+ import { jsxs as h, jsx as e } from "react/jsx-runtime";
2
2
  import { forwardRef as z, useId as V, useRef as B, useEffect as F } from "react";
3
3
  function _(...c) {
4
4
  return c.filter(Boolean).join(" ");
@@ -40,7 +40,7 @@ const J = "Input-module__wrapper___iHNUs", D = "Input-module__fullWidth___kWTRr"
40
40
  className: L,
41
41
  inputClassName: W,
42
42
  ...f
43
- }, h) => {
43
+ }, u) => {
44
44
  const k = V(), i = w || k, g = `${i}-error`, I = `${i}-helper`, m = _(
45
45
  r.input,
46
46
  r[C],
@@ -54,8 +54,8 @@ const J = "Input-module__wrapper___iHNUs", D = "Input-module__fullWidth___kWTRr"
54
54
  b && r.disabled,
55
55
  L
56
56
  );
57
- return /* @__PURE__ */ u("div", { className: q, children: [
58
- c && /* @__PURE__ */ u(
57
+ return /* @__PURE__ */ h("div", { className: q, children: [
58
+ c && /* @__PURE__ */ h(
59
59
  "label",
60
60
  {
61
61
  htmlFor: i,
@@ -66,7 +66,7 @@ const J = "Input-module__wrapper___iHNUs", D = "Input-module__fullWidth___kWTRr"
66
66
  ]
67
67
  }
68
68
  ),
69
- /* @__PURE__ */ u("div", { className: r.inputContainer, children: [
69
+ /* @__PURE__ */ h("div", { className: r.inputContainer, children: [
70
70
  t && /* @__PURE__ */ e(
71
71
  "span",
72
72
  {
@@ -78,7 +78,7 @@ const J = "Input-module__wrapper___iHNUs", D = "Input-module__fullWidth___kWTRr"
78
78
  /* @__PURE__ */ e(
79
79
  "input",
80
80
  {
81
- ref: h,
81
+ ref: u,
82
82
  id: i,
83
83
  name: p,
84
84
  type: d,
@@ -142,7 +142,7 @@ const oe = "Checkbox-module__wrapper___rpthW", ne = "Checkbox-module__fullWidth_
142
142
  className: b,
143
143
  ...v
144
144
  }, L) => {
145
- const W = V(), f = S || W, h = `${f}-error`, k = `${f}-helper`, i = _(
145
+ const W = V(), f = S || W, u = `${f}-error`, k = `${f}-helper`, i = _(
146
146
  n.wrapper,
147
147
  s && n.fullWidth,
148
148
  w && n.disabled,
@@ -158,8 +158,8 @@ const oe = "Checkbox-module__wrapper___rpthW", ne = "Checkbox-module__fullWidth_
158
158
  c && n.checked,
159
159
  l && n.error
160
160
  );
161
- return /* @__PURE__ */ u("div", { className: i, children: [
162
- /* @__PURE__ */ u("label", { className: g, children: [
161
+ return /* @__PURE__ */ h("div", { className: i, children: [
162
+ /* @__PURE__ */ h("label", { className: g, children: [
163
163
  /* @__PURE__ */ e(
164
164
  "input",
165
165
  {
@@ -172,7 +172,7 @@ const oe = "Checkbox-module__wrapper___rpthW", ne = "Checkbox-module__fullWidth_
172
172
  disabled: w,
173
173
  required: p,
174
174
  "aria-invalid": l ? "true" : "false",
175
- "aria-describedby": l ? h : d ? k : void 0,
175
+ "aria-describedby": l ? u : d ? k : void 0,
176
176
  className: n.checkbox,
177
177
  ...v
178
178
  }
@@ -198,12 +198,12 @@ const oe = "Checkbox-module__wrapper___rpthW", ne = "Checkbox-module__fullWidth_
198
198
  )
199
199
  }
200
200
  ) }),
201
- o && /* @__PURE__ */ u("span", { className: n.labelText, children: [
201
+ o && /* @__PURE__ */ h("span", { className: n.labelText, children: [
202
202
  o,
203
203
  p && /* @__PURE__ */ e("span", { className: n.required, "aria-label": "required", children: "*" })
204
204
  ] })
205
205
  ] }),
206
- l && /* @__PURE__ */ e("span", { id: h, className: n.errorText, role: "alert", children: l }),
206
+ l && /* @__PURE__ */ e("span", { id: u, className: n.errorText, role: "alert", children: l }),
207
207
  !l && d && /* @__PURE__ */ e("span", { id: k, className: n.helperText, children: d })
208
208
  ] });
209
209
  }
@@ -244,7 +244,7 @@ const Ie = "Switch-module__wrapper___kudO9", Se = "Switch-module__fullWidth___Eq
244
244
  className: b,
245
245
  ...v
246
246
  }, L) => {
247
- const W = V(), f = S || W, h = `${f}-error`, k = `${f}-helper`, i = _(
247
+ const W = V(), f = S || W, u = `${f}-error`, k = `${f}-helper`, i = _(
248
248
  a.wrapper,
249
249
  s && a.fullWidth,
250
250
  w && a.disabled,
@@ -264,8 +264,8 @@ const Ie = "Switch-module__wrapper___kudO9", Se = "Switch-module__fullWidth___Eq
264
264
  a[t],
265
265
  c && a.checked
266
266
  );
267
- return /* @__PURE__ */ u("div", { className: i, children: [
268
- /* @__PURE__ */ u("label", { className: g, children: [
267
+ return /* @__PURE__ */ h("div", { className: i, children: [
268
+ /* @__PURE__ */ h("label", { className: g, children: [
269
269
  /* @__PURE__ */ e(
270
270
  "input",
271
271
  {
@@ -279,18 +279,18 @@ const Ie = "Switch-module__wrapper___kudO9", Se = "Switch-module__fullWidth___Eq
279
279
  disabled: w,
280
280
  required: p,
281
281
  "aria-invalid": l ? "true" : "false",
282
- "aria-describedby": l ? h : d ? k : void 0,
282
+ "aria-describedby": l ? u : d ? k : void 0,
283
283
  className: a.input,
284
284
  ...v
285
285
  }
286
286
  ),
287
287
  /* @__PURE__ */ e("span", { className: I, "aria-hidden": "true", children: /* @__PURE__ */ e("span", { className: m }) }),
288
- o && /* @__PURE__ */ u("span", { className: a.labelText, children: [
288
+ o && /* @__PURE__ */ h("span", { className: a.labelText, children: [
289
289
  o,
290
290
  p && /* @__PURE__ */ e("span", { className: a.required, "aria-label": "required", children: "*" })
291
291
  ] })
292
292
  ] }),
293
- l && /* @__PURE__ */ e("span", { id: h, className: a.errorText, role: "alert", children: l }),
293
+ l && /* @__PURE__ */ e("span", { id: u, className: a.errorText, role: "alert", children: l }),
294
294
  !l && d && /* @__PURE__ */ e("span", { id: k, className: a.helperText, children: d })
295
295
  ] });
296
296
  }
@@ -333,10 +333,11 @@ const Je = "Textarea-module__wrapper___C0gfg", De = "Textarea-module__fullWidth_
333
333
  className: L,
334
334
  textareaClassName: W,
335
335
  ...f
336
- }, h) => {
337
- const k = V(), i = S || k, g = `${i}-error`, I = `${i}-helper`, m = B(null), q = h || m;
336
+ }, u) => {
337
+ const k = V(), i = S || k, g = `${i}-error`, I = `${i}-helper`, m = B(null), q = u || m;
338
338
  F(() => {
339
- if (d !== "auto" || !q.current) return;
339
+ if (d !== "auto" || !q.current)
340
+ return;
340
341
  const y = q.current, H = () => {
341
342
  y.style.height = "auto";
342
343
  const O = y.scrollHeight, A = parseInt(getComputedStyle(y).lineHeight);
@@ -363,8 +364,8 @@ const Je = "Textarea-module__wrapper___C0gfg", De = "Textarea-module__fullWidth_
363
364
  b && $.disabled,
364
365
  L
365
366
  );
366
- return /* @__PURE__ */ u("div", { className: E, children: [
367
- o && /* @__PURE__ */ u(
367
+ return /* @__PURE__ */ h("div", { className: E, children: [
368
+ o && /* @__PURE__ */ h(
368
369
  "label",
369
370
  {
370
371
  htmlFor: i,
@@ -431,7 +432,7 @@ const ol = "Select-module__wrapper___KS2K3", nl = "Select-module__fullWidth___l-
431
432
  selectClassName: v,
432
433
  ...L
433
434
  }, W) => {
434
- const f = V(), h = p || f, k = `${h}-error`, i = `${h}-helper`, g = _(
435
+ const f = V(), u = p || f, k = `${u}-error`, i = `${u}-helper`, g = _(
435
436
  N.select,
436
437
  N[t],
437
438
  s && N.error,
@@ -442,11 +443,11 @@ const ol = "Select-module__wrapper___KS2K3", nl = "Select-module__fullWidth___l-
442
443
  x && N.disabled,
443
444
  b
444
445
  );
445
- return /* @__PURE__ */ u("div", { className: I, children: [
446
- T && /* @__PURE__ */ u(
446
+ return /* @__PURE__ */ h("div", { className: I, children: [
447
+ T && /* @__PURE__ */ h(
447
448
  "label",
448
449
  {
449
- htmlFor: h,
450
+ htmlFor: u,
450
451
  className: _(N.label, x && N.disabled),
451
452
  children: [
452
453
  T,
@@ -454,12 +455,12 @@ const ol = "Select-module__wrapper___KS2K3", nl = "Select-module__fullWidth___l-
454
455
  ]
455
456
  }
456
457
  ),
457
- /* @__PURE__ */ u("div", { className: N.selectContainer, children: [
458
- /* @__PURE__ */ u(
458
+ /* @__PURE__ */ h("div", { className: N.selectContainer, children: [
459
+ /* @__PURE__ */ h(
459
460
  "select",
460
461
  {
461
462
  ref: W,
462
- id: h,
463
+ id: u,
463
464
  value: c,
464
465
  onChange: (m) => C(m.target.value),
465
466
  required: S,
@@ -514,4 +515,4 @@ export {
514
515
  kl as a,
515
516
  _ as c
516
517
  };
517
- //# sourceMappingURL=Select-BmJyyqxL.js.map
518
+ //# sourceMappingURL=Select-Di9WjMsi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select-Di9WjMsi.js","sources":["../src/utils/classnames.ts","../src/components/Input/Input.tsx","../src/components/Checkbox/Checkbox.tsx","../src/components/Switch/Switch.tsx","../src/components/Textarea/Textarea.tsx","../src/components/Select/Select.tsx"],"sourcesContent":["type ClassValue = string | number | boolean | null | undefined;\n\nexport function cn(...classes: ClassValue[]): string {\n return classes.filter(Boolean).join(' ');\n}\n","import { forwardRef, useId } from 'react';\nimport { cn } from '@/utils/classnames';\nimport type { InputProps } from './Input.types';\nimport styles from './Input.module.css';\n\nexport const Input = forwardRef<HTMLInputElement, InputProps>(\n (\n {\n label,\n size = 'md',\n error,\n helperText,\n leftIcon,\n rightIcon,\n fullWidth = false,\n type = 'text',\n id: providedId,\n name,\n placeholder,\n required = false,\n disabled = false,\n readOnly = false,\n className,\n inputClassName,\n ...props\n },\n ref\n ) => {\n // Generate unique ID if not provided\n const autoId = useId();\n const id = providedId || autoId;\n const errorId = `${id}-error`;\n const helperTextId = `${id}-helper`;\n\n const inputClassNames = cn(\n styles.input,\n styles[size],\n leftIcon && styles.hasLeftIcon,\n rightIcon && styles.hasRightIcon,\n error && styles.error,\n inputClassName\n );\n\n const wrapperClassNames = cn(\n styles.wrapper,\n fullWidth && styles.fullWidth,\n disabled && styles.disabled,\n className\n );\n\n return (\n <div className={wrapperClassNames}>\n {label && (\n <label\n htmlFor={id}\n className={cn(styles.label, disabled && styles.disabled)}\n >\n {label}\n {required && (\n <span className={styles.required} aria-label=\"required\">\n *\n </span>\n )}\n </label>\n )}\n\n <div className={styles.inputContainer}>\n {leftIcon && (\n <span\n className={cn(styles.leftIcon, styles[size])}\n aria-hidden=\"true\"\n >\n {leftIcon}\n </span>\n )}\n\n <input\n ref={ref}\n id={id}\n name={name}\n type={type}\n placeholder={placeholder}\n required={required}\n disabled={disabled}\n readOnly={readOnly}\n className={inputClassNames}\n aria-invalid={error ? 'true' : 'false'}\n aria-describedby={\n error ? errorId : helperText ? helperTextId : undefined\n }\n {...props}\n />\n\n {rightIcon && (\n <span\n className={cn(styles.rightIcon, styles[size])}\n aria-hidden=\"true\"\n >\n {rightIcon}\n </span>\n )}\n </div>\n\n {error && (\n <span id={errorId} className={styles.errorText} role=\"alert\">\n {error}\n </span>\n )}\n\n {!error && helperText && (\n <span id={helperTextId} className={styles.helperText}>\n {helperText}\n </span>\n )}\n </div>\n );\n }\n);\n\nInput.displayName = 'Input';\n","import { forwardRef, useId } from 'react';\nimport { cn } from '@/utils/classnames';\nimport type { CheckboxProps } from './Checkbox.types';\nimport styles from './Checkbox.module.css';\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n checked,\n onChange,\n label,\n labelPosition = 'right',\n size = 'md',\n fullWidth = false,\n error,\n helperText,\n disabled = false,\n required = false,\n id: providedId,\n name,\n className,\n ...props\n },\n ref\n ) => {\n // Generate unique ID if not provided\n const autoId = useId();\n const id = providedId || autoId;\n const errorId = `${id}-error`;\n const helperTextId = `${id}-helper`;\n\n const wrapperClassNames = cn(\n styles.wrapper,\n fullWidth && styles.fullWidth,\n disabled && styles.disabled,\n error && styles.hasError,\n className\n );\n\n const labelClassNames = cn(\n styles.checkboxLabel,\n styles[size],\n labelPosition === 'left' && styles.labelLeft\n );\n\n const checkboxVisualClassNames = cn(\n styles.checkboxVisual,\n styles[size],\n checked && styles.checked,\n error && styles.error\n );\n\n return (\n <div className={wrapperClassNames}>\n <label className={labelClassNames}>\n <input\n ref={ref}\n type=\"checkbox\"\n id={id}\n name={name}\n checked={checked}\n onChange={(e) => onChange(e.target.checked)}\n disabled={disabled}\n required={required}\n aria-invalid={error ? 'true' : 'false'}\n aria-describedby={\n error ? errorId : helperText ? helperTextId : undefined\n }\n className={styles.checkbox}\n {...props}\n />\n\n <span className={checkboxVisualClassNames} aria-hidden=\"true\">\n {checked && (\n <svg\n width=\"12\"\n height=\"10\"\n viewBox=\"0 0 12 10\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={styles.checkmark}\n >\n <path\n d=\"M1 5L4.5 8.5L11 1\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )}\n </span>\n\n {label && (\n <span className={styles.labelText}>\n {label}\n {required && (\n <span className={styles.required} aria-label=\"required\">\n *\n </span>\n )}\n </span>\n )}\n </label>\n\n {error && (\n <span id={errorId} className={styles.errorText} role=\"alert\">\n {error}\n </span>\n )}\n {!error && helperText && (\n <span id={helperTextId} className={styles.helperText}>\n {helperText}\n </span>\n )}\n </div>\n );\n }\n);\n\nCheckbox.displayName = 'Checkbox';\n","import { forwardRef, useId } from 'react';\nimport { cn } from '@/utils/classnames';\nimport type { SwitchProps } from './Switch.types';\nimport styles from './Switch.module.css';\n\nexport const Switch = forwardRef<HTMLInputElement, SwitchProps>(\n (\n {\n checked,\n onChange,\n label,\n labelPosition = 'right',\n size = 'md',\n fullWidth = false,\n error,\n helperText,\n disabled = false,\n required = false,\n id: providedId,\n name,\n className,\n ...props\n },\n ref\n ) => {\n // Generate unique ID if not provided\n const autoId = useId();\n const id = providedId || autoId;\n const errorId = `${id}-error`;\n const helperTextId = `${id}-helper`;\n\n const wrapperClassNames = cn(\n styles.wrapper,\n fullWidth && styles.fullWidth,\n disabled && styles.disabled,\n error && styles.hasError,\n className\n );\n\n const labelClassNames = cn(\n styles.switchLabel,\n styles[size],\n labelPosition === 'left' && styles.labelLeft\n );\n\n const trackClassNames = cn(\n styles.track,\n styles[size],\n checked && styles.checked,\n error && styles.error\n );\n\n const thumbClassNames = cn(\n styles.thumb,\n styles[size],\n checked && styles.checked\n );\n\n return (\n <div className={wrapperClassNames}>\n <label className={labelClassNames}>\n <input\n ref={ref}\n type=\"checkbox\"\n role=\"switch\"\n id={id}\n name={name}\n checked={checked}\n onChange={(e) => onChange(e.target.checked)}\n disabled={disabled}\n required={required}\n aria-invalid={error ? 'true' : 'false'}\n aria-describedby={\n error ? errorId : helperText ? helperTextId : undefined\n }\n className={styles.input}\n {...props}\n />\n\n <span className={trackClassNames} aria-hidden=\"true\">\n <span className={thumbClassNames} />\n </span>\n\n {label && (\n <span className={styles.labelText}>\n {label}\n {required && (\n <span className={styles.required} aria-label=\"required\">\n *\n </span>\n )}\n </span>\n )}\n </label>\n\n {error && (\n <span id={errorId} className={styles.errorText} role=\"alert\">\n {error}\n </span>\n )}\n {!error && helperText && (\n <span id={helperTextId} className={styles.helperText}>\n {helperText}\n </span>\n )}\n </div>\n );\n }\n);\n\nSwitch.displayName = 'Switch';\n","import { forwardRef, useId, useEffect, useRef } from 'react';\nimport { cn } from '@/utils/classnames';\nimport type { TextareaProps } from './Textarea.types';\nimport styles from './Textarea.module.css';\n\nexport const Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(\n (\n {\n value,\n onChange,\n label,\n size = 'md',\n error,\n helperText,\n fullWidth = false,\n resize = 'vertical',\n minRows = 3,\n maxRows,\n id: providedId,\n required = false,\n disabled = false,\n readOnly = false,\n className,\n textareaClassName,\n ...props\n },\n ref\n ) => {\n const autoId = useId();\n const id = providedId || autoId;\n const errorId = `${id}-error`;\n const helperTextId = `${id}-helper`;\n\n const internalRef = useRef<HTMLTextAreaElement>(null);\n const textareaRef = ref ? (ref as React.RefObject<HTMLTextAreaElement>) : internalRef;\n\n // Auto-resize functionality\n useEffect(() => {\n if (resize !== 'auto' || !textareaRef.current) {return;}\n\n const textarea = textareaRef.current;\n const updateHeight = () => {\n textarea.style.height = 'auto';\n const scrollHeight = textarea.scrollHeight;\n const lineHeight = parseInt(getComputedStyle(textarea).lineHeight);\n\n let newHeight = scrollHeight;\n if (maxRows) {\n const maxHeight = lineHeight * maxRows;\n newHeight = Math.min(scrollHeight, maxHeight);\n }\n\n textarea.style.height = `${newHeight}px`;\n };\n\n updateHeight();\n textarea.addEventListener('input', updateHeight);\n\n return () => {\n textarea.removeEventListener('input', updateHeight);\n };\n }, [value, resize, maxRows, textareaRef]);\n\n const textareaClassNames = cn(\n styles.textarea,\n styles[size],\n styles[`resize${resize.charAt(0).toUpperCase() + resize.slice(1)}`],\n error && styles.error,\n textareaClassName\n );\n\n const wrapperClassNames = cn(\n styles.wrapper,\n fullWidth && styles.fullWidth,\n disabled && styles.disabled,\n className\n );\n\n return (\n <div className={wrapperClassNames}>\n {label && (\n <label\n htmlFor={id}\n className={cn(styles.label, disabled && styles.disabled)}\n >\n {label}\n {required && (\n <span className={styles.required} aria-label=\"required\">\n *\n </span>\n )}\n </label>\n )}\n\n <textarea\n ref={textareaRef}\n id={id}\n value={value}\n onChange={(e) => onChange(e.target.value)}\n rows={minRows}\n required={required}\n disabled={disabled}\n readOnly={readOnly}\n className={textareaClassNames}\n aria-invalid={error ? 'true' : 'false'}\n aria-describedby={\n error ? errorId : helperText ? helperTextId : undefined\n }\n {...props}\n />\n\n {error && (\n <span id={errorId} className={styles.errorText} role=\"alert\">\n {error}\n </span>\n )}\n\n {!error && helperText && (\n <span id={helperTextId} className={styles.helperText}>\n {helperText}\n </span>\n )}\n </div>\n );\n }\n);\n\nTextarea.displayName = 'Textarea';\n","import { forwardRef, useId } from 'react';\nimport { cn } from '@/utils/classnames';\nimport type { SelectProps } from './Select.types';\nimport styles from './Select.module.css';\n\nexport const Select = forwardRef<HTMLSelectElement, SelectProps>(\n (\n {\n value,\n onChange,\n options,\n label,\n size = 'md',\n error,\n helperText,\n fullWidth = false,\n placeholder,\n id: providedId,\n required = false,\n disabled = false,\n className,\n selectClassName,\n ...props\n },\n ref\n ) => {\n const autoId = useId();\n const id = providedId || autoId;\n const errorId = `${id}-error`;\n const helperTextId = `${id}-helper`;\n\n const selectClassNames = cn(\n styles.select,\n styles[size],\n error && styles.error,\n selectClassName\n );\n\n const wrapperClassNames = cn(\n styles.wrapper,\n fullWidth && styles.fullWidth,\n disabled && styles.disabled,\n className\n );\n\n return (\n <div className={wrapperClassNames}>\n {label && (\n <label\n htmlFor={id}\n className={cn(styles.label, disabled && styles.disabled)}\n >\n {label}\n {required && (\n <span className={styles.required} aria-label=\"required\">\n *\n </span>\n )}\n </label>\n )}\n\n <div className={styles.selectContainer}>\n <select\n ref={ref}\n id={id}\n value={value}\n onChange={(e) => onChange(e.target.value)}\n required={required}\n disabled={disabled}\n className={selectClassNames}\n aria-invalid={error ? 'true' : 'false'}\n aria-describedby={\n error ? errorId : helperText ? helperTextId : undefined\n }\n {...props}\n >\n {placeholder && (\n <option value=\"\" disabled>\n {placeholder}\n </option>\n )}\n {options.map((option) => (\n <option\n key={option.value}\n value={option.value}\n disabled={option.disabled}\n >\n {option.label}\n </option>\n ))}\n </select>\n\n <svg\n className={styles.arrow}\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n aria-hidden=\"true\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </div>\n\n {error && (\n <span id={errorId} className={styles.errorText} role=\"alert\">\n {error}\n </span>\n )}\n\n {!error && helperText && (\n <span id={helperTextId} className={styles.helperText}>\n {helperText}\n </span>\n )}\n </div>\n );\n }\n);\n\nSelect.displayName = 'Select';\n"],"names":["cn","classes","Input","forwardRef","label","size","error","helperText","leftIcon","rightIcon","fullWidth","type","providedId","name","placeholder","required","disabled","readOnly","className","inputClassName","props","ref","autoId","useId","id","errorId","helperTextId","inputClassNames","styles","wrapperClassNames","jsxs","jsx","Checkbox","checked","onChange","labelPosition","labelClassNames","checkboxVisualClassNames","e","Switch","trackClassNames","thumbClassNames","Textarea","value","resize","minRows","maxRows","textareaClassName","internalRef","useRef","textareaRef","useEffect","textarea","updateHeight","scrollHeight","lineHeight","newHeight","maxHeight","textareaClassNames","Select","options","selectClassName","selectClassNames","option"],"mappings":"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"}