@salutejs/plasma-new-hope 0.335.0-canary.2191.17321424209.0 → 0.335.0-canary.2196.17375511532.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 (171) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.js +1 -6
  2. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +43 -13
  4. package/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js.map +1 -1
  5. package/cjs/components/Carousel/CarouselNew/Carousel.js +4 -3
  6. package/cjs/components/Carousel/CarouselNew/Carousel.js.map +1 -1
  7. package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  8. package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
  9. package/cjs/components/Combobox/ComboboxNew/Combobox.js +15 -30
  10. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  11. package/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +43 -13
  12. package/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js.map +1 -1
  13. package/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js +24 -0
  14. package/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js.map +1 -0
  15. package/cjs/components/DatePicker/RangeDate/RangeDate.js +3 -1
  16. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  17. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -2
  18. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  19. package/cjs/components/DatePicker/SingleDate/SingleDate.js +4 -2
  20. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  21. package/cjs/components/Popup/Popup.js +67 -8
  22. package/cjs/components/Popup/Popup.js.map +1 -1
  23. package/cjs/components/Select/ui/VirtualList/VirtualList.js +43 -13
  24. package/cjs/components/Select/ui/VirtualList/VirtualList.js.map +1 -1
  25. package/cjs/components/Slider/ui/Handler/Handler.js +3 -3
  26. package/cjs/components/Slider/ui/Handler/Handler.js.map +1 -1
  27. package/emotion/cjs/components/Autocomplete/Autocomplete.js +1 -8
  28. package/emotion/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +84 -16
  29. package/emotion/cjs/components/Carousel/CarouselNew/Carousel.js +2 -2
  30. package/emotion/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  31. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +26 -44
  32. package/emotion/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +84 -16
  33. package/emotion/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js +25 -0
  34. package/emotion/cjs/components/Combobox/ComboboxNew/utils/index.js +4 -0
  35. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +3 -1
  36. package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
  37. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +4 -2
  38. package/emotion/cjs/components/Popup/Popup.js +69 -7
  39. package/emotion/cjs/components/Select/ui/VirtualList/VirtualList.js +84 -16
  40. package/emotion/es/components/Autocomplete/Autocomplete.js +2 -9
  41. package/emotion/es/components/Autocomplete/ui/VirtualList/VirtualList.js +45 -13
  42. package/emotion/es/components/Carousel/CarouselNew/Carousel.js +2 -2
  43. package/emotion/es/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  44. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +12 -30
  45. package/emotion/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +45 -13
  46. package/emotion/es/components/Combobox/ComboboxNew/utils/getTextValue.js +16 -0
  47. package/emotion/es/components/Combobox/ComboboxNew/utils/index.js +1 -0
  48. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +3 -1
  49. package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
  50. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +4 -2
  51. package/emotion/es/components/Popup/Popup.js +63 -6
  52. package/emotion/es/components/Select/ui/VirtualList/VirtualList.js +45 -13
  53. package/es/components/Autocomplete/Autocomplete.js +2 -7
  54. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  55. package/es/components/Autocomplete/ui/VirtualList/VirtualList.js +44 -13
  56. package/es/components/Autocomplete/ui/VirtualList/VirtualList.js.map +1 -1
  57. package/es/components/Carousel/CarouselNew/Carousel.js +5 -4
  58. package/es/components/Carousel/CarouselNew/Carousel.js.map +1 -1
  59. package/es/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  60. package/es/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
  61. package/es/components/Combobox/ComboboxNew/Combobox.js +15 -30
  62. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  63. package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +44 -13
  64. package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js.map +1 -1
  65. package/es/components/Combobox/ComboboxNew/utils/getTextValue.js +20 -0
  66. package/es/components/Combobox/ComboboxNew/utils/getTextValue.js.map +1 -0
  67. package/es/components/DatePicker/RangeDate/RangeDate.js +3 -1
  68. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  69. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -2
  70. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  71. package/es/components/DatePicker/SingleDate/SingleDate.js +4 -2
  72. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  73. package/es/components/Popup/Popup.js +65 -7
  74. package/es/components/Popup/Popup.js.map +1 -1
  75. package/es/components/Select/ui/VirtualList/VirtualList.js +44 -13
  76. package/es/components/Select/ui/VirtualList/VirtualList.js.map +1 -1
  77. package/es/components/Slider/ui/Handler/Handler.js +2 -2
  78. package/es/components/Slider/ui/Handler/Handler.js.map +1 -1
  79. package/package.json +2 -3
  80. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +1 -8
  81. package/styled-components/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +84 -16
  82. package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.js +2 -2
  83. package/styled-components/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  84. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +26 -44
  85. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +84 -16
  86. package/styled-components/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js +25 -0
  87. package/styled-components/cjs/components/Combobox/ComboboxNew/utils/index.js +4 -0
  88. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +3 -1
  89. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
  90. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +4 -2
  91. package/styled-components/cjs/components/Popup/Popup.js +69 -7
  92. package/styled-components/cjs/components/Select/ui/VirtualList/VirtualList.js +84 -16
  93. package/styled-components/es/components/Autocomplete/Autocomplete.js +2 -9
  94. package/styled-components/es/components/Autocomplete/ui/VirtualList/VirtualList.js +45 -13
  95. package/styled-components/es/components/Carousel/CarouselNew/Carousel.js +2 -2
  96. package/styled-components/es/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
  97. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +12 -30
  98. package/styled-components/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +45 -13
  99. package/styled-components/es/components/Combobox/ComboboxNew/utils/getTextValue.js +16 -0
  100. package/styled-components/es/components/Combobox/ComboboxNew/utils/index.js +1 -0
  101. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +3 -1
  102. package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
  103. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +4 -2
  104. package/styled-components/es/components/Popup/Popup.js +63 -6
  105. package/styled-components/es/components/Select/ui/VirtualList/VirtualList.js +45 -13
  106. package/styled-components/es/examples/components/Combobox/Combobox.js +7 -0
  107. package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  108. package/types/components/Autocomplete/Autocomplete.types.d.ts +17 -17
  109. package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
  110. package/types/components/Autocomplete/ui/VirtualList/VirtualList.d.ts +1 -1
  111. package/types/components/Autocomplete/ui/VirtualList/VirtualList.d.ts.map +1 -1
  112. package/types/components/Carousel/CarouselNew/Carousel.d.ts.map +1 -1
  113. package/types/components/Carousel/CarouselNew/Carousel.types.d.ts +5 -0
  114. package/types/components/Carousel/CarouselNew/Carousel.types.d.ts.map +1 -1
  115. package/types/components/Carousel/CarouselNew/hooks/useCarousel.d.ts.map +1 -1
  116. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  117. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +2 -2
  118. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  119. package/types/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.d.ts +1 -1
  120. package/types/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.d.ts.map +1 -1
  121. package/types/components/Combobox/ComboboxNew/utils/getTextValue.d.ts +4 -0
  122. package/types/components/Combobox/ComboboxNew/utils/getTextValue.d.ts.map +1 -0
  123. package/types/components/Combobox/ComboboxNew/utils/index.d.ts +1 -0
  124. package/types/components/Combobox/ComboboxNew/utils/index.d.ts.map +1 -1
  125. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  126. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts +1 -1
  127. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts.map +1 -1
  128. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  129. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +4 -0
  130. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  131. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +12 -12
  132. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
  133. package/types/components/Popup/Popup.d.ts.map +1 -1
  134. package/types/components/Select/Select.types.d.ts +4 -4
  135. package/types/components/Select/Select.types.d.ts.map +1 -1
  136. package/types/components/Select/ui/VirtualList/VirtualList.d.ts +1 -1
  137. package/types/components/Select/ui/VirtualList/VirtualList.d.ts.map +1 -1
  138. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +12 -12
  139. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
  140. package/types/examples/components/Autocomplete/Autocomplete.d.ts +40 -40
  141. package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  142. package/types/examples/components/Combobox/Combobox.d.ts +24 -24
  143. package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
  144. package/types/examples/components/Select/Select.d.ts +12 -12
  145. package/types/examples/components/Select/Select.d.ts.map +1 -1
  146. package/cjs/components/Popup/ui/Draggable/Draggable.js +0 -33
  147. package/cjs/components/Popup/ui/Draggable/Draggable.js.map +0 -1
  148. package/cjs/components/Popup/ui/Resizable/Resizable.js +0 -79
  149. package/cjs/components/Popup/ui/Resizable/Resizable.js.map +0 -1
  150. package/emotion/cjs/components/Popup/ui/Draggable/Draggable.js +0 -75
  151. package/emotion/cjs/components/Popup/ui/Resizable/Resizable.js +0 -114
  152. package/emotion/cjs/components/Popup/ui/index.js +0 -20
  153. package/emotion/es/components/Popup/ui/Draggable/Draggable.js +0 -19
  154. package/emotion/es/components/Popup/ui/Resizable/Resizable.js +0 -63
  155. package/emotion/es/components/Popup/ui/index.js +0 -2
  156. package/es/components/Popup/ui/Draggable/Draggable.js +0 -24
  157. package/es/components/Popup/ui/Draggable/Draggable.js.map +0 -1
  158. package/es/components/Popup/ui/Resizable/Resizable.js +0 -71
  159. package/es/components/Popup/ui/Resizable/Resizable.js.map +0 -1
  160. package/styled-components/cjs/components/Popup/ui/Draggable/Draggable.js +0 -75
  161. package/styled-components/cjs/components/Popup/ui/Resizable/Resizable.js +0 -114
  162. package/styled-components/cjs/components/Popup/ui/index.js +0 -20
  163. package/styled-components/es/components/Popup/ui/Draggable/Draggable.js +0 -19
  164. package/styled-components/es/components/Popup/ui/Resizable/Resizable.js +0 -63
  165. package/styled-components/es/components/Popup/ui/index.js +0 -2
  166. package/types/components/Popup/ui/Draggable/Draggable.d.ts +0 -6
  167. package/types/components/Popup/ui/Draggable/Draggable.d.ts.map +0 -1
  168. package/types/components/Popup/ui/Resizable/Resizable.d.ts +0 -7
  169. package/types/components/Popup/ui/Resizable/Resizable.d.ts.map +0 -1
  170. package/types/components/Popup/ui/index.d.ts +0 -3
  171. package/types/components/Popup/ui/index.d.ts.map +0 -1
