@amboss/design-system 1.20.4 → 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/build/cjs/build-tokens/visualConfig.js +5 -0
  2. package/build/cjs/src/components/Popover/Popover.js +8 -3
  3. package/build/cjs/src/components/Sheet/Sheet.js +307 -0
  4. package/build/cjs/src/components/Toggletip/BasePopover.js +43 -8
  5. package/build/cjs/src/components/Tooltip/TooltipContent.js +3 -3
  6. package/build/cjs/src/index.js +2 -0
  7. package/build/cjs/src/shared/FocusTrapWrapper.js +41 -0
  8. package/build/cjs/src/shared/useDragDown.js +84 -0
  9. package/build/esm/build-tokens/visualConfig.d.ts +5 -0
  10. package/build/esm/build-tokens/visualConfig.js +5 -0
  11. package/build/esm/build-tokens/visualConfig.js.map +1 -1
  12. package/build/esm/src/components/Popover/Popover.d.ts +2 -3
  13. package/build/esm/src/components/Popover/Popover.js +8 -3
  14. package/build/esm/src/components/Popover/Popover.js.map +1 -1
  15. package/build/esm/src/components/Sheet/Sheet.d.ts +15 -0
  16. package/build/esm/src/components/Sheet/Sheet.js +300 -0
  17. package/build/esm/src/components/Sheet/Sheet.js.map +1 -0
  18. package/build/esm/src/components/Toggletip/BasePopover.d.ts +5 -5
  19. package/build/esm/src/components/Toggletip/BasePopover.js +43 -7
  20. package/build/esm/src/components/Toggletip/BasePopover.js.map +1 -1
  21. package/build/esm/src/components/Toggletip/Toggletip.d.ts +1 -1
  22. package/build/esm/src/components/Toggletip/Toggletip.js.map +1 -1
  23. package/build/esm/src/components/Tooltip/TooltipContent.js +3 -3
  24. package/build/esm/src/components/Tooltip/TooltipContent.js.map +1 -1
  25. package/build/esm/src/index.d.ts +1 -0
  26. package/build/esm/src/index.js +1 -0
  27. package/build/esm/src/index.js.map +1 -1
  28. package/build/esm/src/shared/FocusTrapWrapper.d.ts +10 -0
  29. package/build/esm/src/shared/FocusTrapWrapper.js +35 -0
  30. package/build/esm/src/shared/FocusTrapWrapper.js.map +1 -0
  31. package/build/esm/src/shared/useDragDown.d.ts +13 -0
  32. package/build/esm/src/shared/useDragDown.js +83 -0
  33. package/build/esm/src/shared/useDragDown.js.map +1 -0
  34. package/package.json +1 -1
