@amboss/design-system 1.20.4 → 1.21.1
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/build/cjs/build-tokens/visualConfig.js +11 -0
- package/build/cjs/src/components/Popover/Popover.js +8 -3
- package/build/cjs/src/components/Sheet/Sheet.js +315 -0
- package/build/cjs/src/components/Toggletip/BasePopover.js +43 -8
- package/build/cjs/src/components/Tooltip/BaseTooltip.js +1 -1
- package/build/cjs/src/components/Tooltip/TooltipContent.js +41 -22
- package/build/cjs/src/components/UserHighlightTooltip/UserHighlightTooltip.js +1 -1
- package/build/cjs/src/index.js +2 -0
- package/build/cjs/src/shared/FocusTrapWrapper.js +41 -0
- package/build/cjs/src/shared/useDragDown.js +84 -0
- package/build/esm/build-tokens/_colors.json +9 -0
- package/build/esm/build-tokens/_sizes.json +1 -1
- package/build/esm/build-tokens/visualConfig.d.ts +8 -0
- package/build/esm/build-tokens/visualConfig.js +11 -0
- package/build/esm/build-tokens/visualConfig.js.map +1 -1
- package/build/esm/src/components/Popover/Popover.d.ts +2 -3
- package/build/esm/src/components/Popover/Popover.js +8 -3
- package/build/esm/src/components/Popover/Popover.js.map +1 -1
- package/build/esm/src/components/Sheet/Sheet.d.ts +15 -0
- package/build/esm/src/components/Sheet/Sheet.js +308 -0
- package/build/esm/src/components/Sheet/Sheet.js.map +1 -0
- package/build/esm/src/components/Toggletip/BasePopover.d.ts +5 -5
- package/build/esm/src/components/Toggletip/BasePopover.js +43 -7
- package/build/esm/src/components/Toggletip/BasePopover.js.map +1 -1
- package/build/esm/src/components/Toggletip/Toggletip.d.ts +1 -1
- package/build/esm/src/components/Toggletip/Toggletip.js.map +1 -1
- package/build/esm/src/components/Tooltip/BaseTooltip.js +1 -1
- package/build/esm/src/components/Tooltip/BaseTooltip.js.map +1 -1
- package/build/esm/src/components/Tooltip/TooltipContent.js +42 -23
- package/build/esm/src/components/Tooltip/TooltipContent.js.map +1 -1
- package/build/esm/src/components/UserHighlightTooltip/UserHighlightTooltip.js +1 -1
- package/build/esm/src/components/UserHighlightTooltip/UserHighlightTooltip.js.map +1 -1
- package/build/esm/src/index.d.ts +1 -0
- package/build/esm/src/index.js +1 -0
- package/build/esm/src/index.js.map +1 -1
- package/build/esm/src/shared/FocusTrapWrapper.d.ts +10 -0
- package/build/esm/src/shared/FocusTrapWrapper.js +35 -0
- package/build/esm/src/shared/FocusTrapWrapper.js.map +1 -0
- package/build/esm/src/shared/useDragDown.d.ts +13 -0
- package/build/esm/src/shared/useDragDown.js +83 -0
- package/build/esm/src/shared/useDragDown.js.map +1 -0
- package/build/scss/_theming.scss +2 -0
- package/build/scss/_variables.scss +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
import _extends from '@babel/runtime/helpers/extends';
|
|
2
|
+
import _styled from '@emotion/styled/base';
|
|
3
|
+
import React, { useState, useRef, useLayoutEffect, useEffect, useCallback } from 'react';
|
|
4
|
+
import { createPortal } from 'react-dom';
|
|
5
|
+
import { keyframes, Global } from '@emotion/react';
|
|
6
|
+
import { FocusTrapWrapper } from '../../shared/FocusTrapWrapper.js';
|
|
7
|
+
import { Container } from '../Container/Container.js';
|
|
8
|
+
import { useDragDown } from '../../shared/useDragDown.js';
|
|
9
|
+
|
|
10
|
+
// Duration of slidein animation of sheet container
|
|
11
|
+
const ANIMATION_DURATION_ENTRY = 300;
|
|
12
|
+
// Duration of slideout animation of sheet container
|
|
13
|
+
const ANIMATION_DURATION_EXIT = 200; // duration
|
|
14
|
+
// Duration of fade in/out animation of content container
|
|
15
|
+
const ANIMATION_DURATION_CONTENT = 50;
|
|
16
|
+
// Max height of sheet content relative to viewport height
|
|
17
|
+
const MAX_HEIGHT_PERCENT = 80;
|
|
18
|
+
// Min drag distance to close sheet
|
|
19
|
+
const MIN_DRAG_DISTANCE = 150;
|
|
20
|
+
const fadeOut = keyframes({
|
|
21
|
+
from: {
|
|
22
|
+
opacity: 1
|
|
23
|
+
},
|
|
24
|
+
to: {
|
|
25
|
+
opacity: 0
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
const fadeIn = keyframes({
|
|
29
|
+
from: {
|
|
30
|
+
opacity: 0
|
|
31
|
+
},
|
|
32
|
+
to: {
|
|
33
|
+
opacity: 1
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
const StyledContainer = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
|
|
37
|
+
target: "e1olca0n3"
|
|
38
|
+
} : {
|
|
39
|
+
target: "e1olca0n3",
|
|
40
|
+
label: "StyledContainer"
|
|
41
|
+
})(_ref => {
|
|
42
|
+
let {
|
|
43
|
+
theme,
|
|
44
|
+
containerHeight,
|
|
45
|
+
isClosing,
|
|
46
|
+
dragOffset = 0,
|
|
47
|
+
prevContainerHeight
|
|
48
|
+
} = _ref;
|
|
49
|
+
let animation;
|
|
50
|
+
if (containerHeight) {
|
|
51
|
+
const slideOut = keyframes({
|
|
52
|
+
from: {
|
|
53
|
+
transform: `translateY(${dragOffset}px)`
|
|
54
|
+
},
|
|
55
|
+
to: {
|
|
56
|
+
transform: `translateY(${containerHeight}px)`
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
const slideIn = keyframes({
|
|
60
|
+
from: {
|
|
61
|
+
transform: `translateY(${containerHeight - prevContainerHeight}px)`
|
|
62
|
+
},
|
|
63
|
+
to: {
|
|
64
|
+
transform: `translateY(0px)`
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
if (isClosing) {
|
|
68
|
+
animation = `${ANIMATION_DURATION_EXIT}ms ease-out forwards ${slideOut}`;
|
|
69
|
+
} else {
|
|
70
|
+
// set entry animation only for the first time after sheet is visible
|
|
71
|
+
animation = `${ANIMATION_DURATION_ENTRY}ms ease-out forwards ${slideIn}`;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
position: "fixed",
|
|
76
|
+
left: 0,
|
|
77
|
+
bottom: 0,
|
|
78
|
+
width: "100vw",
|
|
79
|
+
transformOrigin: "bottom",
|
|
80
|
+
animation,
|
|
81
|
+
boxSizing: "border-box",
|
|
82
|
+
zIndex: theme.variables.zIndex.modal,
|
|
83
|
+
// Remove bottom border radius of DS Container
|
|
84
|
+
"> div": {
|
|
85
|
+
borderBottomLeftRadius: 0,
|
|
86
|
+
borderBottomRightRadius: 0
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNoZWV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1RXdCIiwiZmlsZSI6IlNoZWV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICB1c2VSZWYsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlU3RhdGUsXG4gIHVzZUVmZmVjdCxcbiAgdXNlQ2FsbGJhY2ssXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMsIEdsb2JhbCB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHsgRm9jdXNUcmFwV3JhcHBlciB9IGZyb20gXCIuLi8uLi9zaGFyZWQvRm9jdXNUcmFwV3JhcHBlclwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB7IHVzZURyYWdEb3duIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC91c2VEcmFnRG93blwiO1xuXG5leHBvcnQgdHlwZSBTaGVldFByb3BzID0ge1xuICAvKiBJZCB0byBhc3NvY2lhdGUgd2l0aCBhIHRyaWdnZXIgKi9cbiAgaWQ/OiBzdHJpbmc7XG4gIC8qKiBjb250ZW50cyAqL1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICAvKiBDdXN0b20gcG9ydGFsIGNvbnRhaW5lciB0byByZW5kZXIgc2hlZXQgaW50byAqL1xuICBwb3J0YWxDb250YWluZXI/OiBIVE1MRWxlbWVudDtcbiAgLyogdXNlZCB0byBzaG93IC8gaGlkZSBzaGVldCAqL1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICAvKiBDYWxsZWQgd2hlbiBzaGVldCBuZWVkcyB0byBjbG9zZSwgb24gZXNjYXBlLCBvdXRzaWRlIGNsaWNrLCBzd2lwZSBkb3duLCBldGMuICovXG4gIG9uQ2xvc2U6ICgpID0+IHZvaWQ7XG4gIC8qIENhbGxlZCB3aGVuIHNoZWV0IGlzIHJlbW92ZWQgZnJvbSBET00gYWZ0ZXIgZXhpdCBhbmltYXRpb24uICovXG4gIG9uVW5tb3VudD86ICgpID0+IHZvaWQ7XG4gIC8qIENvbnRyb2xzIHdoZXRoZXIgU2hlZXQgY2xvc2VzIG9uIG91dHNpZGUgY2xpY2sgKi9cbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrPzogYm9vbGVhbjtcbiAgLyogT3B0aW9uIGZvciBmb2N1cy10cmFwLCBjb250cm9scyB3aGV0aGVyIHRoZSBmaXJzdCBmb2N1YWJsZSBpdGVtIHJlY2lldmVzIGZvY3VzICovXG4gIGRpc2FibGVJbml0aWFsRm9jdXM/OiBib29sZWFuO1xuICAvKiBPcHRpb24gZm9yIGZvY3VzLXRyYXAsIGNvbnRyb2xzIHdoZXRoZXIgdGhlIHRyaWdnZXIgc2hvdWxkIHJlY2VpdmUgYmFjayB0aGUgZm9jdXMgb24gcG9wb3ZlciBjbG9zZSAqL1xuICBkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXI/OiBib29sZWFuO1xufTtcblxuLy8gRHVyYXRpb24gb2Ygc2xpZGVpbiBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRU5UUlkgPSAzMDA7XG4vLyBEdXJhdGlvbiBvZiBzbGlkZW91dCBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRVhJVCA9IDIwMDsgLy8gZHVyYXRpb25cbi8vIER1cmF0aW9uIG9mIGZhZGUgaW4vb3V0IGFuaW1hdGlvbiBvZiBjb250ZW50IGNvbnRhaW5lclxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlQgPSA1MDtcbi8vIE1heCBoZWlnaHQgb2Ygc2hlZXQgY29udGVudCByZWxhdGl2ZSB0byB2aWV3cG9ydCBoZWlnaHRcbmNvbnN0IE1BWF9IRUlHSFRfUEVSQ0VOVCA9IDgwO1xuLy8gTWluIGRyYWcgZGlzdGFuY2UgdG8gY2xvc2Ugc2hlZXRcbmNvbnN0IE1JTl9EUkFHX0RJU1RBTkNFID0gMTUwO1xuXG5jb25zdCBmYWRlT3V0ID0ga2V5ZnJhbWVzKHtcbiAgZnJvbToge1xuICAgIG9wYWNpdHk6IDEsXG4gIH0sXG4gIHRvOiB7XG4gICAgb3BhY2l0eTogMCxcbiAgfSxcbn0pO1xuY29uc3QgZmFkZUluID0ga2V5ZnJhbWVzKHtcbiAgZnJvbToge1xuICAgIG9wYWNpdHk6IDAsXG4gIH0sXG4gIHRvOiB7XG4gICAgb3BhY2l0eTogMSxcbiAgfSxcbn0pO1xuXG50eXBlIFN0eWxlZENvbnRhaW5lclByb3BzID0gUGFydGlhbDxQaWNrPFNoZWV0UHJvcHMsIFwiaXNWaXNpYmxlXCI+PiAmIHtcbiAgY29udGFpbmVySGVpZ2h0PzogbnVtYmVyO1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xuICBkcmFnT2Zmc2V0PzogbnVtYmVyO1xuICBwcmV2Q29udGFpbmVySGVpZ2h0PzogbnVtYmVyO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz4oXG4gICh7XG4gICAgdGhlbWUsXG4gICAgY29udGFpbmVySGVpZ2h0LFxuICAgIGlzQ2xvc2luZyxcbiAgICBkcmFnT2Zmc2V0ID0gMCxcbiAgICBwcmV2Q29udGFpbmVySGVpZ2h0LFxuICB9KSA9PiB7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBpZiAoY29udGFpbmVySGVpZ2h0KSB7XG4gICAgICBjb25zdCBzbGlkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7ZHJhZ09mZnNldH1weClgLFxuICAgICAgICB9LFxuICAgICAgICB0bzoge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtjb250YWluZXJIZWlnaHR9cHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgc2xpZGVJbiA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7Y29udGFpbmVySGVpZ2h0IC0gcHJldkNvbnRhaW5lckhlaWdodH1weClgLFxuICAgICAgICB9LFxuICAgICAgICB0bzoge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoMHB4KWAsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgaWYgKGlzQ2xvc2luZykge1xuICAgICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fRVhJVH1tcyBlYXNlLW91dCBmb3J3YXJkcyAke3NsaWRlT3V0fWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBzZXQgZW50cnkgYW5pbWF0aW9uIG9ubHkgZm9yIHRoZSBmaXJzdCB0aW1lIGFmdGVyIHNoZWV0IGlzIHZpc2libGVcbiAgICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7c2xpZGVJbn1gO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgICAgbGVmdDogMCxcbiAgICAgIGJvdHRvbTogMCxcbiAgICAgIHdpZHRoOiBcIjEwMHZ3XCIsXG4gICAgICB0cmFuc2Zvcm1PcmlnaW46IFwiYm90dG9tXCIsXG4gICAgICBhbmltYXRpb24sXG4gICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgekluZGV4OiB0aGVtZS52YXJpYWJsZXMuekluZGV4Lm1vZGFsLFxuXG4gICAgICAvLyBSZW1vdmUgYm90dG9tIGJvcmRlciByYWRpdXMgb2YgRFMgQ29udGFpbmVyXG4gICAgICBcIj4gZGl2XCI6IHtcbiAgICAgICAgYm9yZGVyQm90dG9tTGVmdFJhZGl1czogMCxcbiAgICAgICAgYm9yZGVyQm90dG9tUmlnaHRSYWRpdXM6IDAsXG4gICAgICB9LFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkQ29udGVudENvbnRhaW5lclByb3BzID0ge1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGVudENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkQ29udGVudENvbnRhaW5lclByb3BzPihcbiAgKHsgdGhlbWUsIGlzQ2xvc2luZyB9KSA9PiB7XG4gICAgY29uc3QgYW5pbWF0aW9uID0gaXNDbG9zaW5nXG4gICAgICA/IGAke0FOSU1BVElPTl9EVVJBVElPTl9DT05URU5UfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7ZmFkZU91dH1gXG4gICAgICA6IGAke0FOSU1BVElPTl9EVVJBVElPTl9DT05URU5UfW1zIGVhc2Utb3V0ICR7XG4gICAgICAgICAgQU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZIC0gQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlRcbiAgICAgICAgfW1zIGZvcndhcmRzICR7ZmFkZUlufWA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3ZlcmZsb3c6IFwiYXV0b1wiLFxuICAgICAgbWF4SGVpZ2h0OiBgJHtNQVhfSEVJR0hUX1BFUkNFTlR9dmhgLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBvcGFjaXR5OiAwLFxuICAgICAgYW5pbWF0aW9uLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkSGFuZGxlQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPzogYm9vbGVhbjtcbn07XG5jb25zdCBTdHlsZWRIYW5kbGVDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZEhhbmRsZUNvbnRhaW5lclByb3BzPihcbiAgKHsgdGhlbWUsIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkIH0pID0+ICh7XG4gICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gMGAsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuXG4gICAgLi4uKGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkICYmIHtcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvbi5hLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSGFuZGxlID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICB3aWR0aDogXCI4MHB4XCIsXG4gIGhlaWdodDogXCI0cHhcIixcbiAgYm9yZGVyUmFkaXVzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5ib3JkZXJSYWRpdXMueHMsXG4gIGJhY2tncm91bmRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIuc2Vjb25kYXJ5LFxufSkpO1xuXG5leHBvcnQgZnVuY3Rpb24gU2hlZXQoe1xuICBpZCxcbiAgY2hpbGRyZW4sXG4gIGlzVmlzaWJsZSxcbiAgb25DbG9zZSxcbiAgb25Vbm1vdW50LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGRpc21pc3NPbk91dHNpZGVDbGljayA9IHRydWUsXG4gIGRpc2FibGVJbml0aWFsRm9jdXMsXG4gIGRpc2FibGVSZXR1cm5Gb2N1c1RvVHJpZ2dlcixcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG59OiBTaGVldFByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgW2lzQ2xvc2luZywgc2V0Q2xvc2luZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtjb250YWluZXJIZWlnaHQsIHNldENvbnRhaW5lckhlaWdodF0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW2lzQ29udGVudENvbnRhaW5lclNjcm9sbGVkLCBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWRdID1cbiAgICB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgY29udGVudENvbnRhaW5lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgcHJldlZpc2libGVTdGF0ZSA9IHVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IHByZXZDb250YWluZXJIZWlnaHQgPSB1c2VSZWYoMCk7XG4gIGNvbnN0IGRyYWdPZmZzZXQgPSB1c2VSZWYoMCk7XG4gIGNvbnN0IGlzRHJhZ1N0YXJ0ZWQgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyUmVjdC5oZWlnaHQpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2hpbGRyZW5dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFN0YXJ0IGNsb3Npbmcgc2hlZXQgaWYgcHJldmlvdXNseSBvcGVuZWRcbiAgICBpZiAoIWlzVmlzaWJsZSAmJiBwcmV2VmlzaWJsZVN0YXRlLmN1cnJlbnQpIHtcbiAgICAgIHNldENsb3NpbmcodHJ1ZSk7XG4gICAgfVxuICAgIHByZXZWaXNpYmxlU3RhdGUuY3VycmVudCA9IGlzVmlzaWJsZTtcbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBpc0Nsb3NpbmcpIHtcbiAgICAgIC8vIFNvbWV0aW1lcywgcGFyZW50IGNvbXBvbmVudCBjYW4gcmUtb3BlbiBzaGVldCB3aGlsZSBpdCBpcyBzdGlsbCBjbG9zaW5nLiBUbyBwcmV2ZW50IHRoaXMsIHdlIGNhbGwgb25DbG9zZSBhZ2FpblxuICAgICAgb25DbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgaXNDbG9zaW5nLCBvbkNsb3NlXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBwcmV2Q29udGFpbmVySGVpZ2h0LmN1cnJlbnQgPSBjb250YWluZXJIZWlnaHQ7XG4gIH0sIFtjb250YWluZXJIZWlnaHRdKTtcblxuICBjb25zdCBoYW5kbGVEcmFnU3RhcnQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGlmIChjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wID09PSAwKSB7XG4gICAgICAgIC8vIFJlbW92ZSBleGlzdGluZyBhbmltYXRpb24sIG90aGVyd2lzZSB0cmFuc2Zvcm0gZG9lc24ndCB3b3JrXG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLmFuaW1hdGlvbiA9IFwibm9uZVwiO1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2l0aW9uID0gXCJ0cmFuc2Zvcm0gMC4xcyBlYXNlXCI7XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zZm9ybSA9IFwidHJhbnNsYXRlWSgwcHgpXCI7XG4gICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IDA7XG4gICAgICAgIGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH0sIFtjb250YWluZXJSZWYsIGNvbnRlbnRDb250YWluZXJSZWZdKTtcblxuICBjb25zdCBoYW5kbGVEcmFnID0gdXNlQ2FsbGJhY2soXG4gICAgKF8sIG9mZnNldEZyb21TdGFydCkgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcblxuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCAmJlxuICAgICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudC5zY3JvbGxUb3AgPT09IDAgJiZcbiAgICAgICAgICBvZmZzZXRGcm9tU3RhcnQgPCBjb250YWluZXJDdXJyZW50SGVpZ2h0XG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGVZKCR7b2Zmc2V0RnJvbVN0YXJ0fXB4KWA7XG4gICAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gb2Zmc2V0RnJvbVN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LFxuICAgIFtjb250YWluZXJSZWYsIGNvbnRlbnRDb250YWluZXJSZWZdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ0VuZCA9IHVzZUNhbGxiYWNrKFxuICAgIChfLCBvZmZzZXRGcm9tU3RhcnQpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lckN1cnJlbnRIZWlnaHQgPVxuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG4gICAgICAvLyBDbG9zZSBzaGVldCBvbmx5IHdoZW4gZHJhZyBkaXN0YW5jZSBpcyBhIHF1YXJ0ZXIgb2YgY29udGFpbmVyIGhlaWdodFxuICAgICAgY29uc3QgbWluRHJhZ0Rpc3RhbmNlID1cbiAgICAgICAgY29udGFpbmVyQ3VycmVudEhlaWdodCA8IE1JTl9EUkFHX0RJU1RBTkNFICogMlxuICAgICAgICAgID8gY29udGFpbmVyQ3VycmVudEhlaWdodCAvIDRcbiAgICAgICAgICA6IE1JTl9EUkFHX0RJU1RBTkNFO1xuXG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBpZiAoaXNEcmFnU3RhcnRlZC5jdXJyZW50KSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0ID49IG1pbkRyYWdEaXN0YW5jZSAmJlxuICAgICAgICAgICAgY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9PT0gMFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgb25DbG9zZSgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIFtjb250YWluZXJSZWYsIG9uQ2xvc2VdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ0NhbmNlbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgaWYgKGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCkge1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgfVxuICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gZmFsc2U7XG4gICAgfSk7XG4gIH0sIFtjb250YWluZXJSZWZdKTtcblxuICB1c2VEcmFnRG93bih7XG4gICAgcmVmOiBjb250YWluZXJSZWYsXG4gICAgaXNWaXNpYmxlOiBpc1Zpc2libGUgJiYgIWlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkLFxuICAgIG9uRHJhZ1N0YXJ0OiBoYW5kbGVEcmFnU3RhcnQsXG4gICAgb25EcmFnOiBoYW5kbGVEcmFnLFxuICAgIG9uRHJhZ0VuZDogaGFuZGxlRHJhZ0VuZCxcbiAgICBvbkRyYWdDYW5jZWw6IGhhbmRsZURyYWdDYW5jZWwsXG4gIH0pO1xuXG4gIGNvbnN0IGhhbmRsZUV4aXRBbmltYXRpb25FbmQgPSAoKSA9PiB7XG4gICAgaWYgKGlzQ2xvc2luZykge1xuICAgICAgc2V0Q2xvc2luZyhmYWxzZSk7XG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoMCk7XG4gICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuXG4gICAgICBpZiAob25Vbm1vdW50KSB7XG4gICAgICAgIG9uVW5tb3VudCgpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVDb250ZW50Q29udGFpbmVyU2Nyb2xsID0gKCkgPT4ge1xuICAgIHNldENvbnRlbnRDb250YWluZXJTY3JvbGxlZChcbiAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudCAmJiBjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wICE9PSAwXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBzaG93U2hlZXQgPSAoaXNWaXNpYmxlIHx8IGlzQ2xvc2luZykgJiYgIShpc1Zpc2libGUgJiYgaXNDbG9zaW5nKTtcblxuICBpZiAoIXNob3dTaGVldCkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgZ2xvYmFsU3R5bGVzID0ge1xuICAgIGh0bWw6IHtcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgICAgb3ZlcnNjcm9sbEJlaGF2aW9yOiBcIm5vbmVcIixcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IGlkUHJvcCA9IGlkXG4gICAgPyB7XG4gICAgICAgIGlkLFxuICAgICAgfVxuICAgIDoge307XG5cbiAgY29uc3Qgc2hlZXRFbG0gPSAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWwgc3R5bGVzPXtnbG9iYWxTdHlsZXN9IC8+XG4gICAgICA8Rm9jdXNUcmFwV3JhcHBlclxuICAgICAgICBmb2N1c1RyYXBPcHRpb25zPXt7XG4gICAgICAgICAgY2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM6IGRpc21pc3NPbk91dHNpZGVDbGljayxcbiAgICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogdHJ1ZSxcbiAgICAgICAgICBwcmV2ZW50U2Nyb2xsOiB0cnVlLFxuICAgICAgICAgIGluaXRpYWxGb2N1czogKCkgPT4gIWRpc2FibGVJbml0aWFsRm9jdXMsXG4gICAgICAgICAgcmV0dXJuRm9jdXNPbkRlYWN0aXZhdGU6ICFkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXIsXG4gICAgICAgICAgZmFsbGJhY2tGb2N1czogYFtkYXRhLWRzLWlkPVwiU2hlZXRcIl1gLFxuICAgICAgICAgIG9uUG9zdERlYWN0aXZhdGU6ICgpID0+IHtcbiAgICAgICAgICAgIG9uQ2xvc2UoKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICAgICAgey4uLmlkUHJvcH0gLy8gZXNsaW50LWRpc2FibGUtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgICBkYXRhLWRzLWlkPVwiU2hlZXRcIlxuICAgICAgICAgIGlzVmlzaWJsZT17aXNWaXNpYmxlfVxuICAgICAgICAgIGNvbnRhaW5lckhlaWdodD17Y29udGFpbmVySGVpZ2h0fVxuICAgICAgICAgIGlzQ2xvc2luZz17aXNDbG9zaW5nfVxuICAgICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICAgIGRyYWdPZmZzZXQ9e2RyYWdPZmZzZXQuY3VycmVudH1cbiAgICAgICAgICBwcmV2Q29udGFpbmVySGVpZ2h0PXtwcmV2Q29udGFpbmVySGVpZ2h0LmN1cnJlbnR9XG4gICAgICAgICAgb25BbmltYXRpb25FbmQ9e2hhbmRsZUV4aXRBbmltYXRpb25FbmR9XG4gICAgICAgID5cbiAgICAgICAgICA8Q29udGFpbmVyIGVsZXZhdGlvbj17NH0+XG4gICAgICAgICAgICA8U3R5bGVkSGFuZGxlQ29udGFpbmVyXG4gICAgICAgICAgICAgIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPXtpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFN0eWxlZEhhbmRsZSAvPlxuICAgICAgICAgICAgPC9TdHlsZWRIYW5kbGVDb250YWluZXI+XG4gICAgICAgICAgICA8U3R5bGVkQ29udGVudENvbnRhaW5lclxuICAgICAgICAgICAgICBpc0Nsb3Npbmc9e2lzQ2xvc2luZ31cbiAgICAgICAgICAgICAgcmVmPXtjb250ZW50Q29udGFpbmVyUmVmfVxuICAgICAgICAgICAgICBvblNjcm9sbD17aGFuZGxlQ29udGVudENvbnRhaW5lclNjcm9sbH1cbiAgICAgICAgICAgICAgb25BbmltYXRpb25FbmQ9eyhldnQpID0+IGV2dC5zdG9wUHJvcGFnYXRpb24oKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9TdHlsZWRDb250ZW50Q29udGFpbmVyPlxuICAgICAgICAgIDwvQ29udGFpbmVyPlxuICAgICAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgICAgIDwvRm9jdXNUcmFwV3JhcHBlcj5cbiAgICA8Lz5cbiAgKTtcblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKHNoZWV0RWxtLCBwb3J0YWxDb250YWluZXIgfHwgZG9jdW1lbnQuYm9keSk7XG59XG4iXX0= */");
|
|
90
|
+
const StyledContentContainer = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
|
|
91
|
+
target: "e1olca0n2"
|
|
92
|
+
} : {
|
|
93
|
+
target: "e1olca0n2",
|
|
94
|
+
label: "StyledContentContainer"
|
|
95
|
+
})(_ref2 => {
|
|
96
|
+
let {
|
|
97
|
+
theme,
|
|
98
|
+
isClosing
|
|
99
|
+
} = _ref2;
|
|
100
|
+
const animation = isClosing ? `${ANIMATION_DURATION_CONTENT}ms ease-out forwards ${fadeOut}` : `${ANIMATION_DURATION_CONTENT}ms ease-out ${ANIMATION_DURATION_ENTRY - ANIMATION_DURATION_CONTENT}ms forwards ${fadeIn}`;
|
|
101
|
+
return {
|
|
102
|
+
overflow: "auto",
|
|
103
|
+
maxHeight: `${MAX_HEIGHT_PERCENT}vh`,
|
|
104
|
+
boxSizing: "border-box",
|
|
105
|
+
overscrollBehavior: "none",
|
|
106
|
+
backgroundColor: theme.values.color.background.elevated.default,
|
|
107
|
+
opacity: 0,
|
|
108
|
+
animation
|
|
109
|
+
};
|
|
110
|
+
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNoZWV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpSStCIiwiZmlsZSI6IlNoZWV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICB1c2VSZWYsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlU3RhdGUsXG4gIHVzZUVmZmVjdCxcbiAgdXNlQ2FsbGJhY2ssXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMsIEdsb2JhbCB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHsgRm9jdXNUcmFwV3JhcHBlciB9IGZyb20gXCIuLi8uLi9zaGFyZWQvRm9jdXNUcmFwV3JhcHBlclwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB7IHVzZURyYWdEb3duIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC91c2VEcmFnRG93blwiO1xuXG5leHBvcnQgdHlwZSBTaGVldFByb3BzID0ge1xuICAvKiBJZCB0byBhc3NvY2lhdGUgd2l0aCBhIHRyaWdnZXIgKi9cbiAgaWQ/OiBzdHJpbmc7XG4gIC8qKiBjb250ZW50cyAqL1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICAvKiBDdXN0b20gcG9ydGFsIGNvbnRhaW5lciB0byByZW5kZXIgc2hlZXQgaW50byAqL1xuICBwb3J0YWxDb250YWluZXI/OiBIVE1MRWxlbWVudDtcbiAgLyogdXNlZCB0byBzaG93IC8gaGlkZSBzaGVldCAqL1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICAvKiBDYWxsZWQgd2hlbiBzaGVldCBuZWVkcyB0byBjbG9zZSwgb24gZXNjYXBlLCBvdXRzaWRlIGNsaWNrLCBzd2lwZSBkb3duLCBldGMuICovXG4gIG9uQ2xvc2U6ICgpID0+IHZvaWQ7XG4gIC8qIENhbGxlZCB3aGVuIHNoZWV0IGlzIHJlbW92ZWQgZnJvbSBET00gYWZ0ZXIgZXhpdCBhbmltYXRpb24uICovXG4gIG9uVW5tb3VudD86ICgpID0+IHZvaWQ7XG4gIC8qIENvbnRyb2xzIHdoZXRoZXIgU2hlZXQgY2xvc2VzIG9uIG91dHNpZGUgY2xpY2sgKi9cbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrPzogYm9vbGVhbjtcbiAgLyogT3B0aW9uIGZvciBmb2N1cy10cmFwLCBjb250cm9scyB3aGV0aGVyIHRoZSBmaXJzdCBmb2N1YWJsZSBpdGVtIHJlY2lldmVzIGZvY3VzICovXG4gIGRpc2FibGVJbml0aWFsRm9jdXM/OiBib29sZWFuO1xuICAvKiBPcHRpb24gZm9yIGZvY3VzLXRyYXAsIGNvbnRyb2xzIHdoZXRoZXIgdGhlIHRyaWdnZXIgc2hvdWxkIHJlY2VpdmUgYmFjayB0aGUgZm9jdXMgb24gcG9wb3ZlciBjbG9zZSAqL1xuICBkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXI/OiBib29sZWFuO1xufTtcblxuLy8gRHVyYXRpb24gb2Ygc2xpZGVpbiBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRU5UUlkgPSAzMDA7XG4vLyBEdXJhdGlvbiBvZiBzbGlkZW91dCBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRVhJVCA9IDIwMDsgLy8gZHVyYXRpb25cbi8vIER1cmF0aW9uIG9mIGZhZGUgaW4vb3V0IGFuaW1hdGlvbiBvZiBjb250ZW50IGNvbnRhaW5lclxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlQgPSA1MDtcbi8vIE1heCBoZWlnaHQgb2Ygc2hlZXQgY29udGVudCByZWxhdGl2ZSB0byB2aWV3cG9ydCBoZWlnaHRcbmNvbnN0IE1BWF9IRUlHSFRfUEVSQ0VOVCA9IDgwO1xuLy8gTWluIGRyYWcgZGlzdGFuY2UgdG8gY2xvc2Ugc2hlZXRcbmNvbnN0IE1JTl9EUkFHX0RJU1RBTkNFID0gMTUwO1xuXG5jb25zdCBmYWRlT3V0ID0ga2V5ZnJhbWVzKHtcbiAgZnJvbToge1xuICAgIG9wYWNpdHk6IDEsXG4gIH0sXG4gIHRvOiB7XG4gICAgb3BhY2l0eTogMCxcbiAgfSxcbn0pO1xuY29uc3QgZmFkZUluID0ga2V5ZnJhbWVzKHtcbiAgZnJvbToge1xuICAgIG9wYWNpdHk6IDAsXG4gIH0sXG4gIHRvOiB7XG4gICAgb3BhY2l0eTogMSxcbiAgfSxcbn0pO1xuXG50eXBlIFN0eWxlZENvbnRhaW5lclByb3BzID0gUGFydGlhbDxQaWNrPFNoZWV0UHJvcHMsIFwiaXNWaXNpYmxlXCI+PiAmIHtcbiAgY29udGFpbmVySGVpZ2h0PzogbnVtYmVyO1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xuICBkcmFnT2Zmc2V0PzogbnVtYmVyO1xuICBwcmV2Q29udGFpbmVySGVpZ2h0PzogbnVtYmVyO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz4oXG4gICh7XG4gICAgdGhlbWUsXG4gICAgY29udGFpbmVySGVpZ2h0LFxuICAgIGlzQ2xvc2luZyxcbiAgICBkcmFnT2Zmc2V0ID0gMCxcbiAgICBwcmV2Q29udGFpbmVySGVpZ2h0LFxuICB9KSA9PiB7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBpZiAoY29udGFpbmVySGVpZ2h0KSB7XG4gICAgICBjb25zdCBzbGlkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7ZHJhZ09mZnNldH1weClgLFxuICAgICAgICB9LFxuICAgICAgICB0bzoge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtjb250YWluZXJIZWlnaHR9cHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgc2xpZGVJbiA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7Y29udGFpbmVySGVpZ2h0IC0gcHJldkNvbnRhaW5lckhlaWdodH1weClgLFxuICAgICAgICB9LFxuICAgICAgICB0bzoge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoMHB4KWAsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgaWYgKGlzQ2xvc2luZykge1xuICAgICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fRVhJVH1tcyBlYXNlLW91dCBmb3J3YXJkcyAke3NsaWRlT3V0fWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBzZXQgZW50cnkgYW5pbWF0aW9uIG9ubHkgZm9yIHRoZSBmaXJzdCB0aW1lIGFmdGVyIHNoZWV0IGlzIHZpc2libGVcbiAgICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7c2xpZGVJbn1gO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgICAgbGVmdDogMCxcbiAgICAgIGJvdHRvbTogMCxcbiAgICAgIHdpZHRoOiBcIjEwMHZ3XCIsXG4gICAgICB0cmFuc2Zvcm1PcmlnaW46IFwiYm90dG9tXCIsXG4gICAgICBhbmltYXRpb24sXG4gICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgekluZGV4OiB0aGVtZS52YXJpYWJsZXMuekluZGV4Lm1vZGFsLFxuXG4gICAgICAvLyBSZW1vdmUgYm90dG9tIGJvcmRlciByYWRpdXMgb2YgRFMgQ29udGFpbmVyXG4gICAgICBcIj4gZGl2XCI6IHtcbiAgICAgICAgYm9yZGVyQm90dG9tTGVmdFJhZGl1czogMCxcbiAgICAgICAgYm9yZGVyQm90dG9tUmlnaHRSYWRpdXM6IDAsXG4gICAgICB9LFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkQ29udGVudENvbnRhaW5lclByb3BzID0ge1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGVudENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkQ29udGVudENvbnRhaW5lclByb3BzPihcbiAgKHsgdGhlbWUsIGlzQ2xvc2luZyB9KSA9PiB7XG4gICAgY29uc3QgYW5pbWF0aW9uID0gaXNDbG9zaW5nXG4gICAgICA/IGAke0FOSU1BVElPTl9EVVJBVElPTl9DT05URU5UfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7ZmFkZU91dH1gXG4gICAgICA6IGAke0FOSU1BVElPTl9EVVJBVElPTl9DT05URU5UfW1zIGVhc2Utb3V0ICR7XG4gICAgICAgICAgQU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZIC0gQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlRcbiAgICAgICAgfW1zIGZvcndhcmRzICR7ZmFkZUlufWA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3ZlcmZsb3c6IFwiYXV0b1wiLFxuICAgICAgbWF4SGVpZ2h0OiBgJHtNQVhfSEVJR0hUX1BFUkNFTlR9dmhgLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBvcGFjaXR5OiAwLFxuICAgICAgYW5pbWF0aW9uLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkSGFuZGxlQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPzogYm9vbGVhbjtcbn07XG5jb25zdCBTdHlsZWRIYW5kbGVDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZEhhbmRsZUNvbnRhaW5lclByb3BzPihcbiAgKHsgdGhlbWUsIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkIH0pID0+ICh7XG4gICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gMGAsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuXG4gICAgLi4uKGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkICYmIHtcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvbi5hLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSGFuZGxlID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICB3aWR0aDogXCI4MHB4XCIsXG4gIGhlaWdodDogXCI0cHhcIixcbiAgYm9yZGVyUmFkaXVzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5ib3JkZXJSYWRpdXMueHMsXG4gIGJhY2tncm91bmRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIuc2Vjb25kYXJ5LFxufSkpO1xuXG5leHBvcnQgZnVuY3Rpb24gU2hlZXQoe1xuICBpZCxcbiAgY2hpbGRyZW4sXG4gIGlzVmlzaWJsZSxcbiAgb25DbG9zZSxcbiAgb25Vbm1vdW50LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGRpc21pc3NPbk91dHNpZGVDbGljayA9IHRydWUsXG4gIGRpc2FibGVJbml0aWFsRm9jdXMsXG4gIGRpc2FibGVSZXR1cm5Gb2N1c1RvVHJpZ2dlcixcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG59OiBTaGVldFByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgW2lzQ2xvc2luZywgc2V0Q2xvc2luZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtjb250YWluZXJIZWlnaHQsIHNldENvbnRhaW5lckhlaWdodF0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW2lzQ29udGVudENvbnRhaW5lclNjcm9sbGVkLCBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWRdID1cbiAgICB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgY29udGVudENvbnRhaW5lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgcHJldlZpc2libGVTdGF0ZSA9IHVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IHByZXZDb250YWluZXJIZWlnaHQgPSB1c2VSZWYoMCk7XG4gIGNvbnN0IGRyYWdPZmZzZXQgPSB1c2VSZWYoMCk7XG4gIGNvbnN0IGlzRHJhZ1N0YXJ0ZWQgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyUmVjdC5oZWlnaHQpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2hpbGRyZW5dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFN0YXJ0IGNsb3Npbmcgc2hlZXQgaWYgcHJldmlvdXNseSBvcGVuZWRcbiAgICBpZiAoIWlzVmlzaWJsZSAmJiBwcmV2VmlzaWJsZVN0YXRlLmN1cnJlbnQpIHtcbiAgICAgIHNldENsb3NpbmcodHJ1ZSk7XG4gICAgfVxuICAgIHByZXZWaXNpYmxlU3RhdGUuY3VycmVudCA9IGlzVmlzaWJsZTtcbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBpc0Nsb3NpbmcpIHtcbiAgICAgIC8vIFNvbWV0aW1lcywgcGFyZW50IGNvbXBvbmVudCBjYW4gcmUtb3BlbiBzaGVldCB3aGlsZSBpdCBpcyBzdGlsbCBjbG9zaW5nLiBUbyBwcmV2ZW50IHRoaXMsIHdlIGNhbGwgb25DbG9zZSBhZ2FpblxuICAgICAgb25DbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgaXNDbG9zaW5nLCBvbkNsb3NlXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBwcmV2Q29udGFpbmVySGVpZ2h0LmN1cnJlbnQgPSBjb250YWluZXJIZWlnaHQ7XG4gIH0sIFtjb250YWluZXJIZWlnaHRdKTtcblxuICBjb25zdCBoYW5kbGVEcmFnU3RhcnQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGlmIChjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wID09PSAwKSB7XG4gICAgICAgIC8vIFJlbW92ZSBleGlzdGluZyBhbmltYXRpb24sIG90aGVyd2lzZSB0cmFuc2Zvcm0gZG9lc24ndCB3b3JrXG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLmFuaW1hdGlvbiA9IFwibm9uZVwiO1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2l0aW9uID0gXCJ0cmFuc2Zvcm0gMC4xcyBlYXNlXCI7XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zZm9ybSA9IFwidHJhbnNsYXRlWSgwcHgpXCI7XG4gICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IDA7XG4gICAgICAgIGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH0sIFtjb250YWluZXJSZWYsIGNvbnRlbnRDb250YWluZXJSZWZdKTtcblxuICBjb25zdCBoYW5kbGVEcmFnID0gdXNlQ2FsbGJhY2soXG4gICAgKF8sIG9mZnNldEZyb21TdGFydCkgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcblxuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCAmJlxuICAgICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudC5zY3JvbGxUb3AgPT09IDAgJiZcbiAgICAgICAgICBvZmZzZXRGcm9tU3RhcnQgPCBjb250YWluZXJDdXJyZW50SGVpZ2h0XG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGVZKCR7b2Zmc2V0RnJvbVN0YXJ0fXB4KWA7XG4gICAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gb2Zmc2V0RnJvbVN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LFxuICAgIFtjb250YWluZXJSZWYsIGNvbnRlbnRDb250YWluZXJSZWZdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ0VuZCA9IHVzZUNhbGxiYWNrKFxuICAgIChfLCBvZmZzZXRGcm9tU3RhcnQpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lckN1cnJlbnRIZWlnaHQgPVxuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG4gICAgICAvLyBDbG9zZSBzaGVldCBvbmx5IHdoZW4gZHJhZyBkaXN0YW5jZSBpcyBhIHF1YXJ0ZXIgb2YgY29udGFpbmVyIGhlaWdodFxuICAgICAgY29uc3QgbWluRHJhZ0Rpc3RhbmNlID1cbiAgICAgICAgY29udGFpbmVyQ3VycmVudEhlaWdodCA8IE1JTl9EUkFHX0RJU1RBTkNFICogMlxuICAgICAgICAgID8gY29udGFpbmVyQ3VycmVudEhlaWdodCAvIDRcbiAgICAgICAgICA6IE1JTl9EUkFHX0RJU1RBTkNFO1xuXG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBpZiAoaXNEcmFnU3RhcnRlZC5jdXJyZW50KSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0ID49IG1pbkRyYWdEaXN0YW5jZSAmJlxuICAgICAgICAgICAgY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9PT0gMFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgb25DbG9zZSgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIFtjb250YWluZXJSZWYsIG9uQ2xvc2VdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ0NhbmNlbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgaWYgKGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCkge1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgfVxuICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gZmFsc2U7XG4gICAgfSk7XG4gIH0sIFtjb250YWluZXJSZWZdKTtcblxuICB1c2VEcmFnRG93bih7XG4gICAgcmVmOiBjb250YWluZXJSZWYsXG4gICAgaXNWaXNpYmxlOiBpc1Zpc2libGUgJiYgIWlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkLFxuICAgIG9uRHJhZ1N0YXJ0OiBoYW5kbGVEcmFnU3RhcnQsXG4gICAgb25EcmFnOiBoYW5kbGVEcmFnLFxuICAgIG9uRHJhZ0VuZDogaGFuZGxlRHJhZ0VuZCxcbiAgICBvbkRyYWdDYW5jZWw6IGhhbmRsZURyYWdDYW5jZWwsXG4gIH0pO1xuXG4gIGNvbnN0IGhhbmRsZUV4aXRBbmltYXRpb25FbmQgPSAoKSA9PiB7XG4gICAgaWYgKGlzQ2xvc2luZykge1xuICAgICAgc2V0Q2xvc2luZyhmYWxzZSk7XG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoMCk7XG4gICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuXG4gICAgICBpZiAob25Vbm1vdW50KSB7XG4gICAgICAgIG9uVW5tb3VudCgpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVDb250ZW50Q29udGFpbmVyU2Nyb2xsID0gKCkgPT4ge1xuICAgIHNldENvbnRlbnRDb250YWluZXJTY3JvbGxlZChcbiAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudCAmJiBjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wICE9PSAwXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBzaG93U2hlZXQgPSAoaXNWaXNpYmxlIHx8IGlzQ2xvc2luZykgJiYgIShpc1Zpc2libGUgJiYgaXNDbG9zaW5nKTtcblxuICBpZiAoIXNob3dTaGVldCkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgZ2xvYmFsU3R5bGVzID0ge1xuICAgIGh0bWw6IHtcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgICAgb3ZlcnNjcm9sbEJlaGF2aW9yOiBcIm5vbmVcIixcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IGlkUHJvcCA9IGlkXG4gICAgPyB7XG4gICAgICAgIGlkLFxuICAgICAgfVxuICAgIDoge307XG5cbiAgY29uc3Qgc2hlZXRFbG0gPSAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWwgc3R5bGVzPXtnbG9iYWxTdHlsZXN9IC8+XG4gICAgICA8Rm9jdXNUcmFwV3JhcHBlclxuICAgICAgICBmb2N1c1RyYXBPcHRpb25zPXt7XG4gICAgICAgICAgY2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM6IGRpc21pc3NPbk91dHNpZGVDbGljayxcbiAgICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogdHJ1ZSxcbiAgICAgICAgICBwcmV2ZW50U2Nyb2xsOiB0cnVlLFxuICAgICAgICAgIGluaXRpYWxGb2N1czogKCkgPT4gIWRpc2FibGVJbml0aWFsRm9jdXMsXG4gICAgICAgICAgcmV0dXJuRm9jdXNPbkRlYWN0aXZhdGU6ICFkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXIsXG4gICAgICAgICAgZmFsbGJhY2tGb2N1czogYFtkYXRhLWRzLWlkPVwiU2hlZXRcIl1gLFxuICAgICAgICAgIG9uUG9zdERlYWN0aXZhdGU6ICgpID0+IHtcbiAgICAgICAgICAgIG9uQ2xvc2UoKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICAgICAgey4uLmlkUHJvcH0gLy8gZXNsaW50LWRpc2FibGUtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgICBkYXRhLWRzLWlkPVwiU2hlZXRcIlxuICAgICAgICAgIGlzVmlzaWJsZT17aXNWaXNpYmxlfVxuICAgICAgICAgIGNvbnRhaW5lckhlaWdodD17Y29udGFpbmVySGVpZ2h0fVxuICAgICAgICAgIGlzQ2xvc2luZz17aXNDbG9zaW5nfVxuICAgICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICAgIGRyYWdPZmZzZXQ9e2RyYWdPZmZzZXQuY3VycmVudH1cbiAgICAgICAgICBwcmV2Q29udGFpbmVySGVpZ2h0PXtwcmV2Q29udGFpbmVySGVpZ2h0LmN1cnJlbnR9XG4gICAgICAgICAgb25BbmltYXRpb25FbmQ9e2hhbmRsZUV4aXRBbmltYXRpb25FbmR9XG4gICAgICAgID5cbiAgICAgICAgICA8Q29udGFpbmVyIGVsZXZhdGlvbj17NH0+XG4gICAgICAgICAgICA8U3R5bGVkSGFuZGxlQ29udGFpbmVyXG4gICAgICAgICAgICAgIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPXtpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFN0eWxlZEhhbmRsZSAvPlxuICAgICAgICAgICAgPC9TdHlsZWRIYW5kbGVDb250YWluZXI+XG4gICAgICAgICAgICA8U3R5bGVkQ29udGVudENvbnRhaW5lclxuICAgICAgICAgICAgICBpc0Nsb3Npbmc9e2lzQ2xvc2luZ31cbiAgICAgICAgICAgICAgcmVmPXtjb250ZW50Q29udGFpbmVyUmVmfVxuICAgICAgICAgICAgICBvblNjcm9sbD17aGFuZGxlQ29udGVudENvbnRhaW5lclNjcm9sbH1cbiAgICAgICAgICAgICAgb25BbmltYXRpb25FbmQ9eyhldnQpID0+IGV2dC5zdG9wUHJvcGFnYXRpb24oKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9TdHlsZWRDb250ZW50Q29udGFpbmVyPlxuICAgICAgICAgIDwvQ29udGFpbmVyPlxuICAgICAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgICAgIDwvRm9jdXNUcmFwV3JhcHBlcj5cbiAgICA8Lz5cbiAgKTtcblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKHNoZWV0RWxtLCBwb3J0YWxDb250YWluZXIgfHwgZG9jdW1lbnQuYm9keSk7XG59XG4iXX0= */");
|
|
111
|
+
const StyledHandleContainer = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
|
|
112
|
+
target: "e1olca0n1"
|
|
113
|
+
} : {
|
|
114
|
+
target: "e1olca0n1",
|
|
115
|
+
label: "StyledHandleContainer"
|
|
116
|
+
})(_ref3 => {
|
|
117
|
+
let {
|
|
118
|
+
theme,
|
|
119
|
+
isContentContainerScrolled
|
|
120
|
+
} = _ref3;
|
|
121
|
+
return {
|
|
122
|
+
padding: `${theme.variables.size.spacing.xs} 0`,
|
|
123
|
+
display: "flex",
|
|
124
|
+
justifyContent: "center",
|
|
125
|
+
backgroundColor: theme.values.color.background.elevated.default,
|
|
126
|
+
...(isContentContainerScrolled && {
|
|
127
|
+
boxShadow: theme.values.elevation.a
|
|
128
|
+
})
|
|
129
|
+
};
|
|
130
|
+
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNoZWV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3SjhCIiwiZmlsZSI6IlNoZWV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICB1c2VSZWYsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlU3RhdGUsXG4gIHVzZUVmZmVjdCxcbiAgdXNlQ2FsbGJhY2ssXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMsIEdsb2JhbCB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHsgRm9jdXNUcmFwV3JhcHBlciB9IGZyb20gXCIuLi8uLi9zaGFyZWQvRm9jdXNUcmFwV3JhcHBlclwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB7IHVzZURyYWdEb3duIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC91c2VEcmFnRG93blwiO1xuXG5leHBvcnQgdHlwZSBTaGVldFByb3BzID0ge1xuICAvKiBJZCB0byBhc3NvY2lhdGUgd2l0aCBhIHRyaWdnZXIgKi9cbiAgaWQ/OiBzdHJpbmc7XG4gIC8qKiBjb250ZW50cyAqL1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICAvKiBDdXN0b20gcG9ydGFsIGNvbnRhaW5lciB0byByZW5kZXIgc2hlZXQgaW50byAqL1xuICBwb3J0YWxDb250YWluZXI/OiBIVE1MRWxlbWVudDtcbiAgLyogdXNlZCB0byBzaG93IC8gaGlkZSBzaGVldCAqL1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICAvKiBDYWxsZWQgd2hlbiBzaGVldCBuZWVkcyB0byBjbG9zZSwgb24gZXNjYXBlLCBvdXRzaWRlIGNsaWNrLCBzd2lwZSBkb3duLCBldGMuICovXG4gIG9uQ2xvc2U6ICgpID0+IHZvaWQ7XG4gIC8qIENhbGxlZCB3aGVuIHNoZWV0IGlzIHJlbW92ZWQgZnJvbSBET00gYWZ0ZXIgZXhpdCBhbmltYXRpb24uICovXG4gIG9uVW5tb3VudD86ICgpID0+IHZvaWQ7XG4gIC8qIENvbnRyb2xzIHdoZXRoZXIgU2hlZXQgY2xvc2VzIG9uIG91dHNpZGUgY2xpY2sgKi9cbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrPzogYm9vbGVhbjtcbiAgLyogT3B0aW9uIGZvciBmb2N1cy10cmFwLCBjb250cm9scyB3aGV0aGVyIHRoZSBmaXJzdCBmb2N1YWJsZSBpdGVtIHJlY2lldmVzIGZvY3VzICovXG4gIGRpc2FibGVJbml0aWFsRm9jdXM/OiBib29sZWFuO1xuICAvKiBPcHRpb24gZm9yIGZvY3VzLXRyYXAsIGNvbnRyb2xzIHdoZXRoZXIgdGhlIHRyaWdnZXIgc2hvdWxkIHJlY2VpdmUgYmFjayB0aGUgZm9jdXMgb24gcG9wb3ZlciBjbG9zZSAqL1xuICBkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXI/OiBib29sZWFuO1xufTtcblxuLy8gRHVyYXRpb24gb2Ygc2xpZGVpbiBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRU5UUlkgPSAzMDA7XG4vLyBEdXJhdGlvbiBvZiBzbGlkZW91dCBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRVhJVCA9IDIwMDsgLy8gZHVyYXRpb25cbi8vIER1cmF0aW9uIG9mIGZhZGUgaW4vb3V0IGFuaW1hdGlvbiBvZiBjb250ZW50IGNvbnRhaW5lclxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlQgPSA1MDtcbi8vIE1heCBoZWlnaHQgb2Ygc2hlZXQgY29udGVudCByZWxhdGl2ZSB0byB2aWV3cG9ydCBoZWlnaHRcbmNvbnN0IE1BWF9IRUlHSFRfUEVSQ0VOVCA9IDgwO1xuLy8gTWluIGRyYWcgZGlzdGFuY2UgdG8gY2xvc2Ugc2hlZXRcbmNvbnN0IE1JTl9EUkFHX0RJU1RBTkNFID0gMTUwO1xuXG5jb25zdCBmYWRlT3V0ID0ga2V5ZnJhbWVzKHtcbiAgZnJvbToge1xuICAgIG9wYWNpdHk6IDEsXG4gIH0sXG4gIHRvOiB7XG4gICAgb3BhY2l0eTogMCxcbiAgfSxcbn0pO1xuY29uc3QgZmFkZUluID0ga2V5ZnJhbWVzKHtcbiAgZnJvbToge1xuICAgIG9wYWNpdHk6IDAsXG4gIH0sXG4gIHRvOiB7XG4gICAgb3BhY2l0eTogMSxcbiAgfSxcbn0pO1xuXG50eXBlIFN0eWxlZENvbnRhaW5lclByb3BzID0gUGFydGlhbDxQaWNrPFNoZWV0UHJvcHMsIFwiaXNWaXNpYmxlXCI+PiAmIHtcbiAgY29udGFpbmVySGVpZ2h0PzogbnVtYmVyO1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xuICBkcmFnT2Zmc2V0PzogbnVtYmVyO1xuICBwcmV2Q29udGFpbmVySGVpZ2h0PzogbnVtYmVyO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz4oXG4gICh7XG4gICAgdGhlbWUsXG4gICAgY29udGFpbmVySGVpZ2h0LFxuICAgIGlzQ2xvc2luZyxcbiAgICBkcmFnT2Zmc2V0ID0gMCxcbiAgICBwcmV2Q29udGFpbmVySGVpZ2h0LFxuICB9KSA9PiB7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBpZiAoY29udGFpbmVySGVpZ2h0KSB7XG4gICAgICBjb25zdCBzbGlkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7ZHJhZ09mZnNldH1weClgLFxuICAgICAgICB9LFxuICAgICAgICB0bzoge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtjb250YWluZXJIZWlnaHR9cHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgc2xpZGVJbiA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7Y29udGFpbmVySGVpZ2h0IC0gcHJldkNvbnRhaW5lckhlaWdodH1weClgLFxuICAgICAgICB9LFxuICAgICAgICB0bzoge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoMHB4KWAsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgaWYgKGlzQ2xvc2luZykge1xuICAgICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fRVhJVH1tcyBlYXNlLW91dCBmb3J3YXJkcyAke3NsaWRlT3V0fWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBzZXQgZW50cnkgYW5pbWF0aW9uIG9ubHkgZm9yIHRoZSBmaXJzdCB0aW1lIGFmdGVyIHNoZWV0IGlzIHZpc2libGVcbiAgICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7c2xpZGVJbn1gO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgICAgbGVmdDogMCxcbiAgICAgIGJvdHRvbTogMCxcbiAgICAgIHdpZHRoOiBcIjEwMHZ3XCIsXG4gICAgICB0cmFuc2Zvcm1PcmlnaW46IFwiYm90dG9tXCIsXG4gICAgICBhbmltYXRpb24sXG4gICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgekluZGV4OiB0aGVtZS52YXJpYWJsZXMuekluZGV4Lm1vZGFsLFxuXG4gICAgICAvLyBSZW1vdmUgYm90dG9tIGJvcmRlciByYWRpdXMgb2YgRFMgQ29udGFpbmVyXG4gICAgICBcIj4gZGl2XCI6IHtcbiAgICAgICAgYm9yZGVyQm90dG9tTGVmdFJhZGl1czogMCxcbiAgICAgICAgYm9yZGVyQm90dG9tUmlnaHRSYWRpdXM6IDAsXG4gICAgICB9LFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkQ29udGVudENvbnRhaW5lclByb3BzID0ge1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGVudENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkQ29udGVudENvbnRhaW5lclByb3BzPihcbiAgKHsgdGhlbWUsIGlzQ2xvc2luZyB9KSA9PiB7XG4gICAgY29uc3QgYW5pbWF0aW9uID0gaXNDbG9zaW5nXG4gICAgICA/IGAke0FOSU1BVElPTl9EVVJBVElPTl9DT05URU5UfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7ZmFkZU91dH1gXG4gICAgICA6IGAke0FOSU1BVElPTl9EVVJBVElPTl9DT05URU5UfW1zIGVhc2Utb3V0ICR7XG4gICAgICAgICAgQU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZIC0gQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlRcbiAgICAgICAgfW1zIGZvcndhcmRzICR7ZmFkZUlufWA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3ZlcmZsb3c6IFwiYXV0b1wiLFxuICAgICAgbWF4SGVpZ2h0OiBgJHtNQVhfSEVJR0hUX1BFUkNFTlR9dmhgLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBvcGFjaXR5OiAwLFxuICAgICAgYW5pbWF0aW9uLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkSGFuZGxlQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPzogYm9vbGVhbjtcbn07XG5jb25zdCBTdHlsZWRIYW5kbGVDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZEhhbmRsZUNvbnRhaW5lclByb3BzPihcbiAgKHsgdGhlbWUsIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkIH0pID0+ICh7XG4gICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gMGAsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuXG4gICAgLi4uKGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkICYmIHtcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvbi5hLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSGFuZGxlID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICB3aWR0aDogXCI4MHB4XCIsXG4gIGhlaWdodDogXCI0cHhcIixcbiAgYm9yZGVyUmFkaXVzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5ib3JkZXJSYWRpdXMueHMsXG4gIGJhY2tncm91bmRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIuc2Vjb25kYXJ5LFxufSkpO1xuXG5leHBvcnQgZnVuY3Rpb24gU2hlZXQoe1xuICBpZCxcbiAgY2hpbGRyZW4sXG4gIGlzVmlzaWJsZSxcbiAgb25DbG9zZSxcbiAgb25Vbm1vdW50LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGRpc21pc3NPbk91dHNpZGVDbGljayA9IHRydWUsXG4gIGRpc2FibGVJbml0aWFsRm9jdXMsXG4gIGRpc2FibGVSZXR1cm5Gb2N1c1RvVHJpZ2dlcixcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG59OiBTaGVldFByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgW2lzQ2xvc2luZywgc2V0Q2xvc2luZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtjb250YWluZXJIZWlnaHQsIHNldENvbnRhaW5lckhlaWdodF0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW2lzQ29udGVudENvbnRhaW5lclNjcm9sbGVkLCBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWRdID1cbiAgICB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgY29udGVudENvbnRhaW5lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgcHJldlZpc2libGVTdGF0ZSA9IHVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IHByZXZDb250YWluZXJIZWlnaHQgPSB1c2VSZWYoMCk7XG4gIGNvbnN0IGRyYWdPZmZzZXQgPSB1c2VSZWYoMCk7XG4gIGNvbnN0IGlzRHJhZ1N0YXJ0ZWQgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyUmVjdC5oZWlnaHQpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2hpbGRyZW5dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFN0YXJ0IGNsb3Npbmcgc2hlZXQgaWYgcHJldmlvdXNseSBvcGVuZWRcbiAgICBpZiAoIWlzVmlzaWJsZSAmJiBwcmV2VmlzaWJsZVN0YXRlLmN1cnJlbnQpIHtcbiAgICAgIHNldENsb3NpbmcodHJ1ZSk7XG4gICAgfVxuICAgIHByZXZWaXNpYmxlU3RhdGUuY3VycmVudCA9IGlzVmlzaWJsZTtcbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBpc0Nsb3NpbmcpIHtcbiAgICAgIC8vIFNvbWV0aW1lcywgcGFyZW50IGNvbXBvbmVudCBjYW4gcmUtb3BlbiBzaGVldCB3aGlsZSBpdCBpcyBzdGlsbCBjbG9zaW5nLiBUbyBwcmV2ZW50IHRoaXMsIHdlIGNhbGwgb25DbG9zZSBhZ2FpblxuICAgICAgb25DbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgaXNDbG9zaW5nLCBvbkNsb3NlXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBwcmV2Q29udGFpbmVySGVpZ2h0LmN1cnJlbnQgPSBjb250YWluZXJIZWlnaHQ7XG4gIH0sIFtjb250YWluZXJIZWlnaHRdKTtcblxuICBjb25zdCBoYW5kbGVEcmFnU3RhcnQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGlmIChjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wID09PSAwKSB7XG4gICAgICAgIC8vIFJlbW92ZSBleGlzdGluZyBhbmltYXRpb24sIG90aGVyd2lzZSB0cmFuc2Zvcm0gZG9lc24ndCB3b3JrXG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLmFuaW1hdGlvbiA9IFwibm9uZVwiO1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2l0aW9uID0gXCJ0cmFuc2Zvcm0gMC4xcyBlYXNlXCI7XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zZm9ybSA9IFwidHJhbnNsYXRlWSgwcHgpXCI7XG4gICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IDA7XG4gICAgICAgIGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH0sIFtjb250YWluZXJSZWYsIGNvbnRlbnRDb250YWluZXJSZWZdKTtcblxuICBjb25zdCBoYW5kbGVEcmFnID0gdXNlQ2FsbGJhY2soXG4gICAgKF8sIG9mZnNldEZyb21TdGFydCkgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcblxuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCAmJlxuICAgICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudC5zY3JvbGxUb3AgPT09IDAgJiZcbiAgICAgICAgICBvZmZzZXRGcm9tU3RhcnQgPCBjb250YWluZXJDdXJyZW50SGVpZ2h0XG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGVZKCR7b2Zmc2V0RnJvbVN0YXJ0fXB4KWA7XG4gICAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gb2Zmc2V0RnJvbVN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LFxuICAgIFtjb250YWluZXJSZWYsIGNvbnRlbnRDb250YWluZXJSZWZdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ0VuZCA9IHVzZUNhbGxiYWNrKFxuICAgIChfLCBvZmZzZXRGcm9tU3RhcnQpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lckN1cnJlbnRIZWlnaHQgPVxuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG4gICAgICAvLyBDbG9zZSBzaGVldCBvbmx5IHdoZW4gZHJhZyBkaXN0YW5jZSBpcyBhIHF1YXJ0ZXIgb2YgY29udGFpbmVyIGhlaWdodFxuICAgICAgY29uc3QgbWluRHJhZ0Rpc3RhbmNlID1cbiAgICAgICAgY29udGFpbmVyQ3VycmVudEhlaWdodCA8IE1JTl9EUkFHX0RJU1RBTkNFICogMlxuICAgICAgICAgID8gY29udGFpbmVyQ3VycmVudEhlaWdodCAvIDRcbiAgICAgICAgICA6IE1JTl9EUkFHX0RJU1RBTkNFO1xuXG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBpZiAoaXNEcmFnU3RhcnRlZC5jdXJyZW50KSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0ID49IG1pbkRyYWdEaXN0YW5jZSAmJlxuICAgICAgICAgICAgY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9PT0gMFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgb25DbG9zZSgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIFtjb250YWluZXJSZWYsIG9uQ2xvc2VdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ0NhbmNlbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgaWYgKGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCkge1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgfVxuICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gZmFsc2U7XG4gICAgfSk7XG4gIH0sIFtjb250YWluZXJSZWZdKTtcblxuICB1c2VEcmFnRG93bih7XG4gICAgcmVmOiBjb250YWluZXJSZWYsXG4gICAgaXNWaXNpYmxlOiBpc1Zpc2libGUgJiYgIWlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkLFxuICAgIG9uRHJhZ1N0YXJ0OiBoYW5kbGVEcmFnU3RhcnQsXG4gICAgb25EcmFnOiBoYW5kbGVEcmFnLFxuICAgIG9uRHJhZ0VuZDogaGFuZGxlRHJhZ0VuZCxcbiAgICBvbkRyYWdDYW5jZWw6IGhhbmRsZURyYWdDYW5jZWwsXG4gIH0pO1xuXG4gIGNvbnN0IGhhbmRsZUV4aXRBbmltYXRpb25FbmQgPSAoKSA9PiB7XG4gICAgaWYgKGlzQ2xvc2luZykge1xuICAgICAgc2V0Q2xvc2luZyhmYWxzZSk7XG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoMCk7XG4gICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuXG4gICAgICBpZiAob25Vbm1vdW50KSB7XG4gICAgICAgIG9uVW5tb3VudCgpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVDb250ZW50Q29udGFpbmVyU2Nyb2xsID0gKCkgPT4ge1xuICAgIHNldENvbnRlbnRDb250YWluZXJTY3JvbGxlZChcbiAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudCAmJiBjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wICE9PSAwXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBzaG93U2hlZXQgPSAoaXNWaXNpYmxlIHx8IGlzQ2xvc2luZykgJiYgIShpc1Zpc2libGUgJiYgaXNDbG9zaW5nKTtcblxuICBpZiAoIXNob3dTaGVldCkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgZ2xvYmFsU3R5bGVzID0ge1xuICAgIGh0bWw6IHtcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgICAgb3ZlcnNjcm9sbEJlaGF2aW9yOiBcIm5vbmVcIixcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IGlkUHJvcCA9IGlkXG4gICAgPyB7XG4gICAgICAgIGlkLFxuICAgICAgfVxuICAgIDoge307XG5cbiAgY29uc3Qgc2hlZXRFbG0gPSAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWwgc3R5bGVzPXtnbG9iYWxTdHlsZXN9IC8+XG4gICAgICA8Rm9jdXNUcmFwV3JhcHBlclxuICAgICAgICBmb2N1c1RyYXBPcHRpb25zPXt7XG4gICAgICAgICAgY2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM6IGRpc21pc3NPbk91dHNpZGVDbGljayxcbiAgICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogdHJ1ZSxcbiAgICAgICAgICBwcmV2ZW50U2Nyb2xsOiB0cnVlLFxuICAgICAgICAgIGluaXRpYWxGb2N1czogKCkgPT4gIWRpc2FibGVJbml0aWFsRm9jdXMsXG4gICAgICAgICAgcmV0dXJuRm9jdXNPbkRlYWN0aXZhdGU6ICFkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXIsXG4gICAgICAgICAgZmFsbGJhY2tGb2N1czogYFtkYXRhLWRzLWlkPVwiU2hlZXRcIl1gLFxuICAgICAgICAgIG9uUG9zdERlYWN0aXZhdGU6ICgpID0+IHtcbiAgICAgICAgICAgIG9uQ2xvc2UoKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICAgICAgey4uLmlkUHJvcH0gLy8gZXNsaW50LWRpc2FibGUtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgICBkYXRhLWRzLWlkPVwiU2hlZXRcIlxuICAgICAgICAgIGlzVmlzaWJsZT17aXNWaXNpYmxlfVxuICAgICAgICAgIGNvbnRhaW5lckhlaWdodD17Y29udGFpbmVySGVpZ2h0fVxuICAgICAgICAgIGlzQ2xvc2luZz17aXNDbG9zaW5nfVxuICAgICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICAgIGRyYWdPZmZzZXQ9e2RyYWdPZmZzZXQuY3VycmVudH1cbiAgICAgICAgICBwcmV2Q29udGFpbmVySGVpZ2h0PXtwcmV2Q29udGFpbmVySGVpZ2h0LmN1cnJlbnR9XG4gICAgICAgICAgb25BbmltYXRpb25FbmQ9e2hhbmRsZUV4aXRBbmltYXRpb25FbmR9XG4gICAgICAgID5cbiAgICAgICAgICA8Q29udGFpbmVyIGVsZXZhdGlvbj17NH0+XG4gICAgICAgICAgICA8U3R5bGVkSGFuZGxlQ29udGFpbmVyXG4gICAgICAgICAgICAgIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPXtpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFN0eWxlZEhhbmRsZSAvPlxuICAgICAgICAgICAgPC9TdHlsZWRIYW5kbGVDb250YWluZXI+XG4gICAgICAgICAgICA8U3R5bGVkQ29udGVudENvbnRhaW5lclxuICAgICAgICAgICAgICBpc0Nsb3Npbmc9e2lzQ2xvc2luZ31cbiAgICAgICAgICAgICAgcmVmPXtjb250ZW50Q29udGFpbmVyUmVmfVxuICAgICAgICAgICAgICBvblNjcm9sbD17aGFuZGxlQ29udGVudENvbnRhaW5lclNjcm9sbH1cbiAgICAgICAgICAgICAgb25BbmltYXRpb25FbmQ9eyhldnQpID0+IGV2dC5zdG9wUHJvcGFnYXRpb24oKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9TdHlsZWRDb250ZW50Q29udGFpbmVyPlxuICAgICAgICAgIDwvQ29udGFpbmVyPlxuICAgICAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgICAgIDwvRm9jdXNUcmFwV3JhcHBlcj5cbiAgICA8Lz5cbiAgKTtcblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKHNoZWV0RWxtLCBwb3J0YWxDb250YWluZXIgfHwgZG9jdW1lbnQuYm9keSk7XG59XG4iXX0= */");
|
|
131
|
+
const StyledHandle = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
|
|
132
|
+
target: "e1olca0n0"
|
|
133
|
+
} : {
|
|
134
|
+
target: "e1olca0n0",
|
|
135
|
+
label: "StyledHandle"
|
|
136
|
+
})(_ref4 => {
|
|
137
|
+
let {
|
|
138
|
+
theme
|
|
139
|
+
} = _ref4;
|
|
140
|
+
return {
|
|
141
|
+
width: "80px",
|
|
142
|
+
height: "4px",
|
|
143
|
+
borderRadius: theme.variables.size.borderRadius.xs,
|
|
144
|
+
backgroundColor: theme.values.color.divider.secondary
|
|
145
|
+
};
|
|
146
|
+
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNoZWV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxS3FCIiwiZmlsZSI6IlNoZWV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICB1c2VSZWYsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlU3RhdGUsXG4gIHVzZUVmZmVjdCxcbiAgdXNlQ2FsbGJhY2ssXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMsIEdsb2JhbCB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHsgRm9jdXNUcmFwV3JhcHBlciB9IGZyb20gXCIuLi8uLi9zaGFyZWQvRm9jdXNUcmFwV3JhcHBlclwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB7IHVzZURyYWdEb3duIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC91c2VEcmFnRG93blwiO1xuXG5leHBvcnQgdHlwZSBTaGVldFByb3BzID0ge1xuICAvKiBJZCB0byBhc3NvY2lhdGUgd2l0aCBhIHRyaWdnZXIgKi9cbiAgaWQ/OiBzdHJpbmc7XG4gIC8qKiBjb250ZW50cyAqL1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICAvKiBDdXN0b20gcG9ydGFsIGNvbnRhaW5lciB0byByZW5kZXIgc2hlZXQgaW50byAqL1xuICBwb3J0YWxDb250YWluZXI/OiBIVE1MRWxlbWVudDtcbiAgLyogdXNlZCB0byBzaG93IC8gaGlkZSBzaGVldCAqL1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICAvKiBDYWxsZWQgd2hlbiBzaGVldCBuZWVkcyB0byBjbG9zZSwgb24gZXNjYXBlLCBvdXRzaWRlIGNsaWNrLCBzd2lwZSBkb3duLCBldGMuICovXG4gIG9uQ2xvc2U6ICgpID0+IHZvaWQ7XG4gIC8qIENhbGxlZCB3aGVuIHNoZWV0IGlzIHJlbW92ZWQgZnJvbSBET00gYWZ0ZXIgZXhpdCBhbmltYXRpb24uICovXG4gIG9uVW5tb3VudD86ICgpID0+IHZvaWQ7XG4gIC8qIENvbnRyb2xzIHdoZXRoZXIgU2hlZXQgY2xvc2VzIG9uIG91dHNpZGUgY2xpY2sgKi9cbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrPzogYm9vbGVhbjtcbiAgLyogT3B0aW9uIGZvciBmb2N1cy10cmFwLCBjb250cm9scyB3aGV0aGVyIHRoZSBmaXJzdCBmb2N1YWJsZSBpdGVtIHJlY2lldmVzIGZvY3VzICovXG4gIGRpc2FibGVJbml0aWFsRm9jdXM/OiBib29sZWFuO1xuICAvKiBPcHRpb24gZm9yIGZvY3VzLXRyYXAsIGNvbnRyb2xzIHdoZXRoZXIgdGhlIHRyaWdnZXIgc2hvdWxkIHJlY2VpdmUgYmFjayB0aGUgZm9jdXMgb24gcG9wb3ZlciBjbG9zZSAqL1xuICBkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXI/OiBib29sZWFuO1xufTtcblxuLy8gRHVyYXRpb24gb2Ygc2xpZGVpbiBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRU5UUlkgPSAzMDA7XG4vLyBEdXJhdGlvbiBvZiBzbGlkZW91dCBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRVhJVCA9IDIwMDsgLy8gZHVyYXRpb25cbi8vIER1cmF0aW9uIG9mIGZhZGUgaW4vb3V0IGFuaW1hdGlvbiBvZiBjb250ZW50IGNvbnRhaW5lclxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlQgPSA1MDtcbi8vIE1heCBoZWlnaHQgb2Ygc2hlZXQgY29udGVudCByZWxhdGl2ZSB0byB2aWV3cG9ydCBoZWlnaHRcbmNvbnN0IE1BWF9IRUlHSFRfUEVSQ0VOVCA9IDgwO1xuLy8gTWluIGRyYWcgZGlzdGFuY2UgdG8gY2xvc2Ugc2hlZXRcbmNvbnN0IE1JTl9EUkFHX0RJU1RBTkNFID0gMTUwO1xuXG5jb25zdCBmYWRlT3V0ID0ga2V5ZnJhbWVzKHtcbiAgZnJvbToge1xuICAgIG9wYWNpdHk6IDEsXG4gIH0sXG4gIHRvOiB7XG4gICAgb3BhY2l0eTogMCxcbiAgfSxcbn0pO1xuY29uc3QgZmFkZUluID0ga2V5ZnJhbWVzKHtcbiAgZnJvbToge1xuICAgIG9wYWNpdHk6IDAsXG4gIH0sXG4gIHRvOiB7XG4gICAgb3BhY2l0eTogMSxcbiAgfSxcbn0pO1xuXG50eXBlIFN0eWxlZENvbnRhaW5lclByb3BzID0gUGFydGlhbDxQaWNrPFNoZWV0UHJvcHMsIFwiaXNWaXNpYmxlXCI+PiAmIHtcbiAgY29udGFpbmVySGVpZ2h0PzogbnVtYmVyO1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xuICBkcmFnT2Zmc2V0PzogbnVtYmVyO1xuICBwcmV2Q29udGFpbmVySGVpZ2h0PzogbnVtYmVyO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz4oXG4gICh7XG4gICAgdGhlbWUsXG4gICAgY29udGFpbmVySGVpZ2h0LFxuICAgIGlzQ2xvc2luZyxcbiAgICBkcmFnT2Zmc2V0ID0gMCxcbiAgICBwcmV2Q29udGFpbmVySGVpZ2h0LFxuICB9KSA9PiB7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBpZiAoY29udGFpbmVySGVpZ2h0KSB7XG4gICAgICBjb25zdCBzbGlkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7ZHJhZ09mZnNldH1weClgLFxuICAgICAgICB9LFxuICAgICAgICB0bzoge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtjb250YWluZXJIZWlnaHR9cHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgc2xpZGVJbiA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7Y29udGFpbmVySGVpZ2h0IC0gcHJldkNvbnRhaW5lckhlaWdodH1weClgLFxuICAgICAgICB9LFxuICAgICAgICB0bzoge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoMHB4KWAsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgaWYgKGlzQ2xvc2luZykge1xuICAgICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fRVhJVH1tcyBlYXNlLW91dCBmb3J3YXJkcyAke3NsaWRlT3V0fWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBzZXQgZW50cnkgYW5pbWF0aW9uIG9ubHkgZm9yIHRoZSBmaXJzdCB0aW1lIGFmdGVyIHNoZWV0IGlzIHZpc2libGVcbiAgICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7c2xpZGVJbn1gO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgICAgbGVmdDogMCxcbiAgICAgIGJvdHRvbTogMCxcbiAgICAgIHdpZHRoOiBcIjEwMHZ3XCIsXG4gICAgICB0cmFuc2Zvcm1PcmlnaW46IFwiYm90dG9tXCIsXG4gICAgICBhbmltYXRpb24sXG4gICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgekluZGV4OiB0aGVtZS52YXJpYWJsZXMuekluZGV4Lm1vZGFsLFxuXG4gICAgICAvLyBSZW1vdmUgYm90dG9tIGJvcmRlciByYWRpdXMgb2YgRFMgQ29udGFpbmVyXG4gICAgICBcIj4gZGl2XCI6IHtcbiAgICAgICAgYm9yZGVyQm90dG9tTGVmdFJhZGl1czogMCxcbiAgICAgICAgYm9yZGVyQm90dG9tUmlnaHRSYWRpdXM6IDAsXG4gICAgICB9LFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkQ29udGVudENvbnRhaW5lclByb3BzID0ge1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGVudENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkQ29udGVudENvbnRhaW5lclByb3BzPihcbiAgKHsgdGhlbWUsIGlzQ2xvc2luZyB9KSA9PiB7XG4gICAgY29uc3QgYW5pbWF0aW9uID0gaXNDbG9zaW5nXG4gICAgICA/IGAke0FOSU1BVElPTl9EVVJBVElPTl9DT05URU5UfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7ZmFkZU91dH1gXG4gICAgICA6IGAke0FOSU1BVElPTl9EVVJBVElPTl9DT05URU5UfW1zIGVhc2Utb3V0ICR7XG4gICAgICAgICAgQU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZIC0gQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlRcbiAgICAgICAgfW1zIGZvcndhcmRzICR7ZmFkZUlufWA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3ZlcmZsb3c6IFwiYXV0b1wiLFxuICAgICAgbWF4SGVpZ2h0OiBgJHtNQVhfSEVJR0hUX1BFUkNFTlR9dmhgLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBvcGFjaXR5OiAwLFxuICAgICAgYW5pbWF0aW9uLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkSGFuZGxlQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPzogYm9vbGVhbjtcbn07XG5jb25zdCBTdHlsZWRIYW5kbGVDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZEhhbmRsZUNvbnRhaW5lclByb3BzPihcbiAgKHsgdGhlbWUsIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkIH0pID0+ICh7XG4gICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gMGAsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuXG4gICAgLi4uKGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkICYmIHtcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvbi5hLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSGFuZGxlID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICB3aWR0aDogXCI4MHB4XCIsXG4gIGhlaWdodDogXCI0cHhcIixcbiAgYm9yZGVyUmFkaXVzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5ib3JkZXJSYWRpdXMueHMsXG4gIGJhY2tncm91bmRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIuc2Vjb25kYXJ5LFxufSkpO1xuXG5leHBvcnQgZnVuY3Rpb24gU2hlZXQoe1xuICBpZCxcbiAgY2hpbGRyZW4sXG4gIGlzVmlzaWJsZSxcbiAgb25DbG9zZSxcbiAgb25Vbm1vdW50LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGRpc21pc3NPbk91dHNpZGVDbGljayA9IHRydWUsXG4gIGRpc2FibGVJbml0aWFsRm9jdXMsXG4gIGRpc2FibGVSZXR1cm5Gb2N1c1RvVHJpZ2dlcixcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG59OiBTaGVldFByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgW2lzQ2xvc2luZywgc2V0Q2xvc2luZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtjb250YWluZXJIZWlnaHQsIHNldENvbnRhaW5lckhlaWdodF0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW2lzQ29udGVudENvbnRhaW5lclNjcm9sbGVkLCBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWRdID1cbiAgICB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgY29udGVudENvbnRhaW5lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgcHJldlZpc2libGVTdGF0ZSA9IHVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IHByZXZDb250YWluZXJIZWlnaHQgPSB1c2VSZWYoMCk7XG4gIGNvbnN0IGRyYWdPZmZzZXQgPSB1c2VSZWYoMCk7XG4gIGNvbnN0IGlzRHJhZ1N0YXJ0ZWQgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyUmVjdC5oZWlnaHQpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2hpbGRyZW5dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFN0YXJ0IGNsb3Npbmcgc2hlZXQgaWYgcHJldmlvdXNseSBvcGVuZWRcbiAgICBpZiAoIWlzVmlzaWJsZSAmJiBwcmV2VmlzaWJsZVN0YXRlLmN1cnJlbnQpIHtcbiAgICAgIHNldENsb3NpbmcodHJ1ZSk7XG4gICAgfVxuICAgIHByZXZWaXNpYmxlU3RhdGUuY3VycmVudCA9IGlzVmlzaWJsZTtcbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBpc0Nsb3NpbmcpIHtcbiAgICAgIC8vIFNvbWV0aW1lcywgcGFyZW50IGNvbXBvbmVudCBjYW4gcmUtb3BlbiBzaGVldCB3aGlsZSBpdCBpcyBzdGlsbCBjbG9zaW5nLiBUbyBwcmV2ZW50IHRoaXMsIHdlIGNhbGwgb25DbG9zZSBhZ2FpblxuICAgICAgb25DbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgaXNDbG9zaW5nLCBvbkNsb3NlXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBwcmV2Q29udGFpbmVySGVpZ2h0LmN1cnJlbnQgPSBjb250YWluZXJIZWlnaHQ7XG4gIH0sIFtjb250YWluZXJIZWlnaHRdKTtcblxuICBjb25zdCBoYW5kbGVEcmFnU3RhcnQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGlmIChjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wID09PSAwKSB7XG4gICAgICAgIC8vIFJlbW92ZSBleGlzdGluZyBhbmltYXRpb24sIG90aGVyd2lzZSB0cmFuc2Zvcm0gZG9lc24ndCB3b3JrXG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLmFuaW1hdGlvbiA9IFwibm9uZVwiO1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2l0aW9uID0gXCJ0cmFuc2Zvcm0gMC4xcyBlYXNlXCI7XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zZm9ybSA9IFwidHJhbnNsYXRlWSgwcHgpXCI7XG4gICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IDA7XG4gICAgICAgIGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH0sIFtjb250YWluZXJSZWYsIGNvbnRlbnRDb250YWluZXJSZWZdKTtcblxuICBjb25zdCBoYW5kbGVEcmFnID0gdXNlQ2FsbGJhY2soXG4gICAgKF8sIG9mZnNldEZyb21TdGFydCkgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcblxuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCAmJlxuICAgICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudC5zY3JvbGxUb3AgPT09IDAgJiZcbiAgICAgICAgICBvZmZzZXRGcm9tU3RhcnQgPCBjb250YWluZXJDdXJyZW50SGVpZ2h0XG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGVZKCR7b2Zmc2V0RnJvbVN0YXJ0fXB4KWA7XG4gICAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gb2Zmc2V0RnJvbVN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LFxuICAgIFtjb250YWluZXJSZWYsIGNvbnRlbnRDb250YWluZXJSZWZdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ0VuZCA9IHVzZUNhbGxiYWNrKFxuICAgIChfLCBvZmZzZXRGcm9tU3RhcnQpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lckN1cnJlbnRIZWlnaHQgPVxuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG4gICAgICAvLyBDbG9zZSBzaGVldCBvbmx5IHdoZW4gZHJhZyBkaXN0YW5jZSBpcyBhIHF1YXJ0ZXIgb2YgY29udGFpbmVyIGhlaWdodFxuICAgICAgY29uc3QgbWluRHJhZ0Rpc3RhbmNlID1cbiAgICAgICAgY29udGFpbmVyQ3VycmVudEhlaWdodCA8IE1JTl9EUkFHX0RJU1RBTkNFICogMlxuICAgICAgICAgID8gY29udGFpbmVyQ3VycmVudEhlaWdodCAvIDRcbiAgICAgICAgICA6IE1JTl9EUkFHX0RJU1RBTkNFO1xuXG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBpZiAoaXNEcmFnU3RhcnRlZC5jdXJyZW50KSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0ID49IG1pbkRyYWdEaXN0YW5jZSAmJlxuICAgICAgICAgICAgY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9PT0gMFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgb25DbG9zZSgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIFtjb250YWluZXJSZWYsIG9uQ2xvc2VdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ0NhbmNlbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgaWYgKGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCkge1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgfVxuICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gZmFsc2U7XG4gICAgfSk7XG4gIH0sIFtjb250YWluZXJSZWZdKTtcblxuICB1c2VEcmFnRG93bih7XG4gICAgcmVmOiBjb250YWluZXJSZWYsXG4gICAgaXNWaXNpYmxlOiBpc1Zpc2libGUgJiYgIWlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkLFxuICAgIG9uRHJhZ1N0YXJ0OiBoYW5kbGVEcmFnU3RhcnQsXG4gICAgb25EcmFnOiBoYW5kbGVEcmFnLFxuICAgIG9uRHJhZ0VuZDogaGFuZGxlRHJhZ0VuZCxcbiAgICBvbkRyYWdDYW5jZWw6IGhhbmRsZURyYWdDYW5jZWwsXG4gIH0pO1xuXG4gIGNvbnN0IGhhbmRsZUV4aXRBbmltYXRpb25FbmQgPSAoKSA9PiB7XG4gICAgaWYgKGlzQ2xvc2luZykge1xuICAgICAgc2V0Q2xvc2luZyhmYWxzZSk7XG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoMCk7XG4gICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuXG4gICAgICBpZiAob25Vbm1vdW50KSB7XG4gICAgICAgIG9uVW5tb3VudCgpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVDb250ZW50Q29udGFpbmVyU2Nyb2xsID0gKCkgPT4ge1xuICAgIHNldENvbnRlbnRDb250YWluZXJTY3JvbGxlZChcbiAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudCAmJiBjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wICE9PSAwXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBzaG93U2hlZXQgPSAoaXNWaXNpYmxlIHx8IGlzQ2xvc2luZykgJiYgIShpc1Zpc2libGUgJiYgaXNDbG9zaW5nKTtcblxuICBpZiAoIXNob3dTaGVldCkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgZ2xvYmFsU3R5bGVzID0ge1xuICAgIGh0bWw6IHtcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgICAgb3ZlcnNjcm9sbEJlaGF2aW9yOiBcIm5vbmVcIixcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IGlkUHJvcCA9IGlkXG4gICAgPyB7XG4gICAgICAgIGlkLFxuICAgICAgfVxuICAgIDoge307XG5cbiAgY29uc3Qgc2hlZXRFbG0gPSAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWwgc3R5bGVzPXtnbG9iYWxTdHlsZXN9IC8+XG4gICAgICA8Rm9jdXNUcmFwV3JhcHBlclxuICAgICAgICBmb2N1c1RyYXBPcHRpb25zPXt7XG4gICAgICAgICAgY2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM6IGRpc21pc3NPbk91dHNpZGVDbGljayxcbiAgICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogdHJ1ZSxcbiAgICAgICAgICBwcmV2ZW50U2Nyb2xsOiB0cnVlLFxuICAgICAgICAgIGluaXRpYWxGb2N1czogKCkgPT4gIWRpc2FibGVJbml0aWFsRm9jdXMsXG4gICAgICAgICAgcmV0dXJuRm9jdXNPbkRlYWN0aXZhdGU6ICFkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXIsXG4gICAgICAgICAgZmFsbGJhY2tGb2N1czogYFtkYXRhLWRzLWlkPVwiU2hlZXRcIl1gLFxuICAgICAgICAgIG9uUG9zdERlYWN0aXZhdGU6ICgpID0+IHtcbiAgICAgICAgICAgIG9uQ2xvc2UoKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICAgICAgey4uLmlkUHJvcH0gLy8gZXNsaW50LWRpc2FibGUtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgICBkYXRhLWRzLWlkPVwiU2hlZXRcIlxuICAgICAgICAgIGlzVmlzaWJsZT17aXNWaXNpYmxlfVxuICAgICAgICAgIGNvbnRhaW5lckhlaWdodD17Y29udGFpbmVySGVpZ2h0fVxuICAgICAgICAgIGlzQ2xvc2luZz17aXNDbG9zaW5nfVxuICAgICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICAgIGRyYWdPZmZzZXQ9e2RyYWdPZmZzZXQuY3VycmVudH1cbiAgICAgICAgICBwcmV2Q29udGFpbmVySGVpZ2h0PXtwcmV2Q29udGFpbmVySGVpZ2h0LmN1cnJlbnR9XG4gICAgICAgICAgb25BbmltYXRpb25FbmQ9e2hhbmRsZUV4aXRBbmltYXRpb25FbmR9XG4gICAgICAgID5cbiAgICAgICAgICA8Q29udGFpbmVyIGVsZXZhdGlvbj17NH0+XG4gICAgICAgICAgICA8U3R5bGVkSGFuZGxlQ29udGFpbmVyXG4gICAgICAgICAgICAgIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPXtpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFN0eWxlZEhhbmRsZSAvPlxuICAgICAgICAgICAgPC9TdHlsZWRIYW5kbGVDb250YWluZXI+XG4gICAgICAgICAgICA8U3R5bGVkQ29udGVudENvbnRhaW5lclxuICAgICAgICAgICAgICBpc0Nsb3Npbmc9e2lzQ2xvc2luZ31cbiAgICAgICAgICAgICAgcmVmPXtjb250ZW50Q29udGFpbmVyUmVmfVxuICAgICAgICAgICAgICBvblNjcm9sbD17aGFuZGxlQ29udGVudENvbnRhaW5lclNjcm9sbH1cbiAgICAgICAgICAgICAgb25BbmltYXRpb25FbmQ9eyhldnQpID0+IGV2dC5zdG9wUHJvcGFnYXRpb24oKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9TdHlsZWRDb250ZW50Q29udGFpbmVyPlxuICAgICAgICAgIDwvQ29udGFpbmVyPlxuICAgICAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgICAgIDwvRm9jdXNUcmFwV3JhcHBlcj5cbiAgICA8Lz5cbiAgKTtcblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKHNoZWV0RWxtLCBwb3J0YWxDb250YWluZXIgfHwgZG9jdW1lbnQuYm9keSk7XG59XG4iXX0= */");
|
|
147
|
+
function Sheet(_ref5) {
|
|
148
|
+
let {
|
|
149
|
+
id,
|
|
150
|
+
children,
|
|
151
|
+
isVisible,
|
|
152
|
+
onClose,
|
|
153
|
+
onUnmount,
|
|
154
|
+
portalContainer,
|
|
155
|
+
dismissOnOutsideClick = true,
|
|
156
|
+
disableInitialFocus,
|
|
157
|
+
disableReturnFocusToTrigger,
|
|
158
|
+
"data-e2e-test-id": dataE2eTestId
|
|
159
|
+
} = _ref5;
|
|
160
|
+
const [isClosing, setClosing] = useState(false);
|
|
161
|
+
const [containerHeight, setContainerHeight] = useState(0);
|
|
162
|
+
const [isContentContainerScrolled, setContentContainerScrolled] = useState(false);
|
|
163
|
+
const containerRef = useRef(null);
|
|
164
|
+
const contentContainerRef = useRef(null);
|
|
165
|
+
const prevVisibleState = useRef(false);
|
|
166
|
+
const prevContainerHeight = useRef(0);
|
|
167
|
+
const dragOffset = useRef(0);
|
|
168
|
+
const isDragStarted = useRef(false);
|
|
169
|
+
useLayoutEffect(() => {
|
|
170
|
+
if (isVisible && containerRef.current) {
|
|
171
|
+
const containerRect = containerRef.current.getBoundingClientRect();
|
|
172
|
+
setContainerHeight(containerRect.height);
|
|
173
|
+
}
|
|
174
|
+
}, [isVisible, children]);
|
|
175
|
+
useEffect(() => {
|
|
176
|
+
// Start closing sheet if previously opened
|
|
177
|
+
if (!isVisible && prevVisibleState.current) {
|
|
178
|
+
setClosing(true);
|
|
179
|
+
}
|
|
180
|
+
prevVisibleState.current = isVisible;
|
|
181
|
+
}, [isVisible]);
|
|
182
|
+
useEffect(() => {
|
|
183
|
+
if (isVisible && isClosing) {
|
|
184
|
+
// Sometimes, parent component can re-open sheet while it is still closing. To prevent this, we call onClose again
|
|
185
|
+
onClose();
|
|
186
|
+
}
|
|
187
|
+
}, [isVisible, isClosing, onClose]);
|
|
188
|
+
useEffect(() => {
|
|
189
|
+
prevContainerHeight.current = containerHeight;
|
|
190
|
+
}, [containerHeight]);
|
|
191
|
+
const handleDragStart = useCallback(() => {
|
|
192
|
+
requestAnimationFrame(() => {
|
|
193
|
+
if (contentContainerRef.current.scrollTop === 0) {
|
|
194
|
+
// Remove existing animation, otherwise transform doesn't work
|
|
195
|
+
containerRef.current.style.animation = "none";
|
|
196
|
+
containerRef.current.style.transition = "transform 0.1s ease";
|
|
197
|
+
containerRef.current.style.transform = "translateY(0px)";
|
|
198
|
+
dragOffset.current = 0;
|
|
199
|
+
isDragStarted.current = true;
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
}, [containerRef, contentContainerRef]);
|
|
203
|
+
const handleDrag = useCallback((_, offsetFromStart) => {
|
|
204
|
+
const containerCurrentHeight = containerRef.current.getBoundingClientRect().height;
|
|
205
|
+
requestAnimationFrame(() => {
|
|
206
|
+
if (isDragStarted.current && contentContainerRef.current.scrollTop === 0 && offsetFromStart < containerCurrentHeight) {
|
|
207
|
+
containerRef.current.style.transform = `translateY(${offsetFromStart}px)`;
|
|
208
|
+
dragOffset.current = offsetFromStart;
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
}, [containerRef, contentContainerRef]);
|
|
212
|
+
const handleDragEnd = useCallback((_, offsetFromStart) => {
|
|
213
|
+
const containerCurrentHeight = containerRef.current.getBoundingClientRect().height;
|
|
214
|
+
// Close sheet only when drag distance is a quarter of container height
|
|
215
|
+
const minDragDistance = containerCurrentHeight < MIN_DRAG_DISTANCE * 2 ? containerCurrentHeight / 4 : MIN_DRAG_DISTANCE;
|
|
216
|
+
requestAnimationFrame(() => {
|
|
217
|
+
if (isDragStarted.current) {
|
|
218
|
+
if (offsetFromStart >= minDragDistance && contentContainerRef.current.scrollTop === 0) {
|
|
219
|
+
onClose();
|
|
220
|
+
} else {
|
|
221
|
+
containerRef.current.style.transform = "translateY(0px)";
|
|
222
|
+
dragOffset.current = 0;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
isDragStarted.current = false;
|
|
226
|
+
});
|
|
227
|
+
}, [containerRef, onClose]);
|
|
228
|
+
const handleDragCancel = useCallback(() => {
|
|
229
|
+
requestAnimationFrame(() => {
|
|
230
|
+
if (isDragStarted.current) {
|
|
231
|
+
containerRef.current.style.transform = "translateY(0px)";
|
|
232
|
+
dragOffset.current = 0;
|
|
233
|
+
}
|
|
234
|
+
isDragStarted.current = false;
|
|
235
|
+
});
|
|
236
|
+
}, [containerRef]);
|
|
237
|
+
useDragDown({
|
|
238
|
+
ref: containerRef,
|
|
239
|
+
isVisible: isVisible && !isContentContainerScrolled,
|
|
240
|
+
onDragStart: handleDragStart,
|
|
241
|
+
onDrag: handleDrag,
|
|
242
|
+
onDragEnd: handleDragEnd,
|
|
243
|
+
onDragCancel: handleDragCancel
|
|
244
|
+
});
|
|
245
|
+
const handleExitAnimationEnd = () => {
|
|
246
|
+
if (isClosing) {
|
|
247
|
+
setClosing(false);
|
|
248
|
+
setContainerHeight(0);
|
|
249
|
+
dragOffset.current = 0;
|
|
250
|
+
if (onUnmount) {
|
|
251
|
+
onUnmount();
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
};
|
|
255
|
+
const handleContentContainerScroll = () => {
|
|
256
|
+
setContentContainerScrolled(contentContainerRef.current && contentContainerRef.current.scrollTop !== 0);
|
|
257
|
+
};
|
|
258
|
+
const showSheet = (isVisible || isClosing) && !(isVisible && isClosing);
|
|
259
|
+
if (!showSheet) return null;
|
|
260
|
+
const globalStyles = {
|
|
261
|
+
html: {
|
|
262
|
+
overflow: "hidden",
|
|
263
|
+
overscrollBehavior: "none"
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
const idProp = id ? {
|
|
267
|
+
id
|
|
268
|
+
} : {};
|
|
269
|
+
const sheetElm = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Global, {
|
|
270
|
+
styles: globalStyles
|
|
271
|
+
}), /*#__PURE__*/React.createElement(FocusTrapWrapper, {
|
|
272
|
+
focusTrapOptions: {
|
|
273
|
+
clickOutsideDeactivates: dismissOnOutsideClick,
|
|
274
|
+
escapeDeactivates: true,
|
|
275
|
+
preventScroll: true,
|
|
276
|
+
initialFocus: () => !disableInitialFocus,
|
|
277
|
+
returnFocusOnDeactivate: !disableReturnFocusToTrigger,
|
|
278
|
+
fallbackFocus: `[data-ds-id="Sheet"]`,
|
|
279
|
+
onPostDeactivate: () => {
|
|
280
|
+
onClose();
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}, /*#__PURE__*/React.createElement(StyledContainer, _extends({}, idProp, {
|
|
284
|
+
// eslint-disable-line react/jsx-props-no-spreading
|
|
285
|
+
"data-e2e-test-id": dataE2eTestId,
|
|
286
|
+
"data-ds-id": "Sheet",
|
|
287
|
+
isVisible: isVisible,
|
|
288
|
+
containerHeight: containerHeight,
|
|
289
|
+
isClosing: isClosing,
|
|
290
|
+
ref: containerRef,
|
|
291
|
+
dragOffset: dragOffset.current,
|
|
292
|
+
prevContainerHeight: prevContainerHeight.current,
|
|
293
|
+
onAnimationEnd: handleExitAnimationEnd
|
|
294
|
+
}), /*#__PURE__*/React.createElement(Container, {
|
|
295
|
+
elevation: 4
|
|
296
|
+
}, /*#__PURE__*/React.createElement(StyledHandleContainer, {
|
|
297
|
+
isContentContainerScrolled: isContentContainerScrolled
|
|
298
|
+
}, /*#__PURE__*/React.createElement(StyledHandle, null)), /*#__PURE__*/React.createElement(StyledContentContainer, {
|
|
299
|
+
isClosing: isClosing,
|
|
300
|
+
ref: contentContainerRef,
|
|
301
|
+
onScroll: handleContentContainerScroll,
|
|
302
|
+
onAnimationEnd: evt => evt.stopPropagation()
|
|
303
|
+
}, children)))));
|
|
304
|
+
return /*#__PURE__*/createPortal(sheetElm, portalContainer || document.body);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
export { Sheet };
|
|
308
|
+
//# sourceMappingURL=Sheet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Sheet.js","sources":["../../../../../src/components/Sheet/Sheet.tsx"],"sourcesContent":["import React, {\n useRef,\n useLayoutEffect,\n useState,\n useEffect,\n useCallback,\n} from \"react\";\nimport styled from \"@emotion/styled\";\nimport { createPortal } from \"react-dom\";\nimport { keyframes, Global } from \"@emotion/react\";\nimport { FocusTrapWrapper } from \"../../shared/FocusTrapWrapper\";\nimport { Container } from \"../Container/Container\";\nimport { useDragDown } from \"../../shared/useDragDown\";\n\nexport type SheetProps = {\n /* Id to associate with a trigger */\n id?: string;\n /** contents */\n children: React.ReactNode;\n /* Custom portal container to render sheet into */\n portalContainer?: HTMLElement;\n /* used to show / hide sheet */\n isVisible: boolean;\n \"data-e2e-test-id\"?: string;\n /* Called when sheet needs to close, on escape, outside click, swipe down, etc. */\n onClose: () => void;\n /* Called when sheet is removed from DOM after exit animation. */\n onUnmount?: () => void;\n /* Controls whether Sheet closes on outside click */\n dismissOnOutsideClick?: boolean;\n /* Option for focus-trap, controls whether the first focuable item recieves focus */\n disableInitialFocus?: boolean;\n /* Option for focus-trap, controls whether the trigger should receive back the focus on popover close */\n disableReturnFocusToTrigger?: boolean;\n};\n\n// Duration of slidein animation of sheet container\nconst ANIMATION_DURATION_ENTRY = 300;\n// Duration of slideout animation of sheet container\nconst ANIMATION_DURATION_EXIT = 200; // duration\n// Duration of fade in/out animation of content container\nconst ANIMATION_DURATION_CONTENT = 50;\n// Max height of sheet content relative to viewport height\nconst MAX_HEIGHT_PERCENT = 80;\n// Min drag distance to close sheet\nconst MIN_DRAG_DISTANCE = 150;\n\nconst fadeOut = keyframes({\n from: {\n opacity: 1,\n },\n to: {\n opacity: 0,\n },\n});\nconst fadeIn = keyframes({\n from: {\n opacity: 0,\n },\n to: {\n opacity: 1,\n },\n});\n\ntype StyledContainerProps = Partial<Pick<SheetProps, \"isVisible\">> & {\n containerHeight?: number;\n isClosing?: boolean;\n dragOffset?: number;\n prevContainerHeight?: number;\n};\n\nconst StyledContainer = styled.div<StyledContainerProps>(\n ({\n theme,\n containerHeight,\n isClosing,\n dragOffset = 0,\n prevContainerHeight,\n }) => {\n let animation;\n if (containerHeight) {\n const slideOut = keyframes({\n from: {\n transform: `translateY(${dragOffset}px)`,\n },\n to: {\n transform: `translateY(${containerHeight}px)`,\n },\n });\n const slideIn = keyframes({\n from: {\n transform: `translateY(${containerHeight - prevContainerHeight}px)`,\n },\n to: {\n transform: `translateY(0px)`,\n },\n });\n\n if (isClosing) {\n animation = `${ANIMATION_DURATION_EXIT}ms ease-out forwards ${slideOut}`;\n } else {\n // set entry animation only for the first time after sheet is visible\n animation = `${ANIMATION_DURATION_ENTRY}ms ease-out forwards ${slideIn}`;\n }\n }\n\n return {\n position: \"fixed\",\n left: 0,\n bottom: 0,\n width: \"100vw\",\n transformOrigin: \"bottom\",\n animation,\n boxSizing: \"border-box\",\n zIndex: theme.variables.zIndex.modal,\n\n // Remove bottom border radius of DS Container\n \"> div\": {\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n },\n };\n }\n);\n\ntype StyledContentContainerProps = {\n isClosing?: boolean;\n};\n\nconst StyledContentContainer = styled.div<StyledContentContainerProps>(\n ({ theme, isClosing }) => {\n const animation = isClosing\n ? `${ANIMATION_DURATION_CONTENT}ms ease-out forwards ${fadeOut}`\n : `${ANIMATION_DURATION_CONTENT}ms ease-out ${\n ANIMATION_DURATION_ENTRY - ANIMATION_DURATION_CONTENT\n }ms forwards ${fadeIn}`;\n\n return {\n overflow: \"auto\",\n maxHeight: `${MAX_HEIGHT_PERCENT}vh`,\n boxSizing: \"border-box\",\n overscrollBehavior: \"none\",\n backgroundColor: theme.values.color.background.elevated.default,\n opacity: 0,\n animation,\n };\n }\n);\n\ntype StyledHandleContainerProps = {\n isContentContainerScrolled?: boolean;\n};\nconst StyledHandleContainer = styled.div<StyledHandleContainerProps>(\n ({ theme, isContentContainerScrolled }) => ({\n padding: `${theme.variables.size.spacing.xs} 0`,\n display: \"flex\",\n justifyContent: \"center\",\n backgroundColor: theme.values.color.background.elevated.default,\n\n ...(isContentContainerScrolled && {\n boxShadow: theme.values.elevation.a,\n }),\n })\n);\n\nconst StyledHandle = styled.div(({ theme }) => ({\n width: \"80px\",\n height: \"4px\",\n borderRadius: theme.variables.size.borderRadius.xs,\n backgroundColor: theme.values.color.divider.secondary,\n}));\n\nexport function Sheet({\n id,\n children,\n isVisible,\n onClose,\n onUnmount,\n portalContainer,\n dismissOnOutsideClick = true,\n disableInitialFocus,\n disableReturnFocusToTrigger,\n \"data-e2e-test-id\": dataE2eTestId,\n}: SheetProps): React.ReactElement {\n const [isClosing, setClosing] = useState(false);\n const [containerHeight, setContainerHeight] = useState(0);\n const [isContentContainerScrolled, setContentContainerScrolled] =\n useState(false);\n const containerRef = useRef(null);\n const contentContainerRef = useRef(null);\n const prevVisibleState = useRef(false);\n const prevContainerHeight = useRef(0);\n const dragOffset = useRef(0);\n const isDragStarted = useRef(false);\n\n useLayoutEffect(() => {\n if (isVisible && containerRef.current) {\n const containerRect = containerRef.current.getBoundingClientRect();\n\n setContainerHeight(containerRect.height);\n }\n }, [isVisible, children]);\n\n useEffect(() => {\n // Start closing sheet if previously opened\n if (!isVisible && prevVisibleState.current) {\n setClosing(true);\n }\n prevVisibleState.current = isVisible;\n }, [isVisible]);\n\n useEffect(() => {\n if (isVisible && isClosing) {\n // Sometimes, parent component can re-open sheet while it is still closing. To prevent this, we call onClose again\n onClose();\n }\n }, [isVisible, isClosing, onClose]);\n\n useEffect(() => {\n prevContainerHeight.current = containerHeight;\n }, [containerHeight]);\n\n const handleDragStart = useCallback(() => {\n requestAnimationFrame(() => {\n if (contentContainerRef.current.scrollTop === 0) {\n // Remove existing animation, otherwise transform doesn't work\n containerRef.current.style.animation = \"none\";\n containerRef.current.style.transition = \"transform 0.1s ease\";\n containerRef.current.style.transform = \"translateY(0px)\";\n dragOffset.current = 0;\n isDragStarted.current = true;\n }\n });\n }, [containerRef, contentContainerRef]);\n\n const handleDrag = useCallback(\n (_, offsetFromStart) => {\n const containerCurrentHeight =\n containerRef.current.getBoundingClientRect().height;\n\n requestAnimationFrame(() => {\n if (\n isDragStarted.current &&\n contentContainerRef.current.scrollTop === 0 &&\n offsetFromStart < containerCurrentHeight\n ) {\n containerRef.current.style.transform = `translateY(${offsetFromStart}px)`;\n dragOffset.current = offsetFromStart;\n }\n });\n },\n [containerRef, contentContainerRef]\n );\n\n const handleDragEnd = useCallback(\n (_, offsetFromStart) => {\n const containerCurrentHeight =\n containerRef.current.getBoundingClientRect().height;\n // Close sheet only when drag distance is a quarter of container height\n const minDragDistance =\n containerCurrentHeight < MIN_DRAG_DISTANCE * 2\n ? containerCurrentHeight / 4\n : MIN_DRAG_DISTANCE;\n\n requestAnimationFrame(() => {\n if (isDragStarted.current) {\n if (\n offsetFromStart >= minDragDistance &&\n contentContainerRef.current.scrollTop === 0\n ) {\n onClose();\n } else {\n containerRef.current.style.transform = \"translateY(0px)\";\n dragOffset.current = 0;\n }\n }\n isDragStarted.current = false;\n });\n },\n [containerRef, onClose]\n );\n\n const handleDragCancel = useCallback(() => {\n requestAnimationFrame(() => {\n if (isDragStarted.current) {\n containerRef.current.style.transform = \"translateY(0px)\";\n dragOffset.current = 0;\n }\n isDragStarted.current = false;\n });\n }, [containerRef]);\n\n useDragDown({\n ref: containerRef,\n isVisible: isVisible && !isContentContainerScrolled,\n onDragStart: handleDragStart,\n onDrag: handleDrag,\n onDragEnd: handleDragEnd,\n onDragCancel: handleDragCancel,\n });\n\n const handleExitAnimationEnd = () => {\n if (isClosing) {\n setClosing(false);\n setContainerHeight(0);\n dragOffset.current = 0;\n\n if (onUnmount) {\n onUnmount();\n }\n }\n };\n\n const handleContentContainerScroll = () => {\n setContentContainerScrolled(\n contentContainerRef.current && contentContainerRef.current.scrollTop !== 0\n );\n };\n\n const showSheet = (isVisible || isClosing) && !(isVisible && isClosing);\n\n if (!showSheet) return null;\n\n const globalStyles = {\n html: {\n overflow: \"hidden\",\n overscrollBehavior: \"none\",\n },\n };\n\n const idProp = id\n ? {\n id,\n }\n : {};\n\n const sheetElm = (\n <>\n <Global styles={globalStyles} />\n <FocusTrapWrapper\n focusTrapOptions={{\n clickOutsideDeactivates: dismissOnOutsideClick,\n escapeDeactivates: true,\n preventScroll: true,\n initialFocus: () => !disableInitialFocus,\n returnFocusOnDeactivate: !disableReturnFocusToTrigger,\n fallbackFocus: `[data-ds-id=\"Sheet\"]`,\n onPostDeactivate: () => {\n onClose();\n },\n }}\n >\n <StyledContainer\n {...idProp} // eslint-disable-line react/jsx-props-no-spreading\n data-e2e-test-id={dataE2eTestId}\n data-ds-id=\"Sheet\"\n isVisible={isVisible}\n containerHeight={containerHeight}\n isClosing={isClosing}\n ref={containerRef}\n dragOffset={dragOffset.current}\n prevContainerHeight={prevContainerHeight.current}\n onAnimationEnd={handleExitAnimationEnd}\n >\n <Container elevation={4}>\n <StyledHandleContainer\n isContentContainerScrolled={isContentContainerScrolled}\n >\n <StyledHandle />\n </StyledHandleContainer>\n <StyledContentContainer\n isClosing={isClosing}\n ref={contentContainerRef}\n onScroll={handleContentContainerScroll}\n onAnimationEnd={(evt) => evt.stopPropagation()}\n >\n {children}\n </StyledContentContainer>\n </Container>\n </StyledContainer>\n </FocusTrapWrapper>\n </>\n );\n\n return createPortal(sheetElm, portalContainer || document.body);\n}\n"],"names":["ANIMATION_DURATION_ENTRY","ANIMATION_DURATION_EXIT","ANIMATION_DURATION_CONTENT","MAX_HEIGHT_PERCENT","MIN_DRAG_DISTANCE","fadeOut","keyframes","from","opacity","to","fadeIn","StyledContainer","_styled","process","env","NODE_ENV","target","label","_ref","theme","containerHeight","isClosing","dragOffset","prevContainerHeight","animation","slideOut","transform","slideIn","position","left","bottom","width","transformOrigin","boxSizing","zIndex","variables","modal","borderBottomLeftRadius","borderBottomRightRadius","StyledContentContainer","_ref2","overflow","maxHeight","overscrollBehavior","backgroundColor","values","color","background","elevated","default","StyledHandleContainer","_ref3","isContentContainerScrolled","padding","size","spacing","xs","display","justifyContent","boxShadow","elevation","a","StyledHandle","_ref4","height","borderRadius","divider","secondary","Sheet","_ref5","id","children","isVisible","onClose","onUnmount","portalContainer","dismissOnOutsideClick","disableInitialFocus","disableReturnFocusToTrigger","dataE2eTestId","setClosing","useState","setContainerHeight","setContentContainerScrolled","containerRef","useRef","contentContainerRef","prevVisibleState","isDragStarted","useLayoutEffect","current","containerRect","getBoundingClientRect","useEffect","handleDragStart","useCallback","requestAnimationFrame","scrollTop","style","transition","handleDrag","_","offsetFromStart","containerCurrentHeight","handleDragEnd","minDragDistance","handleDragCancel","useDragDown","ref","onDragStart","onDrag","onDragEnd","onDragCancel","handleExitAnimationEnd","handleContentContainerScroll","showSheet","globalStyles","html","idProp","sheetElm","React","createElement","Fragment","Global","styles","FocusTrapWrapper","focusTrapOptions","clickOutsideDeactivates","escapeDeactivates","preventScroll","initialFocus","returnFocusOnDeactivate","fallbackFocus","onPostDeactivate","_extends","onAnimationEnd","Container","onScroll","evt","stopPropagation","createPortal","document","body"],"mappings":"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"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import React, { ReactElement } from "react";
|
|
2
2
|
import type { TooltipContentProps } from "../Tooltip/TooltipContent";
|
|
3
3
|
import { TooltipConditionalProps } from "../Tooltip/types";
|
|
4
|
-
type BaseProps = Pick<TooltipContentProps, "placement" | "portalContainer" | "maxWidth" | "contentPadding" | "hideArrow" | "hasInvertedSubTheme"> & {
|
|
4
|
+
type BaseProps = Pick<TooltipContentProps, "placement" | "portalContainer" | "maxWidth" | "contentPadding" | "hideArrow" | "hasInvertedSubTheme" | "defaultVerticalPlacement"> & {
|
|
5
5
|
name?: string;
|
|
6
6
|
content: ReactElement;
|
|
7
7
|
"data-e2e-test-id"?: string;
|
|
8
8
|
isVisible?: boolean;
|
|
9
|
-
onVisibilityChange?: (isVisible: boolean) => void;
|
|
9
|
+
onVisibilityChange?: (isVisible: boolean, reason: string) => void;
|
|
10
10
|
dismissOnOutsideClick?: boolean;
|
|
11
11
|
disableInitialFocus?: boolean;
|
|
12
12
|
disableReturnFocusToTrigger?: boolean;
|
|
13
|
+
renderAsSheetOnMobile?: boolean;
|
|
13
14
|
};
|
|
14
|
-
export type BasePopoverProps = BaseProps;
|
|
15
|
-
|
|
16
|
-
export declare function BasePopover({ placement, content, children, contentPadding, maxWidth, externalTriggerRef, portalContainer, name, isVisible: isPopoverVisible, dismissOnOutsideClick, "data-e2e-test-id": dataE2eTestId, hasInvertedSubTheme, defaultVerticalPlacement, onVisibilityChange, disableInitialFocus, disableReturnFocusToTrigger, ...restContentProps }: BasePopoverInternalProps): React.ReactElement;
|
|
15
|
+
export type BasePopoverProps = BaseProps & TooltipConditionalProps;
|
|
16
|
+
export declare function BasePopover({ placement, content, children, contentPadding, maxWidth, externalTriggerRef, portalContainer, name, isVisible: isPopoverVisible, dismissOnOutsideClick, "data-e2e-test-id": dataE2eTestId, hasInvertedSubTheme, defaultVerticalPlacement, onVisibilityChange, disableInitialFocus, disableReturnFocusToTrigger, renderAsSheetOnMobile, ...restContentProps }: BasePopoverProps): React.ReactElement;
|
|
17
17
|
export {};
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import _extends from '@babel/runtime/helpers/extends';
|
|
2
2
|
import React, { useMemo, useState, useRef, useCallback, useEffect } from 'react';
|
|
3
|
-
import FocusTrap from 'focus-trap-react';
|
|
4
3
|
import { TooltipContent } from '../Tooltip/TooltipContent.js';
|
|
4
|
+
import { Sheet } from '../Sheet/Sheet.js';
|
|
5
|
+
import { FocusTrapWrapper } from '../../shared/FocusTrapWrapper.js';
|
|
6
|
+
import breakpoints from '../../../build-tokens/_breakpoints.json.js';
|
|
5
7
|
|
|
6
8
|
const FocusTrapContent = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
7
9
|
let {
|
|
@@ -11,6 +13,10 @@ const FocusTrapContent = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
11
13
|
ref: ref
|
|
12
14
|
}, children);
|
|
13
15
|
});
|
|
16
|
+
const VisibilityChangeReason = {
|
|
17
|
+
triggerClick: "triggerClick",
|
|
18
|
+
outsideClick: "outsideClick"
|
|
19
|
+
};
|
|
14
20
|
function BasePopover(_ref2) {
|
|
15
21
|
let {
|
|
16
22
|
placement = "auto",
|
|
@@ -29,24 +35,27 @@ function BasePopover(_ref2) {
|
|
|
29
35
|
onVisibilityChange,
|
|
30
36
|
disableInitialFocus = false,
|
|
31
37
|
disableReturnFocusToTrigger = false,
|
|
38
|
+
renderAsSheetOnMobile = false,
|
|
32
39
|
...restContentProps
|
|
33
40
|
} = _ref2;
|
|
34
41
|
const tooltipId = useMemo(() => `DS${name}_${Math.floor(Date.now() * Math.random())}`, [name]);
|
|
35
42
|
const [isVisible, setVisible] = useState(isPopoverVisible);
|
|
43
|
+
const [isMobileBreakPoint, setIsMobileBreakpoint] = useState(false);
|
|
36
44
|
const internalTriggerRef = useRef(null);
|
|
37
45
|
const triggerRef = externalTriggerRef || internalTriggerRef;
|
|
38
46
|
const isOutsideClickOnTrigger = useRef(false);
|
|
39
|
-
const
|
|
47
|
+
const isPrevMobileBreakPointRef = useRef(false);
|
|
48
|
+
const toggleVisibility = useCallback((status, reason) => {
|
|
40
49
|
setVisible(status);
|
|
41
50
|
if (onVisibilityChange) {
|
|
42
|
-
onVisibilityChange(status);
|
|
51
|
+
onVisibilityChange(status, reason);
|
|
43
52
|
}
|
|
44
53
|
}, [onVisibilityChange]);
|
|
45
54
|
|
|
46
55
|
// Outside click is also fired when the Popover is open and trigger is clicked. `isOutsideClickOnTrigger` saves this condition and we check for it so as to not toggle the Popover twice.
|
|
47
56
|
const handleTriggerClick = useCallback(() => {
|
|
48
57
|
if (!isOutsideClickOnTrigger.current) {
|
|
49
|
-
toggleVisibility(!isVisible);
|
|
58
|
+
toggleVisibility(!isVisible, VisibilityChangeReason.triggerClick);
|
|
50
59
|
} else {
|
|
51
60
|
// reset this value so that Popover can open in next click
|
|
52
61
|
isOutsideClickOnTrigger.current = false;
|
|
@@ -58,9 +67,21 @@ function BasePopover(_ref2) {
|
|
|
58
67
|
}
|
|
59
68
|
return true;
|
|
60
69
|
}, [triggerRef, isOutsideClickOnTrigger]);
|
|
70
|
+
const handleSheetClose = useCallback(() => {
|
|
71
|
+
toggleVisibility(false, "sheetClose");
|
|
72
|
+
}, [toggleVisibility]);
|
|
61
73
|
useEffect(() => {
|
|
62
74
|
setVisible(isPopoverVisible);
|
|
63
75
|
}, [isPopoverVisible]);
|
|
76
|
+
useEffect(() => {
|
|
77
|
+
// Check if this is a mobile breakpoint
|
|
78
|
+
if (renderAsSheetOnMobile) {
|
|
79
|
+
setIsMobileBreakpoint(window.innerWidth <= breakpoints.medium.value);
|
|
80
|
+
}
|
|
81
|
+
}, [isVisible, renderAsSheetOnMobile]);
|
|
82
|
+
useEffect(() => {
|
|
83
|
+
isPrevMobileBreakPointRef.current = isMobileBreakPoint;
|
|
84
|
+
}, [isMobileBreakPoint]);
|
|
64
85
|
useEffect(() => {
|
|
65
86
|
let trigger;
|
|
66
87
|
if (externalTriggerRef?.current && !children) {
|
|
@@ -100,7 +121,21 @@ function BasePopover(_ref2) {
|
|
|
100
121
|
}
|
|
101
122
|
}
|
|
102
123
|
}) : null;
|
|
103
|
-
|
|
124
|
+
if (isMobileBreakPoint) {
|
|
125
|
+
// render as Sheet
|
|
126
|
+
const sheetElm = /*#__PURE__*/React.createElement(Sheet, {
|
|
127
|
+
id: tooltipId,
|
|
128
|
+
isVisible: isVisible,
|
|
129
|
+
onClose: handleSheetClose,
|
|
130
|
+
dismissOnOutsideClick: dismissOnOutsideClick,
|
|
131
|
+
disableInitialFocus: disableInitialFocus,
|
|
132
|
+
disableReturnFocusToTrigger: disableReturnFocusToTrigger
|
|
133
|
+
}, content);
|
|
134
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, triggerElm, sheetElm);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// render as Popover
|
|
138
|
+
const contentElm = /*#__PURE__*/React.createElement(FocusTrapWrapper, {
|
|
104
139
|
focusTrapOptions: {
|
|
105
140
|
clickOutsideDeactivates: dismissOnOutsideClick && handleClickOutsideDeactivates,
|
|
106
141
|
// de-active focus trap on outside click
|
|
@@ -109,8 +144,9 @@ function BasePopover(_ref2) {
|
|
|
109
144
|
// de-activate focus trap on escape key
|
|
110
145
|
fallbackFocus: `#${tooltipId}`,
|
|
111
146
|
// set focus to tooltip content container if it has no focusable element
|
|
112
|
-
|
|
113
|
-
|
|
147
|
+
onPostDeactivate: () => {
|
|
148
|
+
const reason = isOutsideClickOnTrigger.current ? VisibilityChangeReason.triggerClick : VisibilityChangeReason.outsideClick;
|
|
149
|
+
toggleVisibility(false, reason);
|
|
114
150
|
},
|
|
115
151
|
preventScroll: true,
|
|
116
152
|
initialFocus: () => !disableInitialFocus,
|