@alfalab/core-components-calendar-range 7.0.5 → 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 +7 -9
- package/cssm/Component.js +7 -9
- package/cssm/hooks.js +30 -32
- package/cssm/index.js +5 -7
- package/cssm/{tslib.es6-9682e485.d.ts → tslib.es6-bbd6cd2a.d.ts} +0 -0
- package/cssm/{tslib.es6-9682e485.js → tslib.es6-bbd6cd2a.js} +0 -0
- package/cssm/utils.js +0 -2
- package/cssm/views/popover.js +13 -15
- package/cssm/views/static.js +27 -29
- package/esm/Component.js +4 -4
- package/esm/hooks.js +1 -1
- package/esm/index.js +5 -5
- package/esm/{index.module-24b91874.d.ts → index.module-b9db88e5.d.ts} +0 -0
- package/esm/{index.module-24b91874.js → index.module-b9db88e5.js} +1 -1
- package/esm/views/index.css +8 -8
- package/esm/views/popover.js +2 -2
- package/esm/views/static.js +8 -8
- package/hooks.js +30 -32
- package/index.js +5 -7
- package/{index.module-2b983411.d.ts → index.module-24e4de4c.d.ts} +0 -0
- package/{index.module-2b983411.js → index.module-24e4de4c.js} +1 -1
- package/modern/Component.js +4 -4
- package/modern/hooks.js +1 -1
- package/modern/index.js +5 -5
- package/modern/index.module-8c524c02.js +4 -0
- package/modern/views/index.css +8 -8
- package/modern/views/popover.js +2 -2
- package/modern/views/static.js +8 -8
- package/package.json +4 -4
- package/utils.js +0 -2
- package/views/index.css +8 -8
- package/views/popover.js +11 -13
- package/views/static.js +25 -27
- package/modern/index.module-4b4e51e6.js +0 -4
package/Component.js
CHANGED
|
@@ -1,33 +1,31 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var index_module = require('./index.module-2b983411.js');
|
|
3
|
+
var index_module = require('./index.module-24e4de4c.js');
|
|
6
4
|
var React = require('react');
|
|
5
|
+
var views_popover = require('./views/popover.js');
|
|
6
|
+
var views_static = require('./views/static.js');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('date-fns/startOfMonth');
|
|
9
9
|
require('@alfalab/core-components-calendar-input');
|
|
10
10
|
require('@alfalab/core-components-date-input');
|
|
11
|
+
require('./hooks.js');
|
|
11
12
|
require('date-fns/addMonths');
|
|
12
13
|
require('date-fns/isEqual');
|
|
13
14
|
require('date-fns/max');
|
|
14
15
|
require('date-fns/min');
|
|
15
16
|
require('date-fns/subMonths');
|
|
16
|
-
require('./hooks.js');
|
|
17
|
-
var views_popover = require('./views/popover.js');
|
|
18
17
|
require('date-fns/endOfMonth');
|
|
19
18
|
require('@alfalab/core-components-calendar');
|
|
20
19
|
require('./utils.js');
|
|
21
|
-
var views_static = require('./views/static.js');
|
|
22
20
|
|
|
23
|
-
function
|
|
21
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
24
22
|
|
|
25
|
-
var React__default = /*#__PURE__*/
|
|
23
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
26
24
|
|
|
27
25
|
var CalendarRange = function (_a) {
|
|
28
26
|
var _b = _a.calendarPosition, calendarPosition = _b === void 0 ? 'static' : _b, restProps = index_module.__rest(_a, ["calendarPosition"]);
|
|
29
27
|
var View = calendarPosition === 'popover' ? views_popover.CalendarRangePopover : views_static.CalendarRangeStatic;
|
|
30
|
-
return React__default
|
|
28
|
+
return React__default.default.createElement(View, index_module.__assign({}, restProps));
|
|
31
29
|
};
|
|
32
30
|
|
|
33
31
|
exports.CalendarRange = CalendarRange;
|
package/cssm/Component.js
CHANGED
|
@@ -1,34 +1,32 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var tslib_es6 = require('./tslib.es6-9682e485.js');
|
|
3
|
+
var tslib_es6 = require('./tslib.es6-bbd6cd2a.js');
|
|
6
4
|
var React = require('react');
|
|
5
|
+
var views_popover = require('./views/popover.js');
|
|
6
|
+
var views_static = require('./views/static.js');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('date-fns/startOfMonth');
|
|
9
9
|
require('@alfalab/core-components-calendar-input/cssm');
|
|
10
10
|
require('@alfalab/core-components-date-input/cssm');
|
|
11
|
+
require('./hooks.js');
|
|
11
12
|
require('date-fns/addMonths');
|
|
12
13
|
require('date-fns/isEqual');
|
|
13
14
|
require('date-fns/max');
|
|
14
15
|
require('date-fns/min');
|
|
15
16
|
require('date-fns/subMonths');
|
|
16
|
-
require('./hooks.js');
|
|
17
17
|
require('./views/index.module.css');
|
|
18
|
-
var views_popover = require('./views/popover.js');
|
|
19
18
|
require('date-fns/endOfMonth');
|
|
20
19
|
require('@alfalab/core-components-calendar/cssm');
|
|
21
20
|
require('./utils.js');
|
|
22
|
-
var views_static = require('./views/static.js');
|
|
23
21
|
|
|
24
|
-
function
|
|
22
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
25
23
|
|
|
26
|
-
var React__default = /*#__PURE__*/
|
|
24
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
27
25
|
|
|
28
26
|
var CalendarRange = function (_a) {
|
|
29
27
|
var _b = _a.calendarPosition, calendarPosition = _b === void 0 ? 'static' : _b, restProps = tslib_es6.__rest(_a, ["calendarPosition"]);
|
|
30
28
|
var View = calendarPosition === 'popover' ? views_popover.CalendarRangePopover : views_static.CalendarRangeStatic;
|
|
31
|
-
return React__default
|
|
29
|
+
return React__default.default.createElement(View, tslib_es6.__assign({}, restProps));
|
|
32
30
|
};
|
|
33
31
|
|
|
34
32
|
exports.CalendarRange = CalendarRange;
|
package/cssm/hooks.js
CHANGED
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var React = require('react');
|
|
6
|
-
var startOfMonth = require('date-fns/startOfMonth');
|
|
7
4
|
var addMonths = require('date-fns/addMonths');
|
|
8
5
|
var isEqual = require('date-fns/isEqual');
|
|
9
6
|
var max = require('date-fns/max');
|
|
10
7
|
var min = require('date-fns/min');
|
|
8
|
+
var startOfMonth = require('date-fns/startOfMonth');
|
|
11
9
|
var subMonths = require('date-fns/subMonths');
|
|
12
10
|
|
|
13
|
-
function
|
|
11
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
14
12
|
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
var
|
|
19
|
-
var
|
|
20
|
-
var subMonths__default = /*#__PURE__*/
|
|
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);
|
|
21
19
|
|
|
22
20
|
function usePopoverViewMonthes(_a) {
|
|
23
21
|
var dateFrom = _a.dateFrom, dateTo = _a.dateTo, defaultMonth = _a.defaultMonth, resetKey = _a.resetKey;
|
|
@@ -36,10 +34,10 @@ function usePopoverViewMonthes(_a) {
|
|
|
36
34
|
}
|
|
37
35
|
}, [dateFrom]);
|
|
38
36
|
React.useEffect(function () {
|
|
39
|
-
setMonthFrom(dateFrom ? startOfMonth__default
|
|
37
|
+
setMonthFrom(dateFrom ? startOfMonth__default.default(dateFrom).getTime() : defaultMonth);
|
|
40
38
|
}, [defaultMonth, dateFrom, resetKey]);
|
|
41
39
|
React.useEffect(function () {
|
|
42
|
-
setMonthTo(dateTo ? startOfMonth__default
|
|
40
|
+
setMonthTo(dateTo ? startOfMonth__default.default(dateTo).getTime() : monthFrom);
|
|
43
41
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
44
42
|
}, [dateTo, resetKey]);
|
|
45
43
|
return {
|
|
@@ -55,44 +53,44 @@ function useStaticViewMonthes(_a) {
|
|
|
55
53
|
* Если указана начальная дата — левый месяц равен ей, иначе используется дата конца.
|
|
56
54
|
* Если обе даты не указаны, то используется дефолтный месяц
|
|
57
55
|
*/
|
|
58
|
-
var initialMonthFrom = React.useMemo(function () { return startOfMonth__default
|
|
56
|
+
var initialMonthFrom = React.useMemo(function () { return startOfMonth__default.default(selectedFrom || selectedTo || defaultMonth).getTime(); },
|
|
59
57
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
60
58
|
[]);
|
|
61
59
|
/**
|
|
62
60
|
* Правый месяц должен быть как минимум на 1 месяц больше левого
|
|
63
61
|
*/
|
|
64
62
|
var initialMonthTo = React.useMemo(function () {
|
|
65
|
-
return max__default
|
|
66
|
-
selectedTo ? startOfMonth__default
|
|
67
|
-
addMonths__default
|
|
63
|
+
return max__default.default([
|
|
64
|
+
selectedTo ? startOfMonth__default.default(selectedTo) : 0,
|
|
65
|
+
addMonths__default.default(initialMonthFrom, 1),
|
|
68
66
|
]).getTime();
|
|
69
67
|
},
|
|
70
68
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
71
69
|
[]);
|
|
72
70
|
if (defaultMonthPosition === 'right') {
|
|
73
71
|
initialMonthTo = initialMonthFrom;
|
|
74
|
-
initialMonthFrom = subMonths__default
|
|
72
|
+
initialMonthFrom = subMonths__default.default(initialMonthFrom, 1).getTime();
|
|
75
73
|
}
|
|
76
74
|
var _b = React.useState(initialMonthFrom), monthFrom = _b[0], setMonthFrom = _b[1];
|
|
77
75
|
var _c = React.useState(initialMonthTo), monthTo = _c[0], setMonthTo = _c[1];
|
|
78
76
|
var handleMonthFromChange = React.useCallback(function (newMonthFrom) {
|
|
79
77
|
setMonthFrom(newMonthFrom);
|
|
80
|
-
if (monthTo && isEqual__default
|
|
81
|
-
var nextMonth = addMonths__default
|
|
78
|
+
if (monthTo && isEqual__default.default(newMonthFrom, monthTo)) {
|
|
79
|
+
var nextMonth = addMonths__default.default(newMonthFrom, 1).getTime();
|
|
82
80
|
setMonthTo(nextMonth);
|
|
83
81
|
}
|
|
84
82
|
}, [monthTo]);
|
|
85
83
|
var handleMonthToChange = React.useCallback(function (newMonthTo) {
|
|
86
84
|
setMonthTo(newMonthTo);
|
|
87
|
-
if (monthFrom && isEqual__default
|
|
88
|
-
var prevMonth = subMonths__default
|
|
85
|
+
if (monthFrom && isEqual__default.default(newMonthTo, monthFrom)) {
|
|
86
|
+
var prevMonth = subMonths__default.default(newMonthTo, 1).getTime();
|
|
89
87
|
setMonthFrom(prevMonth);
|
|
90
88
|
}
|
|
91
89
|
}, [monthFrom]);
|
|
92
90
|
// eslint-disable-next-line complexity
|
|
93
91
|
React.useEffect(function () {
|
|
94
|
-
var selectedFromMonth = selectedFrom ? startOfMonth__default
|
|
95
|
-
var selectedToMonth = selectedTo ? startOfMonth__default
|
|
92
|
+
var selectedFromMonth = selectedFrom ? startOfMonth__default.default(selectedFrom).getTime() : undefined;
|
|
93
|
+
var selectedToMonth = selectedTo ? startOfMonth__default.default(selectedTo).getTime() : undefined;
|
|
96
94
|
// Проверяем, показываются ли выбранные месяцы в левой или правой части компонента
|
|
97
95
|
var fromMonthOnLeft = selectedFromMonth && selectedFromMonth === monthFrom;
|
|
98
96
|
var fromMonthOnRight = selectedFromMonth && selectedFromMonth === monthTo;
|
|
@@ -101,25 +99,25 @@ function useStaticViewMonthes(_a) {
|
|
|
101
99
|
var fromMonthOnScreen = fromMonthOnLeft || fromMonthOnRight;
|
|
102
100
|
var toMonthOnScreen = toMonthOnLeft || toMonthOnRight;
|
|
103
101
|
if (fromMonthOnLeft && toMonthOnLeft) {
|
|
104
|
-
setMonthTo(max__default
|
|
102
|
+
setMonthTo(max__default.default([addMonths__default.default(selectedFromMonth, 1), monthTo]).getTime());
|
|
105
103
|
return;
|
|
106
104
|
}
|
|
107
105
|
if (fromMonthOnRight && toMonthOnRight) {
|
|
108
|
-
setMonthFrom(min__default
|
|
106
|
+
setMonthFrom(min__default.default([subMonths__default.default(selectedToMonth, 1), monthFrom]).getTime());
|
|
109
107
|
return;
|
|
110
108
|
}
|
|
111
109
|
if (selectedFromMonth && selectedToMonth) {
|
|
112
110
|
setMonthFrom(selectedFromMonth);
|
|
113
|
-
setMonthTo(max__default
|
|
111
|
+
setMonthTo(max__default.default([addMonths__default.default(selectedFromMonth, 1), selectedToMonth]).getTime());
|
|
114
112
|
return;
|
|
115
113
|
}
|
|
116
114
|
if (selectedFromMonth && !selectedToMonth && !fromMonthOnScreen) {
|
|
117
115
|
setMonthFrom(selectedFromMonth);
|
|
118
|
-
setMonthTo(max__default
|
|
116
|
+
setMonthTo(max__default.default([addMonths__default.default(selectedFromMonth, 1), monthTo]).getTime());
|
|
119
117
|
}
|
|
120
118
|
if (selectedToMonth && !selectedFromMonth && !toMonthOnScreen) {
|
|
121
119
|
setMonthTo(selectedToMonth);
|
|
122
|
-
setMonthFrom(min__default
|
|
120
|
+
setMonthFrom(min__default.default([subMonths__default.default(selectedToMonth, 1), monthFrom]).getTime());
|
|
123
121
|
}
|
|
124
122
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
125
123
|
}, [selectedFrom, selectedTo]);
|
|
@@ -135,15 +133,15 @@ function useSelectionProps(from, to, highlighted) {
|
|
|
135
133
|
if (from && to) {
|
|
136
134
|
return {
|
|
137
135
|
rangeComplete: true,
|
|
138
|
-
selectedFrom: min__default
|
|
139
|
-
selectedTo: max__default
|
|
136
|
+
selectedFrom: min__default.default([from, to]).getTime(),
|
|
137
|
+
selectedTo: max__default.default([from, to]).getTime(),
|
|
140
138
|
};
|
|
141
139
|
}
|
|
142
140
|
var dates = [from, to, highlighted].filter(function (date) { return date !== undefined; });
|
|
143
141
|
return {
|
|
144
142
|
rangeComplete: false,
|
|
145
|
-
selectedFrom: from || dates.length === 2 ? min__default
|
|
146
|
-
selectedTo: to || dates.length === 2 ? max__default
|
|
143
|
+
selectedFrom: from || dates.length === 2 ? min__default.default(dates).getTime() : undefined,
|
|
144
|
+
selectedTo: to || dates.length === 2 ? max__default.default(dates).getTime() : undefined,
|
|
147
145
|
};
|
|
148
146
|
}, [from, highlighted, to]);
|
|
149
147
|
}
|
package/cssm/index.js
CHANGED
|
@@ -1,26 +1,24 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
require('./tslib.es6-9682e485.js');
|
|
3
|
+
var Component = require('./Component.js');
|
|
4
|
+
require('./tslib.es6-bbd6cd2a.js');
|
|
6
5
|
require('react');
|
|
6
|
+
require('./views/popover.js');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('date-fns/startOfMonth');
|
|
9
9
|
require('@alfalab/core-components-calendar-input/cssm');
|
|
10
10
|
require('@alfalab/core-components-date-input/cssm');
|
|
11
|
+
require('./hooks.js');
|
|
11
12
|
require('date-fns/addMonths');
|
|
12
13
|
require('date-fns/isEqual');
|
|
13
14
|
require('date-fns/max');
|
|
14
15
|
require('date-fns/min');
|
|
15
16
|
require('date-fns/subMonths');
|
|
16
|
-
require('./hooks.js');
|
|
17
17
|
require('./views/index.module.css');
|
|
18
|
-
require('./views/
|
|
18
|
+
require('./views/static.js');
|
|
19
19
|
require('date-fns/endOfMonth');
|
|
20
20
|
require('@alfalab/core-components-calendar/cssm');
|
|
21
21
|
require('./utils.js');
|
|
22
|
-
require('./views/static.js');
|
|
23
|
-
var Component = require('./Component.js');
|
|
24
22
|
|
|
25
23
|
|
|
26
24
|
|
|
File without changes
|
|
File without changes
|
package/cssm/utils.js
CHANGED
package/cssm/views/popover.js
CHANGED
|
@@ -1,30 +1,28 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var tslib_es6 = require('../tslib.es6-9682e485.js');
|
|
3
|
+
var tslib_es6 = require('../tslib.es6-bbd6cd2a.js');
|
|
6
4
|
var React = require('react');
|
|
7
5
|
var cn = require('classnames');
|
|
8
6
|
var startOfMonth = require('date-fns/startOfMonth');
|
|
9
7
|
var coreComponentsCalendarInput = require('@alfalab/core-components-calendar-input/cssm');
|
|
10
8
|
var coreComponentsDateInput = require('@alfalab/core-components-date-input/cssm');
|
|
9
|
+
var hooks = require('../hooks.js');
|
|
10
|
+
var styles = require('./index.module.css');
|
|
11
11
|
require('date-fns/addMonths');
|
|
12
12
|
require('date-fns/isEqual');
|
|
13
13
|
require('date-fns/max');
|
|
14
14
|
require('date-fns/min');
|
|
15
15
|
require('date-fns/subMonths');
|
|
16
|
-
var hooks = require('../hooks.js');
|
|
17
|
-
var styles = require('./index.module.css');
|
|
18
16
|
|
|
19
|
-
function
|
|
17
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
20
18
|
|
|
21
|
-
var React__default = /*#__PURE__*/
|
|
22
|
-
var cn__default = /*#__PURE__*/
|
|
23
|
-
var startOfMonth__default = /*#__PURE__*/
|
|
24
|
-
var styles__default = /*#__PURE__*/
|
|
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);
|
|
25
23
|
|
|
26
24
|
var CalendarRangePopover = function (_a) {
|
|
27
|
-
var className = _a.className, _b = _a.defaultMonth, defaultMonth = _b === void 0 ? startOfMonth__default
|
|
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;
|
|
28
26
|
var _k = React.useState(valueFrom), inputFromValue = _k[0], setInputFromValue = _k[1];
|
|
29
27
|
var _l = React.useState(valueTo), inputToValue = _l[0], setInputToValue = _l[1];
|
|
30
28
|
/**
|
|
@@ -116,10 +114,10 @@ var CalendarRangePopover = function (_a) {
|
|
|
116
114
|
}
|
|
117
115
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
118
116
|
}, [hasValidateError]);
|
|
119
|
-
return (React__default
|
|
120
|
-
React__default
|
|
121
|
-
React__default
|
|
122
|
-
React__default
|
|
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' }) }))));
|
|
123
121
|
};
|
|
124
122
|
|
|
125
123
|
exports.CalendarRangePopover = CalendarRangePopover;
|
package/cssm/views/static.js
CHANGED
|
@@ -1,37 +1,35 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var tslib_es6 = require('../tslib.es6-9682e485.js');
|
|
3
|
+
var tslib_es6 = require('../tslib.es6-bbd6cd2a.js');
|
|
6
4
|
var React = require('react');
|
|
7
5
|
var cn = require('classnames');
|
|
8
|
-
var startOfMonth = require('date-fns/startOfMonth');
|
|
9
|
-
var coreComponentsCalendarInput = require('@alfalab/core-components-calendar-input/cssm');
|
|
10
|
-
var coreComponentsDateInput = require('@alfalab/core-components-date-input/cssm');
|
|
11
6
|
var addMonths = require('date-fns/addMonths');
|
|
12
|
-
require('date-fns/
|
|
7
|
+
var endOfMonth = require('date-fns/endOfMonth');
|
|
13
8
|
var max = require('date-fns/max');
|
|
14
|
-
require('date-fns/
|
|
9
|
+
var startOfMonth = require('date-fns/startOfMonth');
|
|
15
10
|
var subMonths = require('date-fns/subMonths');
|
|
16
|
-
var hooks = require('../hooks.js');
|
|
17
|
-
var styles = require('./index.module.css');
|
|
18
|
-
var endOfMonth = require('date-fns/endOfMonth');
|
|
19
11
|
var coreComponentsCalendar = require('@alfalab/core-components-calendar/cssm');
|
|
12
|
+
var coreComponentsCalendarInput = require('@alfalab/core-components-calendar-input/cssm');
|
|
13
|
+
var coreComponentsDateInput = require('@alfalab/core-components-date-input/cssm');
|
|
14
|
+
var hooks = require('../hooks.js');
|
|
20
15
|
var utils = require('../utils.js');
|
|
16
|
+
var styles = require('./index.module.css');
|
|
17
|
+
require('date-fns/isEqual');
|
|
18
|
+
require('date-fns/min');
|
|
21
19
|
|
|
22
|
-
function
|
|
20
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
23
21
|
|
|
24
|
-
var React__default = /*#__PURE__*/
|
|
25
|
-
var cn__default = /*#__PURE__*/
|
|
26
|
-
var
|
|
27
|
-
var
|
|
28
|
-
var max__default = /*#__PURE__*/
|
|
29
|
-
var
|
|
30
|
-
var
|
|
31
|
-
var
|
|
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);
|
|
32
30
|
|
|
33
31
|
var CalendarRangeStatic = function (_a) {
|
|
34
|
-
var className = _a.className, _b = _a.defaultMonth, defaultMonth = _b === void 0 ? startOfMonth__default
|
|
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;
|
|
35
33
|
var _l = React.useState(valueFrom), inputFromValue = _l[0], setInputFromValue = _l[1];
|
|
36
34
|
var _m = React.useState(valueTo), inputToValue = _m[0], setInputToValue = _m[1];
|
|
37
35
|
var dateFrom = coreComponentsCalendarInput.isValidInputValue(inputFromValue, minDate, maxDate, offDays)
|
|
@@ -161,18 +159,18 @@ var CalendarRangeStatic = function (_a) {
|
|
|
161
159
|
var CalendarToComponent = dateInputToProps.Calendar || coreComponentsCalendar.Calendar;
|
|
162
160
|
return (
|
|
163
161
|
// eslint-disable-next-line jsx-a11y/mouse-events-have-key-events
|
|
164
|
-
React__default
|
|
165
|
-
React__default
|
|
166
|
-
React__default
|
|
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'
|
|
167
165
|
? 'input'
|
|
168
166
|
: dateInputFromProps.mobileMode, value: inputFromValue, onChange: handleInputFromChange, onClear: handleClearFrom, onBlur: handleValidInputFrom, error: bothInvalid || inputFromInvalid || dateInputFromProps.error, clear: true, block: true })),
|
|
169
|
-
React__default
|
|
170
|
-
React__default
|
|
171
|
-
React__default
|
|
172
|
-
React__default
|
|
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'
|
|
173
171
|
? 'input'
|
|
174
172
|
: dateInputToProps.mobileMode, value: inputToValue, onChange: handleInputToChange, onClear: handleClearTo, onBlur: handleValidInputTo, error: bothInvalid || inputToInvalid, clear: true, block: true })),
|
|
175
|
-
React__default
|
|
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)))));
|
|
176
174
|
};
|
|
177
175
|
|
|
178
176
|
exports.CalendarRangeStatic = CalendarRangeStatic;
|
package/esm/Component.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
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
|
+
import { CalendarRangePopover } from './views/popover.js';
|
|
4
|
+
import { CalendarRangeStatic } from './views/static.js';
|
|
3
5
|
import 'classnames';
|
|
4
6
|
import 'date-fns/startOfMonth';
|
|
5
7
|
import '@alfalab/core-components-calendar-input/esm';
|
|
6
8
|
import '@alfalab/core-components-date-input/esm';
|
|
9
|
+
import './hooks.js';
|
|
7
10
|
import 'date-fns/addMonths';
|
|
8
11
|
import 'date-fns/isEqual';
|
|
9
12
|
import 'date-fns/max';
|
|
10
13
|
import 'date-fns/min';
|
|
11
14
|
import 'date-fns/subMonths';
|
|
12
|
-
import './hooks.js';
|
|
13
|
-
import { CalendarRangePopover } from './views/popover.js';
|
|
14
15
|
import 'date-fns/endOfMonth';
|
|
15
16
|
import '@alfalab/core-components-calendar/esm';
|
|
16
17
|
import './utils.js';
|
|
17
|
-
import { CalendarRangeStatic } from './views/static.js';
|
|
18
18
|
|
|
19
19
|
var CalendarRange = function (_a) {
|
|
20
20
|
var _b = _a.calendarPosition, calendarPosition = _b === void 0 ? 'static' : _b, restProps = __rest(_a, ["calendarPosition"]);
|
package/esm/hooks.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useState, useCallback, useEffect, useMemo } from 'react';
|
|
2
|
-
import startOfMonth from 'date-fns/startOfMonth';
|
|
3
2
|
import addMonths from 'date-fns/addMonths';
|
|
4
3
|
import isEqual from 'date-fns/isEqual';
|
|
5
4
|
import max from 'date-fns/max';
|
|
6
5
|
import min from 'date-fns/min';
|
|
6
|
+
import startOfMonth from 'date-fns/startOfMonth';
|
|
7
7
|
import subMonths from 'date-fns/subMonths';
|
|
8
8
|
|
|
9
9
|
function usePopoverViewMonthes(_a) {
|
package/esm/index.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
export { CalendarRange } from './Component.js';
|
|
2
|
+
import './index.module-b9db88e5.js';
|
|
2
3
|
import 'react';
|
|
4
|
+
import './views/popover.js';
|
|
3
5
|
import 'classnames';
|
|
4
6
|
import 'date-fns/startOfMonth';
|
|
5
7
|
import '@alfalab/core-components-calendar-input/esm';
|
|
6
8
|
import '@alfalab/core-components-date-input/esm';
|
|
9
|
+
import './hooks.js';
|
|
7
10
|
import 'date-fns/addMonths';
|
|
8
11
|
import 'date-fns/isEqual';
|
|
9
12
|
import 'date-fns/max';
|
|
10
13
|
import 'date-fns/min';
|
|
11
14
|
import 'date-fns/subMonths';
|
|
12
|
-
import './
|
|
13
|
-
import './views/popover.js';
|
|
15
|
+
import './views/static.js';
|
|
14
16
|
import 'date-fns/endOfMonth';
|
|
15
17
|
import '@alfalab/core-components-calendar/esm';
|
|
16
18
|
import './utils.js';
|
|
17
|
-
import './views/static.js';
|
|
18
|
-
export { CalendarRange } from './Component.js';
|
|
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,15 +1,15 @@
|
|
|
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';
|
|
5
5
|
import { isValidInputValue, parseDateString, CalendarInput } from '@alfalab/core-components-calendar-input/esm';
|
|
6
6
|
import { isCompleteDateInput } from '@alfalab/core-components-date-input/esm';
|
|
7
|
+
import { usePopoverViewMonthes } from '../hooks.js';
|
|
7
8
|
import 'date-fns/addMonths';
|
|
8
9
|
import 'date-fns/isEqual';
|
|
9
10
|
import 'date-fns/max';
|
|
10
11
|
import 'date-fns/min';
|
|
11
12
|
import 'date-fns/subMonths';
|
|
12
|
-
import { usePopoverViewMonthes } from '../hooks.js';
|
|
13
13
|
|
|
14
14
|
var CalendarRangePopover = function (_a) {
|
|
15
15
|
var className = _a.className, _b = _a.defaultMonth, defaultMonth = _b === void 0 ? startOfMonth(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;
|
package/esm/views/static.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
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
|
-
import startOfMonth from 'date-fns/startOfMonth';
|
|
5
|
-
import { isValidInputValue, parseDateString, formatDate } from '@alfalab/core-components-calendar-input/esm';
|
|
6
|
-
import { isCompleteDateInput, DateInput } from '@alfalab/core-components-date-input/esm';
|
|
7
4
|
import addMonths from 'date-fns/addMonths';
|
|
8
|
-
import 'date-fns/
|
|
5
|
+
import endOfMonth from 'date-fns/endOfMonth';
|
|
9
6
|
import max from 'date-fns/max';
|
|
10
|
-
import 'date-fns/
|
|
7
|
+
import startOfMonth from 'date-fns/startOfMonth';
|
|
11
8
|
import subMonths from 'date-fns/subMonths';
|
|
12
|
-
import { useStaticViewMonthes, useSelectionProps } from '../hooks.js';
|
|
13
|
-
import endOfMonth from 'date-fns/endOfMonth';
|
|
14
9
|
import { usePeriodWithReset, Calendar } from '@alfalab/core-components-calendar/esm';
|
|
10
|
+
import { isValidInputValue, parseDateString, formatDate } from '@alfalab/core-components-calendar-input/esm';
|
|
11
|
+
import { isCompleteDateInput, DateInput } from '@alfalab/core-components-date-input/esm';
|
|
12
|
+
import { useStaticViewMonthes, useSelectionProps } from '../hooks.js';
|
|
15
13
|
import { isDayButton } from '../utils.js';
|
|
14
|
+
import 'date-fns/isEqual';
|
|
15
|
+
import 'date-fns/min';
|
|
16
16
|
|
|
17
17
|
var CalendarRangeStatic = function (_a) {
|
|
18
18
|
var className = _a.className, _b = _a.defaultMonth, defaultMonth = _b === void 0 ? startOfMonth(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;
|
package/hooks.js
CHANGED
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var React = require('react');
|
|
6
|
-
var startOfMonth = require('date-fns/startOfMonth');
|
|
7
4
|
var addMonths = require('date-fns/addMonths');
|
|
8
5
|
var isEqual = require('date-fns/isEqual');
|
|
9
6
|
var max = require('date-fns/max');
|
|
10
7
|
var min = require('date-fns/min');
|
|
8
|
+
var startOfMonth = require('date-fns/startOfMonth');
|
|
11
9
|
var subMonths = require('date-fns/subMonths');
|
|
12
10
|
|
|
13
|
-
function
|
|
11
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
14
12
|
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
var
|
|
19
|
-
var
|
|
20
|
-
var subMonths__default = /*#__PURE__*/
|
|
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);
|
|
21
19
|
|
|
22
20
|
function usePopoverViewMonthes(_a) {
|
|
23
21
|
var dateFrom = _a.dateFrom, dateTo = _a.dateTo, defaultMonth = _a.defaultMonth, resetKey = _a.resetKey;
|
|
@@ -36,10 +34,10 @@ function usePopoverViewMonthes(_a) {
|
|
|
36
34
|
}
|
|
37
35
|
}, [dateFrom]);
|
|
38
36
|
React.useEffect(function () {
|
|
39
|
-
setMonthFrom(dateFrom ? startOfMonth__default
|
|
37
|
+
setMonthFrom(dateFrom ? startOfMonth__default.default(dateFrom).getTime() : defaultMonth);
|
|
40
38
|
}, [defaultMonth, dateFrom, resetKey]);
|
|
41
39
|
React.useEffect(function () {
|
|
42
|
-
setMonthTo(dateTo ? startOfMonth__default
|
|
40
|
+
setMonthTo(dateTo ? startOfMonth__default.default(dateTo).getTime() : monthFrom);
|
|
43
41
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
44
42
|
}, [dateTo, resetKey]);
|
|
45
43
|
return {
|
|
@@ -55,44 +53,44 @@ function useStaticViewMonthes(_a) {
|
|
|
55
53
|
* Если указана начальная дата — левый месяц равен ей, иначе используется дата конца.
|
|
56
54
|
* Если обе даты не указаны, то используется дефолтный месяц
|
|
57
55
|
*/
|
|
58
|
-
var initialMonthFrom = React.useMemo(function () { return startOfMonth__default
|
|
56
|
+
var initialMonthFrom = React.useMemo(function () { return startOfMonth__default.default(selectedFrom || selectedTo || defaultMonth).getTime(); },
|
|
59
57
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
60
58
|
[]);
|
|
61
59
|
/**
|
|
62
60
|
* Правый месяц должен быть как минимум на 1 месяц больше левого
|
|
63
61
|
*/
|
|
64
62
|
var initialMonthTo = React.useMemo(function () {
|
|
65
|
-
return max__default
|
|
66
|
-
selectedTo ? startOfMonth__default
|
|
67
|
-
addMonths__default
|
|
63
|
+
return max__default.default([
|
|
64
|
+
selectedTo ? startOfMonth__default.default(selectedTo) : 0,
|
|
65
|
+
addMonths__default.default(initialMonthFrom, 1),
|
|
68
66
|
]).getTime();
|
|
69
67
|
},
|
|
70
68
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
71
69
|
[]);
|
|
72
70
|
if (defaultMonthPosition === 'right') {
|
|
73
71
|
initialMonthTo = initialMonthFrom;
|
|
74
|
-
initialMonthFrom = subMonths__default
|
|
72
|
+
initialMonthFrom = subMonths__default.default(initialMonthFrom, 1).getTime();
|
|
75
73
|
}
|
|
76
74
|
var _b = React.useState(initialMonthFrom), monthFrom = _b[0], setMonthFrom = _b[1];
|
|
77
75
|
var _c = React.useState(initialMonthTo), monthTo = _c[0], setMonthTo = _c[1];
|
|
78
76
|
var handleMonthFromChange = React.useCallback(function (newMonthFrom) {
|
|
79
77
|
setMonthFrom(newMonthFrom);
|
|
80
|
-
if (monthTo && isEqual__default
|
|
81
|
-
var nextMonth = addMonths__default
|
|
78
|
+
if (monthTo && isEqual__default.default(newMonthFrom, monthTo)) {
|
|
79
|
+
var nextMonth = addMonths__default.default(newMonthFrom, 1).getTime();
|
|
82
80
|
setMonthTo(nextMonth);
|
|
83
81
|
}
|
|
84
82
|
}, [monthTo]);
|
|
85
83
|
var handleMonthToChange = React.useCallback(function (newMonthTo) {
|
|
86
84
|
setMonthTo(newMonthTo);
|
|
87
|
-
if (monthFrom && isEqual__default
|
|
88
|
-
var prevMonth = subMonths__default
|
|
85
|
+
if (monthFrom && isEqual__default.default(newMonthTo, monthFrom)) {
|
|
86
|
+
var prevMonth = subMonths__default.default(newMonthTo, 1).getTime();
|
|
89
87
|
setMonthFrom(prevMonth);
|
|
90
88
|
}
|
|
91
89
|
}, [monthFrom]);
|
|
92
90
|
// eslint-disable-next-line complexity
|
|
93
91
|
React.useEffect(function () {
|
|
94
|
-
var selectedFromMonth = selectedFrom ? startOfMonth__default
|
|
95
|
-
var selectedToMonth = selectedTo ? startOfMonth__default
|
|
92
|
+
var selectedFromMonth = selectedFrom ? startOfMonth__default.default(selectedFrom).getTime() : undefined;
|
|
93
|
+
var selectedToMonth = selectedTo ? startOfMonth__default.default(selectedTo).getTime() : undefined;
|
|
96
94
|
// Проверяем, показываются ли выбранные месяцы в левой или правой части компонента
|
|
97
95
|
var fromMonthOnLeft = selectedFromMonth && selectedFromMonth === monthFrom;
|
|
98
96
|
var fromMonthOnRight = selectedFromMonth && selectedFromMonth === monthTo;
|
|
@@ -101,25 +99,25 @@ function useStaticViewMonthes(_a) {
|
|
|
101
99
|
var fromMonthOnScreen = fromMonthOnLeft || fromMonthOnRight;
|
|
102
100
|
var toMonthOnScreen = toMonthOnLeft || toMonthOnRight;
|
|
103
101
|
if (fromMonthOnLeft && toMonthOnLeft) {
|
|
104
|
-
setMonthTo(max__default
|
|
102
|
+
setMonthTo(max__default.default([addMonths__default.default(selectedFromMonth, 1), monthTo]).getTime());
|
|
105
103
|
return;
|
|
106
104
|
}
|
|
107
105
|
if (fromMonthOnRight && toMonthOnRight) {
|
|
108
|
-
setMonthFrom(min__default
|
|
106
|
+
setMonthFrom(min__default.default([subMonths__default.default(selectedToMonth, 1), monthFrom]).getTime());
|
|
109
107
|
return;
|
|
110
108
|
}
|
|
111
109
|
if (selectedFromMonth && selectedToMonth) {
|
|
112
110
|
setMonthFrom(selectedFromMonth);
|
|
113
|
-
setMonthTo(max__default
|
|
111
|
+
setMonthTo(max__default.default([addMonths__default.default(selectedFromMonth, 1), selectedToMonth]).getTime());
|
|
114
112
|
return;
|
|
115
113
|
}
|
|
116
114
|
if (selectedFromMonth && !selectedToMonth && !fromMonthOnScreen) {
|
|
117
115
|
setMonthFrom(selectedFromMonth);
|
|
118
|
-
setMonthTo(max__default
|
|
116
|
+
setMonthTo(max__default.default([addMonths__default.default(selectedFromMonth, 1), monthTo]).getTime());
|
|
119
117
|
}
|
|
120
118
|
if (selectedToMonth && !selectedFromMonth && !toMonthOnScreen) {
|
|
121
119
|
setMonthTo(selectedToMonth);
|
|
122
|
-
setMonthFrom(min__default
|
|
120
|
+
setMonthFrom(min__default.default([subMonths__default.default(selectedToMonth, 1), monthFrom]).getTime());
|
|
123
121
|
}
|
|
124
122
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
125
123
|
}, [selectedFrom, selectedTo]);
|
|
@@ -135,15 +133,15 @@ function useSelectionProps(from, to, highlighted) {
|
|
|
135
133
|
if (from && to) {
|
|
136
134
|
return {
|
|
137
135
|
rangeComplete: true,
|
|
138
|
-
selectedFrom: min__default
|
|
139
|
-
selectedTo: max__default
|
|
136
|
+
selectedFrom: min__default.default([from, to]).getTime(),
|
|
137
|
+
selectedTo: max__default.default([from, to]).getTime(),
|
|
140
138
|
};
|
|
141
139
|
}
|
|
142
140
|
var dates = [from, to, highlighted].filter(function (date) { return date !== undefined; });
|
|
143
141
|
return {
|
|
144
142
|
rangeComplete: false,
|
|
145
|
-
selectedFrom: from || dates.length === 2 ? min__default
|
|
146
|
-
selectedTo: to || dates.length === 2 ? max__default
|
|
143
|
+
selectedFrom: from || dates.length === 2 ? min__default.default(dates).getTime() : undefined,
|
|
144
|
+
selectedTo: to || dates.length === 2 ? max__default.default(dates).getTime() : undefined,
|
|
147
145
|
};
|
|
148
146
|
}, [from, highlighted, to]);
|
|
149
147
|
}
|
package/index.js
CHANGED
|
@@ -1,25 +1,23 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
require('./index.module-2b983411.js');
|
|
3
|
+
var Component = require('./Component.js');
|
|
4
|
+
require('./index.module-24e4de4c.js');
|
|
6
5
|
require('react');
|
|
6
|
+
require('./views/popover.js');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('date-fns/startOfMonth');
|
|
9
9
|
require('@alfalab/core-components-calendar-input');
|
|
10
10
|
require('@alfalab/core-components-date-input');
|
|
11
|
+
require('./hooks.js');
|
|
11
12
|
require('date-fns/addMonths');
|
|
12
13
|
require('date-fns/isEqual');
|
|
13
14
|
require('date-fns/max');
|
|
14
15
|
require('date-fns/min');
|
|
15
16
|
require('date-fns/subMonths');
|
|
16
|
-
require('./
|
|
17
|
-
require('./views/popover.js');
|
|
17
|
+
require('./views/static.js');
|
|
18
18
|
require('date-fns/endOfMonth');
|
|
19
19
|
require('@alfalab/core-components-calendar');
|
|
20
20
|
require('./utils.js');
|
|
21
|
-
require('./views/static.js');
|
|
22
|
-
var Component = require('./Component.js');
|
|
23
21
|
|
|
24
22
|
|
|
25
23
|
|
|
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
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { CalendarRangePopover } from './views/popover.js';
|
|
3
|
+
import { CalendarRangeStatic } from './views/static.js';
|
|
2
4
|
import 'classnames';
|
|
3
5
|
import 'date-fns/startOfMonth';
|
|
4
6
|
import '@alfalab/core-components-calendar-input/modern';
|
|
5
7
|
import '@alfalab/core-components-date-input/modern';
|
|
8
|
+
import './hooks.js';
|
|
6
9
|
import 'date-fns/addMonths';
|
|
7
10
|
import 'date-fns/isEqual';
|
|
8
11
|
import 'date-fns/max';
|
|
9
12
|
import 'date-fns/min';
|
|
10
13
|
import 'date-fns/subMonths';
|
|
11
|
-
import './
|
|
12
|
-
import './index.module-4b4e51e6.js';
|
|
13
|
-
import { CalendarRangePopover } from './views/popover.js';
|
|
14
|
+
import './index.module-8c524c02.js';
|
|
14
15
|
import 'date-fns/endOfMonth';
|
|
15
16
|
import '@alfalab/core-components-calendar/modern';
|
|
16
17
|
import './utils.js';
|
|
17
|
-
import { CalendarRangeStatic } from './views/static.js';
|
|
18
18
|
|
|
19
19
|
const CalendarRange = ({ calendarPosition = 'static', ...restProps }) => {
|
|
20
20
|
const View = calendarPosition === 'popover' ? CalendarRangePopover : CalendarRangeStatic;
|
package/modern/hooks.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useState, useCallback, useEffect, useMemo } from 'react';
|
|
2
|
-
import startOfMonth from 'date-fns/startOfMonth';
|
|
3
2
|
import addMonths from 'date-fns/addMonths';
|
|
4
3
|
import isEqual from 'date-fns/isEqual';
|
|
5
4
|
import max from 'date-fns/max';
|
|
6
5
|
import min from 'date-fns/min';
|
|
6
|
+
import startOfMonth from 'date-fns/startOfMonth';
|
|
7
7
|
import subMonths from 'date-fns/subMonths';
|
|
8
8
|
|
|
9
9
|
function usePopoverViewMonthes({ dateFrom, dateTo, defaultMonth, resetKey, }) {
|
package/modern/index.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
+
export { CalendarRange } from './Component.js';
|
|
1
2
|
import 'react';
|
|
3
|
+
import './views/popover.js';
|
|
2
4
|
import 'classnames';
|
|
3
5
|
import 'date-fns/startOfMonth';
|
|
4
6
|
import '@alfalab/core-components-calendar-input/modern';
|
|
5
7
|
import '@alfalab/core-components-date-input/modern';
|
|
8
|
+
import './hooks.js';
|
|
6
9
|
import 'date-fns/addMonths';
|
|
7
10
|
import 'date-fns/isEqual';
|
|
8
11
|
import 'date-fns/max';
|
|
9
12
|
import 'date-fns/min';
|
|
10
13
|
import 'date-fns/subMonths';
|
|
11
|
-
import './
|
|
12
|
-
import './
|
|
13
|
-
import './views/popover.js';
|
|
14
|
+
import './index.module-8c524c02.js';
|
|
15
|
+
import './views/static.js';
|
|
14
16
|
import 'date-fns/endOfMonth';
|
|
15
17
|
import '@alfalab/core-components-calendar/modern';
|
|
16
18
|
import './utils.js';
|
|
17
|
-
import './views/static.js';
|
|
18
|
-
export { CalendarRange } from './Component.js';
|
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
|
@@ -3,13 +3,13 @@ import cn from 'classnames';
|
|
|
3
3
|
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
|
+
import { usePopoverViewMonthes } from '../hooks.js';
|
|
7
|
+
import { s as styles } from '../index.module-8c524c02.js';
|
|
6
8
|
import 'date-fns/addMonths';
|
|
7
9
|
import 'date-fns/isEqual';
|
|
8
10
|
import 'date-fns/max';
|
|
9
11
|
import 'date-fns/min';
|
|
10
12
|
import 'date-fns/subMonths';
|
|
11
|
-
import { usePopoverViewMonthes } from '../hooks.js';
|
|
12
|
-
import { s as styles } from '../index.module-4b4e51e6.js';
|
|
13
13
|
|
|
14
14
|
const CalendarRangePopover = ({ className, defaultMonth = startOfMonth(new Date()).getTime(), minDate, maxDate, valueFrom = '', valueTo = '', onDateFromChange = () => null, onDateToChange = () => null, onChange = () => null, onError, inputFromProps = {}, inputToProps = {}, offDays, events, dataTestId, }) => {
|
|
15
15
|
const [inputFromValue, setInputFromValue] = useState(valueFrom);
|
package/modern/views/static.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import React, { useState, useCallback, useEffect } from 'react';
|
|
2
2
|
import cn from 'classnames';
|
|
3
|
-
import startOfMonth from 'date-fns/startOfMonth';
|
|
4
|
-
import { isValidInputValue, parseDateString, formatDate } from '@alfalab/core-components-calendar-input/modern';
|
|
5
|
-
import { isCompleteDateInput, DateInput } from '@alfalab/core-components-date-input/modern';
|
|
6
3
|
import addMonths from 'date-fns/addMonths';
|
|
7
|
-
import 'date-fns/
|
|
4
|
+
import endOfMonth from 'date-fns/endOfMonth';
|
|
8
5
|
import max from 'date-fns/max';
|
|
9
|
-
import 'date-fns/
|
|
6
|
+
import startOfMonth from 'date-fns/startOfMonth';
|
|
10
7
|
import subMonths from 'date-fns/subMonths';
|
|
11
|
-
import { useStaticViewMonthes, useSelectionProps } from '../hooks.js';
|
|
12
|
-
import { s as styles } from '../index.module-4b4e51e6.js';
|
|
13
|
-
import endOfMonth from 'date-fns/endOfMonth';
|
|
14
8
|
import { usePeriodWithReset, Calendar } from '@alfalab/core-components-calendar/modern';
|
|
9
|
+
import { isValidInputValue, parseDateString, formatDate } from '@alfalab/core-components-calendar-input/modern';
|
|
10
|
+
import { isCompleteDateInput, DateInput } from '@alfalab/core-components-date-input/modern';
|
|
11
|
+
import { useStaticViewMonthes, useSelectionProps } from '../hooks.js';
|
|
15
12
|
import { isDayButton } from '../utils.js';
|
|
13
|
+
import { s as styles } from '../index.module-8c524c02.js';
|
|
14
|
+
import 'date-fns/isEqual';
|
|
15
|
+
import 'date-fns/min';
|
|
16
16
|
|
|
17
17
|
/* eslint-disable complexity */
|
|
18
18
|
const CalendarRangeStatic = ({ className, defaultMonth = startOfMonth(new Date()).getTime(), defaultMonthPosition = 'left', minDate, maxDate, valueFrom = '', valueTo = '', onDateFromChange = () => null, onDateToChange = () => null, onChange = () => null, onError, inputFromProps = {}, inputToProps = {}, offDays, events, dataTestId, }) => {
|
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/utils.js
CHANGED
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,28 +1,26 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var index_module = require('../index.module-2b983411.js');
|
|
3
|
+
var index_module = require('../index.module-24e4de4c.js');
|
|
6
4
|
var React = require('react');
|
|
7
5
|
var cn = require('classnames');
|
|
8
6
|
var startOfMonth = require('date-fns/startOfMonth');
|
|
9
7
|
var coreComponentsCalendarInput = require('@alfalab/core-components-calendar-input');
|
|
10
8
|
var coreComponentsDateInput = require('@alfalab/core-components-date-input');
|
|
9
|
+
var hooks = require('../hooks.js');
|
|
11
10
|
require('date-fns/addMonths');
|
|
12
11
|
require('date-fns/isEqual');
|
|
13
12
|
require('date-fns/max');
|
|
14
13
|
require('date-fns/min');
|
|
15
14
|
require('date-fns/subMonths');
|
|
16
|
-
var hooks = require('../hooks.js');
|
|
17
15
|
|
|
18
|
-
function
|
|
16
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
19
17
|
|
|
20
|
-
var React__default = /*#__PURE__*/
|
|
21
|
-
var cn__default = /*#__PURE__*/
|
|
22
|
-
var startOfMonth__default = /*#__PURE__*/
|
|
18
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
19
|
+
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
20
|
+
var startOfMonth__default = /*#__PURE__*/_interopDefaultCompat(startOfMonth);
|
|
23
21
|
|
|
24
22
|
var CalendarRangePopover = function (_a) {
|
|
25
|
-
var className = _a.className, _b = _a.defaultMonth, defaultMonth = _b === void 0 ? startOfMonth__default
|
|
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;
|
|
26
24
|
var _k = React.useState(valueFrom), inputFromValue = _k[0], setInputFromValue = _k[1];
|
|
27
25
|
var _l = React.useState(valueTo), inputToValue = _l[0], setInputToValue = _l[1];
|
|
28
26
|
/**
|
|
@@ -114,10 +112,10 @@ var CalendarRangePopover = function (_a) {
|
|
|
114
112
|
}
|
|
115
113
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
116
114
|
}, [hasValidateError]);
|
|
117
|
-
return (React__default
|
|
118
|
-
React__default
|
|
119
|
-
React__default
|
|
120
|
-
React__default
|
|
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' }) }))));
|
|
121
119
|
};
|
|
122
120
|
|
|
123
121
|
exports.CalendarRangePopover = CalendarRangePopover;
|
package/views/static.js
CHANGED
|
@@ -1,35 +1,33 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var index_module = require('../index.module-2b983411.js');
|
|
3
|
+
var index_module = require('../index.module-24e4de4c.js');
|
|
6
4
|
var React = require('react');
|
|
7
5
|
var cn = require('classnames');
|
|
8
|
-
var startOfMonth = require('date-fns/startOfMonth');
|
|
9
|
-
var coreComponentsCalendarInput = require('@alfalab/core-components-calendar-input');
|
|
10
|
-
var coreComponentsDateInput = require('@alfalab/core-components-date-input');
|
|
11
6
|
var addMonths = require('date-fns/addMonths');
|
|
12
|
-
require('date-fns/
|
|
7
|
+
var endOfMonth = require('date-fns/endOfMonth');
|
|
13
8
|
var max = require('date-fns/max');
|
|
14
|
-
require('date-fns/
|
|
9
|
+
var startOfMonth = require('date-fns/startOfMonth');
|
|
15
10
|
var subMonths = require('date-fns/subMonths');
|
|
16
|
-
var hooks = require('../hooks.js');
|
|
17
|
-
var endOfMonth = require('date-fns/endOfMonth');
|
|
18
11
|
var coreComponentsCalendar = require('@alfalab/core-components-calendar');
|
|
12
|
+
var coreComponentsCalendarInput = require('@alfalab/core-components-calendar-input');
|
|
13
|
+
var coreComponentsDateInput = require('@alfalab/core-components-date-input');
|
|
14
|
+
var hooks = require('../hooks.js');
|
|
19
15
|
var utils = require('../utils.js');
|
|
16
|
+
require('date-fns/isEqual');
|
|
17
|
+
require('date-fns/min');
|
|
20
18
|
|
|
21
|
-
function
|
|
19
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
22
20
|
|
|
23
|
-
var React__default = /*#__PURE__*/
|
|
24
|
-
var cn__default = /*#__PURE__*/
|
|
25
|
-
var
|
|
26
|
-
var
|
|
27
|
-
var max__default = /*#__PURE__*/
|
|
28
|
-
var
|
|
29
|
-
var
|
|
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);
|
|
30
28
|
|
|
31
29
|
var CalendarRangeStatic = function (_a) {
|
|
32
|
-
var className = _a.className, _b = _a.defaultMonth, defaultMonth = _b === void 0 ? startOfMonth__default
|
|
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;
|
|
33
31
|
var _l = React.useState(valueFrom), inputFromValue = _l[0], setInputFromValue = _l[1];
|
|
34
32
|
var _m = React.useState(valueTo), inputToValue = _m[0], setInputToValue = _m[1];
|
|
35
33
|
var dateFrom = coreComponentsCalendarInput.isValidInputValue(inputFromValue, minDate, maxDate, offDays)
|
|
@@ -159,18 +157,18 @@ var CalendarRangeStatic = function (_a) {
|
|
|
159
157
|
var CalendarToComponent = dateInputToProps.Calendar || coreComponentsCalendar.Calendar;
|
|
160
158
|
return (
|
|
161
159
|
// eslint-disable-next-line jsx-a11y/mouse-events-have-key-events
|
|
162
|
-
React__default
|
|
163
|
-
React__default
|
|
164
|
-
React__default
|
|
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'
|
|
165
163
|
? 'input'
|
|
166
164
|
: dateInputFromProps.mobileMode, value: inputFromValue, onChange: handleInputFromChange, onClear: handleClearFrom, onBlur: handleValidInputFrom, error: bothInvalid || inputFromInvalid || dateInputFromProps.error, clear: true, block: true })),
|
|
167
|
-
React__default
|
|
168
|
-
React__default
|
|
169
|
-
React__default
|
|
170
|
-
React__default
|
|
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'
|
|
171
169
|
? 'input'
|
|
172
170
|
: dateInputToProps.mobileMode, value: inputToValue, onChange: handleInputToChange, onClear: handleClearTo, onBlur: handleValidInputTo, error: bothInvalid || inputToInvalid, clear: true, block: true })),
|
|
173
|
-
React__default
|
|
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)))));
|
|
174
172
|
};
|
|
175
173
|
|
|
176
174
|
exports.CalendarRangeStatic = CalendarRangeStatic;
|