@alfalab/core-components-calendar-range 7.0.6 → 7.0.8

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.
Files changed (49) hide show
  1. package/Component.js +7 -2
  2. package/components/divider/Component.d.ts +8 -0
  3. package/components/divider/Component.js +25 -0
  4. package/components/divider/index.css +75 -0
  5. package/components/divider/index.d.ts +1 -0
  6. package/components/divider/index.js +9 -0
  7. package/cssm/Component.js +7 -1
  8. package/cssm/components/divider/Component.d.ts +8 -0
  9. package/cssm/components/divider/Component.js +24 -0
  10. package/cssm/components/divider/index.d.ts +1 -0
  11. package/cssm/components/divider/index.js +10 -0
  12. package/cssm/components/divider/index.module.css +74 -0
  13. package/cssm/hooks.js +31 -22
  14. package/cssm/index.js +2 -0
  15. package/cssm/views/index.module.css +0 -21
  16. package/cssm/views/popover.js +14 -5
  17. package/cssm/views/static.js +22 -9
  18. package/esm/Component.js +2 -1
  19. package/esm/components/divider/Component.d.ts +8 -0
  20. package/esm/components/divider/Component.js +18 -0
  21. package/esm/components/divider/index.css +75 -0
  22. package/esm/components/divider/index.d.ts +1 -0
  23. package/esm/components/divider/index.js +3 -0
  24. package/esm/index.js +2 -1
  25. package/esm/{index.module-bf0c7948.d.ts → index.module-1aaed941.d.ts} +0 -0
  26. package/esm/{index.module-bf0c7948.js → index.module-1aaed941.js} +1 -1
  27. package/esm/views/index.css +6 -27
  28. package/esm/views/popover.js +3 -2
  29. package/esm/views/static.js +3 -2
  30. package/hooks.js +31 -22
  31. package/index.js +2 -1
  32. package/{index.module-3391f602.d.ts → index.module-255b4286.d.ts} +0 -0
  33. package/{index.module-3391f602.js → index.module-255b4286.js} +1 -1
  34. package/modern/Component.js +2 -1
  35. package/modern/components/divider/Component.d.ts +8 -0
  36. package/modern/components/divider/Component.js +16 -0
  37. package/modern/components/divider/index.css +75 -0
  38. package/modern/components/divider/index.d.ts +1 -0
  39. package/modern/components/divider/index.js +3 -0
  40. package/modern/index.js +2 -1
  41. package/modern/index.module-491eb220.js +4 -0
  42. package/modern/views/index.css +6 -27
  43. package/modern/views/popover.js +3 -2
  44. package/modern/views/static.js +3 -2
  45. package/package.json +4 -4
  46. package/views/index.css +6 -27
  47. package/views/popover.js +13 -6
  48. package/views/static.js +21 -10
  49. 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-3391f602.js');
3
+ var index_module = require('./index.module-255b4286.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');
@@ -8,6 +8,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('./components/divider/Component.js');
11
12
  require('./hooks.js');
12
13
  require('date-fns/addMonths');
13
14
  require('date-fns/isEqual');
@@ -18,10 +19,14 @@ require('date-fns/endOfMonth');
18
19
  require('@alfalab/core-components-calendar');
19
20
  require('./utils.js');
20
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
+
21
26
  var CalendarRange = function (_a) {
22
27
  var _b = _a.calendarPosition, calendarPosition = _b === void 0 ? 'static' : _b, restProps = index_module.__rest(_a, ["calendarPosition"]);
23
28
  var View = calendarPosition === 'popover' ? views_popover.CalendarRangePopover : views_static.CalendarRangeStatic;
24
- return React.createElement(View, index_module.__assign({}, restProps));
29
+ return React__default.default.createElement(View, index_module.__assign({}, restProps));
25
30
  };
26
31
 
27
32
  exports.CalendarRange = CalendarRange;
