@moduix/react 2.5.1 → 2.7.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 (204) hide show
  1. package/README.md +24 -3
  2. package/THIRD_PARTY_NOTICES.md +49 -0
  3. package/dist/components/accordion/Accordion.js +20 -21
  4. package/dist/components/alert/Alert.js +18 -19
  5. package/dist/components/alert/Alert_module.css +3 -16
  6. package/dist/components/angle-slider/AngleSlider.d.ts +5 -11
  7. package/dist/components/angle-slider/AngleSlider.js +29 -71
  8. package/dist/components/aspect-ratio/AspectRatio.js +1 -2
  9. package/dist/components/aspect-ratio/AspectRatio_module.css +0 -13
  10. package/dist/components/avatar/Avatar.d.ts +3 -6
  11. package/dist/components/avatar/Avatar.js +14 -57
  12. package/dist/components/avatar/Avatar.module.js +1 -2
  13. package/dist/components/avatar/Avatar_module.css +0 -6
  14. package/dist/components/badge/Badge.d.ts +2 -2
  15. package/dist/components/badge/Badge.js +5 -10
  16. package/dist/components/badge/Badge_module.css +7 -14
  17. package/dist/components/bleed/Bleed.js +1 -2
  18. package/dist/components/breadcrumbs/Breadcrumbs.d.ts +1 -1
  19. package/dist/components/breadcrumbs/Breadcrumbs.js +16 -32
  20. package/dist/components/breadcrumbs/Breadcrumbs_module.css +12 -14
  21. package/dist/components/button/Button.d.ts +4 -4
  22. package/dist/components/button/Button.js +1 -2
  23. package/dist/components/button/Button_module.css +2 -8
  24. package/dist/components/card/Card.d.ts +15 -15
  25. package/dist/components/card/Card.js +30 -31
  26. package/dist/components/card/Card_module.css +2 -18
  27. package/dist/components/carousel/Carousel.d.ts +1 -1
  28. package/dist/components/carousel/Carousel.js +34 -35
  29. package/dist/components/carousel/Carousel_module.css +7 -0
  30. package/dist/components/chart/Chart.d.ts +9 -8
  31. package/dist/components/chart/Chart.js +21 -22
  32. package/dist/components/chart/Chart_module.css +0 -2
  33. package/dist/components/checkbox/Checkbox.d.ts +3 -2
  34. package/dist/components/checkbox/Checkbox.js +20 -43
  35. package/dist/components/clipboard/Clipboard.js +27 -27
  36. package/dist/components/close-button/CloseButton.js +1 -2
  37. package/dist/components/close-button/CloseButton_module.css +1 -10
  38. package/dist/components/collapsible/Collapsible.js +17 -20
  39. package/dist/components/collapsible/Collapsible_module.css +2 -4
  40. package/dist/components/color-picker/ColorPicker.d.ts +4 -3
  41. package/dist/components/color-picker/ColorPicker.js +79 -92
  42. package/dist/components/color-picker/ColorPicker_module.css +0 -1
  43. package/dist/components/combobox/Combobox.d.ts +5 -5
  44. package/dist/components/combobox/Combobox.js +51 -60
  45. package/dist/components/combobox/Combobox_module.css +0 -1
  46. package/dist/components/command-palette/CommandPalette.d.ts +7 -18
  47. package/dist/components/command-palette/CommandPalette.js +99 -126
  48. package/dist/components/command-palette/CommandPalette_module.css +11 -18
  49. package/dist/components/container/Container.js +1 -2
  50. package/dist/components/container/Container_module.css +1 -1
  51. package/dist/components/date-input/DateInput.d.ts +7 -9
  52. package/dist/components/date-input/DateInput.js +24 -54
  53. package/dist/components/date-input/DateInput_module.css +0 -1
  54. package/dist/components/date-picker/DatePicker.d.ts +1 -1
  55. package/dist/components/date-picker/DatePicker.js +84 -93
  56. package/dist/components/date-picker/DatePicker.module.js +1 -1
  57. package/dist/components/date-picker/DatePicker_module.css +5 -2
  58. package/dist/components/dialog/Dialog.d.ts +1 -1
  59. package/dist/components/dialog/Dialog.js +31 -32
  60. package/dist/components/drawer/Drawer.d.ts +6 -3
  61. package/dist/components/drawer/Drawer.js +63 -54
  62. package/dist/components/editable/Editable.d.ts +1 -1
  63. package/dist/components/editable/Editable.js +27 -28
  64. package/dist/components/empty/Empty.js +18 -19
  65. package/dist/components/field/Field.js +29 -30
  66. package/dist/components/fieldset/Fieldset.js +15 -16
  67. package/dist/components/file-upload/FileUpload.d.ts +3 -2
  68. package/dist/components/file-upload/FileUpload.js +52 -79
  69. package/dist/components/file-upload/FileUpload_module.css +4 -13
  70. package/dist/components/floating-panel/FloatingPanel.d.ts +3 -3
  71. package/dist/components/floating-panel/FloatingPanel.js +36 -37
  72. package/dist/components/floating-panel/FloatingPanel_module.css +4 -17
  73. package/dist/components/floating-panel/index.d.ts +1 -0
  74. package/dist/components/heading/Heading.js +1 -2
  75. package/dist/components/highlight/Highlight.js +1 -2
  76. package/dist/components/hover-card/HoverCard.d.ts +3 -2
  77. package/dist/components/hover-card/HoverCard.js +24 -15
  78. package/dist/components/hover-card/HoverCard.module.js +1 -0
  79. package/dist/components/hover-card/HoverCard_module.css +18 -3
  80. package/dist/components/hover-card/index.d.ts +1 -0
  81. package/dist/components/image/Image.js +1 -2
  82. package/dist/components/image-cropper/ImageCropper.d.ts +1 -1
  83. package/dist/components/image-cropper/ImageCropper.js +21 -22
  84. package/dist/components/input/Input.d.ts +4 -4
  85. package/dist/components/input/Input.js +1 -2
  86. package/dist/components/input-group/InputGroup.d.ts +5 -5
  87. package/dist/components/input-group/InputGroup.js +5 -6
  88. package/dist/components/json-tree-view/JsonTreeView.js +3 -4
  89. package/dist/components/json-tree-view/JsonTreeView_module.css +26 -10
  90. package/dist/components/kbd/Kbd.js +6 -7
  91. package/dist/components/lightbox/Lightbox.d.ts +1 -1
  92. package/dist/components/lightbox/Lightbox.js +38 -39
  93. package/dist/components/lightbox/Lightbox_module.css +0 -2
  94. package/dist/components/list/List.js +2 -3
  95. package/dist/components/listbox/Listbox.d.ts +5 -5
  96. package/dist/components/listbox/Listbox.js +50 -56
  97. package/dist/components/listbox/Listbox.module.js +2 -2
  98. package/dist/components/listbox/Listbox_module.css +3 -13
  99. package/dist/components/marquee/Marquee.js +18 -19
  100. package/dist/components/menu/Menu.d.ts +2 -1
  101. package/dist/components/menu/Menu.js +72 -79
  102. package/dist/components/menu/Menu.module.js +1 -1
  103. package/dist/components/menu/Menu_module.css +8 -8
  104. package/dist/components/native-select/NativeSelect.js +2 -3
  105. package/dist/components/native-select/NativeSelect_module.css +0 -1
  106. package/dist/components/navigation-menu/NavigationMenu.js +39 -58
  107. package/dist/components/navigation-menu/NavigationMenu.module.js +2 -3
  108. package/dist/components/navigation-menu/NavigationMenu_module.css +15 -32
  109. package/dist/components/number-input/NumberInput.js +25 -26
  110. package/dist/components/pagination/Pagination.js +28 -31
  111. package/dist/components/pagination/Pagination_module.css +1 -5
  112. package/dist/components/password-input/PasswordInput.js +20 -21
  113. package/dist/components/pin-input/PinInput.d.ts +3 -2
  114. package/dist/components/pin-input/PinInput.js +20 -61
  115. package/dist/components/popover/Popover.d.ts +5 -3
  116. package/dist/components/popover/Popover.js +41 -42
  117. package/dist/components/progress-circular/ProgressCircular.js +24 -25
  118. package/dist/components/progress-circular/ProgressCircular.module.js +1 -3
  119. package/dist/components/progress-circular/ProgressCircular_module.css +0 -10
  120. package/dist/components/progress-linear/ProgressLinear.js +21 -22
  121. package/dist/components/progress-linear/ProgressLinear.module.js +1 -5
  122. package/dist/components/progress-linear/ProgressLinear_module.css +0 -20
  123. package/dist/components/qr-code/QrCode.js +18 -19
  124. package/dist/components/radio-group/RadioGroup.d.ts +1 -0
  125. package/dist/components/radio-group/RadioGroup.js +25 -39
  126. package/dist/components/radio-group/RadioGroup_module.css +0 -1
  127. package/dist/components/rating-group/RatingGroup.d.ts +1 -0
  128. package/dist/components/rating-group/RatingGroup.js +19 -36
  129. package/dist/components/rating-group/RatingGroup_module.css +1 -1
  130. package/dist/components/scroll-area/ScrollArea.js +7 -8
  131. package/dist/components/segment-group/SegmentGroup.d.ts +1 -0
  132. package/dist/components/segment-group/SegmentGroup.js +28 -42
  133. package/dist/components/segment-group/SegmentGroup_module.css +4 -0
  134. package/dist/components/select/Select.d.ts +4 -7
  135. package/dist/components/select/Select.js +69 -119
  136. package/dist/components/select/Select.module.js +1 -1
  137. package/dist/components/select/Select_module.css +4 -31
  138. package/dist/components/separator/Separator.d.ts +6 -6
  139. package/dist/components/separator/Separator.js +1 -2
  140. package/dist/components/sidebar/Sidebar.d.ts +16 -16
  141. package/dist/components/sidebar/Sidebar.js +81 -86
  142. package/dist/components/sidebar/Sidebar.module.js +2 -3
  143. package/dist/components/sidebar/Sidebar_module.css +62 -158
  144. package/dist/components/signature-pad/SignaturePad.d.ts +5 -8
  145. package/dist/components/signature-pad/SignaturePad.js +28 -57
  146. package/dist/components/signature-pad/SignaturePad_module.css +0 -1
  147. package/dist/components/simple-grid/SimpleGrid.js +13 -8
  148. package/dist/components/skeleton/Skeleton.d.ts +2 -2
  149. package/dist/components/skeleton/Skeleton.js +1 -2
  150. package/dist/components/slider/Slider.d.ts +2 -2
  151. package/dist/components/slider/Slider.js +38 -52
  152. package/dist/components/spinner/Spinner.d.ts +2 -2
  153. package/dist/components/spinner/Spinner.js +1 -2
  154. package/dist/components/split-button/SplitButton.d.ts +7 -7
  155. package/dist/components/split-button/SplitButton.js +25 -17
  156. package/dist/components/splitter/Splitter.js +14 -15
  157. package/dist/components/splitter/Splitter_module.css +2 -10
  158. package/dist/components/stack/Stack.d.ts +6 -6
  159. package/dist/components/stack/Stack.js +4 -5
  160. package/dist/components/stack/Stack_module.css +1 -1
  161. package/dist/components/steps/Steps.js +35 -36
  162. package/dist/components/steps/Steps_module.css +2 -3
  163. package/dist/components/swap/Swap.js +9 -10
  164. package/dist/components/switch/Switch.d.ts +3 -2
  165. package/dist/components/switch/Switch.js +17 -40
  166. package/dist/components/switch/Switch_module.css +0 -1
  167. package/dist/components/table/Table.d.ts +5 -5
  168. package/dist/components/table/Table.js +35 -36
  169. package/dist/components/tabs/Tabs.js +18 -19
  170. package/dist/components/tabs/Tabs_module.css +5 -10
  171. package/dist/components/tag/Tag.js +5 -6
  172. package/dist/components/tag/Tag_module.css +2 -4
  173. package/dist/components/tags-input/TagsInput.d.ts +3 -3
  174. package/dist/components/tags-input/TagsInput.js +37 -91
  175. package/dist/components/tags-input/TagsInput_module.css +0 -1
  176. package/dist/components/text/Text.js +1 -2
  177. package/dist/components/textarea/Textarea.js +1 -2
  178. package/dist/components/timer/Timer.js +21 -22
  179. package/dist/components/toast/Toast.d.ts +1 -1
  180. package/dist/components/toast/Toast.js +15 -16
  181. package/dist/components/toast/Toast_module.css +1 -2
  182. package/dist/components/toc/Toc.js +29 -30
  183. package/dist/components/toc/Toc_module.css +2 -2
  184. package/dist/components/toggle/Toggle.js +6 -7
  185. package/dist/components/toggle-group/ToggleGroup.d.ts +1 -1
  186. package/dist/components/toggle-group/ToggleGroup.js +3 -4
  187. package/dist/components/tooltip/Tooltip.d.ts +1 -1
  188. package/dist/components/tooltip/Tooltip.js +17 -18
  189. package/dist/components/tooltip/Tooltip_module.css +1 -1
  190. package/dist/components/tour/Tour.d.ts +1 -1
  191. package/dist/components/tour/Tour.js +39 -40
  192. package/dist/components/tree-view/TreeView.d.ts +4 -4
  193. package/dist/components/tree-view/TreeView.js +47 -48
  194. package/dist/components/tree-view/TreeView_module.css +39 -12
  195. package/dist/components/typeset/Typeset.js +2 -3
  196. package/dist/components/typeset/Typeset_module.css +300 -159
  197. package/dist/internal/icons/ui/Icons.d.ts +9 -30
  198. package/dist/internal/icons/ui/Icons.js +67 -807
  199. package/dist/internal/icons/ui/index.d.ts +1 -1
  200. package/dist/styles/animations.css +310 -0
  201. package/dist/styles/style.css +168 -2
  202. package/package.json +23 -23
  203. package/dist/internal/normalizeClassName.d.ts +0 -1
  204. package/dist/internal/normalizeClassName.js +0 -2
