@moduix/react-tailwind 1.0.0 → 1.1.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 (69) hide show
  1. package/dist/components/accordion/Accordion.js +13 -13
  2. package/dist/components/alert/Alert.js +12 -12
  3. package/dist/components/angle-slider/AngleSlider.js +16 -16
  4. package/dist/components/avatar/Avatar.js +7 -7
  5. package/dist/components/bleed/Bleed.js +1 -1
  6. package/dist/components/card/Card.js +33 -33
  7. package/dist/components/carousel/Carousel.d.ts +1 -1
  8. package/dist/components/carousel/Carousel.js +22 -22
  9. package/dist/components/chart/Chart.js +18 -18
  10. package/dist/components/checkbox/Checkbox.js +12 -12
  11. package/dist/components/clipboard/Clipboard.js +19 -18
  12. package/dist/components/collapsible/Collapsible.js +11 -11
  13. package/dist/components/color-picker/ColorPicker.js +47 -47
  14. package/dist/components/combobox/Combobox.js +31 -31
  15. package/dist/components/command-palette/CommandPalette.js +48 -48
  16. package/dist/components/container/Container.js +5 -5
  17. package/dist/components/date-input/DateInput.js +14 -14
  18. package/dist/components/date-picker/DatePicker.js +51 -51
  19. package/dist/components/dialog/Dialog.js +20 -20
  20. package/dist/components/drawer/Drawer.js +30 -30
  21. package/dist/components/editable/Editable.js +17 -17
  22. package/dist/components/empty/Empty.js +13 -13
  23. package/dist/components/field/Field.js +19 -19
  24. package/dist/components/file-upload/FileUpload.js +28 -28
  25. package/dist/components/floating-panel/FloatingPanel.d.ts +1 -1
  26. package/dist/components/floating-panel/FloatingPanel.js +22 -22
  27. package/dist/components/floating-panel/index.d.ts +1 -0
  28. package/dist/components/hover-card/HoverCard.d.ts +1 -1
  29. package/dist/components/hover-card/HoverCard.js +11 -11
  30. package/dist/components/image-cropper/ImageCropper.js +14 -14
  31. package/dist/components/input-group/InputGroup.js +1 -1
  32. package/dist/components/lightbox/Lightbox.js +25 -25
  33. package/dist/components/listbox/Listbox.js +31 -31
  34. package/dist/components/marquee/Marquee.js +12 -12
  35. package/dist/components/menu/Menu.js +42 -42
  36. package/dist/components/navigation-menu/NavigationMenu.js +24 -24
  37. package/dist/components/number-input/NumberInput.js +16 -16
  38. package/dist/components/pagination/Pagination.js +11 -11
  39. package/dist/components/password-input/PasswordInput.js +13 -13
  40. package/dist/components/pin-input/PinInput.js +11 -11
  41. package/dist/components/popover/Popover.js +25 -25
  42. package/dist/components/progress-circular/ProgressCircular.js +16 -16
  43. package/dist/components/progress-linear/ProgressLinear.js +14 -14
  44. package/dist/components/qr-code/QrCode.js +12 -12
  45. package/dist/components/radio-group/RadioGroup.js +14 -14
  46. package/dist/components/rating-group/RatingGroup.js +11 -11
  47. package/dist/components/segment-group/SegmentGroup.js +14 -14
  48. package/dist/components/select/Select.js +33 -33
  49. package/dist/components/sidebar/Sidebar.js +51 -44
  50. package/dist/components/signature-pad/SignaturePad.js +11 -11
  51. package/dist/components/slider/Slider.js +22 -22
  52. package/dist/components/split-button/SplitButton.d.ts +6 -6
  53. package/dist/components/split-button/SplitButton.js +17 -13
  54. package/dist/components/splitter/Splitter.js +9 -9
  55. package/dist/components/steps/Steps.js +23 -23
  56. package/dist/components/swap/Swap.js +6 -6
  57. package/dist/components/switch/Switch.js +9 -9
  58. package/dist/components/table/Table.js +23 -23
  59. package/dist/components/tabs/Tabs.js +12 -12
  60. package/dist/components/tags-input/TagsInput.js +20 -20
  61. package/dist/components/timer/Timer.js +14 -14
  62. package/dist/components/toast/Toast.js +8 -8
  63. package/dist/components/toc/Toc.js +19 -19
  64. package/dist/components/toggle/Toggle.js +4 -4
  65. package/dist/components/tooltip/Tooltip.js +11 -11
  66. package/dist/components/tour/Tour.js +26 -26
  67. package/dist/components/tree-view/TreeView.js +30 -30
  68. package/dist/styles/animations.css +8 -8
  69. package/package.json +1 -1
@@ -7,84 +7,84 @@ import { CheckIcon, CloseIcon, PencilIcon } from "../../internal/icons/ui/index.
7
7
  const Editable_EditableRoot = /*#__PURE__*/ forwardRef(function({ activationMode = 'dblclick', className, ...props }, ref) {
8
8
  return /*#__PURE__*/ jsx(Editable.Root, {
9
9
  ref: ref,
10
- "data-slot": "editable-root",
11
10
  activationMode: activationMode,
12
11
  className: cn('box-border inline-grid max-w-full grid-cols-[minmax(0,1fr)_auto] items-center gap-1 text-foreground has-[[data-disabled]]:opacity-50', className),
13
- ...props
12
+ ...props,
13
+ "data-slot": "editable-root"
14
14
  });
15
15
  });
16
16
  const Editable_EditableRootProvider = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
17
17
  return /*#__PURE__*/ jsx(Editable.RootProvider, {
18
18
  ref: ref,
19
- "data-slot": "editable-root-provider",
20
19
  className: cn('box-border inline-grid max-w-full grid-cols-[minmax(0,1fr)_auto] items-center gap-1 text-foreground has-[[data-disabled]]:opacity-50', className),
21
- ...props
20
+ ...props,
21
+ "data-slot": "editable-root-provider"
22
22
  });
