@moduix/react 1.1.1 → 2.0.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 (254) hide show
  1. package/README.md +16 -16
  2. package/dist/components/accordion/Accordion.css +8 -1
  3. package/dist/components/accordion/Accordion.d.ts +3 -2
  4. package/dist/components/accordion/Accordion.js +17 -5
  5. package/dist/components/accordion/Accordion.module.js +1 -0
  6. package/dist/components/accordion/index.d.ts +2 -2
  7. package/dist/components/alert/Alert.css +19 -5
  8. package/dist/components/alert/Alert.d.ts +5 -3
  9. package/dist/components/alert/Alert.js +17 -5
  10. package/dist/components/alert/Alert.module.js +1 -0
  11. package/dist/components/angle-slider/AngleSlider.d.ts +18 -2
  12. package/dist/components/angle-slider/AngleSlider.js +34 -18
  13. package/dist/components/angle-slider/index.d.ts +2 -2
  14. package/dist/components/aspect-ratio/AspectRatio.css +3 -1
  15. package/dist/components/aspect-ratio/AspectRatio.js +2 -2
  16. package/dist/components/avatar/Avatar.d.ts +6 -3
  17. package/dist/components/avatar/Avatar.js +12 -5
  18. package/dist/components/avatar/index.d.ts +2 -2
  19. package/dist/components/badge/Badge.css +44 -1
  20. package/dist/components/badge/Badge.d.ts +2 -2
  21. package/dist/components/badge/Badge.js +1 -1
  22. package/dist/components/bleed/Bleed.d.ts +6 -4
  23. package/dist/components/bleed/Bleed.js +3 -3
  24. package/dist/components/breadcrumbs/Breadcrumbs.css +7 -1
  25. package/dist/components/breadcrumbs/Breadcrumbs.d.ts +18 -0
  26. package/dist/components/breadcrumbs/Breadcrumbs.js +18 -4
  27. package/dist/components/breadcrumbs/Breadcrumbs.module.js +2 -1
  28. package/dist/components/breadcrumbs/index.d.ts +2 -0
  29. package/dist/components/button/Button.css +21 -1
  30. package/dist/components/button/Button.d.ts +6 -0
  31. package/dist/components/button/Button.js +12 -7
  32. package/dist/components/card/Card.css +20 -4
  33. package/dist/components/card/Card.d.ts +1 -0
  34. package/dist/components/card/Card.js +12 -1
  35. package/dist/components/card/Card.module.js +1 -0
  36. package/dist/components/carousel/Carousel.css +2 -0
  37. package/dist/components/carousel/Carousel.d.ts +4 -0
  38. package/dist/components/carousel/Carousel.js +15 -2
  39. package/dist/components/checkbox/Checkbox.d.ts +2 -3
  40. package/dist/components/checkbox/Checkbox.js +25 -22
  41. package/dist/components/checkbox/index.d.ts +2 -2
  42. package/dist/components/clipboard/Clipboard.css +1 -1
  43. package/dist/components/clipboard/Clipboard.d.ts +2 -0
  44. package/dist/components/clipboard/Clipboard.js +15 -4
  45. package/dist/components/close-button/CloseButton.d.ts +12 -2
  46. package/dist/components/close-button/CloseButton.js +9 -9
  47. package/dist/components/collapsible/Collapsible.css +9 -2
  48. package/dist/components/collapsible/Collapsible.d.ts +3 -2
  49. package/dist/components/collapsible/Collapsible.js +18 -6
  50. package/dist/components/collapsible/Collapsible.module.js +1 -0
  51. package/dist/components/collapsible/index.d.ts +2 -2
  52. package/dist/components/color-picker/ColorPicker.css +35 -6
  53. package/dist/components/color-picker/ColorPicker.d.ts +3 -3
  54. package/dist/components/color-picker/ColorPicker.js +78 -27
  55. package/dist/components/color-picker/ColorPicker.module.js +1 -0
  56. package/dist/components/color-picker/index.d.ts +2 -2
  57. package/dist/components/combobox/Combobox.css +37 -8
  58. package/dist/components/combobox/Combobox.d.ts +9 -2
  59. package/dist/components/combobox/Combobox.js +34 -8
  60. package/dist/components/combobox/index.d.ts +2 -2
  61. package/dist/components/command-palette/CommandPalette.css +40 -74
  62. package/dist/components/command-palette/CommandPalette.d.ts +13 -3
  63. package/dist/components/command-palette/CommandPalette.js +54 -43
  64. package/dist/components/command-palette/CommandPalette.module.js +0 -2
  65. package/dist/components/container/Container.js +1 -1
  66. package/dist/components/date-input/DateInput.css +3 -1
  67. package/dist/components/date-input/DateInput.d.ts +12 -7
  68. package/dist/components/date-input/DateInput.js +35 -14
  69. package/dist/components/date-input/index.d.ts +2 -2
  70. package/dist/components/date-picker/DatePicker.css +41 -13
  71. package/dist/components/date-picker/DatePicker.d.ts +30 -2
  72. package/dist/components/date-picker/DatePicker.js +94 -9
  73. package/dist/components/date-picker/index.d.ts +2 -2
  74. package/dist/components/dialog/Dialog.css +14 -10
  75. package/dist/components/dialog/Dialog.d.ts +2 -2
  76. package/dist/components/dialog/Dialog.js +3 -3
  77. package/dist/components/dialog/index.d.ts +2 -2
  78. package/dist/components/drawer/Drawer.d.ts +2 -2
  79. package/dist/components/drawer/Drawer.js +3 -3
  80. package/dist/components/drawer/index.d.ts +2 -2
  81. package/dist/components/editable/Editable.d.ts +9 -2
  82. package/dist/components/editable/Editable.js +14 -5
  83. package/dist/components/editable/index.d.ts +2 -2
  84. package/dist/components/empty/Empty.js +1 -1
  85. package/dist/components/field/Field.css +0 -4
  86. package/dist/components/field/Field.d.ts +3 -2
  87. package/dist/components/field/Field.js +6 -5
  88. package/dist/components/field/Field.module.js +0 -1
  89. package/dist/components/field/index.d.ts +2 -2
  90. package/dist/components/fieldset/Fieldset.d.ts +2 -2
  91. package/dist/components/fieldset/Fieldset.js +3 -3
  92. package/dist/components/fieldset/index.d.ts +2 -2
  93. package/dist/components/file-upload/FileUpload.css +81 -8
  94. package/dist/components/file-upload/FileUpload.d.ts +22 -5
  95. package/dist/components/file-upload/FileUpload.js +79 -21
  96. package/dist/components/file-upload/FileUpload.module.js +3 -0
  97. package/dist/components/file-upload/index.d.ts +2 -2
  98. package/dist/components/floating-panel/FloatingPanel.css +14 -10
  99. package/dist/components/floating-panel/FloatingPanel.d.ts +11 -3
  100. package/dist/components/floating-panel/FloatingPanel.js +15 -9
  101. package/dist/components/heading/Heading.js +1 -1
  102. package/dist/components/highlight/Highlight.js +1 -1
  103. package/dist/components/hover-card/HoverCard.css +14 -10
  104. package/dist/components/hover-card/HoverCard.d.ts +3 -2
  105. package/dist/components/hover-card/HoverCard.js +5 -4
  106. package/dist/components/hover-card/index.d.ts +2 -2
  107. package/dist/components/image/Image.css +7 -0
  108. package/dist/components/image/Image.d.ts +12 -0
  109. package/dist/components/image/Image.js +28 -0
  110. package/dist/components/image/Image.module.js +5 -0
  111. package/dist/components/image/index.d.ts +2 -0
  112. package/dist/components/image-cropper/ImageCropper.d.ts +7 -2
  113. package/dist/components/image-cropper/ImageCropper.js +25 -3
  114. package/dist/components/image-cropper/index.d.ts +2 -2
  115. package/dist/components/input/Input.js +1 -1
  116. package/dist/components/input-group/InputGroup.d.ts +3 -0
  117. package/dist/components/input-group/InputGroup.js +1 -1
  118. package/dist/components/kbd/Kbd.js +1 -1
  119. package/dist/components/lightbox/Lightbox.css +12 -10
  120. package/dist/components/lightbox/Lightbox.d.ts +4 -2
  121. package/dist/components/lightbox/Lightbox.js +9 -7
  122. package/dist/components/lightbox/index.d.ts +2 -2
  123. package/dist/components/list/List.js +1 -1
  124. package/dist/components/listbox/Listbox.css +60 -1
  125. package/dist/components/listbox/Listbox.d.ts +14 -2
  126. package/dist/components/listbox/Listbox.js +41 -5
  127. package/dist/components/listbox/Listbox.module.js +3 -0
  128. package/dist/components/listbox/index.d.ts +2 -2
  129. package/dist/components/marquee/Marquee.d.ts +2 -1
  130. package/dist/components/marquee/Marquee.js +4 -3
  131. package/dist/components/marquee/index.d.ts +2 -2
  132. package/dist/components/menu/Menu.css +14 -8
  133. package/dist/components/menu/Menu.d.ts +3 -2
  134. package/dist/components/menu/Menu.js +6 -5
  135. package/dist/components/menu/index.d.ts +2 -2
  136. package/dist/components/native-select/NativeSelect.d.ts +6 -2
  137. package/dist/components/native-select/NativeSelect.js +5 -4
  138. package/dist/components/number-input/NumberInput.css +0 -6
  139. package/dist/components/number-input/NumberInput.d.ts +7 -2
  140. package/dist/components/number-input/NumberInput.js +17 -4
  141. package/dist/components/number-input/index.d.ts +2 -2
  142. package/dist/components/pagination/Pagination.d.ts +4 -0
  143. package/dist/components/pagination/Pagination.js +13 -4
  144. package/dist/components/password-input/PasswordInput.d.ts +4 -0
  145. package/dist/components/password-input/PasswordInput.js +10 -2
  146. package/dist/components/pin-input/PinInput.d.ts +6 -1
  147. package/dist/components/pin-input/PinInput.js +25 -16
  148. package/dist/components/popover/Popover.css +20 -11
  149. package/dist/components/popover/Popover.js +1 -1
  150. package/dist/components/progress-circular/ProgressCircular.d.ts +6 -0
  151. package/dist/components/progress-circular/ProgressCircular.js +14 -3
  152. package/dist/components/progress-linear/ProgressLinear.d.ts +3 -0
  153. package/dist/components/progress-linear/ProgressLinear.js +6 -3
  154. package/dist/components/qr-code/QrCode.css +3 -2
  155. package/dist/components/qr-code/QrCode.d.ts +2 -2
  156. package/dist/components/qr-code/QrCode.js +3 -3
  157. package/dist/components/qr-code/index.d.ts +2 -2
  158. package/dist/components/radio-group/RadioGroup.d.ts +8 -4
  159. package/dist/components/radio-group/RadioGroup.js +22 -14
  160. package/dist/components/radio-group/index.d.ts +2 -2
  161. package/dist/components/rating-group/RatingGroup.css +3 -3
  162. package/dist/components/rating-group/RatingGroup.d.ts +11 -4
  163. package/dist/components/rating-group/RatingGroup.js +29 -18
  164. package/dist/components/rating-group/index.d.ts +2 -2
  165. package/dist/components/scroll-area/ScrollArea.css +7 -2
  166. package/dist/components/scroll-area/ScrollArea.d.ts +3 -0
  167. package/dist/components/scroll-area/ScrollArea.js +9 -6
  168. package/dist/components/segment-group/SegmentGroup.d.ts +13 -3
  169. package/dist/components/segment-group/SegmentGroup.js +23 -15
  170. package/dist/components/segment-group/index.d.ts +2 -2
  171. package/dist/components/select/Select.css +24 -15
  172. package/dist/components/select/Select.d.ts +18 -4
  173. package/dist/components/select/Select.js +65 -20
  174. package/dist/components/separator/Separator.js +1 -1
  175. package/dist/components/sidebar/Sidebar.css +144 -4
  176. package/dist/components/sidebar/Sidebar.d.ts +26 -0
  177. package/dist/components/sidebar/Sidebar.js +105 -13
  178. package/dist/components/sidebar/Sidebar.module.js +6 -0
  179. package/dist/components/signature-pad/SignaturePad.css +12 -41
  180. package/dist/components/signature-pad/SignaturePad.d.ts +14 -6
  181. package/dist/components/signature-pad/SignaturePad.js +56 -17
  182. package/dist/components/signature-pad/index.d.ts +2 -2
  183. package/dist/components/simple-grid/SimpleGrid.js +3 -3
  184. package/dist/components/skeleton/Skeleton.js +1 -1
  185. package/dist/components/slider/Slider.css +6 -4
  186. package/dist/components/slider/Slider.d.ts +12 -3
  187. package/dist/components/slider/Slider.js +24 -15
  188. package/dist/components/slider/index.d.ts +2 -2
  189. package/dist/components/spinner/Spinner.js +2 -2
  190. package/dist/components/split-button/SplitButton.d.ts +1 -1
  191. package/dist/components/split-button/SplitButton.js +3 -4
  192. package/dist/components/splitter/Splitter.css +13 -12
  193. package/dist/components/splitter/Splitter.d.ts +2 -2
  194. package/dist/components/splitter/Splitter.js +12 -11
  195. package/dist/components/splitter/index.d.ts +2 -2
  196. package/dist/components/stack/Stack.d.ts +1 -3
  197. package/dist/components/stack/Stack.js +4 -6
  198. package/dist/components/steps/Steps.d.ts +2 -1
  199. package/dist/components/steps/Steps.js +5 -4
  200. package/dist/components/swap/Swap.css +45 -0
  201. package/dist/components/swap/Swap.d.ts +11 -0
  202. package/dist/components/swap/Swap.js +39 -0
  203. package/dist/components/swap/Swap.module.js +11 -0
  204. package/dist/components/swap/index.d.ts +2 -0
  205. package/dist/components/switch/Switch.css +2 -2
  206. package/dist/components/switch/Switch.d.ts +4 -4
  207. package/dist/components/switch/Switch.js +19 -16
  208. package/dist/components/switch/index.d.ts +2 -2
  209. package/dist/components/table/Table.css +3 -3
  210. package/dist/components/table/Table.js +3 -2
  211. package/dist/components/table/Table.module.js +0 -1
  212. package/dist/components/tabs/Tabs.css +3 -1
  213. package/dist/components/tabs/Tabs.d.ts +3 -2
  214. package/dist/components/tabs/Tabs.js +5 -4
  215. package/dist/components/tabs/index.d.ts +2 -2
  216. package/dist/components/tag/Tag.css +12 -42
  217. package/dist/components/tag/Tag.js +7 -20
  218. package/dist/components/tags-input/TagsInput.css +3 -40
  219. package/dist/components/tags-input/TagsInput.d.ts +7 -4
  220. package/dist/components/tags-input/TagsInput.js +33 -21
  221. package/dist/components/tags-input/index.d.ts +2 -2
  222. package/dist/components/text/Text.d.ts +2 -2
  223. package/dist/components/text/Text.js +1 -1
  224. package/dist/components/textarea/Textarea.js +1 -1
  225. package/dist/components/timer/Timer.d.ts +14 -2
  226. package/dist/components/timer/Timer.js +13 -5
  227. package/dist/components/timer/index.d.ts +2 -2
  228. package/dist/components/toast/Toast.d.ts +3 -1
  229. package/dist/components/toast/Toast.js +11 -2
  230. package/dist/components/toggle/Toggle.css +3 -3
  231. package/dist/components/toggle/Toggle.d.ts +3 -2
  232. package/dist/components/toggle/Toggle.js +5 -4
  233. package/dist/components/toggle/index.d.ts +2 -2
  234. package/dist/components/toggle-group/ToggleGroup.d.ts +3 -2
  235. package/dist/components/toggle-group/ToggleGroup.js +4 -3
  236. package/dist/components/toggle-group/index.d.ts +2 -2
  237. package/dist/components/tooltip/Tooltip.css +14 -10
  238. package/dist/components/tooltip/Tooltip.d.ts +3 -2
  239. package/dist/components/tooltip/Tooltip.js +10 -3
  240. package/dist/components/tooltip/index.d.ts +2 -2
  241. package/dist/components/tour/Tour.css +23 -18
  242. package/dist/components/tour/Tour.d.ts +6 -0
  243. package/dist/components/tour/Tour.js +8 -1
  244. package/dist/components/tree-view/TreeView.css +1 -1
  245. package/dist/components/tree-view/TreeView.d.ts +2 -2
  246. package/dist/components/tree-view/TreeView.js +4 -4
  247. package/dist/components/tree-view/index.d.ts +2 -2
  248. package/dist/index.d.ts +40 -39
  249. package/dist/index.js +40 -39
  250. package/dist/lib/moduix/icons/ui/Icons.d.ts +1 -45
  251. package/dist/lib/moduix/icons/ui/Icons.js +36 -263
  252. package/dist/lib/moduix/icons/ui/index.d.ts +2 -2
  253. package/dist/lib/moduix/overlayPortal.js +1 -1
  254. package/package.json +4 -3
