@salutejs/plasma-new-hope 0.335.0-canary.2197.17377664818.0 → 0.335.0-canary.2199.17384366399.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 (216) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.js +5 -7
  2. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/cjs/components/Autocomplete/FloatingPopover.js +5 -4
  4. package/cjs/components/Autocomplete/FloatingPopover.js.map +1 -1
  5. package/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +43 -13
  6. package/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js.map +1 -1
  7. package/cjs/components/Carousel/CarouselNew/Carousel.js +4 -3
  8. package/cjs/components/Carousel/CarouselNew/Carousel.js.map +1 -1
  9. package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  10. package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
  11. package/cjs/components/Combobox/ComboboxNew/Combobox.js +18 -34
  12. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  13. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +3 -2
  14. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  15. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +5 -11
  16. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  17. package/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +43 -13
  18. package/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js.map +1 -1
  19. package/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js +24 -0
  20. package/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js.map +1 -0
  21. package/cjs/components/DatePicker/RangeDate/RangeDate.js +3 -1
  22. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  23. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -2
  24. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  25. package/cjs/components/DatePicker/SingleDate/SingleDate.js +4 -2
  26. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  27. package/cjs/components/Popup/ClientOnlyPortal.js +15 -2
  28. package/cjs/components/Popup/ClientOnlyPortal.js.map +1 -1
  29. package/cjs/components/Popup/PopupContext.js +26 -5
  30. package/cjs/components/Popup/PopupContext.js.map +1 -1
  31. package/cjs/components/Select/Select.js +3 -4
  32. package/cjs/components/Select/Select.js.map +1 -1
  33. package/cjs/components/Select/Select.styles.js +3 -2
  34. package/cjs/components/Select/Select.styles.js.map +1 -1
  35. package/cjs/components/Select/ui/Inner/Inner.js +5 -11
  36. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  37. package/cjs/components/Select/ui/VirtualList/VirtualList.js +43 -13
  38. package/cjs/components/Select/ui/VirtualList/VirtualList.js.map +1 -1
  39. package/emotion/cjs/components/Autocomplete/Autocomplete.js +4 -9
  40. package/emotion/cjs/components/Autocomplete/FloatingPopover.js +31 -4
  41. package/emotion/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +84 -16
  42. package/emotion/cjs/components/Carousel/CarouselNew/Carousel.js +2 -2
  43. package/emotion/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  44. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +28 -48
  45. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +15 -15
  46. package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +9 -50
  47. package/emotion/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +84 -16
  48. package/emotion/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js +25 -0
  49. package/emotion/cjs/components/Combobox/ComboboxNew/utils/index.js +4 -0
  50. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +3 -1
  51. package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
  52. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +4 -2
  53. package/emotion/cjs/components/Popup/ClientOnlyPortal.js +14 -2
  54. package/emotion/cjs/components/Popup/PopupContext.js +25 -6
  55. package/emotion/cjs/components/Select/Select.js +2 -4
  56. package/emotion/cjs/components/Select/Select.styles.js +7 -7
  57. package/emotion/cjs/components/Select/ui/Inner/Inner.js +9 -50
  58. package/emotion/cjs/components/Select/ui/VirtualList/VirtualList.js +84 -16
  59. package/emotion/cjs/examples/components/Combobox/Combobox.js +0 -15
  60. package/emotion/es/components/Autocomplete/Autocomplete.js +5 -10
  61. package/emotion/es/components/Autocomplete/FloatingPopover.js +31 -4
  62. package/emotion/es/components/Autocomplete/ui/VirtualList/VirtualList.js +45 -13
  63. package/emotion/es/components/Carousel/CarouselNew/Carousel.js +2 -2
  64. package/emotion/es/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  65. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +14 -34
  66. package/emotion/es/components/Combobox/ComboboxNew/Combobox.styles.js +15 -15
  67. package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +6 -11
  68. package/emotion/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +45 -13
  69. package/emotion/es/components/Combobox/ComboboxNew/utils/getTextValue.js +16 -0
  70. package/emotion/es/components/Combobox/ComboboxNew/utils/index.js +1 -0
  71. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +3 -1
  72. package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
  73. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +4 -2
  74. package/emotion/es/components/Popup/ClientOnlyPortal.js +14 -2
  75. package/emotion/es/components/Popup/PopupContext.js +25 -6
  76. package/emotion/es/components/Select/Select.js +2 -4
  77. package/emotion/es/components/Select/Select.styles.js +7 -7
  78. package/emotion/es/components/Select/ui/Inner/Inner.js +6 -11
  79. package/emotion/es/components/Select/ui/VirtualList/VirtualList.js +45 -13
  80. package/emotion/es/examples/components/Combobox/Combobox.js +7 -0
  81. package/es/components/Autocomplete/Autocomplete.js +6 -8
  82. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  83. package/es/components/Autocomplete/FloatingPopover.js +6 -5
  84. package/es/components/Autocomplete/FloatingPopover.js.map +1 -1
  85. package/es/components/Autocomplete/ui/VirtualList/VirtualList.js +44 -13
  86. package/es/components/Autocomplete/ui/VirtualList/VirtualList.js.map +1 -1
  87. package/es/components/Carousel/CarouselNew/Carousel.js +5 -4
  88. package/es/components/Carousel/CarouselNew/Carousel.js.map +1 -1
  89. package/es/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  90. package/es/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
  91. package/es/components/Combobox/ComboboxNew/Combobox.js +18 -34
  92. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  93. package/es/components/Combobox/ComboboxNew/Combobox.styles.js +3 -2
  94. package/es/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  95. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +6 -12
  96. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  97. package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +44 -13
  98. package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js.map +1 -1
  99. package/es/components/Combobox/ComboboxNew/utils/getTextValue.js +20 -0
  100. package/es/components/Combobox/ComboboxNew/utils/getTextValue.js.map +1 -0
  101. package/es/components/DatePicker/RangeDate/RangeDate.js +3 -1
  102. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  103. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -2
  104. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  105. package/es/components/DatePicker/SingleDate/SingleDate.js +4 -2
  106. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  107. package/es/components/Popup/ClientOnlyPortal.js +15 -2
  108. package/es/components/Popup/ClientOnlyPortal.js.map +1 -1
  109. package/es/components/Popup/PopupContext.js +26 -5
  110. package/es/components/Popup/PopupContext.js.map +1 -1
  111. package/es/components/Select/Select.js +3 -4
  112. package/es/components/Select/Select.js.map +1 -1
  113. package/es/components/Select/Select.styles.js +3 -2
  114. package/es/components/Select/Select.styles.js.map +1 -1
  115. package/es/components/Select/ui/Inner/Inner.js +6 -12
  116. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  117. package/es/components/Select/ui/VirtualList/VirtualList.js +44 -13
  118. package/es/components/Select/ui/VirtualList/VirtualList.js.map +1 -1
  119. package/package.json +4 -5
  120. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +4 -9
  121. package/styled-components/cjs/components/Autocomplete/FloatingPopover.js +31 -4
  122. package/styled-components/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +84 -16
  123. package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.js +2 -2
  124. package/styled-components/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  125. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +28 -48
  126. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +8 -8
  127. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +9 -50
  128. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +84 -16
  129. package/styled-components/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js +25 -0
  130. package/styled-components/cjs/components/Combobox/ComboboxNew/utils/index.js +4 -0
  131. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +3 -1
  132. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
  133. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +4 -2
  134. package/styled-components/cjs/components/Popup/ClientOnlyPortal.js +14 -2
  135. package/styled-components/cjs/components/Popup/PopupContext.js +25 -6
  136. package/styled-components/cjs/components/Select/Select.js +2 -4
  137. package/styled-components/cjs/components/Select/Select.styles.js +4 -4
  138. package/styled-components/cjs/components/Select/ui/Inner/Inner.js +9 -50
  139. package/styled-components/cjs/components/Select/ui/VirtualList/VirtualList.js +84 -16
  140. package/styled-components/es/components/Autocomplete/Autocomplete.js +5 -10
  141. package/styled-components/es/components/Autocomplete/FloatingPopover.js +31 -4
  142. package/styled-components/es/components/Autocomplete/ui/VirtualList/VirtualList.js +45 -13
  143. package/styled-components/es/components/Carousel/CarouselNew/Carousel.js +2 -2
  144. package/styled-components/es/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  145. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +14 -34
  146. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.styles.js +8 -8
  147. package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +6 -11
  148. package/styled-components/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +45 -13
  149. package/styled-components/es/components/Combobox/ComboboxNew/utils/getTextValue.js +16 -0
  150. package/styled-components/es/components/Combobox/ComboboxNew/utils/index.js +1 -0
  151. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +3 -1
  152. package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
  153. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +4 -2
  154. package/styled-components/es/components/Popup/ClientOnlyPortal.js +14 -2
  155. package/styled-components/es/components/Popup/PopupContext.js +25 -6
  156. package/styled-components/es/components/Select/Select.js +2 -4
  157. package/styled-components/es/components/Select/Select.styles.js +4 -4
  158. package/styled-components/es/components/Select/ui/Inner/Inner.js +6 -11
  159. package/styled-components/es/components/Select/ui/VirtualList/VirtualList.js +45 -13
  160. package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  161. package/types/components/Autocomplete/Autocomplete.types.d.ts +23 -17
  162. package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
  163. package/types/components/Autocomplete/ui/VirtualList/VirtualList.d.ts +1 -1
  164. package/types/components/Autocomplete/ui/VirtualList/VirtualList.d.ts.map +1 -1
  165. package/types/components/Carousel/CarouselNew/Carousel.d.ts.map +1 -1
  166. package/types/components/Carousel/CarouselNew/Carousel.types.d.ts +5 -0
  167. package/types/components/Carousel/CarouselNew/Carousel.types.d.ts.map +1 -1
  168. package/types/components/Carousel/CarouselNew/hooks/useCarousel.d.ts.map +1 -1
  169. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  170. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts +1 -0
  171. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts.map +1 -1
  172. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +7 -7
  173. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  174. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.d.ts.map +1 -1
  175. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts +1 -2
  176. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts.map +1 -1
  177. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts +2 -6
  178. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
  179. package/types/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.d.ts +1 -1
  180. package/types/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.d.ts.map +1 -1
  181. package/types/components/Combobox/ComboboxNew/utils/getTextValue.d.ts +4 -0
  182. package/types/components/Combobox/ComboboxNew/utils/getTextValue.d.ts.map +1 -0
  183. package/types/components/Combobox/ComboboxNew/utils/index.d.ts +1 -0
  184. package/types/components/Combobox/ComboboxNew/utils/index.d.ts.map +1 -1
  185. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  186. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts +1 -1
  187. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts.map +1 -1
  188. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  189. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +4 -0
  190. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  191. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +18 -18
  192. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
  193. package/types/components/Popup/ClientOnlyPortal.d.ts +1 -0
  194. package/types/components/Popup/ClientOnlyPortal.d.ts.map +1 -1
  195. package/types/components/Popup/PopupContext.d.ts +5 -1
  196. package/types/components/Popup/PopupContext.d.ts.map +1 -1
  197. package/types/components/Select/Select.d.ts.map +1 -1
  198. package/types/components/Select/Select.styles.d.ts +1 -0
  199. package/types/components/Select/Select.styles.d.ts.map +1 -1
  200. package/types/components/Select/Select.types.d.ts +14 -14
  201. package/types/components/Select/Select.types.d.ts.map +1 -1
  202. package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
  203. package/types/components/Select/ui/Inner/Inner.type.d.ts +1 -2
  204. package/types/components/Select/ui/Inner/Inner.type.d.ts.map +1 -1
  205. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts +3 -11
  206. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
  207. package/types/components/Select/ui/VirtualList/VirtualList.d.ts +1 -1
  208. package/types/components/Select/ui/VirtualList/VirtualList.d.ts.map +1 -1
  209. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +18 -18
  210. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
  211. package/types/examples/components/Autocomplete/Autocomplete.d.ts +48 -40
  212. package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  213. package/types/examples/components/Combobox/Combobox.d.ts +48 -48
  214. package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
  215. package/types/examples/components/Select/Select.d.ts +18 -18
  216. package/types/examples/components/Select/Select.d.ts.map +1 -1