23
23
  });
24
24
  const Editable_EditableLabel = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
25
25
  return /*#__PURE__*/ jsx(Editable.Label, {
26
26
  ref: ref,
27
- "data-slot": "editable-label",
28
27
  className: cn('col-span-full inline-flex items-center gap-1 text-sm leading-5 font-medium text-foreground data-invalid:text-destructive', className),
29
- ...props
28
+ ...props,
29
+ "data-slot": "editable-label"
30
30
  });
31
31
  });
32
32
  const Editable_EditableArea = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
33
33
  return /*#__PURE__*/ jsx(Editable.Area, {
34
34
  ref: ref,
35
- "data-slot": "editable-area",
36
35
  className: cn('col-start-1 box-border inline-flex min-h-control-md w-full min-w-0 items-center rounded-md border border-border bg-background px-3.5 py-1 text-foreground outline-1 -outline-offset-1 outline-transparent transition-[border-color,outline-color,opacity] duration-200 ease-in-out has-[[aria-invalid=true]]:border-destructive has-[[data-invalid]]:border-destructive data-disabled:pointer-events-none data-focus:outline-ring data-focus:has-[[aria-invalid=true]]:outline-destructive data-focus:has-[[data-invalid]]:outline-destructive motion-reduce:transition-none', className),
37
- ...props
36
+ ...props,
37
+ "data-slot": "editable-area"
38
38
  });
39
39
  });
40
40
  const Editable_EditableInput = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
41
41
  return /*#__PURE__*/ jsx(Editable.Input, {
42
42
  ref: ref,
43
- "data-slot": "editable-input",
44
43
  className: cn('box-border block w-full min-w-0 appearance-none bg-transparent text-md leading-6 text-inherit outline-0 placeholder:text-muted-foreground [&:is(textarea)]:min-h-24 [&:is(textarea)]:resize-y', className),
45
- ...props
44
+ ...props,
45
+ "data-slot": "editable-input"
46
46
  });
47
47
  });
48
48
  const Editable_EditablePreview = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
49
49
  return /*#__PURE__*/ jsx(Editable.Preview, {
50
50
  ref: ref,
51
- "data-slot": "editable-preview",
52
51
  className: cn('box-border block min-h-[1lh] w-full min-w-0 cursor-text bg-transparent text-md leading-6 text-inherit outline-0 aria-readonly:cursor-default data-disabled:cursor-default data-readonly:cursor-default data-[placeholder-shown]:text-muted-foreground', className),
53
- ...props
52
+ ...props,
53
+ "data-slot": "editable-preview"
54
54
  });
55
55
  });
56
56
  const Editable_EditableControl = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
57
57
  return /*#__PURE__*/ jsx(Editable.Control, {
58
58
  ref: ref,
59
- "data-slot": "editable-control",
60
59
  className: cn('col-start-2 inline-flex items-center gap-1 self-center', className),
61
- ...props
60
+ ...props,
61
+ "data-slot": "editable-control"
62
62
  });
63
63
  });
64
64
  const Editable_EditableEditTrigger = /*#__PURE__*/ forwardRef(function({ className, children, ...props }, ref) {
65
65
  return /*#__PURE__*/ jsx(Editable.EditTrigger, {
66
66
  ref: ref,
67
- "data-slot": "editable-edit-trigger",
68
67
  className: cn('box-border inline-flex size-control-md shrink-0 cursor-pointer items-center justify-center rounded-sm border border-border bg-background text-foreground outline-1 -outline-offset-1 outline-transparent transition-[background-color,border-color,color,outline-color,opacity] duration-200 ease-in-out focus-visible:outline-ring active:bg-accent disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 data-focus:outline-ring motion-reduce:transition-none [&>svg]:size-3.5 [&>svg]:shrink-0 [@media(hover:hover)]:hover:bg-accent', className),
69
68
  ...props,
69
+ "data-slot": "editable-edit-trigger",
70
70
  children: children ?? /*#__PURE__*/ jsx(PencilIcon, {})
71
71
  });
72
72
  });
73
73
  const Editable_EditableSubmitTrigger = /*#__PURE__*/ forwardRef(function({ className, children, ...props }, ref) {
74
74
  return /*#__PURE__*/ jsx(Editable.SubmitTrigger, {
75
75
  ref: ref,
76
- "data-slot": "editable-submit-trigger",
77
76
  className: cn('box-border inline-flex size-control-md shrink-0 cursor-pointer items-center justify-center rounded-sm border border-border bg-background text-foreground outline-1 -outline-offset-1 outline-transparent transition-[background-color,border-color,color,outline-color,opacity] duration-200 ease-in-out focus-visible:outline-ring active:bg-accent disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 data-focus:outline-ring motion-reduce:transition-none [&>svg]:size-3.5 [&>svg]:shrink-0 [@media(hover:hover)]:hover:bg-accent', className),
78
77
  ...props,
78
+ "data-slot": "editable-submit-trigger",
79
79
  children: children ?? /*#__PURE__*/ jsx(CheckIcon, {})
80
80
  });
81
81
  });
82
82
  const Editable_EditableCancelTrigger = /*#__PURE__*/ forwardRef(function({ className, children, ...props }, ref) {
83
83
  return /*#__PURE__*/ jsx(Editable.CancelTrigger, {
84
84
  ref: ref,
85
- "data-slot": "editable-cancel-trigger",
86
85
  className: cn('box-border inline-flex size-control-md shrink-0 cursor-pointer items-center justify-center rounded-sm border border-border bg-background text-foreground outline-1 -outline-offset-1 outline-transparent transition-[background-color,border-color,color,outline-color,opacity] duration-200 ease-in-out focus-visible:outline-ring active:bg-accent disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 data-focus:outline-ring motion-reduce:transition-none [&>svg]:size-3.5 [&>svg]:shrink-0 [@media(hover:hover)]:hover:bg-accent', className),
87
86
  ...props,
87
+ "data-slot": "editable-cancel-trigger",
88
88
  children: children ?? /*#__PURE__*/ jsx(CloseIcon, {})
89
89
  });
90
90
  });
