@salutejs/plasma-new-hope 0.340.0-canary.2314.18974837629.0 → 0.340.0-canary.2314.19043398713.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.js +20 -4
 - package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
 - package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +319 -1
 - package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
 - package/cjs/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
 - package/cjs/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js.map +1 -1
 - package/cjs/components/Combobox/ComboboxNew/reducers/treePathReducer.js +14 -2
 - package/cjs/components/Combobox/ComboboxNew/reducers/treePathReducer.js.map +1 -1
 - package/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +3 -3
 - package/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js.map +1 -1
 - package/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +22 -5
 - package/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js.map +1 -1
 - package/cjs/components/Select/Select.js +2 -1
 - package/cjs/components/Select/Select.js.map +1 -1
 - package/cjs/components/Select/hooks/useKeyboardNavigation.js +127 -38
 - package/cjs/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
 - package/cjs/components/Select/reducers/focusedPathReducer.js +7 -0
 - package/cjs/components/Select/reducers/focusedPathReducer.js.map +1 -1
 - package/cjs/components/Select/reducers/treePathReducer.js +12 -0
 - package/cjs/components/Select/reducers/treePathReducer.js.map +1 -1
 - package/cjs/components/Select/ui/TreeList/TreeList.js +3 -3
 - package/cjs/components/Select/ui/TreeList/TreeList.js.map +1 -1
 - package/cjs/components/Select/ui/TreeList/ui/Item/Item.js +22 -5
 - package/cjs/components/Select/ui/TreeList/ui/Item/Item.js.map +1 -1
 - package/cjs/index.js +2 -0
 - package/cjs/index.js.map +1 -1
 - package/cjs/utils/index.js.map +1 -1
 - package/cjs/utils/isArraysEqual.js +12 -0
 - package/cjs/utils/isArraysEqual.js.map +1 -0
 - package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +16 -3
 - package/emotion/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +312 -0
 - package/emotion/cjs/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
 - package/emotion/cjs/components/Combobox/ComboboxNew/reducers/treePathReducer.js +14 -2
 - package/emotion/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +7 -3
 - package/emotion/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +49 -5
 - package/emotion/cjs/components/Select/Select.js +2 -1
 - package/emotion/cjs/components/Select/hooks/useKeyboardNavigation.js +156 -44
 - package/emotion/cjs/components/Select/reducers/focusedPathReducer.js +7 -0
 - package/emotion/cjs/components/Select/reducers/treePathReducer.js +12 -0
 - package/emotion/cjs/components/Select/ui/TreeList/TreeList.js +7 -3
 - package/emotion/cjs/components/Select/ui/TreeList/ui/Item/Item.js +49 -5
 - package/emotion/cjs/utils/index.js +4 -0
 - package/emotion/cjs/utils/isArraysEqual.js +15 -0
 - package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +16 -3
 - package/emotion/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +313 -0
 - package/emotion/es/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
 - package/emotion/es/components/Combobox/ComboboxNew/reducers/treePathReducer.js +14 -2
 - package/emotion/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +7 -3
 - package/emotion/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +50 -6
 - package/emotion/es/components/Select/Select.js +2 -1
 - package/emotion/es/components/Select/hooks/useKeyboardNavigation.js +157 -44
 - package/emotion/es/components/Select/reducers/focusedPathReducer.js +7 -0
 - package/emotion/es/components/Select/reducers/treePathReducer.js +12 -0
 - package/emotion/es/components/Select/ui/TreeList/TreeList.js +7 -3
 - package/emotion/es/components/Select/ui/TreeList/ui/Item/Item.js +50 -6
 - package/emotion/es/utils/index.js +1 -0
 - package/emotion/es/utils/isArraysEqual.js +5 -0
 - package/es/components/Combobox/ComboboxNew/Combobox.js +20 -4
 - package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
 - package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +319 -1
 - package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
 - package/es/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
 - package/es/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js.map +1 -1
 - package/es/components/Combobox/ComboboxNew/reducers/treePathReducer.js +14 -2
 - package/es/components/Combobox/ComboboxNew/reducers/treePathReducer.js.map +1 -1
 - package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +3 -3
 - package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js.map +1 -1
 - package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +23 -6
 - package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js.map +1 -1
 - package/es/components/Select/Select.js +2 -1
 - package/es/components/Select/Select.js.map +1 -1
 - package/es/components/Select/hooks/useKeyboardNavigation.js +127 -38
 - package/es/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
 - package/es/components/Select/reducers/focusedPathReducer.js +7 -0
 - package/es/components/Select/reducers/focusedPathReducer.js.map +1 -1
 - package/es/components/Select/reducers/treePathReducer.js +12 -0
 - package/es/components/Select/reducers/treePathReducer.js.map +1 -1
 - package/es/components/Select/ui/TreeList/TreeList.js +3 -3
 - package/es/components/Select/ui/TreeList/TreeList.js.map +1 -1
 - package/es/components/Select/ui/TreeList/ui/Item/Item.js +23 -6
 - package/es/components/Select/ui/TreeList/ui/Item/Item.js.map +1 -1
 - package/es/index.js +1 -0
 - package/es/index.js.map +1 -1
 - package/es/utils/index.js.map +1 -1
 - package/es/utils/isArraysEqual.js +8 -0
 - package/es/utils/isArraysEqual.js.map +1 -0
 - package/package.json +2 -2
 - package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +16 -3
 - package/styled-components/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +312 -0
 - package/styled-components/cjs/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
 - package/styled-components/cjs/components/Combobox/ComboboxNew/reducers/treePathReducer.js +14 -2
 - package/styled-components/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +7 -3
 - package/styled-components/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +49 -5
 - package/styled-components/cjs/components/Select/Select.js +2 -1
 - package/styled-components/cjs/components/Select/hooks/useKeyboardNavigation.js +156 -44
 - package/styled-components/cjs/components/Select/reducers/focusedPathReducer.js +7 -0
 - package/styled-components/cjs/components/Select/reducers/treePathReducer.js +12 -0
 - package/styled-components/cjs/components/Select/ui/TreeList/TreeList.js +7 -3
 - package/styled-components/cjs/components/Select/ui/TreeList/ui/Item/Item.js +49 -5
 - package/styled-components/cjs/utils/index.js +4 -0
 - package/styled-components/cjs/utils/isArraysEqual.js +15 -0
 - package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +16 -3
 - package/styled-components/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +313 -0
 - package/styled-components/es/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
 - package/styled-components/es/components/Combobox/ComboboxNew/reducers/treePathReducer.js +14 -2
 - package/styled-components/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +7 -3
 - package/styled-components/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +50 -6
 - package/styled-components/es/components/Select/Select.js +2 -1
 - package/styled-components/es/components/Select/hooks/useKeyboardNavigation.js +157 -44
 - package/styled-components/es/components/Select/reducers/focusedPathReducer.js +7 -0
 - package/styled-components/es/components/Select/reducers/treePathReducer.js +12 -0
 - package/styled-components/es/components/Select/ui/TreeList/TreeList.js +7 -3
 - package/styled-components/es/components/Select/ui/TreeList/ui/Item/Item.js +50 -6
 - package/styled-components/es/examples/components/Combobox/Combobox.js +0 -7
 - package/styled-components/es/utils/index.js +1 -0
 - package/styled-components/es/utils/isArraysEqual.js +5 -0
 - package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
 - package/types/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.d.ts +7 -2
 - package/types/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.d.ts.map +1 -1
 - package/types/components/Combobox/ComboboxNew/reducers/focusedPathReducer.d.ts +3 -0
 - package/types/components/Combobox/ComboboxNew/reducers/focusedPathReducer.d.ts.map +1 -1
 - package/types/components/Combobox/ComboboxNew/reducers/treePathReducer.d.ts +6 -0
 - package/types/components/Combobox/ComboboxNew/reducers/treePathReducer.d.ts.map +1 -1
 - package/types/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.d.ts.map +1 -1
 - package/types/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.types.d.ts +1 -1
 - package/types/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.types.d.ts.map +1 -1
 - package/types/components/Select/Select.d.ts.map +1 -1
 - package/types/components/Select/hooks/useKeyboardNavigation.d.ts +2 -1
 - package/types/components/Select/hooks/useKeyboardNavigation.d.ts.map +1 -1
 - package/types/components/Select/reducers/focusedPathReducer.d.ts +3 -0
 - package/types/components/Select/reducers/focusedPathReducer.d.ts.map +1 -1
 - package/types/components/Select/reducers/treePathReducer.d.ts +6 -0
 - package/types/components/Select/reducers/treePathReducer.d.ts.map +1 -1
 - package/types/components/Select/ui/TreeList/ui/Item/Item.d.ts.map +1 -1
 - package/types/components/Select/ui/TreeList/ui/Item/Item.types.d.ts +1 -1
 - package/types/components/Select/ui/TreeList/ui/Item/Item.types.d.ts.map +1 -1
 - package/types/utils/index.d.ts +1 -0
 - package/types/utils/index.d.ts.map +1 -1
 - package/types/utils/isArraysEqual.d.ts +2 -0
 - package/types/utils/isArraysEqual.d.ts.map +1 -0
 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"TreeList.js","sources":["../../../../../../src/components/Combobox/ComboboxNew/ui/TreeList/TreeList.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport { useVirtualizer } from '@tanstack/react-virtual';\nimport { getHeightAsNumber } from 'src/utils';\n\nimport { Props } from './TreeList.types';\nimport { Item } from './ui/Item/Item';\nimport { ListWrapper, ScrollContainer } from './TreeList.styles';\n\nexport const TreeList: React.FC<Props> = ({ items, listMaxHeight, onScroll, virtual, beforeList, afterList }) => {\n    if (virtual) {\n        return (\n            <VirtualTreeList\n                items={items}\n                listMaxHeight={listMaxHeight}\n                onScroll={onScroll}\n                beforeList={beforeList}\n                afterList={afterList}\n            />\n        );\n    }\n\n    return (\n        <ListWrapper>\n            <ScrollContainer listMaxHeight={listMaxHeight} onScroll={onScroll}>\n                {beforeList}\n\n                {items?.map((item, index) => {\n                    return <Item key={index}  
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"TreeList.js","sources":["../../../../../../src/components/Combobox/ComboboxNew/ui/TreeList/TreeList.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport { useVirtualizer } from '@tanstack/react-virtual';\nimport { getHeightAsNumber } from 'src/utils';\n\nimport { Props } from './TreeList.types';\nimport { Item } from './ui/Item/Item';\nimport { ListWrapper, ScrollContainer } from './TreeList.styles';\n\nexport const TreeList: React.FC<Props> = ({ items, listMaxHeight, onScroll, virtual, beforeList, afterList }) => {\n    if (virtual) {\n        return (\n            <VirtualTreeList\n                items={items}\n                listMaxHeight={listMaxHeight}\n                onScroll={onScroll}\n                beforeList={beforeList}\n                afterList={afterList}\n            />\n        );\n    }\n\n    return (\n        <ListWrapper>\n            <ScrollContainer listMaxHeight={listMaxHeight} onScroll={onScroll}>\n                {beforeList}\n\n                {items?.map((item, index) => {\n                    return <Item key={index} item={item} pathToItem={[index]} />;\n                })}\n\n                {afterList}\n            </ScrollContainer>\n        </ListWrapper>\n    );\n};\n\nconst VirtualTreeList: React.FC<Props> = ({ items = [], listMaxHeight, onScroll, beforeList, afterList }) => {\n    const parentRef = useRef<HTMLDivElement>(null);\n\n    const virtualizer = useVirtualizer({\n        count: items.length,\n        getScrollElement: () => parentRef.current,\n        estimateSize: () => 48,\n    });\n\n    const virtualItems = virtualizer.getVirtualItems();\n\n    return (\n        <ListWrapper>\n            {beforeList}\n\n            <div\n                ref={parentRef}\n                style={{\n                    height: 'auto',\n                    maxHeight: getHeightAsNumber(listMaxHeight),\n                    overflowY: 'auto',\n                }}\n                onScroll={onScroll}\n            >\n                <div\n                    style={{\n                        height: virtualizer.getTotalSize(),\n                        width: '100%',\n                        position: 'relative',\n                    }}\n                >\n                    <div\n                        style={{\n                            position: 'absolute',\n                            top: 0,\n                            left: 0,\n                            width: '100%',\n                            transform: `translateY(${virtualItems[0]?.start ?? 0}px)`,\n                        }}\n                    >\n                        {virtualItems.map((virtualRow) => (\n                            <div\n                                key={virtualRow.key as React.Key}\n                                data-index={virtualRow.index}\n                                ref={virtualizer.measureElement}\n                            >\n                                <Item item={items[virtualRow.index]} pathToItem={[virtualRow.index]} />\n                            </div>\n                        ))}\n                    </div>\n                </div>\n            </div>\n\n            {afterList}\n        </ListWrapper>\n    );\n};\n"],"names":["TreeList","_ref","items","listMaxHeight","onScroll","virtual","beforeList","afterList","React","createElement","VirtualTreeList","ListWrapper","ScrollContainer","map","item","index","Item","key","pathToItem","_ref2","_virtualItems$0$start","_virtualItems$","_ref2$items","parentRef","useRef","virtualizer","useVirtualizer","count","length","getScrollElement","current","estimateSize","virtualItems","getVirtualItems","ref","style","height","maxHeight","getHeightAsNumber","overflowY","getTotalSize","width","position","top","left","transform","concat","start","virtualRow","measureElement"],"mappings":"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"}
         
     | 
