@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.
Files changed (210) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.js +1 -6
  2. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +43 -13
  4. package/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js.map +1 -1
  5. package/cjs/components/Carousel/CarouselNew/Carousel.js +4 -3
  6. package/cjs/components/Carousel/CarouselNew/Carousel.js.map +1 -1
  7. package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  8. package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
  9. package/cjs/components/Combobox/ComboboxNew/Combobox.js +18 -34
  10. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  11. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +3 -2
  12. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  13. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +5 -11
  14. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  15. package/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +43 -13
  16. package/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js.map +1 -1
  17. package/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js +24 -0
  18. package/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js.map +1 -0
  19. package/cjs/components/DatePicker/RangeDate/RangeDate.js +3 -1
  20. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  21. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -2
  22. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  23. package/cjs/components/DatePicker/SingleDate/SingleDate.js +4 -2
  24. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  25. package/cjs/components/Popup/ClientOnlyPortal.js +15 -2
  26. package/cjs/components/Popup/ClientOnlyPortal.js.map +1 -1
  27. package/cjs/components/Popup/PopupContext.js +26 -5
  28. package/cjs/components/Popup/PopupContext.js.map +1 -1
  29. package/cjs/components/Select/Select.js +3 -4
  30. package/cjs/components/Select/Select.js.map +1 -1
  31. package/cjs/components/Select/Select.styles.js +3 -2
  32. package/cjs/components/Select/Select.styles.js.map +1 -1
  33. package/cjs/components/Select/ui/Inner/Inner.js +5 -11
  34. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  35. package/cjs/components/Select/ui/VirtualList/VirtualList.js +43 -13
  36. package/cjs/components/Select/ui/VirtualList/VirtualList.js.map +1 -1
  37. package/emotion/cjs/components/Autocomplete/Autocomplete.js +1 -8
  38. package/emotion/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +84 -16
  39. package/emotion/cjs/components/Carousel/CarouselNew/Carousel.js +2 -2
  40. package/emotion/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  41. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +28 -48
  42. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +15 -15
  43. package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +9 -50
  44. package/emotion/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +84 -16
  45. package/emotion/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js +25 -0
  46. package/emotion/cjs/components/Combobox/ComboboxNew/utils/index.js +4 -0
  47. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +3 -1
  48. package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
  49. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +4 -2
  50. package/emotion/cjs/components/Popup/ClientOnlyPortal.js +14 -2
  51. package/emotion/cjs/components/Popup/PopupContext.js +25 -6
  52. package/emotion/cjs/components/Select/Select.js +2 -4
  53. package/emotion/cjs/components/Select/Select.styles.js +7 -7
  54. package/emotion/cjs/components/Select/ui/Inner/Inner.js +9 -50
  55. package/emotion/cjs/components/Select/ui/VirtualList/VirtualList.js +84 -16
  56. package/emotion/cjs/examples/components/Combobox/Combobox.js +0 -15
  57. package/emotion/es/components/Autocomplete/Autocomplete.js +2 -9
  58. package/emotion/es/components/Autocomplete/ui/VirtualList/VirtualList.js +45 -13
  59. package/emotion/es/components/Carousel/CarouselNew/Carousel.js +2 -2
  60. package/emotion/es/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  61. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +14 -34
  62. package/emotion/es/components/Combobox/ComboboxNew/Combobox.styles.js +15 -15
  63. package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +6 -11
  64. package/emotion/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +45 -13
  65. package/emotion/es/components/Combobox/ComboboxNew/utils/getTextValue.js +16 -0
  66. package/emotion/es/components/Combobox/ComboboxNew/utils/index.js +1 -0
  67. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +3 -1
  68. package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
  69. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +4 -2
  70. package/emotion/es/components/Popup/ClientOnlyPortal.js +14 -2
  71. package/emotion/es/components/Popup/PopupContext.js +25 -6
  72. package/emotion/es/components/Select/Select.js +2 -4
  73. package/emotion/es/components/Select/Select.styles.js +7 -7
  74. package/emotion/es/components/Select/ui/Inner/Inner.js +6 -11
  75. package/emotion/es/components/Select/ui/VirtualList/VirtualList.js +45 -13
  76. package/emotion/es/examples/components/Combobox/Combobox.js +7 -0
  77. package/es/components/Autocomplete/Autocomplete.js +2 -7
  78. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  79. package/es/components/Autocomplete/ui/VirtualList/VirtualList.js +44 -13
  80. package/es/components/Autocomplete/ui/VirtualList/VirtualList.js.map +1 -1
  81. package/es/components/Carousel/CarouselNew/Carousel.js +5 -4
  82. package/es/components/Carousel/CarouselNew/Carousel.js.map +1 -1
  83. package/es/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  84. package/es/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
  85. package/es/components/Combobox/ComboboxNew/Combobox.js +18 -34
  86. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  87. package/es/components/Combobox/ComboboxNew/Combobox.styles.js +3 -2
  88. package/es/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  89. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +6 -12
  90. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  91. package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +44 -13
  92. package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js.map +1 -1
  93. package/es/components/Combobox/ComboboxNew/utils/getTextValue.js +20 -0
  94. package/es/components/Combobox/ComboboxNew/utils/getTextValue.js.map +1 -0
  95. package/es/components/DatePicker/RangeDate/RangeDate.js +3 -1
  96. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  97. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -2
  98. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  99. package/es/components/DatePicker/SingleDate/SingleDate.js +4 -2
  100. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  101. package/es/components/Popup/ClientOnlyPortal.js +15 -2
  102. package/es/components/Popup/ClientOnlyPortal.js.map +1 -1
  103. package/es/components/Popup/PopupContext.js +26 -5
  104. package/es/components/Popup/PopupContext.js.map +1 -1
  105. package/es/components/Select/Select.js +3 -4
  106. package/es/components/Select/Select.js.map +1 -1
  107. package/es/components/Select/Select.styles.js +3 -2
  108. package/es/components/Select/Select.styles.js.map +1 -1
  109. package/es/components/Select/ui/Inner/Inner.js +6 -12
  110. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  111. package/es/components/Select/ui/VirtualList/VirtualList.js +44 -13
  112. package/es/components/Select/ui/VirtualList/VirtualList.js.map +1 -1
  113. package/package.json +4 -5
  114. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +1 -8
  115. package/styled-components/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +84 -16
  116. package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.js +2 -2
  117. package/styled-components/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  118. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +28 -48
  119. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +8 -8
  120. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +9 -50
  121. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +84 -16
  122. package/styled-components/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js +25 -0
  123. package/styled-components/cjs/components/Combobox/ComboboxNew/utils/index.js +4 -0
  124. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +3 -1
  125. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
  126. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +4 -2
  127. package/styled-components/cjs/components/Popup/ClientOnlyPortal.js +14 -2
  128. package/styled-components/cjs/components/Popup/PopupContext.js +25 -6
  129. package/styled-components/cjs/components/Select/Select.js +2 -4
  130. package/styled-components/cjs/components/Select/Select.styles.js +4 -4
  131. package/styled-components/cjs/components/Select/ui/Inner/Inner.js +9 -50
  132. package/styled-components/cjs/components/Select/ui/VirtualList/VirtualList.js +84 -16
  133. package/styled-components/cjs/examples/components/Combobox/Combobox.js +15 -0
  134. package/styled-components/es/components/Autocomplete/Autocomplete.js +2 -9
  135. package/styled-components/es/components/Autocomplete/ui/VirtualList/VirtualList.js +45 -13
  136. package/styled-components/es/components/Carousel/CarouselNew/Carousel.js +2 -2
  137. package/styled-components/es/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  138. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +14 -34
  139. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.styles.js +8 -8
  140. package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +6 -11
  141. package/styled-components/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +45 -13
  142. package/styled-components/es/components/Combobox/ComboboxNew/utils/getTextValue.js +16 -0
  143. package/styled-components/es/components/Combobox/ComboboxNew/utils/index.js +1 -0
  144. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +3 -1
  145. package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
  146. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +4 -2
  147. package/styled-components/es/components/Popup/ClientOnlyPortal.js +14 -2
  148. package/styled-components/es/components/Popup/PopupContext.js +25 -6
  149. package/styled-components/es/components/Select/Select.js +2 -4
  150. package/styled-components/es/components/Select/Select.styles.js +4 -4
  151. package/styled-components/es/components/Select/ui/Inner/Inner.js +6 -11
  152. package/styled-components/es/components/Select/ui/VirtualList/VirtualList.js +45 -13
  153. package/styled-components/es/examples/components/Combobox/Combobox.js +7 -0
  154. package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  155. package/types/components/Autocomplete/Autocomplete.types.d.ts +17 -17
  156. package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
  157. package/types/components/Autocomplete/ui/VirtualList/VirtualList.d.ts +1 -1
  158. package/types/components/Autocomplete/ui/VirtualList/VirtualList.d.ts.map +1 -1
  159. package/types/components/Carousel/CarouselNew/Carousel.d.ts.map +1 -1
  160. package/types/components/Carousel/CarouselNew/Carousel.types.d.ts +5 -0
  161. package/types/components/Carousel/CarouselNew/Carousel.types.d.ts.map +1 -1
  162. package/types/components/Carousel/CarouselNew/hooks/useCarousel.d.ts.map +1 -1
  163. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  164. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts +1 -0
  165. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts.map +1 -1
  166. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +7 -7
  167. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  168. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.d.ts.map +1 -1
  169. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts +1 -2
  170. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts.map +1 -1
  171. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts +2 -6
  172. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
  173. package/types/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.d.ts +1 -1
  174. package/types/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.d.ts.map +1 -1
  175. package/types/components/Combobox/ComboboxNew/utils/getTextValue.d.ts +4 -0
  176. package/types/components/Combobox/ComboboxNew/utils/getTextValue.d.ts.map +1 -0
  177. package/types/components/Combobox/ComboboxNew/utils/index.d.ts +1 -0
  178. package/types/components/Combobox/ComboboxNew/utils/index.d.ts.map +1 -1
  179. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  180. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts +1 -1
  181. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts.map +1 -1
  182. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  183. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +4 -0
  184. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  185. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +18 -18
  186. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
  187. package/types/components/Popup/ClientOnlyPortal.d.ts +1 -0
  188. package/types/components/Popup/ClientOnlyPortal.d.ts.map +1 -1
  189. package/types/components/Popup/PopupContext.d.ts +5 -1
  190. package/types/components/Popup/PopupContext.d.ts.map +1 -1
  191. package/types/components/Select/Select.d.ts.map +1 -1
  192. package/types/components/Select/Select.styles.d.ts +1 -0
  193. package/types/components/Select/Select.styles.d.ts.map +1 -1
  194. package/types/components/Select/Select.types.d.ts +14 -14
  195. package/types/components/Select/Select.types.d.ts.map +1 -1
  196. package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
  197. package/types/components/Select/ui/Inner/Inner.type.d.ts +1 -2
  198. package/types/components/Select/ui/Inner/Inner.type.d.ts.map +1 -1
  199. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts +3 -11
  200. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
  201. package/types/components/Select/ui/VirtualList/VirtualList.d.ts +1 -1
  202. package/types/components/Select/ui/VirtualList/VirtualList.d.ts.map +1 -1
  203. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +18 -18
  204. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
  205. package/types/examples/components/Autocomplete/Autocomplete.d.ts +40 -40
  206. package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  207. package/types/examples/components/Combobox/Combobox.d.ts +48 -48
  208. package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
  209. package/types/examples/components/Select/Select.d.ts +18 -18
  210. package/types/examples/components/Select/Select.d.ts.map +1 -1