@@ -67,11 +67,15 @@
67
67
  overflow: visible;
68
68
 
69
69
  &[data-state="open"] {
70
- animation: _0VaKFG_hover-card-enter var(--hover-card-transition, var(--duration-fast)) both;
70
+ animation: _0VaKFG_hover-card-enter
71
+ var(--hover-card-transition, var(--popup-motion-duration, var(--duration-fast)) var(--popup-motion-easing, ease))
72
+ both;
71
73
  }
72
74
 
73
75
  &[data-state="closed"] {
74
- animation: _0VaKFG_hover-card-exit var(--hover-card-transition, var(--duration-fast)) both;
76
+ animation: _0VaKFG_hover-card-exit
77
+ var(--hover-card-transition, var(--popup-motion-duration, var(--duration-fast)) var(--popup-motion-easing, ease))
78
+ both;
75
79
  }
76
80
  }
77
81
 
@@ -89,19 +93,19 @@
89
93
 
90
94
  @keyframes _0VaKFG_hover-card-enter {
91
95
  from {
92
- opacity: var(--hover-card-content-starting-opacity, 0);
93
- translate: var(--hover-card-content-starting-translate-x, 0)
94
- var(--hover-card-content-starting-translate-y, 0);
95
- scale: var(--hover-card-content-starting-scale, var(--scale-popup));
96
+ opacity: var(--hover-card-content-starting-opacity, var(--popup-motion-starting-opacity, 0));
97
+ translate: var(--hover-card-content-starting-translate-x, var(--popup-motion-starting-translate-x, 0))
98
+ var(--hover-card-content-starting-translate-y, var(--popup-motion-starting-translate-y, 0));
99
+ scale: var(--hover-card-content-starting-scale, var(--popup-motion-starting-scale, var(--scale-popup)));
96
100
  }
97
101
  }
