@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
|
@@ -1,24 +1,28 @@
|
|
|
1
1
|
import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
|
|
2
2
|
import DateInput_module_default from "./DateInput.module.js";
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
4
3
|
import { clsx } from "clsx";
|
|
5
|
-
import { forwardRef } from "react";
|
|
6
|
-
import {
|
|
4
|
+
import { Children, cloneElement, forwardRef } from "react";
|
|
5
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import { DateInput, useDateInput, useDateInputContext } from "@ark-ui/react/date-input";
|
|
7
7
|
//#region src/components/date-input/DateInput.tsx
|
|
8
|
-
const DateInputRoot = forwardRef(function DateInputRoot({ className, ...props }, ref) {
|
|
8
|
+
const DateInputRoot = forwardRef(function DateInputRoot({ asChild, children, className, names, ...props }, ref) {
|
|
9
9
|
return /* @__PURE__ */ jsx(DateInput.Root, {
|
|
10
10
|
ref,
|
|
11
11
|
"data-slot": "date-input-root",
|
|
12
12
|
className: clsx(DateInput_module_default.root, normalizeClassName(className)),
|
|
13
|
-
|
|
13
|
+
asChild,
|
|
14
|
+
...props,
|
|
15
|
+
children: withHiddenInputs(children, asChild, names)
|
|
14
16
|
});
|
|
15
17
|
});
|
|
16
|
-
const DateInputRootProvider = forwardRef(function DateInputRootProvider({ className, ...props }, ref) {
|
|
18
|
+
const DateInputRootProvider = forwardRef(function DateInputRootProvider({ asChild, children, className, names, ...props }, ref) {
|
|
17
19
|
return /* @__PURE__ */ jsx(DateInput.RootProvider, {
|
|
18
20
|
ref,
|
|
19
21
|
"data-slot": "date-input-root-provider",
|
|
20
22
|
className: clsx(DateInput_module_default.root, normalizeClassName(className)),
|
|
21
|
-
|
|
23
|
+
asChild,
|
|
24
|
+
...props,
|
|
25
|
+
children: withHiddenInputs(children, asChild, names)
|
|
22
26
|
});
|
|
23
27
|
});
|
|
24
28
|
const DateInputLabel = forwardRef(function DateInputLabel({ className, ...props }, ref) {
|
|
@@ -53,13 +57,28 @@ const DateInputSegment = forwardRef(function DateInputSegment({ className, ...pr
|
|
|
53
57
|
...props
|
|
54
58
|
});
|
|
55
59
|
});
|
|
56
|
-
const
|
|
57
|
-
return /* @__PURE__ */ jsx(
|
|
60
|
+
const DateInputSegments = forwardRef(function DateInputSegments(props, ref) {
|
|
61
|
+
return /* @__PURE__ */ jsx(DateInputSegmentGroup, {
|
|
58
62
|
ref,
|
|
59
|
-
|
|
60
|
-
|
|
63
|
+
...props,
|
|
64
|
+
children: /* @__PURE__ */ jsx(DateInput.SegmentContext, { children: (segment) => /* @__PURE__ */ jsx(DateInputSegment, { segment }) })
|
|
61
65
|
});
|
|
62
66
|
});
|
|
67
|
+
function withHiddenInputs(children, asChild, names) {
|
|
68
|
+
const hiddenInputs = /* @__PURE__ */ jsx(DateInputFormInputs, { names });
|
|
69
|
+
if (!asChild) return /* @__PURE__ */ jsxs(Fragment$1, { children: [children, hiddenInputs] });
|
|
70
|
+
const child = Children.only(children);
|
|
71
|
+
return cloneElement(child, {}, child.props.children, hiddenInputs);
|
|
72
|
+
}
|
|
73
|
+
function DateInputFormInputs({ names }) {
|
|
74
|
+
const dateInput = useDateInputContext();
|
|
75
|
+
const inputCount = Math.max(dateInput.displayValues.length, names?.length ?? 0, 1);
|
|
76
|
+
return /* @__PURE__ */ jsx(Fragment$1, { children: Array.from({ length: inputCount }, (_, index) => /* @__PURE__ */ jsx(DateInput.HiddenInput, {
|
|
77
|
+
index,
|
|
78
|
+
name: names?.[index],
|
|
79
|
+
"data-slot": "date-input-hidden-input"
|
|
80
|
+
}, index)) });
|
|
81
|
+
}
|
|
63
82
|
function DateInputSeparator({ className, "aria-hidden": ariaHidden = true, role = "presentation", ...props }) {
|
|
64
83
|
return /* @__PURE__ */ jsx("span", {
|
|
65
84
|
"data-slot": "date-input-separator",
|
|
@@ -76,8 +95,10 @@ const DateInput$1 = Object.assign(DateInputRoot, {
|
|
|
76
95
|
Control: DateInputControl,
|
|
77
96
|
SegmentGroup: DateInputSegmentGroup,
|
|
78
97
|
Segment: DateInputSegment,
|
|
79
|
-
|
|
80
|
-
Separator: DateInputSeparator
|
|
98
|
+
Segments: DateInputSegments,
|
|
99
|
+
Separator: DateInputSeparator,
|
|
100
|
+
Context: DateInput.Context,
|
|
101
|
+
SegmentContext: DateInput.SegmentContext
|
|
81
102
|
});
|
|
82
103
|
//#endregion
|
|
83
|
-
export { DateInput$1 as DateInput };
|
|
104
|
+
export { DateInput$1 as DateInput, useDateInput, useDateInputContext };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { DateInput } from "./DateInput.js";
|
|
2
|
-
export { DateInput };
|
|
1
|
+
import { DateInput, DateInputDateValue, useDateInput, useDateInputContext } from "./DateInput.js";
|
|
2
|
+
export { DateInput, type DateInputDateValue, useDateInput, useDateInputContext };
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
@layer ui.components {
|
|
2
2
|
@keyframes a48aUa_date-picker-content-open {
|
|
3
3
|
from {
|
|
4
|
-
opacity: var(--date-picker-content-closed-opacity, 0);
|
|
5
|
-
|
|
4
|
+
opacity: var(--date-picker-content-closed-opacity, var(--popup-motion-starting-opacity, 0));
|
|
5
|
+
translate: var(--popup-motion-starting-translate-x, 0)
|
|
6
|
+
var(--popup-motion-starting-translate-y, 0);
|
|
7
|
+
transform: scale(var(--date-picker-content-closed-scale, var(--popup-motion-starting-scale, var(--scale-popup))));
|
|
6
8
|
}
|
|
7
9
|
|
|
8
10
|
to {
|
|
@@ -18,8 +20,9 @@
|
|
|
18
20
|
}
|
|
19
21
|
|
|
20
22
|
to {
|
|
21
|
-
opacity: var(--date-picker-content-closed-opacity, 0);
|
|
22
|
-
|
|
23
|
+
opacity: var(--date-picker-content-closed-opacity, var(--popup-motion-ending-opacity, 0));
|
|
24
|
+
translate: var(--popup-motion-ending-translate-x, 0) var(--popup-motion-ending-translate-y, 0);
|
|
25
|
+
transform: scale(var(--date-picker-content-closed-scale, var(--popup-motion-ending-scale, var(--scale-popup))));
|
|
23
26
|
}
|
|
24
27
|
}
|
|
25
28
|
|
|
@@ -62,20 +65,22 @@
|
|
|
62
65
|
box-sizing: border-box;
|
|
63
66
|
width: 100%;
|
|
64
67
|
min-width: min(var(--date-picker-input-min-width, 7.5rem), 100%);
|
|
65
|
-
height: var(--date-picker-control-height, var(--size-
|
|
68
|
+
height: var(--date-picker-control-height, var(--size-md));
|
|
66
69
|
border: var(--date-picker-border-width, var(--border-width-sm)) solid
|
|
67
70
|
var(--date-picker-border-color, var(--color-border));
|
|
68
71
|
border-radius: var(--date-picker-radius, var(--radius-md));
|
|
69
|
-
padding-block: var(--date-picker-input-padding-y,
|
|
70
|
-
padding-inline: var(--date-picker-input-padding-x-start,
|
|
72
|
+
padding-block: var(--date-picker-input-padding-y, var(--spacing-1));
|
|
73
|
+
padding-inline: var(--date-picker-input-padding-x-start, var(--spacing-3-5))
|
|
71
74
|
var(--date-picker-input-padding-x-end, 4.25rem);
|
|
72
75
|
background-color: var(--date-picker-bg, var(--color-background));
|
|
73
76
|
color: inherit;
|
|
74
77
|
font: inherit;
|
|
75
78
|
font-size: var(--date-picker-font-size, var(--text-md));
|
|
76
79
|
line-height: var(--date-picker-line-height, var(--line-height-text-md));
|
|
77
|
-
outline: var(--date-picker-focus-ring-width, var(--border-width-sm))
|
|
78
|
-
|
|
80
|
+
outline: var(--date-picker-focus-ring-width, var(--focus-ring-inset-width, var(--border-width-sm)))
|
|
81
|
+
solid transparent;
|
|
82
|
+
outline-offset: calc(var(--date-picker-focus-ring-width, var(--focus-ring-inset-width, var(--border-width-sm))) *
|
|
83
|
+
-1);
|
|
79
84
|
transition: background-color var(--date-picker-transition, var(--transition-default)),
|
|
80
85
|
border-color var(--date-picker-transition, var(--transition-default)),
|
|
81
86
|
color var(--date-picker-transition, var(--transition-default)),
|
|
@@ -102,32 +107,25 @@
|
|
|
102
107
|
&:is([disabled], [data-disabled], [readonly], [data-readonly]) {
|
|
103
108
|
cursor: default;
|
|
104
109
|
}
|
|
105
|
-
|
|
106
|
-
.a48aUa_control:not([data-disabled], [data-readonly]) & {
|
|
107
|
-
@media (hover: hover) {
|
|
108
|
-
&:hover {
|
|
109
|
-
background-color: var(--date-picker-bg-hover, var(--color-accent));
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
110
|
}
|
|
114
111
|
|
|
115
112
|
.a48aUa_control:has(.a48aUa_input + .a48aUa_input) .a48aUa_input {
|
|
116
113
|
min-width: min(var(--date-picker-range-input-min-width, 7.5rem), 100%);
|
|
117
|
-
padding-inline-end: var(--date-picker-input-padding-x-start,
|
|
114
|
+
padding-inline-end: var(--date-picker-input-padding-x-start, var(--spacing-3-5));
|
|
118
115
|
}
|
|
119
116
|
|
|
120
117
|
.a48aUa_control:has(.a48aUa_input + .a48aUa_input) .a48aUa_input:last-of-type {
|
|
121
118
|
padding-inline-end: var(--date-picker-input-padding-x-end, 4.25rem);
|
|
122
119
|
}
|
|
123
120
|
|
|
124
|
-
.a48aUa_trigger, .a48aUa_navTrigger, .a48aUa_viewTrigger, .
|
|
121
|
+
.a48aUa_trigger, .a48aUa_navTrigger, .a48aUa_viewTrigger, .a48aUa_presetTrigger {
|
|
125
122
|
box-sizing: border-box;
|
|
126
123
|
border-radius: var(--date-picker-action-radius, var(--radius-sm));
|
|
127
124
|
background: var(--date-picker-action-bg, transparent);
|
|
128
125
|
color: var(--date-picker-icon-color, var(--color-muted-foreground));
|
|
129
126
|
font: inherit;
|
|
130
|
-
outline: var(--date-picker-action-focus-ring-width, var(--border-width-sm))
|
|
127
|
+
outline: var(--date-picker-action-focus-ring-width, var(--focus-ring-inset-width, var(--border-width-sm)))
|
|
128
|
+
solid transparent;
|
|
131
129
|
outline-offset: var(--date-picker-action-focus-ring-offset, 0);
|
|
132
130
|
cursor: pointer;
|
|
133
131
|
transition: background-color var(--date-picker-transition, var(--transition-default)),
|
|
@@ -144,8 +142,8 @@
|
|
|
144
142
|
display: inline-flex;
|
|
145
143
|
|
|
146
144
|
& > svg {
|
|
147
|
-
width: var(--date-picker-icon-size,
|
|
148
|
-
height: var(--date-picker-icon-size,
|
|
145
|
+
width: var(--date-picker-icon-size, var(--spacing-4));
|
|
146
|
+
height: var(--date-picker-icon-size, var(--spacing-4));
|
|
149
147
|
display: block;
|
|
150
148
|
}
|
|
151
149
|
|
|
@@ -172,21 +170,43 @@
|
|
|
172
170
|
}
|
|
173
171
|
}
|
|
174
172
|
|
|
175
|
-
.a48aUa_trigger
|
|
176
|
-
width: var(--date-picker-action-size,
|
|
177
|
-
height: var(--date-picker-action-size,
|
|
178
|
-
position: absolute;
|
|
173
|
+
.a48aUa_trigger {
|
|
174
|
+
width: var(--date-picker-action-size, var(--size-xs));
|
|
175
|
+
height: var(--date-picker-action-size, var(--size-xs));
|
|
179
176
|
top: 50%;
|
|
177
|
+
position: absolute;
|
|
178
|
+
inset-inline-end: var(--date-picker-trigger-offset-right, var(--spacing-2));
|
|
180
179
|
transform: translateY(-50%);
|
|
181
180
|
}
|
|
182
181
|
|
|
183
|
-
.a48aUa_trigger {
|
|
184
|
-
right: var(--date-picker-trigger-offset-right, .5rem);
|
|
185
|
-
}
|
|
186
|
-
|
|
187
182
|
.a48aUa_clearTrigger {
|
|
188
|
-
|
|
189
|
-
|
|
183
|
+
--close-button-size: var(--date-picker-action-size, var(--size-xs));
|
|
184
|
+
--close-button-icon-size: var(--date-picker-icon-size, var(--spacing-4));
|
|
185
|
+
--close-button-radius: var(--date-picker-action-radius, var(--radius-sm));
|
|
186
|
+
--close-button-bg: var(--date-picker-action-bg, transparent);
|
|
187
|
+
--close-button-bg-hover: var(--date-picker-action-bg-hover, var(--color-muted));
|
|
188
|
+
--close-button-color: var(--date-picker-icon-color, var(--color-muted-foreground));
|
|
189
|
+
--close-button-color-hover: var(--date-picker-action-color-hover, var(--color-foreground));
|
|
190
|
+
--close-button-disabled-opacity: var(--date-picker-disabled-opacity, var(--opacity-disabled));
|
|
191
|
+
--close-button-focus-ring-width: var(--date-picker-action-focus-ring-width, var(--border-width-sm));
|
|
192
|
+
--close-button-focus-ring-color: var(--date-picker-focus-ring-color, var(--color-ring));
|
|
193
|
+
--close-button-focus-ring-offset: var(--date-picker-action-focus-ring-offset, 0);
|
|
194
|
+
--close-button-transition: var(--date-picker-transition, var(--transition-default));
|
|
195
|
+
top: 50%;
|
|
196
|
+
position: absolute;
|
|
197
|
+
inset-inline-end: calc(var(--date-picker-trigger-offset-right, var(--spacing-2)) +
|
|
198
|
+
var(--date-picker-action-size, var(--size-xs)) +
|
|
199
|
+
var(--date-picker-action-gap, var(--spacing-0-5)));
|
|
200
|
+
transform: translateY(-50%);
|
|
201
|
+
|
|
202
|
+
&[data-focus] {
|
|
203
|
+
outline: var(--close-button-focus-ring-width) solid var(--close-button-focus-ring-color);
|
|
204
|
+
outline-offset: var(--close-button-focus-ring-offset);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
&[hidden] {
|
|
208
|
+
display: none;
|
|
209
|
+
}
|
|
190
210
|
}
|
|
191
211
|
|
|
192
212
|
.a48aUa_positioner {
|
|
@@ -215,11 +235,15 @@
|
|
|
215
235
|
overflow: auto;
|
|
216
236
|
|
|
217
237
|
&[data-state="open"] {
|
|
218
|
-
animation: a48aUa_date-picker-content-open
|
|
238
|
+
animation: a48aUa_date-picker-content-open
|
|
239
|
+
var(--date-picker-transition, var(--popup-motion-duration, var(--duration-normal))
|
|
240
|
+
var(--popup-motion-easing, var(--ease-in-out)));
|
|
219
241
|
}
|
|
220
242
|
|
|
221
243
|
&[data-state="closed"] {
|
|
222
|
-
animation: a48aUa_date-picker-content-closed
|
|
244
|
+
animation: a48aUa_date-picker-content-closed
|
|
245
|
+
var(--date-picker-transition, var(--popup-motion-duration, var(--duration-normal))
|
|
246
|
+
var(--popup-motion-easing, var(--ease-in-out)));
|
|
223
247
|
pointer-events: none;
|
|
224
248
|
}
|
|
225
249
|
}
|
|
@@ -244,13 +268,13 @@
|
|
|
244
268
|
}
|
|
245
269
|
|
|
246
270
|
.a48aUa_navTrigger {
|
|
247
|
-
width: var(--date-picker-nav-trigger-size,
|
|
248
|
-
height: var(--date-picker-nav-trigger-size,
|
|
271
|
+
width: var(--date-picker-nav-trigger-size, var(--size-sm));
|
|
272
|
+
height: var(--date-picker-nav-trigger-size, var(--size-sm));
|
|
249
273
|
}
|
|
250
274
|
|
|
251
275
|
.a48aUa_viewTrigger {
|
|
252
276
|
min-width: 0;
|
|
253
|
-
min-height: var(--date-picker-view-trigger-height,
|
|
277
|
+
min-height: var(--date-picker-view-trigger-height, var(--size-sm));
|
|
254
278
|
gap: var(--date-picker-view-trigger-gap, var(--spacing-2));
|
|
255
279
|
padding-inline: var(--date-picker-view-trigger-padding-x, var(--spacing-2));
|
|
256
280
|
color: var(--date-picker-view-trigger-color, var(--color-foreground));
|
|
@@ -270,12 +294,12 @@
|
|
|
270
294
|
.a48aUa_table {
|
|
271
295
|
border-collapse: separate;
|
|
272
296
|
width: 100%;
|
|
273
|
-
border-spacing: var(--date-picker-table-cell-gap,
|
|
297
|
+
border-spacing: var(--date-picker-table-cell-gap, var(--spacing-0-5));
|
|
274
298
|
table-layout: fixed;
|
|
275
299
|
}
|
|
276
300
|
|
|
277
301
|
.a48aUa_tableHeader, .a48aUa_weekNumberCell {
|
|
278
|
-
width: var(--date-picker-table-cell-size,
|
|
302
|
+
width: var(--date-picker-table-cell-size, var(--size-sm));
|
|
279
303
|
height: var(--date-picker-table-header-height, 1.75rem);
|
|
280
304
|
color: var(--date-picker-table-header-color, var(--color-muted-foreground));
|
|
281
305
|
font-size: var(--date-picker-table-header-font-size, var(--text-xs));
|
|
@@ -285,8 +309,8 @@
|
|
|
285
309
|
}
|
|
286
310
|
|
|
287
311
|
.a48aUa_tableCell {
|
|
288
|
-
width: var(--date-picker-table-cell-size,
|
|
289
|
-
height: var(--date-picker-table-cell-size,
|
|
312
|
+
width: var(--date-picker-table-cell-size, var(--size-sm));
|
|
313
|
+
height: var(--date-picker-table-cell-size, var(--size-sm));
|
|
290
314
|
text-align: center;
|
|
291
315
|
padding: 0;
|
|
292
316
|
}
|
|
@@ -299,8 +323,8 @@
|
|
|
299
323
|
.a48aUa_tableCellTrigger {
|
|
300
324
|
box-sizing: border-box;
|
|
301
325
|
width: 100%;
|
|
302
|
-
min-width: var(--date-picker-table-cell-size,
|
|
303
|
-
height: var(--date-picker-table-cell-size,
|
|
326
|
+
min-width: var(--date-picker-table-cell-size, var(--size-sm));
|
|
327
|
+
height: var(--date-picker-table-cell-size, var(--size-sm));
|
|
304
328
|
border: var(--date-picker-table-cell-border-width, 0) solid
|
|
305
329
|
var(--date-picker-table-cell-border-color, transparent);
|
|
306
330
|
border-radius: var(--date-picker-table-cell-radius, var(--radius-sm));
|
|
@@ -309,9 +333,10 @@
|
|
|
309
333
|
font: inherit;
|
|
310
334
|
font-size: var(--date-picker-table-cell-font-size, var(--text-sm));
|
|
311
335
|
line-height: var(--date-picker-table-cell-line-height, var(--line-height-text-sm));
|
|
312
|
-
outline: var(--date-picker-table-cell-focus-ring-width, var(--border-width-sm))
|
|
313
|
-
transparent;
|
|
314
|
-
outline-offset: calc(var(--date-picker-table-cell-focus-ring-width, var(--border-width-sm)) *
|
|
336
|
+
outline: var(--date-picker-table-cell-focus-ring-width, var(--focus-ring-inset-width, var(--border-width-sm)))
|
|
337
|
+
solid transparent;
|
|
338
|
+
outline-offset: calc(var(--date-picker-table-cell-focus-ring-width, var(--focus-ring-inset-width, var(--border-width-sm))) *
|
|
339
|
+
-1);
|
|
315
340
|
cursor: pointer;
|
|
316
341
|
transition: background-color var(--date-picker-transition, var(--transition-default)),
|
|
317
342
|
border-color var(--date-picker-transition, var(--transition-default)),
|
|
@@ -365,19 +390,21 @@
|
|
|
365
390
|
box-sizing: border-box;
|
|
366
391
|
width: 100%;
|
|
367
392
|
min-width: 0;
|
|
368
|
-
min-height: var(--date-picker-select-height,
|
|
393
|
+
min-height: var(--date-picker-select-height, var(--size-sm));
|
|
369
394
|
border: var(--date-picker-select-border-width, var(--border-width-sm)) solid
|
|
370
395
|
var(--date-picker-select-border-color, var(--color-border));
|
|
371
396
|
border-radius: var(--date-picker-select-radius, var(--radius-sm));
|
|
372
|
-
padding-block: var(--date-picker-select-padding-y,
|
|
397
|
+
padding-block: var(--date-picker-select-padding-y, var(--spacing-1));
|
|
373
398
|
padding-inline: var(--date-picker-select-padding-x, var(--spacing-2));
|
|
374
399
|
background-color: var(--date-picker-select-bg, var(--color-background));
|
|
375
400
|
color: var(--date-picker-select-color, var(--color-foreground));
|
|
376
401
|
font: inherit;
|
|
377
402
|
font-size: var(--date-picker-select-font-size, var(--text-sm));
|
|
378
403
|
line-height: var(--date-picker-select-line-height, var(--line-height-text-sm));
|
|
379
|
-
outline: var(--date-picker-select-focus-ring-width, var(--border-width-sm))
|
|
380
|
-
|
|
404
|
+
outline: var(--date-picker-select-focus-ring-width, var(--focus-ring-inset-width, var(--border-width-sm)))
|
|
405
|
+
solid transparent;
|
|
406
|
+
outline-offset: calc(var(--date-picker-select-focus-ring-width, var(--focus-ring-inset-width, var(--border-width-sm))) *
|
|
407
|
+
-1);
|
|
381
408
|
cursor: pointer;
|
|
382
409
|
transition: background-color var(--date-picker-transition, var(--transition-default)),
|
|
383
410
|
border-color var(--date-picker-transition, var(--transition-default)),
|
|
@@ -388,16 +415,10 @@
|
|
|
388
415
|
border-color: var(--date-picker-focus-ring-color, var(--color-ring));
|
|
389
416
|
outline-color: var(--date-picker-focus-ring-color, var(--color-ring));
|
|
390
417
|
}
|
|
391
|
-
|
|
392
|
-
@media (hover: hover) {
|
|
393
|
-
&:hover {
|
|
394
|
-
background-color: var(--date-picker-select-bg-hover, var(--color-accent));
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
418
|
}
|
|
398
419
|
|
|
399
420
|
.a48aUa_presetTrigger {
|
|
400
|
-
min-height: var(--date-picker-preset-trigger-height,
|
|
421
|
+
min-height: var(--date-picker-preset-trigger-height, var(--size-sm));
|
|
401
422
|
padding-inline: var(--date-picker-preset-trigger-padding-x, var(--spacing-2));
|
|
402
423
|
background-color: var(--date-picker-preset-trigger-bg, var(--color-muted));
|
|
403
424
|
color: var(--date-picker-preset-trigger-color, var(--color-foreground));
|
|
@@ -1,15 +1,42 @@
|
|
|
1
1
|
import { OverlayPortalProps } from "../../lib/moduix/overlayPortal.js";
|
|
2
2
|
import { ComponentProps } from "react";
|
|
3
|
-
import { DatePicker } from "@ark-ui/react/date-picker";
|
|
3
|
+
import { DatePicker, UseDatePickerReturn, useDatePicker, useDatePickerContext } from "@ark-ui/react/date-picker";
|
|
4
4
|
|
|
5
5
|
//#region src/components/date-picker/DatePicker.d.ts
|
|
6
6
|
type DatePickerRootProps = ComponentProps<typeof DatePicker.Root> & OverlayPortalProps;
|
|
7
7
|
type DatePickerRootProviderProps = ComponentProps<typeof DatePicker.RootProvider> & OverlayPortalProps;
|
|
8
|
+
type DatePickerFieldProps = ComponentProps<typeof DatePicker.Control> & {
|
|
9
|
+
clearLabel?: string;
|
|
10
|
+
clearTriggerProps?: ComponentProps<typeof DatePicker.ClearTrigger>;
|
|
11
|
+
inputProps?: ComponentProps<typeof DatePicker.Input>;
|
|
12
|
+
placeholder?: ComponentProps<typeof DatePicker.Input>['placeholder'];
|
|
13
|
+
triggerLabel?: string;
|
|
14
|
+
triggerProps?: ComponentProps<typeof DatePicker.Trigger>;
|
|
15
|
+
};
|
|
16
|
+
type DatePickerRangeFieldProps = ComponentProps<typeof DatePicker.Control> & {
|
|
17
|
+
clearLabel?: string;
|
|
18
|
+
clearTriggerProps?: ComponentProps<typeof DatePicker.ClearTrigger>;
|
|
19
|
+
endInputProps?: ComponentProps<typeof DatePicker.Input>;
|
|
20
|
+
endPlaceholder?: ComponentProps<typeof DatePicker.Input>['placeholder'];
|
|
21
|
+
startInputProps?: ComponentProps<typeof DatePicker.Input>;
|
|
22
|
+
startPlaceholder?: ComponentProps<typeof DatePicker.Input>['placeholder'];
|
|
23
|
+
triggerLabel?: string;
|
|
24
|
+
triggerProps?: ComponentProps<typeof DatePicker.Trigger>;
|
|
25
|
+
};
|
|
26
|
+
type DatePickerOffset = ReturnType<UseDatePickerReturn['getOffset']>;
|
|
27
|
+
type DatePickerDayTableProps = ComponentProps<typeof DatePicker.Table> & {
|
|
28
|
+
offset?: DatePickerOffset;
|
|
29
|
+
showHeader?: boolean;
|
|
30
|
+
showWeekNumbers?: boolean;
|
|
31
|
+
};
|
|
8
32
|
declare const DatePicker$1: import("react").ForwardRefExoticComponent<Omit<DatePickerRootProps, "ref"> & import("react").RefAttributes<HTMLDivElement>> & {
|
|
9
33
|
Root: import("react").ForwardRefExoticComponent<Omit<DatePickerRootProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
10
34
|
RootProvider: import("react").ForwardRefExoticComponent<Omit<DatePickerRootProviderProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
35
|
+
Context: (props: DatePicker.ContextProps) => import("react").ReactNode;
|
|
11
36
|
Label: import("react").ForwardRefExoticComponent<Omit<DatePicker.LabelProps & import("react").RefAttributes<HTMLLabelElement>, "ref"> & import("react").RefAttributes<HTMLLabelElement>>;
|
|
12
37
|
Control: import("react").ForwardRefExoticComponent<Omit<DatePicker.ControlProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
38
|
+
Field: import("react").ForwardRefExoticComponent<Omit<DatePickerFieldProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
39
|
+
RangeField: import("react").ForwardRefExoticComponent<Omit<DatePickerRangeFieldProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
13
40
|
Input: import("react").ForwardRefExoticComponent<Omit<DatePicker.InputProps & import("react").RefAttributes<HTMLInputElement>, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
|
|
14
41
|
Trigger: import("react").ForwardRefExoticComponent<Omit<DatePicker.TriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
15
42
|
ClearTrigger: import("react").ForwardRefExoticComponent<Omit<DatePicker.ClearTriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
@@ -29,6 +56,7 @@ declare const DatePicker$1: import("react").ForwardRefExoticComponent<Omit<DateP
|
|
|
29
56
|
TableHeader: import("react").ForwardRefExoticComponent<Omit<DatePicker.TableHeaderProps & import("react").RefAttributes<HTMLTableCellElement>, "ref"> & import("react").RefAttributes<HTMLTableCellElement>>;
|
|
30
57
|
TableCell: import("react").ForwardRefExoticComponent<Omit<DatePicker.TableCellProps & import("react").RefAttributes<HTMLTableCellElement>, "ref"> & import("react").RefAttributes<HTMLTableCellElement>>;
|
|
31
58
|
TableCellTrigger: import("react").ForwardRefExoticComponent<Omit<DatePicker.TableCellTriggerProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
59
|
+
DayTable: import("react").ForwardRefExoticComponent<Omit<DatePickerDayTableProps, "ref"> & import("react").RefAttributes<HTMLTableElement>>;
|
|
32
60
|
WeekNumberHeaderCell: import("react").ForwardRefExoticComponent<Omit<DatePicker.WeekNumberHeaderCellProps & import("react").RefAttributes<HTMLTableCellElement>, "ref"> & import("react").RefAttributes<HTMLTableCellElement>>;
|
|
33
61
|
WeekNumberCell: import("react").ForwardRefExoticComponent<Omit<DatePicker.WeekNumberCellProps & import("react").RefAttributes<HTMLTableCellElement>, "ref"> & import("react").RefAttributes<HTMLTableCellElement>>;
|
|
34
62
|
MonthSelect: import("react").ForwardRefExoticComponent<Omit<DatePicker.MonthSelectProps & import("react").RefAttributes<HTMLSelectElement>, "ref"> & import("react").RefAttributes<HTMLSelectElement>>;
|
|
@@ -36,4 +64,4 @@ declare const DatePicker$1: import("react").ForwardRefExoticComponent<Omit<DateP
|
|
|
36
64
|
PresetTrigger: import("react").ForwardRefExoticComponent<Omit<DatePicker.PresetTriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
37
65
|
};
|
|
38
66
|
//#endregion
|
|
39
|
-
export { DatePicker$1 as DatePicker, type DatePickerRootProps, type DatePickerRootProviderProps };
|
|
67
|
+
export { DatePicker$1 as DatePicker, type DatePickerDayTableProps, type DatePickerFieldProps, type DatePickerRangeFieldProps, type DatePickerRootProps, type DatePickerRootProviderProps, useDatePicker, useDatePickerContext };
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { CalendarIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, CloseIcon } from "../../lib/moduix/icons/ui/Icons.js";
|
|
2
1
|
import { normalizeClassName } from "../../lib/moduix/normalizeClassName.js";
|
|
2
|
+
import { CalendarIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } 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 DatePicker_module_default from "./DatePicker.module.js";
|
|
5
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
import { clsx } from "clsx";
|
|
7
7
|
import { forwardRef } from "react";
|
|
8
|
-
import {
|
|
8
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { DatePicker, useDatePicker, useDatePickerContext } from "@ark-ui/react/date-picker";
|
|
9
10
|
//#region src/components/date-picker/DatePicker.tsx
|
|
10
11
|
const DatePickerRoot = forwardRef(function DatePickerRoot({ className, portalled, portalRef, ...props }, ref) {
|
|
11
12
|
return /* @__PURE__ */ jsx(OverlayPortalProvider, {
|
|
@@ -47,6 +48,52 @@ const DatePickerControl = forwardRef(function DatePickerControl({ className, ...
|
|
|
47
48
|
...props
|
|
48
49
|
});
|
|
49
50
|
});
|
|
51
|
+
const DatePickerField = forwardRef(function DatePickerField({ clearLabel = "Clear date", clearTriggerProps, inputProps, placeholder = "Select date", triggerLabel = "Open calendar", triggerProps, ...props }, ref) {
|
|
52
|
+
return /* @__PURE__ */ jsxs(DatePickerControl, {
|
|
53
|
+
ref,
|
|
54
|
+
...props,
|
|
55
|
+
children: [
|
|
56
|
+
/* @__PURE__ */ jsx(DatePickerInput, {
|
|
57
|
+
placeholder,
|
|
58
|
+
...inputProps
|
|
59
|
+
}),
|
|
60
|
+
/* @__PURE__ */ jsx(DatePickerClearTrigger, {
|
|
61
|
+
"aria-label": clearLabel,
|
|
62
|
+
...clearTriggerProps
|
|
63
|
+
}),
|
|
64
|
+
/* @__PURE__ */ jsx(DatePickerTrigger, {
|
|
65
|
+
"aria-label": triggerLabel,
|
|
66
|
+
...triggerProps
|
|
67
|
+
})
|
|
68
|
+
]
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
const DatePickerRangeField = forwardRef(function DatePickerRangeField({ clearLabel = "Clear date", clearTriggerProps, endInputProps, endPlaceholder = "End date", startInputProps, startPlaceholder = "Start date", triggerLabel = "Open calendar", triggerProps, ...props }, ref) {
|
|
72
|
+
return /* @__PURE__ */ jsxs(DatePickerControl, {
|
|
73
|
+
ref,
|
|
74
|
+
...props,
|
|
75
|
+
children: [
|
|
76
|
+
/* @__PURE__ */ jsx(DatePickerInput, {
|
|
77
|
+
index: 0,
|
|
78
|
+
placeholder: startPlaceholder,
|
|
79
|
+
...startInputProps
|
|
80
|
+
}),
|
|
81
|
+
/* @__PURE__ */ jsx(DatePickerInput, {
|
|
82
|
+
index: 1,
|
|
83
|
+
placeholder: endPlaceholder,
|
|
84
|
+
...endInputProps
|
|
85
|
+
}),
|
|
86
|
+
/* @__PURE__ */ jsx(DatePickerClearTrigger, {
|
|
87
|
+
"aria-label": clearLabel,
|
|
88
|
+
...clearTriggerProps
|
|
89
|
+
}),
|
|
90
|
+
/* @__PURE__ */ jsx(DatePickerTrigger, {
|
|
91
|
+
"aria-label": triggerLabel,
|
|
92
|
+
...triggerProps
|
|
93
|
+
})
|
|
94
|
+
]
|
|
95
|
+
});
|
|
96
|
+
});
|
|
50
97
|
const DatePickerInput = forwardRef(function DatePickerInput({ className, ...props }, ref) {
|
|
51
98
|
return /* @__PURE__ */ jsx(DatePicker.Input, {
|
|
52
99
|
ref,
|
|
@@ -65,14 +112,29 @@ const DatePickerTrigger = forwardRef(function DatePickerTrigger({ asChild, class
|
|
|
65
112
|
children: children ?? /* @__PURE__ */ jsx(CalendarIcon, {})
|
|
66
113
|
});
|
|
67
114
|
});
|
|
68
|
-
const DatePickerClearTrigger = forwardRef(function DatePickerClearTrigger({ asChild, className, children, ...props }, ref) {
|
|
115
|
+
const DatePickerClearTrigger = forwardRef(function DatePickerClearTrigger({ asChild, className, children, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...props }, ref) {
|
|
116
|
+
const triggerClassName = clsx(DatePicker_module_default.clearTrigger, normalizeClassName(className));
|
|
117
|
+
if (asChild) return /* @__PURE__ */ jsx(DatePicker.ClearTrigger, {
|
|
118
|
+
ref,
|
|
119
|
+
asChild: true,
|
|
120
|
+
"data-slot": "date-picker-clear-trigger",
|
|
121
|
+
className: triggerClassName,
|
|
122
|
+
"aria-label": ariaLabel,
|
|
123
|
+
"aria-labelledby": ariaLabelledBy,
|
|
124
|
+
...props,
|
|
125
|
+
children
|
|
126
|
+
});
|
|
69
127
|
return /* @__PURE__ */ jsx(DatePicker.ClearTrigger, {
|
|
70
128
|
ref,
|
|
129
|
+
asChild: true,
|
|
71
130
|
"data-slot": "date-picker-clear-trigger",
|
|
72
|
-
|
|
73
|
-
className: clsx(!asChild && DatePicker_module_default.trigger, DatePicker_module_default.clearTrigger, normalizeClassName(className)),
|
|
131
|
+
className: triggerClassName,
|
|
74
132
|
...props,
|
|
75
|
-
children:
|
|
133
|
+
children: /* @__PURE__ */ jsx(CloseButton.Root, {
|
|
134
|
+
"aria-label": ariaLabel ?? (ariaLabelledBy == null ? "Clear date" : void 0),
|
|
135
|
+
"aria-labelledby": ariaLabelledBy,
|
|
136
|
+
children
|
|
137
|
+
})
|
|
76
138
|
});
|
|
77
139
|
});
|
|
78
140
|
const DatePickerPositioner = forwardRef(function DatePickerPositioner({ className, ...props }, ref) {
|
|
@@ -142,7 +204,7 @@ const DatePickerViewTrigger = forwardRef(function DatePickerViewTrigger({ asChil
|
|
|
142
204
|
asChild,
|
|
143
205
|
className: clsx(!asChild && DatePicker_module_default.viewTrigger, normalizeClassName(className)),
|
|
144
206
|
...props,
|
|
145
|
-
children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(DatePickerRangeText, {}), /* @__PURE__ */ jsx(ChevronDownIcon, {})] })
|
|
207
|
+
children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(DatePickerRangeText, {}), /* @__PURE__ */ jsx(ChevronDownIcon, {})] })
|
|
146
208
|
});
|
|
147
209
|
});
|
|
148
210
|
const DatePickerTable = forwardRef(function DatePickerTable({ className, ...props }, ref) {
|
|
@@ -217,6 +279,25 @@ const DatePickerTableCellTrigger = forwardRef(function DatePickerTableCellTrigge
|
|
|
217
279
|
...props
|
|
218
280
|
});
|
|
219
281
|
});
|
|
282
|
+
const DatePickerDayTable = forwardRef(function DatePickerDayTable({ offset, showHeader = true, showWeekNumbers = false, ...props }, ref) {
|
|
283
|
+
return /* @__PURE__ */ jsx(DatePicker.Context, { children: (datePicker) => /* @__PURE__ */ jsxs(Fragment$1, { children: [showHeader ? /* @__PURE__ */ jsxs(DatePickerViewControl, { children: [
|
|
284
|
+
/* @__PURE__ */ jsx(DatePickerPrevTrigger, {}),
|
|
285
|
+
/* @__PURE__ */ jsx(DatePickerViewTrigger, {}),
|
|
286
|
+
/* @__PURE__ */ jsx(DatePickerNextTrigger, {})
|
|
287
|
+
] }) : null, /* @__PURE__ */ jsxs(DatePickerTable, {
|
|
288
|
+
ref,
|
|
289
|
+
...props,
|
|
290
|
+
children: [/* @__PURE__ */ jsx(DatePickerTableHead, { children: /* @__PURE__ */ jsxs(DatePickerTableRow, { children: [showWeekNumbers ? /* @__PURE__ */ jsx(DatePickerWeekNumberHeaderCell, {}) : null, datePicker.weekDays.map((weekDay) => /* @__PURE__ */ jsx(DatePickerTableHeader, { children: weekDay.short }, weekDay.value.toString()))] }) }), /* @__PURE__ */ jsx(DatePickerTableBody, { children: (offset?.weeks ?? datePicker.weeks).map((week, weekIndex) => /* @__PURE__ */ jsxs(DatePickerTableRow, { children: [showWeekNumbers ? /* @__PURE__ */ jsx(DatePickerWeekNumberCell, {
|
|
291
|
+
week,
|
|
292
|
+
weekIndex,
|
|
293
|
+
children: datePicker.getWeekNumber(week)
|
|
294
|
+
}) : null, week.map((day) => /* @__PURE__ */ jsx(DatePickerTableCell, {
|
|
295
|
+
value: day,
|
|
296
|
+
visibleRange: offset?.visibleRange,
|
|
297
|
+
children: /* @__PURE__ */ jsx(DatePickerTableCellTrigger, { children: day.day })
|
|
298
|
+
}, day.toString()))] }, week[0]?.toString())) })]
|
|
299
|
+
})] }) });
|
|
300
|
+
});
|
|
220
301
|
const DatePickerMonthSelect = forwardRef(function DatePickerMonthSelect({ className, ...props }, ref) {
|
|
221
302
|
return /* @__PURE__ */ jsx(DatePicker.MonthSelect, {
|
|
222
303
|
ref,
|
|
@@ -253,8 +334,11 @@ const DatePickerValueText = forwardRef(function DatePickerValueText({ className,
|
|
|
253
334
|
const DatePicker$1 = Object.assign(DatePickerRoot, {
|
|
254
335
|
Root: DatePickerRoot,
|
|
255
336
|
RootProvider: DatePickerRootProvider,
|
|
337
|
+
Context: DatePicker.Context,
|
|
256
338
|
Label: DatePickerLabel,
|
|
257
339
|
Control: DatePickerControl,
|
|
340
|
+
Field: DatePickerField,
|
|
341
|
+
RangeField: DatePickerRangeField,
|
|
258
342
|
Input: DatePickerInput,
|
|
259
343
|
Trigger: DatePickerTrigger,
|
|
260
344
|
ClearTrigger: DatePickerClearTrigger,
|
|
@@ -274,6 +358,7 @@ const DatePicker$1 = Object.assign(DatePickerRoot, {
|
|
|
274
358
|
TableHeader: DatePickerTableHeader,
|
|
275
359
|
TableCell: DatePickerTableCell,
|
|
276
360
|
TableCellTrigger: DatePickerTableCellTrigger,
|
|
361
|
+
DayTable: DatePickerDayTable,
|
|
277
362
|
WeekNumberHeaderCell: DatePickerWeekNumberHeaderCell,
|
|
278
363
|
WeekNumberCell: DatePickerWeekNumberCell,
|
|
279
364
|
MonthSelect: DatePickerMonthSelect,
|
|
@@ -281,4 +366,4 @@ const DatePicker$1 = Object.assign(DatePickerRoot, {
|
|
|
281
366
|
PresetTrigger: DatePickerPresetTrigger
|
|
282
367
|
});
|
|
283
368
|
//#endregion
|
|
284
|
-
export { DatePicker$1 as DatePicker };
|
|
369
|
+
export { DatePicker$1 as DatePicker, useDatePicker, useDatePickerContext };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { DatePicker, DatePickerRootProps, DatePickerRootProviderProps } from "./DatePicker.js";
|
|
2
|
-
export { DatePicker, type DatePickerRootProps, type DatePickerRootProviderProps };
|
|
1
|
+
import { DatePicker, DatePickerDayTableProps, DatePickerFieldProps, DatePickerRangeFieldProps, DatePickerRootProps, DatePickerRootProviderProps, useDatePicker, useDatePickerContext } from "./DatePicker.js";
|
|
2
|
+
export { DatePicker, type DatePickerDayTableProps, type DatePickerFieldProps, type DatePickerRangeFieldProps, type DatePickerRootProps, type DatePickerRootProviderProps, useDatePicker, useDatePickerContext };
|