@@ -0,0 +1,8 @@
1
+ import { FC } from 'react';
2
+ import { CalendarRangeProps } from "../../Component";
3
+ type Props = {
4
+ inputFromProps?: CalendarRangeProps['inputFromProps'];
5
+ inputToProps?: CalendarRangeProps['inputToProps'];
6
+ };
7
+ declare const Divider: FC<Props>;
8
+ export { Divider };
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var cn = require('classnames');
5
+
6
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
7
+
8
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
9
+ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
10
+
11
+ var styles = {"component":"calendar-range__component_1tbg6","outer":"calendar-range__outer_1tbg6","s":"calendar-range__s_1tbg6","m":"calendar-range__m_1tbg6","l":"calendar-range__l_1tbg6","xl":"calendar-range__xl_1tbg6"};
12
+ require('./index.css')
13
+
14
+ var Divider = function (_a) {
15
+ var _b;
16
+ var inputFromProps = _a.inputFromProps, inputToProps = _a.inputToProps;
17
+ var outer = (inputFromProps === null || inputFromProps === void 0 ? void 0 : inputFromProps.label) &&
18
+ (inputFromProps === null || inputFromProps === void 0 ? void 0 : inputFromProps.labelView) === 'outer' &&
19
+ (inputToProps === null || inputToProps === void 0 ? void 0 : inputToProps.label) &&
20
+ (inputToProps === null || inputToProps === void 0 ? void 0 : inputToProps.labelView) === 'outer';
21
+ var size = (inputFromProps === null || inputFromProps === void 0 ? void 0 : inputFromProps.size) || (inputToProps === null || inputToProps === void 0 ? void 0 : inputToProps.size) || 's';
22
+ return React__default.default.createElement("span", { className: cn__default.default(styles.component, styles[size], (_b = {}, _b[styles.outer] = outer, _b)) });
23
+ };
24
+
25
+ exports.Divider = Divider;
@@ -0,0 +1,75 @@
1
+ /* hash: 1udsd */
2
+ :root {
3
+ --color-light-graphic-primary: #0b1f35;
4
+ }
5
+ :root {
6
+
7
+ /* Hard */
8
+
9
+ /* Up */
10
+
11
+ /* Hard up */
12
+ }
13
+ :root {
14
+ --gap-xs: 8px;
15
+ }
16
+ :root {
17
+ --size-s-height: 48px;
18
+ --size-m-height: 56px;
19
+ --size-l-height: 64px;
20
+ --size-xl-height: 72px;
21
+ }
22
+ :root {
23
+
24
+ /* Кнопки выбора месяцев и годов */
25
+
26
+ /* Шапка */
27
+
28
+ /* День */
29
+
30
+ /* today */
31
+
32
+ /* highlighted */
33
+
34
+ /* holidays */
35
+
36
+ /* range */
37
+
38
+ /* selected */
39
+
40
+ /* disabled */
41
+
42
+ /* marker */
43
+ }
44
+ .calendar-range__component_1tbg6 {
45
+ display: flex;
46
+ align-items: center;
47
+ justify-content: center;
48
+ width: 16px;
49
+ margin: 0 var(--gap-xs)
50
+ }
51
+ .calendar-range__component_1tbg6:after {
52
+ content: '';
53
+ display: block;
54
+ width: 100%;
55
+ height: 1px;
56
+ background-color: var(--color-light-graphic-primary);
57
+ }
58
+ .calendar-range__outer_1tbg6 {
59
+ position: relative;
60
+
61
+ /* FormControl .above height + margin-bottom */
62
+ top: 24px;
63
+ }
64
+ .calendar-range__s_1tbg6 {
65
+ height: var(--size-s-height);
66
+ }
67
+ .calendar-range__m_1tbg6 {
68
+ height: var(--size-m-height);
69
+ }
70
+ .calendar-range__l_1tbg6 {
71
+ height: var(--size-l-height);
72
+ }
73
+ .calendar-range__xl_1tbg6 {
74
+ height: var(--size-xl-height);
75
+ }
@@ -0,0 +1 @@
1
+ export * from "./Component";
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var components_divider_Component = require('./Component.js');
4
+ require('react');
5
+ require('classnames');
6
+
7
+
8
+
9
+ exports.Divider = components_divider_Component.Divider;
package/cssm/Component.js CHANGED
@@ -8,6 +8,8 @@ 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('./components/divider/Component.js');
12
+ require('./components/divider/index.module.css');
11
13
  require('./hooks.js');
12
14
  require('date-fns/addMonths');
13
15
  require('date-fns/isEqual');
@@ -19,10 +21,14 @@ require('date-fns/endOfMonth');
19
21
  require('@alfalab/core-components-calendar/cssm');
20
22
  require('./utils.js');
21
23
 
