@salutejs/plasma-new-hope 0.339.0-canary.2292.18716856420.0 → 0.339.0-canary.2292.18775879461.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/Calendar/hooks/useKeyNavigation.js +1 -1
- package/cjs/components/Calendar/hooks/useKeyNavigation.js.map +1 -1
- package/cjs/components/Pagination/Pagination.css +19 -0
- package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +19 -0
- package/cjs/components/Select/Select.css +19 -0
- package/cjs/components/Select/Select.js +44 -9
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.tokens.js +2 -0
- package/cjs/components/Select/Select.tokens.js.map +1 -1
- package/cjs/components/Select/hooks/useKeyboardNavigation.js +185 -1
- package/cjs/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
- package/cjs/components/Select/hooks/usePathMaps.js +7 -3
- package/cjs/components/Select/hooks/usePathMaps.js.map +1 -1
- package/cjs/components/Select/reducers/treePathReducer.js +87 -0
- package/cjs/components/Select/reducers/treePathReducer.js.map +1 -0
- package/cjs/components/Select/ui/TreeList/TreeList.css +57 -0
- package/cjs/components/Select/ui/TreeList/TreeList.js +96 -0
- package/cjs/components/Select/ui/TreeList/TreeList.js.map +1 -0
- package/cjs/components/Select/ui/TreeList/TreeList.styles.js +30 -0
- package/cjs/components/Select/ui/TreeList/TreeList.styles.js.map +1 -0
- package/cjs/components/Select/ui/TreeList/TreeList.styles_1t38mek.css +2 -0
- package/cjs/components/Select/ui/TreeList/ui/Item/Item.css +54 -0
- package/cjs/components/Select/ui/TreeList/ui/Item/Item.js +130 -0
- package/cjs/components/Select/ui/TreeList/ui/Item/Item.js.map +1 -0
- package/cjs/components/Select/ui/TreeList/ui/Item/Item.styles.js +214 -0
- package/cjs/components/Select/ui/TreeList/ui/Item/Item.styles.js.map +1 -0
- package/cjs/components/Select/ui/TreeList/ui/Item/Item.styles_i0dby2.css +15 -0
- package/cjs/components/Table/Table.css +19 -0
- package/cjs/components/Table/ui/Cell/Cell.css +19 -0
- package/cjs/components/Table/ui/EditableCell/EditableCell.css +19 -0
- package/cjs/components/Table/ui/HeadCell/HeadCell.css +19 -0
- package/cjs/components/Table/ui/HeadCell/ui/Filter/Filter.css +19 -0
- package/cjs/components/TextArea/TextArea.js +3 -2
- package/cjs/components/TextArea/TextArea.js.map +1 -1
- package/cjs/components/TextField/TextField.js +3 -2
- package/cjs/components/TextField/TextField.js.map +1 -1
- package/cjs/components/Tree/utils/traverseTree.js +2 -23
- package/cjs/components/Tree/utils/traverseTree.js.map +1 -1
- package/cjs/index.css +19 -0
- package/cjs/index.js +2 -0
- package/cjs/index.js.map +1 -1
- package/cjs/utils/deepCopy.js +30 -0
- package/cjs/utils/deepCopy.js.map +1 -0
- package/cjs/utils/index.js.map +1 -1
- package/emotion/cjs/components/Calendar/hooks/useKeyNavigation.js +0 -1
- package/emotion/cjs/components/Select/Select.js +33 -6
- package/emotion/cjs/components/Select/Select.tokens.js +2 -0
- package/emotion/cjs/components/Select/hooks/useKeyboardNavigation.js +166 -0
- package/emotion/cjs/components/Select/hooks/usePathMaps.js +35 -3
- package/emotion/cjs/components/Select/reducers/index.js +1 -0
- package/emotion/cjs/components/Select/reducers/treePathReducer.js +98 -0
- package/emotion/cjs/components/Select/ui/TreeList/TreeList.js +126 -0
- package/emotion/cjs/components/Select/ui/TreeList/TreeList.styles.js +36 -0
- package/emotion/cjs/components/Select/ui/TreeList/TreeList.types.js +4 -0
- package/emotion/cjs/components/Select/ui/TreeList/ui/Item/Item.js +150 -0
- package/emotion/cjs/components/Select/ui/TreeList/ui/Item/Item.styles.js +186 -0
- package/emotion/cjs/components/Select/ui/TreeList/ui/Item/Item.types.js +4 -0
- package/emotion/cjs/components/Select/ui/index.js +1 -0
- package/emotion/cjs/components/TextArea/TextArea.js +3 -3
- package/emotion/cjs/components/TextField/TextField.js +3 -3
- package/emotion/cjs/components/Tree/utils/traverseTree.js +2 -60
- package/emotion/cjs/examples/components/Combobox/Combobox.js +15 -0
- package/emotion/cjs/examples/components/Select/Select.config.js +24 -24
- package/emotion/cjs/utils/deepCopy.js +82 -0
- package/emotion/cjs/utils/index.js +4 -0
- package/emotion/es/components/Calendar/hooks/useKeyNavigation.js +0 -1
- package/emotion/es/components/Select/Select.js +35 -8
- package/emotion/es/components/Select/Select.tokens.js +2 -0
- package/emotion/es/components/Select/hooks/useKeyboardNavigation.js +166 -0
- package/emotion/es/components/Select/hooks/usePathMaps.js +36 -4
- package/emotion/es/components/Select/reducers/index.js +1 -0
- package/emotion/es/components/Select/reducers/treePathReducer.js +81 -0
- package/emotion/es/components/Select/ui/TreeList/TreeList.js +75 -0
- package/emotion/es/components/Select/ui/TreeList/TreeList.styles.js +13 -0
- package/emotion/es/components/Select/ui/TreeList/TreeList.types.js +1 -0
- package/emotion/es/components/Select/ui/TreeList/ui/Item/Item.js +99 -0
- package/emotion/es/components/Select/ui/TreeList/ui/Item/Item.styles.js +122 -0
- package/emotion/es/components/Select/ui/TreeList/ui/Item/Item.types.js +1 -0
- package/emotion/es/components/Select/ui/index.js +1 -0
- package/emotion/es/components/TextArea/TextArea.js +3 -3
- package/emotion/es/components/TextField/TextField.js +3 -3
- package/emotion/es/components/Tree/utils/traverseTree.js +1 -59
- package/emotion/es/examples/components/Select/Select.config.js +24 -24
- package/emotion/es/utils/deepCopy.js +72 -0
- package/emotion/es/utils/index.js +1 -0
- package/es/components/Calendar/hooks/useKeyNavigation.js +1 -1
- package/es/components/Calendar/hooks/useKeyNavigation.js.map +1 -1
- package/es/components/Pagination/Pagination.css +19 -0
- package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +19 -0
- package/es/components/Select/Select.css +19 -0
- package/es/components/Select/Select.js +44 -9
- package/es/components/Select/Select.js.map +1 -1
- package/es/components/Select/Select.tokens.js +2 -0
- package/es/components/Select/Select.tokens.js.map +1 -1
- package/es/components/Select/hooks/useKeyboardNavigation.js +185 -1
- package/es/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
- package/es/components/Select/hooks/usePathMaps.js +7 -3
- package/es/components/Select/hooks/usePathMaps.js.map +1 -1
- package/es/components/Select/reducers/treePathReducer.js +82 -0
- package/es/components/Select/reducers/treePathReducer.js.map +1 -0
- package/es/components/Select/ui/TreeList/TreeList.css +57 -0
- package/es/components/Select/ui/TreeList/TreeList.js +88 -0
- package/es/components/Select/ui/TreeList/TreeList.js.map +1 -0
- package/es/components/Select/ui/TreeList/TreeList.styles.js +25 -0
- package/es/components/Select/ui/TreeList/TreeList.styles.js.map +1 -0
- package/es/components/Select/ui/TreeList/TreeList.styles_1t38mek.css +2 -0
- package/es/components/Select/ui/TreeList/ui/Item/Item.css +54 -0
- package/es/components/Select/ui/TreeList/ui/Item/Item.js +122 -0
- package/es/components/Select/ui/TreeList/ui/Item/Item.js.map +1 -0
- package/es/components/Select/ui/TreeList/ui/Item/Item.styles.js +196 -0
- package/es/components/Select/ui/TreeList/ui/Item/Item.styles.js.map +1 -0
- package/es/components/Select/ui/TreeList/ui/Item/Item.styles_i0dby2.css +15 -0
- package/es/components/Table/Table.css +19 -0
- package/es/components/Table/ui/Cell/Cell.css +19 -0
- package/es/components/Table/ui/EditableCell/EditableCell.css +19 -0
- package/es/components/Table/ui/HeadCell/HeadCell.css +19 -0
- package/es/components/Table/ui/HeadCell/ui/Filter/Filter.css +19 -0
- package/es/components/TextArea/TextArea.js +3 -2
- package/es/components/TextArea/TextArea.js.map +1 -1
- package/es/components/TextField/TextField.js +3 -2
- package/es/components/TextField/TextField.js.map +1 -1
- package/es/components/Tree/utils/traverseTree.js +2 -23
- package/es/components/Tree/utils/traverseTree.js.map +1 -1
- package/es/index.css +19 -0
- package/es/index.js +1 -0
- package/es/index.js.map +1 -1
- package/es/utils/deepCopy.js +26 -0
- package/es/utils/deepCopy.js.map +1 -0
- package/es/utils/index.js.map +1 -1
- package/package.json +4 -4
- package/styled-components/cjs/components/Calendar/hooks/useKeyNavigation.js +0 -1
- package/styled-components/cjs/components/Select/Select.js +33 -6
- package/styled-components/cjs/components/Select/Select.tokens.js +2 -0
- package/styled-components/cjs/components/Select/hooks/useKeyboardNavigation.js +166 -0
- package/styled-components/cjs/components/Select/hooks/usePathMaps.js +35 -3
- package/styled-components/cjs/components/Select/reducers/index.js +1 -0
- package/styled-components/cjs/components/Select/reducers/treePathReducer.js +98 -0
- package/styled-components/cjs/components/Select/ui/TreeList/TreeList.js +126 -0
- package/styled-components/cjs/components/Select/ui/TreeList/TreeList.styles.js +50 -0
- package/styled-components/cjs/components/Select/ui/TreeList/TreeList.types.js +4 -0
- package/styled-components/cjs/components/Select/ui/TreeList/ui/Item/Item.js +150 -0
- package/styled-components/cjs/components/Select/ui/TreeList/ui/Item/Item.styles.js +300 -0
- package/styled-components/cjs/components/Select/ui/TreeList/ui/Item/Item.types.js +4 -0
- package/styled-components/cjs/components/Select/ui/index.js +1 -0
- package/styled-components/cjs/components/TextArea/TextArea.js +2 -2
- package/styled-components/cjs/components/TextField/TextField.js +2 -2
- package/styled-components/cjs/components/Tree/utils/traverseTree.js +2 -60
- package/styled-components/cjs/examples/components/Select/Select.config.js +12 -4
- package/styled-components/cjs/utils/deepCopy.js +82 -0
- package/styled-components/cjs/utils/index.js +4 -0
- package/styled-components/es/components/Calendar/hooks/useKeyNavigation.js +0 -1
- package/styled-components/es/components/Select/Select.js +35 -8
- package/styled-components/es/components/Select/Select.tokens.js +2 -0
- package/styled-components/es/components/Select/hooks/useKeyboardNavigation.js +166 -0
- package/styled-components/es/components/Select/hooks/usePathMaps.js +36 -4
- package/styled-components/es/components/Select/reducers/index.js +1 -0
- package/styled-components/es/components/Select/reducers/treePathReducer.js +81 -0
- package/styled-components/es/components/Select/ui/TreeList/TreeList.js +75 -0
- package/styled-components/es/components/Select/ui/TreeList/TreeList.styles.js +27 -0
- package/styled-components/es/components/Select/ui/TreeList/TreeList.types.js +1 -0
- package/styled-components/es/components/Select/ui/TreeList/ui/Item/Item.js +99 -0
- package/styled-components/es/components/Select/ui/TreeList/ui/Item/Item.styles.js +236 -0
- package/styled-components/es/components/Select/ui/TreeList/ui/Item/Item.types.js +1 -0
- package/styled-components/es/components/Select/ui/index.js +1 -0
- package/styled-components/es/components/TextArea/TextArea.js +2 -2
- package/styled-components/es/components/TextField/TextField.js +2 -2
- package/styled-components/es/components/Tree/utils/traverseTree.js +1 -59
- package/styled-components/es/examples/components/Select/Select.config.js +12 -4
- package/styled-components/es/utils/deepCopy.js +72 -0
- package/styled-components/es/utils/index.js +1 -0
- package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts.map +1 -1
- package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +12 -0
- package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
- package/types/components/Range/Range.styles.d.ts.map +1 -1
- package/types/components/Select/Select.d.ts.map +1 -1
- package/types/components/Select/Select.tokens.d.ts +2 -0
- package/types/components/Select/Select.tokens.d.ts.map +1 -1
- package/types/components/Select/Select.types.d.ts +26 -2
- package/types/components/Select/Select.types.d.ts.map +1 -1
- package/types/components/Select/hooks/useKeyboardNavigation.d.ts +6 -2
- package/types/components/Select/hooks/useKeyboardNavigation.d.ts.map +1 -1
- package/types/components/Select/hooks/usePathMaps.d.ts +2 -1
- package/types/components/Select/hooks/usePathMaps.d.ts.map +1 -1
- package/types/components/Select/reducers/index.d.ts +1 -0
- package/types/components/Select/reducers/index.d.ts.map +1 -1
- package/types/components/Select/reducers/treePathReducer.d.ts +14 -0
- package/types/components/Select/reducers/treePathReducer.d.ts.map +1 -0
- package/types/components/Select/ui/Target/ui/Textfield/Textfield.styles.d.ts.map +1 -1
- package/types/components/Select/ui/TreeList/TreeList.d.ts +4 -0
- package/types/components/Select/ui/TreeList/TreeList.d.ts.map +1 -0
- package/types/components/Select/ui/TreeList/TreeList.styles.d.ts +6 -0
- package/types/components/Select/ui/TreeList/TreeList.styles.d.ts.map +1 -0
- package/types/components/Select/ui/TreeList/TreeList.types.d.ts +11 -0
- package/types/components/Select/ui/TreeList/TreeList.types.d.ts.map +1 -0
- package/types/components/Select/ui/TreeList/ui/Item/Item.d.ts +4 -0
- package/types/components/Select/ui/TreeList/ui/Item/Item.d.ts.map +1 -0
- package/types/components/Select/ui/TreeList/ui/Item/Item.styles.d.ts +64 -0
- package/types/components/Select/ui/TreeList/ui/Item/Item.styles.d.ts.map +1 -0
- package/types/components/Select/ui/TreeList/ui/Item/Item.types.d.ts +14 -0
- package/types/components/Select/ui/TreeList/ui/Item/Item.types.d.ts.map +1 -0
- package/types/components/Select/ui/index.d.ts +1 -0
- package/types/components/Select/ui/index.d.ts.map +1 -1
- package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -1
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +12 -0
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
- package/types/components/TextArea/TextArea.d.ts.map +1 -1
- package/types/components/TextArea/TextArea.types.d.ts +4 -0
- package/types/components/TextArea/TextArea.types.d.ts.map +1 -1
- package/types/components/TextField/TextField.d.ts.map +1 -1
- package/types/components/TextField/TextField.types.d.ts +4 -0
- package/types/components/TextField/TextField.types.d.ts.map +1 -1
- package/types/components/TimePicker/TimePicker.styles.d.ts.map +1 -1
- package/types/components/Tree/utils/traverseTree.d.ts.map +1 -1
- package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/types/examples/components/Mask/Mask.d.ts.map +1 -1
- package/types/examples/components/NumberFormat/NumberFormat.d.ts.map +1 -1
- package/types/examples/components/Select/Select.config.d.ts.map +1 -1
- package/types/examples/components/Select/Select.d.ts +12 -0
- package/types/examples/components/Select/Select.d.ts.map +1 -1
- package/types/examples/components/TextArea/TextArea.d.ts +8 -0
- package/types/examples/components/TextArea/TextArea.d.ts.map +1 -1
- package/types/examples/components/TextField/TextField.d.ts.map +1 -1
- package/types/utils/deepCopy.d.ts +2 -0
- package/types/utils/deepCopy.d.ts.map +1 -0
- package/types/utils/index.d.ts +1 -0
- package/types/utils/index.d.ts.map +1 -1
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// Blazing-fast хелпер для глубокого копирования объектов.
|
|
2
|
+
// Ссылки на функции (React-компоненты) сохраняются.
|
|
3
|
+
function _array_like_to_array(arr, len) {
|
|
4
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
5
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
6
|
+
return arr2;
|
|
7
|
+
}
|
|
8
|
+
function _array_with_holes(arr) {
|
|
9
|
+
if (Array.isArray(arr)) return arr;
|
|
10
|
+
}
|
|
11
|
+
function _iterable_to_array_limit(arr, i) {
|
|
12
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
13
|
+
if (_i == null) return;
|
|
14
|
+
var _arr = [];
|
|
15
|
+
var _n = true;
|
|
16
|
+
var _d = false;
|
|
17
|
+
var _s, _e;
|
|
18
|
+
try {
|
|
19
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
20
|
+
_arr.push(_s.value);
|
|
21
|
+
if (i && _arr.length === i) break;
|
|
22
|
+
}
|
|
23
|
+
} catch (err) {
|
|
24
|
+
_d = true;
|
|
25
|
+
_e = err;
|
|
26
|
+
} finally{
|
|
27
|
+
try {
|
|
28
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
29
|
+
} finally{
|
|
30
|
+
if (_d) throw _e;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return _arr;
|
|
34
|
+
}
|
|
35
|
+
function _non_iterable_rest() {
|
|
36
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
37
|
+
}
|
|
38
|
+
function _sliced_to_array(arr, i) {
|
|
39
|
+
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
40
|
+
}
|
|
41
|
+
function _type_of(obj) {
|
|
42
|
+
"@swc/helpers - typeof";
|
|
43
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
44
|
+
}
|
|
45
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
46
|
+
if (!o) return;
|
|
47
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
48
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
49
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
50
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
51
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
52
|
+
}
|
|
53
|
+
export var deepCopy = function(obj) {
|
|
54
|
+
if (obj === null || (typeof obj === "undefined" ? "undefined" : _type_of(obj)) !== 'object') {
|
|
55
|
+
return obj;
|
|
56
|
+
}
|
|
57
|
+
if (Array.isArray(obj)) {
|
|
58
|
+
return obj.map(function(item) {
|
|
59
|
+
return deepCopy(item);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
if (obj.$$typeof === Symbol.for('react.element') || obj.$$typeof === Symbol.for('react.fragment') || _type_of(obj === null || obj === void 0 ? void 0 : obj.$$typeof) === 'symbol') {
|
|
63
|
+
return obj;
|
|
64
|
+
}
|
|
65
|
+
return Object.fromEntries(Object.entries(obj).map(function(param) {
|
|
66
|
+
var _param = _sliced_to_array(param, 2), key = _param[0], value = _param[1];
|
|
67
|
+
return [
|
|
68
|
+
key,
|
|
69
|
+
deepCopy(value)
|
|
70
|
+
];
|
|
71
|
+
}));
|
|
72
|
+
};
|
|
@@ -13,6 +13,7 @@ export * from "./initialValuesHelper";
|
|
|
13
13
|
export { noop } from "./noop";
|
|
14
14
|
export { getHeightAsNumber } from "./getHeightAsNumber";
|
|
15
15
|
export { createConditionalComponent } from "./createConditionalComponent";
|
|
16
|
+
export { deepCopy } from "./deepCopy";
|
|
16
17
|
export var cx = function() {
|
|
17
18
|
for(var _len = arguments.length, classes = new Array(_len), _key = 0; _key < _len; _key++){
|
|
18
19
|
classes[_key] = arguments[_key];
|
|
@@ -296,7 +296,7 @@ var useKeyNavigation = function useKeyNavigation(_ref10) {
|
|
|
296
296
|
* требуется дождаться обновление DOM и outerRefs
|
|
297
297
|
*/
|
|
298
298
|
setSelectIndexes([newRowIndex, newColumnIndex]);
|
|
299
|
-
}, [onPrev, onNext,
|
|
299
|
+
}, [onPrev, onNext, rowSize, columnSize, withShiftState, currentIndexes, isDouble]);
|
|
300
300
|
useLayoutEffect(function () {
|
|
301
301
|
var _outerRefs$current;
|
|
302
302
|
var _selectIndexes = _slicedToArray(selectIndexes, 2),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKeyNavigation.js","sources":["../../../../src/components/Calendar/hooks/useKeyNavigation.ts"],"sourcesContent":["import React, { KeyboardEvent, useCallback, useLayoutEffect, useRef, useState } from 'react';\n\nimport type { DaysMetaDescription, KeyboardArrowKey } from '../Calendar.types';\nimport { Keys } from '../Calendar.types';\nimport { offsetMap } from '../utils';\nimport type { CalendarStateType } from '../store/types';\nimport { sizeMap } from '../store/reducer';\n\nimport type { UseKeyNavigationArgs } from './types';\n\n/**\n * Метод для получения стороны двойного календаря.\n */\nconst getDoubleCalendarSide = (currentIndex: number, calendarState: CalendarStateType) => {\n if (currentIndex >= 0 && currentIndex < offsetMap[calendarState]) {\n return 'first';\n }\n\n if (currentIndex >= offsetMap[calendarState] && currentIndex < offsetMap[calendarState] * 2) {\n return 'second';\n }\n\n return '';\n};\n\nconst isOutOfBound = ([rowIndex, columnIndex]: number[], rowSize: number, columnSize: number) =>\n columnIndex === -1 || columnIndex === columnSize + 1 || rowIndex === -1 || rowIndex === rowSize + 1;\n\nconst isVisible = (refs: React.MutableRefObject<HTMLDivElement[][]>, row: number, column: number) =>\n refs.current?.[row]?.[column];\n\nconst isAriaDisableItem = (item: HTMLDivElement) => item?.getAttribute('aria-disabled') === 'true';\n\nconst hasDisabledArrowKey = ({\n refs,\n payload,\n key,\n}: {\n refs: React.MutableRefObject<HTMLDivElement[][]>;\n payload: number[];\n key: KeyboardArrowKey;\n}) => {\n const [previousRowIndex, previousColumnIndex] = payload;\n\n const disabledArrowKey = refs.current?.[previousRowIndex]?.[previousColumnIndex]?.dataset.disabledArrowKey;\n\n return Boolean(disabledArrowKey?.includes(key));\n};\n\nconst hasDisabledMonths = ({ item, key }: { item: HTMLDivElement; key: 'previous' | 'next' }) => {\n return item?.dataset?.disabledMonths ? item?.dataset?.disabledMonths.includes(key) : false;\n};\n\nconst getNextCorrectPosition = ({\n refs,\n rowSize,\n newRowIndex,\n newColumnIndex,\n columnSize,\n minColumnIndex,\n defaultState = [],\n}: DaysMetaDescription): number[] => {\n let item = refs.current?.[newRowIndex]?.[newColumnIndex];\n\n while (isAriaDisableItem(item) && newColumnIndex <= columnSize) {\n newColumnIndex++;\n\n if (newColumnIndex > columnSize && newRowIndex < rowSize) {\n newRowIndex++;\n newColumnIndex = minColumnIndex;\n }\n\n item = refs.current?.[newRowIndex]?.[newColumnIndex];\n\n if (item) {\n const isDisabledArrowDown = hasDisabledArrowKey({\n refs,\n payload: [newRowIndex, newColumnIndex],\n key: 'down',\n });\n\n const isDisabledArrowRight = hasDisabledArrowKey({\n refs,\n payload: [newRowIndex, newColumnIndex],\n key: 'right',\n });\n\n if (isDisabledArrowDown || isDisabledArrowRight) {\n return defaultState;\n }\n }\n }\n\n return [newRowIndex, newColumnIndex];\n};\n\nconst getPreviousCorrectPosition = ({\n refs,\n rowSize,\n newRowIndex,\n newColumnIndex,\n columnSize,\n minColumnIndex,\n defaultState = [],\n}: DaysMetaDescription): number[] => {\n let item = refs.current?.[newRowIndex]?.[newColumnIndex];\n\n while (isAriaDisableItem(item) && newColumnIndex >= minColumnIndex) {\n newColumnIndex--;\n\n if (newColumnIndex < minColumnIndex && newRowIndex <= rowSize) {\n newRowIndex--;\n newColumnIndex = columnSize;\n }\n\n item = refs.current?.[newRowIndex]?.[newColumnIndex];\n\n if (item && item.dataset.day === '1') {\n const isDisabledArrowUp = hasDisabledArrowKey({\n refs,\n payload: [newRowIndex, newColumnIndex],\n key: 'up',\n });\n\n const isDisabledArrowLeft = hasDisabledArrowKey({\n refs,\n payload: [newRowIndex, newColumnIndex],\n key: 'left',\n });\n\n if (isDisabledArrowUp || isDisabledArrowLeft) {\n return defaultState;\n }\n }\n }\n\n return [newRowIndex, newColumnIndex];\n};\n\n/**\n * Метод для нахождения стартового индекса дня в следующем/предыдущем месяце\n */\nfunction getCorrectColumnIndex({\n refs,\n rowSize,\n isNext,\n}: {\n refs: HTMLDivElement[][];\n rowSize: number;\n isNext: boolean;\n}): number {\n if (isNext) {\n let index = refs[rowSize].filter(Boolean).length;\n\n if (!index) {\n index = refs[rowSize - 1].filter(Boolean).length;\n }\n\n return index;\n }\n\n // Смещение влево - начинаем поиск первого не-nullable элемента в первой строке\n return refs[0].findIndex((item) => item) - 1;\n}\n\nconst getCorrectIndexes = (\n refs: React.MutableRefObject<HTMLDivElement[][]>,\n [rowIndex, columnIndex]: number[],\n rowSize: number,\n columnSize: number,\n withShift: boolean,\n defaultState: number[],\n calendarState: CalendarStateType,\n) => {\n let newRowIndex = rowIndex;\n let newColumnIndex = columnIndex;\n\n const minRowIndex = newRowIndex + 1;\n const maxRowIndex = newRowIndex - 1;\n\n const minColumnIndex = 0;\n const maxColumnIndex = columnSize;\n\n if (newColumnIndex === minColumnIndex - 1) {\n newColumnIndex += 1;\n\n while (newColumnIndex < maxColumnIndex && !isVisible(refs, newRowIndex, newColumnIndex)) {\n newColumnIndex++;\n }\n }\n\n if (newColumnIndex === columnSize + 1) {\n newColumnIndex -= 1;\n\n while (newColumnIndex > minColumnIndex && !isVisible(refs, newRowIndex, newColumnIndex)) {\n newColumnIndex--;\n }\n }\n\n if (newRowIndex === minColumnIndex - 1) {\n newRowIndex = offsetMap[calendarState] - 1;\n\n while (newRowIndex > minRowIndex && !isVisible(refs, newRowIndex, newColumnIndex)) {\n newRowIndex--;\n }\n }\n\n if (newRowIndex === rowSize + 1) {\n newRowIndex = rowSize + 1 - offsetMap[calendarState];\n\n while (newRowIndex <= maxRowIndex && !isVisible(refs, newRowIndex, newColumnIndex)) {\n newRowIndex++;\n }\n }\n\n // INFO: Логика для получения правильной позиции дня, когда переключились на другой месяц\n // INFO: и ставим указатель на первый доступный день. Только при зажатой клавиши Shift.\n if (isAriaDisableItem(refs.current?.[newRowIndex]?.[newColumnIndex]) && withShift) {\n const isNext = rowIndex === rowSize + 1;\n const isPrevious = rowIndex === minColumnIndex - 1;\n\n const state = { refs, rowSize, newColumnIndex, minColumnIndex, columnSize, newRowIndex, defaultState };\n\n if (isNext) {\n return getNextCorrectPosition(state);\n }\n\n if (isPrevious) {\n return getPreviousCorrectPosition(state);\n }\n }\n\n return [newRowIndex, newColumnIndex];\n};\n\n/**\n * Хук для осуществления возможности клавиатурной навигации по матрице.\n */\nexport const useKeyNavigation = ({ isDouble = false, size, onPrev, onNext, calendarState }: UseKeyNavigationArgs) => {\n const [rowSize, columnSize] = size;\n const [selectIndexes, setSelectIndexes] = useState<number[]>([0, 0]);\n const [isOutOfMinMaxRange, setIsOutOfMinMaxRange] = useState<boolean>(false);\n\n const withShiftState = useRef<boolean>(false);\n const currentIndexes = useRef<number[]>([0, 0]);\n\n const outerRefs = useRef(\n Array(rowSize + 1)\n .fill(0)\n .map(() => Array<HTMLDivElement>(columnSize + 1)),\n );\n\n useLayoutEffect(() => {\n if (!isOutOfBound(selectIndexes, rowSize, columnSize)) {\n return;\n }\n\n if (withShiftState.current) {\n const isNext = selectIndexes[0] === rowSize + 1;\n\n let refs = outerRefs.current;\n\n const isSecond = isDouble && isNext;\n const isFirst = isDouble && !isNext;\n\n const firstEndIndex = Math.floor(sizeMap[calendarState].double[0] / 2);\n\n // Определяем какую часть сдвоенного календаря взять\n if (isFirst) {\n refs = outerRefs.current.slice(0, firstEndIndex);\n } else if (isSecond) {\n refs = outerRefs.current.slice(firstEndIndex, sizeMap[calendarState].double[1]);\n }\n\n const refsList = refs?.flatMap((items) => items.filter(Boolean));\n\n // Если в месяце нет хотя бы одной none-disabled даты значит весь месяц выключен.\n const hasSomeEnabledDay = refsList.some((item) => !isAriaDisableItem(item));\n\n const isDisabledNextMonth = hasDisabledMonths({ item: refsList[refsList.length - 1], key: 'next' });\n const isDisabledPreviousMonth = hasDisabledMonths({ item: refsList[0], key: 'previous' });\n\n // Если следующий/предыдущий месяц находится за границами мин/макс, то переходить на него\n // с текущего выключенного, нет смысла.\n if (!hasSomeEnabledDay && (isDisabledNextMonth || isDisabledPreviousMonth)) {\n const inverseHandle = isNext ? onPrev : onNext;\n\n inverseHandle();\n\n setSelectIndexes(currentIndexes.current);\n\n // Если индексы равны, значит мы остались на текущей дате по причине, того\n // что в следующем(-их)/предыдущем(-их) месяце нет доступных дат\n setIsOutOfMinMaxRange(true);\n\n return;\n }\n\n if (!hasSomeEnabledDay) {\n const handle = isNext ? onNext : onPrev;\n\n const startColumnIndex = getCorrectColumnIndex({\n refs,\n rowSize: isDouble ? refs.length - 1 : rowSize,\n isNext,\n });\n\n handle();\n\n setSelectIndexes([selectIndexes[0], startColumnIndex]);\n\n return;\n }\n }\n\n const [newRowIndex, newColumnIndex] = getCorrectIndexes(\n outerRefs,\n selectIndexes,\n rowSize,\n columnSize,\n withShiftState.current,\n currentIndexes.current,\n calendarState,\n );\n\n /**\n * Изменение состояния необходимо сделать здесь, т.к.\n * требуется дождаться обновление DOM и outerRefs\n */\n setSelectIndexes([newRowIndex, newColumnIndex]);\n }, [onPrev, onNext, selectIndexes, rowSize, columnSize, withShiftState, currentIndexes, isDouble]);\n\n useLayoutEffect(() => {\n const [rowIndex, columnIndex] = selectIndexes;\n\n const item = outerRefs?.current?.[rowIndex]?.[columnIndex];\n\n if (item) {\n item.focus();\n }\n }, [selectIndexes, outerRefs]);\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setIsOutOfMinMaxRange(false);\n\n const { keyCode, shiftKey: withShift } = event;\n\n const [currentRowIndex, currentColumnIndex] = selectIndexes;\n\n let newRowIndex = currentRowIndex;\n let newColumnIndex = currentColumnIndex;\n\n const minColumnIndex = 0;\n const minRowIndex = 0;\n\n const prevRowIndex = currentRowIndex - 1;\n const nextRowIndex = currentRowIndex + 1;\n\n const prevColumnIndex = currentColumnIndex - 1;\n const nextColumnIndex = currentColumnIndex + 1;\n\n currentIndexes.current = [currentRowIndex, currentColumnIndex];\n\n const positionState = {\n refs: outerRefs,\n rowSize,\n columnSize,\n minColumnIndex,\n defaultState: [currentRowIndex, currentColumnIndex],\n };\n\n switch (keyCode) {\n case Keys.pageUp: {\n event.preventDefault();\n\n const isDisabledPreviousMonth = hasDisabledMonths({\n item: outerRefs.current[currentRowIndex][currentColumnIndex],\n key: 'previous',\n });\n\n if (isDisabledPreviousMonth) {\n setIsOutOfMinMaxRange(true);\n\n break;\n }\n\n onPrev(withShift);\n\n break;\n }\n case Keys.pageDown: {\n event.preventDefault();\n\n const isDisabledNextMonth = hasDisabledMonths({\n item: outerRefs.current[currentRowIndex][currentColumnIndex],\n key: 'next',\n });\n\n if (isDisabledNextMonth) {\n setIsOutOfMinMaxRange(true);\n\n break;\n }\n\n onNext(withShift);\n\n break;\n }\n case Keys.home: {\n event.preventDefault();\n\n newColumnIndex = minColumnIndex;\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n newColumnIndex = minColumnIndex - 1;\n\n break;\n }\n case Keys.end: {\n event.preventDefault();\n\n newColumnIndex = columnSize;\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n newColumnIndex = columnSize + 1;\n\n break;\n }\n\n case Keys.left: {\n event.preventDefault();\n\n newRowIndex = prevColumnIndex < minColumnIndex ? prevRowIndex : currentRowIndex;\n newColumnIndex = prevColumnIndex < minColumnIndex ? columnSize : prevColumnIndex;\n\n withShiftState.current = withShift;\n\n const isCurrentDateDisabledArrowLeft = hasDisabledArrowKey({\n refs: outerRefs,\n payload: [currentRowIndex, currentColumnIndex],\n key: 'left',\n });\n\n setIsOutOfMinMaxRange(isCurrentDateDisabledArrowLeft);\n\n if (isCurrentDateDisabledArrowLeft) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n // INFO: Для навигации только по доступным дням\n if (withShift) {\n const [rowIndex, columnIndex] = getPreviousCorrectPosition({\n ...positionState,\n newRowIndex,\n newColumnIndex,\n });\n\n // Если индексы равны, значит мы остались на текущей дате по причине, того\n // что в следующем(-их)/предыдущем(-их) месяце нет доступных дат\n setIsOutOfMinMaxRange(rowIndex === currentRowIndex && currentColumnIndex === columnIndex);\n\n newRowIndex = rowIndex;\n newColumnIndex = columnIndex;\n }\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n if (!isDouble || getDoubleCalendarSide(currentRowIndex, calendarState) === 'first') {\n if (isCurrentDateDisabledArrowLeft) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n onPrev();\n }\n\n newRowIndex = minRowIndex - 1;\n\n break;\n }\n case Keys.up: {\n event.preventDefault();\n\n newRowIndex = prevRowIndex < minRowIndex ? rowSize : prevRowIndex;\n\n withShiftState.current = withShift;\n\n const isCurrentDateDisabledArrowUp = hasDisabledArrowKey({\n refs: outerRefs,\n payload: [currentRowIndex, currentColumnIndex],\n key: 'up',\n });\n\n setIsOutOfMinMaxRange(isCurrentDateDisabledArrowUp);\n\n if (isCurrentDateDisabledArrowUp) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n if (withShift) {\n const item = outerRefs.current[newRowIndex][newColumnIndex];\n\n const isNextDateDisabledArrowUp =\n !!item &&\n hasDisabledArrowKey({\n refs: outerRefs,\n payload: [newRowIndex, newColumnIndex],\n key: 'up',\n });\n\n const [rowIndex, columnIndex] = getPreviousCorrectPosition({\n ...positionState,\n newRowIndex,\n newColumnIndex,\n });\n\n // Если индексы равны, значит мы остались на текущей дате по причине, того\n // что в следующем(-их)/предыдущем(-их) месяце нет доступных дат\n const haseCurrentPosition = rowIndex === currentRowIndex && currentColumnIndex === columnIndex;\n\n setIsOutOfMinMaxRange(isNextDateDisabledArrowUp || haseCurrentPosition);\n\n newRowIndex = rowIndex;\n newColumnIndex = columnIndex;\n }\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n if (!isDouble || getDoubleCalendarSide(currentRowIndex, calendarState) === 'first') {\n if (isCurrentDateDisabledArrowUp) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n onPrev();\n }\n\n newRowIndex = minRowIndex - 1;\n\n break;\n }\n\n case Keys.right: {\n event.preventDefault();\n\n newRowIndex = nextColumnIndex > columnSize ? nextRowIndex : currentRowIndex;\n newColumnIndex = nextColumnIndex > columnSize ? minColumnIndex : nextColumnIndex;\n\n withShiftState.current = withShift;\n\n const isCurrentDateDisabledArrowRight = hasDisabledArrowKey({\n refs: outerRefs,\n payload: [currentRowIndex, currentColumnIndex],\n key: 'right',\n });\n\n setIsOutOfMinMaxRange(isCurrentDateDisabledArrowRight);\n\n if (isCurrentDateDisabledArrowRight) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n if (withShift) {\n const [rowIndex, columnIndex] = getNextCorrectPosition({\n ...positionState,\n newRowIndex,\n newColumnIndex,\n });\n\n // Если индексы равны, значит мы остались на текущей дате по причине, того\n // что в следующем(-их)/предыдущем(-их) месяце нет доступных дат\n setIsOutOfMinMaxRange(rowIndex === currentRowIndex && currentColumnIndex === columnIndex);\n\n newRowIndex = rowIndex;\n newColumnIndex = columnIndex;\n }\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n if (!isDouble || getDoubleCalendarSide(currentRowIndex, calendarState) === 'second') {\n if (isCurrentDateDisabledArrowRight) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n onNext();\n }\n\n newRowIndex = rowSize + 1;\n\n break;\n }\n case Keys.down: {\n event.preventDefault();\n\n newRowIndex = nextRowIndex > rowSize ? minRowIndex : nextRowIndex;\n\n withShiftState.current = withShift;\n\n const isCurrentDateDisabledArrowDown = hasDisabledArrowKey({\n refs: outerRefs,\n payload: [currentRowIndex, currentColumnIndex],\n key: 'down',\n });\n\n setIsOutOfMinMaxRange(isCurrentDateDisabledArrowDown);\n\n if (isCurrentDateDisabledArrowDown) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n if (withShift) {\n const item = outerRefs.current[newRowIndex][newColumnIndex];\n\n const isNextDateDisabledArrowUp =\n !!item &&\n hasDisabledArrowKey({\n refs: outerRefs,\n payload: [newRowIndex, newColumnIndex],\n key: 'down',\n });\n\n const [rowIndex, columnIndex] = getNextCorrectPosition({\n ...positionState,\n newRowIndex,\n newColumnIndex,\n });\n\n // Если индексы равны, значит мы остались на текущей дате по причине, того\n // что в следующем(-их)/предыдущем(-их) месяце нет доступных дат\n const haseCurrentPosition = rowIndex === currentRowIndex && currentColumnIndex === columnIndex;\n\n setIsOutOfMinMaxRange(isNextDateDisabledArrowUp || haseCurrentPosition);\n\n newRowIndex = rowIndex;\n newColumnIndex = columnIndex;\n }\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n if (!isDouble || getDoubleCalendarSide(currentRowIndex, calendarState) === 'second') {\n if (isCurrentDateDisabledArrowDown) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n onNext();\n }\n\n newRowIndex = rowSize + 1;\n\n break;\n }\n case Keys.enter:\n case Keys.space: {\n outerRefs.current?.[newRowIndex]?.[newColumnIndex].click();\n break;\n }\n\n default:\n return;\n }\n\n setSelectIndexes([newRowIndex, newColumnIndex]);\n },\n [selectIndexes, outerRefs, rowSize, columnSize, onNext, onPrev, isDouble],\n );\n\n return [selectIndexes, onKeyDown, setSelectIndexes, outerRefs, isOutOfMinMaxRange] as const;\n};\n"],"names":["getDoubleCalendarSide","currentIndex","calendarState","offsetMap","isOutOfBound","_ref","rowSize","columnSize","_ref2","_slicedToArray","rowIndex","columnIndex","isVisible","refs","row","column","_refs$current","current","isAriaDisableItem","item","getAttribute","hasDisabledArrowKey","_ref3","_refs$current2","payload","key","_payload","previousRowIndex","previousColumnIndex","disabledArrowKey","dataset","Boolean","includes","hasDisabledMonths","_ref4","_item$dataset","_item$dataset2","disabledMonths","getNextCorrectPosition","_ref5","_refs$current3","newRowIndex","newColumnIndex","minColumnIndex","_ref5$defaultState","defaultState","_refs$current4","isDisabledArrowDown","isDisabledArrowRight","getPreviousCorrectPosition","_ref6","_refs$current5","_ref6$defaultState","_refs$current6","day","isDisabledArrowUp","isDisabledArrowLeft","getCorrectColumnIndex","_ref7","isNext","index","filter","length","findIndex","getCorrectIndexes","_ref8","withShift","_refs$current7","_ref9","minRowIndex","maxRowIndex","maxColumnIndex","isPrevious","state","useKeyNavigation","_ref10","_ref10$isDouble","isDouble","size","onPrev","onNext","_size","_useState","useState","_useState2","selectIndexes","setSelectIndexes","_useState3","_useState4","isOutOfMinMaxRange","setIsOutOfMinMaxRange","withShiftState","useRef","currentIndexes","outerRefs","Array","fill","map","useLayoutEffect","_refs","isSecond","isFirst","firstEndIndex","Math","floor","sizeMap","slice","refsList","flatMap","items","hasSomeEnabledDay","some","isDisabledNextMonth","isDisabledPreviousMonth","inverseHandle","handle","startColumnIndex","_getCorrectIndexes","_getCorrectIndexes2","_outerRefs$current","_selectIndexes","focus","onKeyDown","useCallback","event","keyCode","shiftKey","_selectIndexes2","currentRowIndex","currentColumnIndex","prevRowIndex","nextRowIndex","prevColumnIndex","nextColumnIndex","positionState","Keys","pageUp","preventDefault","pageDown","home","end","left","isCurrentDateDisabledArrowLeft","_getPreviousCorrectPo","_objectSpread","_getPreviousCorrectPo2","up","isCurrentDateDisabledArrowUp","isNextDateDisabledArrowUp","_getPreviousCorrectPo3","_getPreviousCorrectPo4","haseCurrentPosition","right","isCurrentDateDisabledArrowRight","_getNextCorrectPositi","_getNextCorrectPositi2","down","isCurrentDateDisabledArrowDown","_getNextCorrectPositi3","_getNextCorrectPositi4","enter","space","_outerRefs$current2","click"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useKeyNavigation.js","sources":["../../../../src/components/Calendar/hooks/useKeyNavigation.ts"],"sourcesContent":["import React, { KeyboardEvent, useCallback, useLayoutEffect, useRef, useState } from 'react';\n\nimport type { DaysMetaDescription, KeyboardArrowKey } from '../Calendar.types';\nimport { Keys } from '../Calendar.types';\nimport { offsetMap } from '../utils';\nimport type { CalendarStateType } from '../store/types';\nimport { sizeMap } from '../store/reducer';\n\nimport type { UseKeyNavigationArgs } from './types';\n\n/**\n * Метод для получения стороны двойного календаря.\n */\nconst getDoubleCalendarSide = (currentIndex: number, calendarState: CalendarStateType) => {\n if (currentIndex >= 0 && currentIndex < offsetMap[calendarState]) {\n return 'first';\n }\n\n if (currentIndex >= offsetMap[calendarState] && currentIndex < offsetMap[calendarState] * 2) {\n return 'second';\n }\n\n return '';\n};\n\nconst isOutOfBound = ([rowIndex, columnIndex]: number[], rowSize: number, columnSize: number) =>\n columnIndex === -1 || columnIndex === columnSize + 1 || rowIndex === -1 || rowIndex === rowSize + 1;\n\nconst isVisible = (refs: React.MutableRefObject<HTMLDivElement[][]>, row: number, column: number) =>\n refs.current?.[row]?.[column];\n\nconst isAriaDisableItem = (item: HTMLDivElement) => item?.getAttribute('aria-disabled') === 'true';\n\nconst hasDisabledArrowKey = ({\n refs,\n payload,\n key,\n}: {\n refs: React.MutableRefObject<HTMLDivElement[][]>;\n payload: number[];\n key: KeyboardArrowKey;\n}) => {\n const [previousRowIndex, previousColumnIndex] = payload;\n\n const disabledArrowKey = refs.current?.[previousRowIndex]?.[previousColumnIndex]?.dataset.disabledArrowKey;\n\n return Boolean(disabledArrowKey?.includes(key));\n};\n\nconst hasDisabledMonths = ({ item, key }: { item: HTMLDivElement; key: 'previous' | 'next' }) => {\n return item?.dataset?.disabledMonths ? item?.dataset?.disabledMonths.includes(key) : false;\n};\n\nconst getNextCorrectPosition = ({\n refs,\n rowSize,\n newRowIndex,\n newColumnIndex,\n columnSize,\n minColumnIndex,\n defaultState = [],\n}: DaysMetaDescription): number[] => {\n let item = refs.current?.[newRowIndex]?.[newColumnIndex];\n\n while (isAriaDisableItem(item) && newColumnIndex <= columnSize) {\n newColumnIndex++;\n\n if (newColumnIndex > columnSize && newRowIndex < rowSize) {\n newRowIndex++;\n newColumnIndex = minColumnIndex;\n }\n\n item = refs.current?.[newRowIndex]?.[newColumnIndex];\n\n if (item) {\n const isDisabledArrowDown = hasDisabledArrowKey({\n refs,\n payload: [newRowIndex, newColumnIndex],\n key: 'down',\n });\n\n const isDisabledArrowRight = hasDisabledArrowKey({\n refs,\n payload: [newRowIndex, newColumnIndex],\n key: 'right',\n });\n\n if (isDisabledArrowDown || isDisabledArrowRight) {\n return defaultState;\n }\n }\n }\n\n return [newRowIndex, newColumnIndex];\n};\n\nconst getPreviousCorrectPosition = ({\n refs,\n rowSize,\n newRowIndex,\n newColumnIndex,\n columnSize,\n minColumnIndex,\n defaultState = [],\n}: DaysMetaDescription): number[] => {\n let item = refs.current?.[newRowIndex]?.[newColumnIndex];\n\n while (isAriaDisableItem(item) && newColumnIndex >= minColumnIndex) {\n newColumnIndex--;\n\n if (newColumnIndex < minColumnIndex && newRowIndex <= rowSize) {\n newRowIndex--;\n newColumnIndex = columnSize;\n }\n\n item = refs.current?.[newRowIndex]?.[newColumnIndex];\n\n if (item && item.dataset.day === '1') {\n const isDisabledArrowUp = hasDisabledArrowKey({\n refs,\n payload: [newRowIndex, newColumnIndex],\n key: 'up',\n });\n\n const isDisabledArrowLeft = hasDisabledArrowKey({\n refs,\n payload: [newRowIndex, newColumnIndex],\n key: 'left',\n });\n\n if (isDisabledArrowUp || isDisabledArrowLeft) {\n return defaultState;\n }\n }\n }\n\n return [newRowIndex, newColumnIndex];\n};\n\n/**\n * Метод для нахождения стартового индекса дня в следующем/предыдущем месяце\n */\nfunction getCorrectColumnIndex({\n refs,\n rowSize,\n isNext,\n}: {\n refs: HTMLDivElement[][];\n rowSize: number;\n isNext: boolean;\n}): number {\n if (isNext) {\n let index = refs[rowSize].filter(Boolean).length;\n\n if (!index) {\n index = refs[rowSize - 1].filter(Boolean).length;\n }\n\n return index;\n }\n\n // Смещение влево - начинаем поиск первого не-nullable элемента в первой строке\n return refs[0].findIndex((item) => item) - 1;\n}\n\nconst getCorrectIndexes = (\n refs: React.MutableRefObject<HTMLDivElement[][]>,\n [rowIndex, columnIndex]: number[],\n rowSize: number,\n columnSize: number,\n withShift: boolean,\n defaultState: number[],\n calendarState: CalendarStateType,\n) => {\n let newRowIndex = rowIndex;\n let newColumnIndex = columnIndex;\n\n const minRowIndex = newRowIndex + 1;\n const maxRowIndex = newRowIndex - 1;\n\n const minColumnIndex = 0;\n const maxColumnIndex = columnSize;\n\n if (newColumnIndex === minColumnIndex - 1) {\n newColumnIndex += 1;\n\n while (newColumnIndex < maxColumnIndex && !isVisible(refs, newRowIndex, newColumnIndex)) {\n newColumnIndex++;\n }\n }\n\n if (newColumnIndex === columnSize + 1) {\n newColumnIndex -= 1;\n\n while (newColumnIndex > minColumnIndex && !isVisible(refs, newRowIndex, newColumnIndex)) {\n newColumnIndex--;\n }\n }\n\n if (newRowIndex === minColumnIndex - 1) {\n newRowIndex = offsetMap[calendarState] - 1;\n\n while (newRowIndex > minRowIndex && !isVisible(refs, newRowIndex, newColumnIndex)) {\n newRowIndex--;\n }\n }\n\n if (newRowIndex === rowSize + 1) {\n newRowIndex = rowSize + 1 - offsetMap[calendarState];\n\n while (newRowIndex <= maxRowIndex && !isVisible(refs, newRowIndex, newColumnIndex)) {\n newRowIndex++;\n }\n }\n\n // INFO: Логика для получения правильной позиции дня, когда переключились на другой месяц\n // INFO: и ставим указатель на первый доступный день. Только при зажатой клавиши Shift.\n if (isAriaDisableItem(refs.current?.[newRowIndex]?.[newColumnIndex]) && withShift) {\n const isNext = rowIndex === rowSize + 1;\n const isPrevious = rowIndex === minColumnIndex - 1;\n\n const state = { refs, rowSize, newColumnIndex, minColumnIndex, columnSize, newRowIndex, defaultState };\n\n if (isNext) {\n return getNextCorrectPosition(state);\n }\n\n if (isPrevious) {\n return getPreviousCorrectPosition(state);\n }\n }\n\n return [newRowIndex, newColumnIndex];\n};\n\n/**\n * Хук для осуществления возможности клавиатурной навигации по матрице.\n */\nexport const useKeyNavigation = ({ isDouble = false, size, onPrev, onNext, calendarState }: UseKeyNavigationArgs) => {\n const [rowSize, columnSize] = size;\n const [selectIndexes, setSelectIndexes] = useState<number[]>([0, 0]);\n const [isOutOfMinMaxRange, setIsOutOfMinMaxRange] = useState<boolean>(false);\n\n const withShiftState = useRef<boolean>(false);\n const currentIndexes = useRef<number[]>([0, 0]);\n\n const outerRefs = useRef(\n Array(rowSize + 1)\n .fill(0)\n .map(() => Array<HTMLDivElement>(columnSize + 1)),\n );\n\n useLayoutEffect(() => {\n if (!isOutOfBound(selectIndexes, rowSize, columnSize)) {\n return;\n }\n\n if (withShiftState.current) {\n const isNext = selectIndexes[0] === rowSize + 1;\n\n let refs = outerRefs.current;\n\n const isSecond = isDouble && isNext;\n const isFirst = isDouble && !isNext;\n\n const firstEndIndex = Math.floor(sizeMap[calendarState].double[0] / 2);\n\n // Определяем какую часть сдвоенного календаря взять\n if (isFirst) {\n refs = outerRefs.current.slice(0, firstEndIndex);\n } else if (isSecond) {\n refs = outerRefs.current.slice(firstEndIndex, sizeMap[calendarState].double[1]);\n }\n\n const refsList = refs?.flatMap((items) => items.filter(Boolean));\n\n // Если в месяце нет хотя бы одной none-disabled даты значит весь месяц выключен.\n const hasSomeEnabledDay = refsList.some((item) => !isAriaDisableItem(item));\n\n const isDisabledNextMonth = hasDisabledMonths({ item: refsList[refsList.length - 1], key: 'next' });\n const isDisabledPreviousMonth = hasDisabledMonths({ item: refsList[0], key: 'previous' });\n\n // Если следующий/предыдущий месяц находится за границами мин/макс, то переходить на него\n // с текущего выключенного, нет смысла.\n if (!hasSomeEnabledDay && (isDisabledNextMonth || isDisabledPreviousMonth)) {\n const inverseHandle = isNext ? onPrev : onNext;\n\n inverseHandle();\n\n setSelectIndexes(currentIndexes.current);\n\n // Если индексы равны, значит мы остались на текущей дате по причине, того\n // что в следующем(-их)/предыдущем(-их) месяце нет доступных дат\n setIsOutOfMinMaxRange(true);\n\n return;\n }\n\n if (!hasSomeEnabledDay) {\n const handle = isNext ? onNext : onPrev;\n\n const startColumnIndex = getCorrectColumnIndex({\n refs,\n rowSize: isDouble ? refs.length - 1 : rowSize,\n isNext,\n });\n\n handle();\n\n setSelectIndexes([selectIndexes[0], startColumnIndex]);\n\n return;\n }\n }\n\n const [newRowIndex, newColumnIndex] = getCorrectIndexes(\n outerRefs,\n selectIndexes,\n rowSize,\n columnSize,\n withShiftState.current,\n currentIndexes.current,\n calendarState,\n );\n\n /**\n * Изменение состояния необходимо сделать здесь, т.к.\n * требуется дождаться обновление DOM и outerRefs\n */\n setSelectIndexes([newRowIndex, newColumnIndex]);\n }, [onPrev, onNext, rowSize, columnSize, withShiftState, currentIndexes, isDouble]);\n\n useLayoutEffect(() => {\n const [rowIndex, columnIndex] = selectIndexes;\n\n const item = outerRefs?.current?.[rowIndex]?.[columnIndex];\n\n if (item) {\n item.focus();\n }\n }, [selectIndexes, outerRefs]);\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setIsOutOfMinMaxRange(false);\n\n const { keyCode, shiftKey: withShift } = event;\n\n const [currentRowIndex, currentColumnIndex] = selectIndexes;\n\n let newRowIndex = currentRowIndex;\n let newColumnIndex = currentColumnIndex;\n\n const minColumnIndex = 0;\n const minRowIndex = 0;\n\n const prevRowIndex = currentRowIndex - 1;\n const nextRowIndex = currentRowIndex + 1;\n\n const prevColumnIndex = currentColumnIndex - 1;\n const nextColumnIndex = currentColumnIndex + 1;\n\n currentIndexes.current = [currentRowIndex, currentColumnIndex];\n\n const positionState = {\n refs: outerRefs,\n rowSize,\n columnSize,\n minColumnIndex,\n defaultState: [currentRowIndex, currentColumnIndex],\n };\n\n switch (keyCode) {\n case Keys.pageUp: {\n event.preventDefault();\n\n const isDisabledPreviousMonth = hasDisabledMonths({\n item: outerRefs.current[currentRowIndex][currentColumnIndex],\n key: 'previous',\n });\n\n if (isDisabledPreviousMonth) {\n setIsOutOfMinMaxRange(true);\n\n break;\n }\n\n onPrev(withShift);\n\n break;\n }\n case Keys.pageDown: {\n event.preventDefault();\n\n const isDisabledNextMonth = hasDisabledMonths({\n item: outerRefs.current[currentRowIndex][currentColumnIndex],\n key: 'next',\n });\n\n if (isDisabledNextMonth) {\n setIsOutOfMinMaxRange(true);\n\n break;\n }\n\n onNext(withShift);\n\n break;\n }\n case Keys.home: {\n event.preventDefault();\n\n newColumnIndex = minColumnIndex;\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n newColumnIndex = minColumnIndex - 1;\n\n break;\n }\n case Keys.end: {\n event.preventDefault();\n\n newColumnIndex = columnSize;\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n newColumnIndex = columnSize + 1;\n\n break;\n }\n\n case Keys.left: {\n event.preventDefault();\n\n newRowIndex = prevColumnIndex < minColumnIndex ? prevRowIndex : currentRowIndex;\n newColumnIndex = prevColumnIndex < minColumnIndex ? columnSize : prevColumnIndex;\n\n withShiftState.current = withShift;\n\n const isCurrentDateDisabledArrowLeft = hasDisabledArrowKey({\n refs: outerRefs,\n payload: [currentRowIndex, currentColumnIndex],\n key: 'left',\n });\n\n setIsOutOfMinMaxRange(isCurrentDateDisabledArrowLeft);\n\n if (isCurrentDateDisabledArrowLeft) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n // INFO: Для навигации только по доступным дням\n if (withShift) {\n const [rowIndex, columnIndex] = getPreviousCorrectPosition({\n ...positionState,\n newRowIndex,\n newColumnIndex,\n });\n\n // Если индексы равны, значит мы остались на текущей дате по причине, того\n // что в следующем(-их)/предыдущем(-их) месяце нет доступных дат\n setIsOutOfMinMaxRange(rowIndex === currentRowIndex && currentColumnIndex === columnIndex);\n\n newRowIndex = rowIndex;\n newColumnIndex = columnIndex;\n }\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n if (!isDouble || getDoubleCalendarSide(currentRowIndex, calendarState) === 'first') {\n if (isCurrentDateDisabledArrowLeft) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n onPrev();\n }\n\n newRowIndex = minRowIndex - 1;\n\n break;\n }\n case Keys.up: {\n event.preventDefault();\n\n newRowIndex = prevRowIndex < minRowIndex ? rowSize : prevRowIndex;\n\n withShiftState.current = withShift;\n\n const isCurrentDateDisabledArrowUp = hasDisabledArrowKey({\n refs: outerRefs,\n payload: [currentRowIndex, currentColumnIndex],\n key: 'up',\n });\n\n setIsOutOfMinMaxRange(isCurrentDateDisabledArrowUp);\n\n if (isCurrentDateDisabledArrowUp) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n if (withShift) {\n const item = outerRefs.current[newRowIndex][newColumnIndex];\n\n const isNextDateDisabledArrowUp =\n !!item &&\n hasDisabledArrowKey({\n refs: outerRefs,\n payload: [newRowIndex, newColumnIndex],\n key: 'up',\n });\n\n const [rowIndex, columnIndex] = getPreviousCorrectPosition({\n ...positionState,\n newRowIndex,\n newColumnIndex,\n });\n\n // Если индексы равны, значит мы остались на текущей дате по причине, того\n // что в следующем(-их)/предыдущем(-их) месяце нет доступных дат\n const haseCurrentPosition = rowIndex === currentRowIndex && currentColumnIndex === columnIndex;\n\n setIsOutOfMinMaxRange(isNextDateDisabledArrowUp || haseCurrentPosition);\n\n newRowIndex = rowIndex;\n newColumnIndex = columnIndex;\n }\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n if (!isDouble || getDoubleCalendarSide(currentRowIndex, calendarState) === 'first') {\n if (isCurrentDateDisabledArrowUp) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n onPrev();\n }\n\n newRowIndex = minRowIndex - 1;\n\n break;\n }\n\n case Keys.right: {\n event.preventDefault();\n\n newRowIndex = nextColumnIndex > columnSize ? nextRowIndex : currentRowIndex;\n newColumnIndex = nextColumnIndex > columnSize ? minColumnIndex : nextColumnIndex;\n\n withShiftState.current = withShift;\n\n const isCurrentDateDisabledArrowRight = hasDisabledArrowKey({\n refs: outerRefs,\n payload: [currentRowIndex, currentColumnIndex],\n key: 'right',\n });\n\n setIsOutOfMinMaxRange(isCurrentDateDisabledArrowRight);\n\n if (isCurrentDateDisabledArrowRight) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n if (withShift) {\n const [rowIndex, columnIndex] = getNextCorrectPosition({\n ...positionState,\n newRowIndex,\n newColumnIndex,\n });\n\n // Если индексы равны, значит мы остались на текущей дате по причине, того\n // что в следующем(-их)/предыдущем(-их) месяце нет доступных дат\n setIsOutOfMinMaxRange(rowIndex === currentRowIndex && currentColumnIndex === columnIndex);\n\n newRowIndex = rowIndex;\n newColumnIndex = columnIndex;\n }\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n if (!isDouble || getDoubleCalendarSide(currentRowIndex, calendarState) === 'second') {\n if (isCurrentDateDisabledArrowRight) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n onNext();\n }\n\n newRowIndex = rowSize + 1;\n\n break;\n }\n case Keys.down: {\n event.preventDefault();\n\n newRowIndex = nextRowIndex > rowSize ? minRowIndex : nextRowIndex;\n\n withShiftState.current = withShift;\n\n const isCurrentDateDisabledArrowDown = hasDisabledArrowKey({\n refs: outerRefs,\n payload: [currentRowIndex, currentColumnIndex],\n key: 'down',\n });\n\n setIsOutOfMinMaxRange(isCurrentDateDisabledArrowDown);\n\n if (isCurrentDateDisabledArrowDown) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n if (withShift) {\n const item = outerRefs.current[newRowIndex][newColumnIndex];\n\n const isNextDateDisabledArrowUp =\n !!item &&\n hasDisabledArrowKey({\n refs: outerRefs,\n payload: [newRowIndex, newColumnIndex],\n key: 'down',\n });\n\n const [rowIndex, columnIndex] = getNextCorrectPosition({\n ...positionState,\n newRowIndex,\n newColumnIndex,\n });\n\n // Если индексы равны, значит мы остались на текущей дате по причине, того\n // что в следующем(-их)/предыдущем(-их) месяце нет доступных дат\n const haseCurrentPosition = rowIndex === currentRowIndex && currentColumnIndex === columnIndex;\n\n setIsOutOfMinMaxRange(isNextDateDisabledArrowUp || haseCurrentPosition);\n\n newRowIndex = rowIndex;\n newColumnIndex = columnIndex;\n }\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n if (!isDouble || getDoubleCalendarSide(currentRowIndex, calendarState) === 'second') {\n if (isCurrentDateDisabledArrowDown) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n onNext();\n }\n\n newRowIndex = rowSize + 1;\n\n break;\n }\n case Keys.enter:\n case Keys.space: {\n outerRefs.current?.[newRowIndex]?.[newColumnIndex].click();\n break;\n }\n\n default:\n return;\n }\n\n setSelectIndexes([newRowIndex, newColumnIndex]);\n },\n [selectIndexes, outerRefs, rowSize, columnSize, onNext, onPrev, isDouble],\n );\n\n return [selectIndexes, onKeyDown, setSelectIndexes, outerRefs, isOutOfMinMaxRange] as const;\n};\n"],"names":["getDoubleCalendarSide","currentIndex","calendarState","offsetMap","isOutOfBound","_ref","rowSize","columnSize","_ref2","_slicedToArray","rowIndex","columnIndex","isVisible","refs","row","column","_refs$current","current","isAriaDisableItem","item","getAttribute","hasDisabledArrowKey","_ref3","_refs$current2","payload","key","_payload","previousRowIndex","previousColumnIndex","disabledArrowKey","dataset","Boolean","includes","hasDisabledMonths","_ref4","_item$dataset","_item$dataset2","disabledMonths","getNextCorrectPosition","_ref5","_refs$current3","newRowIndex","newColumnIndex","minColumnIndex","_ref5$defaultState","defaultState","_refs$current4","isDisabledArrowDown","isDisabledArrowRight","getPreviousCorrectPosition","_ref6","_refs$current5","_ref6$defaultState","_refs$current6","day","isDisabledArrowUp","isDisabledArrowLeft","getCorrectColumnIndex","_ref7","isNext","index","filter","length","findIndex","getCorrectIndexes","_ref8","withShift","_refs$current7","_ref9","minRowIndex","maxRowIndex","maxColumnIndex","isPrevious","state","useKeyNavigation","_ref10","_ref10$isDouble","isDouble","size","onPrev","onNext","_size","_useState","useState","_useState2","selectIndexes","setSelectIndexes","_useState3","_useState4","isOutOfMinMaxRange","setIsOutOfMinMaxRange","withShiftState","useRef","currentIndexes","outerRefs","Array","fill","map","useLayoutEffect","_refs","isSecond","isFirst","firstEndIndex","Math","floor","sizeMap","slice","refsList","flatMap","items","hasSomeEnabledDay","some","isDisabledNextMonth","isDisabledPreviousMonth","inverseHandle","handle","startColumnIndex","_getCorrectIndexes","_getCorrectIndexes2","_outerRefs$current","_selectIndexes","focus","onKeyDown","useCallback","event","keyCode","shiftKey","_selectIndexes2","currentRowIndex","currentColumnIndex","prevRowIndex","nextRowIndex","prevColumnIndex","nextColumnIndex","positionState","Keys","pageUp","preventDefault","pageDown","home","end","left","isCurrentDateDisabledArrowLeft","_getPreviousCorrectPo","_objectSpread","_getPreviousCorrectPo2","up","isCurrentDateDisabledArrowUp","isNextDateDisabledArrowUp","_getPreviousCorrectPo3","_getPreviousCorrectPo4","haseCurrentPosition","right","isCurrentDateDisabledArrowRight","_getNextCorrectPositi","_getNextCorrectPositi2","down","isCurrentDateDisabledArrowDown","_getNextCorrectPositi3","_getNextCorrectPositi4","enter","space","_outerRefs$current2","click"],"mappings":"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"}
|
|
@@ -202,6 +202,25 @@
|
|
|
202
202
|
.SelectAll_styles_ql2mqj_d19w91z6__b71a8639{background:var(--surface-solid-card);}
|
|
203
203
|
.SelectAll_styles_ql2mqj_d1nbef5q__b71a8639{height:0.0625rem;margin-top:var(--d1nbef5q-0);margin-right:var(--plasma-select-divider-margin-right);margin-left:var(--plasma-select-divider-margin-left);background:var(--plasma-select-divider-color);}
|
|
204
204
|
|
|
205
|
+
|
|
206
|
+
.Item_styles_i0dby2_s14rxgk6__158876c7{--plasma-cell-title-color:var(--s14rxgk6-0);--plasma-cell-background-color:var(--surface-clear);--plasma-cell-padding:var(--plasma-select-cell-padding);--plasma-cell-padding-left-content:var(--plasma-select-cell-padding-left-content);--plasma-cell-padding-content:var(--plasma-select-cell-padding-content);--plasma-cell-padding-right-content:var(--plasma-select-cell-padding-right-content);--plasma-cell-textbox-gap:var(--plasma-select-cell-textbox-gap);--plasma-cell-gap:var(--plasma-select-cell-gap);--plasma-cell-title-font-family:var(--plasma-select-cell-title-font-family);--plasma-cell-title-font-size:var(--plasma-select-cell-title-font-size);--plasma-cell-title-font-style:var(--plasma-select-cell-title-font-style);--plasma-cell-title-font-weight:var(--plasma-select-cell-title-font-weight);--plasma-cell-title-letter-spacing:var(--plasma-select-cell-title-letter-spacing);--plasma-cell-title-line-height:var(--plasma-select-cell-title-line-height);width:100%;}.Item_styles_i0dby2_s14rxgk6__158876c7 div.Item_styles_i0dby2_cellContent__158876c7,.Item_styles_i0dby2_s14rxgk6__158876c7 div.Item_styles_i0dby2_cellTextbox__158876c7{-webkit-flex:1;-ms-flex:1;flex:1;}.Item_styles_i0dby2_s14rxgk6__158876c7 div.Item_styles_i0dby2_cellTextboxTitle__158876c7{position:relative;}.Item_styles_i0dby2_s14rxgk6__158876c7 div.Item_styles_i0dby2_cellTextboxTitle__158876c7:before{content:' ';visibility:hidden;}.Item_styles_i0dby2_s14rxgk6__158876c7 div.Item_styles_i0dby2_cellTextboxTitle__158876c7 span{position:absolute;left:0;right:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
|
|
207
|
+
|
|
208
|
+
.Item_styles_i0dby2_s1t6abbl__158876c7{--plasma-checkbox-trigger-size:var(--plasma-select-checkbox-trigger-size);--plasma-checkbox-trigger-border-radius:var(--plasma-select-checkbox-trigger-border-radius);--plasma-checkbox-fill-color:var(--plasma-select-checkbox-fill-color);--plasma-checkbox-icon-color:var(--plasma-select-checkbox-icon-color);--plasma-checkbox-trigger-border-width:var(--plasma-select-checkbox-trigger-border-width);--plasma-checkbox-trigger-border-color:var(--plasma-select-checkbox-trigger-border-color);--plasma-checkbox-trigger-border-checked-color:var(--plasma-select-checkbox-trigger-border-checked-color);}
|
|
209
|
+
.Item_styles_i0dby2_swduayr__158876c7{--plasma-indicator-size:var(--plasma-select-indicator-size);--plasma-indicator-color:var(--plasma-select-item-icon-color);}
|
|
210
|
+
.Item_styles_i0dby2_s1r3fsvz__158876c7{width:var(--s1r3fsvz-0);height:var(--s1r3fsvz-0);}.Item_styles_i0dby2_s1r3fsvz__158876c7.Item_styles_i0dby2_arrowInverse__158876c7{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}
|
|
211
|
+
.Item_styles_i0dby2_s1us4s6s__158876c7{width:var(--s1us4s6s-0);height:var(--s1us4s6s-0);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}.Item_styles_i0dby2_s1us4s6s__158876c7.Item_styles_i0dby2_arrowInverse__158876c7{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);}
|
|
212
|
+
.Item_styles_i0dby2_s14lzt5m__158876c7{width:var(--s14lzt5m-0);height:var(--s14lzt5m-0);}
|
|
213
|
+
.Item_styles_i0dby2_d1178nq__158876c7{line-height:0;color:var(--plasma-select-disclosure-icon-color);visibility:var(--d1178nq-0);}.Item_styles_i0dby2_d1178nq__158876c7:hover{color:var(--plasma-select-disclosure-icon-color-hover);}
|
|
214
|
+
.Item_styles_i0dby2_i1noc5rg__158876c7{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-flex:none;-ms-flex:none;flex:none;width:var(--i1noc5rg-0);height:var(--i1noc5rg-0);line-height:0;color:var(--plasma-select-item-icon-color);}
|
|
215
|
+
.Item_styles_i0dby2_s1azt70o__158876c7{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-flex:1;-ms-flex:1;flex:1;}
|
|
216
|
+
.Item_styles_i0dby2_wa9o46g__158876c7{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--plasma-select-item-gap);min-height:var(--plasma-select-item-height);margin:0;box-sizing:content-box;padding:var(--wa9o46g-0);font-family:var(--plasma-select-font-family);font-size:var(--plasma-select-font-size);font-style:var(--plasma-select-font-style);font-weight:var(--plasma-select-font-weight);-webkit-letter-spacing:var(--plasma-select-font-letter-spacing);-moz-letter-spacing:var(--plasma-select-font-letter-spacing);-ms-letter-spacing:var(--plasma-select-font-letter-spacing);letter-spacing:var(--plasma-select-font-letter-spacing);line-height:var(--plasma-select-font-line-height);background-color:var(--surface-clear);color:var(--text-primary);border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-clip:padding-box;position:relative;}.Item_styles_i0dby2_wa9o46g__158876c7:hover:not(.Item_styles_i0dby2_dropdownItemIsDisabled__158876c7){cursor:pointer;background-color:var(--plasma-select-item-background-hover);}.Item_styles_i0dby2_wa9o46g__158876c7.Item_styles_i0dby2_dropdownItemIsActive__158876c7{background-color:var(--plasma-select-item-background-hover);}.Item_styles_i0dby2_wa9o46g__158876c7.Item_styles_i0dby2_dropdownItemIsDisabled__158876c7{opacity:var(--plasma-select-item-disabled-opacity);color:var(--plasma-select-item-disabled-color);cursor:not-allowed;}.Item_styles_i0dby2_wa9o46g__158876c7:focus{outline:none;}.Item_styles_i0dby2_wa9o46g__158876c7::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;display:block;box-sizing:content-box;border:0 solid transparent;border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));-webkit-transition:none;transition:none;pointer-events:none;}.Item_styles_i0dby2_wa9o46g__158876c7.Item_styles_i0dby2_dropdownItemIsFocused__158876c7:before{outline:none;box-shadow:inset 0 0 0 0.0625rem var(--surface-accent);}
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
.Item_styles_i0dby2_o1888l7c__158876c7{width:calc(var(--o1888l7c-0) * var(--plasma-select-item-tree-offset-width));-webkit-flex:none;-ms-flex:none;flex:none;margin-right:calc(var(--plasma-select-item-gap) * -1);}
|
|
220
|
+
|
|
221
|
+
.TreeList_styles_1t38mek_lm92bs9__3097faae{width:100%;padding:calc(var(--plasma-select-padding) + var(--plasma-select-dropdown-border-width,0rem));border-radius:var(--plasma-select-border-radius);box-sizing:border-box;background:var(--surface-solid-card);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-select-dropdown-border-width,0rem) var(--plasma-select-dropdown-border-color,transparent);}
|
|
222
|
+
.TreeList_styles_1t38mek_s12qznqt__3097faae{max-height:var(--s12qznqt-0);overflow-x:hidden;overflow-y:auto;border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));}
|
|
223
|
+
|
|
205
224
|
.Select_styles_dta4dl_lpxbau6__559b5dde{width:var(--lpxbau6-0);padding:calc(var(--plasma-select-padding) + var(--plasma-select-dropdown-border-width,0rem));border-radius:var(--plasma-select-border-radius);box-sizing:border-box;background:var(--surface-solid-card);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-select-dropdown-border-width,0rem) var(--plasma-select-dropdown-border-color,transparent);}
|
|
206
225
|
.Select_styles_dta4dl_u1yey2x3__559b5dde{max-height:var(--u1yey2x3-0);overflow-x:hidden;overflow-y:var(--u1yey2x3-1);border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));margin:0;padding:0;}
|
|
207
226
|
|
|
@@ -168,6 +168,25 @@
|
|
|
168
168
|
.SelectAll_styles_ql2mqj_d19w91z6__b71a8639{background:var(--surface-solid-card);}
|
|
169
169
|
.SelectAll_styles_ql2mqj_d1nbef5q__b71a8639{height:0.0625rem;margin-top:var(--d1nbef5q-0);margin-right:var(--plasma-select-divider-margin-right);margin-left:var(--plasma-select-divider-margin-left);background:var(--plasma-select-divider-color);}
|
|
170
170
|
|
|
171
|
+
|
|
172
|
+
.Item_styles_i0dby2_s14rxgk6__158876c7{--plasma-cell-title-color:var(--s14rxgk6-0);--plasma-cell-background-color:var(--surface-clear);--plasma-cell-padding:var(--plasma-select-cell-padding);--plasma-cell-padding-left-content:var(--plasma-select-cell-padding-left-content);--plasma-cell-padding-content:var(--plasma-select-cell-padding-content);--plasma-cell-padding-right-content:var(--plasma-select-cell-padding-right-content);--plasma-cell-textbox-gap:var(--plasma-select-cell-textbox-gap);--plasma-cell-gap:var(--plasma-select-cell-gap);--plasma-cell-title-font-family:var(--plasma-select-cell-title-font-family);--plasma-cell-title-font-size:var(--plasma-select-cell-title-font-size);--plasma-cell-title-font-style:var(--plasma-select-cell-title-font-style);--plasma-cell-title-font-weight:var(--plasma-select-cell-title-font-weight);--plasma-cell-title-letter-spacing:var(--plasma-select-cell-title-letter-spacing);--plasma-cell-title-line-height:var(--plasma-select-cell-title-line-height);width:100%;}.Item_styles_i0dby2_s14rxgk6__158876c7 div.Item_styles_i0dby2_cellContent__158876c7,.Item_styles_i0dby2_s14rxgk6__158876c7 div.Item_styles_i0dby2_cellTextbox__158876c7{-webkit-flex:1;-ms-flex:1;flex:1;}.Item_styles_i0dby2_s14rxgk6__158876c7 div.Item_styles_i0dby2_cellTextboxTitle__158876c7{position:relative;}.Item_styles_i0dby2_s14rxgk6__158876c7 div.Item_styles_i0dby2_cellTextboxTitle__158876c7:before{content:' ';visibility:hidden;}.Item_styles_i0dby2_s14rxgk6__158876c7 div.Item_styles_i0dby2_cellTextboxTitle__158876c7 span{position:absolute;left:0;right:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
|
|
173
|
+
|
|
174
|
+
.Item_styles_i0dby2_s1t6abbl__158876c7{--plasma-checkbox-trigger-size:var(--plasma-select-checkbox-trigger-size);--plasma-checkbox-trigger-border-radius:var(--plasma-select-checkbox-trigger-border-radius);--plasma-checkbox-fill-color:var(--plasma-select-checkbox-fill-color);--plasma-checkbox-icon-color:var(--plasma-select-checkbox-icon-color);--plasma-checkbox-trigger-border-width:var(--plasma-select-checkbox-trigger-border-width);--plasma-checkbox-trigger-border-color:var(--plasma-select-checkbox-trigger-border-color);--plasma-checkbox-trigger-border-checked-color:var(--plasma-select-checkbox-trigger-border-checked-color);}
|
|
175
|
+
.Item_styles_i0dby2_swduayr__158876c7{--plasma-indicator-size:var(--plasma-select-indicator-size);--plasma-indicator-color:var(--plasma-select-item-icon-color);}
|
|
176
|
+
.Item_styles_i0dby2_s1r3fsvz__158876c7{width:var(--s1r3fsvz-0);height:var(--s1r3fsvz-0);}.Item_styles_i0dby2_s1r3fsvz__158876c7.Item_styles_i0dby2_arrowInverse__158876c7{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}
|
|
177
|
+
.Item_styles_i0dby2_s1us4s6s__158876c7{width:var(--s1us4s6s-0);height:var(--s1us4s6s-0);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}.Item_styles_i0dby2_s1us4s6s__158876c7.Item_styles_i0dby2_arrowInverse__158876c7{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);}
|
|
178
|
+
.Item_styles_i0dby2_s14lzt5m__158876c7{width:var(--s14lzt5m-0);height:var(--s14lzt5m-0);}
|
|
179
|
+
.Item_styles_i0dby2_d1178nq__158876c7{line-height:0;color:var(--plasma-select-disclosure-icon-color);visibility:var(--d1178nq-0);}.Item_styles_i0dby2_d1178nq__158876c7:hover{color:var(--plasma-select-disclosure-icon-color-hover);}
|
|
180
|
+
.Item_styles_i0dby2_i1noc5rg__158876c7{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-flex:none;-ms-flex:none;flex:none;width:var(--i1noc5rg-0);height:var(--i1noc5rg-0);line-height:0;color:var(--plasma-select-item-icon-color);}
|
|
181
|
+
.Item_styles_i0dby2_s1azt70o__158876c7{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-flex:1;-ms-flex:1;flex:1;}
|
|
182
|
+
.Item_styles_i0dby2_wa9o46g__158876c7{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--plasma-select-item-gap);min-height:var(--plasma-select-item-height);margin:0;box-sizing:content-box;padding:var(--wa9o46g-0);font-family:var(--plasma-select-font-family);font-size:var(--plasma-select-font-size);font-style:var(--plasma-select-font-style);font-weight:var(--plasma-select-font-weight);-webkit-letter-spacing:var(--plasma-select-font-letter-spacing);-moz-letter-spacing:var(--plasma-select-font-letter-spacing);-ms-letter-spacing:var(--plasma-select-font-letter-spacing);letter-spacing:var(--plasma-select-font-letter-spacing);line-height:var(--plasma-select-font-line-height);background-color:var(--surface-clear);color:var(--text-primary);border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-clip:padding-box;position:relative;}.Item_styles_i0dby2_wa9o46g__158876c7:hover:not(.Item_styles_i0dby2_dropdownItemIsDisabled__158876c7){cursor:pointer;background-color:var(--plasma-select-item-background-hover);}.Item_styles_i0dby2_wa9o46g__158876c7.Item_styles_i0dby2_dropdownItemIsActive__158876c7{background-color:var(--plasma-select-item-background-hover);}.Item_styles_i0dby2_wa9o46g__158876c7.Item_styles_i0dby2_dropdownItemIsDisabled__158876c7{opacity:var(--plasma-select-item-disabled-opacity);color:var(--plasma-select-item-disabled-color);cursor:not-allowed;}.Item_styles_i0dby2_wa9o46g__158876c7:focus{outline:none;}.Item_styles_i0dby2_wa9o46g__158876c7::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;display:block;box-sizing:content-box;border:0 solid transparent;border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));-webkit-transition:none;transition:none;pointer-events:none;}.Item_styles_i0dby2_wa9o46g__158876c7.Item_styles_i0dby2_dropdownItemIsFocused__158876c7:before{outline:none;box-shadow:inset 0 0 0 0.0625rem var(--surface-accent);}
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
.Item_styles_i0dby2_o1888l7c__158876c7{width:calc(var(--o1888l7c-0) * var(--plasma-select-item-tree-offset-width));-webkit-flex:none;-ms-flex:none;flex:none;margin-right:calc(var(--plasma-select-item-gap) * -1);}
|
|
186
|
+
|
|
187
|
+
.TreeList_styles_1t38mek_lm92bs9__3097faae{width:100%;padding:calc(var(--plasma-select-padding) + var(--plasma-select-dropdown-border-width,0rem));border-radius:var(--plasma-select-border-radius);box-sizing:border-box;background:var(--surface-solid-card);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-select-dropdown-border-width,0rem) var(--plasma-select-dropdown-border-color,transparent);}
|
|
188
|
+
.TreeList_styles_1t38mek_s12qznqt__3097faae{max-height:var(--s12qznqt-0);overflow-x:hidden;overflow-y:auto;border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));}
|
|
189
|
+
|
|
171
190
|
.Select_styles_dta4dl_lpxbau6__559b5dde{width:var(--lpxbau6-0);padding:calc(var(--plasma-select-padding) + var(--plasma-select-dropdown-border-width,0rem));border-radius:var(--plasma-select-border-radius);box-sizing:border-box;background:var(--surface-solid-card);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-select-dropdown-border-width,0rem) var(--plasma-select-dropdown-border-color,transparent);}
|
|
172
191
|
.Select_styles_dta4dl_u1yey2x3__559b5dde{max-height:var(--u1yey2x3-0);overflow-x:hidden;overflow-y:var(--u1yey2x3-1);border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));margin:0;padding:0;}
|
|
173
192
|
|
|
@@ -168,6 +168,25 @@
|
|
|
168
168
|
.SelectAll_styles_ql2mqj_d19w91z6__b71a8639{background:var(--surface-solid-card);}
|
|
169
169
|
.SelectAll_styles_ql2mqj_d1nbef5q__b71a8639{height:0.0625rem;margin-top:var(--d1nbef5q-0);margin-right:var(--plasma-select-divider-margin-right);margin-left:var(--plasma-select-divider-margin-left);background:var(--plasma-select-divider-color);}
|
|
170
170
|
|
|
171
|
+
|
|
172
|
+
.Item_styles_i0dby2_s14rxgk6__158876c7{--plasma-cell-title-color:var(--s14rxgk6-0);--plasma-cell-background-color:var(--surface-clear);--plasma-cell-padding:var(--plasma-select-cell-padding);--plasma-cell-padding-left-content:var(--plasma-select-cell-padding-left-content);--plasma-cell-padding-content:var(--plasma-select-cell-padding-content);--plasma-cell-padding-right-content:var(--plasma-select-cell-padding-right-content);--plasma-cell-textbox-gap:var(--plasma-select-cell-textbox-gap);--plasma-cell-gap:var(--plasma-select-cell-gap);--plasma-cell-title-font-family:var(--plasma-select-cell-title-font-family);--plasma-cell-title-font-size:var(--plasma-select-cell-title-font-size);--plasma-cell-title-font-style:var(--plasma-select-cell-title-font-style);--plasma-cell-title-font-weight:var(--plasma-select-cell-title-font-weight);--plasma-cell-title-letter-spacing:var(--plasma-select-cell-title-letter-spacing);--plasma-cell-title-line-height:var(--plasma-select-cell-title-line-height);width:100%;}.Item_styles_i0dby2_s14rxgk6__158876c7 div.Item_styles_i0dby2_cellContent__158876c7,.Item_styles_i0dby2_s14rxgk6__158876c7 div.Item_styles_i0dby2_cellTextbox__158876c7{-webkit-flex:1;-ms-flex:1;flex:1;}.Item_styles_i0dby2_s14rxgk6__158876c7 div.Item_styles_i0dby2_cellTextboxTitle__158876c7{position:relative;}.Item_styles_i0dby2_s14rxgk6__158876c7 div.Item_styles_i0dby2_cellTextboxTitle__158876c7:before{content:' ';visibility:hidden;}.Item_styles_i0dby2_s14rxgk6__158876c7 div.Item_styles_i0dby2_cellTextboxTitle__158876c7 span{position:absolute;left:0;right:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
|
|
173
|
+
|
|
174
|
+
.Item_styles_i0dby2_s1t6abbl__158876c7{--plasma-checkbox-trigger-size:var(--plasma-select-checkbox-trigger-size);--plasma-checkbox-trigger-border-radius:var(--plasma-select-checkbox-trigger-border-radius);--plasma-checkbox-fill-color:var(--plasma-select-checkbox-fill-color);--plasma-checkbox-icon-color:var(--plasma-select-checkbox-icon-color);--plasma-checkbox-trigger-border-width:var(--plasma-select-checkbox-trigger-border-width);--plasma-checkbox-trigger-border-color:var(--plasma-select-checkbox-trigger-border-color);--plasma-checkbox-trigger-border-checked-color:var(--plasma-select-checkbox-trigger-border-checked-color);}
|
|
175
|
+
.Item_styles_i0dby2_swduayr__158876c7{--plasma-indicator-size:var(--plasma-select-indicator-size);--plasma-indicator-color:var(--plasma-select-item-icon-color);}
|
|
176
|
+
.Item_styles_i0dby2_s1r3fsvz__158876c7{width:var(--s1r3fsvz-0);height:var(--s1r3fsvz-0);}.Item_styles_i0dby2_s1r3fsvz__158876c7.Item_styles_i0dby2_arrowInverse__158876c7{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}
|
|
177
|
+
.Item_styles_i0dby2_s1us4s6s__158876c7{width:var(--s1us4s6s-0);height:var(--s1us4s6s-0);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}.Item_styles_i0dby2_s1us4s6s__158876c7.Item_styles_i0dby2_arrowInverse__158876c7{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);}
|
|
178
|
+
.Item_styles_i0dby2_s14lzt5m__158876c7{width:var(--s14lzt5m-0);height:var(--s14lzt5m-0);}
|
|
179
|
+
.Item_styles_i0dby2_d1178nq__158876c7{line-height:0;color:var(--plasma-select-disclosure-icon-color);visibility:var(--d1178nq-0);}.Item_styles_i0dby2_d1178nq__158876c7:hover{color:var(--plasma-select-disclosure-icon-color-hover);}
|
|
180
|
+
.Item_styles_i0dby2_i1noc5rg__158876c7{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-flex:none;-ms-flex:none;flex:none;width:var(--i1noc5rg-0);height:var(--i1noc5rg-0);line-height:0;color:var(--plasma-select-item-icon-color);}
|
|
181
|
+
.Item_styles_i0dby2_s1azt70o__158876c7{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-flex:1;-ms-flex:1;flex:1;}
|
|
182
|
+
.Item_styles_i0dby2_wa9o46g__158876c7{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--plasma-select-item-gap);min-height:var(--plasma-select-item-height);margin:0;box-sizing:content-box;padding:var(--wa9o46g-0);font-family:var(--plasma-select-font-family);font-size:var(--plasma-select-font-size);font-style:var(--plasma-select-font-style);font-weight:var(--plasma-select-font-weight);-webkit-letter-spacing:var(--plasma-select-font-letter-spacing);-moz-letter-spacing:var(--plasma-select-font-letter-spacing);-ms-letter-spacing:var(--plasma-select-font-letter-spacing);letter-spacing:var(--plasma-select-font-letter-spacing);line-height:var(--plasma-select-font-line-height);background-color:var(--surface-clear);color:var(--text-primary);border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-clip:padding-box;position:relative;}.Item_styles_i0dby2_wa9o46g__158876c7:hover:not(.Item_styles_i0dby2_dropdownItemIsDisabled__158876c7){cursor:pointer;background-color:var(--plasma-select-item-background-hover);}.Item_styles_i0dby2_wa9o46g__158876c7.Item_styles_i0dby2_dropdownItemIsActive__158876c7{background-color:var(--plasma-select-item-background-hover);}.Item_styles_i0dby2_wa9o46g__158876c7.Item_styles_i0dby2_dropdownItemIsDisabled__158876c7{opacity:var(--plasma-select-item-disabled-opacity);color:var(--plasma-select-item-disabled-color);cursor:not-allowed;}.Item_styles_i0dby2_wa9o46g__158876c7:focus{outline:none;}.Item_styles_i0dby2_wa9o46g__158876c7::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;display:block;box-sizing:content-box;border:0 solid transparent;border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));-webkit-transition:none;transition:none;pointer-events:none;}.Item_styles_i0dby2_wa9o46g__158876c7.Item_styles_i0dby2_dropdownItemIsFocused__158876c7:before{outline:none;box-shadow:inset 0 0 0 0.0625rem var(--surface-accent);}
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
.Item_styles_i0dby2_o1888l7c__158876c7{width:calc(var(--o1888l7c-0) * var(--plasma-select-item-tree-offset-width));-webkit-flex:none;-ms-flex:none;flex:none;margin-right:calc(var(--plasma-select-item-gap) * -1);}
|
|
186
|
+
|
|
187
|
+
.TreeList_styles_1t38mek_lm92bs9__3097faae{width:100%;padding:calc(var(--plasma-select-padding) + var(--plasma-select-dropdown-border-width,0rem));border-radius:var(--plasma-select-border-radius);box-sizing:border-box;background:var(--surface-solid-card);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-select-dropdown-border-width,0rem) var(--plasma-select-dropdown-border-color,transparent);}
|
|
188
|
+
.TreeList_styles_1t38mek_s12qznqt__3097faae{max-height:var(--s12qznqt-0);overflow-x:hidden;overflow-y:auto;border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));}
|
|
189
|
+
|
|
171
190
|
.Select_styles_dta4dl_lpxbau6__559b5dde{width:var(--lpxbau6-0);padding:calc(var(--plasma-select-padding) + var(--plasma-select-dropdown-border-width,0rem));border-radius:var(--plasma-select-border-radius);box-sizing:border-box;background:var(--surface-solid-card);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-select-dropdown-border-width,0rem) var(--plasma-select-dropdown-border-color,transparent);}
|
|
172
191
|
.Select_styles_dta4dl_u1yey2x3__559b5dde{max-height:var(--u1yey2x3-0);overflow-x:hidden;overflow-y:var(--u1yey2x3-1);border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));margin:0;padding:0;}
|
|
173
192
|
|
|
@@ -8,6 +8,7 @@ import { SelectNative } from './ui/SelectNative/SelectNative.js';
|
|
|
8
8
|
import { Context } from './Select.context.js';
|
|
9
9
|
import { initialItemsTransform } from './utils/initialItemsTransform.js';
|
|
10
10
|
import { pathReducer } from './reducers/pathReducer.js';
|
|
11
|
+
import { treePathReducer } from './reducers/treePathReducer.js';
|
|
11
12
|
import { focusedPathReducer } from './reducers/focusedPathReducer.js';
|
|
12
13
|
import { safeUseId } from '../../utils/react.js';
|
|
13
14
|
import { useOutsideClick } from '../../hooks/useOutsideClick.js';
|
|
@@ -16,12 +17,13 @@ import { updateDescendants } from './utils/updateDescendants.js';
|
|
|
16
17
|
import { updateAncestors } from './utils/updateAncestors.js';
|
|
17
18
|
import { updateSingleAncestors } from './utils/updateSingleAncestors.js';
|
|
18
19
|
import { Target } from './ui/Target/Target.js';
|
|
20
|
+
import { TreeList } from './ui/TreeList/TreeList.js';
|
|
19
21
|
import { SelectAll } from './ui/SelectAll/SelectAll.js';
|
|
20
22
|
import { VirtualList } from './ui/VirtualList/VirtualList.js';
|
|
21
23
|
import { Inner } from './ui/Inner/Inner.js';
|
|
22
24
|
import { getView } from './utils/getView.js';
|
|
23
25
|
|
|
24
|
-
var _excluded = ["id", "value", "onChange", "target", "items", "placement", "label", "labelPlacement", "placeholder", "helperText", "disabled", "readOnly", "view", "size", "listOverflow", "listHeight", "listMaxHeight", "listWidth", "contentLeft", "onScrollBottom", "onScroll", "chipView", "variant", "portal", "renderValue", "renderItem", "status", "onItemSelect", "separator", "closeAfterSelect", "isTargetAmount", "beforeList", "afterList", "zIndex", "name", "defaultValue", "virtual", "onToggle", "chipType", "multiselect", "mode", "chipClickArea", "_offset", "required", "requiredPlacement", "hasRequiredIndicator", "optional", "hintText", "hintTrigger", "hintView", "hintSize", "hintTargetPlacement", "hintPlacement", "hintWidth", "hintHasArrow", "hasHint"];
|
|
26
|
+
var _excluded = ["id", "value", "onChange", "target", "items", "treeView", "arrowPlacement", "placement", "label", "labelPlacement", "placeholder", "helperText", "disabled", "readOnly", "view", "size", "listOverflow", "listHeight", "listMaxHeight", "listWidth", "contentLeft", "onScrollBottom", "onScroll", "chipView", "variant", "portal", "renderValue", "renderItem", "status", "onItemSelect", "separator", "closeAfterSelect", "isTargetAmount", "beforeList", "afterList", "zIndex", "name", "defaultValue", "virtual", "onToggle", "chipType", "multiselect", "mode", "chipClickArea", "_offset", "required", "requiredPlacement", "hasRequiredIndicator", "optional", "hintText", "hintTrigger", "hintView", "hintSize", "hintTargetPlacement", "hintPlacement", "hintWidth", "hintHasArrow", "hasHint"];
|
|
25
27
|
|
|
26
28
|
/**
|
|
27
29
|
* Выпадающий список. Поддерживает выбор одного или нескольких значений.
|
|
@@ -34,6 +36,10 @@ var selectRoot = function selectRoot(Root) {
|
|
|
34
36
|
_props$target = props.target,
|
|
35
37
|
target = _props$target === void 0 ? 'textfield-like' : _props$target,
|
|
36
38
|
items = props.items,
|
|
39
|
+
_props$treeView = props.treeView,
|
|
40
|
+
treeView = _props$treeView === void 0 ? false : _props$treeView,
|
|
41
|
+
_props$arrowPlacement = props.arrowPlacement,
|
|
42
|
+
arrowPlacement = _props$arrowPlacement === void 0 ? 'left' : _props$arrowPlacement,
|
|
37
43
|
_props$placement = props.placement,
|
|
38
44
|
placement = _props$placement === void 0 ? 'bottom' : _props$placement,
|
|
39
45
|
label = props.label,
|
|
@@ -94,11 +100,12 @@ var selectRoot = function selectRoot(Root) {
|
|
|
94
100
|
|
|
95
101
|
// Создаем структуры для быстрой работы с деревом
|
|
96
102
|
var _usePathMaps = usePathMaps(transformedItems),
|
|
97
|
-
_usePathMaps2 = _slicedToArray(_usePathMaps,
|
|
103
|
+
_usePathMaps2 = _slicedToArray(_usePathMaps, 5),
|
|
98
104
|
pathMap = _usePathMaps2[0],
|
|
99
105
|
focusedToValueMap = _usePathMaps2[1],
|
|
100
106
|
valueToCheckedMap = _usePathMaps2[2],
|
|
101
|
-
valueToItemMap = _usePathMaps2[3]
|
|
107
|
+
valueToItemMap = _usePathMaps2[3],
|
|
108
|
+
valueToPathMap = _usePathMaps2[4];
|
|
102
109
|
var _useState = useState(props.multiselect ? [] : ''),
|
|
103
110
|
_useState2 = _slicedToArray(_useState, 2),
|
|
104
111
|
internalValue = _useState2[0],
|
|
@@ -111,10 +118,14 @@ var selectRoot = function selectRoot(Root) {
|
|
|
111
118
|
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
112
119
|
path = _useReducer2[0],
|
|
113
120
|
dispatchPath = _useReducer2[1];
|
|
114
|
-
var _useReducer3 = useReducer(
|
|
121
|
+
var _useReducer3 = useReducer(treePathReducer, {}),
|
|
115
122
|
_useReducer4 = _slicedToArray(_useReducer3, 2),
|
|
116
|
-
|
|
117
|
-
|
|
123
|
+
treePath = _useReducer4[0],
|
|
124
|
+
dispatchTreePath = _useReducer4[1];
|
|
125
|
+
var _useReducer5 = useReducer(focusedPathReducer, []),
|
|
126
|
+
_useReducer6 = _slicedToArray(_useReducer5, 2),
|
|
127
|
+
focusedPath = _useReducer6[0],
|
|
128
|
+
dispatchFocusedPath = _useReducer6[1];
|
|
118
129
|
var _useState3 = useState(valueToCheckedMap),
|
|
119
130
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
120
131
|
checked = _useState4[0],
|
|
@@ -189,6 +200,9 @@ var selectRoot = function selectRoot(Root) {
|
|
|
189
200
|
dispatchPath({
|
|
190
201
|
type: 'reset'
|
|
191
202
|
});
|
|
203
|
+
dispatchTreePath({
|
|
204
|
+
type: 'reset'
|
|
205
|
+
});
|
|
192
206
|
|
|
193
207
|
// Скроллим чипы к левому краю при закрытии компонента
|
|
194
208
|
var el = rootRef === null || rootRef === void 0 || (_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.querySelector('.input-scrollable-wrapper');
|
|
@@ -249,6 +263,9 @@ var selectRoot = function selectRoot(Root) {
|
|
|
249
263
|
dispatchFocusedPath({
|
|
250
264
|
type: 'reset'
|
|
251
265
|
});
|
|
266
|
+
dispatchTreePath({
|
|
267
|
+
type: 'reset'
|
|
268
|
+
});
|
|
252
269
|
}
|
|
253
270
|
if (onChange) {
|
|
254
271
|
onChange(newValues, item);
|
|
@@ -273,6 +290,9 @@ var selectRoot = function selectRoot(Root) {
|
|
|
273
290
|
dispatchFocusedPath({
|
|
274
291
|
type: 'reset'
|
|
275
292
|
});
|
|
293
|
+
dispatchTreePath({
|
|
294
|
+
type: 'reset'
|
|
295
|
+
});
|
|
276
296
|
}
|
|
277
297
|
|
|
278
298
|
// Закрываем список, если элемент уже выбран.
|
|
@@ -311,7 +331,11 @@ var selectRoot = function selectRoot(Root) {
|
|
|
311
331
|
pathMap: pathMap,
|
|
312
332
|
focusedToValueMap: focusedToValueMap,
|
|
313
333
|
handleListToggle: handleListToggle,
|
|
314
|
-
handlePressDown: handlePressDown
|
|
334
|
+
handlePressDown: handlePressDown,
|
|
335
|
+
treePath: treePath,
|
|
336
|
+
dispatchTreePath: dispatchTreePath,
|
|
337
|
+
treeView: treeView,
|
|
338
|
+
valueToPathMap: valueToPathMap
|
|
315
339
|
}),
|
|
316
340
|
onKeyDown = _useKeyNavigation.onKeyDown;
|
|
317
341
|
|
|
@@ -383,7 +407,11 @@ var selectRoot = function selectRoot(Root) {
|
|
|
383
407
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
384
408
|
// @ts-ignore
|
|
385
409
|
// eslint-disable-next-line no-underscore-dangle
|
|
386
|
-
_checkboxAppearance: rest._checkboxAppearance
|
|
410
|
+
_checkboxAppearance: rest._checkboxAppearance,
|
|
411
|
+
treePath: treePath,
|
|
412
|
+
dispatchTreePath: dispatchTreePath,
|
|
413
|
+
arrowPlacement: arrowPlacement,
|
|
414
|
+
valueToPathMap: valueToPathMap
|
|
387
415
|
}
|
|
388
416
|
}, /*#__PURE__*/React.createElement(FloatingPopover, {
|
|
389
417
|
ref: floatingPopoverRef,
|
|
@@ -432,7 +460,14 @@ var selectRoot = function selectRoot(Root) {
|
|
|
432
460
|
chipView: chipView,
|
|
433
461
|
disabled: disabled,
|
|
434
462
|
readOnly: readOnly
|
|
435
|
-
}, rest), /*#__PURE__*/React.createElement(
|
|
463
|
+
}, rest), treeView ? /*#__PURE__*/React.createElement(TreeList, {
|
|
464
|
+
items: items,
|
|
465
|
+
listMaxHeight: listMaxHeight,
|
|
466
|
+
onScroll: virtual ? undefined : handleScroll,
|
|
467
|
+
virtual: virtual,
|
|
468
|
+
beforeList: beforeList,
|
|
469
|
+
afterList: afterList
|
|
470
|
+
}) : /*#__PURE__*/React.createElement(ListWrapper, {
|
|
436
471
|
ref: listWrapperRef,
|
|
437
472
|
listWidth: listWidth
|
|
438
473
|
}, /*#__PURE__*/React.createElement(Ul, {
|