@@ -5,61 +5,61 @@ import { cn } from "../../internal/cn.js";
5
5
  const Empty_EmptyRoot = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
6
6
  return /*#__PURE__*/ jsx(ark.div, {
7
7
  ref: ref,
8
+ ...props,
8
9
  "data-scope": "empty",
9
10
  "data-part": "root",
10
- "data-slot": "empty-root",
11
- className: cn('grid w-full min-w-0 justify-items-center gap-4 rounded-xl border border-border bg-card p-8 text-center text-card-foreground', className),
12
- ...props
11
+ className: cn('grid w-full min-w-0 justify-items-center gap-4 rounded-xl border border-border bg-[color-mix(in_oklab,var(--color-card)_92%,var(--color-muted))] p-8 text-center text-card-foreground', className),
12
+ "data-slot": "empty-root"
13
13
  });
14
14
  });
15
15
  const Empty_EmptyIcon = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
16
16
  return /*#__PURE__*/ jsx(ark.div, {
17
17
  ref: ref,
18
+ ...props,
18
19
  "data-scope": "empty",
19
20
  "data-part": "icon",
20
- "data-slot": "empty-icon",
21
21
  className: cn('inline-flex min-w-0 items-center justify-center rounded-full bg-muted p-3 text-muted-foreground [&_svg]:pointer-events-none [&_svg]:size-6 [&_svg]:shrink-0', className),
22
- ...props
22
+ "data-slot": "empty-icon"
23
23
  });
24
24
  });
25
25
  const Empty_EmptyContent = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
26
26
  return /*#__PURE__*/ jsx(ark.div, {
27
27
  ref: ref,
28
+ ...props,
28
29
  "data-scope": "empty",
29
30
  "data-part": "content",
30
- "data-slot": "empty-content",
31
31
  className: cn('grid max-w-md min-w-0 justify-items-center gap-1', className),
32
- ...props
32
+ "data-slot": "empty-content"
33
33
  });
34
34
  });
35
35
  const Empty_EmptyTitle = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
36
36
  return /*#__PURE__*/ jsx(ark.h3, {
37
37
  ref: ref,
38
+ ...props,
38
39
  "data-scope": "empty",
39
40
  "data-part": "title",
40
- "data-slot": "empty-title",
41
41
  className: cn('min-w-0 text-xl font-semibold wrap-anywhere', className),
42
- ...props
42
+ "data-slot": "empty-title"
43
43
  });
44
44
  });
45
45
  const Empty_EmptyDescription = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
46
46
  return /*#__PURE__*/ jsx(ark.div, {
47
47
  ref: ref,
48
+ ...props,
48
49
  "data-scope": "empty",
49
50
  "data-part": "description",
50
- "data-slot": "empty-description",
51
51
  className: cn('min-w-0 text-sm wrap-anywhere text-muted-foreground [&>:first-child]:mt-0 [&>:last-child]:mb-0', className),
52
- ...props
52
+ "data-slot": "empty-description"
53
53
  });
54
54
  });
55
55
  const Empty_EmptyActions = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
56
56
  return /*#__PURE__*/ jsx(ark.div, {
57
57
  ref: ref,
58
+ ...props,
58
59
  "data-scope": "empty",
59
60
  "data-part": "actions",
60
- "data-slot": "empty-actions",
61
61
  className: cn('flex max-w-full min-w-0 flex-wrap items-center justify-center gap-2 [&>*]:max-w-full [&>*]:min-w-0 [&>:is(button,a)]:wrap-anywhere [&>:is(button,a)]:whitespace-normal', className),
62
- ...props
62
+ "data-slot": "empty-actions"
63
63
  });
64
64
  });
65
65
  const Empty = Object.assign(Empty_EmptyRoot, {
@@ -6,17 +6,17 @@ import { cn } from "../../internal/cn.js";
6
6
  const Field_FieldRoot = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
7
7
  return /*#__PURE__*/ jsx(Field.Root, {
8
8
  ref: ref,
9
- "data-slot": "field-root",
10
9
  className: cn('flex w-full max-w-none flex-col items-start gap-1 text-foreground data-disabled:opacity-50', className),
11
- ...props
10
+ ...props,
11
+ "data-slot": "field-root"
12
12
  });
13
13
  });
14
14
  const Field_FieldRootProvider = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
15
15
  return /*#__PURE__*/ jsx(Field.RootProvider, {
16
16
  ref: ref,
17
- "data-slot": "field-root-provider",
18
17
  className: cn('flex w-full max-w-none flex-col items-start gap-1 text-foreground data-disabled:opacity-50', className),
19
- ...props
18
+ ...props,
19
+ "data-slot": "field-root-provider"
20
20
  });
21
21
  });