98
102
 
99
103
  @keyframes _0VaKFG_hover-card-exit {
100
104
  to {
101
- opacity: var(--hover-card-content-ending-opacity, 0);
102
- translate: var(--hover-card-content-ending-translate-x, 0)
103
- var(--hover-card-content-ending-translate-y, 0);
104
- scale: var(--hover-card-content-ending-scale, var(--scale-popup));
105
+ opacity: var(--hover-card-content-ending-opacity, var(--popup-motion-ending-opacity, 0));
106
+ translate: var(--hover-card-content-ending-translate-x, var(--popup-motion-ending-translate-x, 0))
107
+ var(--hover-card-content-ending-translate-y, var(--popup-motion-ending-translate-y, 0));
108
+ scale: var(--hover-card-content-ending-scale, var(--popup-motion-ending-scale, var(--scale-popup)));
105
109
  }
106
110
  }
107
111
  }
@@ -1,6 +1,6 @@
1
1
  import { OverlayPortalProps } from "../../lib/moduix/overlayPortal.js";
2
2
  import { ComponentProps } from "react";
3
- import { HoverCard } from "@ark-ui/react/hover-card";
3
+ import { HoverCard, useHoverCard, useHoverCardContext } from "@ark-ui/react/hover-card";
4
4
 
5
5
  //#region src/components/hover-card/HoverCard.d.ts