24
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
25
+
26
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
27
+
22
28
  var CalendarRange = function (_a) {
23
29
  var _b = _a.calendarPosition, calendarPosition = _b === void 0 ? 'static' : _b, restProps = tslib_es6.__rest(_a, ["calendarPosition"]);
24
30
  var View = calendarPosition === 'popover' ? views_popover.CalendarRangePopover : views_static.CalendarRangeStatic;
25
- return React.createElement(View, tslib_es6.__assign({}, restProps));
31
+ return React__default.default.createElement(View, tslib_es6.__assign({}, restProps));
26
32
  };
27
33
 
28
34
  exports.CalendarRange = CalendarRange;
@@ -0,0 +1,8 @@
1
+ import { FC } from 'react';
2
+ import { CalendarRangeProps } from "../../Component";
3
+ type Props = {
4
+ inputFromProps?: CalendarRangeProps['inputFromProps'];
5
+ inputToProps?: CalendarRangeProps['inputToProps'];
6
+ };
7
+ declare const Divider: FC<Props>;
8
+ export { Divider };
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var cn = require('classnames');
5
+ var styles = require('./index.module.css');
6
+
7
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
8
+
9
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
10
+ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
11
+ var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
12
+
13
+ var Divider = function (_a) {
14
+ var _b;
15
+ var inputFromProps = _a.inputFromProps, inputToProps = _a.inputToProps;
16
+ var outer = (inputFromProps === null || inputFromProps === void 0 ? void 0 : inputFromProps.label) &&
17
+ (inputFromProps === null || inputFromProps === void 0 ? void 0 : inputFromProps.labelView) === 'outer' &&
18
+ (inputToProps === null || inputToProps === void 0 ? void 0 : inputToProps.label) &&
19
+ (inputToProps === null || inputToProps === void 0 ? void 0 : inputToProps.labelView) === 'outer';
20
+ var size = (inputFromProps === null || inputFromProps === void 0 ? void 0 : inputFromProps.size) || (inputToProps === null || inputToProps === void 0 ? void 0 : inputToProps.size) || 's';
21
+ return React__default.default.createElement("span", { className: cn__default.default(styles__default.default.component, styles__default.default[size], (_b = {}, _b[styles__default.default.outer] = outer, _b)) });
22
+ };
23
+
24
+ exports.Divider = Divider;
@@ -0,0 +1 @@
1
+ export * from "./Component";
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var components_divider_Component = require('./Component.js');
4
+ require('react');
5
+ require('classnames');
6
+ require('./index.module.css');
7
+
8
+
9
+
10
+ exports.Divider = components_divider_Component.Divider;
@@ -0,0 +1,74 @@
1
+ :root {
2
+ --color-light-graphic-primary: #0b1f35;
3
+ }
4
+ :root {
5
+
6
+ /* Hard */
7
+
8
+ /* Up */
9
+
10
+ /* Hard up */
11
+ }
12
+ :root {
13
+ --gap-xs: 8px;
14
+ }
15
+ :root {
16
+ --size-s-height: 48px;
17
+ --size-m-height: 56px;
18
+ --size-l-height: 64px;
19
+ --size-xl-height: 72px;
20
+ }
21
+ :root {
22
+
23
+ /* Кнопки выбора месяцев и годов */
24
+
25
+ /* Шапка */
26
+
27
+ /* День */
28
+
29
+ /* today */
30
+
31
+ /* highlighted */
32
+
33
+ /* holidays */
34
+
35
+ /* range */
36
+
37
+ /* selected */
38
+
39
+ /* disabled */
40
+
41
+ /* marker */
42
+ }
43
+ .component {
44
+ display: flex;
45
+ align-items: center;
46
+ justify-content: center;
47
+ width: 16px;
48
+ margin: 0 var(--gap-xs)
49
+ }
50
+ .component:after {
51
+ content: '';
52
+ display: block;
53
+ width: 100%;
54
+ height: 1px;
55
+ background-color: var(--color-light-graphic-primary);
56
+ }
57
+ .outer {
58
+ position: relative;
59
+
60
+ /* FormControl .above height + margin-bottom */
61
+ top: 24px;
62
+ }
63
+ .s {
64
+ height: var(--size-s-height);
65
+ }
66
+ .m {
67
+ height: var(--size-m-height);
68
+ }
69
+ .l {
70
+ height: var(--size-l-height);
71
+ }
72
+ .xl {
73
+ height: var(--size-xl-height);
74
+ }
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 ? startOfMonth(dateFrom).getTime() : defaultMonth);
37
+ setMonthFrom(dateFrom ? startOfMonth__default.default(dateFrom).getTime() : defaultMonth);
29
38
  }, [defaultMonth, dateFrom, resetKey]);