package/README.md CHANGED
@@ -23,7 +23,7 @@ properties, `className`, stable `data-slot` hooks, and Ark state attributes.
23
23
  Install the package and its Ark UI peer dependency:
24
24
 
25
25
  ```bash
26
- npm install @moduix/react @ark-ui/react
26
+ pnpm add @moduix/react @ark-ui/react
27
27
  ```
28
28
 
29
29
  `react`, `react-dom`, and `@ark-ui/react` are peer dependencies. moduix supports React 18 and 19.
@@ -31,7 +31,7 @@ npm install @moduix/react @ark-ui/react
31
31
  The optional `Chart` component also requires its TanStack peer dependency:
32
32
 
33
33
  ```bash
34
- npm install @tanstack/charts
34
+ pnpm add @tanstack/charts
35
35
  ```
36
36
 
37
37
  ## Add styles
@@ -132,12 +132,17 @@ form. Set up `components.json` with the [Quick start](https://moduix.dev/docs/qu
132
132
  the components you need:
133
133
 
134
134
  ```bash
135
- npx shadcn@latest add @moduix-react/button @moduix-react/dialog
135
+ pnpm dlx shadcn@latest add @moduix-react/button @moduix-react/dialog
136
136
  ```
137
137
 
138
138
  Generated files include the component source, CSS Modules, and required supporting files. Their
139
139
  destination paths are controlled by your `components.json` aliases.
140
140
 
141
+ ## Compatibility
142
+
143
+ The package is ESM-only and ships modern JavaScript targeting ES2023. Consume it through a modern
144
+ application bundler configured for the browsers your application supports.
145
+
141
146
  ## Links
142
147
 
143
148
  - [Documentation](https://moduix.dev/)
@@ -145,6 +150,22 @@ destination paths are controlled by your `components.json` aliases.
145
150
  - [Source repository](https://github.com/Blinks44/moduix)
146
151
  - [Issues](https://github.com/Blinks44/moduix/issues)
147
152
 
153
+ ## Acknowledgements
154
+
155
+ moduix is possible because of the work and ideas of these projects:
156
+
157
+ - [Ark UI](https://ark-ui.com/) for the accessible, state-machine-backed primitives that define the
158
+ behavioral foundation.
159
+ - [Chakra UI](https://chakra-ui.com/) for Ark-aligned composition ergonomics and design-system
160
+ craft.
161
+ - [shadcn/ui](https://ui.shadcn.com/) for open-code distribution, beautiful defaults, and a
162
+ documentation style centered on practical ownership.
163
+ - [UnoCSS](https://unocss.dev/) and [Tailwind CSS](https://tailwindcss.com/) for the foundations
164
+ adapted by the optional reset.
165
+ - [Rstack](https://rstack.rs/) for its Rust-based ecosystem: Rspress for documentation, Rslib for
166
+ library builds, and Rstest for tests.
167
+ - [VoidZero](https://voidzero.dev/) for the JavaScript tooling used throughout the workspace.
168
+
148
169
  ## License
149
170
 
150
171
  [MIT](./LICENSE.md)
@@ -0,0 +1,49 @@
1
+ # Third-Party Notices
2
+
3
+ moduix uses and includes portions of Lucide Icons.
4
+
5
+ ## Lucide
6
+
7
+ ISC License
8
+
9
+ Copyright (c) 2026 Lucide Icons and Contributors
10
+
11
+ Permission to use, copy, modify, and/or distribute this software for any
12
+ purpose with or without fee is hereby granted, provided that the above
13
+ copyright notice and this permission notice appear in all copies.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
16
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
17
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
18
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
19
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
20
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
21
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
22
+
23
+ ---
24
+
25
+ The following Lucide icons are derived from the Feather project:
26
+
27
+ airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out
28
+
29
+ The MIT License (MIT) (for the icons listed above)
30
+
31
+ Copyright (c) 2013-present Cole Bemis
32
+
33
+ Permission is hereby granted, free of charge, to any person obtaining a copy
34
+ of this software and associated documentation files (the "Software"), to deal
35
+ in the Software without restriction, including without limitation the rights
36
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
37
+ copies of the Software, and to permit persons to whom the Software is
38
+ furnished to do so, subject to the following conditions:
39
+
40
+ The above copyright notice and this permission notice shall be included in all
41
+ copies or substantial portions of the Software.
42
+
43
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
44
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
45
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
46
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
47
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
48
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
49
+ SOFTWARE.
@@ -5,55 +5,54 @@ import { ark } from "@ark-ui/react/factory";
5
5
  import { clsx } from "clsx";
6
6
  import { forwardRef } from "react";
7
7
  import { PlusIcon } from "../../internal/icons/ui/index.js";
8
- import { normalizeClassName } from "../../internal/normalizeClassName.js";
9
8
  import Accordion_module from "./Accordion.module.js";
10
9
  const Accordion_AccordionRoot = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
11
10
  return /*#__PURE__*/ jsx(Accordion.Root, {
12
11
  ref: ref,
13
- "data-slot": "accordion-root",
14
- className: clsx(Accordion_module.root, normalizeClassName(className)),
15
- ...props
12
+ className: clsx(Accordion_module.root, className),
13
+ ...props,
14
+ "data-slot": "accordion-root"
16
15
  });
17
16
  });
18
17
  const Accordion_AccordionRootProvider = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
19
18
  return /*#__PURE__*/ jsx(Accordion.RootProvider, {
20
19
  ref: ref,
21
- "data-slot": "accordion-root-provider",
22
- className: clsx(Accordion_module.root, normalizeClassName(className)),
23
- ...props
20
+ className: clsx(Accordion_module.root, className),
21
+ ...props,
22
+ "data-slot": "accordion-root-provider"
24
23
  });
25
24
  });
26
25
  const Accordion_AccordionItem = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
27
26
  return /*#__PURE__*/ jsx(Accordion.Item, {
28
27
  ref: ref,
29
- "data-slot": "accordion-item",
30
- className: clsx(Accordion_module.item, normalizeClassName(className)),
31
- ...props
28
+ className: clsx(Accordion_module.item, className),
29
+ ...props,
30
+ "data-slot": "accordion-item"
32
31
  });
33
32
  });
34
33
  const Accordion_AccordionItemTrigger = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
35
34
  return /*#__PURE__*/ jsx(Accordion.ItemTrigger, {
36
35
  ref: ref,
37
- "data-slot": "accordion-item-trigger",
38
- className: clsx(Accordion_module.itemTrigger, normalizeClassName(className)),
39
- ...props
36
+ className: clsx(Accordion_module.itemTrigger, className),
37
+ ...props,
38
+ "data-slot": "accordion-item-trigger"
40
39
  });
41
40
  });
42
41
  const Accordion_AccordionItemIndicator = /*#__PURE__*/ forwardRef(function({ className, children, ...props }, ref) {
43
42
  return /*#__PURE__*/ jsx(Accordion.ItemIndicator, {
44
43
  ref: ref,
45
- "data-slot": "accordion-item-indicator",
46
- className: clsx(Accordion_module.itemIndicator, normalizeClassName(className)),
44
+ className: clsx(Accordion_module.itemIndicator, className),
47
45
  ...props,
46
+ "data-slot": "accordion-item-indicator",
48
47
  children: children ?? /*#__PURE__*/ jsx(PlusIcon, {})
49
48
  });
50
49
  });
51
50
  const Accordion_AccordionItemContent = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
52
51
  return /*#__PURE__*/ jsx(Accordion.ItemContent, {
53
52
  ref: ref,
54
- "data-slot": "accordion-item-content",
55
- className: clsx(Accordion_module.itemContent, normalizeClassName(className)),
56
- ...props
53
+ className: clsx(Accordion_module.itemContent, className),
54
+ ...props,
55
+ "data-slot": "accordion-item-content"
57
56
  });
58
57
  });
