@moduix/react 2.5.1 → 2.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 (200) hide show
  1. package/README.md +24 -3
  2. package/THIRD_PARTY_NOTICES.md +49 -0
  3. package/dist/components/accordion/Accordion.js +7 -8
  4. package/dist/components/alert/Alert.js +6 -7
  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 +17 -59
  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 +7 -50
  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 -7
  24. package/dist/components/card/Card.d.ts +15 -15
  25. package/dist/components/card/Card.js +10 -11
  26. package/dist/components/card/Card_module.css +1 -17
  27. package/dist/components/carousel/Carousel.js +12 -13
  28. package/dist/components/carousel/Carousel_module.css +7 -0
  29. package/dist/components/chart/Chart.d.ts +9 -8
  30. package/dist/components/chart/Chart.js +7 -8
  31. package/dist/components/chart/Chart_module.css +0 -2
  32. package/dist/components/checkbox/Checkbox.d.ts +3 -2
  33. package/dist/components/checkbox/Checkbox.js +12 -35
  34. package/dist/components/clipboard/Clipboard.js +8 -9
  35. package/dist/components/close-button/CloseButton.js +1 -2
  36. package/dist/components/close-button/CloseButton_module.css +1 -10
  37. package/dist/components/collapsible/Collapsible.js +6 -9
  38. package/dist/components/collapsible/Collapsible_module.css +2 -4
  39. package/dist/components/color-picker/ColorPicker.d.ts +4 -3
  40. package/dist/components/color-picker/ColorPicker.js +32 -45
  41. package/dist/components/color-picker/ColorPicker_module.css +0 -1
  42. package/dist/components/combobox/Combobox.d.ts +5 -5
  43. package/dist/components/combobox/Combobox.js +20 -29
  44. package/dist/components/combobox/Combobox_module.css +0 -1
  45. package/dist/components/command-palette/CommandPalette.d.ts +7 -18
  46. package/dist/components/command-palette/CommandPalette.js +51 -78
  47. package/dist/components/command-palette/CommandPalette_module.css +11 -18
  48. package/dist/components/container/Container.js +1 -2
  49. package/dist/components/date-input/DateInput.d.ts +7 -9
  50. package/dist/components/date-input/DateInput.js +14 -44
  51. package/dist/components/date-input/DateInput_module.css +0 -1
  52. package/dist/components/date-picker/DatePicker.d.ts +1 -1
  53. package/dist/components/date-picker/DatePicker.js +34 -43
  54. package/dist/components/date-picker/DatePicker.module.js +1 -1
  55. package/dist/components/date-picker/DatePicker_module.css +5 -2
  56. package/dist/components/dialog/Dialog.d.ts +1 -1
  57. package/dist/components/dialog/Dialog.js +11 -12
  58. package/dist/components/drawer/Drawer.d.ts +6 -3
  59. package/dist/components/drawer/Drawer.js +33 -24
  60. package/dist/components/editable/Editable.d.ts +1 -1
  61. package/dist/components/editable/Editable.js +10 -11
  62. package/dist/components/empty/Empty.js +6 -7
  63. package/dist/components/field/Field.js +10 -11
  64. package/dist/components/fieldset/Fieldset.js +5 -6
  65. package/dist/components/file-upload/FileUpload.d.ts +3 -2
  66. package/dist/components/file-upload/FileUpload.js +28 -55
  67. package/dist/components/file-upload/FileUpload_module.css +4 -13
  68. package/dist/components/floating-panel/FloatingPanel.d.ts +2 -2
  69. package/dist/components/floating-panel/FloatingPanel.js +14 -15
  70. package/dist/components/floating-panel/FloatingPanel_module.css +4 -17
  71. package/dist/components/heading/Heading.js +1 -2
  72. package/dist/components/highlight/Highlight.js +1 -2
  73. package/dist/components/hover-card/HoverCard.d.ts +2 -1
  74. package/dist/components/hover-card/HoverCard.js +15 -6
  75. package/dist/components/hover-card/HoverCard.module.js +1 -0
  76. package/dist/components/hover-card/HoverCard_module.css +18 -3
  77. package/dist/components/image/Image.js +1 -2
  78. package/dist/components/image-cropper/ImageCropper.d.ts +1 -1
  79. package/dist/components/image-cropper/ImageCropper.js +7 -8
  80. package/dist/components/input/Input.d.ts +4 -4
  81. package/dist/components/input/Input.js +1 -2
  82. package/dist/components/input-group/InputGroup.d.ts +5 -5
  83. package/dist/components/input-group/InputGroup.js +5 -6
  84. package/dist/components/json-tree-view/JsonTreeView.js +3 -4
  85. package/dist/components/json-tree-view/JsonTreeView_module.css +26 -10
  86. package/dist/components/kbd/Kbd.js +2 -3
  87. package/dist/components/lightbox/Lightbox.d.ts +1 -1
  88. package/dist/components/lightbox/Lightbox.js +13 -14
  89. package/dist/components/lightbox/Lightbox_module.css +0 -2
  90. package/dist/components/list/List.js +2 -3
  91. package/dist/components/listbox/Listbox.d.ts +5 -5
  92. package/dist/components/listbox/Listbox.js +19 -25
  93. package/dist/components/listbox/Listbox.module.js +2 -2
  94. package/dist/components/listbox/Listbox_module.css +3 -13
  95. package/dist/components/marquee/Marquee.js +6 -7
  96. package/dist/components/menu/Menu.d.ts +2 -1
  97. package/dist/components/menu/Menu.js +34 -41
  98. package/dist/components/menu/Menu.module.js +1 -1
  99. package/dist/components/menu/Menu_module.css +8 -8
  100. package/dist/components/native-select/NativeSelect.js +2 -3
  101. package/dist/components/native-select/NativeSelect_module.css +0 -1
  102. package/dist/components/navigation-menu/NavigationMenu.js +17 -36
  103. package/dist/components/navigation-menu/NavigationMenu.module.js +2 -3
  104. package/dist/components/navigation-menu/NavigationMenu_module.css +15 -32
  105. package/dist/components/number-input/NumberInput.js +9 -10
  106. package/dist/components/pagination/Pagination.js +17 -20
  107. package/dist/components/pagination/Pagination_module.css +1 -5
  108. package/dist/components/password-input/PasswordInput.js +7 -8
  109. package/dist/components/pin-input/PinInput.d.ts +3 -2
  110. package/dist/components/pin-input/PinInput.js +13 -54
  111. package/dist/components/popover/Popover.d.ts +5 -3
  112. package/dist/components/popover/Popover.js +16 -17
  113. package/dist/components/progress-circular/ProgressCircular.js +8 -9
  114. package/dist/components/progress-circular/ProgressCircular.module.js +1 -3
  115. package/dist/components/progress-circular/ProgressCircular_module.css +0 -10
  116. package/dist/components/progress-linear/ProgressLinear.js +7 -8
  117. package/dist/components/progress-linear/ProgressLinear.module.js +1 -5
  118. package/dist/components/progress-linear/ProgressLinear_module.css +0 -20
  119. package/dist/components/qr-code/QrCode.js +6 -7
  120. package/dist/components/radio-group/RadioGroup.d.ts +1 -0
  121. package/dist/components/radio-group/RadioGroup.js +13 -27
  122. package/dist/components/radio-group/RadioGroup_module.css +0 -1
  123. package/dist/components/rating-group/RatingGroup.d.ts +1 -0
  124. package/dist/components/rating-group/RatingGroup.js +12 -29
  125. package/dist/components/rating-group/RatingGroup_module.css +1 -1
  126. package/dist/components/scroll-area/ScrollArea.js +7 -8
  127. package/dist/components/segment-group/SegmentGroup.d.ts +1 -0
  128. package/dist/components/segment-group/SegmentGroup.js +16 -30
  129. package/dist/components/segment-group/SegmentGroup_module.css +4 -0
  130. package/dist/components/select/Select.d.ts +4 -7
  131. package/dist/components/select/Select.js +36 -86
  132. package/dist/components/select/Select.module.js +1 -1
  133. package/dist/components/select/Select_module.css +4 -31
  134. package/dist/components/separator/Separator.d.ts +6 -6
  135. package/dist/components/separator/Separator.js +1 -2
  136. package/dist/components/sidebar/Sidebar.d.ts +16 -16
  137. package/dist/components/sidebar/Sidebar.js +35 -48
  138. package/dist/components/sidebar/Sidebar.module.js +2 -3
  139. package/dist/components/sidebar/Sidebar_module.css +62 -158
  140. package/dist/components/signature-pad/SignaturePad.d.ts +5 -8
  141. package/dist/components/signature-pad/SignaturePad.js +17 -46
  142. package/dist/components/signature-pad/SignaturePad_module.css +0 -1
  143. package/dist/components/simple-grid/SimpleGrid.js +13 -8
  144. package/dist/components/skeleton/Skeleton.d.ts +2 -2
  145. package/dist/components/skeleton/Skeleton.js +1 -2
  146. package/dist/components/slider/Slider.d.ts +2 -2
  147. package/dist/components/slider/Slider.js +18 -32
  148. package/dist/components/spinner/Spinner.d.ts +2 -2
  149. package/dist/components/spinner/Spinner.js +1 -2
  150. package/dist/components/split-button/SplitButton.d.ts +4 -4
  151. package/dist/components/split-button/SplitButton.js +11 -8
  152. package/dist/components/splitter/Splitter.js +5 -6
  153. package/dist/components/splitter/Splitter_module.css +2 -10
  154. package/dist/components/stack/Stack.d.ts +6 -6
  155. package/dist/components/stack/Stack.js +4 -5
  156. package/dist/components/stack/Stack_module.css +1 -1
  157. package/dist/components/steps/Steps.js +12 -13
  158. package/dist/components/steps/Steps_module.css +2 -3
  159. package/dist/components/swap/Swap.js +3 -4
  160. package/dist/components/switch/Switch.d.ts +3 -2
  161. package/dist/components/switch/Switch.js +12 -35
  162. package/dist/components/switch/Switch_module.css +0 -1
  163. package/dist/components/table/Table.d.ts +5 -5
  164. package/dist/components/table/Table.js +12 -13
  165. package/dist/components/tabs/Tabs.js +6 -7
  166. package/dist/components/tabs/Tabs_module.css +5 -10
  167. package/dist/components/tag/Tag.js +5 -6
  168. package/dist/components/tag/Tag_module.css +2 -4
  169. package/dist/components/tags-input/TagsInput.d.ts +3 -3
  170. package/dist/components/tags-input/TagsInput.js +21 -75
  171. package/dist/components/tags-input/TagsInput_module.css +0 -1
  172. package/dist/components/text/Text.js +1 -2
  173. package/dist/components/textarea/Textarea.js +1 -2
  174. package/dist/components/timer/Timer.js +7 -8
  175. package/dist/components/toast/Toast.d.ts +1 -1
  176. package/dist/components/toast/Toast.js +7 -8
  177. package/dist/components/toast/Toast_module.css +1 -2
  178. package/dist/components/toc/Toc.js +10 -11
  179. package/dist/components/toc/Toc_module.css +2 -2
  180. package/dist/components/toggle/Toggle.js +2 -3
  181. package/dist/components/toggle-group/ToggleGroup.d.ts +1 -1
  182. package/dist/components/toggle-group/ToggleGroup.js +3 -4
  183. package/dist/components/tooltip/Tooltip.d.ts +1 -1
  184. package/dist/components/tooltip/Tooltip.js +6 -7
  185. package/dist/components/tooltip/Tooltip_module.css +1 -1
  186. package/dist/components/tour/Tour.d.ts +1 -1
  187. package/dist/components/tour/Tour.js +14 -15
  188. package/dist/components/tree-view/TreeView.d.ts +4 -4
  189. package/dist/components/tree-view/TreeView.js +17 -18
  190. package/dist/components/tree-view/TreeView_module.css +39 -12
  191. package/dist/components/typeset/Typeset.js +2 -3
  192. package/dist/components/typeset/Typeset_module.css +300 -159
  193. package/dist/internal/icons/ui/Icons.d.ts +9 -30
  194. package/dist/internal/icons/ui/Icons.js +67 -807
  195. package/dist/internal/icons/ui/index.d.ts +1 -1
  196. package/dist/styles/animations.css +310 -0
  197. package/dist/styles/style.css +168 -2
  198. package/package.json +23 -23
  199. package/dist/internal/normalizeClassName.d.ts +0 -1
  200. package/dist/internal/normalizeClassName.js +0 -2
