gantt-lib 0.60.0 → 0.60.2
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/core/scheduling/index.d.mts +1 -0
- package/dist/core/scheduling/index.d.ts +1 -0
- package/dist/core/scheduling/index.js +1000 -0
- package/dist/core/scheduling/index.js.map +1 -0
- package/dist/core/scheduling/index.mjs +935 -0
- package/dist/core/scheduling/index.mjs.map +1 -0
- package/dist/index-CliEEiHA.d.mts +410 -0
- package/dist/index-CliEEiHA.d.ts +410 -0
- package/dist/index.d.mts +3 -371
- package/dist/index.d.ts +3 -371
- package/dist/index.js +36 -13
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +36 -13
- package/dist/index.mjs.map +1 -1
- package/package.json +7 -2
package/dist/index.mjs
CHANGED
|
@@ -3244,6 +3244,7 @@ var DatePicker = ({
|
|
|
3244
3244
|
}) => {
|
|
3245
3245
|
const [open, setOpen] = useState3(false);
|
|
3246
3246
|
const [inputValue, setInputValue] = useState3("");
|
|
3247
|
+
const [draftDate, setDraftDate] = useState3(void 0);
|
|
3247
3248
|
const dateInputRef = useRef3(null);
|
|
3248
3249
|
const segIdxRef = useRef3(0);
|
|
3249
3250
|
const charPosRef = useRef3(0);
|
|
@@ -3252,13 +3253,18 @@ var DatePicker = ({
|
|
|
3252
3253
|
const d = /* @__PURE__ */ new Date(value + "T00:00:00Z");
|
|
3253
3254
|
return isValid(d) ? d : void 0;
|
|
3254
3255
|
})();
|
|
3256
|
+
const activeDate = draftDate ?? selectedDate;
|
|
3255
3257
|
const displayValue = selectedDate ? formatUTCDate(selectedDate, displayFormat) : placeholder;
|
|
3256
3258
|
useEffect3(() => {
|
|
3257
3259
|
if (value) {
|
|
3258
3260
|
const d = /* @__PURE__ */ new Date(value + "T00:00:00Z");
|
|
3259
|
-
if (isValid(d))
|
|
3261
|
+
if (isValid(d)) {
|
|
3262
|
+
setInputValue(formatUTCDate(d, "dd.MM.yy"));
|
|
3263
|
+
setDraftDate(void 0);
|
|
3264
|
+
}
|
|
3260
3265
|
} else {
|
|
3261
3266
|
setInputValue("");
|
|
3267
|
+
setDraftDate(void 0);
|
|
3262
3268
|
}
|
|
3263
3269
|
}, [value]);
|
|
3264
3270
|
const selectSegByIdx = useCallback3((idx) => {
|
|
@@ -3303,31 +3309,38 @@ var DatePicker = ({
|
|
|
3303
3309
|
const updateFromDate = useCallback3((newDate) => {
|
|
3304
3310
|
if (!isValid(newDate)) return;
|
|
3305
3311
|
setInputValue(formatUTCDate(newDate, "dd.MM.yy"));
|
|
3312
|
+
setDraftDate(newDate);
|
|
3313
|
+
}, []);
|
|
3314
|
+
const commitDate = useCallback3((dateToCommit) => {
|
|
3315
|
+
const nextDate = dateToCommit ?? draftDate ?? selectedDate;
|
|
3316
|
+
if (!nextDate || !isValid(nextDate)) return;
|
|
3306
3317
|
const iso = [
|
|
3307
|
-
|
|
3308
|
-
String(
|
|
3309
|
-
String(
|
|
3318
|
+
nextDate.getUTCFullYear(),
|
|
3319
|
+
String(nextDate.getUTCMonth() + 1).padStart(2, "0"),
|
|
3320
|
+
String(nextDate.getUTCDate()).padStart(2, "0")
|
|
3310
3321
|
].join("-");
|
|
3322
|
+
if (iso === value) return;
|
|
3311
3323
|
onChange?.(iso);
|
|
3312
|
-
}, [onChange]);
|
|
3324
|
+
}, [draftDate, onChange, selectedDate, value]);
|
|
3313
3325
|
const handleCalendarSelect = useCallback3(
|
|
3314
3326
|
(day) => {
|
|
3315
3327
|
const normalizedDay = businessDays && isWeekend3 && isWeekend3(day) ? snapToBusinessDay(day, 1, isWeekend3) : day;
|
|
3316
3328
|
updateFromDate(normalizedDay);
|
|
3329
|
+
commitDate(normalizedDay);
|
|
3317
3330
|
setOpen(false);
|
|
3318
3331
|
},
|
|
3319
|
-
[
|
|
3332
|
+
[businessDays, commitDate, isWeekend3, updateFromDate]
|
|
3320
3333
|
);
|
|
3321
3334
|
const handleDayShift = useCallback3(
|
|
3322
3335
|
(delta) => {
|
|
3323
|
-
const base =
|
|
3336
|
+
const base = activeDate ?? /* @__PURE__ */ new Date();
|
|
3324
3337
|
if (businessDays && isWeekend3) {
|
|
3325
3338
|
updateFromDate(shiftByBusinessDays(base, delta, isWeekend3));
|
|
3326
3339
|
} else {
|
|
3327
3340
|
updateFromDate(addDays(base, delta));
|
|
3328
3341
|
}
|
|
3329
3342
|
},
|
|
3330
|
-
[
|
|
3343
|
+
[activeDate, updateFromDate, businessDays, isWeekend3]
|
|
3331
3344
|
);
|
|
3332
3345
|
const handleTriggerKeyDown = useCallback3((e) => {
|
|
3333
3346
|
if (disabled) return;
|
|
@@ -3358,13 +3371,14 @@ var DatePicker = ({
|
|
|
3358
3371
|
if (e.key === "Enter") {
|
|
3359
3372
|
e.preventDefault();
|
|
3360
3373
|
e.stopPropagation();
|
|
3374
|
+
commitDate();
|
|
3361
3375
|
setOpen(false);
|
|
3362
3376
|
return;
|
|
3363
3377
|
}
|
|
3364
3378
|
if (e.key === "ArrowUp" || e.key === "ArrowDown") {
|
|
3365
3379
|
e.preventDefault();
|
|
3366
3380
|
e.stopPropagation();
|
|
3367
|
-
const base =
|
|
3381
|
+
const base = activeDate ?? /* @__PURE__ */ new Date();
|
|
3368
3382
|
let newDate = base;
|
|
3369
3383
|
if (seg.label === "day") newDate = e.key === "ArrowUp" ? addDays(base, 1) : subDays(base, 1);
|
|
3370
3384
|
if (seg.label === "month") newDate = e.key === "ArrowUp" ? addMonths2(base, 1) : subMonths2(base, 1);
|
|
@@ -3442,8 +3456,14 @@ var DatePicker = ({
|
|
|
3442
3456
|
);
|
|
3443
3457
|
}
|
|
3444
3458
|
}
|
|
3445
|
-
}, [
|
|
3446
|
-
|
|
3459
|
+
}, [activeDate, businessDays, commitDate, isWeekend3, selectSegByIdx, updateFromDate]);
|
|
3460
|
+
const handleOpenChange = useCallback3((nextOpen) => {
|
|
3461
|
+
if (!nextOpen && open) {
|
|
3462
|
+
commitDate();
|
|
3463
|
+
}
|
|
3464
|
+
setOpen(nextOpen);
|
|
3465
|
+
}, [commitDate, open]);
|
|
3466
|
+
return /* @__PURE__ */ jsxs7(Popover, { open, onOpenChange: disabled ? void 0 : handleOpenChange, children: [
|
|
3447
3467
|
/* @__PURE__ */ jsx10(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx10(
|
|
3448
3468
|
"button",
|
|
3449
3469
|
{
|
|
@@ -3479,6 +3499,9 @@ var DatePicker = ({
|
|
|
3479
3499
|
onFocus: handleFocus,
|
|
3480
3500
|
onMouseDown: handleMouseDown,
|
|
3481
3501
|
onKeyDown: handleKeyDown,
|
|
3502
|
+
onBlur: () => {
|
|
3503
|
+
commitDate();
|
|
3504
|
+
},
|
|
3482
3505
|
spellCheck: false,
|
|
3483
3506
|
autoComplete: "off"
|
|
3484
3507
|
}
|
|
@@ -3490,9 +3513,9 @@ var DatePicker = ({
|
|
|
3490
3513
|
Calendar,
|
|
3491
3514
|
{
|
|
3492
3515
|
mode: "single",
|
|
3493
|
-
selected:
|
|
3516
|
+
selected: activeDate,
|
|
3494
3517
|
onSelect: handleCalendarSelect,
|
|
3495
|
-
initialDate:
|
|
3518
|
+
initialDate: activeDate,
|
|
3496
3519
|
isWeekend: isWeekend3
|
|
3497
3520
|
}
|
|
3498
3521
|
)
|