59
58
  const Accordion_AccordionItemBody = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
@@ -61,9 +60,9 @@ const Accordion_AccordionItemBody = /*#__PURE__*/ forwardRef(function({ classNam
61
60
  ref: ref,
62
61
  "data-scope": "accordion",
63
62
  "data-part": "item-body",
64
- "data-slot": "accordion-item-body",
65
- className: clsx(Accordion_module.itemBody, normalizeClassName(className)),
66
- ...props
63
+ className: clsx(Accordion_module.itemBody, className),
64
+ ...props,
65
+ "data-slot": "accordion-item-body"
67
66
  });
68
67
  });
69
68
  const Accordion_Accordion = Object.assign(Accordion_AccordionRoot, {
@@ -2,18 +2,17 @@ import { jsx } from "react/jsx-runtime";
2
2
  import { ark } from "@ark-ui/react/factory";
3
3
  import { clsx } from "clsx";
4
4
  import { forwardRef } from "react";
5
- import { normalizeClassName } from "../../internal/normalizeClassName.js";
6
5
  import Alert_module from "./Alert.module.js";
7
6
  const Alert_AlertRoot = /*#__PURE__*/ forwardRef(function({ children, className, role, status = 'info', ...props }, ref) {
8
7
  return /*#__PURE__*/ jsx(ark.div, {
9
8
  ref: ref,
10
- role: role ?? ('error' === status ? 'alert' : 'status'),
9
+ role: role,
11
10
  "data-scope": "alert",
12
11
  "data-part": "root",
13
- "data-slot": "alert-root",
14
12
  "data-status": status,
15
- className: clsx(Alert_module.root, normalizeClassName(className)),
13
+ className: clsx(Alert_module.root, className),
16
14
  ...props,
15
+ "data-slot": "alert-root",
17
16
  children: children
18
17
  });
19
18
  });
@@ -22,10 +21,10 @@ const Alert_AlertIndicator = /*#__PURE__*/ forwardRef(function({ className, ...p
22
21
  ref: ref,
23
22
  "data-scope": "alert",
24
23
  "data-part": "indicator",
25
- "data-slot": "alert-indicator",
26
24
  "aria-hidden": "true",
27
- className: clsx(Alert_module.indicator, normalizeClassName(className)),
28
- ...props
25
+ className: clsx(Alert_module.indicator, className),
26
+ ...props,
27
+ "data-slot": "alert-indicator"
29
28
  });
30
29
  });
31
30
  const Alert_AlertContent = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
@@ -33,9 +32,9 @@ const Alert_AlertContent = /*#__PURE__*/ forwardRef(function({ className, ...pro
33
32
  ref: ref,
34
33
  "data-scope": "alert",
35
34
  "data-part": "content",
36
- "data-slot": "alert-content",
37
- className: clsx(Alert_module.content, normalizeClassName(className)),
38
- ...props
35
+ className: clsx(Alert_module.content, className),
36
+ ...props,
37
+ "data-slot": "alert-content"
39
38
  });
40
39
  });