6
6
  type HoverCardRootProps = ComponentProps<typeof HoverCard.Root> & OverlayPortalProps;
@@ -23,6 +23,7 @@ declare const HoverCard$1: typeof HoverCardRoot & {
23
23
  Content: import("react").ForwardRefExoticComponent<Omit<HoverCard.ContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
24
24
  Arrow: import("react").ForwardRefExoticComponent<Omit<HoverCard.ArrowProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
25
25
  ArrowTip: import("react").ForwardRefExoticComponent<Omit<HoverCard.ArrowTipProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
26
+ Context: (props: HoverCard.ContextProps) => import("react").ReactNode;
26
27
  };
27
28
  //#endregion
28
- export { HoverCard$1 as HoverCard };
29
+ export { HoverCard$1 as HoverCard, useHoverCard, useHoverCardContext };
@@ -1,10 +1,10 @@
1
1
  import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
2
2
  import { OverlayPortal, OverlayPortalProvider } from "../../lib/moduix/overlayPortal.js";
3
3
  import HoverCard_module_default from "./HoverCard.module.js";
4
- import { jsx } from "react/jsx-runtime";
5
4
  import { clsx } from "clsx";
6
5
  import { forwardRef } from "react";
7
- import { HoverCard } from "@ark-ui/react/hover-card";
6
+ import { jsx } from "react/jsx-runtime";
7
+ import { HoverCard, useHoverCard, useHoverCardContext } from "@ark-ui/react/hover-card";
8
8
  //#region src/components/hover-card/HoverCard.tsx