| 
         @@ -2,11 +2,15 @@ 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            Object.defineProperty(exports, '__esModule', { value: true });
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
      
 5 
     | 
    
         
            +
            var _rollupPluginBabelHelpers = require('../../../../../../../_virtual/_rollupPluginBabelHelpers.js');
         
     | 
| 
       5 
6 
     | 
    
         
             
            var React = require('react');
         
     | 
| 
       6 
7 
     | 
    
         
             
            var Select_tokens = require('../../../../../../Select/Select.tokens.js');
         
     | 
| 
      
 8 
     | 
    
         
            +
            var index = require('../../../../../../../utils/index.js');
         
     | 
| 
       7 
9 
     | 
    
         
             
            var treePathReducer = require('../../../../reducers/treePathReducer.js');
         
     | 
| 
       8 
10 
     | 
    
         
             
            var Combobox_context = require('../../../../Combobox.context.js');
         
     | 
| 
       9 
11 
     | 
    
         
             
            var Item_styles = require('./Item.styles.js');
         
     | 
| 
      
 12 
     | 
    
         
            +
            var isArraysEqual = require('../../../../../../../utils/isArraysEqual.js');
         
     | 
| 
      
 13 
     | 
    
         
            +
            var useDidMountEffect = require('../../../../../../../hooks/useDidMountEffect.js');
         
     | 
| 
       10 
14 
     | 
    
         
             
            var sizeToIconSize = require('../../../../../../Select/utils/sizeToIconSize.js');
         
     | 
| 
       11 
15 
     | 
    
         | 
| 
       12 
16 
     | 
    
         
             
            function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
         
     | 
| 
         @@ -17,7 +21,7 @@ var _StyledIndicator, _StyledIndicator2; 
     | 
|
| 
       17 