41
40
  const Alert_AlertTitle = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
@@ -43,9 +42,9 @@ const Alert_AlertTitle = /*#__PURE__*/ forwardRef(function({ className, ...props
43
42
  ref: ref,
44
43
  "data-scope": "alert",
45
44
  "data-part": "title",
46
- "data-slot": "alert-title",
47
- className: clsx(Alert_module.title, normalizeClassName(className)),
48
- ...props
45
+ className: clsx(Alert_module.title, className),
46
+ ...props,
47
+ "data-slot": "alert-title"
49
48
  });
50
49
  });
51
50
  const Alert_AlertDescription = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
@@ -53,9 +52,9 @@ const Alert_AlertDescription = /*#__PURE__*/ forwardRef(function({ className, ..
53
52
  ref: ref,
54
53
  "data-scope": "alert",
55
54
  "data-part": "description",
56
- "data-slot": "alert-description",
57
- className: clsx(Alert_module.description, normalizeClassName(className)),
58
- ...props
55
+ className: clsx(Alert_module.description, className),
56
+ ...props,
57
+ "data-slot": "alert-description"
59
58
  });
60
59
  });
61
60
  const Alert_AlertActions = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
@@ -63,9 +62,9 @@ const Alert_AlertActions = /*#__PURE__*/ forwardRef(function({ className, ...pro
63
62
  ref: ref,
64
63
  "data-scope": "alert",
65
64
  "data-part": "actions",
66
- "data-slot": "alert-actions",
67
- className: clsx(Alert_module.actions, normalizeClassName(className)),
68
- ...props
65
+ className: clsx(Alert_module.actions, className),
66
+ ...props,
67
+ "data-slot": "alert-actions"
69
68
  });
70
69
  });
