@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
@@ -1,14 +1,17 @@
1
1
  import { objectWithoutProperties as _objectWithoutProperties, extends as _extends, slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import React, { forwardRef, useRef } from 'react';
3
3
  import { useForkRef } from '@salutejs/plasma-core';
4
+ import Draggable from 'react-draggable';
5
+ import { Resizable } from 're-resizable';
4
6
  import { cx } from '../../utils/index.js';
5
7
  import { PopupRoot } from './PopupRoot.js';
6
8
  import { classes } from './Popup.tokens.js';
7
- import { StyledPortalContainer, base } from './Popup.styles.js';
9
+ import { IconResizeDiagonalStyled, StyledPortalContainer, base } from './Popup.styles.js';
8
10
  import { safeUseId } from '../../utils/react.js';
9
11
  import { usePopup } from './hooks/usePopup.js';
10
- import { Draggable } from './ui/Draggable/Draggable.js';
11
- import { Resizable } from './ui/Resizable/Resizable.js';
12
+ import { getResizeDirections } from './utils/getResizeDirections.js';
13
+ import { getRatioBasedOnPlacement } from './utils/getRatioBasedOnPlacement.js';
14
+ import { getHandleStyles } from './utils/getHandleStyles.js';
12
15
  import { canUseDOM } from '../../utils/canUseDOM.js';
13
16
  import { Portal } from '../Portal/Portal.js';
14
17
 
@@ -74,6 +77,7 @@ var handlePosition = function handlePosition(placement, offset) {
74
77
  */
75
78
  var popupRoot = function popupRoot(Root) {
76
79
  return /*#__PURE__*/forwardRef(function (_ref, outerRootRef) {
80
+ var _resizable$hiddenIcon, _resizable$icons, _resizable$hiddenIcon2, _resizable$icons2, _resizable$hiddenIcon3, _resizable$icons3, _resizable$hiddenIcon4, _resizable$icons4;
77
81
  var id = _ref.id,
78
82
  _ref$isOpen = _ref.isOpen,
79
83
  isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
@@ -95,7 +99,11 @@ var popupRoot = function popupRoot(Root) {
95
99
  draggable = _ref.draggable,
96
100
  outerResizable = _ref.resizable,
97
101
  rest = _objectWithoutProperties(_ref, _excluded);
102
+ var nodeRef = useRef(null);
98
103
  var innerIsOpen = isOpen || opened;
104
+ var resizable = typeof outerResizable === 'boolean' ? {
105
+ disabled: !outerResizable
106
+ } : outerResizable;
99
107
  var uniqId = safeUseId();
100
108
  var innerId = id || uniqId;
101
109
  var _usePopup = usePopup({
@@ -110,11 +118,22 @@ var popupRoot = function popupRoot(Root) {
110
118
  rootId = _usePopup.rootId;
111
119
  var portalRef = useRef(null);
112
120
  var contentRef = useRef(null);
121
+ var resizableContainer = useRef(null);
113
122
  var innerRef = useForkRef(contentRef, outerRootRef);
114
123
  if (!isVisible && !innerIsOpen) {
115
124
  return null;
116
125
  }
117
126
  var cls = cx(className, animationInfo !== null && animationInfo !== void 0 && animationInfo.endAnimation ? classes.endAnimation : '', animationInfo !== null && animationInfo !== void 0 && animationInfo.endTransition ? classes.endTransition : '');
127
+ var handleResizeStart = function handleResizeStart() {
128
+ if (resizableContainer !== null && resizableContainer !== void 0 && resizableContainer.current && resizableContainer.current.resizable) {
129
+ resizableContainer.current.resizable.classList.toggle(classes.resizableContainerNoSelect);
130
+ }
131
+ };
132
+ var handleResizeStop = function handleResizeStop() {
133
+ if (resizableContainer !== null && resizableContainer !== void 0 && resizableContainer.current && resizableContainer.current.resizable) {
134
+ resizableContainer.current.resizable.classList.toggle(classes.resizableContainerNoSelect);
135
+ }
136
+ };
118
137
  var rootNode = /*#__PURE__*/React.createElement(Root, {
119
138
  className: cls
120
139
  }, overlay, /*#__PURE__*/React.createElement(PopupRoot, _extends({
@@ -126,11 +145,50 @@ var popupRoot = function popupRoot(Root) {
126
145
  animationInfo: animationInfo,
127
146
  setVisible: setVisible
128
147
  }, rest), /*#__PURE__*/React.createElement(Draggable, {
129
- draggable: draggable
148
+ nodeRef: nodeRef,
149
+ defaultClassName: draggable ? classes.draggablePopupWrapper : undefined,
150
+ defaultClassNameDragging: draggable ? classes.draggingPopupWrapper : undefined,
151
+ disabled: !draggable,
152
+ cancel: ".".concat(classes.resizableHandleWrapper)
153
+ }, /*#__PURE__*/React.createElement("div", {
154
+ ref: nodeRef
130
155
  }, /*#__PURE__*/React.createElement(Resizable, {
131
- resizable: outerResizable,
132
- placement: placement
133
- }, children))));
156
+ ref: resizableContainer,
157
+ enable: resizable && !resizable.disabled ? getResizeDirections(resizable.directions) : false,
158
+ resizeRatio: getRatioBasedOnPlacement(placement),
159
+ defaultSize: resizable === null || resizable === void 0 ? void 0 : resizable.defaultSize,
160
+ minWidth: resizable === null || resizable === void 0 ? void 0 : resizable.minWidth,
161
+ minHeight: resizable === null || resizable === void 0 ? void 0 : resizable.minHeight,
162
+ maxWidth: resizable === null || resizable === void 0 ? void 0 : resizable.maxWidth,
163
+ maxHeight: resizable === null || resizable === void 0 ? void 0 : resizable.maxHeight,
164
+ onResizeStart: handleResizeStart,
165
+ onResizeStop: handleResizeStop,
166
+ handleComponent: {
167
+ topRight: resizable !== null && resizable !== void 0 && (_resizable$hiddenIcon = resizable.hiddenIcons) !== null && _resizable$hiddenIcon !== void 0 && _resizable$hiddenIcon.includes('top-right') ? undefined : /*#__PURE__*/React.createElement(React.Fragment, null, (resizable === null || resizable === void 0 || (_resizable$icons = resizable.icons) === null || _resizable$icons === void 0 ? void 0 : _resizable$icons.topRight) || /*#__PURE__*/React.createElement(IconResizeDiagonalStyled, {
168
+ className: classes.resizableTopRightIcon,
169
+ color: "inherit",
170
+ size: resizable === null || resizable === void 0 ? void 0 : resizable.iconSize
171
+ })),
172
+ bottomRight: resizable !== null && resizable !== void 0 && (_resizable$hiddenIcon2 = resizable.hiddenIcons) !== null && _resizable$hiddenIcon2 !== void 0 && _resizable$hiddenIcon2.includes('bottom-right') ? undefined : /*#__PURE__*/React.createElement(React.Fragment, null, (resizable === null || resizable === void 0 || (_resizable$icons2 = resizable.icons) === null || _resizable$icons2 === void 0 ? void 0 : _resizable$icons2.bottomRight) || /*#__PURE__*/React.createElement(IconResizeDiagonalStyled, {
173
+ className: classes.resizableBottomRightIcon,
174
+ color: "inherit",
175
+ size: resizable === null || resizable === void 0 ? void 0 : resizable.iconSize
176
+ })),
177
+ bottomLeft: resizable !== null && resizable !== void 0 && (_resizable$hiddenIcon3 = resizable.hiddenIcons) !== null && _resizable$hiddenIcon3 !== void 0 && _resizable$hiddenIcon3.includes('bottom-left') ? undefined : /*#__PURE__*/React.createElement(React.Fragment, null, (resizable === null || resizable === void 0 || (_resizable$icons3 = resizable.icons) === null || _resizable$icons3 === void 0 ? void 0 : _resizable$icons3.bottomLeft) || /*#__PURE__*/React.createElement(IconResizeDiagonalStyled, {
178
+ className: classes.resizableBottomLeftIcon,
179
+ color: "inherit",
180
+ size: resizable === null || resizable === void 0 ? void 0 : resizable.iconSize
181
+ })),
182
+ topLeft: resizable !== null && resizable !== void 0 && (_resizable$hiddenIcon4 = resizable.hiddenIcons) !== null && _resizable$hiddenIcon4 !== void 0 && _resizable$hiddenIcon4.includes('top-left') ? undefined : /*#__PURE__*/React.createElement(React.Fragment, null, (resizable === null || resizable === void 0 || (_resizable$icons4 = resizable.icons) === null || _resizable$icons4 === void 0 ? void 0 : _resizable$icons4.topLeft) || /*#__PURE__*/React.createElement(IconResizeDiagonalStyled, {
183
+ className: classes.resizableTopLeftIcon,
184
+ color: "inherit",
185
+ size: resizable === null || resizable === void 0 ? void 0 : resizable.iconSize
186
+ }))
187
+ },
188
+ className: classes.resizableContainer,
189
+ handleStyles: getHandleStyles(),
190
+ handleWrapperClass: classes.resizableHandleWrapper
191
+ }, children)))));
134
192
  if (typeof frame !== 'string' && frame && frame.current && canUseDOM) {
135
193
  return /*#__PURE__*/React.createElement(Portal, {
136
194
  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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"}
@@ -1,28 +1,59 @@
1
- import React from 'react';
2
- import List from 'rc-virtual-list';
1
+ import React, { useRef } from 'react';
2
+ import { useVirtualizer } from '@tanstack/react-virtual';
3
3
  import { getHeightAsNumber } from '../../../../utils/getHeightAsNumber.js';
4
4
  import { Item } from '../Inner/ui/Item/Item.js';
5
5
 
6
6
  var VirtualList = function VirtualList(_ref) {
7
+ var _virtualItems$0$start, _virtualItems$;
7
8
  var items = _ref.items,
8
9
  listMaxHeight = _ref.listMaxHeight,
9
10
  onScroll = _ref.onScroll;
10
- return /*#__PURE__*/React.createElement(List, {
11
- data: items,
12
- height: getHeightAsNumber(listMaxHeight),
13
- fullHeight: false,
14
- itemHeight: 100,
15
- itemKey: "id",
11
+ var parentRef = useRef(null);
12
+ var virtualizer = useVirtualizer({
13
+ count: items.length,
14
+ getScrollElement: function getScrollElement() {
15
+ return parentRef.current;
16
+ },
17
+ estimateSize: function estimateSize() {
18
+ return 48;
19
+ }
20
+ });
21
+ var virtualItems = virtualizer.getVirtualItems();
22
+ return /*#__PURE__*/React.createElement("div", {
23
+ ref: parentRef,
24
+ style: {
25
+ height: 'auto',
26
+ maxHeight: getHeightAsNumber(listMaxHeight),
27
+ overflowY: 'auto'
28
+ },
16
29
  onScroll: onScroll
17
- }, function (item, index, props) {
18
- return /*#__PURE__*/React.createElement("div", props, /*#__PURE__*/React.createElement(Item, {
19
- item: item,
30
+ }, /*#__PURE__*/React.createElement("div", {
31
+ style: {
32
+ height: virtualizer.getTotalSize(),
33
+ width: '100%',
34
+ position: 'relative'
35
+ }
36
+ }, /*#__PURE__*/React.createElement("div", {
37
+ style: {
38
+ position: 'absolute',
39
+ top: 0,
40
+ left: 0,
41
+ width: '100%',
42
+ transform: "translateY(".concat((_virtualItems$0$start = (_virtualItems$ = virtualItems[0]) === null || _virtualItems$ === void 0 ? void 0 : _virtualItems$.start) !== null && _virtualItems$0$start !== void 0 ? _virtualItems$0$start : 0, "px)")
43
+ }
44
+ }, virtualItems.map(function (virtualRow) {
45
+ return /*#__PURE__*/React.createElement("div", {
46
+ key: virtualRow.key,
47
+ "data-index": virtualRow.index,
48
+ ref: virtualizer.measureElement
49
+ }, /*#__PURE__*/React.createElement(Item, {
50
+ item: items[virtualRow.index],
20
51
  path: ['root'],
21
52
  currentLevel: 0,
22
- index: index,
53
+ index: virtualRow.index,
23
54
  ariaLevel: 1
24
55
  }));
25
- });
56
+ }))));
26
57
  };
27
58
 
28
59
  export { VirtualList };
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualList.js","sources":["../../../../../src/components/Select/ui/VirtualList/VirtualList.tsx"],"sourcesContent":["import React, { CSSProperties } from 'react';\nimport List from 'rc-virtual-list';\nimport { getHeightAsNumber } from 'src/utils';\n\nimport type { MergedDropdownNodeTransformed } from '../Inner/ui/Item/Item.types';\nimport { Item } from '../Inner/ui';\n\ninterface Props {\n items: MergedDropdownNodeTransformed[];\n listMaxHeight?: CSSProperties['height'];\n onScroll?: (e: React.UIEvent<HTMLUListElement>) => void;\n}\n\nexport const VirtualList: React.FC<Props> = ({ items, listMaxHeight, onScroll }) => (\n <List\n data={items}\n height={getHeightAsNumber(listMaxHeight)}\n fullHeight={false}\n itemHeight={100}\n itemKey=\"id\"\n onScroll={onScroll}\n >\n {(item, index, props) => (\n <div {...props}>\n <Item item={item} path={['root']} currentLevel={0} index={index} ariaLevel={1} />\n </div>\n )}\n </List>\n);\n"],"names":["VirtualList","_ref","items","listMaxHeight","onScroll","React","createElement","List","data","height","getHeightAsNumber","fullHeight","itemHeight","itemKey","item","index","props","Item","path","currentLevel","ariaLevel"],"mappings":";;;;;IAaaA,WAA4B,GAAG,SAA/BA,WAA4BA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,aAAa,GAAAF,IAAA,CAAbE,aAAa;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ,CAAA;AAAA,EAAA,oBACzEC,KAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;AACDC,IAAAA,IAAI,EAAEN,KAAM;AACZO,IAAAA,MAAM,EAAEC,iBAAiB,CAACP,aAAa,CAAE;AACzCQ,IAAAA,UAAU,EAAE,KAAM;AAClBC,IAAAA,UAAU,EAAE,GAAI;AAChBC,IAAAA,OAAO,EAAC,IAAI;AACZT,IAAAA,QAAQ,EAAEA,QAAAA;AAAS,GAAA,EAElB,UAACU,IAAI,EAAEC,KAAK,EAAEC,KAAK,EAAA;IAAA,oBAChBX,KAAA,CAAAC,aAAA,CAASU,KAAAA,EAAAA,KAAK,eACVX,KAAA,CAAAC,aAAA,CAACW,IAAI,EAAA;AAACH,MAAAA,IAAI,EAAEA,IAAK;MAACI,IAAI,EAAE,CAAC,MAAM,CAAE;AAACC,MAAAA,YAAY,EAAE,CAAE;AAACJ,MAAAA,KAAK,EAAEA,KAAM;AAACK,MAAAA,SAAS,EAAE,CAAA;AAAE,KAAE,CAC/E,CAAC,CAAA;AAAA,GAER,CAAC,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"VirtualList.js","sources":["../../../../../src/components/Select/ui/VirtualList/VirtualList.tsx"],"sourcesContent":["import React, { useRef, CSSProperties } from 'react';\nimport { useVirtualizer } from '@tanstack/react-virtual';\nimport { getHeightAsNumber } from 'src/utils';\n\nimport type { MergedDropdownNodeTransformed } from '../Inner/ui/Item/Item.types';\nimport { Item } from '../Inner/ui';\n\ninterface Props {\n items: MergedDropdownNodeTransformed[];\n listMaxHeight?: CSSProperties['height'];\n onScroll?: (e: React.UIEvent<HTMLElement>) => void;\n}\n\nexport const VirtualList: React.FC<Props> = ({ items, listMaxHeight, onScroll }) => {\n const parentRef = useRef<HTMLDivElement>(null);\n\n const virtualizer = useVirtualizer({\n count: items.length,\n getScrollElement: () => parentRef.current,\n estimateSize: () => 48,\n });\n\n const virtualItems = virtualizer.getVirtualItems();\n\n return (\n <div\n ref={parentRef}\n style={{\n height: 'auto',\n maxHeight: getHeightAsNumber(listMaxHeight),\n overflowY: 'auto',\n }}\n onScroll={onScroll}\n >\n <div\n style={{\n height: virtualizer.getTotalSize(),\n width: '100%',\n position: 'relative',\n }}\n >\n <div\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n transform: `translateY(${virtualItems[0]?.start ?? 0}px)`,\n }}\n >\n {virtualItems.map((virtualRow) => (\n <div\n key={virtualRow.key as React.Key}\n data-index={virtualRow.index}\n ref={virtualizer.measureElement}\n >\n <Item\n item={items[virtualRow.index]}\n path={['root']}\n currentLevel={0}\n index={virtualRow.index}\n ariaLevel={1}\n />\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n};\n"],"names":["VirtualList","_ref","_virtualItems$0$start","_virtualItems$","items","listMaxHeight","onScroll","parentRef","useRef","virtualizer","useVirtualizer","count","length","getScrollElement","current","estimateSize","virtualItems","getVirtualItems","React","createElement","ref","style","height","maxHeight","getHeightAsNumber","overflowY","getTotalSize","width","position","top","left","transform","concat","start","map","virtualRow","key","index","measureElement","Item","item","path","currentLevel","ariaLevel"],"mappings":";;;;;IAaaA,WAA4B,GAAG,SAA/BA,WAA4BA,CAAAC,IAAA,EAA2C;EAAA,IAAAC,qBAAA,EAAAC,cAAA,CAAA;AAAA,EAAA,IAArCC,KAAK,GAAAH,IAAA,CAALG,KAAK;IAAEC,aAAa,GAAAJ,IAAA,CAAbI,aAAa;IAAEC,QAAQ,GAAAL,IAAA,CAARK,QAAQ,CAAA;AACzE,EAAA,IAAMC,SAAS,GAAGC,MAAM,CAAiB,IAAI,CAAC,CAAA;EAE9C,IAAMC,WAAW,GAAGC,cAAc,CAAC;IAC/BC,KAAK,EAAEP,KAAK,CAACQ,MAAM;IACnBC,gBAAgB,EAAE,SAAAA,gBAAA,GAAA;MAAA,OAAMN,SAAS,CAACO,OAAO,CAAA;AAAA,KAAA;IACzCC,YAAY,EAAE,SAAAA,YAAA,GAAA;AAAA,MAAA,OAAM,EAAE,CAAA;AAAA,KAAA;AAC1B,GAAC,CAAC,CAAA;AAEF,EAAA,IAAMC,YAAY,GAAGP,WAAW,CAACQ,eAAe,EAAE,CAAA;EAElD,oBACIC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACIC,IAAAA,GAAG,EAAEb,SAAU;AACfc,IAAAA,KAAK,EAAE;AACHC,MAAAA,MAAM,EAAE,MAAM;AACdC,MAAAA,SAAS,EAAEC,iBAAiB,CAACnB,aAAa,CAAC;AAC3CoB,MAAAA,SAAS,EAAE,MAAA;KACb;AACFnB,IAAAA,QAAQ,EAAEA,QAAAA;GAEVY,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACIE,IAAAA,KAAK,EAAE;AACHC,MAAAA,MAAM,EAAEb,WAAW,CAACiB,YAAY,EAAE;AAClCC,MAAAA,KAAK,EAAE,MAAM;AACbC,MAAAA,QAAQ,EAAE,UAAA;AACd,KAAA;GAEAV,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACIE,IAAAA,KAAK,EAAE;AACHO,MAAAA,QAAQ,EAAE,UAAU;AACpBC,MAAAA,GAAG,EAAE,CAAC;AACNC,MAAAA,IAAI,EAAE,CAAC;AACPH,MAAAA,KAAK,EAAE,MAAM;MACbI,SAAS,EAAA,aAAA,CAAAC,MAAA,CAAA9B,CAAAA,qBAAA,IAAAC,cAAA,GAAgBa,YAAY,CAAC,CAAC,CAAC,cAAAb,cAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,cAAA,CAAiB8B,KAAK,cAAA/B,qBAAA,KAAA,KAAA,CAAA,GAAAA,qBAAA,GAAI,CAAC,EAAA,KAAA,CAAA;AACxD,KAAA;AAAE,GAAA,EAEDc,YAAY,CAACkB,GAAG,CAAC,UAACC,UAAU,EAAA;IAAA,oBACzBjB,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;MACIiB,GAAG,EAAED,UAAU,CAACC,GAAiB;MACjC,YAAYD,EAAAA,UAAU,CAACE,KAAM;MAC7BjB,GAAG,EAAEX,WAAW,CAAC6B,cAAAA;AAAe,KAAA,eAEhCpB,KAAA,CAAAC,aAAA,CAACoB,IAAI,EAAA;AACDC,MAAAA,IAAI,EAAEpC,KAAK,CAAC+B,UAAU,CAACE,KAAK,CAAE;MAC9BI,IAAI,EAAE,CAAC,MAAM,CAAE;AACfC,MAAAA,YAAY,EAAE,CAAE;MAChBL,KAAK,EAAEF,UAAU,CAACE,KAAM;AACxBM,MAAAA,SAAS,EAAE,CAAA;AAAE,KAChB,CACA,CAAC,CAAA;GACT,CACA,CACJ,CACJ,CAAC,CAAA;AAEd;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, defineProperty as _defineProperty, extends as _extends } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import React, { forwardRef, useState, useRef } from 'react';
3
- import ReactDraggable from 'react-draggable';
3
+ import Draggable from 'react-draggable';
4
4
  import { cx } from '../../../../utils/index.js';
5
5
  import { getOffsets, getSliderThumbValue } from '../../utils/index.js';
6
6
  import { Thumb } from '../Thumb/Thumb.js';
@@ -108,7 +108,7 @@ var Handler = /*#__PURE__*/forwardRef(function (_ref, ref) {
108
108
  if (isDrag) {
109
109
  isPointerHidden = false;
110
110
  }
111
- return /*#__PURE__*/React.createElement(ReactDraggable, {
111
+ return /*#__PURE__*/React.createElement(Draggable, {
112
112
  axis: isVertical ? 'y' : 'x',
113
113
  bounds: computedBounds,
114
114
  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":";;;;;;;;;;;;AAYA;;AAOO,IAAMA,OAAO,gBAAGC,UAAU,CAC7B,UAAAC,IAAA,EAuBIC,GAAG,EACF;AAAA,EAAA,IAtBGC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,UAAU,GAAAH,IAAA,CAAVG,UAAU;IACVC,SAAS,GAAAJ,IAAA,CAATI,SAAS;IACTC,WAAW,GAAAL,IAAA,CAAXK,WAAW;IACXC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;IACRC,iBAAiB,GAAAP,IAAA,CAAjBO,iBAAiB;IACjBC,QAAQ,GAAAR,IAAA,CAARQ,QAAQ;IAAAC,aAAA,GAAAT,IAAA,CACRU,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,aAAA;IACZE,GAAG,GAAAX,IAAA,CAAHW,GAAG;IACHC,GAAG,GAAAZ,IAAA,CAAHY,GAAG;IAAAC,WAAA,GAAAb,IAAA,CACHc,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,WAAA;IACXE,MAAM,GAAAf,IAAA,CAANe,MAAM;IACNC,QAAQ,GAAAhB,IAAA,CAARgB,QAAQ;IACRC,IAAI,GAAAjB,IAAA,CAAJiB,IAAI;IAAAC,qBAAA,GAAAlB,IAAA,CACJmB,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAAE,gBAAA,GAAApB,IAAA,CACxBqB,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,gBAAA;IAAAE,cAAA,GAAAtB,IAAA,CACfuB,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,cAAA;IACbE,KAAK,GAAAxB,IAAA,CAALwB,KAAK;IACLC,cAAc,GAAAzB,IAAA,CAAdyB,cAAc;AACXC,IAAAA,IAAI,GAAAC,wBAAA,CAAA3B,IAAA,EAAA4B,SAAA,CAAA,CAAA;AAIX,EAAA,IAAMC,UAAU,GAAGxB,WAAW,KAAK,UAAU,CAAA;AAC7C,EAAA,IAAAyB,SAAA,GAA4BC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApCI,IAAAA,MAAM,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,SAAS,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAExB,EAAA,IAAMI,iBAAiB,GAAGC,MAAM,EAAU,CAAA;EAC1C,IAAAC,WAAA,GAA6CC,UAAU,CAACtC,GAAG,EAAEgB,IAAI,EAAEY,UAAU,CAAC;IAAAW,YAAA,GAAAP,cAAA,CAAAK,WAAA,EAAA,CAAA,CAAA;AAAvEG,IAAAA,iBAAiB,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,eAAe,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AAEzC,EAAA,IAAAG,OAAA,GAAAV,cAAA,CAAyCnB,MAAM,EAAA,CAAA,CAAA;AAAxC8B,IAAAA,eAAe,GAAAD,OAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,aAAa,GAAAF,OAAA,CAAA,CAAA,CAAA,CAAA;EACrC,IAAMG,kBAAkB,GAAGF,eAAe,GAAG,CAACA,eAAe,GAAGjC,GAAG,IAAIL,QAAQ,GAAG,IAAI,CAAA;EACtF,IAAMyC,gBAAgB,GAAGF,aAAa,GAAG,CAACA,aAAa,GAAGlC,GAAG,IAAIL,QAAQ,GAAG,IAAI,CAAA;AAEhF,EAAA,IAAM0C,YAAY,GACd,OAAOtC,QAAQ,KAAK,QAAQ,GAAG;AAAEuC,IAAAA,CAAC,EAAEpB,UAAU,GAAG,CAAC,GAAGnB,QAAQ;AAAEwC,IAAAA,CAAC,EAAErB,UAAU,GAAGnB,QAAQ,GAAG,CAAA;AAAE,GAAC,GAAGyC,SAAS,CAAA;AAC7G,EAAA,IAAMC,QAAQ,GAAGpC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;EAElC,IAAMqC,cAAc,GAAAC,eAAA,CAAAA,eAAA,KACfzB,UAAU,GAAG,KAAK,GAAG,MAAM,EAAG,CAACiB,kBAAkB,KAAA,IAAA,IAAlBA,kBAAkB,KAAA,KAAA,CAAA,GAAlBA,kBAAkB,GAAI,CAAC,KAAKL,iBAAiB,GAAGnC,QAAQ,GAAG,CAAC,CAAC,GAC5FuB,UAAU,GAAG,QAAQ,GAAG,OAAO,EAC5B,CAACkB,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAhBA,gBAAgB,GAAIzC,QAAQ,IAAIM,GAAG,GAAGD,GAAG,CAAC,KAAK+B,eAAe,GAAGpC,QAAQ,GAAG,CAAC,CAAC,CACtF,CAAA;EAED,IAAMiD,yBAAyB,GAC3BpC,gBAAgB,KACdT,QAAQ,IAAIW,WAAW,IAAIX,QAAQ,IAAIE,GAAG,GAAGN,QAAQ,GAAGiB,SAAS,IAAMb,QAAQ,KAAK,CAAC,IAAIc,KAAK,KAAK,CAAE,CAAC,CAAA;EAE5G,IAAMgC,MAA6B,GAAG,SAAhCA,MAA6BA,CAAIC,CAAC,EAAEC,IAAI,EAAK;AAC/C,IAAA,IAAMC,QAAQ,GAAGC,mBAAmB,CAAC/B,UAAU,GAAG6B,IAAI,CAACR,CAAC,GAAGQ,IAAI,CAACT,CAAC,EAAE3C,QAAQ,EAAEK,GAAG,EAAEC,GAAG,CAAC,CAAA;AACtF,IAAA,IAAIwB,iBAAiB,CAACyB,OAAO,KAAKF,QAAQ,EAAE;MACxCnD,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAGmD,QAAQ,EAAED,IAAI,CAAC,CAAA;MAC1BtB,iBAAiB,CAACyB,OAAO,GAAGF,QAAQ,CAAA;AACxC,KAAA;GACH,CAAA;AAED,EAAA,IAAMG,OAA8B,GAAG,SAAjCA,OAA8BA,GAAS;IACzC3B,SAAS,CAAC,IAAI,CAAC,CAAA;GAClB,CAAA;EAED,IAAM4B,MAA6B,GAAG,SAAhCA,MAA6BA,CAAIN,CAAC,EAAEC,IAAI,EAAK;IAC/CvB,SAAS,CAAC,KAAK,CAAC,CAAA;AAEhB,IAAA,IAAMwB,QAAQ,GAAGC,mBAAmB,CAAC/B,UAAU,GAAG6B,IAAI,CAACR,CAAC,GAAGQ,IAAI,CAACT,CAAC,EAAE3C,QAAQ,EAAEK,GAAG,EAAEC,GAAG,CAAC,CAAA;AACtFL,IAAAA,iBAAiB,IAAIA,iBAAiB,CAACoD,QAAQ,EAAED,IAAI,CAAC,CAAA;GACzD,CAAA;AAED,EAAA,IAAMM,UAAU,GAAG,SAAbA,UAAUA,CAAIC,KAAoC,EAAK;IACzDA,KAAK,CAACC,OAAO,EAAE,CAAA;IAEf,IAAMC,qBAAqB,GAAG7D,QAAQ,IAAKoB,IAAI,CAAC0C,gBAAgB,GAAG,GAAG,GAAIxD,GAAG,CAAC,CAAA;AAE9E,IAAA,IAAM8C,IAAI,GAAGW,mBAAmB,CAACJ,KAAK,EAAE;AACpCpC,MAAAA,UAAU,EAAVA,UAAU;AACVvB,MAAAA,QAAQ,EAARA,QAAQ;AACRI,MAAAA,QAAQ,EAARA,QAAQ;AACRE,MAAAA,GAAG,EAAHA,GAAG;AACHuD,MAAAA,qBAAqB,EAArBA,qBAAAA;AACJ,KAAC,CAAC,CAAA;IAEF,IAAI,CAACT,IAAI,EAAE;AACP,MAAA,OAAA;AACJ,KAAA;AAEA,IAAA,IAAQY,IAAI,GAAyBjB,cAAc,CAA3CiB,IAAI;MAAEC,KAAK,GAAkBlB,cAAc,CAArCkB,KAAK;MAAEC,GAAG,GAAanB,cAAc,CAA9BmB,GAAG;MAAEC,MAAM,GAAKpB,cAAc,CAAzBoB,MAAM,CAAA;;AAEhC;AACZ;AACA;AACA;AACA;AACA;AACY,IAAA,IAAMC,YAAY,GAAG7C,UAAU,GACzB8C,IAAI,CAAC/D,GAAG,CAAC+D,IAAI,CAAChE,GAAG,CAAC8D,MAAM,EAAEf,IAAI,CAACR,CAAC,CAAC,EAAEsB,GAAG,CAAC,GACvCG,IAAI,CAAC/D,GAAG,CAAC+D,IAAI,CAAChE,GAAG,CAAC4D,KAAK,EAAEb,IAAI,CAACT,CAAC,CAAC,EAAEqB,IAAI,CAAC,CAAA;IAE7C,IAAMM,aAAa,GAAGhB,mBAAmB,CAACc,YAAY,EAAEpE,QAAQ,EAAEK,GAAG,EAAEC,GAAG,CAAC,CAAA;IAC3EwB,iBAAiB,CAACyB,OAAO,GAAGe,aAAa,CAAA;AAEzCrE,IAAAA,iBAAiB,IAAIA,iBAAiB,CAACqE,aAAa,EAAElB,IAAI,CAAC,CAAA;GAC9D,CAAA;EAED,IAAImB,eAAe,GAAI1E,UAAU,KAAK,OAAO,IAAI,CAACC,SAAS,IAAKF,IAAI,KAAK,MAAM,CAAA;AAE/E,EAAA,IAAIgC,MAAM,EAAE;AACR2C,IAAAA,eAAe,GAAG,KAAK,CAAA;AAC3B,GAAA;AAEA,EAAA,oBACIC,KAAA,CAAAC,aAAA,CAACC,SAAS,EAAA;AACNC,IAAAA,IAAI,EAAEpD,UAAU,GAAG,GAAG,GAAG,GAAI;AAC7Bf,IAAAA,MAAM,EAAEuC,cAAe;AACvB6B,IAAAA,IAAI,EAAErD,UAAU,GAAG,CAAC,CAAC,EAAEvB,QAAQ,CAAC,GAAG,CAACA,QAAQ,EAAE,CAAC,CAAE;AACjDwD,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,MAAM,EAAEA,MAAO;AACfP,IAAAA,MAAM,EAAEA,MAAO;AACf9C,IAAAA,QAAQ,EAAEsC,YAAa;AACvBhC,IAAAA,QAAQ,EAAEA,QAAAA;AAAS,GAAA,eAEnB8D,KAAA,CAAAC,aAAA,CAACI,aAAa,EAAA;AACVlF,IAAAA,GAAG,EAAEA,GAAI;AACTmF,IAAAA,KAAK,EAAE;AAAErE,MAAAA,MAAM,EAANA,MAAAA;KAAS;AAClBsE,IAAAA,SAAS,EAAEC,EAAE,CACTzD,UAAU,IAAI0D,OAAO,CAACC,mBAAmB,EACzC/D,cAAc,KAAK,MAAM,IAAI8D,OAAO,CAACE,kBACzC,CAAE;IACFC,OAAO,EAAExF,IAAI,KAAK,OAAQ;AAC1B2E,IAAAA,eAAe,EAAEA,eAAgB;AACjCc,IAAAA,SAAS,EAAE3B,UAAAA;GAEV,EAAA,CAACa,eAAe,iBACbC,KAAA,CAAAC,aAAA,CAACa,KAAK,EAAAC,QAAA,CAAA;AACFzC,IAAAA,QAAQ,EAAEA,QAAS;AACnBzC,IAAAA,GAAG,EAAEA,GAAI;AACTC,IAAAA,GAAG,EAAEA,GAAI;AACTY,IAAAA,KAAK,EAAEA,KAAM;AACbR,IAAAA,QAAQ,EAAEA,QAAS;AACnBX,IAAAA,WAAW,EAAEA,WAAAA;GACTqB,EAAAA,IAAI,CACX,CACJ,EACA6B,yBAAyB,iBAAIuB,KAAA,CAAAC,aAAA,CAACe,WAAW,EAAA;AAACjB,IAAAA,eAAe,EAAEA,eAAAA;GAAkBrD,EAAAA,KAAmB,CACtF,CACR,CAAC,CAAA;AAEpB,CACJ;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.335.0-canary.2191.17321424209.0",
3
+ "version": "0.335.0-canary.2196.17375511532.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -127,7 +127,6 @@
127
127
  "lodash.chunk": "4.2.0",
128
128
  "lodash.throttle": "4.1.1",
129
129
  "rc-tree": "5.11.0",
130
- "rc-virtual-list": "3.18.1",
131
130
  "re-resizable": "6.10.3",
132
131
  "react-draggable": "4.5.0",
133
132
  "react-hot-toast": "2.5.2",
@@ -138,5 +137,5 @@
138
137
  "sideEffects": [
139
138
  "*.css"
140
139
  ],
141
- "gitHead": "44779d0a73a290e5d66e88d90407f0ebfbeb54d5"
140
+ "gitHead": "fdabfc6a4715e0ea2b7b167446c78867ddc65454"
142
141
  }
@@ -207,7 +207,7 @@ var autocompleteRoot = function(Root) {
207
207
  "_offset"
208
208
  ]);
209
209
  var _useReducer = _sliced_to_array((0, _react.useReducer)(_focusedReducer.focusedReducer, null), 2), focused = _useReducer[0], dispatchFocused = _useReducer[1];
210
- var _useState = _sliced_to_array((0, _react.useState)(''), 2), innerValue = _useState[0], setInnerValue = _useState[1];
210
+ var _useState = _sliced_to_array((0, _react.useState)(defaultValue || ''), 2), innerValue = _useState[0], setInnerValue = _useState[1];
211
211
  var _useState1 = _sliced_to_array((0, _react.useState)(false), 2), isOpen = _useState1[0], setIsOpen = _useState1[1];
212
212
  var listId = (0, _utils.safeUseId)();
213
213
  var value = outerValue !== null && outerValue !== void 0 ? outerValue : innerValue;
@@ -263,13 +263,6 @@ var autocompleteRoot = function(Root) {
263
263
  }, [
264
264
  value
265
265
  ]);
266
- (0, _react.useLayoutEffect)(function() {
267
- if (defaultValue) {
268
- setInnerValue(defaultValue);
269
- }
270
- }, [
271
- defaultValue
272
- ]);
273
266
  return /*#__PURE__*/ _react.default.createElement(Root, {
274
267
  view: view,
275
268
  size: size,
@@ -8,31 +8,99 @@ Object.defineProperty(exports, "VirtualList", {
8
8
  return VirtualList;
9
9
  }
10
10
  });
11
- var _react = /*#__PURE__*/ _interop_require_default(require("react"));
12
- var _rcvirtuallist = /*#__PURE__*/ _interop_require_default(require("rc-virtual-list"));
11
+ var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
12
+ var _reactvirtual = require("@tanstack/react-virtual");
13
13
  var _utils = require("../../../../utils");
14
14
  var _SuggestionItem = require("../SuggestionItem/SuggestionItem");
15
- function _interop_require_default(obj) {
16
- return obj && obj.__esModule ? obj : {
17
- default: obj
15
+ function _getRequireWildcardCache(nodeInterop) {
16
+ if (typeof WeakMap !== "function") return null;
17
+ var cacheBabelInterop = new WeakMap();
18
+ var cacheNodeInterop = new WeakMap();
19
+ return (_getRequireWildcardCache = function(nodeInterop) {
20
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
21
+ })(nodeInterop);
22
+ }
23
+ function _interop_require_wildcard(obj, nodeInterop) {
24
+ if (!nodeInterop && obj && obj.__esModule) {
25
+ return obj;
26
+ }
27
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
28
+ return {
29
+ default: obj
30
+ };
31
+ }
32
+ var cache = _getRequireWildcardCache(nodeInterop);
33
+ if (cache && cache.has(obj)) {
34
+ return cache.get(obj);
35
+ }
36
+ var newObj = {
37
+ __proto__: null
18
38
  };
39
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
40
+ for(var key in obj){
41
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
42
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
43
+ if (desc && (desc.get || desc.set)) {
44
+ Object.defineProperty(newObj, key, desc);
45
+ } else {
46
+ newObj[key] = obj[key];
47
+ }
48
+ }
49
+ }
50
+ newObj.default = obj;
51
+ if (cache) {
52
+ cache.set(obj, newObj);
53
+ }
54
+ return newObj;
19
55
  }
20
56
  var VirtualList = function(param) {
21
57
  var items = param.items, onClick = param.onClick, listId = param.listId, listMaxHeight = param.listMaxHeight, onScroll = param.onScroll, renderItem = param.renderItem;
22
- return /*#__PURE__*/ _react.default.createElement(_rcvirtuallist.default, {
23
- data: items,
24
- height: (0, _utils.getHeightAsNumber)(listMaxHeight),
25
- fullHeight: false,
26
- itemHeight: 100,
27
- itemKey: "id",
58
+ var _virtualItems_;
59
+ var parentRef = (0, _react.useRef)(null);
60
+ var virtualizer = (0, _reactvirtual.useVirtualizer)({
61
+ count: items.length,
62
+ getScrollElement: function() {
63
+ return parentRef.current;
64
+ },
65
+ estimateSize: function() {
66
+ return 48;
67
+ }
68
+ });
69
+ var virtualItems = virtualizer.getVirtualItems();
70
+ var _virtualItems__start;
71
+ return /*#__PURE__*/ _react.default.createElement("div", {
72
+ ref: parentRef,
73
+ style: {
74
+ height: 'auto',
75
+ maxHeight: (0, _utils.getHeightAsNumber)(listMaxHeight),
76
+ overflowY: 'auto'
77
+ },
28
78
  onScroll: onScroll
29
- }, function(item, index, props) {
30
- return /*#__PURE__*/ _react.default.createElement("div", props, /*#__PURE__*/ _react.default.createElement(_SuggestionItem.SuggestionItem, {
31
- item: item,
79
+ }, /*#__PURE__*/ _react.default.createElement("div", {
80
+ style: {
81
+ height: virtualizer.getTotalSize(),
82
+ width: '100%',
83
+ position: 'relative'
84
+ }
85
+ }, /*#__PURE__*/ _react.default.createElement("div", {
86
+ style: {
87
+ position: 'absolute',
88
+ top: 0,
89
+ left: 0,
90
+ width: '100%',
91
+ transform: "translateY(".concat((_virtualItems__start = (_virtualItems_ = virtualItems[0]) === null || _virtualItems_ === void 0 ? void 0 : _virtualItems_.start) !== null && _virtualItems__start !== void 0 ? _virtualItems__start : 0, "px)")
92
+ }
93
+ }, virtualItems.map(function(virtualRow) {
94
+ return /*#__PURE__*/ _react.default.createElement("div", {
95
+ key: virtualRow.key,
96
+ "data-index": virtualRow.index,
97
+ ref: virtualizer.measureElement
98
+ }, /*#__PURE__*/ _react.default.createElement(_SuggestionItem.SuggestionItem, {
99
+ item: items[virtualRow.index],
32
100
  onClick: onClick,
33
- id: "".concat(listId, "/").concat(index),
101
+ id: "".concat(listId, "/").concat(virtualRow.index),
34
102
  focused: false,
35
103
  renderItem: renderItem
36
104
  }));
37
- });
105
+ }))));
38
106
  };
@@ -116,9 +116,9 @@ var VISIBLE_DOTS_DEFAULT = 10;
116
116
  var DOTS_CENTERED_DEFAULT = false;
117
117
  var carouselNewRoot = function(Root) {
118
118
  return /*#__PURE__*/ (0, _react.forwardRef)(function(param, ref) {
119
- var view = param.view, size = param.size, _param_scrollAlign = param.scrollAlign, scrollAlign = _param_scrollAlign === void 0 ? 'start' : _param_scrollAlign, children = param.children, _param_controlArrowsDisabled = param.controlArrowsDisabled, controlArrowsDisabled = _param_controlArrowsDisabled === void 0 ? false : _param_controlArrowsDisabled, paginationOptions = param.paginationOptions, _param_gap = param.gap, gap = _param_gap === void 0 ? '20px' : _param_gap, className = param.className, style = param.style;
120
- var _useState = _sliced_to_array((0, _react.useState)(0), 2), index = _useState[0], setIndex = _useState[1];
119
+ var view = param.view, size = param.size, _param_scrollAlign = param.scrollAlign, scrollAlign = _param_scrollAlign === void 0 ? 'start' : _param_scrollAlign, children = param.children, _param_controlArrowsDisabled = param.controlArrowsDisabled, controlArrowsDisabled = _param_controlArrowsDisabled === void 0 ? false : _param_controlArrowsDisabled, paginationOptions = param.paginationOptions, _param_gap = param.gap, gap = _param_gap === void 0 ? '20px' : _param_gap, className = param.className, style = param.style, defaultIndex = param.defaultIndex;
121
120
  var slidesAmount = _react.Children.count(children);
121
+ var _useState = _sliced_to_array((0, _react.useState)(defaultIndex && defaultIndex >= 0 ? Math.min(slidesAmount - 1, defaultIndex) : 0), 2), index = _useState[0], setIndex = _useState[1];
122
122
  var handleClickLeft = function() {
123
123
  setIndex(Math.max(0, index - 1));
124
124
  };
@@ -50,6 +50,7 @@ var useCarousel = function(param) {
50
50
  var index = param.index, scrollAlign = param.scrollAlign;
51
51
  var scrollRef = (0, _react.useRef)(null);
52
52
  var trackRef = (0, _react.useRef)(null);
53
+ var isFirstRender = (0, _react.useRef)(true);
53
54
  // Прокрутка до нужной позиции индекса, если индекс изменился.
54
55
  (0, _react.useEffect)(function() {
55
56
  if (!scrollRef.current || !trackRef.current) {
@@ -65,9 +66,13 @@ var useCarousel = function(param) {
65
66
  scrollAlign: scrollAlign
66
67
  });
67
68
  scrollRef.current.scrollTo({
68
- left: pos
69
+ left: pos,
70
+ behavior: isFirstRender.current ? 'instant' : 'smooth'
69
71
  });
70
72
  }
73
+ if (isFirstRender.current) {
74
+ isFirstRender.current = false;
75
+ }
71
76
  }, [
72
77
  index
73
78
  ]);