@@ -0,0 +1,300 @@
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
+ prevVisibleState
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}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 if (!prevVisibleState) {
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/OiBib29sZWFuO1xuICBkcmFnT2Zmc2V0PzogbnVtYmVyO1xuICBwcmV2VmlzaWJsZVN0YXRlPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkQ29udGFpbmVyUHJvcHM+KFxuICAoeyB0aGVtZSwgY29udGFpbmVySGVpZ2h0LCBpc0Nsb3NpbmcsIGRyYWdPZmZzZXQgPSAwLCBwcmV2VmlzaWJsZVN0YXRlIH0pID0+IHtcbiAgICBsZXQgYW5pbWF0aW9uO1xuICAgIGlmIChjb250YWluZXJIZWlnaHQpIHtcbiAgICAgIGNvbnN0IHNsaWRlT3V0ID0ga2V5ZnJhbWVzKHtcbiAgICAgICAgZnJvbToge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtkcmFnT2Zmc2V0fXB4KWAsXG4gICAgICAgIH0sXG4gICAgICAgIHRvOiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgke2NvbnRhaW5lckhlaWdodH1weClgLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBjb25zdCBzbGlkZUluID0ga2V5ZnJhbWVzKHtcbiAgICAgICAgZnJvbToge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtjb250YWluZXJIZWlnaHR9cHgpYCxcbiAgICAgICAgfSxcbiAgICAgICAgdG86IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKDBweClgLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChpc0Nsb3NpbmcpIHtcbiAgICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0VYSVR9bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHtzbGlkZU91dH1gO1xuICAgICAgfSBlbHNlIGlmICghcHJldlZpc2libGVTdGF0ZSkge1xuICAgICAgICAvLyBzZXQgZW50cnkgYW5pbWF0aW9uIG9ubHkgZm9yIHRoZSBmaXJzdCB0aW1lIGFmdGVyIHNoZWV0IGlzIHZpc2libGVcbiAgICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7c2xpZGVJbn1gO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgICAgbGVmdDogMCxcbiAgICAgIGJvdHRvbTogMCxcbiAgICAgIHdpZHRoOiBcIjEwMHZ3XCIsXG4gICAgICB0cmFuc2Zvcm1PcmlnaW46IFwiYm90dG9tXCIsXG4gICAgICBhbmltYXRpb24sXG4gICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgekluZGV4OiB0aGVtZS52YXJpYWJsZXMuekluZGV4Lm1vZGFsLFxuXG4gICAgICAvLyBSZW1vdmUgYm90dG9tIGJvcmRlciByYWRpdXMgb2YgRFMgQ29udGFpbmVyXG4gICAgICBcIj4gZGl2XCI6IHtcbiAgICAgICAgYm9yZGVyQm90dG9tTGVmdFJhZGl1czogMCxcbiAgICAgICAgYm9yZGVyQm90dG9tUmlnaHRSYWRpdXM6IDAsXG4gICAgICB9LFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkQ29udGVudENvbnRhaW5lclByb3BzID0ge1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGVudENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkQ29udGVudENvbnRhaW5lclByb3BzPihcbiAgKHsgaXNDbG9zaW5nIH0pID0+IHtcbiAgICBjb25zdCBhbmltYXRpb24gPSBpc0Nsb3NpbmdcbiAgICAgID8gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlR9bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHtmYWRlT3V0fWBcbiAgICAgIDogYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlR9bXMgZWFzZS1vdXQgJHtcbiAgICAgICAgICBBTklNQVRJT05fRFVSQVRJT05fRU5UUlkgLSBBTklNQVRJT05fRFVSQVRJT05fQ09OVEVOVFxuICAgICAgICB9bXMgZm9yd2FyZHMgJHtmYWRlSW59YDtcblxuICAgIHJldHVybiB7XG4gICAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgICBtYXhIZWlnaHQ6IGAke01BWF9IRUlHSFRfUEVSQ0VOVH12aGAsXG4gICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgb3ZlcnNjcm9sbEJlaGF2aW9yOiBcIm5vbmVcIixcbiAgICAgIG9wYWNpdHk6IDAsXG4gICAgICBhbmltYXRpb24sXG4gICAgfTtcbiAgfVxuKTtcblxudHlwZSBTdHlsZWRIYW5kbGVDb250YWluZXJQcm9wcyA9IHtcbiAgaXNDb250ZW50Q29udGFpbmVyU2Nyb2xsZWQ/OiBib29sZWFuO1xufTtcbmNvbnN0IFN0eWxlZEhhbmRsZUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkSGFuZGxlQ29udGFpbmVyUHJvcHM+KFxuICAoeyB0aGVtZSwgaXNDb250ZW50Q29udGFpbmVyU2Nyb2xsZWQgfSkgPT4gKHtcbiAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzfSAwYCxcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcblxuICAgIC4uLihpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZCAmJiB7XG4gICAgICBib3hTaGFkb3c6IHRoZW1lLnZhbHVlcy5lbGV2YXRpb24uYSxcbiAgICB9KSxcbiAgfSlcbik7XG5cbmNvbnN0IFN0eWxlZEhhbmRsZSA9IHN0eWxlZC5kaXYoKHsgdGhlbWUgfSkgPT4gKHtcbiAgd2lkdGg6IFwiODBweFwiLFxuICBoZWlnaHQ6IFwiNHB4XCIsXG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzLFxuICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5kaXZpZGVyLnByaW1hcnksXG59KSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBTaGVldCh7XG4gIGlkLFxuICBjaGlsZHJlbixcbiAgaXNWaXNpYmxlLFxuICBvbkNsb3NlLFxuICBvblVubW91bnQsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrID0gdHJ1ZSxcbiAgZGlzYWJsZUluaXRpYWxGb2N1cyxcbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IFNoZWV0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbaXNDbG9zaW5nLCBzZXRDbG9zaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2NvbnRhaW5lckhlaWdodCwgc2V0Q29udGFpbmVySGVpZ2h0XSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBbaXNDb250ZW50Q29udGFpbmVyU2Nyb2xsZWQsIHNldENvbnRlbnRDb250YWluZXJTY3JvbGxlZF0gPVxuICAgIHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBjb250ZW50Q29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBwcmV2VmlzaWJsZVN0YXRlID0gdXNlUmVmKGlzVmlzaWJsZSk7XG4gIGNvbnN0IGRyYWdPZmZzZXQgPSB1c2VSZWYoMCk7XG4gIGNvbnN0IGlzRHJhZ1N0YXJ0ZWQgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyUmVjdC5oZWlnaHQpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2hpbGRyZW5dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFN0YXJ0IGNsb3Npbmcgc2hlZXQgaWYgcHJldmlvdXNseSBvcGVuZWRcbiAgICBpZiAoIWlzVmlzaWJsZSAmJiBwcmV2VmlzaWJsZVN0YXRlLmN1cnJlbnQpIHtcbiAgICAgIHNldENsb3NpbmcodHJ1ZSk7XG4gICAgfVxuICAgIHByZXZWaXNpYmxlU3RhdGUuY3VycmVudCA9IGlzVmlzaWJsZTtcbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBpc0Nsb3NpbmcpIHtcbiAgICAgIC8vIFNvbWV0aW1lcywgcGFyZW50IGNvbXBvbmVudCBjYW4gcmUtb3BlbiBzaGVldCB3aGlsZSBpdCBpcyBzdGlsbCBjbG9zaW5nLiBUbyBwcmV2ZW50IHRoaXMsIHdlIGNhbGwgb25DbG9zZSBhZ2FpblxuICAgICAgb25DbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgaXNDbG9zaW5nLCBvbkNsb3NlXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ1N0YXJ0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9PT0gMCkge1xuICAgICAgICAvLyBSZW1vdmUgZXhpc3RpbmcgYW5pbWF0aW9uLCBvdGhlcndpc2UgdHJhbnNmb3JtIGRvZXNuJ3Qgd29ya1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS5hbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNpdGlvbiA9IFwidHJhbnNmb3JtIDAuMXMgZWFzZVwiO1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9LCBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZyA9IHVzZUNhbGxiYWNrKFxuICAgIChfLCBvZmZzZXRGcm9tU3RhcnQpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lckN1cnJlbnRIZWlnaHQgPVxuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgJiZcbiAgICAgICAgICBjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0IDwgY29udGFpbmVyQ3VycmVudEhlaWdodFxuICAgICAgICApIHtcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke29mZnNldEZyb21TdGFydH1weClgO1xuICAgICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IG9mZnNldEZyb21TdGFydDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyYWdFbmQgPSB1c2VDYWxsYmFjayhcbiAgICAoXywgb2Zmc2V0RnJvbVN0YXJ0KSA9PiB7XG4gICAgICBjb25zdCBjb250YWluZXJDdXJyZW50SGVpZ2h0ID1cbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xuICAgICAgLy8gQ2xvc2Ugc2hlZXQgb25seSB3aGVuIGRyYWcgZGlzdGFuY2UgaXMgYSBxdWFydGVyIG9mIGNvbnRhaW5lciBoZWlnaHRcbiAgICAgIGNvbnN0IG1pbkRyYWdEaXN0YW5jZSA9XG4gICAgICAgIGNvbnRhaW5lckN1cnJlbnRIZWlnaHQgPCBNSU5fRFJBR19ESVNUQU5DRSAqIDJcbiAgICAgICAgICA/IGNvbnRhaW5lckN1cnJlbnRIZWlnaHQgLyA0XG4gICAgICAgICAgOiBNSU5fRFJBR19ESVNUQU5DRTtcblxuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgaWYgKGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCkge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIG9mZnNldEZyb21TdGFydCA+PSBtaW5EcmFnRGlzdGFuY2UgJiZcbiAgICAgICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudC5zY3JvbGxUb3AgPT09IDBcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIG9uQ2xvc2UoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtID0gXCJ0cmFuc2xhdGVZKDBweClcIjtcbiAgICAgICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBvbkNsb3NlXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyYWdDYW5jZWwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGlmIChpc0RyYWdTdGFydGVkLmN1cnJlbnQpIHtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtID0gXCJ0cmFuc2xhdGVZKDBweClcIjtcbiAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgIH1cbiAgICAgIGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCA9IGZhbHNlO1xuICAgIH0pO1xuICB9LCBbY29udGFpbmVyUmVmXSk7XG5cbiAgdXNlRHJhZ0Rvd24oe1xuICAgIHJlZjogY29udGFpbmVyUmVmLFxuICAgIGlzVmlzaWJsZTogaXNWaXNpYmxlICYmICFpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZCxcbiAgICBvbkRyYWdTdGFydDogaGFuZGxlRHJhZ1N0YXJ0LFxuICAgIG9uRHJhZzogaGFuZGxlRHJhZyxcbiAgICBvbkRyYWdFbmQ6IGhhbmRsZURyYWdFbmQsXG4gICAgb25EcmFnQ2FuY2VsOiBoYW5kbGVEcmFnQ2FuY2VsLFxuICB9KTtcblxuICBjb25zdCBoYW5kbGVFeGl0QW5pbWF0aW9uRW5kID0gKCkgPT4ge1xuICAgIGlmIChpc0Nsb3NpbmcpIHtcbiAgICAgIHNldENsb3NpbmcoZmFsc2UpO1xuICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcblxuICAgICAgaWYgKG9uVW5tb3VudCkge1xuICAgICAgICBvblVubW91bnQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ29udGVudENvbnRhaW5lclNjcm9sbCA9ICgpID0+IHtcbiAgICBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWQoXG4gICAgICBjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnQgJiYgY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCAhPT0gMFxuICAgICk7XG4gIH07XG5cbiAgY29uc3Qgc2hvd1NoZWV0ID0gKGlzVmlzaWJsZSB8fCBpc0Nsb3NpbmcpICYmICEoaXNWaXNpYmxlICYmIGlzQ2xvc2luZyk7XG5cbiAgaWYgKCFzaG93U2hlZXQpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IGdsb2JhbFN0eWxlcyA9IHtcbiAgICBodG1sOiB7XG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBpZFByb3AgPSBpZFxuICAgID8ge1xuICAgICAgICBpZCxcbiAgICAgIH1cbiAgICA6IHt9O1xuXG4gIGNvbnN0IHNoZWV0RWxtID0gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsIHN0eWxlcz17Z2xvYmFsU3R5bGVzfSAvPlxuICAgICAgPEZvY3VzVHJhcFdyYXBwZXJcbiAgICAgICAgZm9jdXNUcmFwT3B0aW9ucz17e1xuICAgICAgICAgIGNsaWNrT3V0c2lkZURlYWN0aXZhdGVzOiBkaXNtaXNzT25PdXRzaWRlQ2xpY2ssXG4gICAgICAgICAgZXNjYXBlRGVhY3RpdmF0ZXM6IHRydWUsXG4gICAgICAgICAgcHJldmVudFNjcm9sbDogdHJ1ZSxcbiAgICAgICAgICBpbml0aWFsRm9jdXM6ICgpID0+ICFkaXNhYmxlSW5pdGlhbEZvY3VzLFxuICAgICAgICAgIHJldHVybkZvY3VzT25EZWFjdGl2YXRlOiAhZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICAgICAgICAgIGZhbGxiYWNrRm9jdXM6IGBbZGF0YS1kcy1pZD1cIlNoZWV0XCJdYCxcbiAgICAgICAgICBvblBvc3REZWFjdGl2YXRlOiAoKSA9PiB7XG4gICAgICAgICAgICBvbkNsb3NlKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgICAgIHsuLi5pZFByb3B9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZ1xuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlNoZWV0XCJcbiAgICAgICAgICBpc1Zpc2libGU9e2lzVmlzaWJsZX1cbiAgICAgICAgICBjb250YWluZXJIZWlnaHQ9e2NvbnRhaW5lckhlaWdodH1cbiAgICAgICAgICBpc0Nsb3Npbmc9e2lzQ2xvc2luZ31cbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICBkcmFnT2Zmc2V0PXtkcmFnT2Zmc2V0LmN1cnJlbnR9XG4gICAgICAgICAgcHJldlZpc2libGVTdGF0ZT17cHJldlZpc2libGVTdGF0ZS5jdXJyZW50fVxuICAgICAgICAgIG9uQW5pbWF0aW9uRW5kPXtoYW5kbGVFeGl0QW5pbWF0aW9uRW5kfVxuICAgICAgICA+XG4gICAgICAgICAgPENvbnRhaW5lciBlbGV2YXRpb249ezR9PlxuICAgICAgICAgICAgPFN0eWxlZEhhbmRsZUNvbnRhaW5lclxuICAgICAgICAgICAgICBpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZD17aXNDb250ZW50Q29udGFpbmVyU2Nyb2xsZWR9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdHlsZWRIYW5kbGUgLz5cbiAgICAgICAgICAgIDwvU3R5bGVkSGFuZGxlQ29udGFpbmVyPlxuICAgICAgICAgICAgPFN0eWxlZENvbnRlbnRDb250YWluZXJcbiAgICAgICAgICAgICAgaXNDbG9zaW5nPXtpc0Nsb3Npbmd9XG4gICAgICAgICAgICAgIHJlZj17Y29udGVudENvbnRhaW5lclJlZn1cbiAgICAgICAgICAgICAgb25TY3JvbGw9e2hhbmRsZUNvbnRlbnRDb250YWluZXJTY3JvbGx9XG4gICAgICAgICAgICAgIG9uQW5pbWF0aW9uRW5kPXsoZXZ0KSA9PiBldnQuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvU3R5bGVkQ29udGVudENvbnRhaW5lcj5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9TdHlsZWRDb250YWluZXI+XG4gICAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICAgPC8+XG4gICk7XG5cbiAgcmV0dXJuIGNyZWF0ZVBvcnRhbChzaGVldEVsbSwgcG9ydGFsQ29udGFpbmVyIHx8IGRvY3VtZW50LmJvZHkpO1xufVxuIl19 */");
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
+ isClosing
98
+ } = _ref2;
99
+ 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}`;
100
+ return {
101
+ overflow: "auto",
102
+ maxHeight: `${MAX_HEIGHT_PERCENT}vh`,
103
+ boxSizing: "border-box",
104
+ overscrollBehavior: "none",
105
+ opacity: 0,
106
+ animation
107
+ };
108
+ }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNoZWV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEySCtCIiwiZmlsZSI6IlNoZWV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICB1c2VSZWYsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlU3RhdGUsXG4gIHVzZUVmZmVjdCxcbiAgdXNlQ2FsbGJhY2ssXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMsIEdsb2JhbCB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHsgRm9jdXNUcmFwV3JhcHBlciB9IGZyb20gXCIuLi8uLi9zaGFyZWQvRm9jdXNUcmFwV3JhcHBlclwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB7IHVzZURyYWdEb3duIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC91c2VEcmFnRG93blwiO1xuXG5leHBvcnQgdHlwZSBTaGVldFByb3BzID0ge1xuICAvKiBJZCB0byBhc3NvY2lhdGUgd2l0aCBhIHRyaWdnZXIgKi9cbiAgaWQ/OiBzdHJpbmc7XG4gIC8qKiBjb250ZW50cyAqL1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICAvKiBDdXN0b20gcG9ydGFsIGNvbnRhaW5lciB0byByZW5kZXIgc2hlZXQgaW50byAqL1xuICBwb3J0YWxDb250YWluZXI/OiBIVE1MRWxlbWVudDtcbiAgLyogdXNlZCB0byBzaG93IC8gaGlkZSBzaGVldCAqL1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICAvKiBDYWxsZWQgd2hlbiBzaGVldCBuZWVkcyB0byBjbG9zZSwgb24gZXNjYXBlLCBvdXRzaWRlIGNsaWNrLCBzd2lwZSBkb3duLCBldGMuICovXG4gIG9uQ2xvc2U6ICgpID0+IHZvaWQ7XG4gIC8qIENhbGxlZCB3aGVuIHNoZWV0IGlzIHJlbW92ZWQgZnJvbSBET00gYWZ0ZXIgZXhpdCBhbmltYXRpb24uICovXG4gIG9uVW5tb3VudD86ICgpID0+IHZvaWQ7XG4gIC8qIENvbnRyb2xzIHdoZXRoZXIgU2hlZXQgY2xvc2VzIG9uIG91dHNpZGUgY2xpY2sgKi9cbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrPzogYm9vbGVhbjtcbiAgLyogT3B0aW9uIGZvciBmb2N1cy10cmFwLCBjb250cm9scyB3aGV0aGVyIHRoZSBmaXJzdCBmb2N1YWJsZSBpdGVtIHJlY2lldmVzIGZvY3VzICovXG4gIGRpc2FibGVJbml0aWFsRm9jdXM/OiBib29sZWFuO1xuICAvKiBPcHRpb24gZm9yIGZvY3VzLXRyYXAsIGNvbnRyb2xzIHdoZXRoZXIgdGhlIHRyaWdnZXIgc2hvdWxkIHJlY2VpdmUgYmFjayB0aGUgZm9jdXMgb24gcG9wb3ZlciBjbG9zZSAqL1xuICBkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXI/OiBib29sZWFuO1xufTtcblxuLy8gRHVyYXRpb24gb2Ygc2xpZGVpbiBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRU5UUlkgPSAzMDA7XG4vLyBEdXJhdGlvbiBvZiBzbGlkZW91dCBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRVhJVCA9IDIwMDsgLy8gZHVyYXRpb25cbi8vIER1cmF0aW9uIG9mIGZhZGUgaW4vb3V0IGFuaW1hdGlvbiBvZiBjb250ZW50IGNvbnRhaW5lclxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlQgPSA1MDtcbi8vIE1heCBoZWlnaHQgb2Ygc2hlZXQgY29udGVudCByZWxhdGl2ZSB0byB2aWV3cG9ydCBoZWlnaHRcbmNvbnN0IE1BWF9IRUlHSFRfUEVSQ0VOVCA9IDgwO1xuLy8gTWluIGRyYWcgZGlzdGFuY2UgdG8gY2xvc2Ugc2hlZXRcbmNvbnN0IE1JTl9EUkFHX0RJU1RBTkNFID0gMTUwO1xuXG5jb25zdCBmYWRlT3V0ID0ga2V5ZnJhbWVzKHtcbiAgZnJvbToge1xuICAgIG9wYWNpdHk6IDEsXG4gIH0sXG4gIHRvOiB7XG4gICAgb3BhY2l0eTogMCxcbiAgfSxcbn0pO1xuY29uc3QgZmFkZUluID0ga2V5ZnJhbWVzKHtcbiAgZnJvbToge1xuICAgIG9wYWNpdHk6IDAsXG4gIH0sXG4gIHRvOiB7XG4gICAgb3BhY2l0eTogMSxcbiAgfSxcbn0pO1xuXG50eXBlIFN0eWxlZENvbnRhaW5lclByb3BzID0gUGFydGlhbDxQaWNrPFNoZWV0UHJvcHMsIFwiaXNWaXNpYmxlXCI+PiAmIHtcbiAgY29udGFpbmVySGVpZ2h0PzogbnVtYmVyO1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xuICBkcmFnT2Zmc2V0PzogbnVtYmVyO1xuICBwcmV2VmlzaWJsZVN0YXRlPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkQ29udGFpbmVyUHJvcHM+KFxuICAoeyB0aGVtZSwgY29udGFpbmVySGVpZ2h0LCBpc0Nsb3NpbmcsIGRyYWdPZmZzZXQgPSAwLCBwcmV2VmlzaWJsZVN0YXRlIH0pID0+IHtcbiAgICBsZXQgYW5pbWF0aW9uO1xuICAgIGlmIChjb250YWluZXJIZWlnaHQpIHtcbiAgICAgIGNvbnN0IHNsaWRlT3V0ID0ga2V5ZnJhbWVzKHtcbiAgICAgICAgZnJvbToge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtkcmFnT2Zmc2V0fXB4KWAsXG4gICAgICAgIH0sXG4gICAgICAgIHRvOiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgke2NvbnRhaW5lckhlaWdodH1weClgLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBjb25zdCBzbGlkZUluID0ga2V5ZnJhbWVzKHtcbiAgICAgICAgZnJvbToge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtjb250YWluZXJIZWlnaHR9cHgpYCxcbiAgICAgICAgfSxcbiAgICAgICAgdG86IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKDBweClgLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChpc0Nsb3NpbmcpIHtcbiAgICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0VYSVR9bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHtzbGlkZU91dH1gO1xuICAgICAgfSBlbHNlIGlmICghcHJldlZpc2libGVTdGF0ZSkge1xuICAgICAgICAvLyBzZXQgZW50cnkgYW5pbWF0aW9uIG9ubHkgZm9yIHRoZSBmaXJzdCB0aW1lIGFmdGVyIHNoZWV0IGlzIHZpc2libGVcbiAgICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7c2xpZGVJbn1gO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgICAgbGVmdDogMCxcbiAgICAgIGJvdHRvbTogMCxcbiAgICAgIHdpZHRoOiBcIjEwMHZ3XCIsXG4gICAgICB0cmFuc2Zvcm1PcmlnaW46IFwiYm90dG9tXCIsXG4gICAgICBhbmltYXRpb24sXG4gICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgekluZGV4OiB0aGVtZS52YXJpYWJsZXMuekluZGV4Lm1vZGFsLFxuXG4gICAgICAvLyBSZW1vdmUgYm90dG9tIGJvcmRlciByYWRpdXMgb2YgRFMgQ29udGFpbmVyXG4gICAgICBcIj4gZGl2XCI6IHtcbiAgICAgICAgYm9yZGVyQm90dG9tTGVmdFJhZGl1czogMCxcbiAgICAgICAgYm9yZGVyQm90dG9tUmlnaHRSYWRpdXM6IDAsXG4gICAgICB9LFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkQ29udGVudENvbnRhaW5lclByb3BzID0ge1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGVudENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkQ29udGVudENvbnRhaW5lclByb3BzPihcbiAgKHsgaXNDbG9zaW5nIH0pID0+IHtcbiAgICBjb25zdCBhbmltYXRpb24gPSBpc0Nsb3NpbmdcbiAgICAgID8gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlR9bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHtmYWRlT3V0fWBcbiAgICAgIDogYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlR9bXMgZWFzZS1vdXQgJHtcbiAgICAgICAgICBBTklNQVRJT05fRFVSQVRJT05fRU5UUlkgLSBBTklNQVRJT05fRFVSQVRJT05fQ09OVEVOVFxuICAgICAgICB9bXMgZm9yd2FyZHMgJHtmYWRlSW59YDtcblxuICAgIHJldHVybiB7XG4gICAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgICBtYXhIZWlnaHQ6IGAke01BWF9IRUlHSFRfUEVSQ0VOVH12aGAsXG4gICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgb3ZlcnNjcm9sbEJlaGF2aW9yOiBcIm5vbmVcIixcbiAgICAgIG9wYWNpdHk6IDAsXG4gICAgICBhbmltYXRpb24sXG4gICAgfTtcbiAgfVxuKTtcblxudHlwZSBTdHlsZWRIYW5kbGVDb250YWluZXJQcm9wcyA9IHtcbiAgaXNDb250ZW50Q29udGFpbmVyU2Nyb2xsZWQ/OiBib29sZWFuO1xufTtcbmNvbnN0IFN0eWxlZEhhbmRsZUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkSGFuZGxlQ29udGFpbmVyUHJvcHM+KFxuICAoeyB0aGVtZSwgaXNDb250ZW50Q29udGFpbmVyU2Nyb2xsZWQgfSkgPT4gKHtcbiAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzfSAwYCxcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcblxuICAgIC4uLihpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZCAmJiB7XG4gICAgICBib3hTaGFkb3c6IHRoZW1lLnZhbHVlcy5lbGV2YXRpb24uYSxcbiAgICB9KSxcbiAgfSlcbik7XG5cbmNvbnN0IFN0eWxlZEhhbmRsZSA9IHN0eWxlZC5kaXYoKHsgdGhlbWUgfSkgPT4gKHtcbiAgd2lkdGg6IFwiODBweFwiLFxuICBoZWlnaHQ6IFwiNHB4XCIsXG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzLFxuICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5kaXZpZGVyLnByaW1hcnksXG59KSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBTaGVldCh7XG4gIGlkLFxuICBjaGlsZHJlbixcbiAgaXNWaXNpYmxlLFxuICBvbkNsb3NlLFxuICBvblVubW91bnQsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrID0gdHJ1ZSxcbiAgZGlzYWJsZUluaXRpYWxGb2N1cyxcbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IFNoZWV0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbaXNDbG9zaW5nLCBzZXRDbG9zaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2NvbnRhaW5lckhlaWdodCwgc2V0Q29udGFpbmVySGVpZ2h0XSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBbaXNDb250ZW50Q29udGFpbmVyU2Nyb2xsZWQsIHNldENvbnRlbnRDb250YWluZXJTY3JvbGxlZF0gPVxuICAgIHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBjb250ZW50Q29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBwcmV2VmlzaWJsZVN0YXRlID0gdXNlUmVmKGlzVmlzaWJsZSk7XG4gIGNvbnN0IGRyYWdPZmZzZXQgPSB1c2VSZWYoMCk7XG4gIGNvbnN0IGlzRHJhZ1N0YXJ0ZWQgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyUmVjdC5oZWlnaHQpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2hpbGRyZW5dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFN0YXJ0IGNsb3Npbmcgc2hlZXQgaWYgcHJldmlvdXNseSBvcGVuZWRcbiAgICBpZiAoIWlzVmlzaWJsZSAmJiBwcmV2VmlzaWJsZVN0YXRlLmN1cnJlbnQpIHtcbiAgICAgIHNldENsb3NpbmcodHJ1ZSk7XG4gICAgfVxuICAgIHByZXZWaXNpYmxlU3RhdGUuY3VycmVudCA9IGlzVmlzaWJsZTtcbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBpc0Nsb3NpbmcpIHtcbiAgICAgIC8vIFNvbWV0aW1lcywgcGFyZW50IGNvbXBvbmVudCBjYW4gcmUtb3BlbiBzaGVldCB3aGlsZSBpdCBpcyBzdGlsbCBjbG9zaW5nLiBUbyBwcmV2ZW50IHRoaXMsIHdlIGNhbGwgb25DbG9zZSBhZ2FpblxuICAgICAgb25DbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgaXNDbG9zaW5nLCBvbkNsb3NlXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ1N0YXJ0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9PT0gMCkge1xuICAgICAgICAvLyBSZW1vdmUgZXhpc3RpbmcgYW5pbWF0aW9uLCBvdGhlcndpc2UgdHJhbnNmb3JtIGRvZXNuJ3Qgd29ya1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS5hbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNpdGlvbiA9IFwidHJhbnNmb3JtIDAuMXMgZWFzZVwiO1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9LCBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZyA9IHVzZUNhbGxiYWNrKFxuICAgIChfLCBvZmZzZXRGcm9tU3RhcnQpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lckN1cnJlbnRIZWlnaHQgPVxuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgJiZcbiAgICAgICAgICBjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0IDwgY29udGFpbmVyQ3VycmVudEhlaWdodFxuICAgICAgICApIHtcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke29mZnNldEZyb21TdGFydH1weClgO1xuICAgICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IG9mZnNldEZyb21TdGFydDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyYWdFbmQgPSB1c2VDYWxsYmFjayhcbiAgICAoXywgb2Zmc2V0RnJvbVN0YXJ0KSA9PiB7XG4gICAgICBjb25zdCBjb250YWluZXJDdXJyZW50SGVpZ2h0ID1cbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xuICAgICAgLy8gQ2xvc2Ugc2hlZXQgb25seSB3aGVuIGRyYWcgZGlzdGFuY2UgaXMgYSBxdWFydGVyIG9mIGNvbnRhaW5lciBoZWlnaHRcbiAgICAgIGNvbnN0IG1pbkRyYWdEaXN0YW5jZSA9XG4gICAgICAgIGNvbnRhaW5lckN1cnJlbnRIZWlnaHQgPCBNSU5fRFJBR19ESVNUQU5DRSAqIDJcbiAgICAgICAgICA/IGNvbnRhaW5lckN1cnJlbnRIZWlnaHQgLyA0XG4gICAgICAgICAgOiBNSU5fRFJBR19ESVNUQU5DRTtcblxuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgaWYgKGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCkge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIG9mZnNldEZyb21TdGFydCA+PSBtaW5EcmFnRGlzdGFuY2UgJiZcbiAgICAgICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudC5zY3JvbGxUb3AgPT09IDBcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIG9uQ2xvc2UoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtID0gXCJ0cmFuc2xhdGVZKDBweClcIjtcbiAgICAgICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBvbkNsb3NlXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyYWdDYW5jZWwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGlmIChpc0RyYWdTdGFydGVkLmN1cnJlbnQpIHtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtID0gXCJ0cmFuc2xhdGVZKDBweClcIjtcbiAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgIH1cbiAgICAgIGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCA9IGZhbHNlO1xuICAgIH0pO1xuICB9LCBbY29udGFpbmVyUmVmXSk7XG5cbiAgdXNlRHJhZ0Rvd24oe1xuICAgIHJlZjogY29udGFpbmVyUmVmLFxuICAgIGlzVmlzaWJsZTogaXNWaXNpYmxlICYmICFpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZCxcbiAgICBvbkRyYWdTdGFydDogaGFuZGxlRHJhZ1N0YXJ0LFxuICAgIG9uRHJhZzogaGFuZGxlRHJhZyxcbiAgICBvbkRyYWdFbmQ6IGhhbmRsZURyYWdFbmQsXG4gICAgb25EcmFnQ2FuY2VsOiBoYW5kbGVEcmFnQ2FuY2VsLFxuICB9KTtcblxuICBjb25zdCBoYW5kbGVFeGl0QW5pbWF0aW9uRW5kID0gKCkgPT4ge1xuICAgIGlmIChpc0Nsb3NpbmcpIHtcbiAgICAgIHNldENsb3NpbmcoZmFsc2UpO1xuICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcblxuICAgICAgaWYgKG9uVW5tb3VudCkge1xuICAgICAgICBvblVubW91bnQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ29udGVudENvbnRhaW5lclNjcm9sbCA9ICgpID0+IHtcbiAgICBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWQoXG4gICAgICBjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnQgJiYgY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCAhPT0gMFxuICAgICk7XG4gIH07XG5cbiAgY29uc3Qgc2hvd1NoZWV0ID0gKGlzVmlzaWJsZSB8fCBpc0Nsb3NpbmcpICYmICEoaXNWaXNpYmxlICYmIGlzQ2xvc2luZyk7XG5cbiAgaWYgKCFzaG93U2hlZXQpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IGdsb2JhbFN0eWxlcyA9IHtcbiAgICBodG1sOiB7XG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBpZFByb3AgPSBpZFxuICAgID8ge1xuICAgICAgICBpZCxcbiAgICAgIH1cbiAgICA6IHt9O1xuXG4gIGNvbnN0IHNoZWV0RWxtID0gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsIHN0eWxlcz17Z2xvYmFsU3R5bGVzfSAvPlxuICAgICAgPEZvY3VzVHJhcFdyYXBwZXJcbiAgICAgICAgZm9jdXNUcmFwT3B0aW9ucz17e1xuICAgICAgICAgIGNsaWNrT3V0c2lkZURlYWN0aXZhdGVzOiBkaXNtaXNzT25PdXRzaWRlQ2xpY2ssXG4gICAgICAgICAgZXNjYXBlRGVhY3RpdmF0ZXM6IHRydWUsXG4gICAgICAgICAgcHJldmVudFNjcm9sbDogdHJ1ZSxcbiAgICAgICAgICBpbml0aWFsRm9jdXM6ICgpID0+ICFkaXNhYmxlSW5pdGlhbEZvY3VzLFxuICAgICAgICAgIHJldHVybkZvY3VzT25EZWFjdGl2YXRlOiAhZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICAgICAgICAgIGZhbGxiYWNrRm9jdXM6IGBbZGF0YS1kcy1pZD1cIlNoZWV0XCJdYCxcbiAgICAgICAgICBvblBvc3REZWFjdGl2YXRlOiAoKSA9PiB7XG4gICAgICAgICAgICBvbkNsb3NlKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgICAgIHsuLi5pZFByb3B9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZ1xuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlNoZWV0XCJcbiAgICAgICAgICBpc1Zpc2libGU9e2lzVmlzaWJsZX1cbiAgICAgICAgICBjb250YWluZXJIZWlnaHQ9e2NvbnRhaW5lckhlaWdodH1cbiAgICAgICAgICBpc0Nsb3Npbmc9e2lzQ2xvc2luZ31cbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICBkcmFnT2Zmc2V0PXtkcmFnT2Zmc2V0LmN1cnJlbnR9XG4gICAgICAgICAgcHJldlZpc2libGVTdGF0ZT17cHJldlZpc2libGVTdGF0ZS5jdXJyZW50fVxuICAgICAgICAgIG9uQW5pbWF0aW9uRW5kPXtoYW5kbGVFeGl0QW5pbWF0aW9uRW5kfVxuICAgICAgICA+XG4gICAgICAgICAgPENvbnRhaW5lciBlbGV2YXRpb249ezR9PlxuICAgICAgICAgICAgPFN0eWxlZEhhbmRsZUNvbnRhaW5lclxuICAgICAgICAgICAgICBpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZD17aXNDb250ZW50Q29udGFpbmVyU2Nyb2xsZWR9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdHlsZWRIYW5kbGUgLz5cbiAgICAgICAgICAgIDwvU3R5bGVkSGFuZGxlQ29udGFpbmVyPlxuICAgICAgICAgICAgPFN0eWxlZENvbnRlbnRDb250YWluZXJcbiAgICAgICAgICAgICAgaXNDbG9zaW5nPXtpc0Nsb3Npbmd9XG4gICAgICAgICAgICAgIHJlZj17Y29udGVudENvbnRhaW5lclJlZn1cbiAgICAgICAgICAgICAgb25TY3JvbGw9e2hhbmRsZUNvbnRlbnRDb250YWluZXJTY3JvbGx9XG4gICAgICAgICAgICAgIG9uQW5pbWF0aW9uRW5kPXsoZXZ0KSA9PiBldnQuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvU3R5bGVkQ29udGVudENvbnRhaW5lcj5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9TdHlsZWRDb250YWluZXI+XG4gICAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICAgPC8+XG4gICk7XG5cbiAgcmV0dXJuIGNyZWF0ZVBvcnRhbChzaGVldEVsbSwgcG9ydGFsQ29udGFpbmVyIHx8IGRvY3VtZW50LmJvZHkpO1xufVxuIl19 */");
109
+ const StyledHandleContainer = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
110
+ target: "e1olca0n1"
111
+ } : {
112
+ target: "e1olca0n1",
113
+ label: "StyledHandleContainer"
114
+ })(_ref3 => {
115
+ let {
116
+ theme,
117
+ isContentContainerScrolled
118
+ } = _ref3;
119
+ return {
120
+ padding: `${theme.variables.size.spacing.xs} 0`,
121
+ display: "flex",
122
+ justifyContent: "center",
123
+ ...(isContentContainerScrolled && {
124
+ boxShadow: theme.values.elevation.a
125
+ })
126
+ };
127
+ }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNoZWV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpSjhCIiwiZmlsZSI6IlNoZWV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICB1c2VSZWYsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlU3RhdGUsXG4gIHVzZUVmZmVjdCxcbiAgdXNlQ2FsbGJhY2ssXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMsIEdsb2JhbCB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHsgRm9jdXNUcmFwV3JhcHBlciB9IGZyb20gXCIuLi8uLi9zaGFyZWQvRm9jdXNUcmFwV3JhcHBlclwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB7IHVzZURyYWdEb3duIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC91c2VEcmFnRG93blwiO1xuXG5leHBvcnQgdHlwZSBTaGVldFByb3BzID0ge1xuICAvKiBJZCB0byBhc3NvY2lhdGUgd2l0aCBhIHRyaWdnZXIgKi9cbiAgaWQ/OiBzdHJpbmc7XG4gIC8qKiBjb250ZW50cyAqL1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICAvKiBDdXN0b20gcG9ydGFsIGNvbnRhaW5lciB0byByZW5kZXIgc2hlZXQgaW50byAqL1xuICBwb3J0YWxDb250YWluZXI/OiBIVE1MRWxlbWVudDtcbiAgLyogdXNlZCB0byBzaG93IC8gaGlkZSBzaGVldCAqL1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICAvKiBDYWxsZWQgd2hlbiBzaGVldCBuZWVkcyB0byBjbG9zZSwgb24gZXNjYXBlLCBvdXRzaWRlIGNsaWNrLCBzd2lwZSBkb3duLCBldGMuICovXG4gIG9uQ2xvc2U6ICgpID0+IHZvaWQ7XG4gIC8qIENhbGxlZCB3aGVuIHNoZWV0IGlzIHJlbW92ZWQgZnJvbSBET00gYWZ0ZXIgZXhpdCBhbmltYXRpb24uICovXG4gIG9uVW5tb3VudD86ICgpID0+IHZvaWQ7XG4gIC8qIENvbnRyb2xzIHdoZXRoZXIgU2hlZXQgY2xvc2VzIG9uIG91dHNpZGUgY2xpY2sgKi9cbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrPzogYm9vbGVhbjtcbiAgLyogT3B0aW9uIGZvciBmb2N1cy10cmFwLCBjb250cm9scyB3aGV0aGVyIHRoZSBmaXJzdCBmb2N1YWJsZSBpdGVtIHJlY2lldmVzIGZvY3VzICovXG4gIGRpc2FibGVJbml0aWFsRm9jdXM/OiBib29sZWFuO1xuICAvKiBPcHRpb24gZm9yIGZvY3VzLXRyYXAsIGNvbnRyb2xzIHdoZXRoZXIgdGhlIHRyaWdnZXIgc2hvdWxkIHJlY2VpdmUgYmFjayB0aGUgZm9jdXMgb24gcG9wb3ZlciBjbG9zZSAqL1xuICBkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXI/OiBib29sZWFuO1xufTtcblxuLy8gRHVyYXRpb24gb2Ygc2xpZGVpbiBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRU5UUlkgPSAzMDA7XG4vLyBEdXJhdGlvbiBvZiBzbGlkZW91dCBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRVhJVCA9IDIwMDsgLy8gZHVyYXRpb25cbi8vIER1cmF0aW9uIG9mIGZhZGUgaW4vb3V0IGFuaW1hdGlvbiBvZiBjb250ZW50IGNvbnRhaW5lclxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlQgPSA1MDtcbi8vIE1heCBoZWlnaHQgb2Ygc2hlZXQgY29udGVudCByZWxhdGl2ZSB0byB2aWV3cG9ydCBoZWlnaHRcbmNvbnN0IE1BWF9IRUlHSFRfUEVSQ0VOVCA9IDgwO1xuLy8gTWluIGRyYWcgZGlzdGFuY2UgdG8gY2xvc2Ugc2hlZXRcbmNvbnN0IE1JTl9EUkFHX0RJU1RBTkNFID0gMTUwO1xuXG5jb25zdCBmYWRlT3V0ID0ga2V5ZnJhbWVzKHtcbiAgZnJvbToge1xuICAgIG9wYWNpdHk6IDEsXG4gIH0sXG4gIHRvOiB7XG4gICAgb3BhY2l0eTogMCxcbiAgfSxcbn0pO1xuY29uc3QgZmFkZUluID0ga2V5ZnJhbWVzKHtcbiAgZnJvbToge1xuICAgIG9wYWNpdHk6IDAsXG4gIH0sXG4gIHRvOiB7XG4gICAgb3BhY2l0eTogMSxcbiAgfSxcbn0pO1xuXG50eXBlIFN0eWxlZENvbnRhaW5lclByb3BzID0gUGFydGlhbDxQaWNrPFNoZWV0UHJvcHMsIFwiaXNWaXNpYmxlXCI+PiAmIHtcbiAgY29udGFpbmVySGVpZ2h0PzogbnVtYmVyO1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xuICBkcmFnT2Zmc2V0PzogbnVtYmVyO1xuICBwcmV2VmlzaWJsZVN0YXRlPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkQ29udGFpbmVyUHJvcHM+KFxuICAoeyB0aGVtZSwgY29udGFpbmVySGVpZ2h0LCBpc0Nsb3NpbmcsIGRyYWdPZmZzZXQgPSAwLCBwcmV2VmlzaWJsZVN0YXRlIH0pID0+IHtcbiAgICBsZXQgYW5pbWF0aW9uO1xuICAgIGlmIChjb250YWluZXJIZWlnaHQpIHtcbiAgICAgIGNvbnN0IHNsaWRlT3V0ID0ga2V5ZnJhbWVzKHtcbiAgICAgICAgZnJvbToge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtkcmFnT2Zmc2V0fXB4KWAsXG4gICAgICAgIH0sXG4gICAgICAgIHRvOiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgke2NvbnRhaW5lckhlaWdodH1weClgLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBjb25zdCBzbGlkZUluID0ga2V5ZnJhbWVzKHtcbiAgICAgICAgZnJvbToge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtjb250YWluZXJIZWlnaHR9cHgpYCxcbiAgICAgICAgfSxcbiAgICAgICAgdG86IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKDBweClgLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChpc0Nsb3NpbmcpIHtcbiAgICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0VYSVR9bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHtzbGlkZU91dH1gO1xuICAgICAgfSBlbHNlIGlmICghcHJldlZpc2libGVTdGF0ZSkge1xuICAgICAgICAvLyBzZXQgZW50cnkgYW5pbWF0aW9uIG9ubHkgZm9yIHRoZSBmaXJzdCB0aW1lIGFmdGVyIHNoZWV0IGlzIHZpc2libGVcbiAgICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7c2xpZGVJbn1gO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgICAgbGVmdDogMCxcbiAgICAgIGJvdHRvbTogMCxcbiAgICAgIHdpZHRoOiBcIjEwMHZ3XCIsXG4gICAgICB0cmFuc2Zvcm1PcmlnaW46IFwiYm90dG9tXCIsXG4gICAgICBhbmltYXRpb24sXG4gICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgekluZGV4OiB0aGVtZS52YXJpYWJsZXMuekluZGV4Lm1vZGFsLFxuXG4gICAgICAvLyBSZW1vdmUgYm90dG9tIGJvcmRlciByYWRpdXMgb2YgRFMgQ29udGFpbmVyXG4gICAgICBcIj4gZGl2XCI6IHtcbiAgICAgICAgYm9yZGVyQm90dG9tTGVmdFJhZGl1czogMCxcbiAgICAgICAgYm9yZGVyQm90dG9tUmlnaHRSYWRpdXM6IDAsXG4gICAgICB9LFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkQ29udGVudENvbnRhaW5lclByb3BzID0ge1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGVudENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkQ29udGVudENvbnRhaW5lclByb3BzPihcbiAgKHsgaXNDbG9zaW5nIH0pID0+IHtcbiAgICBjb25zdCBhbmltYXRpb24gPSBpc0Nsb3NpbmdcbiAgICAgID8gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlR9bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHtmYWRlT3V0fWBcbiAgICAgIDogYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlR9bXMgZWFzZS1vdXQgJHtcbiAgICAgICAgICBBTklNQVRJT05fRFVSQVRJT05fRU5UUlkgLSBBTklNQVRJT05fRFVSQVRJT05fQ09OVEVOVFxuICAgICAgICB9bXMgZm9yd2FyZHMgJHtmYWRlSW59YDtcblxuICAgIHJldHVybiB7XG4gICAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgICBtYXhIZWlnaHQ6IGAke01BWF9IRUlHSFRfUEVSQ0VOVH12aGAsXG4gICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgb3ZlcnNjcm9sbEJlaGF2aW9yOiBcIm5vbmVcIixcbiAgICAgIG9wYWNpdHk6IDAsXG4gICAgICBhbmltYXRpb24sXG4gICAgfTtcbiAgfVxuKTtcblxudHlwZSBTdHlsZWRIYW5kbGVDb250YWluZXJQcm9wcyA9IHtcbiAgaXNDb250ZW50Q29udGFpbmVyU2Nyb2xsZWQ/OiBib29sZWFuO1xufTtcbmNvbnN0IFN0eWxlZEhhbmRsZUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkSGFuZGxlQ29udGFpbmVyUHJvcHM+KFxuICAoeyB0aGVtZSwgaXNDb250ZW50Q29udGFpbmVyU2Nyb2xsZWQgfSkgPT4gKHtcbiAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzfSAwYCxcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcblxuICAgIC4uLihpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZCAmJiB7XG4gICAgICBib3hTaGFkb3c6IHRoZW1lLnZhbHVlcy5lbGV2YXRpb24uYSxcbiAgICB9KSxcbiAgfSlcbik7XG5cbmNvbnN0IFN0eWxlZEhhbmRsZSA9IHN0eWxlZC5kaXYoKHsgdGhlbWUgfSkgPT4gKHtcbiAgd2lkdGg6IFwiODBweFwiLFxuICBoZWlnaHQ6IFwiNHB4XCIsXG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzLFxuICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5kaXZpZGVyLnByaW1hcnksXG59KSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBTaGVldCh7XG4gIGlkLFxuICBjaGlsZHJlbixcbiAgaXNWaXNpYmxlLFxuICBvbkNsb3NlLFxuICBvblVubW91bnQsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrID0gdHJ1ZSxcbiAgZGlzYWJsZUluaXRpYWxGb2N1cyxcbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IFNoZWV0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbaXNDbG9zaW5nLCBzZXRDbG9zaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2NvbnRhaW5lckhlaWdodCwgc2V0Q29udGFpbmVySGVpZ2h0XSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBbaXNDb250ZW50Q29udGFpbmVyU2Nyb2xsZWQsIHNldENvbnRlbnRDb250YWluZXJTY3JvbGxlZF0gPVxuICAgIHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBjb250ZW50Q29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBwcmV2VmlzaWJsZVN0YXRlID0gdXNlUmVmKGlzVmlzaWJsZSk7XG4gIGNvbnN0IGRyYWdPZmZzZXQgPSB1c2VSZWYoMCk7XG4gIGNvbnN0IGlzRHJhZ1N0YXJ0ZWQgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyUmVjdC5oZWlnaHQpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2hpbGRyZW5dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFN0YXJ0IGNsb3Npbmcgc2hlZXQgaWYgcHJldmlvdXNseSBvcGVuZWRcbiAgICBpZiAoIWlzVmlzaWJsZSAmJiBwcmV2VmlzaWJsZVN0YXRlLmN1cnJlbnQpIHtcbiAgICAgIHNldENsb3NpbmcodHJ1ZSk7XG4gICAgfVxuICAgIHByZXZWaXNpYmxlU3RhdGUuY3VycmVudCA9IGlzVmlzaWJsZTtcbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBpc0Nsb3NpbmcpIHtcbiAgICAgIC8vIFNvbWV0aW1lcywgcGFyZW50IGNvbXBvbmVudCBjYW4gcmUtb3BlbiBzaGVldCB3aGlsZSBpdCBpcyBzdGlsbCBjbG9zaW5nLiBUbyBwcmV2ZW50IHRoaXMsIHdlIGNhbGwgb25DbG9zZSBhZ2FpblxuICAgICAgb25DbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgaXNDbG9zaW5nLCBvbkNsb3NlXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ1N0YXJ0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9PT0gMCkge1xuICAgICAgICAvLyBSZW1vdmUgZXhpc3RpbmcgYW5pbWF0aW9uLCBvdGhlcndpc2UgdHJhbnNmb3JtIGRvZXNuJ3Qgd29ya1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS5hbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNpdGlvbiA9IFwidHJhbnNmb3JtIDAuMXMgZWFzZVwiO1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9LCBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZyA9IHVzZUNhbGxiYWNrKFxuICAgIChfLCBvZmZzZXRGcm9tU3RhcnQpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lckN1cnJlbnRIZWlnaHQgPVxuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgJiZcbiAgICAgICAgICBjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0IDwgY29udGFpbmVyQ3VycmVudEhlaWdodFxuICAgICAgICApIHtcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke29mZnNldEZyb21TdGFydH1weClgO1xuICAgICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IG9mZnNldEZyb21TdGFydDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyYWdFbmQgPSB1c2VDYWxsYmFjayhcbiAgICAoXywgb2Zmc2V0RnJvbVN0YXJ0KSA9PiB7XG4gICAgICBjb25zdCBjb250YWluZXJDdXJyZW50SGVpZ2h0ID1cbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xuICAgICAgLy8gQ2xvc2Ugc2hlZXQgb25seSB3aGVuIGRyYWcgZGlzdGFuY2UgaXMgYSBxdWFydGVyIG9mIGNvbnRhaW5lciBoZWlnaHRcbiAgICAgIGNvbnN0IG1pbkRyYWdEaXN0YW5jZSA9XG4gICAgICAgIGNvbnRhaW5lckN1cnJlbnRIZWlnaHQgPCBNSU5fRFJBR19ESVNUQU5DRSAqIDJcbiAgICAgICAgICA/IGNvbnRhaW5lckN1cnJlbnRIZWlnaHQgLyA0XG4gICAgICAgICAgOiBNSU5fRFJBR19ESVNUQU5DRTtcblxuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgaWYgKGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCkge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIG9mZnNldEZyb21TdGFydCA+PSBtaW5EcmFnRGlzdGFuY2UgJiZcbiAgICAgICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudC5zY3JvbGxUb3AgPT09IDBcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIG9uQ2xvc2UoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtID0gXCJ0cmFuc2xhdGVZKDBweClcIjtcbiAgICAgICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBvbkNsb3NlXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyYWdDYW5jZWwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGlmIChpc0RyYWdTdGFydGVkLmN1cnJlbnQpIHtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtID0gXCJ0cmFuc2xhdGVZKDBweClcIjtcbiAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgIH1cbiAgICAgIGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCA9IGZhbHNlO1xuICAgIH0pO1xuICB9LCBbY29udGFpbmVyUmVmXSk7XG5cbiAgdXNlRHJhZ0Rvd24oe1xuICAgIHJlZjogY29udGFpbmVyUmVmLFxuICAgIGlzVmlzaWJsZTogaXNWaXNpYmxlICYmICFpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZCxcbiAgICBvbkRyYWdTdGFydDogaGFuZGxlRHJhZ1N0YXJ0LFxuICAgIG9uRHJhZzogaGFuZGxlRHJhZyxcbiAgICBvbkRyYWdFbmQ6IGhhbmRsZURyYWdFbmQsXG4gICAgb25EcmFnQ2FuY2VsOiBoYW5kbGVEcmFnQ2FuY2VsLFxuICB9KTtcblxuICBjb25zdCBoYW5kbGVFeGl0QW5pbWF0aW9uRW5kID0gKCkgPT4ge1xuICAgIGlmIChpc0Nsb3NpbmcpIHtcbiAgICAgIHNldENsb3NpbmcoZmFsc2UpO1xuICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcblxuICAgICAgaWYgKG9uVW5tb3VudCkge1xuICAgICAgICBvblVubW91bnQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ29udGVudENvbnRhaW5lclNjcm9sbCA9ICgpID0+IHtcbiAgICBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWQoXG4gICAgICBjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnQgJiYgY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCAhPT0gMFxuICAgICk7XG4gIH07XG5cbiAgY29uc3Qgc2hvd1NoZWV0ID0gKGlzVmlzaWJsZSB8fCBpc0Nsb3NpbmcpICYmICEoaXNWaXNpYmxlICYmIGlzQ2xvc2luZyk7XG5cbiAgaWYgKCFzaG93U2hlZXQpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IGdsb2JhbFN0eWxlcyA9IHtcbiAgICBodG1sOiB7XG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBpZFByb3AgPSBpZFxuICAgID8ge1xuICAgICAgICBpZCxcbiAgICAgIH1cbiAgICA6IHt9O1xuXG4gIGNvbnN0IHNoZWV0RWxtID0gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsIHN0eWxlcz17Z2xvYmFsU3R5bGVzfSAvPlxuICAgICAgPEZvY3VzVHJhcFdyYXBwZXJcbiAgICAgICAgZm9jdXNUcmFwT3B0aW9ucz17e1xuICAgICAgICAgIGNsaWNrT3V0c2lkZURlYWN0aXZhdGVzOiBkaXNtaXNzT25PdXRzaWRlQ2xpY2ssXG4gICAgICAgICAgZXNjYXBlRGVhY3RpdmF0ZXM6IHRydWUsXG4gICAgICAgICAgcHJldmVudFNjcm9sbDogdHJ1ZSxcbiAgICAgICAgICBpbml0aWFsRm9jdXM6ICgpID0+ICFkaXNhYmxlSW5pdGlhbEZvY3VzLFxuICAgICAgICAgIHJldHVybkZvY3VzT25EZWFjdGl2YXRlOiAhZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICAgICAgICAgIGZhbGxiYWNrRm9jdXM6IGBbZGF0YS1kcy1pZD1cIlNoZWV0XCJdYCxcbiAgICAgICAgICBvblBvc3REZWFjdGl2YXRlOiAoKSA9PiB7XG4gICAgICAgICAgICBvbkNsb3NlKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgICAgIHsuLi5pZFByb3B9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZ1xuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlNoZWV0XCJcbiAgICAgICAgICBpc1Zpc2libGU9e2lzVmlzaWJsZX1cbiAgICAgICAgICBjb250YWluZXJIZWlnaHQ9e2NvbnRhaW5lckhlaWdodH1cbiAgICAgICAgICBpc0Nsb3Npbmc9e2lzQ2xvc2luZ31cbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICBkcmFnT2Zmc2V0PXtkcmFnT2Zmc2V0LmN1cnJlbnR9XG4gICAgICAgICAgcHJldlZpc2libGVTdGF0ZT17cHJldlZpc2libGVTdGF0ZS5jdXJyZW50fVxuICAgICAgICAgIG9uQW5pbWF0aW9uRW5kPXtoYW5kbGVFeGl0QW5pbWF0aW9uRW5kfVxuICAgICAgICA+XG4gICAgICAgICAgPENvbnRhaW5lciBlbGV2YXRpb249ezR9PlxuICAgICAgICAgICAgPFN0eWxlZEhhbmRsZUNvbnRhaW5lclxuICAgICAgICAgICAgICBpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZD17aXNDb250ZW50Q29udGFpbmVyU2Nyb2xsZWR9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdHlsZWRIYW5kbGUgLz5cbiAgICAgICAgICAgIDwvU3R5bGVkSGFuZGxlQ29udGFpbmVyPlxuICAgICAgICAgICAgPFN0eWxlZENvbnRlbnRDb250YWluZXJcbiAgICAgICAgICAgICAgaXNDbG9zaW5nPXtpc0Nsb3Npbmd9XG4gICAgICAgICAgICAgIHJlZj17Y29udGVudENvbnRhaW5lclJlZn1cbiAgICAgICAgICAgICAgb25TY3JvbGw9e2hhbmRsZUNvbnRlbnRDb250YWluZXJTY3JvbGx9XG4gICAgICAgICAgICAgIG9uQW5pbWF0aW9uRW5kPXsoZXZ0KSA9PiBldnQuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvU3R5bGVkQ29udGVudENvbnRhaW5lcj5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9TdHlsZWRDb250YWluZXI+XG4gICAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICAgPC8+XG4gICk7XG5cbiAgcmV0dXJuIGNyZWF0ZVBvcnRhbChzaGVldEVsbSwgcG9ydGFsQ29udGFpbmVyIHx8IGRvY3VtZW50LmJvZHkpO1xufVxuIl19 */");
128
+ const StyledHandle = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
129
+ target: "e1olca0n0"
130
+ } : {
131
+ target: "e1olca0n0",
132
+ label: "StyledHandle"
133
+ })(_ref4 => {
134
+ let {
135
+ theme
136
+ } = _ref4;
137
+ return {
138
+ width: "80px",
139
+ height: "4px",
140
+ borderRadius: theme.variables.size.borderRadius.xs,
141
+ backgroundColor: theme.values.color.divider.primary
142
+ };
143
+ }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNoZWV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2SnFCIiwiZmlsZSI6IlNoZWV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICB1c2VSZWYsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlU3RhdGUsXG4gIHVzZUVmZmVjdCxcbiAgdXNlQ2FsbGJhY2ssXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMsIEdsb2JhbCB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHsgRm9jdXNUcmFwV3JhcHBlciB9IGZyb20gXCIuLi8uLi9zaGFyZWQvRm9jdXNUcmFwV3JhcHBlclwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB7IHVzZURyYWdEb3duIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC91c2VEcmFnRG93blwiO1xuXG5leHBvcnQgdHlwZSBTaGVldFByb3BzID0ge1xuICAvKiBJZCB0byBhc3NvY2lhdGUgd2l0aCBhIHRyaWdnZXIgKi9cbiAgaWQ/OiBzdHJpbmc7XG4gIC8qKiBjb250ZW50cyAqL1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICAvKiBDdXN0b20gcG9ydGFsIGNvbnRhaW5lciB0byByZW5kZXIgc2hlZXQgaW50byAqL1xuICBwb3J0YWxDb250YWluZXI/OiBIVE1MRWxlbWVudDtcbiAgLyogdXNlZCB0byBzaG93IC8gaGlkZSBzaGVldCAqL1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICAvKiBDYWxsZWQgd2hlbiBzaGVldCBuZWVkcyB0byBjbG9zZSwgb24gZXNjYXBlLCBvdXRzaWRlIGNsaWNrLCBzd2lwZSBkb3duLCBldGMuICovXG4gIG9uQ2xvc2U6ICgpID0+IHZvaWQ7XG4gIC8qIENhbGxlZCB3aGVuIHNoZWV0IGlzIHJlbW92ZWQgZnJvbSBET00gYWZ0ZXIgZXhpdCBhbmltYXRpb24uICovXG4gIG9uVW5tb3VudD86ICgpID0+IHZvaWQ7XG4gIC8qIENvbnRyb2xzIHdoZXRoZXIgU2hlZXQgY2xvc2VzIG9uIG91dHNpZGUgY2xpY2sgKi9cbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrPzogYm9vbGVhbjtcbiAgLyogT3B0aW9uIGZvciBmb2N1cy10cmFwLCBjb250cm9scyB3aGV0aGVyIHRoZSBmaXJzdCBmb2N1YWJsZSBpdGVtIHJlY2lldmVzIGZvY3VzICovXG4gIGRpc2FibGVJbml0aWFsRm9jdXM/OiBib29sZWFuO1xuICAvKiBPcHRpb24gZm9yIGZvY3VzLXRyYXAsIGNvbnRyb2xzIHdoZXRoZXIgdGhlIHRyaWdnZXIgc2hvdWxkIHJlY2VpdmUgYmFjayB0aGUgZm9jdXMgb24gcG9wb3ZlciBjbG9zZSAqL1xuICBkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXI/OiBib29sZWFuO1xufTtcblxuLy8gRHVyYXRpb24gb2Ygc2xpZGVpbiBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRU5UUlkgPSAzMDA7XG4vLyBEdXJhdGlvbiBvZiBzbGlkZW91dCBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRVhJVCA9IDIwMDsgLy8gZHVyYXRpb25cbi8vIER1cmF0aW9uIG9mIGZhZGUgaW4vb3V0IGFuaW1hdGlvbiBvZiBjb250ZW50IGNvbnRhaW5lclxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlQgPSA1MDtcbi8vIE1heCBoZWlnaHQgb2Ygc2hlZXQgY29udGVudCByZWxhdGl2ZSB0byB2aWV3cG9ydCBoZWlnaHRcbmNvbnN0IE1BWF9IRUlHSFRfUEVSQ0VOVCA9IDgwO1xuLy8gTWluIGRyYWcgZGlzdGFuY2UgdG8gY2xvc2Ugc2hlZXRcbmNvbnN0IE1JTl9EUkFHX0RJU1RBTkNFID0gMTUwO1xuXG5jb25zdCBmYWRlT3V0ID0ga2V5ZnJhbWVzKHtcbiAgZnJvbToge1xuICAgIG9wYWNpdHk6IDEsXG4gIH0sXG4gIHRvOiB7XG4gICAgb3BhY2l0eTogMCxcbiAgfSxcbn0pO1xuY29uc3QgZmFkZUluID0ga2V5ZnJhbWVzKHtcbiAgZnJvbToge1xuICAgIG9wYWNpdHk6IDAsXG4gIH0sXG4gIHRvOiB7XG4gICAgb3BhY2l0eTogMSxcbiAgfSxcbn0pO1xuXG50eXBlIFN0eWxlZENvbnRhaW5lclByb3BzID0gUGFydGlhbDxQaWNrPFNoZWV0UHJvcHMsIFwiaXNWaXNpYmxlXCI+PiAmIHtcbiAgY29udGFpbmVySGVpZ2h0PzogbnVtYmVyO1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xuICBkcmFnT2Zmc2V0PzogbnVtYmVyO1xuICBwcmV2VmlzaWJsZVN0YXRlPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkQ29udGFpbmVyUHJvcHM+KFxuICAoeyB0aGVtZSwgY29udGFpbmVySGVpZ2h0LCBpc0Nsb3NpbmcsIGRyYWdPZmZzZXQgPSAwLCBwcmV2VmlzaWJsZVN0YXRlIH0pID0+IHtcbiAgICBsZXQgYW5pbWF0aW9uO1xuICAgIGlmIChjb250YWluZXJIZWlnaHQpIHtcbiAgICAgIGNvbnN0IHNsaWRlT3V0ID0ga2V5ZnJhbWVzKHtcbiAgICAgICAgZnJvbToge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtkcmFnT2Zmc2V0fXB4KWAsXG4gICAgICAgIH0sXG4gICAgICAgIHRvOiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgke2NvbnRhaW5lckhlaWdodH1weClgLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBjb25zdCBzbGlkZUluID0ga2V5ZnJhbWVzKHtcbiAgICAgICAgZnJvbToge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtjb250YWluZXJIZWlnaHR9cHgpYCxcbiAgICAgICAgfSxcbiAgICAgICAgdG86IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKDBweClgLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChpc0Nsb3NpbmcpIHtcbiAgICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0VYSVR9bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHtzbGlkZU91dH1gO1xuICAgICAgfSBlbHNlIGlmICghcHJldlZpc2libGVTdGF0ZSkge1xuICAgICAgICAvLyBzZXQgZW50cnkgYW5pbWF0aW9uIG9ubHkgZm9yIHRoZSBmaXJzdCB0aW1lIGFmdGVyIHNoZWV0IGlzIHZpc2libGVcbiAgICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7c2xpZGVJbn1gO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgICAgbGVmdDogMCxcbiAgICAgIGJvdHRvbTogMCxcbiAgICAgIHdpZHRoOiBcIjEwMHZ3XCIsXG4gICAgICB0cmFuc2Zvcm1PcmlnaW46IFwiYm90dG9tXCIsXG4gICAgICBhbmltYXRpb24sXG4gICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgekluZGV4OiB0aGVtZS52YXJpYWJsZXMuekluZGV4Lm1vZGFsLFxuXG4gICAgICAvLyBSZW1vdmUgYm90dG9tIGJvcmRlciByYWRpdXMgb2YgRFMgQ29udGFpbmVyXG4gICAgICBcIj4gZGl2XCI6IHtcbiAgICAgICAgYm9yZGVyQm90dG9tTGVmdFJhZGl1czogMCxcbiAgICAgICAgYm9yZGVyQm90dG9tUmlnaHRSYWRpdXM6IDAsXG4gICAgICB9LFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkQ29udGVudENvbnRhaW5lclByb3BzID0ge1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGVudENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkQ29udGVudENvbnRhaW5lclByb3BzPihcbiAgKHsgaXNDbG9zaW5nIH0pID0+IHtcbiAgICBjb25zdCBhbmltYXRpb24gPSBpc0Nsb3NpbmdcbiAgICAgID8gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlR9bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHtmYWRlT3V0fWBcbiAgICAgIDogYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlR9bXMgZWFzZS1vdXQgJHtcbiAgICAgICAgICBBTklNQVRJT05fRFVSQVRJT05fRU5UUlkgLSBBTklNQVRJT05fRFVSQVRJT05fQ09OVEVOVFxuICAgICAgICB9bXMgZm9yd2FyZHMgJHtmYWRlSW59YDtcblxuICAgIHJldHVybiB7XG4gICAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgICBtYXhIZWlnaHQ6IGAke01BWF9IRUlHSFRfUEVSQ0VOVH12aGAsXG4gICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgb3ZlcnNjcm9sbEJlaGF2aW9yOiBcIm5vbmVcIixcbiAgICAgIG9wYWNpdHk6IDAsXG4gICAgICBhbmltYXRpb24sXG4gICAgfTtcbiAgfVxuKTtcblxudHlwZSBTdHlsZWRIYW5kbGVDb250YWluZXJQcm9wcyA9IHtcbiAgaXNDb250ZW50Q29udGFpbmVyU2Nyb2xsZWQ/OiBib29sZWFuO1xufTtcbmNvbnN0IFN0eWxlZEhhbmRsZUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkSGFuZGxlQ29udGFpbmVyUHJvcHM+KFxuICAoeyB0aGVtZSwgaXNDb250ZW50Q29udGFpbmVyU2Nyb2xsZWQgfSkgPT4gKHtcbiAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzfSAwYCxcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcblxuICAgIC4uLihpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZCAmJiB7XG4gICAgICBib3hTaGFkb3c6IHRoZW1lLnZhbHVlcy5lbGV2YXRpb24uYSxcbiAgICB9KSxcbiAgfSlcbik7XG5cbmNvbnN0IFN0eWxlZEhhbmRsZSA9IHN0eWxlZC5kaXYoKHsgdGhlbWUgfSkgPT4gKHtcbiAgd2lkdGg6IFwiODBweFwiLFxuICBoZWlnaHQ6IFwiNHB4XCIsXG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzLFxuICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5kaXZpZGVyLnByaW1hcnksXG59KSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBTaGVldCh7XG4gIGlkLFxuICBjaGlsZHJlbixcbiAgaXNWaXNpYmxlLFxuICBvbkNsb3NlLFxuICBvblVubW91bnQsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrID0gdHJ1ZSxcbiAgZGlzYWJsZUluaXRpYWxGb2N1cyxcbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IFNoZWV0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbaXNDbG9zaW5nLCBzZXRDbG9zaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2NvbnRhaW5lckhlaWdodCwgc2V0Q29udGFpbmVySGVpZ2h0XSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBbaXNDb250ZW50Q29udGFpbmVyU2Nyb2xsZWQsIHNldENvbnRlbnRDb250YWluZXJTY3JvbGxlZF0gPVxuICAgIHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBjb250ZW50Q29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBwcmV2VmlzaWJsZVN0YXRlID0gdXNlUmVmKGlzVmlzaWJsZSk7XG4gIGNvbnN0IGRyYWdPZmZzZXQgPSB1c2VSZWYoMCk7XG4gIGNvbnN0IGlzRHJhZ1N0YXJ0ZWQgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyUmVjdC5oZWlnaHQpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2hpbGRyZW5dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFN0YXJ0IGNsb3Npbmcgc2hlZXQgaWYgcHJldmlvdXNseSBvcGVuZWRcbiAgICBpZiAoIWlzVmlzaWJsZSAmJiBwcmV2VmlzaWJsZVN0YXRlLmN1cnJlbnQpIHtcbiAgICAgIHNldENsb3NpbmcodHJ1ZSk7XG4gICAgfVxuICAgIHByZXZWaXNpYmxlU3RhdGUuY3VycmVudCA9IGlzVmlzaWJsZTtcbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBpc0Nsb3NpbmcpIHtcbiAgICAgIC8vIFNvbWV0aW1lcywgcGFyZW50IGNvbXBvbmVudCBjYW4gcmUtb3BlbiBzaGVldCB3aGlsZSBpdCBpcyBzdGlsbCBjbG9zaW5nLiBUbyBwcmV2ZW50IHRoaXMsIHdlIGNhbGwgb25DbG9zZSBhZ2FpblxuICAgICAgb25DbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgaXNDbG9zaW5nLCBvbkNsb3NlXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ1N0YXJ0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9PT0gMCkge1xuICAgICAgICAvLyBSZW1vdmUgZXhpc3RpbmcgYW5pbWF0aW9uLCBvdGhlcndpc2UgdHJhbnNmb3JtIGRvZXNuJ3Qgd29ya1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS5hbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNpdGlvbiA9IFwidHJhbnNmb3JtIDAuMXMgZWFzZVwiO1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9LCBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZyA9IHVzZUNhbGxiYWNrKFxuICAgIChfLCBvZmZzZXRGcm9tU3RhcnQpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lckN1cnJlbnRIZWlnaHQgPVxuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgJiZcbiAgICAgICAgICBjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0IDwgY29udGFpbmVyQ3VycmVudEhlaWdodFxuICAgICAgICApIHtcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke29mZnNldEZyb21TdGFydH1weClgO1xuICAgICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IG9mZnNldEZyb21TdGFydDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyYWdFbmQgPSB1c2VDYWxsYmFjayhcbiAgICAoXywgb2Zmc2V0RnJvbVN0YXJ0KSA9PiB7XG4gICAgICBjb25zdCBjb250YWluZXJDdXJyZW50SGVpZ2h0ID1cbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xuICAgICAgLy8gQ2xvc2Ugc2hlZXQgb25seSB3aGVuIGRyYWcgZGlzdGFuY2UgaXMgYSBxdWFydGVyIG9mIGNvbnRhaW5lciBoZWlnaHRcbiAgICAgIGNvbnN0IG1pbkRyYWdEaXN0YW5jZSA9XG4gICAgICAgIGNvbnRhaW5lckN1cnJlbnRIZWlnaHQgPCBNSU5fRFJBR19ESVNUQU5DRSAqIDJcbiAgICAgICAgICA/IGNvbnRhaW5lckN1cnJlbnRIZWlnaHQgLyA0XG4gICAgICAgICAgOiBNSU5fRFJBR19ESVNUQU5DRTtcblxuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgaWYgKGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCkge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIG9mZnNldEZyb21TdGFydCA+PSBtaW5EcmFnRGlzdGFuY2UgJiZcbiAgICAgICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudC5zY3JvbGxUb3AgPT09IDBcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIG9uQ2xvc2UoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtID0gXCJ0cmFuc2xhdGVZKDBweClcIjtcbiAgICAgICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBvbkNsb3NlXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyYWdDYW5jZWwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGlmIChpc0RyYWdTdGFydGVkLmN1cnJlbnQpIHtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtID0gXCJ0cmFuc2xhdGVZKDBweClcIjtcbiAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgIH1cbiAgICAgIGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCA9IGZhbHNlO1xuICAgIH0pO1xuICB9LCBbY29udGFpbmVyUmVmXSk7XG5cbiAgdXNlRHJhZ0Rvd24oe1xuICAgIHJlZjogY29udGFpbmVyUmVmLFxuICAgIGlzVmlzaWJsZTogaXNWaXNpYmxlICYmICFpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZCxcbiAgICBvbkRyYWdTdGFydDogaGFuZGxlRHJhZ1N0YXJ0LFxuICAgIG9uRHJhZzogaGFuZGxlRHJhZyxcbiAgICBvbkRyYWdFbmQ6IGhhbmRsZURyYWdFbmQsXG4gICAgb25EcmFnQ2FuY2VsOiBoYW5kbGVEcmFnQ2FuY2VsLFxuICB9KTtcblxuICBjb25zdCBoYW5kbGVFeGl0QW5pbWF0aW9uRW5kID0gKCkgPT4ge1xuICAgIGlmIChpc0Nsb3NpbmcpIHtcbiAgICAgIHNldENsb3NpbmcoZmFsc2UpO1xuICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcblxuICAgICAgaWYgKG9uVW5tb3VudCkge1xuICAgICAgICBvblVubW91bnQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ29udGVudENvbnRhaW5lclNjcm9sbCA9ICgpID0+IHtcbiAgICBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWQoXG4gICAgICBjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnQgJiYgY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCAhPT0gMFxuICAgICk7XG4gIH07XG5cbiAgY29uc3Qgc2hvd1NoZWV0ID0gKGlzVmlzaWJsZSB8fCBpc0Nsb3NpbmcpICYmICEoaXNWaXNpYmxlICYmIGlzQ2xvc2luZyk7XG5cbiAgaWYgKCFzaG93U2hlZXQpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IGdsb2JhbFN0eWxlcyA9IHtcbiAgICBodG1sOiB7XG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBpZFByb3AgPSBpZFxuICAgID8ge1xuICAgICAgICBpZCxcbiAgICAgIH1cbiAgICA6IHt9O1xuXG4gIGNvbnN0IHNoZWV0RWxtID0gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsIHN0eWxlcz17Z2xvYmFsU3R5bGVzfSAvPlxuICAgICAgPEZvY3VzVHJhcFdyYXBwZXJcbiAgICAgICAgZm9jdXNUcmFwT3B0aW9ucz17e1xuICAgICAgICAgIGNsaWNrT3V0c2lkZURlYWN0aXZhdGVzOiBkaXNtaXNzT25PdXRzaWRlQ2xpY2ssXG4gICAgICAgICAgZXNjYXBlRGVhY3RpdmF0ZXM6IHRydWUsXG4gICAgICAgICAgcHJldmVudFNjcm9sbDogdHJ1ZSxcbiAgICAgICAgICBpbml0aWFsRm9jdXM6ICgpID0+ICFkaXNhYmxlSW5pdGlhbEZvY3VzLFxuICAgICAgICAgIHJldHVybkZvY3VzT25EZWFjdGl2YXRlOiAhZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICAgICAgICAgIGZhbGxiYWNrRm9jdXM6IGBbZGF0YS1kcy1pZD1cIlNoZWV0XCJdYCxcbiAgICAgICAgICBvblBvc3REZWFjdGl2YXRlOiAoKSA9PiB7XG4gICAgICAgICAgICBvbkNsb3NlKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgICAgIHsuLi5pZFByb3B9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZ1xuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlNoZWV0XCJcbiAgICAgICAgICBpc1Zpc2libGU9e2lzVmlzaWJsZX1cbiAgICAgICAgICBjb250YWluZXJIZWlnaHQ9e2NvbnRhaW5lckhlaWdodH1cbiAgICAgICAgICBpc0Nsb3Npbmc9e2lzQ2xvc2luZ31cbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICBkcmFnT2Zmc2V0PXtkcmFnT2Zmc2V0LmN1cnJlbnR9XG4gICAgICAgICAgcHJldlZpc2libGVTdGF0ZT17cHJldlZpc2libGVTdGF0ZS5jdXJyZW50fVxuICAgICAgICAgIG9uQW5pbWF0aW9uRW5kPXtoYW5kbGVFeGl0QW5pbWF0aW9uRW5kfVxuICAgICAgICA+XG4gICAgICAgICAgPENvbnRhaW5lciBlbGV2YXRpb249ezR9PlxuICAgICAgICAgICAgPFN0eWxlZEhhbmRsZUNvbnRhaW5lclxuICAgICAgICAgICAgICBpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZD17aXNDb250ZW50Q29udGFpbmVyU2Nyb2xsZWR9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdHlsZWRIYW5kbGUgLz5cbiAgICAgICAgICAgIDwvU3R5bGVkSGFuZGxlQ29udGFpbmVyPlxuICAgICAgICAgICAgPFN0eWxlZENvbnRlbnRDb250YWluZXJcbiAgICAgICAgICAgICAgaXNDbG9zaW5nPXtpc0Nsb3Npbmd9XG4gICAgICAgICAgICAgIHJlZj17Y29udGVudENvbnRhaW5lclJlZn1cbiAgICAgICAgICAgICAgb25TY3JvbGw9e2hhbmRsZUNvbnRlbnRDb250YWluZXJTY3JvbGx9XG4gICAgICAgICAgICAgIG9uQW5pbWF0aW9uRW5kPXsoZXZ0KSA9PiBldnQuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvU3R5bGVkQ29udGVudENvbnRhaW5lcj5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9TdHlsZWRDb250YWluZXI+XG4gICAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICAgPC8+XG4gICk7XG5cbiAgcmV0dXJuIGNyZWF0ZVBvcnRhbChzaGVldEVsbSwgcG9ydGFsQ29udGFpbmVyIHx8IGRvY3VtZW50LmJvZHkpO1xufVxuIl19 */");
144
+ function Sheet(_ref5) {
145
+ let {
146
+ id,
147
+ children,
148
+ isVisible,
149
+ onClose,
150
+ onUnmount,
151
+ portalContainer,
152
+ dismissOnOutsideClick = true,
153
+ disableInitialFocus,
154
+ disableReturnFocusToTrigger,
155
+ "data-e2e-test-id": dataE2eTestId
156
+ } = _ref5;
157
+ const [isClosing, setClosing] = useState(false);
158
+ const [containerHeight, setContainerHeight] = useState(0);
159
+ const [isContentContainerScrolled, setContentContainerScrolled] = useState(false);
160
+ const containerRef = useRef(null);
161
+ const contentContainerRef = useRef(null);
162
+ const prevVisibleState = useRef(isVisible);
163
+ const dragOffset = useRef(0);
164
+ const isDragStarted = useRef(false);
165
+ useLayoutEffect(() => {
166
+ if (isVisible && containerRef.current) {
167
+ const containerRect = containerRef.current.getBoundingClientRect();
168
+ setContainerHeight(containerRect.height);
169
+ }
170
+ }, [isVisible, children]);
171
+ useEffect(() => {
172
+ // Start closing sheet if previously opened
173
+ if (!isVisible && prevVisibleState.current) {
174
+ setClosing(true);
175
+ }
176
+ prevVisibleState.current = isVisible;
177
+ }, [isVisible]);
178
+ useEffect(() => {
179
+ if (isVisible && isClosing) {
180
+ // Sometimes, parent component can re-open sheet while it is still closing. To prevent this, we call onClose again
181
+ onClose();
182
+ }
183
+ }, [isVisible, isClosing, onClose]);
184
+ const handleDragStart = useCallback(() => {
185
+ requestAnimationFrame(() => {
186
+ if (contentContainerRef.current.scrollTop === 0) {
187
+ // Remove existing animation, otherwise transform doesn't work
188
+ containerRef.current.style.animation = "none";
189
+ containerRef.current.style.transition = "transform 0.1s ease";
190
+ containerRef.current.style.transform = "translateY(0px)";
191
+ dragOffset.current = 0;
192
+ isDragStarted.current = true;
193
+ }
194
+ });
195
+ }, [containerRef, contentContainerRef]);
196
+ const handleDrag = useCallback((_, offsetFromStart) => {
197
+ const containerCurrentHeight = containerRef.current.getBoundingClientRect().height;
198
+ requestAnimationFrame(() => {
199
+ if (isDragStarted.current && contentContainerRef.current.scrollTop === 0 && offsetFromStart < containerCurrentHeight) {
200
+ containerRef.current.style.transform = `translateY(${offsetFromStart}px)`;
201
+ dragOffset.current = offsetFromStart;
202
+ }
203
+ });
204
+ }, [containerRef, contentContainerRef]);
205
+ const handleDragEnd = useCallback((_, offsetFromStart) => {
206
+ const containerCurrentHeight = containerRef.current.getBoundingClientRect().height;
207
+ // Close sheet only when drag distance is a quarter of container height
208
+ const minDragDistance = containerCurrentHeight < MIN_DRAG_DISTANCE * 2 ? containerCurrentHeight / 4 : MIN_DRAG_DISTANCE;
209
+ requestAnimationFrame(() => {
210
+ if (isDragStarted.current) {
211
+ if (offsetFromStart >= minDragDistance && contentContainerRef.current.scrollTop === 0) {
212
+ onClose();
213
+ } else {
214
+ containerRef.current.style.transform = "translateY(0px)";
215
+ dragOffset.current = 0;
216
+ }
217
+ }
218
+ isDragStarted.current = false;
219
+ });
220
+ }, [containerRef, onClose]);
221
+ const handleDragCancel = useCallback(() => {
222
+ requestAnimationFrame(() => {
223
+ if (isDragStarted.current) {
224
+ containerRef.current.style.transform = "translateY(0px)";
225
+ dragOffset.current = 0;
226
+ }
227
+ isDragStarted.current = false;
228
+ });
229
+ }, [containerRef]);
230
+ useDragDown({
231
+ ref: containerRef,
232
+ isVisible: isVisible && !isContentContainerScrolled,
233
+ onDragStart: handleDragStart,
234
+ onDrag: handleDrag,
235
+ onDragEnd: handleDragEnd,
236
+ onDragCancel: handleDragCancel
237
+ });
238
+ const handleExitAnimationEnd = () => {
239
+ if (isClosing) {
240
+ setClosing(false);
241
+ dragOffset.current = 0;
242
+ if (onUnmount) {
243
+ onUnmount();
244
+ }
245
+ }
246
+ };
247
+ const handleContentContainerScroll = () => {
248
+ setContentContainerScrolled(contentContainerRef.current && contentContainerRef.current.scrollTop !== 0);
249
+ };
250
+ const showSheet = (isVisible || isClosing) && !(isVisible && isClosing);
251
+ if (!showSheet) return null;
252
+ const globalStyles = {
253
+ html: {
254
+ overflow: "hidden",
255
+ overscrollBehavior: "none"
256
+ }
257
+ };
258
+ const idProp = id ? {
259
+ id
260
+ } : {};
261
+ const sheetElm = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Global, {
262
+ styles: globalStyles
263
+ }), /*#__PURE__*/React.createElement(FocusTrapWrapper, {
264
+ focusTrapOptions: {
265
+ clickOutsideDeactivates: dismissOnOutsideClick,
266
+ escapeDeactivates: true,
267
+ preventScroll: true,
268
+ initialFocus: () => !disableInitialFocus,
269
+ returnFocusOnDeactivate: !disableReturnFocusToTrigger,
270
+ fallbackFocus: `[data-ds-id="Sheet"]`,
271
+ onPostDeactivate: () => {
272
+ onClose();
273
+ }
274
+ }
275
+ }, /*#__PURE__*/React.createElement(StyledContainer, _extends({}, idProp, {
276
+ // eslint-disable-line react/jsx-props-no-spreading
277
+ "data-e2e-test-id": dataE2eTestId,
278
+ "data-ds-id": "Sheet",
279
+ isVisible: isVisible,
280
+ containerHeight: containerHeight,
281
+ isClosing: isClosing,
282
+ ref: containerRef,
283
+ dragOffset: dragOffset.current,
284
+ prevVisibleState: prevVisibleState.current,
285
+ onAnimationEnd: handleExitAnimationEnd
286
+ }), /*#__PURE__*/React.createElement(Container, {
287
+ elevation: 4
288
+ }, /*#__PURE__*/React.createElement(StyledHandleContainer, {
289
+ isContentContainerScrolled: isContentContainerScrolled
290
+ }, /*#__PURE__*/React.createElement(StyledHandle, null)), /*#__PURE__*/React.createElement(StyledContentContainer, {
291
+ isClosing: isClosing,
292
+ ref: contentContainerRef,
293
+ onScroll: handleContentContainerScroll,
294
+ onAnimationEnd: evt => evt.stopPropagation()
295
+ }, children)))));
296
+ return /*#__PURE__*/createPortal(sheetElm, portalContainer || document.body);
297
+ }
298
+
299
+ export { Sheet };
300
+ //# 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 prevVisibleState?: boolean;\n};\n\nconst StyledContainer = styled.div<StyledContainerProps>(\n ({ theme, containerHeight, isClosing, dragOffset = 0, prevVisibleState }) => {\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}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 if (!prevVisibleState) {\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 ({ 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 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\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.primary,\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(isVisible);\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 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 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 prevVisibleState={prevVisibleState.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","prevVisibleState","animation","slideOut","transform","slideIn","position","left","bottom","width","transformOrigin","boxSizing","zIndex","variables","modal","borderBottomLeftRadius","borderBottomRightRadius","StyledContentContainer","_ref2","overflow","maxHeight","overscrollBehavior","StyledHandleContainer","_ref3","isContentContainerScrolled","padding","size","spacing","xs","display","justifyContent","boxShadow","values","elevation","a","StyledHandle","_ref4","height","borderRadius","backgroundColor","color","divider","primary","Sheet","_ref5","id","children","isVisible","onClose","onUnmount","portalContainer","dismissOnOutsideClick","disableInitialFocus","disableReturnFocusToTrigger","dataE2eTestId","setClosing","useState","setContainerHeight","setContentContainerScrolled","containerRef","useRef","contentContainerRef","isDragStarted","useLayoutEffect","current","containerRect","getBoundingClientRect","useEffect","handleDragStart","useCallback","requestAnimationFrame","scrollTop","style","transition","handleDrag","_","offsetFromStart","containerCurrentHeight","handleDragEnd","minDragDistance","handleDragCancel","useDragDown","ref","onDragStart","onDrag","onDragEnd","onDragCancel","handleExitAnimationEnd","handleContentContainerScroll","showSheet","globalStyles","html","idProp","sheetElm","React","createElement","Fragment","Global","styles","FocusTrapWrapper","focusTrapOptions","clickOutsideDeactivates","escapeDeactivates","preventScroll","initialFocus","returnFocusOnDeactivate","fallbackFocus","onPostDeactivate","_extends","onAnimationEnd","Container","onScroll","evt","stopPropagation","createPortal","document","body"],"mappings":"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"}
@@ -1,17 +1,17 @@
1
1
  import React, { ReactElement } from "react";
2
2
  import type { TooltipContentProps } from "../Tooltip/TooltipContent";
3
3
  import { TooltipConditionalProps } from "../Tooltip/types";
4
- type BaseProps = Pick<TooltipContentProps, "placement" | "portalContainer" | "maxWidth" | "contentPadding" | "hideArrow" | "hasInvertedSubTheme"> & {
4
+ type BaseProps = Pick<TooltipContentProps, "placement" | "portalContainer" | "maxWidth" | "contentPadding" | "hideArrow" | "hasInvertedSubTheme" | "defaultVerticalPlacement"> & {
5
5
  name?: string;
6
6
  content: ReactElement;
7
7
  "data-e2e-test-id"?: string;
8
8
  isVisible?: boolean;
9
- onVisibilityChange?: (isVisible: boolean) => void;
9
+ onVisibilityChange?: (isVisible: boolean, reason: string) => void;
10
10
  dismissOnOutsideClick?: boolean;
11
11
  disableInitialFocus?: boolean;
12
12
  disableReturnFocusToTrigger?: boolean;
13
+ renderAsSheetOnMobile?: boolean;
13
14
  };
14
- export type BasePopoverProps = BaseProps;
15
- 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,