@@ -1,11 +1,10 @@
1
1
  "use client";
2
- import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { jsx } from "react/jsx-runtime";
3
3
  import { ark } from "@ark-ui/react/factory";
4
4
  import { Menu, useMenu, useMenuContext, useMenuItemContext } from "@ark-ui/react/menu";
5
5
  import { clsx } from "clsx";
6
- import { Children, forwardRef, isValidElement } from "react";
6
+ import { forwardRef } from "react";
7
7
  import { CheckIcon, ChevronDownIcon, ChevronRightIcon } from "../../internal/icons/ui/index.js";
8
- import { normalizeClassName } from "../../internal/normalizeClassName.js";
9
8
  import { OverlayPortal, OverlayPortalProvider } from "../../internal/overlayPortal.js";
10
9
  import Menu_module from "./Menu.module.js";
11
10
  function MenuRoot({ lazyMount = true, portalled, portalRef, unmountOnExit = true, ...props }) {
@@ -35,7 +34,7 @@ const Menu_MenuTrigger = /*#__PURE__*/ forwardRef(function({ asChild, className,
35
34
  ref: ref,
36
35
  "data-slot": "menu-trigger",
37
36
  asChild: asChild,
38
- className: clsx(!asChild && Menu_module.trigger, normalizeClassName(className)),
37
+ className: clsx(!asChild && Menu_module.trigger, className),
39
38
  ...props
40
39
  });
41
40
  });