@@ -5,20 +5,24 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
6
6
  var React = require('react');
7
7
  var plasmaCore = require('@salutejs/plasma-core');
8
+ var Draggable = require('react-draggable');
9
+ var reResizable = require('re-resizable');
8
10
  var index = require('../../utils/index.js');
9
11
  var PopupRoot = require('./PopupRoot.js');
10
12
  var Popup_tokens = require('./Popup.tokens.js');
11
13
  var Popup_styles = require('./Popup.styles.js');
12
14
  var react = require('../../utils/react.js');
13
15
  var usePopup = require('./hooks/usePopup.js');
14
- var Draggable = require('./ui/Draggable/Draggable.js');
15
- var Resizable = require('./ui/Resizable/Resizable.js');
16
+ var getResizeDirections = require('./utils/getResizeDirections.js');
17
+ var getRatioBasedOnPlacement = require('./utils/getRatioBasedOnPlacement.js');
18
+ var getHandleStyles = require('./utils/getHandleStyles.js');
16
19
  var canUseDOM = require('../../utils/canUseDOM.js');
17
20
  var Portal = require('../Portal/Portal.js');
18
21
 
19
22
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
20
23
 
21
24
  var React__default = /*#__PURE__*/_interopDefault(React);
25
+ var Draggable__default = /*#__PURE__*/_interopDefault(Draggable);
22
26
 
23
27
  var _excluded = ["id", "isOpen", "opened", "placement", "offset", "frame", "children", "overlay", "role", "zIndex", "popupInfo", "withAnimation", "className", "draggable", "resizable"];
