@salutejs/plasma-core 1.226.0-next-platform-ai.0 → 1.227.0-dev.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/__helpers/IconPlaceholder.js +6 -9
- package/__helpers/index.js +1 -1
- package/collectPackageInfo.js +4 -4
- package/components/Badge/Badge.js +30 -103
- package/components/Badge/index.js +1 -1
- package/components/Basebox/Basebox.js +33 -42
- package/components/Basebox/index.js +1 -1
- package/components/Button/Button.js +28 -67
- package/components/Button/Button.mixins.js +22 -76
- package/components/Button/Button.props.js +5 -5
- package/components/Button/createButton.js +14 -145
- package/components/Button/index.js +4 -4
- package/components/Card/Card.js +34 -162
- package/components/Card/CardBody.js +4 -4
- package/components/Card/CardContent.js +14 -23
- package/components/Card/CardMedia.js +20 -91
- package/components/Card/CardPrice.js +18 -60
- package/components/Card/CardTypography.js +43 -52
- package/components/Card/index.js +5 -5
- package/components/Carousel/Carousel.js +46 -64
- package/components/Carousel/CarouselItem.js +21 -93
- package/components/Carousel/hooks.js +62 -121
- package/components/Carousel/index.js +3 -3
- package/components/Carousel/utils.js +59 -73
- package/components/Fade/Fade.js +6 -9
- package/components/Fade/index.js +1 -1
- package/components/Field/Field.js +48 -63
- package/components/Field/Field.statuses.js +3 -3
- package/components/Field/index.js +2 -2
- package/components/Image/Image.js +34 -115
- package/components/Image/index.js +1 -1
- package/components/Input/Input.js +7 -7
- package/components/Input/Input.mixins.js +9 -12
- package/components/Input/index.js +1 -1
- package/components/ModalBase/ModalBase.js +22 -100
- package/components/ModalBase/ModalBaseContext.js +6 -9
- package/components/ModalBase/ModalOverlay.js +28 -111
- package/components/ModalBase/hooks.js +15 -43
- package/components/ModalBase/index.js +2 -2
- package/components/PaginationDots/PaginationDot.js +11 -17
- package/components/PaginationDots/PaginationDots.js +4 -7
- package/components/PaginationDots/index.js +3 -3
- package/components/PaginationDots/usePaginationDots.js +10 -11
- package/components/Popup/Popup.js +52 -205
- package/components/Popup/index.js +1 -1
- package/components/PopupBase/PopupBase.js +35 -169
- package/components/PopupBase/PopupBaseContext.js +26 -86
- package/components/PopupBase/PopupBaseRoot.js +31 -169
- package/components/PopupBase/hooks.js +23 -97
- package/components/PopupBase/index.js +3 -3
- package/components/PopupBase/utils.js +32 -78
- package/components/Price/Price.js +15 -90
- package/components/Price/index.js +1 -1
- package/components/RadioGroup/RadioGroup.js +6 -127
- package/components/RadioGroup/index.js +1 -1
- package/components/SSRProvider/SSRProvider.js +4 -5
- package/components/SSRProvider/index.js +1 -1
- package/components/Skeleton/LineSkeleton.js +23 -95
- package/components/Skeleton/RectSkeleton.js +20 -93
- package/components/Skeleton/Skeleton.js +2 -2
- package/components/Skeleton/TextSkeleton.js +11 -55
- package/components/Skeleton/index.js +3 -3
- package/components/Slider/Double.js +52 -203
- package/components/Slider/Handle.js +28 -158
- package/components/Slider/Single.js +29 -177
- package/components/Slider/Slider.js +5 -7
- package/components/Slider/SliderBase.js +39 -48
- package/components/Slider/ThumbBase.js +19 -95
- package/components/Slider/index.js +3 -3
- package/components/Slider/utils.js +2 -2
- package/components/Spinner/Spinner.js +28 -100
- package/components/Spinner/SpinnerSvg.js +9 -78
- package/components/Spinner/index.js +1 -1
- package/components/Switch/Switch.js +49 -220
- package/components/Switch/index.js +1 -1
- package/components/Tabs/TabItem.js +33 -168
- package/components/Tabs/Tabs.js +32 -170
- package/components/Tabs/TabsContext.js +12 -42
- package/components/Tabs/createTabsController.js +33 -168
- package/components/Tabs/index.js +4 -4
- package/components/TextArea/TextArea.js +20 -30
- package/components/TextArea/index.js +1 -1
- package/components/TextField/index.js +3 -3
- package/components/Toast/Toast.js +15 -16
- package/components/Toast/ToastContext.js +4 -8
- package/components/Toast/ToastController.js +44 -101
- package/components/Toast/ToastProvider.js +37 -142
- package/components/Toast/index.js +3 -3
- package/components/Toast/useToast.js +6 -6
- package/components/Typography/Body.js +18 -18
- package/components/Typography/Button.js +13 -13
- package/components/Typography/Caption.js +8 -8
- package/components/Typography/Display.js +18 -18
- package/components/Typography/Footnote.js +13 -13
- package/components/Typography/Headline.js +43 -43
- package/components/Typography/Paragraph.js +24 -24
- package/components/Typography/Underline.js +8 -8
- package/es/__helpers/IconPlaceholder.js +5 -8
- package/es/collectPackageInfo.js +3 -3
- package/es/components/Badge/Badge.js +27 -100
- package/es/components/Basebox/Basebox.js +28 -37
- package/es/components/Button/Button.js +24 -63
- package/es/components/Button/Button.mixins.js +19 -73
- package/es/components/Button/Button.props.js +3 -3
- package/es/components/Button/createButton.js +12 -143
- package/es/components/Card/Card.js +29 -157
- package/es/components/Card/CardBody.js +2 -2
- package/es/components/Card/CardContent.js +12 -21
- package/es/components/Card/CardMedia.js +17 -88
- package/es/components/Card/CardPrice.js +13 -55
- package/es/components/Card/CardTypography.js +43 -52
- package/es/components/Carousel/Carousel.js +45 -63
- package/es/components/Carousel/CarouselItem.js +18 -90
- package/es/components/Carousel/hooks.js +58 -117
- package/es/components/Carousel/utils.js +58 -72
- package/es/components/Fade/Fade.js +5 -8
- package/es/components/Field/Field.js +44 -59
- package/es/components/Field/Field.statuses.js +4 -4
- package/es/components/Image/Image.js +31 -112
- package/es/components/Input/Input.js +4 -4
- package/es/components/Input/Input.mixins.js +6 -9
- package/es/components/ModalBase/ModalBase.js +16 -94
- package/es/components/ModalBase/ModalBaseContext.js +6 -9
- package/es/components/ModalBase/ModalOverlay.js +23 -106
- package/es/components/ModalBase/hooks.js +12 -40
- package/es/components/PaginationDots/PaginationDot.js +9 -15
- package/es/components/PaginationDots/PaginationDots.js +3 -6
- package/es/components/PaginationDots/usePaginationDots.js +9 -10
- package/es/components/Popup/Popup.js +48 -201
- package/es/components/PopupBase/PopupBase.js +27 -161
- package/es/components/PopupBase/PopupBaseContext.js +25 -85
- package/es/components/PopupBase/PopupBaseRoot.js +26 -164
- package/es/components/PopupBase/hooks.js +21 -95
- package/es/components/PopupBase/utils.js +31 -77
- package/es/components/Price/Price.js +12 -87
- package/es/components/RadioGroup/RadioGroup.js +5 -126
- package/es/components/SSRProvider/SSRProvider.js +3 -4
- package/es/components/Skeleton/LineSkeleton.js +18 -90
- package/es/components/Skeleton/RectSkeleton.js +16 -89
- package/es/components/Skeleton/Skeleton.js +2 -2
- package/es/components/Skeleton/TextSkeleton.js +7 -51
- package/es/components/Slider/Double.js +49 -200
- package/es/components/Slider/Handle.js +23 -153
- package/es/components/Slider/Single.js +26 -174
- package/es/components/Slider/Slider.js +2 -4
- package/es/components/Slider/SliderBase.js +36 -45
- package/es/components/Slider/ThumbBase.js +16 -92
- package/es/components/Slider/index.js +1 -1
- package/es/components/Slider/utils.js +2 -2
- package/es/components/Spinner/Spinner.js +23 -95
- package/es/components/Spinner/SpinnerSvg.js +8 -77
- package/es/components/Switch/Switch.js +45 -216
- package/es/components/Tabs/TabItem.js +28 -163
- package/es/components/Tabs/Tabs.js +28 -166
- package/es/components/Tabs/TabsContext.js +11 -41
- package/es/components/Tabs/createTabsController.js +28 -163
- package/es/components/TextArea/TextArea.js +18 -28
- package/es/components/Toast/Toast.js +10 -11
- package/es/components/Toast/ToastContext.js +3 -7
- package/es/components/Toast/ToastController.js +38 -95
- package/es/components/Toast/ToastProvider.js +34 -139
- package/es/components/Toast/useToast.js +4 -4
- package/es/components/Typography/Body.js +15 -15
- package/es/components/Typography/Button.js +10 -10
- package/es/components/Typography/Caption.js +5 -5
- package/es/components/Typography/Display.js +15 -15
- package/es/components/Typography/Footnote.js +10 -10
- package/es/components/Typography/Headline.js +40 -40
- package/es/components/Typography/Paragraph.js +21 -21
- package/es/components/Typography/Underline.js +5 -5
- package/es/hocs/withAutoFocus.js +8 -78
- package/es/hocs/withSkeleton.js +5 -10
- package/es/hooks/useDebouncedFunction.js +4 -36
- package/es/hooks/useFocusTrap.js +18 -21
- package/es/hooks/useForkRef.js +3 -3
- package/es/hooks/useIsomorphicLayoutEffect.js +1 -1
- package/es/hooks/useResizeObserver.js +8 -8
- package/es/hooks/useUniqId.js +6 -52
- package/es/mixins/addFocus.js +17 -22
- package/es/mixins/applyDisabled.js +6 -9
- package/es/mixins/applyEllipsis.js +2 -4
- package/es/mixins/applyMaxLines.js +3 -6
- package/es/mixins/applyNoSelect.js +2 -4
- package/es/mixins/applyOutline.js +2 -4
- package/es/mixins/applyRoundness.js +4 -7
- package/es/mixins/applyScrollSnap.js +4 -7
- package/es/mixins/applySkeletonGradient.js +6 -9
- package/es/mixins/applyView.js +2 -5
- package/es/mixins/blur.js +2 -5
- package/es/mixins/shadows.js +1 -1
- package/es/tokens/colors.js +48 -48
- package/es/tokens/typography.js +18 -18
- package/es/utils/__tests__/formatters.test.js +2 -2
- package/es/utils/animatedScrollTo.js +24 -34
- package/es/utils/canUseDOM.js +1 -1
- package/es/utils/extractTextFrom.js +3 -7
- package/es/utils/focusManager.js +40 -47
- package/es/utils/formatCurrency.js +4 -4
- package/es/utils/formatters.js +6 -14
- package/es/utils/react.js +4 -4
- package/es/utils/roundness.js +2 -4
- package/es/utils/scopeTab.js +5 -5
- package/es/utils/setRef.js +1 -1
- package/es/utils/tabbable.js +16 -25
- package/es/utils/toCssSize.js +1 -3
- package/es/utils/transformStyles.js +5 -60
- package/hocs/index.js +2 -2
- package/hocs/withAutoFocus.js +9 -79
- package/hocs/withSkeleton.js +8 -13
- package/hooks/index.js +6 -6
- package/hooks/useDebouncedFunction.js +5 -37
- package/hooks/useFocusTrap.js +22 -25
- package/hooks/useForkRef.js +5 -5
- package/hooks/useIsomorphicLayoutEffect.js +3 -3
- package/hooks/useResizeObserver.js +9 -9
- package/hooks/useUniqId.js +8 -54
- package/mixins/addFocus.js +19 -24
- package/mixins/applyDisabled.js +7 -10
- package/mixins/applyEllipsis.js +3 -5
- package/mixins/applyMaxLines.js +4 -7
- package/mixins/applyNoSelect.js +3 -5
- package/mixins/applyOutline.js +3 -5
- package/mixins/applyRoundness.js +5 -8
- package/mixins/applyScrollSnap.js +5 -8
- package/mixins/applySkeletonGradient.js +8 -11
- package/mixins/applyView.js +3 -6
- package/mixins/blur.js +2 -5
- package/mixins/index.js +11 -11
- package/mixins/shadows.js +1 -1
- package/package.json +13 -18
- package/tokens/colors.js +48 -48
- package/tokens/typography.js +18 -18
- package/utils/__tests__/formatters.test.js +3 -3
- package/utils/animatedScrollTo.js +24 -34
- package/utils/canUseDOM.js +1 -1
- package/utils/extractTextFrom.js +4 -8
- package/utils/focusManager.js +41 -48
- package/utils/formatCurrency.js +4 -4
- package/utils/formatters.js +6 -14
- package/utils/index.js +10 -10
- package/utils/react.js +7 -7
- package/utils/roundness.js +2 -4
- package/utils/scopeTab.js +6 -6
- package/utils/setRef.js +1 -1
- package/utils/tabbable.js +16 -25
- package/utils/toCssSize.js +1 -3
- package/utils/transformStyles.js +5 -60
|
@@ -1,119 +1,3 @@
|
|
|
1
|
-
function _array_like_to_array(arr, len) {
|
|
2
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
3
|
-
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
4
|
-
return arr2;
|
|
5
|
-
}
|
|
6
|
-
function _array_with_holes(arr) {
|
|
7
|
-
if (Array.isArray(arr)) return arr;
|
|
8
|
-
}
|
|
9
|
-
function _define_property(obj, key, value) {
|
|
10
|
-
if (key in obj) {
|
|
11
|
-
Object.defineProperty(obj, key, {
|
|
12
|
-
value: value,
|
|
13
|
-
enumerable: true,
|
|
14
|
-
configurable: true,
|
|
15
|
-
writable: true
|
|
16
|
-
});
|
|
17
|
-
} else {
|
|
18
|
-
obj[key] = value;
|
|
19
|
-
}
|
|
20
|
-
return obj;
|
|
21
|
-
}
|
|
22
|
-
function _iterable_to_array(iter) {
|
|
23
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
24
|
-
}
|
|
25
|
-
function _iterable_to_array_limit(arr, i) {
|
|
26
|
-
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
27
|
-
if (_i == null) return;
|
|
28
|
-
var _arr = [];
|
|
29
|
-
var _n = true;
|
|
30
|
-
var _d = false;
|
|
31
|
-
var _s, _e;
|
|
32
|
-
try {
|
|
33
|
-
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
34
|
-
_arr.push(_s.value);
|
|
35
|
-
if (i && _arr.length === i) break;
|
|
36
|
-
}
|
|
37
|
-
} catch (err) {
|
|
38
|
-
_d = true;
|
|
39
|
-
_e = err;
|
|
40
|
-
} finally{
|
|
41
|
-
try {
|
|
42
|
-
if (!_n && _i["return"] != null) _i["return"]();
|
|
43
|
-
} finally{
|
|
44
|
-
if (_d) throw _e;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return _arr;
|
|
48
|
-
}
|
|
49
|
-
function _non_iterable_rest() {
|
|
50
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
51
|
-
}
|
|
52
|
-
function _object_spread(target) {
|
|
53
|
-
for(var i = 1; i < arguments.length; i++){
|
|
54
|
-
var source = arguments[i] != null ? arguments[i] : {};
|
|
55
|
-
var ownKeys = Object.keys(source);
|
|
56
|
-
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
57
|
-
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
58
|
-
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
59
|
-
}));
|
|
60
|
-
}
|
|
61
|
-
ownKeys.forEach(function(key) {
|
|
62
|
-
_define_property(target, key, source[key]);
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
return target;
|
|
66
|
-
}
|
|
67
|
-
function _object_without_properties(source, excluded) {
|
|
68
|
-
if (source == null) return {};
|
|
69
|
-
var target = {}, sourceKeys, key, i;
|
|
70
|
-
if (typeof Reflect !== "undefined" && Reflect.ownKeys) {
|
|
71
|
-
sourceKeys = Reflect.ownKeys(source);
|
|
72
|
-
for(i = 0; i < sourceKeys.length; i++){
|
|
73
|
-
key = sourceKeys[i];
|
|
74
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
75
|
-
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
76
|
-
target[key] = source[key];
|
|
77
|
-
}
|
|
78
|
-
return target;
|
|
79
|
-
}
|
|
80
|
-
target = _object_without_properties_loose(source, excluded);
|
|
81
|
-
if (Object.getOwnPropertySymbols) {
|
|
82
|
-
sourceKeys = Object.getOwnPropertySymbols(source);
|
|
83
|
-
for(i = 0; i < sourceKeys.length; i++){
|
|
84
|
-
key = sourceKeys[i];
|
|
85
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
86
|
-
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
87
|
-
target[key] = source[key];
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return target;
|
|
91
|
-
}
|
|
92
|
-
function _object_without_properties_loose(source, excluded) {
|
|
93
|
-
if (source == null) return {};
|
|
94
|
-
var target = {}, sourceKeys = Object.getOwnPropertyNames(source), key, i;
|
|
95
|
-
for(i = 0; i < sourceKeys.length; i++){
|
|
96
|
-
key = sourceKeys[i];
|
|
97
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
98
|
-
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
99
|
-
target[key] = source[key];
|
|
100
|
-
}
|
|
101
|
-
return target;
|
|
102
|
-
}
|
|
103
|
-
function _sliced_to_array(arr, i) {
|
|
104
|
-
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
105
|
-
}
|
|
106
|
-
function _to_array(arr) {
|
|
107
|
-
return _array_with_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_rest();
|
|
108
|
-
}
|
|
109
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
110
|
-
if (!o) return;
|
|
111
|
-
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
112
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
113
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
114
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
|
115
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
116
|
-
}
|
|
117
1
|
import React, { useEffect, useRef, useState, forwardRef } from 'react';
|
|
118
2
|
import ReactDOM from 'react-dom';
|
|
119
3
|
import styled from 'styled-components';
|
|
@@ -122,15 +6,15 @@ import { POPOVER_PORTAL_ID } from './PopupBaseContext';
|
|
|
122
6
|
import { PopupBaseRoot } from './PopupBaseRoot';
|
|
123
7
|
import { usePopup } from './hooks';
|
|
124
8
|
import { endAnimationClass, endTransitionClass } from './utils';
|
|
125
|
-
|
|
9
|
+
const StyledPortal = styled.div.withConfig({
|
|
126
10
|
displayName: "PopupBase__StyledPortal",
|
|
127
11
|
componentId: "sc-548d9538-0"
|
|
128
12
|
})([
|
|
129
|
-
|
|
13
|
+
``
|
|
130
14
|
]);
|
|
131
|
-
export
|
|
132
|
-
|
|
133
|
-
|
|
15
|
+
export const getClassName = (animationInfo, className)=>{
|
|
16
|
+
const endAnimation = animationInfo?.endAnimation ? endAnimationClass : '';
|
|
17
|
+
const endTransition = animationInfo?.endTransition ? endTransitionClass : '';
|
|
134
18
|
return [
|
|
135
19
|
className,
|
|
136
20
|
endAnimation,
|
|
@@ -139,43 +23,25 @@ export var getClassName = function getClassName(animationInfo, className) {
|
|
|
139
23
|
};
|
|
140
24
|
/**
|
|
141
25
|
* Базовый копмонент PopupBase.
|
|
142
|
-
*/ export
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
"id",
|
|
151
|
-
"isOpen",
|
|
152
|
-
"opened",
|
|
153
|
-
"placement",
|
|
154
|
-
"offset",
|
|
155
|
-
"frame",
|
|
156
|
-
"children",
|
|
157
|
-
"overlay",
|
|
158
|
-
"role",
|
|
159
|
-
"zIndex",
|
|
160
|
-
"popupInfo",
|
|
161
|
-
"withAnimation",
|
|
162
|
-
"className"
|
|
163
|
-
]), _rest1 = _sliced_to_array(_rest, 1), ref = _rest1[0];
|
|
164
|
-
var innerIsOpen = Boolean(isOpen || opened);
|
|
165
|
-
var uniqId = useUniqId();
|
|
166
|
-
var innerId = id || uniqId;
|
|
167
|
-
var _usePopup = usePopup({
|
|
26
|
+
*/ export const PopupBase = /*#__PURE__*/ forwardRef(({ id, isOpen, opened, placement = 'center', offset = [
|
|
27
|
+
0,
|
|
28
|
+
0
|
|
29
|
+
], frame = 'document', children, overlay, role, zIndex, popupInfo, withAnimation = false, className, ...rest }, ref)=>{
|
|
30
|
+
const innerIsOpen = Boolean(isOpen || opened);
|
|
31
|
+
const uniqId = useUniqId();
|
|
32
|
+
const innerId = id || uniqId;
|
|
33
|
+
const { isVisible, animationInfo, setVisible } = usePopup({
|
|
168
34
|
isOpen: innerIsOpen,
|
|
169
35
|
id: innerId,
|
|
170
|
-
popupInfo
|
|
171
|
-
withAnimation
|
|
172
|
-
})
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
useEffect(
|
|
178
|
-
|
|
36
|
+
popupInfo,
|
|
37
|
+
withAnimation
|
|
38
|
+
});
|
|
39
|
+
const portalRef = useRef(null);
|
|
40
|
+
const contentRef = useRef(null);
|
|
41
|
+
const innerRef = useForkRef(contentRef, ref);
|
|
42
|
+
const [, forceRender] = useState(false);
|
|
43
|
+
useEffect(()=>{
|
|
44
|
+
let portal = document.getElementById(POPOVER_PORTAL_ID);
|
|
179
45
|
if (typeof frame !== 'string' && frame && frame.current) {
|
|
180
46
|
portal = frame.current;
|
|
181
47
|
}
|
|
@@ -183,8 +49,7 @@ export var getClassName = function getClassName(animationInfo, className) {
|
|
|
183
49
|
portal = document.createElement('div');
|
|
184
50
|
portal.setAttribute('id', POPOVER_PORTAL_ID);
|
|
185
51
|
if (typeof frame === 'string' && frame !== 'document') {
|
|
186
|
-
|
|
187
|
-
(_document_getElementById = document.getElementById(frame)) === null || _document_getElementById === void 0 ? void 0 : _document_getElementById.appendChild(portal);
|
|
52
|
+
document.getElementById(frame)?.appendChild(portal);
|
|
188
53
|
} else {
|
|
189
54
|
document.body.appendChild(portal);
|
|
190
55
|
}
|
|
@@ -198,9 +63,10 @@ export var getClassName = function getClassName(animationInfo, className) {
|
|
|
198
63
|
if (!isVisible && !innerIsOpen) {
|
|
199
64
|
return null;
|
|
200
65
|
}
|
|
201
|
-
return /*#__PURE__*/ React.createElement(React.Fragment, null, portalRef.current && /*#__PURE__*/ ReactDOM.createPortal(/*#__PURE__*/ React.createElement(StyledPortal,
|
|
202
|
-
className: getClassName(animationInfo, className)
|
|
203
|
-
|
|
66
|
+
return /*#__PURE__*/ React.createElement(React.Fragment, null, portalRef.current && /*#__PURE__*/ ReactDOM.createPortal(/*#__PURE__*/ React.createElement(StyledPortal, {
|
|
67
|
+
className: getClassName(animationInfo, className),
|
|
68
|
+
...rest
|
|
69
|
+
}, overlay, /*#__PURE__*/ React.createElement(PopupBaseRoot, {
|
|
204
70
|
id: innerId,
|
|
205
71
|
ref: innerRef,
|
|
206
72
|
placement: placement,
|
|
@@ -1,102 +1,42 @@
|
|
|
1
|
-
function _array_like_to_array(arr, len) {
|
|
2
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
3
|
-
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
4
|
-
return arr2;
|
|
5
|
-
}
|
|
6
|
-
function _array_with_holes(arr) {
|
|
7
|
-
if (Array.isArray(arr)) return arr;
|
|
8
|
-
}
|
|
9
|
-
function _array_without_holes(arr) {
|
|
10
|
-
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
11
|
-
}
|
|
12
|
-
function _iterable_to_array(iter) {
|
|
13
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
14
|
-
}
|
|
15
|
-
function _iterable_to_array_limit(arr, i) {
|
|
16
|
-
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
17
|
-
if (_i == null) return;
|
|
18
|
-
var _arr = [];
|
|
19
|
-
var _n = true;
|
|
20
|
-
var _d = false;
|
|
21
|
-
var _s, _e;
|
|
22
|
-
try {
|
|
23
|
-
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
24
|
-
_arr.push(_s.value);
|
|
25
|
-
if (i && _arr.length === i) break;
|
|
26
|
-
}
|
|
27
|
-
} catch (err) {
|
|
28
|
-
_d = true;
|
|
29
|
-
_e = err;
|
|
30
|
-
} finally{
|
|
31
|
-
try {
|
|
32
|
-
if (!_n && _i["return"] != null) _i["return"]();
|
|
33
|
-
} finally{
|
|
34
|
-
if (_d) throw _e;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return _arr;
|
|
38
|
-
}
|
|
39
|
-
function _non_iterable_rest() {
|
|
40
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
41
|
-
}
|
|
42
|
-
function _non_iterable_spread() {
|
|
43
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
44
|
-
}
|
|
45
|
-
function _sliced_to_array(arr, i) {
|
|
46
|
-
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
47
|
-
}
|
|
48
|
-
function _to_consumable_array(arr) {
|
|
49
|
-
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
50
|
-
}
|
|
51
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
52
|
-
if (!o) return;
|
|
53
|
-
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
54
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
55
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
56
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
|
57
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
58
|
-
}
|
|
59
1
|
import React, { useEffect, useState, createContext, useContext } from 'react';
|
|
60
|
-
export
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
items
|
|
64
|
-
register
|
|
2
|
+
export const POPOVER_PORTAL_ID = 'plasma-popup-root';
|
|
3
|
+
const items = [];
|
|
4
|
+
const PopupBaseContext = /*#__PURE__*/ createContext({
|
|
5
|
+
items,
|
|
6
|
+
register (_info) {
|
|
65
7
|
throw new Error('Function not implemented. Add PopupBaseProvider');
|
|
66
8
|
},
|
|
67
|
-
unregister
|
|
9
|
+
unregister (_id) {
|
|
68
10
|
throw new Error('Function not implemented. Add PopupBaseProvider');
|
|
69
11
|
}
|
|
70
12
|
});
|
|
71
|
-
export
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
var register = function register(info) {
|
|
78
|
-
setItems(_to_consumable_array(items).concat([
|
|
13
|
+
export const usePopupBaseContext = ()=>useContext(PopupBaseContext);
|
|
14
|
+
export const PopupBaseProvider = ({ children })=>{
|
|
15
|
+
const [items, setItems] = useState([]);
|
|
16
|
+
const register = (info)=>{
|
|
17
|
+
setItems([
|
|
18
|
+
...items,
|
|
79
19
|
info
|
|
80
|
-
])
|
|
20
|
+
]);
|
|
81
21
|
};
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
return id === item.id;
|
|
85
|
-
});
|
|
22
|
+
const unregister = (id)=>{
|
|
23
|
+
const index = items.findIndex((item)=>id === item.id);
|
|
86
24
|
if (index === -1) {
|
|
87
25
|
return;
|
|
88
26
|
}
|
|
89
27
|
items.splice(index, 1);
|
|
90
|
-
setItems(
|
|
28
|
+
setItems([
|
|
29
|
+
...items
|
|
30
|
+
]);
|
|
91
31
|
};
|
|
92
|
-
|
|
93
|
-
items
|
|
94
|
-
register
|
|
95
|
-
unregister
|
|
32
|
+
const context = {
|
|
33
|
+
items,
|
|
34
|
+
register,
|
|
35
|
+
unregister
|
|
96
36
|
};
|
|
97
|
-
useEffect(
|
|
98
|
-
return
|
|
99
|
-
|
|
37
|
+
useEffect(()=>{
|
|
38
|
+
return ()=>{
|
|
39
|
+
const portal = document.createElement('div');
|
|
100
40
|
if (portal && document.body.contains(portal)) {
|
|
101
41
|
document.body.removeChild(portal);
|
|
102
42
|
}
|
|
@@ -1,192 +1,53 @@
|
|
|
1
|
-
function _array_like_to_array(arr, len) {
|
|
2
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
3
|
-
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
4
|
-
return arr2;
|
|
5
|
-
}
|
|
6
|
-
function _array_with_holes(arr) {
|
|
7
|
-
if (Array.isArray(arr)) return arr;
|
|
8
|
-
}
|
|
9
|
-
function _define_property(obj, key, value) {
|
|
10
|
-
if (key in obj) {
|
|
11
|
-
Object.defineProperty(obj, key, {
|
|
12
|
-
value: value,
|
|
13
|
-
enumerable: true,
|
|
14
|
-
configurable: true,
|
|
15
|
-
writable: true
|
|
16
|
-
});
|
|
17
|
-
} else {
|
|
18
|
-
obj[key] = value;
|
|
19
|
-
}
|
|
20
|
-
return obj;
|
|
21
|
-
}
|
|
22
|
-
function _iterable_to_array(iter) {
|
|
23
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
24
|
-
}
|
|
25
|
-
function _iterable_to_array_limit(arr, i) {
|
|
26
|
-
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
27
|
-
if (_i == null) return;
|
|
28
|
-
var _arr = [];
|
|
29
|
-
var _n = true;
|
|
30
|
-
var _d = false;
|
|
31
|
-
var _s, _e;
|
|
32
|
-
try {
|
|
33
|
-
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
34
|
-
_arr.push(_s.value);
|
|
35
|
-
if (i && _arr.length === i) break;
|
|
36
|
-
}
|
|
37
|
-
} catch (err) {
|
|
38
|
-
_d = true;
|
|
39
|
-
_e = err;
|
|
40
|
-
} finally{
|
|
41
|
-
try {
|
|
42
|
-
if (!_n && _i["return"] != null) _i["return"]();
|
|
43
|
-
} finally{
|
|
44
|
-
if (_d) throw _e;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return _arr;
|
|
48
|
-
}
|
|
49
|
-
function _non_iterable_rest() {
|
|
50
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
51
|
-
}
|
|
52
|
-
function _object_spread(target) {
|
|
53
|
-
for(var i = 1; i < arguments.length; i++){
|
|
54
|
-
var source = arguments[i] != null ? arguments[i] : {};
|
|
55
|
-
var ownKeys = Object.keys(source);
|
|
56
|
-
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
57
|
-
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
58
|
-
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
59
|
-
}));
|
|
60
|
-
}
|
|
61
|
-
ownKeys.forEach(function(key) {
|
|
62
|
-
_define_property(target, key, source[key]);
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
return target;
|
|
66
|
-
}
|
|
67
|
-
function _object_without_properties(source, excluded) {
|
|
68
|
-
if (source == null) return {};
|
|
69
|
-
var target = {}, sourceKeys, key, i;
|
|
70
|
-
if (typeof Reflect !== "undefined" && Reflect.ownKeys) {
|
|
71
|
-
sourceKeys = Reflect.ownKeys(source);
|
|
72
|
-
for(i = 0; i < sourceKeys.length; i++){
|
|
73
|
-
key = sourceKeys[i];
|
|
74
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
75
|
-
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
76
|
-
target[key] = source[key];
|
|
77
|
-
}
|
|
78
|
-
return target;
|
|
79
|
-
}
|
|
80
|
-
target = _object_without_properties_loose(source, excluded);
|
|
81
|
-
if (Object.getOwnPropertySymbols) {
|
|
82
|
-
sourceKeys = Object.getOwnPropertySymbols(source);
|
|
83
|
-
for(i = 0; i < sourceKeys.length; i++){
|
|
84
|
-
key = sourceKeys[i];
|
|
85
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
86
|
-
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
87
|
-
target[key] = source[key];
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return target;
|
|
91
|
-
}
|
|
92
|
-
function _object_without_properties_loose(source, excluded) {
|
|
93
|
-
if (source == null) return {};
|
|
94
|
-
var target = {}, sourceKeys = Object.getOwnPropertyNames(source), key, i;
|
|
95
|
-
for(i = 0; i < sourceKeys.length; i++){
|
|
96
|
-
key = sourceKeys[i];
|
|
97
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
98
|
-
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
99
|
-
target[key] = source[key];
|
|
100
|
-
}
|
|
101
|
-
return target;
|
|
102
|
-
}
|
|
103
|
-
function _sliced_to_array(arr, i) {
|
|
104
|
-
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
105
|
-
}
|
|
106
|
-
function _to_array(arr) {
|
|
107
|
-
return _array_with_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_rest();
|
|
108
|
-
}
|
|
109
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
110
|
-
if (!o) return;
|
|
111
|
-
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
112
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
113
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
114
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
|
115
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
116
|
-
}
|
|
117
1
|
import React, { useCallback, useRef } from 'react';
|
|
118
2
|
import styled, { css } from 'styled-components';
|
|
119
3
|
import { useForkRef } from '../../hooks';
|
|
120
4
|
import { usePopupBaseContext } from './PopupBaseContext';
|
|
121
5
|
import { handlePosition, popupBaseRootClass } from './utils';
|
|
122
|
-
export
|
|
123
|
-
|
|
6
|
+
export const DEFAULT_Z_INDEX = 9000;
|
|
7
|
+
const PopupBaseView = styled.div.withConfig({
|
|
124
8
|
displayName: "PopupBaseRoot__PopupBaseView",
|
|
125
9
|
componentId: "sc-84dbfbb5-0"
|
|
126
10
|
})([
|
|
127
|
-
|
|
11
|
+
`position:relative;max-width:100%;pointer-events:all;`
|
|
128
12
|
]);
|
|
129
|
-
|
|
13
|
+
const PopupRootContainer = styled.div.withConfig({
|
|
130
14
|
displayName: "PopupBaseRoot__PopupRootContainer",
|
|
131
15
|
componentId: "sc-84dbfbb5-1"
|
|
132
16
|
})([
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
],
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
var zIndex = param.zIndex;
|
|
145
|
-
return css([
|
|
146
|
-
"z-index:",
|
|
147
|
-
";"
|
|
148
|
-
], zIndex || DEFAULT_Z_INDEX);
|
|
149
|
-
}, function(param) {
|
|
150
|
-
var placement = param.placement, offset = param.offset;
|
|
151
|
-
return handlePosition(placement, offset);
|
|
152
|
-
});
|
|
17
|
+
``,
|
|
18
|
+
` `,
|
|
19
|
+
` `,
|
|
20
|
+
`;`
|
|
21
|
+
], ({ frame })=>css([
|
|
22
|
+
`position:`,
|
|
23
|
+
`;`
|
|
24
|
+
], frame === 'document' ? 'fixed' : 'absolute'), ({ zIndex })=>css([
|
|
25
|
+
`z-index:`,
|
|
26
|
+
`;`
|
|
27
|
+
], zIndex || DEFAULT_Z_INDEX), ({ placement, offset })=>handlePosition(placement, offset));
|
|
153
28
|
/**
|
|
154
29
|
* Корень PopupBase.
|
|
155
30
|
* Управляет показом/скрытием и анимацией всплывающего окна.
|
|
156
|
-
*/ export
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
"id",
|
|
162
|
-
"placement",
|
|
163
|
-
"offset",
|
|
164
|
-
"frame",
|
|
165
|
-
"setVisible",
|
|
166
|
-
"children",
|
|
167
|
-
"role",
|
|
168
|
-
"zIndex",
|
|
169
|
-
"animationInfo"
|
|
170
|
-
]), _rest1 = _sliced_to_array(_rest, 1), ref = _rest1[0];
|
|
171
|
-
var contentRef = useRef(null);
|
|
172
|
-
var innerRef = useForkRef(contentRef, ref);
|
|
173
|
-
var popupController = usePopupBaseContext();
|
|
174
|
-
var handleAnimationEnd = useCallback(function(e) {
|
|
31
|
+
*/ export const PopupBaseRoot = /*#__PURE__*/ React.forwardRef(({ id, placement, offset, frame, setVisible, children, role, zIndex, animationInfo, ...rest }, ref)=>{
|
|
32
|
+
const contentRef = useRef(null);
|
|
33
|
+
const innerRef = useForkRef(contentRef, ref);
|
|
34
|
+
const popupController = usePopupBaseContext();
|
|
35
|
+
const handleAnimationEnd = useCallback((e)=>{
|
|
175
36
|
if (!contentRef || e.target !== contentRef.current) {
|
|
176
37
|
return;
|
|
177
38
|
}
|
|
178
39
|
e.stopPropagation();
|
|
179
|
-
if (animationInfo
|
|
40
|
+
if (animationInfo?.endAnimation) {
|
|
180
41
|
popupController.unregister(id);
|
|
181
42
|
setVisible(false);
|
|
182
43
|
animationInfo.setEndAnimation(false);
|
|
183
44
|
}
|
|
184
45
|
}, [
|
|
185
46
|
popupController.unregister,
|
|
186
|
-
animationInfo
|
|
47
|
+
animationInfo?.endAnimation,
|
|
187
48
|
setVisible
|
|
188
49
|
]);
|
|
189
|
-
return /*#__PURE__*/ React.createElement(PopupRootContainer,
|
|
50
|
+
return /*#__PURE__*/ React.createElement(PopupRootContainer, {
|
|
190
51
|
className: popupBaseRootClass,
|
|
191
52
|
ref: innerRef,
|
|
192
53
|
placement: placement,
|
|
@@ -194,8 +55,9 @@ var PopupRootContainer = styled.div.withConfig({
|
|
|
194
55
|
offset: offset,
|
|
195
56
|
zIndex: zIndex,
|
|
196
57
|
onAnimationEnd: handleAnimationEnd,
|
|
197
|
-
onTransitionEnd: handleAnimationEnd
|
|
198
|
-
|
|
58
|
+
onTransitionEnd: handleAnimationEnd,
|
|
59
|
+
...rest
|
|
60
|
+
}, /*#__PURE__*/ React.createElement(PopupBaseView, {
|
|
199
61
|
role: role
|
|
200
62
|
}, children));
|
|
201
63
|
});
|