@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.
Files changed (44) hide show
  1. package/build/cjs/build-tokens/visualConfig.js +11 -0
  2. package/build/cjs/src/components/Popover/Popover.js +8 -3
  3. package/build/cjs/src/components/Sheet/Sheet.js +315 -0
  4. package/build/cjs/src/components/Toggletip/BasePopover.js +43 -8
  5. package/build/cjs/src/components/Tooltip/BaseTooltip.js +1 -1
  6. package/build/cjs/src/components/Tooltip/TooltipContent.js +41 -22
  7. package/build/cjs/src/components/UserHighlightTooltip/UserHighlightTooltip.js +1 -1
  8. package/build/cjs/src/index.js +2 -0
  9. package/build/cjs/src/shared/FocusTrapWrapper.js +41 -0
  10. package/build/cjs/src/shared/useDragDown.js +84 -0
  11. package/build/esm/build-tokens/_colors.json +9 -0
  12. package/build/esm/build-tokens/_sizes.json +1 -1
  13. package/build/esm/build-tokens/visualConfig.d.ts +8 -0
  14. package/build/esm/build-tokens/visualConfig.js +11 -0
  15. package/build/esm/build-tokens/visualConfig.js.map +1 -1
  16. package/build/esm/src/components/Popover/Popover.d.ts +2 -3
  17. package/build/esm/src/components/Popover/Popover.js +8 -3
  18. package/build/esm/src/components/Popover/Popover.js.map +1 -1
  19. package/build/esm/src/components/Sheet/Sheet.d.ts +15 -0
  20. package/build/esm/src/components/Sheet/Sheet.js +308 -0
  21. package/build/esm/src/components/Sheet/Sheet.js.map +1 -0
  22. package/build/esm/src/components/Toggletip/BasePopover.d.ts +5 -5
  23. package/build/esm/src/components/Toggletip/BasePopover.js +43 -7
  24. package/build/esm/src/components/Toggletip/BasePopover.js.map +1 -1
  25. package/build/esm/src/components/Toggletip/Toggletip.d.ts +1 -1
  26. package/build/esm/src/components/Toggletip/Toggletip.js.map +1 -1
  27. package/build/esm/src/components/Tooltip/BaseTooltip.js +1 -1
  28. package/build/esm/src/components/Tooltip/BaseTooltip.js.map +1 -1
  29. package/build/esm/src/components/Tooltip/TooltipContent.js +42 -23
  30. package/build/esm/src/components/Tooltip/TooltipContent.js.map +1 -1
  31. package/build/esm/src/components/UserHighlightTooltip/UserHighlightTooltip.js +1 -1
  32. package/build/esm/src/components/UserHighlightTooltip/UserHighlightTooltip.js.map +1 -1
  33. package/build/esm/src/index.d.ts +1 -0
  34. package/build/esm/src/index.js +1 -0
  35. package/build/esm/src/index.js.map +1 -1
  36. package/build/esm/src/shared/FocusTrapWrapper.d.ts +10 -0
  37. package/build/esm/src/shared/FocusTrapWrapper.js +35 -0
  38. package/build/esm/src/shared/FocusTrapWrapper.js.map +1 -0
  39. package/build/esm/src/shared/useDragDown.d.ts +13 -0
  40. package/build/esm/src/shared/useDragDown.js +83 -0
  41. package/build/esm/src/shared/useDragDown.js.map +1 -0
  42. package/build/scss/_theming.scss +2 -0
  43. package/build/scss/_variables.scss +1 -0
  44. 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":";;;;;;;;;AAoCA;AACA,MAAMA,wBAAwB,GAAG,GAAG,CAAA;AACpC;AACA,MAAMC,uBAAuB,GAAG,GAAG,CAAC;AACpC;AACA,MAAMC,0BAA0B,GAAG,EAAE,CAAA;AACrC;AACA,MAAMC,kBAAkB,GAAG,EAAE,CAAA;AAC7B;AACA,MAAMC,iBAAiB,GAAG,GAAG,CAAA;AAE7B,MAAMC,OAAO,GAAGC,SAAS,CAAC;AACxBC,EAAAA,IAAI,EAAE;AACJC,IAAAA,OAAO,EAAE,CAAA;GACV;AACDC,EAAAA,EAAE,EAAE;AACFD,IAAAA,OAAO,EAAE,CAAA;AACX,GAAA;AACF,CAAC,CAAC,CAAA;AACF,MAAME,MAAM,GAAGJ,SAAS,CAAC;AACvBC,EAAAA,IAAI,EAAE;AACJC,IAAAA,OAAO,EAAE,CAAA;GACV;AACDC,EAAAA,EAAE,EAAE;AACFD,IAAAA,OAAO,EAAE,CAAA;AACX,GAAA;AACF,CAAC,CAAC,CAAA;AASF,MAAMG,eAAe,gBAAGC,OAAA,CAAA,KAAA,EAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAA,YAAA,GAAA;EAAAC,MAAA,EAAA,WAAA;AAAA,CAAA,GAAA;EAAAA,MAAA,EAAA,WAAA;EAAAC,KAAA,EAAA,iBAAA;AAAA,CAAA,CAAA,CACtBC,IAAA,IAMM;EAAA,IANL;IACCC,KAAK;IACLC,eAAe;IACfC,SAAS;AACTC,IAAAA,UAAU,GAAG,CAAC;AACdC,IAAAA,mBAAAA;AACF,GAAC,GAAAL,IAAA,CAAA;AACC,EAAA,IAAIM,SAAS,CAAA;AACb,EAAA,IAAIJ,eAAe,EAAE;IACnB,MAAMK,QAAQ,GAAGnB,SAAS,CAAC;AACzBC,MAAAA,IAAI,EAAE;QACJmB,SAAS,EAAG,cAAaJ,UAAW,CAAA,GAAA,CAAA;OACrC;AACDb,MAAAA,EAAE,EAAE;QACFiB,SAAS,EAAG,cAAaN,eAAgB,CAAA,GAAA,CAAA;AAC3C,OAAA;AACF,KAAC,CAAC,CAAA;IACF,MAAMO,OAAO,GAAGrB,SAAS,CAAC;AACxBC,MAAAA,IAAI,EAAE;AACJmB,QAAAA,SAAS,EAAG,CAAA,WAAA,EAAaN,eAAe,GAAGG,mBAAoB,CAAA,GAAA,CAAA;OAChE;AACDd,MAAAA,EAAE,EAAE;AACFiB,QAAAA,SAAS,EAAG,CAAA,eAAA,CAAA;AACd,OAAA;AACF,KAAC,CAAC,CAAA;AAEF,IAAA,IAAIL,SAAS,EAAE;AACbG,MAAAA,SAAS,GAAI,CAAA,EAAEvB,uBAAwB,CAAA,qBAAA,EAAuBwB,QAAS,CAAC,CAAA,CAAA;AAC1E,KAAC,MAAM;AACL;AACAD,MAAAA,SAAS,GAAI,CAAA,EAAExB,wBAAyB,CAAA,qBAAA,EAAuB2B,OAAQ,CAAC,CAAA,CAAA;AAC1E,KAAA;AACF,GAAA;EAEA,OAAO;AACLC,IAAAA,QAAQ,EAAE,OAAO;AACjBC,IAAAA,IAAI,EAAE,CAAC;AACPC,IAAAA,MAAM,EAAE,CAAC;AACTC,IAAAA,KAAK,EAAE,OAAO;AACdC,IAAAA,eAAe,EAAE,QAAQ;IACzBR,SAAS;AACTS,IAAAA,SAAS,EAAE,YAAY;AACvBC,IAAAA,MAAM,EAAEf,KAAK,CAACgB,SAAS,CAACD,MAAM,CAACE,KAAK;AAEpC;AACA,IAAA,OAAO,EAAE;AACPC,MAAAA,sBAAsB,EAAE,CAAC;AACzBC,MAAAA,uBAAuB,EAAE,CAAA;AAC3B,KAAA;GACD,CAAA;AACH,CAAC,EAAAzB,OAAA,CAAAC,GAAA,CAAAC,QAAA,0reACH,CAAC,CAAA;AAMD,MAAMwB,sBAAsB,gBAAG3B,OAAA,CAAA,KAAA,EAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAA,YAAA,GAAA;EAAAC,MAAA,EAAA,WAAA;AAAA,CAAA,GAAA;EAAAA,MAAA,EAAA,WAAA;EAAAC,KAAA,EAAA,wBAAA;AAAA,CAAA,CAAA,CAC7BuB,KAAA,IAA0B;EAAA,IAAzB;IAAErB,KAAK;AAAEE,IAAAA,SAAAA;AAAU,GAAC,GAAAmB,KAAA,CAAA;AACnB,EAAA,MAAMhB,SAAS,GAAGH,SAAS,GACtB,CAAEnB,EAAAA,0BAA2B,wBAAuBG,OAAQ,CAAA,CAAC,GAC7D,CAAA,EAAEH,0BAA2B,CAC5BF,YAAAA,EAAAA,wBAAwB,GAAGE,0BAC5B,CAAA,YAAA,EAAcQ,MAAO,CAAC,CAAA,CAAA;EAE3B,OAAO;AACL+B,IAAAA,QAAQ,EAAE,MAAM;IAChBC,SAAS,EAAG,CAAEvC,EAAAA,kBAAmB,CAAG,EAAA,CAAA;AACpC8B,IAAAA,SAAS,EAAE,YAAY;AACvBU,IAAAA,kBAAkB,EAAE,MAAM;IAC1BC,eAAe,EAAEzB,KAAK,CAAC0B,MAAM,CAACC,KAAK,CAACC,UAAU,CAACC,QAAQ,CAACC,OAAO;AAC/DzC,IAAAA,OAAO,EAAE,CAAC;AACVgB,IAAAA,SAAAA;GACD,CAAA;AACH,CAAC,EAAAX,OAAA,CAAAC,GAAA,CAAAC,QAAA,0reACH,CAAC,CAAA;AAKD,MAAMmC,qBAAqB,gBAAGtC,OAAA,CAAA,KAAA,EAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAA,YAAA,GAAA;EAAAC,MAAA,EAAA,WAAA;AAAA,CAAA,GAAA;EAAAA,MAAA,EAAA,WAAA;EAAAC,KAAA,EAAA,uBAAA;AAAA,CAAA,CAAA,CAC5BkC,KAAA,IAAA;EAAA,IAAC;IAAEhC,KAAK;AAAEiC,IAAAA,0BAAAA;AAA2B,GAAC,GAAAD,KAAA,CAAA;EAAA,OAAM;IAC1CE,OAAO,EAAG,CAAElC,EAAAA,KAAK,CAACgB,SAAS,CAACmB,IAAI,CAACC,OAAO,CAACC,EAAG,CAAG,EAAA,CAAA;AAC/CC,IAAAA,OAAO,EAAE,MAAM;AACfC,IAAAA,cAAc,EAAE,QAAQ;IACxBd,eAAe,EAAEzB,KAAK,CAAC0B,MAAM,CAACC,KAAK,CAACC,UAAU,CAACC,QAAQ,CAACC,OAAO;AAE/D,IAAA,IAAIG,0BAA0B,IAAI;AAChCO,MAAAA,SAAS,EAAExC,KAAK,CAAC0B,MAAM,CAACe,SAAS,CAACC,CAAAA;KACnC,CAAA;GACF,CAAA;AAAA,CAAC,EAAAhD,OAAA,CAAAC,GAAA,CAAAC,QAAA,0reACJ,CAAC,CAAA;AAED,MAAM+C,YAAY,gBAAGlD,OAAA,CAAA,KAAA,EAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAA,YAAA,GAAA;EAAAC,MAAA,EAAA,WAAA;AAAA,CAAA,GAAA;EAAAA,MAAA,EAAA,WAAA;EAAAC,KAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAW8C,KAAA,IAAA;EAAA,IAAC;AAAE5C,IAAAA,KAAAA;AAAM,GAAC,GAAA4C,KAAA,CAAA;EAAA,OAAM;AAC9ChC,IAAAA,KAAK,EAAE,MAAM;AACbiC,IAAAA,MAAM,EAAE,KAAK;IACbC,YAAY,EAAE9C,KAAK,CAACgB,SAAS,CAACmB,IAAI,CAACW,YAAY,CAACT,EAAE;IAClDZ,eAAe,EAAEzB,KAAK,CAAC0B,MAAM,CAACC,KAAK,CAACoB,OAAO,CAACC,SAAAA;GAC7C,CAAA;AAAA,CAAC,EAAAtD,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAC,YAAA,GAAA,EAAA,GAAA,iqeAAA,CAAA,CAAA;AAEI,SAASqD,KAAKA,CAAAC,KAAA,EAWc;EAAA,IAXb;IACpBC,EAAE;IACFC,QAAQ;IACRC,SAAS;IACTC,OAAO;IACPC,SAAS;IACTC,eAAe;AACfC,IAAAA,qBAAqB,GAAG,IAAI;IAC5BC,mBAAmB;IACnBC,2BAA2B;AAC3B,IAAA,kBAAkB,EAAEC,aAAAA;AACV,GAAC,GAAAV,KAAA,CAAA;EACX,MAAM,CAAChD,SAAS,EAAE2D,UAAU,CAAC,GAAGC,QAAQ,CAAC,KAAK,CAAC,CAAA;EAC/C,MAAM,CAAC7D,eAAe,EAAE8D,kBAAkB,CAAC,GAAGD,QAAQ,CAAC,CAAC,CAAC,CAAA;EACzD,MAAM,CAAC7B,0BAA0B,EAAE+B,2BAA2B,CAAC,GAC7DF,QAAQ,CAAC,KAAK,CAAC,CAAA;AACjB,EAAA,MAAMG,YAAY,GAAGC,MAAM,CAAC,IAAI,CAAC,CAAA;AACjC,EAAA,MAAMC,mBAAmB,GAAGD,MAAM,CAAC,IAAI,CAAC,CAAA;AACxC,EAAA,MAAME,gBAAgB,GAAGF,MAAM,CAAC,KAAK,CAAC,CAAA;AACtC,EAAA,MAAM9D,mBAAmB,GAAG8D,MAAM,CAAC,CAAC,CAAC,CAAA;AACrC,EAAA,MAAM/D,UAAU,GAAG+D,MAAM,CAAC,CAAC,CAAC,CAAA;AAC5B,EAAA,MAAMG,aAAa,GAAGH,MAAM,CAAC,KAAK,CAAC,CAAA;AAEnCI,EAAAA,eAAe,CAAC,MAAM;AACpB,IAAA,IAAIjB,SAAS,IAAIY,YAAY,CAACM,OAAO,EAAE;MACrC,MAAMC,aAAa,GAAGP,YAAY,CAACM,OAAO,CAACE,qBAAqB,EAAE,CAAA;AAElEV,MAAAA,kBAAkB,CAACS,aAAa,CAAC3B,MAAM,CAAC,CAAA;AAC1C,KAAA;AACF,GAAC,EAAE,CAACQ,SAAS,EAAED,QAAQ,CAAC,CAAC,CAAA;AAEzBsB,EAAAA,SAAS,CAAC,MAAM;AACd;AACA,IAAA,IAAI,CAACrB,SAAS,IAAIe,gBAAgB,CAACG,OAAO,EAAE;MAC1CV,UAAU,CAAC,IAAI,CAAC,CAAA;AAClB,KAAA;IACAO,gBAAgB,CAACG,OAAO,GAAGlB,SAAS,CAAA;AACtC,GAAC,EAAE,CAACA,SAAS,CAAC,CAAC,CAAA;AAEfqB,EAAAA,SAAS,CAAC,MAAM;IACd,IAAIrB,SAAS,IAAInD,SAAS,EAAE;AAC1B;AACAoD,MAAAA,OAAO,EAAE,CAAA;AACX,KAAA;GACD,EAAE,CAACD,SAAS,EAAEnD,SAAS,EAAEoD,OAAO,CAAC,CAAC,CAAA;AAEnCoB,EAAAA,SAAS,CAAC,MAAM;IACdtE,mBAAmB,CAACmE,OAAO,GAAGtE,eAAe,CAAA;AAC/C,GAAC,EAAE,CAACA,eAAe,CAAC,CAAC,CAAA;AAErB,EAAA,MAAM0E,eAAe,GAAGC,WAAW,CAAC,MAAM;AACxCC,IAAAA,qBAAqB,CAAC,MAAM;AAC1B,MAAA,IAAIV,mBAAmB,CAACI,OAAO,CAACO,SAAS,KAAK,CAAC,EAAE;AAC/C;AACAb,QAAAA,YAAY,CAACM,OAAO,CAACQ,KAAK,CAAC1E,SAAS,GAAG,MAAM,CAAA;AAC7C4D,QAAAA,YAAY,CAACM,OAAO,CAACQ,KAAK,CAACC,UAAU,GAAG,qBAAqB,CAAA;AAC7Df,QAAAA,YAAY,CAACM,OAAO,CAACQ,KAAK,CAACxE,SAAS,GAAG,iBAAiB,CAAA;QACxDJ,UAAU,CAACoE,OAAO,GAAG,CAAC,CAAA;QACtBF,aAAa,CAACE,OAAO,GAAG,IAAI,CAAA;AAC9B,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAC,EAAE,CAACN,YAAY,EAAEE,mBAAmB,CAAC,CAAC,CAAA;EAEvC,MAAMc,UAAU,GAAGL,WAAW,CAC5B,CAACM,CAAC,EAAEC,eAAe,KAAK;IACtB,MAAMC,sBAAsB,GAC1BnB,YAAY,CAACM,OAAO,CAACE,qBAAqB,EAAE,CAAC5B,MAAM,CAAA;AAErDgC,IAAAA,qBAAqB,CAAC,MAAM;AAC1B,MAAA,IACER,aAAa,CAACE,OAAO,IACrBJ,mBAAmB,CAACI,OAAO,CAACO,SAAS,KAAK,CAAC,IAC3CK,eAAe,GAAGC,sBAAsB,EACxC;QACAnB,YAAY,CAACM,OAAO,CAACQ,KAAK,CAACxE,SAAS,GAAI,CAAa4E,WAAAA,EAAAA,eAAgB,CAAI,GAAA,CAAA,CAAA;QACzEhF,UAAU,CAACoE,OAAO,GAAGY,eAAe,CAAA;AACtC,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAC,EACD,CAAClB,YAAY,EAAEE,mBAAmB,CACpC,CAAC,CAAA;EAED,MAAMkB,aAAa,GAAGT,WAAW,CAC/B,CAACM,CAAC,EAAEC,eAAe,KAAK;IACtB,MAAMC,sBAAsB,GAC1BnB,YAAY,CAACM,OAAO,CAACE,qBAAqB,EAAE,CAAC5B,MAAM,CAAA;AACrD;AACA,IAAA,MAAMyC,eAAe,GACnBF,sBAAsB,GAAGnG,iBAAiB,GAAG,CAAC,GAC1CmG,sBAAsB,GAAG,CAAC,GAC1BnG,iBAAiB,CAAA;AAEvB4F,IAAAA,qBAAqB,CAAC,MAAM;MAC1B,IAAIR,aAAa,CAACE,OAAO,EAAE;QACzB,IACEY,eAAe,IAAIG,eAAe,IAClCnB,mBAAmB,CAACI,OAAO,CAACO,SAAS,KAAK,CAAC,EAC3C;AACAxB,UAAAA,OAAO,EAAE,CAAA;AACX,SAAC,MAAM;AACLW,UAAAA,YAAY,CAACM,OAAO,CAACQ,KAAK,CAACxE,SAAS,GAAG,iBAAiB,CAAA;UACxDJ,UAAU,CAACoE,OAAO,GAAG,CAAC,CAAA;AACxB,SAAA;AACF,OAAA;MACAF,aAAa,CAACE,OAAO,GAAG,KAAK,CAAA;AAC/B,KAAC,CAAC,CAAA;AACJ,GAAC,EACD,CAACN,YAAY,EAAEX,OAAO,CACxB,CAAC,CAAA;AAED,EAAA,MAAMiC,gBAAgB,GAAGX,WAAW,CAAC,MAAM;AACzCC,IAAAA,qBAAqB,CAAC,MAAM;MAC1B,IAAIR,aAAa,CAACE,OAAO,EAAE;AACzBN,QAAAA,YAAY,CAACM,OAAO,CAACQ,KAAK,CAACxE,SAAS,GAAG,iBAAiB,CAAA;QACxDJ,UAAU,CAACoE,OAAO,GAAG,CAAC,CAAA;AACxB,OAAA;MACAF,aAAa,CAACE,OAAO,GAAG,KAAK,CAAA;AAC/B,KAAC,CAAC,CAAA;AACJ,GAAC,EAAE,CAACN,YAAY,CAAC,CAAC,CAAA;AAElBuB,EAAAA,WAAW,CAAC;AACVC,IAAAA,GAAG,EAAExB,YAAY;AACjBZ,IAAAA,SAAS,EAAEA,SAAS,IAAI,CAACpB,0BAA0B;AACnDyD,IAAAA,WAAW,EAAEf,eAAe;AAC5BgB,IAAAA,MAAM,EAAEV,UAAU;AAClBW,IAAAA,SAAS,EAAEP,aAAa;AACxBQ,IAAAA,YAAY,EAAEN,gBAAAA;AAChB,GAAC,CAAC,CAAA;EAEF,MAAMO,sBAAsB,GAAGA,MAAM;AACnC,IAAA,IAAI5F,SAAS,EAAE;MACb2D,UAAU,CAAC,KAAK,CAAC,CAAA;MACjBE,kBAAkB,CAAC,CAAC,CAAC,CAAA;MACrB5D,UAAU,CAACoE,OAAO,GAAG,CAAC,CAAA;AAEtB,MAAA,IAAIhB,SAAS,EAAE;AACbA,QAAAA,SAAS,EAAE,CAAA;AACb,OAAA;AACF,KAAA;GACD,CAAA;EAED,MAAMwC,4BAA4B,GAAGA,MAAM;AACzC/B,IAAAA,2BAA2B,CACzBG,mBAAmB,CAACI,OAAO,IAAIJ,mBAAmB,CAACI,OAAO,CAACO,SAAS,KAAK,CAC3E,CAAC,CAAA;GACF,CAAA;EAED,MAAMkB,SAAS,GAAG,CAAC3C,SAAS,IAAInD,SAAS,KAAK,EAAEmD,SAAS,IAAInD,SAAS,CAAC,CAAA;AAEvE,EAAA,IAAI,CAAC8F,SAAS,EAAE,OAAO,IAAI,CAAA;AAE3B,EAAA,MAAMC,YAAY,GAAG;AACnBC,IAAAA,IAAI,EAAE;AACJ5E,MAAAA,QAAQ,EAAE,QAAQ;AAClBE,MAAAA,kBAAkB,EAAE,MAAA;AACtB,KAAA;GACD,CAAA;EAED,MAAM2E,MAAM,GAAGhD,EAAE,GACb;AACEA,IAAAA,EAAAA;GACD,GACD,EAAE,CAAA;AAEN,EAAA,MAAMiD,QAAQ,gBACZC,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EACEF,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACE,MAAM,EAAA;AAACC,IAAAA,MAAM,EAAER,YAAAA;AAAa,GAAE,CAAC,eAChCI,KAAA,CAAAC,aAAA,CAACI,gBAAgB,EAAA;AACfC,IAAAA,gBAAgB,EAAE;AAChBC,MAAAA,uBAAuB,EAAEnD,qBAAqB;AAC9CoD,MAAAA,iBAAiB,EAAE,IAAI;AACvBC,MAAAA,aAAa,EAAE,IAAI;AACnBC,MAAAA,YAAY,EAAEA,MAAM,CAACrD,mBAAmB;MACxCsD,uBAAuB,EAAE,CAACrD,2BAA2B;AACrDsD,MAAAA,aAAa,EAAG,CAAqB,oBAAA,CAAA;MACrCC,gBAAgB,EAAEA,MAAM;AACtB5D,QAAAA,OAAO,EAAE,CAAA;AACX,OAAA;AACF,KAAA;GAEA+C,eAAAA,KAAA,CAAAC,aAAA,CAAC9G,eAAe,EAAA2H,QAAA,KACVhB,MAAM,EAAA;AAAE;AACZ,IAAA,kBAAA,EAAkBvC,aAAc;AAChC,IAAA,YAAA,EAAW,OAAO;AAClBP,IAAAA,SAAS,EAAEA,SAAU;AACrBpD,IAAAA,eAAe,EAAEA,eAAgB;AACjCC,IAAAA,SAAS,EAAEA,SAAU;AACrBuF,IAAAA,GAAG,EAAExB,YAAa;IAClB9D,UAAU,EAAEA,UAAU,CAACoE,OAAQ;IAC/BnE,mBAAmB,EAAEA,mBAAmB,CAACmE,OAAQ;AACjD6C,IAAAA,cAAc,EAAEtB,sBAAAA;AAAuB,GAAA,CAAA,eAEvCO,KAAA,CAAAC,aAAA,CAACe,SAAS,EAAA;AAAC5E,IAAAA,SAAS,EAAE,CAAA;AAAE,GAAA,eACtB4D,KAAA,CAAAC,aAAA,CAACvE,qBAAqB,EAAA;AACpBE,IAAAA,0BAA0B,EAAEA,0BAAAA;AAA2B,GAAA,eAEvDoE,KAAA,CAAAC,aAAA,CAAC3D,YAAY,EAAA,IAAE,CACM,CAAC,eACxB0D,KAAA,CAAAC,aAAA,CAAClF,sBAAsB,EAAA;AACrBlB,IAAAA,SAAS,EAAEA,SAAU;AACrBuF,IAAAA,GAAG,EAAEtB,mBAAoB;AACzBmD,IAAAA,QAAQ,EAAEvB,4BAA6B;AACvCqB,IAAAA,cAAc,EAAGG,GAAG,IAAKA,GAAG,CAACC,eAAe,EAAC;AAAE,GAAA,EAE9CpE,QACqB,CACf,CACI,CACD,CAClB,CACH,CAAA;EAED,oBAAOqE,YAAY,CAACrB,QAAQ,EAAE5C,eAAe,IAAIkE,QAAQ,CAACC,IAAI,CAAC,CAAA;AACjE;;;;"}
@@ -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
- type BasePopoverInternalProps = BaseProps & TooltipConditionalProps & Pick<TooltipContentProps, "defaultVerticalPlacement">;
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 toggleVisibility = useCallback(status => {
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
- const contentElm = /*#__PURE__*/React.createElement(FocusTrap, {
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
- onDeactivate: () => {
113
- toggleVisibility(false);
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,