30
39
  React.useEffect(function () {
31
- setMonthTo(dateTo ? startOfMonth(dateTo).getTime() : monthFrom);
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 startOfMonth(selectedFrom || selectedTo || defaultMonth).getTime(); },
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 max([
55
- selectedTo ? startOfMonth(selectedTo) : 0,
56
- addMonths(initialMonthFrom, 1),
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 = subMonths(initialMonthFrom, 1).getTime();
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 && isEqual(newMonthFrom, monthTo)) {
70
- var nextMonth = addMonths(newMonthFrom, 1).getTime();
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 && isEqual(newMonthTo, monthFrom)) {
77
- var prevMonth = subMonths(newMonthTo, 1).getTime();
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 ? startOfMonth(selectedFrom).getTime() : undefined;
84
- var selectedToMonth = selectedTo ? startOfMonth(selectedTo).getTime() : undefined;
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(max([addMonths(selectedFromMonth, 1), monthTo]).getTime());
102
+ setMonthTo(max__default.default([addMonths__default.default(selectedFromMonth, 1), monthTo]).getTime());
94
103
  return;
95
104
  }
96
105
  if (fromMonthOnRight && toMonthOnRight) {
97
- setMonthFrom(min([subMonths(selectedToMonth, 1), monthFrom]).getTime());
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(max([addMonths(selectedFromMonth, 1), selectedToMonth]).getTime());
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(max([addMonths(selectedFromMonth, 1), monthTo]).getTime());
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(min([subMonths(selectedToMonth, 1), monthFrom]).getTime());
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: min([from, to]).getTime(),
128
- selectedTo: max([from, to]).getTime(),
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 ? min(dates).getTime() : undefined,
135
- selectedTo: to || dates.length === 2 ? max(dates).getTime() : undefined,
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/index.js CHANGED
@@ -8,6 +8,8 @@ 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('./components/divider/Component.js');
12
+ require('./components/divider/index.module.css');
11
13
  require('./hooks.js');
12
14
  require('date-fns/addMonths');
13
15
  require('date-fns/isEqual');
@@ -1,6 +1,3 @@
1
- :root {
2
- --color-light-graphic-primary: #0b1f35;
3
- }
4
1
  :root {
5
2
 
6
3
  /* Hard */
@@ -9,9 +6,6 @@
9
6
 
10
7
  /* Hard up */
11
8
  }
12
- :root {
13
- --gap-xs: 8px;
14
- }
15
9
  :root {
16
10
  --calendar-inner-width: 280px;
17
11
 
@@ -47,21 +41,6 @@
47
41
  .component *[class*='calendarIcon_'] {
48
42
  margin-right: 0;
49
43
  }
50
- .divider {
51
- height: 48px;
52
- display: flex;
53
- align-items: center;
54
- justify-content: center;
55
- width: 16px;
56
- margin: 0 var(--gap-xs)
57
- }
58
- .divider:after {
59
- content: '';
60
- display: block;
61
- width: 100%;
62
- height: 1px;
63
- background-color: var(--color-light-graphic-primary);
64
- }
65
44
  .static .calendar {
66
45
  width: var(--calendar-inner-width);
67
46
  }
@@ -6,16 +6,25 @@ var cn = require('classnames');
6
6
  var startOfMonth = require('date-fns/startOfMonth');
7
7
  var coreComponentsCalendarInput = require('@alfalab/core-components-calendar-input/cssm');
8
8
  var coreComponentsDateInput = require('@alfalab/core-components-date-input/cssm');
9
+ var components_divider_Component = require('../components/divider/Component.js');
9
10
  var hooks = require('../hooks.js');
10
11
  var styles = require('./index.module.css');
12
+ require('../components/divider/index.module.css');
11
13
  require('date-fns/addMonths');
12
14
  require('date-fns/isEqual');
13
15
  require('date-fns/max');
14
16
  require('date-fns/min');
15
17
  require('date-fns/subMonths');
16
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 startOfMonth__default = /*#__PURE__*/_interopDefaultCompat(startOfMonth);
24
+ var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
25
+
17
26
  var CalendarRangePopover = function (_a) {
18
- 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;
27
+ 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
28
  var _k = React.useState(valueFrom), inputFromValue = _k[0], setInputFromValue = _k[1];
20
29
  var _l = React.useState(valueTo), inputToValue = _l[0], setInputToValue = _l[1];
21
30
  /**
@@ -107,10 +116,10 @@ var CalendarRangePopover = function (_a) {
107
116
  }
108
117
  // eslint-disable-next-line react-hooks/exhaustive-deps
109
118
  }, [hasValidateError]);
110
- return (React.createElement("div", { className: cn(styles.component, className), "data-test-id": dataTestId },
111
- React.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' }) })),
112
- React.createElement("span", { className: styles.divider }),
113
- React.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' }) }))));
119
+ return (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.component, className), "data-test-id": dataTestId },
120
+ 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' }) })),
121
+ React__default.default.createElement(components_divider_Component.Divider, { inputFromProps: inputFromProps, inputToProps: inputToProps }),
122
+ 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
123
  };
115
124
 
116
125
  exports.CalendarRangePopover = CalendarRangePopover;
@@ -11,14 +11,27 @@ var subMonths = require('date-fns/subMonths');
11
11
  var coreComponentsCalendar = require('@alfalab/core-components-calendar/cssm');
12
12
  var coreComponentsCalendarInput = require('@alfalab/core-components-calendar-input/cssm');
13
13
  var coreComponentsDateInput = require('@alfalab/core-components-date-input/cssm');
14
+ var components_divider_Component = require('../components/divider/Component.js');
14
15
  var hooks = require('../hooks.js');
15
16
  var utils = require('../utils.js');
16
17
  var styles = require('./index.module.css');
18
+ require('../components/divider/index.module.css');
17
19
  require('date-fns/isEqual');
18
20
  require('date-fns/min');
19
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
+ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
26
+ var addMonths__default = /*#__PURE__*/_interopDefaultCompat(addMonths);
27
+ var endOfMonth__default = /*#__PURE__*/_interopDefaultCompat(endOfMonth);
28
+ var max__default = /*#__PURE__*/_interopDefaultCompat(max);
29
+ var startOfMonth__default = /*#__PURE__*/_interopDefaultCompat(startOfMonth);
30
+ var subMonths__default = /*#__PURE__*/_interopDefaultCompat(subMonths);
31
+ var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
32
+
20
33
  var CalendarRangeStatic = function (_a) {
21
- 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;
34
+ 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
35
  var _l = React.useState(valueFrom), inputFromValue = _l[0], setInputFromValue = _l[1];
23
36
  var _m = React.useState(valueTo), inputToValue = _m[0], setInputToValue = _m[1];
24
37
  var dateFrom = coreComponentsCalendarInput.isValidInputValue(inputFromValue, minDate, maxDate, offDays)
@@ -148,18 +161,18 @@ var CalendarRangeStatic = function (_a) {
148
161
  var CalendarToComponent = dateInputToProps.Calendar || coreComponentsCalendar.Calendar;
149
162
  return (
150
163
  // eslint-disable-next-line jsx-a11y/mouse-events-have-key-events
151
- React.createElement("div", { className: cn(styles.component, styles.static, className), onMouseOver: handleMouseOver, "data-test-id": dataTestId },
152
- React.createElement("div", null,
153
- React.createElement(coreComponentsDateInput.DateInput, tslib_es6.__assign({}, dateInputFromProps, { mobileMode: dateInputFromProps.mobileMode === 'popover'
164
+ React__default.default.createElement("div", { className: cn__default.default(styles__default.default.component, styles__default.default.static, className), onMouseOver: handleMouseOver, "data-test-id": dataTestId },
165
+ React__default.default.createElement("div", null,
166
+ React__default.default.createElement(coreComponentsDateInput.DateInput, tslib_es6.__assign({}, dateInputFromProps, { mobileMode: dateInputFromProps.mobileMode === 'popover'
154
167
  ? 'input'
155
168
  : dateInputFromProps.mobileMode, value: inputFromValue, onChange: handleInputFromChange, onClear: handleClearFrom, onBlur: handleValidInputFrom, error: bothInvalid || inputFromInvalid || dateInputFromProps.error, clear: true, block: true })),
156
- React.createElement(CalendarFromComponent, tslib_es6.__assign({}, calendarFromProps, { className: cn(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([maxDate, endOfMonth(subMonths(maxDate, 1))]).getTime() }, rangeProps))),
157
- React.createElement("span", { className: styles.divider }),
158
- React.createElement("div", null,
159
- React.createElement(coreComponentsDateInput.DateInput, tslib_es6.__assign({}, dateInputToProps, { mobileMode: dateInputToProps.mobileMode === 'popover'
169
+ 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))),
170
+ React__default.default.createElement(components_divider_Component.Divider, { inputFromProps: inputFromProps, inputToProps: inputToProps }),
171
+ React__default.default.createElement("div", null,
172
+ React__default.default.createElement(coreComponentsDateInput.DateInput, tslib_es6.__assign({}, dateInputToProps, { mobileMode: dateInputToProps.mobileMode === 'popover'
160
173
  ? 'input'
161
174
  : dateInputToProps.mobileMode, value: inputToValue, onChange: handleInputToChange, onClear: handleClearTo, onBlur: handleValidInputTo, error: bothInvalid || inputToInvalid, clear: true, block: true })),
162
- React.createElement(CalendarToComponent, tslib_es6.__assign({}, calendarToProps, { className: cn(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(addMonths(minDate, 1)).getTime(), maxDate: maxDate }, rangeProps)))));
175
+ 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
176
  };
164
177
 
165
178
  exports.CalendarRangeStatic = CalendarRangeStatic;
package/esm/Component.js CHANGED
@@ -1,4 +1,4 @@
1
- import { _ as __rest, a as __assign } from './index.module-bf0c7948.js';
1
+ import { _ as __rest, a as __assign } from './index.module-1aaed941.js';
2
2
  import React from 'react';
3
3
  import { CalendarRangePopover } from './views/popover.js';
4
4
  import { CalendarRangeStatic } from './views/static.js';
@@ -6,6 +6,7 @@ import 'classnames';
6
6
  import 'date-fns/startOfMonth';
7
7
  import '@alfalab/core-components-calendar-input/esm';
8
8
  import '@alfalab/core-components-date-input/esm';
9
+ import './components/divider/Component.js';
9
10
  import './hooks.js';
10
11
  import 'date-fns/addMonths';
11
12
  import 'date-fns/isEqual';
@@ -0,0 +1,8 @@
1
+ import { FC } from 'react';
2
+ import { CalendarRangeProps } from "../../Component";
3
+ type Props = {
4
+ inputFromProps?: CalendarRangeProps['inputFromProps'];
5
+ inputToProps?: CalendarRangeProps['inputToProps'];
6
+ };
7
+ declare const Divider: FC<Props>;
8
+ export { Divider };
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import cn from 'classnames';
3
+
4
+ var styles = {"component":"calendar-range__component_1tbg6","outer":"calendar-range__outer_1tbg6","s":"calendar-range__s_1tbg6","m":"calendar-range__m_1tbg6","l":"calendar-range__l_1tbg6","xl":"calendar-range__xl_1tbg6"};
5
+ require('./index.css')
6
+
7
+ var Divider = function (_a) {
8
+ var _b;
9
+ var inputFromProps = _a.inputFromProps, inputToProps = _a.inputToProps;
10
+ var outer = (inputFromProps === null || inputFromProps === void 0 ? void 0 : inputFromProps.label) &&
11
+ (inputFromProps === null || inputFromProps === void 0 ? void 0 : inputFromProps.labelView) === 'outer' &&
12
+ (inputToProps === null || inputToProps === void 0 ? void 0 : inputToProps.label) &&
13
+ (inputToProps === null || inputToProps === void 0 ? void 0 : inputToProps.labelView) === 'outer';
14
+ var size = (inputFromProps === null || inputFromProps === void 0 ? void 0 : inputFromProps.size) || (inputToProps === null || inputToProps === void 0 ? void 0 : inputToProps.size) || 's';
15
+ return React.createElement("span", { className: cn(styles.component, styles[size], (_b = {}, _b[styles.outer] = outer, _b)) });
16
+ };
17
+
18
+ export { Divider };