22
22
  const Field_FieldItem = /*#__PURE__*/ forwardRef(function({ className, children, value, ...props }, ref) {
@@ -24,9 +24,9 @@ const Field_FieldItem = /*#__PURE__*/ forwardRef(function({ className, children,
24
24
  value: value,
25
25
  children: /*#__PURE__*/ jsx("div", {
26
26
  ref: ref,
27
- "data-slot": "field-item",
28
27
  className: cn('grid gap-1', className),
29
28
  ...props,
29
+ "data-slot": "field-item",
30
30
  children: children
31
31
  })
32
32
  });
@@ -34,57 +34,57 @@ const Field_FieldItem = /*#__PURE__*/ forwardRef(function({ className, children,
34
34
  const Field_FieldLabel = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
35
35
  return /*#__PURE__*/ jsx(Field.Label, {
36
36
  ref: ref,
37
- "data-slot": "field-label",
38
37
  className: cn('inline-flex items-center gap-2 text-sm leading-5 font-medium wrap-anywhere text-foreground', className),
39
- ...props
38
+ ...props,
39
+ "data-slot": "field-label"
40
40
  });
41
41
  });
42
42
  const Field_FieldInput = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
43
43
  return /*#__PURE__*/ jsx(Field.Input, {
44
44
  ref: ref,
45
- "data-slot": "field-input",
46
45
  className: cn('min-h-control-md w-full rounded-md border border-border bg-background px-3.5 py-1 text-md leading-6 text-foreground outline-1 -outline-offset-1 outline-transparent transition-[border-color,outline-color] duration-200 ease-in-out placeholder:text-muted-foreground focus-visible:outline-ring disabled:pointer-events-none data-disabled:pointer-events-none data-invalid:border-destructive data-invalid:focus-visible:outline-destructive motion-reduce:transition-none', className),
47
- ...props
46
+ ...props,
47
+ "data-slot": "field-input"
48
48
  });
49
49
  });
50
50
  const Field_FieldTextarea = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
51
51
  return /*#__PURE__*/ jsx(Field.Textarea, {
52
52
  ref: ref,
53
- "data-slot": "field-textarea",
54
53
  className: cn('min-h-20 w-full resize-y rounded-md border border-border bg-background px-3.5 py-1 text-md leading-6 text-foreground outline-1 -outline-offset-1 outline-transparent transition-[border-color,outline-color] duration-200 ease-in-out placeholder:text-muted-foreground focus-visible:outline-ring disabled:pointer-events-none data-disabled:pointer-events-none data-invalid:border-destructive data-invalid:focus-visible:outline-destructive motion-reduce:transition-none', className),
55
- ...props
54
+ ...props,
55
+ "data-slot": "field-textarea"
56
56
  });
57
57
  });
58
58
  const Field_FieldSelect = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
59
59
  return /*#__PURE__*/ jsx(Field.Select, {
60
60
  ref: ref,
61
- "data-slot": "field-select",
62
61
  className: cn('min-h-control-md w-full rounded-md border border-border bg-background px-3.5 py-1 text-md leading-6 text-foreground outline-1 -outline-offset-1 outline-transparent transition-[border-color,outline-color] duration-200 ease-in-out focus-visible:outline-ring disabled:pointer-events-none data-disabled:pointer-events-none data-invalid:border-destructive data-invalid:focus-visible:outline-destructive motion-reduce:transition-none', className),
63
- ...props
62
+ ...props,
63
+ "data-slot": "field-select"
64
64
  });
65
65
  });
66
66
  const Field_FieldHelperText = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
67
67
  return /*#__PURE__*/ jsx(Field.HelperText, {
68
68
  ref: ref,
69
- "data-slot": "field-helper-text",
70
69
  className: cn('text-sm leading-5 wrap-anywhere text-muted-foreground', className),
71
- ...props
70
+ ...props,
71
+ "data-slot": "field-helper-text"
72
72
  });
73
73
  });
74
74
  const Field_FieldErrorText = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
75
75
  return /*#__PURE__*/ jsx(Field.ErrorText, {
76
76
  ref: ref,
77
- "data-slot": "field-error-text",
78
77
  className: cn('text-sm leading-5 font-medium wrap-anywhere text-destructive', className),
79
- ...props
78
+ ...props,
79
+ "data-slot": "field-error-text"
80
80
  });
81
81
  });
82
82
  const Field_FieldRequiredIndicator = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
83
83
  return /*#__PURE__*/ jsx(Field.RequiredIndicator, {
84
84
  ref: ref,
85
- "data-slot": "field-required-indicator",
86
85
  className: cn('text-destructive', className),
87
- ...props
86
+ ...props,
87
+ "data-slot": "field-required-indicator"
88
88
  });
89
89
  });
90
90
  const Field_Field = Object.assign(Field_FieldRoot, {
@@ -9,89 +9,89 @@ import { CloseButton } from "../close-button/index.js";
9
9
  const FileUpload_FileUploadRoot = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
10
10
  return /*#__PURE__*/ jsx(FileUpload.Root, {
11
11
  ref: ref,
12
- "data-slot": "file-upload-root",
13
12
  className: cn('box-border flex w-full max-w-md flex-col items-start gap-3 text-foreground', className),
14
- ...props
13
+ ...props,
14
+ "data-slot": "file-upload-root"
15
15
  });
16
16
  });
17
17
  const FileUpload_FileUploadRootProvider = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
18
18
  return /*#__PURE__*/ jsx(FileUpload.RootProvider, {
19
19
  ref: ref,
20
- "data-slot": "file-upload-root-provider",
21
20
  className: cn('box-border flex w-full max-w-md flex-col items-start gap-3 text-foreground', className),
22
- ...props
21
+ ...props,
22
+ "data-slot": "file-upload-root-provider"
23
23
  });
24
24
  });
25
25
  const FileUpload_FileUploadLabel = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
26
26
  return /*#__PURE__*/ jsx(FileUpload.Label, {
27
27
  ref: ref,
28
- "data-slot": "file-upload-label",
29
28
  className: cn('text-sm font-medium text-foreground data-disabled:opacity-50', className),
30
- ...props
29
+ ...props,
30
+ "data-slot": "file-upload-label"
31
31
  });
32
32
  });
33
33
  const FileUpload_FileUploadDropzone = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