9
9
  function HoverCardRoot({ portalled, portalRef, ...props }) {
10
10
  return /* @__PURE__ */ jsx(OverlayPortalProvider, {
@@ -75,7 +75,8 @@ const HoverCard$1 = Object.assign(HoverCardRoot, {
75
75
  Positioner: HoverCardPositioner,
76
76
  Content: HoverCardContent,
77
77
  Arrow: HoverCardArrow,
78
- ArrowTip: HoverCardArrowTip
78
+ ArrowTip: HoverCardArrowTip,
79
+ Context: HoverCard.Context
79
80
  });
80
81
  //#endregion
81
- export { HoverCard$1 as HoverCard };
82
+ export { HoverCard$1 as HoverCard, useHoverCard, useHoverCardContext };
@@ -1,2 +1,2 @@
1
- import { HoverCard } from "./HoverCard.js";
2
- export { HoverCard };
1
+ import { HoverCard, useHoverCard, useHoverCardContext } from "./HoverCard.js";
2
+ export { HoverCard, useHoverCard, useHoverCardContext };
@@ -0,0 +1,7 @@
1
+ @layer ui.components {
2
+ .gMmqtq_root {
3
+ box-sizing: border-box;
4
+ border-radius: var(--image-radius, var(--radius-md));
5
+ display: block;
6
+ }
7
+ }
@@ -0,0 +1,12 @@
1
+ import { ImageProps, SourceProps } from "@unpic/react";
2
+
3
+ //#region src/components/image/Image.d.ts
4
+ type ImageSourceProps = SourceProps & {
5
+ 'data-slot'?: string;
6
+ };
7
+ declare const Image$1: import("react").ForwardRefExoticComponent<ImageProps & import("react").RefAttributes<HTMLImageElement>> & {
8
+ Root: import("react").ForwardRefExoticComponent<ImageProps & import("react").RefAttributes<HTMLImageElement>>;
9
+ Source: import("react").ForwardRefExoticComponent<ImageSourceProps & import("react").RefAttributes<HTMLSourceElement>>;
10
+ };
11
+ //#endregion
12
+ export { Image$1 as Image };
@@ -0,0 +1,28 @@
1
+ import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
2
+ import Image_module_default from "./Image.module.js";
3
+ import { clsx } from "clsx";
4
+ import { forwardRef } from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import { Image, Source } from "@unpic/react";
7
+ //#region src/components/image/Image.tsx
8
+ const ImageRoot = forwardRef(function ImageRoot({ className, ...props }, ref) {
9
+ return /* @__PURE__ */ jsx(Image, {
10
+ ref,
11
+ "data-slot": "image-root",
12
+ className: clsx(Image_module_default.root, normalizeClassName(className)),
13
+ ...props
14
+ });
15
+ });
16
+ const ImageSource = forwardRef(function ImageSource(props, ref) {
17
+ return /* @__PURE__ */ jsx(Source, {
18
+ ref,
19
+ "data-slot": "image-source",
20
+ ...props
21
+ });
22
+ });
23
+ const Image$1 = Object.assign(ImageRoot, {
24
+ Root: ImageRoot,
25
+ Source: ImageSource
26
+ });
27
+ //#endregion
28
+ export { Image$1 as Image };
@@ -0,0 +1,5 @@
1
+ import './Image.css';
2
+ //#region src/components/image/Image.module.css
3
+ var Image_module_default = { "root": "gMmqtq_root" };
4
+ //#endregion
5
+ export { Image_module_default as default };
@@ -0,0 +1,2 @@
1
+ import { Image } from "./Image.js";
2
+ export { Image };
@@ -1,15 +1,20 @@
1
- import { ImageCropper } from "@ark-ui/react/image-cropper";
1
+ import { ImageCropper, useImageCropper } from "@ark-ui/react/image-cropper";
2
2
 
3
3
  //#region src/components/image-cropper/ImageCropper.d.ts
4
4
  declare const ImageCropper$1: import("react").ForwardRefExoticComponent<Omit<ImageCropper.RootProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>> & {
5
5
  Root: import("react").ForwardRefExoticComponent<Omit<ImageCropper.RootProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
6
6
  RootProvider: import("react").ForwardRefExoticComponent<Omit<ImageCropper.RootProviderProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
7
+ Context: (props: ImageCropper.ContextProps) => import("react").ReactNode;
7
8
  Viewport: import("react").ForwardRefExoticComponent<Omit<ImageCropper.ViewportProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
8
9
  Image: import("react").ForwardRefExoticComponent<Omit<ImageCropper.ImageProps & import("react").RefAttributes<HTMLImageElement>, "ref"> & import("react").RefAttributes<HTMLImageElement>>;
9
10
  Selection: import("react").ForwardRefExoticComponent<Omit<ImageCropper.SelectionProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
10
11
  Grid: import("react").ForwardRefExoticComponent<Omit<ImageCropper.GridProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
11
12
  Handle: import("react").ForwardRefExoticComponent<Omit<ImageCropper.HandleProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
13
+ CropArea: import("react").ForwardRefExoticComponent<Omit<ImageCropper.SelectionProps & import("react").RefAttributes<HTMLDivElement> & {
14
+ gridClassName?: string;
15
+ handleClassName?: string;
16
+ }, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
12
17
  handles: ImageCropper.HandlePosition[];
13
18
  };
14
19
  //#endregion
15
- export { ImageCropper$1 as ImageCropper };
20
+ export { ImageCropper$1 as ImageCropper, useImageCropper };
@@ -1,9 +1,9 @@
1
1
  import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
2
2
  import ImageCropper_module_default from "./ImageCropper.module.js";
3
- import { jsx } from "react/jsx-runtime";
4
3
  import { clsx } from "clsx";
5
4
  import { forwardRef } from "react";
6
- import { ImageCropper } from "@ark-ui/react/image-cropper";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { ImageCropper, useImageCropper } from "@ark-ui/react/image-cropper";
7
7
  //#region src/components/image-cropper/ImageCropper.tsx
8
8
  const ImageCropperRoot = forwardRef(function ImageCropperRoot({ className, ...props }, ref) {
9
9
  return /* @__PURE__ */ jsx(ImageCropper.Root, {
@@ -61,15 +61,37 @@ const ImageCropperHandle = forwardRef(function ImageCropperHandle({ className, .
61
61
  ...props
62
62
  });
63
63
  });
64
+ const ImageCropperCropArea = forwardRef(function ImageCropperCropArea({ gridClassName, handleClassName, ...props }, ref) {
65
+ return /* @__PURE__ */ jsxs(ImageCropperSelection, {
66
+ ref,
67
+ ...props,
68
+ children: [
69
+ /* @__PURE__ */ jsx(ImageCropperGrid, {
70
+ axis: "horizontal",
71
+ className: gridClassName
72
+ }),
73
+ /* @__PURE__ */ jsx(ImageCropperGrid, {
74
+ axis: "vertical",
75
+ className: gridClassName
76
+ }),
77
+ ImageCropper.handles.map((position) => /* @__PURE__ */ jsx(ImageCropperHandle, {
78
+ position,
79
+ className: handleClassName
80
+ }, position))
81
+ ]
82
+ });
83
+ });
64
84
  const ImageCropper$1 = Object.assign(ImageCropperRoot, {
65
85
  Root: ImageCropperRoot,
66
86
  RootProvider: ImageCropperRootProvider,
87
+ Context: ImageCropper.Context,
67
88
  Viewport: ImageCropperViewport,
68
89
  Image: ImageCropperImage,
69
90
  Selection: ImageCropperSelection,
70
91
  Grid: ImageCropperGrid,
71
92
  Handle: ImageCropperHandle,
93
+ CropArea: ImageCropperCropArea,
72
94
  handles: ImageCropper.handles
73
95
  });
74
96
  //#endregion
75
- export { ImageCropper$1 as ImageCropper };
97
+ export { ImageCropper$1 as ImageCropper, useImageCropper };
@@ -1,2 +1,2 @@
1
- import { ImageCropper } from "./ImageCropper.js";
2
- export { ImageCropper };
1
+ import { ImageCropper, useImageCropper } from "./ImageCropper.js";
2
+ export { ImageCropper, useImageCropper };
@@ -1,8 +1,8 @@
1
1
  import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
2
2
  import Input_module_default from "./Input.module.js";
3
- import { jsx } from "react/jsx-runtime";
4
3
  import { clsx } from "clsx";
5
4
  import { forwardRef } from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
6
  import { Field } from "@ark-ui/react/field";
7
7
  //#region src/components/input/Input.tsx
8
8
  const InputRoot = forwardRef(function InputRoot({ className, size = "md", htmlSize, ...props }, ref) {
@@ -16,8 +16,11 @@ declare const InputGroup: import("react").ForwardRefExoticComponent<Omit<import(
16
16
  Addon: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLSpanElement>>;
17
17
  Text: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLSpanElement>>;
18
18
  Button: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & {
19
+ loading?: boolean;
19
20
  variant?: "default" | "outline" | "secondary" | "destructive" | "destructive-outline" | "ghost" | "link";
20
21
  size?: "xs" | "sm" | "md" | "lg" | "xl" | "icon-sm" | "icon-md" | "icon-lg";
22
+ 'data-scope'?: string;
23
+ 'data-part'?: string;
21
24
  'data-slot'?: string;
22
25
  } & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
23
26
  };
@@ -2,10 +2,10 @@ import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
2
2
  import { Button } from "../button/Button.js";
3
3
  import { Input } from "../input/Input.js";
4
4
  import InputGroup_module_default from "./InputGroup.module.js";
5
- import { jsx } from "react/jsx-runtime";
6
5
  import { ark } from "@ark-ui/react/factory";
7
6
  import { clsx } from "clsx";
8
7
  import { createContext, forwardRef, useContext } from "react";
8
+ import { jsx } from "react/jsx-runtime";
9
9
  //#region src/components/input-group/InputGroup.tsx
10
10
  const InputGroupSizeContext = createContext("md");
11
11
  const InputGroupRoot = forwardRef(function InputGroupRoot({ children, className, size = "md", ...props }, ref) {
@@ -1,9 +1,9 @@
1
1
  import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
2
2
  import Kbd_module_default from "./Kbd.module.js";
3
- import { jsx } from "react/jsx-runtime";
4
3
  import { ark } from "@ark-ui/react/factory";
5
4
  import { clsx } from "clsx";
6
5
  import { forwardRef } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
7
  //#region src/components/kbd/Kbd.tsx
8
8
  const KbdRoot = forwardRef(function KbdRoot({ className, ...props }, ref) {
9
9
  return /* @__PURE__ */ jsx(ark.kbd, {
@@ -52,11 +52,13 @@
52
52
  position: relative;
53
53
 
54
54
  &[data-state="open"] {
55
- animation: BCq4HG_lightbox-content-in var(--lightbox-transition, .22s ease);
55
+ animation: BCq4HG_lightbox-content-in
56
+ var(--lightbox-transition, var(--popup-motion-duration, .22s) var(--popup-motion-easing, ease));
56
57
  }
57
58
 
58
59
  &[data-state="closed"] {
59
- animation: BCq4HG_lightbox-content-out var(--lightbox-transition, .22s ease);
60
+ animation: BCq4HG_lightbox-content-out
61
+ var(--lightbox-transition, var(--popup-motion-duration, .22s) var(--popup-motion-easing, ease));
60
62
  }
61
63
  }
62
64
 
@@ -224,19 +226,19 @@
224
226
 
225
227
  @keyframes BCq4HG_lightbox-content-in {
226
228
  from {
227
- opacity: var(--lightbox-content-starting-opacity, 0);
228
- translate: var(--lightbox-content-starting-translate-x, 0)
229
- var(--lightbox-content-starting-translate-y, 0);
230
- scale: var(--lightbox-content-starting-scale, .82);
229
+ opacity: var(--lightbox-content-starting-opacity, var(--popup-motion-starting-opacity, 0));
230
+ translate: var(--lightbox-content-starting-translate-x, var(--popup-motion-starting-translate-x, 0))
231
+ var(--lightbox-content-starting-translate-y, var(--popup-motion-starting-translate-y, 0));
232
+ scale: var(--lightbox-content-starting-scale, var(--popup-motion-starting-scale, .82));
231
233
  }
232
234
  }
233
235
 
234
236
  @keyframes BCq4HG_lightbox-content-out {
235
237
  to {
236
- opacity: var(--lightbox-content-ending-opacity, 0);
237
- translate: var(--lightbox-content-ending-translate-x, 0)
238
- var(--lightbox-content-ending-translate-y, 0);
239
- scale: var(--lightbox-content-ending-scale, .82);
238
+ opacity: var(--lightbox-content-ending-opacity, var(--popup-motion-ending-opacity, 0));
239
+ translate: var(--lightbox-content-ending-translate-x, var(--popup-motion-ending-translate-x, 0))
240
+ var(--lightbox-content-ending-translate-y, var(--popup-motion-ending-translate-y, 0));
241
+ scale: var(--lightbox-content-ending-scale, var(--popup-motion-ending-scale, .82));
240
242
  }
241
243
  }
242
244
  }
@@ -1,6 +1,6 @@
1
1
  import { OverlayPortalProps } from "../../lib/moduix/overlayPortal.js";
2
2
  import { ComponentProps, RefObject } from "react";
3
- import { Dialog } from "@ark-ui/react/dialog";
3
+ import { Dialog, useDialog as useDialog$1, useDialogContext as useDialogContext$1 } from "@ark-ui/react/dialog";
4
4
 
5
5
  //#region src/components/lightbox/Lightbox.d.ts
6
6
  type LightboxImageSelectDetails = {
@@ -66,6 +66,8 @@ declare const Lightbox: typeof LightboxRoot & {
66
66
  Image: import("react").ForwardRefExoticComponent<Omit<LightboxImageProps, "ref"> & import("react").RefAttributes<HTMLImageElement>>;
67
67
  Gallery: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
68
68
  Bind: typeof LightboxBind;
69
+ useLightbox: (props?: import("@ark-ui/react/dialog").UseDialogProps) => import("@ark-ui/react/dialog").UseDialogReturn;
70
+ useLightboxContext: () => import("@ark-ui/react/dialog").UseDialogContext;
69
71
  };
70
72
  //#endregion
71
- export { Lightbox, LightboxBind, type LightboxBindProps, LightboxGallery, LightboxImage, type LightboxImageSelectDetails };
73
+ export { Lightbox, LightboxBind, type LightboxBindProps, LightboxGallery, LightboxImage, type LightboxImageSelectDetails, useDialog$1 as useLightbox, useDialogContext$1 as useLightboxContext };
@@ -2,10 +2,10 @@ import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
2
2
  import { CloseButton } from "../close-button/CloseButton.js";
3
3
  import { OverlayPortal, OverlayPortalProvider } from "../../lib/moduix/overlayPortal.js";
4
4
  import Lightbox_module_default from "./Lightbox.module.js";
5
- import { jsx } from "react/jsx-runtime";
6
5
  import { clsx } from "clsx";
7
6
  import { forwardRef, useEffect } from "react";
8
- import { Dialog, useDialogContext } from "@ark-ui/react/dialog";
7
+ import { jsx } from "react/jsx-runtime";
8
+ import { Dialog, useDialog as useDialog$1, useDialogContext as useDialogContext$1 } from "@ark-ui/react/dialog";
9
9
  //#region src/components/lightbox/Lightbox.tsx
10
10
  const DEFAULT_CLOSE_LABEL = "Close image";
11
11
  const preloadedImageSources = /* @__PURE__ */ new Set();
@@ -100,7 +100,7 @@ const LightboxCloseTrigger = forwardRef(function LightboxCloseTrigger({ classNam
100
100
  });
101
101
  });
102
102
  const LightboxCloseIcon = forwardRef(function LightboxCloseIcon({ className, children, "aria-label": ariaLabel = DEFAULT_CLOSE_LABEL, ...props }, ref) {
103
- const dialog = useDialogContext();
103
+ const dialog = useDialogContext$1();
104
104
  return /* @__PURE__ */ jsx(Dialog.CloseTrigger, {
105
105
  asChild: true,
106
106
  ...props,
@@ -115,7 +115,7 @@ const LightboxCloseIcon = forwardRef(function LightboxCloseIcon({ className, chi
115
115
  });
116
116
  });
117
117
  const LightboxImage = forwardRef(function LightboxImage({ className, closeOnClick = false, onClick, ...props }, ref) {
118
- const dialog = useDialogContext();
118
+ const dialog = useDialogContext$1();
119
119
  const handleClick = (event) => {
120
120
  onClick?.(event);
121
121
  if (closeOnClick && !event.defaultPrevented) dialog.setOpen(false);
@@ -159,7 +159,7 @@ function LightboxFooter({ className, ...props }) {
159
159
  });
160
160
  }
161
161
  function LightboxBind({ onImageSelect, selector = "img", rootRef, rootSelector }) {
162
- const { setOpen } = useDialogContext();
162
+ const { setOpen } = useDialogContext$1();
163
163
  useEffect(() => {
164
164
  const rootNode = rootRef?.current ?? (rootSelector ? document.querySelector(rootSelector) : null);
165
165
  if (!rootNode) return;
@@ -213,7 +213,9 @@ const Lightbox = Object.assign(LightboxRoot, {
213
213
  Footer: LightboxFooter,
214
214
  Image: LightboxImage,
215
215
  Gallery: LightboxGallery,
216
- Bind: LightboxBind
216
+ Bind: LightboxBind,
217
+ useLightbox: useDialog$1,
218
+ useLightboxContext: useDialogContext$1
217
219
  });
218
220
  //#endregion
219
- export { Lightbox, LightboxBind, LightboxGallery, LightboxImage };
221
+ export { Lightbox, LightboxBind, LightboxGallery, LightboxImage, useDialog$1 as useLightbox, useDialogContext$1 as useLightboxContext };
@@ -1,2 +1,2 @@
1
- import { Lightbox, LightboxBind, LightboxBindProps, LightboxGallery, LightboxImage, LightboxImageSelectDetails } from "./Lightbox.js";
2
- export { Lightbox, LightboxBind, type LightboxBindProps, LightboxGallery, LightboxImage, type LightboxImageSelectDetails };
1
+ import { Lightbox, LightboxBind, LightboxBindProps, LightboxGallery, LightboxImage, LightboxImageSelectDetails, useLightbox as useDialog, useLightboxContext as useDialogContext } from "./Lightbox.js";
2
+ export { Lightbox, LightboxBind, type LightboxBindProps, LightboxGallery, LightboxImage, type LightboxImageSelectDetails, useDialog as useLightbox, useDialogContext as useLightboxContext };
@@ -1,9 +1,9 @@
1
1
  import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
2
2
  import List_module_default from "./List.module.js";
3
- import { jsx } from "react/jsx-runtime";
4
3
  import { ark } from "@ark-ui/react/factory";
5
4
  import { clsx } from "clsx";
6
5
  import { forwardRef } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
7
  //#region src/components/list/List.tsx
8
8
  const ListRoot = forwardRef(function ListRoot({ as, asChild, className, gap = "sm", marker, role, size = "md", tone = "default", ...props }, ref) {
9
9
  const markerValue = marker ?? "auto";
@@ -50,7 +50,6 @@
50
50
  }
51
51
 
52
52
  &:focus-visible {
53
- border-color: var(--listbox-input-focus-ring-color, var(--listbox-focus-ring-color, var(--color-ring)));
54
53
  outline-color: var(--listbox-input-focus-ring-color, var(--listbox-focus-ring-color, var(--color-ring)));
55
54
  }
56
55
 
@@ -60,6 +59,66 @@
60
59
  }
61
60
  }
62
61
 
62
+ .SHhhXW_filter {
63
+ box-sizing: border-box;
64
+ width: 100%;
65
+ position: relative;
66
+
67
+ &:has( + .SHhhXW_content) .SHhhXW_input {
68
+ border-bottom: 0;
69
+ border-bottom-right-radius: 0;
70
+ border-bottom-left-radius: 0;
71
+ }
72
+ }
73
+
74
+ .SHhhXW_filter + .SHhhXW_content {
75
+ margin-top: calc(-1 * var(--listbox-root-gap, var(--spacing-3)));
76
+ border-top-left-radius: 0;
77
+ border-top-right-radius: 0;
78
+ }
79
+
80
+ .SHhhXW_filterIcon {
81
+ z-index: 1;
82
+ top: 50%;
83
+ width: var(--listbox-filter-icon-size, 1rem);
84
+ height: var(--listbox-filter-icon-size, 1rem);
85
+ color: var(--listbox-filter-icon-color, var(--color-muted-foreground));
86
+ pointer-events: none;
87
+ position: absolute;
88
+ inset-inline-start: var(--listbox-filter-padding-x, var(--spacing-3));
89
+ transform: translateY(-50%);
90
+ }
91
+
92
+ .SHhhXW_filter .SHhhXW_input {
93
+ min-height: var(--listbox-filter-height, var(--listbox-input-height, var(--size-lg)));
94
+ background-color: var(--listbox-bg, var(--color-background));
95
+ padding-inline-start: calc(var(--listbox-filter-padding-x, var(--spacing-3)) + var(--listbox-filter-icon-size, 1rem) +
96
+ var(--listbox-filter-input-padding-x, var(--spacing-2)));
97
+ padding-inline-end: calc(var(--listbox-filter-padding-x, var(--spacing-3)) +
98
+ var(--listbox-filter-action-size, 1.5rem) +
99
+ var(--listbox-filter-input-padding-x, var(--spacing-2)));
100
+
101
+ &:focus-visible {
102
+ outline-color: #0000;
103
+ }
104
+ }
105
+
106
+ .SHhhXW_clearTrigger {
107
+ z-index: 1;
108
+ top: 50%;
109
+ --close-button-size: var(--listbox-filter-action-size, 1.5rem);
110
+ --close-button-radius: var(--listbox-filter-action-radius, var(--radius-sm));
111
+ --close-button-bg: var(--listbox-filter-action-bg, transparent);
112
+ --close-button-bg-hover: var(--listbox-filter-action-bg-hover, var(--color-muted));
113
+ --close-button-color: var(--listbox-filter-icon-color, var(--color-muted-foreground));
114
+ --close-button-color-hover: var(--listbox-filter-action-color-hover, var(--color-foreground));
115
+ --close-button-icon-size: var(--listbox-filter-icon-size, 1rem);
116
+ --close-button-transition: var(--listbox-transition, var(--transition-default));
117
+ position: absolute;
118
+ inset-inline-end: var(--listbox-filter-padding-x, var(--spacing-3));
119
+ transform: translateY(-50%);
120
+ }
121
+
63
122
  .SHhhXW_content {
64
123
  box-sizing: border-box;
65
124
  min-height: 0;
@@ -1,7 +1,12 @@
1
1
  import { ComponentProps } from "react";
2
- import { Listbox } from "@ark-ui/react/listbox";
2
+ import { Listbox, useListbox, useListboxContext, useListboxItemContext } from "@ark-ui/react/listbox";
3
3
 
4
4
  //#region src/components/listbox/Listbox.d.ts
5
+ declare function ListboxFilter({
6
+ className,
7
+ children,
8
+ ...props
9
+ }: ComponentProps<'div'>): import("react").JSX.Element;
5
10
  declare function ListboxItemTextContent({
6
11
  className,
7
12
  ...props
@@ -19,6 +24,8 @@ declare const Listbox$1: Listbox.RootComponent & {
19
24
  RootProvider: Listbox.RootProviderComponent;
20
25
  Label: import("react").ForwardRefExoticComponent<Omit<Listbox.LabelProps & import("react").RefAttributes<HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
21
26
  Input: import("react").ForwardRefExoticComponent<Omit<Listbox.InputProps & import("react").RefAttributes<HTMLInputElement>, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
27
+ Filter: typeof ListboxFilter;
28
+ ClearTrigger: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
22
29
  Content: import("react").ForwardRefExoticComponent<Omit<Listbox.ContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
23
30
  Empty: import("react").ForwardRefExoticComponent<Omit<Listbox.EmptyProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
24
31
  ItemGroup: import("react").ForwardRefExoticComponent<Omit<Listbox.ItemGroupProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -27,9 +34,14 @@ declare const Listbox$1: Listbox.RootComponent & {
27
34
  ItemText: import("react").ForwardRefExoticComponent<Omit<Listbox.ItemTextProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
28
35
  ItemIndicator: import("react").ForwardRefExoticComponent<Omit<Listbox.ItemIndicatorProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
29
36
  ValueText: import("react").ForwardRefExoticComponent<Omit<Listbox.ValueTextProps & import("react").RefAttributes<HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
37
+ Context: <T extends unknown>(props: Listbox.ContextProps<T>) => import("react").ReactNode;
38
+ ItemContext: (props: Listbox.ItemContextProps) => import("react").ReactNode;
30
39
  ItemTextContent: typeof ListboxItemTextContent;
31
40
  ItemTextIcon: typeof ListboxItemTextIcon;
32
41
  ItemTextLabel: typeof ListboxItemTextLabel;
42
+ useListbox: <T extends unknown>(props: import("@ark-ui/react/listbox").UseListboxProps<T>) => import("@ark-ui/react/listbox").UseListboxReturn<T>;
43
+ useListboxContext: () => import("@ark-ui/react/listbox").UseListboxContext<any>;
44
+ useListboxItemContext: () => import("@ark-ui/react/listbox").UseListboxItemContext;
33
45
  };
34
46
  //#endregion
35
- export { Listbox$1 as Listbox };
47
+ export { Listbox$1 as Listbox, useListbox, useListboxContext, useListboxItemContext };
@@ -1,10 +1,12 @@
1
- import { CheckIcon } from "../../lib/moduix/icons/ui/Icons.js";
2
1
  import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
2
+ import { CheckIcon, SearchIcon } from "../../lib/moduix/icons/ui/Icons.js";
3
+ import { CloseButton } from "../close-button/CloseButton.js";
3
4
  import Listbox_module_default from "./Listbox.module.js";
4
- import { jsx } from "react/jsx-runtime";
5
+ import { ark } from "@ark-ui/react/factory";
5
6
  import { clsx } from "clsx";
6
7
  import { forwardRef } from "react";
7
- import { Listbox } from "@ark-ui/react/listbox";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ import { Listbox, useListbox, useListboxContext, useListboxItemContext } from "@ark-ui/react/listbox";
8
10
  //#region src/components/listbox/Listbox.tsx
9
11
  const ListboxRoot = forwardRef(function ListboxRoot({ className, ...props }, ref) {
10
12
  return /* @__PURE__ */ jsx(Listbox.Root, {
@@ -38,6 +40,33 @@ const ListboxInput = forwardRef(function ListboxInput({ className, ...props }, r
38
40
  ...props
39
41
  });
40
42
  });
43
+ function ListboxFilter({ className, children, ...props }) {
44
+ return /* @__PURE__ */ jsxs("div", {
45
+ "data-slot": "listbox-filter",
46
+ className: clsx(Listbox_module_default.filter, normalizeClassName(className)),
47
+ ...props,
48
+ children: [/* @__PURE__ */ jsx(SearchIcon, {
49
+ "data-slot": "listbox-filter-icon",
50
+ className: Listbox_module_default.filterIcon
51
+ }), children]
52
+ });
53
+ }
54
+ const ListboxClearTrigger = forwardRef(function ListboxClearTrigger({ "aria-label": ariaLabel = "Clear search", className, children, type = "button", ...props }, ref) {
55
+ return /* @__PURE__ */ jsx(ark.button, {
56
+ ref,
57
+ asChild: true,
58
+ "data-slot": "listbox-clear-trigger",
59
+ type,
60
+ "aria-label": ariaLabel,
61
+ className: clsx(Listbox_module_default.clearTrigger, normalizeClassName(className)),
62
+ ...props,
63
+ children: /* @__PURE__ */ jsx(CloseButton.Root, {
64
+ "aria-label": ariaLabel,
65
+ type,
66
+ children
67
+ })
68
+ });
69
+ });
41
70
  const ListboxContent = forwardRef(function ListboxContent({ className, ...props }, ref) {
42
71
  return /* @__PURE__ */ jsx(Listbox.Content, {
43
72
  ref,
@@ -129,6 +158,8 @@ const Listbox$1 = Object.assign(ListboxRoot, {
129
158
  RootProvider: ListboxRootProvider,
130
159
  Label: ListboxLabel,
131
160
  Input: ListboxInput,
161
+ Filter: ListboxFilter,
162
+ ClearTrigger: ListboxClearTrigger,
132
163
  Content: ListboxContent,
133
164
  Empty: ListboxEmpty,
134
165
  ItemGroup: ListboxItemGroup,
@@ -137,9 +168,14 @@ const Listbox$1 = Object.assign(ListboxRoot, {
137
168
  ItemText: ListboxItemText,
138
169
  ItemIndicator: ListboxItemIndicator,
139
170
  ValueText: ListboxValueText,
171
+ Context: Listbox.Context,
172
+ ItemContext: Listbox.ItemContext,
140
173
  ItemTextContent: ListboxItemTextContent,
141
174
  ItemTextIcon: ListboxItemTextIcon,
142
- ItemTextLabel: ListboxItemTextLabel
175
+ ItemTextLabel: ListboxItemTextLabel,
176
+ useListbox,
177
+ useListboxContext,
178
+ useListboxItemContext
143
179
  });
144
180
  //#endregion
145
- export { Listbox$1 as Listbox };
181
+ export { Listbox$1 as Listbox, useListbox, useListboxContext, useListboxItemContext };
@@ -1,8 +1,11 @@
1
1
  import './Listbox.css';
2
2
  //#region src/components/listbox/Listbox.module.css
3
3
  var Listbox_module_default = {
4
+ "clearTrigger": "SHhhXW_clearTrigger",
4
5
  "content": "SHhhXW_content",
5
6
  "empty": "SHhhXW_empty",
7
+ "filter": "SHhhXW_filter",
8
+ "filterIcon": "SHhhXW_filterIcon",
6
9
  "input": "SHhhXW_input",
7
10
  "item": "SHhhXW_item",
8
11
  "itemGroup": "SHhhXW_itemGroup",
@@ -1,2 +1,2 @@
1
- import { Listbox } from "./Listbox.js";
2
- export { Listbox };
1
+ import { Listbox, useListbox, useListboxContext, useListboxItemContext } from "./Listbox.js";
2
+ export { Listbox, useListbox, useListboxContext, useListboxItemContext };