71
70
  const Alert = Object.assign(Alert_AlertRoot, {
@@ -2,8 +2,7 @@
2
2
  .root-QHB4Xj {
3
3
  box-sizing: border-box;
4
4
  align-items: start;
5
- row-gap: var(--moduix-alert-content-gap, var(--moduix-spacing-1));
6
- column-gap: var(--moduix-alert-gap, var(--moduix-spacing-3));
5
+ gap: var(--moduix-alert-gap, var(--moduix-spacing-3));
7
6
  border: var(--moduix-alert-border-width, var(--moduix-border-width-sm)) solid
8
7
  var(--moduix-alert-border-color, var(--_alert-border-color-default, var(--moduix-color-border)));
9
8
  border-radius: var(--moduix-alert-radius, var(--moduix-radius-lg));
@@ -17,12 +16,7 @@
17
16
  --_alert-border-color-default: var(--moduix-alert-info-border-color, var(--moduix-color-border));
18
17
  --_alert-color-default: var(--moduix-alert-info-color, var(--moduix-color-card-foreground));
19
18
  --_alert-indicator-color-default: var(--moduix-alert-info-indicator-color, var(--moduix-color-muted-foreground));
20
- grid-template-columns: auto minmax(0, 1fr);
21
- display: grid;
22
- }
23
-
24
- .root-QHB4Xj > [data-part="title"], .root-QHB4Xj > [data-part="description"] {
25
- grid-column: 2;
19
+ display: flex;
26
20
  }
27
21
 
28
22
  .root-QHB4Xj[data-status="success"] {
@@ -46,14 +40,6 @@
46
40
  --_alert-indicator-color-default: var(--moduix-alert-error-indicator-color, var(--moduix-color-destructive));
47
41
  }
48
42
 
49
- .root-QHB4Xj:not(:has( > [data-part="indicator"])) {
50
- grid-template-columns: minmax(0, 1fr);
51
- }
52
-
53
- .root-QHB4Xj:not(:has( > [data-part="indicator"])) > [data-part="content"], .root-QHB4Xj:not(:has( > [data-part="indicator"])) > [data-part="title"], .root-QHB4Xj:not(:has( > [data-part="indicator"])) > [data-part="description"] {
54
- grid-column: 1;
55
- }
56
-
57
43
  .indicator-FFj13M {
58
44
  width: var(--moduix-alert-indicator-size, var(--moduix-spacing-4));
59
45
  height: var(--moduix-alert-indicator-size, var(--moduix-spacing-4));
@@ -73,6 +59,7 @@
73
59
 
74
60
  .content-wQ3ew3 {
75
61
  gap: var(--moduix-alert-content-gap, var(--moduix-spacing-1));
62
+ flex: 1;
76
63
  min-width: 0;
77
64
  display: grid;
78
65
  }
@@ -6,19 +6,13 @@ type AngleSliderMarksProps = Omit<ComponentProps<typeof AngleSliderPrimitive.Mar
6
6
  declare function AngleSliderMarks({ values, ...props }: AngleSliderMarksProps): import("react").JSX.Element;
7
7
  type AngleSliderDialProps = Omit<ComponentProps<typeof AngleSliderPrimitive.Control>, 'asChild' | 'children'> & {
8
8
  children?: ReactNode;
9
- thumbClassName?: string;
10
9
  };
11
- declare function AngleSliderDial({ children, thumbClassName, ...props }: AngleSliderDialProps): import("react").JSX.Element;
12
- declare const AngleSlider: import("react").ForwardRefExoticComponent<Omit<AngleSliderPrimitive.RootProps & import("react").RefAttributes<HTMLDivElement> & {
13
- form?: string;
14
- }, "ref"> & import("react").RefAttributes<HTMLDivElement>> & {
15
- Root: import("react").ForwardRefExoticComponent<Omit<AngleSliderPrimitive.RootProps & import("react").RefAttributes<HTMLDivElement> & {
16
- form?: string;
17
- }, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
18
- RootProvider: import("react").ForwardRefExoticComponent<Omit<AngleSliderPrimitive.RootProviderProps & import("react").RefAttributes<HTMLDivElement> & {
19
- form?: string;
20
- }, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
10
+ declare function AngleSliderDial({ children, ...props }: AngleSliderDialProps): import("react").JSX.Element;
11
+ declare const AngleSlider: import("react").ForwardRefExoticComponent<Omit<AngleSliderPrimitive.RootProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>> & {
12
+ Root: import("react").ForwardRefExoticComponent<Omit<AngleSliderPrimitive.RootProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
13
+ RootProvider: import("react").ForwardRefExoticComponent<Omit<AngleSliderPrimitive.RootProviderProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
21
14
  Context: (props: AngleSliderPrimitive.ContextProps) => ReactNode;
15
+ HiddenInput: import("react").ForwardRefExoticComponent<AngleSliderPrimitive.HiddenInputProps & import("react").RefAttributes<HTMLInputElement>>;
22
16
  Label: import("react").ForwardRefExoticComponent<Omit<AngleSliderPrimitive.LabelProps & import("react").RefAttributes<HTMLLabelElement>, "ref"> & import("react").RefAttributes<HTMLLabelElement>>;
23
17
  Control: import("react").ForwardRefExoticComponent<Omit<AngleSliderPrimitive.ControlProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
24
18
  Dial: typeof AngleSliderDial;
@@ -1,105 +1,64 @@
1
1
  "use client";
2
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { AngleSlider, useAngleSlider, useAngleSliderContext } from "@ark-ui/react/angle-slider";
4
4
  import { clsx } from "clsx";
5
- import { Children, cloneElement, forwardRef, useEffect, useRef } from "react";
6
- import { normalizeClassName } from "../../internal/normalizeClassName.js";
5
+ import { forwardRef } from "react";
7
6
  import AngleSlider_module from "./AngleSlider.module.js";
8
- const AngleSlider_AngleSliderRoot = /*#__PURE__*/ forwardRef(function({ asChild, children, className, defaultValue, form, value, ...props }, ref) {
7
+ const AngleSlider_AngleSliderRoot = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
9
8
  return /*#__PURE__*/ jsx(AngleSlider.Root, {
10
9
  ref: ref,
11
- "data-slot": "angle-slider-root",
12
- className: clsx(AngleSlider_module.root, normalizeClassName(className)),
13
- asChild: asChild,
14
- defaultValue: defaultValue,
15
- value: value,
10
+ className: clsx(AngleSlider_module.root, className),
16
11
  ...props,
17
- children: withHiddenInput(children, asChild, form, void 0 === value ? defaultValue ?? 0 : void 0)
12
+ "data-slot": "angle-slider-root"
18
13
  });
19
14
  });
20
15
  const AngleSlider_AngleSliderLabel = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
21
16
  return /*#__PURE__*/ jsx(AngleSlider.Label, {
22
17
  ref: ref,
23
- "data-slot": "angle-slider-label",
24
- className: clsx(AngleSlider_module.label, normalizeClassName(className)),
25
- ...props
18
+ className: clsx(AngleSlider_module.label, className),
19
+ ...props,
20
+ "data-slot": "angle-slider-label"
26
21
  });
27
22
  });
28
- const AngleSlider_AngleSliderRootProvider = /*#__PURE__*/ forwardRef(function({ asChild, children, className, form, value, ...props }, ref) {
29
- const initialValue = useRef(value.value);
23
+ const AngleSlider_AngleSliderRootProvider = /*#__PURE__*/ forwardRef(function({ className, value, ...props }, ref) {
30
24
  return /*#__PURE__*/ jsx(AngleSlider.RootProvider, {
31
25
  ref: ref,
32
- "data-slot": "angle-slider-root-provider",
33
- className: clsx(AngleSlider_module.root, normalizeClassName(className)),
34
- asChild: asChild,
26
+ className: clsx(AngleSlider_module.root, className),
35
27
  value: value,
36
28
  ...props,
37
- children: withHiddenInput(children, asChild, form, initialValue.current)
29
+ "data-slot": "angle-slider-root-provider"
38
30
  });
39
31
  });
40
- function AngleSliderHiddenInput({ form, resetValue }) {
41
- const angleSlider = useAngleSliderContext();
42
- const inputRef = useRef(null);
43
- useEffect(()=>{
44
- const formElement = inputRef.current?.form;
45
- if (!formElement || void 0 === resetValue) return;
46
- const handleReset = ()=>angleSlider.setValue(resetValue);
47
- formElement.addEventListener('reset', handleReset);
48
- return ()=>formElement.removeEventListener('reset', handleReset);
49
- }, [
50
- angleSlider,
51
- resetValue
52
- ]);
53
- return /*#__PURE__*/ jsx(AngleSlider.HiddenInput, {
54
- ref: inputRef,
55
- "data-slot": "angle-slider-hidden-input",
56
- form: form
57
- });
58
- }
59
- function withHiddenInput(children, asChild, form, resetValue) {
60
- const hiddenInput = /*#__PURE__*/ jsx(AngleSliderHiddenInput, {
61
- form: form,
62
- resetValue: resetValue
63
- });
64
- if (!asChild) return /*#__PURE__*/ jsxs(Fragment, {
65
- children: [
66
- children,
67
- hiddenInput
68
- ]
69
- });
70
- const child = Children.only(children);
71
- return /*#__PURE__*/ cloneElement(child, {}, child.props.children, hiddenInput);
72
- }
73
32
  const AngleSlider_AngleSliderControl = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
74
33
  return /*#__PURE__*/ jsx(AngleSlider.Control, {
75
34
  ref: ref,
76
- "data-slot": "angle-slider-control",
77
- className: clsx(AngleSlider_module.control, normalizeClassName(className)),
78
- ...props
35
+ className: clsx(AngleSlider_module.control, className),
36
+ ...props,
37
+ "data-slot": "angle-slider-control"
79
38
  });
80
39
  });
81
40
  const AngleSlider_AngleSliderThumb = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
82
41
  return /*#__PURE__*/ jsx(AngleSlider.Thumb, {
83
42
  ref: ref,
84
- "data-slot": "angle-slider-thumb",
85
- className: clsx(AngleSlider_module.thumb, normalizeClassName(className)),
86
- ...props
43
+ className: clsx(AngleSlider_module.thumb, className),
44
+ ...props,
45
+ "data-slot": "angle-slider-thumb"
87
46
  });
88
47
  });
89
48
  const AngleSlider_AngleSliderMarkerGroup = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
90
49
  return /*#__PURE__*/ jsx(AngleSlider.MarkerGroup, {
91
50
  ref: ref,
92
- "data-slot": "angle-slider-marker-group",
93
- className: clsx(AngleSlider_module.markerGroup, normalizeClassName(className)),
94
- ...props
51
+ className: clsx(AngleSlider_module.markerGroup, className),
52
+ ...props,
53
+ "data-slot": "angle-slider-marker-group"
95
54
  });
96
55
  });
