@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.
- package/cjs/components/Autocomplete/Autocomplete.js +1 -6
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +43 -13
- package/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js.map +1 -1
- package/cjs/components/Carousel/CarouselNew/Carousel.js +4 -3
- package/cjs/components/Carousel/CarouselNew/Carousel.js.map +1 -1
- package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
- package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.js +15 -30
- package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +43 -13
- package/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js +24 -0
- package/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js.map +1 -0
- package/cjs/components/DatePicker/RangeDate/RangeDate.js +3 -1
- package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -2
- package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
- package/cjs/components/DatePicker/SingleDate/SingleDate.js +4 -2
- package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/cjs/components/Popup/Popup.js +67 -8
- package/cjs/components/Popup/Popup.js.map +1 -1
- package/cjs/components/Select/ui/VirtualList/VirtualList.js +43 -13
- package/cjs/components/Select/ui/VirtualList/VirtualList.js.map +1 -1
- package/cjs/components/Slider/ui/Handler/Handler.js +3 -3
- package/cjs/components/Slider/ui/Handler/Handler.js.map +1 -1
- package/emotion/cjs/components/Autocomplete/Autocomplete.js +1 -8
- package/emotion/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +84 -16
- package/emotion/cjs/components/Carousel/CarouselNew/Carousel.js +2 -2
- package/emotion/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +26 -44
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +84 -16
- package/emotion/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js +25 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/utils/index.js +4 -0
- package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +3 -1
- package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
- package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +4 -2
- package/emotion/cjs/components/Popup/Popup.js +69 -7
- package/emotion/cjs/components/Select/ui/VirtualList/VirtualList.js +84 -16
- package/emotion/es/components/Autocomplete/Autocomplete.js +2 -9
- package/emotion/es/components/Autocomplete/ui/VirtualList/VirtualList.js +45 -13
- package/emotion/es/components/Carousel/CarouselNew/Carousel.js +2 -2
- package/emotion/es/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +12 -30
- package/emotion/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +45 -13
- package/emotion/es/components/Combobox/ComboboxNew/utils/getTextValue.js +16 -0
- package/emotion/es/components/Combobox/ComboboxNew/utils/index.js +1 -0
- package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +3 -1
- package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
- package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +4 -2
- package/emotion/es/components/Popup/Popup.js +63 -6
- package/emotion/es/components/Select/ui/VirtualList/VirtualList.js +45 -13
- package/es/components/Autocomplete/Autocomplete.js +2 -7
- package/es/components/Autocomplete/Autocomplete.js.map +1 -1
- package/es/components/Autocomplete/ui/VirtualList/VirtualList.js +44 -13
- package/es/components/Autocomplete/ui/VirtualList/VirtualList.js.map +1 -1
- package/es/components/Carousel/CarouselNew/Carousel.js +5 -4
- package/es/components/Carousel/CarouselNew/Carousel.js.map +1 -1
- package/es/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
- package/es/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.js +15 -30
- package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +44 -13
- package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/utils/getTextValue.js +20 -0
- package/es/components/Combobox/ComboboxNew/utils/getTextValue.js.map +1 -0
- package/es/components/DatePicker/RangeDate/RangeDate.js +3 -1
- package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -2
- package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
- package/es/components/DatePicker/SingleDate/SingleDate.js +4 -2
- package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/es/components/Popup/Popup.js +65 -7
- package/es/components/Popup/Popup.js.map +1 -1
- package/es/components/Select/ui/VirtualList/VirtualList.js +44 -13
- package/es/components/Select/ui/VirtualList/VirtualList.js.map +1 -1
- package/es/components/Slider/ui/Handler/Handler.js +2 -2
- package/es/components/Slider/ui/Handler/Handler.js.map +1 -1
- package/package.json +2 -3
- package/styled-components/cjs/components/Autocomplete/Autocomplete.js +1 -8
- package/styled-components/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +84 -16
- package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.js +2 -2
- package/styled-components/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +26 -44
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +84 -16
- package/styled-components/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js +25 -0
- package/styled-components/cjs/components/Combobox/ComboboxNew/utils/index.js +4 -0
- package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +3 -1
- package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
- package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +4 -2
- package/styled-components/cjs/components/Popup/Popup.js +69 -7
- package/styled-components/cjs/components/Select/ui/VirtualList/VirtualList.js +84 -16
- package/styled-components/es/components/Autocomplete/Autocomplete.js +2 -9
- package/styled-components/es/components/Autocomplete/ui/VirtualList/VirtualList.js +45 -13
- package/styled-components/es/components/Carousel/CarouselNew/Carousel.js +2 -2
- package/styled-components/es/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +12 -30
- package/styled-components/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +45 -13
- package/styled-components/es/components/Combobox/ComboboxNew/utils/getTextValue.js +16 -0
- package/styled-components/es/components/Combobox/ComboboxNew/utils/index.js +1 -0
- package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +3 -1
- package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
- package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +4 -2
- package/styled-components/es/components/Popup/Popup.js +63 -6
- package/styled-components/es/components/Select/ui/VirtualList/VirtualList.js +45 -13
- package/styled-components/es/examples/components/Combobox/Combobox.js +7 -0
- package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/types/components/Autocomplete/Autocomplete.types.d.ts +17 -17
- package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
- package/types/components/Autocomplete/ui/VirtualList/VirtualList.d.ts +1 -1
- package/types/components/Autocomplete/ui/VirtualList/VirtualList.d.ts.map +1 -1
- package/types/components/Carousel/CarouselNew/Carousel.d.ts.map +1 -1
- package/types/components/Carousel/CarouselNew/Carousel.types.d.ts +5 -0
- package/types/components/Carousel/CarouselNew/Carousel.types.d.ts.map +1 -1
- package/types/components/Carousel/CarouselNew/hooks/useCarousel.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +2 -2
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.d.ts +1 -1
- package/types/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/utils/getTextValue.d.ts +4 -0
- package/types/components/Combobox/ComboboxNew/utils/getTextValue.d.ts.map +1 -0
- package/types/components/Combobox/ComboboxNew/utils/index.d.ts +1 -0
- package/types/components/Combobox/ComboboxNew/utils/index.d.ts.map +1 -1
- package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
- package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts +1 -1
- package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +4 -0
- package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
- package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +12 -12
- package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
- package/types/components/Popup/Popup.d.ts.map +1 -1
- package/types/components/Select/Select.types.d.ts +4 -4
- package/types/components/Select/Select.types.d.ts.map +1 -1
- package/types/components/Select/ui/VirtualList/VirtualList.d.ts +1 -1
- package/types/components/Select/ui/VirtualList/VirtualList.d.ts.map +1 -1
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +12 -12
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
- package/types/examples/components/Autocomplete/Autocomplete.d.ts +40 -40
- package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/types/examples/components/Combobox/Combobox.d.ts +24 -24
- package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
- package/types/examples/components/Select/Select.d.ts +12 -12
- package/types/examples/components/Select/Select.d.ts.map +1 -1
- package/cjs/components/Popup/ui/Draggable/Draggable.js +0 -33
- package/cjs/components/Popup/ui/Draggable/Draggable.js.map +0 -1
- package/cjs/components/Popup/ui/Resizable/Resizable.js +0 -79
- package/cjs/components/Popup/ui/Resizable/Resizable.js.map +0 -1
- package/emotion/cjs/components/Popup/ui/Draggable/Draggable.js +0 -75
- package/emotion/cjs/components/Popup/ui/Resizable/Resizable.js +0 -114
- package/emotion/cjs/components/Popup/ui/index.js +0 -20
- package/emotion/es/components/Popup/ui/Draggable/Draggable.js +0 -19
- package/emotion/es/components/Popup/ui/Resizable/Resizable.js +0 -63
- package/emotion/es/components/Popup/ui/index.js +0 -2
- package/es/components/Popup/ui/Draggable/Draggable.js +0 -24
- package/es/components/Popup/ui/Draggable/Draggable.js.map +0 -1
- package/es/components/Popup/ui/Resizable/Resizable.js +0 -71
- package/es/components/Popup/ui/Resizable/Resizable.js.map +0 -1
- package/styled-components/cjs/components/Popup/ui/Draggable/Draggable.js +0 -75
- package/styled-components/cjs/components/Popup/ui/Resizable/Resizable.js +0 -114
- package/styled-components/cjs/components/Popup/ui/index.js +0 -20
- package/styled-components/es/components/Popup/ui/Draggable/Draggable.js +0 -19
- package/styled-components/es/components/Popup/ui/Resizable/Resizable.js +0 -63
- package/styled-components/es/components/Popup/ui/index.js +0 -2
- package/types/components/Popup/ui/Draggable/Draggable.d.ts +0 -6
- package/types/components/Popup/ui/Draggable/Draggable.d.ts.map +0 -1
- package/types/components/Popup/ui/Resizable/Resizable.d.ts +0 -7
- package/types/components/Popup/ui/Resizable/Resizable.d.ts.map +0 -1
- package/types/components/Popup/ui/index.d.ts +0 -3
- 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 {
|
11
|
-
import {
|
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
|
-
|
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
|
-
|
132
|
-
|
133
|
-
|
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
|
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
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
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
|
-
},
|
18
|
-
|
19
|
-
|
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
|
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
|
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(
|
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":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@salutejs/plasma-new-hope",
|
3
|
-
"version": "0.335.0-canary.
|
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": "
|
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__*/
|
12
|
-
var
|
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
|
16
|
-
|
17
|
-
|
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
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
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
|
-
},
|
30
|
-
|
31
|
-
|
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
|
]);
|