@ceed/ads 1.8.0-next.7 → 1.8.0-next.9
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.
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import Input from "../Input";
|
|
3
3
|
interface BaseDateRangePickerProps {
|
|
4
|
+
/**
|
|
5
|
+
* props.format 의 형식을 따라야 한다.
|
|
6
|
+
*/
|
|
4
7
|
value?: string;
|
|
5
8
|
defaultValue?: string;
|
|
6
9
|
onChange?: (event: {
|
|
@@ -19,7 +22,14 @@ interface BaseDateRangePickerProps {
|
|
|
19
22
|
maxDate?: string;
|
|
20
23
|
disableFuture?: boolean;
|
|
21
24
|
disablePast?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* value, onChange의 값은 해당 포맷을 따른다.
|
|
27
|
+
*/
|
|
22
28
|
format?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Input 에 표시되는 값의 포맷을 지정한다.
|
|
31
|
+
*/
|
|
32
|
+
displayFormat?: string;
|
|
23
33
|
inputReadOnly?: boolean;
|
|
24
34
|
hideClearButton?: boolean;
|
|
25
35
|
}
|
|
@@ -24,7 +24,7 @@ export interface FilterRadioGroupItem extends FilterBaseItem<string | number> {
|
|
|
24
24
|
value: string | number;
|
|
25
25
|
}[];
|
|
26
26
|
}
|
|
27
|
-
export interface FilterDateRangeItem extends FilterBaseItem<[DateTime, DateTime]>, Pick<DateRangePickerProps, "minDate" | "maxDate" | "disableFuture" | "disablePast" | "format" | "inputReadOnly" | "hideClearButton"> {
|
|
27
|
+
export interface FilterDateRangeItem extends FilterBaseItem<[DateTime, DateTime]>, Pick<DateRangePickerProps, "minDate" | "maxDate" | "disableFuture" | "disablePast" | "format" | "displayFormat" | "inputReadOnly" | "hideClearButton"> {
|
|
28
28
|
type: "date-range";
|
|
29
29
|
}
|
|
30
30
|
export interface FilterCurrencyInputItem extends FilterBaseItem<number>, Pick<CurrencyInputProps, "max" | "placeholder" | "useMinorUnit" | "currency"> {
|
package/dist/index.cjs
CHANGED
|
@@ -4157,7 +4157,9 @@ var CalendarButton2 = (0, import_joy34.styled)(IconButton_default, {
|
|
|
4157
4157
|
"&:focus": {
|
|
4158
4158
|
"--Icon-color": "currentColor",
|
|
4159
4159
|
outlineOffset: `${theme.getCssVar("focus-thickness")}`,
|
|
4160
|
-
outline: `${theme.getCssVar("focus-thickness")} solid ${theme.getCssVar(
|
|
4160
|
+
outline: `${theme.getCssVar("focus-thickness")} solid ${theme.getCssVar(
|
|
4161
|
+
"palette-focusVisible"
|
|
4162
|
+
)}`
|
|
4161
4163
|
}
|
|
4162
4164
|
}));
|
|
4163
4165
|
var StyledPopper2 = (0, import_joy34.styled)(import_base3.Popper, {
|
|
@@ -4183,6 +4185,32 @@ var DateRangePickerRoot = (0, import_joy34.styled)("div", {
|
|
|
4183
4185
|
})({
|
|
4184
4186
|
width: "100%"
|
|
4185
4187
|
});
|
|
4188
|
+
var validValueFormat2 = (value, format) => {
|
|
4189
|
+
try {
|
|
4190
|
+
const [date1Str, date2Str] = value.split(" - ");
|
|
4191
|
+
if (!date1Str || !date2Str) {
|
|
4192
|
+
return false;
|
|
4193
|
+
}
|
|
4194
|
+
const parsedDate1 = parseDate2(date1Str, format);
|
|
4195
|
+
const parsedDate2 = parseDate2(date2Str, format);
|
|
4196
|
+
if (parsedDate1.toString() === "Invalid Date" || parsedDate2.toString() === "Invalid Date") {
|
|
4197
|
+
return false;
|
|
4198
|
+
}
|
|
4199
|
+
const formattedValue = formatValueString2(
|
|
4200
|
+
[parsedDate1, parsedDate2],
|
|
4201
|
+
format
|
|
4202
|
+
);
|
|
4203
|
+
if (value !== formattedValue) {
|
|
4204
|
+
return false;
|
|
4205
|
+
}
|
|
4206
|
+
const regex = new RegExp(
|
|
4207
|
+
`^${format.replace(/Y/g, "\\d").replace(/M/g, "\\d").replace(/D/g, "\\d")} - ${format.replace(/Y/g, "\\d").replace(/M/g, "\\d").replace(/D/g, "\\d")}$`
|
|
4208
|
+
);
|
|
4209
|
+
return regex.test(value);
|
|
4210
|
+
} catch (e) {
|
|
4211
|
+
return false;
|
|
4212
|
+
}
|
|
4213
|
+
};
|
|
4186
4214
|
var formatValueString2 = ([date1, date2], format) => {
|
|
4187
4215
|
const getStr = (date) => {
|
|
4188
4216
|
let day = `${date.getDate()}`;
|
|
@@ -4279,6 +4307,7 @@ var DateRangePicker = (0, import_react26.forwardRef)(
|
|
|
4279
4307
|
sx,
|
|
4280
4308
|
className,
|
|
4281
4309
|
format = "YYYY/MM/DD",
|
|
4310
|
+
displayFormat = "YYYY/MM/DD",
|
|
4282
4311
|
size,
|
|
4283
4312
|
inputReadOnly,
|
|
4284
4313
|
hideClearButton,
|
|
@@ -4295,12 +4324,27 @@ var DateRangePicker = (0, import_react26.forwardRef)(
|
|
|
4295
4324
|
[props.name, onChange]
|
|
4296
4325
|
)
|
|
4297
4326
|
);
|
|
4327
|
+
const [displayValue, setDisplayValue] = (0, import_react26.useState)(
|
|
4328
|
+
() => value ? formatValueString2(parseDates(value, format), displayFormat) : ""
|
|
4329
|
+
);
|
|
4298
4330
|
const [anchorEl, setAnchorEl] = (0, import_react26.useState)(null);
|
|
4299
4331
|
const open = Boolean(anchorEl);
|
|
4300
4332
|
const calendarValue = (0, import_react26.useMemo)(
|
|
4301
4333
|
() => value ? parseDates(value, format) : void 0,
|
|
4302
4334
|
[value, format]
|
|
4303
4335
|
);
|
|
4336
|
+
(0, import_react26.useEffect)(() => {
|
|
4337
|
+
if (value) {
|
|
4338
|
+
try {
|
|
4339
|
+
const dates = parseDates(value, format);
|
|
4340
|
+
const newDisplayValue = formatValueString2(dates, displayFormat);
|
|
4341
|
+
setDisplayValue(newDisplayValue);
|
|
4342
|
+
} catch (error2) {
|
|
4343
|
+
}
|
|
4344
|
+
} else {
|
|
4345
|
+
setDisplayValue("");
|
|
4346
|
+
}
|
|
4347
|
+
}, [displayFormat, value, format]);
|
|
4304
4348
|
(0, import_react26.useEffect)(() => {
|
|
4305
4349
|
if (!anchorEl) {
|
|
4306
4350
|
innerRef.current?.blur();
|
|
@@ -4311,9 +4355,41 @@ var DateRangePicker = (0, import_react26.forwardRef)(
|
|
|
4311
4355
|
]);
|
|
4312
4356
|
const handleChange = (0, import_react26.useCallback)(
|
|
4313
4357
|
(event) => {
|
|
4314
|
-
|
|
4358
|
+
const value2 = event.target.value;
|
|
4359
|
+
setDisplayValue(
|
|
4360
|
+
value2 ? formatValueString2(parseDates(value2, format), displayFormat) : value2
|
|
4361
|
+
);
|
|
4362
|
+
setValue(value2);
|
|
4315
4363
|
},
|
|
4316
|
-
[setValue]
|
|
4364
|
+
[displayFormat, format, setValue]
|
|
4365
|
+
);
|
|
4366
|
+
const handleDisplayInputChange = (0, import_react26.useCallback)(
|
|
4367
|
+
(event) => {
|
|
4368
|
+
if (event.target.value === "") {
|
|
4369
|
+
handleChange({
|
|
4370
|
+
target: {
|
|
4371
|
+
name: props.name,
|
|
4372
|
+
value: ""
|
|
4373
|
+
}
|
|
4374
|
+
});
|
|
4375
|
+
return;
|
|
4376
|
+
}
|
|
4377
|
+
const isValidDisplayValue = validValueFormat2(
|
|
4378
|
+
event.target.value,
|
|
4379
|
+
displayFormat
|
|
4380
|
+
);
|
|
4381
|
+
if (isValidDisplayValue) {
|
|
4382
|
+
const dates = parseDates(event.target.value, displayFormat);
|
|
4383
|
+
const formattedValue = formatValueString2(dates, format);
|
|
4384
|
+
handleChange({
|
|
4385
|
+
target: {
|
|
4386
|
+
name: props.name,
|
|
4387
|
+
value: formattedValue
|
|
4388
|
+
}
|
|
4389
|
+
});
|
|
4390
|
+
}
|
|
4391
|
+
},
|
|
4392
|
+
[displayFormat, format, handleChange, props.name]
|
|
4317
4393
|
);
|
|
4318
4394
|
const handleCalendarToggle = (0, import_react26.useCallback)(
|
|
4319
4395
|
(event) => {
|
|
@@ -4325,10 +4401,26 @@ var DateRangePicker = (0, import_react26.forwardRef)(
|
|
|
4325
4401
|
const handleCalendarChange = (0, import_react26.useCallback)(
|
|
4326
4402
|
([date1, date2]) => {
|
|
4327
4403
|
if (!date1 || !date2) return;
|
|
4328
|
-
|
|
4404
|
+
const formattedValue = formatValueString2([date1, date2], format);
|
|
4405
|
+
if (props.value !== void 0) {
|
|
4406
|
+
onChange?.({ target: { name: props.name, value: formattedValue } });
|
|
4407
|
+
} else {
|
|
4408
|
+
setDisplayValue(
|
|
4409
|
+
formatValueString2([date1, date2], displayFormat)
|
|
4410
|
+
);
|
|
4411
|
+
setValue(formattedValue);
|
|
4412
|
+
}
|
|
4329
4413
|
setAnchorEl(null);
|
|
4330
4414
|
},
|
|
4331
|
-
[
|
|
4415
|
+
[
|
|
4416
|
+
props.value,
|
|
4417
|
+
props.name,
|
|
4418
|
+
onChange,
|
|
4419
|
+
setValue,
|
|
4420
|
+
setAnchorEl,
|
|
4421
|
+
format,
|
|
4422
|
+
displayFormat
|
|
4423
|
+
]
|
|
4332
4424
|
);
|
|
4333
4425
|
const handleInputMouseDown = (0, import_react26.useCallback)(
|
|
4334
4426
|
(event) => {
|
|
@@ -4346,17 +4438,21 @@ var DateRangePicker = (0, import_react26.forwardRef)(
|
|
|
4346
4438
|
color: error ? "danger" : innerProps.color,
|
|
4347
4439
|
ref,
|
|
4348
4440
|
size,
|
|
4349
|
-
value,
|
|
4350
|
-
onChange:
|
|
4441
|
+
value: displayValue,
|
|
4442
|
+
onChange: handleDisplayInputChange,
|
|
4351
4443
|
disabled,
|
|
4352
4444
|
required,
|
|
4353
|
-
placeholder: `${
|
|
4445
|
+
placeholder: `${displayFormat} - ${displayFormat}`,
|
|
4354
4446
|
slotProps: {
|
|
4355
4447
|
input: {
|
|
4356
4448
|
component: TextMaskAdapter5,
|
|
4357
4449
|
ref: innerRef,
|
|
4358
|
-
format,
|
|
4359
|
-
sx: {
|
|
4450
|
+
format: displayFormat,
|
|
4451
|
+
sx: {
|
|
4452
|
+
"&:hover": {
|
|
4453
|
+
cursor: inputReadOnly || readOnly ? "default" : "text"
|
|
4454
|
+
}
|
|
4455
|
+
},
|
|
4360
4456
|
onMouseDown: handleInputMouseDown
|
|
4361
4457
|
}
|
|
4362
4458
|
},
|
|
@@ -4426,6 +4522,7 @@ var DateRangePicker = (0, import_react26.forwardRef)(
|
|
|
4426
4522
|
color: "neutral",
|
|
4427
4523
|
onClick: () => {
|
|
4428
4524
|
setValue("");
|
|
4525
|
+
setDisplayValue("");
|
|
4429
4526
|
setAnchorEl(null);
|
|
4430
4527
|
}
|
|
4431
4528
|
},
|
|
@@ -4582,7 +4679,7 @@ function CheckboxGroup(props) {
|
|
|
4582
4679
|
{
|
|
4583
4680
|
key: `${id}-${option.value}`,
|
|
4584
4681
|
label: option.label,
|
|
4585
|
-
checked: internalValue
|
|
4682
|
+
checked: internalValue?.includes(option.value),
|
|
4586
4683
|
onChange: handleCheckboxChange(option.value)
|
|
4587
4684
|
}
|
|
4588
4685
|
)));
|
|
@@ -4666,6 +4763,7 @@ function DateRange(props) {
|
|
|
4666
4763
|
disableFuture,
|
|
4667
4764
|
disablePast,
|
|
4668
4765
|
format = "YYYY/MM/DD",
|
|
4766
|
+
displayFormat,
|
|
4669
4767
|
inputReadOnly,
|
|
4670
4768
|
hideClearButton
|
|
4671
4769
|
} = props;
|
|
@@ -4820,6 +4918,7 @@ function DateRange(props) {
|
|
|
4820
4918
|
disableFuture,
|
|
4821
4919
|
disablePast,
|
|
4822
4920
|
format,
|
|
4921
|
+
displayFormat,
|
|
4823
4922
|
inputReadOnly,
|
|
4824
4923
|
hideClearButton
|
|
4825
4924
|
}
|
|
@@ -5207,7 +5306,7 @@ function PercentageRange(props) {
|
|
|
5207
5306
|
useMinorUnit,
|
|
5208
5307
|
maxDecimalScale,
|
|
5209
5308
|
min,
|
|
5210
|
-
max,
|
|
5309
|
+
max: maxValue || max,
|
|
5211
5310
|
"aria-labelledby": label ? id : void 0,
|
|
5212
5311
|
"aria-label": "Minimum percentage",
|
|
5213
5312
|
placeholder: "0%"
|
|
@@ -5220,7 +5319,7 @@ function PercentageRange(props) {
|
|
|
5220
5319
|
onChange: handleMaxChange,
|
|
5221
5320
|
useMinorUnit,
|
|
5222
5321
|
maxDecimalScale,
|
|
5223
|
-
min,
|
|
5322
|
+
min: minValue || min,
|
|
5224
5323
|
max,
|
|
5225
5324
|
"aria-labelledby": label ? id : void 0,
|
|
5226
5325
|
"aria-label": "Maximum percentage",
|
|
@@ -5295,6 +5394,7 @@ function FilterMenu(props) {
|
|
|
5295
5394
|
filters,
|
|
5296
5395
|
values,
|
|
5297
5396
|
defaultValues,
|
|
5397
|
+
resetValues = {},
|
|
5298
5398
|
onChange,
|
|
5299
5399
|
onClose,
|
|
5300
5400
|
useClear,
|
|
@@ -5320,11 +5420,11 @@ function FilterMenu(props) {
|
|
|
5320
5420
|
onClose?.();
|
|
5321
5421
|
}, [onChange, onClose, internalValues]);
|
|
5322
5422
|
const handleClear = (0, import_react39.useCallback)(() => {
|
|
5323
|
-
const clearedValues =
|
|
5423
|
+
const clearedValues = resetValues || {};
|
|
5324
5424
|
setInternalValues(clearedValues);
|
|
5325
5425
|
onChange?.(clearedValues);
|
|
5326
5426
|
onClose?.();
|
|
5327
|
-
}, [
|
|
5427
|
+
}, [resetValues, setInternalValues, onChange, onClose]);
|
|
5328
5428
|
return /* @__PURE__ */ import_react39.default.createElement(
|
|
5329
5429
|
ModalDialog,
|
|
5330
5430
|
{
|
package/dist/index.js
CHANGED
|
@@ -4121,7 +4121,9 @@ var CalendarButton2 = styled13(IconButton_default, {
|
|
|
4121
4121
|
"&:focus": {
|
|
4122
4122
|
"--Icon-color": "currentColor",
|
|
4123
4123
|
outlineOffset: `${theme.getCssVar("focus-thickness")}`,
|
|
4124
|
-
outline: `${theme.getCssVar("focus-thickness")} solid ${theme.getCssVar(
|
|
4124
|
+
outline: `${theme.getCssVar("focus-thickness")} solid ${theme.getCssVar(
|
|
4125
|
+
"palette-focusVisible"
|
|
4126
|
+
)}`
|
|
4125
4127
|
}
|
|
4126
4128
|
}));
|
|
4127
4129
|
var StyledPopper2 = styled13(Popper3, {
|
|
@@ -4147,6 +4149,32 @@ var DateRangePickerRoot = styled13("div", {
|
|
|
4147
4149
|
})({
|
|
4148
4150
|
width: "100%"
|
|
4149
4151
|
});
|
|
4152
|
+
var validValueFormat2 = (value, format) => {
|
|
4153
|
+
try {
|
|
4154
|
+
const [date1Str, date2Str] = value.split(" - ");
|
|
4155
|
+
if (!date1Str || !date2Str) {
|
|
4156
|
+
return false;
|
|
4157
|
+
}
|
|
4158
|
+
const parsedDate1 = parseDate2(date1Str, format);
|
|
4159
|
+
const parsedDate2 = parseDate2(date2Str, format);
|
|
4160
|
+
if (parsedDate1.toString() === "Invalid Date" || parsedDate2.toString() === "Invalid Date") {
|
|
4161
|
+
return false;
|
|
4162
|
+
}
|
|
4163
|
+
const formattedValue = formatValueString2(
|
|
4164
|
+
[parsedDate1, parsedDate2],
|
|
4165
|
+
format
|
|
4166
|
+
);
|
|
4167
|
+
if (value !== formattedValue) {
|
|
4168
|
+
return false;
|
|
4169
|
+
}
|
|
4170
|
+
const regex = new RegExp(
|
|
4171
|
+
`^${format.replace(/Y/g, "\\d").replace(/M/g, "\\d").replace(/D/g, "\\d")} - ${format.replace(/Y/g, "\\d").replace(/M/g, "\\d").replace(/D/g, "\\d")}$`
|
|
4172
|
+
);
|
|
4173
|
+
return regex.test(value);
|
|
4174
|
+
} catch (e) {
|
|
4175
|
+
return false;
|
|
4176
|
+
}
|
|
4177
|
+
};
|
|
4150
4178
|
var formatValueString2 = ([date1, date2], format) => {
|
|
4151
4179
|
const getStr = (date) => {
|
|
4152
4180
|
let day = `${date.getDate()}`;
|
|
@@ -4243,6 +4271,7 @@ var DateRangePicker = forwardRef8(
|
|
|
4243
4271
|
sx,
|
|
4244
4272
|
className,
|
|
4245
4273
|
format = "YYYY/MM/DD",
|
|
4274
|
+
displayFormat = "YYYY/MM/DD",
|
|
4246
4275
|
size,
|
|
4247
4276
|
inputReadOnly,
|
|
4248
4277
|
hideClearButton,
|
|
@@ -4259,12 +4288,27 @@ var DateRangePicker = forwardRef8(
|
|
|
4259
4288
|
[props.name, onChange]
|
|
4260
4289
|
)
|
|
4261
4290
|
);
|
|
4291
|
+
const [displayValue, setDisplayValue] = useState7(
|
|
4292
|
+
() => value ? formatValueString2(parseDates(value, format), displayFormat) : ""
|
|
4293
|
+
);
|
|
4262
4294
|
const [anchorEl, setAnchorEl] = useState7(null);
|
|
4263
4295
|
const open = Boolean(anchorEl);
|
|
4264
4296
|
const calendarValue = useMemo9(
|
|
4265
4297
|
() => value ? parseDates(value, format) : void 0,
|
|
4266
4298
|
[value, format]
|
|
4267
4299
|
);
|
|
4300
|
+
useEffect6(() => {
|
|
4301
|
+
if (value) {
|
|
4302
|
+
try {
|
|
4303
|
+
const dates = parseDates(value, format);
|
|
4304
|
+
const newDisplayValue = formatValueString2(dates, displayFormat);
|
|
4305
|
+
setDisplayValue(newDisplayValue);
|
|
4306
|
+
} catch (error2) {
|
|
4307
|
+
}
|
|
4308
|
+
} else {
|
|
4309
|
+
setDisplayValue("");
|
|
4310
|
+
}
|
|
4311
|
+
}, [displayFormat, value, format]);
|
|
4268
4312
|
useEffect6(() => {
|
|
4269
4313
|
if (!anchorEl) {
|
|
4270
4314
|
innerRef.current?.blur();
|
|
@@ -4275,9 +4319,41 @@ var DateRangePicker = forwardRef8(
|
|
|
4275
4319
|
]);
|
|
4276
4320
|
const handleChange = useCallback10(
|
|
4277
4321
|
(event) => {
|
|
4278
|
-
|
|
4322
|
+
const value2 = event.target.value;
|
|
4323
|
+
setDisplayValue(
|
|
4324
|
+
value2 ? formatValueString2(parseDates(value2, format), displayFormat) : value2
|
|
4325
|
+
);
|
|
4326
|
+
setValue(value2);
|
|
4279
4327
|
},
|
|
4280
|
-
[setValue]
|
|
4328
|
+
[displayFormat, format, setValue]
|
|
4329
|
+
);
|
|
4330
|
+
const handleDisplayInputChange = useCallback10(
|
|
4331
|
+
(event) => {
|
|
4332
|
+
if (event.target.value === "") {
|
|
4333
|
+
handleChange({
|
|
4334
|
+
target: {
|
|
4335
|
+
name: props.name,
|
|
4336
|
+
value: ""
|
|
4337
|
+
}
|
|
4338
|
+
});
|
|
4339
|
+
return;
|
|
4340
|
+
}
|
|
4341
|
+
const isValidDisplayValue = validValueFormat2(
|
|
4342
|
+
event.target.value,
|
|
4343
|
+
displayFormat
|
|
4344
|
+
);
|
|
4345
|
+
if (isValidDisplayValue) {
|
|
4346
|
+
const dates = parseDates(event.target.value, displayFormat);
|
|
4347
|
+
const formattedValue = formatValueString2(dates, format);
|
|
4348
|
+
handleChange({
|
|
4349
|
+
target: {
|
|
4350
|
+
name: props.name,
|
|
4351
|
+
value: formattedValue
|
|
4352
|
+
}
|
|
4353
|
+
});
|
|
4354
|
+
}
|
|
4355
|
+
},
|
|
4356
|
+
[displayFormat, format, handleChange, props.name]
|
|
4281
4357
|
);
|
|
4282
4358
|
const handleCalendarToggle = useCallback10(
|
|
4283
4359
|
(event) => {
|
|
@@ -4289,10 +4365,26 @@ var DateRangePicker = forwardRef8(
|
|
|
4289
4365
|
const handleCalendarChange = useCallback10(
|
|
4290
4366
|
([date1, date2]) => {
|
|
4291
4367
|
if (!date1 || !date2) return;
|
|
4292
|
-
|
|
4368
|
+
const formattedValue = formatValueString2([date1, date2], format);
|
|
4369
|
+
if (props.value !== void 0) {
|
|
4370
|
+
onChange?.({ target: { name: props.name, value: formattedValue } });
|
|
4371
|
+
} else {
|
|
4372
|
+
setDisplayValue(
|
|
4373
|
+
formatValueString2([date1, date2], displayFormat)
|
|
4374
|
+
);
|
|
4375
|
+
setValue(formattedValue);
|
|
4376
|
+
}
|
|
4293
4377
|
setAnchorEl(null);
|
|
4294
4378
|
},
|
|
4295
|
-
[
|
|
4379
|
+
[
|
|
4380
|
+
props.value,
|
|
4381
|
+
props.name,
|
|
4382
|
+
onChange,
|
|
4383
|
+
setValue,
|
|
4384
|
+
setAnchorEl,
|
|
4385
|
+
format,
|
|
4386
|
+
displayFormat
|
|
4387
|
+
]
|
|
4296
4388
|
);
|
|
4297
4389
|
const handleInputMouseDown = useCallback10(
|
|
4298
4390
|
(event) => {
|
|
@@ -4310,17 +4402,21 @@ var DateRangePicker = forwardRef8(
|
|
|
4310
4402
|
color: error ? "danger" : innerProps.color,
|
|
4311
4403
|
ref,
|
|
4312
4404
|
size,
|
|
4313
|
-
value,
|
|
4314
|
-
onChange:
|
|
4405
|
+
value: displayValue,
|
|
4406
|
+
onChange: handleDisplayInputChange,
|
|
4315
4407
|
disabled,
|
|
4316
4408
|
required,
|
|
4317
|
-
placeholder: `${
|
|
4409
|
+
placeholder: `${displayFormat} - ${displayFormat}`,
|
|
4318
4410
|
slotProps: {
|
|
4319
4411
|
input: {
|
|
4320
4412
|
component: TextMaskAdapter5,
|
|
4321
4413
|
ref: innerRef,
|
|
4322
|
-
format,
|
|
4323
|
-
sx: {
|
|
4414
|
+
format: displayFormat,
|
|
4415
|
+
sx: {
|
|
4416
|
+
"&:hover": {
|
|
4417
|
+
cursor: inputReadOnly || readOnly ? "default" : "text"
|
|
4418
|
+
}
|
|
4419
|
+
},
|
|
4324
4420
|
onMouseDown: handleInputMouseDown
|
|
4325
4421
|
}
|
|
4326
4422
|
},
|
|
@@ -4390,6 +4486,7 @@ var DateRangePicker = forwardRef8(
|
|
|
4390
4486
|
color: "neutral",
|
|
4391
4487
|
onClick: () => {
|
|
4392
4488
|
setValue("");
|
|
4489
|
+
setDisplayValue("");
|
|
4393
4490
|
setAnchorEl(null);
|
|
4394
4491
|
}
|
|
4395
4492
|
},
|
|
@@ -4552,7 +4649,7 @@ function CheckboxGroup(props) {
|
|
|
4552
4649
|
{
|
|
4553
4650
|
key: `${id}-${option.value}`,
|
|
4554
4651
|
label: option.label,
|
|
4555
|
-
checked: internalValue
|
|
4652
|
+
checked: internalValue?.includes(option.value),
|
|
4556
4653
|
onChange: handleCheckboxChange(option.value)
|
|
4557
4654
|
}
|
|
4558
4655
|
)));
|
|
@@ -4636,6 +4733,7 @@ function DateRange(props) {
|
|
|
4636
4733
|
disableFuture,
|
|
4637
4734
|
disablePast,
|
|
4638
4735
|
format = "YYYY/MM/DD",
|
|
4736
|
+
displayFormat,
|
|
4639
4737
|
inputReadOnly,
|
|
4640
4738
|
hideClearButton
|
|
4641
4739
|
} = props;
|
|
@@ -4790,6 +4888,7 @@ function DateRange(props) {
|
|
|
4790
4888
|
disableFuture,
|
|
4791
4889
|
disablePast,
|
|
4792
4890
|
format,
|
|
4891
|
+
displayFormat,
|
|
4793
4892
|
inputReadOnly,
|
|
4794
4893
|
hideClearButton
|
|
4795
4894
|
}
|
|
@@ -5177,7 +5276,7 @@ function PercentageRange(props) {
|
|
|
5177
5276
|
useMinorUnit,
|
|
5178
5277
|
maxDecimalScale,
|
|
5179
5278
|
min,
|
|
5180
|
-
max,
|
|
5279
|
+
max: maxValue || max,
|
|
5181
5280
|
"aria-labelledby": label ? id : void 0,
|
|
5182
5281
|
"aria-label": "Minimum percentage",
|
|
5183
5282
|
placeholder: "0%"
|
|
@@ -5190,7 +5289,7 @@ function PercentageRange(props) {
|
|
|
5190
5289
|
onChange: handleMaxChange,
|
|
5191
5290
|
useMinorUnit,
|
|
5192
5291
|
maxDecimalScale,
|
|
5193
|
-
min,
|
|
5292
|
+
min: minValue || min,
|
|
5194
5293
|
max,
|
|
5195
5294
|
"aria-labelledby": label ? id : void 0,
|
|
5196
5295
|
"aria-label": "Maximum percentage",
|
|
@@ -5265,6 +5364,7 @@ function FilterMenu(props) {
|
|
|
5265
5364
|
filters,
|
|
5266
5365
|
values,
|
|
5267
5366
|
defaultValues,
|
|
5367
|
+
resetValues = {},
|
|
5268
5368
|
onChange,
|
|
5269
5369
|
onClose,
|
|
5270
5370
|
useClear,
|
|
@@ -5290,11 +5390,11 @@ function FilterMenu(props) {
|
|
|
5290
5390
|
onClose?.();
|
|
5291
5391
|
}, [onChange, onClose, internalValues]);
|
|
5292
5392
|
const handleClear = useCallback19(() => {
|
|
5293
|
-
const clearedValues =
|
|
5393
|
+
const clearedValues = resetValues || {};
|
|
5294
5394
|
setInternalValues(clearedValues);
|
|
5295
5395
|
onChange?.(clearedValues);
|
|
5296
5396
|
onClose?.();
|
|
5297
|
-
}, [
|
|
5397
|
+
}, [resetValues, setInternalValues, onChange, onClose]);
|
|
5298
5398
|
return /* @__PURE__ */ React37.createElement(
|
|
5299
5399
|
ModalDialog,
|
|
5300
5400
|
{
|