@@ -19,8 +19,7 @@ var Inner = function Inner(_ref) {
19
19
  path = _ref.path,
20
20
  dispatchPath = _ref.dispatchPath,
21
21
  index = _ref.index,
22
- listWidth = _ref.listWidth,
23
- portal = _ref.portal;
22
+ listWidth = _ref.listWidth;
24
23
  var handleToggle = function handleToggle(opened) {
25
24
  if (opened) {
26
25
  dispatchPath({
@@ -35,7 +34,6 @@ var Inner = function Inner(_ref) {
35
34
  });
36
35
  }
37
36
  };
38
- var listWrapperRef = React.useRef(null);
39
37
  var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
40
38
  var treeId = react.safeUseId();
41
39
  var listId = "".concat(treeId, "_tree_level_").concat(currentLevel + 2);
@@ -56,16 +54,13 @@ var Inner = function Inner(_ref) {
56
54
  ariaLevel: nextLevel,
57
55
  ariaLabel: item.label
58
56
  }),
59
- isInner: true,
60
- portal: portal
57
+ isInner: true
61
58
  }, /*#__PURE__*/React__default.default.createElement(Select_styles.ListWrapper, {
62
- listWidth: listWidth,
63
- ref: listWrapperRef
59
+ listWidth: listWidth
64
60
  }, /*#__PURE__*/React__default.default.createElement(Select_styles.Ul, {
65
61
  role: "group",
66
62
  id: listId,
67
- virtual: false,
68
- listMaxHeight: item === null || item === void 0 ? void 0 : item.listMaxHeight
63
+ virtual: false
69
64
  }, (_item$items = item.items) === null || _item$items === void 0 ? void 0 : _item$items.map(function (innerItem, innerIndex) {
70
65
  return /*#__PURE__*/React__default.default.createElement(Inner, {
71
66
  key: "".concat(innerIndex, "/").concat(currentLevel),
@@ -74,8 +69,7 @@ var Inner = function Inner(_ref) {
74
69
  path: path,
75
70
  dispatchPath: dispatchPath,
76
71
  index: innerIndex,
77
- listWidth: listWidth,
78
- portal: listWrapperRef
72
+ listWidth: listWidth
79
73
  });
80
74
  }))));