97
56
  const AngleSlider_AngleSliderMarker = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
98
57
  return /*#__PURE__*/ jsx(AngleSlider.Marker, {
99
58
  ref: ref,
100
- "data-slot": "angle-slider-marker",
101
- className: clsx(AngleSlider_module.marker, normalizeClassName(className)),
102
- ...props
59
+ className: clsx(AngleSlider_module.marker, className),
60
+ ...props,
61
+ "data-slot": "angle-slider-marker"
103
62
  });
104
63
  });
105
64
  function AngleSliderMarks({ values, ...props }) {
@@ -110,29 +69,28 @@ function AngleSliderMarks({ values, ...props }) {
110
69
  }, `${value}-${index}`))
111
70
  });
112
71
  }
113
- function AngleSliderDial({ children, thumbClassName, ...props }) {
72
+ function AngleSliderDial({ children, ...props }) {
114
73
  return /*#__PURE__*/ jsxs(AngleSlider_AngleSliderControl, {
115
74
  ...props,
116
75
  children: [
117
76
  children,
118
- /*#__PURE__*/ jsx(AngleSlider_AngleSliderThumb, {
119
- className: thumbClassName
120
- })
77
+ /*#__PURE__*/ jsx(AngleSlider_AngleSliderThumb, {})
121
78
  ]
122
79
  });
123
80
  }
124
81
  const AngleSlider_AngleSliderValueText = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
125
82
  return /*#__PURE__*/ jsx(AngleSlider.ValueText, {
126
83
  ref: ref,
127
- "data-slot": "angle-slider-value-text",
128
- className: clsx(AngleSlider_module.valueText, normalizeClassName(className)),
129
- ...props
84
+ className: clsx(AngleSlider_module.valueText, className),
85
+ ...props,
86
+ "data-slot": "angle-slider-value-text"
130
87
  });
131
88
  });
