@salutejs/plasma-new-hope 0.336.0-canary.2218.17555761279.0 → 0.336.0-canary.2218.17560383957.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/Combobox/ComboboxNew/Combobox.css +6 -6
- package/cjs/components/Combobox/ComboboxNew/Combobox.js +22 -23
- package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +3 -4
- package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/{Combobox.styles_isfa46.css → Combobox.styles_261unw.css} +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
- package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.css +6 -6
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -5
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
- package/cjs/components/Combobox/ComboboxOld/Combobox.css +2 -2
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +2 -2
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +2 -2
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +2 -2
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +2 -2
- package/cjs/components/Dropdown/Dropdown.css +2 -2
- package/cjs/components/Dropdown/Dropdown.js +6 -10
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.styles.js +2 -9
- package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
- package/{es/components/Dropdown/Dropdown.styles_zheit5.css → cjs/components/Dropdown/Dropdown.styles_kkvnr1.css} +1 -1
- package/cjs/components/Dropdown/FloatingPopover.js +3 -4
- package/cjs/components/Dropdown/FloatingPopover.js.map +1 -1
- package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
- package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.css +2 -2
- package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -9
- package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
- package/cjs/components/Pagination/Pagination.css +2 -2
- package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
- package/cjs/components/Select/Select.css +2 -2
- package/cjs/components/Select/Select.js +4 -3
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.styles.js +3 -4
- package/cjs/components/Select/Select.styles.js.map +1 -1
- package/cjs/components/Select/{Select.styles_bjoo18.css → Select.styles_dta4dl.css} +1 -1
- package/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
- package/cjs/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
- package/cjs/components/Select/ui/Inner/Inner.css +2 -2
- package/cjs/components/Select/ui/Inner/Inner.js +11 -5
- package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
- package/cjs/components/Table/Table.css +2 -2
- package/cjs/components/Table/ui/Cell/Cell.css +2 -2
- package/cjs/components/Table/ui/EditableCell/EditableCell.css +2 -2
- package/cjs/components/Table/ui/HeadCell/HeadCell.css +2 -2
- package/cjs/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
- package/cjs/index.css +10 -10
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +20 -22
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +16 -16
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
- package/emotion/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +50 -9
- package/emotion/cjs/components/Dropdown/Dropdown.js +6 -10
- package/emotion/cjs/components/Dropdown/Dropdown.styles.js +5 -8
- package/emotion/cjs/components/Dropdown/FloatingPopover.js +4 -4
- package/emotion/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
- package/emotion/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +48 -11
- package/emotion/cjs/components/Select/Select.js +4 -2
- package/emotion/cjs/components/Select/Select.styles.js +8 -8
- package/emotion/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
- package/emotion/cjs/components/Select/ui/Inner/Inner.js +50 -9
- package/emotion/cjs/examples/components/Combobox/Combobox.js +0 -15
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +20 -22
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.styles.js +16 -16
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
- package/emotion/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
- package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -6
- package/emotion/es/components/Dropdown/Dropdown.js +6 -10
- package/emotion/es/components/Dropdown/Dropdown.styles.js +5 -8
- package/emotion/es/components/Dropdown/FloatingPopover.js +4 -4
- package/emotion/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
- package/emotion/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -8
- package/emotion/es/components/Select/Select.js +4 -2
- package/emotion/es/components/Select/Select.styles.js +8 -8
- package/emotion/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
- package/emotion/es/components/Select/ui/Inner/Inner.js +11 -6
- package/es/components/Combobox/ComboboxNew/Combobox.css +6 -6
- package/es/components/Combobox/ComboboxNew/Combobox.js +22 -23
- package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.styles.js +3 -4
- package/es/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/{Combobox.styles_isfa46.css → Combobox.styles_261unw.css} +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
- package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.css +6 -6
- package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +12 -6
- package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
- package/es/components/Combobox/ComboboxOld/Combobox.css +2 -2
- package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +2 -2
- package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +2 -2
- package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +2 -2
- package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +2 -2
- package/es/components/Dropdown/Dropdown.css +2 -2
- package/es/components/Dropdown/Dropdown.js +6 -10
- package/es/components/Dropdown/Dropdown.js.map +1 -1
- package/es/components/Dropdown/Dropdown.styles.js +2 -9
- package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
- package/{cjs/components/Dropdown/Dropdown.styles_zheit5.css → es/components/Dropdown/Dropdown.styles_kkvnr1.css} +1 -1
- package/es/components/Dropdown/FloatingPopover.js +3 -4
- package/es/components/Dropdown/FloatingPopover.js.map +1 -1
- package/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
- package/es/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownInner/DropdownInner.css +2 -2
- package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +10 -10
- package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
- package/es/components/Pagination/Pagination.css +2 -2
- package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
- package/es/components/Select/Select.css +2 -2
- package/es/components/Select/Select.js +4 -3
- package/es/components/Select/Select.js.map +1 -1
- package/es/components/Select/Select.styles.js +3 -4
- package/es/components/Select/Select.styles.js.map +1 -1
- package/es/components/Select/{Select.styles_bjoo18.css → Select.styles_dta4dl.css} +1 -1
- package/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
- package/es/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
- package/es/components/Select/ui/Inner/Inner.css +2 -2
- package/es/components/Select/ui/Inner/Inner.js +12 -6
- package/es/components/Select/ui/Inner/Inner.js.map +1 -1
- package/es/components/Table/Table.css +2 -2
- package/es/components/Table/ui/Cell/Cell.css +2 -2
- package/es/components/Table/ui/EditableCell/EditableCell.css +2 -2
- package/es/components/Table/ui/HeadCell/HeadCell.css +2 -2
- package/es/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
- package/es/index.css +10 -10
- package/package.json +2 -2
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +20 -22
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +9 -9
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
- package/styled-components/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +50 -9
- package/styled-components/cjs/components/Dropdown/Dropdown.js +6 -10
- package/styled-components/cjs/components/Dropdown/Dropdown.styles.js +3 -7
- package/styled-components/cjs/components/Dropdown/FloatingPopover.js +4 -4
- package/styled-components/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
- package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +48 -11
- package/styled-components/cjs/components/Select/Select.js +4 -2
- package/styled-components/cjs/components/Select/Select.styles.js +5 -5
- package/styled-components/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
- package/styled-components/cjs/components/Select/ui/Inner/Inner.js +50 -9
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +20 -22
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.styles.js +9 -9
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
- package/styled-components/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
- package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -6
- package/styled-components/es/components/Dropdown/Dropdown.js +6 -10
- package/styled-components/es/components/Dropdown/Dropdown.styles.js +3 -7
- package/styled-components/es/components/Dropdown/FloatingPopover.js +4 -4
- package/styled-components/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
- package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -8
- package/styled-components/es/components/Select/Select.js +4 -2
- package/styled-components/es/components/Select/Select.styles.js +5 -5
- package/styled-components/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
- package/styled-components/es/components/Select/ui/Inner/Inner.js +11 -6
- package/types/components/Autocomplete/Autocomplete.types.d.ts +6 -6
- package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts +0 -1
- package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +6 -6
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts +2 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts +6 -2
- package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.d.ts +2 -2
- package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.styles.d.ts +0 -1
- package/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.types.d.ts +5 -5
- package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
- package/types/components/Dropdown/FloatingPopover.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts +2 -3
- package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts +7 -3
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts.map +1 -1
- package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +6 -6
- package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
- package/types/components/Select/Select.d.ts.map +1 -1
- package/types/components/Select/Select.styles.d.ts +0 -1
- package/types/components/Select/Select.styles.d.ts.map +1 -1
- package/types/components/Select/Select.types.d.ts +10 -10
- package/types/components/Select/Select.types.d.ts.map +1 -1
- package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
- package/types/components/Select/ui/Inner/Inner.type.d.ts +2 -1
- package/types/components/Select/ui/Inner/Inner.type.d.ts.map +1 -1
- package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts +11 -3
- package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +6 -6
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
- package/types/examples/components/Autocomplete/Autocomplete.d.ts +40 -40
- package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/types/examples/components/Combobox/Combobox.d.ts +24 -24
- package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
- package/types/examples/components/Dropdown/Dropdown.d.ts +1 -1
- package/types/examples/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/types/examples/components/Select/Select.d.ts +6 -6
- package/types/examples/components/Select/Select.d.ts.map +1 -1
@@ -267,6 +267,7 @@ var selectRoot = function(Root) {
|
|
267
267
|
var activeDescendantItemValue = ((_getItemByFocused = (0, _useKeyboardNavigation.getItemByFocused)(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value.toString()) || '';
|
268
268
|
var closeAfterSelect = outerCloseAfterSelect !== null && outerCloseAfterSelect !== void 0 ? outerCloseAfterSelect : !props.multiselect;
|
269
269
|
var treeId = (0, _utils.safeUseId)();
|
270
|
+
var listWrapperRef = (0, _react.useRef)(null);
|
270
271
|
var view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : (0, _utils1.getView)(status, outerView);
|
271
272
|
// Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.
|
272
273
|
var requiredProps = props.target === 'button-like' ? undefined : {
|
@@ -553,12 +554,12 @@ var selectRoot = function(Root) {
|
|
553
554
|
disabled: disabled,
|
554
555
|
readOnly: readOnly
|
555
556
|
}, rest), /*#__PURE__*/ _react.default.createElement(_Selectstyles.ListWrapper, {
|
557
|
+
ref: listWrapperRef,
|
556
558
|
listWidth: listWidth
|
557
559
|
}, /*#__PURE__*/ _react.default.createElement(_Selectstyles.Ul, {
|
558
560
|
role: "tree",
|
559
561
|
id: "".concat(treeId, "_tree_level_1"),
|
560
562
|
"aria-multiselectable": Boolean(props.multiselect),
|
561
|
-
listOverflow: listOverflow,
|
562
563
|
listMaxHeight: listMaxHeight || listHeight,
|
563
564
|
onScroll: virtual ? undefined : handleScroll,
|
564
565
|
ref: targetRef,
|
@@ -579,7 +580,8 @@ var selectRoot = function(Root) {
|
|
579
580
|
path: path,
|
580
581
|
dispatchPath: dispatchPath,
|
581
582
|
index: index,
|
582
|
-
listWidth: listWidth
|
583
|
+
listWidth: listWidth,
|
584
|
+
portal: listWrapperRef
|
583
585
|
});
|
584
586
|
}), afterList))))));
|
585
587
|
});
|
@@ -65,7 +65,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
65
65
|
}
|
66
66
|
var ListWrapper = _styledcomponents.default.div.withConfig({
|
67
67
|
displayName: "Select.styles__ListWrapper",
|
68
|
-
componentId: "sc-
|
68
|
+
componentId: "sc-3f8cf8d4-0"
|
69
69
|
})([
|
70
70
|
"width:",
|
71
71
|
";padding:calc(var(",
|
@@ -82,10 +82,10 @@ var ListWrapper = _styledcomponents.default.div.withConfig({
|
|
82
82
|
}, _Selecttokens.tokens.padding, _Selecttokens.tokens.dropdownBorderWidth, _Selecttokens.tokens.borderRadius, _Selecttokens.constants.background, _Selecttokens.constants.boxShadow, _Selecttokens.tokens.dropdownBorderWidth, _Selecttokens.tokens.dropdownBorderColor);
|
83
83
|
var Ul = _styledcomponents.default.ul.withConfig({
|
84
84
|
displayName: "Select.styles__Ul",
|
85
|
-
componentId: "sc-
|
85
|
+
componentId: "sc-3f8cf8d4-1"
|
86
86
|
})([
|
87
87
|
"max-height:",
|
88
|
-
";overflow-y:",
|
88
|
+
";overflow-x:hidden;overflow-y:",
|
89
89
|
";border-radius:calc(var(",
|
90
90
|
") - 0.125rem - var(",
|
91
91
|
",0rem));margin:0;padding:0;"
|
@@ -94,8 +94,8 @@ var Ul = _styledcomponents.default.ul.withConfig({
|
|
94
94
|
return(// eslint-disable-next-line no-nested-ternary
|
95
95
|
virtual ? 'auto' : listMaxHeight ? (0, _utils.getCorrectHeight)(listMaxHeight) : 'auto');
|
96
96
|
}, function(param) {
|
97
|
-
var virtual = param.virtual
|
98
|
-
return virtual ? 'visible' :
|
97
|
+
var virtual = param.virtual;
|
98
|
+
return virtual ? 'visible' : 'auto';
|
99
99
|
}, _Selecttokens.tokens.borderRadius, _Selecttokens.tokens.dropdownBorderWidth);
|
100
100
|
var base = (0, _styledcomponents.css)([
|
101
101
|
""
|
@@ -198,13 +198,9 @@ var useKeyNavigation = function(param) {
|
|
198
198
|
case keys.Tab:
|
199
199
|
case keys.Escape:
|
200
200
|
{
|
201
|
-
|
202
|
-
|
203
|
-
}
|
204
|
-
dispatchPath({
|
205
|
-
type: 'reset'
|
206
|
-
});
|
207
|
-
handleListToggle(false);
|
201
|
+
if (path[0]) {
|
202
|
+
handleListToggle(false);
|
203
|
+
}
|
208
204
|
break;
|
209
205
|
}
|
210
206
|
case keys.Home:
|
@@ -8,18 +8,54 @@ Object.defineProperty(exports, "Inner", {
|
|
8
8
|
return Inner;
|
9
9
|
}
|
10
10
|
});
|
11
|
-
var _react = /*#__PURE__*/
|
11
|
+
var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
|
12
12
|
var _utils = require("../../../../utils");
|
13
13
|
var _Selectstyles = require("../../Select.styles");
|
14
14
|
var _FloatingPopover = require("../../FloatingPopover");
|
15
15
|
var _Item = require("./ui/Item/Item");
|
16
|
-
function
|
17
|
-
|
18
|
-
|
16
|
+
function _getRequireWildcardCache(nodeInterop) {
|
17
|
+
if (typeof WeakMap !== "function") return null;
|
18
|
+
var cacheBabelInterop = new WeakMap();
|
19
|
+
var cacheNodeInterop = new WeakMap();
|
20
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
21
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
22
|
+
})(nodeInterop);
|
23
|
+
}
|
24
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
25
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
26
|
+
return obj;
|
27
|
+
}
|
28
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
29
|
+
return {
|
30
|
+
default: obj
|
31
|
+
};
|
32
|
+
}
|
33
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
34
|
+
if (cache && cache.has(obj)) {
|
35
|
+
return cache.get(obj);
|
36
|
+
}
|
37
|
+
var newObj = {
|
38
|
+
__proto__: null
|
19
39
|
};
|
40
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
41
|
+
for(var key in obj){
|
42
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
43
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
44
|
+
if (desc && (desc.get || desc.set)) {
|
45
|
+
Object.defineProperty(newObj, key, desc);
|
46
|
+
} else {
|
47
|
+
newObj[key] = obj[key];
|
48
|
+
}
|
49
|
+
}
|
50
|
+
}
|
51
|
+
newObj.default = obj;
|
52
|
+
if (cache) {
|
53
|
+
cache.set(obj, newObj);
|
54
|
+
}
|
55
|
+
return newObj;
|
20
56
|
}
|
21
57
|
var Inner = function(param) {
|
22
|
-
var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, listWidth = param.listWidth;
|
58
|
+
var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, listWidth = param.listWidth, portal = param.portal;
|
23
59
|
var handleToggle = function(opened) {
|
24
60
|
if (opened) {
|
25
61
|
dispatchPath({
|
@@ -34,6 +70,7 @@ var Inner = function(param) {
|
|
34
70
|
});
|
35
71
|
}
|
36
72
|
};
|
73
|
+
var listWrapperRef = (0, _react.useRef)(null);
|
37
74
|
var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
|
38
75
|
var treeId = (0, _utils.safeUseId)();
|
39
76
|
var listId = "".concat(treeId, "_tree_level_").concat(currentLevel + 2);
|
@@ -54,13 +91,16 @@ var Inner = function(param) {
|
|
54
91
|
ariaLevel: nextLevel,
|
55
92
|
ariaLabel: item.label
|
56
93
|
}),
|
57
|
-
isInner: true
|
94
|
+
isInner: true,
|
95
|
+
portal: portal
|
58
96
|
}, /*#__PURE__*/ _react.default.createElement(_Selectstyles.ListWrapper, {
|
59
|
-
listWidth: listWidth
|
97
|
+
listWidth: listWidth,
|
98
|
+
ref: listWrapperRef
|
60
99
|
}, /*#__PURE__*/ _react.default.createElement(_Selectstyles.Ul, {
|
61
100
|
role: "group",
|
62
101
|
id: listId,
|
63
|
-
virtual: false
|
102
|
+
virtual: false,
|
103
|
+
listMaxHeight: item === null || item === void 0 ? void 0 : item.listMaxHeight
|
64
104
|
}, (_item_items = item.items) === null || _item_items === void 0 ? void 0 : _item_items.map(function(innerItem, innerIndex) {
|
65
105
|
return /*#__PURE__*/ _react.default.createElement(Inner, {
|
66
106
|
key: "".concat(innerIndex, "/").concat(currentLevel),
|
@@ -69,7 +109,8 @@ var Inner = function(param) {
|
|
69
109
|
path: path,
|
70
110
|
dispatchPath: dispatchPath,
|
71
111
|
index: innerIndex,
|
72
|
-
listWidth: listWidth
|
112
|
+
listWidth: listWidth,
|
113
|
+
portal: listWrapperRef
|
73
114
|
});
|
74
115
|
}))));
|
75
116
|
}
|
@@ -225,6 +225,7 @@ import { Context } from "./Combobox.context";
|
|
225
225
|
var floatingPopoverRef = useRef(null);
|
226
226
|
var inputForkRef = useForkRef(inputRef, ref);
|
227
227
|
var treeId = safeUseId();
|
228
|
+
var listWrapperRef = useRef(null);
|
228
229
|
var filteredItems = useMemo(function() {
|
229
230
|
return filterItems(transformedItems, textValue, getTextValue(multiple, value, valueToItemMap, renderValue), filter);
|
230
231
|
}, [
|
@@ -285,22 +286,10 @@ import { Context } from "./Combobox.context";
|
|
285
286
|
setInternalValue(newValue);
|
286
287
|
}
|
287
288
|
};
|
288
|
-
var handleClickArrow = function() {
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
if (isCurrentListOpen) {
|
293
|
-
dispatchPath({
|
294
|
-
type: 'reset'
|
295
|
-
});
|
296
|
-
} else {
|
297
|
-
dispatchPath({
|
298
|
-
type: 'opened_first_level'
|
299
|
-
});
|
300
|
-
}
|
301
|
-
dispatchFocusedPath({
|
302
|
-
type: 'reset'
|
303
|
-
});
|
289
|
+
var handleClickArrow = function(e) {
|
290
|
+
handleListToggle(!isCurrentListOpen);
|
291
|
+
// При клике на иконку закрытия фокус не должен становиться в инпут.
|
292
|
+
e.stopPropagation();
|
304
293
|
};
|
305
294
|
// Обработчик изменения значения в инпуте
|
306
295
|
var handleTextValueChange = function(e) {
|
@@ -437,6 +426,12 @@ import { Context } from "./Combobox.context";
|
|
437
426
|
onChange(isCurrentChecked ? '' : item.value, item);
|
438
427
|
}
|
439
428
|
};
|
429
|
+
// Обработчик клика на таргет
|
430
|
+
var handleTargetClick = function() {
|
431
|
+
if (!isCurrentListOpen) {
|
432
|
+
handleListToggle(true);
|
433
|
+
}
|
434
|
+
};
|
440
435
|
var getChips = function() {
|
441
436
|
if (multiple && Array.isArray(value)) {
|
442
437
|
if (value.length === 0) return [];
|
@@ -569,13 +564,14 @@ import { Context } from "./Combobox.context";
|
|
569
564
|
}, /*#__PURE__*/ React.createElement(FloatingPopover, {
|
570
565
|
ref: floatingPopoverRef,
|
571
566
|
opened: isCurrentListOpen,
|
572
|
-
onToggle: handleListToggle,
|
573
567
|
placement: placement,
|
574
568
|
portal: portal,
|
575
569
|
listWidth: listWidth,
|
576
570
|
offset: _offset,
|
577
571
|
target: function(referenceRef) {
|
578
|
-
return /*#__PURE__*/ React.createElement(
|
572
|
+
return /*#__PURE__*/ React.createElement("div", {
|
573
|
+
onClick: handleTargetClick
|
574
|
+
}, /*#__PURE__*/ React.createElement(StyledTextField, _object_spread_props(_object_spread({
|
579
575
|
ref: name ? inputRef : inputForkRef,
|
580
576
|
inputWrapperRef: referenceRef,
|
581
577
|
value: textValue,
|
@@ -589,7 +585,8 @@ import { Context } from "./Combobox.context";
|
|
589
585
|
contentLeft: contentLeft,
|
590
586
|
contentRight: /*#__PURE__*/ React.createElement(IconArrowWrapper, {
|
591
587
|
disabled: disabled,
|
592
|
-
onClick: handleClickArrow
|
588
|
+
onClick: handleClickArrow,
|
589
|
+
className: classes.comboboxTargetArrow
|
593
590
|
}, /*#__PURE__*/ React.createElement(StyledArrow, {
|
594
591
|
color: "inherit",
|
595
592
|
size: sizeToIconSize(size),
|
@@ -616,7 +613,7 @@ import { Context } from "./Combobox.context";
|
|
616
613
|
enumerationType: 'plain'
|
617
614
|
}, rest), {
|
618
615
|
_onEnterDisabled: true // Пропс для отключения обработчика Enter внутри Textfield
|
619
|
-
}));
|
616
|
+
})));
|
620
617
|
},
|
621
618
|
zIndex: zIndex,
|
622
619
|
isInner: false
|
@@ -628,6 +625,7 @@ import { Context } from "./Combobox.context";
|
|
628
625
|
readOnly: readOnly,
|
629
626
|
name: name
|
630
627
|
}, /*#__PURE__*/ React.createElement(ListWrapper, {
|
628
|
+
ref: listWrapperRef,
|
631
629
|
listWidth: listWidth
|
632
630
|
}, /*#__PURE__*/ React.createElement(Ul, {
|
633
631
|
role: "tree",
|
@@ -636,7 +634,6 @@ import { Context } from "./Combobox.context";
|
|
636
634
|
listMaxHeight: listMaxHeight || listHeight,
|
637
635
|
ref: targetRef,
|
638
636
|
virtual: virtual,
|
639
|
-
listOverflow: listOverflow,
|
640
637
|
onScroll: virtual ? undefined : onScroll
|
641
638
|
}, beforeList, isEmpty(filteredItems) ? /*#__PURE__*/ React.createElement(StyledEmptyState, {
|
642
639
|
className: classes.emptyStateWrapper,
|
@@ -658,7 +655,8 @@ import { Context } from "./Combobox.context";
|
|
658
655
|
path: path,
|
659
656
|
dispatchPath: dispatchPath,
|
660
657
|
index: index,
|
661
|
-
listWidth: listWidth
|
658
|
+
listWidth: listWidth,
|
659
|
+
portal: listWrapperRef
|
662
660
|
});
|
663
661
|
})), afterList)))))));
|
664
662
|
});
|
@@ -8,7 +8,7 @@ var mergedConfig = mergeConfig(emptyStateConfig);
|
|
8
8
|
var EmptyState = component(mergedConfig);
|
9
9
|
export var ListWrapper = styled.div.withConfig({
|
10
10
|
displayName: "Combobox.styles__ListWrapper",
|
11
|
-
componentId: "sc-
|
11
|
+
componentId: "sc-21c5f0bf-0"
|
12
12
|
})([
|
13
13
|
"width:",
|
14
14
|
";padding:calc(var(",
|
@@ -25,10 +25,10 @@ export var ListWrapper = styled.div.withConfig({
|
|
25
25
|
}, tokens.padding, tokens.dropdownBorderWidth, tokens.borderRadius, constants.background, constants.boxShadow, tokens.dropdownBorderWidth, tokens.dropdownBorderColor);
|
26
26
|
export var Ul = styled.ul.withConfig({
|
27
27
|
displayName: "Combobox.styles__Ul",
|
28
|
-
componentId: "sc-
|
28
|
+
componentId: "sc-21c5f0bf-1"
|
29
29
|
})([
|
30
30
|
"max-height:",
|
31
|
-
";overflow-y:",
|
31
|
+
";overflow-x:hidden;overflow-y:",
|
32
32
|
";border-radius:calc(var(",
|
33
33
|
") - 0.125rem - var(",
|
34
34
|
",0rem));margin:0;padding:0;.",
|
@@ -37,12 +37,12 @@ export var Ul = styled.ul.withConfig({
|
|
37
37
|
var virtual = param.virtual, listMaxHeight = param.listMaxHeight;
|
38
38
|
return virtual ? 'auto' : listMaxHeight || 'auto';
|
39
39
|
}, function(param) {
|
40
|
-
var virtual = param.virtual
|
41
|
-
return virtual ? 'visible' :
|
40
|
+
var virtual = param.virtual;
|
41
|
+
return virtual ? 'visible' : 'auto';
|
42
42
|
}, tokens.borderRadius, tokens.dropdownBorderWidth, classes.emptyStateWrapper);
|
43
43
|
export var IconArrowWrapper = styled.div.withConfig({
|
44
44
|
displayName: "Combobox.styles__IconArrowWrapper",
|
45
|
-
componentId: "sc-
|
45
|
+
componentId: "sc-21c5f0bf-2"
|
46
46
|
})([
|
47
47
|
"line-height:0;color:var(",
|
48
48
|
");cursor:",
|
@@ -63,7 +63,7 @@ export var sizeMap = {
|
|
63
63
|
};
|
64
64
|
export var StyledArrow = styled(IconDisclosureDownCentered).withConfig({
|
65
65
|
displayName: "Combobox.styles__StyledArrow",
|
66
|
-
componentId: "sc-
|
66
|
+
componentId: "sc-21c5f0bf-3"
|
67
67
|
})([
|
68
68
|
"width:",
|
69
69
|
";height:",
|
@@ -80,7 +80,7 @@ export var base = css([
|
|
80
80
|
]);
|
81
81
|
export var StyledEmptyState = styled(EmptyState).withConfig({
|
82
82
|
displayName: "Combobox.styles__StyledEmptyState",
|
83
|
-
componentId: "sc-
|
83
|
+
componentId: "sc-21c5f0bf-4"
|
84
84
|
})([
|
85
85
|
"",
|
86
86
|
":var(",
|
@@ -102,7 +102,7 @@ export var StyledEmptyState = styled(EmptyState).withConfig({
|
|
102
102
|
], emptyStateTokens.borderRadius, tokens.textFieldBorderRadius, emptyStateTokens.padding, tokens.emptyStatePadding, emptyStateTokens.fontFamily, tokens.textFieldFontFamily, emptyStateTokens.fontSize, tokens.textFieldFontSize, emptyStateTokens.fontStyle, tokens.textFieldFontStyle, emptyStateTokens.fontWeight, tokens.textFieldFontWeight, emptyStateTokens.fontLetterSpacing, tokens.textFieldLetterSpacing, emptyStateTokens.fontLineHeight, tokens.textFieldLineHeight);
|
103
103
|
export var StyledLeftHelper = styled.span.withConfig({
|
104
104
|
displayName: "Combobox.styles__StyledLeftHelper",
|
105
|
-
componentId: "sc-
|
105
|
+
componentId: "sc-21c5f0bf-5"
|
106
106
|
})([
|
107
107
|
"margin:0;padding:0;"
|
108
108
|
]);
|
@@ -2,7 +2,7 @@ export var classes = {
|
|
2
2
|
dropdownItemIsFocused: 'dropdown-item-is-focused',
|
3
3
|
dropdownItemIsDisabled: 'dropdown-item-is-disabled',
|
4
4
|
dropdownItemIsActive: 'dropdown-item-is-active',
|
5
|
-
|
5
|
+
comboboxTargetArrow: 'combobox-target-arrow',
|
6
6
|
arrowInverse: 'arrow-inverse',
|
7
7
|
textfieldTarget: 'combobox-textfield-target',
|
8
8
|
selectChipIsFocused: 'combobox-chip-is-focused',
|
@@ -159,13 +159,9 @@ export var useKeyNavigation = function(param) {
|
|
159
159
|
case keys.Tab:
|
160
160
|
case keys.Escape:
|
161
161
|
{
|
162
|
-
|
163
|
-
|
164
|
-
}
|
165
|
-
dispatchFocusedPath({
|
166
|
-
type: 'reset'
|
167
|
-
});
|
168
|
-
handleListToggle(false);
|
162
|
+
if (path[0]) {
|
163
|
+
handleListToggle(false);
|
164
|
+
}
|
169
165
|
if (multiple) {
|
170
166
|
setTextValue('');
|
171
167
|
} else if (textValue !== value) {
|
@@ -1,11 +1,11 @@
|
|
1
|
-
import React from "react";
|
1
|
+
import React, { useRef } from "react";
|
2
2
|
import { safeUseId } from "../../../../../utils";
|
3
3
|
import { FloatingPopover } from "../../FloatingPopover";
|
4
4
|
import { isEmpty } from "../../../../../utils";
|
5
5
|
import { Ul, ListWrapper } from "../../Combobox.styles";
|
6
6
|
import { Item } from "./ui";
|
7
7
|
export var Inner = function(param) {
|
8
|
-
var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, listWidth = param.listWidth;
|
8
|
+
var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, listWidth = param.listWidth, portal = param.portal;
|
9
9
|
var handleToggle = function(opened) {
|
10
10
|
if (opened) {
|
11
11
|
dispatchPath({
|
@@ -20,6 +20,7 @@ export var Inner = function(param) {
|
|
20
20
|
});
|
21
21
|
}
|
22
22
|
};
|
23
|
+
var listWrapperRef = useRef(null);
|
23
24
|
var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
|
24
25
|
var treeId = safeUseId();
|
25
26
|
var listId = "".concat(treeId, "_tree_level_").concat(currentLevel + 2);
|
@@ -40,13 +41,16 @@ export var Inner = function(param) {
|
|
40
41
|
ariaLevel: nextLevel,
|
41
42
|
ariaLabel: item.label
|
42
43
|
}),
|
43
|
-
isInner: true
|
44
|
+
isInner: true,
|
45
|
+
portal: portal
|
44
46
|
}, /*#__PURE__*/ React.createElement(ListWrapper, {
|
45
|
-
listWidth: listWidth
|
47
|
+
listWidth: listWidth,
|
48
|
+
ref: listWrapperRef
|
46
49
|
}, /*#__PURE__*/ React.createElement(Ul, {
|
47
50
|
role: "group",
|
48
51
|
id: listId,
|
49
|
-
virtual: false
|
52
|
+
virtual: false,
|
53
|
+
listMaxHeight: item === null || item === void 0 ? void 0 : item.listMaxHeight
|
50
54
|
}, (_item_items = item.items) === null || _item_items === void 0 ? void 0 : _item_items.map(function(innerItem, innerIndex) {
|
51
55
|
return /*#__PURE__*/ React.createElement(Inner, {
|
52
56
|
key: "".concat(innerIndex, "/").concat(currentLevel),
|
@@ -55,7 +59,8 @@ export var Inner = function(param) {
|
|
55
59
|
path: path,
|
56
60
|
dispatchPath: dispatchPath,
|
57
61
|
index: innerIndex,
|
58
|
-
listWidth: listWidth
|
62
|
+
listWidth: listWidth,
|
63
|
+
portal: listWrapperRef
|
59
64
|
});
|
60
65
|
}))));
|
61
66
|
}
|
@@ -119,7 +119,7 @@ import { Context } from "./Dropdown.context";
|
|
119
119
|
* Выпадающий список.
|
120
120
|
*/ export var dropdownRoot = function(Root) {
|
121
121
|
return /*#__PURE__*/ forwardRef(function(_param, ref) {
|
122
|
-
var items = _param.items, children = _param.children, placement = _param.placement, offset = _param.offset, _param_closeOnOverlayClick = _param.closeOnOverlayClick, closeOnOverlayClick = _param_closeOnOverlayClick === void 0 ? true : _param_closeOnOverlayClick, onToggle = _param.onToggle, size = _param.size, view = _param.view, _param_itemRole = _param.itemRole, itemRole = _param_itemRole === void 0 ? 'treeitem' : _param_itemRole, className = _param.className, listMaxHeight = _param.listMaxHeight, listWidth = _param.listWidth, listHeight = _param.listHeight,
|
122
|
+
var items = _param.items, children = _param.children, placement = _param.placement, offset = _param.offset, _param_closeOnOverlayClick = _param.closeOnOverlayClick, closeOnOverlayClick = _param_closeOnOverlayClick === void 0 ? true : _param_closeOnOverlayClick, onToggle = _param.onToggle, size = _param.size, view = _param.view, _param_itemRole = _param.itemRole, itemRole = _param_itemRole === void 0 ? 'treeitem' : _param_itemRole, className = _param.className, listMaxHeight = _param.listMaxHeight, listWidth = _param.listWidth, listHeight = _param.listHeight, _param_closeOnSelect = _param.closeOnSelect, closeOnSelect = _param_closeOnSelect === void 0 ? true : _param_closeOnSelect, onHover = _param.onHover, onItemSelect = _param.onItemSelect, onItemClick = _param.onItemClick, _param_trigger = _param.trigger, trigger = _param_trigger === void 0 ? 'click' : _param_trigger, _param_openByRightClick = _param.openByRightClick, openByRightClick = _param_openByRightClick === void 0 ? false : _param_openByRightClick, _param_variant = _param.variant, variant = _param_variant === void 0 ? 'normal' : _param_variant, _param_hasArrow = _param.hasArrow, hasArrow = _param_hasArrow === void 0 ? true : _param_hasArrow, _param_alwaysOpened = _param.alwaysOpened, alwaysOpened = _param_alwaysOpened === void 0 ? false : _param_alwaysOpened, portal = _param.portal, renderItem = _param.renderItem, zIndex = _param.zIndex, beforeList = _param.beforeList, afterList = _param.afterList, rest = _object_without_properties(_param, [
|
123
123
|
"items",
|
124
124
|
"children",
|
125
125
|
"placement",
|
@@ -133,7 +133,6 @@ import { Context } from "./Dropdown.context";
|
|
133
133
|
"listMaxHeight",
|
134
134
|
"listWidth",
|
135
135
|
"listHeight",
|
136
|
-
"listOverflow",
|
137
136
|
"closeOnSelect",
|
138
137
|
"onHover",
|
139
138
|
"onItemSelect",
|
@@ -159,6 +158,7 @@ import { Context } from "./Dropdown.context";
|
|
159
158
|
var _useHashMaps = _sliced_to_array(useHashMaps(items), 2), pathMap = _useHashMaps[0], focusedToValueMap = _useHashMaps[1];
|
160
159
|
var activeDescendantItemValue = ((_getItemByFocused = getItemByFocused(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value) || '';
|
161
160
|
var floatingPopoverRef = useRef(null);
|
161
|
+
var listWrapperRef = useRef(null);
|
162
162
|
var treeId = safeUseId();
|
163
163
|
// Логика работы при клике за пределами выпадающего списка
|
164
164
|
var targetRef = useOutsideClick(function(event) {
|
@@ -252,17 +252,14 @@ import { Context } from "./Dropdown.context";
|
|
252
252
|
className: cx(className, classes.dropdownRoot),
|
253
253
|
ref: ref,
|
254
254
|
view: view,
|
255
|
-
size: size
|
256
|
-
style: {
|
257
|
-
display: 'inline-block'
|
258
|
-
}
|
255
|
+
size: size
|
259
256
|
}, rest), /*#__PURE__*/ React.createElement(ListWrapper, {
|
257
|
+
ref: listWrapperRef,
|
260
258
|
listWidth: listWidth
|
261
259
|
}, /*#__PURE__*/ React.createElement(Ul, {
|
262
260
|
ref: targetRef,
|
263
261
|
id: "".concat(treeId, "_tree_level_1"),
|
264
262
|
role: "tree",
|
265
|
-
listOverflow: listOverflow,
|
266
263
|
listMaxHeight: listMaxHeight || listHeight
|
267
264
|
}, beforeList, items.map(function(item, index) {
|
268
265
|
return /*#__PURE__*/ React.createElement(DropdownInner, {
|
@@ -273,9 +270,8 @@ import { Context } from "./Dropdown.context";
|
|
273
270
|
path: path,
|
274
271
|
dispatchPath: dispatchPath,
|
275
272
|
index: index,
|
276
|
-
|
277
|
-
|
278
|
-
listWidth: listWidth
|
273
|
+
listWidth: listWidth,
|
274
|
+
portal: listWrapperRef
|
279
275
|
});
|
280
276
|
}), afterList)))));
|
281
277
|
});
|
@@ -4,7 +4,7 @@ import { getCorrectHeight } from "./utils";
|
|
4
4
|
import { tokens, constants } from "./Dropdown.tokens";
|
5
5
|
export var ListWrapper = styled.div.withConfig({
|
6
6
|
displayName: "Dropdown.styles__ListWrapper",
|
7
|
-
componentId: "sc-
|
7
|
+
componentId: "sc-768e302d-0"
|
8
8
|
})([
|
9
9
|
"width:",
|
10
10
|
";padding:calc(var(",
|
@@ -21,19 +21,15 @@ export var ListWrapper = styled.div.withConfig({
|
|
21
21
|
}, tokens.padding, tokens.borderWidth, tokens.borderRadius, constants.background, constants.boxShadow, tokens.borderWidth, tokens.borderColor);
|
22
22
|
export var Ul = styled.ul.withConfig({
|
23
23
|
displayName: "Dropdown.styles__Ul",
|
24
|
-
componentId: "sc-
|
24
|
+
componentId: "sc-768e302d-1"
|
25
25
|
})([
|
26
26
|
"max-height:",
|
27
|
-
";overflow-y:",
|
28
|
-
";border-radius:calc(var(",
|
27
|
+
";overflow-x:hidden;overflow-y:auto;border-radius:calc(var(",
|
29
28
|
") - 0.125rem - var(",
|
30
29
|
",0rem));margin:0;padding:0;"
|
31
30
|
], function(param) {
|
32
31
|
var listMaxHeight = param.listMaxHeight;
|
33
32
|
return listMaxHeight ? getCorrectHeight(listMaxHeight) : 'auto';
|
34
|
-
}, function(param) {
|
35
|
-
var listOverflow = param.listOverflow;
|
36
|
-
return listOverflow || 'visible';
|
37
33
|
}, tokens.borderRadius, tokens.borderWidth);
|
38
34
|
export var base = css([
|
39
35
|
""
|
@@ -96,10 +96,10 @@ var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
|
|
96
96
|
stickIfOpen: false,
|
97
97
|
ignoreMouse: trigger === 'hover'
|
98
98
|
});
|
99
|
-
var
|
99
|
+
var getReferenceProps = useInteractions([
|
100
100
|
hover,
|
101
101
|
click
|
102
|
-
])
|
102
|
+
]).getReferenceProps;
|
103
103
|
return /*#__PURE__*/ React.createElement("div", {
|
104
104
|
ref: ref,
|
105
105
|
id: wrappedId,
|
@@ -109,12 +109,12 @@ var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
|
|
109
109
|
}
|
110
110
|
}, /*#__PURE__*/ React.createElement("div", _object_spread({
|
111
111
|
ref: refs.setReference
|
112
|
-
}, getReferenceProps()), target), opened && /*#__PURE__*/ React.createElement(FloatingPortal, getFloatingPortalProps(portal, wrappedId), /*#__PURE__*/ React.createElement("div",
|
112
|
+
}, getReferenceProps()), target), opened && /*#__PURE__*/ React.createElement(FloatingPortal, getFloatingPortalProps(portal, wrappedId), /*#__PURE__*/ React.createElement("div", {
|
113
113
|
ref: refs.setFloating,
|
114
114
|
style: _object_spread_props(_object_spread({}, floatingStyles), {
|
115
115
|
zIndex: zIndex || 1000
|
116
116
|
})
|
117
|
-
},
|
117
|
+
}, children)));
|
118
118
|
});
|
119
119
|
// root - принимает ref контейнера портала.
|
120
120
|
// id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.
|
@@ -162,13 +162,9 @@ export var useKeyNavigation = function(param) {
|
|
162
162
|
case keys.Tab:
|
163
163
|
case keys.Escape:
|
164
164
|
{
|
165
|
-
|
166
|
-
|
167
|
-
}
|
168
|
-
dispatchPath({
|
169
|
-
type: 'reset'
|
170
|
-
});
|
171
|
-
handleGlobalToggle(false, event);
|
165
|
+
if (path[0]) {
|
166
|
+
handleGlobalToggle(false, event);
|
167
|
+
}
|
172
168
|
break;
|
173
169
|
}
|
174
170
|
case keys.Home:
|
@@ -1,11 +1,11 @@
|
|
1
|
-
import React from "react";
|
1
|
+
import React, { useRef } from "react";
|
2
2
|
import { safeUseId } from "../../../../utils";
|
3
3
|
import { DropdownItem } from "../DropdownItem/DropdownItem";
|
4
4
|
import { Ul, ListWrapper } from "../../Dropdown.styles";
|
5
5
|
import { FloatingPopover } from "../../FloatingPopover";
|
6
6
|
import { getPlacement } from "../../utils";
|
7
7
|
var DropdownInner = function(param) {
|
8
|
-
var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, trigger = param.trigger,
|
8
|
+
var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, trigger = param.trigger, listWidth = param.listWidth, portal = param.portal;
|
9
9
|
var handleToggle = function(opened) {
|
10
10
|
if (opened) {
|
11
11
|
dispatchPath({
|
@@ -20,6 +20,7 @@ var DropdownInner = function(param) {
|
|
20
20
|
});
|
21
21
|
}
|
22
22
|
};
|
23
|
+
var listWrapperRef = useRef(null);
|
23
24
|
var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
|
24
25
|
var treeId = safeUseId();
|
25
26
|
var listId = "".concat(treeId, "_tree_level_").concat(currentLevel + 2);
|
@@ -40,14 +41,15 @@ var DropdownInner = function(param) {
|
|
40
41
|
ariaLevel: nextLevel,
|
41
42
|
ariaLabel: item.label
|
42
43
|
}),
|
43
|
-
isInner: true
|
44
|
+
isInner: true,
|
45
|
+
portal: portal
|
44
46
|
}, /*#__PURE__*/ React.createElement(ListWrapper, {
|
47
|
+
ref: listWrapperRef,
|
45
48
|
listWidth: listWidth
|
46
49
|
}, /*#__PURE__*/ React.createElement(Ul, {
|
47
50
|
id: listId,
|
48
51
|
role: "group",
|
49
|
-
listMaxHeight: listMaxHeight
|
50
|
-
listOverflow: listOverflow
|
52
|
+
listMaxHeight: item.listMaxHeight
|
51
53
|
}, item.items.map(function(innerItem, innerIndex) {
|
52
54
|
return /*#__PURE__*/ React.createElement(DropdownInner, {
|
53
55
|
key: "".concat(innerIndex, "/").concat(currentLevel),
|
@@ -57,9 +59,8 @@ var DropdownInner = function(param) {
|
|
57
59
|
dispatchPath: dispatchPath,
|
58
60
|
index: innerIndex,
|
59
61
|
trigger: trigger,
|
60
|
-
|
61
|
-
|
62
|
-
listWidth: listWidth
|
62
|
+
listWidth: listWidth,
|
63
|
+
portal: listWrapperRef
|
63
64
|
});
|
64
65
|
}))));
|
65
66
|
}
|
@@ -210,6 +210,7 @@ import { Context } from "./Select.context";
|
|
210
210
|
var activeDescendantItemValue = ((_getItemByFocused = getItemByFocused(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value.toString()) || '';
|
211
211
|
var closeAfterSelect = outerCloseAfterSelect !== null && outerCloseAfterSelect !== void 0 ? outerCloseAfterSelect : !props.multiselect;
|
212
212
|
var treeId = safeUseId();
|
213
|
+
var listWrapperRef = useRef(null);
|
213
214
|
var view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);
|
214
215
|
// Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.
|
215
216
|
var requiredProps = props.target === 'button-like' ? undefined : {
|
@@ -496,12 +497,12 @@ import { Context } from "./Select.context";
|
|
496
497
|
disabled: disabled,
|
497
498
|
readOnly: readOnly
|
498
499
|
}, rest), /*#__PURE__*/ React.createElement(ListWrapper, {
|
500
|
+
ref: listWrapperRef,
|
499
501
|
listWidth: listWidth
|
500
502
|
}, /*#__PURE__*/ React.createElement(Ul, {
|
501
503
|
role: "tree",
|
502
504
|
id: "".concat(treeId, "_tree_level_1"),
|
503
505
|
"aria-multiselectable": Boolean(props.multiselect),
|
504
|
-
listOverflow: listOverflow,
|
505
506
|
listMaxHeight: listMaxHeight || listHeight,
|
506
507
|
onScroll: virtual ? undefined : handleScroll,
|
507
508
|
ref: targetRef,
|
@@ -522,7 +523,8 @@ import { Context } from "./Select.context";
|
|
522
523
|
path: path,
|
523
524
|
dispatchPath: dispatchPath,
|
524
525
|
index: index,
|
525
|
-
listWidth: listWidth
|
526
|
+
listWidth: listWidth,
|
527
|
+
portal: listWrapperRef
|
526
528
|
});
|
527
529
|
}), afterList))))));
|
528
530
|
});
|