81
75
  }
@@ -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":";;;;;;;;;;;;;;;IAWaA,KAAqB,GAAG,SAAxBA,KAAqBA,CAAAC,IAAA,EAAqE;AAAA,EAAA,IAA/DC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,YAAY,GAAAF,IAAA,CAAZE,YAAY;IAAEC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IAAEC,YAAY,GAAAJ,IAAA,CAAZI,YAAY;IAAEC,KAAK,GAAAL,IAAA,CAALK,KAAK;IAAEC,SAAS,GAAAN,IAAA,CAATM,SAAS,CAAA;AAC5F,EAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,MAAe,EAAW;AAC5C,IAAA,IAAIA,MAAM,EAAE;AACRJ,MAAAA,YAAY,CAAC;AAAEK,QAAAA,IAAI,EAAE,kBAAkB;AAAEC,QAAAA,KAAK,EAAET,IAAI,CAACS,KAAK,CAACC,QAAQ,EAAE;QAAEC,KAAK,EAAEV,YAAY,GAAG,CAAA;AAAE,OAAC,CAAC,CAAA;AACrG,KAAC,MAAM;AACHE,MAAAA,YAAY,CAAC;AAAEK,QAAAA,IAAI,EAAE,cAAc;QAAEG,KAAK,EAAEV,YAAY,GAAG,CAAA;AAAE,OAAC,CAAC,CAAA;AACnE,KAAA;GACH,CAAA;AAED,EAAA,IAAMW,iBAAiB,GAAGV,IAAI,CAACD,YAAY,GAAG,CAAC,CAAC,KAAKD,IAAI,CAACS,KAAK,CAACC,QAAQ,EAAE,CAAA;AAE1E,EAAA,IAAMG,MAAM,GAAGC,eAAS,EAAE,CAAA;EAC1B,IAAMC,MAAM,GAAAC,EAAAA,CAAAA,MAAA,CAAMH,MAAM,EAAAG,cAAAA,CAAAA,CAAAA,MAAA,CAAef,YAAY,GAAG,CAAC,CAAE,CAAA;AACzD,EAAA,IAAMgB,SAAS,GAAGhB,YAAY,GAAG,CAAC,CAAA;EAElC,IAAI,CAACiB,eAAO,CAAClB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEmB,KAAK,CAAC,EAAE;AAAA,IAAA,IAAAC,WAAA,CAAA;AACvB,IAAA,oBACIC,sBAAA,CAAAC,aAAA,CAACC,+BAAe,EAAA;MACZC,SAAS,EAAE,CAAAxB,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAEwB,SAAS,KAAI,OAAQ;AACtCjB,MAAAA,MAAM,EAAEK,iBAAkB;AAC1Ba,MAAAA,QAAQ,EAAEnB,YAAa;AACvBoB,MAAAA,MAAM,eACFL,sBAAA,CAAAC,aAAA,CAACK,SAAI,EAAA;AACD3B,QAAAA,IAAI,EAAEA,IAAK;AACXE,QAAAA,IAAI,EAAEA,IAAK;AACXD,QAAAA,YAAY,EAAEA,YAAa;AAC3BG,QAAAA,KAAK,EAAEA,KAAM;AACbwB,QAAAA,YAAY,EAAEb,MAAO;AACrBc,QAAAA,YAAY,EAAEjB,iBAAkB;AAChCkB,QAAAA,SAAS,EAAEb,SAAU;QACrBc,SAAS,EAAE/B,IAAI,CAACgC,KAAAA;AAAM,OACzB,CACJ;MACDC,OAAO,EAAA,IAAA;AAAA,KAAA,eAEPZ,sBAAA,CAAAC,aAAA,CAACY,yBAAW,EAAA;AAAC7B,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,eAC9BgB,sBAAA,CAAAC,aAAA,CAACa,gBAAE,EAAA;AAACC,MAAAA,IAAI,EAAC,OAAO;AAACC,MAAAA,EAAE,EAAEtB,MAAO;AAACuB,MAAAA,OAAO,EAAE,KAAA;AAAM,KAAA,EAAA,CAAAlB,WAAA,GACvCpB,IAAI,CAACmB,KAAK,MAAAC,IAAAA,IAAAA,WAAA,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAA,CAAYmB,GAAG,CAAC,UAACC,SAAwC,EAAEC,UAAkB,EAAA;AAAA,MAAA,oBAC1EpB,sBAAA,CAAAC,aAAA,CAACxB,KAAK,EAAA;QACF4C,GAAG,EAAA,EAAA,CAAA1B,MAAA,CAAKyB,UAAU,OAAAzB,MAAA,CAAIf,YAAY,CAAG;AACrCD,QAAAA,IAAI,EAAEwC,SAAU;AAChBvC,QAAAA,YAAY,EAAEgB,SAAU;AACxBf,QAAAA,IAAI,EAAEA,IAAK;AACXC,QAAAA,YAAY,EAAEA,YAAa;AAC3BC,QAAAA,KAAK,EAAEqC,UAAW;AAClBpC,QAAAA,SAAS,EAAEA,SAAAA;AAAU,OACxB,CAAC,CAAA;KACL,CACD,CACK,CACA,CAAC,CAAA;AAE1B,GAAA;AAEA,EAAA,oBAAOgB,sBAAA,CAAAC,aAAA,CAACK,SAAI,EAAA;AAAC3B,IAAAA,IAAI,EAAEA,IAAK;AAACE,IAAAA,IAAI,EAAEA,IAAK;AAACE,IAAAA,KAAK,EAAEA,KAAM;AAACH,IAAAA,YAAY,EAAEA,YAAa;AAAC6B,IAAAA,SAAS,EAAEb,SAAAA;AAAU,GAAE,CAAC,CAAA;AAC3G;;;;"}
@@ -3,35 +3,65 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var List = require('rc-virtual-list');
6
+ var reactVirtual = require('@tanstack/react-virtual');
7
7
  var getHeightAsNumber = require('../../../../utils/getHeightAsNumber.js');