132
89
  const AngleSlider_AngleSlider = Object.assign(AngleSlider_AngleSliderRoot, {
133
90
  Root: AngleSlider_AngleSliderRoot,
134
91
  RootProvider: AngleSlider_AngleSliderRootProvider,
135
92
  Context: AngleSlider.Context,
93
+ HiddenInput: AngleSlider.HiddenInput,
136
94
  Label: AngleSlider_AngleSliderLabel,
137
95
  Control: AngleSlider_AngleSliderControl,
138
96
  Dial: AngleSliderDial,
@@ -2,7 +2,6 @@ import { jsx } from "react/jsx-runtime";
2
2
  import { ark } from "@ark-ui/react/factory";
3
3
  import { clsx } from "clsx";
4
4
  import { forwardRef } from "react";
5
- import { normalizeClassName } from "../../internal/normalizeClassName.js";
6
5
  import AspectRatio_module from "./AspectRatio.module.js";
7
6
  const AspectRatio_AspectRatioRoot = /*#__PURE__*/ forwardRef(function({ ratio, className, style, ...props }, ref) {
8
7
  if (!Number.isFinite(ratio) || ratio <= 0) throw new RangeError('AspectRatio `ratio` must be a finite number greater than zero.');
@@ -12,7 +11,7 @@ const AspectRatio_AspectRatioRoot = /*#__PURE__*/ forwardRef(function({ ratio, c
12
11
  "data-scope": "aspect-ratio",
13
12
  "data-part": "root",
14
13
  "data-slot": "aspect-ratio-root",
15
- className: clsx(AspectRatio_module.root, normalizeClassName(className)),
14
+ className: clsx(AspectRatio_module.root, className),
16
15
  style: {
17
16
  ...style,
18
17
  '--_aspect-ratio-value': ratio
@@ -4,21 +4,8 @@
4
4
  box-sizing: border-box;
5
5
  width: 100%;
6
6
  aspect-ratio: var(--_aspect-ratio-value);
7
- border-radius: var(--moduix-aspect-ratio-radius, var(--moduix-radius-md));
8
7
  display: block;
9
8
  position: relative;
10
- overflow: hidden;
11
- }
12
-
13
- .root-_8OMdK > :where(img, video, iframe, canvas, svg) {
14
- box-sizing: border-box;
15
- width: 100%;
16
- height: 100%;
17
- display: block;
18
- }
19
-
20
- .root-_8OMdK > iframe {
21
- border: 0;
22
9
  }
23
10
  }
24
11
 
@@ -1,5 +1,5 @@
1
1
  import { Avatar as AvatarPrimitive, useAvatar, useAvatarContext } from '@ark-ui/react/avatar';
2
- import { type ComponentProps, type ReactNode } from 'react';
2
+ import { type ComponentProps } from 'react';
3
3
  type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4
4
  type AvatarRootProps = ComponentProps<typeof AvatarPrimitive.Root> & {
5
5
  size?: AvatarSize;
@@ -7,14 +7,11 @@ type AvatarRootProps = ComponentProps<typeof AvatarPrimitive.Root> & {
7
7
  type AvatarRootProviderProps = ComponentProps<typeof AvatarPrimitive.RootProvider> & {
8
8
  size?: AvatarSize;
9
9
  };
10
- type AvatarFallbackProps = ComponentProps<typeof AvatarPrimitive.Fallback> & {
11
- name?: string;
12
- };
13
10
  declare const Avatar: import("react").ForwardRefExoticComponent<Omit<AvatarRootProps, "ref"> & import("react").RefAttributes<HTMLDivElement>> & {
14
11
  Root: import("react").ForwardRefExoticComponent<Omit<AvatarRootProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
15
12
  RootProvider: import("react").ForwardRefExoticComponent<Omit<AvatarRootProviderProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
16
- Context: (props: AvatarPrimitive.ContextProps) => ReactNode;
13
+ Context: (props: AvatarPrimitive.ContextProps) => import("react").ReactNode;
17
14
  Image: import("react").ForwardRefExoticComponent<Omit<AvatarPrimitive.ImageProps & import("react").RefAttributes<HTMLImageElement>, "ref"> & import("react").RefAttributes<HTMLImageElement>>;
18
- Fallback: import("react").ForwardRefExoticComponent<Omit<AvatarFallbackProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
15
+ Fallback: import("react").ForwardRefExoticComponent<Omit<AvatarPrimitive.FallbackProps & import("react").RefAttributes<HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
19
16
  };
20
17
  export { Avatar, useAvatar, useAvatarContext };