@semcore/date-picker 17.0.0-prerelease.34 → 17.0.0-prerelease.37
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/CHANGELOG.md +1 -1
- package/lib/esm/DatePicker.mjs +1 -1
- package/lib/esm/DateRangeComparator.mjs +2 -2
- package/lib/esm/DateRangePicker.mjs +1 -1
- package/lib/esm/MonthDateRangeComparator.mjs +2 -2
- package/lib/esm/MonthPicker.mjs +1 -1
- package/lib/esm/MonthRangePicker.mjs +1 -1
- package/lib/esm/components/ButtonTrigger.mjs +1 -1
- package/lib/esm/components/Calendar.mjs +2 -3
- package/lib/esm/components/DateRangeComparatorAbstract.mjs +28 -37
- package/lib/esm/components/InputTrigger.mjs +14 -20
- package/lib/esm/components/PickerAbstract.mjs +2 -4
- package/lib/esm/components/RangePickerAbstract.mjs +8 -10
- package/lib/esm/components/index.mjs +1 -1
- package/package.json +13 -13
package/CHANGELOG.md
CHANGED
package/lib/esm/DatePicker.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
-
import {
|
|
2
|
+
import { Component, sstyled, assignProps, createComponent } from "@semcore/core";
|
|
3
3
|
import { Box } from "@semcore/base-components";
|
|
4
4
|
import Button from "@semcore/button";
|
|
5
5
|
import i18nEnhance from "@semcore/core/lib/utils/enhances/i18nEnhance";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { sstyled, assignProps, createComponent } from "@semcore/core";
|
|
3
|
+
import { Box, Flex } from "@semcore/base-components";
|
|
4
4
|
import Divider from "@semcore/divider";
|
|
5
5
|
import React from "react";
|
|
6
6
|
import { Period, Next, Prev, Title, Header as Header$1, Popper } from "./components/index.mjs";
|
|
@@ -2,7 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
|
2
2
|
import { createComponent } from "@semcore/core";
|
|
3
3
|
import dayjs from "dayjs";
|
|
4
4
|
import React from "react";
|
|
5
|
-
import { Period, Next, Prev, Title, Header, Popper, Trigger
|
|
5
|
+
import { InputTrigger, Period, Next, Prev, Title, Header, Popper, Trigger } from "./components/index.mjs";
|
|
6
6
|
import { CalendarDays } from "./components/Calendar.mjs";
|
|
7
7
|
import RangePickerAbstract, { Reset, Apply } from "./components/RangePickerAbstract.mjs";
|
|
8
8
|
import shortDateRangeFormat from "./utils/shortDateRangeFormat.mjs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { sstyled, assignProps, createComponent } from "@semcore/core";
|
|
3
|
+
import { Box, Flex } from "@semcore/base-components";
|
|
4
4
|
import Divider from "@semcore/divider";
|
|
5
5
|
import dayjs from "dayjs";
|
|
6
6
|
import React from "react";
|
package/lib/esm/MonthPicker.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
|
2
2
|
import { createComponent } from "@semcore/core";
|
|
3
3
|
import dayjs from "dayjs";
|
|
4
4
|
import React from "react";
|
|
5
|
-
import { Next, Prev, Title, Header, Popper, Trigger
|
|
5
|
+
import { InputTrigger, Next, Prev, Title, Header, Popper, Trigger } from "./components/index.mjs";
|
|
6
6
|
import { CalendarMonths } from "./components/Calendar.mjs";
|
|
7
7
|
import PickerAbstract from "./components/PickerAbstract.mjs";
|
|
8
8
|
const dateParts = {
|
|
@@ -2,7 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
|
2
2
|
import { createComponent } from "@semcore/core";
|
|
3
3
|
import dayjs from "dayjs";
|
|
4
4
|
import React from "react";
|
|
5
|
-
import { Period, Next, Prev, Title, Header, Popper, Trigger
|
|
5
|
+
import { InputTrigger, Period, Next, Prev, Title, Header, Popper, Trigger } from "./components/index.mjs";
|
|
6
6
|
import { CalendarMonths } from "./components/Calendar.mjs";
|
|
7
7
|
import RangePickerAbstract, { Reset, Apply } from "./components/RangePickerAbstract.mjs";
|
|
8
8
|
import shortDateRangeFormat from "./utils/shortDateRangeFormat.mjs";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { assignProps, createComponent } from "@semcore/core";
|
|
2
2
|
import BaseTrigger from "@semcore/base-trigger";
|
|
3
3
|
import addonTextChildren from "@semcore/core/lib/utils/addonTextChildren";
|
|
4
4
|
import Calendar from "@semcore/icon/Calendar/m";
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
|
-
import {
|
|
3
|
+
import { sstyled, Component, assignProps, createComponent } from "@semcore/core";
|
|
4
4
|
import { Box, ScreenReaderOnly } from "@semcore/base-components";
|
|
5
5
|
import fire from "@semcore/core/lib/utils/fire";
|
|
6
6
|
import dayjs from "dayjs";
|
|
7
7
|
import React from "react";
|
|
8
|
-
import {
|
|
8
|
+
import { formatDDMMYY, formatMMYY } from "../utils/formatDate.mjs";
|
|
9
9
|
import { includesDate } from "../utils/includesDate.mjs";
|
|
10
10
|
import isBetween from "../utils/isBetweenPlugin.mjs";
|
|
11
|
-
/*!__reshadow-styles__:"../style/calendar.shadow.css"*/
|
|
12
11
|
const style = (
|
|
13
12
|
/*__reshadow_css_start__*/
|
|
14
13
|
(sstyled.insert(
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
-
import { sstyled,
|
|
2
|
+
import { sstyled, Component, assignProps } from "@semcore/core";
|
|
3
3
|
import { Flex } from "@semcore/base-components";
|
|
4
4
|
import { LinkTrigger } from "@semcore/base-trigger";
|
|
5
5
|
import Button from "@semcore/button";
|
|
@@ -12,7 +12,6 @@ import { localizedMessages } from "../translations/__intergalactic-dynamic-local
|
|
|
12
12
|
import { formatMMYY, formatDDMMYY } from "../utils/formatDate.mjs";
|
|
13
13
|
import { includesDate } from "../utils/includesDate.mjs";
|
|
14
14
|
import shortDateRangeFormat from "../utils/shortDateRangeFormat.mjs";
|
|
15
|
-
/*!__reshadow-styles__:"../style/date-picker.shadow.css"*/
|
|
16
15
|
const style = (
|
|
17
16
|
/*__reshadow_css_start__*/
|
|
18
17
|
(sstyled.insert(
|
|
@@ -87,7 +86,7 @@ class DateRangeComparatorAbstract extends Component {
|
|
|
87
86
|
preselectedValue,
|
|
88
87
|
preselectedCompare
|
|
89
88
|
} = this.asProps;
|
|
90
|
-
return this.handleApply(preselectedValue ??
|
|
89
|
+
return this.handleApply(preselectedValue ?? value?.value, preselectedCompare ?? value?.compare);
|
|
91
90
|
});
|
|
92
91
|
_defineProperty(this, "handleApply", (value, compare) => {
|
|
93
92
|
this.handlers.value({
|
|
@@ -97,7 +96,6 @@ class DateRangeComparatorAbstract extends Component {
|
|
|
97
96
|
this.handlers.visible(false);
|
|
98
97
|
});
|
|
99
98
|
_defineProperty(this, "handleKeydownDown", (place) => (e) => {
|
|
100
|
-
var _a;
|
|
101
99
|
const {
|
|
102
100
|
displayedPeriod,
|
|
103
101
|
preselectedValue,
|
|
@@ -125,15 +123,15 @@ class DateRangeComparatorAbstract extends Component {
|
|
|
125
123
|
const setNextDisplayedPeriod = (next_highlighted) => {
|
|
126
124
|
const [startPeriod, endPeriod] = next_highlighted;
|
|
127
125
|
const highlightedPeriod = endPeriod || startPeriod;
|
|
128
|
-
let displayedPeriodNormalized = displayedPeriod
|
|
129
|
-
let highlightedPeriodNormalized = highlightedPeriod
|
|
126
|
+
let displayedPeriodNormalized = displayedPeriod?.getDate();
|
|
127
|
+
let highlightedPeriodNormalized = highlightedPeriod?.getDate();
|
|
130
128
|
if (this.navigateStep === "month") {
|
|
131
|
-
displayedPeriodNormalized = displayedPeriod
|
|
132
|
-
highlightedPeriodNormalized = highlightedPeriod
|
|
129
|
+
displayedPeriodNormalized = displayedPeriod?.getMonth();
|
|
130
|
+
highlightedPeriodNormalized = highlightedPeriod?.getMonth();
|
|
133
131
|
}
|
|
134
132
|
if (this.navigateStep === "year") {
|
|
135
|
-
displayedPeriodNormalized = displayedPeriod
|
|
136
|
-
highlightedPeriodNormalized = highlightedPeriod
|
|
133
|
+
displayedPeriodNormalized = displayedPeriod?.getYear();
|
|
134
|
+
highlightedPeriodNormalized = highlightedPeriod?.getYear();
|
|
137
135
|
}
|
|
138
136
|
const offset = highlightedPeriodNormalized - displayedPeriodNormalized;
|
|
139
137
|
if (offset < 0 || offset > 1) {
|
|
@@ -160,7 +158,7 @@ class DateRangeComparatorAbstract extends Component {
|
|
|
160
158
|
if (INTERACTION_TAGS.includes(e.target.tagName)) return;
|
|
161
159
|
if (highlighted.length) {
|
|
162
160
|
let next_highlighted;
|
|
163
|
-
if (
|
|
161
|
+
if (preselectedValue?.length === 1) {
|
|
164
162
|
next_highlighted = [preselectedValue[0], dayjs(highlighted[1] || highlighted[0]).add(day, this.keyStep).toDate()];
|
|
165
163
|
changedDate = next_highlighted[1];
|
|
166
164
|
} else {
|
|
@@ -186,7 +184,7 @@ class DateRangeComparatorAbstract extends Component {
|
|
|
186
184
|
if (changedDate) {
|
|
187
185
|
const formatter = this.keyStep === "month" ? formatMMYY : formatDDMMYY;
|
|
188
186
|
const formattedDate = formatter(changedDate, this.asProps.locale);
|
|
189
|
-
|
|
187
|
+
this.unitRefs[formattedDate]?.focus();
|
|
190
188
|
}
|
|
191
189
|
}
|
|
192
190
|
});
|
|
@@ -205,16 +203,16 @@ class DateRangeComparatorAbstract extends Component {
|
|
|
205
203
|
let value = focusedRange === "compare" ? preselectedCompare : preselectedValue;
|
|
206
204
|
if (Array.isArray(date)) {
|
|
207
205
|
value = date;
|
|
208
|
-
} else if (!
|
|
206
|
+
} else if (!value?.length) {
|
|
209
207
|
value = [date];
|
|
210
208
|
highlighted = [date];
|
|
211
|
-
} else if (
|
|
209
|
+
} else if (value?.length >= 2) {
|
|
212
210
|
value = [date];
|
|
213
211
|
highlighted = [date];
|
|
214
|
-
} else if (
|
|
215
|
-
value = [date, value
|
|
212
|
+
} else if (value?.[0] > date) {
|
|
213
|
+
value = [date, value?.[0]];
|
|
216
214
|
} else {
|
|
217
|
-
value = [value
|
|
215
|
+
value = [value?.[0], date];
|
|
218
216
|
}
|
|
219
217
|
if (focusedRange === "compare") {
|
|
220
218
|
this.handlers.preselectedCompare(value);
|
|
@@ -248,7 +246,6 @@ class DateRangeComparatorAbstract extends Component {
|
|
|
248
246
|
};
|
|
249
247
|
}
|
|
250
248
|
getPeriodProps() {
|
|
251
|
-
var _a, _b;
|
|
252
249
|
const {
|
|
253
250
|
periods = this.getDefaultPeriods(),
|
|
254
251
|
onHighlightedChange,
|
|
@@ -259,9 +256,9 @@ class DateRangeComparatorAbstract extends Component {
|
|
|
259
256
|
focusedRange,
|
|
260
257
|
getI18nText
|
|
261
258
|
} = this.asProps;
|
|
262
|
-
let value = preselectedValue ??
|
|
259
|
+
let value = preselectedValue ?? this.asProps.value?.value;
|
|
263
260
|
if (focusedRange === "compare") {
|
|
264
|
-
value = preselectedCompare ??
|
|
261
|
+
value = preselectedCompare ?? this.asProps.value?.compare;
|
|
265
262
|
}
|
|
266
263
|
return {
|
|
267
264
|
periods,
|
|
@@ -315,7 +312,6 @@ class DateRangeComparatorAbstract extends Component {
|
|
|
315
312
|
return {
|
|
316
313
|
displayedPeriod: null,
|
|
317
314
|
visible: [null, (visible) => {
|
|
318
|
-
var _a, _b;
|
|
319
315
|
if (!visible) {
|
|
320
316
|
this.handlers.highlighted([]);
|
|
321
317
|
this.handlers.compareHighlighted([]);
|
|
@@ -324,7 +320,7 @@ class DateRangeComparatorAbstract extends Component {
|
|
|
324
320
|
this.handlers.compareToggle(void 0);
|
|
325
321
|
this.handlers.focusedRange("value");
|
|
326
322
|
} else {
|
|
327
|
-
this.handlers.compareToggle(!!
|
|
323
|
+
this.handlers.compareToggle(!!this.asProps.value?.compare?.length);
|
|
328
324
|
}
|
|
329
325
|
const {
|
|
330
326
|
value,
|
|
@@ -350,10 +346,7 @@ class DateRangeComparatorAbstract extends Component {
|
|
|
350
346
|
compareToggle: null,
|
|
351
347
|
focusedRange: null,
|
|
352
348
|
value: [null, (value) => {
|
|
353
|
-
const dates = [value
|
|
354
|
-
var _a;
|
|
355
|
-
return (_a = date == null ? void 0 : date.isValid) == null ? void 0 : _a.call(date);
|
|
356
|
-
});
|
|
349
|
+
const dates = [value?.value, value?.compare].flat(2).filter((date) => date?.isValid?.());
|
|
357
350
|
if (dates.length > 0) this.handlers.displayedPeriod(getLatestDate(value));
|
|
358
351
|
}]
|
|
359
352
|
};
|
|
@@ -419,22 +412,21 @@ class DateRangeComparatorAbstract extends Component {
|
|
|
419
412
|
placeholder = "Select date ranges",
|
|
420
413
|
separator = "vs."
|
|
421
414
|
}) {
|
|
422
|
-
var _a, _b;
|
|
423
415
|
const {
|
|
424
416
|
locale,
|
|
425
417
|
visible
|
|
426
418
|
} = this.asProps;
|
|
427
|
-
const value =
|
|
428
|
-
const compare =
|
|
419
|
+
const value = this.asProps.value?.value;
|
|
420
|
+
const compare = this.asProps.value?.compare;
|
|
429
421
|
const formattingProps = {
|
|
430
422
|
locale,
|
|
431
423
|
...this.triggerFormattingProps
|
|
432
424
|
};
|
|
433
425
|
let children = placeholder;
|
|
434
|
-
if (
|
|
426
|
+
if (value?.[0] && value?.[1]) {
|
|
435
427
|
children = shortDateRangeFormat(value, formattingProps);
|
|
436
428
|
}
|
|
437
|
-
if (
|
|
429
|
+
if (compare?.[0] && compare?.[1]) {
|
|
438
430
|
children = `${children || ""} ${separator} ${shortDateRangeFormat(compare, formattingProps)}`;
|
|
439
431
|
}
|
|
440
432
|
return {
|
|
@@ -468,7 +460,7 @@ class DateRangeComparatorAbstract extends Component {
|
|
|
468
460
|
return {
|
|
469
461
|
popoverVisible: visible,
|
|
470
462
|
focused: focusedRange === "value" ? true : void 0,
|
|
471
|
-
value: preselectedValue ??
|
|
463
|
+
value: preselectedValue ?? value?.value,
|
|
472
464
|
onChange: (value2) => this.handlers.preselectedValue(value2),
|
|
473
465
|
onDisplayedPeriodChange,
|
|
474
466
|
locale,
|
|
@@ -483,7 +475,6 @@ class DateRangeComparatorAbstract extends Component {
|
|
|
483
475
|
};
|
|
484
476
|
}
|
|
485
477
|
getCompareDateRangeProps() {
|
|
486
|
-
var _a;
|
|
487
478
|
const {
|
|
488
479
|
value,
|
|
489
480
|
onDisplayedPeriodChange,
|
|
@@ -500,8 +491,8 @@ class DateRangeComparatorAbstract extends Component {
|
|
|
500
491
|
return {
|
|
501
492
|
popoverVisible: visible,
|
|
502
493
|
focused: focusedRange === "compare" ? true : void 0,
|
|
503
|
-
disabled: !(compareToggle ??
|
|
504
|
-
value: preselectedCompare ??
|
|
494
|
+
disabled: !(compareToggle ?? value?.compare?.length),
|
|
495
|
+
value: preselectedCompare ?? value?.compare,
|
|
505
496
|
onChange: (value2) => this.handlers.preselectedCompare(value2),
|
|
506
497
|
onDisplayedPeriodChange,
|
|
507
498
|
locale,
|
|
@@ -560,8 +551,8 @@ class DateRangeComparatorAbstract extends Component {
|
|
|
560
551
|
onCompareHighlightedChange,
|
|
561
552
|
onHighlightedChange,
|
|
562
553
|
range: focusedRange,
|
|
563
|
-
value: preselectedValue ??
|
|
564
|
-
compare: preselectedCompare ??
|
|
554
|
+
value: preselectedValue ?? value?.value,
|
|
555
|
+
compare: preselectedCompare ?? value?.compare,
|
|
565
556
|
unitRefs: this.unitRefs,
|
|
566
557
|
getI18nText,
|
|
567
558
|
actionsDescribing: index === 0 ? "range-compare" : null,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
|
-
import {
|
|
4
|
-
import { Box,
|
|
3
|
+
import { sstyled, Component, assignProps, createComponent } from "@semcore/core";
|
|
4
|
+
import { Box, NeighborLocation, Flex } from "@semcore/base-components";
|
|
5
5
|
import BaseTrigger from "@semcore/base-trigger";
|
|
6
6
|
import assignProps$1 from "@semcore/core/lib/utils/assignProps";
|
|
7
7
|
import useEnhancedEffect from "@semcore/core/lib/utils/use/useEnhancedEffect";
|
|
@@ -12,7 +12,6 @@ import dayjs from "dayjs";
|
|
|
12
12
|
import React from "react";
|
|
13
13
|
import { datesIntersects } from "../utils/datesIntersects.mjs";
|
|
14
14
|
import { includesDate } from "../utils/includesDate.mjs";
|
|
15
|
-
/*!__reshadow-styles__:"../style/date-picker.shadow.css"*/
|
|
16
15
|
const style = (
|
|
17
16
|
/*__reshadow_css_start__*/
|
|
18
17
|
(sstyled.insert(
|
|
@@ -237,11 +236,10 @@ class DateRangeRoot extends Component {
|
|
|
237
236
|
_defineProperty(this, "fromRef", /* @__PURE__ */ React.createRef());
|
|
238
237
|
_defineProperty(this, "toRef", /* @__PURE__ */ React.createRef());
|
|
239
238
|
_defineProperty(this, "handleFromChange", (value, event) => {
|
|
240
|
-
var _a, _b;
|
|
241
239
|
const {
|
|
242
240
|
onChange
|
|
243
241
|
} = this.asProps;
|
|
244
|
-
const prevValue = [
|
|
242
|
+
const prevValue = [this.asProps.value?.[0] ?? null, this.asProps.value?.[1] ?? null];
|
|
245
243
|
onChange([value, prevValue[1]], event);
|
|
246
244
|
if (value) {
|
|
247
245
|
if (!this.toRef.current) return;
|
|
@@ -253,11 +251,10 @@ class DateRangeRoot extends Component {
|
|
|
253
251
|
}
|
|
254
252
|
});
|
|
255
253
|
_defineProperty(this, "handleToChange", (value, event) => {
|
|
256
|
-
var _a, _b;
|
|
257
254
|
const {
|
|
258
255
|
onChange
|
|
259
256
|
} = this.asProps;
|
|
260
|
-
const prevValue = [
|
|
257
|
+
const prevValue = [this.asProps.value?.[0] ?? null, this.asProps.value?.[1] ?? null];
|
|
261
258
|
onChange([prevValue[0], value], event);
|
|
262
259
|
});
|
|
263
260
|
_defineProperty(this, "handleFromKeydown", (event) => {
|
|
@@ -370,7 +367,7 @@ class DateRangeRoot extends Component {
|
|
|
370
367
|
} = this.asProps;
|
|
371
368
|
return assignProps$1({
|
|
372
369
|
"ref": this.fromRef,
|
|
373
|
-
"date": value
|
|
370
|
+
"date": value?.[0],
|
|
374
371
|
"onDateChange": this.handleFromChange,
|
|
375
372
|
"onKeyDown": this.handleFromKeydown,
|
|
376
373
|
locale,
|
|
@@ -396,7 +393,7 @@ class DateRangeRoot extends Component {
|
|
|
396
393
|
});
|
|
397
394
|
return assignProps$1({
|
|
398
395
|
"ref": this.toRef,
|
|
399
|
-
"date": value
|
|
396
|
+
"date": value?.[1],
|
|
400
397
|
"onDateChange": this.handleToChange,
|
|
401
398
|
"onKeyDown": this.handleToKeydown,
|
|
402
399
|
locale,
|
|
@@ -608,8 +605,7 @@ function MaskedInput({
|
|
|
608
605
|
const value = React.useMemo(() => stringifyValue(internalValue), [stringifyValue, internalValue]);
|
|
609
606
|
const lastKnownOuterValue = React.useRef(outer);
|
|
610
607
|
React.useEffect(() => {
|
|
611
|
-
|
|
612
|
-
if (((_a = lastKnownOuterValue.current) == null ? void 0 : _a.day) !== (outer == null ? void 0 : outer.day) || ((_b = lastKnownOuterValue.current) == null ? void 0 : _b.month) !== (outer == null ? void 0 : outer.month) || ((_c = lastKnownOuterValue.current) == null ? void 0 : _c.year) !== (outer == null ? void 0 : outer.year)) {
|
|
608
|
+
if (lastKnownOuterValue.current?.day !== outer?.day || lastKnownOuterValue.current?.month !== outer?.month || lastKnownOuterValue.current?.year !== outer?.year) {
|
|
613
609
|
setInternalValue(outer);
|
|
614
610
|
}
|
|
615
611
|
lastKnownOuterValue.current = outer;
|
|
@@ -623,7 +619,7 @@ function MaskedInput({
|
|
|
623
619
|
}
|
|
624
620
|
}
|
|
625
621
|
if (placeholdersOnly) {
|
|
626
|
-
onMaskPipeBlock
|
|
622
|
+
onMaskPipeBlock?.(null);
|
|
627
623
|
return "";
|
|
628
624
|
}
|
|
629
625
|
const getOffsetTo = (partName) => {
|
|
@@ -680,13 +676,13 @@ function MaskedInput({
|
|
|
680
676
|
const monthParsed = allowedParts.month ? Number.parseInt(month, 10) - 1 : 0;
|
|
681
677
|
const dayParsed = allowedParts.day ? Number.parseInt(day, 10) : 1;
|
|
682
678
|
date.setFullYear(yearParsed, monthParsed, dayParsed);
|
|
683
|
-
if (disabledDates
|
|
684
|
-
onMaskPipeBlock
|
|
679
|
+
if (disabledDates?.some(includesDate(dayjs(date), "date"))) {
|
|
680
|
+
onMaskPipeBlock?.(date);
|
|
685
681
|
return false;
|
|
686
682
|
}
|
|
687
683
|
if (allowedParts.day) {
|
|
688
684
|
if (date.getDate() !== Number.parseInt(day, 10)) {
|
|
689
|
-
onMaskPipeBlock
|
|
685
|
+
onMaskPipeBlock?.(date);
|
|
690
686
|
return false;
|
|
691
687
|
}
|
|
692
688
|
}
|
|
@@ -697,7 +693,7 @@ function MaskedInput({
|
|
|
697
693
|
if (part === "month") result.push(month);
|
|
698
694
|
if (part === "day") result.push(day);
|
|
699
695
|
}
|
|
700
|
-
onMaskPipeBlock
|
|
696
|
+
onMaskPipeBlock?.(null);
|
|
701
697
|
return {
|
|
702
698
|
value: result.join(sep),
|
|
703
699
|
indexesOfPipedChars
|
|
@@ -818,13 +814,11 @@ function MaskedInput({
|
|
|
818
814
|
const [innerFocused, setInnerFocused] = React.useState(false);
|
|
819
815
|
const focused = containerFocused ?? innerFocused;
|
|
820
816
|
const handleFocus = React.useCallback((event) => {
|
|
821
|
-
|
|
822
|
-
(_a = otherProps.onFocus) == null ? void 0 : _a.call(otherProps, event);
|
|
817
|
+
otherProps.onFocus?.(event);
|
|
823
818
|
setInnerFocused(true);
|
|
824
819
|
}, []);
|
|
825
820
|
const handleBlur = React.useCallback((event) => {
|
|
826
|
-
|
|
827
|
-
(_a = otherProps.onBlur) == null ? void 0 : _a.call(otherProps, event);
|
|
821
|
+
otherProps.onBlur?.(event);
|
|
828
822
|
setInnerFocused(false);
|
|
829
823
|
}, []);
|
|
830
824
|
useEnhancedEffect(() => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
-
import { Component, CORE_INSTANCE,
|
|
2
|
+
import { sstyled, Component, CORE_INSTANCE, assignProps } from "@semcore/core";
|
|
3
3
|
import i18nEnhance from "@semcore/core/lib/utils/enhances/i18nEnhance";
|
|
4
4
|
import Dropdown from "@semcore/dropdown";
|
|
5
5
|
import dayjs from "dayjs";
|
|
@@ -7,7 +7,6 @@ import React from "react";
|
|
|
7
7
|
import { localizedMessages } from "../translations/__intergalactic-dynamic-locales.mjs";
|
|
8
8
|
import { formatMMYY, formatDDMMYY } from "../utils/formatDate.mjs";
|
|
9
9
|
import { includesDate } from "../utils/includesDate.mjs";
|
|
10
|
-
/*!__reshadow-styles__:"../style/date-picker.shadow.css"*/
|
|
11
10
|
const style = (
|
|
12
11
|
/*__reshadow_css_start__*/
|
|
13
12
|
(sstyled.insert(
|
|
@@ -72,7 +71,6 @@ class PickerAbstract extends Component {
|
|
|
72
71
|
this.navigateView(direction);
|
|
73
72
|
});
|
|
74
73
|
_defineProperty(this, "handlerKeyDown", (place) => (e) => {
|
|
75
|
-
var _a;
|
|
76
74
|
const {
|
|
77
75
|
value,
|
|
78
76
|
displayedPeriod,
|
|
@@ -115,7 +113,7 @@ class PickerAbstract extends Component {
|
|
|
115
113
|
e.preventDefault();
|
|
116
114
|
const formatter = this.keyStep === "month" ? formatMMYY : formatDDMMYY;
|
|
117
115
|
const formattedDate = formatter(current_day, this.asProps.locale);
|
|
118
|
-
|
|
116
|
+
this.unitRefs[formattedDate]?.focus();
|
|
119
117
|
}
|
|
120
118
|
}
|
|
121
119
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
-
import {
|
|
2
|
+
import { sstyled, Component, CORE_INSTANCE, assignProps } from "@semcore/core";
|
|
3
3
|
import { Flex, Box } from "@semcore/base-components";
|
|
4
4
|
import Button from "@semcore/button";
|
|
5
5
|
import i18nEnhance from "@semcore/core/lib/utils/enhances/i18nEnhance";
|
|
@@ -10,7 +10,6 @@ import React from "react";
|
|
|
10
10
|
import { localizedMessages } from "../translations/__intergalactic-dynamic-locales.mjs";
|
|
11
11
|
import { formatMMYY, formatDDMMYY } from "../utils/formatDate.mjs";
|
|
12
12
|
import { includesDate } from "../utils/includesDate.mjs";
|
|
13
|
-
/*!__reshadow-styles__:"../style/date-picker.shadow.css"*/
|
|
14
13
|
const style = (
|
|
15
14
|
/*__reshadow_css_start__*/
|
|
16
15
|
(sstyled.insert(
|
|
@@ -81,7 +80,6 @@ class RangePickerAbstract extends Component {
|
|
|
81
80
|
});
|
|
82
81
|
_defineProperty(this, "bindHandlerNavigateClick", (direction) => () => this.navigateView(direction));
|
|
83
82
|
_defineProperty(this, "handlerKeyDown", (place) => (e) => {
|
|
84
|
-
var _a;
|
|
85
83
|
const {
|
|
86
84
|
displayedPeriod,
|
|
87
85
|
highlighted,
|
|
@@ -107,15 +105,15 @@ class RangePickerAbstract extends Component {
|
|
|
107
105
|
const setNextDisplayedPeriod = (next_highlighted) => {
|
|
108
106
|
const [startPeriod, endPeriod] = next_highlighted;
|
|
109
107
|
const highlightedPeriod = endPeriod || startPeriod;
|
|
110
|
-
let displayedPeriodNormalized = displayedPeriod
|
|
111
|
-
let highlightedPeriodNormalized = highlightedPeriod
|
|
108
|
+
let displayedPeriodNormalized = displayedPeriod?.getDate();
|
|
109
|
+
let highlightedPeriodNormalized = highlightedPeriod?.getDate();
|
|
112
110
|
if (this.navigateStep === "month") {
|
|
113
|
-
displayedPeriodNormalized = displayedPeriod
|
|
114
|
-
highlightedPeriodNormalized = highlightedPeriod
|
|
111
|
+
displayedPeriodNormalized = displayedPeriod?.getMonth();
|
|
112
|
+
highlightedPeriodNormalized = highlightedPeriod?.getMonth();
|
|
115
113
|
}
|
|
116
114
|
if (this.navigateStep === "year") {
|
|
117
|
-
displayedPeriodNormalized = displayedPeriod
|
|
118
|
-
highlightedPeriodNormalized = highlightedPeriod
|
|
115
|
+
displayedPeriodNormalized = displayedPeriod?.getYear();
|
|
116
|
+
highlightedPeriodNormalized = highlightedPeriod?.getYear();
|
|
119
117
|
}
|
|
120
118
|
const offset = highlightedPeriodNormalized - displayedPeriodNormalized;
|
|
121
119
|
if (offset < 0 || offset > 1) {
|
|
@@ -160,7 +158,7 @@ class RangePickerAbstract extends Component {
|
|
|
160
158
|
if (changedDate) {
|
|
161
159
|
const formatter = this.keyStep === "month" ? formatMMYY : formatDDMMYY;
|
|
162
160
|
const formattedDate = formatter(changedDate, this.asProps.locale);
|
|
163
|
-
|
|
161
|
+
this.unitRefs[formattedDate]?.focus();
|
|
164
162
|
}
|
|
165
163
|
}
|
|
166
164
|
});
|
|
@@ -117,7 +117,7 @@ class Period extends Component {
|
|
|
117
117
|
onMouseLeave,
|
|
118
118
|
...other
|
|
119
119
|
}, i) => /* @__PURE__ */ React.createElement(Button, _extends({
|
|
120
|
-
ref: periodRef
|
|
120
|
+
ref: periodRef?.(i),
|
|
121
121
|
key: i,
|
|
122
122
|
use: "tertiary",
|
|
123
123
|
theme: "muted",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/date-picker",
|
|
3
3
|
"description": "Semrush DatePicker Component",
|
|
4
|
-
"version": "17.0.0-prerelease.
|
|
4
|
+
"version": "17.0.0-prerelease.37",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
@@ -14,15 +14,15 @@
|
|
|
14
14
|
"types": "./lib/types/index.d.ts"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@semcore/base-trigger": "^17.0.0-prerelease.
|
|
18
|
-
"@semcore/button": "^17.0.0-prerelease.
|
|
19
|
-
"@semcore/divider": "^17.0.0-prerelease.
|
|
20
|
-
"@semcore/dropdown": "^17.0.0-prerelease.
|
|
21
|
-
"@semcore/input": "^17.0.0-prerelease.
|
|
22
|
-
"@semcore/input-mask": "^17.0.0-prerelease.
|
|
23
|
-
"@semcore/typography": "^17.0.0-prerelease.
|
|
24
|
-
"@semcore/checkbox": "^17.0.0-prerelease.
|
|
25
|
-
"@semcore/tooltip": "^17.0.0-prerelease.
|
|
17
|
+
"@semcore/base-trigger": "^17.0.0-prerelease.37",
|
|
18
|
+
"@semcore/button": "^17.0.0-prerelease.37",
|
|
19
|
+
"@semcore/divider": "^17.0.0-prerelease.37",
|
|
20
|
+
"@semcore/dropdown": "^17.0.0-prerelease.37",
|
|
21
|
+
"@semcore/input": "^17.0.0-prerelease.37",
|
|
22
|
+
"@semcore/input-mask": "^17.0.0-prerelease.37",
|
|
23
|
+
"@semcore/typography": "^17.0.0-prerelease.37",
|
|
24
|
+
"@semcore/checkbox": "^17.0.0-prerelease.37",
|
|
25
|
+
"@semcore/tooltip": "^17.0.0-prerelease.37",
|
|
26
26
|
"dayjs": "1.8.36"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
@@ -35,10 +35,10 @@
|
|
|
35
35
|
"directory": "semcore/date-picker"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@semcore/core": "17.0.0-prerelease.
|
|
39
|
-
"@semcore/base-components": "17.0.0-prerelease.
|
|
38
|
+
"@semcore/core": "17.0.0-prerelease.37",
|
|
39
|
+
"@semcore/base-components": "17.0.0-prerelease.37",
|
|
40
40
|
"@semcore/testing-utils": "1.0.0",
|
|
41
|
-
"@semcore/icon": "16.7.2-prerelease.
|
|
41
|
+
"@semcore/icon": "16.7.2-prerelease.37"
|
|
42
42
|
},
|
|
43
43
|
"scripts": {
|
|
44
44
|
"build": "pnpm semcore-builder --source=js && pnpm vite build"
|