@salutejs/plasma-new-hope 0.113.1-canary.1325.10178064945.0 → 0.114.0-canary.1326.10178816804.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/DatePicker/RangeDate/RangeDate.js +14 -2
- package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/cjs/components/DatePicker/SingleDate/SingleDate.js +14 -2
- package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +30 -0
- package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -0
- package/cjs/components/Modal/hooks/useModal.js +15 -0
- package/cjs/components/Modal/hooks/useModal.js.map +1 -1
- package/cjs/components/Popup/PopupContext.js +8 -23
- package/cjs/components/Popup/PopupContext.js.map +1 -1
- package/cjs/components/Popup/hooks/usePopup.js +0 -5
- package/cjs/components/Popup/hooks/usePopup.js.map +1 -1
- package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +14 -2
- package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +14 -2
- package/emotion/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +32 -0
- package/emotion/cjs/components/Modal/hooks/useModal.js +15 -0
- package/emotion/cjs/components/Popup/PopupContext.js +8 -23
- package/emotion/cjs/components/Popup/hooks/usePopup.js +0 -5
- package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +14 -2
- package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +15 -3
- package/emotion/es/components/DatePicker/hooks/useKeyboardNavigation.js +26 -0
- package/emotion/es/components/Modal/hooks/useModal.js +17 -2
- package/emotion/es/components/Popup/PopupContext.js +9 -24
- package/emotion/es/components/Popup/hooks/usePopup.js +0 -5
- package/es/components/DatePicker/RangeDate/RangeDate.js +14 -2
- package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/es/components/DatePicker/SingleDate/SingleDate.js +15 -3
- package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/es/components/DatePicker/hooks/useKeyboardNavigation.js +25 -0
- package/es/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -0
- package/es/components/Modal/hooks/useModal.js +17 -2
- package/es/components/Modal/hooks/useModal.js.map +1 -1
- package/es/components/Popup/PopupContext.js +9 -24
- package/es/components/Popup/PopupContext.js.map +1 -1
- package/es/components/Popup/hooks/usePopup.js +0 -5
- package/es/components/Popup/hooks/usePopup.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +14 -2
- package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +14 -2
- package/styled-components/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +32 -0
- package/styled-components/cjs/components/Modal/hooks/useModal.js +15 -0
- package/styled-components/cjs/components/Popup/PopupContext.js +8 -23
- package/styled-components/cjs/components/Popup/hooks/usePopup.js +0 -5
- package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +14 -2
- package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +15 -3
- package/styled-components/es/components/DatePicker/hooks/useKeyboardNavigation.js +26 -0
- package/styled-components/es/components/Modal/hooks/useModal.js +17 -2
- package/styled-components/es/components/Popup/PopupContext.js +9 -24
- package/styled-components/es/components/Popup/hooks/usePopup.js +0 -5
- package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
- package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts +13 -0
- package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts.map +1 -0
- package/types/components/Modal/hooks/useModal.d.ts +1 -1
- package/types/components/Modal/hooks/useModal.d.ts.map +1 -1
- package/types/components/Popup/PopupContext.d.ts.map +1 -1
- package/types/components/Popup/hooks/usePopup.d.ts.map +1 -1
@@ -11,6 +11,7 @@ var _dateHelper = /*#__PURE__*/require("../utils/dateHelper");
|
|
11
11
|
var _useDatePicker2 = /*#__PURE__*/require("../hooks/useDatePicker");
|
12
12
|
var _DatePicker = /*#__PURE__*/require("../DatePicker.tokens");
|
13
13
|
var _DatePickerBase = /*#__PURE__*/require("../DatePickerBase.styles");
|
14
|
+
var _useKeyboardNavigation = /*#__PURE__*/require("../hooks/useKeyboardNavigation");
|
14
15
|
var _base = /*#__PURE__*/require("./variations/_size/base");
|
15
16
|
var _base2 = /*#__PURE__*/require("./variations/_view/base");
|
16
17
|
var _base3 = /*#__PURE__*/require("./variations/_disabled/base");
|
@@ -119,6 +120,11 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
|
|
119
120
|
handleToggle = _useDatePicker.handleToggle,
|
120
121
|
handleChangeValue = _useDatePicker.handleChangeValue,
|
121
122
|
handleCommitDate = _useDatePicker.handleCommitDate;
|
123
|
+
var _useKeyNavigation = (0, _useKeyboardNavigation.useKeyNavigation)({
|
124
|
+
isCalendarOpen: isInnerOpen,
|
125
|
+
onToggle: handleToggle
|
126
|
+
}),
|
127
|
+
onKeyDown = _useKeyNavigation.onKeyDown;
|
122
128
|
var DatePickerInput = /*#__PURE__*/_react["default"].createElement(_SingleDate.StyledInput, _extends({
|
123
129
|
ref: inputRef,
|
124
130
|
className: (0, _utils.cx)(datePickerErrorClass, datePickerSuccessClass),
|
@@ -136,11 +142,17 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
|
|
136
142
|
return handleCommitDate(date, true, false);
|
137
143
|
},
|
138
144
|
onFocus: onFocus,
|
139
|
-
onBlur: onBlur
|
145
|
+
onBlur: onBlur,
|
146
|
+
onKeyDown: onKeyDown
|
140
147
|
}, innerLabelPlacement && {
|
141
148
|
label: label,
|
142
149
|
labelPlacement: labelPlacement
|
143
150
|
}));
|
151
|
+
(0, _react.useEffect)(function () {
|
152
|
+
setIsInnerOpen(function (prevOpen) {
|
153
|
+
return prevOpen !== isOpen && isOpen;
|
154
|
+
});
|
155
|
+
}, [isOpen]);
|
144
156
|
return /*#__PURE__*/_react["default"].createElement(Root, _extends({
|
145
157
|
view: view,
|
146
158
|
size: size,
|
@@ -149,7 +161,7 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
|
|
149
161
|
readOnly: !disabled && readOnly,
|
150
162
|
ref: ref
|
151
163
|
}, rest), !innerLabelPlacement && label && /*#__PURE__*/_react["default"].createElement(_SingleDate.StyledLabel, null, label), /*#__PURE__*/_react["default"].createElement(_SingleDate.StyledPopover, {
|
152
|
-
isOpen:
|
164
|
+
isOpen: isInnerOpen,
|
153
165
|
usePortal: false,
|
154
166
|
onToggle: handleToggle,
|
155
167
|
offset: offset,
|
@@ -0,0 +1,32 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.useKeyNavigation = exports.keys = void 0;
|
7
|
+
var keys = exports.keys = {
|
8
|
+
Space: 'Space'
|
9
|
+
};
|
10
|
+
var useKeyNavigation = exports.useKeyNavigation = function useKeyNavigation(_ref) {
|
11
|
+
var isCalendarOpen = _ref.isCalendarOpen,
|
12
|
+
onToggle = _ref.onToggle;
|
13
|
+
var onKeyDown = function onKeyDown(event) {
|
14
|
+
switch (event.code) {
|
15
|
+
case keys.Space:
|
16
|
+
{
|
17
|
+
if (!isCalendarOpen) {
|
18
|
+
event.preventDefault();
|
19
|
+
onToggle(true, event);
|
20
|
+
}
|
21
|
+
break;
|
22
|
+
}
|
23
|
+
default:
|
24
|
+
{
|
25
|
+
break;
|
26
|
+
}
|
27
|
+
}
|
28
|
+
};
|
29
|
+
return {
|
30
|
+
onKeyDown: onKeyDown
|
31
|
+
};
|
32
|
+
};
|
@@ -16,12 +16,14 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
16
16
|
var ESCAPE_KEYCODE = 27;
|
17
17
|
var useModal = exports.useModal = function useModal(_ref) {
|
18
18
|
var id = _ref.id,
|
19
|
+
isOpen = _ref.isOpen,
|
19
20
|
popupInfo = _ref.popupInfo,
|
20
21
|
onEscKeyDown = _ref.onEscKeyDown,
|
21
22
|
onClose = _ref.onClose,
|
22
23
|
_ref$closeOnEsc = _ref.closeOnEsc,
|
23
24
|
closeOnEsc = _ref$closeOnEsc === void 0 ? true : _ref$closeOnEsc;
|
24
25
|
var popupController = (0, _Popup.usePopupContext)();
|
26
|
+
var overflow = (0, _react.useRef)(document.body.style.overflowY);
|
25
27
|
|
26
28
|
// При ESC закрывает текущее окно, если это возможно
|
27
29
|
var onKeyDown = (0, _react.useCallback)(function (event) {
|
@@ -44,6 +46,19 @@ var useModal = exports.useModal = function useModal(_ref) {
|
|
44
46
|
window.removeEventListener('keydown', onKeyDown);
|
45
47
|
};
|
46
48
|
}, [onClose, onEscKeyDown, popupController.items, closeOnEsc]);
|
49
|
+
|
50
|
+
// linaria не поддерживает динамический global
|
51
|
+
(0, _react.useEffect)(function () {
|
52
|
+
if (isOpen) {
|
53
|
+
overflow.current = document.body.style.overflowY;
|
54
|
+
document.body.style.overflowY = 'hidden';
|
55
|
+
}
|
56
|
+
}, [isOpen]);
|
57
|
+
(0, _react.useEffect)(function () {
|
58
|
+
if (!isOpen && !(0, _ModalContext.hasModals)(popupController.items)) {
|
59
|
+
document.body.style.overflowY = overflow.current;
|
60
|
+
}
|
61
|
+
}, [isOpen, overflow.current, popupController.items]);
|
47
62
|
var modalInfo = _objectSpread({
|
48
63
|
id: id,
|
49
64
|
info: {
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
});
|
7
7
|
exports.usePopupContext = exports.PopupProvider = exports.POPUP_PORTAL_ID = void 0;
|
8
8
|
var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react"));
|
9
|
-
var _ModalContext = /*#__PURE__*/require("../Modal/ModalContext");
|
10
9
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
11
10
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
12
11
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
@@ -35,36 +34,22 @@ var usePopupContext = exports.usePopupContext = function usePopupContext() {
|
|
35
34
|
};
|
36
35
|
var PopupProvider = exports.PopupProvider = function PopupProvider(_ref) {
|
37
36
|
var children = _ref.children;
|
38
|
-
var prevBodyOverflowY = (0, _react.useRef)(document.body.style.overflowY);
|
39
37
|
var _useState = (0, _react.useState)([]),
|
40
38
|
_useState2 = _slicedToArray(_useState, 2),
|
41
39
|
items = _useState2[0],
|
42
40
|
setItems = _useState2[1];
|
43
41
|
var register = function register(info) {
|
44
|
-
setItems(
|
45
|
-
var _info$info;
|
46
|
-
if ((_info$info = info.info) !== null && _info$info !== void 0 && _info$info.isModal && !(0, _ModalContext.hasModals)(prevItems)) {
|
47
|
-
prevBodyOverflowY.current = document.body.style.overflowY;
|
48
|
-
document.body.style.overflowY = 'hidden';
|
49
|
-
}
|
50
|
-
return [].concat(_toConsumableArray(prevItems), [info]);
|
51
|
-
});
|
42
|
+
setItems([].concat(_toConsumableArray(items), [info]));
|
52
43
|
};
|
53
44
|
var unregister = function unregister(id) {
|
54
|
-
|
55
|
-
|
56
|
-
return id === item.id;
|
57
|
-
});
|
58
|
-
if (index === -1) {
|
59
|
-
return prevItems;
|
60
|
-
}
|
61
|
-
var prevHasModals = (0, _ModalContext.hasModals)(prevItems);
|
62
|
-
prevItems.splice(index, 1);
|
63
|
-
if (prevHasModals && !(0, _ModalContext.hasModals)(prevItems)) {
|
64
|
-
document.body.style.overflowY = prevBodyOverflowY.current;
|
65
|
-
}
|
66
|
-
return prevItems;
|
45
|
+
var index = items.findIndex(function (item) {
|
46
|
+
return id === item.id;
|
67
47
|
});
|
48
|
+
if (index === -1) {
|
49
|
+
return;
|
50
|
+
}
|
51
|
+
items.splice(index, 1);
|
52
|
+
setItems(_toConsumableArray(items));
|
68
53
|
};
|
69
54
|
var context = {
|
70
55
|
items: items,
|
@@ -81,11 +81,6 @@ var usePopup = exports.usePopup = function usePopup(_ref) {
|
|
81
81
|
popupController.unregister(id);
|
82
82
|
setVisible(false);
|
83
83
|
}, [isOpen, isVisible, animationInfo]);
|
84
|
-
(0, _react.useEffect)(function () {
|
85
|
-
return function () {
|
86
|
-
popupController.unregister(id);
|
87
|
-
};
|
88
|
-
}, [id]);
|
89
84
|
return {
|
90
85
|
isVisible: isVisible,
|
91
86
|
setVisible: setVisible,
|
@@ -13,6 +13,7 @@ import { cx } from '../../../utils';
|
|
13
13
|
import { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '../utils/dateHelper';
|
14
14
|
import { useDatePicker } from '../hooks/useDatePicker';
|
15
15
|
import { classes } from '../DatePicker.tokens';
|
16
|
+
import { useKeyNavigation } from '../hooks/useKeyboardNavigation';
|
16
17
|
import { base as sizeCSS } from './variations/_size/base';
|
17
18
|
import { base as viewCSS } from './variations/_view/base';
|
18
19
|
import { base as disabledCSS } from './variations/_disabled/base';
|
@@ -172,6 +173,11 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
|
172
173
|
}
|
173
174
|
setIsInnerOpen(isCalendarOpen);
|
174
175
|
};
|
176
|
+
var _useKeyNavigation = useKeyNavigation({
|
177
|
+
isCalendarOpen: isInnerOpen,
|
178
|
+
onToggle: handleToggle
|
179
|
+
}),
|
180
|
+
onKeyDown = _useKeyNavigation.onKeyDown;
|
175
181
|
var RangeComponent = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledRange, {
|
176
182
|
ref: rangeRef,
|
177
183
|
dividerIcon: dividerIcon,
|
@@ -215,13 +221,19 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
|
215
221
|
onFocusFirstTextfield: onFocusFirstTextfield,
|
216
222
|
onFocusSecondTextfield: onFocusSecondTextfield,
|
217
223
|
onBlurFirstTextfield: onBlurFirstTextfield,
|
218
|
-
onBlurSecondTextfield: onBlurSecondTextfield
|
224
|
+
onBlurSecondTextfield: onBlurSecondTextfield,
|
225
|
+
onKeyDown: onKeyDown
|
219
226
|
}));
|
220
227
|
useEffect(function () {
|
221
228
|
var _rangeRef$current5, _rangeRef$current6;
|
222
229
|
setFirstInputRef((_rangeRef$current5 = rangeRef.current) === null || _rangeRef$current5 === void 0 ? void 0 : _rangeRef$current5.firstTextField());
|
223
230
|
setSecondInputRef((_rangeRef$current6 = rangeRef.current) === null || _rangeRef$current6 === void 0 ? void 0 : _rangeRef$current6.secondTextField());
|
224
231
|
}, [rangeRef.current]);
|
232
|
+
useEffect(function () {
|
233
|
+
setIsInnerOpen(function (prevOpen) {
|
234
|
+
return prevOpen !== isOpen && isOpen;
|
235
|
+
});
|
236
|
+
}, [isOpen]);
|
225
237
|
return /*#__PURE__*/React.createElement(Root, _extends({
|
226
238
|
ref: rootRef,
|
227
239
|
view: view,
|
@@ -232,7 +244,7 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
|
232
244
|
}, rest), label && /*#__PURE__*/React.createElement(StyledLabel, null, label), /*#__PURE__*/React.createElement(RangeDatePopover, {
|
233
245
|
calendarValue: [calendarFirstValue, calendarSecondValue],
|
234
246
|
target: RangeComponent,
|
235
|
-
isOpen:
|
247
|
+
isOpen: isInnerOpen,
|
236
248
|
includeEdgeDates: includeEdgeDates,
|
237
249
|
eventList: eventList,
|
238
250
|
disabledList: disabledList,
|
@@ -8,12 +8,13 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
8
8
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
9
9
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
10
10
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
11
|
-
import React, { forwardRef, useCallback, useRef, useState } from 'react';
|
11
|
+
import React, { forwardRef, useCallback, useEffect, useRef, useState } from 'react';
|
12
12
|
import { cx, getPlacements } from '../../../utils';
|
13
13
|
import { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '../utils/dateHelper';
|
14
14
|
import { useDatePicker } from '../hooks/useDatePicker';
|
15
15
|
import { classes } from '../DatePicker.tokens';
|
16
16
|
import { StyledCalendar } from '../DatePickerBase.styles';
|
17
|
+
import { useKeyNavigation } from '../hooks/useKeyboardNavigation';
|
17
18
|
import { base as sizeCSS } from './variations/_size/base';
|
18
19
|
import { base as viewCSS } from './variations/_view/base';
|
19
20
|
import { base as disabledCSS } from './variations/_disabled/base';
|
@@ -110,6 +111,11 @@ export var datePickerRoot = function datePickerRoot(Root) {
|
|
110
111
|
handleToggle = _useDatePicker.handleToggle,
|
111
112
|
handleChangeValue = _useDatePicker.handleChangeValue,
|
112
113
|
handleCommitDate = _useDatePicker.handleCommitDate;
|
114
|
+
var _useKeyNavigation = useKeyNavigation({
|
115
|
+
isCalendarOpen: isInnerOpen,
|
116
|
+
onToggle: handleToggle
|
117
|
+
}),
|
118
|
+
onKeyDown = _useKeyNavigation.onKeyDown;
|
113
119
|
var DatePickerInput = /*#__PURE__*/React.createElement(StyledInput, _extends({
|
114
120
|
ref: inputRef,
|
115
121
|
className: cx(datePickerErrorClass, datePickerSuccessClass),
|
@@ -127,11 +133,17 @@ export var datePickerRoot = function datePickerRoot(Root) {
|
|
127
133
|
return handleCommitDate(date, true, false);
|
128
134
|
},
|
129
135
|
onFocus: onFocus,
|
130
|
-
onBlur: onBlur
|
136
|
+
onBlur: onBlur,
|
137
|
+
onKeyDown: onKeyDown
|
131
138
|
}, innerLabelPlacement && {
|
132
139
|
label: label,
|
133
140
|
labelPlacement: labelPlacement
|
134
141
|
}));
|
142
|
+
useEffect(function () {
|
143
|
+
setIsInnerOpen(function (prevOpen) {
|
144
|
+
return prevOpen !== isOpen && isOpen;
|
145
|
+
});
|
146
|
+
}, [isOpen]);
|
135
147
|
return /*#__PURE__*/React.createElement(Root, _extends({
|
136
148
|
view: view,
|
137
149
|
size: size,
|
@@ -140,7 +152,7 @@ export var datePickerRoot = function datePickerRoot(Root) {
|
|
140
152
|
readOnly: !disabled && readOnly,
|
141
153
|
ref: ref
|
142
154
|
}, rest), !innerLabelPlacement && label && /*#__PURE__*/React.createElement(StyledLabel, null, label), /*#__PURE__*/React.createElement(StyledPopover, {
|
143
|
-
isOpen:
|
155
|
+
isOpen: isInnerOpen,
|
144
156
|
usePortal: false,
|
145
157
|
onToggle: handleToggle,
|
146
158
|
offset: offset,
|
@@ -0,0 +1,26 @@
|
|
1
|
+
export var keys = {
|
2
|
+
Space: 'Space'
|
3
|
+
};
|
4
|
+
export var useKeyNavigation = function useKeyNavigation(_ref) {
|
5
|
+
var isCalendarOpen = _ref.isCalendarOpen,
|
6
|
+
onToggle = _ref.onToggle;
|
7
|
+
var onKeyDown = function onKeyDown(event) {
|
8
|
+
switch (event.code) {
|
9
|
+
case keys.Space:
|
10
|
+
{
|
11
|
+
if (!isCalendarOpen) {
|
12
|
+
event.preventDefault();
|
13
|
+
onToggle(true, event);
|
14
|
+
}
|
15
|
+
break;
|
16
|
+
}
|
17
|
+
default:
|
18
|
+
{
|
19
|
+
break;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
};
|
23
|
+
return {
|
24
|
+
onKeyDown: onKeyDown
|
25
|
+
};
|
26
|
+
};
|
@@ -4,18 +4,20 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
4
4
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
5
5
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
6
6
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
7
|
-
import { useCallback, useEffect } from 'react';
|
8
|
-
import { getIdLastModal } from '../ModalContext';
|
7
|
+
import { useCallback, useEffect, useRef } from 'react';
|
8
|
+
import { getIdLastModal, hasModals } from '../ModalContext';
|
9
9
|
import { usePopupContext } from '../../Popup';
|
10
10
|
var ESCAPE_KEYCODE = 27;
|
11
11
|
export var useModal = function useModal(_ref) {
|
12
12
|
var id = _ref.id,
|
13
|
+
isOpen = _ref.isOpen,
|
13
14
|
popupInfo = _ref.popupInfo,
|
14
15
|
onEscKeyDown = _ref.onEscKeyDown,
|
15
16
|
onClose = _ref.onClose,
|
16
17
|
_ref$closeOnEsc = _ref.closeOnEsc,
|
17
18
|
closeOnEsc = _ref$closeOnEsc === void 0 ? true : _ref$closeOnEsc;
|
18
19
|
var popupController = usePopupContext();
|
20
|
+
var overflow = useRef(document.body.style.overflowY);
|
19
21
|
|
20
22
|
// При ESC закрывает текущее окно, если это возможно
|
21
23
|
var onKeyDown = useCallback(function (event) {
|
@@ -38,6 +40,19 @@ export var useModal = function useModal(_ref) {
|
|
38
40
|
window.removeEventListener('keydown', onKeyDown);
|
39
41
|
};
|
40
42
|
}, [onClose, onEscKeyDown, popupController.items, closeOnEsc]);
|
43
|
+
|
44
|
+
// linaria не поддерживает динамический global
|
45
|
+
useEffect(function () {
|
46
|
+
if (isOpen) {
|
47
|
+
overflow.current = document.body.style.overflowY;
|
48
|
+
document.body.style.overflowY = 'hidden';
|
49
|
+
}
|
50
|
+
}, [isOpen]);
|
51
|
+
useEffect(function () {
|
52
|
+
if (!isOpen && !hasModals(popupController.items)) {
|
53
|
+
document.body.style.overflowY = overflow.current;
|
54
|
+
}
|
55
|
+
}, [isOpen, overflow.current, popupController.items]);
|
41
56
|
var modalInfo = _objectSpread({
|
42
57
|
id: id,
|
43
58
|
info: {
|
@@ -8,8 +8,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
8
8
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
9
9
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
10
10
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
11
|
-
import React, { createContext, useEffect, useState, useContext
|
12
|
-
import { hasModals } from '../Modal/ModalContext';
|
11
|
+
import React, { createContext, useEffect, useState, useContext } from 'react';
|
13
12
|
export var POPUP_PORTAL_ID = 'plasma-popup-root';
|
14
13
|
var items = [];
|
15
14
|
var PopupContext = /*#__PURE__*/createContext({
|
@@ -26,36 +25,22 @@ export var usePopupContext = function usePopupContext() {
|
|
26
25
|
};
|
27
26
|
export var PopupProvider = function PopupProvider(_ref) {
|
28
27
|
var children = _ref.children;
|
29
|
-
var prevBodyOverflowY = useRef(document.body.style.overflowY);
|
30
28
|
var _useState = useState([]),
|
31
29
|
_useState2 = _slicedToArray(_useState, 2),
|
32
30
|
items = _useState2[0],
|
33
31
|
setItems = _useState2[1];
|
34
32
|
var register = function register(info) {
|
35
|
-
setItems(
|
36
|
-
var _info$info;
|
37
|
-
if ((_info$info = info.info) !== null && _info$info !== void 0 && _info$info.isModal && !hasModals(prevItems)) {
|
38
|
-
prevBodyOverflowY.current = document.body.style.overflowY;
|
39
|
-
document.body.style.overflowY = 'hidden';
|
40
|
-
}
|
41
|
-
return [].concat(_toConsumableArray(prevItems), [info]);
|
42
|
-
});
|
33
|
+
setItems([].concat(_toConsumableArray(items), [info]));
|
43
34
|
};
|
44
35
|
var unregister = function unregister(id) {
|
45
|
-
|
46
|
-
|
47
|
-
return id === item.id;
|
48
|
-
});
|
49
|
-
if (index === -1) {
|
50
|
-
return prevItems;
|
51
|
-
}
|
52
|
-
var prevHasModals = hasModals(prevItems);
|
53
|
-
prevItems.splice(index, 1);
|
54
|
-
if (prevHasModals && !hasModals(prevItems)) {
|
55
|
-
document.body.style.overflowY = prevBodyOverflowY.current;
|
56
|
-
}
|
57
|
-
return prevItems;
|
36
|
+
var index = items.findIndex(function (item) {
|
37
|
+
return id === item.id;
|
58
38
|
});
|
39
|
+
if (index === -1) {
|
40
|
+
return;
|
41
|
+
}
|
42
|
+
items.splice(index, 1);
|
43
|
+
setItems(_toConsumableArray(items));
|
59
44
|
};
|
60
45
|
var context = {
|
61
46
|
items: items,
|
@@ -76,11 +76,6 @@ export var usePopup = function usePopup(_ref) {
|
|
76
76
|
popupController.unregister(id);
|
77
77
|
setVisible(false);
|
78
78
|
}, [isOpen, isVisible, animationInfo]);
|
79
|
-
useEffect(function () {
|
80
|
-
return function () {
|
81
|
-
popupController.unregister(id);
|
82
|
-
};
|
83
|
-
}, [id]);
|
84
79
|
return {
|
85
80
|
isVisible: isVisible,
|
86
81
|
setVisible: setVisible,
|
@@ -4,6 +4,7 @@ import { cx } from '../../../utils/index.js';
|
|
4
4
|
import { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '../utils/dateHelper.js';
|
5
5
|
import { useDatePicker } from '../hooks/useDatePicker.js';
|
6
6
|
import { classes } from '../DatePicker.tokens.js';
|
7
|
+
import { useKeyNavigation } from '../hooks/useKeyboardNavigation.js';
|
7
8
|
import { base as base$2 } from './variations/_size/base.js';
|
8
9
|
import { base as base$1 } from './variations/_view/base.js';
|
9
10
|
import { base as base$3 } from './variations/_disabled/base.js';
|
@@ -165,6 +166,11 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
|
165
166
|
}
|
166
167
|
setIsInnerOpen(isCalendarOpen);
|
167
168
|
};
|
169
|
+
var _useKeyNavigation = useKeyNavigation({
|
170
|
+
isCalendarOpen: isInnerOpen,
|
171
|
+
onToggle: handleToggle
|
172
|
+
}),
|
173
|
+
onKeyDown = _useKeyNavigation.onKeyDown;
|
168
174
|
var RangeComponent = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledRange, {
|
169
175
|
ref: rangeRef,
|
170
176
|
dividerIcon: dividerIcon,
|
@@ -208,13 +214,19 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
|
208
214
|
onFocusFirstTextfield: onFocusFirstTextfield,
|
209
215
|
onFocusSecondTextfield: onFocusSecondTextfield,
|
210
216
|
onBlurFirstTextfield: onBlurFirstTextfield,
|
211
|
-
onBlurSecondTextfield: onBlurSecondTextfield
|
217
|
+
onBlurSecondTextfield: onBlurSecondTextfield,
|
218
|
+
onKeyDown: onKeyDown
|
212
219
|
}));
|
213
220
|
useEffect(function () {
|
214
221
|
var _rangeRef$current5, _rangeRef$current6;
|
215
222
|
setFirstInputRef((_rangeRef$current5 = rangeRef.current) === null || _rangeRef$current5 === void 0 ? void 0 : _rangeRef$current5.firstTextField());
|
216
223
|
setSecondInputRef((_rangeRef$current6 = rangeRef.current) === null || _rangeRef$current6 === void 0 ? void 0 : _rangeRef$current6.secondTextField());
|
217
224
|
}, [rangeRef.current]);
|
225
|
+
useEffect(function () {
|
226
|
+
setIsInnerOpen(function (prevOpen) {
|
227
|
+
return prevOpen !== isOpen && isOpen;
|
228
|
+
});
|
229
|
+
}, [isOpen]);
|
218
230
|
return /*#__PURE__*/React.createElement(Root, _extends({
|
219
231
|
ref: rootRef,
|
220
232
|
view: view,
|
@@ -225,7 +237,7 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
|
225
237
|
}, rest), label && /*#__PURE__*/React.createElement(StyledLabel, null, label), /*#__PURE__*/React.createElement(RangeDatePopover, {
|
226
238
|
calendarValue: [calendarFirstValue, calendarSecondValue],
|
227
239
|
target: RangeComponent,
|
228
|
-
isOpen:
|
240
|
+
isOpen: isInnerOpen,
|
229
241
|
includeEdgeDates: includeEdgeDates,
|
230
242
|
eventList: eventList,
|
231
243
|
disabledList: disabledList,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RangeDate.js","sources":["../../../../src/components/DatePicker/RangeDate/RangeDate.tsx"],"sourcesContent":["import React, {\n MutableRefObject,\n SyntheticEvent,\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport type { RootProps } from '../../../engines';\nimport { cx } from '../../../utils';\nimport { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport type { RangeInputRefs } from '../../Range/Range.types';\nimport { classes } from '../DatePicker.tokens';\n\nimport type { DatePickerRangeProps } from './RangeDate.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_readonly/base';\nimport { LeftHelper, StyledLabel, StyledRange, base } from './RangeDate.styles';\nimport { RangeDatePopover } from './RangeDatePopover/RangeDatePopover';\n\nexport const datePickerRangeRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerRangeProps, 'isOpen' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<RangeInputRefs, DatePickerRangeProps>(\n (\n {\n className,\n\n isDoubleCalendar = false,\n isOpen = false,\n\n label,\n leftHelper,\n contentLeft,\n contentRight,\n view,\n size,\n readOnly = false,\n disabled = false,\n\n dividerVariant = 'dash',\n dividerIcon,\n\n defaultFirstDate = '',\n defaultSecondDate = '',\n firstValueError,\n secondValueError,\n firstValueSuccess,\n secondValueSuccess,\n firstPlaceholder,\n secondPlaceholder,\n firstTextfieldContentLeft,\n firstTextfieldContentRight,\n secondTextfieldContentLeft,\n secondTextfieldContentRight,\n firstTextfieldTextBefore,\n secondTextfieldTextBefore,\n firstTextfieldTextAfter,\n secondTextfieldTextAfter,\n\n format = 'DD.MM.YYYY',\n maskWithFormat,\n min,\n max,\n includeEdgeDates = false,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n type = 'Days',\n\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc = true,\n offset,\n\n onToggle,\n\n onChangeFirstValue,\n onChangeSecondValue,\n\n onCommitFirstDate,\n onCommitSecondDate,\n\n onFocusFirstTextfield,\n onFocusSecondTextfield,\n onBlurFirstTextfield,\n onBlurSecondTextfield,\n\n ...rest\n },\n ref,\n ) => {\n const rangeRef = ref && 'current' in ref ? ref : createRef<RangeInputRefs>();\n const rootRef = useRef<HTMLDivElement | null>(null);\n\n const [firstInputRef, setFirstInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.firstTextField(),\n );\n const [secondInputRef, setSecondInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.secondTextField(),\n );\n const [isInnerOpen, setIsInnerOpen] = useState(isOpen);\n\n const [calendarFirstValue, setCalendarFirstValue] = useState(formatCalendarValue(defaultFirstDate, format));\n const [inputFirstValue, setInputFirstValue] = useState(formatInputValue(defaultFirstDate, format));\n\n const [calendarSecondValue, setCalendarSecondValue] = useState(\n formatCalendarValue(defaultSecondDate, format),\n );\n const [inputSecondValue, setInputSecondValue] = useState(formatInputValue(defaultSecondDate, format));\n\n const dateFormatDelimiter = useCallback(() => getDateFormatDelimiter(format), [format]);\n\n const {\n handleChangeValue: handleChangeFirstValue,\n handleCommitDate: handleCommitFirstDate,\n } = useDatePicker({\n currentValue: inputFirstValue,\n setInputValue: setInputFirstValue,\n setCalendarValue: setCalendarFirstValue,\n setIsInnerOpen,\n dateFormatDelimiter,\n format,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: firstValueError,\n valueSuccess: firstValueSuccess,\n inputRef: firstInputRef,\n onChangeValue: onChangeFirstValue,\n onCommitDate: onCommitFirstDate,\n });\n\n const {\n handleChangeValue: handleChangeSecondValue,\n handleCommitDate: handleCommitSecondDate,\n } = useDatePicker({\n currentValue: inputSecondValue,\n setInputValue: setInputSecondValue,\n setCalendarValue: setCalendarSecondValue,\n setIsInnerOpen,\n dateFormatDelimiter,\n format,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: secondValueError,\n valueSuccess: secondValueSuccess,\n inputRef: secondInputRef,\n onChangeValue: onChangeSecondValue,\n onCommitDate: onCommitSecondDate,\n });\n\n const handleToggle = (opened: boolean, event: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n firstInputRef?.current?.contains((event.target as Node) || null) ||\n secondInputRef?.current?.contains((event.target as Node) || null)\n ? true\n : opened;\n\n if (onToggle) {\n return onToggle(isCalendarOpen, event);\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const RangeComponent = (\n <>\n {/* TODO https://github.com/salute-developers/plasma/issues/1227\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore */}\n <StyledRange\n ref={rangeRef}\n dividerIcon={dividerIcon}\n dividerVariant={dividerVariant}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n firstPlaceholder={firstPlaceholder}\n secondPlaceholder={secondPlaceholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n firstTextfieldTextBefore={firstTextfieldTextBefore}\n secondTextfieldTextBefore={secondTextfieldTextBefore}\n firstTextfieldTextAfter={firstTextfieldTextAfter}\n secondTextfieldTextAfter={secondTextfieldTextAfter}\n firstTextfieldContentLeft={firstTextfieldContentLeft}\n firstTextfieldContentRight={firstTextfieldContentRight}\n secondTextfieldContentLeft={secondTextfieldContentLeft}\n secondTextfieldContentRight={secondTextfieldContentRight}\n firstValue={inputFirstValue}\n secondValue={inputSecondValue}\n firstValueError={firstValueError}\n secondValueError={secondValueError}\n firstValueSuccess={firstValueSuccess}\n secondValueSuccess={secondValueSuccess}\n onChangeFirstValue={handleChangeFirstValue}\n onChangeSecondValue={handleChangeSecondValue}\n onSearchFirstValue={(_, date) => {\n handleCommitFirstDate(String(date), true, false);\n if (!calendarSecondValue || secondValueError) {\n rangeRef?.current?.secondTextField()?.current?.focus();\n }\n }}\n onSearchSecondValue={(_, date) => {\n handleCommitSecondDate(String(date), true, false);\n if (!calendarFirstValue || firstValueError) {\n rangeRef?.current?.firstTextField()?.current?.focus();\n }\n }}\n onFocusFirstTextfield={onFocusFirstTextfield}\n onFocusSecondTextfield={onFocusSecondTextfield}\n onBlurFirstTextfield={onBlurFirstTextfield}\n onBlurSecondTextfield={onBlurSecondTextfield}\n />\n </>\n );\n\n useEffect(() => {\n setFirstInputRef(rangeRef.current?.firstTextField());\n setSecondInputRef(rangeRef.current?.secondTextField());\n }, [rangeRef.current]);\n\n return (\n <Root\n ref={rootRef}\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n {...rest}\n >\n {label && <StyledLabel>{label}</StyledLabel>}\n <RangeDatePopover\n calendarValue={[calendarFirstValue, calendarSecondValue]}\n target={RangeComponent}\n isOpen={isOpen || isInnerOpen}\n includeEdgeDates={includeEdgeDates}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n placement={placement}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n offset={offset}\n type={type}\n onToggle={handleToggle}\n isDoubleCalendar={isDoubleCalendar}\n onChangeStartOfRange={(firstDate, dateInfo) => {\n handleCommitFirstDate(firstDate, false, true, dateInfo);\n handleCommitSecondDate('');\n }}\n onChangeValue={([firstDate, secondDate], dateInfo) => {\n firstDate && handleCommitFirstDate(firstDate, false, true, dateInfo);\n secondDate && handleCommitSecondDate(secondDate, false, true, dateInfo);\n if (firstDate && secondDate && !firstValueError && !secondValueError) {\n setIsInnerOpen(false);\n }\n }}\n />\n {leftHelper && <LeftHelper>{leftHelper}</LeftHelper>}\n </Root>\n );\n },\n );\n\nexport const datePickerRangeConfig = {\n name: 'DatePickerRange',\n tag: 'div',\n layout: datePickerRangeRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["datePickerRangeRoot","Root","forwardRef","_ref","ref","_rangeRef$current","_rangeRef$current2","className","_ref$isDoubleCalendar","isDoubleCalendar","_ref$isOpen","isOpen","label","leftHelper","contentLeft","contentRight","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","_ref$dividerVariant","dividerVariant","dividerIcon","_ref$defaultFirstDate","defaultFirstDate","_ref$defaultSecondDat","defaultSecondDate","firstValueError","secondValueError","firstValueSuccess","secondValueSuccess","firstPlaceholder","secondPlaceholder","firstTextfieldContentLeft","firstTextfieldContentRight","secondTextfieldContentLeft","secondTextfieldContentRight","firstTextfieldTextBefore","secondTextfieldTextBefore","firstTextfieldTextAfter","secondTextfieldTextAfter","_ref$format","format","maskWithFormat","min","max","_ref$includeEdgeDates","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","offset","onToggle","onChangeFirstValue","onChangeSecondValue","onCommitFirstDate","onCommitSecondDate","onFocusFirstTextfield","onFocusSecondTextfield","onBlurFirstTextfield","onBlurSecondTextfield","rest","_objectWithoutProperties","_excluded","rangeRef","createRef","rootRef","useRef","_useState","useState","current","firstTextField","_useState2","_slicedToArray","firstInputRef","setFirstInputRef","_useState3","secondTextField","_useState4","secondInputRef","setSecondInputRef","_useState5","_useState6","isInnerOpen","setIsInnerOpen","_useState7","formatCalendarValue","_useState8","calendarFirstValue","setCalendarFirstValue","_useState9","formatInputValue","_useState10","inputFirstValue","setInputFirstValue","_useState11","_useState12","calendarSecondValue","setCalendarSecondValue","_useState13","_useState14","inputSecondValue","setInputSecondValue","dateFormatDelimiter","useCallback","getDateFormatDelimiter","_useDatePicker","useDatePicker","currentValue","setInputValue","setCalendarValue","valueError","valueSuccess","inputRef","onChangeValue","onCommitDate","handleChangeFirstValue","handleChangeValue","handleCommitFirstDate","handleCommitDate","_useDatePicker2","handleChangeSecondValue","handleCommitSecondDate","handleToggle","opened","event","_firstInputRef$curren","_secondInputRef$curre","isCalendarOpen","contains","target","RangeComponent","React","createElement","Fragment","StyledRange","firstValue","secondValue","onSearchFirstValue","_","date","String","_rangeRef$current3","focus","onSearchSecondValue","_rangeRef$current4","useEffect","_rangeRef$current5","_rangeRef$current6","_extends","cx","classes","datePickerRoot","StyledLabel","RangeDatePopover","calendarValue","onChangeStartOfRange","firstDate","dateInfo","_ref2","_ref3","secondDate","LeftHelper","datePickerRangeConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"RangeDate.js","sources":["../../../../src/components/DatePicker/RangeDate/RangeDate.tsx"],"sourcesContent":["import React, {\n MutableRefObject,\n SyntheticEvent,\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport type { RootProps } from '../../../engines';\nimport { cx } from '../../../utils';\nimport { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport type { RangeInputRefs } from '../../Range/Range.types';\nimport { classes } from '../DatePicker.tokens';\nimport { useKeyNavigation } from '../hooks/useKeyboardNavigation';\n\nimport type { DatePickerRangeProps } from './RangeDate.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_readonly/base';\nimport { LeftHelper, StyledLabel, StyledRange, base } from './RangeDate.styles';\nimport { RangeDatePopover } from './RangeDatePopover/RangeDatePopover';\n\nexport const datePickerRangeRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerRangeProps, 'isOpen' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<RangeInputRefs, DatePickerRangeProps>(\n (\n {\n className,\n\n isDoubleCalendar = false,\n isOpen = false,\n\n label,\n leftHelper,\n contentLeft,\n contentRight,\n view,\n size,\n readOnly = false,\n disabled = false,\n\n dividerVariant = 'dash',\n dividerIcon,\n\n defaultFirstDate = '',\n defaultSecondDate = '',\n firstValueError,\n secondValueError,\n firstValueSuccess,\n secondValueSuccess,\n firstPlaceholder,\n secondPlaceholder,\n firstTextfieldContentLeft,\n firstTextfieldContentRight,\n secondTextfieldContentLeft,\n secondTextfieldContentRight,\n firstTextfieldTextBefore,\n secondTextfieldTextBefore,\n firstTextfieldTextAfter,\n secondTextfieldTextAfter,\n\n format = 'DD.MM.YYYY',\n maskWithFormat,\n min,\n max,\n includeEdgeDates = false,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n type = 'Days',\n\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc = true,\n offset,\n\n onToggle,\n\n onChangeFirstValue,\n onChangeSecondValue,\n\n onCommitFirstDate,\n onCommitSecondDate,\n\n onFocusFirstTextfield,\n onFocusSecondTextfield,\n onBlurFirstTextfield,\n onBlurSecondTextfield,\n\n ...rest\n },\n ref,\n ) => {\n const rangeRef = ref && 'current' in ref ? ref : createRef<RangeInputRefs>();\n const rootRef = useRef<HTMLDivElement | null>(null);\n\n const [firstInputRef, setFirstInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.firstTextField(),\n );\n const [secondInputRef, setSecondInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.secondTextField(),\n );\n const [isInnerOpen, setIsInnerOpen] = useState(isOpen);\n\n const [calendarFirstValue, setCalendarFirstValue] = useState(formatCalendarValue(defaultFirstDate, format));\n const [inputFirstValue, setInputFirstValue] = useState(formatInputValue(defaultFirstDate, format));\n\n const [calendarSecondValue, setCalendarSecondValue] = useState(\n formatCalendarValue(defaultSecondDate, format),\n );\n const [inputSecondValue, setInputSecondValue] = useState(formatInputValue(defaultSecondDate, format));\n\n const dateFormatDelimiter = useCallback(() => getDateFormatDelimiter(format), [format]);\n\n const {\n handleChangeValue: handleChangeFirstValue,\n handleCommitDate: handleCommitFirstDate,\n } = useDatePicker({\n currentValue: inputFirstValue,\n setInputValue: setInputFirstValue,\n setCalendarValue: setCalendarFirstValue,\n setIsInnerOpen,\n dateFormatDelimiter,\n format,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: firstValueError,\n valueSuccess: firstValueSuccess,\n inputRef: firstInputRef,\n onChangeValue: onChangeFirstValue,\n onCommitDate: onCommitFirstDate,\n });\n\n const {\n handleChangeValue: handleChangeSecondValue,\n handleCommitDate: handleCommitSecondDate,\n } = useDatePicker({\n currentValue: inputSecondValue,\n setInputValue: setInputSecondValue,\n setCalendarValue: setCalendarSecondValue,\n setIsInnerOpen,\n dateFormatDelimiter,\n format,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: secondValueError,\n valueSuccess: secondValueSuccess,\n inputRef: secondInputRef,\n onChangeValue: onChangeSecondValue,\n onCommitDate: onCommitSecondDate,\n });\n\n const handleToggle = (opened: boolean, event: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n firstInputRef?.current?.contains((event.target as Node) || null) ||\n secondInputRef?.current?.contains((event.target as Node) || null)\n ? true\n : opened;\n\n if (onToggle) {\n return onToggle(isCalendarOpen, event);\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n onToggle: handleToggle,\n });\n\n const RangeComponent = (\n <>\n {/* TODO https://github.com/salute-developers/plasma/issues/1227\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore */}\n <StyledRange\n ref={rangeRef}\n dividerIcon={dividerIcon}\n dividerVariant={dividerVariant}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n firstPlaceholder={firstPlaceholder}\n secondPlaceholder={secondPlaceholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n firstTextfieldTextBefore={firstTextfieldTextBefore}\n secondTextfieldTextBefore={secondTextfieldTextBefore}\n firstTextfieldTextAfter={firstTextfieldTextAfter}\n secondTextfieldTextAfter={secondTextfieldTextAfter}\n firstTextfieldContentLeft={firstTextfieldContentLeft}\n firstTextfieldContentRight={firstTextfieldContentRight}\n secondTextfieldContentLeft={secondTextfieldContentLeft}\n secondTextfieldContentRight={secondTextfieldContentRight}\n firstValue={inputFirstValue}\n secondValue={inputSecondValue}\n firstValueError={firstValueError}\n secondValueError={secondValueError}\n firstValueSuccess={firstValueSuccess}\n secondValueSuccess={secondValueSuccess}\n onChangeFirstValue={handleChangeFirstValue}\n onChangeSecondValue={handleChangeSecondValue}\n onSearchFirstValue={(_, date) => {\n handleCommitFirstDate(String(date), true, false);\n if (!calendarSecondValue || secondValueError) {\n rangeRef?.current?.secondTextField()?.current?.focus();\n }\n }}\n onSearchSecondValue={(_, date) => {\n handleCommitSecondDate(String(date), true, false);\n if (!calendarFirstValue || firstValueError) {\n rangeRef?.current?.firstTextField()?.current?.focus();\n }\n }}\n onFocusFirstTextfield={onFocusFirstTextfield}\n onFocusSecondTextfield={onFocusSecondTextfield}\n onBlurFirstTextfield={onBlurFirstTextfield}\n onBlurSecondTextfield={onBlurSecondTextfield}\n onKeyDown={onKeyDown}\n />\n </>\n );\n\n useEffect(() => {\n setFirstInputRef(rangeRef.current?.firstTextField());\n setSecondInputRef(rangeRef.current?.secondTextField());\n }, [rangeRef.current]);\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== isOpen && isOpen);\n }, [isOpen]);\n\n return (\n <Root\n ref={rootRef}\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n {...rest}\n >\n {label && <StyledLabel>{label}</StyledLabel>}\n <RangeDatePopover\n calendarValue={[calendarFirstValue, calendarSecondValue]}\n target={RangeComponent}\n isOpen={isInnerOpen}\n includeEdgeDates={includeEdgeDates}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n placement={placement}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n offset={offset}\n type={type}\n onToggle={handleToggle}\n isDoubleCalendar={isDoubleCalendar}\n onChangeStartOfRange={(firstDate, dateInfo) => {\n handleCommitFirstDate(firstDate, false, true, dateInfo);\n handleCommitSecondDate('');\n }}\n onChangeValue={([firstDate, secondDate], dateInfo) => {\n firstDate && handleCommitFirstDate(firstDate, false, true, dateInfo);\n secondDate && handleCommitSecondDate(secondDate, false, true, dateInfo);\n if (firstDate && secondDate && !firstValueError && !secondValueError) {\n setIsInnerOpen(false);\n }\n }}\n />\n {leftHelper && <LeftHelper>{leftHelper}</LeftHelper>}\n </Root>\n );\n },\n );\n\nexport const datePickerRangeConfig = {\n name: 'DatePickerRange',\n tag: 'div',\n layout: datePickerRangeRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["datePickerRangeRoot","Root","forwardRef","_ref","ref","_rangeRef$current","_rangeRef$current2","className","_ref$isDoubleCalendar","isDoubleCalendar","_ref$isOpen","isOpen","label","leftHelper","contentLeft","contentRight","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","_ref$dividerVariant","dividerVariant","dividerIcon","_ref$defaultFirstDate","defaultFirstDate","_ref$defaultSecondDat","defaultSecondDate","firstValueError","secondValueError","firstValueSuccess","secondValueSuccess","firstPlaceholder","secondPlaceholder","firstTextfieldContentLeft","firstTextfieldContentRight","secondTextfieldContentLeft","secondTextfieldContentRight","firstTextfieldTextBefore","secondTextfieldTextBefore","firstTextfieldTextAfter","secondTextfieldTextAfter","_ref$format","format","maskWithFormat","min","max","_ref$includeEdgeDates","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","offset","onToggle","onChangeFirstValue","onChangeSecondValue","onCommitFirstDate","onCommitSecondDate","onFocusFirstTextfield","onFocusSecondTextfield","onBlurFirstTextfield","onBlurSecondTextfield","rest","_objectWithoutProperties","_excluded","rangeRef","createRef","rootRef","useRef","_useState","useState","current","firstTextField","_useState2","_slicedToArray","firstInputRef","setFirstInputRef","_useState3","secondTextField","_useState4","secondInputRef","setSecondInputRef","_useState5","_useState6","isInnerOpen","setIsInnerOpen","_useState7","formatCalendarValue","_useState8","calendarFirstValue","setCalendarFirstValue","_useState9","formatInputValue","_useState10","inputFirstValue","setInputFirstValue","_useState11","_useState12","calendarSecondValue","setCalendarSecondValue","_useState13","_useState14","inputSecondValue","setInputSecondValue","dateFormatDelimiter","useCallback","getDateFormatDelimiter","_useDatePicker","useDatePicker","currentValue","setInputValue","setCalendarValue","valueError","valueSuccess","inputRef","onChangeValue","onCommitDate","handleChangeFirstValue","handleChangeValue","handleCommitFirstDate","handleCommitDate","_useDatePicker2","handleChangeSecondValue","handleCommitSecondDate","handleToggle","opened","event","_firstInputRef$curren","_secondInputRef$curre","isCalendarOpen","contains","target","_useKeyNavigation","useKeyNavigation","onKeyDown","RangeComponent","React","createElement","Fragment","StyledRange","firstValue","secondValue","onSearchFirstValue","_","date","String","_rangeRef$current3","focus","onSearchSecondValue","_rangeRef$current4","useEffect","_rangeRef$current5","_rangeRef$current6","prevOpen","_extends","cx","classes","datePickerRoot","StyledLabel","RangeDatePopover","calendarValue","onChangeStartOfRange","firstDate","dateInfo","_ref2","_ref3","secondDate","LeftHelper","datePickerRangeConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
|