@salutejs/plasma-new-hope 0.335.0-canary.2197.17377664818.0 → 0.335.0-canary.2198.17378237458.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/Autocomplete/Autocomplete.js +1 -6
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +43 -13
- package/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js.map +1 -1
- package/cjs/components/Carousel/CarouselNew/Carousel.js +4 -3
- package/cjs/components/Carousel/CarouselNew/Carousel.js.map +1 -1
- package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
- package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.js +18 -34
- package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +3 -2
- package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +5 -11
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +43 -13
- package/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js +24 -0
- package/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js.map +1 -0
- package/cjs/components/DatePicker/RangeDate/RangeDate.js +3 -1
- package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -2
- package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
- package/cjs/components/DatePicker/SingleDate/SingleDate.js +4 -2
- package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/cjs/components/Popup/ClientOnlyPortal.js +15 -2
- package/cjs/components/Popup/ClientOnlyPortal.js.map +1 -1
- package/cjs/components/Popup/PopupContext.js +26 -5
- package/cjs/components/Popup/PopupContext.js.map +1 -1
- package/cjs/components/Select/Select.js +3 -4
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.styles.js +3 -2
- package/cjs/components/Select/Select.styles.js.map +1 -1
- package/cjs/components/Select/ui/Inner/Inner.js +5 -11
- package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
- package/cjs/components/Select/ui/VirtualList/VirtualList.js +43 -13
- package/cjs/components/Select/ui/VirtualList/VirtualList.js.map +1 -1
- package/emotion/cjs/components/Autocomplete/Autocomplete.js +1 -8
- package/emotion/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +84 -16
- package/emotion/cjs/components/Carousel/CarouselNew/Carousel.js +2 -2
- package/emotion/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +28 -48
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +15 -15
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +9 -50
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +84 -16
- package/emotion/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js +25 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/utils/index.js +4 -0
- package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +3 -1
- package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
- package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +4 -2
- package/emotion/cjs/components/Popup/ClientOnlyPortal.js +14 -2
- package/emotion/cjs/components/Popup/PopupContext.js +25 -6
- package/emotion/cjs/components/Select/Select.js +2 -4
- package/emotion/cjs/components/Select/Select.styles.js +7 -7
- package/emotion/cjs/components/Select/ui/Inner/Inner.js +9 -50
- package/emotion/cjs/components/Select/ui/VirtualList/VirtualList.js +84 -16
- package/emotion/cjs/examples/components/Combobox/Combobox.js +0 -15
- package/emotion/es/components/Autocomplete/Autocomplete.js +2 -9
- package/emotion/es/components/Autocomplete/ui/VirtualList/VirtualList.js +45 -13
- package/emotion/es/components/Carousel/CarouselNew/Carousel.js +2 -2
- package/emotion/es/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +14 -34
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.styles.js +15 -15
- package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +6 -11
- package/emotion/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +45 -13
- package/emotion/es/components/Combobox/ComboboxNew/utils/getTextValue.js +16 -0
- package/emotion/es/components/Combobox/ComboboxNew/utils/index.js +1 -0
- package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +3 -1
- package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
- package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +4 -2
- package/emotion/es/components/Popup/ClientOnlyPortal.js +14 -2
- package/emotion/es/components/Popup/PopupContext.js +25 -6
- package/emotion/es/components/Select/Select.js +2 -4
- package/emotion/es/components/Select/Select.styles.js +7 -7
- package/emotion/es/components/Select/ui/Inner/Inner.js +6 -11
- package/emotion/es/components/Select/ui/VirtualList/VirtualList.js +45 -13
- package/emotion/es/examples/components/Combobox/Combobox.js +7 -0
- package/es/components/Autocomplete/Autocomplete.js +2 -7
- package/es/components/Autocomplete/Autocomplete.js.map +1 -1
- package/es/components/Autocomplete/ui/VirtualList/VirtualList.js +44 -13
- package/es/components/Autocomplete/ui/VirtualList/VirtualList.js.map +1 -1
- package/es/components/Carousel/CarouselNew/Carousel.js +5 -4
- package/es/components/Carousel/CarouselNew/Carousel.js.map +1 -1
- package/es/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
- package/es/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.js +18 -34
- package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.styles.js +3 -2
- package/es/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +6 -12
- package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +44 -13
- package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/utils/getTextValue.js +20 -0
- package/es/components/Combobox/ComboboxNew/utils/getTextValue.js.map +1 -0
- package/es/components/DatePicker/RangeDate/RangeDate.js +3 -1
- package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -2
- package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
- package/es/components/DatePicker/SingleDate/SingleDate.js +4 -2
- package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/es/components/Popup/ClientOnlyPortal.js +15 -2
- package/es/components/Popup/ClientOnlyPortal.js.map +1 -1
- package/es/components/Popup/PopupContext.js +26 -5
- package/es/components/Popup/PopupContext.js.map +1 -1
- package/es/components/Select/Select.js +3 -4
- package/es/components/Select/Select.js.map +1 -1
- package/es/components/Select/Select.styles.js +3 -2
- package/es/components/Select/Select.styles.js.map +1 -1
- package/es/components/Select/ui/Inner/Inner.js +6 -12
- package/es/components/Select/ui/Inner/Inner.js.map +1 -1
- package/es/components/Select/ui/VirtualList/VirtualList.js +44 -13
- package/es/components/Select/ui/VirtualList/VirtualList.js.map +1 -1
- package/package.json +4 -5
- package/styled-components/cjs/components/Autocomplete/Autocomplete.js +1 -8
- package/styled-components/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +84 -16
- package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.js +2 -2
- package/styled-components/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +28 -48
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +8 -8
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +9 -50
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +84 -16
- package/styled-components/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js +25 -0
- package/styled-components/cjs/components/Combobox/ComboboxNew/utils/index.js +4 -0
- package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +3 -1
- package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
- package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +4 -2
- package/styled-components/cjs/components/Popup/ClientOnlyPortal.js +14 -2
- package/styled-components/cjs/components/Popup/PopupContext.js +25 -6
- package/styled-components/cjs/components/Select/Select.js +2 -4
- package/styled-components/cjs/components/Select/Select.styles.js +4 -4
- package/styled-components/cjs/components/Select/ui/Inner/Inner.js +9 -50
- package/styled-components/cjs/components/Select/ui/VirtualList/VirtualList.js +84 -16
- package/styled-components/cjs/examples/components/Combobox/Combobox.js +15 -0
- package/styled-components/es/components/Autocomplete/Autocomplete.js +2 -9
- package/styled-components/es/components/Autocomplete/ui/VirtualList/VirtualList.js +45 -13
- package/styled-components/es/components/Carousel/CarouselNew/Carousel.js +2 -2
- package/styled-components/es/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +14 -34
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.styles.js +8 -8
- package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +6 -11
- package/styled-components/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +45 -13
- package/styled-components/es/components/Combobox/ComboboxNew/utils/getTextValue.js +16 -0
- package/styled-components/es/components/Combobox/ComboboxNew/utils/index.js +1 -0
- package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +3 -1
- package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
- package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +4 -2
- package/styled-components/es/components/Popup/ClientOnlyPortal.js +14 -2
- package/styled-components/es/components/Popup/PopupContext.js +25 -6
- package/styled-components/es/components/Select/Select.js +2 -4
- package/styled-components/es/components/Select/Select.styles.js +4 -4
- package/styled-components/es/components/Select/ui/Inner/Inner.js +6 -11
- package/styled-components/es/components/Select/ui/VirtualList/VirtualList.js +45 -13
- package/styled-components/es/examples/components/Combobox/Combobox.js +7 -0
- package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/types/components/Autocomplete/Autocomplete.types.d.ts +17 -17
- package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
- package/types/components/Autocomplete/ui/VirtualList/VirtualList.d.ts +1 -1
- package/types/components/Autocomplete/ui/VirtualList/VirtualList.d.ts.map +1 -1
- package/types/components/Carousel/CarouselNew/Carousel.d.ts.map +1 -1
- package/types/components/Carousel/CarouselNew/Carousel.types.d.ts +5 -0
- package/types/components/Carousel/CarouselNew/Carousel.types.d.ts.map +1 -1
- package/types/components/Carousel/CarouselNew/hooks/useCarousel.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts +1 -0
- package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +7 -7
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts +1 -2
- package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts +2 -6
- package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.d.ts +1 -1
- package/types/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/utils/getTextValue.d.ts +4 -0
- package/types/components/Combobox/ComboboxNew/utils/getTextValue.d.ts.map +1 -0
- package/types/components/Combobox/ComboboxNew/utils/index.d.ts +1 -0
- package/types/components/Combobox/ComboboxNew/utils/index.d.ts.map +1 -1
- package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
- package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts +1 -1
- package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +4 -0
- package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
- package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +18 -18
- package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
- package/types/components/Popup/ClientOnlyPortal.d.ts +1 -0
- package/types/components/Popup/ClientOnlyPortal.d.ts.map +1 -1
- package/types/components/Popup/PopupContext.d.ts +5 -1
- package/types/components/Popup/PopupContext.d.ts.map +1 -1
- package/types/components/Select/Select.d.ts.map +1 -1
- package/types/components/Select/Select.styles.d.ts +1 -0
- package/types/components/Select/Select.styles.d.ts.map +1 -1
- package/types/components/Select/Select.types.d.ts +14 -14
- package/types/components/Select/Select.types.d.ts.map +1 -1
- package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
- package/types/components/Select/ui/Inner/Inner.type.d.ts +1 -2
- package/types/components/Select/ui/Inner/Inner.type.d.ts.map +1 -1
- package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts +3 -11
- package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
- package/types/components/Select/ui/VirtualList/VirtualList.d.ts +1 -1
- package/types/components/Select/ui/VirtualList/VirtualList.d.ts.map +1 -1
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +18 -18
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
- package/types/examples/components/Autocomplete/Autocomplete.d.ts +40 -40
- package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/types/examples/components/Combobox/Combobox.d.ts +48 -48
- package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
- package/types/examples/components/Select/Select.d.ts +18 -18
- package/types/examples/components/Select/Select.d.ts.map +1 -1
@@ -1,4 +1,4 @@
|
|
1
|
-
import React
|
1
|
+
import React from 'react';
|
2
2
|
import { ListWrapper, Ul } from '../../Select.styles.js';
|
3
3
|
import { FloatingPopover } from '../../FloatingPopover.js';
|
4
4
|
import { Item } from './ui/Item/Item.js';
|
@@ -11,8 +11,7 @@ var Inner = function Inner(_ref) {
|
|
11
11
|
path = _ref.path,
|
12
12
|
dispatchPath = _ref.dispatchPath,
|
13
13
|
index = _ref.index,
|
14
|
-
listWidth = _ref.listWidth
|
15
|
-
portal = _ref.portal;
|
14
|
+
listWidth = _ref.listWidth;
|
16
15
|
var handleToggle = function handleToggle(opened) {
|
17
16
|
if (opened) {
|
18
17
|
dispatchPath({
|
@@ -27,7 +26,6 @@ var Inner = function Inner(_ref) {
|
|
27
26
|
});
|
28
27
|
}
|
29
28
|
};
|
30
|
-
var listWrapperRef = useRef(null);
|
31
29
|
var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
|
32
30
|
var treeId = safeUseId();
|
33
31
|
var listId = "".concat(treeId, "_tree_level_").concat(currentLevel + 2);
|
@@ -48,16 +46,13 @@ var Inner = function Inner(_ref) {
|
|
48
46
|
ariaLevel: nextLevel,
|
49
47
|
ariaLabel: item.label
|
50
48
|
}),
|
51
|
-
isInner: true
|
52
|
-
portal: portal
|
49
|
+
isInner: true
|
53
50
|
}, /*#__PURE__*/React.createElement(ListWrapper, {
|
54
|
-
listWidth: listWidth
|
55
|
-
ref: listWrapperRef
|
51
|
+
listWidth: listWidth
|
56
52
|
}, /*#__PURE__*/React.createElement(Ul, {
|
57
53
|
role: "group",
|
58
54
|
id: listId,
|
59
|
-
virtual: false
|
60
|
-
listMaxHeight: item === null || item === void 0 ? void 0 : item.listMaxHeight
|
55
|
+
virtual: false
|
61
56
|
}, (_item$items = item.items) === null || _item$items === void 0 ? void 0 : _item$items.map(function (innerItem, innerIndex) {
|
62
57
|
return /*#__PURE__*/React.createElement(Inner, {
|
63
58
|
key: "".concat(innerIndex, "/").concat(currentLevel),
|
@@ -66,8 +61,7 @@ var Inner = function Inner(_ref) {
|
|
66
61
|
path: path,
|
67
62
|
dispatchPath: dispatchPath,
|
68
63
|
index: innerIndex,
|
69
|
-
listWidth: listWidth
|
70
|
-
portal: listWrapperRef
|
64
|
+
listWidth: listWidth
|
71
65
|
});
|
72
66
|
}))));
|
73
67
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Inner.js","sources":["../../../../../src/components/Select/ui/Inner/Inner.tsx"],"sourcesContent":["import React
|
1
|
+
{"version":3,"file":"Inner.js","sources":["../../../../../src/components/Select/ui/Inner/Inner.tsx"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\nimport { isEmpty, safeUseId } from 'src/utils';\n\nimport { Ul, ListWrapper } from '../../Select.styles';\nimport { FloatingPopover } from '../../FloatingPopover';\n\nimport type { MergedDropdownNodeTransformed } from './ui/Item/Item.types';\nimport { Item } from './ui/Item/Item';\nimport { InnerProps } from './Inner.type';\n\nexport const Inner: FC<InnerProps> = ({ item, currentLevel, path, dispatchPath, index, listWidth }) => {\n const handleToggle = (opened: boolean): void => {\n if (opened) {\n dispatchPath({ type: 'changed_on_level', value: item.value.toString(), level: currentLevel + 1 });\n } else {\n dispatchPath({ type: 'cut_by_level', level: currentLevel + 1 });\n }\n };\n\n const isCurrentListOpen = path[currentLevel + 1] === item.value.toString();\n\n const treeId = safeUseId();\n const listId = `${treeId}_tree_level_${currentLevel + 2}`;\n const nextLevel = currentLevel + 1;\n\n if (!isEmpty(item?.items)) {\n return (\n <FloatingPopover\n placement={item?.placement || 'right'}\n opened={isCurrentListOpen}\n onToggle={handleToggle}\n target={\n <Item\n item={item}\n path={path}\n currentLevel={currentLevel}\n index={index}\n ariaControls={listId}\n ariaExpanded={isCurrentListOpen}\n ariaLevel={nextLevel}\n ariaLabel={item.label}\n />\n }\n isInner\n >\n <ListWrapper listWidth={listWidth}>\n <Ul role=\"group\" id={listId} virtual={false}>\n {item.items?.map((innerItem: MergedDropdownNodeTransformed, innerIndex: number) => (\n <Inner\n key={`${innerIndex}/${currentLevel}`}\n item={innerItem}\n currentLevel={nextLevel}\n path={path}\n dispatchPath={dispatchPath}\n index={innerIndex}\n listWidth={listWidth}\n />\n ))}\n </Ul>\n </ListWrapper>\n </FloatingPopover>\n );\n }\n\n return <Item item={item} path={path} index={index} currentLevel={currentLevel} ariaLevel={nextLevel} />;\n};\n"],"names":["Inner","_ref","item","currentLevel","path","dispatchPath","index","listWidth","handleToggle","opened","type","value","toString","level","isCurrentListOpen","treeId","safeUseId","listId","concat","nextLevel","isEmpty","items","_item$items","React","createElement","FloatingPopover","placement","onToggle","target","Item","ariaControls","ariaExpanded","ariaLevel","ariaLabel","label","isInner","ListWrapper","Ul","role","id","virtual","map","innerItem","innerIndex","key"],"mappings":"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"}
|
@@ -1,28 +1,59 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import
|
1
|
+
import React, { useRef } from 'react';
|
2
|
+
import { useVirtualizer } from '@tanstack/react-virtual';
|
3
3
|
import { getHeightAsNumber } from '../../../../utils/getHeightAsNumber.js';
|
4
4
|
import { Item } from '../Inner/ui/Item/Item.js';
|
5
5
|
|
6
6
|
var VirtualList = function VirtualList(_ref) {
|
7
|
+
var _virtualItems$0$start, _virtualItems$;
|
7
8
|
var items = _ref.items,
|
8
9
|
listMaxHeight = _ref.listMaxHeight,
|
9
10
|
onScroll = _ref.onScroll;
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
11
|
+
var parentRef = useRef(null);
|
12
|
+
var virtualizer = useVirtualizer({
|
13
|
+
count: items.length,
|
14
|
+
getScrollElement: function getScrollElement() {
|
15
|
+
return parentRef.current;
|
16
|
+
},
|
17
|
+
estimateSize: function estimateSize() {
|
18
|
+
return 48;
|
19
|
+
}
|
20
|
+
});
|
21
|
+
var virtualItems = virtualizer.getVirtualItems();
|
22
|
+
return /*#__PURE__*/React.createElement("div", {
|
23
|
+
ref: parentRef,
|
24
|
+
style: {
|
25
|
+
height: 'auto',
|
26
|
+
maxHeight: getHeightAsNumber(listMaxHeight),
|
27
|
+
overflowY: 'auto'
|
28
|
+
},
|
16
29
|
onScroll: onScroll
|
17
|
-
},
|
18
|
-
|
19
|
-
|
30
|
+
}, /*#__PURE__*/React.createElement("div", {
|
31
|
+
style: {
|
32
|
+
height: virtualizer.getTotalSize(),
|
33
|
+
width: '100%',
|
34
|
+
position: 'relative'
|
35
|
+
}
|
36
|
+
}, /*#__PURE__*/React.createElement("div", {
|
37
|
+
style: {
|
38
|
+
position: 'absolute',
|
39
|
+
top: 0,
|
40
|
+
left: 0,
|
41
|
+
width: '100%',
|
42
|
+
transform: "translateY(".concat((_virtualItems$0$start = (_virtualItems$ = virtualItems[0]) === null || _virtualItems$ === void 0 ? void 0 : _virtualItems$.start) !== null && _virtualItems$0$start !== void 0 ? _virtualItems$0$start : 0, "px)")
|
43
|
+
}
|
44
|
+
}, virtualItems.map(function (virtualRow) {
|
45
|
+
return /*#__PURE__*/React.createElement("div", {
|
46
|
+
key: virtualRow.key,
|
47
|
+
"data-index": virtualRow.index,
|
48
|
+
ref: virtualizer.measureElement
|
49
|
+
}, /*#__PURE__*/React.createElement(Item, {
|
50
|
+
item: items[virtualRow.index],
|
20
51
|
path: ['root'],
|
21
52
|
currentLevel: 0,
|
22
|
-
index: index,
|
53
|
+
index: virtualRow.index,
|
23
54
|
ariaLevel: 1
|
24
55
|
}));
|
25
|
-
});
|
56
|
+
}))));
|
26
57
|
};
|
27
58
|
|
28
59
|
export { VirtualList };
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VirtualList.js","sources":["../../../../../src/components/Select/ui/VirtualList/VirtualList.tsx"],"sourcesContent":["import React, { CSSProperties } from 'react';\nimport
|
1
|
+
{"version":3,"file":"VirtualList.js","sources":["../../../../../src/components/Select/ui/VirtualList/VirtualList.tsx"],"sourcesContent":["import React, { useRef, CSSProperties } from 'react';\nimport { useVirtualizer } from '@tanstack/react-virtual';\nimport { getHeightAsNumber } from 'src/utils';\n\nimport type { MergedDropdownNodeTransformed } from '../Inner/ui/Item/Item.types';\nimport { Item } from '../Inner/ui';\n\ninterface Props {\n items: MergedDropdownNodeTransformed[];\n listMaxHeight?: CSSProperties['height'];\n onScroll?: (e: React.UIEvent<HTMLElement>) => void;\n}\n\nexport const VirtualList: React.FC<Props> = ({ items, listMaxHeight, onScroll }) => {\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 <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\n item={items[virtualRow.index]}\n path={['root']}\n currentLevel={0}\n index={virtualRow.index}\n ariaLevel={1}\n />\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n};\n"],"names":["VirtualList","_ref","_virtualItems$0$start","_virtualItems$","items","listMaxHeight","onScroll","parentRef","useRef","virtualizer","useVirtualizer","count","length","getScrollElement","current","estimateSize","virtualItems","getVirtualItems","React","createElement","ref","style","height","maxHeight","getHeightAsNumber","overflowY","getTotalSize","width","position","top","left","transform","concat","start","map","virtualRow","key","index","measureElement","Item","item","path","currentLevel","ariaLevel"],"mappings":";;;;;IAaaA,WAA4B,GAAG,SAA/BA,WAA4BA,CAAAC,IAAA,EAA2C;EAAA,IAAAC,qBAAA,EAAAC,cAAA,CAAA;AAAA,EAAA,IAArCC,KAAK,GAAAH,IAAA,CAALG,KAAK;IAAEC,aAAa,GAAAJ,IAAA,CAAbI,aAAa;IAAEC,QAAQ,GAAAL,IAAA,CAARK,QAAQ,CAAA;AACzE,EAAA,IAAMC,SAAS,GAAGC,MAAM,CAAiB,IAAI,CAAC,CAAA;EAE9C,IAAMC,WAAW,GAAGC,cAAc,CAAC;IAC/BC,KAAK,EAAEP,KAAK,CAACQ,MAAM;IACnBC,gBAAgB,EAAE,SAAAA,gBAAA,GAAA;MAAA,OAAMN,SAAS,CAACO,OAAO,CAAA;AAAA,KAAA;IACzCC,YAAY,EAAE,SAAAA,YAAA,GAAA;AAAA,MAAA,OAAM,EAAE,CAAA;AAAA,KAAA;AAC1B,GAAC,CAAC,CAAA;AAEF,EAAA,IAAMC,YAAY,GAAGP,WAAW,CAACQ,eAAe,EAAE,CAAA;EAElD,oBACIC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACIC,IAAAA,GAAG,EAAEb,SAAU;AACfc,IAAAA,KAAK,EAAE;AACHC,MAAAA,MAAM,EAAE,MAAM;AACdC,MAAAA,SAAS,EAAEC,iBAAiB,CAACnB,aAAa,CAAC;AAC3CoB,MAAAA,SAAS,EAAE,MAAA;KACb;AACFnB,IAAAA,QAAQ,EAAEA,QAAAA;GAEVY,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACIE,IAAAA,KAAK,EAAE;AACHC,MAAAA,MAAM,EAAEb,WAAW,CAACiB,YAAY,EAAE;AAClCC,MAAAA,KAAK,EAAE,MAAM;AACbC,MAAAA,QAAQ,EAAE,UAAA;AACd,KAAA;GAEAV,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACIE,IAAAA,KAAK,EAAE;AACHO,MAAAA,QAAQ,EAAE,UAAU;AACpBC,MAAAA,GAAG,EAAE,CAAC;AACNC,MAAAA,IAAI,EAAE,CAAC;AACPH,MAAAA,KAAK,EAAE,MAAM;MACbI,SAAS,EAAA,aAAA,CAAAC,MAAA,CAAA9B,CAAAA,qBAAA,IAAAC,cAAA,GAAgBa,YAAY,CAAC,CAAC,CAAC,cAAAb,cAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,cAAA,CAAiB8B,KAAK,cAAA/B,qBAAA,KAAA,KAAA,CAAA,GAAAA,qBAAA,GAAI,CAAC,EAAA,KAAA,CAAA;AACxD,KAAA;AAAE,GAAA,EAEDc,YAAY,CAACkB,GAAG,CAAC,UAACC,UAAU,EAAA;IAAA,oBACzBjB,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;MACIiB,GAAG,EAAED,UAAU,CAACC,GAAiB;MACjC,YAAYD,EAAAA,UAAU,CAACE,KAAM;MAC7BjB,GAAG,EAAEX,WAAW,CAAC6B,cAAAA;AAAe,KAAA,eAEhCpB,KAAA,CAAAC,aAAA,CAACoB,IAAI,EAAA;AACDC,MAAAA,IAAI,EAAEpC,KAAK,CAAC+B,UAAU,CAACE,KAAK,CAAE;MAC9BI,IAAI,EAAE,CAAC,MAAM,CAAE;AACfC,MAAAA,YAAY,EAAE,CAAE;MAChBL,KAAK,EAAEF,UAAU,CAACE,KAAM;AACxBM,MAAAA,SAAS,EAAE,CAAA;AAAE,KAChB,CACA,CAAC,CAAA;GACT,CACA,CACJ,CACJ,CAAC,CAAA;AAEd;;;;"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@salutejs/plasma-new-hope",
|
3
|
-
"version": "0.335.0-canary.
|
3
|
+
"version": "0.335.0-canary.2198.17378237458.0",
|
4
4
|
"description": "Salute Design System blueprint",
|
5
5
|
"main": "cjs/index.js",
|
6
6
|
"module": "es/index.js",
|
@@ -79,7 +79,7 @@
|
|
79
79
|
"@rollup/plugin-babel": "^6.0.4",
|
80
80
|
"@rollup/plugin-commonjs": "^25.0.4",
|
81
81
|
"@rollup/plugin-node-resolve": "^15.1.0",
|
82
|
-
"@salutejs/plasma-sb-utils": "0.
|
82
|
+
"@salutejs/plasma-sb-utils": "0.207.0-canary.2198.17378237458.0",
|
83
83
|
"@salutejs/plasma-themes": "0.37.0",
|
84
84
|
"@storybook/addon-docs": "8.6.12",
|
85
85
|
"@storybook/addon-essentials": "8.6.12",
|
@@ -117,7 +117,7 @@
|
|
117
117
|
"@linaria/react": "5.0.3",
|
118
118
|
"@popperjs/core": "2.11.8",
|
119
119
|
"@salutejs/input-core": "2.1.2",
|
120
|
-
"@salutejs/plasma-core": "1.
|
120
|
+
"@salutejs/plasma-core": "1.207.0-canary.2198.17378237458.0",
|
121
121
|
"@salutejs/react-maskinput": "3.2.6",
|
122
122
|
"@tanstack/react-table": "8.21.2",
|
123
123
|
"@tanstack/react-virtual": "3.13.2",
|
@@ -127,7 +127,6 @@
|
|
127
127
|
"lodash.chunk": "4.2.0",
|
128
128
|
"lodash.throttle": "4.1.1",
|
129
129
|
"rc-tree": "5.11.0",
|
130
|
-
"rc-virtual-list": "3.18.1",
|
131
130
|
"re-resizable": "6.10.3",
|
132
131
|
"react-draggable": "4.5.0",
|
133
132
|
"react-hot-toast": "2.5.2",
|
@@ -138,5 +137,5 @@
|
|
138
137
|
"sideEffects": [
|
139
138
|
"*.css"
|
140
139
|
],
|
141
|
-
"gitHead": "
|
140
|
+
"gitHead": "ced807ae4876e586c95b3547105bbab55ecb55bd"
|
142
141
|
}
|
@@ -207,7 +207,7 @@ var autocompleteRoot = function(Root) {
|
|
207
207
|
"_offset"
|
208
208
|
]);
|
209
209
|
var _useReducer = _sliced_to_array((0, _react.useReducer)(_focusedReducer.focusedReducer, null), 2), focused = _useReducer[0], dispatchFocused = _useReducer[1];
|
210
|
-
var _useState = _sliced_to_array((0, _react.useState)(''), 2), innerValue = _useState[0], setInnerValue = _useState[1];
|
210
|
+
var _useState = _sliced_to_array((0, _react.useState)(defaultValue || ''), 2), innerValue = _useState[0], setInnerValue = _useState[1];
|
211
211
|
var _useState1 = _sliced_to_array((0, _react.useState)(false), 2), isOpen = _useState1[0], setIsOpen = _useState1[1];
|
212
212
|
var listId = (0, _utils.safeUseId)();
|
213
213
|
var value = outerValue !== null && outerValue !== void 0 ? outerValue : innerValue;
|
@@ -263,13 +263,6 @@ var autocompleteRoot = function(Root) {
|
|
263
263
|
}, [
|
264
264
|
value
|
265
265
|
]);
|
266
|
-
(0, _react.useLayoutEffect)(function() {
|
267
|
-
if (defaultValue) {
|
268
|
-
setInnerValue(defaultValue);
|
269
|
-
}
|
270
|
-
}, [
|
271
|
-
defaultValue
|
272
|
-
]);
|
273
266
|
return /*#__PURE__*/ _react.default.createElement(Root, {
|
274
267
|
view: view,
|
275
268
|
size: size,
|
@@ -8,31 +8,99 @@ Object.defineProperty(exports, "VirtualList", {
|
|
8
8
|
return VirtualList;
|
9
9
|
}
|
10
10
|
});
|
11
|
-
var _react = /*#__PURE__*/
|
12
|
-
var
|
11
|
+
var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
|
12
|
+
var _reactvirtual = require("@tanstack/react-virtual");
|
13
13
|
var _utils = require("../../../../utils");
|
14
14
|
var _SuggestionItem = require("../SuggestionItem/SuggestionItem");
|
15
|
-
function
|
16
|
-
|
17
|
-
|
15
|
+
function _getRequireWildcardCache(nodeInterop) {
|
16
|
+
if (typeof WeakMap !== "function") return null;
|
17
|
+
var cacheBabelInterop = new WeakMap();
|
18
|
+
var cacheNodeInterop = new WeakMap();
|
19
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
20
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
21
|
+
})(nodeInterop);
|
22
|
+
}
|
23
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
24
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
25
|
+
return obj;
|
26
|
+
}
|
27
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
28
|
+
return {
|
29
|
+
default: obj
|
30
|
+
};
|
31
|
+
}
|
32
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
33
|
+
if (cache && cache.has(obj)) {
|
34
|
+
return cache.get(obj);
|
35
|
+
}
|
36
|
+
var newObj = {
|
37
|
+
__proto__: null
|
18
38
|
};
|
39
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
40
|
+
for(var key in obj){
|
41
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
42
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
43
|
+
if (desc && (desc.get || desc.set)) {
|
44
|
+
Object.defineProperty(newObj, key, desc);
|
45
|
+
} else {
|
46
|
+
newObj[key] = obj[key];
|
47
|
+
}
|
48
|
+
}
|
49
|
+
}
|
50
|
+
newObj.default = obj;
|
51
|
+
if (cache) {
|
52
|
+
cache.set(obj, newObj);
|
53
|
+
}
|
54
|
+
return newObj;
|
19
55
|
}
|
20
56
|
var VirtualList = function(param) {
|
21
57
|
var items = param.items, onClick = param.onClick, listId = param.listId, listMaxHeight = param.listMaxHeight, onScroll = param.onScroll, renderItem = param.renderItem;
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
58
|
+
var _virtualItems_;
|
59
|
+
var parentRef = (0, _react.useRef)(null);
|
60
|
+
var virtualizer = (0, _reactvirtual.useVirtualizer)({
|
61
|
+
count: items.length,
|
62
|
+
getScrollElement: function() {
|
63
|
+
return parentRef.current;
|
64
|
+
},
|
65
|
+
estimateSize: function() {
|
66
|
+
return 48;
|
67
|
+
}
|
68
|
+
});
|
69
|
+
var virtualItems = virtualizer.getVirtualItems();
|
70
|
+
var _virtualItems__start;
|
71
|
+
return /*#__PURE__*/ _react.default.createElement("div", {
|
72
|
+
ref: parentRef,
|
73
|
+
style: {
|
74
|
+
height: 'auto',
|
75
|
+
maxHeight: (0, _utils.getHeightAsNumber)(listMaxHeight),
|
76
|
+
overflowY: 'auto'
|
77
|
+
},
|
28
78
|
onScroll: onScroll
|
29
|
-
},
|
30
|
-
|
31
|
-
|
79
|
+
}, /*#__PURE__*/ _react.default.createElement("div", {
|
80
|
+
style: {
|
81
|
+
height: virtualizer.getTotalSize(),
|
82
|
+
width: '100%',
|
83
|
+
position: 'relative'
|
84
|
+
}
|
85
|
+
}, /*#__PURE__*/ _react.default.createElement("div", {
|
86
|
+
style: {
|
87
|
+
position: 'absolute',
|
88
|
+
top: 0,
|
89
|
+
left: 0,
|
90
|
+
width: '100%',
|
91
|
+
transform: "translateY(".concat((_virtualItems__start = (_virtualItems_ = virtualItems[0]) === null || _virtualItems_ === void 0 ? void 0 : _virtualItems_.start) !== null && _virtualItems__start !== void 0 ? _virtualItems__start : 0, "px)")
|
92
|
+
}
|
93
|
+
}, virtualItems.map(function(virtualRow) {
|
94
|
+
return /*#__PURE__*/ _react.default.createElement("div", {
|
95
|
+
key: virtualRow.key,
|
96
|
+
"data-index": virtualRow.index,
|
97
|
+
ref: virtualizer.measureElement
|
98
|
+
}, /*#__PURE__*/ _react.default.createElement(_SuggestionItem.SuggestionItem, {
|
99
|
+
item: items[virtualRow.index],
|
32
100
|
onClick: onClick,
|
33
|
-
id: "".concat(listId, "/").concat(index),
|
101
|
+
id: "".concat(listId, "/").concat(virtualRow.index),
|
34
102
|
focused: false,
|
35
103
|
renderItem: renderItem
|
36
104
|
}));
|
37
|
-
});
|
105
|
+
}))));
|
38
106
|
};
|
@@ -116,9 +116,9 @@ var VISIBLE_DOTS_DEFAULT = 10;
|
|
116
116
|
var DOTS_CENTERED_DEFAULT = false;
|
117
117
|
var carouselNewRoot = function(Root) {
|
118
118
|
return /*#__PURE__*/ (0, _react.forwardRef)(function(param, ref) {
|
119
|
-
var view = param.view, size = param.size, _param_scrollAlign = param.scrollAlign, scrollAlign = _param_scrollAlign === void 0 ? 'start' : _param_scrollAlign, children = param.children, _param_controlArrowsDisabled = param.controlArrowsDisabled, controlArrowsDisabled = _param_controlArrowsDisabled === void 0 ? false : _param_controlArrowsDisabled, paginationOptions = param.paginationOptions, _param_gap = param.gap, gap = _param_gap === void 0 ? '20px' : _param_gap, className = param.className, style = param.style;
|
120
|
-
var _useState = _sliced_to_array((0, _react.useState)(0), 2), index = _useState[0], setIndex = _useState[1];
|
119
|
+
var view = param.view, size = param.size, _param_scrollAlign = param.scrollAlign, scrollAlign = _param_scrollAlign === void 0 ? 'start' : _param_scrollAlign, children = param.children, _param_controlArrowsDisabled = param.controlArrowsDisabled, controlArrowsDisabled = _param_controlArrowsDisabled === void 0 ? false : _param_controlArrowsDisabled, paginationOptions = param.paginationOptions, _param_gap = param.gap, gap = _param_gap === void 0 ? '20px' : _param_gap, className = param.className, style = param.style, defaultIndex = param.defaultIndex;
|
121
120
|
var slidesAmount = _react.Children.count(children);
|
121
|
+
var _useState = _sliced_to_array((0, _react.useState)(defaultIndex && defaultIndex >= 0 ? Math.min(slidesAmount - 1, defaultIndex) : 0), 2), index = _useState[0], setIndex = _useState[1];
|
122
122
|
var handleClickLeft = function() {
|
123
123
|
setIndex(Math.max(0, index - 1));
|
124
124
|
};
|
@@ -50,6 +50,7 @@ var useCarousel = function(param) {
|
|
50
50
|
var index = param.index, scrollAlign = param.scrollAlign;
|
51
51
|
var scrollRef = (0, _react.useRef)(null);
|
52
52
|
var trackRef = (0, _react.useRef)(null);
|
53
|
+
var isFirstRender = (0, _react.useRef)(true);
|
53
54
|
// Прокрутка до нужной позиции индекса, если индекс изменился.
|
54
55
|
(0, _react.useEffect)(function() {
|
55
56
|
if (!scrollRef.current || !trackRef.current) {
|
@@ -65,9 +66,13 @@ var useCarousel = function(param) {
|
|
65
66
|
scrollAlign: scrollAlign
|
66
67
|
});
|
67
68
|
scrollRef.current.scrollTo({
|
68
|
-
left: pos
|
69
|
+
left: pos,
|
70
|
+
behavior: isFirstRender.current ? 'instant' : 'smooth'
|
69
71
|
});
|
70
72
|
}
|
73
|
+
if (isFirstRender.current) {
|
74
|
+
isFirstRender.current = false;
|
75
|
+
}
|
71
76
|
}, [
|
72
77
|
index
|
73
78
|
]);
|
@@ -19,13 +19,12 @@ _export(exports, {
|
|
19
19
|
var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
|
20
20
|
var _plasmacore = require("@salutejs/plasma-core");
|
21
21
|
var _utils = require("../../../utils");
|
22
|
-
var _utils1 = require("../../../utils");
|
23
22
|
var _hooks = require("../../../hooks");
|
24
|
-
var
|
23
|
+
var _utils1 = require("../../Select/utils");
|
25
24
|
var _Comboboxtokens = require("./Combobox.tokens");
|
26
25
|
var _FloatingPopover = require("./FloatingPopover");
|
27
26
|
var _useKeyboardNavigation = require("./hooks/useKeyboardNavigation");
|
28
|
-
var
|
27
|
+
var _utils2 = require("./utils");
|
29
28
|
var _ui = require("./ui");
|
30
29
|
var _reducers = require("./reducers");
|
31
30
|
var _getPathMaps = require("./hooks/getPathMaps");
|
@@ -218,7 +217,7 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
218
217
|
}
|
219
218
|
var comboboxRoot = function(Root) {
|
220
219
|
return /*#__PURE__*/ (0, _react.forwardRef)(function(props, ref) {
|
221
|
-
var
|
220
|
+
var _getItemByFocused;
|
222
221
|
var name = props.name, multiple = props.multiple, outerValue = props.value, outerOnChange = props.onChange, defaultValue = props.defaultValue, isTargetAmount = props.isTargetAmount, targetAmount = props.targetAmount, items = props.items, _props_placement = props.placement, placement = _props_placement === void 0 ? 'bottom-start' : _props_placement, label = props.label, placeholder = props.placeholder, helperText = props.helperText, contentLeft = props.contentLeft, textBefore = props.textBefore, textAfter = props.textAfter, _props_variant = props.variant, variant = _props_variant === void 0 ? 'normal' : _props_variant, listOverflow = props.listOverflow, listHeight = props.listHeight, listMaxHeight = props.listMaxHeight, listWidth = props.listWidth, portal = props.portal, renderItem = props.renderItem, view = props.view, size = props.size, labelPlacement = props.labelPlacement, keepPlaceholder = props.keepPlaceholder, _props_readOnly = props.readOnly, readOnly = _props_readOnly === void 0 ? false : _props_readOnly, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, _props_alwaysOpened = props.alwaysOpened, alwaysOpened = _props_alwaysOpened === void 0 ? false : _props_alwaysOpened, filter = props.filter, outerCloseAfterSelect = props.closeAfterSelect, renderValue = props.renderValue, zIndex = props.zIndex, beforeList = props.beforeList, afterList = props.afterList, _props_virtual = props.virtual, virtual = _props_virtual === void 0 ? false : _props_virtual, hintView = props.hintView, hintSize = props.hintSize, emptyStateDescription = props.emptyStateDescription, onChangeValue = props.onChangeValue, onScroll = props.onScroll, onToggle = props.onToggle, // @ts-ignore
|
223
222
|
_offset = props._offset, rest = _object_without_properties(props, [
|
224
223
|
"name",
|
@@ -266,7 +265,7 @@ var comboboxRoot = function(Root) {
|
|
266
265
|
"_offset"
|
267
266
|
]);
|
268
267
|
var transformedItems = (0, _react.useMemo)(function() {
|
269
|
-
return (0,
|
268
|
+
return (0, _utils2.initialItemsTransform)(items || []);
|
270
269
|
}, [
|
271
270
|
items
|
272
271
|
]);
|
@@ -276,17 +275,15 @@ var comboboxRoot = function(Root) {
|
|
276
275
|
}, [
|
277
276
|
items
|
278
277
|
]), 3), valueToCheckedMap = _useMemo[0], valueToItemMap = _useMemo[1], labelToItemMap = _useMemo[2];
|
279
|
-
var _useState = _sliced_to_array((0, _react.useState)(
|
278
|
+
var _useState = _sliced_to_array((0, _react.useState)((0, _utils2.getTextValue)(multiple, outerValue, valueToItemMap, renderValue)), 2), textValue = _useState[0], setTextValue = _useState[1];
|
280
279
|
var _useState1 = _sliced_to_array((0, _react.useState)(multiple ? [] : ''), 2), internalValue = _useState1[0], setInternalValue = _useState1[1];
|
281
280
|
var value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;
|
282
281
|
var inputRef = (0, _react.useRef)(null);
|
283
282
|
var floatingPopoverRef = (0, _react.useRef)(null);
|
284
283
|
var inputForkRef = (0, _plasmacore.useForkRef)(inputRef, ref);
|
285
284
|
var treeId = (0, _utils.safeUseId)();
|
286
|
-
var listWrapperRef = (0, _react.useRef)(null);
|
287
285
|
var filteredItems = (0, _react.useMemo)(function() {
|
288
|
-
|
289
|
-
return (0, _utils3.filterItems)(transformedItems, textValue, ((_valueToItemMap_get = valueToItemMap.get(value)) === null || _valueToItemMap_get === void 0 ? void 0 : _valueToItemMap_get.label) || value, filter);
|
286
|
+
return (0, _utils2.filterItems)(transformedItems, textValue, (0, _utils2.getTextValue)(multiple, value, valueToItemMap, renderValue), filter);
|
290
287
|
}, [
|
291
288
|
transformedItems,
|
292
289
|
textValue,
|
@@ -323,30 +320,19 @@ var comboboxRoot = function(Root) {
|
|
323
320
|
if (onToggle) {
|
324
321
|
onToggle(false);
|
325
322
|
}
|
326
|
-
//
|
327
|
-
|
328
|
-
// Если нет выбранного элемента, то стираем значение инпута.
|
329
|
-
if (textValue !== value) {
|
330
|
-
if ((0, _utils1.isEmpty)(value)) {
|
331
|
-
setTextValue('');
|
332
|
-
} else if (multiple) {
|
333
|
-
setTextValue('');
|
334
|
-
} else {
|
335
|
-
var _valueToItemMap_get;
|
336
|
-
setTextValue(((_valueToItemMap_get = valueToItemMap.get(value)) === null || _valueToItemMap_get === void 0 ? void 0 : _valueToItemMap_get.label) || value || '');
|
337
|
-
}
|
338
|
-
}
|
323
|
+
// Возвращаем актуальное значение поля ввода после закрытия выпадающего списка.
|
324
|
+
setTextValue((0, _utils2.getTextValue)(multiple, value, valueToItemMap, renderValue));
|
339
325
|
}, floatingPopoverRef);
|
340
326
|
// Эта функция срабатывает при изменении Combobox и
|
341
327
|
// при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).
|
342
328
|
var onChange = function(newValue, item) {
|
343
329
|
// Условие для отправки изменений наружу
|
344
330
|
if (props.onChange) {
|
345
|
-
// Условие для
|
331
|
+
// Условие для отправки, если комбобокс используется без формы.
|
346
332
|
if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {
|
347
333
|
props.onChange(newValue, item || null);
|
348
334
|
}
|
349
|
-
// Условие для
|
335
|
+
// Условие для отправки, если комбобокс используется с формой.
|
350
336
|
if (props.name && (typeof newValue === "undefined" ? "undefined" : _type_of(newValue)) === 'object' && !Array.isArray(newValue)) {
|
351
337
|
props.onChange(newValue);
|
352
338
|
}
|
@@ -405,7 +391,7 @@ var comboboxRoot = function(Root) {
|
|
405
391
|
resultValues.splice(index, 1);
|
406
392
|
}
|
407
393
|
});
|
408
|
-
var removedItemValue = (0,
|
394
|
+
var removedItemValue = (0, _utils2.getRemovedElement)(value, resultValues, isTargetAmount);
|
409
395
|
onChange(resultValues, removedItemValue ? valueToItemMap.get(removedItemValue) || {
|
410
396
|
value: removedItemValue,
|
411
397
|
label: removedItemValue.toString()
|
@@ -415,7 +401,7 @@ var comboboxRoot = function(Root) {
|
|
415
401
|
var _labelToItemMap_get;
|
416
402
|
return ((_labelToItemMap_get = labelToItemMap.get(chipLabel)) === null || _labelToItemMap_get === void 0 ? void 0 : _labelToItemMap_get.value) || chipLabel;
|
417
403
|
});
|
418
|
-
var removedItemValue1 = (0,
|
404
|
+
var removedItemValue1 = (0, _utils2.getRemovedElement)(value, newValues, isTargetAmount);
|
419
405
|
onChange(newValues, removedItemValue1 ? valueToItemMap.get(removedItemValue1) || {
|
420
406
|
value: removedItemValue1,
|
421
407
|
label: removedItemValue1.toString()
|
@@ -451,12 +437,12 @@ var comboboxRoot = function(Root) {
|
|
451
437
|
var checkedCopy = new Map(checked);
|
452
438
|
if (!checkedCopy.get(item.value)) {
|
453
439
|
checkedCopy.set(item.value, true);
|
454
|
-
(0,
|
440
|
+
(0, _utils2.updateDescendants)(item, checkedCopy, true, valueToItemMap);
|
455
441
|
} else {
|
456
442
|
checkedCopy.set(item.value, false);
|
457
|
-
(0,
|
443
|
+
(0, _utils2.updateDescendants)(item, checkedCopy, false);
|
458
444
|
}
|
459
|
-
(0,
|
445
|
+
(0, _utils2.updateAncestors)(item, checkedCopy);
|
460
446
|
var newValues = [];
|
461
447
|
valueToItemMap.forEach(function(item, key) {
|
462
448
|
if (checkedCopy.get(key)) {
|
@@ -485,7 +471,7 @@ var comboboxRoot = function(Root) {
|
|
485
471
|
};
|
486
472
|
// Обработчик клика по айтему выпадающего списка
|
487
473
|
var handleItemClick = function(item, e) {
|
488
|
-
if (!(0,
|
474
|
+
if (!(0, _utils.isEmpty)(item === null || item === void 0 ? void 0 : item.items)) {
|
489
475
|
return;
|
490
476
|
}
|
491
477
|
if (multiple) {
|
@@ -531,7 +517,7 @@ var comboboxRoot = function(Root) {
|
|
531
517
|
return [];
|
532
518
|
};
|
533
519
|
var handlePressDown = function(item, e) {
|
534
|
-
if ((0,
|
520
|
+
if ((0, _utils.isEmpty)(item.items)) {
|
535
521
|
handleItemClick(item, e);
|
536
522
|
} else if (multiple) {
|
537
523
|
handleCheckboxChange(item);
|
@@ -562,14 +548,14 @@ var comboboxRoot = function(Root) {
|
|
562
548
|
checkedCopy.forEach(function(_, key) {
|
563
549
|
checkedCopy.set(key, false);
|
564
550
|
});
|
565
|
-
if (!(0,
|
551
|
+
if (!(0, _utils.isEmpty)(value)) {
|
566
552
|
if (Array.isArray(value)) {
|
567
553
|
value.forEach(function(val) {
|
568
554
|
// Только если value находится в items, т.к. value может и не существовать в items.
|
569
555
|
if (valueToItemMap.has(val)) {
|
570
556
|
checkedCopy.set(val, true);
|
571
|
-
(0,
|
572
|
-
(0,
|
557
|
+
(0, _utils2.updateDescendants)(valueToItemMap.get(val), checkedCopy, true);
|
558
|
+
(0, _utils2.updateAncestors)(valueToItemMap.get(val), checkedCopy);
|
573
559
|
}
|
574
560
|
});
|
575
561
|
} else {
|
@@ -577,15 +563,11 @@ var comboboxRoot = function(Root) {
|
|
577
563
|
// eslint-disable-next-line no-lonely-if
|
578
564
|
if (valueToItemMap.has(value)) {
|
579
565
|
checkedCopy.set(value, 'done');
|
580
|
-
(0,
|
566
|
+
(0, _utils2.updateSingleAncestors)(valueToItemMap.get(value), checkedCopy, 'dot');
|
581
567
|
}
|
582
568
|
}
|
583
569
|
}
|
584
570
|
setChecked(checkedCopy);
|
585
|
-
if (!multiple && textValue === value && valueToItemMap.has(value)) {
|
586
|
-
var _valueToItemMap_get;
|
587
|
-
setTextValue(((_valueToItemMap_get = valueToItemMap.get(value)) === null || _valueToItemMap_get === void 0 ? void 0 : _valueToItemMap_get.label) || '');
|
588
|
-
}
|
589
571
|
// В deps мы кладем именно outerValue и internalValue, а не просто value.
|
590
572
|
// Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.
|
591
573
|
// А переменную, содержащую сложные типы данных, нельзя помещать в deps.
|
@@ -595,9 +577,8 @@ var comboboxRoot = function(Root) {
|
|
595
577
|
items
|
596
578
|
]);
|
597
579
|
// При изменении value нужно возвращать значение в инпуте к исходному.
|
598
|
-
(0,
|
599
|
-
|
600
|
-
setTextValue(multiple ? '' : ((_valueToItemMap_get = valueToItemMap.get(value)) === null || _valueToItemMap_get === void 0 ? void 0 : _valueToItemMap_get.label) || (value === null || value === void 0 ? void 0 : value.toString()) || '');
|
580
|
+
(0, _hooks.useDidMountLayoutEffect)(function() {
|
581
|
+
setTextValue((0, _utils2.getTextValue)(multiple, value, valueToItemMap, renderValue));
|
601
582
|
}, [
|
602
583
|
outerValue,
|
603
584
|
internalValue
|
@@ -668,7 +649,7 @@ var comboboxRoot = function(Root) {
|
|
668
649
|
onClick: handleClickArrow
|
669
650
|
}, /*#__PURE__*/ _react.default.createElement(_Comboboxstyles.StyledArrow, {
|
670
651
|
color: "inherit",
|
671
|
-
size: (0,
|
652
|
+
size: (0, _utils1.sizeToIconSize)(size),
|
672
653
|
className: withArrowInverse
|
673
654
|
})),
|
674
655
|
textBefore: textBefore,
|
@@ -681,7 +662,7 @@ var comboboxRoot = function(Root) {
|
|
681
662
|
"aria-autocomplete": "list",
|
682
663
|
"aria-controls": "".concat(treeId, "_tree_level_1"),
|
683
664
|
"aria-expanded": isCurrentListOpen,
|
684
|
-
"aria-activedescendant": activeDescendantItemValue ? (0,
|
665
|
+
"aria-activedescendant": activeDescendantItemValue ? (0, _utils2.getItemId)(treeId, activeDescendantItemValue) : '',
|
685
666
|
labelPlacement: labelPlacement,
|
686
667
|
keepPlaceholder: keepPlaceholder
|
687
668
|
}, multiple ? {
|
@@ -704,7 +685,6 @@ var comboboxRoot = function(Root) {
|
|
704
685
|
readOnly: readOnly,
|
705
686
|
name: name
|
706
687
|
}, /*#__PURE__*/ _react.default.createElement(_Comboboxstyles.ListWrapper, {
|
707
|
-
ref: listWrapperRef,
|
708
688
|
listWidth: listWidth
|
709
689
|
}, /*#__PURE__*/ _react.default.createElement(_Comboboxstyles.Ul, {
|
710
690
|
role: "tree",
|
@@ -713,8 +693,9 @@ var comboboxRoot = function(Root) {
|
|
713
693
|
listMaxHeight: listMaxHeight || listHeight,
|
714
694
|
ref: targetRef,
|
715
695
|
virtual: virtual,
|
696
|
+
listOverflow: listOverflow,
|
716
697
|
onScroll: virtual ? undefined : onScroll
|
717
|
-
}, beforeList, (0,
|
698
|
+
}, beforeList, (0, _utils.isEmpty)(filteredItems) ? /*#__PURE__*/ _react.default.createElement(_Comboboxstyles.StyledEmptyState, {
|
718
699
|
className: _Comboboxtokens.classes.emptyStateWrapper,
|
719
700
|
size: size,
|
720
701
|
description: emptyStateDescription || 'Ничего не найдено'
|
@@ -734,8 +715,7 @@ var comboboxRoot = function(Root) {
|
|
734
715
|
path: path,
|
735
716
|
dispatchPath: dispatchPath,
|
736
717
|
index: index,
|
737
|
-
listWidth: listWidth
|
738
|
-
portal: listWrapperRef
|
718
|
+
listWidth: listWidth
|
739
719
|
});
|
740
720
|
})), afterList)))))));
|
741
721
|
});
|