@ceed/cds 1.8.0-next.8 → 1.8.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/dist/components/DateRangePicker/DateRangePicker.d.ts +0 -10
- package/dist/index.cjs +10 -107
- package/dist/index.js +10 -107
- package/framer/index.js +38 -38
- package/package.json +2 -3
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import Input from "../Input";
|
|
3
3
|
interface BaseDateRangePickerProps {
|
|
4
|
-
/**
|
|
5
|
-
* props.format 의 형식을 따라야 한다.
|
|
6
|
-
*/
|
|
7
4
|
value?: string;
|
|
8
5
|
defaultValue?: string;
|
|
9
6
|
onChange?: (event: {
|
|
@@ -22,14 +19,7 @@ interface BaseDateRangePickerProps {
|
|
|
22
19
|
maxDate?: string;
|
|
23
20
|
disableFuture?: boolean;
|
|
24
21
|
disablePast?: boolean;
|
|
25
|
-
/**
|
|
26
|
-
* value, onChange의 값은 해당 포맷을 따른다.
|
|
27
|
-
*/
|
|
28
22
|
format?: string;
|
|
29
|
-
/**
|
|
30
|
-
* Input 에 표시되는 값의 포맷을 지정한다.
|
|
31
|
-
*/
|
|
32
|
-
displayFormat?: string;
|
|
33
23
|
inputReadOnly?: boolean;
|
|
34
24
|
hideClearButton?: boolean;
|
|
35
25
|
}
|
package/dist/index.cjs
CHANGED
|
@@ -4112,9 +4112,7 @@ var CalendarButton2 = (0, import_joy34.styled)(IconButton_default, {
|
|
|
4112
4112
|
"&:focus": {
|
|
4113
4113
|
"--Icon-color": "currentColor",
|
|
4114
4114
|
outlineOffset: `${theme.getCssVar("focus-thickness")}`,
|
|
4115
|
-
outline: `${theme.getCssVar("focus-thickness")} solid ${theme.getCssVar(
|
|
4116
|
-
"palette-focusVisible"
|
|
4117
|
-
)}`
|
|
4115
|
+
outline: `${theme.getCssVar("focus-thickness")} solid ${theme.getCssVar("palette-focusVisible")}`
|
|
4118
4116
|
}
|
|
4119
4117
|
}));
|
|
4120
4118
|
var StyledPopper2 = (0, import_joy34.styled)(import_base3.Popper, {
|
|
@@ -4140,32 +4138,6 @@ var DateRangePickerRoot = (0, import_joy34.styled)("div", {
|
|
|
4140
4138
|
})({
|
|
4141
4139
|
width: "100%"
|
|
4142
4140
|
});
|
|
4143
|
-
var validValueFormat2 = (value, format) => {
|
|
4144
|
-
try {
|
|
4145
|
-
const [date1Str, date2Str] = value.split(" - ");
|
|
4146
|
-
if (!date1Str || !date2Str) {
|
|
4147
|
-
return false;
|
|
4148
|
-
}
|
|
4149
|
-
const parsedDate1 = parseDate2(date1Str, format);
|
|
4150
|
-
const parsedDate2 = parseDate2(date2Str, format);
|
|
4151
|
-
if (parsedDate1.toString() === "Invalid Date" || parsedDate2.toString() === "Invalid Date") {
|
|
4152
|
-
return false;
|
|
4153
|
-
}
|
|
4154
|
-
const formattedValue = formatValueString2(
|
|
4155
|
-
[parsedDate1, parsedDate2],
|
|
4156
|
-
format
|
|
4157
|
-
);
|
|
4158
|
-
if (value !== formattedValue) {
|
|
4159
|
-
return false;
|
|
4160
|
-
}
|
|
4161
|
-
const regex = new RegExp(
|
|
4162
|
-
`^${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")}$`
|
|
4163
|
-
);
|
|
4164
|
-
return regex.test(value);
|
|
4165
|
-
} catch (e) {
|
|
4166
|
-
return false;
|
|
4167
|
-
}
|
|
4168
|
-
};
|
|
4169
4141
|
var formatValueString2 = ([date1, date2], format) => {
|
|
4170
4142
|
const getStr = (date) => {
|
|
4171
4143
|
let day = `${date.getDate()}`;
|
|
@@ -4262,7 +4234,6 @@ var DateRangePicker = (0, import_react26.forwardRef)(
|
|
|
4262
4234
|
sx,
|
|
4263
4235
|
className,
|
|
4264
4236
|
format = "YYYY/MM/DD",
|
|
4265
|
-
displayFormat = "YYYY/MM/DD",
|
|
4266
4237
|
size,
|
|
4267
4238
|
inputReadOnly,
|
|
4268
4239
|
hideClearButton,
|
|
@@ -4279,27 +4250,12 @@ var DateRangePicker = (0, import_react26.forwardRef)(
|
|
|
4279
4250
|
[props.name, onChange]
|
|
4280
4251
|
)
|
|
4281
4252
|
);
|
|
4282
|
-
const [displayValue, setDisplayValue] = (0, import_react26.useState)(
|
|
4283
|
-
() => value ? formatValueString2(parseDates(value, format), displayFormat) : ""
|
|
4284
|
-
);
|
|
4285
4253
|
const [anchorEl, setAnchorEl] = (0, import_react26.useState)(null);
|
|
4286
4254
|
const open = Boolean(anchorEl);
|
|
4287
4255
|
const calendarValue = (0, import_react26.useMemo)(
|
|
4288
4256
|
() => value ? parseDates(value, format) : void 0,
|
|
4289
4257
|
[value, format]
|
|
4290
4258
|
);
|
|
4291
|
-
(0, import_react26.useEffect)(() => {
|
|
4292
|
-
if (value) {
|
|
4293
|
-
try {
|
|
4294
|
-
const dates = parseDates(value, format);
|
|
4295
|
-
const newDisplayValue = formatValueString2(dates, displayFormat);
|
|
4296
|
-
setDisplayValue(newDisplayValue);
|
|
4297
|
-
} catch (error2) {
|
|
4298
|
-
}
|
|
4299
|
-
} else {
|
|
4300
|
-
setDisplayValue("");
|
|
4301
|
-
}
|
|
4302
|
-
}, [displayFormat, value, format]);
|
|
4303
4259
|
(0, import_react26.useEffect)(() => {
|
|
4304
4260
|
if (!anchorEl) {
|
|
4305
4261
|
innerRef.current?.blur();
|
|
@@ -4310,41 +4266,9 @@ var DateRangePicker = (0, import_react26.forwardRef)(
|
|
|
4310
4266
|
]);
|
|
4311
4267
|
const handleChange = (0, import_react26.useCallback)(
|
|
4312
4268
|
(event) => {
|
|
4313
|
-
|
|
4314
|
-
setDisplayValue(
|
|
4315
|
-
value2 ? formatValueString2(parseDates(value2, format), displayFormat) : value2
|
|
4316
|
-
);
|
|
4317
|
-
setValue(value2);
|
|
4318
|
-
},
|
|
4319
|
-
[displayFormat, format, setValue]
|
|
4320
|
-
);
|
|
4321
|
-
const handleDisplayInputChange = (0, import_react26.useCallback)(
|
|
4322
|
-
(event) => {
|
|
4323
|
-
if (event.target.value === "") {
|
|
4324
|
-
handleChange({
|
|
4325
|
-
target: {
|
|
4326
|
-
name: props.name,
|
|
4327
|
-
value: ""
|
|
4328
|
-
}
|
|
4329
|
-
});
|
|
4330
|
-
return;
|
|
4331
|
-
}
|
|
4332
|
-
const isValidDisplayValue = validValueFormat2(
|
|
4333
|
-
event.target.value,
|
|
4334
|
-
displayFormat
|
|
4335
|
-
);
|
|
4336
|
-
if (isValidDisplayValue) {
|
|
4337
|
-
const dates = parseDates(event.target.value, displayFormat);
|
|
4338
|
-
const formattedValue = formatValueString2(dates, format);
|
|
4339
|
-
handleChange({
|
|
4340
|
-
target: {
|
|
4341
|
-
name: props.name,
|
|
4342
|
-
value: formattedValue
|
|
4343
|
-
}
|
|
4344
|
-
});
|
|
4345
|
-
}
|
|
4269
|
+
setValue(event.target.value);
|
|
4346
4270
|
},
|
|
4347
|
-
[
|
|
4271
|
+
[setValue]
|
|
4348
4272
|
);
|
|
4349
4273
|
const handleCalendarToggle = (0, import_react26.useCallback)(
|
|
4350
4274
|
(event) => {
|
|
@@ -4356,26 +4280,10 @@ var DateRangePicker = (0, import_react26.forwardRef)(
|
|
|
4356
4280
|
const handleCalendarChange = (0, import_react26.useCallback)(
|
|
4357
4281
|
([date1, date2]) => {
|
|
4358
4282
|
if (!date1 || !date2) return;
|
|
4359
|
-
|
|
4360
|
-
if (props.value !== void 0) {
|
|
4361
|
-
onChange?.({ target: { name: props.name, value: formattedValue } });
|
|
4362
|
-
} else {
|
|
4363
|
-
setDisplayValue(
|
|
4364
|
-
formatValueString2([date1, date2], displayFormat)
|
|
4365
|
-
);
|
|
4366
|
-
setValue(formattedValue);
|
|
4367
|
-
}
|
|
4283
|
+
setValue(formatValueString2([date1, date2], format));
|
|
4368
4284
|
setAnchorEl(null);
|
|
4369
4285
|
},
|
|
4370
|
-
[
|
|
4371
|
-
props.value,
|
|
4372
|
-
props.name,
|
|
4373
|
-
onChange,
|
|
4374
|
-
setValue,
|
|
4375
|
-
setAnchorEl,
|
|
4376
|
-
format,
|
|
4377
|
-
displayFormat
|
|
4378
|
-
]
|
|
4286
|
+
[setValue, setAnchorEl, format]
|
|
4379
4287
|
);
|
|
4380
4288
|
const handleInputMouseDown = (0, import_react26.useCallback)(
|
|
4381
4289
|
(event) => {
|
|
@@ -4393,21 +4301,17 @@ var DateRangePicker = (0, import_react26.forwardRef)(
|
|
|
4393
4301
|
color: error ? "danger" : innerProps.color,
|
|
4394
4302
|
ref,
|
|
4395
4303
|
size,
|
|
4396
|
-
value
|
|
4397
|
-
onChange:
|
|
4304
|
+
value,
|
|
4305
|
+
onChange: handleChange,
|
|
4398
4306
|
disabled,
|
|
4399
4307
|
required,
|
|
4400
|
-
placeholder: `${
|
|
4308
|
+
placeholder: `${format} - ${format}`,
|
|
4401
4309
|
slotProps: {
|
|
4402
4310
|
input: {
|
|
4403
4311
|
component: TextMaskAdapter5,
|
|
4404
4312
|
ref: innerRef,
|
|
4405
|
-
format
|
|
4406
|
-
sx: {
|
|
4407
|
-
"&:hover": {
|
|
4408
|
-
cursor: inputReadOnly || readOnly ? "default" : "text"
|
|
4409
|
-
}
|
|
4410
|
-
},
|
|
4313
|
+
format,
|
|
4314
|
+
sx: { "&:hover": { cursor: inputReadOnly || readOnly ? "default" : "text" } },
|
|
4411
4315
|
onMouseDown: handleInputMouseDown
|
|
4412
4316
|
}
|
|
4413
4317
|
},
|
|
@@ -4477,7 +4381,6 @@ var DateRangePicker = (0, import_react26.forwardRef)(
|
|
|
4477
4381
|
color: "neutral",
|
|
4478
4382
|
onClick: () => {
|
|
4479
4383
|
setValue("");
|
|
4480
|
-
setDisplayValue("");
|
|
4481
4384
|
setAnchorEl(null);
|
|
4482
4385
|
}
|
|
4483
4386
|
},
|
package/dist/index.js
CHANGED
|
@@ -4088,9 +4088,7 @@ var CalendarButton2 = styled13(IconButton_default, {
|
|
|
4088
4088
|
"&:focus": {
|
|
4089
4089
|
"--Icon-color": "currentColor",
|
|
4090
4090
|
outlineOffset: `${theme.getCssVar("focus-thickness")}`,
|
|
4091
|
-
outline: `${theme.getCssVar("focus-thickness")} solid ${theme.getCssVar(
|
|
4092
|
-
"palette-focusVisible"
|
|
4093
|
-
)}`
|
|
4091
|
+
outline: `${theme.getCssVar("focus-thickness")} solid ${theme.getCssVar("palette-focusVisible")}`
|
|
4094
4092
|
}
|
|
4095
4093
|
}));
|
|
4096
4094
|
var StyledPopper2 = styled13(Popper3, {
|
|
@@ -4116,32 +4114,6 @@ var DateRangePickerRoot = styled13("div", {
|
|
|
4116
4114
|
})({
|
|
4117
4115
|
width: "100%"
|
|
4118
4116
|
});
|
|
4119
|
-
var validValueFormat2 = (value, format) => {
|
|
4120
|
-
try {
|
|
4121
|
-
const [date1Str, date2Str] = value.split(" - ");
|
|
4122
|
-
if (!date1Str || !date2Str) {
|
|
4123
|
-
return false;
|
|
4124
|
-
}
|
|
4125
|
-
const parsedDate1 = parseDate2(date1Str, format);
|
|
4126
|
-
const parsedDate2 = parseDate2(date2Str, format);
|
|
4127
|
-
if (parsedDate1.toString() === "Invalid Date" || parsedDate2.toString() === "Invalid Date") {
|
|
4128
|
-
return false;
|
|
4129
|
-
}
|
|
4130
|
-
const formattedValue = formatValueString2(
|
|
4131
|
-
[parsedDate1, parsedDate2],
|
|
4132
|
-
format
|
|
4133
|
-
);
|
|
4134
|
-
if (value !== formattedValue) {
|
|
4135
|
-
return false;
|
|
4136
|
-
}
|
|
4137
|
-
const regex = new RegExp(
|
|
4138
|
-
`^${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")}$`
|
|
4139
|
-
);
|
|
4140
|
-
return regex.test(value);
|
|
4141
|
-
} catch (e) {
|
|
4142
|
-
return false;
|
|
4143
|
-
}
|
|
4144
|
-
};
|
|
4145
4117
|
var formatValueString2 = ([date1, date2], format) => {
|
|
4146
4118
|
const getStr = (date) => {
|
|
4147
4119
|
let day = `${date.getDate()}`;
|
|
@@ -4238,7 +4210,6 @@ var DateRangePicker = forwardRef8(
|
|
|
4238
4210
|
sx,
|
|
4239
4211
|
className,
|
|
4240
4212
|
format = "YYYY/MM/DD",
|
|
4241
|
-
displayFormat = "YYYY/MM/DD",
|
|
4242
4213
|
size,
|
|
4243
4214
|
inputReadOnly,
|
|
4244
4215
|
hideClearButton,
|
|
@@ -4255,27 +4226,12 @@ var DateRangePicker = forwardRef8(
|
|
|
4255
4226
|
[props.name, onChange]
|
|
4256
4227
|
)
|
|
4257
4228
|
);
|
|
4258
|
-
const [displayValue, setDisplayValue] = useState7(
|
|
4259
|
-
() => value ? formatValueString2(parseDates(value, format), displayFormat) : ""
|
|
4260
|
-
);
|
|
4261
4229
|
const [anchorEl, setAnchorEl] = useState7(null);
|
|
4262
4230
|
const open = Boolean(anchorEl);
|
|
4263
4231
|
const calendarValue = useMemo9(
|
|
4264
4232
|
() => value ? parseDates(value, format) : void 0,
|
|
4265
4233
|
[value, format]
|
|
4266
4234
|
);
|
|
4267
|
-
useEffect6(() => {
|
|
4268
|
-
if (value) {
|
|
4269
|
-
try {
|
|
4270
|
-
const dates = parseDates(value, format);
|
|
4271
|
-
const newDisplayValue = formatValueString2(dates, displayFormat);
|
|
4272
|
-
setDisplayValue(newDisplayValue);
|
|
4273
|
-
} catch (error2) {
|
|
4274
|
-
}
|
|
4275
|
-
} else {
|
|
4276
|
-
setDisplayValue("");
|
|
4277
|
-
}
|
|
4278
|
-
}, [displayFormat, value, format]);
|
|
4279
4235
|
useEffect6(() => {
|
|
4280
4236
|
if (!anchorEl) {
|
|
4281
4237
|
innerRef.current?.blur();
|
|
@@ -4286,41 +4242,9 @@ var DateRangePicker = forwardRef8(
|
|
|
4286
4242
|
]);
|
|
4287
4243
|
const handleChange = useCallback10(
|
|
4288
4244
|
(event) => {
|
|
4289
|
-
|
|
4290
|
-
setDisplayValue(
|
|
4291
|
-
value2 ? formatValueString2(parseDates(value2, format), displayFormat) : value2
|
|
4292
|
-
);
|
|
4293
|
-
setValue(value2);
|
|
4294
|
-
},
|
|
4295
|
-
[displayFormat, format, setValue]
|
|
4296
|
-
);
|
|
4297
|
-
const handleDisplayInputChange = useCallback10(
|
|
4298
|
-
(event) => {
|
|
4299
|
-
if (event.target.value === "") {
|
|
4300
|
-
handleChange({
|
|
4301
|
-
target: {
|
|
4302
|
-
name: props.name,
|
|
4303
|
-
value: ""
|
|
4304
|
-
}
|
|
4305
|
-
});
|
|
4306
|
-
return;
|
|
4307
|
-
}
|
|
4308
|
-
const isValidDisplayValue = validValueFormat2(
|
|
4309
|
-
event.target.value,
|
|
4310
|
-
displayFormat
|
|
4311
|
-
);
|
|
4312
|
-
if (isValidDisplayValue) {
|
|
4313
|
-
const dates = parseDates(event.target.value, displayFormat);
|
|
4314
|
-
const formattedValue = formatValueString2(dates, format);
|
|
4315
|
-
handleChange({
|
|
4316
|
-
target: {
|
|
4317
|
-
name: props.name,
|
|
4318
|
-
value: formattedValue
|
|
4319
|
-
}
|
|
4320
|
-
});
|
|
4321
|
-
}
|
|
4245
|
+
setValue(event.target.value);
|
|
4322
4246
|
},
|
|
4323
|
-
[
|
|
4247
|
+
[setValue]
|
|
4324
4248
|
);
|
|
4325
4249
|
const handleCalendarToggle = useCallback10(
|
|
4326
4250
|
(event) => {
|
|
@@ -4332,26 +4256,10 @@ var DateRangePicker = forwardRef8(
|
|
|
4332
4256
|
const handleCalendarChange = useCallback10(
|
|
4333
4257
|
([date1, date2]) => {
|
|
4334
4258
|
if (!date1 || !date2) return;
|
|
4335
|
-
|
|
4336
|
-
if (props.value !== void 0) {
|
|
4337
|
-
onChange?.({ target: { name: props.name, value: formattedValue } });
|
|
4338
|
-
} else {
|
|
4339
|
-
setDisplayValue(
|
|
4340
|
-
formatValueString2([date1, date2], displayFormat)
|
|
4341
|
-
);
|
|
4342
|
-
setValue(formattedValue);
|
|
4343
|
-
}
|
|
4259
|
+
setValue(formatValueString2([date1, date2], format));
|
|
4344
4260
|
setAnchorEl(null);
|
|
4345
4261
|
},
|
|
4346
|
-
[
|
|
4347
|
-
props.value,
|
|
4348
|
-
props.name,
|
|
4349
|
-
onChange,
|
|
4350
|
-
setValue,
|
|
4351
|
-
setAnchorEl,
|
|
4352
|
-
format,
|
|
4353
|
-
displayFormat
|
|
4354
|
-
]
|
|
4262
|
+
[setValue, setAnchorEl, format]
|
|
4355
4263
|
);
|
|
4356
4264
|
const handleInputMouseDown = useCallback10(
|
|
4357
4265
|
(event) => {
|
|
@@ -4369,21 +4277,17 @@ var DateRangePicker = forwardRef8(
|
|
|
4369
4277
|
color: error ? "danger" : innerProps.color,
|
|
4370
4278
|
ref,
|
|
4371
4279
|
size,
|
|
4372
|
-
value
|
|
4373
|
-
onChange:
|
|
4280
|
+
value,
|
|
4281
|
+
onChange: handleChange,
|
|
4374
4282
|
disabled,
|
|
4375
4283
|
required,
|
|
4376
|
-
placeholder: `${
|
|
4284
|
+
placeholder: `${format} - ${format}`,
|
|
4377
4285
|
slotProps: {
|
|
4378
4286
|
input: {
|
|
4379
4287
|
component: TextMaskAdapter5,
|
|
4380
4288
|
ref: innerRef,
|
|
4381
|
-
format
|
|
4382
|
-
sx: {
|
|
4383
|
-
"&:hover": {
|
|
4384
|
-
cursor: inputReadOnly || readOnly ? "default" : "text"
|
|
4385
|
-
}
|
|
4386
|
-
},
|
|
4289
|
+
format,
|
|
4290
|
+
sx: { "&:hover": { cursor: inputReadOnly || readOnly ? "default" : "text" } },
|
|
4387
4291
|
onMouseDown: handleInputMouseDown
|
|
4388
4292
|
}
|
|
4389
4293
|
},
|
|
@@ -4453,7 +4357,6 @@ var DateRangePicker = forwardRef8(
|
|
|
4453
4357
|
color: "neutral",
|
|
4454
4358
|
onClick: () => {
|
|
4455
4359
|
setValue("");
|
|
4456
|
-
setDisplayValue("");
|
|
4457
4360
|
setAnchorEl(null);
|
|
4458
4361
|
}
|
|
4459
4362
|
},
|