8
8
  var Item = require('../Inner/ui/Item/Item.js');
9
9
 
10
10
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
11
 
12
12
  var React__default = /*#__PURE__*/_interopDefault(React);
13
- var List__default = /*#__PURE__*/_interopDefault(List);
14
13
 
15
14
  var VirtualList = function VirtualList(_ref) {
15
+ var _virtualItems$0$start, _virtualItems$;
16
16
  var items = _ref.items,
17
17
  listMaxHeight = _ref.listMaxHeight,
18
18
  onScroll = _ref.onScroll;
19
- return /*#__PURE__*/React__default.default.createElement(List__default.default, {
20
- data: items,
21
- height: getHeightAsNumber.getHeightAsNumber(listMaxHeight),
22
- fullHeight: false,
23
- itemHeight: 100,
24
- itemKey: "id",
19
+ var parentRef = React.useRef(null);
20
+ var virtualizer = reactVirtual.useVirtualizer({
21
+ count: items.length,
22
+ getScrollElement: function getScrollElement() {
23
+ return parentRef.current;
24
+ },
25
+ estimateSize: function estimateSize() {
26
+ return 48;
27
+ }
28
+ });
29
+ var virtualItems = virtualizer.getVirtualItems();
30
+ return /*#__PURE__*/React__default.default.createElement("div", {
31
+ ref: parentRef,
32
+ style: {
33
+ height: 'auto',
34
+ maxHeight: getHeightAsNumber.getHeightAsNumber(listMaxHeight),
35
+ overflowY: 'auto'
36
+ },
25
37
  onScroll: onScroll
26
- }, function (item, index, props) {
27
- return /*#__PURE__*/React__default.default.createElement("div", props, /*#__PURE__*/React__default.default.createElement(Item.Item, {
28
- item: item,
38
+ }, /*#__PURE__*/React__default.default.createElement("div", {
39
+ style: {
40
+ height: virtualizer.getTotalSize(),
41
+ width: '100%',
42
+ position: 'relative'
43
+ }
44
+ }, /*#__PURE__*/React__default.default.createElement("div", {
45
+ style: {
46
+ position: 'absolute',
47
+ top: 0,
48
+ left: 0,
49
+ width: '100%',
50
+ 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)")
51
+ }
52
+ }, virtualItems.map(function (virtualRow) {
53
+ return /*#__PURE__*/React__default.default.createElement("div", {
54
+ key: virtualRow.key,
55
+ "data-index": virtualRow.index,
56
+ ref: virtualizer.measureElement
57
+ }, /*#__PURE__*/React__default.default.createElement(Item.Item, {
58
+ item: items[virtualRow.index],
29
59
  path: ['root'],
30
60
  currentLevel: 0,
31
- index: index,
61
+ index: virtualRow.index,
32
62
  ariaLevel: 1
33
63
  }));
34
- });
64
+ }))));
35
65
  };
36
66
 
37
67
  exports.VirtualList = 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,sBAAA,CAAAC,aAAA,CAACC,qBAAI,EAAA;AACDC,IAAAA,IAAI,EAAEN,KAAM;AACZO,IAAAA,MAAM,EAAEC,mCAAiB,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,sBAAA,CAAAC,aAAA,CAASU,KAAAA,EAAAA,KAAK,eACVX,sBAAA,CAAAC,aAAA,CAACW,SAAI,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,YAAM,CAAiB,IAAI,CAAC,CAAA;EAE9C,IAAMC,WAAW,GAAGC,2BAAc,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,sBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACIC,IAAAA,GAAG,EAAEb,SAAU;AACfc,IAAAA,KAAK,EAAE;AACHC,MAAAA,MAAM,EAAE,MAAM;AACdC,MAAAA,SAAS,EAAEC,mCAAiB,CAACnB,aAAa,CAAC;AAC3CoB,MAAAA,SAAS,EAAE,MAAA;KACb;AACFnB,IAAAA,QAAQ,EAAEA,QAAAA;GAEVY,eAAAA,sBAAA,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,sBAAA,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,sBAAA,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,sBAAA,CAAAC,aAAA,CAACoB,SAAI,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;;;;"}
@@ -168,7 +168,7 @@ function _unsupported_iterable_to_array(o, minLen) {
168
168
  }
169
169
  var autocompleteRoot = function(Root) {
170
170
  return /*#__PURE__*/ (0, _react.forwardRef)(function(_param, ref) {
171
- var outerValue = _param.value, defaultValue = _param.defaultValue, onChange = _param.onChange, suggestions = _param.suggestions, view = _param.view, size = _param.size, labelPlacement = _param.labelPlacement, keepPlaceholder = _param.keepPlaceholder, disabled = _param.disabled, readOnly = _param.readOnly, label = _param.label, leftHelper = _param.leftHelper, contentLeft = _param.contentLeft, contentRight = _param.contentRight, textBefore = _param.textBefore, textAfter = _param.textAfter, onScroll = _param.onScroll, _param_listMaxHeight = _param.listMaxHeight, listMaxHeight = _param_listMaxHeight === void 0 ? '25rem' : _param_listMaxHeight, listWidth = _param.listWidth, portal = _param.portal, zIndex = _param.zIndex, filter = _param.filter, onSuggestionSelect = _param.onSuggestionSelect, _param_threshold = _param.threshold, threshold = _param_threshold === void 0 ? 2 : _param_threshold, renderList = _param.renderList, renderListEnd = _param.renderListEnd, renderItem = _param.renderItem, onSearch = _param.onSearch, hintText = _param.hintText, _param_hintView = _param.hintView, hintView = _param_hintView === void 0 ? 'default' : _param_hintView, _param_hintSize = _param.hintSize, hintSize = _param_hintSize === void 0 ? 'm' : _param_hintSize, beforeList = _param.beforeList, afterList = _param.afterList, _param_virtual = _param.virtual, virtual = _param_virtual === void 0 ? false : _param_virtual, // @ts-ignore
171
+ var outerValue = _param.value, defaultValue = _param.defaultValue, onChange = _param.onChange, suggestions = _param.suggestions, view = _param.view, size = _param.size, labelPlacement = _param.labelPlacement, keepPlaceholder = _param.keepPlaceholder, disabled = _param.disabled, readOnly = _param.readOnly, label = _param.label, leftHelper = _param.leftHelper, contentLeft = _param.contentLeft, contentRight = _param.contentRight, textBefore = _param.textBefore, textAfter = _param.textAfter, onScroll = _param.onScroll, _param_listMaxHeight = _param.listMaxHeight, listMaxHeight = _param_listMaxHeight === void 0 ? '25rem' : _param_listMaxHeight, listWidth = _param.listWidth, portal = _param.portal, zIndex = _param.zIndex, filter = _param.filter, onSuggestionSelect = _param.onSuggestionSelect, _param_threshold = _param.threshold, threshold = _param_threshold === void 0 ? 2 : _param_threshold, renderList = _param.renderList, renderListEnd = _param.renderListEnd, renderItem = _param.renderItem, onSearch = _param.onSearch, hintText = _param.hintText, _param_hintView = _param.hintView, hintView = _param_hintView === void 0 ? 'default' : _param_hintView, _param_hintSize = _param.hintSize, hintSize = _param_hintSize === void 0 ? 'm' : _param_hintSize, beforeList = _param.beforeList, afterList = _param.afterList, _param_virtual = _param.virtual, virtual = _param_virtual === void 0 ? false : _param_virtual, _param_flip = _param.flip, flip = _param_flip === void 0 ? false : _param_flip, // @ts-ignore
172
172
  _offset = _param._offset, rest = _object_without_properties(_param, [
173
173
  "value",
174
174
  "defaultValue",
@@ -204,10 +204,11 @@ var autocompleteRoot = function(Root) {
204
204
  "beforeList",
205
205
  "afterList",
206
206
  "virtual",
207
+ "flip",
207
208
  "_offset"
208
209
  ]);
209
210
  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];
211
+ var _useState = _sliced_to_array((0, _react.useState)(defaultValue || ''), 2), innerValue = _useState[0], setInnerValue = _useState[1];
211
212
  var _useState1 = _sliced_to_array((0, _react.useState)(false), 2), isOpen = _useState1[0], setIsOpen = _useState1[1];
212
213
  var listId = (0, _utils.safeUseId)();
213
214
  var value = outerValue !== null && outerValue !== void 0 ? outerValue : innerValue;
@@ -263,13 +264,6 @@ var autocompleteRoot = function(Root) {
263
264
  }, [
264
265
  value
265
266
  ]);
266
- (0, _react.useLayoutEffect)(function() {
267
- if (defaultValue) {
268
- setInnerValue(defaultValue);
269
- }
270
- }, [
271
- defaultValue
272
- ]);
273
267
  return /*#__PURE__*/ _react.default.createElement(Root, {
274
268
  view: view,
275
269
  size: size,
@@ -285,6 +279,7 @@ var autocompleteRoot = function(Root) {
285
279
  zIndex: zIndex,
286
280
  listWidth: listWidth,
287
281
  offset: _offset,
282
+ flip: flip,
288
283
  target: function(referenceRef) {
289
284
  return /*#__PURE__*/ _react.default.createElement(_ui.StyledTextField, _object_spread({
290
285
  ref: ref,
@@ -11,6 +11,14 @@ Object.defineProperty(exports, "FloatingPopover", {
11
11
  var _react = require("@floating-ui/react");
12
12
  var _react1 = /*#__PURE__*/ _interop_require_wildcard(require("react"));
13
13
  var _utils = require("../../utils");
14
+ function _array_like_to_array(arr, len) {
15
+ if (len == null || len > arr.length) len = arr.length;
16
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
17
+ return arr2;
18
+ }
19
+ function _array_without_holes(arr) {
20
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
21
+ }
14
22
  function _define_property(obj, key, value) {
15
23
  if (key in obj) {
16
24
  Object.defineProperty(obj, key, {
@@ -65,6 +73,12 @@ function _interop_require_wildcard(obj, nodeInterop) {
65
73
  }
66
74
  return newObj;
67
75
  }
76
+ function _iterable_to_array(iter) {
77
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
78
+ }
79
+ function _non_iterable_spread() {
80
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
81
+ }
68
82
  function _object_spread(target) {
69
83
  for(var i = 1; i < arguments.length; i++){
70
84
  var source = arguments[i] != null ? arguments[i] : {};
@@ -104,8 +118,19 @@ function _object_spread_props(target, source) {
104
118
  }
105
119
  return target;
106
120
  }
121
+ function _to_consumable_array(arr) {
122
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
123
+ }
124
+ function _unsupported_iterable_to_array(o, minLen) {
125
+ if (!o) return;
126
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
127
+ var n = Object.prototype.toString.call(o).slice(8, -1);
128
+ if (n === "Object" && o.constructor) n = o.constructor.name;
129
+ if (n === "Map" || n === "Set") return Array.from(n);
130
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
131
+ }
107
132
  var FloatingPopover = /*#__PURE__*/ (0, _react1.forwardRef)(function(param, ref) {
108
- var target = param.target, children = param.children, opened = param.opened, portal = param.portal, zIndex = param.zIndex, listWidth = param.listWidth, offset = param.offset;
133
+ var target = param.target, children = param.children, opened = param.opened, portal = param.portal, zIndex = param.zIndex, listWidth = param.listWidth, offset = param.offset, flipFlag = param.flip;
109
134
  var _useFloating = (0, _react.useFloating)({
110
135
  whileElementsMounted: function whileElementsMounted(referenceEl, floatingEl, update) {
111
136
  return (0, _react.autoUpdate)(referenceEl, floatingEl, update, {
@@ -120,10 +145,12 @@ var FloatingPopover = /*#__PURE__*/ (0, _react1.forwardRef)(function(param, ref)
120
145
  (0, _react.offset)({
121
146
  mainAxis: (offset === null || offset === void 0 ? void 0 : offset[1]) || 0,
122
147
  alignmentAxis: (offset === null || offset === void 0 ? void 0 : offset[0]) || 0
123
- }),
148
+ })
149
+ ].concat(_to_consumable_array(flipFlag ? [
124
150
  (0, _react.flip)({
125
151
  fallbackAxisSideDirection: 'end'
126
- }),
152
+ })
153
+ ] : []), [
127
154
  (0, _react.shift)(),
128
155
  (0, _react.size)({
129
156
  apply: function apply(param) {
@@ -133,7 +160,7 @@ var FloatingPopover = /*#__PURE__*/ (0, _react1.forwardRef)(function(param, ref)
133
160
  });
134
161
  }
135
162
  })
136
- ]
163
+ ])
137
164
  }), refs = _useFloating.refs, floatingStyles = _useFloating.floatingStyles;
138
165
  var wrappedId = (0, _utils.safeUseId)();
139
166
  // Проверка на target. Это может быть как ReactNode, так и функция, в которую пробрасывается ref.
@@ -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
  ]);