@@ -1,4 +1,4 @@
1
- import React, { useRef } from '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, { useRef } 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, portal }) => {\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 listWrapperRef = useRef<HTMLDivElement>(null);\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 portal={portal}\n >\n <ListWrapper listWidth={listWidth} ref={listWrapperRef}>\n <Ul role=\"group\" id={listId} virtual={false} listMaxHeight={item?.listMaxHeight}>\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 portal={listWrapperRef}\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","portal","handleToggle","opened","type","value","toString","level","listWrapperRef","useRef","isCurrentListOpen","treeId","safeUseId","listId","concat","nextLevel","isEmpty","items","_item$items","React","createElement","FloatingPopover","placement","onToggle","target","Item","ariaControls","ariaExpanded","ariaLevel","ariaLabel","label","isInner","ListWrapper","ref","Ul","role","id","virtual","listMaxHeight","map","innerItem","innerIndex","key"],"mappings":"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"}
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 List from 'rc-virtual-list';
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
- return /*#__PURE__*/React.createElement(List, {
11
- data: items,
12
- height: getHeightAsNumber(listMaxHeight),
13
- fullHeight: false,
14
- itemHeight: 100,
15
- itemKey: "id",
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
- }, function (item, index, props) {
18
- return /*#__PURE__*/React.createElement("div", props, /*#__PURE__*/React.createElement(Item, {
19
- item: item,
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 List from 'rc-virtual-list';\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<HTMLUListElement>) => void;\n}\n\nexport const VirtualList: React.FC<Props> = ({ items, listMaxHeight, onScroll }) => (\n <List\n data={items}\n height={getHeightAsNumber(listMaxHeight)}\n fullHeight={false}\n itemHeight={100}\n itemKey=\"id\"\n onScroll={onScroll}\n >\n {(item, index, props) => (\n <div {...props}>\n <Item item={item} path={['root']} currentLevel={0} index={index} ariaLevel={1} />\n </div>\n )}\n </List>\n);\n"],"names":["VirtualList","_ref","items","listMaxHeight","onScroll","React","createElement","List","data","height","getHeightAsNumber","fullHeight","itemHeight","itemKey","item","index","props","Item","path","currentLevel","ariaLevel"],"mappings":";;;;;IAaaA,WAA4B,GAAG,SAA/BA,WAA4BA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,aAAa,GAAAF,IAAA,CAAbE,aAAa;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ,CAAA;AAAA,EAAA,oBACzEC,KAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;AACDC,IAAAA,IAAI,EAAEN,KAAM;AACZO,IAAAA,MAAM,EAAEC,iBAAiB,CAACP,aAAa,CAAE;AACzCQ,IAAAA,UAAU,EAAE,KAAM;AAClBC,IAAAA,UAAU,EAAE,GAAI;AAChBC,IAAAA,OAAO,EAAC,IAAI;AACZT,IAAAA,QAAQ,EAAEA,QAAAA;AAAS,GAAA,EAElB,UAACU,IAAI,EAAEC,KAAK,EAAEC,KAAK,EAAA;IAAA,oBAChBX,KAAA,CAAAC,aAAA,CAASU,KAAAA,EAAAA,KAAK,eACVX,KAAA,CAAAC,aAAA,CAACW,IAAI,EAAA;AAACH,MAAAA,IAAI,EAAEA,IAAK;MAACI,IAAI,EAAE,CAAC,MAAM,CAAE;AAACC,MAAAA,YAAY,EAAE,CAAE;AAACJ,MAAAA,KAAK,EAAEA,KAAM;AAACK,MAAAA,SAAS,EAAE,CAAA;AAAE,KAAE,CAC/E,CAAC,CAAA;AAAA,GAER,CAAC,CAAA;AAAA;;;;"}
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.2197.17377664818.0",
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.206.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.206.0",
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": "821811e043c8f2c43fb8a19a113390750a4eec2c"
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__*/ _interop_require_default(require("react"));
12
- var _rcvirtuallist = /*#__PURE__*/ _interop_require_default(require("rc-virtual-list"));
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 _interop_require_default(obj) {
16
- return obj && obj.__esModule ? obj : {
17
- default: obj
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
- return /*#__PURE__*/ _react.default.createElement(_rcvirtuallist.default, {
23
- data: items,
24
- height: (0, _utils.getHeightAsNumber)(listMaxHeight),
25
- fullHeight: false,
26
- itemHeight: 100,
27
- itemKey: "id",
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
- }, function(item, index, props) {
30
- return /*#__PURE__*/ _react.default.createElement("div", props, /*#__PURE__*/ _react.default.createElement(_SuggestionItem.SuggestionItem, {
31
- item: item,
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 _utils2 = require("../../Select/utils");
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 _utils3 = require("./utils");
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 _valueToItemMap_get, _getItemByFocused;
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, _utils3.initialItemsTransform)(items || []);
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)(multiple || Array.isArray(outerValue) ? '' : ((_valueToItemMap_get = valueToItemMap.get(outerValue)) === null || _valueToItemMap_get === void 0 ? void 0 : _valueToItemMap_get.label) || (outerValue === null || outerValue === void 0 ? void 0 : outerValue.toString()) || ''), 2), textValue = _useState[0], setTextValue = _useState[1];
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
- var _valueToItemMap_get;
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
- // Проверяем, отличается ли значение в инпуте от выбранного value после закрытия дропдауна.
327
- // Если изменилось, то возвращаем label выбранного айтема.
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, _utils3.getRemovedElement)(value, resultValues, isTargetAmount);
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, _utils3.getRemovedElement)(value, newValues, isTargetAmount);
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, _utils3.updateDescendants)(item, checkedCopy, true, valueToItemMap);
440
+ (0, _utils2.updateDescendants)(item, checkedCopy, true, valueToItemMap);
455
441
  } else {
456
442
  checkedCopy.set(item.value, false);
457
- (0, _utils3.updateDescendants)(item, checkedCopy, false);
443
+ (0, _utils2.updateDescendants)(item, checkedCopy, false);
458
444
  }
459
- (0, _utils3.updateAncestors)(item, checkedCopy);
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, _utils1.isEmpty)(item === null || item === void 0 ? void 0 : item.items)) {
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, _utils1.isEmpty)(item.items)) {
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, _utils1.isEmpty)(value)) {
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, _utils3.updateDescendants)(valueToItemMap.get(val), checkedCopy, true);
572
- (0, _utils3.updateAncestors)(valueToItemMap.get(val), checkedCopy);
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, _utils3.updateSingleAncestors)(valueToItemMap.get(value), checkedCopy, 'dot');
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, _react.useLayoutEffect)(function() {
599
- var _valueToItemMap_get;
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, _utils2.sizeToIconSize)(size),
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, _utils3.getItemId)(treeId, activeDescendantItemValue) : '',
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, _utils1.isEmpty)(filteredItems) ? /*#__PURE__*/ _react.default.createElement(_Comboboxstyles.StyledEmptyState, {
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
  });