@salutejs/plasma-new-hope 0.336.0-canary.2216.17549652479.0 → 0.336.0-canary.2218.17555761279.0
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/cjs/components/DatePicker/RangeDate/RangeDate.js +10 -0
- package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/cjs/components/Drawer/hooks/useDrawer.js +12 -0
- package/cjs/components/Drawer/hooks/useDrawer.js.map +1 -1
- package/cjs/components/Dropdown/FloatingPopover.js +22 -41
- package/cjs/components/Dropdown/FloatingPopover.js.map +1 -1
- package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +10 -0
- package/emotion/cjs/components/Drawer/hooks/useDrawer.js +11 -0
- package/emotion/cjs/components/Dropdown/FloatingPopover.js +22 -48
- package/emotion/cjs/examples/components/Combobox/Combobox.js +15 -0
- package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +10 -0
- package/emotion/es/components/Drawer/hooks/useDrawer.js +11 -0
- package/emotion/es/components/Dropdown/FloatingPopover.js +23 -49
- package/es/components/DatePicker/RangeDate/RangeDate.js +10 -0
- package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/es/components/Drawer/hooks/useDrawer.js +12 -0
- package/es/components/Drawer/hooks/useDrawer.js.map +1 -1
- package/es/components/Dropdown/FloatingPopover.js +24 -43
- package/es/components/Dropdown/FloatingPopover.js.map +1 -1
- package/package.json +5 -5
- package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +10 -0
- package/styled-components/cjs/components/Drawer/hooks/useDrawer.js +11 -0
- package/styled-components/cjs/components/Dropdown/FloatingPopover.js +22 -48
- package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +10 -0
- package/styled-components/es/components/Drawer/hooks/useDrawer.js +11 -0
- package/styled-components/es/components/Dropdown/FloatingPopover.js +23 -49
- package/styled-components/es/examples/components/Combobox/Combobox.js +0 -7
- package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
- package/types/components/Drawer/hooks/useDrawer.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.d.ts +2 -2
- package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.types.d.ts +3 -3
- package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
- package/types/components/Dropdown/FloatingPopover.d.ts.map +1 -1
- package/types/examples/components/Dropdown/Dropdown.d.ts +1 -1
- package/types/examples/components/Dropdown/Dropdown.d.ts.map +1 -1
@@ -24,13 +24,6 @@ function _define_property(obj, key, value) {
|
|
24
24
|
}
|
25
25
|
return obj;
|
26
26
|
}
|
27
|
-
function _instanceof(left, right) {
|
28
|
-
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
29
|
-
return !!right[Symbol.hasInstance](left);
|
30
|
-
} else {
|
31
|
-
return left instanceof right;
|
32
|
-
}
|
33
|
-
}
|
34
27
|
function _getRequireWildcardCache(nodeInterop) {
|
35
28
|
if (typeof WeakMap !== "function") return null;
|
36
29
|
var cacheBabelInterop = new WeakMap();
|
@@ -128,6 +121,7 @@ var FloatingPopover = /*#__PURE__*/ (0, _react1.forwardRef)(function(param, ref)
|
|
128
121
|
},
|
129
122
|
placement: placement === 'auto' ? undefined : placement,
|
130
123
|
open: opened,
|
124
|
+
onOpenChange: onToggle,
|
131
125
|
middleware: [
|
132
126
|
placement === 'auto' && (0, _react.autoPlacement)(),
|
133
127
|
(0, _react.offset)({
|
@@ -139,40 +133,24 @@ var FloatingPopover = /*#__PURE__*/ (0, _react1.forwardRef)(function(param, ref)
|
|
139
133
|
}),
|
140
134
|
(0, _react.shift)()
|
141
135
|
]
|
142
|
-
}), refs = _useFloating.refs, floatingStyles = _useFloating.floatingStyles;
|
136
|
+
}), refs = _useFloating.refs, floatingStyles = _useFloating.floatingStyles, context = _useFloating.context;
|
143
137
|
var wrappedId = (0, _utils.safeUseId)();
|
144
|
-
var
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
};
|
152
|
-
var
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
var _refs_floating_current;
|
161
|
-
if (trigger === 'click' || !opened || event.relatedTarget && refs.floating && ((_refs_floating_current = refs.floating.current) === null || _refs_floating_current === void 0 ? void 0 : _refs_floating_current.contains(event.relatedTarget))) {
|
162
|
-
return;
|
163
|
-
}
|
164
|
-
onToggle(false, event);
|
165
|
-
}
|
166
|
-
};
|
167
|
-
var handleFloatingMouseLeave = function(event) {
|
168
|
-
if (_instanceof(event.relatedTarget, HTMLElement) && _instanceof(refs.reference.current, HTMLElement)) {
|
169
|
-
var _refs_reference_current;
|
170
|
-
if (trigger === 'click' || !opened || event.relatedTarget && refs.reference && ((_refs_reference_current = refs.reference.current) === null || _refs_reference_current === void 0 ? void 0 : _refs_reference_current.contains(event.relatedTarget))) {
|
171
|
-
return;
|
172
|
-
}
|
173
|
-
onToggle(false, event);
|
174
|
-
}
|
175
|
-
};
|
138
|
+
var hover = (0, _react.useHover)(context, {
|
139
|
+
enabled: trigger === 'hover',
|
140
|
+
delay: {
|
141
|
+
open: 0,
|
142
|
+
close: 50
|
143
|
+
},
|
144
|
+
handleClose: (0, _react.safePolygon)()
|
145
|
+
});
|
146
|
+
var click = (0, _react.useClick)(context, {
|
147
|
+
stickIfOpen: false,
|
148
|
+
ignoreMouse: trigger === 'hover'
|
149
|
+
});
|
150
|
+
var _useInteractions = (0, _react.useInteractions)([
|
151
|
+
hover,
|
152
|
+
click
|
153
|
+
]), getReferenceProps = _useInteractions.getReferenceProps, getFloatingProps = _useInteractions.getFloatingProps;
|
176
154
|
return /*#__PURE__*/ _react1.default.createElement("div", {
|
177
155
|
ref: ref,
|
178
156
|
id: wrappedId,
|
@@ -180,18 +158,14 @@ var FloatingPopover = /*#__PURE__*/ (0, _react1.forwardRef)(function(param, ref)
|
|
180
158
|
position: 'relative',
|
181
159
|
display: isInner ? 'block' : 'inline-block'
|
182
160
|
}
|
183
|
-
}, /*#__PURE__*/ _react1.default.createElement("div", {
|
184
|
-
ref: refs.setReference
|
185
|
-
|
186
|
-
onMouseEnter: handleTargetMouseEnter,
|
187
|
-
onMouseLeave: handleTargetMouseLeave
|
188
|
-
}, target), opened && /*#__PURE__*/ _react1.default.createElement(_react.FloatingPortal, getFloatingPortalProps(portal, wrappedId), /*#__PURE__*/ _react1.default.createElement("div", {
|
161
|
+
}, /*#__PURE__*/ _react1.default.createElement("div", _object_spread({
|
162
|
+
ref: refs.setReference
|
163
|
+
}, getReferenceProps()), target), opened && /*#__PURE__*/ _react1.default.createElement(_react.FloatingPortal, getFloatingPortalProps(portal, wrappedId), /*#__PURE__*/ _react1.default.createElement("div", _object_spread({
|
189
164
|
ref: refs.setFloating,
|
190
|
-
onMouseLeave: handleFloatingMouseLeave,
|
191
165
|
style: _object_spread_props(_object_spread({}, floatingStyles), {
|
192
166
|
zIndex: zIndex || 1000
|
193
167
|
})
|
194
|
-
}, children)));
|
168
|
+
}, getFloatingProps()), children)));
|
195
169
|
});
|
196
170
|
// root - принимает ref контейнера портала.
|
197
171
|
// id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.
|
@@ -1 +1,16 @@
|
|
1
1
|
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "Combobox", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return Combobox;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
var _engines = require("../../../engines");
|
12
|
+
var _ = require("../../..");
|
13
|
+
var _Comboboxconfig = require("./Combobox.config");
|
14
|
+
var mergedConfig = (0, _engines.mergeConfig)(_.comboboxNewConfig, _Comboboxconfig.config);
|
15
|
+
var ComboboxComponent = (0, _engines.component)(mergedConfig);
|
16
|
+
var Combobox = ComboboxComponent;
|
@@ -325,6 +325,16 @@ export var datePickerRangeRoot = function(Root) {
|
|
325
325
|
return;
|
326
326
|
}
|
327
327
|
var isCalendarOpen = ((firstInputRef === null || firstInputRef === void 0 ? void 0 : (_firstInputRef_current = firstInputRef.current) === null || _firstInputRef_current === void 0 ? void 0 : _firstInputRef_current.contains((event === null || event === void 0 ? void 0 : event.target) || null)) || (secondInputRef === null || secondInputRef === void 0 ? void 0 : (_secondInputRef_current = secondInputRef.current) === null || _secondInputRef_current === void 0 ? void 0 : _secondInputRef_current.contains((event === null || event === void 0 ? void 0 : event.target) || null))) && (event === null || event === void 0 ? void 0 : event.code) !== keys.Escape ? true : currentOpened;
|
328
|
+
if (!isCalendarOpen) {
|
329
|
+
if (calendarFirstValue && !calendarSecondValue) {
|
330
|
+
var _secondInputRef_current1;
|
331
|
+
secondInputRef === null || secondInputRef === void 0 ? void 0 : (_secondInputRef_current1 = secondInputRef.current) === null || _secondInputRef_current1 === void 0 ? void 0 : _secondInputRef_current1.focus();
|
332
|
+
}
|
333
|
+
if (calendarSecondValue && !calendarFirstValue) {
|
334
|
+
var _firstInputRef_current1;
|
335
|
+
firstInputRef === null || firstInputRef === void 0 ? void 0 : (_firstInputRef_current1 = firstInputRef.current) === null || _firstInputRef_current1 === void 0 ? void 0 : _firstInputRef_current1.focus();
|
336
|
+
}
|
337
|
+
}
|
328
338
|
if (!isCalendarOpen) {
|
329
339
|
setSecondTextFieldClicked(false);
|
330
340
|
}
|
@@ -87,6 +87,17 @@ export var useDrawer = function(param) {
|
|
87
87
|
isOpen,
|
88
88
|
popupController.items
|
89
89
|
]);
|
90
|
+
// При анмаунте компонента нужно обновлять overflow у body.
|
91
|
+
useEffect(function() {
|
92
|
+
return function() {
|
93
|
+
if (!canUseDOM) {
|
94
|
+
return;
|
95
|
+
}
|
96
|
+
if (!hasDrawers(Array.from(popupController.items.values()))) {
|
97
|
+
document.body.style.overflow = overflow.current;
|
98
|
+
}
|
99
|
+
};
|
100
|
+
}, []);
|
90
101
|
var drawerInfo = _object_spread({
|
91
102
|
id: id,
|
92
103
|
info: {
|
@@ -11,13 +11,6 @@ function _define_property(obj, key, value) {
|
|
11
11
|
}
|
12
12
|
return obj;
|
13
13
|
}
|
14
|
-
function _instanceof(left, right) {
|
15
|
-
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
16
|
-
return !!right[Symbol.hasInstance](left);
|
17
|
-
} else {
|
18
|
-
return left instanceof right;
|
19
|
-
}
|
20
|
-
}
|
21
14
|
function _object_spread(target) {
|
22
15
|
for(var i = 1; i < arguments.length; i++){
|
23
16
|
var source = arguments[i] != null ? arguments[i] : {};
|
@@ -57,7 +50,7 @@ function _object_spread_props(target, source) {
|
|
57
50
|
}
|
58
51
|
return target;
|
59
52
|
}
|
60
|
-
import { flip, shift, useFloating, FloatingPortal, offset as offsetMiddleware, autoPlacement, autoUpdate } from "@floating-ui/react";
|
53
|
+
import { flip, shift, useFloating, FloatingPortal, offset as offsetMiddleware, autoPlacement, autoUpdate, useHover, useInteractions, safePolygon, useClick } from "@floating-ui/react";
|
61
54
|
import React, { forwardRef } from "react";
|
62
55
|
import { safeUseId } from "../../utils";
|
63
56
|
// TODO: #2003
|
@@ -77,6 +70,7 @@ var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
|
|
77
70
|
},
|
78
71
|
placement: placement === 'auto' ? undefined : placement,
|
79
72
|
open: opened,
|
73
|
+
onOpenChange: onToggle,
|
80
74
|
middleware: [
|
81
75
|
placement === 'auto' && autoPlacement(),
|
82
76
|
offsetMiddleware({
|
@@ -88,40 +82,24 @@ var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
|
|
88
82
|
}),
|
89
83
|
shift()
|
90
84
|
]
|
91
|
-
}), refs = _useFloating.refs, floatingStyles = _useFloating.floatingStyles;
|
85
|
+
}), refs = _useFloating.refs, floatingStyles = _useFloating.floatingStyles, context = _useFloating.context;
|
92
86
|
var wrappedId = safeUseId();
|
93
|
-
var
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
};
|
101
|
-
var
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
var _refs_floating_current;
|
110
|
-
if (trigger === 'click' || !opened || event.relatedTarget && refs.floating && ((_refs_floating_current = refs.floating.current) === null || _refs_floating_current === void 0 ? void 0 : _refs_floating_current.contains(event.relatedTarget))) {
|
111
|
-
return;
|
112
|
-
}
|
113
|
-
onToggle(false, event);
|
114
|
-
}
|
115
|
-
};
|
116
|
-
var handleFloatingMouseLeave = function(event) {
|
117
|
-
if (_instanceof(event.relatedTarget, HTMLElement) && _instanceof(refs.reference.current, HTMLElement)) {
|
118
|
-
var _refs_reference_current;
|
119
|
-
if (trigger === 'click' || !opened || event.relatedTarget && refs.reference && ((_refs_reference_current = refs.reference.current) === null || _refs_reference_current === void 0 ? void 0 : _refs_reference_current.contains(event.relatedTarget))) {
|
120
|
-
return;
|
121
|
-
}
|
122
|
-
onToggle(false, event);
|
123
|
-
}
|
124
|
-
};
|
87
|
+
var hover = useHover(context, {
|
88
|
+
enabled: trigger === 'hover',
|
89
|
+
delay: {
|
90
|
+
open: 0,
|
91
|
+
close: 50
|
92
|
+
},
|
93
|
+
handleClose: safePolygon()
|
94
|
+
});
|
95
|
+
var click = useClick(context, {
|
96
|
+
stickIfOpen: false,
|
97
|
+
ignoreMouse: trigger === 'hover'
|
98
|
+
});
|
99
|
+
var _useInteractions = useInteractions([
|
100
|
+
hover,
|
101
|
+
click
|
102
|
+
]), getReferenceProps = _useInteractions.getReferenceProps, getFloatingProps = _useInteractions.getFloatingProps;
|
125
103
|
return /*#__PURE__*/ React.createElement("div", {
|
126
104
|
ref: ref,
|
127
105
|
id: wrappedId,
|
@@ -129,18 +107,14 @@ var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
|
|
129
107
|
position: 'relative',
|
130
108
|
display: isInner ? 'block' : 'inline-block'
|
131
109
|
}
|
132
|
-
}, /*#__PURE__*/ React.createElement("div", {
|
133
|
-
ref: refs.setReference
|
134
|
-
|
135
|
-
onMouseEnter: handleTargetMouseEnter,
|
136
|
-
onMouseLeave: handleTargetMouseLeave
|
137
|
-
}, target), opened && /*#__PURE__*/ React.createElement(FloatingPortal, getFloatingPortalProps(portal, wrappedId), /*#__PURE__*/ React.createElement("div", {
|
110
|
+
}, /*#__PURE__*/ React.createElement("div", _object_spread({
|
111
|
+
ref: refs.setReference
|
112
|
+
}, getReferenceProps()), target), opened && /*#__PURE__*/ React.createElement(FloatingPortal, getFloatingPortalProps(portal, wrappedId), /*#__PURE__*/ React.createElement("div", _object_spread({
|
138
113
|
ref: refs.setFloating,
|
139
|
-
onMouseLeave: handleFloatingMouseLeave,
|
140
114
|
style: _object_spread_props(_object_spread({}, floatingStyles), {
|
141
115
|
zIndex: zIndex || 1000
|
142
116
|
})
|
143
|
-
}, children)));
|
117
|
+
}, getFloatingProps()), children)));
|
144
118
|
});
|
145
119
|
// root - принимает ref контейнера портала.
|
146
120
|
// id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.
|
@@ -250,6 +250,16 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
|
250
250
|
return;
|
251
251
|
}
|
252
252
|
var isCalendarOpen = (firstInputRef !== null && firstInputRef !== void 0 && (_firstInputRef$curren = firstInputRef.current) !== null && _firstInputRef$curren !== void 0 && _firstInputRef$curren.contains((event === null || event === void 0 ? void 0 : event.target) || null) || secondInputRef !== null && secondInputRef !== void 0 && (_secondInputRef$curre = secondInputRef.current) !== null && _secondInputRef$curre !== void 0 && _secondInputRef$curre.contains((event === null || event === void 0 ? void 0 : event.target) || null)) && (event === null || event === void 0 ? void 0 : event.code) !== keys.Escape ? true : currentOpened;
|
253
|
+
if (!isCalendarOpen) {
|
254
|
+
if (calendarFirstValue && !calendarSecondValue) {
|
255
|
+
var _secondInputRef$curre2;
|
256
|
+
secondInputRef === null || secondInputRef === void 0 || (_secondInputRef$curre2 = secondInputRef.current) === null || _secondInputRef$curre2 === void 0 || _secondInputRef$curre2.focus();
|
257
|
+
}
|
258
|
+
if (calendarSecondValue && !calendarFirstValue) {
|
259
|
+
var _firstInputRef$curren2;
|
260
|
+
firstInputRef === null || firstInputRef === void 0 || (_firstInputRef$curren2 = firstInputRef.current) === null || _firstInputRef$curren2 === void 0 || _firstInputRef$curren2.focus();
|
261
|
+
}
|
262
|
+
}
|
253
263
|
if (!isCalendarOpen) {
|
254
264
|
setSecondTextFieldClicked(false);
|
255
265
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RangeDate.js","sources":["../../../../src/components/DatePicker/RangeDate/RangeDate.tsx"],"sourcesContent":["import React, { createRef, forwardRef, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport cls from 'classnames';\nimport type {\n KeyboardEvent,\n FocusEvent,\n FocusEventHandler,\n MutableRefObject,\n SyntheticEvent,\n SetStateAction,\n} from 'react';\nimport type { RootProps } from 'src/engines';\nimport { noop } from 'src/utils';\n\nimport { getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport type { RangeInputRefs } from '../../Range/Range.types';\nimport { classes } from '../DatePicker.tokens';\nimport { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';\nimport { InputHidden } from '../DatePickerBase.styles';\nimport { getSortedValues } from '../../Calendar/utils';\nimport type { DateInfo, DateType } from '../../Calendar/Calendar.types';\nimport { getFormattedDates } from '../utils';\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, StyledRange, base } from './RangeDate.styles';\nimport { RangeDatePopover } from './RangeDatePopover/RangeDatePopover';\nimport { RootWrapperProps } from './RangeDatePopover/RangeDatePopover.types';\n\nexport const datePickerRangeRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerRangeProps, 'opened' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<RangeInputRefs, DatePickerRangeProps>(\n (\n {\n className,\n autoComplete,\n\n isDoubleCalendar = false,\n opened = false,\n\n value: outerValue,\n defaultFirstDate = '',\n defaultSecondDate = '',\n preserveInvalidOnBlur,\n\n label,\n leftHelper,\n contentLeft,\n contentRight,\n view,\n size,\n readOnly = false,\n disabled = false,\n name,\n\n dividerVariant = 'dash',\n dividerIcon,\n\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 required,\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n\n format = 'DD.MM.YYYY',\n lang = 'ru',\n maskWithFormat,\n min,\n max,\n renderFromDate,\n includeEdgeDates = false,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n type = 'Days',\n\n frame = 'document',\n usePortal = false,\n zIndex,\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc = true,\n closeAfterDateSelect = true,\n offset,\n\n calendarContainerWidth,\n calendarContainerHeight,\n stretched,\n\n onToggle,\n\n onChange,\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 innerRefFirst = useRef<HTMLInputElement>(null);\n const innerRefSecond = useRef<HTMLInputElement>(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\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n const dateFormatDelimiter = getDateFormatDelimiter(format);\n\n const [startInnerDate, setStartInnerDate] = useState<string | DateType>(defaultFirstDate || '');\n const startDateValue = outerValue?.[0] ?? startInnerDate;\n\n const startInitialValues = getFormattedDates({\n value: startDateValue,\n delimiter: dateFormatDelimiter,\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const [endInnerDate, setEndInnerDate] = useState<string | DateType>(defaultSecondDate || '');\n const endDateValue = outerValue?.[1] ?? endInnerDate;\n\n const endInitialValues = getFormattedDates({\n value: endDateValue,\n delimiter: dateFormatDelimiter,\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const [correctStartDates, setCorrectStartDates] = useState({\n calendar: startInitialValues.originalDate,\n input: startInitialValues.formattedDate,\n });\n const [correctEndDates, setCorrectEndDates] = useState({\n calendar: endInitialValues.originalDate,\n input: endInitialValues.formattedDate,\n });\n\n const calendarFirstValue: DateType = startInitialValues.originalDate;\n const inputFirstValue = startInitialValues.formattedDate;\n\n const calendarSecondValue: DateType = endInitialValues.originalDate;\n const inputSecondValue = endInitialValues.formattedDate;\n\n const fullDateEntered = Boolean(calendarFirstValue && calendarSecondValue);\n\n const [secondTextFieldClicked, setSecondTextFieldClicked] = useState(false);\n\n const rangeErrorClass = firstValueError || secondValueError ? classes.datePickerError : undefined;\n const rangeSuccessClass = firstValueSuccess || secondValueSuccess ? classes.datePickerSuccess : undefined;\n\n const handleInputChange = (value: string) => {\n if (onChange) {\n onChange({\n target: {\n value,\n name,\n },\n });\n }\n };\n\n const setFirstInputValue = (value: SetStateAction<string | DateType>) => {\n setStartInnerDate(value);\n handleInputChange(`${value} - ${inputSecondValue}`);\n };\n\n const setSecondInputValue = (value: SetStateAction<string | DateType>) => {\n setEndInnerDate(value);\n handleInputChange(`${inputFirstValue} - ${value}`);\n };\n\n const commonUseDatePickerArgs = {\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n name,\n type,\n min,\n max,\n includeEdgeDates,\n dateFormatDelimiter,\n };\n\n const {\n handleChangeValue: handleChangeFirstValue,\n handleCalendarPick: handleFirstCalendarPick,\n handleSearch: handleSearchFirst,\n updateExternalDate: updateExternalFirstDate,\n getQuarterInfo: getFirstQuarterInfo,\n } = useDatePicker({\n currentValue: inputFirstValue,\n valueError: firstValueError,\n valueSuccess: firstValueSuccess,\n ...commonUseDatePickerArgs,\n\n setCorrectDates: setCorrectStartDates,\n setInnerDate: setFirstInputValue,\n onChangeValue: onChangeFirstValue,\n onCommitDate: onCommitFirstDate,\n });\n\n const {\n handleChangeValue: handleChangeSecondValue,\n handleCalendarPick: handleSecondCalendarPick,\n handleSearch: handleSearchSecond,\n updateExternalDate: updateExternalSecondDate,\n getQuarterInfo: getSecondQuarterInfo,\n } = useDatePicker({\n currentValue: inputSecondValue,\n valueError: secondValueError,\n valueSuccess: secondValueSuccess,\n ...commonUseDatePickerArgs,\n\n setCorrectDates: setCorrectEndDates,\n setInnerDate: setSecondInputValue,\n onChangeValue: onChangeSecondValue,\n onCommitDate: onCommitSecondDate,\n });\n\n const handleToggle = (currentOpened: 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 (event as KeyboardEvent<HTMLInputElement>)?.code !== keys.Escape\n ? true\n : currentOpened;\n\n if (!isCalendarOpen) {\n setSecondTextFieldClicked(false);\n }\n\n if (onToggle) {\n return onToggle(isCalendarOpen, event);\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const handleFocusFirstTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusFirstTextfield?.(event);\n setSecondTextFieldClicked(false);\n };\n\n const handleFocusSecondTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusSecondTextfield?.(event);\n setSecondTextFieldClicked(true);\n };\n\n const handleBlur = (\n event: FocusEvent<HTMLInputElement>,\n outerHandler?: FocusEventHandler<HTMLInputElement>,\n ) => {\n if (!inputFirstValue || !inputSecondValue || preserveInvalidOnBlur) {\n outerHandler?.(event);\n return;\n }\n\n const commonArgs = { lang, format, includeEdgeDates, min, max };\n\n let { originalDate: startOriginalDate } = getFormattedDates({\n value: inputFirstValue,\n delimiter: dateFormatDelimiter,\n ...commonArgs,\n });\n\n let { originalDate: endOriginalDate } = getFormattedDates({\n value: inputSecondValue,\n delimiter: dateFormatDelimiter,\n ...commonArgs,\n });\n\n if (!calendarFirstValue && correctStartDates.calendar) {\n startOriginalDate = new Date(correctStartDates.calendar);\n\n if (onChangeFirstValue) {\n onChangeFirstValue(\n event,\n correctStartDates.input,\n correctStartDates.calendar,\n correctStartDates.calendar.toISOString(),\n );\n }\n\n if (onCommitFirstDate) {\n const dateInfo = getFirstQuarterInfo(correctStartDates.calendar);\n\n onCommitFirstDate(\n correctStartDates.input,\n false,\n true,\n dateInfo,\n correctStartDates.calendar,\n correctStartDates.calendar.toISOString(),\n );\n }\n }\n\n if (!calendarSecondValue && correctEndDates.calendar) {\n endOriginalDate = new Date(correctEndDates.calendar);\n\n if (onChangeSecondValue) {\n onChangeSecondValue(\n event,\n correctEndDates.input,\n correctEndDates.calendar,\n correctEndDates.calendar.toISOString(),\n );\n }\n\n if (onCommitSecondDate) {\n const dateInfo = getSecondQuarterInfo(correctEndDates.calendar);\n\n onCommitSecondDate(\n correctEndDates.input,\n false,\n true,\n dateInfo,\n correctEndDates.calendar,\n correctEndDates.calendar.toISOString(),\n );\n }\n }\n\n const [startValue, endValue] = getSortedValues([startOriginalDate, endOriginalDate]);\n\n setFirstInputValue(startValue);\n setSecondInputValue(endValue);\n\n outerHandler?.(event);\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n format,\n maskWithFormat,\n delimiter: dateFormatDelimiter,\n closeOnEsc,\n onToggle: handleToggle,\n });\n\n const handleChangeStartOfRange = (chosenDate: Date, dateInfo?: DateInfo) => {\n if (!fullDateEntered) {\n handleFirstCalendarPick(chosenDate, dateInfo);\n handleSecondCalendarPick(undefined);\n\n return;\n }\n\n const prevValue = secondTextFieldClicked ? calendarFirstValue : calendarSecondValue;\n\n const [first, second] = getSortedValues([prevValue, chosenDate]);\n\n handleFirstCalendarPick(first, dateInfo);\n handleSecondCalendarPick(second, dateInfo);\n\n if (!firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\n };\n\n const handleChangeCalendarValue = ([firstDate, secondDate]: [DateType, DateType], dateInfo?: DateInfo) => {\n if (firstDate) {\n handleFirstCalendarPick(firstDate, dateInfo);\n }\n\n if (secondDate) {\n handleSecondCalendarPick(secondDate, dateInfo);\n }\n\n if (firstDate && secondDate && !firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\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 autoComplete={autoComplete}\n dividerIcon={dividerIcon}\n dividerVariant={dividerVariant}\n label={label}\n required={required}\n requiredPlacement={requiredPlacement}\n hasRequiredIndicator={hasRequiredIndicator}\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 name={name}\n onSearchFirstValue={(_, date) => {\n handleSearchFirst(String(date));\n if (!calendarSecondValue || secondValueError) {\n rangeRef?.current?.secondTextField()?.current?.focus();\n }\n }}\n onSearchSecondValue={(_, date) => {\n handleSearchSecond(String(date));\n if (!calendarFirstValue || firstValueError) {\n rangeRef?.current?.firstTextField()?.current?.focus();\n }\n }}\n onFocusFirstTextfield={handleFocusFirstTextField}\n onFocusSecondTextfield={handleFocusSecondTextField}\n onBlurFirstTextfield={(event) => handleBlur(event, onBlurFirstTextfield)}\n onBlurSecondTextfield={(event) => handleBlur(event, 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 !== opened && opened);\n }, [opened]);\n\n useLayoutEffect(() => {\n if (!startDateValue) {\n updateExternalFirstDate(defaultFirstDate);\n }\n }, [defaultFirstDate, format, lang]);\n\n useLayoutEffect(() => {\n if (!endDateValue) {\n updateExternalSecondDate(defaultSecondDate);\n }\n }, [defaultSecondDate, format, lang]);\n\n const RootWrapper = useCallback<RootWrapperProps>(\n forwardRef(({ children, className: rootWrapperClassName, onClick }, rootWrapperRef) => (\n <Root\n ref={rootWrapperRef}\n view={view}\n size={size}\n className={rootWrapperClassName}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onClick={onClick}\n >\n {children}\n </Root>\n )),\n [view, size, disabled, readOnly],\n );\n\n return (\n <Root\n ref={rootRef}\n view={view}\n size={size}\n className={cls(classes.datePickerRoot, className, { [classes.datePickerstretched]: stretched })}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n {...rest}\n >\n <RangeDatePopover\n calendarValue={[calendarFirstValue, calendarSecondValue]}\n target={RangeComponent}\n opened={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 renderFromDate={renderFromDate}\n frame={frame}\n usePortal={usePortal}\n zIndex={zIndex}\n placement={placement}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n offset={offset}\n stretched={stretched}\n calendarContainerWidth={calendarContainerWidth}\n calendarContainerHeight={calendarContainerHeight}\n type={type}\n onToggle={handleToggle}\n lang={lang}\n isDoubleCalendar={isDoubleCalendar}\n rootWrapper={RootWrapper}\n onChangeStartOfRange={handleChangeStartOfRange}\n onChangeValue={handleChangeCalendarValue}\n setIsInnerOpen={setIsInnerOpen}\n />\n {leftHelper && (\n <LeftHelper className={cls(rangeErrorClass, rangeSuccessClass)}>{leftHelper}</LeftHelper>\n )}\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"from\"\n value={inputFirstValue}\n ref={innerRefFirst}\n {...noop}\n />\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"to\"\n value={inputSecondValue}\n ref={innerRefSecond}\n {...noop}\n />\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","_outerValue$","_outerValue$2","className","autoComplete","_ref$isDoubleCalendar","isDoubleCalendar","_ref$opened","opened","outerValue","value","_ref$defaultFirstDate","defaultFirstDate","_ref$defaultSecondDat","defaultSecondDate","preserveInvalidOnBlur","label","leftHelper","contentLeft","contentRight","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","name","_ref$dividerVariant","dividerVariant","dividerIcon","firstValueError","secondValueError","firstValueSuccess","secondValueSuccess","firstPlaceholder","secondPlaceholder","firstTextfieldContentLeft","firstTextfieldContentRight","secondTextfieldContentLeft","secondTextfieldContentRight","firstTextfieldTextBefore","secondTextfieldTextBefore","firstTextfieldTextAfter","secondTextfieldTextAfter","required","_ref$requiredPlacemen","requiredPlacement","_ref$hasRequiredIndic","hasRequiredIndicator","_ref$format","format","_ref$lang","lang","maskWithFormat","min","max","renderFromDate","_ref$includeEdgeDates","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$frame","frame","_ref$usePortal","usePortal","zIndex","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","_ref$closeAfterDateSe","closeAfterDateSelect","offset","calendarContainerWidth","calendarContainerHeight","stretched","onToggle","onChange","onChangeFirstValue","onChangeSecondValue","onCommitFirstDate","onCommitSecondDate","onFocusFirstTextfield","onFocusSecondTextfield","onBlurFirstTextfield","onBlurSecondTextfield","rest","_objectWithoutProperties","_excluded","rangeRef","createRef","rootRef","useRef","innerRefFirst","innerRefSecond","_useState","useState","current","firstTextField","_useState2","_slicedToArray","firstInputRef","setFirstInputRef","_useState3","secondTextField","_useState4","secondInputRef","setSecondInputRef","_useState5","_useState6","isInnerOpen","setIsInnerOpen","dateFormatDelimiter","getDateFormatDelimiter","_useState7","_useState8","startInnerDate","setStartInnerDate","startDateValue","startInitialValues","getFormattedDates","delimiter","_useState9","_useState10","endInnerDate","setEndInnerDate","endDateValue","endInitialValues","_useState11","calendar","originalDate","input","formattedDate","_useState12","correctStartDates","setCorrectStartDates","_useState13","_useState14","correctEndDates","setCorrectEndDates","calendarFirstValue","inputFirstValue","calendarSecondValue","inputSecondValue","fullDateEntered","Boolean","_useState15","_useState16","secondTextFieldClicked","setSecondTextFieldClicked","rangeErrorClass","classes","datePickerError","undefined","rangeSuccessClass","datePickerSuccess","handleInputChange","target","setFirstInputValue","concat","setSecondInputValue","commonUseDatePickerArgs","_useDatePicker","useDatePicker","_objectSpread","currentValue","valueError","valueSuccess","setCorrectDates","setInnerDate","onChangeValue","onCommitDate","handleChangeFirstValue","handleChangeValue","handleFirstCalendarPick","handleCalendarPick","handleSearchFirst","handleSearch","updateExternalFirstDate","updateExternalDate","getFirstQuarterInfo","getQuarterInfo","_useDatePicker2","handleChangeSecondValue","handleSecondCalendarPick","handleSearchSecond","updateExternalSecondDate","getSecondQuarterInfo","handleToggle","currentOpened","event","_firstInputRef$curren","_secondInputRef$curre","isCalendarOpen","contains","code","keys","Escape","handleFocusFirstTextField","handleFocusSecondTextField","handleBlur","outerHandler","commonArgs","_getFormattedDates","startOriginalDate","_getFormattedDates2","endOriginalDate","Date","toISOString","dateInfo","_getSortedValues","getSortedValues","_getSortedValues2","startValue","endValue","_useKeyNavigation","useKeyNavigation","onKeyDown","handleChangeStartOfRange","chosenDate","prevValue","_getSortedValues3","_getSortedValues4","first","second","handleChangeCalendarValue","_ref2","_ref3","firstDate","secondDate","RangeComponent","React","createElement","Fragment","StyledRange","firstValue","secondValue","onSearchFirstValue","_","date","String","_rangeRef$current3","focus","onSearchSecondValue","_rangeRef$current4","useEffect","_rangeRef$current5","_rangeRef$current6","prevOpen","useLayoutEffect","RootWrapper","useCallback","_ref4","rootWrapperRef","children","rootWrapperClassName","onClick","_extends","cls","datePickerRoot","_defineProperty","datePickerstretched","RangeDatePopover","calendarValue","rootWrapper","onChangeStartOfRange","LeftHelper","InputHidden","datatype","noop","datePickerRangeConfig","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, { createRef, forwardRef, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport cls from 'classnames';\nimport type {\n KeyboardEvent,\n FocusEvent,\n FocusEventHandler,\n MutableRefObject,\n SyntheticEvent,\n SetStateAction,\n} from 'react';\nimport type { RootProps } from 'src/engines';\nimport { noop } from 'src/utils';\n\nimport { getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport type { RangeInputRefs } from '../../Range/Range.types';\nimport { classes } from '../DatePicker.tokens';\nimport { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';\nimport { InputHidden } from '../DatePickerBase.styles';\nimport { getSortedValues } from '../../Calendar/utils';\nimport type { DateInfo, DateType } from '../../Calendar/Calendar.types';\nimport { getFormattedDates } from '../utils';\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, StyledRange, base } from './RangeDate.styles';\nimport { RangeDatePopover } from './RangeDatePopover/RangeDatePopover';\nimport { RootWrapperProps } from './RangeDatePopover/RangeDatePopover.types';\n\nexport const datePickerRangeRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerRangeProps, 'opened' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<RangeInputRefs, DatePickerRangeProps>(\n (\n {\n className,\n autoComplete,\n\n isDoubleCalendar = false,\n opened = false,\n\n value: outerValue,\n defaultFirstDate = '',\n defaultSecondDate = '',\n preserveInvalidOnBlur,\n\n label,\n leftHelper,\n contentLeft,\n contentRight,\n view,\n size,\n readOnly = false,\n disabled = false,\n name,\n\n dividerVariant = 'dash',\n dividerIcon,\n\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 required,\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n\n format = 'DD.MM.YYYY',\n lang = 'ru',\n maskWithFormat,\n min,\n max,\n renderFromDate,\n includeEdgeDates = false,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n type = 'Days',\n\n frame = 'document',\n usePortal = false,\n zIndex,\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc = true,\n closeAfterDateSelect = true,\n offset,\n\n calendarContainerWidth,\n calendarContainerHeight,\n stretched,\n\n onToggle,\n\n onChange,\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 innerRefFirst = useRef<HTMLInputElement>(null);\n const innerRefSecond = useRef<HTMLInputElement>(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\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n const dateFormatDelimiter = getDateFormatDelimiter(format);\n\n const [startInnerDate, setStartInnerDate] = useState<string | DateType>(defaultFirstDate || '');\n const startDateValue = outerValue?.[0] ?? startInnerDate;\n\n const startInitialValues = getFormattedDates({\n value: startDateValue,\n delimiter: dateFormatDelimiter,\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const [endInnerDate, setEndInnerDate] = useState<string | DateType>(defaultSecondDate || '');\n const endDateValue = outerValue?.[1] ?? endInnerDate;\n\n const endInitialValues = getFormattedDates({\n value: endDateValue,\n delimiter: dateFormatDelimiter,\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const [correctStartDates, setCorrectStartDates] = useState({\n calendar: startInitialValues.originalDate,\n input: startInitialValues.formattedDate,\n });\n const [correctEndDates, setCorrectEndDates] = useState({\n calendar: endInitialValues.originalDate,\n input: endInitialValues.formattedDate,\n });\n\n const calendarFirstValue: DateType = startInitialValues.originalDate;\n const inputFirstValue = startInitialValues.formattedDate;\n\n const calendarSecondValue: DateType = endInitialValues.originalDate;\n const inputSecondValue = endInitialValues.formattedDate;\n\n const fullDateEntered = Boolean(calendarFirstValue && calendarSecondValue);\n\n const [secondTextFieldClicked, setSecondTextFieldClicked] = useState(false);\n\n const rangeErrorClass = firstValueError || secondValueError ? classes.datePickerError : undefined;\n const rangeSuccessClass = firstValueSuccess || secondValueSuccess ? classes.datePickerSuccess : undefined;\n\n const handleInputChange = (value: string) => {\n if (onChange) {\n onChange({\n target: {\n value,\n name,\n },\n });\n }\n };\n\n const setFirstInputValue = (value: SetStateAction<string | DateType>) => {\n setStartInnerDate(value);\n handleInputChange(`${value} - ${inputSecondValue}`);\n };\n\n const setSecondInputValue = (value: SetStateAction<string | DateType>) => {\n setEndInnerDate(value);\n handleInputChange(`${inputFirstValue} - ${value}`);\n };\n\n const commonUseDatePickerArgs = {\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n name,\n type,\n min,\n max,\n includeEdgeDates,\n dateFormatDelimiter,\n };\n\n const {\n handleChangeValue: handleChangeFirstValue,\n handleCalendarPick: handleFirstCalendarPick,\n handleSearch: handleSearchFirst,\n updateExternalDate: updateExternalFirstDate,\n getQuarterInfo: getFirstQuarterInfo,\n } = useDatePicker({\n currentValue: inputFirstValue,\n valueError: firstValueError,\n valueSuccess: firstValueSuccess,\n ...commonUseDatePickerArgs,\n\n setCorrectDates: setCorrectStartDates,\n setInnerDate: setFirstInputValue,\n onChangeValue: onChangeFirstValue,\n onCommitDate: onCommitFirstDate,\n });\n\n const {\n handleChangeValue: handleChangeSecondValue,\n handleCalendarPick: handleSecondCalendarPick,\n handleSearch: handleSearchSecond,\n updateExternalDate: updateExternalSecondDate,\n getQuarterInfo: getSecondQuarterInfo,\n } = useDatePicker({\n currentValue: inputSecondValue,\n valueError: secondValueError,\n valueSuccess: secondValueSuccess,\n ...commonUseDatePickerArgs,\n\n setCorrectDates: setCorrectEndDates,\n setInnerDate: setSecondInputValue,\n onChangeValue: onChangeSecondValue,\n onCommitDate: onCommitSecondDate,\n });\n\n const handleToggle = (currentOpened: 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 (event as KeyboardEvent<HTMLInputElement>)?.code !== keys.Escape\n ? true\n : currentOpened;\n\n if (!isCalendarOpen) {\n if (calendarFirstValue && !calendarSecondValue) {\n secondInputRef?.current?.focus();\n }\n if (calendarSecondValue && !calendarFirstValue) {\n firstInputRef?.current?.focus();\n }\n }\n\n if (!isCalendarOpen) {\n setSecondTextFieldClicked(false);\n }\n\n if (onToggle) {\n return onToggle(isCalendarOpen, event);\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const handleFocusFirstTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusFirstTextfield?.(event);\n setSecondTextFieldClicked(false);\n };\n\n const handleFocusSecondTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusSecondTextfield?.(event);\n setSecondTextFieldClicked(true);\n };\n\n const handleBlur = (\n event: FocusEvent<HTMLInputElement>,\n outerHandler?: FocusEventHandler<HTMLInputElement>,\n ) => {\n if (!inputFirstValue || !inputSecondValue || preserveInvalidOnBlur) {\n outerHandler?.(event);\n return;\n }\n\n const commonArgs = { lang, format, includeEdgeDates, min, max };\n\n let { originalDate: startOriginalDate } = getFormattedDates({\n value: inputFirstValue,\n delimiter: dateFormatDelimiter,\n ...commonArgs,\n });\n\n let { originalDate: endOriginalDate } = getFormattedDates({\n value: inputSecondValue,\n delimiter: dateFormatDelimiter,\n ...commonArgs,\n });\n\n if (!calendarFirstValue && correctStartDates.calendar) {\n startOriginalDate = new Date(correctStartDates.calendar);\n\n if (onChangeFirstValue) {\n onChangeFirstValue(\n event,\n correctStartDates.input,\n correctStartDates.calendar,\n correctStartDates.calendar.toISOString(),\n );\n }\n\n if (onCommitFirstDate) {\n const dateInfo = getFirstQuarterInfo(correctStartDates.calendar);\n\n onCommitFirstDate(\n correctStartDates.input,\n false,\n true,\n dateInfo,\n correctStartDates.calendar,\n correctStartDates.calendar.toISOString(),\n );\n }\n }\n\n if (!calendarSecondValue && correctEndDates.calendar) {\n endOriginalDate = new Date(correctEndDates.calendar);\n\n if (onChangeSecondValue) {\n onChangeSecondValue(\n event,\n correctEndDates.input,\n correctEndDates.calendar,\n correctEndDates.calendar.toISOString(),\n );\n }\n\n if (onCommitSecondDate) {\n const dateInfo = getSecondQuarterInfo(correctEndDates.calendar);\n\n onCommitSecondDate(\n correctEndDates.input,\n false,\n true,\n dateInfo,\n correctEndDates.calendar,\n correctEndDates.calendar.toISOString(),\n );\n }\n }\n\n const [startValue, endValue] = getSortedValues([startOriginalDate, endOriginalDate]);\n\n setFirstInputValue(startValue);\n setSecondInputValue(endValue);\n\n outerHandler?.(event);\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n format,\n maskWithFormat,\n delimiter: dateFormatDelimiter,\n closeOnEsc,\n onToggle: handleToggle,\n });\n\n const handleChangeStartOfRange = (chosenDate: Date, dateInfo?: DateInfo) => {\n if (!fullDateEntered) {\n handleFirstCalendarPick(chosenDate, dateInfo);\n handleSecondCalendarPick(undefined);\n\n return;\n }\n\n const prevValue = secondTextFieldClicked ? calendarFirstValue : calendarSecondValue;\n\n const [first, second] = getSortedValues([prevValue, chosenDate]);\n\n handleFirstCalendarPick(first, dateInfo);\n handleSecondCalendarPick(second, dateInfo);\n\n if (!firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\n };\n\n const handleChangeCalendarValue = ([firstDate, secondDate]: [DateType, DateType], dateInfo?: DateInfo) => {\n if (firstDate) {\n handleFirstCalendarPick(firstDate, dateInfo);\n }\n\n if (secondDate) {\n handleSecondCalendarPick(secondDate, dateInfo);\n }\n\n if (firstDate && secondDate && !firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\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 autoComplete={autoComplete}\n dividerIcon={dividerIcon}\n dividerVariant={dividerVariant}\n label={label}\n required={required}\n requiredPlacement={requiredPlacement}\n hasRequiredIndicator={hasRequiredIndicator}\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 name={name}\n onSearchFirstValue={(_, date) => {\n handleSearchFirst(String(date));\n if (!calendarSecondValue || secondValueError) {\n rangeRef?.current?.secondTextField()?.current?.focus();\n }\n }}\n onSearchSecondValue={(_, date) => {\n handleSearchSecond(String(date));\n if (!calendarFirstValue || firstValueError) {\n rangeRef?.current?.firstTextField()?.current?.focus();\n }\n }}\n onFocusFirstTextfield={handleFocusFirstTextField}\n onFocusSecondTextfield={handleFocusSecondTextField}\n onBlurFirstTextfield={(event) => handleBlur(event, onBlurFirstTextfield)}\n onBlurSecondTextfield={(event) => handleBlur(event, 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 !== opened && opened);\n }, [opened]);\n\n useLayoutEffect(() => {\n if (!startDateValue) {\n updateExternalFirstDate(defaultFirstDate);\n }\n }, [defaultFirstDate, format, lang]);\n\n useLayoutEffect(() => {\n if (!endDateValue) {\n updateExternalSecondDate(defaultSecondDate);\n }\n }, [defaultSecondDate, format, lang]);\n\n const RootWrapper = useCallback<RootWrapperProps>(\n forwardRef(({ children, className: rootWrapperClassName, onClick }, rootWrapperRef) => (\n <Root\n ref={rootWrapperRef}\n view={view}\n size={size}\n className={rootWrapperClassName}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onClick={onClick}\n >\n {children}\n </Root>\n )),\n [view, size, disabled, readOnly],\n );\n\n return (\n <Root\n ref={rootRef}\n view={view}\n size={size}\n className={cls(classes.datePickerRoot, className, { [classes.datePickerstretched]: stretched })}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n {...rest}\n >\n <RangeDatePopover\n calendarValue={[calendarFirstValue, calendarSecondValue]}\n target={RangeComponent}\n opened={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 renderFromDate={renderFromDate}\n frame={frame}\n usePortal={usePortal}\n zIndex={zIndex}\n placement={placement}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n offset={offset}\n stretched={stretched}\n calendarContainerWidth={calendarContainerWidth}\n calendarContainerHeight={calendarContainerHeight}\n type={type}\n onToggle={handleToggle}\n lang={lang}\n isDoubleCalendar={isDoubleCalendar}\n rootWrapper={RootWrapper}\n onChangeStartOfRange={handleChangeStartOfRange}\n onChangeValue={handleChangeCalendarValue}\n setIsInnerOpen={setIsInnerOpen}\n />\n {leftHelper && (\n <LeftHelper className={cls(rangeErrorClass, rangeSuccessClass)}>{leftHelper}</LeftHelper>\n )}\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"from\"\n value={inputFirstValue}\n ref={innerRefFirst}\n {...noop}\n />\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"to\"\n value={inputSecondValue}\n ref={innerRefSecond}\n {...noop}\n />\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","_outerValue$","_outerValue$2","className","autoComplete","_ref$isDoubleCalendar","isDoubleCalendar","_ref$opened","opened","outerValue","value","_ref$defaultFirstDate","defaultFirstDate","_ref$defaultSecondDat","defaultSecondDate","preserveInvalidOnBlur","label","leftHelper","contentLeft","contentRight","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","name","_ref$dividerVariant","dividerVariant","dividerIcon","firstValueError","secondValueError","firstValueSuccess","secondValueSuccess","firstPlaceholder","secondPlaceholder","firstTextfieldContentLeft","firstTextfieldContentRight","secondTextfieldContentLeft","secondTextfieldContentRight","firstTextfieldTextBefore","secondTextfieldTextBefore","firstTextfieldTextAfter","secondTextfieldTextAfter","required","_ref$requiredPlacemen","requiredPlacement","_ref$hasRequiredIndic","hasRequiredIndicator","_ref$format","format","_ref$lang","lang","maskWithFormat","min","max","renderFromDate","_ref$includeEdgeDates","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$frame","frame","_ref$usePortal","usePortal","zIndex","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","_ref$closeAfterDateSe","closeAfterDateSelect","offset","calendarContainerWidth","calendarContainerHeight","stretched","onToggle","onChange","onChangeFirstValue","onChangeSecondValue","onCommitFirstDate","onCommitSecondDate","onFocusFirstTextfield","onFocusSecondTextfield","onBlurFirstTextfield","onBlurSecondTextfield","rest","_objectWithoutProperties","_excluded","rangeRef","createRef","rootRef","useRef","innerRefFirst","innerRefSecond","_useState","useState","current","firstTextField","_useState2","_slicedToArray","firstInputRef","setFirstInputRef","_useState3","secondTextField","_useState4","secondInputRef","setSecondInputRef","_useState5","_useState6","isInnerOpen","setIsInnerOpen","dateFormatDelimiter","getDateFormatDelimiter","_useState7","_useState8","startInnerDate","setStartInnerDate","startDateValue","startInitialValues","getFormattedDates","delimiter","_useState9","_useState10","endInnerDate","setEndInnerDate","endDateValue","endInitialValues","_useState11","calendar","originalDate","input","formattedDate","_useState12","correctStartDates","setCorrectStartDates","_useState13","_useState14","correctEndDates","setCorrectEndDates","calendarFirstValue","inputFirstValue","calendarSecondValue","inputSecondValue","fullDateEntered","Boolean","_useState15","_useState16","secondTextFieldClicked","setSecondTextFieldClicked","rangeErrorClass","classes","datePickerError","undefined","rangeSuccessClass","datePickerSuccess","handleInputChange","target","setFirstInputValue","concat","setSecondInputValue","commonUseDatePickerArgs","_useDatePicker","useDatePicker","_objectSpread","currentValue","valueError","valueSuccess","setCorrectDates","setInnerDate","onChangeValue","onCommitDate","handleChangeFirstValue","handleChangeValue","handleFirstCalendarPick","handleCalendarPick","handleSearchFirst","handleSearch","updateExternalFirstDate","updateExternalDate","getFirstQuarterInfo","getQuarterInfo","_useDatePicker2","handleChangeSecondValue","handleSecondCalendarPick","handleSearchSecond","updateExternalSecondDate","getSecondQuarterInfo","handleToggle","currentOpened","event","_firstInputRef$curren","_secondInputRef$curre","isCalendarOpen","contains","code","keys","Escape","_secondInputRef$curre2","focus","_firstInputRef$curren2","handleFocusFirstTextField","handleFocusSecondTextField","handleBlur","outerHandler","commonArgs","_getFormattedDates","startOriginalDate","_getFormattedDates2","endOriginalDate","Date","toISOString","dateInfo","_getSortedValues","getSortedValues","_getSortedValues2","startValue","endValue","_useKeyNavigation","useKeyNavigation","onKeyDown","handleChangeStartOfRange","chosenDate","prevValue","_getSortedValues3","_getSortedValues4","first","second","handleChangeCalendarValue","_ref2","_ref3","firstDate","secondDate","RangeComponent","React","createElement","Fragment","StyledRange","firstValue","secondValue","onSearchFirstValue","_","date","String","_rangeRef$current3","onSearchSecondValue","_rangeRef$current4","useEffect","_rangeRef$current5","_rangeRef$current6","prevOpen","useLayoutEffect","RootWrapper","useCallback","_ref4","rootWrapperRef","children","rootWrapperClassName","onClick","_extends","cls","datePickerRoot","_defineProperty","datePickerstretched","RangeDatePopover","calendarValue","rootWrapper","onChangeStartOfRange","LeftHelper","InputHidden","datatype","noop","datePickerRangeConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
|
@@ -58,6 +58,18 @@ var useDrawer = function useDrawer(_ref) {
|
|
58
58
|
document.body.style.overflow = overflow.current;
|
59
59
|
}
|
60
60
|
}, [isOpen, popupController.items]);
|
61
|
+
|
62
|
+
// При анмаунте компонента нужно обновлять overflow у body.
|
63
|
+
useEffect(function () {
|
64
|
+
return function () {
|
65
|
+
if (!canUseDOM) {
|
66
|
+
return;
|
67
|
+
}
|
68
|
+
if (!hasDrawers(Array.from(popupController.items.values()))) {
|
69
|
+
document.body.style.overflow = overflow.current;
|
70
|
+
}
|
71
|
+
};
|
72
|
+
}, []);
|
61
73
|
var drawerInfo = _objectSpread2({
|
62
74
|
id: id,
|
63
75
|
info: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useDrawer.js","sources":["../../../../src/components/Drawer/hooks/useDrawer.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { DrawerInfo, getIdLastDrawer, hasDrawers } from '../DrawerContext';\nimport { DrawerHookArgs } from '../Drawer.types';\nimport { usePopupContext } from '../../Popup';\nimport { canUseDOM } from '../../../utils';\n\nconst ESCAPE_KEYCODE = 27;\n\nexport const useDrawer = ({\n id,\n isOpen,\n popupInfo,\n onEscKeyDown,\n onClose,\n closeOnEsc = true,\n disableScroll = true,\n}: DrawerHookArgs) => {\n const popupController = usePopupContext();\n const overflow = useRef<string>(canUseDOM ? document.body.style.overflow : 'initial');\n\n // При ESC закрывает текущее окно, если это возможно\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (!closeOnEsc) {\n return;\n }\n if (\n event.keyCode === ESCAPE_KEYCODE &&\n getIdLastDrawer(Array.from(popupController.items.values())) === id\n ) {\n if (onEscKeyDown) {\n onEscKeyDown(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n }\n },\n [onClose, onEscKeyDown, popupController.items, closeOnEsc],\n );\n\n useEffect(() => {\n window.addEventListener('keydown', onKeyDown);\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [onKeyDown]);\n\n // linaria не поддерживает динамический global\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (isOpen && disableScroll) {\n overflow.current = document.body.style.overflow;\n\n document.body.style.overflow = 'hidden';\n }\n }, [isOpen, disableScroll]);\n\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (!isOpen && !hasDrawers(Array.from(popupController.items.values()))) {\n document.body.style.overflow = overflow.current;\n }\n }, [isOpen, popupController.items]);\n\n const drawerInfo: DrawerInfo = {\n id,\n info: {\n isDrawer: true,\n },\n ...popupInfo,\n };\n\n return { drawerInfo };\n};\n"],"names":["ESCAPE_KEYCODE","useDrawer","_ref","id","isOpen","popupInfo","onEscKeyDown","onClose","_ref$closeOnEsc","closeOnEsc","_ref$disableScroll","disableScroll","popupController","usePopupContext","overflow","useRef","canUseDOM","document","body","style","onKeyDown","useCallback","event","keyCode","getIdLastDrawer","Array","from","items","values","useEffect","window","addEventListener","removeEventListener","current","hasDrawers","drawerInfo","_objectSpread","info","isDrawer"],"mappings":";;;;;;AAOA,IAAMA,cAAc,GAAG,EAAE,CAAA;IAEZC,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAQA;AAAA,EAAA,IAPlBC,EAAE,GAAAD,IAAA,CAAFC,EAAE;IACFC,MAAM,GAAAF,IAAA,CAANE,MAAM;IACNC,SAAS,GAAAH,IAAA,CAATG,SAAS;IACTC,YAAY,GAAAJ,IAAA,CAAZI,YAAY;IACZC,OAAO,GAAAL,IAAA,CAAPK,OAAO;IAAAC,eAAA,GAAAN,IAAA,CACPO,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;IAAAE,kBAAA,GAAAR,IAAA,CACjBS,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,kBAAA,CAAA;AAEpB,EAAA,IAAME,eAAe,GAAGC,eAAe,EAAE,CAAA;AACzC,EAAA,IAAMC,QAAQ,GAAGC,MAAM,CAASC,SAAS,GAAGC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACL,QAAQ,GAAG,SAAS,CAAC,CAAA;;AAErF;AACA,EAAA,IAAMM,SAAS,GAAGC,WAAW,CACzB,UAACC,KAAoB,EAAK;IACtB,IAAI,CAACb,UAAU,EAAE;AACb,MAAA,OAAA;AACJ,KAAA;IACA,IACIa,KAAK,CAACC,OAAO,KAAKvB,cAAc,IAChCwB,eAAe,CAACC,KAAK,CAACC,IAAI,CAACd,eAAe,CAACe,KAAK,CAACC,MAAM,EAAE,CAAC,CAAC,KAAKzB,EAAE,EACpE;AACE,MAAA,IAAIG,YAAY,EAAE;QACdA,YAAY,CAACgB,KAAK,CAAC,CAAA;AACnB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIf,OAAO,EAAE;AACTA,QAAAA,OAAO,EAAE,CAAA;AACb,OAAA;AACJ,KAAA;AACJ,GAAC,EACD,CAACA,OAAO,EAAED,YAAY,EAAEM,eAAe,CAACe,KAAK,EAAElB,UAAU,CAC7D,CAAC,CAAA;AAEDoB,EAAAA,SAAS,CAAC,YAAM;AACZC,IAAAA,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAEX,SAAS,CAAC,CAAA;AAC7C,IAAA,OAAO,YAAM;AACTU,MAAAA,MAAM,CAACE,mBAAmB,CAAC,SAAS,EAAEZ,SAAS,CAAC,CAAA;KACnD,CAAA;AACL,GAAC,EAAE,CAACA,SAAS,CAAC,CAAC,CAAA;;AAEf;AACAS,EAAAA,SAAS,CAAC,YAAM;IACZ,IAAI,CAACb,SAAS,EAAE;AACZ,MAAA,OAAA;AACJ,KAAA;IAEA,IAAIZ,MAAM,IAAIO,aAAa,EAAE;MACzBG,QAAQ,CAACmB,OAAO,GAAGhB,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACL,QAAQ,CAAA;AAE/CG,MAAAA,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACL,QAAQ,GAAG,QAAQ,CAAA;AAC3C,KAAA;AACJ,GAAC,EAAE,CAACV,MAAM,EAAEO,aAAa,CAAC,CAAC,CAAA;AAE3BkB,EAAAA,SAAS,CAAC,YAAM;IACZ,IAAI,CAACb,SAAS,EAAE;AACZ,MAAA,OAAA;AACJ,KAAA;AAEA,IAAA,IAAI,CAACZ,MAAM,IAAI,CAAC8B,UAAU,CAACT,KAAK,CAACC,IAAI,CAACd,eAAe,CAACe,KAAK,CAACC,MAAM,EAAE,CAAC,CAAC,EAAE;MACpEX,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACL,QAAQ,GAAGA,QAAQ,CAACmB,OAAO,CAAA;AACnD,KAAA;GACH,EAAE,CAAC7B,MAAM,EAAEQ,eAAe,CAACe,KAAK,CAAC,CAAC,CAAA;
|
1
|
+
{"version":3,"file":"useDrawer.js","sources":["../../../../src/components/Drawer/hooks/useDrawer.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { DrawerInfo, getIdLastDrawer, hasDrawers } from '../DrawerContext';\nimport { DrawerHookArgs } from '../Drawer.types';\nimport { usePopupContext } from '../../Popup';\nimport { canUseDOM } from '../../../utils';\n\nconst ESCAPE_KEYCODE = 27;\n\nexport const useDrawer = ({\n id,\n isOpen,\n popupInfo,\n onEscKeyDown,\n onClose,\n closeOnEsc = true,\n disableScroll = true,\n}: DrawerHookArgs) => {\n const popupController = usePopupContext();\n const overflow = useRef<string>(canUseDOM ? document.body.style.overflow : 'initial');\n\n // При ESC закрывает текущее окно, если это возможно\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (!closeOnEsc) {\n return;\n }\n if (\n event.keyCode === ESCAPE_KEYCODE &&\n getIdLastDrawer(Array.from(popupController.items.values())) === id\n ) {\n if (onEscKeyDown) {\n onEscKeyDown(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n }\n },\n [onClose, onEscKeyDown, popupController.items, closeOnEsc],\n );\n\n useEffect(() => {\n window.addEventListener('keydown', onKeyDown);\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [onKeyDown]);\n\n // linaria не поддерживает динамический global\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (isOpen && disableScroll) {\n overflow.current = document.body.style.overflow;\n\n document.body.style.overflow = 'hidden';\n }\n }, [isOpen, disableScroll]);\n\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (!isOpen && !hasDrawers(Array.from(popupController.items.values()))) {\n document.body.style.overflow = overflow.current;\n }\n }, [isOpen, popupController.items]);\n\n // При анмаунте компонента нужно обновлять overflow у body.\n useEffect(() => {\n return () => {\n if (!canUseDOM) {\n return;\n }\n\n if (!hasDrawers(Array.from(popupController.items.values()))) {\n document.body.style.overflow = overflow.current;\n }\n };\n }, []);\n\n const drawerInfo: DrawerInfo = {\n id,\n info: {\n isDrawer: true,\n },\n ...popupInfo,\n };\n\n return { drawerInfo };\n};\n"],"names":["ESCAPE_KEYCODE","useDrawer","_ref","id","isOpen","popupInfo","onEscKeyDown","onClose","_ref$closeOnEsc","closeOnEsc","_ref$disableScroll","disableScroll","popupController","usePopupContext","overflow","useRef","canUseDOM","document","body","style","onKeyDown","useCallback","event","keyCode","getIdLastDrawer","Array","from","items","values","useEffect","window","addEventListener","removeEventListener","current","hasDrawers","drawerInfo","_objectSpread","info","isDrawer"],"mappings":"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"}
|