34
34
  return /*#__PURE__*/ jsx(FileUpload.Dropzone, {
35
35
  ref: ref,
36
- "data-slot": "file-upload-dropzone",
37
36
  className: cn('box-border grid min-h-32 w-full place-items-center gap-3 rounded-md border border-dashed border-border bg-background p-5 text-center text-muted-foreground transition-[border-color,background-color,color,opacity] duration-200 ease-in-out focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-ring data-disabled:cursor-default data-disabled:opacity-50 data-dragging:border-primary data-dragging:bg-accent data-dragging:text-foreground data-invalid:border-destructive data-readonly:cursor-default data-readonly:opacity-50 motion-reduce:transition-none [&[role=button]:not([data-disabled],[data-readonly])]:cursor-pointer', className),
38
- ...props
37
+ ...props,
38
+ "data-slot": "file-upload-dropzone"
39
39
  });
40
40
  });
41
41
  function FileUploadDropzoneIcon({ className, children, ...props }) {
42
42
  return /*#__PURE__*/ jsx(ark.span, {
43
43
  "aria-hidden": "true",
44
- "data-slot": "file-upload-dropzone-icon",
45
44
  className: cn('box-border inline-flex size-10 items-center justify-center rounded-full border border-border bg-muted text-foreground [&>svg]:size-4', className),
46
45
  ...props,
46
+ "data-slot": "file-upload-dropzone-icon",
47
47
  children: children ?? /*#__PURE__*/ jsx(UploadIcon, {})
48
48
  });
49
49
  }
50
50
  const FileUpload_FileUploadTrigger = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
51
51
  return /*#__PURE__*/ jsx(FileUpload.Trigger, {
52
52
  ref: ref,
53
- "data-slot": "file-upload-trigger",
54
53
  className: cn('box-border inline-flex min-h-control-md cursor-pointer appearance-none items-center justify-center gap-2 rounded-md border border-primary bg-primary px-4 text-sm leading-5 font-medium whitespace-nowrap text-primary-foreground transition-[border-color,background-color,color,opacity] duration-200 ease-in-out select-none focus-visible:outline-2 focus-visible:-outline-offset-1 focus-visible:outline-ring disabled:pointer-events-none disabled:cursor-default data-disabled:pointer-events-none data-disabled:cursor-default data-invalid:border-destructive data-readonly:pointer-events-none data-readonly:cursor-default motion-reduce:transition-none [@media(hover:hover)]:[&:not(:disabled):not([data-disabled]):not([data-readonly]):hover]:bg-foreground', className),
55
- ...props
54
+ ...props,
55
+ "data-slot": "file-upload-trigger"
56
56
  });
57
57
  });
58
58
  const FileUpload_FileUploadItemGroup = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
59
59
  return /*#__PURE__*/ jsx(FileUpload.ItemGroup, {
60
60
  ref: ref,
61
- "data-slot": "file-upload-item-group",
62
61
  className: cn('flex w-full flex-wrap items-start gap-2 empty:hidden', className),
63
- ...props
62
+ ...props,
63
+ "data-slot": "file-upload-item-group"
64
64
  });
65
65
  });
66
66
  const FileUpload_FileUploadItem = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
67
67
  return /*#__PURE__*/ jsx(FileUpload.Item, {
68
68
  ref: ref,
69
- "data-slot": "file-upload-item",
70
69
  className: cn('group/item box-border grid min-h-control-md shrink-0 grow basis-full grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 rounded-md border border-border bg-background px-3 py-2 text-foreground has-[[data-slot=file-upload-item-preview-image]]:min-h-0 has-[[data-slot=file-upload-item-preview-image]]:max-w-40 has-[[data-slot=file-upload-item-preview-image]]:grow-0 has-[[data-slot=file-upload-item-preview-image]]:grid-cols-[minmax(0,1fr)_auto] has-[[data-slot=file-upload-item-preview-image]]:grid-rows-[auto_auto_auto] has-[[data-slot=file-upload-item-preview-image]]:items-start has-[[data-slot=file-upload-item-preview]]:min-h-control-xl has-[[data-slot=file-upload-item-preview]]:grid-cols-[auto_minmax(0,1fr)_auto] has-[[data-slot=file-upload-item-preview]]:py-2 data-disabled:opacity-50 data-[type=rejected]:border-destructive', className),
71
- ...props
70
+ ...props,
71
+ "data-slot": "file-upload-item"
72
72
  });
73
73
  });
74
74
  const FileUpload_FileUploadItemPreview = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
75
75
  return /*#__PURE__*/ jsx(FileUpload.ItemPreview, {
76
76
  ref: ref,
77
- "data-slot": "file-upload-item-preview",
78
77
  className: cn('col-start-1 row-span-2 row-start-1 inline-flex size-10 items-center justify-center overflow-hidden rounded-sm bg-muted text-muted-foreground group-has-[[data-slot=file-upload-item-preview-image]]/item:col-span-2 group-has-[[data-slot=file-upload-item-preview-image]]/item:aspect-square group-has-[[data-slot=file-upload-item-preview-image]]/item:h-auto group-has-[[data-slot=file-upload-item-preview-image]]/item:w-full', className),
79
- ...props
78
+ ...props,
79
+ "data-slot": "file-upload-item-preview"
80
80
  });
81
81
  });
82
82
  const FileUpload_FileUploadItemPreviewImage = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
83
83
  return /*#__PURE__*/ jsx(FileUpload.ItemPreviewImage, {
84
84
  ref: ref,
85
- "data-slot": "file-upload-item-preview-image",
86
85
  className: cn('size-full object-cover', className),
87
- ...props
86
+ ...props,
87
+ "data-slot": "file-upload-item-preview-image"
88
88
  });
89
89
  });
90
90
  function FileUploadItemPreviewIcon({ className, ...props }) {
91
91
  return /*#__PURE__*/ jsx(FileIcon, {
92
- "data-slot": "file-upload-item-preview-icon",
93
92
  className: cn('size-4', className),
94
- ...props
93
+ ...props,
94
+ "data-slot": "file-upload-item-preview-icon"
95
95
  });
96
96
  }