21 
     | 
    
         
             
            var Item = function Item(_ref) {
         
     | 
| 
       18 
22 
     | 
    
         
             
              var _valueToPathMap$get, _item$items;
         
     | 
| 
       19 
23 
     | 
    
         
             
              var item = _ref.item,
         
     | 
| 
       20 
     | 
    
         
            -
                 
     | 
| 
      
 24 
     | 
    
         
            +
                pathToItem = _ref.pathToItem;
         
     | 
| 
       21 
25 
     | 
    
         
             
              var label = item.label,
         
     | 
| 
       22 
26 
     | 
    
         
             
                value = item.value,
         
     | 
| 
       23 
27 
     | 
    
         
             
                disabled = item.disabled,
         
     | 
| 
         @@ -38,12 +42,15 @@ var Item = function Item(_ref) { 
     | 
|
| 
       38 
42 
     | 
    
         
             
                handleItemClick = _useContext.handleItemClick,
         
     | 
| 
       39 
43 
     | 
    
         
             
                handleCheckboxChange = _useContext.handleCheckboxChange,
         
     | 
| 
       40 
44 
     | 
    
         
             
                valueToPathMap = _useContext.valueToPathMap;
         
     | 
| 
      
 45 
     | 
    
         
            +
              var ref = React.useRef(null);
         
     | 
| 
       41 
46 
     | 
    
         
             
              var itemDisabled = disabled;
         
     | 
| 
      
 47 
     | 
    
         
            +
              var disabledClassName = itemDisabled ? Select_tokens.classes.dropdownItemIsDisabled : undefined;
         
     | 
| 
       42 
48 
     | 
    
         
             
              var currentItemDepth = (((_valueToPathMap$get = valueToPathMap.get(item.value.toString())) === null || _valueToPathMap$get === void 0 ? void 0 : _valueToPathMap$get.length) || 0) - 1;
         
     | 
| 
       43 
49 
     | 
    
         
             
              var isCurrentLevelOpened = treePathReducer.keyExists(treePath, valueToPathMap.get(value.toString()) || []);
         
     | 
| 
       44 
50 
     | 
    
         
             
              var withArrowInverse = isCurrentLevelOpened ? Select_tokens.classes.arrowInverse : undefined;
         
     | 
| 
       45 
     | 
    
         
            -
              var focusedClass =  
     | 
| 
      
 51 
     | 
    
         
            +
              var focusedClass = isArraysEqual.isArraysEqual(pathToItem, focusedPath) ? Select_tokens.classes.dropdownItemIsFocused : undefined;
         
     | 
| 
       46 
52 
     | 
    
         
             
              var handleClick = function handleClick(e) {
         
     | 
| 
      
 53 
     | 
    
         
            +
                if (itemDisabled) return;
         
     | 
| 
       47 
54 
     | 
    
         
             
                if (!isLeaf) {
         
     | 
| 
       48 
55 
     | 
    
         
             
                  dispatchTreePath({
         
     | 
| 
       49 
56 
     | 
    
         
             
                    type: 'toggled_level',
         
     | 
| 
         @@ -59,8 +66,18 @@ var Item = function Item(_ref) { 
     | 
|
| 
       59 
66 
     | 
    
         
             
                e.stopPropagation();
         
     | 
| 
       60 
67 
     | 
    
         
             
                handleCheckboxChange(item);
         
     | 
| 
       61 
68 
     | 
    
         
             
              };
         
     | 
| 
      
 69 
     | 
    
         
            +
              useDidMountEffect.useDidMountEffect(function () {
         
     | 
| 
      
 70 
     | 
    
         
            +
                if (focusedClass && ref !== null && ref !== void 0 && ref.current) {
         
     | 
| 
      
 71 
     | 
    
         
            +
                  ref.current.scrollIntoView({
         
     | 
| 
      
 72 
     | 
    
         
            +
                    behavior: 'smooth',
         
     | 
| 
      
 73 
     | 
    
         
            +
                    block: 'center',
         
     | 
| 
      
 74 
     | 
    
         
            +
                    inline: 'center'
         
     | 
| 
      
 75 
     | 
    
         
            +
                  });
         
     | 
| 
      
 76 
     | 
    
         
            +
                }
         
     | 
| 
      
 77 
     | 
    
         
            +
              }, [focusedClass]);
         
     | 
| 
       62 
78 
     | 
    
         
             
              return /*#__PURE__*/React__default.default.createElement(Item_styles.ItemWrapper, null, /*#__PURE__*/React__default.default.createElement(Item_styles.Wrapper, {
         
     | 
| 
       63 
     | 
    
         
            -
                 
     | 
| 
      
 79 
     | 
    
         
            +
                ref: ref,
         
     | 
| 
      
 80 
     | 
    
         
            +
                className: index.cx(focusedClass, disabledClassName),
         
     | 
| 
       64 
81 
     | 
    
         
             
                onClick: handleClick,
         
     | 
| 
       65 
82 
     | 
    
         
             
                variant: variant,
         
     | 
| 
       66 
83 
     | 
    
         
             
                role: "treeitem"
         
     | 
| 
         @@ -117,8 +134,8 @@ var Item = function Item(_ref) { 
     | 
|
| 
       117 
134 
     | 
    
         
             
              }))), !isLeaf && isCurrentLevelOpened && /*#__PURE__*/React__default.default.createElement(Item_styles.ChildItems, null, (_item$items = item.items) === null || _item$items === void 0 ? void 0 : _item$items.map(function (item, index) {
         
     | 
| 
       118 
135 
     | 
    
         
             
                return /*#__PURE__*/React__default.default.createElement(Item, {
         
     | 
| 
       119 
136 
     | 
    
         
             
                  item: item,
         
     | 
| 
       120 
     | 
    
         
            -
                   
     | 
| 
       121 
     | 
    
         
            -
                   
     | 
| 
      
 137 
     | 
    
         
            +
                  key: item.value,
         
     | 
| 
      
 138 
     | 
    
         
            +
                  pathToItem: [].concat(_rollupPluginBabelHelpers.toConsumableArray(pathToItem), [index])
         
     | 
| 
       122 
139 
     | 
    
         
             
                });
         
     | 
| 
       123 
140 
     | 
    
         
             
              })));
         
     | 
| 
       124 
141 
     | 
    
         
             
            };
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"Item.js","sources":["../../../../../../../../src/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { classes } from 'src/components/Select/Select.tokens';\nimport { sizeToIconSize } from 'src/components/Select/utils';\n\nimport { keyExists } from '../../../../reducers/treePathReducer';\nimport { Context } from '../../../../Combobox.context';\n\nimport { Props } from './Item.types';\nimport {\n    ItemWrapper,\n    ChildItems,\n    Offset,\n    IconWrapper,\n    StyledCheckboxWrapper,\n    StyledCheckbox,\n    StyledIndicator,\n    StyledIconDone,\n    StyledText,\n    StyledWrapper,\n    StyledCell,\n    DisclosureIconWrapper,\n    StyledArrowRight,\n    Wrapper,\n    StyledArrowLeft,\n} from './Item.styles';\n\nexport const Item: React.FC<Props> = ({ item, index }) => {\n    const { label, value, disabled, contentLeft, contentRight } = item;\n\n    const isLeaf = !item?.items;\n\n    const {\n        checked,\n        multiple,\n        size,\n        variant,\n        renderItem,\n        // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n        // @ts-ignore\n        _checkboxAppearance,\n        focusedPath,\n        treePath,\n        dispatchTreePath,\n        arrowPlacement,\n        handleItemClick,\n        handleCheckboxChange,\n        valueToPathMap,\n    } = useContext(Context);\n\n    const itemDisabled = disabled;\n\n    const currentItemDepth = (valueToPathMap.get(item.value.toString())?.length || 0) - 1;\n\n    const isCurrentLevelOpened = keyExists(treePath, valueToPathMap.get(value.toString()) || []);\n\n    const withArrowInverse = isCurrentLevelOpened ? classes.arrowInverse : undefined;\n\n    const focusedClass =\n        currentItemDepth === focusedPath.length - 1 && index === focusedPath?.[currentItemDepth]\n            ? classes.dropdownItemIsFocused\n            : undefined;\n\n    const handleClick = (e: React.MouseEvent<HTMLElement>) => {\n        if (!isLeaf) {\n            dispatchTreePath({ type: 'toggled_level', value: valueToPathMap.get(value.toString()) || [] });\n        }\n\n        if (handleItemClick) {\n            handleItemClick(item, e);\n        }\n    };\n\n    const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n        if (itemDisabled) return;\n\n        e.stopPropagation();\n\n        handleCheckboxChange(item);\n    };\n\n    return (\n        <ItemWrapper>\n            <Wrapper className={focusedClass} onClick={handleClick} variant={variant} role=\"treeitem\">\n                <Offset depth={currentItemDepth} />\n\n                {arrowPlacement === 'left' && (\n                    <DisclosureIconWrapper visibility={isLeaf ? 'hidden' : 'visible'}>\n                        <StyledArrowLeft\n                            size={sizeToIconSize(size, variant)}\n                            color=\"inherit\"\n                            className={withArrowInverse}\n                        />\n                    </DisclosureIconWrapper>\n                )}\n\n                {multiple && (\n                    <IconWrapper variant={variant}>\n                        <StyledCheckboxWrapper onClick={(e) => e.stopPropagation()}>\n                            <StyledCheckbox\n                                disabled={itemDisabled}\n                                checked={Boolean(checked.get(item.value))}\n                                indeterminate={checked.get(item.value) === 'indeterminate'}\n                                onChange={handleChange}\n                                appearance={_checkboxAppearance ?? 'default'}\n                            />\n                        </StyledCheckboxWrapper>\n                    </IconWrapper>\n                )}\n\n                {!multiple && arrowPlacement === 'right' && (\n                    <IconWrapper variant={variant}>\n                        {checked.get(item.value) === 'dot' && <StyledIndicator size=\"s\" view=\"default\" />}\n\n                        {checked.get(item.value) === 'done' && (\n                            <StyledIconDone size={sizeToIconSize(size, variant)} color=\"inherit\" />\n                        )}\n                    </IconWrapper>\n                )}\n\n                {renderItem ? (\n                    <StyledText>{renderItem(item)}</StyledText>\n                ) : (\n                    <StyledWrapper>\n                        <StyledCell\n                            contentLeft={contentLeft}\n                            contentRight={contentRight}\n                            // TODO: #1548\n                            // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n                            // @ts-ignore\n                            title={<span>{label}</span>}\n                        />\n                    </StyledWrapper>\n                )}\n\n                {!multiple && arrowPlacement === 'left' && (\n                    <IconWrapper variant={variant}>\n                        {checked.get(item.value) === 'dot' && <StyledIndicator size=\"s\" view=\"default\" />}\n\n                        {checked.get(item.value) === 'done' && (\n                            <StyledIconDone size={sizeToIconSize(size, variant)} color=\"inherit\" />\n                        )}\n                    </IconWrapper>\n                )}\n\n                {arrowPlacement === 'right' && (\n                    <DisclosureIconWrapper visibility={isLeaf ? 'hidden' : 'visible'}>\n                        <StyledArrowRight\n                            size={sizeToIconSize(size, variant)}\n                            color=\"inherit\"\n                            className={withArrowInverse}\n                        />\n                    </DisclosureIconWrapper>\n                )}\n            </Wrapper>\n\n            {!isLeaf && isCurrentLevelOpened && (\n                <ChildItems>\n                    {item.items?.map((item, index) => {\n                        return <Item item={item} index={index} key={index} />;\n                    })}\n                </ChildItems>\n            )}\n        </ItemWrapper>\n    );\n};\n"],"names":["Item","_ref","_valueToPathMap$get","_item$items","item","index","label","value","disabled","contentLeft","contentRight","isLeaf","items","_useContext","useContext","Context","checked","multiple","size","variant","renderItem","_checkboxAppearance","focusedPath","treePath","dispatchTreePath","arrowPlacement","handleItemClick","handleCheckboxChange","valueToPathMap","itemDisabled","currentItemDepth","get","toString","length","isCurrentLevelOpened","keyExists","withArrowInverse","classes","arrowInverse","undefined","focusedClass","dropdownItemIsFocused","handleClick","e","type","handleChange","stopPropagation","React","createElement","ItemWrapper","Wrapper","className","onClick","role","Offset","depth","DisclosureIconWrapper","visibility","StyledArrowLeft","sizeToIconSize","color","IconWrapper","StyledCheckboxWrapper","StyledCheckbox","Boolean","indeterminate","onChange","appearance","_StyledIndicator","StyledIndicator","view","StyledIconDone","StyledText","StyledWrapper","StyledCell","title","_StyledIndicator2","StyledArrowRight","ChildItems","map","key"],"mappings":";;;;;;;;;;;;;;;;IA0BaA,IAAqB,GAAG,SAAxBA,IAAqBA,CAAAC,IAAA,EAAwB;EAAA,IAAAC,mBAAA,EAAAC,WAAA,CAAA;AAAA,EAAA,IAAlBC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IAAEC,KAAK,GAAAJ,IAAA,CAALI,KAAK,CAAA;AAC/C,EAAA,IAAQC,KAAK,GAAiDF,IAAI,CAA1DE,KAAK;IAAEC,KAAK,GAA0CH,IAAI,CAAnDG,KAAK;IAAEC,QAAQ,GAAgCJ,IAAI,CAA5CI,QAAQ;IAAEC,WAAW,GAAmBL,IAAI,CAAlCK,WAAW;IAAEC,YAAY,GAAKN,IAAI,CAArBM,YAAY,CAAA;EAEzD,IAAMC,MAAM,GAAG,EAACP,IAAI,aAAJA,IAAI,KAAA,KAAA,CAAA,IAAJA,IAAI,CAAEQ,KAAK,CAAA,CAAA;AAE3B,EAAA,IAAAC,WAAA,GAgBIC,gBAAU,CAACC,wBAAO,CAAC;IAfnBC,OAAO,GAAAH,WAAA,CAAPG,OAAO;IACPC,QAAQ,GAAAJ,WAAA,CAARI,QAAQ;IACRC,IAAI,GAAAL,WAAA,CAAJK,IAAI;IACJC,OAAO,GAAAN,WAAA,CAAPM,OAAO;IACPC,UAAU,GAAAP,WAAA,CAAVO,UAAU;IAGVC,mBAAmB,GAAAR,WAAA,CAAnBQ,mBAAmB;IACnBC,WAAW,GAAAT,WAAA,CAAXS,WAAW;IACXC,QAAQ,GAAAV,WAAA,CAARU,QAAQ;IACRC,gBAAgB,GAAAX,WAAA,CAAhBW,gBAAgB;IAChBC,cAAc,GAAAZ,WAAA,CAAdY,cAAc;IACdC,eAAe,GAAAb,WAAA,CAAfa,eAAe;IACfC,oBAAoB,GAAAd,WAAA,CAApBc,oBAAoB;IACpBC,cAAc,GAAAf,WAAA,CAAde,cAAc,CAAA;EAGlB,IAAMC,YAAY,GAAGrB,QAAQ,CAAA;EAE7B,IAAMsB,gBAAgB,GAAG,CAAC,CAAA5B,CAAAA,mBAAA,GAAA0B,cAAc,CAACG,GAAG,CAAC3B,IAAI,CAACG,KAAK,CAACyB,QAAQ,EAAE,CAAC,MAAA,IAAA,IAAA9B,mBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAzCA,mBAAA,CAA2C+B,MAAM,KAAI,CAAC,IAAI,CAAC,CAAA;AAErF,EAAA,IAAMC,oBAAoB,GAAGC,yBAAS,CAACZ,QAAQ,EAAEK,cAAc,CAACG,GAAG,CAACxB,KAAK,CAACyB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;EAE5F,IAAMI,gBAAgB,GAAGF,oBAAoB,GAAGG,qBAAO,CAACC,YAAY,GAAGC,SAAS,CAAA;EAEhF,IAAMC,YAAY,GACdV,gBAAgB,KAAKR,WAAW,CAACW,MAAM,GAAG,CAAC,IAAI5B,KAAK,MAAKiB,WAAW,KAAXA,IAAAA,IAAAA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAGQ,gBAAgB,CAAC,CAAA,GAClFO,qBAAO,CAACI,qBAAqB,GAC7BF,SAAS,CAAA;AAEnB,EAAA,IAAMG,WAAW,GAAG,SAAdA,WAAWA,CAAIC,CAAgC,EAAK;IACtD,IAAI,CAAChC,MAAM,EAAE;AACTa,MAAAA,gBAAgB,CAAC;AAAEoB,QAAAA,IAAI,EAAE,eAAe;QAAErC,KAAK,EAAEqB,cAAc,CAACG,GAAG,CAACxB,KAAK,CAACyB,QAAQ,EAAE,CAAC,IAAI,EAAA;AAAG,OAAC,CAAC,CAAA;AAClG,KAAA;AAEA,IAAA,IAAIN,eAAe,EAAE;AACjBA,MAAAA,eAAe,CAACtB,IAAI,EAAEuC,CAAC,CAAC,CAAA;AAC5B,KAAA;GACH,CAAA;AAED,EAAA,IAAME,YAAY,GAAG,SAAfA,YAAYA,CAAIF,CAAsC,EAAK;AAC7D,IAAA,IAAId,YAAY,EAAE,OAAA;IAElBc,CAAC,CAACG,eAAe,EAAE,CAAA;IAEnBnB,oBAAoB,CAACvB,IAAI,CAAC,CAAA;GAC7B,CAAA;EAED,oBACI2C,sBAAA,CAAAC,aAAA,CAACC,uBAAW,qBACRF,sBAAA,CAAAC,aAAA,CAACE,mBAAO,EAAA;AAACC,IAAAA,SAAS,EAAEX,YAAa;AAACY,IAAAA,OAAO,EAAEV,WAAY;AAACvB,IAAAA,OAAO,EAAEA,OAAQ;AAACkC,IAAAA,IAAI,EAAC,UAAA;AAAU,GAAA,eACrFN,sBAAA,CAAAC,aAAA,CAACM,kBAAM,EAAA;AAACC,IAAAA,KAAK,EAAEzB,gBAAAA;GAAmB,CAAC,EAElCL,cAAc,KAAK,MAAM,iBACtBsB,sBAAA,CAAAC,aAAA,CAACQ,iCAAqB,EAAA;AAACC,IAAAA,UAAU,EAAE9C,MAAM,GAAG,QAAQ,GAAG,SAAA;AAAU,GAAA,eAC7DoC,sBAAA,CAAAC,aAAA,CAACU,2BAAe,EAAA;AACZxC,IAAAA,IAAI,EAAEyC,6BAAc,CAACzC,IAAI,EAAEC,OAAO,CAAE;AACpCyC,IAAAA,KAAK,EAAC,SAAS;AACfT,IAAAA,SAAS,EAAEf,gBAAAA;GACd,CACkB,CAC1B,EAEAnB,QAAQ,iBACL8B,sBAAA,CAAAC,aAAA,CAACa,uBAAW,EAAA;AAAC1C,IAAAA,OAAO,EAAEA,OAAAA;AAAQ,GAAA,eAC1B4B,sBAAA,CAAAC,aAAA,CAACc,iCAAqB,EAAA;IAACV,OAAO,EAAE,SAAAA,OAAAA,CAACT,CAAC,EAAA;AAAA,MAAA,OAAKA,CAAC,CAACG,eAAe,EAAE,CAAA;AAAA,KAAA;AAAC,GAAA,eACvDC,sBAAA,CAAAC,aAAA,CAACe,0BAAc,EAAA;AACXvD,IAAAA,QAAQ,EAAEqB,YAAa;IACvBb,OAAO,EAAEgD,OAAO,CAAChD,OAAO,CAACe,GAAG,CAAC3B,IAAI,CAACG,KAAK,CAAC,CAAE;IAC1C0D,aAAa,EAAEjD,OAAO,CAACe,GAAG,CAAC3B,IAAI,CAACG,KAAK,CAAC,KAAK,eAAgB;AAC3D2D,IAAAA,QAAQ,EAAErB,YAAa;AACvBsB,IAAAA,UAAU,EAAE9C,mBAAmB,KAAA,IAAA,IAAnBA,mBAAmB,KAAA,KAAA,CAAA,GAAnBA,mBAAmB,GAAI,SAAA;AAAU,GAChD,CACkB,CACd,CAChB,EAEA,CAACJ,QAAQ,IAAIQ,cAAc,KAAK,OAAO,iBACpCsB,sBAAA,CAAAC,aAAA,CAACa,uBAAW,EAAA;AAAC1C,IAAAA,OAAO,EAAEA,OAAAA;AAAQ,GAAA,EACzBH,OAAO,CAACe,GAAG,CAAC3B,IAAI,CAACG,KAAK,CAAC,KAAK,KAAK,KAAA6D,gBAAA,KAAAA,gBAAA,gBAAIrB,sBAAA,CAAAC,aAAA,CAACqB,2BAAe,EAAA;AAACnD,IAAAA,IAAI,EAAC,GAAG;AAACoD,IAAAA,IAAI,EAAC,SAAA;AAAS,GAAE,CAAC,CAEhFtD,CAAAA,EAAAA,OAAO,CAACe,GAAG,CAAC3B,IAAI,CAACG,KAAK,CAAC,KAAK,MAAM,iBAC/BwC,sBAAA,CAAAC,aAAA,CAACuB,0BAAc,EAAA;AAACrD,IAAAA,IAAI,EAAEyC,6BAAc,CAACzC,IAAI,EAAEC,OAAO,CAAE;AAACyC,IAAAA,KAAK,EAAC,SAAA;GAAW,CAEjE,CAChB,EAEAxC,UAAU,gBACP2B,sBAAA,CAAAC,aAAA,CAACwB,sBAAU,EAAA,IAAA,EAAEpD,UAAU,CAAChB,IAAI,CAAc,CAAC,gBAE3C2C,sBAAA,CAAAC,aAAA,CAACyB,yBAAa,EAAA,IAAA,eACV1B,sBAAA,CAAAC,aAAA,CAAC0B,sBAAU,EAAA;AACPjE,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,YAAY,EAAEA,YAAAA;AACd;AACA;AACA;AAAA;AACAiE,IAAAA,KAAK,eAAE5B,sBAAA,CAAAC,aAAA,eAAO1C,KAAY,CAAA;AAAE,GAC/B,CACU,CAClB,EAEA,CAACW,QAAQ,IAAIQ,cAAc,KAAK,MAAM,iBACnCsB,sBAAA,CAAAC,aAAA,CAACa,uBAAW,EAAA;AAAC1C,IAAAA,OAAO,EAAEA,OAAAA;AAAQ,GAAA,EACzBH,OAAO,CAACe,GAAG,CAAC3B,IAAI,CAACG,KAAK,CAAC,KAAK,KAAK,KAAAqE,iBAAA,KAAAA,iBAAA,gBAAI7B,sBAAA,CAAAC,aAAA,CAACqB,2BAAe,EAAA;AAACnD,IAAAA,IAAI,EAAC,GAAG;AAACoD,IAAAA,IAAI,EAAC,SAAA;AAAS,GAAE,CAAC,CAEhFtD,CAAAA,EAAAA,OAAO,CAACe,GAAG,CAAC3B,IAAI,CAACG,KAAK,CAAC,KAAK,MAAM,iBAC/BwC,sBAAA,CAAAC,aAAA,CAACuB,0BAAc,EAAA;AAACrD,IAAAA,IAAI,EAAEyC,6BAAc,CAACzC,IAAI,EAAEC,OAAO,CAAE;AAACyC,IAAAA,KAAK,EAAC,SAAA;GAAW,CAEjE,CAChB,EAEAnC,cAAc,KAAK,OAAO,iBACvBsB,sBAAA,CAAAC,aAAA,CAACQ,iCAAqB,EAAA;AAACC,IAAAA,UAAU,EAAE9C,MAAM,GAAG,QAAQ,GAAG,SAAA;AAAU,GAAA,eAC7DoC,sBAAA,CAAAC,aAAA,CAAC6B,4BAAgB,EAAA;AACb3D,IAAAA,IAAI,EAAEyC,6BAAc,CAACzC,IAAI,EAAEC,OAAO,CAAE;AACpCyC,IAAAA,KAAK,EAAC,SAAS;AACfT,IAAAA,SAAS,EAAEf,gBAAAA;AAAiB,GAC/B,CACkB,CAEtB,CAAC,EAET,CAACzB,MAAM,IAAIuB,oBAAoB,iBAC5Ba,sBAAA,CAAAC,aAAA,CAAC8B,sBAAU,EAAA,IAAA,EAAA,CAAA3E,WAAA,GACNC,IAAI,CAACQ,KAAK,MAAA,IAAA,IAAAT,WAAA,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAA,CAAY4E,GAAG,CAAC,UAAC3E,IAAI,EAAEC,KAAK,EAAK;AAC9B,IAAA,oBAAO0C,sBAAA,CAAAC,aAAA,CAAChD,IAAI,EAAA;AAACI,MAAAA,IAAI,EAAEA,IAAK;AAACC,MAAAA,KAAK,EAAEA,KAAM;AAAC2E,MAAAA,GAAG,EAAE3E,KAAAA;AAAM,KAAE,CAAC,CAAA;GACxD,CACO,CAEP,CAAC,CAAA;AAEtB;;;;"}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"Item.js","sources":["../../../../../../../../src/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.tsx"],"sourcesContent":["import React, { useContext, useRef } from 'react';\nimport { classes } from 'src/components/Select/Select.tokens';\nimport { sizeToIconSize } from 'src/components/Select/utils';\nimport { useDidMountEffect } from 'src/hooks';\nimport { isArraysEqual, cx } from 'src/utils';\n\nimport { keyExists } from '../../../../reducers/treePathReducer';\nimport { Context } from '../../../../Combobox.context';\n\nimport { Props } from './Item.types';\nimport {\n    ItemWrapper,\n    ChildItems,\n    Offset,\n    IconWrapper,\n    StyledCheckboxWrapper,\n    StyledCheckbox,\n    StyledIndicator,\n    StyledIconDone,\n    StyledText,\n    StyledWrapper,\n    StyledCell,\n    DisclosureIconWrapper,\n    StyledArrowRight,\n    Wrapper,\n    StyledArrowLeft,\n} from './Item.styles';\n\nexport const Item: React.FC<Props> = ({ item, pathToItem }) => {\n    const { label, value, disabled, contentLeft, contentRight } = item;\n\n    const isLeaf = !item?.items;\n\n    const {\n        checked,\n        multiple,\n        size,\n        variant,\n        renderItem,\n        // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n        // @ts-ignore\n        _checkboxAppearance,\n        focusedPath,\n        treePath,\n        dispatchTreePath,\n        arrowPlacement,\n        handleItemClick,\n        handleCheckboxChange,\n        valueToPathMap,\n    } = useContext(Context);\n\n    const ref = useRef<HTMLDivElement | null>(null);\n\n    const itemDisabled = disabled;\n    const disabledClassName = itemDisabled ? classes.dropdownItemIsDisabled : undefined;\n\n    const currentItemDepth = (valueToPathMap.get(item.value.toString())?.length || 0) - 1;\n\n    const isCurrentLevelOpened = keyExists(treePath, valueToPathMap.get(value.toString()) || []);\n\n    const withArrowInverse = isCurrentLevelOpened ? classes.arrowInverse : undefined;\n\n    const focusedClass = isArraysEqual(pathToItem, focusedPath) ? classes.dropdownItemIsFocused : undefined;\n\n    const handleClick = (e: React.MouseEvent<HTMLElement>) => {\n        if (itemDisabled) return;\n\n        if (!isLeaf) {\n            dispatchTreePath({ type: 'toggled_level', value: valueToPathMap.get(value.toString()) || [] });\n        }\n\n        if (handleItemClick) {\n            handleItemClick(item, e);\n        }\n    };\n\n    const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n        if (itemDisabled) return;\n\n        e.stopPropagation();\n\n        handleCheckboxChange(item);\n    };\n\n    useDidMountEffect(() => {\n        if (focusedClass && ref?.current) {\n            ref.current.scrollIntoView({\n                behavior: 'smooth',\n                block: 'center',\n                inline: 'center',\n            });\n        }\n    }, [focusedClass]);\n\n    return (\n        <ItemWrapper>\n            <Wrapper\n                ref={ref}\n                className={cx(focusedClass, disabledClassName)}\n                onClick={handleClick}\n                variant={variant}\n                role=\"treeitem\"\n            >\n                <Offset depth={currentItemDepth} />\n\n                {arrowPlacement === 'left' && (\n                    <DisclosureIconWrapper visibility={isLeaf ? 'hidden' : 'visible'}>\n                        <StyledArrowLeft\n                            size={sizeToIconSize(size, variant)}\n                            color=\"inherit\"\n                            className={withArrowInverse}\n                        />\n                    </DisclosureIconWrapper>\n                )}\n\n                {multiple && (\n                    <IconWrapper variant={variant}>\n                        <StyledCheckboxWrapper onClick={(e) => e.stopPropagation()}>\n                            <StyledCheckbox\n                                disabled={itemDisabled}\n                                checked={Boolean(checked.get(item.value))}\n                                indeterminate={checked.get(item.value) === 'indeterminate'}\n                                onChange={handleChange}\n                                appearance={_checkboxAppearance ?? 'default'}\n                            />\n                        </StyledCheckboxWrapper>\n                    </IconWrapper>\n                )}\n\n                {!multiple && arrowPlacement === 'right' && (\n                    <IconWrapper variant={variant}>\n                        {checked.get(item.value) === 'dot' && <StyledIndicator size=\"s\" view=\"default\" />}\n\n                        {checked.get(item.value) === 'done' && (\n                            <StyledIconDone size={sizeToIconSize(size, variant)} color=\"inherit\" />\n                        )}\n                    </IconWrapper>\n                )}\n\n                {renderItem ? (\n                    <StyledText>{renderItem(item)}</StyledText>\n                ) : (\n                    <StyledWrapper>\n                        <StyledCell\n                            contentLeft={contentLeft}\n                            contentRight={contentRight}\n                            // TODO: #1548\n                            // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n                            // @ts-ignore\n                            title={<span>{label}</span>}\n                        />\n                    </StyledWrapper>\n                )}\n\n                {!multiple && arrowPlacement === 'left' && (\n                    <IconWrapper variant={variant}>\n                        {checked.get(item.value) === 'dot' && <StyledIndicator size=\"s\" view=\"default\" />}\n\n                        {checked.get(item.value) === 'done' && (\n                            <StyledIconDone size={sizeToIconSize(size, variant)} color=\"inherit\" />\n                        )}\n                    </IconWrapper>\n                )}\n\n                {arrowPlacement === 'right' && (\n                    <DisclosureIconWrapper visibility={isLeaf ? 'hidden' : 'visible'}>\n                        <StyledArrowRight\n                            size={sizeToIconSize(size, variant)}\n                            color=\"inherit\"\n                            className={withArrowInverse}\n                        />\n                    </DisclosureIconWrapper>\n                )}\n            </Wrapper>\n\n            {!isLeaf && isCurrentLevelOpened && (\n                <ChildItems>\n                    {item.items?.map((item, index) => {\n                        return <Item item={item} key={item.value} pathToItem={[...pathToItem, index]} />;\n                    })}\n                </ChildItems>\n            )}\n        </ItemWrapper>\n    );\n};\n"],"names":["Item","_ref","_valueToPathMap$get","_item$items","item","pathToItem","label","value","disabled","contentLeft","contentRight","isLeaf","items","_useContext","useContext","Context","checked","multiple","size","variant","renderItem","_checkboxAppearance","focusedPath","treePath","dispatchTreePath","arrowPlacement","handleItemClick","handleCheckboxChange","valueToPathMap","ref","useRef","itemDisabled","disabledClassName","classes","dropdownItemIsDisabled","undefined","currentItemDepth","get","toString","length","isCurrentLevelOpened","keyExists","withArrowInverse","arrowInverse","focusedClass","isArraysEqual","dropdownItemIsFocused","handleClick","e","type","handleChange","stopPropagation","useDidMountEffect","current","scrollIntoView","behavior","block","inline","React","createElement","ItemWrapper","Wrapper","className","cx","onClick","role","Offset","depth","DisclosureIconWrapper","visibility","StyledArrowLeft","sizeToIconSize","color","IconWrapper","StyledCheckboxWrapper","StyledCheckbox","Boolean","indeterminate","onChange","appearance","_StyledIndicator","StyledIndicator","view","StyledIconDone","StyledText","StyledWrapper","StyledCell","title","_StyledIndicator2","StyledArrowRight","ChildItems","map","index","key","concat","_toConsumableArray"],"mappings":"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"}
         
     | 
| 
         @@ -343,7 +343,8 @@ var selectRoot = function selectRoot(Root) { 
     | 
|
| 
       343 
343 
     | 
    
         
             
                    treePath: treePath,
         
     | 
| 
       344 
344 
     | 
    
         
             
                    dispatchTreePath: dispatchTreePath,
         
     | 
| 
       345 
345 
     | 
    
         
             
                    treeView: treeView,
         
     | 
| 
       346 
     | 
    
         
            -
                    valueToPathMap: valueToPathMap
         
     | 
| 
      
 346 
     | 
    
         
            +
                    valueToPathMap: valueToPathMap,
         
     | 
| 
      
 347 
     | 
    
         
            +
                    items: transformedItems
         
     | 
| 
       347 
348 
     | 
    
         
             
                  }),
         
     | 
| 
       348 
349 
     | 
    
         
             
                  onKeyDown = _useKeyNavigation.onKeyDown;
         
     | 
| 
       349 
350 
     | 
    
         | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n    forwardRef,\n    useState,\n    useReducer,\n    useMemo,\n    useLayoutEffect,\n    useRef,\n    ChangeEvent,\n    ForwardedRef,\n} from 'react';\nimport { RootProps } from 'src/engines';\nimport { isEmpty, safeUseId } from 'src/utils';\nimport { useOutsideClick } from 'src/hooks';\n\nimport type { HintProps } from '../TextField/TextField.types';\n\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner, Target, VirtualList, SelectAll, TreeList } from './ui';\nimport { pathReducer, focusedPathReducer, treePathReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { Ul, base, ListWrapper } from './Select.styles';\nimport type { MergedSelectProps, RequiredProps } from './Select.types';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { FloatingPopover } from './FloatingPopover';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Select.context';\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n    forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n        const {\n            // eslint-disable-block @typescript-eslint/ban-ts-comment\n            id,\n            value: outerValue,\n            onChange: outerOnChange,\n            target = 'textfield-like',\n            items,\n            treeView = false,\n            arrowPlacement = 'left',\n            placement = 'bottom',\n            label,\n            labelPlacement,\n            placeholder,\n            helperText,\n            disabled = false,\n            readOnly = false,\n            view: outerView,\n            size,\n            listOverflow,\n            listHeight,\n            listMaxHeight,\n            listWidth,\n            contentLeft,\n            onScrollBottom,\n            onScroll,\n            chipView,\n            variant = 'normal',\n            portal,\n            renderValue,\n            renderItem,\n            status,\n            onItemSelect,\n            separator,\n            closeAfterSelect: outerCloseAfterSelect,\n            isTargetAmount,\n            beforeList,\n            afterList,\n            zIndex,\n            name,\n            defaultValue,\n            virtual = false,\n            onToggle,\n            chipType,\n            multiselect,\n            mode = 'default',\n            chipClickArea,\n            // @ts-ignore\n            _offset,\n\n            // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.\n            // @ts-ignore\n            required,\n            // @ts-ignore\n            requiredPlacement,\n            // @ts-ignore\n            hasRequiredIndicator,\n            // @ts-ignore\n            optional,\n            // @ts-ignore\n            hintText,\n            // @ts-ignore\n            hintTrigger,\n            // @ts-ignore\n            hintView,\n            // @ts-ignore\n            hintSize,\n            // @ts-ignore\n            hintTargetPlacement,\n            // @ts-ignore\n            hintPlacement,\n            // @ts-ignore\n            hintWidth,\n            // @ts-ignore\n            hintHasArrow,\n            // @ts-ignore\n            hasHint,\n            ...rest\n        } = props;\n        const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n        // Создаем структуры для быстрой работы с деревом\n        const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap, valueToPathMap] = usePathMaps(\n            transformedItems,\n        );\n\n        const [internalValue, setInternalValue] = useState<string | number | Array<string | number>>(\n            props.multiselect ? [] : '',\n        );\n\n        const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n        const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n        // Состояния дерева элементов\n        const [path, dispatchPath] = useReducer(pathReducer, []);\n        const [treePath, dispatchTreePath] = useReducer(treePathReducer, {});\n        const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n        const [checked, setChecked] = useState(valueToCheckedMap);\n\n        const isCurrentListOpen = Boolean(path[0]);\n        const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value.toString() || '';\n        const closeAfterSelect = outerCloseAfterSelect ?? !props.multiselect;\n        const treeId = safeUseId();\n        const listWrapperRef = useRef<HTMLDivElement>(null);\n        const view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\n        const rootRef = useRef<HTMLInputElement>(null);\n\n        // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.\n        const requiredProps =\n            props.target === 'button-like'\n                ? undefined\n                : ({\n                      required,\n                      requiredPlacement,\n                      hasRequiredIndicator,\n                      optional,\n                  } as RequiredProps);\n\n        // Собираем объект с пропсами для hint и прокидываем их напрямую в компонент Textfield.\n        const hintProps =\n            props.target === 'button-like'\n                ? undefined\n                : ({\n                      hintText,\n                      hintTrigger,\n                      hintView,\n                      hintSize,\n                      hintTargetPlacement,\n                      hintPlacement,\n                      hintWidth,\n                      hintHasArrow,\n                  } as HintProps);\n\n        /* Логика работы при клике за пределами выпадающего списка */\n        useOutsideClick(() => {\n            if (!isCurrentListOpen) {\n                return;\n            }\n\n            handleListToggle(false);\n        }, [floatingPopoverRef, listWrapperRef]);\n\n        const onChange = (\n            newValue?: string | number | Array<string | number> | ChangeEvent<HTMLSelectElement> | null,\n            item?: MergedDropdownNodeTransformed | null,\n        ) => {\n            if (props.onChange) {\n                // Условие для отправки если компонент используется без формы.\n                if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n                    props.onChange(newValue as any, item || null);\n                }\n\n                // Условие для отправки если компонент используется с формой.\n                // Убрать условие \"typeof ref === 'function'\" в PLASMA 2.0\n                if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n                    props.onChange(newValue as any, item || null);\n                }\n            }\n\n            // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n            if (typeof newValue === 'string' || Array.isArray(newValue)) {\n                setInternalValue(newValue);\n            }\n        };\n\n        const handleListToggle = (opened: boolean) => {\n            if (disabled || readOnly) {\n                return;\n            }\n\n            if (opened) {\n                dispatchPath({ type: 'opened_first_level' });\n            } else {\n                dispatchFocusedPath({ type: 'reset' });\n                dispatchPath({ type: 'reset' });\n                dispatchTreePath({ type: 'reset' });\n\n                // Скроллим чипы к левому краю при закрытии компонента\n                const el = rootRef?.current?.querySelector('.input-scrollable-wrapper');\n                if (multiselect && value.length > 0 && el) {\n                    el.scrollLeft = 0;\n                }\n            }\n\n            if (onToggle) {\n                onToggle(opened);\n            }\n        };\n\n        const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n            if (!props.multiselect) {\n                return;\n            }\n\n            const checkedCopy = new Map(checked);\n\n            switch (checkedCopy.get(item.value)) {\n                // Если чекбокс в состоянии indeterminate\n                case 'indeterminate': {\n                    updateDescendants(item, checkedCopy, true, valueToItemMap);\n                    break;\n                }\n                // Если чекбокс в состоянии checked\n                case true: {\n                    updateDescendants(item, checkedCopy, false, valueToItemMap);\n                    checkedCopy.set(item.value, false);\n                    break;\n                }\n                // Если чекбокс в состоянии unchecked\n                case false: {\n                    updateDescendants(item, checkedCopy, true, valueToItemMap);\n                    checkedCopy.set(item.value, true);\n                    break;\n                }\n                default: {\n                    break;\n                }\n            }\n\n            const newValues: Array<string | number> = [];\n\n            valueToItemMap.forEach((item, key) => {\n                if (checkedCopy.get(key)) {\n                    newValues.push(item.value);\n                }\n            });\n\n            // Оставляем values, которых нет в items.\n            if (Array.isArray(value)) {\n                value.forEach((val: string) => {\n                    if (!valueToItemMap.has(val)) {\n                        newValues.push(val);\n                    }\n                });\n            }\n\n            if (closeAfterSelect) {\n                dispatchPath({ type: 'reset' });\n                dispatchFocusedPath({ type: 'reset' });\n                dispatchTreePath({ type: 'reset' });\n            }\n\n            if (onChange) {\n                onChange(newValues, item);\n            }\n        };\n\n        const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n            if (!isEmpty(item?.items)) {\n                return;\n            }\n\n            if (props.multiselect) {\n                handleCheckboxChange(item);\n                return;\n            }\n\n            if (e) {\n                e.stopPropagation();\n            }\n\n            const isCurrentChecked = checked.get(item.value);\n\n            if (closeAfterSelect) {\n                dispatchPath({ type: 'reset' });\n                dispatchFocusedPath({ type: 'reset' });\n                dispatchTreePath({ type: 'reset' });\n            }\n\n            // Закрываем список, если элемент уже выбран.\n            if (mode === 'radio' && isCurrentChecked) {\n                return;\n            }\n\n            if (onChange) {\n                onChange(isCurrentChecked ? '' : item.value, item);\n            }\n\n            if (onItemSelect) {\n                onItemSelect(item, e!);\n            }\n        };\n\n        const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n            if (isEmpty(item.items)) {\n                handleItemClick(item, e);\n            } else if (props.multiselect) {\n                handleCheckboxChange(item);\n            }\n        };\n\n        const handleScroll = (e: React.UIEvent<HTMLElement>) => {\n            if (onScroll) {\n                onScroll(e);\n            }\n\n            if (!onScrollBottom) return;\n\n            const { target } = e;\n\n            if (\n                (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n                (target as HTMLElement).clientHeight\n            ) {\n                onScrollBottom(e);\n            }\n        };\n\n        const { onKeyDown } = useKeyNavigation({\n            focusedPath,\n            dispatchFocusedPath,\n            path,\n            dispatchPath,\n            pathMap,\n            focusedToValueMap,\n            handleListToggle,\n            handlePressDown,\n            treePath,\n            dispatchTreePath,\n            treeView,\n            valueToPathMap,\n        });\n\n        // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n        // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n        useLayoutEffect(() => {\n            const checkedCopy = new Map(valueToCheckedMap);\n\n            checkedCopy.forEach((_, key) => {\n                checkedCopy.set(key, false);\n            });\n\n            if (!isEmpty(value) || typeof value === 'number') {\n                if (Array.isArray(value)) {\n                    value.forEach((val) => {\n                        // Только если value находится в items, т.к. value может и не существовать в items.\n                        if (valueToItemMap.has(val)) {\n                            checkedCopy.set(val, true);\n                            updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n                            updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n                        }\n                    });\n                } else {\n                    // Только если value находится в items, т.к. value может и не существовать в items.\n                    // eslint-disable-next-line no-lonely-if\n                    if (valueToItemMap.has(value)) {\n                        checkedCopy.set(value, 'done');\n                        updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n                    }\n                }\n            }\n\n            setChecked(checkedCopy);\n\n            // В deps мы кладем именно outerValue и internalValue, а не просто value.\n            // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n            // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n        }, [outerValue, internalValue, items]);\n\n        useLayoutEffect(() => {\n            if (defaultValue) {\n                setInternalValue(defaultValue as string | string[]);\n            }\n        }, [defaultValue]);\n\n        return (\n            <Root\n                view={view}\n                size={size}\n                labelPlacement={labelPlacement}\n                chipView={chipView}\n                disabled={disabled}\n                readOnly={readOnly}\n                id={id}\n                ref={rootRef}\n                {...(rest as any)}\n            >\n                {name && (\n                    <SelectNative\n                        items={valueToItemMap}\n                        name={name}\n                        value={internalValue}\n                        multiselect={props.multiselect}\n                        onChange={onChange}\n                        onSetValue={setInternalValue}\n                        ref={ref as ForwardedRef<HTMLButtonElement>}\n                    />\n                )}\n                <Context.Provider\n                    value={{\n                        focusedPath,\n                        checked,\n                        multiselect: props.multiselect,\n                        size,\n                        handleCheckboxChange,\n                        handleItemClick,\n                        variant,\n                        renderItem,\n                        treeId,\n                        // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n                        // @ts-ignore\n                        // eslint-disable-next-line no-underscore-dangle\n                        _checkboxAppearance: (rest as any)._checkboxAppearance,\n                        treePath,\n                        dispatchTreePath,\n                        arrowPlacement,\n                        valueToPathMap,\n                    }}\n                >\n                    <FloatingPopover\n                        ref={floatingPopoverRef}\n                        opened={isCurrentListOpen}\n                        onToggle={handleListToggle}\n                        placement={placement}\n                        portal={portal}\n                        listWidth={listWidth}\n                        offset={_offset}\n                        target={(referenceRef) => (\n                            <Target\n                                ref={name ? null : ref}\n                                value={value}\n                                opened={isCurrentListOpen}\n                                valueToItemMap={valueToItemMap}\n                                label={label}\n                                placeholder={placeholder}\n                                onKeyDown={onKeyDown}\n                                labelPlacement={labelPlacement}\n                                size={size}\n                                contentLeft={contentLeft}\n                                disabled={disabled}\n                                readOnly={readOnly}\n                                renderValue={renderValue}\n                                selectProps={props}\n                                inputWrapperRef={referenceRef as React.MutableRefObject<HTMLDivElement>}\n                                multiselect={props.multiselect}\n                                view={view}\n                                helperText={helperText}\n                                treeId={treeId}\n                                activeDescendantItemValue={activeDescendantItemValue}\n                                isTargetAmount={isTargetAmount}\n                                onChange={onChange}\n                                chipView={chipView}\n                                separator={separator}\n                                requiredProps={requiredProps}\n                                hintProps={hintProps}\n                            />\n                        )}\n                        zIndex={zIndex}\n                        isInner={false}\n                    >\n                        <Root\n                            view={view}\n                            size={size}\n                            labelPlacement={labelPlacement}\n                            chipView={chipView}\n                            disabled={disabled}\n                            readOnly={readOnly}\n                            {...(rest as any)}\n                        >\n                            {treeView ? (\n                                <TreeList\n                                    items={items}\n                                    listMaxHeight={listMaxHeight}\n                                    onScroll={virtual ? undefined : handleScroll}\n                                    virtual={virtual}\n                                    beforeList={beforeList}\n                                    afterList={afterList}\n                                />\n                            ) : (\n                                <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n                                    <Ul\n                                        role=\"tree\"\n                                        id={`${treeId}_tree_level_1`}\n                                        aria-multiselectable={Boolean(props.multiselect)}\n                                        listMaxHeight={listMaxHeight || listHeight}\n                                        onScroll={virtual ? undefined : handleScroll}\n                                        virtual={virtual}\n                                    >\n                                        {beforeList}\n\n                                        {props.multiselect && props.selectAllOptions && (\n                                            // TODO: #2004\n                                            <SelectAll selectAllOptions={props.selectAllOptions} variant={variant} />\n                                        )}\n\n                                        {virtual ? (\n                                            <VirtualList\n                                                items={transformedItems}\n                                                listMaxHeight={listMaxHeight || listHeight}\n                                                onScroll={onScroll}\n                                            />\n                                        ) : (\n                                            transformedItems.map((item, index) => (\n                                                <Inner\n                                                    key={`${index}/0`}\n                                                    item={item}\n                                                    currentLevel={0}\n                                                    path={path}\n                                                    dispatchPath={dispatchPath}\n                                                    index={index}\n                                                    listWidth={listWidth}\n                                                    portal={listWrapperRef}\n                                                />\n                                            ))\n                                        )}\n                                        {afterList}\n                                    </Ul>\n                                </ListWrapper>\n                            )}\n                        </Root>\n                    </FloatingPopover>\n                </Context.Provider>\n            </Root>\n        );\n    });\n\nexport const selectConfig = {\n    name: 'Select',\n    tag: 'div',\n    layout: selectRoot,\n    base,\n    variations: {},\n    defaults: {\n        view: 'default',\n        size: 'm',\n        labelPlacement: 'outer',\n        chipView: 'default',\n    },\n};\n"],"names":["selectRoot","Root","forwardRef","props","ref","_getItemByFocused","id","outerValue","value","_props$target","target","items","_props$treeView","treeView","_props$arrowPlacement","arrowPlacement","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","listHeight","listMaxHeight","listWidth","contentLeft","onScrollBottom","onScroll","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","beforeList","afterList","zIndex","name","defaultValue","_props$virtual","virtual","onToggle","multiselect","_props$mode","mode","_offset","required","requiredPlacement","hasRequiredIndicator","optional","hintText","hintTrigger","hintView","hintSize","hintTargetPlacement","hintPlacement","hintWidth","hintHasArrow","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","valueToPathMap","_useState","useState","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","treePathReducer","_useReducer4","treePath","dispatchTreePath","_useReducer5","focusedPathReducer","_useReducer6","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","listWrapperRef","getView","rootRef","requiredProps","hintProps","useOutsideClick","handleListToggle","onChange","newValue","item","Array","isArray","_typeof","opened","type","_rootRef$current","el","current","querySelector","length","scrollLeft","handleCheckboxChange","checkedCopy","Map","get","updateDescendants","set","newValues","forEach","key","push","val","has","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateAncestors","updateSingleAncestors","React","createElement","_extends","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","Target","selectProps","inputWrapperRef","isInner","TreeList","ListWrapper","Ul","role","concat","selectAllOptions","SelectAll","VirtualList","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":"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"}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n    forwardRef,\n    useState,\n    useReducer,\n    useMemo,\n    useLayoutEffect,\n    useRef,\n    ChangeEvent,\n    ForwardedRef,\n} from 'react';\nimport { RootProps } from 'src/engines';\nimport { isEmpty, safeUseId } from 'src/utils';\nimport { useOutsideClick } from 'src/hooks';\n\nimport type { HintProps } from '../TextField/TextField.types';\n\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner, Target, VirtualList, SelectAll, TreeList } from './ui';\nimport { pathReducer, focusedPathReducer, treePathReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { Ul, base, ListWrapper } from './Select.styles';\nimport type { MergedSelectProps, RequiredProps } from './Select.types';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { FloatingPopover } from './FloatingPopover';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Select.context';\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n    forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n        const {\n            // eslint-disable-block @typescript-eslint/ban-ts-comment\n            id,\n            value: outerValue,\n            onChange: outerOnChange,\n            target = 'textfield-like',\n            items,\n            treeView = false,\n            arrowPlacement = 'left',\n            placement = 'bottom',\n            label,\n            labelPlacement,\n            placeholder,\n            helperText,\n            disabled = false,\n            readOnly = false,\n            view: outerView,\n            size,\n            listOverflow,\n            listHeight,\n            listMaxHeight,\n            listWidth,\n            contentLeft,\n            onScrollBottom,\n            onScroll,\n            chipView,\n            variant = 'normal',\n            portal,\n            renderValue,\n            renderItem,\n            status,\n            onItemSelect,\n            separator,\n            closeAfterSelect: outerCloseAfterSelect,\n            isTargetAmount,\n            beforeList,\n            afterList,\n            zIndex,\n            name,\n            defaultValue,\n            virtual = false,\n            onToggle,\n            chipType,\n            multiselect,\n            mode = 'default',\n            chipClickArea,\n            // @ts-ignore\n            _offset,\n\n            // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.\n            // @ts-ignore\n            required,\n            // @ts-ignore\n            requiredPlacement,\n            // @ts-ignore\n            hasRequiredIndicator,\n            // @ts-ignore\n            optional,\n            // @ts-ignore\n            hintText,\n            // @ts-ignore\n            hintTrigger,\n            // @ts-ignore\n            hintView,\n            // @ts-ignore\n            hintSize,\n            // @ts-ignore\n            hintTargetPlacement,\n            // @ts-ignore\n            hintPlacement,\n            // @ts-ignore\n            hintWidth,\n            // @ts-ignore\n            hintHasArrow,\n            // @ts-ignore\n            hasHint,\n            ...rest\n        } = props;\n        const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n        // Создаем структуры для быстрой работы с деревом\n        const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap, valueToPathMap] = usePathMaps(\n            transformedItems,\n        );\n\n        const [internalValue, setInternalValue] = useState<string | number | Array<string | number>>(\n            props.multiselect ? [] : '',\n        );\n\n        const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n        const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n        // Состояния дерева элементов\n        const [path, dispatchPath] = useReducer(pathReducer, []);\n        const [treePath, dispatchTreePath] = useReducer(treePathReducer, {});\n        const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n        const [checked, setChecked] = useState(valueToCheckedMap);\n\n        const isCurrentListOpen = Boolean(path[0]);\n        const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value.toString() || '';\n        const closeAfterSelect = outerCloseAfterSelect ?? !props.multiselect;\n        const treeId = safeUseId();\n        const listWrapperRef = useRef<HTMLDivElement>(null);\n        const view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\n        const rootRef = useRef<HTMLInputElement>(null);\n\n        // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.\n        const requiredProps =\n            props.target === 'button-like'\n                ? undefined\n                : ({\n                      required,\n                      requiredPlacement,\n                      hasRequiredIndicator,\n                      optional,\n                  } as RequiredProps);\n\n        // Собираем объект с пропсами для hint и прокидываем их напрямую в компонент Textfield.\n        const hintProps =\n            props.target === 'button-like'\n                ? undefined\n                : ({\n                      hintText,\n                      hintTrigger,\n                      hintView,\n                      hintSize,\n                      hintTargetPlacement,\n                      hintPlacement,\n                      hintWidth,\n                      hintHasArrow,\n                  } as HintProps);\n\n        /* Логика работы при клике за пределами выпадающего списка */\n        useOutsideClick(() => {\n            if (!isCurrentListOpen) {\n                return;\n            }\n\n            handleListToggle(false);\n        }, [floatingPopoverRef, listWrapperRef]);\n\n        const onChange = (\n            newValue?: string | number | Array<string | number> | ChangeEvent<HTMLSelectElement> | null,\n            item?: MergedDropdownNodeTransformed | null,\n        ) => {\n            if (props.onChange) {\n                // Условие для отправки если компонент используется без формы.\n                if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n                    props.onChange(newValue as any, item || null);\n                }\n\n                // Условие для отправки если компонент используется с формой.\n                // Убрать условие \"typeof ref === 'function'\" в PLASMA 2.0\n                if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n                    props.onChange(newValue as any, item || null);\n                }\n            }\n\n            // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n            if (typeof newValue === 'string' || Array.isArray(newValue)) {\n                setInternalValue(newValue);\n            }\n        };\n\n        const handleListToggle = (opened: boolean) => {\n            if (disabled || readOnly) {\n                return;\n            }\n\n            if (opened) {\n                dispatchPath({ type: 'opened_first_level' });\n            } else {\n                dispatchFocusedPath({ type: 'reset' });\n                dispatchPath({ type: 'reset' });\n                dispatchTreePath({ type: 'reset' });\n\n                // Скроллим чипы к левому краю при закрытии компонента\n                const el = rootRef?.current?.querySelector('.input-scrollable-wrapper');\n                if (multiselect && value.length > 0 && el) {\n                    el.scrollLeft = 0;\n                }\n            }\n\n            if (onToggle) {\n                onToggle(opened);\n            }\n        };\n\n        const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n            if (!props.multiselect) {\n                return;\n            }\n\n            const checkedCopy = new Map(checked);\n\n            switch (checkedCopy.get(item.value)) {\n                // Если чекбокс в состоянии indeterminate\n                case 'indeterminate': {\n                    updateDescendants(item, checkedCopy, true, valueToItemMap);\n                    break;\n                }\n                // Если чекбокс в состоянии checked\n                case true: {\n                    updateDescendants(item, checkedCopy, false, valueToItemMap);\n                    checkedCopy.set(item.value, false);\n                    break;\n                }\n                // Если чекбокс в состоянии unchecked\n                case false: {\n                    updateDescendants(item, checkedCopy, true, valueToItemMap);\n                    checkedCopy.set(item.value, true);\n                    break;\n                }\n                default: {\n                    break;\n                }\n            }\n\n            const newValues: Array<string | number> = [];\n\n            valueToItemMap.forEach((item, key) => {\n                if (checkedCopy.get(key)) {\n                    newValues.push(item.value);\n                }\n            });\n\n            // Оставляем values, которых нет в items.\n            if (Array.isArray(value)) {\n                value.forEach((val: string) => {\n                    if (!valueToItemMap.has(val)) {\n                        newValues.push(val);\n                    }\n                });\n            }\n\n            if (closeAfterSelect) {\n                dispatchPath({ type: 'reset' });\n                dispatchFocusedPath({ type: 'reset' });\n                dispatchTreePath({ type: 'reset' });\n            }\n\n            if (onChange) {\n                onChange(newValues, item);\n            }\n        };\n\n        const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n            if (!isEmpty(item?.items)) {\n                return;\n            }\n\n            if (props.multiselect) {\n                handleCheckboxChange(item);\n                return;\n            }\n\n            if (e) {\n                e.stopPropagation();\n            }\n\n            const isCurrentChecked = checked.get(item.value);\n\n            if (closeAfterSelect) {\n                dispatchPath({ type: 'reset' });\n                dispatchFocusedPath({ type: 'reset' });\n                dispatchTreePath({ type: 'reset' });\n            }\n\n            // Закрываем список, если элемент уже выбран.\n            if (mode === 'radio' && isCurrentChecked) {\n                return;\n            }\n\n            if (onChange) {\n                onChange(isCurrentChecked ? '' : item.value, item);\n            }\n\n            if (onItemSelect) {\n                onItemSelect(item, e!);\n            }\n        };\n\n        const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n            if (isEmpty(item.items)) {\n                handleItemClick(item, e);\n            } else if (props.multiselect) {\n                handleCheckboxChange(item);\n            }\n        };\n\n        const handleScroll = (e: React.UIEvent<HTMLElement>) => {\n            if (onScroll) {\n                onScroll(e);\n            }\n\n            if (!onScrollBottom) return;\n\n            const { target } = e;\n\n            if (\n                (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n                (target as HTMLElement).clientHeight\n            ) {\n                onScrollBottom(e);\n            }\n        };\n\n        const { onKeyDown } = useKeyNavigation({\n            focusedPath,\n            dispatchFocusedPath,\n            path,\n            dispatchPath,\n            pathMap,\n            focusedToValueMap,\n            handleListToggle,\n            handlePressDown,\n            treePath,\n            dispatchTreePath,\n            treeView,\n            valueToPathMap,\n            items: transformedItems,\n        });\n\n        // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n        // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n        useLayoutEffect(() => {\n            const checkedCopy = new Map(valueToCheckedMap);\n\n            checkedCopy.forEach((_, key) => {\n                checkedCopy.set(key, false);\n            });\n\n            if (!isEmpty(value) || typeof value === 'number') {\n                if (Array.isArray(value)) {\n                    value.forEach((val) => {\n                        // Только если value находится в items, т.к. value может и не существовать в items.\n                        if (valueToItemMap.has(val)) {\n                            checkedCopy.set(val, true);\n                            updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n                            updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n                        }\n                    });\n                } else {\n                    // Только если value находится в items, т.к. value может и не существовать в items.\n                    // eslint-disable-next-line no-lonely-if\n                    if (valueToItemMap.has(value)) {\n                        checkedCopy.set(value, 'done');\n                        updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n                    }\n                }\n            }\n\n            setChecked(checkedCopy);\n\n            // В deps мы кладем именно outerValue и internalValue, а не просто value.\n            // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n            // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n        }, [outerValue, internalValue, items]);\n\n        useLayoutEffect(() => {\n            if (defaultValue) {\n                setInternalValue(defaultValue as string | string[]);\n            }\n        }, [defaultValue]);\n\n        return (\n            <Root\n                view={view}\n                size={size}\n                labelPlacement={labelPlacement}\n                chipView={chipView}\n                disabled={disabled}\n                readOnly={readOnly}\n                id={id}\n                ref={rootRef}\n                {...(rest as any)}\n            >\n                {name && (\n                    <SelectNative\n                        items={valueToItemMap}\n                        name={name}\n                        value={internalValue}\n                        multiselect={props.multiselect}\n                        onChange={onChange}\n                        onSetValue={setInternalValue}\n                        ref={ref as ForwardedRef<HTMLButtonElement>}\n                    />\n                )}\n                <Context.Provider\n                    value={{\n                        focusedPath,\n                        checked,\n                        multiselect: props.multiselect,\n                        size,\n                        handleCheckboxChange,\n                        handleItemClick,\n                        variant,\n                        renderItem,\n                        treeId,\n                        // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n                        // @ts-ignore\n                        // eslint-disable-next-line no-underscore-dangle\n                        _checkboxAppearance: (rest as any)._checkboxAppearance,\n                        treePath,\n                        dispatchTreePath,\n                        arrowPlacement,\n                        valueToPathMap,\n                    }}\n                >\n                    <FloatingPopover\n                        ref={floatingPopoverRef}\n                        opened={isCurrentListOpen}\n                        onToggle={handleListToggle}\n                        placement={placement}\n                        portal={portal}\n                        listWidth={listWidth}\n                        offset={_offset}\n                        target={(referenceRef) => (\n                            <Target\n                                ref={name ? null : ref}\n                                value={value}\n                                opened={isCurrentListOpen}\n                                valueToItemMap={valueToItemMap}\n                                label={label}\n                                placeholder={placeholder}\n                                onKeyDown={onKeyDown}\n                                labelPlacement={labelPlacement}\n                                size={size}\n                                contentLeft={contentLeft}\n                                disabled={disabled}\n                                readOnly={readOnly}\n                                renderValue={renderValue}\n                                selectProps={props}\n                                inputWrapperRef={referenceRef as React.MutableRefObject<HTMLDivElement>}\n                                multiselect={props.multiselect}\n                                view={view}\n                                helperText={helperText}\n                                treeId={treeId}\n                                activeDescendantItemValue={activeDescendantItemValue}\n                                isTargetAmount={isTargetAmount}\n                                onChange={onChange}\n                                chipView={chipView}\n                                separator={separator}\n                                requiredProps={requiredProps}\n                                hintProps={hintProps}\n                            />\n                        )}\n                        zIndex={zIndex}\n                        isInner={false}\n                    >\n                        <Root\n                            view={view}\n                            size={size}\n                            labelPlacement={labelPlacement}\n                            chipView={chipView}\n                            disabled={disabled}\n                            readOnly={readOnly}\n                            {...(rest as any)}\n                        >\n                            {treeView ? (\n                                <TreeList\n                                    items={items}\n                                    listMaxHeight={listMaxHeight}\n                                    onScroll={virtual ? undefined : handleScroll}\n                                    virtual={virtual}\n                                    beforeList={beforeList}\n                                    afterList={afterList}\n                                />\n                            ) : (\n                                <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n                                    <Ul\n                                        role=\"tree\"\n                                        id={`${treeId}_tree_level_1`}\n                                        aria-multiselectable={Boolean(props.multiselect)}\n                                        listMaxHeight={listMaxHeight || listHeight}\n                                        onScroll={virtual ? undefined : handleScroll}\n                                        virtual={virtual}\n                                    >\n                                        {beforeList}\n\n                                        {props.multiselect && props.selectAllOptions && (\n                                            // TODO: #2004\n                                            <SelectAll selectAllOptions={props.selectAllOptions} variant={variant} />\n                                        )}\n\n                                        {virtual ? (\n                                            <VirtualList\n                                                items={transformedItems}\n                                                listMaxHeight={listMaxHeight || listHeight}\n                                                onScroll={onScroll}\n                                            />\n                                        ) : (\n                                            transformedItems.map((item, index) => (\n                                                <Inner\n                                                    key={`${index}/0`}\n                                                    item={item}\n                                                    currentLevel={0}\n                                                    path={path}\n                                                    dispatchPath={dispatchPath}\n                                                    index={index}\n                                                    listWidth={listWidth}\n                                                    portal={listWrapperRef}\n                                                />\n                                            ))\n                                        )}\n                                        {afterList}\n                                    </Ul>\n                                </ListWrapper>\n                            )}\n                        </Root>\n                    </FloatingPopover>\n                </Context.Provider>\n            </Root>\n        );\n    });\n\nexport const selectConfig = {\n    name: 'Select',\n    tag: 'div',\n    layout: selectRoot,\n    base,\n    variations: {},\n    defaults: {\n        view: 'default',\n        size: 'm',\n        labelPlacement: 'outer',\n        chipView: 'default',\n    },\n};\n"],"names":["selectRoot","Root","forwardRef","props","ref","_getItemByFocused","id","outerValue","value","_props$target","target","items","_props$treeView","treeView","_props$arrowPlacement","arrowPlacement","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","listHeight","listMaxHeight","listWidth","contentLeft","onScrollBottom","onScroll","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","beforeList","afterList","zIndex","name","defaultValue","_props$virtual","virtual","onToggle","multiselect","_props$mode","mode","_offset","required","requiredPlacement","hasRequiredIndicator","optional","hintText","hintTrigger","hintView","hintSize","hintTargetPlacement","hintPlacement","hintWidth","hintHasArrow","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","valueToPathMap","_useState","useState","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","treePathReducer","_useReducer4","treePath","dispatchTreePath","_useReducer5","focusedPathReducer","_useReducer6","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","listWrapperRef","getView","rootRef","requiredProps","hintProps","useOutsideClick","handleListToggle","onChange","newValue","item","Array","isArray","_typeof","opened","type","_rootRef$current","el","current","querySelector","length","scrollLeft","handleCheckboxChange","checkedCopy","Map","get","updateDescendants","set","newValues","forEach","key","push","val","has","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateAncestors","updateSingleAncestors","React","createElement","_extends","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","Target","selectProps","inputWrapperRef","isInner","TreeList","ListWrapper","Ul","role","concat","selectAllOptions","SelectAll","VirtualList","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":"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"}
         
     |