@moduix/react 1.1.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -16
- package/dist/components/accordion/Accordion.css +8 -1
- 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 +19 -5
- 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.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 +44 -1
- 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 +7 -1
- 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 +21 -1
- package/dist/components/button/Button.d.ts +6 -0
- package/dist/components/button/Button.js +12 -7
- package/dist/components/card/Card.css +20 -4
- 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 +2 -0
- package/dist/components/carousel/Carousel.d.ts +4 -0
- package/dist/components/carousel/Carousel.js +15 -2
- 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 +1 -1
- package/dist/components/clipboard/Clipboard.d.ts +2 -0
- package/dist/components/clipboard/Clipboard.js +15 -4
- 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 +9 -2
- 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 +35 -6
- 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 +37 -8
- 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 +40 -74
- 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 +3 -1
- 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 +41 -13
- 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 +14 -10
- 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.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.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.js +1 -1
- package/dist/components/field/Field.css +0 -4
- 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 +81 -8
- 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 +14 -10
- package/dist/components/floating-panel/FloatingPanel.d.ts +11 -3
- package/dist/components/floating-panel/FloatingPanel.js +15 -9
- package/dist/components/heading/Heading.js +1 -1
- package/dist/components/highlight/Highlight.js +1 -1
- package/dist/components/hover-card/HoverCard.css +14 -10
- 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.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.js +1 -1
- package/dist/components/input-group/InputGroup.d.ts +3 -0
- package/dist/components/input-group/InputGroup.js +1 -1
- package/dist/components/kbd/Kbd.js +1 -1
- package/dist/components/lightbox/Lightbox.css +12 -10
- 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 +60 -1
- 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 +14 -8
- 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.d.ts +6 -2
- package/dist/components/native-select/NativeSelect.js +5 -4
- package/dist/components/number-input/NumberInput.css +0 -6
- 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.d.ts +4 -0
- package/dist/components/pagination/Pagination.js +13 -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.d.ts +6 -1
- package/dist/components/pin-input/PinInput.js +25 -16
- package/dist/components/popover/Popover.css +20 -11
- package/dist/components/popover/Popover.js +1 -1
- 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.d.ts +3 -0
- package/dist/components/progress-linear/ProgressLinear.js +6 -3
- package/dist/components/qr-code/QrCode.css +3 -2
- 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.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 +3 -3
- 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 +7 -2
- 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.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 +24 -15
- package/dist/components/select/Select.d.ts +18 -4
- package/dist/components/select/Select.js +65 -20
- package/dist/components/separator/Separator.js +1 -1
- package/dist/components/sidebar/Sidebar.css +144 -4
- 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 +12 -41
- 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.js +1 -1
- package/dist/components/slider/Slider.css +6 -4
- 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.js +2 -2
- 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 +13 -12
- 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.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 +2 -2
- 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 +3 -1
- 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 +12 -42
- package/dist/components/tag/Tag.js +7 -20
- package/dist/components/tags-input/TagsInput.css +3 -40
- 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.js +1 -1
- 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.d.ts +3 -1
- package/dist/components/toast/Toast.js +11 -2
- package/dist/components/toggle/Toggle.css +3 -3
- 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 +14 -10
- 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 +23 -18
- package/dist/components/tour/Tour.d.ts +6 -0
- package/dist/components/tour/Tour.js +8 -1
- package/dist/components/tree-view/TreeView.css +1 -1
- 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/index.d.ts +40 -39
- package/dist/index.js +40 -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/package.json +4 -3
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
import { OverlayPortalProps } from "../../lib/moduix/overlayPortal.js";
|
|
2
|
-
import { ComponentProps } from "react";
|
|
2
|
+
import { ComponentProps, ReactNode } from "react";
|
|
3
3
|
import { Select, SelectRootComponent, SelectRootProviderComponent } from "@ark-ui/react/select";
|
|
4
4
|
|
|
5
5
|
//#region src/components/select/Select.d.ts
|
|
6
|
-
type
|
|
7
|
-
type
|
|
6
|
+
type SelectNativeFormControl = 'select' | 'input';
|
|
7
|
+
type SelectRootOwnProps = OverlayPortalProps & {
|
|
8
|
+
nativeFormControl?: SelectNativeFormControl;
|
|
9
|
+
};
|
|
10
|
+
type SelectRootComponent$1 = SelectRootComponent<SelectRootOwnProps>;
|
|
11
|
+
type SelectRootProviderComponent$1 = SelectRootProviderComponent<SelectRootOwnProps>;
|
|
12
|
+
type SelectFieldProps = Omit<ComponentProps<typeof Select.Control>, 'asChild' | 'children'> & {
|
|
13
|
+
clearLabel?: string;
|
|
14
|
+
indicator?: ReactNode;
|
|
15
|
+
placeholder?: ComponentProps<typeof Select.ValueText>['placeholder'];
|
|
16
|
+
};
|
|
8
17
|
declare function SelectIndicators({
|
|
9
18
|
className,
|
|
10
19
|
...props
|
|
@@ -24,8 +33,14 @@ declare function SelectItemTextLabel({
|
|
|
24
33
|
declare const Select$1: SelectRootComponent$1 & {
|
|
25
34
|
Root: SelectRootComponent$1;
|
|
26
35
|
RootProvider: SelectRootProviderComponent$1;
|
|
36
|
+
Context: <T extends unknown>(props: Select.ContextProps<T>) => ReactNode;
|
|
37
|
+
ItemContext: (props: Select.ItemContextProps) => ReactNode;
|
|
38
|
+
useSelect: <T extends unknown>(props: import("@ark-ui/react/select").UseSelectProps<T>) => import("@ark-ui/react/select").UseSelectReturn<T>;
|
|
39
|
+
useSelectContext: () => import("@ark-ui/react/select").UseSelectContext<any>;
|
|
40
|
+
useSelectItemContext: () => import("@ark-ui/react/select").UseSelectItemContext;
|
|
27
41
|
Label: import("react").ForwardRefExoticComponent<Omit<Select.LabelProps & import("react").RefAttributes<HTMLLabelElement>, "ref"> & import("react").RefAttributes<HTMLLabelElement>>;
|
|
28
42
|
Control: import("react").ForwardRefExoticComponent<Omit<Select.ControlProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
43
|
+
Field: import("react").ForwardRefExoticComponent<Omit<SelectFieldProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
29
44
|
Trigger: import("react").ForwardRefExoticComponent<Omit<Select.TriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
30
45
|
ValueText: import("react").ForwardRefExoticComponent<Omit<Select.ValueTextProps & import("react").RefAttributes<HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
31
46
|
ClearTrigger: import("react").ForwardRefExoticComponent<Omit<Select.ClearTriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
@@ -39,7 +54,6 @@ declare const Select$1: SelectRootComponent$1 & {
|
|
|
39
54
|
Item: import("react").ForwardRefExoticComponent<Omit<Select.ItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
40
55
|
ItemText: import("react").ForwardRefExoticComponent<Omit<Select.ItemTextProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
41
56
|
ItemIndicator: import("react").ForwardRefExoticComponent<Omit<Select.ItemIndicatorProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
42
|
-
HiddenSelect: import("react").ForwardRefExoticComponent<Omit<Select.HiddenSelectProps & import("react").RefAttributes<HTMLSelectElement>, "ref"> & import("react").RefAttributes<HTMLSelectElement>>;
|
|
43
57
|
ItemTextContent: typeof SelectItemTextContent;
|
|
44
58
|
ItemTextIcon: typeof SelectItemTextIcon;
|
|
45
59
|
ItemTextLabel: typeof SelectItemTextLabel;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { CheckIcon, ChevronUpDownIcon, CloseIcon } from "../../lib/moduix/icons/ui/Icons.js";
|
|
2
1
|
import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
|
|
2
|
+
import { CheckIcon, ChevronUpDownIcon } from "../../lib/moduix/icons/ui/Icons.js";
|
|
3
|
+
import { CloseButton } from "../close-button/CloseButton.js";
|
|
3
4
|
import { OverlayPortal, OverlayPortalProvider } from "../../lib/moduix/overlayPortal.js";
|
|
4
5
|
import Select_module_default from "./Select.module.js";
|
|
5
|
-
import { jsx } from "react/jsx-runtime";
|
|
6
6
|
import { clsx } from "clsx";
|
|
7
|
-
import { forwardRef } from "react";
|
|
8
|
-
import {
|
|
7
|
+
import { Children, cloneElement, forwardRef } from "react";
|
|
8
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { Select, useSelect, useSelectContext, useSelectItemContext } from "@ark-ui/react/select";
|
|
9
10
|
//#region src/components/select/Select.tsx
|
|
10
|
-
const SelectRoot = forwardRef(function SelectRoot({ className, portalled, portalRef, ...props }, ref) {
|
|
11
|
+
const SelectRoot = forwardRef(function SelectRoot({ asChild, children, className, nativeFormControl = "select", portalled, portalRef, ...props }, ref) {
|
|
11
12
|
return /* @__PURE__ */ jsx(OverlayPortalProvider, {
|
|
12
13
|
portalled,
|
|
13
14
|
portalRef,
|
|
@@ -15,11 +16,13 @@ const SelectRoot = forwardRef(function SelectRoot({ className, portalled, portal
|
|
|
15
16
|
ref,
|
|
16
17
|
"data-slot": "select-root",
|
|
17
18
|
className: clsx(Select_module_default.root, normalizeClassName(className)),
|
|
18
|
-
|
|
19
|
+
asChild,
|
|
20
|
+
...props,
|
|
21
|
+
children: withNativeFormControl(children, asChild, nativeFormControl)
|
|
19
22
|
})
|
|
20
23
|
});
|
|
21
24
|
});
|
|
22
|
-
const SelectRootProvider = forwardRef(function SelectRootProvider({ className, portalled, portalRef, ...props }, ref) {
|
|
25
|
+
const SelectRootProvider = forwardRef(function SelectRootProvider({ asChild, children, className, nativeFormControl = "select", portalled, portalRef, ...props }, ref) {
|
|
23
26
|
return /* @__PURE__ */ jsx(OverlayPortalProvider, {
|
|
24
27
|
portalled,
|
|
25
28
|
portalRef,
|
|
@@ -27,7 +30,9 @@ const SelectRootProvider = forwardRef(function SelectRootProvider({ className, p
|
|
|
27
30
|
ref,
|
|
28
31
|
"data-slot": "select-root-provider",
|
|
29
32
|
className: clsx(Select_module_default.root, normalizeClassName(className)),
|
|
30
|
-
|
|
33
|
+
asChild,
|
|
34
|
+
...props,
|
|
35
|
+
children: withNativeFormControl(children, asChild, nativeFormControl)
|
|
31
36
|
})
|
|
32
37
|
});
|
|
33
38
|
});
|
|
@@ -64,13 +69,29 @@ const SelectValueText = forwardRef(function SelectValueText({ className, ...prop
|
|
|
64
69
|
...props
|
|
65
70
|
});
|
|
66
71
|
});
|
|
67
|
-
const SelectClearTrigger = forwardRef(function SelectClearTrigger({ className, children, ...props }, ref) {
|
|
72
|
+
const SelectClearTrigger = forwardRef(function SelectClearTrigger({ asChild, className, children, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...props }, ref) {
|
|
73
|
+
const triggerClassName = clsx(Select_module_default.clearTrigger, normalizeClassName(className));
|
|
74
|
+
if (asChild) return /* @__PURE__ */ jsx(Select.ClearTrigger, {
|
|
75
|
+
ref,
|
|
76
|
+
asChild: true,
|
|
77
|
+
"data-slot": "select-clear-trigger",
|
|
78
|
+
className: triggerClassName,
|
|
79
|
+
"aria-label": ariaLabel,
|
|
80
|
+
"aria-labelledby": ariaLabelledBy,
|
|
81
|
+
...props,
|
|
82
|
+
children
|
|
83
|
+
});
|
|
68
84
|
return /* @__PURE__ */ jsx(Select.ClearTrigger, {
|
|
69
85
|
ref,
|
|
86
|
+
asChild: true,
|
|
70
87
|
"data-slot": "select-clear-trigger",
|
|
71
|
-
className:
|
|
88
|
+
className: triggerClassName,
|
|
72
89
|
...props,
|
|
73
|
-
children:
|
|
90
|
+
children: /* @__PURE__ */ jsx(CloseButton.Root, {
|
|
91
|
+
"aria-label": ariaLabel ?? (ariaLabelledBy == null ? "Clear selection" : void 0),
|
|
92
|
+
"aria-labelledby": ariaLabelledBy,
|
|
93
|
+
children
|
|
94
|
+
})
|
|
74
95
|
});
|
|
75
96
|
});
|
|
76
97
|
const SelectIndicator = forwardRef(function SelectIndicator({ className, children, ...props }, ref) {
|
|
@@ -89,6 +110,13 @@ function SelectIndicators({ className, ...props }) {
|
|
|
89
110
|
...props
|
|
90
111
|
});
|
|
91
112
|
}
|
|
113
|
+
const SelectField = forwardRef(function SelectField({ clearLabel, indicator, placeholder, ...props }, ref) {
|
|
114
|
+
return /* @__PURE__ */ jsxs(SelectControl, {
|
|
115
|
+
ref,
|
|
116
|
+
...props,
|
|
117
|
+
children: [/* @__PURE__ */ jsx(SelectTrigger, { children: /* @__PURE__ */ jsx(SelectValueText, { placeholder }) }), /* @__PURE__ */ jsxs(SelectIndicators, { children: [clearLabel && /* @__PURE__ */ jsx(SelectClearTrigger, { "aria-label": clearLabel }), /* @__PURE__ */ jsx(SelectIndicator, { children: indicator })] })]
|
|
118
|
+
});
|
|
119
|
+
});
|
|
92
120
|
const SelectPositioner = forwardRef(function SelectPositioner({ className, ...props }, ref) {
|
|
93
121
|
return /* @__PURE__ */ jsx(OverlayPortal, { children: /* @__PURE__ */ jsx(Select.Positioner, {
|
|
94
122
|
ref,
|
|
@@ -154,14 +182,26 @@ const SelectItemIndicator = forwardRef(function SelectItemIndicator({ className,
|
|
|
154
182
|
children: children ?? /* @__PURE__ */ jsx(CheckIcon, {})
|
|
155
183
|
});
|
|
156
184
|
});
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
185
|
+
function withNativeFormControl(children, asChild, nativeFormControl) {
|
|
186
|
+
const formControl = /* @__PURE__ */ jsx(SelectFormControl, { nativeFormControl });
|
|
187
|
+
if (!asChild) return /* @__PURE__ */ jsxs(Fragment$1, { children: [children, formControl] });
|
|
188
|
+
const child = Children.only(children);
|
|
189
|
+
return cloneElement(child, {}, child.props.children, formControl);
|
|
190
|
+
}
|
|
191
|
+
function SelectFormControl({ nativeFormControl }) {
|
|
192
|
+
const select = useSelectContext();
|
|
193
|
+
if (nativeFormControl === "select") return /* @__PURE__ */ jsx(Select.HiddenSelect, { "data-slot": "select-hidden-select" });
|
|
194
|
+
const hiddenSelectProps = select.getHiddenSelectProps();
|
|
195
|
+
return /* @__PURE__ */ jsx(Fragment$1, { children: select.value.map((value) => /* @__PURE__ */ jsx("input", {
|
|
196
|
+
type: "hidden",
|
|
197
|
+
"data-slot": "select-hidden-input",
|
|
198
|
+
name: hiddenSelectProps.name,
|
|
199
|
+
form: hiddenSelectProps.form,
|
|
200
|
+
autoComplete: hiddenSelectProps.autoComplete,
|
|
201
|
+
disabled: hiddenSelectProps.disabled,
|
|
202
|
+
value
|
|
203
|
+
}, value)) });
|
|
204
|
+
}
|
|
165
205
|
function SelectItemTextContent({ className, ...props }) {
|
|
166
206
|
return /* @__PURE__ */ jsx("span", {
|
|
167
207
|
"data-slot": "select-item-text-content",
|
|
@@ -186,8 +226,14 @@ function SelectItemTextLabel({ className, ...props }) {
|
|
|
186
226
|
const Select$1 = Object.assign(SelectRoot, {
|
|
187
227
|
Root: SelectRoot,
|
|
188
228
|
RootProvider: SelectRootProvider,
|
|
229
|
+
Context: Select.Context,
|
|
230
|
+
ItemContext: Select.ItemContext,
|
|
231
|
+
useSelect,
|
|
232
|
+
useSelectContext,
|
|
233
|
+
useSelectItemContext,
|
|
189
234
|
Label: SelectLabel,
|
|
190
235
|
Control: SelectControl,
|
|
236
|
+
Field: SelectField,
|
|
191
237
|
Trigger: SelectTrigger,
|
|
192
238
|
ValueText: SelectValueText,
|
|
193
239
|
ClearTrigger: SelectClearTrigger,
|
|
@@ -201,7 +247,6 @@ const Select$1 = Object.assign(SelectRoot, {
|
|
|
201
247
|
Item: SelectItem,
|
|
202
248
|
ItemText: SelectItemText,
|
|
203
249
|
ItemIndicator: SelectItemIndicator,
|
|
204
|
-
HiddenSelect: SelectHiddenSelect,
|
|
205
250
|
ItemTextContent: SelectItemTextContent,
|
|
206
251
|
ItemTextIcon: SelectItemTextIcon,
|
|
207
252
|
ItemTextLabel: SelectItemTextLabel
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
|
|
2
2
|
import Separator_module_default from "./Separator.module.js";
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
4
3
|
import { ark } from "@ark-ui/react/factory";
|
|
5
4
|
import { clsx } from "clsx";
|
|
6
5
|
import { forwardRef } from "react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
7
|
//#region src/components/separator/Separator.tsx
|
|
8
8
|
const SeparatorRoot = forwardRef(function SeparatorRoot({ asChild, className, orientation = "horizontal", role, size = "sm", variant = "solid", "aria-orientation": ariaOrientation, ...props }, ref) {
|
|
9
9
|
const resolvedRole = role ?? "separator";
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
color var(--sidebar-transition, var(--transition-default));
|
|
23
23
|
flex-direction: column;
|
|
24
24
|
display: flex;
|
|
25
|
+
position: relative;
|
|
25
26
|
overflow: hidden;
|
|
26
27
|
|
|
27
28
|
&[data-state="collapsed"] {
|
|
@@ -36,7 +37,7 @@
|
|
|
36
37
|
& ._3sukta_content {
|
|
37
38
|
scrollbar-gutter: auto;
|
|
38
39
|
scrollbar-width: none;
|
|
39
|
-
overflow: hidden;
|
|
40
|
+
overflow: hidden auto;
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
& ._3sukta_label, & ._3sukta_groupLabel {
|
|
@@ -51,7 +52,7 @@
|
|
|
51
52
|
overflow: hidden;
|
|
52
53
|
}
|
|
53
54
|
|
|
54
|
-
& ._3sukta_menuSub {
|
|
55
|
+
& ._3sukta_menuSub, & ._3sukta_groupAction, & ._3sukta_menuAction, & ._3sukta_menuBadge {
|
|
55
56
|
display: none;
|
|
56
57
|
}
|
|
57
58
|
|
|
@@ -196,7 +197,6 @@
|
|
|
196
197
|
padding: var(--sidebar-group-padding, var(--spacing-3));
|
|
197
198
|
flex-direction: column;
|
|
198
199
|
display: flex;
|
|
199
|
-
position: relative;
|
|
200
200
|
}
|
|
201
201
|
|
|
202
202
|
._3sukta_groupLabel {
|
|
@@ -210,6 +210,66 @@
|
|
|
210
210
|
margin: 0;
|
|
211
211
|
}
|
|
212
212
|
|
|
213
|
+
._3sukta_groupAction {
|
|
214
|
+
width: var(--sidebar-group-action-size, 1.5rem);
|
|
215
|
+
height: var(--sidebar-group-action-size, 1.5rem);
|
|
216
|
+
border-radius: var(--sidebar-menu-button-radius, var(--radius-md));
|
|
217
|
+
color: var(--sidebar-muted-color, var(--color-muted-foreground));
|
|
218
|
+
appearance: none;
|
|
219
|
+
cursor: pointer;
|
|
220
|
+
transition: background-color var(--sidebar-transition, var(--transition-default)),
|
|
221
|
+
color var(--sidebar-transition, var(--transition-default));
|
|
222
|
+
background-color: #0000;
|
|
223
|
+
border: 0;
|
|
224
|
+
justify-content: center;
|
|
225
|
+
align-items: center;
|
|
226
|
+
padding: 0;
|
|
227
|
+
display: inline-flex;
|
|
228
|
+
|
|
229
|
+
& > svg {
|
|
230
|
+
width: var(--sidebar-icon-size, 1rem);
|
|
231
|
+
height: var(--sidebar-icon-size, 1rem);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
&:focus-visible {
|
|
235
|
+
outline: var(--sidebar-focus-ring-width, var(--border-width-md)) solid
|
|
236
|
+
var(--sidebar-focus-ring-color, var(--color-ring));
|
|
237
|
+
outline-offset: var(--sidebar-focus-ring-offset, var(--spacing-1));
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
@media (hover: hover) {
|
|
241
|
+
&:hover {
|
|
242
|
+
background-color: var(--sidebar-accent-bg, var(--color-accent));
|
|
243
|
+
color: var(--sidebar-accent-color, var(--color-accent-foreground));
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
._3sukta_group:has(._3sukta_groupAction) {
|
|
249
|
+
column-gap: var(--sidebar-gap, var(--spacing-2));
|
|
250
|
+
row-gap: var(--sidebar-group-gap, var(--spacing-1));
|
|
251
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
252
|
+
display: grid;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
._3sukta_group:has(._3sukta_groupAction) ._3sukta_groupLabel {
|
|
256
|
+
grid-column: 1;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
._3sukta_group:has(._3sukta_groupAction) ._3sukta_groupAction {
|
|
260
|
+
grid-column: 2;
|
|
261
|
+
align-self: center;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
._3sukta_groupContent {
|
|
265
|
+
width: 100%;
|
|
266
|
+
min-width: 0;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
._3sukta_group:has(._3sukta_groupAction) ._3sukta_groupContent {
|
|
270
|
+
grid-column: 1 / -1;
|
|
271
|
+
}
|
|
272
|
+
|
|
213
273
|
._3sukta_menu, ._3sukta_menuSub {
|
|
214
274
|
gap: var(--sidebar-menu-gap, var(--spacing-1));
|
|
215
275
|
flex-direction: column;
|
|
@@ -314,7 +374,79 @@
|
|
|
314
374
|
justify-content: flex-start;
|
|
315
375
|
}
|
|
316
376
|
|
|
377
|
+
._3sukta_menuAction {
|
|
378
|
+
z-index: 1;
|
|
379
|
+
width: var(--sidebar-menu-action-size, 1.5rem);
|
|
380
|
+
height: var(--sidebar-menu-action-size, 1.5rem);
|
|
381
|
+
border-radius: var(--sidebar-menu-button-radius, var(--radius-md));
|
|
382
|
+
color: var(--sidebar-muted-color, var(--color-muted-foreground));
|
|
383
|
+
appearance: none;
|
|
384
|
+
cursor: pointer;
|
|
385
|
+
transition: background-color var(--sidebar-transition, var(--transition-default)),
|
|
386
|
+
color var(--sidebar-transition, var(--transition-default));
|
|
387
|
+
background-color: #0000;
|
|
388
|
+
border: 0;
|
|
389
|
+
justify-content: center;
|
|
390
|
+
align-items: center;
|
|
391
|
+
padding: 0;
|
|
392
|
+
display: inline-flex;
|
|
393
|
+
position: absolute;
|
|
394
|
+
inset-block-start: calc((var(--sidebar-menu-button-height, var(--size-md)) - var(--sidebar-menu-action-size, 1.5rem)) /
|
|
395
|
+
2);
|
|
396
|
+
inset-inline-end: var(--sidebar-menu-button-padding-x, var(--spacing-2));
|
|
397
|
+
|
|
398
|
+
& > svg {
|
|
399
|
+
width: var(--sidebar-icon-size, 1rem);
|
|
400
|
+
height: var(--sidebar-icon-size, 1rem);
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
&:focus-visible {
|
|
404
|
+
outline: var(--sidebar-focus-ring-width, var(--border-width-md)) solid
|
|
405
|
+
var(--sidebar-focus-ring-color, var(--color-ring));
|
|
406
|
+
outline-offset: var(--sidebar-focus-ring-offset, var(--spacing-1));
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
@media (hover: hover) {
|
|
410
|
+
&:hover {
|
|
411
|
+
background-color: var(--sidebar-accent-bg, var(--color-accent));
|
|
412
|
+
color: var(--sidebar-accent-color, var(--color-accent-foreground));
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
._3sukta_menuBadge {
|
|
418
|
+
z-index: 1;
|
|
419
|
+
min-width: var(--sidebar-menu-badge-min-width, 1.5rem);
|
|
420
|
+
min-height: var(--sidebar-menu-badge-min-width, 1.5rem);
|
|
421
|
+
padding-inline: var(--sidebar-menu-badge-padding-x, var(--spacing-1));
|
|
422
|
+
border-radius: var(--radius-full);
|
|
423
|
+
background-color: var(--sidebar-accent-bg, var(--color-accent));
|
|
424
|
+
color: var(--sidebar-accent-color, var(--color-accent-foreground));
|
|
425
|
+
font-size: var(--text-xs);
|
|
426
|
+
font-variant-numeric: tabular-nums;
|
|
427
|
+
justify-content: center;
|
|
428
|
+
align-items: center;
|
|
429
|
+
line-height: 1;
|
|
430
|
+
display: inline-flex;
|
|
431
|
+
position: absolute;
|
|
432
|
+
inset-block-start: calc((var(--sidebar-menu-button-height, var(--size-md)) -
|
|
433
|
+
var(--sidebar-menu-badge-min-width, 1.5rem)) /
|
|
434
|
+
2);
|
|
435
|
+
inset-inline-end: var(--sidebar-menu-button-padding-x, var(--spacing-2));
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
._3sukta_menuItem:has(._3sukta_menuAction) ._3sukta_menuButton, ._3sukta_menuItem:has(._3sukta_menuBadge) ._3sukta_menuButton {
|
|
439
|
+
padding-inline-end: calc(var(--sidebar-menu-action-size, 1.5rem) +
|
|
440
|
+
var(--sidebar-menu-button-padding-x, var(--spacing-2)) * 2);
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
._3sukta_panel[data-state="collapsed"] ._3sukta_menuItem:has(._3sukta_menuAction) ._3sukta_menuButton, ._3sukta_panel[data-state="collapsed"] ._3sukta_menuItem:has(._3sukta_menuBadge) ._3sukta_menuButton {
|
|
444
|
+
padding-inline-end: 0;
|
|
445
|
+
}
|
|
446
|
+
|
|
317
447
|
._3sukta_menuSub {
|
|
448
|
+
box-sizing: border-box;
|
|
449
|
+
width: auto;
|
|
318
450
|
border-inline-start: var(--sidebar-menu-sub-border-width, var(--border-width-sm)) solid
|
|
319
451
|
var(--sidebar-border-color, var(--color-border));
|
|
320
452
|
margin-block-start: var(--sidebar-menu-sub-margin-y, var(--spacing-1));
|
|
@@ -330,8 +462,16 @@
|
|
|
330
462
|
line-height: var(--sidebar-menu-sub-button-line-height, var(--line-height-text-sm));
|
|
331
463
|
}
|
|
332
464
|
|
|
465
|
+
._3sukta_input {
|
|
466
|
+
width: 100%;
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
._3sukta_separator {
|
|
470
|
+
--separator-color: var(--sidebar-border-color, var(--color-border));
|
|
471
|
+
}
|
|
472
|
+
|
|
333
473
|
@media (prefers-reduced-motion: reduce) {
|
|
334
|
-
._3sukta_panel, ._3sukta_trigger, ._3sukta_menuButton, ._3sukta_menuSubButton {
|
|
474
|
+
._3sukta_panel, ._3sukta_trigger, ._3sukta_groupAction, ._3sukta_menuButton, ._3sukta_menuAction, ._3sukta_menuSubButton {
|
|
335
475
|
transition: none;
|
|
336
476
|
}
|
|
337
477
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Splitter } from "../splitter/Splitter.js";
|
|
2
|
+
import { Tooltip } from "../tooltip/Tooltip.js";
|
|
2
3
|
import { ComponentProps } from "react";
|
|
3
4
|
|
|
4
5
|
//#region src/components/sidebar/Sidebar.d.ts
|
|
@@ -27,17 +28,42 @@ declare const Sidebar: import("react").ForwardRefExoticComponent<Omit<SidebarRoo
|
|
|
27
28
|
ResizeTrigger: import("react").ForwardRefExoticComponent<Omit<SidebarResizeTriggerProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
28
29
|
Trigger: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
29
30
|
Label: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLSpanElement>>;
|
|
31
|
+
Input: import("react").ForwardRefExoticComponent<Omit<Omit<Omit<import("@ark-ui/react/field").FieldInputProps & import("react").RefAttributes<HTMLInputElement>, "size"> & {
|
|
32
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl";
|
|
33
|
+
htmlSize?: ComponentProps<"input">["size"];
|
|
34
|
+
}, "ref"> & import("react").RefAttributes<HTMLInputElement>, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
|
|
30
35
|
Header: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLElement>>;
|
|
31
36
|
Content: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
32
37
|
Footer: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLElement>>;
|
|
38
|
+
Separator: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & {
|
|
39
|
+
orientation?: "horizontal" | "vertical";
|
|
40
|
+
size?: "xs" | "sm" | "md" | "lg";
|
|
41
|
+
variant?: "solid" | "dashed" | "dotted";
|
|
42
|
+
} & import("react").RefAttributes<HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
33
43
|
Group: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLElement>>;
|
|
34
44
|
GroupLabel: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLHeadingElement>>;
|
|
45
|
+
GroupAction: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
46
|
+
GroupContent: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
35
47
|
Menu: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLUListElement>>;
|
|
36
48
|
MenuItem: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLLIElement>>;
|
|
49
|
+
Tooltip: ({
|
|
50
|
+
children,
|
|
51
|
+
content,
|
|
52
|
+
openDelay,
|
|
53
|
+
closeDelay,
|
|
54
|
+
positioning,
|
|
55
|
+
...props
|
|
56
|
+
}: Omit<ComponentProps<typeof Tooltip>, "children" | "disabled" | "positioning"> & {
|
|
57
|
+
children: ComponentProps<typeof Tooltip.Trigger>["children"];
|
|
58
|
+
content: ComponentProps<typeof Tooltip.Content>["children"];
|
|
59
|
+
positioning?: ComponentProps<typeof Tooltip>["positioning"];
|
|
60
|
+
}) => import("react").JSX.Element;
|
|
37
61
|
MenuButton: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & {
|
|
38
62
|
active?: boolean;
|
|
39
63
|
size?: "sm" | "md" | "lg";
|
|
40
64
|
} & import("react").RefAttributes<HTMLButtonElement>>;
|
|
65
|
+
MenuAction: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
66
|
+
MenuBadge: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
41
67
|
MenuSub: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLUListElement>>;
|
|
42
68
|
MenuSubItem: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLLIElement>>;
|
|
43
69
|
MenuSubButton: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & {
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { ChevronLeftIcon } from "../../lib/moduix/icons/ui/Icons.js";
|
|
2
1
|
import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
|
|
3
|
-
import {
|
|
2
|
+
import { ChevronLeftIcon } from "../../lib/moduix/icons/ui/Icons.js";
|
|
3
|
+
import { Input } from "../input/Input.js";
|
|
4
|
+
import { Separator } from "../separator/Separator.js";
|
|
5
|
+
import { Splitter, useSplitterContext } from "../splitter/Splitter.js";
|
|
6
|
+
import { Tooltip } from "../tooltip/Tooltip.js";
|
|
4
7
|
import Sidebar_module_default from "./Sidebar.module.js";
|
|
5
|
-
import { jsx } from "react/jsx-runtime";
|
|
6
8
|
import { ark } from "@ark-ui/react/factory";
|
|
7
9
|
import { clsx } from "clsx";
|
|
8
10
|
import { createContext, forwardRef, useContext } from "react";
|
|
9
|
-
import {
|
|
11
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
12
|
//#region src/components/sidebar/Sidebar.tsx
|
|
11
13
|
const sidebarPanel = {
|
|
12
14
|
id: "sidebar",
|
|
@@ -30,6 +32,12 @@ function getDefaultSidebarSize(side) {
|
|
|
30
32
|
defaultSize[1] = "16rem";
|
|
31
33
|
return defaultSize;
|
|
32
34
|
}
|
|
35
|
+
function getDefaultPanels(side, panelId) {
|
|
36
|
+
return defaultPanelsBySide[side].map((panel) => panel.id === "sidebar" ? {
|
|
37
|
+
...panel,
|
|
38
|
+
id: panelId
|
|
39
|
+
} : panel);
|
|
40
|
+
}
|
|
33
41
|
function toggleSidebarPanel(splitter, panelId) {
|
|
34
42
|
if (splitter.isPanelCollapsed(panelId)) {
|
|
35
43
|
splitter.expandPanel(panelId);
|
|
@@ -43,10 +51,10 @@ const SidebarRoot = forwardRef(function SidebarRoot({ className, panels, default
|
|
|
43
51
|
panelId,
|
|
44
52
|
side
|
|
45
53
|
},
|
|
46
|
-
children: /* @__PURE__ */ jsx(Splitter
|
|
54
|
+
children: /* @__PURE__ */ jsx(Splitter.Root, {
|
|
47
55
|
...props,
|
|
48
56
|
ref,
|
|
49
|
-
panels: panels ??
|
|
57
|
+
panels: panels ?? getDefaultPanels(side, panelId),
|
|
50
58
|
defaultSize: defaultSize ?? getDefaultSidebarSize(side),
|
|
51
59
|
orientation: "horizontal",
|
|
52
60
|
"data-side": side,
|
|
@@ -71,7 +79,7 @@ const SidebarPanel = forwardRef(function SidebarPanel({ className, id, ...props
|
|
|
71
79
|
const splitter = useSplitterContext();
|
|
72
80
|
const panelId = id ?? config.panelId;
|
|
73
81
|
const collapsed = splitter.isPanelCollapsed(panelId);
|
|
74
|
-
return /* @__PURE__ */ jsx(Splitter
|
|
82
|
+
return /* @__PURE__ */ jsx(Splitter.Panel, {
|
|
75
83
|
...props,
|
|
76
84
|
ref,
|
|
77
85
|
id: panelId,
|
|
@@ -83,7 +91,7 @@ const SidebarPanel = forwardRef(function SidebarPanel({ className, id, ...props
|
|
|
83
91
|
});
|
|
84
92
|
const SidebarInset = forwardRef(function SidebarInset({ className, id = "content", ...props }, ref) {
|
|
85
93
|
const { side } = useContext(SidebarConfigContext);
|
|
86
|
-
return /* @__PURE__ */ jsx(Splitter
|
|
94
|
+
return /* @__PURE__ */ jsx(Splitter.Panel, {
|
|
87
95
|
ref,
|
|
88
96
|
id,
|
|
89
97
|
"data-side": side,
|
|
@@ -92,17 +100,18 @@ const SidebarInset = forwardRef(function SidebarInset({ className, id = "content
|
|
|
92
100
|
...props
|
|
93
101
|
});
|
|
94
102
|
});
|
|
95
|
-
const SidebarResizeTrigger = forwardRef(function SidebarResizeTrigger({ className, id, "aria-label": ariaLabel = "Resize sidebar", ...props }, ref) {
|
|
96
|
-
const { side } = useContext(SidebarConfigContext);
|
|
97
|
-
const resolvedId = id ?? (side === "left" ?
|
|
98
|
-
return /* @__PURE__ */ jsx(Splitter
|
|
103
|
+
const SidebarResizeTrigger = forwardRef(function SidebarResizeTrigger({ children, className, id, "aria-label": ariaLabel = "Resize sidebar", ...props }, ref) {
|
|
104
|
+
const { panelId, side } = useContext(SidebarConfigContext);
|
|
105
|
+
const resolvedId = id ?? (side === "left" ? `${panelId}:content` : `content:${panelId}`);
|
|
106
|
+
return /* @__PURE__ */ jsx(Splitter.ResizeTrigger, {
|
|
99
107
|
...props,
|
|
100
108
|
ref,
|
|
101
109
|
id: resolvedId,
|
|
102
110
|
"aria-label": ariaLabel,
|
|
103
111
|
"data-side": side,
|
|
104
112
|
"data-slot": "sidebar-resize-trigger",
|
|
105
|
-
className: clsx(Sidebar_module_default.resizeTrigger, normalizeClassName(className))
|
|
113
|
+
className: clsx(Sidebar_module_default.resizeTrigger, normalizeClassName(className)),
|
|
114
|
+
children: children === void 0 ? null : children
|
|
106
115
|
});
|
|
107
116
|
});
|
|
108
117
|
const SidebarTrigger = forwardRef(function SidebarTrigger({ className, children, onClick, type = "button", "aria-label": ariaLabel = "Toggle sidebar", ...props }, ref) {
|
|
@@ -190,6 +199,27 @@ const SidebarGroupLabel = forwardRef(function SidebarGroupLabel({ className, ...
|
|
|
190
199
|
...props
|
|
191
200
|
});
|
|
192
201
|
});
|
|
202
|
+
const SidebarGroupAction = forwardRef(function SidebarGroupAction({ className, type = "button", ...props }, ref) {
|
|
203
|
+
return /* @__PURE__ */ jsx(ark.button, {
|
|
204
|
+
ref,
|
|
205
|
+
type,
|
|
206
|
+
"data-scope": "sidebar",
|
|
207
|
+
"data-part": "group-action",
|
|
208
|
+
"data-slot": "sidebar-group-action",
|
|
209
|
+
className: clsx(Sidebar_module_default.groupAction, normalizeClassName(className)),
|
|
210
|
+
...props
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
const SidebarGroupContent = forwardRef(function SidebarGroupContent({ className, ...props }, ref) {
|
|
214
|
+
return /* @__PURE__ */ jsx(ark.div, {
|
|
215
|
+
ref,
|
|
216
|
+
"data-scope": "sidebar",
|
|
217
|
+
"data-part": "group-content",
|
|
218
|
+
"data-slot": "sidebar-group-content",
|
|
219
|
+
className: clsx(Sidebar_module_default.groupContent, normalizeClassName(className)),
|
|
220
|
+
...props
|
|
221
|
+
});
|
|
222
|
+
});
|
|
193
223
|
const SidebarMenu = forwardRef(function SidebarMenu({ className, ...props }, ref) {
|
|
194
224
|
return /* @__PURE__ */ jsx(ark.ul, {
|
|
195
225
|
ref,
|
|
@@ -224,6 +254,27 @@ const SidebarMenuButton = forwardRef(function SidebarMenuButton({ active = false
|
|
|
224
254
|
...props
|
|
225
255
|
});
|
|
226
256
|
});
|
|
257
|
+
const SidebarMenuAction = forwardRef(function SidebarMenuAction({ className, type = "button", ...props }, ref) {
|
|
258
|
+
return /* @__PURE__ */ jsx(ark.button, {
|
|
259
|
+
ref,
|
|
260
|
+
type,
|
|
261
|
+
"data-scope": "sidebar",
|
|
262
|
+
"data-part": "menu-action",
|
|
263
|
+
"data-slot": "sidebar-menu-action",
|
|
264
|
+
className: clsx(Sidebar_module_default.menuAction, normalizeClassName(className)),
|
|
265
|
+
...props
|
|
266
|
+
});
|
|
267
|
+
});
|
|
268
|
+
const SidebarMenuBadge = forwardRef(function SidebarMenuBadge({ className, ...props }, ref) {
|
|
269
|
+
return /* @__PURE__ */ jsx(ark.div, {
|
|
270
|
+
ref,
|
|
271
|
+
"data-scope": "sidebar",
|
|
272
|
+
"data-part": "menu-badge",
|
|
273
|
+
"data-slot": "sidebar-menu-badge",
|
|
274
|
+
className: clsx(Sidebar_module_default.menuBadge, normalizeClassName(className)),
|
|
275
|
+
...props
|
|
276
|
+
});
|
|
277
|
+
});
|
|
227
278
|
const SidebarMenuSub = forwardRef(function SidebarMenuSub({ className, ...props }, ref) {
|
|
228
279
|
return /* @__PURE__ */ jsx(ark.ul, {
|
|
229
280
|
ref,
|
|
@@ -256,6 +307,40 @@ const SidebarMenuSubButton = forwardRef(function SidebarMenuSubButton({ active =
|
|
|
256
307
|
...props
|
|
257
308
|
});
|
|
258
309
|
});
|
|
310
|
+
const SidebarTooltip = function SidebarTooltip({ children, content, openDelay = 200, closeDelay = 0, positioning, ...props }) {
|
|
311
|
+
const { collapsed, side } = useSidebar();
|
|
312
|
+
return /* @__PURE__ */ jsxs(Tooltip, {
|
|
313
|
+
...props,
|
|
314
|
+
openDelay,
|
|
315
|
+
closeDelay,
|
|
316
|
+
disabled: !collapsed,
|
|
317
|
+
positioning: {
|
|
318
|
+
placement: side === "left" ? "right" : "left",
|
|
319
|
+
gutter: 8,
|
|
320
|
+
...positioning
|
|
321
|
+
},
|
|
322
|
+
children: [/* @__PURE__ */ jsx(Tooltip.Trigger, {
|
|
323
|
+
asChild: true,
|
|
324
|
+
children
|
|
325
|
+
}), /* @__PURE__ */ jsx(Tooltip.Positioner, { children: /* @__PURE__ */ jsx(Tooltip.Content, { children: content }) })]
|
|
326
|
+
});
|
|
327
|
+
};
|
|
328
|
+
const SidebarInput = forwardRef(function SidebarInput({ className, ...props }, ref) {
|
|
329
|
+
return /* @__PURE__ */ jsx(Input.Root, {
|
|
330
|
+
ref,
|
|
331
|
+
"data-slot": "sidebar-input",
|
|
332
|
+
className: clsx(Sidebar_module_default.input, normalizeClassName(className)),
|
|
333
|
+
...props
|
|
334
|
+
});
|
|
335
|
+
});
|
|
336
|
+
const SidebarSeparator = forwardRef(function SidebarSeparator({ className, ...props }, ref) {
|
|
337
|
+
return /* @__PURE__ */ jsx(Separator.Root, {
|
|
338
|
+
ref,
|
|
339
|
+
"data-slot": "sidebar-separator",
|
|
340
|
+
className: clsx(Sidebar_module_default.separator, normalizeClassName(className)),
|
|
341
|
+
...props
|
|
342
|
+
});
|
|
343
|
+
});
|
|
259
344
|
const Sidebar = Object.assign(SidebarRoot, {
|
|
260
345
|
Root: SidebarRoot,
|
|
261
346
|
Panel: SidebarPanel,
|
|
@@ -263,14 +348,21 @@ const Sidebar = Object.assign(SidebarRoot, {
|
|
|
263
348
|
ResizeTrigger: SidebarResizeTrigger,
|
|
264
349
|
Trigger: SidebarTrigger,
|
|
265
350
|
Label: SidebarLabel,
|
|
351
|
+
Input: SidebarInput,
|
|
266
352
|
Header: SidebarHeader,
|
|
267
353
|
Content: SidebarContent,
|
|
268
354
|
Footer: SidebarFooter,
|
|
355
|
+
Separator: SidebarSeparator,
|
|
269
356
|
Group: SidebarGroup,
|
|
270
357
|
GroupLabel: SidebarGroupLabel,
|
|
358
|
+
GroupAction: SidebarGroupAction,
|
|
359
|
+
GroupContent: SidebarGroupContent,
|
|
271
360
|
Menu: SidebarMenu,
|
|
272
361
|
MenuItem: SidebarMenuItem,
|
|
362
|
+
Tooltip: SidebarTooltip,
|
|
273
363
|
MenuButton: SidebarMenuButton,
|
|
364
|
+
MenuAction: SidebarMenuAction,
|
|
365
|
+
MenuBadge: SidebarMenuBadge,
|
|
274
366
|
MenuSub: SidebarMenuSub,
|
|
275
367
|
MenuSubItem: SidebarMenuSubItem,
|
|
276
368
|
MenuSubButton: SidebarMenuSubButton
|