@moduix/react 1.1.1 → 2.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.
- package/README.md +105 -177
- package/dist/components/accordion/Accordion.css +12 -5
- package/dist/components/accordion/Accordion.d.ts +3 -2
- package/dist/components/accordion/Accordion.js +17 -5
- package/dist/components/accordion/Accordion.module.js +1 -0
- package/dist/components/accordion/index.d.ts +2 -2
- package/dist/components/alert/Alert.css +24 -10
- package/dist/components/alert/Alert.d.ts +5 -3
- package/dist/components/alert/Alert.js +17 -5
- package/dist/components/alert/Alert.module.js +1 -0
- package/dist/components/angle-slider/AngleSlider.css +9 -9
- package/dist/components/angle-slider/AngleSlider.d.ts +18 -2
- package/dist/components/angle-slider/AngleSlider.js +34 -18
- package/dist/components/angle-slider/index.d.ts +2 -2
- package/dist/components/aspect-ratio/AspectRatio.css +3 -1
- package/dist/components/aspect-ratio/AspectRatio.js +2 -2
- package/dist/components/avatar/Avatar.d.ts +6 -3
- package/dist/components/avatar/Avatar.js +12 -5
- package/dist/components/avatar/index.d.ts +2 -2
- package/dist/components/badge/Badge.css +52 -8
- package/dist/components/badge/Badge.d.ts +2 -2
- package/dist/components/badge/Badge.js +1 -1
- package/dist/components/bleed/Bleed.d.ts +6 -4
- package/dist/components/bleed/Bleed.js +3 -3
- package/dist/components/breadcrumbs/Breadcrumbs.css +13 -6
- package/dist/components/breadcrumbs/Breadcrumbs.d.ts +18 -0
- package/dist/components/breadcrumbs/Breadcrumbs.js +18 -4
- package/dist/components/breadcrumbs/Breadcrumbs.module.js +2 -1
- package/dist/components/breadcrumbs/index.d.ts +2 -0
- package/dist/components/button/Button.css +45 -25
- package/dist/components/button/Button.d.ts +6 -0
- package/dist/components/button/Button.js +12 -7
- package/dist/components/card/Card.css +21 -5
- package/dist/components/card/Card.d.ts +1 -0
- package/dist/components/card/Card.js +12 -1
- package/dist/components/card/Card.module.js +1 -0
- package/dist/components/carousel/Carousel.css +19 -17
- package/dist/components/carousel/Carousel.d.ts +4 -0
- package/dist/components/carousel/Carousel.js +15 -2
- package/dist/components/checkbox/Checkbox.css +13 -13
- package/dist/components/checkbox/Checkbox.d.ts +2 -3
- package/dist/components/checkbox/Checkbox.js +25 -22
- package/dist/components/checkbox/index.d.ts +2 -2
- package/dist/components/clipboard/Clipboard.css +11 -11
- package/dist/components/clipboard/Clipboard.d.ts +2 -0
- package/dist/components/clipboard/Clipboard.js +15 -4
- package/dist/components/close-button/CloseButton.css +7 -7
- package/dist/components/close-button/CloseButton.d.ts +12 -2
- package/dist/components/close-button/CloseButton.js +9 -9
- package/dist/components/collapsible/Collapsible.css +13 -6
- package/dist/components/collapsible/Collapsible.d.ts +3 -2
- package/dist/components/collapsible/Collapsible.js +18 -6
- package/dist/components/collapsible/Collapsible.module.js +1 -0
- package/dist/components/collapsible/index.d.ts +2 -2
- package/dist/components/color-picker/ColorPicker.css +63 -27
- package/dist/components/color-picker/ColorPicker.d.ts +3 -3
- package/dist/components/color-picker/ColorPicker.js +78 -27
- package/dist/components/color-picker/ColorPicker.module.js +1 -0
- package/dist/components/color-picker/index.d.ts +2 -2
- package/dist/components/combobox/Combobox.css +69 -53
- package/dist/components/combobox/Combobox.d.ts +9 -2
- package/dist/components/combobox/Combobox.js +34 -8
- package/dist/components/combobox/index.d.ts +2 -2
- package/dist/components/command-palette/CommandPalette.css +67 -100
- package/dist/components/command-palette/CommandPalette.d.ts +13 -3
- package/dist/components/command-palette/CommandPalette.js +54 -43
- package/dist/components/command-palette/CommandPalette.module.js +0 -2
- package/dist/components/container/Container.js +1 -1
- package/dist/components/date-input/DateInput.css +8 -5
- package/dist/components/date-input/DateInput.d.ts +12 -7
- package/dist/components/date-input/DateInput.js +35 -14
- package/dist/components/date-input/index.d.ts +2 -2
- package/dist/components/date-picker/DatePicker.css +78 -57
- package/dist/components/date-picker/DatePicker.d.ts +30 -2
- package/dist/components/date-picker/DatePicker.js +94 -9
- package/dist/components/date-picker/index.d.ts +2 -2
- package/dist/components/dialog/Dialog.css +19 -14
- package/dist/components/dialog/Dialog.d.ts +2 -2
- package/dist/components/dialog/Dialog.js +3 -3
- package/dist/components/dialog/index.d.ts +2 -2
- package/dist/components/drawer/Drawer.css +6 -5
- package/dist/components/drawer/Drawer.d.ts +2 -2
- package/dist/components/drawer/Drawer.js +3 -3
- package/dist/components/drawer/index.d.ts +2 -2
- package/dist/components/editable/Editable.css +12 -10
- package/dist/components/editable/Editable.d.ts +9 -2
- package/dist/components/editable/Editable.js +14 -5
- package/dist/components/editable/index.d.ts +2 -2
- package/dist/components/empty/Empty.css +2 -2
- package/dist/components/empty/Empty.js +1 -1
- package/dist/components/field/Field.css +6 -8
- package/dist/components/field/Field.d.ts +3 -2
- package/dist/components/field/Field.js +6 -5
- package/dist/components/field/Field.module.js +0 -1
- package/dist/components/field/index.d.ts +2 -2
- package/dist/components/fieldset/Fieldset.d.ts +2 -2
- package/dist/components/fieldset/Fieldset.js +3 -3
- package/dist/components/fieldset/index.d.ts +2 -2
- package/dist/components/file-upload/FileUpload.css +96 -23
- package/dist/components/file-upload/FileUpload.d.ts +22 -5
- package/dist/components/file-upload/FileUpload.js +79 -21
- package/dist/components/file-upload/FileUpload.module.js +3 -0
- package/dist/components/file-upload/index.d.ts +2 -2
- package/dist/components/floating-panel/FloatingPanel.css +44 -40
- package/dist/components/floating-panel/FloatingPanel.d.ts +10 -2
- package/dist/components/floating-panel/FloatingPanel.js +15 -9
- package/dist/components/heading/Heading.js +1 -1
- package/dist/components/highlight/Highlight.css +1 -1
- package/dist/components/highlight/Highlight.js +1 -1
- package/dist/components/hover-card/HoverCard.css +19 -15
- package/dist/components/hover-card/HoverCard.d.ts +3 -2
- package/dist/components/hover-card/HoverCard.js +5 -4
- package/dist/components/hover-card/index.d.ts +2 -2
- package/dist/components/image/Image.css +7 -0
- package/dist/components/image/Image.d.ts +12 -0
- package/dist/components/image/Image.js +28 -0
- package/dist/components/image/Image.module.js +5 -0
- package/dist/components/image/index.d.ts +2 -0
- package/dist/components/image-cropper/ImageCropper.css +15 -11
- package/dist/components/image-cropper/ImageCropper.d.ts +7 -2
- package/dist/components/image-cropper/ImageCropper.js +25 -3
- package/dist/components/image-cropper/index.d.ts +2 -2
- package/dist/components/input/Input.css +9 -9
- package/dist/components/input/Input.js +1 -1
- package/dist/components/input-group/InputGroup.css +29 -29
- package/dist/components/input-group/InputGroup.d.ts +3 -0
- package/dist/components/input-group/InputGroup.js +1 -1
- package/dist/components/kbd/Kbd.css +2 -2
- package/dist/components/kbd/Kbd.js +1 -1
- package/dist/components/lightbox/Lightbox.css +19 -17
- package/dist/components/lightbox/Lightbox.d.ts +4 -2
- package/dist/components/lightbox/Lightbox.js +9 -7
- package/dist/components/lightbox/index.d.ts +2 -2
- package/dist/components/list/List.js +1 -1
- package/dist/components/listbox/Listbox.css +87 -26
- package/dist/components/listbox/Listbox.d.ts +14 -2
- package/dist/components/listbox/Listbox.js +41 -5
- package/dist/components/listbox/Listbox.module.js +3 -0
- package/dist/components/listbox/index.d.ts +2 -2
- package/dist/components/marquee/Marquee.d.ts +2 -1
- package/dist/components/marquee/Marquee.js +4 -3
- package/dist/components/marquee/index.d.ts +2 -2
- package/dist/components/menu/Menu.css +54 -45
- package/dist/components/menu/Menu.d.ts +3 -2
- package/dist/components/menu/Menu.js +6 -5
- package/dist/components/menu/index.d.ts +2 -2
- package/dist/components/native-select/NativeSelect.css +17 -12
- package/dist/components/native-select/NativeSelect.d.ts +6 -2
- package/dist/components/native-select/NativeSelect.js +5 -4
- package/dist/components/number-input/NumberInput.css +17 -24
- package/dist/components/number-input/NumberInput.d.ts +7 -2
- package/dist/components/number-input/NumberInput.js +17 -4
- package/dist/components/number-input/index.d.ts +2 -2
- package/dist/components/pagination/Pagination.css +11 -11
- package/dist/components/pagination/Pagination.d.ts +4 -0
- package/dist/components/pagination/Pagination.js +13 -4
- package/dist/components/password-input/PasswordInput.css +4 -4
- package/dist/components/password-input/PasswordInput.d.ts +4 -0
- package/dist/components/password-input/PasswordInput.js +10 -2
- package/dist/components/pin-input/PinInput.css +6 -6
- package/dist/components/pin-input/PinInput.d.ts +6 -1
- package/dist/components/pin-input/PinInput.js +25 -16
- package/dist/components/popover/Popover.css +29 -19
- package/dist/components/popover/Popover.js +1 -1
- package/dist/components/progress-circular/ProgressCircular.css +2 -2
- package/dist/components/progress-circular/ProgressCircular.d.ts +6 -0
- package/dist/components/progress-circular/ProgressCircular.js +14 -3
- package/dist/components/progress-linear/ProgressLinear.css +1 -1
- package/dist/components/progress-linear/ProgressLinear.d.ts +3 -0
- package/dist/components/progress-linear/ProgressLinear.js +6 -3
- package/dist/components/qr-code/QrCode.css +10 -9
- package/dist/components/qr-code/QrCode.d.ts +2 -2
- package/dist/components/qr-code/QrCode.js +3 -3
- package/dist/components/qr-code/index.d.ts +2 -2
- package/dist/components/radio-group/RadioGroup.css +12 -12
- package/dist/components/radio-group/RadioGroup.d.ts +8 -4
- package/dist/components/radio-group/RadioGroup.js +22 -14
- package/dist/components/radio-group/index.d.ts +2 -2
- package/dist/components/rating-group/RatingGroup.css +10 -10
- package/dist/components/rating-group/RatingGroup.d.ts +11 -4
- package/dist/components/rating-group/RatingGroup.js +29 -18
- package/dist/components/rating-group/index.d.ts +2 -2
- package/dist/components/scroll-area/ScrollArea.css +12 -7
- package/dist/components/scroll-area/ScrollArea.d.ts +3 -0
- package/dist/components/scroll-area/ScrollArea.js +9 -6
- package/dist/components/segment-group/SegmentGroup.css +4 -4
- package/dist/components/segment-group/SegmentGroup.d.ts +13 -3
- package/dist/components/segment-group/SegmentGroup.js +23 -15
- package/dist/components/segment-group/index.d.ts +2 -2
- package/dist/components/select/Select.css +81 -55
- package/dist/components/select/Select.d.ts +18 -4
- package/dist/components/select/Select.js +65 -20
- package/dist/components/separator/Separator.css +6 -6
- package/dist/components/separator/Separator.js +1 -1
- package/dist/components/sidebar/Sidebar.css +161 -20
- package/dist/components/sidebar/Sidebar.d.ts +26 -0
- package/dist/components/sidebar/Sidebar.js +105 -13
- package/dist/components/sidebar/Sidebar.module.js +6 -0
- package/dist/components/signature-pad/SignaturePad.css +17 -45
- package/dist/components/signature-pad/SignaturePad.d.ts +14 -6
- package/dist/components/signature-pad/SignaturePad.js +56 -17
- package/dist/components/signature-pad/index.d.ts +2 -2
- package/dist/components/simple-grid/SimpleGrid.js +3 -3
- package/dist/components/skeleton/Skeleton.css +1 -1
- package/dist/components/skeleton/Skeleton.js +1 -1
- package/dist/components/slider/Slider.css +17 -13
- package/dist/components/slider/Slider.d.ts +12 -3
- package/dist/components/slider/Slider.js +24 -15
- package/dist/components/slider/index.d.ts +2 -2
- package/dist/components/spinner/Spinner.css +5 -5
- package/dist/components/spinner/Spinner.js +2 -2
- package/dist/components/split-button/SplitButton.css +10 -10
- package/dist/components/split-button/SplitButton.d.ts +1 -1
- package/dist/components/split-button/SplitButton.js +3 -4
- package/dist/components/splitter/Splitter.css +19 -18
- package/dist/components/splitter/Splitter.d.ts +2 -2
- package/dist/components/splitter/Splitter.js +12 -11
- package/dist/components/splitter/index.d.ts +2 -2
- package/dist/components/stack/Stack.d.ts +1 -3
- package/dist/components/stack/Stack.js +4 -6
- package/dist/components/steps/Steps.css +20 -19
- package/dist/components/steps/Steps.d.ts +2 -1
- package/dist/components/steps/Steps.js +5 -4
- package/dist/components/swap/Swap.css +45 -0
- package/dist/components/swap/Swap.d.ts +11 -0
- package/dist/components/swap/Swap.js +39 -0
- package/dist/components/swap/Swap.module.js +11 -0
- package/dist/components/swap/index.d.ts +2 -0
- package/dist/components/switch/Switch.css +17 -17
- package/dist/components/switch/Switch.d.ts +4 -4
- package/dist/components/switch/Switch.js +19 -16
- package/dist/components/switch/index.d.ts +2 -2
- package/dist/components/table/Table.css +3 -3
- package/dist/components/table/Table.js +3 -2
- package/dist/components/table/Table.module.js +0 -1
- package/dist/components/tabs/Tabs.css +22 -20
- package/dist/components/tabs/Tabs.d.ts +3 -2
- package/dist/components/tabs/Tabs.js +5 -4
- package/dist/components/tabs/index.d.ts +2 -2
- package/dist/components/tag/Tag.css +23 -53
- package/dist/components/tag/Tag.js +7 -20
- package/dist/components/tags-input/TagsInput.css +19 -55
- package/dist/components/tags-input/TagsInput.d.ts +7 -4
- package/dist/components/tags-input/TagsInput.js +33 -21
- package/dist/components/tags-input/index.d.ts +2 -2
- package/dist/components/text/Text.d.ts +2 -2
- package/dist/components/text/Text.js +1 -1
- package/dist/components/textarea/Textarea.css +4 -3
- package/dist/components/textarea/Textarea.js +1 -1
- package/dist/components/timer/Timer.css +7 -7
- package/dist/components/timer/Timer.d.ts +14 -2
- package/dist/components/timer/Timer.js +13 -5
- package/dist/components/timer/index.d.ts +2 -2
- package/dist/components/toast/Toast.css +16 -15
- package/dist/components/toast/Toast.d.ts +3 -1
- package/dist/components/toast/Toast.js +11 -2
- package/dist/components/toggle/Toggle.css +23 -23
- package/dist/components/toggle/Toggle.d.ts +3 -2
- package/dist/components/toggle/Toggle.js +5 -4
- package/dist/components/toggle/index.d.ts +2 -2
- package/dist/components/toggle-group/ToggleGroup.d.ts +3 -2
- package/dist/components/toggle-group/ToggleGroup.js +4 -3
- package/dist/components/toggle-group/index.d.ts +2 -2
- package/dist/components/tooltip/Tooltip.css +23 -18
- package/dist/components/tooltip/Tooltip.d.ts +3 -2
- package/dist/components/tooltip/Tooltip.js +10 -3
- package/dist/components/tooltip/index.d.ts +2 -2
- package/dist/components/tour/Tour.css +37 -32
- package/dist/components/tour/Tour.d.ts +6 -0
- package/dist/components/tour/Tour.js +8 -1
- package/dist/components/tree-view/TreeView.css +24 -21
- package/dist/components/tree-view/TreeView.d.ts +2 -2
- package/dist/components/tree-view/TreeView.js +4 -4
- package/dist/components/tree-view/index.d.ts +2 -2
- package/dist/components/typeset/Typeset.css +317 -0
- package/dist/components/typeset/Typeset.d.ts +7 -0
- package/dist/components/typeset/Typeset.js +33 -0
- package/dist/components/typeset/Typeset.module.js +8 -0
- package/dist/index.d.ts +42 -39
- package/dist/index.js +42 -39
- package/dist/lib/moduix/icons/ui/Icons.d.ts +1 -45
- package/dist/lib/moduix/icons/ui/Icons.js +36 -263
- package/dist/lib/moduix/icons/ui/index.d.ts +2 -2
- package/dist/lib/moduix/overlayPortal.js +1 -1
- package/dist/lib/moduix/presets/contrast.css +65 -0
- package/dist/lib/moduix/presets/dense.css +78 -0
- package/dist/lib/moduix/presets/soft.css +77 -0
- package/dist/lib/moduix/styles/reset.css +33 -0
- package/dist/lib/moduix/styles/style.css +17 -4
- package/dist/presets/contrast.d.ts +1 -0
- package/dist/presets/contrast.js +1 -0
- package/dist/presets/dense.d.ts +1 -0
- package/dist/presets/dense.js +1 -0
- package/dist/presets/soft.d.ts +1 -0
- package/dist/presets/soft.js +1 -0
- package/package.json +7 -3
|
@@ -25,20 +25,20 @@
|
|
|
25
25
|
.SHhhXW_input {
|
|
26
26
|
box-sizing: border-box;
|
|
27
27
|
width: 100%;
|
|
28
|
-
min-height: var(--listbox-input-height, var(--size-
|
|
28
|
+
min-height: var(--listbox-input-height, var(--size-md));
|
|
29
29
|
border: var(--listbox-input-border-width, var(--listbox-border-width, var(--border-width-sm)))
|
|
30
30
|
solid var(--listbox-input-border-color, var(--listbox-border-color, var(--color-border)));
|
|
31
31
|
border-radius: var(--listbox-input-radius, var(--listbox-radius, var(--radius-md)));
|
|
32
|
-
padding: var(--listbox-input-padding-y, var(--spacing-
|
|
32
|
+
padding: var(--listbox-input-padding-y, var(--spacing-1))
|
|
33
33
|
var(--listbox-input-padding-x, var(--spacing-3));
|
|
34
34
|
background-color: var(--listbox-input-bg, var(--color-background));
|
|
35
35
|
color: var(--listbox-input-color, var(--listbox-color, var(--color-foreground)));
|
|
36
36
|
font: inherit;
|
|
37
37
|
font-size: var(--listbox-input-font-size, var(--text-md));
|
|
38
38
|
line-height: var(--listbox-input-line-height, var(--line-height-text-md));
|
|
39
|
-
outline: var(--listbox-input-focus-ring-width, var(--listbox-focus-ring-width, var(--border-width-sm)))
|
|
39
|
+
outline: var(--listbox-input-focus-ring-width, var(--listbox-focus-ring-width, var(--focus-ring-inset-width, var(--border-width-sm))))
|
|
40
40
|
solid transparent;
|
|
41
|
-
outline-offset: calc(var(--listbox-input-focus-ring-width, var(--listbox-focus-ring-width, var(--border-width-sm))) *
|
|
41
|
+
outline-offset: calc(var(--listbox-input-focus-ring-width, var(--listbox-focus-ring-width, var(--focus-ring-inset-width, var(--border-width-sm)))) *
|
|
42
42
|
-1);
|
|
43
43
|
transition: border-color var(--listbox-transition, var(--transition-default)),
|
|
44
44
|
outline-color var(--listbox-transition, var(--transition-default)),
|
|
@@ -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,67 @@
|
|
|
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, var(--spacing-4));
|
|
84
|
+
height: var(--listbox-filter-icon-size, var(--spacing-4));
|
|
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-md)));
|
|
94
|
+
background-color: var(--listbox-bg, var(--color-background));
|
|
95
|
+
padding-inline-start: calc(var(--listbox-filter-padding-x, var(--spacing-3)) +
|
|
96
|
+
var(--listbox-filter-icon-size, var(--spacing-4)) +
|
|
97
|
+
var(--listbox-filter-input-padding-x, var(--spacing-2)));
|
|
98
|
+
padding-inline-end: calc(var(--listbox-filter-padding-x, var(--spacing-3)) +
|
|
99
|
+
var(--listbox-filter-action-size, var(--size-xs)) +
|
|
100
|
+
var(--listbox-filter-input-padding-x, var(--spacing-2)));
|
|
101
|
+
|
|
102
|
+
&:focus-visible {
|
|
103
|
+
outline-color: #0000;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.SHhhXW_clearTrigger {
|
|
108
|
+
z-index: 1;
|
|
109
|
+
top: 50%;
|
|
110
|
+
--close-button-size: var(--listbox-filter-action-size, var(--size-xs));
|
|
111
|
+
--close-button-radius: var(--listbox-filter-action-radius, var(--radius-sm));
|
|
112
|
+
--close-button-bg: var(--listbox-filter-action-bg, transparent);
|
|
113
|
+
--close-button-bg-hover: var(--listbox-filter-action-bg-hover, var(--color-muted));
|
|
114
|
+
--close-button-color: var(--listbox-filter-icon-color, var(--color-muted-foreground));
|
|
115
|
+
--close-button-color-hover: var(--listbox-filter-action-color-hover, var(--color-foreground));
|
|
116
|
+
--close-button-icon-size: var(--listbox-filter-icon-size, var(--spacing-4));
|
|
117
|
+
--close-button-transition: var(--listbox-transition, var(--transition-default));
|
|
118
|
+
position: absolute;
|
|
119
|
+
inset-inline-end: var(--listbox-filter-padding-x, var(--spacing-3));
|
|
120
|
+
transform: translateY(-50%);
|
|
121
|
+
}
|
|
122
|
+
|
|
63
123
|
.SHhhXW_content {
|
|
64
124
|
box-sizing: border-box;
|
|
65
125
|
min-height: 0;
|
|
@@ -67,14 +127,15 @@
|
|
|
67
127
|
border: var(--listbox-border-width, var(--border-width-sm)) solid
|
|
68
128
|
var(--listbox-border-color, var(--color-border));
|
|
69
129
|
border-radius: var(--listbox-radius, var(--radius-md));
|
|
70
|
-
padding-block: var(--listbox-content-padding-y, var(--spacing-1));
|
|
130
|
+
padding-block: var(--listbox-content-padding-y, var(--popup-list-padding-y, var(--spacing-1)));
|
|
71
131
|
background-color: var(--listbox-bg, var(--color-background));
|
|
72
132
|
color: var(--listbox-color, var(--color-foreground));
|
|
73
|
-
outline: var(--listbox-focus-ring-width, var(--border-width-sm))
|
|
74
|
-
|
|
133
|
+
outline: var(--listbox-focus-ring-width, var(--focus-ring-inset-width, var(--border-width-sm)))
|
|
134
|
+
solid transparent;
|
|
135
|
+
outline-offset: calc(var(--listbox-focus-ring-width, var(--focus-ring-inset-width, var(--border-width-sm))) * -1);
|
|
75
136
|
overscroll-behavior: auto;
|
|
76
137
|
scrollbar-gutter: stable;
|
|
77
|
-
scroll-padding-block: var(--listbox-content-padding-y, var(--spacing-1));
|
|
138
|
+
scroll-padding-block: var(--listbox-content-padding-y, var(--popup-list-padding-y, var(--spacing-1)));
|
|
78
139
|
transition: border-color var(--listbox-transition, var(--transition-default)),
|
|
79
140
|
outline-color var(--listbox-transition, var(--transition-default));
|
|
80
141
|
flex-direction: column;
|
|
@@ -116,32 +177,32 @@
|
|
|
116
177
|
}
|
|
117
178
|
|
|
118
179
|
.SHhhXW_itemGroupLabel {
|
|
119
|
-
padding-block: var(--listbox-item-group-label-padding-y, var(--spacing-1));
|
|
180
|
+
padding-block: var(--listbox-item-group-label-padding-y, var(--popup-group-label-padding-y, var(--spacing-1)));
|
|
120
181
|
padding-inline: var(--listbox-item-group-label-padding-x, var(--spacing-2));
|
|
121
|
-
color: var(--listbox-item-group-label-color, var(--color-muted-foreground));
|
|
122
|
-
font-size: var(--listbox-item-group-label-font-size, var(--text-xs));
|
|
123
|
-
font-weight: var(--listbox-item-group-label-font-weight, var(--weight-
|
|
124
|
-
line-height: var(--listbox-item-group-label-line-height, var(--line-height-text-xs));
|
|
182
|
+
color: var(--listbox-item-group-label-color, var(--popup-group-label-color, var(--color-muted-foreground)));
|
|
183
|
+
font-size: var(--listbox-item-group-label-font-size, var(--popup-group-label-font-size, var(--text-xs)));
|
|
184
|
+
font-weight: var(--listbox-item-group-label-font-weight, var(--popup-group-label-font-weight, var(--weight-regular)));
|
|
185
|
+
line-height: var(--listbox-item-group-label-line-height, var(--popup-group-label-line-height, var(--line-height-text-xs)));
|
|
125
186
|
user-select: none;
|
|
126
187
|
}
|
|
127
188
|
|
|
128
189
|
.SHhhXW_item {
|
|
129
190
|
box-sizing: border-box;
|
|
130
191
|
width: calc(100% - var(--listbox-item-inset-x, var(--spacing-2)));
|
|
131
|
-
min-height: var(--listbox-item-min-height,
|
|
132
|
-
grid-template-columns: minmax(0, 1fr) var(--listbox-item-indicator-size,
|
|
192
|
+
min-height: var(--listbox-item-min-height, var(--popup-item-min-height, var(--size-sm)));
|
|
193
|
+
grid-template-columns: minmax(0, 1fr) var(--listbox-item-indicator-size, var(--spacing-4));
|
|
133
194
|
align-items: center;
|
|
134
195
|
gap: var(--listbox-item-gap, var(--spacing-2));
|
|
135
196
|
margin-inline: calc(var(--listbox-item-inset-x, var(--spacing-2)) / 2);
|
|
136
197
|
border: var(--listbox-item-border-width, 0) solid var(--listbox-item-border-color, transparent);
|
|
137
198
|
border-radius: var(--listbox-item-radius, var(--radius-sm));
|
|
138
|
-
padding-block: var(--listbox-item-padding-y, var(--spacing-
|
|
139
|
-
padding-inline: var(--listbox-item-padding-x, var(--spacing-3));
|
|
199
|
+
padding-block: var(--listbox-item-padding-y, var(--popup-item-padding-y, var(--spacing-1)));
|
|
200
|
+
padding-inline: var(--listbox-item-padding-x, var(--popup-item-padding-x-start, var(--spacing-3)));
|
|
140
201
|
background-color: var(--listbox-item-bg, transparent);
|
|
141
202
|
color: var(--listbox-item-color, var(--listbox-color, var(--color-foreground)));
|
|
142
203
|
font: inherit;
|
|
143
|
-
font-size: var(--listbox-item-font-size, var(--text-sm));
|
|
144
|
-
line-height: var(--listbox-item-line-height, var(--line-height-text-sm));
|
|
204
|
+
font-size: var(--listbox-item-font-size, var(--popup-item-font-size, var(--text-sm)));
|
|
205
|
+
line-height: var(--listbox-item-line-height, var(--popup-item-line-height, var(--line-height-text-sm)));
|
|
145
206
|
user-select: none;
|
|
146
207
|
cursor: pointer;
|
|
147
208
|
transition: background-color var(--listbox-transition, var(--transition-default)),
|
|
@@ -203,8 +264,8 @@
|
|
|
203
264
|
}
|
|
204
265
|
|
|
205
266
|
.SHhhXW_itemIndicator {
|
|
206
|
-
width: var(--listbox-item-indicator-size,
|
|
207
|
-
height: var(--listbox-item-indicator-size,
|
|
267
|
+
width: var(--listbox-item-indicator-size, var(--spacing-4));
|
|
268
|
+
height: var(--listbox-item-indicator-size, var(--spacing-4));
|
|
208
269
|
color: var(--listbox-item-indicator-color, currentColor);
|
|
209
270
|
flex-shrink: 0;
|
|
210
271
|
justify-content: center;
|
|
@@ -212,8 +273,8 @@
|
|
|
212
273
|
display: inline-flex;
|
|
213
274
|
|
|
214
275
|
& > svg {
|
|
215
|
-
width: var(--listbox-item-indicator-icon-size,
|
|
216
|
-
height: var(--listbox-item-indicator-icon-size,
|
|
276
|
+
width: var(--listbox-item-indicator-icon-size, var(--spacing-3));
|
|
277
|
+
height: var(--listbox-item-indicator-icon-size, var(--spacing-3));
|
|
217
278
|
}
|
|
218
279
|
|
|
219
280
|
&[data-state="unchecked"] {
|
|
@@ -237,8 +298,8 @@
|
|
|
237
298
|
}
|
|
238
299
|
|
|
239
300
|
.SHhhXW_itemTextIcon {
|
|
240
|
-
width: var(--listbox-item-text-icon-size,
|
|
241
|
-
height: var(--listbox-item-text-icon-size,
|
|
301
|
+
width: var(--listbox-item-text-icon-size, var(--spacing-4));
|
|
302
|
+
height: var(--listbox-item-text-icon-size, var(--spacing-4));
|
|
242
303
|
color: var(--listbox-item-text-icon-color, currentColor);
|
|
243
304
|
flex-shrink: 0;
|
|
244
305
|
justify-content: center;
|
|
@@ -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 {
|
|
5
|
+
import { ark } from "@ark-ui/react/factory";
|
|
5
6
|
import { clsx } from "clsx";
|
|
6
7
|
import { forwardRef } from "react";
|
|
7
|
-
import {
|
|
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 };
|
|
@@ -9,5 +9,6 @@ declare const Marquee$1: import("react").ForwardRefExoticComponent<Omit<Marquee.
|
|
|
9
9
|
Item: import("react").ForwardRefExoticComponent<Omit<Marquee.ItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
10
10
|
Edge: import("react").ForwardRefExoticComponent<Omit<Marquee.EdgeProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
11
11
|
};
|
|
12
|
+
declare const useMarquee$1: (props?: import("@ark-ui/react/marquee").UseMarqueeProps) => import("@ark-ui/react/marquee").UseMarqueeReturn;
|
|
12
13
|
//#endregion
|
|
13
|
-
export { Marquee$1 as Marquee };
|
|
14
|
+
export { Marquee$1 as Marquee, useMarquee$1 as useMarquee };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
|
|
2
2
|
import Marquee_module_default from "./Marquee.module.js";
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
4
3
|
import { clsx } from "clsx";
|
|
5
4
|
import { forwardRef } from "react";
|
|
6
|
-
import {
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
import { Marquee, useMarquee } from "@ark-ui/react/marquee";
|
|
7
7
|
//#region src/components/marquee/Marquee.tsx
|
|
8
8
|
const MarqueeRoot = forwardRef(function MarqueeRoot({ className, ...props }, ref) {
|
|
9
9
|
return /* @__PURE__ */ jsx(Marquee.Root, {
|
|
@@ -61,5 +61,6 @@ const Marquee$1 = Object.assign(MarqueeRoot, {
|
|
|
61
61
|
Item: MarqueeItem,
|
|
62
62
|
Edge: MarqueeEdge
|
|
63
63
|
});
|
|
64
|
+
const useMarquee$1 = useMarquee;
|
|
64
65
|
//#endregion
|
|
65
|
-
export { Marquee$1 as Marquee };
|
|
66
|
+
export { Marquee$1 as Marquee, useMarquee$1 as useMarquee };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Marquee } from "./Marquee.js";
|
|
2
|
-
export { Marquee };
|
|
1
|
+
import { Marquee, useMarquee } from "./Marquee.js";
|
|
2
|
+
export { Marquee, useMarquee };
|
|
@@ -3,17 +3,19 @@
|
|
|
3
3
|
box-sizing: border-box;
|
|
4
4
|
justify-content: center;
|
|
5
5
|
align-items: center;
|
|
6
|
-
gap: var(--menu-trigger-gap,
|
|
7
|
-
min-height: var(--menu-trigger-height, var(--size-
|
|
8
|
-
padding: var(--menu-trigger-padding-y,
|
|
6
|
+
gap: var(--menu-trigger-gap, var(--spacing-2));
|
|
7
|
+
min-height: var(--menu-trigger-height, var(--size-md));
|
|
8
|
+
padding: var(--menu-trigger-padding-y, var(--spacing-1))
|
|
9
|
+
var(--menu-trigger-padding-x, var(--spacing-4));
|
|
9
10
|
border: var(--menu-trigger-border-width, var(--border-width-sm)) solid
|
|
10
11
|
var(--menu-trigger-border-color, var(--color-border));
|
|
11
12
|
border-radius: var(--menu-trigger-radius, var(--radius-md));
|
|
12
13
|
background-color: var(--menu-trigger-bg, var(--color-background));
|
|
13
14
|
color: var(--menu-trigger-color, var(--color-foreground));
|
|
14
15
|
font: inherit;
|
|
15
|
-
font-size: var(--menu-trigger-font-size, var(--text-
|
|
16
|
-
|
|
16
|
+
font-size: var(--menu-trigger-font-size, var(--text-sm));
|
|
17
|
+
font-weight: var(--menu-trigger-font-weight, var(--weight-medium));
|
|
18
|
+
line-height: var(--menu-trigger-line-height, var(--line-height-text-sm));
|
|
17
19
|
user-select: none;
|
|
18
20
|
cursor: pointer;
|
|
19
21
|
transition: background-color var(--menu-transition, var(--transition-default)),
|
|
@@ -53,8 +55,8 @@
|
|
|
53
55
|
|
|
54
56
|
.AJ5G3W_triggerIcon, .AJ5G3W_indicator {
|
|
55
57
|
box-sizing: border-box;
|
|
56
|
-
width: var(--menu-trigger-icon-size,
|
|
57
|
-
height: var(--menu-trigger-icon-size,
|
|
58
|
+
width: var(--menu-trigger-icon-size, var(--spacing-4));
|
|
59
|
+
height: var(--menu-trigger-icon-size, var(--spacing-4));
|
|
58
60
|
color: var(--menu-trigger-icon-color, currentColor);
|
|
59
61
|
flex-shrink: 0;
|
|
60
62
|
justify-content: center;
|
|
@@ -62,7 +64,7 @@
|
|
|
62
64
|
display: inline-flex;
|
|
63
65
|
}
|
|
64
66
|
|
|
65
|
-
.AJ5G3W_iconSvg {
|
|
67
|
+
.AJ5G3W_iconSvg, .AJ5G3W_indicator > svg {
|
|
66
68
|
width: 100%;
|
|
67
69
|
height: 100%;
|
|
68
70
|
}
|
|
@@ -75,14 +77,14 @@
|
|
|
75
77
|
}
|
|
76
78
|
|
|
77
79
|
.AJ5G3W_content {
|
|
78
|
-
--arrow-size: var(--menu-arrow-size,
|
|
80
|
+
--arrow-size: var(--menu-arrow-size, var(--spacing-2-5));
|
|
79
81
|
--arrow-background: var(--menu-popup-bg, var(--color-popover));
|
|
80
82
|
box-sizing: border-box;
|
|
81
83
|
min-width: min(max(var(--reference-width, 0px), var(--menu-popup-min-width, 12rem)),
|
|
82
84
|
var(--available-width, 100vw));
|
|
83
85
|
max-width: min(var(--menu-popup-max-width, 20rem), var(--available-width, 100vw));
|
|
84
86
|
max-height: min(var(--menu-popup-max-height, 24rem), var(--available-height, 100dvh));
|
|
85
|
-
padding-block: var(--menu-popup-padding-y,
|
|
87
|
+
padding-block: var(--menu-popup-padding-y, var(--popup-list-padding-y, var(--spacing-1)));
|
|
86
88
|
border-radius: var(--menu-popup-radius, var(--radius-md));
|
|
87
89
|
background-color: var(--menu-popup-bg, var(--color-popover));
|
|
88
90
|
color: var(--menu-popup-color, var(--color-popover-foreground));
|
|
@@ -97,11 +99,15 @@
|
|
|
97
99
|
overflow: auto;
|
|
98
100
|
|
|
99
101
|
&[data-state="open"] {
|
|
100
|
-
animation: AJ5G3W_menuContentIn
|
|
102
|
+
animation: AJ5G3W_menuContentIn
|
|
103
|
+
var(--menu-transition, var(--popup-motion-duration, var(--duration-normal))
|
|
104
|
+
var(--popup-motion-easing, var(--ease-in-out)));
|
|
101
105
|
}
|
|
102
106
|
|
|
103
107
|
&[data-state="closed"] {
|
|
104
|
-
animation: AJ5G3W_menuContentOut
|
|
108
|
+
animation: AJ5G3W_menuContentOut
|
|
109
|
+
var(--menu-transition, var(--popup-motion-duration, var(--duration-normal))
|
|
110
|
+
var(--popup-motion-easing, var(--ease-in-out)));
|
|
105
111
|
}
|
|
106
112
|
}
|
|
107
113
|
|
|
@@ -119,7 +125,7 @@
|
|
|
119
125
|
|
|
120
126
|
.AJ5G3W_item, .AJ5G3W_triggerItem, .AJ5G3W_radioItem, .AJ5G3W_checkboxItem {
|
|
121
127
|
box-sizing: border-box;
|
|
122
|
-
min-height: var(--menu-item-height, var(--popup-item-min-height,
|
|
128
|
+
min-height: var(--menu-item-height, var(--popup-item-min-height, var(--size-sm)));
|
|
123
129
|
border-radius: var(--menu-item-radius, var(--radius-sm));
|
|
124
130
|
background-color: var(--menu-item-bg, transparent);
|
|
125
131
|
color: inherit;
|
|
@@ -179,9 +185,9 @@
|
|
|
179
185
|
.AJ5G3W_item {
|
|
180
186
|
align-items: center;
|
|
181
187
|
gap: var(--menu-item-gap, var(--spacing-2));
|
|
182
|
-
padding-block: var(--menu-item-padding-y, var(--popup-item-padding-y,
|
|
183
|
-
padding-inline: var(--menu-item-padding-x-start, var(--popup-item-padding-x-start,
|
|
184
|
-
var(--menu-item-padding-x-end, var(--popup-item-padding-x-end,
|
|
188
|
+
padding-block: var(--menu-item-padding-y, var(--popup-item-padding-y, var(--spacing-1)));
|
|
189
|
+
padding-inline: var(--menu-item-padding-x-start, var(--popup-item-padding-x-start, var(--spacing-3)))
|
|
190
|
+
var(--menu-item-padding-x-end, var(--popup-item-padding-x-end, var(--spacing-3)));
|
|
185
191
|
display: flex;
|
|
186
192
|
}
|
|
187
193
|
|
|
@@ -189,16 +195,16 @@
|
|
|
189
195
|
justify-content: space-between;
|
|
190
196
|
align-items: center;
|
|
191
197
|
gap: var(--menu-trigger-item-gap, var(--spacing-3));
|
|
192
|
-
padding-block: var(--menu-item-padding-y, var(--popup-item-padding-y,
|
|
193
|
-
padding-inline: var(--menu-item-padding-x-start, var(--popup-item-padding-x-start,
|
|
194
|
-
var(--menu-trigger-item-padding-x-end,
|
|
198
|
+
padding-block: var(--menu-item-padding-y, var(--popup-item-padding-y, var(--spacing-1)));
|
|
199
|
+
padding-inline: var(--menu-item-padding-x-start, var(--popup-item-padding-x-start, var(--spacing-3)))
|
|
200
|
+
var(--menu-trigger-item-padding-x-end, var(--spacing-3));
|
|
195
201
|
display: flex;
|
|
196
202
|
}
|
|
197
203
|
|
|
198
204
|
.AJ5G3W_triggerItemIcon {
|
|
199
205
|
box-sizing: border-box;
|
|
200
|
-
width: var(--menu-trigger-item-icon-size,
|
|
201
|
-
height: var(--menu-trigger-item-icon-size,
|
|
206
|
+
width: var(--menu-trigger-item-icon-size, var(--spacing-3-5));
|
|
207
|
+
height: var(--menu-trigger-item-icon-size, var(--spacing-3-5));
|
|
202
208
|
color: currentColor;
|
|
203
209
|
flex-shrink: 0;
|
|
204
210
|
display: inline-flex;
|
|
@@ -210,11 +216,12 @@
|
|
|
210
216
|
}
|
|
211
217
|
|
|
212
218
|
.AJ5G3W_itemGroupLabel {
|
|
213
|
-
padding-block: var(--menu-group-label-padding-y, var(--popup-group-label-padding-y,
|
|
214
|
-
padding-inline: var(--menu-group-label-padding-x-start, var(--popup-group-label-padding-x-start,
|
|
215
|
-
var(--menu-group-label-padding-x-end, var(--popup-group-label-padding-x-end,
|
|
216
|
-
color: var(--menu-group-label-color, var(--color-muted-foreground));
|
|
219
|
+
padding-block: var(--menu-group-label-padding-y, var(--popup-group-label-padding-y, var(--spacing-1)));
|
|
220
|
+
padding-inline: var(--menu-group-label-padding-x-start, var(--popup-group-label-padding-x-start, var(--spacing-2-5)))
|
|
221
|
+
var(--menu-group-label-padding-x-end, var(--popup-group-label-padding-x-end, var(--spacing-3)));
|
|
222
|
+
color: var(--menu-group-label-color, var(--popup-group-label-color, var(--color-muted-foreground)));
|
|
217
223
|
font-size: var(--menu-group-label-font-size, var(--popup-group-label-font-size, var(--text-xs)));
|
|
224
|
+
font-weight: var(--menu-group-label-font-weight, var(--popup-group-label-font-weight, var(--weight-regular)));
|
|
218
225
|
line-height: var(--menu-group-label-line-height, var(--popup-group-label-line-height, var(--line-height-text-xs)));
|
|
219
226
|
user-select: none;
|
|
220
227
|
cursor: default;
|
|
@@ -227,17 +234,17 @@
|
|
|
227
234
|
|
|
228
235
|
.AJ5G3W_radioItem, .AJ5G3W_checkboxItem {
|
|
229
236
|
align-items: center;
|
|
230
|
-
gap: var(--menu-check-gap, var(--popup-check-gap,
|
|
231
|
-
grid-template-columns: var(--menu-check-indicator-size, var(--popup-check-indicator-size,
|
|
237
|
+
gap: var(--menu-check-gap, var(--popup-check-gap, var(--spacing-2)));
|
|
238
|
+
grid-template-columns: var(--menu-check-indicator-size, var(--popup-check-indicator-size, var(--spacing-3)))
|
|
232
239
|
minmax(0, 1fr);
|
|
233
|
-
padding-block: var(--menu-item-padding-y, var(--popup-item-padding-y,
|
|
234
|
-
padding-inline: var(--menu-check-padding-x-start, var(--popup-check-padding-x-start,
|
|
235
|
-
var(--menu-item-padding-x-end, var(--popup-item-padding-x-end,
|
|
240
|
+
padding-block: var(--menu-item-padding-y, var(--popup-item-padding-y, var(--spacing-1)));
|
|
241
|
+
padding-inline: var(--menu-check-padding-x-start, var(--popup-check-padding-x-start, var(--spacing-2-5)))
|
|
242
|
+
var(--menu-item-padding-x-end, var(--popup-item-padding-x-end, var(--spacing-3)));
|
|
236
243
|
display: grid;
|
|
237
244
|
|
|
238
245
|
&[data-indicator-position="none"] {
|
|
239
246
|
grid-template-columns: minmax(0, 1fr);
|
|
240
|
-
padding-inline-start: var(--menu-item-padding-x-start, var(--popup-item-padding-x-start,
|
|
247
|
+
padding-inline-start: var(--menu-item-padding-x-start, var(--popup-item-padding-x-start, var(--spacing-3)));
|
|
241
248
|
|
|
242
249
|
& > .AJ5G3W_itemIndicator {
|
|
243
250
|
display: none;
|
|
@@ -250,7 +257,7 @@
|
|
|
250
257
|
|
|
251
258
|
&[data-indicator-position="end"] {
|
|
252
259
|
grid-template-columns: minmax(0, 1fr)
|
|
253
|
-
var(--menu-check-indicator-size, var(--popup-check-indicator-size,
|
|
260
|
+
var(--menu-check-indicator-size, var(--popup-check-indicator-size, var(--spacing-3)));
|
|
254
261
|
|
|
255
262
|
& > .AJ5G3W_itemText {
|
|
256
263
|
grid-column-start: 1;
|
|
@@ -271,8 +278,8 @@
|
|
|
271
278
|
}
|
|
272
279
|
|
|
273
280
|
.AJ5G3W_itemIndicator {
|
|
274
|
-
width: var(--menu-check-indicator-size, var(--popup-check-indicator-size,
|
|
275
|
-
height: var(--menu-check-indicator-size, var(--popup-check-indicator-size,
|
|
281
|
+
width: var(--menu-check-indicator-size, var(--popup-check-indicator-size, var(--spacing-3)));
|
|
282
|
+
height: var(--menu-check-indicator-size, var(--popup-check-indicator-size, var(--spacing-3)));
|
|
276
283
|
border: var(--menu-checkbox-indicator-border-width, 0) solid
|
|
277
284
|
var(--menu-checkbox-indicator-border-color, currentColor);
|
|
278
285
|
border-radius: var(--menu-checkbox-indicator-radius, var(--radius-xs));
|
|
@@ -308,8 +315,8 @@
|
|
|
308
315
|
}
|
|
309
316
|
|
|
310
317
|
.AJ5G3W_itemTextIcon {
|
|
311
|
-
width: var(--menu-item-text-icon-size,
|
|
312
|
-
height: var(--menu-item-text-icon-size,
|
|
318
|
+
width: var(--menu-item-text-icon-size, var(--spacing-4));
|
|
319
|
+
height: var(--menu-item-text-icon-size, var(--spacing-4));
|
|
313
320
|
color: var(--menu-item-text-icon-color, currentColor);
|
|
314
321
|
flex-shrink: 0;
|
|
315
322
|
justify-content: center;
|
|
@@ -336,18 +343,19 @@
|
|
|
336
343
|
.AJ5G3W_separator {
|
|
337
344
|
box-sizing: border-box;
|
|
338
345
|
height: var(--menu-separator-height, var(--border-width-sm));
|
|
339
|
-
margin-block: var(--menu-separator-margin-y, var(--popup-separator-margin-y,
|
|
340
|
-
margin-inline: var(--menu-separator-margin-x-start, var(--popup-separator-margin-x-start,
|
|
341
|
-
var(--menu-separator-margin-x-end, var(--popup-separator-margin-x-end,
|
|
346
|
+
margin-block: var(--menu-separator-margin-y, var(--popup-separator-margin-y, var(--spacing-1-5)));
|
|
347
|
+
margin-inline: var(--menu-separator-margin-x-start, var(--popup-separator-margin-x-start, var(--spacing-3)))
|
|
348
|
+
var(--menu-separator-margin-x-end, var(--popup-separator-margin-x-end, var(--spacing-3)));
|
|
342
349
|
background-color: var(--menu-separator-color, var(--color-border));
|
|
343
350
|
border: 0;
|
|
344
351
|
}
|
|
345
352
|
|
|
346
353
|
@keyframes AJ5G3W_menuContentIn {
|
|
347
354
|
from {
|
|
348
|
-
opacity: var(--menu-popup-starting-opacity, 0);
|
|
349
|
-
translate: var(--menu-popup-starting-translate-x,
|
|
350
|
-
|
|
355
|
+
opacity: var(--menu-popup-starting-opacity, var(--popup-motion-starting-opacity, 0));
|
|
356
|
+
translate: var(--menu-popup-starting-translate-x, var(--popup-motion-starting-translate-x, 0))
|
|
357
|
+
var(--menu-popup-starting-translate-y, var(--popup-motion-starting-translate-y, 0));
|
|
358
|
+
transform: scale(var(--menu-popup-starting-scale, var(--popup-motion-starting-scale, var(--scale-popup))));
|
|
351
359
|
}
|
|
352
360
|
|
|
353
361
|
to {
|
|
@@ -363,9 +371,10 @@
|
|
|
363
371
|
}
|
|
364
372
|
|
|
365
373
|
to {
|
|
366
|
-
opacity: var(--menu-popup-ending-opacity, 0);
|
|
367
|
-
translate: var(--menu-popup-ending-translate-x,
|
|
368
|
-
|
|
374
|
+
opacity: var(--menu-popup-ending-opacity, var(--popup-motion-ending-opacity, 0));
|
|
375
|
+
translate: var(--menu-popup-ending-translate-x, var(--popup-motion-ending-translate-x, 0))
|
|
376
|
+
var(--menu-popup-ending-translate-y, var(--popup-motion-ending-translate-y, 0));
|
|
377
|
+
transform: scale(var(--menu-popup-ending-scale, var(--popup-motion-ending-scale, var(--scale-popup))));
|
|
369
378
|
}
|
|
370
379
|
}
|
|
371
380
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OverlayPortalProps } from "../../lib/moduix/overlayPortal.js";
|
|
2
2
|
import { ComponentProps } from "react";
|
|
3
|
-
import { Menu } from "@ark-ui/react/menu";
|
|
3
|
+
import { Menu, useMenu } from "@ark-ui/react/menu";
|
|
4
4
|
|
|
5
5
|
//#region src/components/menu/Menu.d.ts
|
|
6
6
|
type MenuIndicatorPosition = 'start' | 'end' | 'none';
|
|
@@ -78,6 +78,7 @@ declare const Menu$1: typeof MenuRoot & {
|
|
|
78
78
|
ItemTextIcon: typeof MenuItemTextIcon;
|
|
79
79
|
ItemTextLabel: typeof MenuItemTextLabel;
|
|
80
80
|
ItemShortcut: typeof MenuItemShortcut;
|
|
81
|
+
ItemContext: (props: Menu.ItemContextProps) => import("react").ReactNode;
|
|
81
82
|
};
|
|
82
83
|
//#endregion
|
|
83
|
-
export { Menu$1 as Menu };
|
|
84
|
+
export { Menu$1 as Menu, useMenu };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { CheckIcon, ChevronDownIcon, ChevronRightIcon } from "../../lib/moduix/icons/ui/Icons.js";
|
|
2
1
|
import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
|
|
2
|
+
import { CheckIcon, ChevronDownIcon, ChevronRightIcon } from "../../lib/moduix/icons/ui/Icons.js";
|
|
3
3
|
import { OverlayPortal, OverlayPortalProvider } from "../../lib/moduix/overlayPortal.js";
|
|
4
4
|
import Menu_module_default from "./Menu.module.js";
|
|
5
|
-
import { jsx } from "react/jsx-runtime";
|
|
6
5
|
import { clsx } from "clsx";
|
|
7
6
|
import { forwardRef } from "react";
|
|
8
|
-
import {
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
import { Menu, useMenu } from "@ark-ui/react/menu";
|
|
9
9
|
//#region src/components/menu/Menu.tsx
|
|
10
10
|
function MenuRoot({ portalled, portalRef, ...props }) {
|
|
11
11
|
return /* @__PURE__ */ jsx(OverlayPortalProvider, {
|
|
@@ -234,7 +234,8 @@ const Menu$1 = Object.assign(MenuRoot, {
|
|
|
234
234
|
ItemTextContent: MenuItemTextContent,
|
|
235
235
|
ItemTextIcon: MenuItemTextIcon,
|
|
236
236
|
ItemTextLabel: MenuItemTextLabel,
|
|
237
|
-
ItemShortcut: MenuItemShortcut
|
|
237
|
+
ItemShortcut: MenuItemShortcut,
|
|
238
|
+
ItemContext: Menu.ItemContext
|
|
238
239
|
});
|
|
239
240
|
//#endregion
|
|
240
|
-
export { Menu$1 as Menu };
|
|
241
|
+
export { Menu$1 as Menu, useMenu };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Menu } from "./Menu.js";
|
|
2
|
-
export { Menu };
|
|
1
|
+
import { Menu, useMenu } from "./Menu.js";
|
|
2
|
+
export { Menu, useMenu };
|