97
97
  function getFileTypeLabel(file) {
@@ -104,24 +104,24 @@ function isImageFile(file) {
104
104
  const FileUpload_FileUploadItemName = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
105
105
  return /*#__PURE__*/ jsx(FileUpload.ItemName, {
106
106
  ref: ref,
107
- "data-slot": "file-upload-item-name",
108
107
  className: cn('col-start-1 line-clamp-1 min-w-0 text-sm leading-5 font-medium group-has-[[data-slot=file-upload-item-preview-image]]/item:col-start-1 group-has-[[data-slot=file-upload-item-preview-image]]/item:row-start-2 group-has-[[data-slot=file-upload-item-preview-image]]/item:self-end group-has-[[data-slot=file-upload-item-preview]]/item:col-start-2', className),
109
- ...props
108
+ ...props,
109
+ "data-slot": "file-upload-item-name"
110
110
  });
111
111
  });
112
112
  const FileUpload_FileUploadItemSizeText = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
113
113
  return /*#__PURE__*/ jsx(FileUpload.ItemSizeText, {
114
114
  ref: ref,
115
- "data-slot": "file-upload-item-size-text",
116
115
  className: cn('text-xs leading-4 text-muted-foreground', className),
117
- ...props
116
+ ...props,
117
+ "data-slot": "file-upload-item-size-text"
118
118
  });
119
119
  });
