@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
@@ -1,9 +1,9 @@
1
1
  import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
2
2
  import Fieldset_module_default from "./Fieldset.module.js";
3
- import { jsx } from "react/jsx-runtime";
4
3
  import { clsx } from "clsx";
5
4
  import { forwardRef } from "react";
6
- import { Fieldset } from "@ark-ui/react/fieldset";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import { Fieldset, useFieldset } from "@ark-ui/react/fieldset";
7
7
  //#region src/components/fieldset/Fieldset.tsx
8
8
  const FieldsetRoot = forwardRef(function FieldsetRoot({ className, ...props }, ref) {
9
9
  return /* @__PURE__ */ jsx(Fieldset.Root, {
@@ -53,4 +53,4 @@ const Fieldset$1 = Object.assign(FieldsetRoot, {
53
53
  ErrorText: FieldsetErrorText
54
54
  });
55
55
  //#endregion
56
- export { Fieldset$1 as Fieldset };
56
+ export { Fieldset$1 as Fieldset, useFieldset };
@@ -1,2 +1,2 @@
1
- import { Fieldset } from "./Fieldset.js";
2
- export { Fieldset };
1
+ import { Fieldset, useFieldset } from "./Fieldset.js";
2
+ export { Fieldset, useFieldset };
@@ -132,12 +132,14 @@
132
132
  }
133
133
 
134
134
  .dgDG7a_itemGroup {
135
+ align-items: flex-start;
135
136
  gap: var(--file-upload-item-group-gap, var(--spacing-2));
137
+ flex-wrap: wrap;
136
138
  width: 100%;
137
139
  margin: 0;
138
140
  padding: 0;
139
141
  list-style: none;
140
- display: grid;
142
+ display: flex;
141
143
 
142
144
  &:empty {
143
145
  display: none;
@@ -157,6 +159,7 @@
157
159
  var(--file-upload-item-padding-x, var(--spacing-3));
158
160
  background-color: var(--file-upload-item-bg, var(--color-background));
159
161
  color: var(--file-upload-item-color, var(--color-foreground));
162
+ flex: 1 0 100%;
160
163
  grid-template-columns: minmax(0, 1fr) auto;
161
164
  display: grid;
162
165
 
@@ -176,8 +179,8 @@
176
179
  }
177
180
 
178
181
  .dgDG7a_itemPreview {
179
- width: var(--file-upload-item-preview-size, 2rem);
180
- height: var(--file-upload-item-preview-size, 2rem);
182
+ width: var(--file-upload-item-preview-size, var(--spacing-10));
183
+ height: var(--file-upload-item-preview-size, var(--spacing-10));
181
184
  border-radius: var(--file-upload-item-preview-radius, var(--radius-sm));
182
185
  background-color: var(--file-upload-item-preview-bg, var(--color-muted));
183
186
  color: var(--file-upload-item-preview-color, var(--color-muted-foreground));
@@ -194,15 +197,37 @@
194
197
  height: 100%;
195
198
  }
196
199
 
200
+ .dgDG7a_itemPreviewIcon {
201
+ width: 1rem;
202
+ height: 1rem;
203
+ }
204
+
205
+ .dgDG7a_itemMetadata {
206
+ align-items: center;
207
+ gap: var(--file-upload-item-row-gap, var(--spacing-1));
208
+ color: var(--file-upload-item-size-color, var(--color-muted-foreground));
209
+ font-size: var(--file-upload-item-size-font-size, var(--text-xs));
210
+ line-height: var(--file-upload-item-size-line-height, var(--line-height-text-xs));
211
+ grid-column: 1;
212
+ display: flex;
213
+
214
+ & > [data-slot="file-upload-item-size-text"]:before {
215
+ margin-right: var(--file-upload-item-row-gap, var(--spacing-1));
216
+ content: "·";
217
+ }
218
+ }
219
+
197
220
  .dgDG7a_itemName {
198
221
  min-width: 0;
199
222
  color: var(--file-upload-item-name-color, currentColor);
200
223
  font-size: var(--file-upload-item-name-font-size, var(--text-sm));
201
224
  font-weight: var(--file-upload-item-name-font-weight, var(--weight-medium));
202
225
  line-height: var(--file-upload-item-name-line-height, var(--line-height-text-sm));
203
- text-overflow: ellipsis;
204
- white-space: nowrap;
226
+ -webkit-line-clamp: 1;
227
+ line-clamp: 1;
228
+ -webkit-box-orient: vertical;
205
229
  grid-column: 1;
230
+ display: -webkit-box;
206
231
  overflow: hidden;
207
232
  }
208
233
 
@@ -217,11 +242,11 @@
217
242
  grid-column: 1;
218
243
  }
219
244
 
220
- .dgDG7a_item:has([data-slot="file-upload-item-preview"]) .dgDG7a_itemSizeText {
245
+ .dgDG7a_item:has([data-slot="file-upload-item-preview"]) .dgDG7a_itemSizeText, .dgDG7a_item:has([data-slot="file-upload-item-preview"]) .dgDG7a_itemMetadata {
221
246
  grid-column: 2;
222
247
  }
223
248
 
224
- .dgDG7a_itemDeleteTrigger, .dgDG7a_clearTrigger {
249
+ .dgDG7a_itemDeleteTrigger {
225
250
  box-sizing: border-box;
226
251
  width: var(--file-upload-action-size, 2rem);
227
252
  height: var(--file-upload-action-size, 2rem);
@@ -277,14 +302,62 @@
277
302
  grid-column: 3;
278
303
  }
279
304
 
305
+ .dgDG7a_item:has([data-slot="file-upload-item-preview-image"]) {
306
+ flex: 0 min(100%, 10rem);
307
+ grid-template-rows: auto auto auto;
308
+ grid-template-columns: minmax(0, 1fr) auto;
309
+ align-items: start;
310
+ min-height: 0;
311
+ }
312
+
313
+ .dgDG7a_item:has([data-slot="file-upload-item-preview-image"]) .dgDG7a_itemPreview {
314
+ aspect-ratio: 1;
315
+ grid-area: 1 / 1 / auto / -1;
316
+ width: 100%;
317
+ height: auto;
318
+ }
319
+
320
+ .dgDG7a_item:has([data-slot="file-upload-item-preview-image"]) .dgDG7a_itemName {
321
+ grid-area: 2 / 1;
322
+ align-self: end;
323
+ }
324
+
325
+ .dgDG7a_item:has([data-slot="file-upload-item-preview-image"]) .dgDG7a_itemMetadata {
326
+ grid-area: 3 / 1;
327
+ }
328
+
329
+ .dgDG7a_item:has([data-slot="file-upload-item-preview-image"]) .dgDG7a_itemDeleteTrigger {
330
+ grid-area: 2 / 2 / span 2;
331
+ align-self: center;
332
+ }
333
+
280
334
  .dgDG7a_clearTrigger {
335
+ --close-button-size: var(--file-upload-action-size, 2rem);
336
+ --close-button-radius: var(--file-upload-action-radius, var(--radius-sm));
337
+ --close-button-bg: var(--file-upload-action-bg, transparent);
338
+ --close-button-bg-hover: var(--file-upload-action-bg-hover, var(--color-muted));
339
+ --close-button-color: var(--file-upload-clear-trigger-color, var(--color-muted-foreground));
340
+ --close-button-color-hover: var(--file-upload-action-color-hover, var(--color-foreground));
341
+ --close-button-icon-size: var(--file-upload-action-icon-size, 1rem);
342
+ --close-button-transition: var(--file-upload-transition, var(--transition-default));
343
+ --close-button-focus-ring-width: var(--file-upload-focus-ring-width, var(--border-width-md));
344
+ --close-button-focus-ring-color: var(--file-upload-focus-ring-color, var(--color-ring));
345
+ --close-button-focus-ring-offset: var(--file-upload-focus-ring-offset, var(--border-width-sm));
346
+ --close-button-disabled-opacity: var(--file-upload-disabled-opacity, var(--opacity-disabled));
281
347
  align-self: flex-start;
348
+ }
349
+
350
+ .dgDG7a_clearTriggerWithContent {
282
351
  gap: var(--file-upload-clear-trigger-gap, var(--spacing-2));
283
352
  width: auto;
284
353
  padding-inline: var(--file-upload-clear-trigger-padding-x, var(--spacing-2));
285
- color: var(--file-upload-clear-trigger-color, var(--color-muted-foreground));
286
354
  font: inherit;
287
355
  font-size: var(--file-upload-clear-trigger-font-size, var(--text-sm));
288
356
  line-height: var(--file-upload-clear-trigger-line-height, var(--line-height-text-sm));
289
357
  }
358
+
359
+ .dgDG7a_clearTrigger[data-readonly] {
360
+ pointer-events: none;
361
+ opacity: var(--file-upload-disabled-opacity, var(--opacity-disabled));
362
+ }
290
363
  }
@@ -1,28 +1,45 @@
1
- import { ComponentProps } from "react";
2
- import { FileUpload } from "@ark-ui/react/file-upload";
1
+ import { FileIcon } from "../../lib/moduix/icons/ui/Icons.js";
2
+ import { HTMLArkProps } from "@ark-ui/react/factory";
3
+ import { ComponentProps, ReactNode } from "react";
4
+ import { FileUpload, useFileUpload, useFileUploadContext } from "@ark-ui/react/file-upload";
3
5
 
4
6
  //#region src/components/file-upload/FileUpload.d.ts
5
7
  declare function FileUploadDropzoneIcon({
6
8
  className,
7
9
  children,
8
10
  ...props
9
- }: ComponentProps<'span'>): import("react").JSX.Element;
11
+ }: HTMLArkProps<'span'>): import("react").JSX.Element;
12
+ declare function FileUploadItemPreviewIcon({
13
+ className,
14
+ ...props
15
+ }: ComponentProps<typeof FileIcon>): import("react").JSX.Element;
16
+ declare function FileUploadItemMetadata({
17
+ file,
18
+ className,
19
+ ...props
20
+ }: HTMLArkProps<'div'> & {
21
+ file: File;
22
+ }): import("react").JSX.Element;
23
+ declare function FileUploadItems(): import("react").JSX.Element[];
10
24
  declare const FileUpload$1: import("react").ForwardRefExoticComponent<Omit<FileUpload.RootProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>> & {
11
25
  Root: import("react").ForwardRefExoticComponent<Omit<FileUpload.RootProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
12
26
  RootProvider: import("react").ForwardRefExoticComponent<Omit<FileUpload.RootProviderProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
27
+ Context: (props: FileUpload.ContextProps) => ReactNode;
13
28
  Label: import("react").ForwardRefExoticComponent<Omit<FileUpload.LabelProps & import("react").RefAttributes<HTMLLabelElement>, "ref"> & import("react").RefAttributes<HTMLLabelElement>>;
14
29
  Dropzone: import("react").ForwardRefExoticComponent<Omit<FileUpload.DropzoneProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
15
30
  DropzoneIcon: typeof FileUploadDropzoneIcon;
16
31
  Trigger: import("react").ForwardRefExoticComponent<Omit<FileUpload.TriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
17
- HiddenInput: import("react").ForwardRefExoticComponent<Omit<FileUpload.HiddenInputProps & import("react").RefAttributes<HTMLInputElement>, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
18
32
  ItemGroup: import("react").ForwardRefExoticComponent<Omit<FileUpload.ItemGroupProps & import("react").RefAttributes<HTMLUListElement>, "ref"> & import("react").RefAttributes<HTMLUListElement>>;
19
33
  Item: import("react").ForwardRefExoticComponent<Omit<FileUpload.ItemProps & import("react").RefAttributes<HTMLLIElement>, "ref"> & import("react").RefAttributes<HTMLLIElement>>;
34
+ Items: typeof FileUploadItems;
20
35
  ItemPreview: import("react").ForwardRefExoticComponent<Omit<FileUpload.ItemPreviewProps & import("react").RefAttributes<HTMLImageElement>, "ref"> & import("react").RefAttributes<HTMLImageElement>>;
21
36
  ItemPreviewImage: import("react").ForwardRefExoticComponent<Omit<FileUpload.ItemPreviewImageProps & import("react").RefAttributes<HTMLImageElement>, "ref"> & import("react").RefAttributes<HTMLImageElement>>;
37
+ ItemPreviewIcon: typeof FileUploadItemPreviewIcon;
22
38
  ItemName: import("react").ForwardRefExoticComponent<Omit<FileUpload.ItemNameProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
39
+ ItemMetadata: typeof FileUploadItemMetadata;
23
40
  ItemSizeText: import("react").ForwardRefExoticComponent<Omit<FileUpload.ItemSizeTextProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
24
41
  ItemDeleteTrigger: import("react").ForwardRefExoticComponent<Omit<FileUpload.ItemDeleteTriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
25
42
  ClearTrigger: import("react").ForwardRefExoticComponent<Omit<FileUpload.ClearTriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
26
43
  };
27
44
  //#endregion
28
- export { FileUpload$1 as FileUpload };
45
+ export { FileUpload$1 as FileUpload, useFileUpload, useFileUploadContext };
@@ -1,25 +1,31 @@
1
- import { CloseIcon, TrashIcon, UploadIcon } from "../../lib/moduix/icons/ui/Icons.js";
2
1
  import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
2
+ import { CloseIcon, FileIcon, TrashIcon, UploadIcon } from "../../lib/moduix/icons/ui/Icons.js";
3
+ import { CloseButton } from "../close-button/CloseButton.js";
3
4
  import FileUpload_module_default from "./FileUpload.module.js";
4
- import { jsx } from "react/jsx-runtime";
5
+ import { ark } from "@ark-ui/react/factory";
5
6
  import { clsx } from "clsx";
6
- import { forwardRef } from "react";
7
- import { FileUpload } from "@ark-ui/react/file-upload";
7
+ import { Children, cloneElement, forwardRef } from "react";
8
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
9
+ import { FileUpload, useFileUpload, useFileUploadContext } from "@ark-ui/react/file-upload";
8
10
  //#region src/components/file-upload/FileUpload.tsx
9
- const FileUploadRoot = forwardRef(function FileUploadRoot({ className, ...props }, ref) {
11
+ const FileUploadRoot = forwardRef(function FileUploadRoot({ asChild, children, className, ...props }, ref) {
10
12
  return /* @__PURE__ */ jsx(FileUpload.Root, {
11
13
  ref,
14
+ asChild,
12
15
  "data-slot": "file-upload-root",
13
16
  className: clsx(FileUpload_module_default.root, normalizeClassName(className)),
14
- ...props
17
+ ...props,
18
+ children: withHiddenInput(children, asChild)
15
19
  });
16
20
  });
17
- const FileUploadRootProvider = forwardRef(function FileUploadRootProvider({ className, ...props }, ref) {
21
+ const FileUploadRootProvider = forwardRef(function FileUploadRootProvider({ asChild, children, className, ...props }, ref) {
18
22
  return /* @__PURE__ */ jsx(FileUpload.RootProvider, {
19
23
  ref,
24
+ asChild,
20
25
  "data-slot": "file-upload-root-provider",
21
26
  className: clsx(FileUpload_module_default.root, normalizeClassName(className)),
22
- ...props
27
+ ...props,
28
+ children: withHiddenInput(children, asChild)
23
29
  });
24
30
  });
25
31
  const FileUploadLabel = forwardRef(function FileUploadLabel({ className, ...props }, ref) {
@@ -39,7 +45,7 @@ const FileUploadDropzone = forwardRef(function FileUploadDropzone({ className, .
39
45
  });
40
46
  });
41
47
  function FileUploadDropzoneIcon({ className, children, ...props }) {
42
- return /* @__PURE__ */ jsx("span", {
48
+ return /* @__PURE__ */ jsx(ark.span, {
43
49
  "aria-hidden": "true",
44
50
  "data-slot": "file-upload-dropzone-icon",
45
51
  className: clsx(FileUpload_module_default.dropzoneIcon, normalizeClassName(className)),
@@ -55,13 +61,12 @@ const FileUploadTrigger = forwardRef(function FileUploadTrigger({ className, ...
55
61
  ...props
56
62
  });
57
63
  });
58
- const FileUploadHiddenInput = forwardRef(function FileUploadHiddenInput(props, ref) {
59
- return /* @__PURE__ */ jsx(FileUpload.HiddenInput, {
60
- ref,
61
- "data-slot": "file-upload-hidden-input",
62
- ...props
63
- });
64
- });
64
+ function withHiddenInput(children, asChild) {
65
+ const hiddenInput = /* @__PURE__ */ jsx(FileUpload.HiddenInput, { "data-slot": "file-upload-hidden-input" });
66
+ if (!asChild) return /* @__PURE__ */ jsxs(Fragment$1, { children: [children, hiddenInput] });
67
+ const child = Children.only(children);
68
+ return cloneElement(child, {}, child.props.children, hiddenInput);
69
+ }
65
70
  const FileUploadItemGroup = forwardRef(function FileUploadItemGroup({ className, ...props }, ref) {
66
71
  return /* @__PURE__ */ jsx(FileUpload.ItemGroup, {
67
72
  ref,
@@ -94,6 +99,20 @@ const FileUploadItemPreviewImage = forwardRef(function FileUploadItemPreviewImag
94
99
  ...props
95
100
  });
96
101
  });
102
+ function FileUploadItemPreviewIcon({ className, ...props }) {
103
+ return /* @__PURE__ */ jsx(FileIcon, {
104
+ "data-slot": "file-upload-item-preview-icon",
105
+ className: clsx(FileUpload_module_default.itemPreviewIcon, normalizeClassName(className)),
106
+ ...props
107
+ });
108
+ }
109
+ function getFileTypeLabel(file) {
110
+ const extension = file.name.split(".").pop();
111
+ return extension ? extension.toUpperCase() : file.type || "FILE";
112
+ }
113
+ function isImageFile(file) {
114
+ return file.type.startsWith("image/") || /\.(avif|bmp|gif|jpe?g|png|svg|webp)$/i.test(file.name);
115
+ }
97
116
  const FileUploadItemName = forwardRef(function FileUploadItemName({ className, ...props }, ref) {
98
117
  return /* @__PURE__ */ jsx(FileUpload.ItemName, {
99
118
  ref,
@@ -110,6 +129,14 @@ const FileUploadItemSizeText = forwardRef(function FileUploadItemSizeText({ clas
110
129
  ...props
111
130
  });
112
131
  });
132
+ function FileUploadItemMetadata({ file, className, ...props }) {
133
+ return /* @__PURE__ */ jsxs(ark.div, {
134
+ "data-slot": "file-upload-item-metadata",
135
+ className: clsx(FileUpload_module_default.itemMetadata, normalizeClassName(className)),
136
+ ...props,
137
+ children: [/* @__PURE__ */ jsx(ark.span, { children: getFileTypeLabel(file) }), /* @__PURE__ */ jsx(FileUploadItemSizeText, {})]
138
+ });
139
+ }
113
140
  const FileUploadItemDeleteTrigger = forwardRef(function FileUploadItemDeleteTrigger({ className, children, ...props }, ref) {
114
141
  return /* @__PURE__ */ jsx(FileUpload.ItemDeleteTrigger, {
115
142
  ref,
@@ -119,31 +146,62 @@ const FileUploadItemDeleteTrigger = forwardRef(function FileUploadItemDeleteTrig
119
146
  children: children ?? /* @__PURE__ */ jsx(TrashIcon, {})
120
147
  });
121
148
  });
122
- const FileUploadClearTrigger = forwardRef(function FileUploadClearTrigger({ className, children, ...props }, ref) {
149
+ function FileUploadItems() {
150
+ const { acceptedFiles } = useFileUploadContext();
151
+ return acceptedFiles.map((file) => /* @__PURE__ */ jsxs(FileUploadItem, {
152
+ file,
153
+ children: [
154
+ isImageFile(file) ? /* @__PURE__ */ jsx(FileUploadItemPreview, { children: /* @__PURE__ */ jsx(FileUploadItemPreviewImage, {}) }) : /* @__PURE__ */ jsx(FileUploadItemPreview, { children: /* @__PURE__ */ jsx(FileUploadItemPreviewIcon, {}) }),
155
+ /* @__PURE__ */ jsx(FileUploadItemName, {}),
156
+ /* @__PURE__ */ jsx(FileUploadItemMetadata, { file }),
157
+ /* @__PURE__ */ jsx(FileUploadItemDeleteTrigger, { "aria-label": `Remove ${file.name}` })
158
+ ]
159
+ }, `${file.name}-${file.size}`));
160
+ }
161
+ const FileUploadClearTrigger = forwardRef(function FileUploadClearTrigger({ asChild, className, children, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...props }, ref) {
162
+ const triggerClassName = clsx(FileUpload_module_default.clearTrigger, children != null && FileUpload_module_default.clearTriggerWithContent, normalizeClassName(className));
163
+ if (asChild) return /* @__PURE__ */ jsx(FileUpload.ClearTrigger, {
164
+ ref,
165
+ asChild: true,
166
+ "data-slot": "file-upload-clear-trigger",
167
+ className: triggerClassName,
168
+ "aria-label": ariaLabel,
169
+ "aria-labelledby": ariaLabelledBy,
170
+ ...props,
171
+ children
172
+ });
123
173
  return /* @__PURE__ */ jsx(FileUpload.ClearTrigger, {
124
174
  ref,
175
+ asChild: true,
125
176
  "data-slot": "file-upload-clear-trigger",
126
- className: clsx(FileUpload_module_default.clearTrigger, normalizeClassName(className)),
177
+ className: triggerClassName,
127
178
  ...props,
128
- children: children ?? /* @__PURE__ */ jsx(CloseIcon, {})
179
+ children: /* @__PURE__ */ jsx(CloseButton.Root, {
180
+ "aria-label": ariaLabel,
181
+ "aria-labelledby": ariaLabelledBy,
182
+ children: children ?? /* @__PURE__ */ jsx(CloseIcon, {})
183
+ })
129
184
  });
130
185
  });
131
186
  const FileUpload$1 = Object.assign(FileUploadRoot, {
132
187
  Root: FileUploadRoot,
133
188
  RootProvider: FileUploadRootProvider,
189
+ Context: FileUpload.Context,
134
190
  Label: FileUploadLabel,
135
191
  Dropzone: FileUploadDropzone,
136
192
  DropzoneIcon: FileUploadDropzoneIcon,
137
193
  Trigger: FileUploadTrigger,
138
- HiddenInput: FileUploadHiddenInput,
139
194
  ItemGroup: FileUploadItemGroup,
140
195
  Item: FileUploadItem,
196
+ Items: FileUploadItems,
141
197
  ItemPreview: FileUploadItemPreview,
142
198
  ItemPreviewImage: FileUploadItemPreviewImage,
199
+ ItemPreviewIcon: FileUploadItemPreviewIcon,
143
200
  ItemName: FileUploadItemName,
201
+ ItemMetadata: FileUploadItemMetadata,
144
202
  ItemSizeText: FileUploadItemSizeText,
145
203
  ItemDeleteTrigger: FileUploadItemDeleteTrigger,
146
204
  ClearTrigger: FileUploadClearTrigger
147
205
  });
148
206
  //#endregion
149
- export { FileUpload$1 as FileUpload };
207
+ export { FileUpload$1 as FileUpload, useFileUpload, useFileUploadContext };
@@ -2,13 +2,16 @@ import './FileUpload.css';
2
2
  //#region src/components/file-upload/FileUpload.module.css
3
3
  var FileUpload_module_default = {
4
4
  "clearTrigger": "dgDG7a_clearTrigger",
5
+ "clearTriggerWithContent": "dgDG7a_clearTriggerWithContent",
5
6
  "dropzone": "dgDG7a_dropzone",
6
7
  "dropzoneIcon": "dgDG7a_dropzoneIcon",
7
8
  "item": "dgDG7a_item",
8
9
  "itemDeleteTrigger": "dgDG7a_itemDeleteTrigger",
9
10
  "itemGroup": "dgDG7a_itemGroup",
11
+ "itemMetadata": "dgDG7a_itemMetadata",
10
12
  "itemName": "dgDG7a_itemName",
11
13
  "itemPreview": "dgDG7a_itemPreview",
14
+ "itemPreviewIcon": "dgDG7a_itemPreviewIcon",
12
15
  "itemPreviewImage": "dgDG7a_itemPreviewImage",
13
16
  "itemSizeText": "dgDG7a_itemSizeText",
14
17
  "label": "dgDG7a_label",
@@ -1,2 +1,2 @@
1
- import { FileUpload } from "./FileUpload.js";
2
- export { FileUpload };
1
+ import { FileUpload, useFileUpload, useFileUploadContext } from "./FileUpload.js";
2
+ export { FileUpload, useFileUpload, useFileUploadContext };
@@ -73,12 +73,16 @@
73
73
  overflow: hidden;
74
74
 
75
75
  &[data-state="open"] {
76
- animation: L7Dmqq_floating-panel-enter var(--floating-panel-transition, var(--duration-fast)) both;
76
+ animation: L7Dmqq_floating-panel-enter
77
+ var(--floating-panel-transition, var(--popup-motion-duration, var(--duration-fast)) var(--popup-motion-easing, ease))
78
+ both;
77
79
  }
78
80
 
79
81
  &[data-state="closed"] {
80
82
  pointer-events: none;
81
- animation: L7Dmqq_floating-panel-exit var(--floating-panel-transition, var(--duration-fast)) both;
83
+ animation: L7Dmqq_floating-panel-exit
84
+ var(--floating-panel-transition, var(--popup-motion-duration, var(--duration-fast)) var(--popup-motion-easing, ease))
85
+ both;
82
86
  }
83
87
 
84
88
  &[data-behind] {
@@ -301,19 +305,19 @@
301
305
 
302
306
  @keyframes L7Dmqq_floating-panel-enter {
303
307
  from {
304
- opacity: var(--floating-panel-starting-opacity, 0);
305
- translate: var(--floating-panel-starting-translate-x, 0)
306
- var(--floating-panel-starting-translate-y, 0);
307
- scale: var(--floating-panel-starting-scale, var(--scale-popup));
308
+ opacity: var(--floating-panel-starting-opacity, var(--popup-motion-starting-opacity, 0));
309
+ translate: var(--floating-panel-starting-translate-x, var(--popup-motion-starting-translate-x, 0))
310
+ var(--floating-panel-starting-translate-y, var(--popup-motion-starting-translate-y, 0));
311
+ scale: var(--floating-panel-starting-scale, var(--popup-motion-starting-scale, var(--scale-popup)));
308
312
  }
309
313
  }
310
314
 
311
315
  @keyframes L7Dmqq_floating-panel-exit {
312
316
  to {
313
- opacity: var(--floating-panel-ending-opacity, 0);
314
- translate: var(--floating-panel-ending-translate-x, 0)
315
- var(--floating-panel-ending-translate-y, 0);
316
- scale: var(--floating-panel-ending-scale, var(--scale-popup));
317
+ opacity: var(--floating-panel-ending-opacity, var(--popup-motion-ending-opacity, 0));
318
+ translate: var(--floating-panel-ending-translate-x, var(--popup-motion-ending-translate-x, 0))
319
+ var(--floating-panel-ending-translate-y, var(--popup-motion-ending-translate-y, 0));
320
+ scale: var(--floating-panel-ending-scale, var(--popup-motion-ending-scale, var(--scale-popup)));
317
321
  }
318
322
  }
319
323
  }
@@ -1,12 +1,13 @@
1
1
  import { OverlayPortalProps } from "../../lib/moduix/overlayPortal.js";
2
2
  import { ComponentProps } from "react";
3
- import { FloatingPanel } from "@ark-ui/react/floating-panel";
3
+ import { FloatingPanel, FloatingPanelResizeTriggerAxis } from "@ark-ui/react/floating-panel";
4
4
 
5
5
  //#region src/components/floating-panel/FloatingPanel.d.ts
6
- declare const resizeTriggerAxes: ("s" | "w" | "e" | "n" | "sw" | "nw" | "se" | "ne")[];
6
+ declare const resizeTriggerAxes: ("s" | "n" | "e" | "w" | "ne" | "se" | "sw" | "nw")[];
7
7
  type FloatingPanelRootProps = ComponentProps<typeof FloatingPanel.Root> & OverlayPortalProps;
8
8
  type FloatingPanelRootProviderProps = ComponentProps<typeof FloatingPanel.RootProvider> & OverlayPortalProps;
9
9
  declare function FloatingPanelRoot({
10
+ closeOnEscape,
10
11
  persistRect,
11
12
  portalled,
12
13
  portalRef,
@@ -21,8 +22,13 @@ declare function FloatingPanelFooter({
21
22
  className,
22
23
  ...props
23
24
  }: ComponentProps<'div'>): import("react").JSX.Element;
24
- declare function FloatingPanelResizeTriggerGroup(): import("react").JSX.Element;
25
+ declare function FloatingPanelResizeTriggerGroup({
26
+ axes
27
+ }: {
28
+ axes?: readonly FloatingPanelResizeTriggerAxis[];
29
+ }): import("react").JSX.Element;
25
30
  declare const FloatingPanel$1: typeof FloatingPanelRoot & {
31
+ Context: (props: FloatingPanel.ContextProps) => import("react").ReactNode;
26
32
  Root: typeof FloatingPanelRoot;
27
33
  RootProvider: typeof FloatingPanelRootProvider;
28
34
  Trigger: import("react").ForwardRefExoticComponent<Omit<FloatingPanel.TriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
@@ -40,6 +46,8 @@ declare const FloatingPanel$1: typeof FloatingPanelRoot & {
40
46
  ResizeTrigger: import("react").ForwardRefExoticComponent<Omit<FloatingPanel.ResizeTriggerProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
41
47
  ResizeTriggerGroup: typeof FloatingPanelResizeTriggerGroup;
42
48
  DragIndicator: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
49
+ useFloatingPanel: (props?: import("@ark-ui/react/floating-panel").UseFloatingPanelProps) => import("@ark-ui/react/floating-panel").UseFloatingPanelReturn;
50
+ useFloatingPanelContext: () => import("@ark-ui/react/floating-panel").UseFloatingPanelContext;
43
51
  };
44
52
  //#endregion
45
53
  export { FloatingPanel$1 as FloatingPanel, resizeTriggerAxes };
@@ -1,16 +1,17 @@
1
- import { GripIcon, MaximizeIcon, MinusIcon } from "../../lib/moduix/icons/ui/Icons.js";
2
1
  import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
2
+ import { GripIcon, MaximizeIcon, MinusIcon, RestoreIcon } from "../../lib/moduix/icons/ui/Icons.js";
3
3
  import { CloseButton } from "../close-button/CloseButton.js";
4
4
  import { OverlayPortal, OverlayPortalProvider } from "../../lib/moduix/overlayPortal.js";
5
5
  import FloatingPanel_module_default from "./FloatingPanel.module.js";
6
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
6
  import { clsx } from "clsx";
8
7
  import { forwardRef } from "react";
9
- import { FloatingPanel } from "@ark-ui/react/floating-panel";
8
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
9
+ import { FloatingPanel, useFloatingPanel, useFloatingPanelContext } from "@ark-ui/react/floating-panel";
10
10
  //#region src/components/floating-panel/FloatingPanel.tsx
11
11
  const DEFAULT_CLOSE_BUTTON_LABEL = "Close panel";
12
12
  const DEFAULT_MINIMIZE_LABEL = "Minimize panel";
13
13
  const DEFAULT_MAXIMIZE_LABEL = "Maximize panel";
14
+ const DEFAULT_RESTORE_LABEL = "Restore panel";
14
15
  const resizeTriggerAxes = [
15
16
  "n",
16
17
  "e",
@@ -21,11 +22,12 @@ const resizeTriggerAxes = [
21
22
  "sw",
22
23
  "nw"
23
24
  ];
24
- function FloatingPanelRoot({ persistRect = true, portalled, portalRef, ...props }) {
25
+ function FloatingPanelRoot({ closeOnEscape = true, persistRect = true, portalled, portalRef, ...props }) {
25
26
  return /* @__PURE__ */ jsx(OverlayPortalProvider, {
26
27
  portalled,
27
28
  portalRef,
28
29
  children: /* @__PURE__ */ jsx(FloatingPanel.Root, {
30
+ closeOnEscape,
29
31
  persistRect,
30
32
  ...props
31
33
  })
@@ -97,7 +99,7 @@ const FloatingPanelControl = forwardRef(function FloatingPanelControl({ classNam
97
99
  });
98
100
  const FloatingPanelStageTrigger = forwardRef(function FloatingPanelStageTrigger({ asChild, className, children, stage, "aria-label": ariaLabel, ...props }, ref) {
99
101
  const shouldRenderDefaultIcon = children == null && !asChild;
100
- const defaultAriaLabel = shouldRenderDefaultIcon && stage === "minimized" ? DEFAULT_MINIMIZE_LABEL : shouldRenderDefaultIcon && stage === "maximized" ? DEFAULT_MAXIMIZE_LABEL : void 0;
102
+ const defaultAriaLabel = shouldRenderDefaultIcon && stage === "minimized" ? DEFAULT_MINIMIZE_LABEL : shouldRenderDefaultIcon && stage === "maximized" ? DEFAULT_MAXIMIZE_LABEL : shouldRenderDefaultIcon && stage === "default" ? DEFAULT_RESTORE_LABEL : void 0;
101
103
  return /* @__PURE__ */ jsxs(FloatingPanel.StageTrigger, {
102
104
  ref,
103
105
  asChild,
@@ -109,7 +111,8 @@ const FloatingPanelStageTrigger = forwardRef(function FloatingPanelStageTrigger(
109
111
  children: [
110
112
  children,
111
113
  shouldRenderDefaultIcon && stage === "minimized" ? /* @__PURE__ */ jsx(MinusIcon, {}) : null,
112
- shouldRenderDefaultIcon && stage === "maximized" ? /* @__PURE__ */ jsx(MaximizeIcon, {}) : null
114
+ shouldRenderDefaultIcon && stage === "maximized" ? /* @__PURE__ */ jsx(MaximizeIcon, {}) : null,
115
+ shouldRenderDefaultIcon && stage === "default" ? /* @__PURE__ */ jsx(RestoreIcon, {}) : null
113
116
  ]
114
117
  });
115
118
  });
@@ -158,8 +161,8 @@ const FloatingPanelResizeTrigger = forwardRef(function FloatingPanelResizeTrigge
158
161
  ...props
159
162
  });
160
163
  });
161
- function FloatingPanelResizeTriggerGroup() {
162
- return /* @__PURE__ */ jsx(Fragment, { children: resizeTriggerAxes.map((axis) => /* @__PURE__ */ jsx(FloatingPanelResizeTrigger, { axis }, axis)) });
164
+ function FloatingPanelResizeTriggerGroup({ axes = resizeTriggerAxes }) {
165
+ return /* @__PURE__ */ jsx(Fragment$1, { children: axes.map((axis) => /* @__PURE__ */ jsx(FloatingPanelResizeTrigger, { axis }, axis)) });
163
166
  }
164
167
  const FloatingPanelDragIndicator = forwardRef(function FloatingPanelDragIndicator({ className, children, ...props }, ref) {
165
168
  return /* @__PURE__ */ jsx("span", {
@@ -172,6 +175,7 @@ const FloatingPanelDragIndicator = forwardRef(function FloatingPanelDragIndicato
172
175
  });
173
176
  });
174
177
  const FloatingPanel$1 = Object.assign(FloatingPanelRoot, {
178
+ Context: FloatingPanel.Context,
175
179
  Root: FloatingPanelRoot,
176
180
  RootProvider: FloatingPanelRootProvider,
177
181
  Trigger: FloatingPanelTrigger,
@@ -188,7 +192,9 @@ const FloatingPanel$1 = Object.assign(FloatingPanelRoot, {
188
192
  Footer: FloatingPanelFooter,
189
193
  ResizeTrigger: FloatingPanelResizeTrigger,
190
194
  ResizeTriggerGroup: FloatingPanelResizeTriggerGroup,
191
- DragIndicator: FloatingPanelDragIndicator
195
+ DragIndicator: FloatingPanelDragIndicator,
196
+ useFloatingPanel,
197
+ useFloatingPanelContext
192
198
  });
193
199
  //#endregion
194
200
  export { FloatingPanel$1 as FloatingPanel, resizeTriggerAxes };
@@ -1,9 +1,9 @@
1
1
  import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
2
2
  import Heading_module_default from "./Heading.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/heading/Heading.tsx
8
8
  const elements = {
9
9
  h1: ark.h1,
@@ -1,7 +1,7 @@
1
1
  import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
2
2
  import Highlight_module_default from "./Highlight.module.js";
3
- import { jsx } from "react/jsx-runtime";
4
3
  import { clsx } from "clsx";
4
+ import { jsx } from "react/jsx-runtime";
5
5
  import { Highlight } from "@ark-ui/react/highlight";
6
6
  //#region src/components/highlight/Highlight.tsx
7
7
  function HighlightRoot({ className, ...props }) {