@ceed/ads 1.29.1 → 1.30.1
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/dist/Overview.md +5 -5
- package/dist/components/DatePicker/DatePicker.d.ts +10 -0
- package/dist/components/DateRangePicker/DateRangePicker.d.ts +10 -0
- package/dist/components/data-display/Avatar.md +85 -74
- package/dist/components/data-display/Badge.md +23 -5
- package/dist/components/data-display/Chip.md +49 -35
- package/dist/components/data-display/DataTable.md +93 -0
- package/dist/components/data-display/InfoSign.md +15 -5
- package/dist/components/data-display/Markdown.md +22 -26
- package/dist/components/data-display/Table.md +63 -53
- package/dist/components/data-display/Tooltip.md +70 -58
- package/dist/components/data-display/Typography.md +28 -11
- package/dist/components/feedback/Alert.md +86 -74
- package/dist/components/feedback/CircularProgress.md +20 -5
- package/dist/components/feedback/Dialog.md +8 -12
- package/dist/components/feedback/Modal.md +12 -16
- package/dist/components/feedback/Skeleton.md +20 -5
- package/dist/components/inputs/Autocomplete.md +8 -10
- package/dist/components/inputs/Button.md +107 -87
- package/dist/components/inputs/ButtonGroup.md +20 -5
- package/dist/components/inputs/Calendar.md +25 -5
- package/dist/components/inputs/Checkbox.md +171 -450
- package/dist/components/inputs/CurrencyInput.md +25 -5
- package/dist/components/inputs/DatePicker.md +87 -5
- package/dist/components/inputs/DateRangePicker.md +91 -5
- package/dist/components/inputs/FilterMenu.md +85 -9
- package/dist/components/inputs/FilterableCheckboxGroup.md +23 -8
- package/dist/components/inputs/FormControl.md +34 -6
- package/dist/components/inputs/IconButton.md +21 -5
- package/dist/components/inputs/Input.md +254 -68
- package/dist/components/inputs/MonthPicker.md +28 -5
- package/dist/components/inputs/MonthRangePicker.md +26 -5
- package/dist/components/inputs/PercentageInput.md +28 -5
- package/dist/components/inputs/RadioButton.md +26 -5
- package/dist/components/inputs/RadioList.md +23 -6
- package/dist/components/inputs/RadioTileGroup.md +40 -8
- package/dist/components/inputs/Select.md +59 -5
- package/dist/components/inputs/Slider.md +26 -5
- package/dist/components/inputs/Switch.md +23 -5
- package/dist/components/inputs/Textarea.md +27 -5
- package/dist/components/inputs/Uploader/Uploader.md +24 -5
- package/dist/components/layout/Box.md +66 -58
- package/dist/components/layout/Container.md +9 -13
- package/dist/components/layout/Grid.md +91 -75
- package/dist/components/layout/Stack.md +85 -70
- package/dist/components/navigation/Breadcrumbs.md +23 -14
- package/dist/components/navigation/Dropdown.md +29 -20
- package/dist/components/navigation/IconMenuButton.md +24 -11
- package/dist/components/navigation/InsetDrawer.md +16 -5
- package/dist/components/navigation/Link.md +30 -14
- package/dist/components/navigation/Menu.md +33 -20
- package/dist/components/navigation/MenuButton.md +26 -12
- package/dist/components/navigation/NavigationGroup.md +7 -11
- package/dist/components/navigation/NavigationItem.md +8 -12
- package/dist/components/navigation/Navigator.md +5 -9
- package/dist/components/navigation/Pagination.md +21 -12
- package/dist/components/navigation/ProfileMenu.md +17 -5
- package/dist/components/navigation/Stepper.md +18 -5
- package/dist/components/navigation/Tabs.md +37 -14
- package/dist/components/surfaces/Accordions.md +12 -16
- package/dist/components/surfaces/Card.md +59 -47
- package/dist/components/surfaces/Divider.md +70 -61
- package/dist/components/surfaces/Sheet.md +18 -5
- package/dist/index.browser.js +2 -2
- package/dist/index.browser.js.map +3 -3
- package/dist/index.cjs +173 -6
- package/dist/index.js +173 -6
- package/framer/index.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -2557,10 +2557,47 @@ var CalendarSheet = (0, import_joy28.styled)(Sheet_default, {
|
|
|
2557
2557
|
slot: "sheet",
|
|
2558
2558
|
overridesResolver: (props, styles) => styles.root
|
|
2559
2559
|
})(({ theme }) => ({
|
|
2560
|
-
width: "264px",
|
|
2561
2560
|
boxShadow: theme.shadow.md,
|
|
2562
2561
|
borderRadius: theme.radius.md
|
|
2563
2562
|
}));
|
|
2563
|
+
var CalendarSheetContent = (0, import_joy28.styled)("div", {
|
|
2564
|
+
name: "DatePicker",
|
|
2565
|
+
slot: "sheetContent"
|
|
2566
|
+
})({
|
|
2567
|
+
display: "flex",
|
|
2568
|
+
flexDirection: "row"
|
|
2569
|
+
});
|
|
2570
|
+
var CalendarSection = (0, import_joy28.styled)("div", {
|
|
2571
|
+
name: "DatePicker",
|
|
2572
|
+
slot: "calendarSection"
|
|
2573
|
+
})({
|
|
2574
|
+
width: "264px"
|
|
2575
|
+
});
|
|
2576
|
+
var PresetPanel = (0, import_joy28.styled)("div", {
|
|
2577
|
+
name: "DatePicker",
|
|
2578
|
+
slot: "presetPanel"
|
|
2579
|
+
})(({ theme }) => ({
|
|
2580
|
+
display: "flex",
|
|
2581
|
+
flexDirection: "column",
|
|
2582
|
+
borderLeft: `1px solid ${theme.vars.palette.divider}`,
|
|
2583
|
+
padding: theme.spacing(1),
|
|
2584
|
+
minWidth: "120px",
|
|
2585
|
+
overflowY: "auto"
|
|
2586
|
+
}));
|
|
2587
|
+
var PresetItem = (0, import_joy28.styled)(Button_default, {
|
|
2588
|
+
name: "DatePicker",
|
|
2589
|
+
slot: "presetItem",
|
|
2590
|
+
shouldForwardProp: (prop) => prop !== "active"
|
|
2591
|
+
})(({ active }) => [
|
|
2592
|
+
{
|
|
2593
|
+
width: "100%",
|
|
2594
|
+
justifyContent: "flex-start",
|
|
2595
|
+
whiteSpace: "nowrap"
|
|
2596
|
+
},
|
|
2597
|
+
active && {
|
|
2598
|
+
fontWeight: "bold"
|
|
2599
|
+
}
|
|
2600
|
+
]);
|
|
2564
2601
|
var DatePickerRoot = (0, import_joy28.styled)("div", {
|
|
2565
2602
|
name: "DatePicker",
|
|
2566
2603
|
slot: "root",
|
|
@@ -2678,6 +2715,7 @@ var DatePicker = (0, import_react20.forwardRef)((inProps, ref) => {
|
|
|
2678
2715
|
hideClearButton,
|
|
2679
2716
|
readOnly,
|
|
2680
2717
|
shouldDisableDate,
|
|
2718
|
+
presets,
|
|
2681
2719
|
...innerProps
|
|
2682
2720
|
} = props;
|
|
2683
2721
|
const innerRef = (0, import_react20.useRef)(null);
|
|
@@ -2759,6 +2797,35 @@ var DatePicker = (0, import_react20.forwardRef)((inProps, ref) => {
|
|
|
2759
2797
|
},
|
|
2760
2798
|
[inputReadOnly, buttonRef]
|
|
2761
2799
|
);
|
|
2800
|
+
const handlePresetClick = (0, import_react20.useCallback)(
|
|
2801
|
+
(presetValue) => {
|
|
2802
|
+
handleChange({
|
|
2803
|
+
target: {
|
|
2804
|
+
name: props.name,
|
|
2805
|
+
value: presetValue
|
|
2806
|
+
}
|
|
2807
|
+
});
|
|
2808
|
+
setAnchorEl(null);
|
|
2809
|
+
},
|
|
2810
|
+
[handleChange, props.name]
|
|
2811
|
+
);
|
|
2812
|
+
const isPresetDisabled = (0, import_react20.useCallback)(
|
|
2813
|
+
(presetValue) => {
|
|
2814
|
+
try {
|
|
2815
|
+
const date = parseDate(presetValue, format);
|
|
2816
|
+
if (Number.isNaN(date.getTime())) return true;
|
|
2817
|
+
if (minDate && date < new Date(minDate)) return true;
|
|
2818
|
+
if (maxDate && date > new Date(maxDate)) return true;
|
|
2819
|
+
if (disableFuture && date > new Date((/* @__PURE__ */ new Date()).toDateString())) return true;
|
|
2820
|
+
if (disablePast && date < new Date((/* @__PURE__ */ new Date()).toDateString())) return true;
|
|
2821
|
+
if (shouldDisableDate?.(presetValue)) return true;
|
|
2822
|
+
return false;
|
|
2823
|
+
} catch {
|
|
2824
|
+
return true;
|
|
2825
|
+
}
|
|
2826
|
+
},
|
|
2827
|
+
[format, minDate, maxDate, disableFuture, disablePast, shouldDisableDate]
|
|
2828
|
+
);
|
|
2762
2829
|
return /* @__PURE__ */ import_react20.default.createElement(DatePickerRoot, null, /* @__PURE__ */ import_react20.default.createElement(import_base3.FocusTrap, { open: true }, /* @__PURE__ */ import_react20.default.createElement(import_react20.default.Fragment, null, /* @__PURE__ */ import_react20.default.createElement(
|
|
2763
2830
|
Input_default,
|
|
2764
2831
|
{
|
|
@@ -2824,7 +2891,7 @@ var DatePicker = (0, import_react20.forwardRef)((inProps, ref) => {
|
|
|
2824
2891
|
"aria-label": "Calendar Tooltip",
|
|
2825
2892
|
"aria-expanded": open
|
|
2826
2893
|
},
|
|
2827
|
-
/* @__PURE__ */ import_react20.default.createElement(CalendarSheet, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ import_react20.default.createElement(
|
|
2894
|
+
/* @__PURE__ */ import_react20.default.createElement(CalendarSheet, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ import_react20.default.createElement(CalendarSheetContent, null, /* @__PURE__ */ import_react20.default.createElement(CalendarSection, null, /* @__PURE__ */ import_react20.default.createElement(
|
|
2828
2895
|
Calendar_default,
|
|
2829
2896
|
{
|
|
2830
2897
|
value: value && !Number.isNaN(parseDate(value, format).getTime()) ? [parseDate(value, format), void 0] : void 0,
|
|
@@ -2868,7 +2935,22 @@ var DatePicker = (0, import_react20.forwardRef)((inProps, ref) => {
|
|
|
2868
2935
|
},
|
|
2869
2936
|
"Clear"
|
|
2870
2937
|
)
|
|
2871
|
-
))
|
|
2938
|
+
)), presets && presets.length > 0 && /* @__PURE__ */ import_react20.default.createElement(PresetPanel, null, presets.map((preset) => {
|
|
2939
|
+
const disabled2 = isPresetDisabled(preset.value);
|
|
2940
|
+
return /* @__PURE__ */ import_react20.default.createElement(
|
|
2941
|
+
PresetItem,
|
|
2942
|
+
{
|
|
2943
|
+
key: preset.label,
|
|
2944
|
+
size: "sm",
|
|
2945
|
+
variant: value === preset.value ? "soft" : "plain",
|
|
2946
|
+
color: value === preset.value ? "primary" : "neutral",
|
|
2947
|
+
active: value === preset.value,
|
|
2948
|
+
disabled: disabled2,
|
|
2949
|
+
onClick: () => handlePresetClick(preset.value)
|
|
2950
|
+
},
|
|
2951
|
+
preset.label
|
|
2952
|
+
);
|
|
2953
|
+
}))))
|
|
2872
2954
|
)))));
|
|
2873
2955
|
});
|
|
2874
2956
|
|
|
@@ -4699,10 +4781,47 @@ var CalendarSheet2 = (0, import_joy36.styled)(Sheet_default, {
|
|
|
4699
4781
|
overridesResolver: (props, styles) => styles.root
|
|
4700
4782
|
})(({ theme }) => ({
|
|
4701
4783
|
zIndex: theme.zIndex.tooltip,
|
|
4702
|
-
width: "264px",
|
|
4703
4784
|
boxShadow: theme.shadow.md,
|
|
4704
4785
|
borderRadius: theme.radius.md
|
|
4705
4786
|
}));
|
|
4787
|
+
var CalendarSheetContent2 = (0, import_joy36.styled)("div", {
|
|
4788
|
+
name: "DateRangePicker",
|
|
4789
|
+
slot: "sheetContent"
|
|
4790
|
+
})({
|
|
4791
|
+
display: "flex",
|
|
4792
|
+
flexDirection: "row"
|
|
4793
|
+
});
|
|
4794
|
+
var CalendarSection2 = (0, import_joy36.styled)("div", {
|
|
4795
|
+
name: "DateRangePicker",
|
|
4796
|
+
slot: "calendarSection"
|
|
4797
|
+
})({
|
|
4798
|
+
width: "264px"
|
|
4799
|
+
});
|
|
4800
|
+
var PresetPanel2 = (0, import_joy36.styled)("div", {
|
|
4801
|
+
name: "DateRangePicker",
|
|
4802
|
+
slot: "presetPanel"
|
|
4803
|
+
})(({ theme }) => ({
|
|
4804
|
+
display: "flex",
|
|
4805
|
+
flexDirection: "column",
|
|
4806
|
+
borderLeft: `1px solid ${theme.vars.palette.divider}`,
|
|
4807
|
+
padding: theme.spacing(1),
|
|
4808
|
+
minWidth: "120px",
|
|
4809
|
+
overflowY: "auto"
|
|
4810
|
+
}));
|
|
4811
|
+
var PresetItem2 = (0, import_joy36.styled)(Button_default, {
|
|
4812
|
+
name: "DateRangePicker",
|
|
4813
|
+
slot: "presetItem",
|
|
4814
|
+
shouldForwardProp: (prop) => prop !== "active"
|
|
4815
|
+
})(({ active }) => [
|
|
4816
|
+
{
|
|
4817
|
+
width: "100%",
|
|
4818
|
+
justifyContent: "flex-start",
|
|
4819
|
+
whiteSpace: "nowrap"
|
|
4820
|
+
},
|
|
4821
|
+
active && {
|
|
4822
|
+
fontWeight: "bold"
|
|
4823
|
+
}
|
|
4824
|
+
]);
|
|
4706
4825
|
var DateRangePickerRoot = (0, import_joy36.styled)("div", {
|
|
4707
4826
|
name: "DateRangePicker",
|
|
4708
4827
|
slot: "root",
|
|
@@ -4831,6 +4950,7 @@ var DateRangePicker = (0, import_react29.forwardRef)((inProps, ref) => {
|
|
|
4831
4950
|
inputReadOnly,
|
|
4832
4951
|
hideClearButton,
|
|
4833
4952
|
readOnly,
|
|
4953
|
+
presets,
|
|
4834
4954
|
...innerProps
|
|
4835
4955
|
} = props;
|
|
4836
4956
|
const innerRef = (0, import_react29.useRef)(null);
|
|
@@ -4930,6 +5050,38 @@ var DateRangePicker = (0, import_react29.forwardRef)((inProps, ref) => {
|
|
|
4930
5050
|
},
|
|
4931
5051
|
[inputReadOnly, buttonRef]
|
|
4932
5052
|
);
|
|
5053
|
+
const handlePresetClick = (0, import_react29.useCallback)(
|
|
5054
|
+
(presetValue) => {
|
|
5055
|
+
if (props.value !== void 0) {
|
|
5056
|
+
onChange?.({ target: { name: props.name, value: presetValue } });
|
|
5057
|
+
} else {
|
|
5058
|
+
const dates = parseDates(presetValue, format);
|
|
5059
|
+
setDisplayValue(formatValueString2(dates, displayFormat));
|
|
5060
|
+
setValue(presetValue);
|
|
5061
|
+
}
|
|
5062
|
+
setAnchorEl(null);
|
|
5063
|
+
},
|
|
5064
|
+
[props.value, props.name, onChange, setValue, setAnchorEl, format, displayFormat]
|
|
5065
|
+
);
|
|
5066
|
+
const isPresetDisabled = (0, import_react29.useCallback)(
|
|
5067
|
+
(presetValue) => {
|
|
5068
|
+
try {
|
|
5069
|
+
const dates = parseDates(presetValue, format);
|
|
5070
|
+
if (dates.some((d) => Number.isNaN(d.getTime()))) return true;
|
|
5071
|
+
const today = new Date((/* @__PURE__ */ new Date()).toDateString());
|
|
5072
|
+
for (const date of dates) {
|
|
5073
|
+
if (minDate && date < new Date(minDate)) return true;
|
|
5074
|
+
if (maxDate && date > new Date(maxDate)) return true;
|
|
5075
|
+
if (disableFuture && date > today) return true;
|
|
5076
|
+
if (disablePast && date < today) return true;
|
|
5077
|
+
}
|
|
5078
|
+
return false;
|
|
5079
|
+
} catch {
|
|
5080
|
+
return true;
|
|
5081
|
+
}
|
|
5082
|
+
},
|
|
5083
|
+
[format, minDate, maxDate, disableFuture, disablePast]
|
|
5084
|
+
);
|
|
4933
5085
|
return /* @__PURE__ */ import_react29.default.createElement(DateRangePickerRoot, null, /* @__PURE__ */ import_react29.default.createElement(import_base4.FocusTrap, { open: true }, /* @__PURE__ */ import_react29.default.createElement(import_react29.default.Fragment, null, /* @__PURE__ */ import_react29.default.createElement(
|
|
4934
5086
|
Input_default,
|
|
4935
5087
|
{
|
|
@@ -4995,7 +5147,7 @@ var DateRangePicker = (0, import_react29.forwardRef)((inProps, ref) => {
|
|
|
4995
5147
|
"aria-label": "Calendar Tooltip",
|
|
4996
5148
|
"aria-expanded": open
|
|
4997
5149
|
},
|
|
4998
|
-
/* @__PURE__ */ import_react29.default.createElement(CalendarSheet2, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ import_react29.default.createElement(
|
|
5150
|
+
/* @__PURE__ */ import_react29.default.createElement(CalendarSheet2, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ import_react29.default.createElement(CalendarSheetContent2, null, /* @__PURE__ */ import_react29.default.createElement(CalendarSection2, null, /* @__PURE__ */ import_react29.default.createElement(
|
|
4999
5151
|
Calendar_default,
|
|
5000
5152
|
{
|
|
5001
5153
|
rangeSelection: true,
|
|
@@ -5027,7 +5179,22 @@ var DateRangePicker = (0, import_react29.forwardRef)((inProps, ref) => {
|
|
|
5027
5179
|
},
|
|
5028
5180
|
"Clear"
|
|
5029
5181
|
)
|
|
5030
|
-
))
|
|
5182
|
+
)), presets && presets.length > 0 && /* @__PURE__ */ import_react29.default.createElement(PresetPanel2, null, presets.map((preset) => {
|
|
5183
|
+
const disabled2 = isPresetDisabled(preset.value);
|
|
5184
|
+
return /* @__PURE__ */ import_react29.default.createElement(
|
|
5185
|
+
PresetItem2,
|
|
5186
|
+
{
|
|
5187
|
+
key: preset.label,
|
|
5188
|
+
size: "sm",
|
|
5189
|
+
variant: value === preset.value ? "soft" : "plain",
|
|
5190
|
+
color: value === preset.value ? "primary" : "neutral",
|
|
5191
|
+
active: value === preset.value,
|
|
5192
|
+
disabled: disabled2,
|
|
5193
|
+
onClick: () => handlePresetClick(preset.value)
|
|
5194
|
+
},
|
|
5195
|
+
preset.label
|
|
5196
|
+
);
|
|
5197
|
+
}))))
|
|
5031
5198
|
)))));
|
|
5032
5199
|
});
|
|
5033
5200
|
DateRangePicker.displayName = "DateRangePicker";
|
package/dist/index.js
CHANGED
|
@@ -2432,10 +2432,47 @@ var CalendarSheet = styled10(Sheet_default, {
|
|
|
2432
2432
|
slot: "sheet",
|
|
2433
2433
|
overridesResolver: (props, styles) => styles.root
|
|
2434
2434
|
})(({ theme }) => ({
|
|
2435
|
-
width: "264px",
|
|
2436
2435
|
boxShadow: theme.shadow.md,
|
|
2437
2436
|
borderRadius: theme.radius.md
|
|
2438
2437
|
}));
|
|
2438
|
+
var CalendarSheetContent = styled10("div", {
|
|
2439
|
+
name: "DatePicker",
|
|
2440
|
+
slot: "sheetContent"
|
|
2441
|
+
})({
|
|
2442
|
+
display: "flex",
|
|
2443
|
+
flexDirection: "row"
|
|
2444
|
+
});
|
|
2445
|
+
var CalendarSection = styled10("div", {
|
|
2446
|
+
name: "DatePicker",
|
|
2447
|
+
slot: "calendarSection"
|
|
2448
|
+
})({
|
|
2449
|
+
width: "264px"
|
|
2450
|
+
});
|
|
2451
|
+
var PresetPanel = styled10("div", {
|
|
2452
|
+
name: "DatePicker",
|
|
2453
|
+
slot: "presetPanel"
|
|
2454
|
+
})(({ theme }) => ({
|
|
2455
|
+
display: "flex",
|
|
2456
|
+
flexDirection: "column",
|
|
2457
|
+
borderLeft: `1px solid ${theme.vars.palette.divider}`,
|
|
2458
|
+
padding: theme.spacing(1),
|
|
2459
|
+
minWidth: "120px",
|
|
2460
|
+
overflowY: "auto"
|
|
2461
|
+
}));
|
|
2462
|
+
var PresetItem = styled10(Button_default, {
|
|
2463
|
+
name: "DatePicker",
|
|
2464
|
+
slot: "presetItem",
|
|
2465
|
+
shouldForwardProp: (prop) => prop !== "active"
|
|
2466
|
+
})(({ active }) => [
|
|
2467
|
+
{
|
|
2468
|
+
width: "100%",
|
|
2469
|
+
justifyContent: "flex-start",
|
|
2470
|
+
whiteSpace: "nowrap"
|
|
2471
|
+
},
|
|
2472
|
+
active && {
|
|
2473
|
+
fontWeight: "bold"
|
|
2474
|
+
}
|
|
2475
|
+
]);
|
|
2439
2476
|
var DatePickerRoot = styled10("div", {
|
|
2440
2477
|
name: "DatePicker",
|
|
2441
2478
|
slot: "root",
|
|
@@ -2553,6 +2590,7 @@ var DatePicker = forwardRef6((inProps, ref) => {
|
|
|
2553
2590
|
hideClearButton,
|
|
2554
2591
|
readOnly,
|
|
2555
2592
|
shouldDisableDate,
|
|
2593
|
+
presets,
|
|
2556
2594
|
...innerProps
|
|
2557
2595
|
} = props;
|
|
2558
2596
|
const innerRef = useRef4(null);
|
|
@@ -2634,6 +2672,35 @@ var DatePicker = forwardRef6((inProps, ref) => {
|
|
|
2634
2672
|
},
|
|
2635
2673
|
[inputReadOnly, buttonRef]
|
|
2636
2674
|
);
|
|
2675
|
+
const handlePresetClick = useCallback8(
|
|
2676
|
+
(presetValue) => {
|
|
2677
|
+
handleChange({
|
|
2678
|
+
target: {
|
|
2679
|
+
name: props.name,
|
|
2680
|
+
value: presetValue
|
|
2681
|
+
}
|
|
2682
|
+
});
|
|
2683
|
+
setAnchorEl(null);
|
|
2684
|
+
},
|
|
2685
|
+
[handleChange, props.name]
|
|
2686
|
+
);
|
|
2687
|
+
const isPresetDisabled = useCallback8(
|
|
2688
|
+
(presetValue) => {
|
|
2689
|
+
try {
|
|
2690
|
+
const date = parseDate(presetValue, format);
|
|
2691
|
+
if (Number.isNaN(date.getTime())) return true;
|
|
2692
|
+
if (minDate && date < new Date(minDate)) return true;
|
|
2693
|
+
if (maxDate && date > new Date(maxDate)) return true;
|
|
2694
|
+
if (disableFuture && date > new Date((/* @__PURE__ */ new Date()).toDateString())) return true;
|
|
2695
|
+
if (disablePast && date < new Date((/* @__PURE__ */ new Date()).toDateString())) return true;
|
|
2696
|
+
if (shouldDisableDate?.(presetValue)) return true;
|
|
2697
|
+
return false;
|
|
2698
|
+
} catch {
|
|
2699
|
+
return true;
|
|
2700
|
+
}
|
|
2701
|
+
},
|
|
2702
|
+
[format, minDate, maxDate, disableFuture, disablePast, shouldDisableDate]
|
|
2703
|
+
);
|
|
2637
2704
|
return /* @__PURE__ */ React18.createElement(DatePickerRoot, null, /* @__PURE__ */ React18.createElement(FocusTrap, { open: true }, /* @__PURE__ */ React18.createElement(React18.Fragment, null, /* @__PURE__ */ React18.createElement(
|
|
2638
2705
|
Input_default,
|
|
2639
2706
|
{
|
|
@@ -2699,7 +2766,7 @@ var DatePicker = forwardRef6((inProps, ref) => {
|
|
|
2699
2766
|
"aria-label": "Calendar Tooltip",
|
|
2700
2767
|
"aria-expanded": open
|
|
2701
2768
|
},
|
|
2702
|
-
/* @__PURE__ */ React18.createElement(CalendarSheet, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React18.createElement(
|
|
2769
|
+
/* @__PURE__ */ React18.createElement(CalendarSheet, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React18.createElement(CalendarSheetContent, null, /* @__PURE__ */ React18.createElement(CalendarSection, null, /* @__PURE__ */ React18.createElement(
|
|
2703
2770
|
Calendar_default,
|
|
2704
2771
|
{
|
|
2705
2772
|
value: value && !Number.isNaN(parseDate(value, format).getTime()) ? [parseDate(value, format), void 0] : void 0,
|
|
@@ -2743,7 +2810,22 @@ var DatePicker = forwardRef6((inProps, ref) => {
|
|
|
2743
2810
|
},
|
|
2744
2811
|
"Clear"
|
|
2745
2812
|
)
|
|
2746
|
-
))
|
|
2813
|
+
)), presets && presets.length > 0 && /* @__PURE__ */ React18.createElement(PresetPanel, null, presets.map((preset) => {
|
|
2814
|
+
const disabled2 = isPresetDisabled(preset.value);
|
|
2815
|
+
return /* @__PURE__ */ React18.createElement(
|
|
2816
|
+
PresetItem,
|
|
2817
|
+
{
|
|
2818
|
+
key: preset.label,
|
|
2819
|
+
size: "sm",
|
|
2820
|
+
variant: value === preset.value ? "soft" : "plain",
|
|
2821
|
+
color: value === preset.value ? "primary" : "neutral",
|
|
2822
|
+
active: value === preset.value,
|
|
2823
|
+
disabled: disabled2,
|
|
2824
|
+
onClick: () => handlePresetClick(preset.value)
|
|
2825
|
+
},
|
|
2826
|
+
preset.label
|
|
2827
|
+
);
|
|
2828
|
+
}))))
|
|
2747
2829
|
)))));
|
|
2748
2830
|
});
|
|
2749
2831
|
|
|
@@ -4574,10 +4656,47 @@ var CalendarSheet2 = styled14(Sheet_default, {
|
|
|
4574
4656
|
overridesResolver: (props, styles) => styles.root
|
|
4575
4657
|
})(({ theme }) => ({
|
|
4576
4658
|
zIndex: theme.zIndex.tooltip,
|
|
4577
|
-
width: "264px",
|
|
4578
4659
|
boxShadow: theme.shadow.md,
|
|
4579
4660
|
borderRadius: theme.radius.md
|
|
4580
4661
|
}));
|
|
4662
|
+
var CalendarSheetContent2 = styled14("div", {
|
|
4663
|
+
name: "DateRangePicker",
|
|
4664
|
+
slot: "sheetContent"
|
|
4665
|
+
})({
|
|
4666
|
+
display: "flex",
|
|
4667
|
+
flexDirection: "row"
|
|
4668
|
+
});
|
|
4669
|
+
var CalendarSection2 = styled14("div", {
|
|
4670
|
+
name: "DateRangePicker",
|
|
4671
|
+
slot: "calendarSection"
|
|
4672
|
+
})({
|
|
4673
|
+
width: "264px"
|
|
4674
|
+
});
|
|
4675
|
+
var PresetPanel2 = styled14("div", {
|
|
4676
|
+
name: "DateRangePicker",
|
|
4677
|
+
slot: "presetPanel"
|
|
4678
|
+
})(({ theme }) => ({
|
|
4679
|
+
display: "flex",
|
|
4680
|
+
flexDirection: "column",
|
|
4681
|
+
borderLeft: `1px solid ${theme.vars.palette.divider}`,
|
|
4682
|
+
padding: theme.spacing(1),
|
|
4683
|
+
minWidth: "120px",
|
|
4684
|
+
overflowY: "auto"
|
|
4685
|
+
}));
|
|
4686
|
+
var PresetItem2 = styled14(Button_default, {
|
|
4687
|
+
name: "DateRangePicker",
|
|
4688
|
+
slot: "presetItem",
|
|
4689
|
+
shouldForwardProp: (prop) => prop !== "active"
|
|
4690
|
+
})(({ active }) => [
|
|
4691
|
+
{
|
|
4692
|
+
width: "100%",
|
|
4693
|
+
justifyContent: "flex-start",
|
|
4694
|
+
whiteSpace: "nowrap"
|
|
4695
|
+
},
|
|
4696
|
+
active && {
|
|
4697
|
+
fontWeight: "bold"
|
|
4698
|
+
}
|
|
4699
|
+
]);
|
|
4581
4700
|
var DateRangePickerRoot = styled14("div", {
|
|
4582
4701
|
name: "DateRangePicker",
|
|
4583
4702
|
slot: "root",
|
|
@@ -4706,6 +4825,7 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
|
|
|
4706
4825
|
inputReadOnly,
|
|
4707
4826
|
hideClearButton,
|
|
4708
4827
|
readOnly,
|
|
4828
|
+
presets,
|
|
4709
4829
|
...innerProps
|
|
4710
4830
|
} = props;
|
|
4711
4831
|
const innerRef = useRef8(null);
|
|
@@ -4805,6 +4925,38 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
|
|
|
4805
4925
|
},
|
|
4806
4926
|
[inputReadOnly, buttonRef]
|
|
4807
4927
|
);
|
|
4928
|
+
const handlePresetClick = useCallback13(
|
|
4929
|
+
(presetValue) => {
|
|
4930
|
+
if (props.value !== void 0) {
|
|
4931
|
+
onChange?.({ target: { name: props.name, value: presetValue } });
|
|
4932
|
+
} else {
|
|
4933
|
+
const dates = parseDates(presetValue, format);
|
|
4934
|
+
setDisplayValue(formatValueString2(dates, displayFormat));
|
|
4935
|
+
setValue(presetValue);
|
|
4936
|
+
}
|
|
4937
|
+
setAnchorEl(null);
|
|
4938
|
+
},
|
|
4939
|
+
[props.value, props.name, onChange, setValue, setAnchorEl, format, displayFormat]
|
|
4940
|
+
);
|
|
4941
|
+
const isPresetDisabled = useCallback13(
|
|
4942
|
+
(presetValue) => {
|
|
4943
|
+
try {
|
|
4944
|
+
const dates = parseDates(presetValue, format);
|
|
4945
|
+
if (dates.some((d) => Number.isNaN(d.getTime()))) return true;
|
|
4946
|
+
const today = new Date((/* @__PURE__ */ new Date()).toDateString());
|
|
4947
|
+
for (const date of dates) {
|
|
4948
|
+
if (minDate && date < new Date(minDate)) return true;
|
|
4949
|
+
if (maxDate && date > new Date(maxDate)) return true;
|
|
4950
|
+
if (disableFuture && date > today) return true;
|
|
4951
|
+
if (disablePast && date < today) return true;
|
|
4952
|
+
}
|
|
4953
|
+
return false;
|
|
4954
|
+
} catch {
|
|
4955
|
+
return true;
|
|
4956
|
+
}
|
|
4957
|
+
},
|
|
4958
|
+
[format, minDate, maxDate, disableFuture, disablePast]
|
|
4959
|
+
);
|
|
4808
4960
|
return /* @__PURE__ */ React26.createElement(DateRangePickerRoot, null, /* @__PURE__ */ React26.createElement(FocusTrap2, { open: true }, /* @__PURE__ */ React26.createElement(React26.Fragment, null, /* @__PURE__ */ React26.createElement(
|
|
4809
4961
|
Input_default,
|
|
4810
4962
|
{
|
|
@@ -4870,7 +5022,7 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
|
|
|
4870
5022
|
"aria-label": "Calendar Tooltip",
|
|
4871
5023
|
"aria-expanded": open
|
|
4872
5024
|
},
|
|
4873
|
-
/* @__PURE__ */ React26.createElement(CalendarSheet2, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React26.createElement(
|
|
5025
|
+
/* @__PURE__ */ React26.createElement(CalendarSheet2, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React26.createElement(CalendarSheetContent2, null, /* @__PURE__ */ React26.createElement(CalendarSection2, null, /* @__PURE__ */ React26.createElement(
|
|
4874
5026
|
Calendar_default,
|
|
4875
5027
|
{
|
|
4876
5028
|
rangeSelection: true,
|
|
@@ -4902,7 +5054,22 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
|
|
|
4902
5054
|
},
|
|
4903
5055
|
"Clear"
|
|
4904
5056
|
)
|
|
4905
|
-
))
|
|
5057
|
+
)), presets && presets.length > 0 && /* @__PURE__ */ React26.createElement(PresetPanel2, null, presets.map((preset) => {
|
|
5058
|
+
const disabled2 = isPresetDisabled(preset.value);
|
|
5059
|
+
return /* @__PURE__ */ React26.createElement(
|
|
5060
|
+
PresetItem2,
|
|
5061
|
+
{
|
|
5062
|
+
key: preset.label,
|
|
5063
|
+
size: "sm",
|
|
5064
|
+
variant: value === preset.value ? "soft" : "plain",
|
|
5065
|
+
color: value === preset.value ? "primary" : "neutral",
|
|
5066
|
+
active: value === preset.value,
|
|
5067
|
+
disabled: disabled2,
|
|
5068
|
+
onClick: () => handlePresetClick(preset.value)
|
|
5069
|
+
},
|
|
5070
|
+
preset.label
|
|
5071
|
+
);
|
|
5072
|
+
}))))
|
|
4906
5073
|
)))));
|
|
4907
5074
|
});
|
|
4908
5075
|
DateRangePicker.displayName = "DateRangePicker";
|