@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
@@ -8,33 +8,101 @@ 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 _ui = require("../Inner/ui");
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, listMaxHeight = param.listMaxHeight, onScroll = param.onScroll;
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(_ui.Item, {
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(_ui.Item, {
99
+ item: items[virtualRow.index],
32
100
  path: [
33
101
  'root'
34
102
  ],
35
103
  currentLevel: 0,
36
- index: index,
104
+ index: virtualRow.index,
37
105
  ariaLevel: 1
38
106
  }));
39
- });
107
+ }))));
40
108
  };
@@ -1,16 +1 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "Combobox", {
6
- enumerable: true,
7
- get: function() {
8
- return Combobox;
9
- }
10
- });
11
- var _engines = require("../../../engines");
12
- var _ = require("../../..");
13
- var _Comboboxconfig = require("./Combobox.config");
14
- var mergedConfig = (0, _engines.mergeConfig)(_.comboboxNewConfig, _Comboboxconfig.config);
15
- var ComboboxComponent = (0, _engines.component)(mergedConfig);
16
- var Combobox = ComboboxComponent;
@@ -99,7 +99,7 @@ function _unsupported_iterable_to_array(o, minLen) {
99
99
  if (n === "Map" || n === "Set") return Array.from(n);
100
100
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
101
101
  }
102
- import React, { forwardRef, useState, useReducer, useLayoutEffect, useRef } from "react";
102
+ import React, { forwardRef, useState, useReducer, useRef } from "react";
103
103
  import { safeUseId } from "../../utils";
104
104
  import { useDidMountEffect, useOutsideClick } from "../../hooks";
105
105
  import { FloatingPopover } from "./FloatingPopover";
@@ -111,7 +111,7 @@ import { useKeyNavigation } from "./hooks/useKeyboardNavigation";
111
111
  * Компонент Autocomplete. Поле ввода с подсказками в выпадающем списке.
