@alfalab/core-components-calendar-range 7.0.6 → 7.0.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/Component.js +6 -2
- package/cssm/Component.js +5 -1
- package/cssm/hooks.js +31 -22
- package/cssm/views/popover.js +12 -5
- package/cssm/views/static.js +20 -9
- package/esm/Component.js +1 -1
- package/esm/index.js +1 -1
- package/esm/{index.module-bf0c7948.d.ts → index.module-b9db88e5.d.ts} +0 -0
- package/esm/{index.module-bf0c7948.js → index.module-b9db88e5.js} +1 -1
- package/esm/views/index.css +8 -8
- package/esm/views/popover.js +1 -1
- package/esm/views/static.js +1 -1
- package/hooks.js +31 -22
- package/index.js +1 -1
- package/{index.module-3391f602.d.ts → index.module-24e4de4c.d.ts} +0 -0
- package/{index.module-3391f602.js → index.module-24e4de4c.js} +1 -1
- package/modern/Component.js +1 -1
- package/modern/index.js +1 -1
- package/modern/index.module-8c524c02.js +4 -0
- package/modern/views/index.css +8 -8
- package/modern/views/popover.js +1 -1
- package/modern/views/static.js +1 -1
- package/package.json +4 -4
- package/views/index.css +8 -8
- package/views/popover.js +12 -6
- package/views/static.js +20 -10
- package/modern/index.module-5493f8ee.js +0 -4
package/Component.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index_module = require('./index.module-
|
|
3
|
+
var index_module = require('./index.module-24e4de4c.js');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var views_popover = require('./views/popover.js');
|
|
6
6
|
var views_static = require('./views/static.js');
|
|
@@ -18,10 +18,14 @@ require('date-fns/endOfMonth');
|
|
|
18
18
|
require('@alfalab/core-components-calendar');
|
|
19
19
|
require('./utils.js');
|
|
20
20
|
|
|
21
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
22
|
+
|
|
23
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
24
|
+
|
|
21
25
|
var CalendarRange = function (_a) {
|
|
22
26
|
var _b = _a.calendarPosition, calendarPosition = _b === void 0 ? 'static' : _b, restProps = index_module.__rest(_a, ["calendarPosition"]);
|
|
23
27
|
var View = calendarPosition === 'popover' ? views_popover.CalendarRangePopover : views_static.CalendarRangeStatic;
|
|
24
|
-
return
|
|
28
|
+
return React__default.default.createElement(View, index_module.__assign({}, restProps));
|
|
25
29
|
};
|
|
26
30
|
|
|
27
31
|
exports.CalendarRange = CalendarRange;
|
package/cssm/Component.js
CHANGED
|
@@ -19,10 +19,14 @@ require('date-fns/endOfMonth');
|
|
|
19
19
|
require('@alfalab/core-components-calendar/cssm');
|
|
20
20
|
require('./utils.js');
|
|
21
21
|
|
|
22
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
23
|
+
|
|
24
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
25
|
+
|
|
22
26
|
var CalendarRange = function (_a) {
|
|
23
27
|
var _b = _a.calendarPosition, calendarPosition = _b === void 0 ? 'static' : _b, restProps = tslib_es6.__rest(_a, ["calendarPosition"]);
|
|
24
28
|
var View = calendarPosition === 'popover' ? views_popover.CalendarRangePopover : views_static.CalendarRangeStatic;
|
|
25
|
-
return
|
|
29
|
+
return React__default.default.createElement(View, tslib_es6.__assign({}, restProps));
|
|
26
30
|
};
|
|
27
31
|
|
|
28
32
|
exports.CalendarRange = CalendarRange;
|
package/cssm/hooks.js
CHANGED
|
@@ -8,6 +8,15 @@ var min = require('date-fns/min');
|
|
|
8
8
|
var startOfMonth = require('date-fns/startOfMonth');
|
|
9
9
|
var subMonths = require('date-fns/subMonths');
|
|
10
10
|
|
|
11
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
12
|
+
|
|
13
|
+
var addMonths__default = /*#__PURE__*/_interopDefaultCompat(addMonths);
|
|
14
|
+
var isEqual__default = /*#__PURE__*/_interopDefaultCompat(isEqual);
|
|
15
|
+
var max__default = /*#__PURE__*/_interopDefaultCompat(max);
|
|
16
|
+
var min__default = /*#__PURE__*/_interopDefaultCompat(min);
|
|
17
|
+
var startOfMonth__default = /*#__PURE__*/_interopDefaultCompat(startOfMonth);
|
|
18
|
+
var subMonths__default = /*#__PURE__*/_interopDefaultCompat(subMonths);
|
|
19
|
+
|
|
11
20
|
function usePopoverViewMonthes(_a) {
|
|
12
21
|
var dateFrom = _a.dateFrom, dateTo = _a.dateTo, defaultMonth = _a.defaultMonth, resetKey = _a.resetKey;
|
|
13
22
|
var _b = React.useState(), monthFrom = _b[0], setMonthFrom = _b[1];
|
|
@@ -25,10 +34,10 @@ function usePopoverViewMonthes(_a) {
|
|
|
25
34
|
}
|
|
26
35
|
}, [dateFrom]);
|
|
27
36
|
React.useEffect(function () {
|
|
28
|
-
setMonthFrom(dateFrom ?
|
|
37
|
+
setMonthFrom(dateFrom ? startOfMonth__default.default(dateFrom).getTime() : defaultMonth);
|
|
29
38
|
}, [defaultMonth, dateFrom, resetKey]);
|
|
30
39
|
React.useEffect(function () {
|
|
31
|
-
setMonthTo(dateTo ?
|
|
40
|
+
setMonthTo(dateTo ? startOfMonth__default.default(dateTo).getTime() : monthFrom);
|
|
32
41
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
33
42
|
}, [dateTo, resetKey]);
|
|
34
43
|
return {
|
|
@@ -44,44 +53,44 @@ function useStaticViewMonthes(_a) {
|
|
|
44
53
|
* Если указана начальная дата — левый месяц равен ей, иначе используется дата конца.
|
|
45
54
|
* Если обе даты не указаны, то используется дефолтный месяц
|
|
46
55
|
*/
|
|
47
|
-
var initialMonthFrom = React.useMemo(function () { return
|
|
56
|
+
var initialMonthFrom = React.useMemo(function () { return startOfMonth__default.default(selectedFrom || selectedTo || defaultMonth).getTime(); },
|
|
48
57
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
49
58
|
[]);
|
|
50
59
|
/**
|
|
51
60
|
* Правый месяц должен быть как минимум на 1 месяц больше левого
|
|
52
61
|
*/
|
|
53
62
|
var initialMonthTo = React.useMemo(function () {
|
|
54
|
-
return
|
|
55
|
-
selectedTo ?
|
|
56
|
-
|
|
63
|
+
return max__default.default([
|
|
64
|
+
selectedTo ? startOfMonth__default.default(selectedTo) : 0,
|
|
65
|
+
addMonths__default.default(initialMonthFrom, 1),
|
|
57
66
|
]).getTime();
|
|
58
67
|
},
|
|
59
68
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
60
69
|
[]);
|
|
61
70
|
if (defaultMonthPosition === 'right') {
|
|
62
71
|
initialMonthTo = initialMonthFrom;
|
|
63
|
-
initialMonthFrom =
|
|
72
|
+
initialMonthFrom = subMonths__default.default(initialMonthFrom, 1).getTime();
|
|
64
73
|
}
|
|
65
74
|
var _b = React.useState(initialMonthFrom), monthFrom = _b[0], setMonthFrom = _b[1];
|
|
66
75
|
var _c = React.useState(initialMonthTo), monthTo = _c[0], setMonthTo = _c[1];
|
|
67
76
|
var handleMonthFromChange = React.useCallback(function (newMonthFrom) {
|
|
68
77
|
setMonthFrom(newMonthFrom);
|
|
69
|
-
if (monthTo &&
|
|
70
|
-
var nextMonth =
|
|
78
|
+
if (monthTo && isEqual__default.default(newMonthFrom, monthTo)) {
|
|
79
|
+
var nextMonth = addMonths__default.default(newMonthFrom, 1).getTime();
|
|
71
80
|
setMonthTo(nextMonth);
|
|
72
81
|
}
|
|
73
82
|
}, [monthTo]);
|
|
74
83
|
var handleMonthToChange = React.useCallback(function (newMonthTo) {
|
|
75
84
|
setMonthTo(newMonthTo);
|
|
76
|
-
if (monthFrom &&
|
|
77
|
-
var prevMonth =
|
|
85
|
+
if (monthFrom && isEqual__default.default(newMonthTo, monthFrom)) {
|
|
86
|
+
var prevMonth = subMonths__default.default(newMonthTo, 1).getTime();
|
|
78
87
|
setMonthFrom(prevMonth);
|
|
79
88
|
}
|
|
80
89
|
}, [monthFrom]);
|
|
81
90
|
// eslint-disable-next-line complexity
|
|
82
91
|
React.useEffect(function () {
|
|
83
|
-
var selectedFromMonth = selectedFrom ?
|
|
84
|
-
var selectedToMonth = selectedTo ?
|
|
92
|
+
var selectedFromMonth = selectedFrom ? startOfMonth__default.default(selectedFrom).getTime() : undefined;
|
|
93
|
+
var selectedToMonth = selectedTo ? startOfMonth__default.default(selectedTo).getTime() : undefined;
|
|
85
94
|
// Проверяем, показываются ли выбранные месяцы в левой или правой части компонента
|
|
86
95
|
var fromMonthOnLeft = selectedFromMonth && selectedFromMonth === monthFrom;
|
|
87
96
|
var fromMonthOnRight = selectedFromMonth && selectedFromMonth === monthTo;
|
|
@@ -90,25 +99,25 @@ function useStaticViewMonthes(_a) {
|
|
|
90
99
|
var fromMonthOnScreen = fromMonthOnLeft || fromMonthOnRight;
|
|
91
100
|
var toMonthOnScreen = toMonthOnLeft || toMonthOnRight;
|
|
92
101
|
if (fromMonthOnLeft && toMonthOnLeft) {
|
|
93
|
-
setMonthTo(
|
|
102
|
+
setMonthTo(max__default.default([addMonths__default.default(selectedFromMonth, 1), monthTo]).getTime());
|
|
94
103
|
return;
|
|
95
104
|
}
|
|
96
105
|
if (fromMonthOnRight && toMonthOnRight) {
|
|
97
|
-
setMonthFrom(
|
|
106
|
+
setMonthFrom(min__default.default([subMonths__default.default(selectedToMonth, 1), monthFrom]).getTime());
|
|
98
107
|
return;
|
|
99
108
|
}
|
|
100
109
|
if (selectedFromMonth && selectedToMonth) {
|
|
101
110
|
setMonthFrom(selectedFromMonth);
|
|
102
|
-
setMonthTo(
|
|
111
|
+
setMonthTo(max__default.default([addMonths__default.default(selectedFromMonth, 1), selectedToMonth]).getTime());
|
|
103
112
|
return;
|
|
104
113
|
}
|
|
105
114
|
if (selectedFromMonth && !selectedToMonth && !fromMonthOnScreen) {
|
|
106
115
|
setMonthFrom(selectedFromMonth);
|
|
107
|
-
setMonthTo(
|
|
116
|
+
setMonthTo(max__default.default([addMonths__default.default(selectedFromMonth, 1), monthTo]).getTime());
|
|
108
117
|
}
|
|
109
118
|
if (selectedToMonth && !selectedFromMonth && !toMonthOnScreen) {
|
|
110
119
|
setMonthTo(selectedToMonth);
|
|
111
|
-
setMonthFrom(
|
|
120
|
+
setMonthFrom(min__default.default([subMonths__default.default(selectedToMonth, 1), monthFrom]).getTime());
|
|
112
121
|
}
|
|
113
122
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
114
123
|
}, [selectedFrom, selectedTo]);
|
|
@@ -124,15 +133,15 @@ function useSelectionProps(from, to, highlighted) {
|
|
|
124
133
|
if (from && to) {
|
|
125
134
|
return {
|
|
126
135
|
rangeComplete: true,
|
|
127
|
-
selectedFrom:
|
|
128
|
-
selectedTo:
|
|
136
|
+
selectedFrom: min__default.default([from, to]).getTime(),
|
|
137
|
+
selectedTo: max__default.default([from, to]).getTime(),
|
|
129
138
|
};
|
|
130
139
|
}
|
|
131
140
|
var dates = [from, to, highlighted].filter(function (date) { return date !== undefined; });
|
|
132
141
|
return {
|
|
133
142
|
rangeComplete: false,
|
|
134
|
-
selectedFrom: from || dates.length === 2 ?
|
|
135
|
-
selectedTo: to || dates.length === 2 ?
|
|
143
|
+
selectedFrom: from || dates.length === 2 ? min__default.default(dates).getTime() : undefined,
|
|
144
|
+
selectedTo: to || dates.length === 2 ? max__default.default(dates).getTime() : undefined,
|
|
136
145
|
};
|
|
137
146
|
}, [from, highlighted, to]);
|
|
138
147
|
}
|
package/cssm/views/popover.js
CHANGED
|
@@ -14,8 +14,15 @@ require('date-fns/max');
|
|
|
14
14
|
require('date-fns/min');
|
|
15
15
|
require('date-fns/subMonths');
|
|
16
16
|
|
|
17
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
18
|
+
|
|
19
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
20
|
+
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
21
|
+
var startOfMonth__default = /*#__PURE__*/_interopDefaultCompat(startOfMonth);
|
|
22
|
+
var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
|
|
23
|
+
|
|
17
24
|
var CalendarRangePopover = function (_a) {
|
|
18
|
-
var className = _a.className, _b = _a.defaultMonth, defaultMonth = _b === void 0 ?
|
|
25
|
+
var className = _a.className, _b = _a.defaultMonth, defaultMonth = _b === void 0 ? startOfMonth__default.default(new Date()).getTime() : _b, minDate = _a.minDate, maxDate = _a.maxDate, _c = _a.valueFrom, valueFrom = _c === void 0 ? '' : _c, _d = _a.valueTo, valueTo = _d === void 0 ? '' : _d, _e = _a.onDateFromChange, onDateFromChange = _e === void 0 ? function () { return null; } : _e, _f = _a.onDateToChange, onDateToChange = _f === void 0 ? function () { return null; } : _f, _g = _a.onChange, onChange = _g === void 0 ? function () { return null; } : _g, onError = _a.onError, _h = _a.inputFromProps, inputFromProps = _h === void 0 ? {} : _h, _j = _a.inputToProps, inputToProps = _j === void 0 ? {} : _j, offDays = _a.offDays, events = _a.events, dataTestId = _a.dataTestId;
|
|
19
26
|
var _k = React.useState(valueFrom), inputFromValue = _k[0], setInputFromValue = _k[1];
|
|
20
27
|
var _l = React.useState(valueTo), inputToValue = _l[0], setInputToValue = _l[1];
|
|
21
28
|
/**
|
|
@@ -107,10 +114,10 @@ var CalendarRangePopover = function (_a) {
|
|
|
107
114
|
}
|
|
108
115
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
109
116
|
}, [hasValidateError]);
|
|
110
|
-
return (
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
117
|
+
return (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.component, className), "data-test-id": dataTestId },
|
|
118
|
+
React__default.default.createElement(coreComponentsCalendarInput.CalendarInput, tslib_es6.__assign({}, inputFromProps, { useAnchorWidth: false, calendarPosition: 'popover', popoverPosition: 'bottom-start', error: inputFromInvalid || bothInvalid || inputFromProps.error, onChange: handleFromChange, onInputChange: handleInputFromChange, onBlur: handleInputFromBlur, value: inputFromValue, minDate: minDate, maxDate: maxDate, offDays: offDays, events: events, calendarProps: tslib_es6.__assign(tslib_es6.__assign({}, inputFromProps.calendarProps), { month: monthFrom, onMonthChange: handleMonthFromChange, selectorView: 'full' }) })),
|
|
119
|
+
React__default.default.createElement("span", { className: styles__default.default.divider }),
|
|
120
|
+
React__default.default.createElement(coreComponentsCalendarInput.CalendarInput, tslib_es6.__assign({}, inputToProps, { useAnchorWidth: false, calendarPosition: 'popover', popoverPosition: 'bottom-end', error: inputToInvalid || bothInvalid || inputToProps.error, onChange: handleToChange, onInputChange: handleInputToChange, onBlur: handleInputToBlur, value: inputToValue, minDate: dateFrom || minDate, maxDate: maxDate, offDays: offDays, events: events, calendarProps: tslib_es6.__assign(tslib_es6.__assign({}, inputToProps.calendarProps), { month: monthTo, onMonthChange: handleMonthToChange, selectorView: 'full' }) }))));
|
|
114
121
|
};
|
|
115
122
|
|
|
116
123
|
exports.CalendarRangePopover = CalendarRangePopover;
|
package/cssm/views/static.js
CHANGED
|
@@ -17,8 +17,19 @@ var styles = require('./index.module.css');
|
|
|
17
17
|
require('date-fns/isEqual');
|
|
18
18
|
require('date-fns/min');
|
|
19
19
|
|
|
20
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
21
|
+
|
|
22
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
23
|
+
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
24
|
+
var addMonths__default = /*#__PURE__*/_interopDefaultCompat(addMonths);
|
|
25
|
+
var endOfMonth__default = /*#__PURE__*/_interopDefaultCompat(endOfMonth);
|
|
26
|
+
var max__default = /*#__PURE__*/_interopDefaultCompat(max);
|
|
27
|
+
var startOfMonth__default = /*#__PURE__*/_interopDefaultCompat(startOfMonth);
|
|
28
|
+
var subMonths__default = /*#__PURE__*/_interopDefaultCompat(subMonths);
|
|
29
|
+
var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
|
|
30
|
+
|
|
20
31
|
var CalendarRangeStatic = function (_a) {
|
|
21
|
-
var className = _a.className, _b = _a.defaultMonth, defaultMonth = _b === void 0 ?
|
|
32
|
+
var className = _a.className, _b = _a.defaultMonth, defaultMonth = _b === void 0 ? startOfMonth__default.default(new Date()).getTime() : _b, _c = _a.defaultMonthPosition, defaultMonthPosition = _c === void 0 ? 'left' : _c, minDate = _a.minDate, maxDate = _a.maxDate, _d = _a.valueFrom, valueFrom = _d === void 0 ? '' : _d, _e = _a.valueTo, valueTo = _e === void 0 ? '' : _e, _f = _a.onDateFromChange, onDateFromChange = _f === void 0 ? function () { return null; } : _f, _g = _a.onDateToChange, onDateToChange = _g === void 0 ? function () { return null; } : _g, _h = _a.onChange, onChange = _h === void 0 ? function () { return null; } : _h, onError = _a.onError, _j = _a.inputFromProps, inputFromProps = _j === void 0 ? {} : _j, _k = _a.inputToProps, inputToProps = _k === void 0 ? {} : _k, offDays = _a.offDays, events = _a.events, dataTestId = _a.dataTestId;
|
|
22
33
|
var _l = React.useState(valueFrom), inputFromValue = _l[0], setInputFromValue = _l[1];
|
|
23
34
|
var _m = React.useState(valueTo), inputToValue = _m[0], setInputToValue = _m[1];
|
|
24
35
|
var dateFrom = coreComponentsCalendarInput.isValidInputValue(inputFromValue, minDate, maxDate, offDays)
|
|
@@ -148,18 +159,18 @@ var CalendarRangeStatic = function (_a) {
|
|
|
148
159
|
var CalendarToComponent = dateInputToProps.Calendar || coreComponentsCalendar.Calendar;
|
|
149
160
|
return (
|
|
150
161
|
// eslint-disable-next-line jsx-a11y/mouse-events-have-key-events
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
162
|
+
React__default.default.createElement("div", { className: cn__default.default(styles__default.default.component, styles__default.default.static, className), onMouseOver: handleMouseOver, "data-test-id": dataTestId },
|
|
163
|
+
React__default.default.createElement("div", null,
|
|
164
|
+
React__default.default.createElement(coreComponentsDateInput.DateInput, tslib_es6.__assign({}, dateInputFromProps, { mobileMode: dateInputFromProps.mobileMode === 'popover'
|
|
154
165
|
? 'input'
|
|
155
166
|
: dateInputFromProps.mobileMode, value: inputFromValue, onChange: handleInputFromChange, onClear: handleClearFrom, onBlur: handleValidInputFrom, error: bothInvalid || inputFromInvalid || dateInputFromProps.error, clear: true, block: true })),
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
167
|
+
React__default.default.createElement(CalendarFromComponent, tslib_es6.__assign({}, calendarFromProps, { className: cn__default.default(styles__default.default.calendar, calendarFromProps === null || calendarFromProps === void 0 ? void 0 : calendarFromProps.className), month: monthFrom, selectorView: 'month-only', offDays: offDays, events: events, onChange: period.updatePeriod, onMonthChange: handleMonthFromChange, minDate: minDate, maxDate: maxDate && max__default.default([maxDate, endOfMonth__default.default(subMonths__default.default(maxDate, 1))]).getTime() }, rangeProps))),
|
|
168
|
+
React__default.default.createElement("span", { className: styles__default.default.divider }),
|
|
169
|
+
React__default.default.createElement("div", null,
|
|
170
|
+
React__default.default.createElement(coreComponentsDateInput.DateInput, tslib_es6.__assign({}, dateInputToProps, { mobileMode: dateInputToProps.mobileMode === 'popover'
|
|
160
171
|
? 'input'
|
|
161
172
|
: dateInputToProps.mobileMode, value: inputToValue, onChange: handleInputToChange, onClear: handleClearTo, onBlur: handleValidInputTo, error: bothInvalid || inputToInvalid, clear: true, block: true })),
|
|
162
|
-
|
|
173
|
+
React__default.default.createElement(CalendarToComponent, tslib_es6.__assign({}, calendarToProps, { className: cn__default.default(styles__default.default.calendar, calendarToProps === null || calendarToProps === void 0 ? void 0 : calendarToProps.className), month: monthTo, selectorView: 'month-only', offDays: offDays, events: events, onChange: period.updatePeriod, onMonthChange: handleMonthToChange, minDate: minDate && startOfMonth__default.default(addMonths__default.default(minDate, 1)).getTime(), maxDate: maxDate }, rangeProps)))));
|
|
163
174
|
};
|
|
164
175
|
|
|
165
176
|
exports.CalendarRangeStatic = CalendarRangeStatic;
|
package/esm/Component.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as __rest, a as __assign } from './index.module-
|
|
1
|
+
import { _ as __rest, a as __assign } from './index.module-b9db88e5.js';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { CalendarRangePopover } from './views/popover.js';
|
|
4
4
|
import { CalendarRangeStatic } from './views/static.js';
|
package/esm/index.js
CHANGED
|
File without changes
|
|
@@ -37,7 +37,7 @@ function __rest(s, e) {
|
|
|
37
37
|
return t;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
var styles = {"component":"calendar-
|
|
40
|
+
var styles = {"component":"calendar-range__component_qeu3v","divider":"calendar-range__divider_qeu3v","static":"calendar-range__static_qeu3v","calendar":"calendar-range__calendar_qeu3v"};
|
|
41
41
|
require('./views/index.css')
|
|
42
42
|
|
|
43
43
|
export { __rest as _, __assign as a, styles as s };
|
package/esm/views/index.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 142zt */
|
|
2
2
|
:root {
|
|
3
3
|
--color-light-graphic-primary: #0b1f35;
|
|
4
4
|
}
|
|
@@ -36,19 +36,19 @@
|
|
|
36
36
|
|
|
37
37
|
/* marker */
|
|
38
38
|
}
|
|
39
|
-
.calendar-
|
|
39
|
+
.calendar-range__component_qeu3v {
|
|
40
40
|
display: flex
|
|
41
41
|
}
|
|
42
|
-
.calendar-
|
|
42
|
+
.calendar-range__component_qeu3v button[aria-selected='true'] {
|
|
43
43
|
cursor: pointer;
|
|
44
44
|
}
|
|
45
|
-
.calendar-
|
|
45
|
+
.calendar-range__component_qeu3v *[class*='errorIcon_'] {
|
|
46
46
|
display: none;
|
|
47
47
|
}
|
|
48
|
-
.calendar-
|
|
48
|
+
.calendar-range__component_qeu3v *[class*='calendarIcon_'] {
|
|
49
49
|
margin-right: 0;
|
|
50
50
|
}
|
|
51
|
-
.calendar-
|
|
51
|
+
.calendar-range__divider_qeu3v {
|
|
52
52
|
height: 48px;
|
|
53
53
|
display: flex;
|
|
54
54
|
align-items: center;
|
|
@@ -56,13 +56,13 @@
|
|
|
56
56
|
width: 16px;
|
|
57
57
|
margin: 0 var(--gap-xs)
|
|
58
58
|
}
|
|
59
|
-
.calendar-
|
|
59
|
+
.calendar-range__divider_qeu3v:after {
|
|
60
60
|
content: '';
|
|
61
61
|
display: block;
|
|
62
62
|
width: 100%;
|
|
63
63
|
height: 1px;
|
|
64
64
|
background-color: var(--color-light-graphic-primary);
|
|
65
65
|
}
|
|
66
|
-
.calendar-
|
|
66
|
+
.calendar-range__static_qeu3v .calendar-range__calendar_qeu3v {
|
|
67
67
|
width: var(--calendar-inner-width);
|
|
68
68
|
}
|
package/esm/views/popover.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { s as styles, a as __assign } from '../index.module-
|
|
1
|
+
import { s as styles, a as __assign } from '../index.module-b9db88e5.js';
|
|
2
2
|
import React, { useState, useCallback, useEffect } from 'react';
|
|
3
3
|
import cn from 'classnames';
|
|
4
4
|
import startOfMonth from 'date-fns/startOfMonth';
|
package/esm/views/static.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as __rest, s as styles, a as __assign } from '../index.module-
|
|
1
|
+
import { _ as __rest, s as styles, a as __assign } from '../index.module-b9db88e5.js';
|
|
2
2
|
import React, { useState, useCallback, useEffect } from 'react';
|
|
3
3
|
import cn from 'classnames';
|
|
4
4
|
import addMonths from 'date-fns/addMonths';
|
package/hooks.js
CHANGED
|
@@ -8,6 +8,15 @@ var min = require('date-fns/min');
|
|
|
8
8
|
var startOfMonth = require('date-fns/startOfMonth');
|
|
9
9
|
var subMonths = require('date-fns/subMonths');
|
|
10
10
|
|
|
11
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
12
|
+
|
|
13
|
+
var addMonths__default = /*#__PURE__*/_interopDefaultCompat(addMonths);
|
|
14
|
+
var isEqual__default = /*#__PURE__*/_interopDefaultCompat(isEqual);
|
|
15
|
+
var max__default = /*#__PURE__*/_interopDefaultCompat(max);
|
|
16
|
+
var min__default = /*#__PURE__*/_interopDefaultCompat(min);
|
|
17
|
+
var startOfMonth__default = /*#__PURE__*/_interopDefaultCompat(startOfMonth);
|
|
18
|
+
var subMonths__default = /*#__PURE__*/_interopDefaultCompat(subMonths);
|
|
19
|
+
|
|
11
20
|
function usePopoverViewMonthes(_a) {
|
|
12
21
|
var dateFrom = _a.dateFrom, dateTo = _a.dateTo, defaultMonth = _a.defaultMonth, resetKey = _a.resetKey;
|
|
13
22
|
var _b = React.useState(), monthFrom = _b[0], setMonthFrom = _b[1];
|
|
@@ -25,10 +34,10 @@ function usePopoverViewMonthes(_a) {
|
|
|
25
34
|
}
|
|
26
35
|
}, [dateFrom]);
|
|
27
36
|
React.useEffect(function () {
|
|
28
|
-
setMonthFrom(dateFrom ?
|
|
37
|
+
setMonthFrom(dateFrom ? startOfMonth__default.default(dateFrom).getTime() : defaultMonth);
|
|
29
38
|
}, [defaultMonth, dateFrom, resetKey]);
|
|
30
39
|
React.useEffect(function () {
|
|
31
|
-
setMonthTo(dateTo ?
|
|
40
|
+
setMonthTo(dateTo ? startOfMonth__default.default(dateTo).getTime() : monthFrom);
|
|
32
41
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
33
42
|
}, [dateTo, resetKey]);
|
|
34
43
|
return {
|
|
@@ -44,44 +53,44 @@ function useStaticViewMonthes(_a) {
|
|
|
44
53
|
* Если указана начальная дата — левый месяц равен ей, иначе используется дата конца.
|
|
45
54
|
* Если обе даты не указаны, то используется дефолтный месяц
|
|
46
55
|
*/
|
|
47
|
-
var initialMonthFrom = React.useMemo(function () { return
|
|
56
|
+
var initialMonthFrom = React.useMemo(function () { return startOfMonth__default.default(selectedFrom || selectedTo || defaultMonth).getTime(); },
|
|
48
57
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
49
58
|
[]);
|
|
50
59
|
/**
|
|
51
60
|
* Правый месяц должен быть как минимум на 1 месяц больше левого
|
|
52
61
|
*/
|
|
53
62
|
var initialMonthTo = React.useMemo(function () {
|
|
54
|
-
return
|
|
55
|
-
selectedTo ?
|
|
56
|
-
|
|
63
|
+
return max__default.default([
|
|
64
|
+
selectedTo ? startOfMonth__default.default(selectedTo) : 0,
|
|
65
|
+
addMonths__default.default(initialMonthFrom, 1),
|
|
57
66
|
]).getTime();
|
|
58
67
|
},
|
|
59
68
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
60
69
|
[]);
|
|
61
70
|
if (defaultMonthPosition === 'right') {
|
|
62
71
|
initialMonthTo = initialMonthFrom;
|
|
63
|
-
initialMonthFrom =
|
|
72
|
+
initialMonthFrom = subMonths__default.default(initialMonthFrom, 1).getTime();
|
|
64
73
|
}
|
|
65
74
|
var _b = React.useState(initialMonthFrom), monthFrom = _b[0], setMonthFrom = _b[1];
|
|
66
75
|
var _c = React.useState(initialMonthTo), monthTo = _c[0], setMonthTo = _c[1];
|
|
67
76
|
var handleMonthFromChange = React.useCallback(function (newMonthFrom) {
|
|
68
77
|
setMonthFrom(newMonthFrom);
|
|
69
|
-
if (monthTo &&
|
|
70
|
-
var nextMonth =
|
|
78
|
+
if (monthTo && isEqual__default.default(newMonthFrom, monthTo)) {
|
|
79
|
+
var nextMonth = addMonths__default.default(newMonthFrom, 1).getTime();
|
|
71
80
|
setMonthTo(nextMonth);
|
|
72
81
|
}
|
|
73
82
|
}, [monthTo]);
|
|
74
83
|
var handleMonthToChange = React.useCallback(function (newMonthTo) {
|
|
75
84
|
setMonthTo(newMonthTo);
|
|
76
|
-
if (monthFrom &&
|
|
77
|
-
var prevMonth =
|
|
85
|
+
if (monthFrom && isEqual__default.default(newMonthTo, monthFrom)) {
|
|
86
|
+
var prevMonth = subMonths__default.default(newMonthTo, 1).getTime();
|
|
78
87
|
setMonthFrom(prevMonth);
|
|
79
88
|
}
|
|
80
89
|
}, [monthFrom]);
|
|
81
90
|
// eslint-disable-next-line complexity
|
|
82
91
|
React.useEffect(function () {
|
|
83
|
-
var selectedFromMonth = selectedFrom ?
|
|
84
|
-
var selectedToMonth = selectedTo ?
|
|
92
|
+
var selectedFromMonth = selectedFrom ? startOfMonth__default.default(selectedFrom).getTime() : undefined;
|
|
93
|
+
var selectedToMonth = selectedTo ? startOfMonth__default.default(selectedTo).getTime() : undefined;
|
|
85
94
|
// Проверяем, показываются ли выбранные месяцы в левой или правой части компонента
|
|
86
95
|
var fromMonthOnLeft = selectedFromMonth && selectedFromMonth === monthFrom;
|
|
87
96
|
var fromMonthOnRight = selectedFromMonth && selectedFromMonth === monthTo;
|
|
@@ -90,25 +99,25 @@ function useStaticViewMonthes(_a) {
|
|
|
90
99
|
var fromMonthOnScreen = fromMonthOnLeft || fromMonthOnRight;
|
|
91
100
|
var toMonthOnScreen = toMonthOnLeft || toMonthOnRight;
|
|
92
101
|
if (fromMonthOnLeft && toMonthOnLeft) {
|
|
93
|
-
setMonthTo(
|
|
102
|
+
setMonthTo(max__default.default([addMonths__default.default(selectedFromMonth, 1), monthTo]).getTime());
|
|
94
103
|
return;
|
|
95
104
|
}
|
|
96
105
|
if (fromMonthOnRight && toMonthOnRight) {
|
|
97
|
-
setMonthFrom(
|
|
106
|
+
setMonthFrom(min__default.default([subMonths__default.default(selectedToMonth, 1), monthFrom]).getTime());
|
|
98
107
|
return;
|
|
99
108
|
}
|
|
100
109
|
if (selectedFromMonth && selectedToMonth) {
|
|
101
110
|
setMonthFrom(selectedFromMonth);
|
|
102
|
-
setMonthTo(
|
|
111
|
+
setMonthTo(max__default.default([addMonths__default.default(selectedFromMonth, 1), selectedToMonth]).getTime());
|
|
103
112
|
return;
|
|
104
113
|
}
|
|
105
114
|
if (selectedFromMonth && !selectedToMonth && !fromMonthOnScreen) {
|
|
106
115
|
setMonthFrom(selectedFromMonth);
|
|
107
|
-
setMonthTo(
|
|
116
|
+
setMonthTo(max__default.default([addMonths__default.default(selectedFromMonth, 1), monthTo]).getTime());
|
|
108
117
|
}
|
|
109
118
|
if (selectedToMonth && !selectedFromMonth && !toMonthOnScreen) {
|
|
110
119
|
setMonthTo(selectedToMonth);
|
|
111
|
-
setMonthFrom(
|
|
120
|
+
setMonthFrom(min__default.default([subMonths__default.default(selectedToMonth, 1), monthFrom]).getTime());
|
|
112
121
|
}
|
|
113
122
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
114
123
|
}, [selectedFrom, selectedTo]);
|
|
@@ -124,15 +133,15 @@ function useSelectionProps(from, to, highlighted) {
|
|
|
124
133
|
if (from && to) {
|
|
125
134
|
return {
|
|
126
135
|
rangeComplete: true,
|
|
127
|
-
selectedFrom:
|
|
128
|
-
selectedTo:
|
|
136
|
+
selectedFrom: min__default.default([from, to]).getTime(),
|
|
137
|
+
selectedTo: max__default.default([from, to]).getTime(),
|
|
129
138
|
};
|
|
130
139
|
}
|
|
131
140
|
var dates = [from, to, highlighted].filter(function (date) { return date !== undefined; });
|
|
132
141
|
return {
|
|
133
142
|
rangeComplete: false,
|
|
134
|
-
selectedFrom: from || dates.length === 2 ?
|
|
135
|
-
selectedTo: to || dates.length === 2 ?
|
|
143
|
+
selectedFrom: from || dates.length === 2 ? min__default.default(dates).getTime() : undefined,
|
|
144
|
+
selectedTo: to || dates.length === 2 ? max__default.default(dates).getTime() : undefined,
|
|
136
145
|
};
|
|
137
146
|
}, [from, highlighted, to]);
|
|
138
147
|
}
|
package/index.js
CHANGED
|
File without changes
|
|
@@ -39,7 +39,7 @@ function __rest(s, e) {
|
|
|
39
39
|
return t;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
var styles = {"component":"calendar-
|
|
42
|
+
var styles = {"component":"calendar-range__component_qeu3v","divider":"calendar-range__divider_qeu3v","static":"calendar-range__static_qeu3v","calendar":"calendar-range__calendar_qeu3v"};
|
|
43
43
|
require('./views/index.css')
|
|
44
44
|
|
|
45
45
|
exports.__rest = __rest;
|
package/modern/Component.js
CHANGED
|
@@ -11,7 +11,7 @@ import 'date-fns/isEqual';
|
|
|
11
11
|
import 'date-fns/max';
|
|
12
12
|
import 'date-fns/min';
|
|
13
13
|
import 'date-fns/subMonths';
|
|
14
|
-
import './index.module-
|
|
14
|
+
import './index.module-8c524c02.js';
|
|
15
15
|
import 'date-fns/endOfMonth';
|
|
16
16
|
import '@alfalab/core-components-calendar/modern';
|
|
17
17
|
import './utils.js';
|
package/modern/index.js
CHANGED
|
@@ -11,7 +11,7 @@ import 'date-fns/isEqual';
|
|
|
11
11
|
import 'date-fns/max';
|
|
12
12
|
import 'date-fns/min';
|
|
13
13
|
import 'date-fns/subMonths';
|
|
14
|
-
import './index.module-
|
|
14
|
+
import './index.module-8c524c02.js';
|
|
15
15
|
import './views/static.js';
|
|
16
16
|
import 'date-fns/endOfMonth';
|
|
17
17
|
import '@alfalab/core-components-calendar/modern';
|
package/modern/views/index.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 142zt */
|
|
2
2
|
:root {
|
|
3
3
|
--color-light-graphic-primary: #0b1f35;
|
|
4
4
|
}
|
|
@@ -36,19 +36,19 @@
|
|
|
36
36
|
|
|
37
37
|
/* marker */
|
|
38
38
|
}
|
|
39
|
-
.calendar-
|
|
39
|
+
.calendar-range__component_qeu3v {
|
|
40
40
|
display: flex
|
|
41
41
|
}
|
|
42
|
-
.calendar-
|
|
42
|
+
.calendar-range__component_qeu3v button[aria-selected='true'] {
|
|
43
43
|
cursor: pointer;
|
|
44
44
|
}
|
|
45
|
-
.calendar-
|
|
45
|
+
.calendar-range__component_qeu3v *[class*='errorIcon_'] {
|
|
46
46
|
display: none;
|
|
47
47
|
}
|
|
48
|
-
.calendar-
|
|
48
|
+
.calendar-range__component_qeu3v *[class*='calendarIcon_'] {
|
|
49
49
|
margin-right: 0;
|
|
50
50
|
}
|
|
51
|
-
.calendar-
|
|
51
|
+
.calendar-range__divider_qeu3v {
|
|
52
52
|
height: 48px;
|
|
53
53
|
display: flex;
|
|
54
54
|
align-items: center;
|
|
@@ -56,13 +56,13 @@
|
|
|
56
56
|
width: 16px;
|
|
57
57
|
margin: 0 var(--gap-xs)
|
|
58
58
|
}
|
|
59
|
-
.calendar-
|
|
59
|
+
.calendar-range__divider_qeu3v:after {
|
|
60
60
|
content: '';
|
|
61
61
|
display: block;
|
|
62
62
|
width: 100%;
|
|
63
63
|
height: 1px;
|
|
64
64
|
background-color: var(--color-light-graphic-primary);
|
|
65
65
|
}
|
|
66
|
-
.calendar-
|
|
66
|
+
.calendar-range__static_qeu3v .calendar-range__calendar_qeu3v {
|
|
67
67
|
width: var(--calendar-inner-width);
|
|
68
68
|
}
|
package/modern/views/popover.js
CHANGED
|
@@ -4,7 +4,7 @@ import startOfMonth from 'date-fns/startOfMonth';
|
|
|
4
4
|
import { isValidInputValue, parseDateString, CalendarInput } from '@alfalab/core-components-calendar-input/modern';
|
|
5
5
|
import { isCompleteDateInput } from '@alfalab/core-components-date-input/modern';
|
|
6
6
|
import { usePopoverViewMonthes } from '../hooks.js';
|
|
7
|
-
import { s as styles } from '../index.module-
|
|
7
|
+
import { s as styles } from '../index.module-8c524c02.js';
|
|
8
8
|
import 'date-fns/addMonths';
|
|
9
9
|
import 'date-fns/isEqual';
|
|
10
10
|
import 'date-fns/max';
|
package/modern/views/static.js
CHANGED
|
@@ -10,7 +10,7 @@ import { isValidInputValue, parseDateString, formatDate } from '@alfalab/core-co
|
|
|
10
10
|
import { isCompleteDateInput, DateInput } from '@alfalab/core-components-date-input/modern';
|
|
11
11
|
import { useStaticViewMonthes, useSelectionProps } from '../hooks.js';
|
|
12
12
|
import { isDayButton } from '../utils.js';
|
|
13
|
-
import { s as styles } from '../index.module-
|
|
13
|
+
import { s as styles } from '../index.module-8c524c02.js';
|
|
14
14
|
import 'date-fns/isEqual';
|
|
15
15
|
import 'date-fns/min';
|
|
16
16
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alfalab/core-components-calendar-range",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.7",
|
|
4
4
|
"description": "Calendar range component",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"license": "MIT",
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
"react-dom": "^16.9.0 || ^17.0.1 || ^18.0.0"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@alfalab/core-components-calendar": "^6.
|
|
22
|
-
"@alfalab/core-components-calendar-input": "^8.
|
|
23
|
-
"@alfalab/core-components-date-input": "^4.1.
|
|
21
|
+
"@alfalab/core-components-calendar": "^6.2.0",
|
|
22
|
+
"@alfalab/core-components-calendar-input": "^8.2.0",
|
|
23
|
+
"@alfalab/core-components-date-input": "^4.1.1",
|
|
24
24
|
"classnames": "^2.3.1",
|
|
25
25
|
"date-fns": "^2.16.1"
|
|
26
26
|
}
|
package/views/index.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 142zt */
|
|
2
2
|
:root {
|
|
3
3
|
--color-light-graphic-primary: #0b1f35;
|
|
4
4
|
}
|
|
@@ -36,19 +36,19 @@
|
|
|
36
36
|
|
|
37
37
|
/* marker */
|
|
38
38
|
}
|
|
39
|
-
.calendar-
|
|
39
|
+
.calendar-range__component_qeu3v {
|
|
40
40
|
display: flex
|
|
41
41
|
}
|
|
42
|
-
.calendar-
|
|
42
|
+
.calendar-range__component_qeu3v button[aria-selected='true'] {
|
|
43
43
|
cursor: pointer;
|
|
44
44
|
}
|
|
45
|
-
.calendar-
|
|
45
|
+
.calendar-range__component_qeu3v *[class*='errorIcon_'] {
|
|
46
46
|
display: none;
|
|
47
47
|
}
|
|
48
|
-
.calendar-
|
|
48
|
+
.calendar-range__component_qeu3v *[class*='calendarIcon_'] {
|
|
49
49
|
margin-right: 0;
|
|
50
50
|
}
|
|
51
|
-
.calendar-
|
|
51
|
+
.calendar-range__divider_qeu3v {
|
|
52
52
|
height: 48px;
|
|
53
53
|
display: flex;
|
|
54
54
|
align-items: center;
|
|
@@ -56,13 +56,13 @@
|
|
|
56
56
|
width: 16px;
|
|
57
57
|
margin: 0 var(--gap-xs)
|
|
58
58
|
}
|
|
59
|
-
.calendar-
|
|
59
|
+
.calendar-range__divider_qeu3v:after {
|
|
60
60
|
content: '';
|
|
61
61
|
display: block;
|
|
62
62
|
width: 100%;
|
|
63
63
|
height: 1px;
|
|
64
64
|
background-color: var(--color-light-graphic-primary);
|
|
65
65
|
}
|
|
66
|
-
.calendar-
|
|
66
|
+
.calendar-range__static_qeu3v .calendar-range__calendar_qeu3v {
|
|
67
67
|
width: var(--calendar-inner-width);
|
|
68
68
|
}
|
package/views/popover.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index_module = require('../index.module-
|
|
3
|
+
var index_module = require('../index.module-24e4de4c.js');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var cn = require('classnames');
|
|
6
6
|
var startOfMonth = require('date-fns/startOfMonth');
|
|
@@ -13,8 +13,14 @@ require('date-fns/max');
|
|
|
13
13
|
require('date-fns/min');
|
|
14
14
|
require('date-fns/subMonths');
|
|
15
15
|
|
|
16
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
17
|
+
|
|
18
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
19
|
+
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
20
|
+
var startOfMonth__default = /*#__PURE__*/_interopDefaultCompat(startOfMonth);
|
|
21
|
+
|
|
16
22
|
var CalendarRangePopover = function (_a) {
|
|
17
|
-
var className = _a.className, _b = _a.defaultMonth, defaultMonth = _b === void 0 ?
|
|
23
|
+
var className = _a.className, _b = _a.defaultMonth, defaultMonth = _b === void 0 ? startOfMonth__default.default(new Date()).getTime() : _b, minDate = _a.minDate, maxDate = _a.maxDate, _c = _a.valueFrom, valueFrom = _c === void 0 ? '' : _c, _d = _a.valueTo, valueTo = _d === void 0 ? '' : _d, _e = _a.onDateFromChange, onDateFromChange = _e === void 0 ? function () { return null; } : _e, _f = _a.onDateToChange, onDateToChange = _f === void 0 ? function () { return null; } : _f, _g = _a.onChange, onChange = _g === void 0 ? function () { return null; } : _g, onError = _a.onError, _h = _a.inputFromProps, inputFromProps = _h === void 0 ? {} : _h, _j = _a.inputToProps, inputToProps = _j === void 0 ? {} : _j, offDays = _a.offDays, events = _a.events, dataTestId = _a.dataTestId;
|
|
18
24
|
var _k = React.useState(valueFrom), inputFromValue = _k[0], setInputFromValue = _k[1];
|
|
19
25
|
var _l = React.useState(valueTo), inputToValue = _l[0], setInputToValue = _l[1];
|
|
20
26
|
/**
|
|
@@ -106,10 +112,10 @@ var CalendarRangePopover = function (_a) {
|
|
|
106
112
|
}
|
|
107
113
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
108
114
|
}, [hasValidateError]);
|
|
109
|
-
return (
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
115
|
+
return (React__default.default.createElement("div", { className: cn__default.default(index_module.styles.component, className), "data-test-id": dataTestId },
|
|
116
|
+
React__default.default.createElement(coreComponentsCalendarInput.CalendarInput, index_module.__assign({}, inputFromProps, { useAnchorWidth: false, calendarPosition: 'popover', popoverPosition: 'bottom-start', error: inputFromInvalid || bothInvalid || inputFromProps.error, onChange: handleFromChange, onInputChange: handleInputFromChange, onBlur: handleInputFromBlur, value: inputFromValue, minDate: minDate, maxDate: maxDate, offDays: offDays, events: events, calendarProps: index_module.__assign(index_module.__assign({}, inputFromProps.calendarProps), { month: monthFrom, onMonthChange: handleMonthFromChange, selectorView: 'full' }) })),
|
|
117
|
+
React__default.default.createElement("span", { className: index_module.styles.divider }),
|
|
118
|
+
React__default.default.createElement(coreComponentsCalendarInput.CalendarInput, index_module.__assign({}, inputToProps, { useAnchorWidth: false, calendarPosition: 'popover', popoverPosition: 'bottom-end', error: inputToInvalid || bothInvalid || inputToProps.error, onChange: handleToChange, onInputChange: handleInputToChange, onBlur: handleInputToBlur, value: inputToValue, minDate: dateFrom || minDate, maxDate: maxDate, offDays: offDays, events: events, calendarProps: index_module.__assign(index_module.__assign({}, inputToProps.calendarProps), { month: monthTo, onMonthChange: handleMonthToChange, selectorView: 'full' }) }))));
|
|
113
119
|
};
|
|
114
120
|
|
|
115
121
|
exports.CalendarRangePopover = CalendarRangePopover;
|
package/views/static.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index_module = require('../index.module-
|
|
3
|
+
var index_module = require('../index.module-24e4de4c.js');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var cn = require('classnames');
|
|
6
6
|
var addMonths = require('date-fns/addMonths');
|
|
@@ -16,8 +16,18 @@ var utils = require('../utils.js');
|
|
|
16
16
|
require('date-fns/isEqual');
|
|
17
17
|
require('date-fns/min');
|
|
18
18
|
|
|
19
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
20
|
+
|
|
21
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
22
|
+
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
23
|
+
var addMonths__default = /*#__PURE__*/_interopDefaultCompat(addMonths);
|
|
24
|
+
var endOfMonth__default = /*#__PURE__*/_interopDefaultCompat(endOfMonth);
|
|
25
|
+
var max__default = /*#__PURE__*/_interopDefaultCompat(max);
|
|
26
|
+
var startOfMonth__default = /*#__PURE__*/_interopDefaultCompat(startOfMonth);
|
|
27
|
+
var subMonths__default = /*#__PURE__*/_interopDefaultCompat(subMonths);
|
|
28
|
+
|
|
19
29
|
var CalendarRangeStatic = function (_a) {
|
|
20
|
-
var className = _a.className, _b = _a.defaultMonth, defaultMonth = _b === void 0 ?
|
|
30
|
+
var className = _a.className, _b = _a.defaultMonth, defaultMonth = _b === void 0 ? startOfMonth__default.default(new Date()).getTime() : _b, _c = _a.defaultMonthPosition, defaultMonthPosition = _c === void 0 ? 'left' : _c, minDate = _a.minDate, maxDate = _a.maxDate, _d = _a.valueFrom, valueFrom = _d === void 0 ? '' : _d, _e = _a.valueTo, valueTo = _e === void 0 ? '' : _e, _f = _a.onDateFromChange, onDateFromChange = _f === void 0 ? function () { return null; } : _f, _g = _a.onDateToChange, onDateToChange = _g === void 0 ? function () { return null; } : _g, _h = _a.onChange, onChange = _h === void 0 ? function () { return null; } : _h, onError = _a.onError, _j = _a.inputFromProps, inputFromProps = _j === void 0 ? {} : _j, _k = _a.inputToProps, inputToProps = _k === void 0 ? {} : _k, offDays = _a.offDays, events = _a.events, dataTestId = _a.dataTestId;
|
|
21
31
|
var _l = React.useState(valueFrom), inputFromValue = _l[0], setInputFromValue = _l[1];
|
|
22
32
|
var _m = React.useState(valueTo), inputToValue = _m[0], setInputToValue = _m[1];
|
|
23
33
|
var dateFrom = coreComponentsCalendarInput.isValidInputValue(inputFromValue, minDate, maxDate, offDays)
|
|
@@ -147,18 +157,18 @@ var CalendarRangeStatic = function (_a) {
|
|
|
147
157
|
var CalendarToComponent = dateInputToProps.Calendar || coreComponentsCalendar.Calendar;
|
|
148
158
|
return (
|
|
149
159
|
// eslint-disable-next-line jsx-a11y/mouse-events-have-key-events
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
160
|
+
React__default.default.createElement("div", { className: cn__default.default(index_module.styles.component, index_module.styles.static, className), onMouseOver: handleMouseOver, "data-test-id": dataTestId },
|
|
161
|
+
React__default.default.createElement("div", null,
|
|
162
|
+
React__default.default.createElement(coreComponentsDateInput.DateInput, index_module.__assign({}, dateInputFromProps, { mobileMode: dateInputFromProps.mobileMode === 'popover'
|
|
153
163
|
? 'input'
|
|
154
164
|
: dateInputFromProps.mobileMode, value: inputFromValue, onChange: handleInputFromChange, onClear: handleClearFrom, onBlur: handleValidInputFrom, error: bothInvalid || inputFromInvalid || dateInputFromProps.error, clear: true, block: true })),
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
165
|
+
React__default.default.createElement(CalendarFromComponent, index_module.__assign({}, calendarFromProps, { className: cn__default.default(index_module.styles.calendar, calendarFromProps === null || calendarFromProps === void 0 ? void 0 : calendarFromProps.className), month: monthFrom, selectorView: 'month-only', offDays: offDays, events: events, onChange: period.updatePeriod, onMonthChange: handleMonthFromChange, minDate: minDate, maxDate: maxDate && max__default.default([maxDate, endOfMonth__default.default(subMonths__default.default(maxDate, 1))]).getTime() }, rangeProps))),
|
|
166
|
+
React__default.default.createElement("span", { className: index_module.styles.divider }),
|
|
167
|
+
React__default.default.createElement("div", null,
|
|
168
|
+
React__default.default.createElement(coreComponentsDateInput.DateInput, index_module.__assign({}, dateInputToProps, { mobileMode: dateInputToProps.mobileMode === 'popover'
|
|
159
169
|
? 'input'
|
|
160
170
|
: dateInputToProps.mobileMode, value: inputToValue, onChange: handleInputToChange, onClear: handleClearTo, onBlur: handleValidInputTo, error: bothInvalid || inputToInvalid, clear: true, block: true })),
|
|
161
|
-
|
|
171
|
+
React__default.default.createElement(CalendarToComponent, index_module.__assign({}, calendarToProps, { className: cn__default.default(index_module.styles.calendar, calendarToProps === null || calendarToProps === void 0 ? void 0 : calendarToProps.className), month: monthTo, selectorView: 'month-only', offDays: offDays, events: events, onChange: period.updatePeriod, onMonthChange: handleMonthToChange, minDate: minDate && startOfMonth__default.default(addMonths__default.default(minDate, 1)).getTime(), maxDate: maxDate }, rangeProps)))));
|
|
162
172
|
};
|
|
163
173
|
|
|
164
174
|
exports.CalendarRangeStatic = CalendarRangeStatic;
|