@@ -53,7 +52,7 @@ const Menu_MenuIndicator = /*#__PURE__*/ forwardRef(function({ className, childr
53
52
  return /*#__PURE__*/ jsx(Menu.Indicator, {
54
53
  ref: ref,
55
54
  "data-slot": "menu-indicator",
56
- className: clsx(Menu_module.indicator, normalizeClassName(className)),
55
+ className: clsx(Menu_module.indicator, className),
57
56
  ...props,
58
57
  children: children ?? /*#__PURE__*/ jsx(ChevronDownIcon, {
59
58
  className: Menu_module.iconSvg
@@ -65,7 +64,7 @@ const Menu_MenuContextTrigger = /*#__PURE__*/ forwardRef(function({ asChild, cla
65
64
  ref: ref,
66
65
  "data-slot": "menu-context-trigger",
67
66
  asChild: asChild,
68
- className: clsx(!asChild && Menu_module.contextTrigger, normalizeClassName(className)),
67
+ className: clsx(!asChild && Menu_module.contextTrigger, className),
69
68
  ...props
70
69
  });
71
70
  });
@@ -74,43 +73,36 @@ const Menu_MenuPositioner = /*#__PURE__*/ forwardRef(function({ className, ...pr
74
73
  children: /*#__PURE__*/ jsx(Menu.Positioner, {
75
74
  ref: ref,
76
75
  "data-slot": "menu-positioner",
77
- className: clsx(Menu_module.positioner, normalizeClassName(className)),
76
+ className: clsx(Menu_module.positioner, className),
78
77
  ...props
79
78
  })
80
79
  });
81
80
  });
82
81
  const Menu_MenuContent = /*#__PURE__*/ forwardRef(function({ asChild, className, children, ...props }, ref) {
83
- if (asChild) return /*#__PURE__*/ jsx(Menu.Content, {
82
+ return /*#__PURE__*/ jsx(Menu.Content, {
84
83
  ref: ref,
85
84
  "data-slot": "menu-content",
86
- asChild: true,
87
- className: clsx(Menu_module.content, normalizeClassName(className)),
85
+ asChild: asChild,
86
+ className: clsx(Menu_module.content, className),
88
87
  ...props,
89
88
  children: children
90
89
  });
91
- const childrenArray = Children.toArray(children);
92
- const arrows = childrenArray.filter((child)=>/*#__PURE__*/ isValidElement(child) && child.type === Menu_MenuArrow);
93
- const content = childrenArray.filter((child)=>!/*#__PURE__*/ isValidElement(child) || child.type !== Menu_MenuArrow);
94
- return /*#__PURE__*/ jsxs(Menu.Content, {
90
+ });
91
+ const Menu_MenuViewport = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
92
+ return /*#__PURE__*/ jsx(ark.div, {
95
93
  ref: ref,
96
- "data-slot": "menu-content",
97
- asChild: asChild,
98
- className: clsx(Menu_module.content, normalizeClassName(className)),
99
- ...props,
100
- children: [
101
- arrows,
102
- /*#__PURE__*/ jsx("div", {
103
- className: Menu_module.contentViewport,
104
- children: content
105
- })
106
- ]
94
+ "data-scope": "menu",
95
+ "data-part": "viewport",
96
+ "data-slot": "menu-viewport",
97
+ className: clsx(Menu_module.viewport, className),
98
+ ...props
107
99
  });
108
100
  });
109
101
  const Menu_MenuArrow = /*#__PURE__*/ forwardRef(function({ className, children, ...props }, ref) {
110
102
  return /*#__PURE__*/ jsx(Menu.Arrow, {
111
103
  ref: ref,
112
104
  "data-slot": "menu-arrow",
113
- className: clsx(Menu_module.arrow, normalizeClassName(className)),
105
+ className: clsx(Menu_module.arrow, className),
114
106
  ...props,
115
107
  children: children ?? /*#__PURE__*/ jsx(Menu_MenuArrowTip, {})
116
108
  });
@@ -119,7 +111,7 @@ const Menu_MenuArrowTip = /*#__PURE__*/ forwardRef(function({ className, ...prop
119
111
  return /*#__PURE__*/ jsx(Menu.ArrowTip, {
120
112
  ref: ref,
121
113
  "data-slot": "menu-arrow-tip",
122
- className: clsx(Menu_module.arrowTip, normalizeClassName(className)),
114
+ className: clsx(Menu_module.arrowTip, className),
123
115
  ...props
124
116
  });
125
117
  });
@@ -128,7 +120,7 @@ const Menu_MenuItem = /*#__PURE__*/ forwardRef(function({ className, tone = 'def
128
120
  ref: ref,
129
121
  "data-slot": "menu-item",
130
122
  "data-tone": tone,
131
- className: clsx(Menu_module.item, normalizeClassName(className)),
123
+ className: clsx(Menu_module.item, className),
132
124
  ...props
133
125
  });
134
126
  });
@@ -136,7 +128,7 @@ const Menu_MenuTriggerItem = /*#__PURE__*/ forwardRef(function({ className, chil
136
128
  return /*#__PURE__*/ jsx(Menu.TriggerItem, {
137
129
  ref: ref,
138
130
  "data-slot": "menu-trigger-item",
139
- className: clsx(Menu_module.triggerItem, normalizeClassName(className)),
131
+ className: clsx(Menu_module.triggerItem, className),
140
132
  ...props,
141
133
  children: children
142
134
  });
@@ -155,7 +147,7 @@ const Menu_MenuSeparator = /*#__PURE__*/ forwardRef(function({ className, ...pro
155
147
  return /*#__PURE__*/ jsx(Menu.Separator, {
156
148
  ref: ref,
157
149
  "data-slot": "menu-separator",
158
- className: clsx(Menu_module.separator, normalizeClassName(className)),
150
+ className: clsx(Menu_module.separator, className),
159
151
  ...props
160
152
  });
161
153
  });
@@ -163,7 +155,7 @@ const Menu_MenuItemGroup = /*#__PURE__*/ forwardRef(function({ className, ...pro
163
155
  return /*#__PURE__*/ jsx(Menu.ItemGroup, {
164
156
  ref: ref,
165
157
  "data-slot": "menu-item-group",
166
- className: clsx(Menu_module.itemGroup, normalizeClassName(className)),
158
+ className: clsx(Menu_module.itemGroup, className),
167
159
  ...props
168
160
  });
169
161
  });
@@ -171,7 +163,7 @@ const Menu_MenuItemGroupLabel = /*#__PURE__*/ forwardRef(function({ className, .
171
163
  return /*#__PURE__*/ jsx(Menu.ItemGroupLabel, {
172
164
  ref: ref,
173
165
  "data-slot": "menu-item-group-label",
174
- className: clsx(Menu_module.itemGroupLabel, normalizeClassName(className)),
166
+ className: clsx(Menu_module.itemGroupLabel, className),
175
167
  ...props
176
168
  });
177
169
  });
@@ -179,7 +171,7 @@ const Menu_MenuRadioItemGroup = /*#__PURE__*/ forwardRef(function({ className, .
179
171
  return /*#__PURE__*/ jsx(Menu.RadioItemGroup, {
180
172
  ref: ref,
181
173
  "data-slot": "menu-radio-item-group",
182
- className: clsx(Menu_module.radioItemGroup, normalizeClassName(className)),
174
+ className: clsx(Menu_module.radioItemGroup, className),
183
175
  ...props
184
176
  });
185
177
  });
@@ -188,7 +180,7 @@ const Menu_MenuRadioItem = /*#__PURE__*/ forwardRef(function({ className, indica
188
180
  ref: ref,
189
181
  "data-slot": "menu-radio-item",
190
182
  "data-indicator-position": indicator,
191
- className: clsx(Menu_module.radioItem, normalizeClassName(className)),
183
+ className: clsx(Menu_module.radioItem, className),
192
184
  ...props
193
185
  });
194
186
  });
@@ -197,7 +189,7 @@ const Menu_MenuCheckboxItem = /*#__PURE__*/ forwardRef(function({ className, ind
197
189
  ref: ref,
198
190
  "data-slot": "menu-checkbox-item",
199
191
  "data-indicator-position": indicator,
200
- className: clsx(Menu_module.checkboxItem, normalizeClassName(className)),
192
+ className: clsx(Menu_module.checkboxItem, className),
201
193
  ...props
202
194
  });
203
195
  });
@@ -205,7 +197,7 @@ const Menu_MenuItemIndicator = /*#__PURE__*/ forwardRef(function({ className, ch
205
197
  return /*#__PURE__*/ jsx(Menu.ItemIndicator, {
206
198
  ref: ref,
207
199
  "data-slot": "menu-item-indicator",
208
- className: clsx(Menu_module.itemIndicator, normalizeClassName(className)),
200
+ className: clsx(Menu_module.itemIndicator, className),
209
201
  ...props,
210
202
  children: children ?? /*#__PURE__*/ jsx(CheckIcon, {
211
203
  className: Menu_module.itemIndicatorIcon
@@ -216,7 +208,7 @@ const Menu_MenuItemText = /*#__PURE__*/ forwardRef(function({ className, ...prop
216
208
  return /*#__PURE__*/ jsx(Menu.ItemText, {
217
209
  ref: ref,
218
210
  "data-slot": "menu-item-text",
219
- className: clsx(Menu_module.itemText, normalizeClassName(className)),
211
+ className: clsx(Menu_module.itemText, className),
220
212
  ...props
221
213
  });
222
214
  });
@@ -224,7 +216,7 @@ const Menu_MenuItemTextContent = /*#__PURE__*/ forwardRef(function({ className,
224
216
  return /*#__PURE__*/ jsx(ark.span, {
225
217
  ref: ref,
226
218
  "data-slot": "menu-item-text-content",
227
- className: clsx(Menu_module.itemTextContent, normalizeClassName(className)),
219
+ className: clsx(Menu_module.itemTextContent, className),
228
220
  ...props
229
221
  });
230
222
  });
@@ -232,7 +224,7 @@ const Menu_MenuItemTextIcon = /*#__PURE__*/ forwardRef(function({ className, ...
232
224
  return /*#__PURE__*/ jsx(ark.span, {
233
225
  ref: ref,
234
226
  "data-slot": "menu-item-text-icon",
235
- className: clsx(Menu_module.itemTextIcon, normalizeClassName(className)),
227
+ className: clsx(Menu_module.itemTextIcon, className),
236
228
  ...props
237
229
  });
238
230
  });
@@ -240,7 +232,7 @@ const Menu_MenuItemTextLabel = /*#__PURE__*/ forwardRef(function({ className, ..
240
232
  return /*#__PURE__*/ jsx(ark.span, {
241
233
  ref: ref,
242
234
  "data-slot": "menu-item-text-label",
243
- className: clsx(Menu_module.itemTextLabel, normalizeClassName(className)),
235
+ className: clsx(Menu_module.itemTextLabel, className),
244
236
  ...props
245
237
  });
246
238
  });
@@ -248,7 +240,7 @@ const Menu_MenuItemShortcut = /*#__PURE__*/ forwardRef(function({ className, ...
248
240
  return /*#__PURE__*/ jsx(ark.span, {
249
241
  ref: ref,
250
242
  "data-slot": "menu-item-shortcut",
251
- className: clsx(Menu_module.itemShortcut, normalizeClassName(className)),
243
+ className: clsx(Menu_module.itemShortcut, className),
252
244
  ...props
253
245
  });
254
246
  });
@@ -262,6 +254,7 @@ const Menu_Menu = Object.assign(MenuRoot, {
262
254
  ContextTrigger: Menu_MenuContextTrigger,
263
255
  Positioner: Menu_MenuPositioner,
264
256
  Content: Menu_MenuContent,
257
+ Viewport: Menu_MenuViewport,
265
258
  Arrow: Menu_MenuArrow,
266
259
  ArrowTip: Menu_MenuArrowTip,
267
260
  Item: Menu_MenuItem,
@@ -8,8 +8,8 @@ const Menu_module = {
8
8
  positioner: "positioner-Dxj8G1",
9
9
  content: "content-yFF7GN",
10
10
  menuContentIn: "menuContentIn-XDpUnW",
11
- contentViewport: "contentViewport-GpY3ZX",
12
11
  menuContentOut: "menuContentOut-Q7Drkj",
12
+ viewport: "viewport-aiGW8J",
13
13
  arrow: "arrow-sziCms",
14
14
  arrowTip: "arrowTip-h3KKa6",
15
15
  item: "item-DZSt0x",
@@ -44,7 +44,7 @@
44
44
  -1);
45
45
  }
46
46
 
47
- :is(.trigger-GnJcCa, .contextTrigger-jyrQRV)[data-disabled], :is(.trigger-GnJcCa, .contextTrigger-jyrQRV):disabled {
47
+ :is(.trigger-GnJcCa, .contextTrigger-jyrQRV)[data-disabled] {
48
48
  pointer-events: none;
49
49
  opacity: var(--moduix-menu-disabled-opacity, var(--moduix-opacity-disabled));
50
50
  }
@@ -100,19 +100,19 @@
100
100
  var(--moduix-popup-motion-easing, var(--moduix-ease-in-out)));
101
101
  }
102
102
 
103
- .content-yFF7GN .contentViewport-GpY3ZX {
104
- max-height: min(var(--moduix-menu-popup-max-height, 24rem), var(--available-height, 100dvh));
105
- flex-direction: column;
106
- display: flex;
107
- overflow: auto;
108
- }
109
-
110
103
  .content-yFF7GN[data-state="closed"] {
111
104
  animation: menuContentOut-Q7Drkj
112
105
  var(--moduix-menu-transition, var(--moduix-popup-motion-duration, var(--moduix-duration-normal))
113
106
  var(--moduix-popup-motion-easing, var(--moduix-ease-in-out)));
114
107
  }
115
108
 
109
+ .viewport-aiGW8J {
110
+ max-height: min(var(--moduix-menu-popup-max-height, 24rem), var(--available-height, 100dvh));
111
+ flex-direction: column;
112
+ display: flex;
113
+ overflow: auto;
114
+ }
115
+
116
116
  .arrow-sziCms {
117
117
  --arrow-background: var(--moduix-menu-popup-bg, var(--moduix-color-popover));
118
118
  }
@@ -3,7 +3,6 @@ import { Field } from "@ark-ui/react/field";
3
3
  import { clsx } from "clsx";
4
4
  import { forwardRef } from "react";
5
5
  import { ChevronDownIcon } from "../../internal/icons/ui/index.js";
6
- import { normalizeClassName } from "../../internal/normalizeClassName.js";
7
6
  import NativeSelect_module from "./NativeSelect.module.js";
8
7
  const NativeSelect_NativeSelectRoot = /*#__PURE__*/ forwardRef(function({ className, controlProps, ...props }, ref) {
9
8
  return /*#__PURE__*/ jsxs("span", {
@@ -11,13 +10,13 @@ const NativeSelect_NativeSelectRoot = /*#__PURE__*/ forwardRef(function({ classN
11
10
  "data-scope": "native-select",
12
11
  "data-part": "control",
13
12
  "data-slot": "native-select-control",
14
- className: clsx(NativeSelect_module.control, normalizeClassName(controlProps?.className)),
13
+ className: clsx(NativeSelect_module.control, controlProps?.className),
15
14
  children: [
16
15
  /*#__PURE__*/ jsx(Field.Select, {
17
16
  ...props,
18
17
  ref: ref,
19
18
  "data-slot": "native-select-root",
20
- className: clsx(NativeSelect_module.root, normalizeClassName(className))
19
+ className: clsx(NativeSelect_module.root, className)
21
20
  }),
22
21
  /*#__PURE__*/ jsx("span", {
23
22
  "aria-hidden": "true",
@@ -1,6 +1,5 @@
1
1
  @layer moduix.components {
2
2
  .control-D7osAi {
3
- width: -moz-fit-content;
4
3
  width: fit-content;
5
4
  min-width: 0;
6
5
  max-width: 100%;
@@ -1,15 +1,14 @@
1
1
  "use client";
2
- import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { jsx } from "react/jsx-runtime";
3
3
  import { NavigationMenu, useNavigationMenu, useNavigationMenuContext } from "@ark-ui/react/navigation-menu";
4
4
  import { clsx } from "clsx";
5
- import { Children, forwardRef, isValidElement } from "react";
6
- import { normalizeClassName } from "../../internal/normalizeClassName.js";
5
+ import { forwardRef } from "react";
7
6
  import NavigationMenu_module from "./NavigationMenu.module.js";
8
7
  const NavigationMenu_NavigationMenuRoot = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
9
8
  return /*#__PURE__*/ jsx(NavigationMenu.Root, {
10
9
  ref: ref,
11
10
  "data-slot": "navigation-menu-root",
12
- className: clsx(NavigationMenu_module.root, normalizeClassName(className)),
11
+ className: clsx(NavigationMenu_module.root, className),
13
12
  ...props
14
13
  });
15
14
  });
@@ -17,7 +16,7 @@ const NavigationMenu_NavigationMenuRootProvider = /*#__PURE__*/ forwardRef(funct
17
16
  return /*#__PURE__*/ jsx(NavigationMenu.RootProvider, {
18
17
  ref: ref,
19
18
  "data-slot": "navigation-menu-root-provider",
20
- className: clsx(NavigationMenu_module.root, normalizeClassName(className)),
19
+ className: clsx(NavigationMenu_module.root, className),
21
20
  ...props
22
21
  });
23
22
  });
@@ -25,7 +24,7 @@ const NavigationMenu_NavigationMenuList = /*#__PURE__*/ forwardRef(function({ cl
25
24
  return /*#__PURE__*/ jsx(NavigationMenu.List, {
26
25
  ref: ref,
27
26
  "data-slot": "navigation-menu-list",
28
- className: clsx(NavigationMenu_module.list, normalizeClassName(className)),
27
+ className: clsx(NavigationMenu_module.list, className),
29
28
  ...props
30
29
  });
31
30
  });
@@ -33,7 +32,7 @@ const NavigationMenu_NavigationMenuItem = /*#__PURE__*/ forwardRef(function({ cl
33
32
  return /*#__PURE__*/ jsx(NavigationMenu.Item, {
34
33
  ref: ref,
35
34
  "data-slot": "navigation-menu-item",
36
- className: clsx(NavigationMenu_module.item, normalizeClassName(className)),
35
+ className: clsx(NavigationMenu_module.item, className),
37
36
  ...props
38
37
  });
39
38
  });
@@ -42,41 +41,23 @@ const NavigationMenu_NavigationMenuTrigger = /*#__PURE__*/ forwardRef(function({
42
41
  ref: ref,
43
42
  asChild: asChild,
44
43
  "data-slot": "navigation-menu-trigger",
45
- className: clsx(!asChild && NavigationMenu_module.trigger, normalizeClassName(className)),
44
+ className: clsx(!asChild && NavigationMenu_module.trigger, className),
46
45
  ...props
47
46
  });
48
47
  });
49
- const NavigationMenu_NavigationMenuContent = /*#__PURE__*/ forwardRef(function({ asChild, className, children, ...props }, ref) {
50
- if (asChild) return /*#__PURE__*/ jsx(NavigationMenu.Content, {
48
+ const NavigationMenu_NavigationMenuContent = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
49
+ return /*#__PURE__*/ jsx(NavigationMenu.Content, {
51
50
  ref: ref,
52
- asChild: true,
53
51
  "data-slot": "navigation-menu-content",
54
- className: clsx(NavigationMenu_module.content, normalizeClassName(className)),
55
- ...props,
56
- children: children
57
- });
58
- const childrenArray = Children.toArray(children);
59
- const indicators = childrenArray.filter((child)=>/*#__PURE__*/ isValidElement(child) && child.type === NavigationMenu_NavigationMenuIndicator);
60
- const content = childrenArray.filter((child)=>!/*#__PURE__*/ isValidElement(child) || child.type !== NavigationMenu_NavigationMenuIndicator);
61
- return /*#__PURE__*/ jsxs(NavigationMenu.Content, {
62
- ref: ref,
63
- "data-slot": "navigation-menu-content",
64
- className: clsx(NavigationMenu_module.content, normalizeClassName(className)),
65
- ...props,
66
- children: [
67
- indicators,
68
- /*#__PURE__*/ jsx("div", {
69
- className: NavigationMenu_module.contentViewport,
70
- children: content
71
- })
72
- ]
52
+ className: clsx(NavigationMenu_module.content, className),
53
+ ...props
73
54
  });
74
55
  });
75
56
  const NavigationMenu_NavigationMenuLink = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
76
57
  return /*#__PURE__*/ jsx(NavigationMenu.Link, {
77
58
  ref: ref,
78
59
  "data-slot": "navigation-menu-link",
79
- className: clsx(NavigationMenu_module.link, normalizeClassName(className)),
60
+ className: clsx(NavigationMenu_module.link, className),
80
61
  ...props
81
62
  });
82
63
  });
@@ -84,7 +65,7 @@ const NavigationMenu_NavigationMenuIndicator = /*#__PURE__*/ forwardRef(function
84
65
  return /*#__PURE__*/ jsx(NavigationMenu.Indicator, {
85
66
  ref: ref,
86
67
  "data-slot": "navigation-menu-indicator",
87
- className: clsx(NavigationMenu_module.indicator, normalizeClassName(className)),
68
+ className: clsx(NavigationMenu_module.indicator, className),
88
69
  ...props
89
70
  });
90
71
  });
@@ -92,7 +73,7 @@ const NavigationMenu_NavigationMenuItemIndicator = /*#__PURE__*/ forwardRef(func
92
73
  return /*#__PURE__*/ jsx(NavigationMenu.ItemIndicator, {
93
74
  ref: ref,
94
75
  "data-slot": "navigation-menu-item-indicator",
95
- className: clsx(NavigationMenu_module.itemIndicator, normalizeClassName(className)),
76
+ className: clsx(NavigationMenu_module.itemIndicator, className),
96
77
  ...props
97
78
  });
98
79
  });
@@ -100,7 +81,7 @@ const NavigationMenu_NavigationMenuArrow = /*#__PURE__*/ forwardRef(function({ c
100
81
  return /*#__PURE__*/ jsx(NavigationMenu.Arrow, {
101
82
  ref: ref,
102
83
  "data-slot": "navigation-menu-arrow",
103
- className: clsx(NavigationMenu_module.arrow, normalizeClassName(className)),
84
+ className: clsx(NavigationMenu_module.arrow, className),
104
85
  ...props
105
86
  });
106
87
  });
@@ -108,7 +89,7 @@ const NavigationMenu_NavigationMenuViewportPositioner = /*#__PURE__*/ forwardRef
108
89
  return /*#__PURE__*/ jsx(NavigationMenu.ViewportPositioner, {
109
90
  ref: ref,
110
91
  "data-slot": "navigation-menu-viewport-positioner",
111
- className: clsx(NavigationMenu_module.viewportPositioner, normalizeClassName(className)),
92
+ className: clsx(NavigationMenu_module.viewportPositioner, className),
112
93
  ...props
113
94
  });
114
95
  });
@@ -116,7 +97,7 @@ const NavigationMenu_NavigationMenuViewport = /*#__PURE__*/ forwardRef(function(
116
97
  return /*#__PURE__*/ jsx(NavigationMenu.Viewport, {
117
98
  ref: ref,
118
99
  "data-slot": "navigation-menu-viewport",
119
- className: clsx(NavigationMenu_module.viewport, normalizeClassName(className)),
100
+ className: clsx(NavigationMenu_module.viewport, className),
120
101
  ...props
121
102
  });
122
103
  });
@@ -5,15 +5,14 @@ const NavigationMenu_module = {
5
5
  item: "item-LmKKOe",
6
6
  viewportPositioner: "viewportPositioner-hUgOWA",
7
7
  viewport: "viewport-Gtf85E",
8
+ indicator: "indicator-f9Famp",
9
+ content: "content-dvfEnJ",
8
10
  trigger: "trigger-Qt8Wrp",
9
11
  link: "link-HFA7O5",
10
- content: "content-dvfEnJ",
11
12
  "navigation-menu-content-in": "navigation-menu-content-in-z6oz3S",
12
13
  navigationMenuContentIn: "navigation-menu-content-in-z6oz3S",
13
14
  "navigation-menu-content-out": "navigation-menu-content-out-PRe3xI",
14
15
  navigationMenuContentOut: "navigation-menu-content-out-PRe3xI",
15
- contentViewport: "contentViewport-MCA9d7",
16
- indicator: "indicator-f9Famp",
17
16
  "navigation-menu-indicator-in": "navigation-menu-indicator-in-CVxbn2",
18
17
  navigationMenuIndicatorIn: "navigation-menu-indicator-in-CVxbn2",
19
18
  "navigation-menu-indicator-out": "navigation-menu-indicator-out-rEIfTV",
@@ -1,7 +1,6 @@
1
1
  @layer moduix.components {
2
2
  .root-l1uCDR {
3
3
  box-sizing: border-box;
4
- inline-size: -moz-fit-content;
5
4
  inline-size: fit-content;
6
5
  min-inline-size: 0;
7
6
  max-inline-size: 100%;
@@ -32,10 +31,14 @@
32
31
  position: relative;
33
32
  }
34
33
 
35
- .root-l1uCDR:has( > .viewportPositioner-hUgOWA > .viewport-Gtf85E) .item-LmKKOe {
34
+ :is(.root-l1uCDR:has( > .viewportPositioner-hUgOWA > .viewport-Gtf85E) .item-LmKKOe, .list-vJ6fy3:has( > .indicator-f9Famp) .item-LmKKOe) {
36
35
  position: static;
37
36
  }
38
37
 
38
+ .list-vJ6fy3:has( > .indicator-f9Famp) .content-dvfEnJ[data-state="closed"] {
39
+ animation: none;
40
+ }
41
+
39
42
  .trigger-Qt8Wrp, .link-HFA7O5 {
40
43
  box-sizing: border-box;
41
44
  min-block-size: var(--moduix-navigation-menu-trigger-height, var(--moduix-size-md));
@@ -109,6 +112,8 @@
109
112
  calc(100vw - var(--moduix-spacing-6)));
110
113
  max-inline-size: min(var(--moduix-navigation-menu-content-max-width, 20rem),
111
114
  calc(100vw - var(--moduix-spacing-6)));
115
+ max-block-size: min(var(--moduix-navigation-menu-content-max-height, 24rem),
116
+ calc(100dvh - var(--moduix-spacing-6)));
112
117
  outline: var(--moduix-navigation-menu-content-border-width, var(--moduix-border-width-sm)) solid
113
118
  var(--moduix-navigation-menu-content-border-color, var(--moduix-color-border));
114
119
  border-radius: var(--moduix-navigation-menu-content-radius, var(--moduix-radius-md));
@@ -123,7 +128,7 @@
123
128
  position: absolute;
124
129
  inset-block-start: calc(100% + var(--moduix-navigation-menu-content-offset, var(--moduix-spacing-2)));
125
130
  inset-inline-start: 0;
126
- overflow: visible;
131
+ overflow: auto;
127
132
  }
128
133
 
129
134
  .content-dvfEnJ[dir="rtl"] {
@@ -145,16 +150,6 @@
145
150
  pointer-events: none;
146
151
  }
147
152
 
148
- .contentViewport-MCA9d7 {
149
- z-index: 1;
150
- max-block-size: min(var(--moduix-navigation-menu-content-max-height, 24rem),
151
- calc(100dvh - var(--moduix-spacing-6)));
152
- flex-direction: column;
153
- display: flex;
154
- position: relative;
155
- overflow: auto;
156
- }
157
-
158
153
  .content-dvfEnJ .link-HFA7O5 {
159
154
  margin-inline: var(--moduix-popup-highlight-inset-x, var(--moduix-spacing-1));
160
155
  border-radius: var(--moduix-navigation-menu-content-link-radius, var(--moduix-radius-sm));
@@ -187,13 +182,15 @@
187
182
  }
188
183
 
189
184
  .list-vJ6fy3 > .indicator-f9Famp {
185
+ z-index: calc(var(--moduix-navigation-menu-content-z-index, var(--moduix-z-popup)) + 1);
190
186
  inset-block-start: auto;
191
187
  inset-block-end: calc(-1 * var(--moduix-navigation-menu-indicator-size, var(--moduix-spacing-2-5)));
192
188
  }
193
189
 
194
190
  .arrow-oIu4Ws {
195
- inline-size: var(--moduix-navigation-menu-arrow-size, var(--moduix-spacing-2-5));
196
- block-size: var(--moduix-navigation-menu-arrow-size, var(--moduix-spacing-2-5));
191
+ --arrow-size: var(--moduix-navigation-menu-arrow-size, var(--moduix-spacing-2-5));
192
+ inline-size: var(--arrow-size);
193
+ block-size: var(--arrow-size);
197
194
  border-block-start: var(--moduix-navigation-menu-content-border-width, var(--moduix-border-width-sm))
198
195
  solid
199
196
  var(--moduix-navigation-menu-arrow-stroke-color, var(--moduix-navigation-menu-content-border-color, var(--moduix-color-border)));
@@ -230,17 +227,6 @@
230
227
  translate: 0;
231
228
  }
232
229
 
233
- .viewportPositioner-hUgOWA > .indicator-f9Famp {
234
- z-index: 1;
235
- translate: calc(var(--trigger-x, 0px) - var(--viewport-x, 0px)) 0;
236
- inset-block-start: calc(var(--moduix-navigation-menu-viewport-offset, var(--moduix-spacing-2)) -
237
- var(--moduix-navigation-menu-indicator-size, var(--moduix-spacing-2-5)));
238
- }
239
-
240
- .viewportPositioner-hUgOWA[data-orientation="horizontal"] > .indicator-f9Famp {
241
- overflow: hidden;
242
- }
243
-
244
230
  .viewport-Gtf85E {
245
231
  box-sizing: border-box;
246
232
  inline-size: var(--viewport-width);
@@ -262,7 +248,7 @@
262
248
  block-size
263
249
  var(--moduix-navigation-menu-viewport-transition, var(--moduix-popup-motion-duration, var(--moduix-duration-normal))
264
250
  var(--moduix-popup-motion-easing, var(--moduix-ease-in-out)));
265
- margin-block-start: var(--moduix-navigation-menu-viewport-offset, var(--moduix-spacing-2));
251
+ margin-block-start: var(--moduix-navigation-menu-viewport-offset, var(--moduix-navigation-menu-indicator-size, var(--moduix-spacing-2-5)));
266
252
  position: relative;
267
253
  overflow: hidden;
268
254
  }
@@ -288,6 +274,7 @@
288
274
  }
289
275
 
290
276
  .viewport-Gtf85E .content-dvfEnJ {
277
+ max-block-size: none;
291
278
  box-shadow: none;
292
279
  transform-origin: center;
293
280
  will-change: translate, opacity;
@@ -297,11 +284,7 @@
297
284
  margin: 0;
298
285
  position: absolute;
299
286
  inset: 0 auto auto 0;
300
- }
301
-
302
- .viewport-Gtf85E .contentViewport-MCA9d7 {
303
- z-index: 2;
304
- max-block-size: none;
287
+ overflow: visible;
305
288
  }
306
289
 
307
290
  .viewport-Gtf85E .content-dvfEnJ[data-state] {