112
112
  */ export var autocompleteRoot = function(Root) {
113
113
  return /*#__PURE__*/ forwardRef(function(_param, ref) {
114
- 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
114
+ 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
115
115
  _offset = _param._offset, rest = _object_without_properties(_param, [
116
116
  "value",
117
117
  "defaultValue",
@@ -147,10 +147,11 @@ import { useKeyNavigation } from "./hooks/useKeyboardNavigation";
147
147
  "beforeList",
148
148
  "afterList",
149
149
  "virtual",
150
+ "flip",
150
151
  "_offset"
151
152
  ]);
152
153
  var _useReducer = _sliced_to_array(useReducer(focusedReducer, null), 2), focused = _useReducer[0], dispatchFocused = _useReducer[1];
153
- var _useState = _sliced_to_array(useState(''), 2), innerValue = _useState[0], setInnerValue = _useState[1];
154
+ var _useState = _sliced_to_array(useState(defaultValue || ''), 2), innerValue = _useState[0], setInnerValue = _useState[1];
154
155
  var _useState1 = _sliced_to_array(useState(false), 2), isOpen = _useState1[0], setIsOpen = _useState1[1];
155
156
  var listId = safeUseId();
156
157
  var value = outerValue !== null && outerValue !== void 0 ? outerValue : innerValue;
@@ -206,13 +207,6 @@ import { useKeyNavigation } from "./hooks/useKeyboardNavigation";
206
207
  }, [
207
208
  value
208
209
  ]);
209
- useLayoutEffect(function() {
210
- if (defaultValue) {
211
- setInnerValue(defaultValue);
212
- }
213
- }, [
214
- defaultValue
215
- ]);
216
210
  return /*#__PURE__*/ React.createElement(Root, {
217
211
  view: view,
218
212
  size: size,
@@ -228,6 +222,7 @@ import { useKeyNavigation } from "./hooks/useKeyboardNavigation";
228
222
  zIndex: zIndex,
229
223
  listWidth: listWidth,
230
224
  offset: _offset,
225
+ flip: flip,
231
226
  target: function(referenceRef) {
232
227
  return /*#__PURE__*/ React.createElement(StyledTextField, _object_spread({
233
228
  ref: ref,
@@ -1,3 +1,11 @@
1
+ function _array_like_to_array(arr, len) {
2
+ if (len == null || len > arr.length) len = arr.length;
3
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
+ return arr2;
5
+ }
6
+ function _array_without_holes(arr) {
7
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
8
+ }
1
9
  function _define_property(obj, key, value) {
2
10
  if (key in obj) {
3
11
  Object.defineProperty(obj, key, {
@@ -11,6 +19,12 @@ function _define_property(obj, key, value) {
11
19
  }
12
20
  return obj;
13
21
  }
22
+ function _iterable_to_array(iter) {
23
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
24
+ }
25
+ function _non_iterable_spread() {
26
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
27
+ }
14
28
  function _object_spread(target) {
15
29
  for(var i = 1; i < arguments.length; i++){
16
30
  var source = arguments[i] != null ? arguments[i] : {};
@@ -50,11 +64,22 @@ function _object_spread_props(target, source) {
50
64
  }
51
65
  return target;
52
66
  }
67
+ function _to_consumable_array(arr) {
68
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
69
+ }
70
+ function _unsupported_iterable_to_array(o, minLen) {
71
+ if (!o) return;
72
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
73
+ var n = Object.prototype.toString.call(o).slice(8, -1);
74
+ if (n === "Object" && o.constructor) n = o.constructor.name;
75
+ if (n === "Map" || n === "Set") return Array.from(n);
76
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
77
+ }
53
78
  import { flip, shift, size, useFloating, FloatingPortal, autoUpdate, offset as offsetMiddleware } from "@floating-ui/react";
54
79
  import React, { forwardRef } from "react";
55
80
  import { safeUseId } from "../../utils";
56
81
  var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
57
- var target = param.target, children = param.children, opened = param.opened, portal = param.portal, zIndex = param.zIndex, listWidth = param.listWidth, offset = param.offset;
82
+ 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;
58
83
  var _useFloating = useFloating({
59
84
  whileElementsMounted: function whileElementsMounted(referenceEl, floatingEl, update) {
60
85
  return autoUpdate(referenceEl, floatingEl, update, {
@@ -69,10 +94,12 @@ var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
69
94
  offsetMiddleware({
70
95
  mainAxis: (offset === null || offset === void 0 ? void 0 : offset[1]) || 0,
71
96
  alignmentAxis: (offset === null || offset === void 0 ? void 0 : offset[0]) || 0
72
- }),
97
+ })
98
+ ].concat(_to_consumable_array(flipFlag ? [
73
99
  flip({
74
100
  fallbackAxisSideDirection: 'end'
75
- }),
101
+ })
102
+ ] : []), [
76
103
  shift(),
77
104
  size({
78
105
  apply: function apply(param) {
@@ -82,7 +109,7 @@ var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
82
109
  });
83
110
  }
84
111
  })
85
- ]
112
+ ])
86
113
  }), refs = _useFloating.refs, floatingStyles = _useFloating.floatingStyles;
87
114
  var wrappedId = safeUseId();
88
115
  // Проверка на target. Это может быть как ReactNode, так и функция, в которую пробрасывается ref.
@@ -1,23 +1,55 @@
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";
4
4
  import { SuggestionItem } from "../SuggestionItem/SuggestionItem";
5
5
  export var VirtualList = function(param) {
6
6
  var items = param.items, onClick = param.onClick, listId = param.listId, listMaxHeight = param.listMaxHeight, onScroll = param.onScroll, renderItem = param.renderItem;
7
- return /*#__PURE__*/ React.createElement(List, {
8
- data: items,
9
- height: getHeightAsNumber(listMaxHeight),
10
- fullHeight: false,
11
- itemHeight: 100,
12
- itemKey: "id",
7
+ var _virtualItems_;
8
+ var parentRef = useRef(null);
9
+ var virtualizer = useVirtualizer({
10
+ count: items.length,
11
+ getScrollElement: function() {
12
+ return parentRef.current;
13
+ },
14
+ estimateSize: function() {
15
+ return 48;
16
+ }
17
+ });
18
+ var virtualItems = virtualizer.getVirtualItems();
19
+ var _virtualItems__start;
20
+ return /*#__PURE__*/ React.createElement("div", {
21
+ ref: parentRef,
22
+ style: {
23
+ height: 'auto',
24
+ maxHeight: getHeightAsNumber(listMaxHeight),
25
+ overflowY: 'auto'
26
+ },
13
27
  onScroll: onScroll
14
- }, function(item, index, props) {
15
- return /*#__PURE__*/ React.createElement("div", props, /*#__PURE__*/ React.createElement(SuggestionItem, {
16
- item: item,
28
+ }, /*#__PURE__*/ React.createElement("div", {
29
+ style: {
30
+ height: virtualizer.getTotalSize(),
31
+ width: '100%',
32
+ position: 'relative'
33
+ }
34
+ }, /*#__PURE__*/ React.createElement("div", {
35
+ style: {
36
+ position: 'absolute',
37
+ top: 0,
38
+ left: 0,
39
+ width: '100%',
40
+ 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)")
41
+ }
42
+ }, virtualItems.map(function(virtualRow) {
43
+ return /*#__PURE__*/ React.createElement("div", {
44
+ key: virtualRow.key,
45
+ "data-index": virtualRow.index,
46
+ ref: virtualizer.measureElement
47
+ }, /*#__PURE__*/ React.createElement(SuggestionItem, {
48
+ item: items[virtualRow.index],
17
49
  onClick: onClick,
18
- id: "".concat(listId, "/").concat(index),
50
+ id: "".concat(listId, "/").concat(virtualRow.index),
19
51
  focused: false,
20
52
  renderItem: renderItem
21
53
  }));
22
- });
54
+ }))));
23
55
  };
@@ -59,9 +59,9 @@ var DOTS_CENTERED_DEFAULT = false;
59
59
  * Компонент для создания списков с прокруткой.
60
60
  */ export var carouselNewRoot = function(Root) {
61
61
  return /*#__PURE__*/ forwardRef(function(param, ref) {
62
- 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;
63
- var _useState = _sliced_to_array(useState(0), 2), index = _useState[0], setIndex = _useState[1];
62
+ 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;
64
63
  var slidesAmount = Children.count(children);
64
+ var _useState = _sliced_to_array(useState(defaultIndex && defaultIndex >= 0 ? Math.min(slidesAmount - 1, defaultIndex) : 0), 2), index = _useState[0], setIndex = _useState[1];
65
65
  var handleClickLeft = function() {
66
66
  setIndex(Math.max(0, index - 1));
67
67
  };
@@ -34,6 +34,7 @@ export var useCarousel = function(param) {
34
34
  var index = param.index, scrollAlign = param.scrollAlign;
35
35
  var scrollRef = useRef(null);
36
36
  var trackRef = useRef(null);
37
+ var isFirstRender = useRef(true);
37
38
  // Прокрутка до нужной позиции индекса, если индекс изменился.
38
39
  useEffect(function() {
39
40
  if (!scrollRef.current || !trackRef.current) {
@@ -49,9 +50,13 @@ export var useCarousel = function(param) {
49
50
  scrollAlign: scrollAlign
50
51
  });
51
52
  scrollRef.current.scrollTo({
52
- left: pos
53
+ left: pos,
54
+ behavior: isFirstRender.current ? 'instant' : 'smooth'
53
55
  });
54
56
  }
57
+ if (isFirstRender.current) {
58
+ isFirstRender.current = false;
59
+ }
55
60
  }, [
56
61
  index
57
62
  ]);
@@ -141,14 +141,13 @@ function _unsupported_iterable_to_array(o, minLen) {
141
141
  }
142
142
  import React, { forwardRef, useState, useReducer, useMemo, useLayoutEffect, useRef } from "react";
143
143
  import { useForkRef } from "@salutejs/plasma-core";
144
- import { safeUseId } from "../../../utils";
145
- import { isEmpty } from "../../../utils";
146
- import { useOutsideClick } from "../../../hooks";
144
+ import { safeUseId, isEmpty } from "../../../utils";
145
+ import { useOutsideClick, useDidMountLayoutEffect } from "../../../hooks";
147
146
  import { sizeToIconSize } from "../../Select/utils";
148
147
  import { classes } from "./Combobox.tokens";
149
148
  import { FloatingPopover } from "./FloatingPopover";
150
149
  import { useKeyNavigation, getItemByFocused } from "./hooks/useKeyboardNavigation";
151
- import { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, filterItems, getItemId, getRemovedElement } from "./utils";
150
+ import { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, filterItems, getItemId, getRemovedElement, getTextValue } from "./utils";
152
151
  import { Inner, StyledTextField, VirtualList, SelectAll } from "./ui";
153
152
  import { pathReducer, focusedPathReducer } from "./reducers";
154
153
  import { getPathMap, getTreeMaps } from "./hooks/getPathMaps";
@@ -161,7 +160,7 @@ import { Context } from "./Combobox.context";
161
160
  * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.
162
161
  */ export var comboboxRoot = function(Root) {
163
162
  return /*#__PURE__*/ forwardRef(function(props, ref) {
164
- var _valueToItemMap_get, _getItemByFocused;
163
+ var _getItemByFocused;
165
164
  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
166
165
  _offset = props._offset, rest = _object_without_properties(props, [
167
166
  "name",
@@ -219,17 +218,15 @@ import { Context } from "./Combobox.context";
219
218
  }, [
220
219
  items
221
220
  ]), 3), valueToCheckedMap = _useMemo[0], valueToItemMap = _useMemo[1], labelToItemMap = _useMemo[2];
222
- var _useState = _sliced_to_array(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];
221
+ var _useState = _sliced_to_array(useState(getTextValue(multiple, outerValue, valueToItemMap, renderValue)), 2), textValue = _useState[0], setTextValue = _useState[1];
223
222
  var _useState1 = _sliced_to_array(useState(multiple ? [] : ''), 2), internalValue = _useState1[0], setInternalValue = _useState1[1];
224
223
  var value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;
225
224
  var inputRef = useRef(null);
226
225
  var floatingPopoverRef = useRef(null);
227
226
  var inputForkRef = useForkRef(inputRef, ref);
228
227
  var treeId = safeUseId();
229
- var listWrapperRef = useRef(null);
230
228
  var filteredItems = useMemo(function() {
231
- var _valueToItemMap_get;
232
- return filterItems(transformedItems, textValue, ((_valueToItemMap_get = valueToItemMap.get(value)) === null || _valueToItemMap_get === void 0 ? void 0 : _valueToItemMap_get.label) || value, filter);
229
+ return filterItems(transformedItems, textValue, getTextValue(multiple, value, valueToItemMap, renderValue), filter);
233
230
  }, [
234
231
  transformedItems,
235
232
  textValue,
@@ -266,30 +263,19 @@ import { Context } from "./Combobox.context";
266
263
  if (onToggle) {
267
264
  onToggle(false);
268
265
  }
269
- // Проверяем, отличается ли значение в инпуте от выбранного value после закрытия дропдауна.
270
- // Если изменилось, то возвращаем label выбранного айтема.
271
- // Если нет выбранного элемента, то стираем значение инпута.
272
- if (textValue !== value) {
273
- if (isEmpty(value)) {
274
- setTextValue('');
275
- } else if (multiple) {
276
- setTextValue('');
277
- } else {
278
- var _valueToItemMap_get;
279
- setTextValue(((_valueToItemMap_get = valueToItemMap.get(value)) === null || _valueToItemMap_get === void 0 ? void 0 : _valueToItemMap_get.label) || value || '');
280
- }
281
- }
266
+ // Возвращаем актуальное значение поля ввода после закрытия выпадающего списка.
267
+ setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));
282
268
  }, floatingPopoverRef);
283
269
  // Эта функция срабатывает при изменении Combobox и
284
270
  // при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).
285
271
  var onChange = function(newValue, item) {
286
272
  // Условие для отправки изменений наружу
287
273
  if (props.onChange) {
288
- // Условие для отправки если комбобокс используется без формы.
274
+ // Условие для отправки, если комбобокс используется без формы.
289
275
  if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {
290
276
  props.onChange(newValue, item || null);
291
277
  }
292
- // Условие для отправки если комбобокс используется с формой.
278
+ // Условие для отправки, если комбобокс используется с формой.
293
279
  if (props.name && (typeof newValue === "undefined" ? "undefined" : _type_of(newValue)) === 'object' && !Array.isArray(newValue)) {
294
280
  props.onChange(newValue);
295
281
  }
@@ -525,10 +511,6 @@ import { Context } from "./Combobox.context";
525
511
  }
526
512
  }
527
513
  setChecked(checkedCopy);
528
- if (!multiple && textValue === value && valueToItemMap.has(value)) {
529
- var _valueToItemMap_get;
530
- setTextValue(((_valueToItemMap_get = valueToItemMap.get(value)) === null || _valueToItemMap_get === void 0 ? void 0 : _valueToItemMap_get.label) || '');
531
- }
532
514
  // В deps мы кладем именно outerValue и internalValue, а не просто value.
533
515
  // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.
534
516
  // А переменную, содержащую сложные типы данных, нельзя помещать в deps.
@@ -538,9 +520,8 @@ import { Context } from "./Combobox.context";
538
520
  items
539
521
  ]);
540
522
  // При изменении value нужно возвращать значение в инпуте к исходному.
541
- useLayoutEffect(function() {
542
- var _valueToItemMap_get;
543
- 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()) || '');
523
+ useDidMountLayoutEffect(function() {
524
+ setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));
544
525
  }, [
545
526
  outerValue,
546
527
  internalValue
@@ -647,7 +628,6 @@ import { Context } from "./Combobox.context";
647
628
  readOnly: readOnly,
648
629
  name: name
649
630
  }, /*#__PURE__*/ React.createElement(ListWrapper, {
650
- ref: listWrapperRef,
651
631
  listWidth: listWidth
652
632
  }, /*#__PURE__*/ React.createElement(Ul, {
653
633
  role: "tree",
@@ -656,6 +636,7 @@ import { Context } from "./Combobox.context";
656
636
  listMaxHeight: listMaxHeight || listHeight,
657
637
  ref: targetRef,
658
638
  virtual: virtual,
639
+ listOverflow: listOverflow,
659
640
  onScroll: virtual ? undefined : onScroll
660
641
  }, beforeList, isEmpty(filteredItems) ? /*#__PURE__*/ React.createElement(StyledEmptyState, {
661
642
  className: classes.emptyStateWrapper,
@@ -677,8 +658,7 @@ import { Context } from "./Combobox.context";
677
658
  path: path,
678
659
  dispatchPath: dispatchPath,
679
660
  index: index,
680
- listWidth: listWidth,
681
- portal: listWrapperRef
661
+ listWidth: listWidth
682
662
  });
683
663
  })), afterList)))))));
684
664
  });