24
28
  var handlePosition = function handlePosition(placement, offset) {
@@ -82,6 +86,7 @@ var handlePosition = function handlePosition(placement, offset) {
82
86
  */
83
87
  var popupRoot = function popupRoot(Root) {
84
88
  return /*#__PURE__*/React.forwardRef(function (_ref, outerRootRef) {
89
+ var _resizable$hiddenIcon, _resizable$icons, _resizable$hiddenIcon2, _resizable$icons2, _resizable$hiddenIcon3, _resizable$icons3, _resizable$hiddenIcon4, _resizable$icons4;
85
90
  var id = _ref.id,
86
91
  _ref$isOpen = _ref.isOpen,
87
92
  isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
@@ -103,7 +108,11 @@ var popupRoot = function popupRoot(Root) {
103
108
  draggable = _ref.draggable,
104
109
  outerResizable = _ref.resizable,
105
110
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
111
+ var nodeRef = React.useRef(null);
106
112
  var innerIsOpen = isOpen || opened;
113
+ var resizable = typeof outerResizable === 'boolean' ? {
114
+ disabled: !outerResizable
115
+ } : outerResizable;
107
116
  var uniqId = react.safeUseId();
108
117
  var innerId = id || uniqId;
109
118
  var _usePopup = usePopup.usePopup({
@@ -118,11 +127,22 @@ var popupRoot = function popupRoot(Root) {
118
127
  rootId = _usePopup.rootId;
119
128
  var portalRef = React.useRef(null);
120
129
  var contentRef = React.useRef(null);
130
+ var resizableContainer = React.useRef(null);
121
131
  var innerRef = plasmaCore.useForkRef(contentRef, outerRootRef);
122
132
  if (!isVisible && !innerIsOpen) {
123
133
  return null;
124
134
  }
125
135
  var cls = index.cx(className, animationInfo !== null && animationInfo !== void 0 && animationInfo.endAnimation ? Popup_tokens.classes.endAnimation : '', animationInfo !== null && animationInfo !== void 0 && animationInfo.endTransition ? Popup_tokens.classes.endTransition : '');
136
+ var handleResizeStart = function handleResizeStart() {
137
+ if (resizableContainer !== null && resizableContainer !== void 0 && resizableContainer.current && resizableContainer.current.resizable) {
138
+ resizableContainer.current.resizable.classList.toggle(Popup_tokens.classes.resizableContainerNoSelect);
139
+ }
140
+ };
141
+ var handleResizeStop = function handleResizeStop() {
142
+ if (resizableContainer !== null && resizableContainer !== void 0 && resizableContainer.current && resizableContainer.current.resizable) {
143
+ resizableContainer.current.resizable.classList.toggle(Popup_tokens.classes.resizableContainerNoSelect);
144
+ }
145
+ };
126
146
  var rootNode = /*#__PURE__*/React__default.default.createElement(Root, {
127
147
  className: cls
128
148
  }, overlay, /*#__PURE__*/React__default.default.createElement(PopupRoot.PopupRoot, _rollupPluginBabelHelpers.extends({
@@ -133,12 +153,51 @@ var popupRoot = function popupRoot(Root) {
133
153
  frame: frame,
134
154
  animationInfo: animationInfo,
135
155
  setVisible: setVisible
136
- }, rest), /*#__PURE__*/React__default.default.createElement(Draggable.Draggable, {
137
- draggable: draggable
138
- }, /*#__PURE__*/React__default.default.createElement(Resizable.Resizable, {
139
- resizable: outerResizable,
140
- placement: placement
141
- }, children))));
156
+ }, rest), /*#__PURE__*/React__default.default.createElement(Draggable__default.default, {
157
+ nodeRef: nodeRef,
158
+ defaultClassName: draggable ? Popup_tokens.classes.draggablePopupWrapper : undefined,
159
+ defaultClassNameDragging: draggable ? Popup_tokens.classes.draggingPopupWrapper : undefined,
160
+ disabled: !draggable,
161
+ cancel: ".".concat(Popup_tokens.classes.resizableHandleWrapper)
162
+ }, /*#__PURE__*/React__default.default.createElement("div", {
163
+ ref: nodeRef
164
+ }, /*#__PURE__*/React__default.default.createElement(reResizable.Resizable, {
165
+ ref: resizableContainer,
166
+ enable: resizable && !resizable.disabled ? getResizeDirections.getResizeDirections(resizable.directions) : false,
167
+ resizeRatio: getRatioBasedOnPlacement.getRatioBasedOnPlacement(placement),
168
+ defaultSize: resizable === null || resizable === void 0 ? void 0 : resizable.defaultSize,
169
+ minWidth: resizable === null || resizable === void 0 ? void 0 : resizable.minWidth,
170
+ minHeight: resizable === null || resizable === void 0 ? void 0 : resizable.minHeight,
171
+ maxWidth: resizable === null || resizable === void 0 ? void 0 : resizable.maxWidth,
172
+ maxHeight: resizable === null || resizable === void 0 ? void 0 : resizable.maxHeight,
173
+ onResizeStart: handleResizeStart,
174
+ onResizeStop: handleResizeStop,
175
+ handleComponent: {
176
+ topRight: resizable !== null && resizable !== void 0 && (_resizable$hiddenIcon = resizable.hiddenIcons) !== null && _resizable$hiddenIcon !== void 0 && _resizable$hiddenIcon.includes('top-right') ? undefined : /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, (resizable === null || resizable === void 0 || (_resizable$icons = resizable.icons) === null || _resizable$icons === void 0 ? void 0 : _resizable$icons.topRight) || /*#__PURE__*/React__default.default.createElement(Popup_styles.IconResizeDiagonalStyled, {
177
+ className: Popup_tokens.classes.resizableTopRightIcon,
178
+ color: "inherit",
179
+ size: resizable === null || resizable === void 0 ? void 0 : resizable.iconSize
180
+ })),
181
+ bottomRight: resizable !== null && resizable !== void 0 && (_resizable$hiddenIcon2 = resizable.hiddenIcons) !== null && _resizable$hiddenIcon2 !== void 0 && _resizable$hiddenIcon2.includes('bottom-right') ? undefined : /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, (resizable === null || resizable === void 0 || (_resizable$icons2 = resizable.icons) === null || _resizable$icons2 === void 0 ? void 0 : _resizable$icons2.bottomRight) || /*#__PURE__*/React__default.default.createElement(Popup_styles.IconResizeDiagonalStyled, {
182
+ className: Popup_tokens.classes.resizableBottomRightIcon,
183
+ color: "inherit",
184
+ size: resizable === null || resizable === void 0 ? void 0 : resizable.iconSize
185
+ })),
186
+ bottomLeft: resizable !== null && resizable !== void 0 && (_resizable$hiddenIcon3 = resizable.hiddenIcons) !== null && _resizable$hiddenIcon3 !== void 0 && _resizable$hiddenIcon3.includes('bottom-left') ? undefined : /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, (resizable === null || resizable === void 0 || (_resizable$icons3 = resizable.icons) === null || _resizable$icons3 === void 0 ? void 0 : _resizable$icons3.bottomLeft) || /*#__PURE__*/React__default.default.createElement(Popup_styles.IconResizeDiagonalStyled, {
187
+ className: Popup_tokens.classes.resizableBottomLeftIcon,
188
+ color: "inherit",
189
+ size: resizable === null || resizable === void 0 ? void 0 : resizable.iconSize
190
+ })),
191
+ topLeft: resizable !== null && resizable !== void 0 && (_resizable$hiddenIcon4 = resizable.hiddenIcons) !== null && _resizable$hiddenIcon4 !== void 0 && _resizable$hiddenIcon4.includes('top-left') ? undefined : /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, (resizable === null || resizable === void 0 || (_resizable$icons4 = resizable.icons) === null || _resizable$icons4 === void 0 ? void 0 : _resizable$icons4.topLeft) || /*#__PURE__*/React__default.default.createElement(Popup_styles.IconResizeDiagonalStyled, {
192
+ className: Popup_tokens.classes.resizableTopLeftIcon,
193
+ color: "inherit",
194
+ size: resizable === null || resizable === void 0 ? void 0 : resizable.iconSize
195
+ }))
196
+ },
197
+ className: Popup_tokens.classes.resizableContainer,
198
+ handleStyles: getHandleStyles.getHandleStyles(),
199
+ handleWrapperClass: Popup_tokens.classes.resizableHandleWrapper
200
+ }, children)))));
142
201
  if (typeof frame !== 'string' && frame && frame.current && canUseDOM.canUseDOM) {
143
202
  return /*#__PURE__*/React__default.default.createElement(Portal.Portal, {
144
203
  container: frame.current
@@ -1 +1 @@
1
- {"version":3,"file":"Popup.js","sources":["../../../src/components/Popup/Popup.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { RootProps } from 'src/engines/types';\nimport { canUseDOM, cx, safeUseId } from 'src/utils';\n\nimport { Portal } from '../Portal';\n\nimport { Draggable, Resizable } from './ui';\nimport type { PopupPlacementBasic, PopupPlacement, PopupPositionType, PopupProps } from './Popup.types';\nimport { PopupRoot } from './PopupRoot';\nimport { usePopup } from './hooks';\nimport { classes } from './Popup.tokens';\nimport { StyledPortalContainer, base } from './Popup.styles';\n\nexport const handlePosition = (\n placement: PopupPlacement,\n offset: [number, number] | [string, string],\n): PopupPositionType => {\n let x = '0rem';\n let y = '0rem';\n\n if (offset) {\n const [_x, _y] = offset;\n x = typeof _x === 'number' ? `${_x}rem` : _x;\n y = typeof _y === 'number' ? `${_y}rem` : _y;\n }\n\n if (!placement || placement === 'center') {\n return {\n left: `calc(50% + ${x})`,\n top: `calc(50% - ${y})`,\n transform: 'translate(-50%, -50%)',\n };\n }\n\n let left;\n let right;\n let top;\n let bottom;\n let transform;\n const placements = placement.split('-') as PopupPlacementBasic[];\n\n placements.forEach((placementValue: PopupPlacementBasic) => {\n switch (placementValue) {\n case 'left':\n left = x;\n break;\n case 'right':\n right = x;\n break;\n case 'top':\n top = y;\n break;\n case 'bottom':\n bottom = y;\n break;\n default:\n break;\n }\n });\n\n const isCenteredX = left === undefined && right === undefined;\n const isCenteredY = top === undefined && bottom === undefined;\n\n if (isCenteredX) {\n transform = 'translateX(-50%)';\n }\n\n if (isCenteredY) {\n transform = 'translateY(-50%)';\n }\n\n return {\n left: isCenteredX ? `calc(50% + ${x})` : left,\n right,\n top: isCenteredY ? `calc(50% - ${y})` : top,\n bottom,\n transform,\n };\n};\n\n/**\n * Базовый компонент Popup.\n */\nexport const popupRoot = (Root: RootProps<HTMLDivElement, PopupProps>) =>\n forwardRef<HTMLDivElement, PopupProps>(\n (\n {\n id,\n isOpen = false,\n opened = false,\n placement = 'center',\n offset = [0, 0],\n frame = 'document',\n children,\n overlay,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n role,\n zIndex,\n popupInfo,\n withAnimation = false,\n className,\n draggable,\n resizable: outerResizable,\n ...rest\n },\n outerRootRef,\n ) => {\n const innerIsOpen = isOpen || opened;\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n const { isVisible, animationInfo, setVisible, rootId } = usePopup({\n isOpen: innerIsOpen,\n id: innerId,\n popupInfo,\n withAnimation,\n });\n\n const portalRef = useRef<HTMLDivElement | null>(null);\n const contentRef = useRef<HTMLDivElement | null>(null);\n\n const innerRef = useForkRef<HTMLDivElement>(contentRef, outerRootRef);\n\n if (!isVisible && !innerIsOpen) {\n return null;\n }\n\n const cls = cx(\n className,\n animationInfo?.endAnimation ? classes.endAnimation : '',\n animationInfo?.endTransition ? classes.endTransition : '',\n );\n\n const rootNode = (\n <Root className={cls}>\n {overlay}\n\n <PopupRoot\n id={innerId}\n ref={innerRef}\n position={handlePosition(placement, offset)}\n zIndex={zIndex}\n frame={frame}\n animationInfo={animationInfo}\n setVisible={setVisible}\n {...rest}\n >\n <Draggable draggable={draggable}>\n <Resizable resizable={outerResizable} placement={placement}>\n {children}\n </Resizable>\n </Draggable>\n </PopupRoot>\n </Root>\n );\n\n if (typeof frame !== 'string' && frame && frame.current && canUseDOM) {\n return <Portal container={frame.current}>{rootNode}</Portal>;\n }\n\n const withFrameId = typeof frame === 'string' && frame !== 'document';\n const containerElement = withFrameId && canUseDOM && document.getElementById(frame as string);\n\n if (containerElement) {\n return (\n <Portal container={containerElement}>\n <StyledPortalContainer ref={portalRef}>\n {portalRef.current && <Portal container={portalRef.current}>{rootNode}</Portal>}\n </StyledPortalContainer>{' '}\n </Portal>\n );\n }\n\n const globalPortal = canUseDOM && document.getElementById(rootId);\n\n return <>{globalPortal && <Portal container={globalPortal}>{rootNode}</Portal>}</>;\n },\n );\n\nexport const popupConfig = {\n name: 'Popup',\n tag: 'div',\n layout: popupRoot,\n base,\n variations: {},\n defaults: {},\n};\n"],"names":["handlePosition","placement","offset","x","y","_offset","_slicedToArray","_x","_y","concat","left","top","transform","right","bottom","placements","split","forEach","placementValue","isCenteredX","undefined","isCenteredY","popupRoot","Root","forwardRef","_ref","outerRootRef","id","_ref$isOpen","isOpen","_ref$opened","opened","_ref$placement","_ref$offset","_ref$frame","frame","children","overlay","zIndex","popupInfo","_ref$withAnimation","withAnimation","className","draggable","outerResizable","resizable","rest","_objectWithoutProperties","_excluded","innerIsOpen","uniqId","safeUseId","innerId","_usePopup","usePopup","isVisible","animationInfo","setVisible","rootId","portalRef","useRef","contentRef","innerRef","useForkRef","cls","cx","endAnimation","classes","endTransition","rootNode","React","createElement","PopupRoot","_extends","ref","position","Draggable","Resizable","current","canUseDOM","Portal","container","withFrameId","containerElement","document","getElementById","StyledPortalContainer","globalPortal","Fragment","popupConfig","name","tag","layout","base","variations","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Popup.js","sources":["../../../src/components/Popup/Popup.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport Draggable from 'react-draggable';\nimport { Resizable } from 're-resizable';\nimport type { Resizable as ResizableType } from 're-resizable';\nimport { RootProps } from 'src/engines/types';\nimport { canUseDOM, cx, safeUseId } from 'src/utils';\n\nimport { Portal } from '../Portal';\n\nimport { getRatioBasedOnPlacement, getResizeDirections, getHandleStyles } from './utils';\nimport type { PopupPlacementBasic, PopupPlacement, PopupPositionType, PopupProps } from './Popup.types';\nimport { PopupRoot } from './PopupRoot';\nimport { usePopup } from './hooks';\nimport { classes } from './Popup.tokens';\nimport { StyledPortalContainer, base, IconResizeDiagonalStyled } from './Popup.styles';\n\nexport const handlePosition = (\n placement: PopupPlacement,\n offset: [number, number] | [string, string],\n): PopupPositionType => {\n let x = '0rem';\n let y = '0rem';\n\n if (offset) {\n const [_x, _y] = offset;\n x = typeof _x === 'number' ? `${_x}rem` : _x;\n y = typeof _y === 'number' ? `${_y}rem` : _y;\n }\n\n if (!placement || placement === 'center') {\n return {\n left: `calc(50% + ${x})`,\n top: `calc(50% - ${y})`,\n transform: 'translate(-50%, -50%)',\n };\n }\n\n let left;\n let right;\n let top;\n let bottom;\n let transform;\n const placements = placement.split('-') as PopupPlacementBasic[];\n\n placements.forEach((placementValue: PopupPlacementBasic) => {\n switch (placementValue) {\n case 'left':\n left = x;\n break;\n case 'right':\n right = x;\n break;\n case 'top':\n top = y;\n break;\n case 'bottom':\n bottom = y;\n break;\n default:\n break;\n }\n });\n\n const isCenteredX = left === undefined && right === undefined;\n const isCenteredY = top === undefined && bottom === undefined;\n\n if (isCenteredX) {\n transform = 'translateX(-50%)';\n }\n\n if (isCenteredY) {\n transform = 'translateY(-50%)';\n }\n\n return {\n left: isCenteredX ? `calc(50% + ${x})` : left,\n right,\n top: isCenteredY ? `calc(50% - ${y})` : top,\n bottom,\n transform,\n };\n};\n\n/**\n * Базовый компонент Popup.\n */\nexport const popupRoot = (Root: RootProps<HTMLDivElement, PopupProps>) =>\n forwardRef<HTMLDivElement, PopupProps>(\n (\n {\n id,\n isOpen = false,\n opened = false,\n placement = 'center',\n offset = [0, 0],\n frame = 'document',\n children,\n overlay,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n role,\n zIndex,\n popupInfo,\n withAnimation = false,\n className,\n draggable,\n resizable: outerResizable,\n ...rest\n },\n outerRootRef,\n ) => {\n const nodeRef = useRef(null);\n\n const innerIsOpen = isOpen || opened;\n const resizable = typeof outerResizable === 'boolean' ? { disabled: !outerResizable } : outerResizable;\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n const { isVisible, animationInfo, setVisible, rootId } = usePopup({\n isOpen: innerIsOpen,\n id: innerId,\n popupInfo,\n withAnimation,\n });\n\n const portalRef = useRef<HTMLDivElement | null>(null);\n const contentRef = useRef<HTMLDivElement | null>(null);\n const resizableContainer = useRef<ResizableType>(null);\n\n const innerRef = useForkRef<HTMLDivElement>(contentRef, outerRootRef);\n\n if (!isVisible && !innerIsOpen) {\n return null;\n }\n\n const cls = cx(\n className,\n animationInfo?.endAnimation ? classes.endAnimation : '',\n animationInfo?.endTransition ? classes.endTransition : '',\n );\n\n const handleResizeStart = () => {\n if (resizableContainer?.current && resizableContainer.current.resizable) {\n resizableContainer.current.resizable.classList.toggle(classes.resizableContainerNoSelect);\n }\n };\n\n const handleResizeStop = () => {\n if (resizableContainer?.current && resizableContainer.current.resizable) {\n resizableContainer.current.resizable.classList.toggle(classes.resizableContainerNoSelect);\n }\n };\n\n const rootNode = (\n <Root className={cls}>\n {overlay}\n\n <PopupRoot\n id={innerId}\n ref={innerRef}\n position={handlePosition(placement, offset)}\n zIndex={zIndex}\n frame={frame}\n animationInfo={animationInfo}\n setVisible={setVisible}\n {...rest}\n >\n <Draggable\n nodeRef={nodeRef}\n defaultClassName={draggable ? classes.draggablePopupWrapper : undefined}\n defaultClassNameDragging={draggable ? classes.draggingPopupWrapper : undefined}\n disabled={!draggable}\n cancel={`.${classes.resizableHandleWrapper}`}\n >\n <div ref={nodeRef}>\n <Resizable\n ref={resizableContainer}\n enable={\n resizable && !resizable.disabled\n ? getResizeDirections(resizable.directions)\n : false\n }\n resizeRatio={getRatioBasedOnPlacement(placement)}\n defaultSize={resizable?.defaultSize}\n minWidth={resizable?.minWidth}\n minHeight={resizable?.minHeight}\n maxWidth={resizable?.maxWidth}\n maxHeight={resizable?.maxHeight}\n onResizeStart={handleResizeStart}\n onResizeStop={handleResizeStop}\n handleComponent={{\n topRight: resizable?.hiddenIcons?.includes('top-right') ? undefined : (\n <>\n {resizable?.icons?.topRight || (\n <IconResizeDiagonalStyled\n className={classes.resizableTopRightIcon}\n color=\"inherit\"\n size={resizable?.iconSize}\n />\n )}\n </>\n ),\n bottomRight: resizable?.hiddenIcons?.includes('bottom-right') ? undefined : (\n <>\n {resizable?.icons?.bottomRight || (\n <IconResizeDiagonalStyled\n className={classes.resizableBottomRightIcon}\n color=\"inherit\"\n size={resizable?.iconSize}\n />\n )}\n </>\n ),\n bottomLeft: resizable?.hiddenIcons?.includes('bottom-left') ? undefined : (\n <>\n {resizable?.icons?.bottomLeft || (\n <IconResizeDiagonalStyled\n className={classes.resizableBottomLeftIcon}\n color=\"inherit\"\n size={resizable?.iconSize}\n />\n )}\n </>\n ),\n topLeft: resizable?.hiddenIcons?.includes('top-left') ? undefined : (\n <>\n {resizable?.icons?.topLeft || (\n <IconResizeDiagonalStyled\n className={classes.resizableTopLeftIcon}\n color=\"inherit\"\n size={resizable?.iconSize}\n />\n )}\n </>\n ),\n }}\n className={classes.resizableContainer}\n handleStyles={getHandleStyles()}\n handleWrapperClass={classes.resizableHandleWrapper}\n >\n {children}\n </Resizable>\n </div>\n </Draggable>\n </PopupRoot>\n </Root>\n );\n\n if (typeof frame !== 'string' && frame && frame.current && canUseDOM) {\n return <Portal container={frame.current}>{rootNode}</Portal>;\n }\n\n const withFrameId = typeof frame === 'string' && frame !== 'document';\n const containerElement = withFrameId && canUseDOM && document.getElementById(frame as string);\n\n if (containerElement) {\n return (\n <Portal container={containerElement}>\n <StyledPortalContainer ref={portalRef}>\n {portalRef.current && <Portal container={portalRef.current}>{rootNode}</Portal>}\n </StyledPortalContainer>{' '}\n </Portal>\n );\n }\n\n const globalPortal = canUseDOM && document.getElementById(rootId);\n\n return <>{globalPortal && <Portal container={globalPortal}>{rootNode}</Portal>}</>;\n },\n );\n\nexport const popupConfig = {\n name: 'Popup',\n tag: 'div',\n layout: popupRoot,\n base,\n variations: {},\n defaults: {},\n};\n"],"names":["handlePosition","placement","offset","x","y","_offset","_slicedToArray","_x","_y","concat","left","top","transform","right","bottom","placements","split","forEach","placementValue","isCenteredX","undefined","isCenteredY","popupRoot","Root","forwardRef","_ref","outerRootRef","_resizable$hiddenIcon","_resizable$icons","_resizable$hiddenIcon2","_resizable$icons2","_resizable$hiddenIcon3","_resizable$icons3","_resizable$hiddenIcon4","_resizable$icons4","id","_ref$isOpen","isOpen","_ref$opened","opened","_ref$placement","_ref$offset","_ref$frame","frame","children","overlay","zIndex","popupInfo","_ref$withAnimation","withAnimation","className","draggable","outerResizable","resizable","rest","_objectWithoutProperties","_excluded","nodeRef","useRef","innerIsOpen","disabled","uniqId","safeUseId","innerId","_usePopup","usePopup","isVisible","animationInfo","setVisible","rootId","portalRef","contentRef","resizableContainer","innerRef","useForkRef","cls","cx","endAnimation","classes","endTransition","handleResizeStart","current","classList","toggle","resizableContainerNoSelect","handleResizeStop","rootNode","React","createElement","PopupRoot","_extends","ref","position","Draggable","defaultClassName","draggablePopupWrapper","defaultClassNameDragging","draggingPopupWrapper","cancel","resizableHandleWrapper","Resizable","enable","getResizeDirections","directions","resizeRatio","getRatioBasedOnPlacement","defaultSize","minWidth","minHeight","maxWidth","maxHeight","onResizeStart","onResizeStop","handleComponent","topRight","hiddenIcons","includes","Fragment","icons","IconResizeDiagonalStyled","resizableTopRightIcon","color","size","iconSize","bottomRight","resizableBottomRightIcon","bottomLeft","resizableBottomLeftIcon","topLeft","resizableTopLeftIcon","handleStyles","getHandleStyles","handleWrapperClass","canUseDOM","Portal","container","withFrameId","containerElement","document","getElementById","StyledPortalContainer","globalPortal","popupConfig","name","tag","layout","base","variations","defaults"],"mappings":"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"}
@@ -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;;;;"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _rollupPluginBabelHelpers = require('../../../../_virtual/_rollupPluginBabelHelpers.js');
6
6
  var React = require('react');
7
- var ReactDraggable = require('react-draggable');
7
+ var Draggable = require('react-draggable');
8
8
  var index = require('../../../../utils/index.js');
9
9
  var index$1 = require('../../utils/index.js');
10
10
  var Thumb = require('../Thumb/Thumb.js');
@@ -15,7 +15,7 @@ var computeKeyPressData = require('./computeKeyPressData.js');
15
15
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
16
16
 
17
17
  var React__default = /*#__PURE__*/_interopDefault(React);
18
- var ReactDraggable__default = /*#__PURE__*/_interopDefault(ReactDraggable);
18
+ var Draggable__default = /*#__PURE__*/_interopDefault(Draggable);
19
19
 
20
20
  var _excluded = ["size", "visibility", "isHovered", "orientation", "stepSize", "onChangeCommitted", "onChange", "position", "min", "max", "bounds", "zIndex", "disabled", "side", "showCurrentValue", "startOffset", "endOffset", "value", "valuePlacement"];
21
21
 
@@ -117,7 +117,7 @@ var Handler = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
117
117
  if (isDrag) {
118
118
  isPointerHidden = false;
119
119
  }
120
- return /*#__PURE__*/React__default.default.createElement(ReactDraggable__default.default, {
120
+ return /*#__PURE__*/React__default.default.createElement(Draggable__default.default, {
121
121
  axis: isVertical ? 'y' : 'x',
122
122
  bounds: computedBounds,
123
123
  grid: isVertical ? [1, stepSize] : [stepSize, 1],
@@ -1 +1 @@
1
- {"version":3,"file":"Handler.js","sources":["../../../../../src/components/Slider/ui/Handler/Handler.tsx"],"sourcesContent":["import React, { useRef, useState, forwardRef, KeyboardEvent } from 'react';\nimport Draggable, { DraggableEventHandler } from 'react-draggable';\n\nimport { cx } from '../../../../utils';\nimport { getSliderThumbValue, getOffsets } from '../../utils';\nimport { Thumb } from '../Thumb/Thumb';\nimport { classes } from '../../Slider.tokens';\n\nimport type { HandlerProps } from './Handler.types';\nimport { HandlerStyled, StyledValue } from './Handler.styles';\nimport { computeKeyPressData } from './computeKeyPressData';\n\n// TODO: PLASMA-1707\ndeclare module 'react-draggable' {\n export interface DraggableProps {\n children: React.ReactNode;\n }\n}\n\nexport const Handler = forwardRef<HTMLDivElement, HandlerProps>(\n (\n {\n size,\n visibility,\n isHovered,\n orientation,\n stepSize,\n onChangeCommitted,\n onChange,\n position = 0,\n min,\n max,\n bounds = [],\n zIndex,\n disabled,\n side,\n showCurrentValue = false,\n startOffset = 0,\n endOffset = 0,\n value,\n valuePlacement,\n ...rest\n },\n ref,\n ) => {\n const isVertical = orientation === 'vertical';\n const [isDrag, setIsDrag] = useState(false);\n\n const lastOnChangeValue = useRef<number>();\n const [startClientOffset, endClientOffset] = getOffsets(ref, side, isVertical);\n\n const [startValueBound, endValueBound] = bounds;\n const startPositionBound = startValueBound ? (startValueBound - min) * stepSize : null;\n const endPositionBound = endValueBound ? (endValueBound - min) * stepSize : null;\n\n const dragPosition =\n typeof position === 'number' ? { x: isVertical ? 0 : position, y: isVertical ? position : 0 } : undefined;\n const tabIndex = disabled ? -1 : 0;\n\n const computedBounds = {\n [isVertical ? 'top' : 'left']: (startPositionBound ?? 0) - (startClientOffset ? stepSize : 0),\n [isVertical ? 'bottom' : 'right']:\n (endPositionBound ?? stepSize * (max - min)) - (endClientOffset ? stepSize : 0),\n };\n\n const showCurrentValueCondition =\n showCurrentValue &&\n ((position >= startOffset && position <= max * stepSize - endOffset) || (position === 0 && value !== 0));\n\n const onDrag: DraggableEventHandler = (_, data) => {\n const newValue = getSliderThumbValue(isVertical ? data.y : data.x, stepSize, min, max);\n if (lastOnChangeValue.current !== newValue) {\n onChange?.(newValue, data);\n lastOnChangeValue.current = newValue;\n }\n };\n\n const onStart: DraggableEventHandler = () => {\n setIsDrag(true);\n };\n\n const onStop: DraggableEventHandler = (_, data) => {\n setIsDrag(false);\n\n const newValue = getSliderThumbValue(isVertical ? data.y : data.x, stepSize, min, max);\n onChangeCommitted && onChangeCommitted(newValue, data);\n };\n\n const onKeyPress = (event: KeyboardEvent<HTMLDivElement>) => {\n event.persist();\n\n const computedMultipleSteps = stepSize * ((rest.multipleStepSize / 100) * max);\n\n const data = computeKeyPressData(event, {\n isVertical,\n stepSize,\n position,\n max,\n computedMultipleSteps,\n });\n\n if (!data) {\n return;\n }\n\n const { left, right, top, bottom } = computedBounds;\n\n /*\n * INFO: Находим значение в диапазоне между указанными левой и правой границами.\n * Или между верхней и нижней\n * Необходимо для правильного расчета положения SliderThumb.\n * см. функция clamp\n */\n const boundedValue = isVertical\n ? Math.max(Math.min(bottom, data.y), top)\n : Math.max(Math.min(right, data.x), left);\n\n const computedValue = getSliderThumbValue(boundedValue, stepSize, min, max);\n lastOnChangeValue.current = computedValue;\n\n onChangeCommitted && onChangeCommitted(computedValue, data);\n };\n\n let isPointerHidden = (visibility === 'hover' && !isHovered) || size === 'none';\n\n if (isDrag) {\n isPointerHidden = false;\n }\n\n return (\n <Draggable\n axis={isVertical ? 'y' : 'x'}\n bounds={computedBounds}\n grid={isVertical ? [1, stepSize] : [stepSize, 1]}\n onStart={onStart}\n onStop={onStop}\n onDrag={onDrag}\n position={dragPosition}\n disabled={disabled}\n >\n <HandlerStyled\n ref={ref}\n style={{ zIndex }}\n className={cx(\n isVertical && classes.verticalOrientation,\n valuePlacement === 'left' && classes.valuePlacementLeft,\n )}\n isLarge={size === 'large'}\n isPointerHidden={isPointerHidden}\n onKeyDown={onKeyPress}\n >\n {!isPointerHidden && (\n <Thumb\n tabIndex={tabIndex}\n min={min}\n max={max}\n value={value}\n disabled={disabled}\n orientation={orientation}\n {...rest}\n />\n )}\n {showCurrentValueCondition && <StyledValue isPointerHidden={isPointerHidden}>{value}</StyledValue>}\n </HandlerStyled>\n </Draggable>\n );\n },\n);\n"],"names":["Handler","forwardRef","_ref","ref","size","visibility","isHovered","orientation","stepSize","onChangeCommitted","onChange","_ref$position","position","min","max","_ref$bounds","bounds","zIndex","disabled","side","_ref$showCurrentValue","showCurrentValue","_ref$startOffset","startOffset","_ref$endOffset","endOffset","value","valuePlacement","rest","_objectWithoutProperties","_excluded","isVertical","_useState","useState","_useState2","_slicedToArray","isDrag","setIsDrag","lastOnChangeValue","useRef","_getOffsets","getOffsets","_getOffsets2","startClientOffset","endClientOffset","_bounds","startValueBound","endValueBound","startPositionBound","endPositionBound","dragPosition","x","y","undefined","tabIndex","computedBounds","_defineProperty","showCurrentValueCondition","onDrag","_","data","newValue","getSliderThumbValue","current","onStart","onStop","onKeyPress","event","persist","computedMultipleSteps","multipleStepSize","computeKeyPressData","left","right","top","bottom","boundedValue","Math","computedValue","isPointerHidden","React","createElement","Draggable","axis","grid","HandlerStyled","style","className","cx","classes","verticalOrientation","valuePlacementLeft","isLarge","onKeyDown","Thumb","_extends","StyledValue"],"mappings":"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"}
1
+ {"version":3,"file":"Handler.js","sources":["../../../../../src/components/Slider/ui/Handler/Handler.tsx"],"sourcesContent":["import React, { useRef, useState, forwardRef, KeyboardEvent } from 'react';\nimport Draggable, { DraggableEventHandler } from 'react-draggable';\n\nimport { cx } from '../../../../utils';\nimport { getSliderThumbValue, getOffsets } from '../../utils';\nimport { Thumb } from '../Thumb/Thumb';\nimport { classes } from '../../Slider.tokens';\n\nimport type { HandlerProps } from './Handler.types';\nimport { HandlerStyled, StyledValue } from './Handler.styles';\nimport { computeKeyPressData } from './computeKeyPressData';\n\n// TODO: PLASMA-1707\ndeclare module 'react-draggable' {\n export interface DraggableProps {\n children: React.ReactNode;\n }\n}\n\nexport const Handler = forwardRef<HTMLDivElement, HandlerProps>(\n (\n {\n size,\n visibility,\n isHovered,\n orientation,\n stepSize,\n onChangeCommitted,\n onChange,\n position = 0,\n min,\n max,\n bounds = [],\n zIndex,\n disabled,\n side,\n showCurrentValue = false,\n startOffset = 0,\n endOffset = 0,\n value,\n valuePlacement,\n ...rest\n },\n ref,\n ) => {\n const isVertical = orientation === 'vertical';\n const [isDrag, setIsDrag] = useState(false);\n\n const lastOnChangeValue = useRef<number>();\n const [startClientOffset, endClientOffset] = getOffsets(ref, side, isVertical);\n\n const [startValueBound, endValueBound] = bounds;\n const startPositionBound = startValueBound ? (startValueBound - min) * stepSize : null;\n const endPositionBound = endValueBound ? (endValueBound - min) * stepSize : null;\n\n const dragPosition =\n typeof position === 'number' ? { x: isVertical ? 0 : position, y: isVertical ? position : 0 } : undefined;\n const tabIndex = disabled ? -1 : 0;\n\n const computedBounds = {\n [isVertical ? 'top' : 'left']: (startPositionBound ?? 0) - (startClientOffset ? stepSize : 0),\n [isVertical ? 'bottom' : 'right']:\n (endPositionBound ?? stepSize * (max - min)) - (endClientOffset ? stepSize : 0),\n };\n\n const showCurrentValueCondition =\n showCurrentValue &&\n ((position >= startOffset && position <= max * stepSize - endOffset) || (position === 0 && value !== 0));\n\n const onDrag: DraggableEventHandler = (_, data) => {\n const newValue = getSliderThumbValue(isVertical ? data.y : data.x, stepSize, min, max);\n if (lastOnChangeValue.current !== newValue) {\n onChange?.(newValue, data);\n lastOnChangeValue.current = newValue;\n }\n };\n\n const onStart: DraggableEventHandler = () => {\n setIsDrag(true);\n };\n\n const onStop: DraggableEventHandler = (_, data) => {\n setIsDrag(false);\n\n const newValue = getSliderThumbValue(isVertical ? data.y : data.x, stepSize, min, max);\n onChangeCommitted && onChangeCommitted(newValue, data);\n };\n\n const onKeyPress = (event: KeyboardEvent<HTMLDivElement>) => {\n event.persist();\n\n const computedMultipleSteps = stepSize * ((rest.multipleStepSize / 100) * max);\n\n const data = computeKeyPressData(event, {\n isVertical,\n stepSize,\n position,\n max,\n computedMultipleSteps,\n });\n\n if (!data) {\n return;\n }\n\n const { left, right, top, bottom } = computedBounds;\n\n /*\n * INFO: Находим значение в диапазоне между указанными левой и правой границами.\n * Или между верхней и нижней\n * Необходимо для правильного расчета положения SliderThumb.\n * см. функция clamp\n */\n const boundedValue = isVertical\n ? Math.max(Math.min(bottom, data.y), top)\n : Math.max(Math.min(right, data.x), left);\n\n const computedValue = getSliderThumbValue(boundedValue, stepSize, min, max);\n lastOnChangeValue.current = computedValue;\n\n onChangeCommitted && onChangeCommitted(computedValue, data);\n };\n\n let isPointerHidden = (visibility === 'hover' && !isHovered) || size === 'none';\n\n if (isDrag) {\n isPointerHidden = false;\n }\n\n return (\n <Draggable\n axis={isVertical ? 'y' : 'x'}\n bounds={computedBounds}\n grid={isVertical ? [1, stepSize] : [stepSize, 1]}\n onStart={onStart}\n onStop={onStop}\n onDrag={onDrag}\n position={dragPosition}\n disabled={disabled}\n >\n <HandlerStyled\n ref={ref}\n style={{ zIndex }}\n className={cx(\n isVertical && classes.verticalOrientation,\n valuePlacement === 'left' && classes.valuePlacementLeft,\n )}\n isLarge={size === 'large'}\n isPointerHidden={isPointerHidden}\n onKeyDown={onKeyPress}\n >\n {!isPointerHidden && (\n <Thumb\n tabIndex={tabIndex}\n min={min}\n max={max}\n value={value}\n disabled={disabled}\n orientation={orientation}\n {...rest}\n />\n )}\n {showCurrentValueCondition && <StyledValue isPointerHidden={isPointerHidden}>{value}</StyledValue>}\n </HandlerStyled>\n </Draggable>\n );\n },\n);\n"],"names":["Handler","forwardRef","_ref","ref","size","visibility","isHovered","orientation","stepSize","onChangeCommitted","onChange","_ref$position","position","min","max","_ref$bounds","bounds","zIndex","disabled","side","_ref$showCurrentValue","showCurrentValue","_ref$startOffset","startOffset","_ref$endOffset","endOffset","value","valuePlacement","rest","_objectWithoutProperties","_excluded","isVertical","_useState","useState","_useState2","_slicedToArray","isDrag","setIsDrag","lastOnChangeValue","useRef","_getOffsets","getOffsets","_getOffsets2","startClientOffset","endClientOffset","_bounds","startValueBound","endValueBound","startPositionBound","endPositionBound","dragPosition","x","y","undefined","tabIndex","computedBounds","_defineProperty","showCurrentValueCondition","onDrag","_","data","newValue","getSliderThumbValue","current","onStart","onStop","onKeyPress","event","persist","computedMultipleSteps","multipleStepSize","computeKeyPressData","left","right","top","bottom","boundedValue","Math","computedValue","isPointerHidden","React","createElement","Draggable","axis","grid","HandlerStyled","style","className","cx","classes","verticalOrientation","valuePlacementLeft","isLarge","onKeyDown","Thumb","_extends","StyledValue"],"mappings":"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"}
@@ -207,7 +207,7 @@ var autocompleteRoot = function(Root) {
207
207
  "_offset"
208
208
  ]);
209
209
  var _useReducer = _sliced_to_array((0, _react.useReducer)(_focusedReducer.focusedReducer, null), 2), focused = _useReducer[0], dispatchFocused = _useReducer[1];
210
- var _useState = _sliced_to_array((0, _react.useState)(''), 2), innerValue = _useState[0], setInnerValue = _useState[1];
210
+ var _useState = _sliced_to_array((0, _react.useState)(defaultValue || ''), 2), innerValue = _useState[0], setInnerValue = _useState[1];
211
211
  var _useState1 = _sliced_to_array((0, _react.useState)(false), 2), isOpen = _useState1[0], setIsOpen = _useState1[1];
212
212
  var listId = (0, _utils.safeUseId)();
213
213
  var value = outerValue !== null && outerValue !== void 0 ? outerValue : innerValue;
@@ -263,13 +263,6 @@ var autocompleteRoot = function(Root) {
263
263
  }, [
264
264
  value
265
265
  ]);
266
- (0, _react.useLayoutEffect)(function() {
267
- if (defaultValue) {
268
- setInnerValue(defaultValue);
269
- }
270
- }, [
271
- defaultValue
272
- ]);
273
266
  return /*#__PURE__*/ _react.default.createElement(Root, {
274
267
  view: view,
275
268
  size: size,
@@ -8,31 +8,99 @@ Object.defineProperty(exports, "VirtualList", {
8
8
  return VirtualList;
9
9
  }
10
10
  });
11
- var _react = /*#__PURE__*/ _interop_require_default(require("react"));
12
- var _rcvirtuallist = /*#__PURE__*/ _interop_require_default(require("rc-virtual-list"));
11
+ var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
12
+ var _reactvirtual = require("@tanstack/react-virtual");
13
13
  var _utils = require("../../../../utils");
14
14
  var _SuggestionItem = require("../SuggestionItem/SuggestionItem");
15
- function _interop_require_default(obj) {
16
- return obj && obj.__esModule ? obj : {
17
- default: obj
15
+ function _getRequireWildcardCache(nodeInterop) {
16
+ if (typeof WeakMap !== "function") return null;
17
+ var cacheBabelInterop = new WeakMap();
18
+ var cacheNodeInterop = new WeakMap();
19
+ return (_getRequireWildcardCache = function(nodeInterop) {
20
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
21
+ })(nodeInterop);
22
+ }
23
+ function _interop_require_wildcard(obj, nodeInterop) {
24
+ if (!nodeInterop && obj && obj.__esModule) {
25
+ return obj;
26
+ }
27
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
28
+ return {
29
+ default: obj
30
+ };
31
+ }
32
+ var cache = _getRequireWildcardCache(nodeInterop);
33
+ if (cache && cache.has(obj)) {
34
+ return cache.get(obj);
35
+ }
36
+ var newObj = {
37
+ __proto__: null
18
38
  };
39
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
40
+ for(var key in obj){
41
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
42
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
43
+ if (desc && (desc.get || desc.set)) {
44
+ Object.defineProperty(newObj, key, desc);
45
+ } else {
46
+ newObj[key] = obj[key];
47
+ }
48
+ }
49
+ }
50
+ newObj.default = obj;
51
+ if (cache) {
52
+ cache.set(obj, newObj);
53
+ }
54
+ return newObj;
19
55
  }
20
56
  var VirtualList = function(param) {
21
57
  var items = param.items, onClick = param.onClick, listId = param.listId, listMaxHeight = param.listMaxHeight, onScroll = param.onScroll, renderItem = param.renderItem;
22
- return /*#__PURE__*/ _react.default.createElement(_rcvirtuallist.default, {
23
- data: items,
24
- height: (0, _utils.getHeightAsNumber)(listMaxHeight),
25
- fullHeight: false,
26
- itemHeight: 100,
27
- itemKey: "id",
58
+ var _virtualItems_;
59
+ var parentRef = (0, _react.useRef)(null);
60
+ var virtualizer = (0, _reactvirtual.useVirtualizer)({
61
+ count: items.length,
62
+ getScrollElement: function() {
63
+ return parentRef.current;
64
+ },
65
+ estimateSize: function() {
66
+ return 48;
67
+ }
68
+ });
69
+ var virtualItems = virtualizer.getVirtualItems();
70
+ var _virtualItems__start;
71
+ return /*#__PURE__*/ _react.default.createElement("div", {
72
+ ref: parentRef,
73
+ style: {
74
+ height: 'auto',
75
+ maxHeight: (0, _utils.getHeightAsNumber)(listMaxHeight),
76
+ overflowY: 'auto'
77
+ },
28
78
  onScroll: onScroll
29
- }, function(item, index, props) {
30
- return /*#__PURE__*/ _react.default.createElement("div", props, /*#__PURE__*/ _react.default.createElement(_SuggestionItem.SuggestionItem, {
31
- item: item,
79
+ }, /*#__PURE__*/ _react.default.createElement("div", {
80
+ style: {
81
+ height: virtualizer.getTotalSize(),
82
+ width: '100%',
83
+ position: 'relative'
84
+ }
85
+ }, /*#__PURE__*/ _react.default.createElement("div", {
86
+ style: {
87
+ position: 'absolute',
88
+ top: 0,
89
+ left: 0,
90
+ width: '100%',
91
+ transform: "translateY(".concat((_virtualItems__start = (_virtualItems_ = virtualItems[0]) === null || _virtualItems_ === void 0 ? void 0 : _virtualItems_.start) !== null && _virtualItems__start !== void 0 ? _virtualItems__start : 0, "px)")
92
+ }
93
+ }, virtualItems.map(function(virtualRow) {
94
+ return /*#__PURE__*/ _react.default.createElement("div", {
95
+ key: virtualRow.key,
96
+ "data-index": virtualRow.index,
97
+ ref: virtualizer.measureElement
98
+ }, /*#__PURE__*/ _react.default.createElement(_SuggestionItem.SuggestionItem, {
99
+ item: items[virtualRow.index],
32
100
  onClick: onClick,
33
- id: "".concat(listId, "/").concat(index),
101
+ id: "".concat(listId, "/").concat(virtualRow.index),
34
102
  focused: false,
35
103
  renderItem: renderItem
36
104
  }));
37
- });
105
+ }))));
38
106
  };
@@ -116,9 +116,9 @@ var VISIBLE_DOTS_DEFAULT = 10;
116
116
  var DOTS_CENTERED_DEFAULT = false;
117
117
  var carouselNewRoot = function(Root) {
118
118
  return /*#__PURE__*/ (0, _react.forwardRef)(function(param, ref) {
119
- var view = param.view, size = param.size, _param_scrollAlign = param.scrollAlign, scrollAlign = _param_scrollAlign === void 0 ? 'start' : _param_scrollAlign, children = param.children, _param_controlArrowsDisabled = param.controlArrowsDisabled, controlArrowsDisabled = _param_controlArrowsDisabled === void 0 ? false : _param_controlArrowsDisabled, paginationOptions = param.paginationOptions, _param_gap = param.gap, gap = _param_gap === void 0 ? '20px' : _param_gap, className = param.className, style = param.style;
120
- var _useState = _sliced_to_array((0, _react.useState)(0), 2), index = _useState[0], setIndex = _useState[1];
119
+ var view = param.view, size = param.size, _param_scrollAlign = param.scrollAlign, scrollAlign = _param_scrollAlign === void 0 ? 'start' : _param_scrollAlign, children = param.children, _param_controlArrowsDisabled = param.controlArrowsDisabled, controlArrowsDisabled = _param_controlArrowsDisabled === void 0 ? false : _param_controlArrowsDisabled, paginationOptions = param.paginationOptions, _param_gap = param.gap, gap = _param_gap === void 0 ? '20px' : _param_gap, className = param.className, style = param.style, defaultIndex = param.defaultIndex;
121
120
  var slidesAmount = _react.Children.count(children);
121
+ var _useState = _sliced_to_array((0, _react.useState)(defaultIndex && defaultIndex >= 0 ? Math.min(slidesAmount - 1, defaultIndex) : 0), 2), index = _useState[0], setIndex = _useState[1];
122
122
  var handleClickLeft = function() {
123
123
  setIndex(Math.max(0, index - 1));
124
124
  };
@@ -50,6 +50,7 @@ var useCarousel = function(param) {
50
50
  var index = param.index, scrollAlign = param.scrollAlign;
51
51
  var scrollRef = (0, _react.useRef)(null);
52
52
  var trackRef = (0, _react.useRef)(null);
53
+ var isFirstRender = (0, _react.useRef)(true);
53
54
  // Прокрутка до нужной позиции индекса, если индекс изменился.
54
55
  (0, _react.useEffect)(function() {
55
56
  if (!scrollRef.current || !trackRef.current) {
@@ -65,9 +66,13 @@ var useCarousel = function(param) {
65
66
  scrollAlign: scrollAlign
66
67
  });
67
68
  scrollRef.current.scrollTo({
68
- left: pos
69
+ left: pos,
70
+ behavior: isFirstRender.current ? 'instant' : 'smooth'
69
71
  });
70
72
  }
73
+ if (isFirstRender.current) {
74
+ isFirstRender.current = false;
75
+ }
71
76
  }, [
72
77
  index
73
78
  ]);