@stenajs-webui/calendar 15.0.0-alpha.3 → 15.0.0-alpha.7
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/calendar/CalendarMonth.d.ts +3 -3
- package/dist/components/calendar/CalendarWeek.d.ts +3 -3
- package/dist/components/calendar/DisabledDayWrapper.d.ts +7 -0
- package/dist/components/calendar-types/date-range-calendar/DateRangeCalendar.d.ts +4 -12
- package/dist/components/calendar-types/date-range-calendar/DateRangeCalendar.stories.d.ts +1 -0
- package/dist/components/calendar-types/date-range-calendar/hooks/UseDateRangeSelection.d.ts +1 -1
- package/dist/components/calendar-types/date-range-exclusion-calendar/DateRangeExclusionCalendar.d.ts +2 -3
- package/dist/components/calendar-types/date-range-exclusion-calendar/UseDateRangeExclusionSelection.d.ts +1 -1
- package/dist/components/input-types/date-input/DateInput.d.ts +2 -1
- package/dist/components/input-types/date-input/DateInput.stories.d.ts +2 -0
- package/dist/components/input-types/date-range-dual-text-input/DateRangeDualTextInput.d.ts +4 -3
- package/dist/components/input-types/date-range-dual-text-input/DateRangeDualTextInput.stories.d.ts +2 -1
- package/dist/components/input-types/date-range-input/DateRangeInput.d.ts +6 -7
- package/dist/components/input-types/date-range-input/DateRangeInput.stories.d.ts +2 -1
- package/dist/components/input-types/date-range-input/hooks/UseDateRangeInput.d.ts +3 -2
- package/dist/components/input-types/date-text-input/DateTextInput.d.ts +2 -1
- package/dist/components/input-types/date-time-input/DateTimeInput.d.ts +2 -1
- package/dist/components/input-types/date-time-input/DateTimeInput.stories.d.ts +1 -0
- package/dist/config/DefaultMaxDate.d.ts +1 -0
- package/dist/features/date-range/hooks/UseDateRangeOnClickDayHandler.d.ts +2 -5
- package/dist/features/dual-text-input/DualTextInput.d.ts +4 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.es.js +148 -153
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +152 -154
- package/dist/index.js.map +1 -1
- package/dist/types/CalendarTypes.d.ts +21 -1
- package/dist/types/DateRange.d.ts +16 -0
- package/dist/util/calendar/StateModifier.d.ts +1 -0
- package/dist/util/date/DateMinMaxValidator.d.ts +1 -0
- package/dist/util/date/__tests__/DateMinMaxValidator.test.d.ts +1 -0
- package/dist/util/date-range/DateRangeTransformer.d.ts +3 -0
- package/dist/util/date-range/DateRangeValidator.d.ts +4 -0
- package/dist/util/date-range/__tests__/DateRangeValidator.test.d.ts +1 -0
- package/package.json +8 -8
- package/dist/components/calendar-types/date-range-calendar/util/IntervalSwitcher.d.ts +0 -4
- package/dist/util/calendar/CalendarIntervalValidator.d.ts +0 -11
package/dist/index.js
CHANGED
|
@@ -14,14 +14,14 @@ var faAngleDoubleLeft = require('@fortawesome/free-solid-svg-icons/faAngleDouble
|
|
|
14
14
|
var faAngleDoubleRight = require('@fortawesome/free-solid-svg-icons/faAngleDoubleRight');
|
|
15
15
|
var faCaretLeft = require('@fortawesome/free-solid-svg-icons/faCaretLeft');
|
|
16
16
|
var faCaretRight = require('@fortawesome/free-solid-svg-icons/faCaretRight');
|
|
17
|
-
var faCalendarAlt = require('@fortawesome/free-
|
|
17
|
+
var faCalendarAlt = require('@fortawesome/free-regular-svg-icons/faCalendarAlt');
|
|
18
18
|
var forms = require('@stenajs-webui/forms');
|
|
19
19
|
var tooltip = require('@stenajs-webui/tooltip');
|
|
20
|
+
var faCalendarAlt$1 = require('@fortawesome/free-solid-svg-icons/faCalendarAlt');
|
|
20
21
|
var theme = require('@stenajs-webui/theme');
|
|
21
22
|
var faLongArrowAltRight = require('@fortawesome/free-solid-svg-icons/faLongArrowAltRight');
|
|
22
23
|
var faClock = require('@fortawesome/free-solid-svg-icons/faClock');
|
|
23
24
|
var faClock$1 = require('@fortawesome/free-regular-svg-icons/faClock');
|
|
24
|
-
var faCalendarAlt$1 = require('@fortawesome/free-regular-svg-icons/faCalendarAlt');
|
|
25
25
|
var faAngleDown = require('@fortawesome/free-solid-svg-icons/faAngleDown');
|
|
26
26
|
|
|
27
27
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -176,11 +176,13 @@ var addDayStateHighlights = function (calendarState, date, highlights) {
|
|
|
176
176
|
calendarState[monthString] &&
|
|
177
177
|
calendarState[monthString][weekNumber] &&
|
|
178
178
|
calendarState[monthString][weekNumber][dayInMonth];
|
|
179
|
-
var newHighlights = dayState && dayState.highlights
|
|
180
|
-
? __spreadArray(__spreadArray([], dayState.highlights, true), highlights, true) : highlights;
|
|
181
179
|
return __assign(__assign({}, calendarState), (_a = {}, _a[monthString] = __assign(__assign({}, (calendarState && calendarState[monthString])), (_b = {}, _b[weekNumber] = __assign(__assign({}, (calendarState &&
|
|
182
180
|
calendarState[monthString] &&
|
|
183
|
-
calendarState[monthString][weekNumber])), (_c = {}, _c[dayInMonth] =
|
|
181
|
+
calendarState[monthString][weekNumber])), (_c = {}, _c[dayInMonth] = addDayStateHighlightsOnSingleDay(dayState, highlights), _c)), _b)), _a));
|
|
182
|
+
};
|
|
183
|
+
var addDayStateHighlightsOnSingleDay = function (dayState, highlights) {
|
|
184
|
+
var _a;
|
|
185
|
+
return __assign(__assign({}, dayState), { highlights: __spreadArray(__spreadArray([], ((_a = dayState === null || dayState === void 0 ? void 0 : dayState.highlights) !== null && _a !== void 0 ? _a : []), true), highlights, true) });
|
|
184
186
|
};
|
|
185
187
|
var addWeekStateHighlights = function (calendarState, week, highlights) {
|
|
186
188
|
var _a, _b;
|
|
@@ -428,6 +430,26 @@ var defaultCalendarTheme = {
|
|
|
428
430
|
};
|
|
429
431
|
var extranetCalendarTheme = __assign(__assign({}, defaultCalendarTheme), { width: "37px", height: "37px" });
|
|
430
432
|
|
|
433
|
+
var isDateInMinMaxRange = function (date, min, max) {
|
|
434
|
+
if (min && dateFns.isBefore(date, min)) {
|
|
435
|
+
return dateFns.isSameDay(date, min);
|
|
436
|
+
}
|
|
437
|
+
if (max && dateFns.isAfter(date, max)) {
|
|
438
|
+
return dateFns.isSameDay(date, max);
|
|
439
|
+
}
|
|
440
|
+
return true;
|
|
441
|
+
};
|
|
442
|
+
|
|
443
|
+
var DisabledDayWrapper = function DisabledDayWrapper(_a) {
|
|
444
|
+
var DayComponent = _a.dayComponent, minDate = _a.minDate, maxDate = _a.maxDate, dayState = _a.dayState, day = _a.day, props = __rest(_a, ["dayComponent", "minDate", "maxDate", "dayState", "day"]);
|
|
445
|
+
var activeDayState = React.useMemo(function () {
|
|
446
|
+
return !isDateInMinMaxRange(day.date, minDate, maxDate)
|
|
447
|
+
? addDayStateHighlightsOnSingleDay(dayState, ["disabled"])
|
|
448
|
+
: dayState;
|
|
449
|
+
}, [day.date, dayState, maxDate, minDate]);
|
|
450
|
+
return React__namespace.createElement(DayComponent, __assign({ day: day }, props, { dayState: activeDayState }));
|
|
451
|
+
};
|
|
452
|
+
|
|
431
453
|
var WeekNumberCell = function (_a) {
|
|
432
454
|
var onClickWeek = _a.onClickWeek, theme = _a.theme, week = _a.week, background = _a.background, backgroundColor = _a.backgroundColor, prefix = _a.prefix;
|
|
433
455
|
var content = (React__namespace.createElement(core.Box, { width: theme.width, height: theme.height, justifyContent: "center", alignItems: "center" },
|
|
@@ -442,10 +464,10 @@ var WeekNumberCell = function (_a) {
|
|
|
442
464
|
};
|
|
443
465
|
|
|
444
466
|
function CalendarWeek(_a) {
|
|
445
|
-
var week = _a.week, month = _a.month,
|
|
467
|
+
var week = _a.week, month = _a.month, dayComponent = _a.dayComponent, statePerWeekDay = _a.statePerWeekDay, userDataPerWeekDay = _a.userDataPerWeekDay, minDate = _a.minDate, maxDate = _a.maxDate, onClickWeek = _a.onClickWeek, onClickDay = _a.onClickDay, theme = _a.theme, renderWeekNumber = _a.renderWeekNumber, extraDayContent = _a.extraDayContent, defaultHighlights = _a.defaultHighlights;
|
|
446
468
|
return (React__namespace.createElement("tr", { key: week.weekNumber },
|
|
447
469
|
theme.WeekNumber.show && (React__namespace.createElement("td", null, renderWeekNumber ? (renderWeekNumber(week, theme, onClickWeek)) : (React__namespace.createElement(WeekNumberCell, { week: week, onClickWeek: onClickWeek, theme: theme })))),
|
|
448
|
-
week.days.map(function (day) { return (React__namespace.createElement(
|
|
470
|
+
week.days.map(function (day) { return (React__namespace.createElement(DisabledDayWrapper, { dayComponent: dayComponent, key: day.dateString, day: day, week: week, month: month, dayState: statePerWeekDay && statePerWeekDay[day.dayOfMonth], userData: userDataPerWeekDay && userDataPerWeekDay[day.dayOfMonth], onClickDay: onClickDay, theme: theme, extraDayContent: extraDayContent, defaultHighlights: defaultHighlights, minDate: minDate, maxDate: maxDate })); })));
|
|
449
471
|
}
|
|
450
472
|
|
|
451
473
|
var WeekDayCell = function (_a) {
|
|
@@ -460,7 +482,7 @@ var WeekDayCell = function (_a) {
|
|
|
460
482
|
return content;
|
|
461
483
|
};
|
|
462
484
|
|
|
463
|
-
var CalendarDay = function (_a) {
|
|
485
|
+
var CalendarDay = function CalendarDay(_a) {
|
|
464
486
|
var day = _a.day, week = _a.week, month = _a.month, dayState = _a.dayState, userData = _a.userData, onClickDay = _a.onClickDay, theme = _a.theme, ExtraDayContent = _a.extraDayContent, defaultHighlights = _a.defaultHighlights;
|
|
465
487
|
var content = (React__namespace.createElement(core.Box, { width: "100%", height: "100%", justifyContent: "center", alignItems: "center" },
|
|
466
488
|
React__namespace.createElement(core.Text, __assign({}, (theme.CalendarDay.textProps &&
|
|
@@ -482,7 +504,7 @@ var isClickable = function (defaultHighlights, dayState) {
|
|
|
482
504
|
};
|
|
483
505
|
|
|
484
506
|
function CalendarMonth(_a) {
|
|
485
|
-
var month = _a.month, _b = _a.dayComponent, dayComponent = _b === void 0 ? CalendarDay : _b, statePerWeek = _a.statePerWeek, userDataPerWeek = _a.userDataPerWeek, onClickDay = _a.onClickDay, onClickWeek = _a.onClickWeek, onClickWeekDay = _a.onClickWeekDay, onClickMonth = _a.onClickMonth, onClickYear = _a.onClickYear, renderWeekNumber = _a.renderWeekNumber, renderWeekDay = _a.renderWeekDay, headerLeftContent = _a.headerLeftContent, headerRightContent = _a.headerRightContent, _c = _a.theme, theme = _c === void 0 ? defaultCalendarTheme : _c, extraDayContent = _a.extraDayContent, defaultHighlights = _a.defaultHighlights;
|
|
507
|
+
var month = _a.month, _b = _a.dayComponent, dayComponent = _b === void 0 ? CalendarDay : _b, statePerWeek = _a.statePerWeek, userDataPerWeek = _a.userDataPerWeek, minDate = _a.minDate, maxDate = _a.maxDate, onClickDay = _a.onClickDay, onClickWeek = _a.onClickWeek, onClickWeekDay = _a.onClickWeekDay, onClickMonth = _a.onClickMonth, onClickYear = _a.onClickYear, renderWeekNumber = _a.renderWeekNumber, renderWeekDay = _a.renderWeekDay, headerLeftContent = _a.headerLeftContent, headerRightContent = _a.headerRightContent, _c = _a.theme, theme = _c === void 0 ? defaultCalendarTheme : _c, extraDayContent = _a.extraDayContent, defaultHighlights = _a.defaultHighlights;
|
|
486
508
|
var showWeekNumber = theme.WeekNumber.show;
|
|
487
509
|
return (React__namespace.createElement(React__namespace.Fragment, null,
|
|
488
510
|
React__namespace.createElement(core.Box, { alignItems: "stretch" },
|
|
@@ -500,7 +522,7 @@ function CalendarMonth(_a) {
|
|
|
500
522
|
React__namespace.createElement(core.Box, { width: theme.width, height: theme.height, justifyContent: "center", alignItems: "center" },
|
|
501
523
|
React__namespace.createElement(core.Text, { size: "small", color: theme.CalendarMonth.headerTextColor }, "W")))),
|
|
502
524
|
month.weeks[0].days.map(function (day) { return (React__namespace.createElement("td", { key: day.name }, renderWeekDay ? (renderWeekDay(day.name, theme, onClickWeekDay)) : (React__namespace.createElement(WeekDayCell, { day: day, onClickWeekDay: onClickWeekDay, theme: theme })))); })),
|
|
503
|
-
month.weeks.map(function (week) { return (React__namespace.createElement(CalendarWeek, { key: week.weekNumber, month: month, week: week, dayComponent: dayComponent, statePerWeekDay: statePerWeek && statePerWeek[week.weekNumber], userDataPerWeekDay: userDataPerWeek && userDataPerWeek[week.weekNumber], onClickDay: onClickDay, onClickWeek: onClickWeek, theme: theme, renderWeekNumber: renderWeekNumber, extraDayContent: extraDayContent, defaultHighlights: defaultHighlights })); }))))));
|
|
525
|
+
month.weeks.map(function (week) { return (React__namespace.createElement(CalendarWeek, { key: week.weekNumber, month: month, week: week, dayComponent: dayComponent, statePerWeekDay: statePerWeek && statePerWeek[week.weekNumber], userDataPerWeekDay: userDataPerWeek && userDataPerWeek[week.weekNumber], onClickDay: onClickDay, onClickWeek: onClickWeek, theme: theme, renderWeekNumber: renderWeekNumber, extraDayContent: extraDayContent, defaultHighlights: defaultHighlights, minDate: minDate, maxDate: maxDate })); }))))));
|
|
504
526
|
}
|
|
505
527
|
|
|
506
528
|
function styleInject(css, ref) {
|
|
@@ -535,11 +557,13 @@ var styles$1 = {"calendar":"Calendar-module_calendar__Ztvgm"};
|
|
|
535
557
|
styleInject(css_248z$1);
|
|
536
558
|
|
|
537
559
|
function CalendarPanel(_a) {
|
|
538
|
-
var monthRows = _a.monthRows, _b = _a.dayComponent, dayComponent = _b === void 0 ? CalendarDay : _b, userDataPerMonth = _a.userDataPerMonth, statePerMonth = _a.statePerMonth, onClickDay = _a.onClickDay, onClickWeekDay = _a.onClickWeekDay, onClickWeek = _a.onClickWeek, onClickMonth = _a.onClickMonth, onClickYear = _a.onClickYear, renderWeekDay = _a.renderWeekDay, renderWeekNumber = _a.renderWeekNumber, headerLeftContent = _a.headerLeftContent, headerRightContent = _a.headerRightContent, extraDayContent = _a.extraDayContent, defaultHighlights = _a.defaultHighlights, _c = _a.theme, theme = _c === void 0 ? defaultCalendarTheme : _c;
|
|
560
|
+
var monthRows = _a.monthRows, _b = _a.dayComponent, dayComponent = _b === void 0 ? CalendarDay : _b, userDataPerMonth = _a.userDataPerMonth, statePerMonth = _a.statePerMonth, minDate = _a.minDate, maxDate = _a.maxDate, onClickDay = _a.onClickDay, onClickWeekDay = _a.onClickWeekDay, onClickWeek = _a.onClickWeek, onClickMonth = _a.onClickMonth, onClickYear = _a.onClickYear, renderWeekDay = _a.renderWeekDay, renderWeekNumber = _a.renderWeekNumber, headerLeftContent = _a.headerLeftContent, headerRightContent = _a.headerRightContent, extraDayContent = _a.extraDayContent, defaultHighlights = _a.defaultHighlights, _c = _a.theme, theme = _c === void 0 ? defaultCalendarTheme : _c;
|
|
561
|
+
var minDateObj = React.useMemo(function () { return (minDate ? dateFns.parse(minDate, "yyyy-MM-dd", new Date()) : undefined); }, [minDate]);
|
|
562
|
+
var maxDateObj = React.useMemo(function () { return (maxDate ? dateFns.parse(maxDate, "yyyy-MM-dd", new Date()) : undefined); }, [maxDate]);
|
|
539
563
|
return (React__namespace.createElement("div", { className: styles$1.calendar }, monthRows.map(function (monthRow, rowIndex) { return (React__namespace.createElement(core.Spacing, { key: rowIndex },
|
|
540
564
|
React__namespace.createElement(core.Row, null, monthRow.map(function (month, index) { return (React__namespace.createElement(React__namespace.Fragment, { key: month.name },
|
|
541
565
|
index > 0 && React__namespace.createElement(core.Space, null),
|
|
542
|
-
React__namespace.createElement(CalendarMonth, { month: month, dayComponent: dayComponent, userDataPerWeek: userDataPerMonth && userDataPerMonth[month.monthString], statePerWeek: statePerMonth && statePerMonth[month.monthString], onClickDay: onClickDay, onClickWeekDay: onClickWeekDay, onClickWeek: onClickWeek, onClickMonth: onClickMonth, onClickYear: onClickYear, theme: theme, renderWeekNumber: renderWeekNumber, renderWeekDay: renderWeekDay, headerLeftContent: headerLeftContent, headerRightContent: headerRightContent, extraDayContent: extraDayContent, defaultHighlights: defaultHighlights }))); })))); })));
|
|
566
|
+
React__namespace.createElement(CalendarMonth, { month: month, dayComponent: dayComponent, userDataPerWeek: userDataPerMonth && userDataPerMonth[month.monthString], statePerWeek: statePerMonth && statePerMonth[month.monthString], onClickDay: onClickDay, onClickWeekDay: onClickWeekDay, onClickWeek: onClickWeek, onClickMonth: onClickMonth, onClickYear: onClickYear, theme: theme, renderWeekNumber: renderWeekNumber, renderWeekDay: renderWeekDay, headerLeftContent: headerLeftContent, headerRightContent: headerRightContent, extraDayContent: extraDayContent, defaultHighlights: defaultHighlights, minDate: minDateObj, maxDate: maxDateObj }))); })))); })));
|
|
543
567
|
}
|
|
544
568
|
function Calendar(props) {
|
|
545
569
|
var initialDate = getInitialDate(props.year, props.month, props.date);
|
|
@@ -796,97 +820,65 @@ var fallbackIfNoPlacement = function (monthSwitcherPlacement, numMonths) {
|
|
|
796
820
|
return monthSwitcherPlacement || (numMonths || 1) > 1 ? "below" : "header";
|
|
797
821
|
};
|
|
798
822
|
|
|
799
|
-
var
|
|
800
|
-
startDate:
|
|
801
|
-
|
|
823
|
+
var dateRangeToStrings = function (dateRange) { return ({
|
|
824
|
+
startDate: dateRange.startDate
|
|
825
|
+
? dateFns.format(dateRange.startDate, "yyyy-MM-dd")
|
|
826
|
+
: undefined,
|
|
827
|
+
endDate: dateRange.endDate
|
|
828
|
+
? dateFns.format(dateRange.endDate, "yyyy-MM-dd")
|
|
829
|
+
: undefined,
|
|
802
830
|
}); };
|
|
803
|
-
var
|
|
831
|
+
var stringsToDateRange = function (_a) {
|
|
832
|
+
var startDate = _a.startDate, endDate = _a.endDate;
|
|
804
833
|
var now = new Date();
|
|
805
834
|
return {
|
|
806
|
-
startDate: (
|
|
807
|
-
|
|
808
|
-
undefined,
|
|
809
|
-
endDate: (interval.endDate &&
|
|
810
|
-
dateFns.parse(interval.endDate, DateFormats.fullDate, now)) ||
|
|
811
|
-
undefined,
|
|
835
|
+
startDate: startDate ? dateFns.parse(startDate, "yyyy-MM-dd", now) : undefined,
|
|
836
|
+
endDate: endDate ? dateFns.parse(endDate, "yyyy-MM-dd", now) : undefined,
|
|
812
837
|
};
|
|
838
|
+
};
|
|
839
|
+
|
|
840
|
+
var isDateRangeInvalid = function (_a) {
|
|
841
|
+
var startDate = _a.startDate, endDate = _a.endDate;
|
|
842
|
+
return Boolean(startDate &&
|
|
843
|
+
endDate &&
|
|
844
|
+
!dateFns.isSameDay(startDate, endDate) &&
|
|
845
|
+
dateFns.isAfter(startDate, endDate));
|
|
813
846
|
};
|
|
814
|
-
var
|
|
815
|
-
if (
|
|
816
|
-
interval.endDate &&
|
|
817
|
-
dateFns.isAfter(interval.startDate, interval.endDate)) {
|
|
847
|
+
var toggleDatesIfEndIsEarlierThanStart = function (dateRange) {
|
|
848
|
+
if (isDateRangeInvalid(dateRange)) {
|
|
818
849
|
return {
|
|
819
|
-
startDate:
|
|
820
|
-
endDate:
|
|
850
|
+
startDate: dateRange.endDate,
|
|
851
|
+
endDate: dateRange.startDate,
|
|
821
852
|
};
|
|
822
853
|
}
|
|
823
|
-
return
|
|
854
|
+
return dateRange;
|
|
855
|
+
};
|
|
856
|
+
var toggleDateStringsIfEndIsEarlierThanStart = function (dateRange) {
|
|
857
|
+
if (dateRange.startDate && dateRange.endDate) {
|
|
858
|
+
return dateRangeToStrings(toggleDatesIfEndIsEarlierThanStart(stringsToDateRange(dateRange)));
|
|
859
|
+
}
|
|
860
|
+
return dateRange;
|
|
824
861
|
};
|
|
825
862
|
|
|
826
|
-
var useDateRangeOnClickDayHandler = function (
|
|
863
|
+
var useDateRangeOnClickDayHandler = function (value, onValueChange, focusedInput, setFocusedInput) {
|
|
827
864
|
return React.useCallback(function (day) {
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
}
|
|
835
|
-
}
|
|
836
|
-
else {
|
|
837
|
-
setStartDate(day.date);
|
|
838
|
-
setFocusedInput("endDate");
|
|
839
|
-
if (onChange) {
|
|
840
|
-
onChange(ensureStartIsFirst({
|
|
841
|
-
startDate: day.date,
|
|
842
|
-
endDate: endDate,
|
|
843
|
-
}));
|
|
844
|
-
}
|
|
845
|
-
}
|
|
846
|
-
}
|
|
847
|
-
else if (focusedInput === "endDate") {
|
|
848
|
-
if (startDate && dateFns.isAfter(startDate, day.date)) {
|
|
849
|
-
setStartDate(day.date);
|
|
850
|
-
setEndDate(startDate);
|
|
851
|
-
if (onChange) {
|
|
852
|
-
onChange({ startDate: day.date, endDate: startDate });
|
|
853
|
-
}
|
|
854
|
-
}
|
|
855
|
-
else {
|
|
856
|
-
setEndDate(day.date);
|
|
857
|
-
setFocusedInput("startDate");
|
|
858
|
-
if (onChange) {
|
|
859
|
-
onChange(ensureStartIsFirst({
|
|
860
|
-
startDate: startDate,
|
|
861
|
-
endDate: day.date,
|
|
862
|
-
}));
|
|
863
|
-
}
|
|
864
|
-
}
|
|
865
|
+
var dateRange = {
|
|
866
|
+
startDate: focusedInput === "startDate" ? day.date : value === null || value === void 0 ? void 0 : value.startDate,
|
|
867
|
+
endDate: focusedInput === "endDate" ? day.date : value === null || value === void 0 ? void 0 : value.endDate,
|
|
868
|
+
};
|
|
869
|
+
if (!isDateRangeInvalid(dateRange)) {
|
|
870
|
+
setFocusedInput(focusedInput === "startDate" ? "endDate" : "startDate");
|
|
865
871
|
}
|
|
872
|
+
onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(toggleDatesIfEndIsEarlierThanStart(dateRange));
|
|
866
873
|
}, [
|
|
867
874
|
focusedInput,
|
|
868
|
-
|
|
869
|
-
startDate,
|
|
870
|
-
setStartDate,
|
|
871
|
-
setEndDate,
|
|
872
|
-
onChange,
|
|
875
|
+
onValueChange,
|
|
873
876
|
setFocusedInput,
|
|
877
|
+
value === null || value === void 0 ? void 0 : value.endDate,
|
|
878
|
+
value === null || value === void 0 ? void 0 : value.startDate,
|
|
874
879
|
]);
|
|
875
880
|
};
|
|
876
881
|
|
|
877
|
-
var toggleDatesIfEndIsEarlierThanStart = function (startDate, endDate) {
|
|
878
|
-
if (startDate && endDate && dateFns.isAfter(startDate, endDate)) {
|
|
879
|
-
return {
|
|
880
|
-
startDate: endDate,
|
|
881
|
-
endDate: startDate,
|
|
882
|
-
};
|
|
883
|
-
}
|
|
884
|
-
return {
|
|
885
|
-
startDate: startDate,
|
|
886
|
-
endDate: endDate,
|
|
887
|
-
};
|
|
888
|
-
};
|
|
889
|
-
|
|
890
882
|
var useInternalPanelState = function (onChangePanel) {
|
|
891
883
|
var _a = React.useState("calendar"), currentPanel = _a[0], _setCurrentPanel = _a[1];
|
|
892
884
|
var setCurrentPanel = React.useCallback(function (currentPanel) {
|
|
@@ -900,14 +892,13 @@ var useInternalPanelState = function (onChangePanel) {
|
|
|
900
892
|
};
|
|
901
893
|
|
|
902
894
|
var useDateRangeSelection = function (_a) {
|
|
903
|
-
var focusedInput = _a.focusedInput,
|
|
895
|
+
var focusedInput = _a.focusedInput, value = _a.value, onValueChange = _a.onValueChange, setFocusedInput = _a.setFocusedInput, statePerMonth = _a.statePerMonth, onChangePanel = _a.onChangePanel;
|
|
904
896
|
var _b = useInternalPanelState(onChangePanel), currentPanel = _b.currentPanel, setCurrentPanel = _b.setCurrentPanel;
|
|
905
897
|
var _c = React.useState(function () { return new Date(); }), dateInFocus = _c[0], setDateInFocus = _c[1];
|
|
906
|
-
var onClickDay = useDateRangeOnClickDayHandler(
|
|
907
|
-
var dates = React.useMemo(function () { return toggleDatesIfEndIsEarlierThanStart(startDate, endDate); }, [startDate, endDate]);
|
|
898
|
+
var onClickDay = useDateRangeOnClickDayHandler(value, onValueChange, focusedInput, setFocusedInput);
|
|
908
899
|
var statePerMonthWithSelection = React.useMemo(function () {
|
|
909
|
-
return buildDayStateForDateRange(statePerMonth,
|
|
910
|
-
}, [statePerMonth,
|
|
900
|
+
return buildDayStateForDateRange(statePerMonth, value === null || value === void 0 ? void 0 : value.startDate, value === null || value === void 0 ? void 0 : value.endDate);
|
|
901
|
+
}, [statePerMonth, value === null || value === void 0 ? void 0 : value.endDate, value === null || value === void 0 ? void 0 : value.startDate]);
|
|
911
902
|
return {
|
|
912
903
|
onClickDay: onClickDay,
|
|
913
904
|
statePerMonth: statePerMonthWithSelection,
|
|
@@ -1080,46 +1071,46 @@ var listContainsDate = function (list, date) {
|
|
|
1080
1071
|
};
|
|
1081
1072
|
|
|
1082
1073
|
var useDateRangeExclusionSelection = function (_a) {
|
|
1083
|
-
var
|
|
1084
|
-
var _b = React.useState(),
|
|
1085
|
-
var _c = React.useState(),
|
|
1086
|
-
var _d =
|
|
1087
|
-
var _e =
|
|
1088
|
-
var _f = React.useState(function () { var _a; return (_a = (focusedInput && (value === null || value === void 0 ? void 0 : value[focusedInput]))) !== null && _a !== void 0 ? _a : new Date(); }), dateInFocus = _f[0], setDateInFocus = _f[1];
|
|
1074
|
+
var value = _a.value, onValueChange = _a.onValueChange, statePerMonth = _a.statePerMonth, onChangePanel = _a.onChangePanel;
|
|
1075
|
+
var _b = React.useState(), dateRange = _b[0], setDateRange = _b[1];
|
|
1076
|
+
var _c = React.useState("startDate"), focusedInput = _c[0], setFocusedInput = _c[1];
|
|
1077
|
+
var _d = useInternalPanelState(onChangePanel), currentPanel = _d.currentPanel, setCurrentPanel = _d.setCurrentPanel;
|
|
1078
|
+
var _e = React.useState(function () { var _a; return (_a = (focusedInput && (value === null || value === void 0 ? void 0 : value[focusedInput]))) !== null && _a !== void 0 ? _a : new Date(); }), dateInFocus = _e[0], setDateInFocus = _e[1];
|
|
1089
1079
|
var onChangeHandler = React.useCallback(function (value) {
|
|
1080
|
+
setDateRange(value);
|
|
1090
1081
|
var startDate = value.startDate, endDate = value.endDate;
|
|
1091
|
-
if (
|
|
1082
|
+
if (onValueChange) {
|
|
1092
1083
|
if (startDate && endDate) {
|
|
1093
1084
|
var dates = dateFns.eachDayOfInterval({ start: startDate, end: endDate });
|
|
1094
|
-
|
|
1085
|
+
onValueChange(dates);
|
|
1095
1086
|
}
|
|
1096
1087
|
else if (startDate) {
|
|
1097
|
-
|
|
1088
|
+
onValueChange([startDate]);
|
|
1098
1089
|
}
|
|
1099
1090
|
else if (endDate) {
|
|
1100
|
-
|
|
1091
|
+
onValueChange([endDate]);
|
|
1101
1092
|
}
|
|
1102
1093
|
}
|
|
1103
|
-
}, [
|
|
1104
|
-
var onClickDayRange = useDateRangeOnClickDayHandler(
|
|
1094
|
+
}, [onValueChange]);
|
|
1095
|
+
var onClickDayRange = useDateRangeOnClickDayHandler(dateRange, onChangeHandler, focusedInput, setFocusedInput);
|
|
1105
1096
|
var onClickDay = React.useCallback(function (day, userData, ev) {
|
|
1106
|
-
if (
|
|
1097
|
+
if (onValueChange) {
|
|
1107
1098
|
if (ev.ctrlKey || ev.metaKey) {
|
|
1108
1099
|
if (!value) {
|
|
1109
|
-
|
|
1100
|
+
onValueChange([day.date]);
|
|
1110
1101
|
}
|
|
1111
1102
|
else if (listContainsDate(value, day.date)) {
|
|
1112
|
-
|
|
1103
|
+
onValueChange(removeDateIfExist(value, day.date));
|
|
1113
1104
|
}
|
|
1114
1105
|
else {
|
|
1115
|
-
|
|
1106
|
+
onValueChange(__spreadArray(__spreadArray([], value, true), [day.date], false));
|
|
1116
1107
|
}
|
|
1117
1108
|
}
|
|
1118
1109
|
else {
|
|
1119
1110
|
onClickDayRange(day, userData, ev);
|
|
1120
1111
|
}
|
|
1121
1112
|
}
|
|
1122
|
-
}, [
|
|
1113
|
+
}, [onValueChange, onClickDayRange, value]);
|
|
1123
1114
|
var statePerMonthWithSelectedDate = React.useMemo(function () {
|
|
1124
1115
|
return addHighlighting(statePerMonth, value);
|
|
1125
1116
|
}, [statePerMonth, value]);
|
|
@@ -1186,16 +1177,18 @@ var useDateInput = function (onChange, onClose, openOnMount) {
|
|
|
1186
1177
|
};
|
|
1187
1178
|
};
|
|
1188
1179
|
|
|
1180
|
+
var defaultMaxDate = "2999-12-31";
|
|
1181
|
+
|
|
1189
1182
|
var DateInput = function (_a) {
|
|
1190
|
-
var _b = _a.displayFormat, displayFormat = _b === void 0 ? DateFormats.fullDate : _b, _c = _a.placeholder, placeholder = _c === void 0 ? "Enter date" : _c, value = _a.value, _d = _a.zIndex, zIndex = _d === void 0 ? 100 : _d, _e = _a.calendarTheme, calendarTheme = _e === void 0 ? defaultCalendarTheme : _e, calendarProps = _a.calendarProps, openOnMount = _a.openOnMount, onClose = _a.onClose, onChange = _a.onChange, portalTarget = _a.portalTarget, variant = _a.variant, width = _a.width;
|
|
1191
|
-
var
|
|
1192
|
-
var
|
|
1183
|
+
var _b = _a.displayFormat, displayFormat = _b === void 0 ? DateFormats.fullDate : _b, _c = _a.placeholder, placeholder = _c === void 0 ? "Enter date" : _c, value = _a.value, _d = _a.zIndex, zIndex = _d === void 0 ? 100 : _d, _e = _a.calendarTheme, calendarTheme = _e === void 0 ? defaultCalendarTheme : _e, calendarProps = _a.calendarProps, openOnMount = _a.openOnMount, onClose = _a.onClose, onChange = _a.onChange, portalTarget = _a.portalTarget, variant = _a.variant, width = _a.width, minDate = _a.minDate, _f = _a.maxDate, maxDate = _f === void 0 ? defaultMaxDate : _f;
|
|
1184
|
+
var _g = useDateInput(onChange, onClose, openOnMount), hideCalendar = _g.hideCalendar, showingCalendar = _g.showingCalendar, onSelectDate = _g.onSelectDate, showCalendar = _g.showCalendar;
|
|
1185
|
+
var _h = useCalendarPopoverUpdater(), tippyRef = _h.tippyRef, onChangePanel = _h.onChangePanel;
|
|
1193
1186
|
return (React__namespace.createElement(core.Box, { width: width },
|
|
1194
|
-
React__namespace.createElement(tooltip.Popover, { arrow: false, lazy: true, visible: showingCalendar, onClickOutside: hideCalendar, placement: defaultPopoverPlacement, zIndex: zIndex, appendTo: portalTarget !== null && portalTarget !== void 0 ? portalTarget : "parent", tippyRef: tippyRef, content: React__namespace.createElement(SingleDateCalendar, __assign({}, calendarProps, { onChange: onSelectDate, value: value, theme: calendarTheme, onChangePanel: onChangePanel })) },
|
|
1195
|
-
React__namespace.createElement(forms.TextInput, {
|
|
1187
|
+
React__namespace.createElement(tooltip.Popover, { arrow: false, lazy: true, visible: showingCalendar, onClickOutside: hideCalendar, placement: defaultPopoverPlacement, zIndex: zIndex, appendTo: portalTarget !== null && portalTarget !== void 0 ? portalTarget : "parent", tippyRef: tippyRef, content: React__namespace.createElement(SingleDateCalendar, __assign({}, calendarProps, { onChange: onSelectDate, value: value, theme: calendarTheme, onChangePanel: onChangePanel, minDate: minDate, maxDate: maxDate })) },
|
|
1188
|
+
React__namespace.createElement(forms.TextInput, { type: "date", iconRight: faCalendarAlt.faCalendarAlt, onFocus: showCalendar, onClickRight: showCalendar, value: value ? dateFns.format(value, displayFormat) : "", placeholder: placeholder, size: 9, autoFocus: openOnMount, variant: variant, min: minDate, max: maxDate }))));
|
|
1196
1189
|
};
|
|
1197
1190
|
|
|
1198
|
-
var useDateRangeInput = function (value,
|
|
1191
|
+
var useDateRangeInput = function (value, onValueChange) {
|
|
1199
1192
|
var startDateInputRef = React.useRef(null);
|
|
1200
1193
|
var endDateInputRef = React.useRef(null);
|
|
1201
1194
|
var _a = React.useState(false), showingCalendar = _a[0], setShowingCalendar = _a[1];
|
|
@@ -1215,11 +1208,11 @@ var useDateRangeInput = function (value, onChange) {
|
|
|
1215
1208
|
}, [setShowingCalendar]);
|
|
1216
1209
|
var onClickDay = React.useCallback(function (day) {
|
|
1217
1210
|
if (focusedInput === "startDate") {
|
|
1218
|
-
|
|
1211
|
+
onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange({
|
|
1219
1212
|
startDate: day.date,
|
|
1220
|
-
endDate: value.endDate,
|
|
1213
|
+
endDate: value === null || value === void 0 ? void 0 : value.endDate,
|
|
1221
1214
|
});
|
|
1222
|
-
if (!value.endDate) {
|
|
1215
|
+
if (!(value === null || value === void 0 ? void 0 : value.endDate)) {
|
|
1223
1216
|
setFocusedInput("endDate");
|
|
1224
1217
|
endDateInputRef.current && endDateInputRef.current.focus();
|
|
1225
1218
|
}
|
|
@@ -1228,11 +1221,11 @@ var useDateRangeInput = function (value, onChange) {
|
|
|
1228
1221
|
}
|
|
1229
1222
|
}
|
|
1230
1223
|
else if (focusedInput === "endDate") {
|
|
1231
|
-
|
|
1232
|
-
startDate: value.startDate,
|
|
1224
|
+
onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange({
|
|
1225
|
+
startDate: value === null || value === void 0 ? void 0 : value.startDate,
|
|
1233
1226
|
endDate: day.date,
|
|
1234
1227
|
});
|
|
1235
|
-
if (!value.startDate) {
|
|
1228
|
+
if (!(value === null || value === void 0 ? void 0 : value.startDate)) {
|
|
1236
1229
|
setFocusedInput("startDate");
|
|
1237
1230
|
startDateInputRef.current && startDateInputRef.current.focus();
|
|
1238
1231
|
}
|
|
@@ -1240,12 +1233,12 @@ var useDateRangeInput = function (value, onChange) {
|
|
|
1240
1233
|
setTimeout(hideCalendar, 150);
|
|
1241
1234
|
}
|
|
1242
1235
|
}
|
|
1243
|
-
}, [focusedInput,
|
|
1236
|
+
}, [focusedInput, onValueChange, setFocusedInput, hideCalendar, value]);
|
|
1244
1237
|
var startDateIsAfterEnd = React.useMemo(function () {
|
|
1245
|
-
return value.startDate &&
|
|
1246
|
-
value.endDate &&
|
|
1238
|
+
return (value === null || value === void 0 ? void 0 : value.startDate) &&
|
|
1239
|
+
(value === null || value === void 0 ? void 0 : value.endDate) &&
|
|
1247
1240
|
dateFns.isAfter(value.startDate, value.endDate);
|
|
1248
|
-
}, [value.startDate, value.endDate]);
|
|
1241
|
+
}, [value === null || value === void 0 ? void 0 : value.startDate, value === null || value === void 0 ? void 0 : value.endDate]);
|
|
1249
1242
|
return {
|
|
1250
1243
|
showingCalendar: showingCalendar,
|
|
1251
1244
|
hideCalendar: hideCalendar,
|
|
@@ -1264,24 +1257,26 @@ var useDateRangeInput = function (value, onChange) {
|
|
|
1264
1257
|
* @deprecated Please use DateRangeDualTextInput instead.
|
|
1265
1258
|
*/
|
|
1266
1259
|
var DateRangeInput = function (_a) {
|
|
1267
|
-
var _b = _a.displayFormat, displayFormat = _b === void 0 ? DateFormats.fullDate : _b, _c = _a.placeholderStartDate, placeholderStartDate = _c === void 0 ? "Start date" : _c, _d = _a.placeholderEndDate, placeholderEndDate = _d === void 0 ? "End date" : _d, portalTarget = _a.portalTarget, value = _a.value,
|
|
1268
|
-
var
|
|
1269
|
-
var
|
|
1270
|
-
var
|
|
1271
|
-
var statePerMonth = React.useMemo(function () {
|
|
1272
|
-
|
|
1260
|
+
var _b = _a.displayFormat, displayFormat = _b === void 0 ? DateFormats.fullDate : _b, _c = _a.placeholderStartDate, placeholderStartDate = _c === void 0 ? "Start date" : _c, _d = _a.placeholderEndDate, placeholderEndDate = _d === void 0 ? "End date" : _d, portalTarget = _a.portalTarget, value = _a.value, onValueChange = _a.onValueChange, _e = _a.zIndex, zIndex = _e === void 0 ? 100 : _e, width = _a.width, _f = _a.calendarTheme, calendarTheme = _f === void 0 ? defaultCalendarTheme : _f, calendarProps = _a.calendarProps, minDate = _a.minDate, _g = _a.maxDate, maxDate = _g === void 0 ? defaultMaxDate : _g;
|
|
1261
|
+
var _h = React.useState(function () { var _a; return (_a = (focusedInput && (value === null || value === void 0 ? void 0 : value[focusedInput]))) !== null && _a !== void 0 ? _a : new Date(); }), dateInFocus = _h[0], setDateInFocus = _h[1];
|
|
1262
|
+
var _j = React.useState("calendar"), currentPanel = _j[0], setCurrentPanel = _j[1];
|
|
1263
|
+
var _k = useDateRangeInput(value, onValueChange), hideCalendar = _k.hideCalendar, showCalendarEndDate = _k.showCalendarEndDate, showCalendarStartDate = _k.showCalendarStartDate, showingCalendar = _k.showingCalendar, focusedInput = _k.focusedInput, startDateInputRef = _k.startDateInputRef, endDateInputRef = _k.endDateInputRef, onClickDay = _k.onClickDay, startDateIsAfterEnd = _k.startDateIsAfterEnd;
|
|
1264
|
+
var statePerMonth = React.useMemo(function () {
|
|
1265
|
+
return buildDayStateForDateRange(undefined, value === null || value === void 0 ? void 0 : value.startDate, value === null || value === void 0 ? void 0 : value.endDate);
|
|
1266
|
+
}, [value]);
|
|
1267
|
+
return (React__namespace.createElement(tooltip.Popover, { arrow: false, lazy: true, visible: showingCalendar, zIndex: zIndex, placement: defaultPopoverPlacement, appendTo: portalTarget !== null && portalTarget !== void 0 ? portalTarget : "parent", onClickOutside: hideCalendar, content: React__namespace.createElement(CalendarWithMonthSwitcher, __assign({}, calendarProps, { dateInFocus: dateInFocus, setDateInFocus: setDateInFocus, statePerMonth: statePerMonth, theme: calendarTheme, onClickDay: onClickDay, currentPanel: currentPanel, setCurrentPanel: setCurrentPanel, minDate: minDate, maxDate: maxDate })) },
|
|
1273
1268
|
React__namespace.createElement(core.Row, { alignItems: "center" },
|
|
1274
|
-
React__namespace.createElement(forms.TextInput, { iconLeft: faCalendarAlt.faCalendarAlt, onFocus: showCalendarStartDate, value: value.startDate ? dateFns.format(value.startDate, displayFormat) : "", placeholder: placeholderStartDate, width: width, inputRef: startDateInputRef, size: 9, variant: startDateIsAfterEnd ? "error" : undefined }),
|
|
1269
|
+
React__namespace.createElement(forms.TextInput, { iconLeft: faCalendarAlt$1.faCalendarAlt, onFocus: showCalendarStartDate, value: (value === null || value === void 0 ? void 0 : value.startDate) ? dateFns.format(value.startDate, displayFormat) : "", placeholder: placeholderStartDate, width: width, inputRef: startDateInputRef, size: 9, variant: startDateIsAfterEnd ? "error" : undefined }),
|
|
1275
1270
|
React__namespace.createElement(core.Space, null),
|
|
1276
1271
|
React__namespace.createElement(elements.Icon, { icon: faLongArrowAltRight.faLongArrowAltRight, color: theme.cssColor("--lhds-color-ui-500"), size: 14 }),
|
|
1277
1272
|
React__namespace.createElement(core.Space, null),
|
|
1278
|
-
React__namespace.createElement(forms.TextInput, { iconLeft: faCalendarAlt.faCalendarAlt, onFocus: showCalendarEndDate, value: value.endDate ? dateFns.format(value.endDate, displayFormat) : "", placeholder: placeholderEndDate, width: width, inputRef: endDateInputRef, size: 9, variant: startDateIsAfterEnd ? "error" : undefined }))));
|
|
1273
|
+
React__namespace.createElement(forms.TextInput, { iconLeft: faCalendarAlt$1.faCalendarAlt, onFocus: showCalendarEndDate, value: (value === null || value === void 0 ? void 0 : value.endDate) ? dateFns.format(value.endDate, displayFormat) : "", placeholder: placeholderEndDate, width: width, inputRef: endDateInputRef, size: 9, variant: startDateIsAfterEnd ? "error" : undefined }))));
|
|
1279
1274
|
};
|
|
1280
1275
|
|
|
1281
1276
|
var DateTextInput = function (_a) {
|
|
1282
|
-
var calendarProps = _a.calendarProps, _b = _a.closeOnCalendarSelectDate, closeOnCalendarSelectDate = _b === void 0 ? true : _b, _c = _a.dateFormat, dateFormat = _c === void 0 ? DateFormats.fullDate : _c; _a.disableCalender; var onValueChange = _a.onValueChange, _e = _a.placeholder, placeholder = _e === void 0 ? "yyyy-mm-dd" : _e, portalTarget = _a.portalTarget, value = _a.value, _f = _a.width, width = _f === void 0 ? "130px" : _f, _g = _a.zIndex, zIndex = _g === void 0 ? 100 : _g, _h = _a.calendarTheme, calendarTheme = _h === void 0 ? defaultCalendarTheme : _h, _j = _a.hideCalenderIcon, hideCalenderIcon = _j === void 0 ? false : _j, props = __rest(_a, ["calendarProps", "closeOnCalendarSelectDate", "dateFormat", "disableCalender", "onValueChange", "placeholder", "portalTarget", "value", "width", "zIndex", "calendarTheme", "hideCalenderIcon"]);
|
|
1283
|
-
var
|
|
1284
|
-
var
|
|
1277
|
+
var calendarProps = _a.calendarProps, _b = _a.closeOnCalendarSelectDate, closeOnCalendarSelectDate = _b === void 0 ? true : _b, _c = _a.dateFormat, dateFormat = _c === void 0 ? DateFormats.fullDate : _c; _a.disableCalender; var onValueChange = _a.onValueChange, _e = _a.placeholder, placeholder = _e === void 0 ? "yyyy-mm-dd" : _e, portalTarget = _a.portalTarget, value = _a.value, _f = _a.width, width = _f === void 0 ? "130px" : _f, _g = _a.zIndex, zIndex = _g === void 0 ? 100 : _g, _h = _a.calendarTheme, calendarTheme = _h === void 0 ? defaultCalendarTheme : _h, _j = _a.hideCalenderIcon, hideCalenderIcon = _j === void 0 ? false : _j, minDate = _a.minDate, _k = _a.maxDate, maxDate = _k === void 0 ? defaultMaxDate : _k, props = __rest(_a, ["calendarProps", "closeOnCalendarSelectDate", "dateFormat", "disableCalender", "onValueChange", "placeholder", "portalTarget", "value", "width", "zIndex", "calendarTheme", "hideCalenderIcon", "minDate", "maxDate"]);
|
|
1278
|
+
var _l = React.useState(false), open = _l[0], setOpen = _l[1];
|
|
1279
|
+
var _m = useCalendarPopoverUpdater(), tippyRef = _m.tippyRef, onChangePanel = _m.onChangePanel;
|
|
1285
1280
|
var toggleCalendar = React.useCallback(function () {
|
|
1286
1281
|
setOpen(!open);
|
|
1287
1282
|
}, [setOpen, open]);
|
|
@@ -1308,9 +1303,9 @@ var DateTextInput = function (_a) {
|
|
|
1308
1303
|
return (React__namespace.createElement(core.Box, { width: width },
|
|
1309
1304
|
React__namespace.createElement(tooltip.Popover, { arrow: false, lazy: true, visible: open, zIndex: zIndex, appendTo: portalTarget !== null && portalTarget !== void 0 ? portalTarget : "parent", placement: defaultPopoverPlacement, onClickOutside: hideCalendar, tippyRef: tippyRef, content: React__namespace.createElement(SingleDateCalendar, __assign({}, calendarProps, { onChange: onCalendarSelectDate, onChangePanel: onChangePanel, value: value && dateIsValid
|
|
1310
1305
|
? dateFns.parse(value, dateFormat, new Date())
|
|
1311
|
-
: undefined, theme: calendarTheme })) },
|
|
1306
|
+
: undefined, minDate: minDate, maxDate: maxDate, theme: calendarTheme })) },
|
|
1312
1307
|
React__namespace.createElement(forms.TextInput, __assign({}, props, { variant: invalid ? "error" : "standard", disableContentPaddingRight: true, contentRight: !hideCalenderIcon ? (React__namespace.createElement(core.Row, { alignItems: "center", indent: 0.5 },
|
|
1313
|
-
React__namespace.createElement(elements.FlatButton, { size: "small", leftIcon: faCalendarAlt.faCalendarAlt, onClick: toggleCalendar }))) : undefined, onValueChange: onValueChangeHandler, placeholder: placeholder, value: value || "", size: 10 })))));
|
|
1308
|
+
React__namespace.createElement(elements.FlatButton, { size: "small", leftIcon: faCalendarAlt$1.faCalendarAlt, onClick: toggleCalendar }))) : undefined, onValueChange: onValueChangeHandler, placeholder: placeholder, value: value || "", min: minDate, max: maxDate, size: 10 })))));
|
|
1314
1309
|
};
|
|
1315
1310
|
|
|
1316
1311
|
var formatHours = function (hours) {
|
|
@@ -1448,7 +1443,7 @@ var TimeTextInput = function (_a) {
|
|
|
1448
1443
|
};
|
|
1449
1444
|
|
|
1450
1445
|
var DualTextInput = function (_a) {
|
|
1451
|
-
var autoFocusLeft = _a.autoFocusLeft, autoFocusRight = _a.autoFocusRight, onEsc = _a.onEsc, onEnter = _a.onEnter, onValueChangeLeft = _a.onValueChangeLeft, onValueChangeRight = _a.onValueChangeRight, separatorIcon = _a.separatorIcon, placeholderLeft = _a.placeholderLeft, placeholderRight = _a.placeholderRight, typeLeft = _a.typeLeft, typeRight = _a.typeRight, onChangeLeft = _a.onChangeLeft, onChangeRight = _a.onChangeRight, valueLeft = _a.valueLeft, valueRight = _a.valueRight, onClickLeft = _a.onClickLeft, onClickRight = _a.onClickRight, onClickCalendar = _a.onClickCalendar, onClickArrowDown = _a.onClickArrowDown, onBlurLeft = _a.onBlurLeft, onBlurRight = _a.onBlurRight, onFocusLeft = _a.onFocusLeft, onFocusRight = _a.onFocusRight, inputRefLeft = _a.inputRefLeft, inputRefRight = _a.inputRefRight, variant = _a.variant, variantLeft = _a.variantLeft, variantRight = _a.variantRight, onBlur = _a.onBlur, showPresets = _a.showPresets, widthLeft = _a.widthLeft, widthRight = _a.widthRight;
|
|
1446
|
+
var autoFocusLeft = _a.autoFocusLeft, autoFocusRight = _a.autoFocusRight, onEsc = _a.onEsc, onEnter = _a.onEnter, onValueChangeLeft = _a.onValueChangeLeft, onValueChangeRight = _a.onValueChangeRight, separatorIcon = _a.separatorIcon, placeholderLeft = _a.placeholderLeft, placeholderRight = _a.placeholderRight, typeLeft = _a.typeLeft, typeRight = _a.typeRight, onChangeLeft = _a.onChangeLeft, onChangeRight = _a.onChangeRight, valueLeft = _a.valueLeft, valueRight = _a.valueRight, minLeft = _a.minLeft, maxLeft = _a.maxLeft, minRight = _a.minRight, maxRight = _a.maxRight, onClickLeft = _a.onClickLeft, onClickRight = _a.onClickRight, onClickCalendar = _a.onClickCalendar, onClickArrowDown = _a.onClickArrowDown, onBlurLeft = _a.onBlurLeft, onBlurRight = _a.onBlurRight, onFocusLeft = _a.onFocusLeft, onFocusRight = _a.onFocusRight, inputRefLeft = _a.inputRefLeft, inputRefRight = _a.inputRefRight, variant = _a.variant, variantLeft = _a.variantLeft, variantRight = _a.variantRight, onBlur = _a.onBlur, showPresets = _a.showPresets, widthLeft = _a.widthLeft, widthRight = _a.widthRight;
|
|
1452
1447
|
var focusCounter = React.useRef(0);
|
|
1453
1448
|
var tryTriggerOnBlur = React.useMemo(function () {
|
|
1454
1449
|
return lodash.debounce(function (focusCounter) {
|
|
@@ -1488,18 +1483,18 @@ var DualTextInput = function (_a) {
|
|
|
1488
1483
|
return (React__namespace.createElement(core.Box, null,
|
|
1489
1484
|
React__namespace.createElement(forms.TextInputBox, { disableContentPaddingRight: true, variant: variant, contentRight: React__namespace.createElement(core.Row, { alignItems: "center" },
|
|
1490
1485
|
React__namespace.createElement(core.Indent, { num: 0.5 },
|
|
1491
|
-
React__namespace.createElement(elements.FlatButton, { leftIcon: faCalendarAlt
|
|
1486
|
+
React__namespace.createElement(elements.FlatButton, { leftIcon: faCalendarAlt.faCalendarAlt, onClick: onClickCalendar, size: "small" })),
|
|
1492
1487
|
showPresets ? (React__namespace.createElement(React__namespace.Fragment, null,
|
|
1493
1488
|
React__namespace.createElement(core.Row, { height: "22px" },
|
|
1494
1489
|
React__namespace.createElement(core.SeparatorLine, { vertical: true })),
|
|
1495
1490
|
React__namespace.createElement(core.Indent, { num: 0.5 },
|
|
1496
1491
|
React__namespace.createElement(elements.FlatButton, { leftIcon: faAngleDown.faAngleDown, onClick: onClickArrowDown, size: "small" })))) : null) },
|
|
1497
1492
|
React__namespace.createElement(core.Box, { width: widthLeft },
|
|
1498
|
-
React__namespace.createElement(forms.TextInput, { onEsc: onEsc, onEnter: onEnter, onClick: onClickLeft, hideBorder: true, placeholder: placeholderLeft, value: valueLeft, onValueChange: onValueChangeLeft, onChange: onChangeLeft, onBlur: blurLeftHandler, onFocus: focusLeftHandler, inputRef: inputRefLeft, variant: variantLeft, type: typeLeft, autoFocus: autoFocusLeft })),
|
|
1493
|
+
React__namespace.createElement(forms.TextInput, { onEsc: onEsc, onEnter: onEnter, onClick: onClickLeft, hideBorder: true, placeholder: placeholderLeft, value: valueLeft, onValueChange: onValueChangeLeft, onChange: onChangeLeft, onBlur: blurLeftHandler, onFocus: focusLeftHandler, inputRef: inputRefLeft, variant: variantLeft, type: typeLeft, autoFocus: autoFocusLeft, min: minLeft, max: maxLeft })),
|
|
1499
1494
|
React__namespace.createElement(core.Row, { indent: 0.5, alignItems: "center", justifyContent: "center" },
|
|
1500
1495
|
React__namespace.createElement(elements.Icon, { icon: separatorIcon, size: 12, color: theme.cssColor("--lhds-color-ui-500") })),
|
|
1501
1496
|
React__namespace.createElement(core.Box, { width: widthRight },
|
|
1502
|
-
React__namespace.createElement(forms.TextInput, { onEsc: onEsc, onEnter: onEnter, onClick: onClickRight, hideBorder: true, placeholder: placeholderRight, value: valueRight, onValueChange: onValueChangeRight, onChange: onChangeRight, onBlur: blurRightHandler, onFocus: focusRightHandler, inputRef: inputRefRight, variant: variantRight, type: typeRight, autoFocus: autoFocusRight })))));
|
|
1497
|
+
React__namespace.createElement(forms.TextInput, { onEsc: onEsc, onEnter: onEnter, onClick: onClickRight, hideBorder: true, placeholder: placeholderRight, value: valueRight, onValueChange: onValueChangeRight, onChange: onChangeRight, onBlur: blurRightHandler, onFocus: focusRightHandler, inputRef: inputRefRight, variant: variantRight, type: typeRight, autoFocus: autoFocusRight, min: minRight, max: maxRight })))));
|
|
1503
1498
|
};
|
|
1504
1499
|
|
|
1505
1500
|
var transformTimeStringToNumber = function (time) {
|
|
@@ -1804,13 +1799,13 @@ var useUserInputHandlers$1 = function (onChangeDate, dateInputRef, showCalendar,
|
|
|
1804
1799
|
};
|
|
1805
1800
|
|
|
1806
1801
|
var DateTimeInput = function (_a) {
|
|
1807
|
-
var value = _a.value, onValueChange = _a.onValueChange, onEnter = _a.onEnter, onEsc = _a.onEsc, onBlur = _a.onBlur, autoFocus = _a.autoFocus;
|
|
1802
|
+
var value = _a.value, onValueChange = _a.onValueChange, onEnter = _a.onEnter, onEsc = _a.onEsc, onBlur = _a.onBlur, autoFocus = _a.autoFocus, minDate = _a.minDate, _b = _a.maxDate, maxDate = _b === void 0 ? defaultMaxDate : _b;
|
|
1808
1803
|
var dateInputRef = React.useRef(null);
|
|
1809
1804
|
var timeInputRef = React.useRef(null);
|
|
1810
1805
|
var states = useInputStates$1(value);
|
|
1811
1806
|
var setCurrentPanel = states.setCurrentPanel, currentPanel = states.currentPanel, isCalendarVisible = states.isCalendarVisible, dateInFocus = states.dateInFocus, setDateInFocus = states.setDateInFocus, isTimePickerVisible = states.isTimePickerVisible, hideTimePicker = states.hideTimePicker, localTime = states.localTime, localDate = states.localDate;
|
|
1812
|
-
var
|
|
1813
|
-
var
|
|
1807
|
+
var _c = useDateRangeHandlers$1(value, onValueChange, states, dateInputRef), showCalendar = _c.showCalendar, hideCalendar = _c.hideCalendar, inputLeftChangeHandler = _c.inputLeftChangeHandler, inputRightChangeHandler = _c.inputRightChangeHandler, onChangeTime = _c.onChangeTime, onChangeDate = _c.onChangeDate;
|
|
1808
|
+
var _d = useUserInputHandlers$1(onChangeDate, dateInputRef, showCalendar, hideCalendar, states), onKeyDownHandler = _d.onKeyDownHandler, onFocusRight = _d.onFocusRight, onFocusLeft = _d.onFocusLeft, onClickDay = _d.onClickDay, onClickCalendarButton = _d.onClickCalendarButton, onClickArrowButton = _d.onClickArrowButton;
|
|
1814
1809
|
useDateRangeEffects$1(value, setDateInFocus, dateInputRef);
|
|
1815
1810
|
var statePerMonth = React.useMemo(function () {
|
|
1816
1811
|
var dateToHighlight = value || localDate;
|
|
@@ -1830,13 +1825,13 @@ var DateTimeInput = function (_a) {
|
|
|
1830
1825
|
var delayedIsCalendarVisible = core.useDelayedFalse(isCalendarVisible, 300);
|
|
1831
1826
|
var delayedIsTimePickerVisible = core.useDelayedFalse(isTimePickerVisible, 300);
|
|
1832
1827
|
return (React__namespace.createElement(core.Box, { onKeyDown: onKeyDownHandler },
|
|
1833
|
-
React__namespace.createElement(tooltip.Popover, { arrow: false, lazy: true, placement: defaultPopoverPlacement, visible: isCalendarVisible || isTimePickerVisible, onClickOutside: hideAll, content: (delayedIsCalendarVisible || delayedIsTimePickerVisible) && (React__namespace.createElement(core.Column, null, delayedIsCalendarVisible ? (React__namespace.createElement(CalendarWithMonthSwitcher, { statePerMonth: statePerMonth, onClickDay: onClickDay, dateInFocus: dateInFocus, setDateInFocus: setDateInFocus, currentPanel: currentPanel, setCurrentPanel: setCurrentPanel })) : delayedIsTimePickerVisible ? (React__namespace.createElement(core.Column, null,
|
|
1828
|
+
React__namespace.createElement(tooltip.Popover, { arrow: false, lazy: true, placement: defaultPopoverPlacement, visible: isCalendarVisible || isTimePickerVisible, onClickOutside: hideAll, content: (delayedIsCalendarVisible || delayedIsTimePickerVisible) && (React__namespace.createElement(core.Column, null, delayedIsCalendarVisible ? (React__namespace.createElement(CalendarWithMonthSwitcher, { statePerMonth: statePerMonth, onClickDay: onClickDay, dateInFocus: dateInFocus, setDateInFocus: setDateInFocus, currentPanel: currentPanel, setCurrentPanel: setCurrentPanel, minDate: minDate, maxDate: maxDate })) : delayedIsTimePickerVisible ? (React__namespace.createElement(core.Column, null,
|
|
1834
1829
|
React__namespace.createElement(core.Column, { overflow: "hidden", height: "250px" },
|
|
1835
1830
|
React__namespace.createElement(TimePicker, { value: timeValue !== null && timeValue !== void 0 ? timeValue : "", onValueChange: onChangeTime })),
|
|
1836
1831
|
React__namespace.createElement(core.Space, null),
|
|
1837
1832
|
React__namespace.createElement(core.Row, { justifyContent: "flex-end" },
|
|
1838
1833
|
React__namespace.createElement(elements.PrimaryButton, { label: "Done", onClick: hideTimePicker })))) : null)) },
|
|
1839
|
-
React__namespace.createElement(DualTextInput, { autoFocusLeft: autoFocus, onEsc: onEsc, onEnter: onEnter, onBlur: onBlur, separatorIcon: faClock$1.faClock, typeLeft: "date", typeRight: "time", placeholderLeft: "yyyy-mm-dd", placeholderRight: "hh:mm", onChangeLeft: inputLeftChangeHandler, onChangeRight: inputRightChangeHandler, onClickArrowDown: onClickArrowButton, onClickCalendar: onClickCalendarButton, onFocusLeft: onFocusLeft, onFocusRight: onFocusRight, onClickLeft: onFocusLeft, onClickRight: onFocusRight, inputRefLeft: dateInputRef, inputRefRight: timeInputRef, valueRight: timeValue !== null && timeValue !== void 0 ? timeValue : "", widthLeft: "104px", widthRight: "64px" }))));
|
|
1834
|
+
React__namespace.createElement(DualTextInput, { autoFocusLeft: autoFocus, onEsc: onEsc, onEnter: onEnter, onBlur: onBlur, separatorIcon: faClock$1.faClock, typeLeft: "date", typeRight: "time", placeholderLeft: "yyyy-mm-dd", placeholderRight: "hh:mm", onChangeLeft: inputLeftChangeHandler, onChangeRight: inputRightChangeHandler, onClickArrowDown: onClickArrowButton, onClickCalendar: onClickCalendarButton, onFocusLeft: onFocusLeft, onFocusRight: onFocusRight, onClickLeft: onFocusLeft, onClickRight: onFocusRight, inputRefLeft: dateInputRef, inputRefRight: timeInputRef, valueRight: timeValue !== null && timeValue !== void 0 ? timeValue : "", widthLeft: "104px", widthRight: "64px", minLeft: minDate, maxLeft: maxDate }))));
|
|
1840
1835
|
};
|
|
1841
1836
|
|
|
1842
1837
|
var useDateRangeEffects = function (startDate, endDate, setDateInFocus, startDateInputRef, endDateInputRef) {
|
|
@@ -2087,14 +2082,14 @@ var useUserInputHandlers = function (startDate, endDate, onValueChange, startDat
|
|
|
2087
2082
|
};
|
|
2088
2083
|
|
|
2089
2084
|
var DateRangeDualTextInput = function (_a) {
|
|
2090
|
-
var value = _a.value, onValueChange = _a.onValueChange, autoFocus = _a.autoFocus, onBlur = _a.onBlur, onEnter = _a.onEnter, onEsc = _a.onEsc, calendarProps = _a.calendarProps;
|
|
2091
|
-
var
|
|
2085
|
+
var value = _a.value, onValueChange = _a.onValueChange, autoFocus = _a.autoFocus, onBlur = _a.onBlur, onEnter = _a.onEnter, onEsc = _a.onEsc, minDate = _a.minDate, _b = _a.maxDate, maxDate = _b === void 0 ? defaultMaxDate : _b, calendarProps = _a.calendarProps;
|
|
2086
|
+
var _c = value || {}, startDate = _c.startDate, endDate = _c.endDate;
|
|
2092
2087
|
var startDateInputRef = React.useRef(null);
|
|
2093
2088
|
var endDateInputRef = React.useRef(null);
|
|
2094
2089
|
var states = useInputStates(startDate, endDate);
|
|
2095
2090
|
var dateInFocus = states.dateInFocus, setDateInFocus = states.setDateInFocus, isCalendarVisible = states.isCalendarVisible, currentPanel = states.currentPanel, setCurrentPanel = states.setCurrentPanel;
|
|
2096
|
-
var
|
|
2097
|
-
var
|
|
2091
|
+
var _d = useDateRangeHandlers(startDate, endDate, onValueChange, states), showCalendar = _d.showCalendar, hideCalendar = _d.hideCalendar, inputLeftChangeHandler = _d.inputLeftChangeHandler, inputRightChangeHandler = _d.inputRightChangeHandler;
|
|
2092
|
+
var _e = useUserInputHandlers(startDate, endDate, onValueChange, startDateInputRef, endDateInputRef, showCalendar, hideCalendar, states), onKeyDownHandler = _e.onKeyDownHandler, onFocusRight = _e.onFocusRight, onFocusLeft = _e.onFocusLeft, onClickDay = _e.onClickDay, onClickCalendarButton = _e.onClickCalendarButton, onClickArrowButton = _e.onClickArrowButton;
|
|
2098
2093
|
useDateRangeEffects(startDate, endDate, setDateInFocus, startDateInputRef, endDateInputRef);
|
|
2099
2094
|
var startDateIsAfterEnd = React.useMemo(function () { return startDate && endDate && dateFns.isAfter(startDate, endDate); }, [startDate, endDate]);
|
|
2100
2095
|
var statePerMonth = React.useMemo(function () {
|
|
@@ -2102,8 +2097,8 @@ var DateRangeDualTextInput = function (_a) {
|
|
|
2102
2097
|
}, [calendarProps === null || calendarProps === void 0 ? void 0 : calendarProps.statePerMonth, startDate, endDate, dateInFocus]);
|
|
2103
2098
|
var delayedIsCalendarVisible = core.useDelayedFalse(isCalendarVisible, 300);
|
|
2104
2099
|
return (React__namespace.createElement(core.Box, { onKeyDown: onKeyDownHandler },
|
|
2105
|
-
React__namespace.createElement(tooltip.Popover, { arrow: false, lazy: true, placement: defaultPopoverPlacement, onClickOutside: hideCalendar, visible: isCalendarVisible, content: delayedIsCalendarVisible && (React__namespace.createElement(CalendarWithMonthSwitcher, __assign({ onClickDay: onClickDay, dateInFocus: dateInFocus, setDateInFocus: setDateInFocus, currentPanel: currentPanel, setCurrentPanel: setCurrentPanel }, calendarProps, { statePerMonth: statePerMonth }))) },
|
|
2106
|
-
React__namespace.createElement(DualTextInput, { autoFocusLeft: autoFocus, onEsc: onEsc, onEnter: onEnter, onBlur: onBlur, separatorIcon: elements.stenaArrowRight, typeLeft: "date", typeRight: "date", placeholderLeft: "Start date", placeholderRight: "End date", onChangeLeft: inputLeftChangeHandler, onChangeRight: inputRightChangeHandler, onClickArrowDown: onClickArrowButton, onClickCalendar: onClickCalendarButton, onFocusLeft: onFocusLeft, onFocusRight: onFocusRight, onClickLeft: onFocusLeft, onClickRight: onFocusRight, inputRefLeft: startDateInputRef, inputRefRight: endDateInputRef, variant: startDateIsAfterEnd ? "error" : undefined, widthLeft: "104px", widthRight: "104px" }))));
|
|
2100
|
+
React__namespace.createElement(tooltip.Popover, { arrow: false, lazy: true, placement: defaultPopoverPlacement, onClickOutside: hideCalendar, visible: isCalendarVisible, content: delayedIsCalendarVisible && (React__namespace.createElement(CalendarWithMonthSwitcher, __assign({ onClickDay: onClickDay, dateInFocus: dateInFocus, setDateInFocus: setDateInFocus, currentPanel: currentPanel, setCurrentPanel: setCurrentPanel, minDate: minDate, maxDate: maxDate }, calendarProps, { statePerMonth: statePerMonth }))) },
|
|
2101
|
+
React__namespace.createElement(DualTextInput, { autoFocusLeft: autoFocus, onEsc: onEsc, onEnter: onEnter, onBlur: onBlur, separatorIcon: elements.stenaArrowRight, typeLeft: "date", typeRight: "date", placeholderLeft: "Start date", placeholderRight: "End date", onChangeLeft: inputLeftChangeHandler, onChangeRight: inputRightChangeHandler, onClickArrowDown: onClickArrowButton, onClickCalendar: onClickCalendarButton, onFocusLeft: onFocusLeft, onFocusRight: onFocusRight, onClickLeft: onFocusLeft, onClickRight: onFocusRight, inputRefLeft: startDateInputRef, inputRefRight: endDateInputRef, variant: startDateIsAfterEnd ? "error" : undefined, widthLeft: "104px", widthRight: "104px", minLeft: minDate, maxLeft: maxDate, minRight: minDate, maxRight: maxDate }))));
|
|
2107
2102
|
};
|
|
2108
2103
|
|
|
2109
2104
|
exports.Calendar = Calendar;
|
|
@@ -2125,6 +2120,7 @@ exports.WeekDayCell = WeekDayCell;
|
|
|
2125
2120
|
exports.WeekNumberCell = WeekNumberCell;
|
|
2126
2121
|
exports.YearPicker = YearPicker;
|
|
2127
2122
|
exports.addDayStateHighlights = addDayStateHighlights;
|
|
2123
|
+
exports.addDayStateHighlightsOnSingleDay = addDayStateHighlightsOnSingleDay;
|
|
2128
2124
|
exports.addWeekRangeHighlights = addWeekRangeHighlights;
|
|
2129
2125
|
exports.addWeekStateHighlights = addWeekStateHighlights;
|
|
2130
2126
|
exports.buildDayStateForDateRange = buildDayStateForDateRange;
|
|
@@ -2132,12 +2128,12 @@ exports.buildDayStateForRange = buildDayStateForRange;
|
|
|
2132
2128
|
exports.buildDayStateForSingleMonth = buildDayStateForSingleMonth;
|
|
2133
2129
|
exports.calculateOverflowingMonth = calculateOverflowingMonth;
|
|
2134
2130
|
exports.createDay = createDay;
|
|
2131
|
+
exports.dateRangeToStrings = dateRangeToStrings;
|
|
2135
2132
|
exports.dayHasHighlight = dayHasHighlight;
|
|
2136
2133
|
exports.dayHighlightSelect = dayHighlightSelect;
|
|
2137
2134
|
exports.defaultCalendarTheme = defaultCalendarTheme;
|
|
2138
2135
|
exports.defaultTextPropsProvider = defaultTextPropsProvider;
|
|
2139
2136
|
exports.defaultWrapperStyleProvider = defaultWrapperStyleProvider;
|
|
2140
|
-
exports.ensureStartIsFirst = ensureStartIsFirst;
|
|
2141
2137
|
exports.extranetCalendarTheme = extranetCalendarTheme;
|
|
2142
2138
|
exports.getDaysForWeekForDate = getDaysForWeekForDate;
|
|
2143
2139
|
exports.getMonthInYear = getMonthInYear;
|
|
@@ -2145,10 +2141,12 @@ exports.getMonthsInYear = getMonthsInYear;
|
|
|
2145
2141
|
exports.getStartDateOfISOWeek = getStartDateOfISOWeek;
|
|
2146
2142
|
exports.getWeekForDate = getWeekForDate;
|
|
2147
2143
|
exports.getWeeksForMonth = getWeeksForMonth;
|
|
2144
|
+
exports.isDateRangeInvalid = isDateRangeInvalid;
|
|
2148
2145
|
exports.setDayStateValue = setDayStateValue;
|
|
2149
2146
|
exports.setDayStateValueFunction = setDayStateValueFunction;
|
|
2150
|
-
exports.
|
|
2151
|
-
exports.
|
|
2147
|
+
exports.stringsToDateRange = stringsToDateRange;
|
|
2148
|
+
exports.toggleDateStringsIfEndIsEarlierThanStart = toggleDateStringsIfEndIsEarlierThanStart;
|
|
2149
|
+
exports.toggleDatesIfEndIsEarlierThanStart = toggleDatesIfEndIsEarlierThanStart;
|
|
2152
2150
|
exports.useDateRangeCalendarState = useDateRangeCalendarState;
|
|
2153
2151
|
exports.useDateRangeExclusionSelection = useDateRangeExclusionSelection;
|
|
2154
2152
|
exports.useDateRangeSelection = useDateRangeSelection;
|