120
120
  function FileUploadItemMetadata({ file, className, ...props }) {
121
121
  return /*#__PURE__*/ jsxs(ark.div, {
122
- "data-slot": "file-upload-item-metadata",
123
122
  className: cn("col-start-1 flex items-center gap-1 text-xs leading-4 text-muted-foreground group-has-[[data-slot=file-upload-item-preview-image]]/item:col-start-1 group-has-[[data-slot=file-upload-item-preview-image]]/item:row-start-3 group-has-[[data-slot=file-upload-item-preview]]/item:col-start-2 [&>[data-slot='file-upload-item-size-text']::before]:me-1 [&>[data-slot='file-upload-item-size-text']::before]:content-['·']", className),
124
123
  ...props,
124
+ "data-slot": "file-upload-item-metadata",
125
125
  children: [
126
126
  /*#__PURE__*/ jsx(ark.span, {
127
127
  children: getFileTypeLabel(file)
@@ -133,9 +133,9 @@ function FileUploadItemMetadata({ file, className, ...props }) {
133
133
  const FileUpload_FileUploadItemDeleteTrigger = /*#__PURE__*/ forwardRef(function({ className, children, ...props }, ref) {
134
134
  return /*#__PURE__*/ jsx(FileUpload.ItemDeleteTrigger, {
135
135
  ref: ref,
136
- "data-slot": "file-upload-item-delete-trigger",
137
136
  className: cn('col-start-2 row-start-1 box-border inline-flex size-control-sm shrink-0 cursor-pointer appearance-none items-center justify-center justify-self-end rounded-sm border-0 bg-transparent p-0 text-muted-foreground transition-[background-color,color,opacity] duration-200 ease-in-out group-has-[[data-slot=file-upload-item-preview-image]]/item:col-start-2 group-has-[[data-slot=file-upload-item-preview-image]]/item:row-start-2 group-has-[[data-slot=file-upload-item-preview-image]]/item:self-center group-has-[[data-slot=file-upload-item-preview]]/item:col-start-3 group-has-[[data-slot=file-upload-item-preview]]/item:row-span-2 group-has-[[data-slot=file-upload-item-preview]]/item:row-start-1 group-has-[[data-slot=file-upload-item-size-text]]/item:row-span-2 group-has-[[data-slot=file-upload-item-size-text]]/item:row-start-1 focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-ring disabled:pointer-events-none disabled:cursor-default disabled:opacity-50 data-disabled:pointer-events-none data-disabled:cursor-default data-disabled:opacity-50 data-readonly:pointer-events-none data-readonly:cursor-default data-readonly:opacity-50 motion-reduce:transition-none [&>svg]:size-4 [@media(hover:hover)]:[&:not(:disabled):not([data-disabled]):not([data-readonly]):hover]:bg-muted [@media(hover:hover)]:[&:not(:disabled):not([data-disabled]):not([data-readonly]):hover]:text-foreground', className),
138
137
  ...props,
138
+ "data-slot": "file-upload-item-delete-trigger",
139
139
  children: children ?? /*#__PURE__*/ jsx(TrashIcon, {})
140
140
  });
141
141
  });
@@ -163,11 +163,11 @@ const FileUpload_FileUploadClearTrigger = /*#__PURE__*/ forwardRef(function({ as
163
163
  return /*#__PURE__*/ jsx(FileUpload.ClearTrigger, {
164
164
  ref: ref,
165
165
  asChild: true,
166
- "data-slot": "file-upload-clear-trigger",
167
166
  className: triggerClassName,
168
167
  "aria-label": asChild ? clearLabel : void 0,
169
168
  "aria-labelledby": asChild ? ariaLabelledBy : void 0,
170
169
  ...props,
170
+ "data-slot": "file-upload-clear-trigger",
171
171
  children: asChild ? children : /*#__PURE__*/ jsx(CloseButton.Root, {
172
172
  "aria-label": clearLabel,
173
173
  "aria-labelledby": ariaLabelledBy,
@@ -31,4 +31,4 @@ declare const FloatingPanel: typeof FloatingPanelRoot & {
31
31
  useFloatingPanel: (props?: import("@ark-ui/react/floating-panel").UseFloatingPanelProps) => import("@ark-ui/react/floating-panel").UseFloatingPanelReturn;
32
32
  useFloatingPanelContext: () => import("@ark-ui/react/floating-panel").UseFloatingPanelContext;
33
33
  };
34
- export { FloatingPanel, resizeTriggerAxes, useFloatingPanel, useFloatingPanelContext };
34
+ export { FloatingPanel, resizeTriggerAxes, useFloatingPanel, useFloatingPanelContext, type FloatingPanelRootProps, type FloatingPanelRootProviderProps, };
@@ -46,59 +46,59 @@ const FloatingPanel_FloatingPanelTrigger = /*#__PURE__*/ forwardRef(function({ a
46
46
  return /*#__PURE__*/ jsx(FloatingPanel.Trigger, {
47
47
  ref: ref,
48
48
  asChild: asChild,
49
- "data-slot": "floating-panel-trigger",
50
49
  className: cn(!asChild && 'box-border inline-flex min-h-control-md cursor-pointer items-center justify-center rounded-md border border-border bg-background px-3 py-1 text-md leading-6 text-foreground outline-0 transition-[background-color,border-color,color,opacity] duration-200 ease-in-out select-none focus-visible:outline-1 focus-visible:-outline-offset-1 focus-visible:outline-ring active:bg-accent disabled:pointer-events-none disabled:cursor-default disabled:opacity-50 data-disabled:pointer-events-none data-disabled:cursor-default data-disabled:opacity-50 data-[state=open]:bg-accent motion-reduce:transition-none [@media(hover:hover)]:hover:bg-accent', className),
51
- ...props
50
+ ...props,
51
+ "data-slot": "floating-panel-trigger"
52
52
  });
53
53
  });
54
54
  const FloatingPanel_FloatingPanelPositioner = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
55
55
  return /*#__PURE__*/ jsx(OverlayPortal, {
56
56
  children: /*#__PURE__*/ jsx(FloatingPanel.Positioner, {
57
57
  ref: ref,
58
- "data-slot": "floating-panel-positioner",
59
58
  className: cn('z-[var(--z-index)] outline-0', className),
60
- ...props
59
+ ...props,
60
+ "data-slot": "floating-panel-positioner"
61
61
  })
62
62
  });
63
63
  });
64
64
  const FloatingPanel_FloatingPanelContent = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
65
65
  return /*#__PURE__*/ jsx(FloatingPanel.Content, {
66
66
  ref: ref,
67
- "data-slot": "floating-panel-content",
68
67
  className: cn('relative box-border flex min-h-40 min-w-64 origin-[var(--transform-origin)] flex-col overflow-hidden rounded-md border border-border bg-popover text-popover-foreground shadow-lg outline-0 data-behind:opacity-[0.55] data-minimized:min-h-0 data-[state=closed]:pointer-events-none data-[state=closed]:animate-moduix-menu-closed data-[state=open]:animate-moduix-menu-open motion-reduce:animate-none', className),
69
- ...props
68
+ ...props,
69
+ "data-slot": "floating-panel-content"
70
70
  });
71
71
  });
72
72
  const FloatingPanel_FloatingPanelDragTrigger = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
73
73
  return /*#__PURE__*/ jsx(FloatingPanel.DragTrigger, {
74
74
  ref: ref,
75
- "data-slot": "floating-panel-drag-trigger",
76
75
  className: cn('block', className),
77
- ...props
76
+ ...props,
77
+ "data-slot": "floating-panel-drag-trigger"
78
78
  });
79
79
  });
80
80
  const FloatingPanel_FloatingPanelHeader = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
81
81
  return /*#__PURE__*/ jsx(FloatingPanel.Header, {
82
82
  ref: ref,
83
- "data-slot": "floating-panel-header",
84
83
  className: cn('box-border flex min-h-control-xl cursor-grab items-center justify-between gap-3 border-b border-border bg-muted px-3 py-2 select-none data-[dragging]:cursor-grabbing data-[minimized]:border-b-transparent', className),
85
- ...props
84
+ ...props,
85
+ "data-slot": "floating-panel-header"
86
86
  });
87
87
  });
88
88
  const FloatingPanel_FloatingPanelTitle = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
89
89
  return /*#__PURE__*/ jsx(FloatingPanel.Title, {
90
90
  ref: ref,
91
- "data-slot": "floating-panel-title",
92
91
  className: cn('inline-flex min-w-0 items-center gap-2 text-sm font-semibold text-popover-foreground', className),
93
- ...props
92
+ ...props,
93
+ "data-slot": "floating-panel-title"
94
94
  });
95
95
  });
96
96
  const FloatingPanel_FloatingPanelControl = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
97
97
  return /*#__PURE__*/ jsx(FloatingPanel.Control, {
98
98
  ref: ref,
99
- "data-slot": "floating-panel-control",
100
99
  className: cn('inline-flex flex-none items-center gap-1', className),
101
- ...props
100
+ ...props,
101
+ "data-slot": "floating-panel-control"
102
102
  });
103
103
  });
104
104
  const FloatingPanel_FloatingPanelStageTrigger = /*#__PURE__*/ forwardRef(function({ asChild, className, children, stage, 'aria-label': ariaLabel, ...props }, ref) {
@@ -107,10 +107,10 @@ const FloatingPanel_FloatingPanelStageTrigger = /*#__PURE__*/ forwardRef(functio
107
107
  ref: ref,
108
108
  asChild: asChild,
109
109
  stage: stage,
110
- "data-slot": "floating-panel-stage-trigger",
111
110
  className: cn(!asChild && 'box-border inline-flex size-control-sm cursor-pointer items-center justify-center rounded-sm border border-border bg-background text-foreground outline-0 transition-[background-color,border-color,color,opacity] duration-200 ease-in-out select-none focus-visible:outline-1 focus-visible:-outline-offset-1 focus-visible:outline-ring active:bg-accent disabled:pointer-events-none disabled:cursor-default disabled:opacity-50 data-disabled:pointer-events-none data-disabled:cursor-default data-disabled:opacity-50 motion-reduce:transition-none [&>svg]:size-4 [@media(hover:hover)]:hover:bg-accent', className),
112
111
  "aria-label": ariaLabel,
113
112
  ...props,
113
+ "data-slot": "floating-panel-stage-trigger",
114
114
  children: [
115
115
  children,
116
116
  shouldRenderDefaultIcon && 'minimized' === stage ? /*#__PURE__*/ jsx(MinusIcon, {}) : null,
@@ -123,9 +123,9 @@ const FloatingPanel_FloatingPanelCloseTrigger = /*#__PURE__*/ forwardRef(functio
123
123
  return /*#__PURE__*/ jsx(FloatingPanel.CloseTrigger, {
124
124
  ref: ref,
125
125
  asChild: asChild,
126
- "data-slot": "floating-panel-close-trigger",
127
126
  className: cn(!asChild && 'box-border inline-flex size-control-sm cursor-pointer items-center justify-center rounded-sm border border-border bg-background text-foreground outline-0 transition-[background-color,border-color,color,opacity] duration-200 ease-in-out select-none focus-visible:outline-1 focus-visible:-outline-offset-1 focus-visible:outline-ring active:bg-accent disabled:pointer-events-none disabled:cursor-default disabled:opacity-50 data-disabled:pointer-events-none data-disabled:cursor-default data-disabled:opacity-50 motion-reduce:transition-none [&>svg]:size-4 [@media(hover:hover)]:hover:bg-accent', className),
128
- ...props
127
+ ...props,
128
+ "data-slot": "floating-panel-close-trigger"
129
129
  });
130
130
  });
131
131
  const FloatingPanel_FloatingPanelCloseIcon = /*#__PURE__*/ forwardRef(function({ className, children, 'aria-label': ariaLabel = DEFAULT_CLOSE_BUTTON_LABEL, ...props }, ref) {
@@ -144,9 +144,9 @@ const FloatingPanel_FloatingPanelCloseIcon = /*#__PURE__*/ forwardRef(function({
144
144
  const FloatingPanel_FloatingPanelBody = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
145
145
  return /*#__PURE__*/ jsx(FloatingPanel.Body, {
146
146
  ref: ref,
147
- "data-slot": "floating-panel-body",
148
147
  className: cn('min-h-0 flex-auto overflow-auto p-4 text-sm text-popover-foreground data-minimized:hidden', className),
149
- ...props
148
+ ...props,
149
+ "data-slot": "floating-panel-body"
150
150
  });
151
151
  });
152
152
  const FloatingPanel_FloatingPanelFooter = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
@@ -162,9 +162,9 @@ const FloatingPanel_FloatingPanelFooter = /*#__PURE__*/ forwardRef(function({ cl
162
162
  const FloatingPanel_FloatingPanelResizeTrigger = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
163
163
  return /*#__PURE__*/ jsx(FloatingPanel.ResizeTrigger, {
164
164
  ref: ref,
165
- "data-slot": "floating-panel-resize-trigger",
166
165
  className: cn('absolute data-disabled:pointer-events-none data-[axis=e]:inset-y-3 data-[axis=e]:-right-1 data-[axis=e]:w-2 data-[axis=n]:inset-x-3 data-[axis=n]:-top-1 data-[axis=n]:h-2 data-[axis=ne]:-top-1.5 data-[axis=ne]:-right-1.5 data-[axis=ne]:size-3 data-[axis=nw]:-top-1.5 data-[axis=nw]:-left-1.5 data-[axis=nw]:size-3 data-[axis=s]:inset-x-3 data-[axis=s]:-bottom-1 data-[axis=s]:h-2 data-[axis=se]:-right-1.5 data-[axis=se]:-bottom-1.5 data-[axis=se]:size-3 data-[axis=sw]:-bottom-1.5 data-[axis=sw]:-left-1.5 data-[axis=sw]:size-3 data-[axis=w]:inset-y-3 data-[axis=w]:-left-1 data-[axis=w]:w-2', className),
167
- ...props
166
+ ...props,
167
+ "data-slot": "floating-panel-resize-trigger"
168
168
  });
169
169
  });
170
170
  function FloatingPanelResizeTriggerGroup({ axes = resizeTriggerAxes }) {
@@ -178,9 +178,9 @@ const FloatingPanel_FloatingPanelDragIndicator = /*#__PURE__*/ forwardRef(functi
178
178
  return /*#__PURE__*/ jsx("span", {
179
179
  ref: ref,
180
180
  "aria-hidden": "true",
181
- "data-slot": "floating-panel-drag-indicator",
182
181
  className: cn('inline-flex flex-none items-center justify-center text-muted-foreground [&>svg]:size-4', className),
183
182
  ...props,
183
+ "data-slot": "floating-panel-drag-indicator",
184
184
  children: children ?? /*#__PURE__*/ jsx(GripIcon, {})
185
185
  });
186
186
  });
@@ -1 +1,2 @@
1
1
  export { FloatingPanel, resizeTriggerAxes, useFloatingPanel, useFloatingPanelContext, } from './FloatingPanel.js';
2
+ export type { FloatingPanelRootProps, FloatingPanelRootProviderProps } from './FloatingPanel.js';
@@ -16,4 +16,4 @@ declare const HoverCard: typeof HoverCardRoot & {
16
16
  Body: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLDivElement>>;
17
17
  Context: (props: HoverCardPrimitive.ContextProps) => import("react").ReactNode;
18
18
  };
19
- export { HoverCard, useHoverCard, useHoverCardContext };
19
+ export { HoverCard, useHoverCard, useHoverCardContext, type HoverCardRootProps, type HoverCardRootProviderProps, };