@amboss/design-system 4.2.2 → 4.2.3-canary.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 (81) hide show
  1. package/build/cjs/components/ChatResponse/ChatResponse.js +1 -1
  2. package/build/cjs/components/CheckboxCard/CheckboxCard.js +1 -1
  3. package/build/cjs/components/Content/ContentBox/ContentBox.js +1 -1
  4. package/build/cjs/components/Content/ContentCheckbox/ContentCheckbox.js +1 -1
  5. package/build/cjs/components/Form/Checkbox/Checkbox.js +1 -1
  6. package/build/cjs/components/Form/Combobox/MultiSelect.js +1 -1
  7. package/build/cjs/components/Form/Combobox/SingleSelect.js +1 -1
  8. package/build/cjs/components/Form/Radio/Radio.js +1 -1
  9. package/build/cjs/components/Form/RadioButton/RadioButton.js +1 -1
  10. package/build/cjs/components/Form/RangeInput/RangeInput.js +1 -1
  11. package/build/cjs/components/Form/SegmentedControl/SegmentedControlOption.js +1 -1
  12. package/build/cjs/components/Form/Select/SelectWithCustomTrigger.js +1 -1
  13. package/build/cjs/components/Image/Image.js +1 -1
  14. package/build/cjs/components/Internal/Sandwich/Sandwich.js +1 -1
  15. package/build/cjs/components/Layout/registry.js +1 -1
  16. package/build/cjs/components/Layout/useFloatablePortalTargets.js +1 -1
  17. package/build/cjs/components/Layout/usePanelDockedSlide.js +1 -1
  18. package/build/cjs/components/Portal/Portal.js +1 -1
  19. package/build/cjs/components/PromptInput/PromptTextArea.js +1 -1
  20. package/build/cjs/components/PromptInput/useAutocompleteListPosition.js +1 -1
  21. package/build/cjs/components/RadioCard/RadioCard.js +1 -1
  22. package/build/cjs/components/SearchResult/SearchResult.d.ts +0 -3
  23. package/build/cjs/components/SearchResult/SearchResult.js +1 -1
  24. package/build/cjs/components/Sheet/Sheet.js +1 -1
  25. package/build/cjs/components/Toggletip/BasePopover.js +1 -1
  26. package/build/cjs/components/Tooltip/BaseTooltip.d.ts +4 -7
  27. package/build/cjs/components/Tooltip/Tooltip.d.ts +1 -1
  28. package/build/cjs/components/Tooltip/Tooltip.js +1 -1
  29. package/build/cjs/components/Tooltip/TooltipContent.js +1 -1
  30. package/build/cjs/components/Typography/Text/Text.d.ts +1 -1
  31. package/build/cjs/components/Typography/Text/Text.js +1 -1
  32. package/build/cjs/components/Utilities/Expandable/Expandable.js +1 -1
  33. package/build/cjs/components/Utilities/FloatingPosition/useFloatingPosition.js +1 -1
  34. package/build/cjs/components/VirtualScrollList/VirtualScrollList.js +1 -1
  35. package/build/cjs/shared/popupMenu/usePopupMenu.js +1 -1
  36. package/build/cjs/shared/useAutoPosition.js +1 -1
  37. package/build/cjs/shared/useBreakpoints.js +1 -1
  38. package/build/cjs/shared/useIsomorphicLayoutEffect.d.ts +9 -0
  39. package/build/cjs/shared/useIsomorphicLayoutEffect.js +1 -0
  40. package/build/cjs/web-tokens/_sizes.json +51 -51
  41. package/build/esm/components/ChatResponse/ChatResponse.js +1 -1
  42. package/build/esm/components/CheckboxCard/CheckboxCard.js +1 -1
  43. package/build/esm/components/Content/ContentBox/ContentBox.js +1 -1
  44. package/build/esm/components/Content/ContentCheckbox/ContentCheckbox.js +1 -1
  45. package/build/esm/components/Form/Checkbox/Checkbox.js +1 -1
  46. package/build/esm/components/Form/Combobox/MultiSelect.js +1 -1
  47. package/build/esm/components/Form/Combobox/SingleSelect.js +1 -1
  48. package/build/esm/components/Form/Radio/Radio.js +1 -1
  49. package/build/esm/components/Form/RadioButton/RadioButton.js +1 -1
  50. package/build/esm/components/Form/RangeInput/RangeInput.js +1 -1
  51. package/build/esm/components/Form/SegmentedControl/SegmentedControlOption.js +1 -1
  52. package/build/esm/components/Form/Select/SelectWithCustomTrigger.js +1 -1
  53. package/build/esm/components/Image/Image.js +1 -1
  54. package/build/esm/components/Internal/Sandwich/Sandwich.js +1 -1
  55. package/build/esm/components/Layout/registry.js +1 -1
  56. package/build/esm/components/Layout/useFloatablePortalTargets.js +1 -1
  57. package/build/esm/components/Layout/usePanelDockedSlide.js +1 -1
  58. package/build/esm/components/Portal/Portal.js +1 -1
  59. package/build/esm/components/PromptInput/PromptTextArea.js +1 -1
  60. package/build/esm/components/PromptInput/useAutocompleteListPosition.js +1 -1
  61. package/build/esm/components/RadioCard/RadioCard.js +1 -1
  62. package/build/esm/components/SearchResult/SearchResult.d.ts +0 -3
  63. package/build/esm/components/SearchResult/SearchResult.js +1 -1
  64. package/build/esm/components/Sheet/Sheet.js +1 -1
  65. package/build/esm/components/Toggletip/BasePopover.js +1 -1
  66. package/build/esm/components/Tooltip/BaseTooltip.d.ts +4 -7
  67. package/build/esm/components/Tooltip/Tooltip.d.ts +1 -1
  68. package/build/esm/components/Tooltip/Tooltip.js +1 -1
  69. package/build/esm/components/Tooltip/TooltipContent.js +1 -1
  70. package/build/esm/components/Typography/Text/Text.d.ts +1 -1
  71. package/build/esm/components/Typography/Text/Text.js +1 -1
  72. package/build/esm/components/Utilities/Expandable/Expandable.js +1 -1
  73. package/build/esm/components/Utilities/FloatingPosition/useFloatingPosition.js +1 -1
  74. package/build/esm/components/VirtualScrollList/VirtualScrollList.js +1 -1
  75. package/build/esm/shared/popupMenu/usePopupMenu.js +1 -1
  76. package/build/esm/shared/useAutoPosition.js +1 -1
  77. package/build/esm/shared/useBreakpoints.js +1 -1
  78. package/build/esm/shared/useIsomorphicLayoutEffect.d.ts +9 -0
  79. package/build/esm/shared/useIsomorphicLayoutEffect.js +1 -0
  80. package/build/esm/web-tokens/_sizes.json +51 -51
  81. package/package.json +3 -1
@@ -15,12 +15,9 @@ type TooltipChildProps = {
15
15
  onClick?: (event: ReactMouseEvent) => void;
16
16
  [key: string]: any;
17
17
  };
18
- export type BaseTooltipProps = BaseProps & ({
19
- children: ReactElement<TooltipChildProps>;
20
- externalTriggerRef?: never;
21
- } | {
22
- children?: never;
23
- externalTriggerRef: React.RefObject<HTMLElement>;
24
- });
18
+ export type BaseTooltipProps = BaseProps & {
19
+ children?: ReactElement<TooltipChildProps>;
20
+ externalTriggerRef?: React.RefObject<HTMLElement>;
21
+ };
25
22
  export declare function BaseTooltip({ placement, content, children, externalTriggerRef, portalContainer, contentPadding, maxWidth, subTheme, "data-e2e-test-id": dataE2eTestId, onVisibilityChange, ...ariaAttributes }: BaseTooltipProps): React.ReactElement;
26
23
  export {};
@@ -4,4 +4,4 @@ import type { TooltipConditionalProps } from "./types";
4
4
  export type TooltipProps = Omit<BaseTooltipProps, "content" | "contentPadding" | "maxWidth" | "subTheme"> & {
5
5
  content: string;
6
6
  } & TooltipConditionalProps;
7
- export declare function Tooltip({ content, ...rest }: TooltipProps): React.ReactElement;
7
+ export declare const Tooltip: React.ForwardRefExoticComponent<TooltipProps & React.RefAttributes<HTMLElement>>;
@@ -1 +1 @@
1
- import React from"react";import{Text}from"../Typography/Text/Text";import{BaseTooltip}from"./BaseTooltip";export function Tooltip({content,...rest}){let contentElm=React.createElement(Text,{size:"s"},content);return React.createElement(BaseTooltip,{content:contentElm,subTheme:"inverted",...rest})}
1
+ import React from"react";import{Text}from"../Typography/Text/Text";import{BaseTooltip}from"./BaseTooltip";export const Tooltip=React.forwardRef(({content,externalTriggerRef,...rest},ref)=>{let contentElm=React.createElement(Text,{size:"s"},content),triggerRef=externalTriggerRef??ref;return React.createElement(BaseTooltip,{content:contentElm,subTheme:"inverted",...rest,...triggerRef&&{externalTriggerRef:triggerRef}})});Tooltip.displayName="Tooltip";
@@ -1 +1 @@
1
- import React,{useCallback,useEffect,useLayoutEffect,useMemo,useRef,useState}from"react";import styled from"@emotion/styled";import{keyframes}from"@emotion/react";import{useDocument}from"../../shared/useDocument";import{useWindow}from"../../shared/useWindow";import{SubThemeProvider}from"../SubThemeProvider/SubThemeProvider";import{Portal,usePortalChildZIndex}from"../Portal/Portal";import{ANIMATION_DISTANCE,ARROW_SIZE,ARROW_SIZE_BIG,DISTANCE_FROM_TRIGGER,getArrowOffset,getTooltipStyle}from"./utils";let StyledContainer=styled("div",{target:"e1c7en970",label:"StyledContainer"})(({theme,horizontalPlacement,verticalPlacement,maxWidth,contentPadding,subTheme,isHidden})=>{let animationDistance="top"===verticalPlacement?`${ANIMATION_DISTANCE}px`:`-${ANIMATION_DISTANCE}px`,animation=keyframes({to:{opacity:theme.variables.opacity.visible,transform:"center"===horizontalPlacement?`translate(-50%, ${animationDistance})`:`translateY(${animationDistance})`}}),contentPaddingMap={s:theme.variables.size.spacing.xxs,m:theme.variables.size.spacing.s},invertedSubThemeStyles={padding:`${theme.variables.size.spacing.xs} ${theme.variables.size.spacing.s}`,...contentPadding&&{padding:contentPaddingMap[contentPadding]}};return{position:"absolute",zIndex:usePortalChildZIndex(theme.variables.zIndex.tooltip),opacity:theme.variables.opacity.hidden,animation:`200ms ease-out forwards ${animation}`,maxWidth,width:"max-content",boxSizing:"border-box",backgroundColor:subTheme?theme.values.color.background.primary.default:theme.values.color.background.elevated.default,borderRadius:subTheme?theme.variables.size.borderRadius.xs:theme.variables.size.borderRadius.s,...isHidden&&{visibility:"hidden"},...!!subTheme&&invertedSubThemeStyles,..."center"===horizontalPlacement&&{transform:"translate(-50%)"},...!subTheme&&{":after":{content:'" "',position:"absolute",top:0,left:0,width:"100%",height:"100%",pointerEvents:"none",borderRadius:"inherit",boxShadow:theme.values.elevation[3]}}}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVG9vbHRpcC9Ub29sdGlwQ29udGVudC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Rvb2x0aXAvVG9vbHRpcENvbnRlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIE11dGFibGVSZWZPYmplY3QsIFJlYWN0RWxlbWVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGtleWZyYW1lcyB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eSB9IGZyb20gXCJjc3N0eXBlXCI7XG5pbXBvcnQgdHlwZSB7IFN1YlRoZW1lVHlwZXMgfSBmcm9tIFwiLi4vLi4vd2ViLXRva2Vucy9fc3ViVGhlbWVUeXBlXCI7XG5pbXBvcnQgeyB1c2VEb2N1bWVudCB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlRG9jdW1lbnRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5pbXBvcnQgeyBTdWJUaGVtZVByb3ZpZGVyIH0gZnJvbSBcIi4uL1N1YlRoZW1lUHJvdmlkZXIvU3ViVGhlbWVQcm92aWRlclwiO1xuaW1wb3J0IHtcbiAgUG9ydGFsLFxuICB1c2VQb3J0YWxDaGlsZFpJbmRleCxcbiAgdHlwZSBQb3J0YWxQcm9wcyxcbn0gZnJvbSBcIi4uL1BvcnRhbC9Qb3J0YWxcIjtcblxuaW1wb3J0IHtcbiAgQU5JTUFUSU9OX0RJU1RBTkNFLFxuICBBUlJPV19TSVpFLFxuICBBUlJPV19TSVpFX0JJRyxcbiAgRElTVEFOQ0VfRlJPTV9UUklHR0VSLFxuICBnZXRBcnJvd09mZnNldCxcbiAgZ2V0VG9vbHRpcFN0eWxlLFxufSBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgdHlwZSBUb29sdGlwQ29udGVudFByb3BzID0ge1xuICBjb250ZW50OiBSZWFjdEVsZW1lbnQ7XG4gIHRyaWdnZXJSZWY6IE11dGFibGVSZWZPYmplY3Q8YW55PjtcbiAgcGxhY2VtZW50PzpcbiAgICB8IFwiYXV0b1wiXG4gICAgfCBcInRvcFwiXG4gICAgfCBcImJvdHRvbVwiXG4gICAgfCBcInRvcC1sZWZ0XCJcbiAgICB8IFwidG9wLXJpZ2h0XCJcbiAgICB8IFwiYm90dG9tLWxlZnRcIlxuICAgIHwgXCJib3R0b20tcmlnaHRcIjtcbiAgZGF0YUUyZVRlc3RJZD86IHN0cmluZztcbiAgZGF0YURTSWQ6IHN0cmluZztcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcbiAgdG9vbHRpcElkPzogc3RyaW5nO1xuICByb2xlPzogc3RyaW5nO1xuICB0YWJJbmRleD86IG51bWJlcjtcbiAgY29udGVudFBhZGRpbmc/OiBcInNcIiB8IFwibVwiO1xuICBzdWJUaGVtZT86IFN1YlRoZW1lVHlwZXM7XG4gIG1heFdpZHRoPzogUHJvcGVydHkuTWF4V2lkdGggfCBudW1iZXI7XG4gIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudD86IFRvb2x0aXBTdHlsZVtcInZlcnRpY2FsUGxhY2VtZW50XCJdO1xuICBoaWRlQXJyb3c/OiBib29sZWFuO1xuICAvKiogU2V0cyBjc3MgdmlzaWJpbGl0eSBoaWRkZW4gd2hlbiB0cmlnZ2VyIGlzIHNjcm9sbGVkIG91dCBvZiB2aWV3ICovXG4gIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyPzogYm9vbGVhbjtcbiAgb25Ub29sdGlwUG9pbnRlckVudGVyPzogUmVhY3QuUG9pbnRlckV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIG9uVG9vbHRpcFBvaW50ZXJMZWF2ZT86IFJlYWN0LlBvaW50ZXJFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICAvKiogVGhpcyBjYWxsYmFjayBpcyB0cmlnZ2VyZWQgd2hlbiBjb250ZW50IG92ZXJmbG93cyB0aGUgdmlld3BvcnQgYm90aCBhYm92ZSBhbmQgYmVsb3cgdHJpZ2dlci4gVXNlIHRoaXMgZm9yIHRyYWNraW5nIHB1cnBvc2VzIG9yIHJlLXJlbmRlcmluZyBQb3BvdmVyIHdpdGggYSBsYXJnZXIgbWF4V2lkdGggKi9cbiAgb25PdmVyZmxvd1ZpZXdwb3J0PzogKFxuICAgIHRyaWdnZXJSZWN0OiBET01SZWN0LFxuICAgIHRvb2x0aXBSZWN0OiBET01SZWN0LFxuICAgIHZpZXdwb3J0SGVpZ2h0OiBudW1iZXJcbiAgKSA9PiB2b2lkO1xufSAmIFBpY2s8UG9ydGFsUHJvcHMsIFwicG9ydGFsQ29udGFpbmVyXCI+ICZcbiAgQXJpYUF0dHJpYnV0ZXM7XG5cbmV4cG9ydCB0eXBlIFRvb2x0aXBTdHlsZSA9IHtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogXCJsZWZ0XCIgfCBcInJpZ2h0XCIgfCBcImNlbnRlclwiO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogXCJ0b3BcIiB8IFwiYm90dG9tXCI7XG59O1xuXG50eXBlIFN0eWxlZENvbnRhaW5lclByb3BzID0gUGljazxcbiAgVG9vbHRpcENvbnRlbnRQcm9wcyxcbiAgXCJjb250ZW50UGFkZGluZ1wiIHwgXCJtYXhXaWR0aFwiIHwgXCJzdWJUaGVtZVwiXG4+ICYge1xuICBob3Jpem9udGFsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJob3Jpem9udGFsUGxhY2VtZW50XCJdO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGlzSGlkZGVuOiBib29sZWFuO1xufTtcblxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OID0gMjAwO1xuY29uc3QgU0hPV19ISURFX0RFTEFZID0gMjAwO1xuY29uc3QgTUFYX0NPTlRFTlRfV0lEVEggPSAyMjQ7XG4vLyBVc2UgMC45OSBpbnN0ZWFkIG9mIDEuMCB0byBoYW5kbGUgc3ViLXBpeGVsIHJvdW5kaW5nIGlzc3Vlc1xuLy8gdGhhdCBjYW4gY2F1c2UgaW50ZXJzZWN0aW9uUmF0aW8gdG8gcmVwb3J0IHZhbHVlcyBsaWtlIDAuOTlcbmNvbnN0IElOVEVSU0VDVElPTl9USFJFU0hPTEQgPSAwLjk5O1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZENvbnRhaW5lclByb3BzPihcbiAgKHtcbiAgICB0aGVtZSxcbiAgICBob3Jpem9udGFsUGxhY2VtZW50LFxuICAgIHZlcnRpY2FsUGxhY2VtZW50LFxuICAgIG1heFdpZHRoLFxuICAgIGNvbnRlbnRQYWRkaW5nLFxuICAgIHN1YlRoZW1lLFxuICAgIGlzSGlkZGVuLFxuICB9KSA9PiB7XG4gICAgY29uc3QgYW5pbWF0aW9uRGlzdGFuY2UgPVxuICAgICAgdmVydGljYWxQbGFjZW1lbnQgPT09IFwidG9wXCJcbiAgICAgICAgPyBgJHtBTklNQVRJT05fRElTVEFOQ0V9cHhgXG4gICAgICAgIDogYC0ke0FOSU1BVElPTl9ESVNUQU5DRX1weGA7XG4gICAgY29uc3QgYW5pbWF0aW9uID0ga2V5ZnJhbWVzKHtcbiAgICAgIHRvOiB7XG4gICAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGUsXG4gICAgICAgIHRyYW5zZm9ybTpcbiAgICAgICAgICBob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImNlbnRlclwiXG4gICAgICAgICAgICA/IGB0cmFuc2xhdGUoLTUwJSwgJHthbmltYXRpb25EaXN0YW5jZX0pYFxuICAgICAgICAgICAgOiBgdHJhbnNsYXRlWSgke2FuaW1hdGlvbkRpc3RhbmNlfSlgLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbnRlbnRQYWRkaW5nTWFwID0ge1xuICAgICAgczogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eHMsXG4gICAgICBtOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gICAgfTtcblxuICAgIGNvbnN0IGludmVydGVkU3ViVGhlbWVTdHlsZXMgPSB7XG4gICAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzfSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcuc31gLFxuICAgICAgLi4uKGNvbnRlbnRQYWRkaW5nICYmIHtcbiAgICAgICAgcGFkZGluZzogY29udGVudFBhZGRpbmdNYXBbY29udGVudFBhZGRpbmddLFxuICAgICAgfSksXG4gICAgfTtcblxuICAgIGNvbnN0IHpJbmRleCA9IHVzZVBvcnRhbENoaWxkWkluZGV4KHRoZW1lLnZhcmlhYmxlcy56SW5kZXgudG9vbHRpcCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgIHpJbmRleCxcbiAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbixcbiAgICAgIGFuaW1hdGlvbjogYCR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7YW5pbWF0aW9ufWAsXG4gICAgICBtYXhXaWR0aCxcbiAgICAgIHdpZHRoOiBcIm1heC1jb250ZW50XCIsXG4gICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBzdWJUaGVtZVxuICAgICAgICA/IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLnByaW1hcnkuZGVmYXVsdFxuICAgICAgICA6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBib3JkZXJSYWRpdXM6IHN1YlRoZW1lXG4gICAgICAgID8gdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzXG4gICAgICAgIDogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnMsXG5cbiAgICAgIC4uLihpc0hpZGRlbiAmJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IFwiaGlkZGVuXCIsXG4gICAgICB9KSxcbiAgICAgIC4uLighIXN1YlRoZW1lICYmIGludmVydGVkU3ViVGhlbWVTdHlsZXMpLFxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwiY2VudGVyXCIgJiYge1xuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUpXCIsXG4gICAgICB9KSxcblxuICAgICAgLi4uKCFzdWJUaGVtZSAmJiB7XG4gICAgICAgIFwiOmFmdGVyXCI6IHtcbiAgICAgICAgICBjb250ZW50OiAnXCIgXCInLFxuICAgICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICAgICAgcG9pbnRlckV2ZW50czogXCJub25lXCIsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiBcImluaGVyaXRcIixcbiAgICAgICAgICBib3hTaGFkb3c6IHRoZW1lLnZhbHVlcy5lbGV2YXRpb25bM10sXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZEFycm93UHJvcHMgPSBQaWNrPFRvb2x0aXBDb250ZW50UHJvcHMsIFwic3ViVGhlbWVcIj4gJiB7XG4gIHZlcnRpY2FsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJ2ZXJ0aWNhbFBsYWNlbWVudFwiXTtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1wiaG9yaXpvbnRhbFBsYWNlbWVudFwiXTtcbiAgc2l6ZT86IDAgfCB0eXBlb2YgQVJST1dfU0laRSB8IHR5cGVvZiBBUlJPV19TSVpFX0JJRztcbn07XG5cbi8vIFRoaXMgY29udGFpbmVyIGlzIGxhcmdlIGVub3VnaCB0byBjb250YWluIHRoZSBhcnJvdyBzaGFkb3cgYmx1clxuY29uc3QgQVJST1dfQ09OVEFJTkVSX1dJRFRIID0gNDA7XG5cbmNvbnN0IFN0eWxlZEFycm93ID0gc3R5bGVkLmRpdjxTdHlsZWRBcnJvd1Byb3BzPihcbiAgKHtcbiAgICB0aGVtZSxcbiAgICBzdWJUaGVtZSxcbiAgICB2ZXJ0aWNhbFBsYWNlbWVudCxcbiAgICBob3Jpem9udGFsUGxhY2VtZW50LFxuICAgIHNpemUgPSBBUlJPV19TSVpFLFxuICB9KSA9PiB7XG4gICAgY29uc3Qgb2Zmc2V0ID0gZ2V0QXJyb3dPZmZzZXQoc2l6ZSk7XG4gICAgY29uc3QgYWRqdXN0bWVudEZvclNoYWRvdyA9IHN1YlRoZW1lID8gMCA6IDE7XG4gICAgY29uc3QgYXJyb3dDb250YWluZXJIZWlnaHQgPSBzaXplICsgRElTVEFOQ0VfRlJPTV9UUklHR0VSO1xuICAgIC8vIEdldCBhcnJvdyB3aWR0aCBhbmQgaGVpZ2h0IHVzaW5nIHB5dGhvZ29yYXMgdGhlb3JlbSBhbmQgYWRkIDEgdG8gaGVpZ2h0IHRvIGFjY291bnQgZm9yIGRhcmsgbW9kZSBzaGFkb3cuXG4gICAgY29uc3QgYXJyb3dTaWRlTGVuZ3RoID0gTWF0aC5zcXJ0KFxuICAgICAgc2l6ZSAqKiAyICsgKHNpemUgKyBhZGp1c3RtZW50Rm9yU2hhZG93KSAqKiAyXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgd2lkdGg6IEFSUk9XX0NPTlRBSU5FUl9XSURUSCxcbiAgICAgIGhlaWdodDogYXJyb3dDb250YWluZXJIZWlnaHQsXG4gICAgICB6SW5kZXg6IDEsXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcblxuICAgICAgLi4uKHZlcnRpY2FsUGxhY2VtZW50ID09PSBcInRvcFwiICYmIHtcbiAgICAgICAgLy8gcGxhY2UgdGhlIGFycm93IGNvbnRhaW5lciAxcHggaW5zaWRlIHRvb2x0aXAgY29udGFpbmVyIHRvIGFjY291bnQgZm9yIGRhcmsgbW9kZSBib3gtc2hhZG93XG4gICAgICAgIHRvcDogYGNhbGMoMTAwJSAtICR7YWRqdXN0bWVudEZvclNoYWRvd31weClgLFxuICAgICAgfSksXG5cbiAgICAgIC4uLih2ZXJ0aWNhbFBsYWNlbWVudCA9PT0gXCJib3R0b21cIiAmJiB7XG4gICAgICAgIC8vIHBsYWNlIHRoZSBhcnJvdyBjb250YWluZXIgMXB4IGluc2lkZSB0b29sdGlwIGNvbnRhaW5lciB0byBhY2NvdW50IGZvciBkYXJrIG1vZGUgYm94LXNoYWRvd1xuICAgICAgICB0b3A6IGAtJHthcnJvd0NvbnRhaW5lckhlaWdodCAtIGFkanVzdG1lbnRGb3JTaGFkb3d9cHhgLFxuICAgICAgfSksXG5cbiAgICAgIC4uLihob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImNlbnRlclwiICYmIHtcbiAgICAgICAgbGVmdDogXCI1MCVcIixcbiAgICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtNTAlKVwiLFxuICAgICAgfSksXG5cbiAgICAgIC4uLihob3Jpem9udGFsUGxhY2VtZW50ID09PSBcInJpZ2h0XCIgJiYge1xuICAgICAgICBsZWZ0OiBgJHtvZmZzZXQgLSAoQVJST1dfQ09OVEFJTkVSX1dJRFRIIC8gMiAtIHNpemUpfXB4YCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJsZWZ0XCIgJiYge1xuICAgICAgICByaWdodDogYCR7b2Zmc2V0IC0gKEFSUk9XX0NPTlRBSU5FUl9XSURUSCAvIDIgLSBzaXplKX1weGAsXG4gICAgICB9KSxcblxuICAgICAgXCImOjphZnRlclwiOiB7XG4gICAgICAgIGNvbnRlbnQ6ICdcIiBcIicsXG4gICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgIHRvcDogdmVydGljYWxQbGFjZW1lbnQgPT09IFwidG9wXCIgPyAwIDogXCIxMDAlXCIsXG4gICAgICAgIGxlZnQ6IFwiNTAlXCIsXG4gICAgICAgIHdpZHRoOiBhcnJvd1NpZGVMZW5ndGgsXG4gICAgICAgIGhlaWdodDogYXJyb3dTaWRlTGVuZ3RoLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN1YlRoZW1lXG4gICAgICAgICAgPyB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5wcmltYXJ5LmRlZmF1bHRcbiAgICAgICAgICA6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKVwiLFxuXG4gICAgICAgIC4uLighc3ViVGhlbWUgJiYge1xuICAgICAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblszXSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH07XG4gIH1cbik7XG5cbmNvbnN0IGluaXRpYWxTdHlsZTogVG9vbHRpcFN0eWxlID0ge1xuICB0b3A6IDAsXG4gIGxlZnQ6IDAsXG4gIHZlcnRpY2FsUGxhY2VtZW50OiBcInRvcFwiLFxuICBob3Jpem9udGFsUGxhY2VtZW50OiBcImNlbnRlclwiLFxufTtcblxubGV0IGxhc3RUb29sdGlwSGlkZVRpbWVzdGFtcCA9IDA7XG5cbi8qIERpc2FibGUgYW5pbWF0aW9uIGlmIHRpbWUgYmV0d2VlbiBsYXN0IGNsb3NlIGFuZCBuZXcgb3BlbiBpcyBsZXNzIHRoYW4gNTAwbXMgKyBTSE9XX0hJREVfREVMQVkgKi9cbmZ1bmN0aW9uIGdldEFuaW1hdGlvbkR1cmF0aW9uKCkge1xuICBsZXQgYW5pbWF0aW9uRHVyYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT059bXNgO1xuXG4gIGlmIChsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXApIHtcbiAgICBjb25zdCB0aW1lU2luY2VMYXN0VG9vbHRpcCA9IERhdGUubm93KCkgLSBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXA7XG5cbiAgICBpZiAodGltZVNpbmNlTGFzdFRvb2x0aXAgPCA1MDAgKyBTSE9XX0hJREVfREVMQVkpIHtcbiAgICAgIGFuaW1hdGlvbkR1cmF0aW9uID0gXCIwbXNcIjtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGFuaW1hdGlvbkR1cmF0aW9uO1xufVxuXG4vKiogVGhpcyBjb21wb25lbnQgaXMgdXNlZCB0byBkaXNwbGF5IHRoZSBvdmVybGF5IGZvciBib3RoIFRvZ2dsZXRpcCBhbmQgVG9vbHRpcCBjb21wb25lbnRzICovXG5leHBvcnQgZnVuY3Rpb24gVG9vbHRpcENvbnRlbnQoe1xuICBwbGFjZW1lbnQgPSBcImF1dG9cIixcbiAgY29udGVudCxcbiAgdG9vbHRpcElkLFxuICB0cmlnZ2VyUmVmLFxuICBwb3J0YWxDb250YWluZXIsXG4gIGRhdGFFMmVUZXN0SWQsXG4gIGRhdGFEU0lkLFxuICBpc1Zpc2libGUsXG4gIFwiYXJpYS1oaWRkZW5cIjogYXJpYUhpZGRlbixcbiAgcm9sZSxcbiAgdGFiSW5kZXgsXG4gIGNvbnRlbnRQYWRkaW5nLFxuICBtYXhXaWR0aCA9IE1BWF9DT05URU5UX1dJRFRILFxuICBzdWJUaGVtZSxcbiAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50LFxuICBoaWRlQXJyb3cgPSBmYWxzZSxcbiAgaXNIaWRkZW5PbkludmlzaWJsZVRyaWdnZXIgPSBmYWxzZSxcbiAgb25Ub29sdGlwUG9pbnRlckVudGVyLFxuICBvblRvb2x0aXBQb2ludGVyTGVhdmUsXG4gIG9uT3ZlcmZsb3dWaWV3cG9ydCxcbiAgLi4uYXJpYUF0dHJpYnV0ZXNcbn06IFRvb2x0aXBDb250ZW50UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbc3R5bGUsIHNldFN0eWxlXSA9IHVzZVN0YXRlKGluaXRpYWxTdHlsZSk7XG4gIGNvbnN0IFtpc0hpZGRlbiwgc2V0SXNIaWRkZW5dID0gdXNlU3RhdGUoZmFsc2UpOyAvLyBjc3MgdmlzaWJpbHR5IGhpZGRlblxuICBjb25zdCB0b29sdGlwUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICBjb25zdCBkb2N1bWVudCA9IHVzZURvY3VtZW50KCk7XG4gIGNvbnN0IHdpbmRvdyA9IHVzZVdpbmRvdygpO1xuXG4gIGNvbnN0IGFycm93U2l6ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChoaWRlQXJyb3cpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gc3ViVGhlbWUgPyBBUlJPV19TSVpFIDogQVJST1dfU0laRV9CSUc7XG4gIH0sIFtzdWJUaGVtZSwgaGlkZUFycm93XSk7XG5cbiAgY29uc3QgaGFuZGxlVmlld3BvcnRPdmVyZmxvdyA9IHVzZUNhbGxiYWNrPFxuICAgIFRvb2x0aXBDb250ZW50UHJvcHNbXCJvbk92ZXJmbG93Vmlld3BvcnRcIl1cbiAgPihcbiAgICAodHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0LCB2aWV3cG9ydEhlaWdodCkgPT4ge1xuICAgICAgaWYgKCFpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYuY3VycmVudCkge1xuICAgICAgICBvbk92ZXJmbG93Vmlld3BvcnQ/Lih0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QsIHZpZXdwb3J0SGVpZ2h0KTtcbiAgICAgICAgaXNPdmVyZmxvd0NhbGxiYWNrQ2FsbGVkUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0sXG4gICAgW29uT3ZlcmZsb3dWaWV3cG9ydCwgaXNPdmVyZmxvd0NhbGxiYWNrQ2FsbGVkUmVmXVxuICApO1xuXG4gIGNvbnN0IGNhbGN1bGF0ZVN0eWxlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICh0cmlnZ2VyUmVmLmN1cnJlbnQgJiYgdG9vbHRpcFJlZi5jdXJyZW50KSB7XG4gICAgICAvLyBjYWxjdWxhdGUgdG9vbHRpcCBzdHlsZVxuICAgICAgc2V0U3R5bGUoXG4gICAgICAgIGdldFRvb2x0aXBTdHlsZSh7XG4gICAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICAgIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgICAgICAgICB0cmlnZ2VyUmVmLFxuICAgICAgICAgIHRvb2x0aXBSZWYsXG4gICAgICAgICAgZG9jdW1lbnQsXG4gICAgICAgICAgd2luZG93LFxuICAgICAgICAgIGFycm93U2l6ZSxcbiAgICAgICAgICBvbk92ZXJmbG93Vmlld3BvcnQ6IGhhbmRsZVZpZXdwb3J0T3ZlcmZsb3csXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfSwgW1xuICAgIHRyaWdnZXJSZWYsXG4gICAgdG9vbHRpcFJlZixcbiAgICBkb2N1bWVudCxcbiAgICB3aW5kb3csXG4gICAgcGxhY2VtZW50LFxuICAgIGFycm93U2l6ZSxcbiAgICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQsXG4gICAgaGFuZGxlVmlld3BvcnRPdmVyZmxvdyxcbiAgXSk7XG5cbiAgLy8gVGhpcyBsYXlvdXQgZWZmZWN0IHRvIHJlLXJlbmRlciB3aXRoIHVwZGF0ZWQgcG9zaXRpb24gYWZ0ZXIgZGV0ZXJtaW5pbmcgY29udGVudCB3aWR0aFxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc1Zpc2libGUpIHtcbiAgICAgIGNhbGN1bGF0ZVN0eWxlKCk7XG4gICAgfVxuICB9LCBbaXNWaXNpYmxlLCBjYWxjdWxhdGVTdHlsZSwgY29udGVudFBhZGRpbmcsIGNvbnRlbnQsIG1heFdpZHRoXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlICYmIHRvb2x0aXBSZWYuY3VycmVudCkge1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgY2FsY3VsYXRlU3R5bGUpO1xuICAgIH0gZWxzZSBpZiAoIWlzVmlzaWJsZSkge1xuICAgICAgLy8gbG9nIHRpbWUgd2hlbiB0b29sdGlwIGNsb3Nlc1xuICAgICAgbGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wID0gRGF0ZS5ub3coKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgY2FsY3VsYXRlU3R5bGUpO1xuICAgIH07XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCB3aW5kb3csIHRvb2x0aXBSZWZdKTtcblxuICAvLyBPYnNlcnZlIHRvb2x0aXAgZWxlbWVudCBzaXplIGNoYW5nZXMgdG8gcmVjYWxjdWxhdGUgcG9zaXRpb25pbmdcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgcmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyO1xuXG4gICAgaWYgKFxuICAgICAgaXNWaXNpYmxlICYmXG4gICAgICB0b29sdGlwUmVmLmN1cnJlbnQgJiZcbiAgICAgIHR5cGVvZiBSZXNpemVPYnNlcnZlciAhPT0gXCJ1bmRlZmluZWRcIlxuICAgICkge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgICAgIGlmIChlbnRyeS5jb250ZW50UmVjdC53aWR0aCA+IDAgJiYgZW50cnkuY29udGVudFJlY3QuaGVpZ2h0ID4gMCkge1xuICAgICAgICAgICAgY2FsY3VsYXRlU3R5bGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUodG9vbHRpcFJlZi5jdXJyZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKHJlc2l6ZU9ic2VydmVyKSB7XG4gICAgICAgIHJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbaXNWaXNpYmxlLCBjYWxjdWxhdGVTdHlsZSwgdG9vbHRpcFJlZl0pO1xuXG4gIC8vIFJlY2FsY3VsYXRlIHBvc2l0aW9uIHdoZW4gdGhlIHRyaWdnZXIgbW92ZXMgd2l0aG91dCBlbWl0dGluZyBzY3JvbGwvcmVzaXplXG4gIC8vIGV2ZW50cyAoZS5nLiBDU1MgdHJhbnNmb3JtcywgY2FudmFzIHpvb20vcGFuKS5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzVmlzaWJsZSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGxldCByZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZDogbnVtYmVyO1xuICAgIGxldCBwcmV2UmVjdDogRE9NUmVjdCB8IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHJlY2FsY3VsYXRlUG9zaXRpb24gPSAoKSA9PiB7XG4gICAgICBjb25zdCBuZXh0UmVjdCA9IHRyaWdnZXJSZWYuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBpZiAoXG4gICAgICAgIHByZXZSZWN0ICYmXG4gICAgICAgIG5leHRSZWN0ICYmXG4gICAgICAgIChwcmV2UmVjdC54ICE9PSBuZXh0UmVjdC54IHx8XG4gICAgICAgICAgcHJldlJlY3QueSAhPT0gbmV4dFJlY3QueSB8fFxuICAgICAgICAgIHByZXZSZWN0LndpZHRoICE9PSBuZXh0UmVjdC53aWR0aCB8fFxuICAgICAgICAgIHByZXZSZWN0LmhlaWdodCAhPT0gbmV4dFJlY3QuaGVpZ2h0KVxuICAgICAgKSB7XG4gICAgICAgIGNhbGN1bGF0ZVN0eWxlKCk7XG4gICAgICB9XG4gICAgICBwcmV2UmVjdCA9IG5leHRSZWN0O1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUocmVjYWxjdWxhdGVQb3NpdGlvbik7XG4gICAgfTtcblxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZUlkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJlY2FsY3VsYXRlUG9zaXRpb24pO1xuICAgIHJldHVybiAoKSA9PiBjYW5jZWxBbmltYXRpb25GcmFtZShyZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZCk7XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCB0cmlnZ2VyUmVmXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYuY3VycmVudCA9IGZhbHNlO1xuICB9LCBbaXNWaXNpYmxlLCBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWZdKTtcblxuICAvKiBIaWRlICh2aXNpYmlsaXR5OiBoaWRkZW4pIHRvb2x0aXAgaWYgdHJpZ2dlciBpcyBzY3JvbGxlZCBvdXQgb2YgdmlldyAqL1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBvYnNlcnZlcjogSW50ZXJzZWN0aW9uT2JzZXJ2ZXI7XG5cbiAgICBpZiAoXG4gICAgICBpc0hpZGRlbk9uSW52aXNpYmxlVHJpZ2dlciAmJlxuICAgICAgdHJpZ2dlclJlZi5jdXJyZW50ICYmXG4gICAgICBpc1Zpc2libGUgJiZcbiAgICAgIHR5cGVvZiBJbnRlcnNlY3Rpb25PYnNlcnZlciAhPT0gXCJ1bmRlZmluZWRcIlxuICAgICkge1xuICAgICAgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoXG4gICAgICAgIChlbnRyaWVzKSA9PlxuICAgICAgICAgIGVudHJpZXMuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlY3QgPSBlbnRyeS5ib3VuZGluZ0NsaWVudFJlY3Q7XG5cbiAgICAgICAgICAgIC8vIElnbm9yZSBpbnRlcnNlY3Rpb24gY2hhbmdlcyB3aGVuIGVsZW1lbnQgaGFzIHplcm8gZGltZW5zaW9uc1xuICAgICAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGR1cmluZyBET00gdXBkYXRlcy9wb3J0YWwgcmVuZGVyaW5nXG4gICAgICAgICAgICBpZiAocmVjdD8ud2lkdGggPT09IDAgJiYgcmVjdD8uaGVpZ2h0ID09PSAwKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2V0SXNIaWRkZW4oIWVudHJ5LmlzSW50ZXJzZWN0aW5nKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAge1xuICAgICAgICAgIHJvb3Q6IG51bGwsIC8vIHZpZXdwb3J0XG4gICAgICAgICAgdGhyZXNob2xkOiBJTlRFUlNFQ1RJT05fVEhSRVNIT0xELFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBvYnNlcnZlci5vYnNlcnZlKHRyaWdnZXJSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChvYnNlcnZlcikge1xuICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW3RyaWdnZXJSZWYsIGlzVmlzaWJsZSwgaXNIaWRkZW5PbkludmlzaWJsZVRyaWdnZXJdKTtcblxuICBpZiAoIWlzVmlzaWJsZSkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgdG9vbHRpcEVsbSA9IChcbiAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgZGF0YS1kcy1pZD17ZGF0YURTSWR9XG4gICAgICBzdHlsZT17e1xuICAgICAgICB0b3A6IHN0eWxlLnRvcCxcbiAgICAgICAgbGVmdDogc3R5bGUubGVmdCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb246IGdldEFuaW1hdGlvbkR1cmF0aW9uKCksXG4gICAgICB9fVxuICAgICAgcmVmPXt0b29sdGlwUmVmfVxuICAgICAgaWQ9e3Rvb2x0aXBJZH1cbiAgICAgIHJvbGU9e3JvbGV9XG4gICAgICB7Li4uYXJpYUF0dHJpYnV0ZXN9XG4gICAgICBhcmlhLWhpZGRlbj17YXJpYUhpZGRlbn1cbiAgICAgIHN1YlRoZW1lPXtzdWJUaGVtZX1cbiAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgIGhvcml6b250YWxQbGFjZW1lbnQ9e3N0eWxlLmhvcml6b250YWxQbGFjZW1lbnR9XG4gICAgICB2ZXJ0aWNhbFBsYWNlbWVudD17c3R5bGUudmVydGljYWxQbGFjZW1lbnR9XG4gICAgICBtYXhXaWR0aD17bWF4V2lkdGh9XG4gICAgICBjb250ZW50UGFkZGluZz17Y29udGVudFBhZGRpbmd9XG4gICAgICBpc0hpZGRlbj17aXNIaWRkZW59XG4gICAgICBvblBvaW50ZXJFbnRlcj17b25Ub29sdGlwUG9pbnRlckVudGVyfVxuICAgICAgb25Qb2ludGVyTGVhdmU9e29uVG9vbHRpcFBvaW50ZXJMZWF2ZX1cbiAgICA+XG4gICAgICB7Y29udGVudH1cbiAgICAgIHshaGlkZUFycm93ICYmIChcbiAgICAgICAgPFN0eWxlZEFycm93XG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17YCR7ZGF0YUUyZVRlc3RJZH1fYXJyb3dgfVxuICAgICAgICAgIHN1YlRoZW1lPXtzdWJUaGVtZX1cbiAgICAgICAgICBob3Jpem9udGFsUGxhY2VtZW50PXtzdHlsZS5ob3Jpem9udGFsUGxhY2VtZW50fVxuICAgICAgICAgIHZlcnRpY2FsUGxhY2VtZW50PXtzdHlsZS52ZXJ0aWNhbFBsYWNlbWVudH1cbiAgICAgICAgICBzaXplPXthcnJvd1NpemV9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICApO1xuXG4gIGNvbnN0IHdyYXBwZXJFbG0gPSBzdWJUaGVtZSA/IChcbiAgICA8U3ViVGhlbWVQcm92aWRlciBuYW1lPXtzdWJUaGVtZX0+e3Rvb2x0aXBFbG19PC9TdWJUaGVtZVByb3ZpZGVyPlxuICApIDogKFxuICAgIHRvb2x0aXBFbG1cbiAgKTtcblxuICByZXR1cm4gPFBvcnRhbCBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn0+e3dyYXBwZXJFbG19PC9Qb3J0YWw+O1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlGd0IifQ== */"),StyledArrow=styled("div",{target:"e1c7en971",label:"StyledArrow"})(({theme,subTheme,verticalPlacement,horizontalPlacement,size=ARROW_SIZE})=>{let offset=getArrowOffset(size),adjustmentForShadow=+!subTheme,arrowContainerHeight=size+DISTANCE_FROM_TRIGGER,arrowSideLength=Math.sqrt(size**2+(size+adjustmentForShadow)**2);return{position:"absolute",width:40,height:arrowContainerHeight,zIndex:1,overflow:"hidden",..."top"===verticalPlacement&&{top:`calc(100% - ${adjustmentForShadow}px)`},..."bottom"===verticalPlacement&&{top:`-${arrowContainerHeight-adjustmentForShadow}px`},..."center"===horizontalPlacement&&{left:"50%",transform:"translate(-50%)"},..."right"===horizontalPlacement&&{left:`${offset-(20-size)}px`},..."left"===horizontalPlacement&&{right:`${offset-(20-size)}px`},"&::after":{content:'" "',position:"absolute",top:"top"===verticalPlacement?0:"100%",left:"50%",width:arrowSideLength,height:arrowSideLength,backgroundColor:subTheme?theme.values.color.background.primary.default:theme.values.color.background.elevated.default,transform:"translate(-50%, -50%) rotate(45deg)",...!subTheme&&{boxShadow:theme.values.elevation[3]}}}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVG9vbHRpcC9Ub29sdGlwQ29udGVudC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Rvb2x0aXAvVG9vbHRpcENvbnRlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIE11dGFibGVSZWZPYmplY3QsIFJlYWN0RWxlbWVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGtleWZyYW1lcyB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eSB9IGZyb20gXCJjc3N0eXBlXCI7XG5pbXBvcnQgdHlwZSB7IFN1YlRoZW1lVHlwZXMgfSBmcm9tIFwiLi4vLi4vd2ViLXRva2Vucy9fc3ViVGhlbWVUeXBlXCI7XG5pbXBvcnQgeyB1c2VEb2N1bWVudCB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlRG9jdW1lbnRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5pbXBvcnQgeyBTdWJUaGVtZVByb3ZpZGVyIH0gZnJvbSBcIi4uL1N1YlRoZW1lUHJvdmlkZXIvU3ViVGhlbWVQcm92aWRlclwiO1xuaW1wb3J0IHtcbiAgUG9ydGFsLFxuICB1c2VQb3J0YWxDaGlsZFpJbmRleCxcbiAgdHlwZSBQb3J0YWxQcm9wcyxcbn0gZnJvbSBcIi4uL1BvcnRhbC9Qb3J0YWxcIjtcblxuaW1wb3J0IHtcbiAgQU5JTUFUSU9OX0RJU1RBTkNFLFxuICBBUlJPV19TSVpFLFxuICBBUlJPV19TSVpFX0JJRyxcbiAgRElTVEFOQ0VfRlJPTV9UUklHR0VSLFxuICBnZXRBcnJvd09mZnNldCxcbiAgZ2V0VG9vbHRpcFN0eWxlLFxufSBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgdHlwZSBUb29sdGlwQ29udGVudFByb3BzID0ge1xuICBjb250ZW50OiBSZWFjdEVsZW1lbnQ7XG4gIHRyaWdnZXJSZWY6IE11dGFibGVSZWZPYmplY3Q8YW55PjtcbiAgcGxhY2VtZW50PzpcbiAgICB8IFwiYXV0b1wiXG4gICAgfCBcInRvcFwiXG4gICAgfCBcImJvdHRvbVwiXG4gICAgfCBcInRvcC1sZWZ0XCJcbiAgICB8IFwidG9wLXJpZ2h0XCJcbiAgICB8IFwiYm90dG9tLWxlZnRcIlxuICAgIHwgXCJib3R0b20tcmlnaHRcIjtcbiAgZGF0YUUyZVRlc3RJZD86IHN0cmluZztcbiAgZGF0YURTSWQ6IHN0cmluZztcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcbiAgdG9vbHRpcElkPzogc3RyaW5nO1xuICByb2xlPzogc3RyaW5nO1xuICB0YWJJbmRleD86IG51bWJlcjtcbiAgY29udGVudFBhZGRpbmc/OiBcInNcIiB8IFwibVwiO1xuICBzdWJUaGVtZT86IFN1YlRoZW1lVHlwZXM7XG4gIG1heFdpZHRoPzogUHJvcGVydHkuTWF4V2lkdGggfCBudW1iZXI7XG4gIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudD86IFRvb2x0aXBTdHlsZVtcInZlcnRpY2FsUGxhY2VtZW50XCJdO1xuICBoaWRlQXJyb3c/OiBib29sZWFuO1xuICAvKiogU2V0cyBjc3MgdmlzaWJpbGl0eSBoaWRkZW4gd2hlbiB0cmlnZ2VyIGlzIHNjcm9sbGVkIG91dCBvZiB2aWV3ICovXG4gIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyPzogYm9vbGVhbjtcbiAgb25Ub29sdGlwUG9pbnRlckVudGVyPzogUmVhY3QuUG9pbnRlckV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIG9uVG9vbHRpcFBvaW50ZXJMZWF2ZT86IFJlYWN0LlBvaW50ZXJFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICAvKiogVGhpcyBjYWxsYmFjayBpcyB0cmlnZ2VyZWQgd2hlbiBjb250ZW50IG92ZXJmbG93cyB0aGUgdmlld3BvcnQgYm90aCBhYm92ZSBhbmQgYmVsb3cgdHJpZ2dlci4gVXNlIHRoaXMgZm9yIHRyYWNraW5nIHB1cnBvc2VzIG9yIHJlLXJlbmRlcmluZyBQb3BvdmVyIHdpdGggYSBsYXJnZXIgbWF4V2lkdGggKi9cbiAgb25PdmVyZmxvd1ZpZXdwb3J0PzogKFxuICAgIHRyaWdnZXJSZWN0OiBET01SZWN0LFxuICAgIHRvb2x0aXBSZWN0OiBET01SZWN0LFxuICAgIHZpZXdwb3J0SGVpZ2h0OiBudW1iZXJcbiAgKSA9PiB2b2lkO1xufSAmIFBpY2s8UG9ydGFsUHJvcHMsIFwicG9ydGFsQ29udGFpbmVyXCI+ICZcbiAgQXJpYUF0dHJpYnV0ZXM7XG5cbmV4cG9ydCB0eXBlIFRvb2x0aXBTdHlsZSA9IHtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogXCJsZWZ0XCIgfCBcInJpZ2h0XCIgfCBcImNlbnRlclwiO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogXCJ0b3BcIiB8IFwiYm90dG9tXCI7XG59O1xuXG50eXBlIFN0eWxlZENvbnRhaW5lclByb3BzID0gUGljazxcbiAgVG9vbHRpcENvbnRlbnRQcm9wcyxcbiAgXCJjb250ZW50UGFkZGluZ1wiIHwgXCJtYXhXaWR0aFwiIHwgXCJzdWJUaGVtZVwiXG4+ICYge1xuICBob3Jpem9udGFsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJob3Jpem9udGFsUGxhY2VtZW50XCJdO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGlzSGlkZGVuOiBib29sZWFuO1xufTtcblxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OID0gMjAwO1xuY29uc3QgU0hPV19ISURFX0RFTEFZID0gMjAwO1xuY29uc3QgTUFYX0NPTlRFTlRfV0lEVEggPSAyMjQ7XG4vLyBVc2UgMC45OSBpbnN0ZWFkIG9mIDEuMCB0byBoYW5kbGUgc3ViLXBpeGVsIHJvdW5kaW5nIGlzc3Vlc1xuLy8gdGhhdCBjYW4gY2F1c2UgaW50ZXJzZWN0aW9uUmF0aW8gdG8gcmVwb3J0IHZhbHVlcyBsaWtlIDAuOTlcbmNvbnN0IElOVEVSU0VDVElPTl9USFJFU0hPTEQgPSAwLjk5O1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZENvbnRhaW5lclByb3BzPihcbiAgKHtcbiAgICB0aGVtZSxcbiAgICBob3Jpem9udGFsUGxhY2VtZW50LFxuICAgIHZlcnRpY2FsUGxhY2VtZW50LFxuICAgIG1heFdpZHRoLFxuICAgIGNvbnRlbnRQYWRkaW5nLFxuICAgIHN1YlRoZW1lLFxuICAgIGlzSGlkZGVuLFxuICB9KSA9PiB7XG4gICAgY29uc3QgYW5pbWF0aW9uRGlzdGFuY2UgPVxuICAgICAgdmVydGljYWxQbGFjZW1lbnQgPT09IFwidG9wXCJcbiAgICAgICAgPyBgJHtBTklNQVRJT05fRElTVEFOQ0V9cHhgXG4gICAgICAgIDogYC0ke0FOSU1BVElPTl9ESVNUQU5DRX1weGA7XG4gICAgY29uc3QgYW5pbWF0aW9uID0ga2V5ZnJhbWVzKHtcbiAgICAgIHRvOiB7XG4gICAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGUsXG4gICAgICAgIHRyYW5zZm9ybTpcbiAgICAgICAgICBob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImNlbnRlclwiXG4gICAgICAgICAgICA/IGB0cmFuc2xhdGUoLTUwJSwgJHthbmltYXRpb25EaXN0YW5jZX0pYFxuICAgICAgICAgICAgOiBgdHJhbnNsYXRlWSgke2FuaW1hdGlvbkRpc3RhbmNlfSlgLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbnRlbnRQYWRkaW5nTWFwID0ge1xuICAgICAgczogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eHMsXG4gICAgICBtOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gICAgfTtcblxuICAgIGNvbnN0IGludmVydGVkU3ViVGhlbWVTdHlsZXMgPSB7XG4gICAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzfSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcuc31gLFxuICAgICAgLi4uKGNvbnRlbnRQYWRkaW5nICYmIHtcbiAgICAgICAgcGFkZGluZzogY29udGVudFBhZGRpbmdNYXBbY29udGVudFBhZGRpbmddLFxuICAgICAgfSksXG4gICAgfTtcblxuICAgIGNvbnN0IHpJbmRleCA9IHVzZVBvcnRhbENoaWxkWkluZGV4KHRoZW1lLnZhcmlhYmxlcy56SW5kZXgudG9vbHRpcCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgIHpJbmRleCxcbiAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbixcbiAgICAgIGFuaW1hdGlvbjogYCR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7YW5pbWF0aW9ufWAsXG4gICAgICBtYXhXaWR0aCxcbiAgICAgIHdpZHRoOiBcIm1heC1jb250ZW50XCIsXG4gICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBzdWJUaGVtZVxuICAgICAgICA/IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLnByaW1hcnkuZGVmYXVsdFxuICAgICAgICA6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBib3JkZXJSYWRpdXM6IHN1YlRoZW1lXG4gICAgICAgID8gdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzXG4gICAgICAgIDogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnMsXG5cbiAgICAgIC4uLihpc0hpZGRlbiAmJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IFwiaGlkZGVuXCIsXG4gICAgICB9KSxcbiAgICAgIC4uLighIXN1YlRoZW1lICYmIGludmVydGVkU3ViVGhlbWVTdHlsZXMpLFxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwiY2VudGVyXCIgJiYge1xuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUpXCIsXG4gICAgICB9KSxcblxuICAgICAgLi4uKCFzdWJUaGVtZSAmJiB7XG4gICAgICAgIFwiOmFmdGVyXCI6IHtcbiAgICAgICAgICBjb250ZW50OiAnXCIgXCInLFxuICAgICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICAgICAgcG9pbnRlckV2ZW50czogXCJub25lXCIsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiBcImluaGVyaXRcIixcbiAgICAgICAgICBib3hTaGFkb3c6IHRoZW1lLnZhbHVlcy5lbGV2YXRpb25bM10sXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZEFycm93UHJvcHMgPSBQaWNrPFRvb2x0aXBDb250ZW50UHJvcHMsIFwic3ViVGhlbWVcIj4gJiB7XG4gIHZlcnRpY2FsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJ2ZXJ0aWNhbFBsYWNlbWVudFwiXTtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1wiaG9yaXpvbnRhbFBsYWNlbWVudFwiXTtcbiAgc2l6ZT86IDAgfCB0eXBlb2YgQVJST1dfU0laRSB8IHR5cGVvZiBBUlJPV19TSVpFX0JJRztcbn07XG5cbi8vIFRoaXMgY29udGFpbmVyIGlzIGxhcmdlIGVub3VnaCB0byBjb250YWluIHRoZSBhcnJvdyBzaGFkb3cgYmx1clxuY29uc3QgQVJST1dfQ09OVEFJTkVSX1dJRFRIID0gNDA7XG5cbmNvbnN0IFN0eWxlZEFycm93ID0gc3R5bGVkLmRpdjxTdHlsZWRBcnJvd1Byb3BzPihcbiAgKHtcbiAgICB0aGVtZSxcbiAgICBzdWJUaGVtZSxcbiAgICB2ZXJ0aWNhbFBsYWNlbWVudCxcbiAgICBob3Jpem9udGFsUGxhY2VtZW50LFxuICAgIHNpemUgPSBBUlJPV19TSVpFLFxuICB9KSA9PiB7XG4gICAgY29uc3Qgb2Zmc2V0ID0gZ2V0QXJyb3dPZmZzZXQoc2l6ZSk7XG4gICAgY29uc3QgYWRqdXN0bWVudEZvclNoYWRvdyA9IHN1YlRoZW1lID8gMCA6IDE7XG4gICAgY29uc3QgYXJyb3dDb250YWluZXJIZWlnaHQgPSBzaXplICsgRElTVEFOQ0VfRlJPTV9UUklHR0VSO1xuICAgIC8vIEdldCBhcnJvdyB3aWR0aCBhbmQgaGVpZ2h0IHVzaW5nIHB5dGhvZ29yYXMgdGhlb3JlbSBhbmQgYWRkIDEgdG8gaGVpZ2h0IHRvIGFjY291bnQgZm9yIGRhcmsgbW9kZSBzaGFkb3cuXG4gICAgY29uc3QgYXJyb3dTaWRlTGVuZ3RoID0gTWF0aC5zcXJ0KFxuICAgICAgc2l6ZSAqKiAyICsgKHNpemUgKyBhZGp1c3RtZW50Rm9yU2hhZG93KSAqKiAyXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgd2lkdGg6IEFSUk9XX0NPTlRBSU5FUl9XSURUSCxcbiAgICAgIGhlaWdodDogYXJyb3dDb250YWluZXJIZWlnaHQsXG4gICAgICB6SW5kZXg6IDEsXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcblxuICAgICAgLi4uKHZlcnRpY2FsUGxhY2VtZW50ID09PSBcInRvcFwiICYmIHtcbiAgICAgICAgLy8gcGxhY2UgdGhlIGFycm93IGNvbnRhaW5lciAxcHggaW5zaWRlIHRvb2x0aXAgY29udGFpbmVyIHRvIGFjY291bnQgZm9yIGRhcmsgbW9kZSBib3gtc2hhZG93XG4gICAgICAgIHRvcDogYGNhbGMoMTAwJSAtICR7YWRqdXN0bWVudEZvclNoYWRvd31weClgLFxuICAgICAgfSksXG5cbiAgICAgIC4uLih2ZXJ0aWNhbFBsYWNlbWVudCA9PT0gXCJib3R0b21cIiAmJiB7XG4gICAgICAgIC8vIHBsYWNlIHRoZSBhcnJvdyBjb250YWluZXIgMXB4IGluc2lkZSB0b29sdGlwIGNvbnRhaW5lciB0byBhY2NvdW50IGZvciBkYXJrIG1vZGUgYm94LXNoYWRvd1xuICAgICAgICB0b3A6IGAtJHthcnJvd0NvbnRhaW5lckhlaWdodCAtIGFkanVzdG1lbnRGb3JTaGFkb3d9cHhgLFxuICAgICAgfSksXG5cbiAgICAgIC4uLihob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImNlbnRlclwiICYmIHtcbiAgICAgICAgbGVmdDogXCI1MCVcIixcbiAgICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtNTAlKVwiLFxuICAgICAgfSksXG5cbiAgICAgIC4uLihob3Jpem9udGFsUGxhY2VtZW50ID09PSBcInJpZ2h0XCIgJiYge1xuICAgICAgICBsZWZ0OiBgJHtvZmZzZXQgLSAoQVJST1dfQ09OVEFJTkVSX1dJRFRIIC8gMiAtIHNpemUpfXB4YCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJsZWZ0XCIgJiYge1xuICAgICAgICByaWdodDogYCR7b2Zmc2V0IC0gKEFSUk9XX0NPTlRBSU5FUl9XSURUSCAvIDIgLSBzaXplKX1weGAsXG4gICAgICB9KSxcblxuICAgICAgXCImOjphZnRlclwiOiB7XG4gICAgICAgIGNvbnRlbnQ6ICdcIiBcIicsXG4gICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgIHRvcDogdmVydGljYWxQbGFjZW1lbnQgPT09IFwidG9wXCIgPyAwIDogXCIxMDAlXCIsXG4gICAgICAgIGxlZnQ6IFwiNTAlXCIsXG4gICAgICAgIHdpZHRoOiBhcnJvd1NpZGVMZW5ndGgsXG4gICAgICAgIGhlaWdodDogYXJyb3dTaWRlTGVuZ3RoLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN1YlRoZW1lXG4gICAgICAgICAgPyB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5wcmltYXJ5LmRlZmF1bHRcbiAgICAgICAgICA6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKVwiLFxuXG4gICAgICAgIC4uLighc3ViVGhlbWUgJiYge1xuICAgICAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblszXSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH07XG4gIH1cbik7XG5cbmNvbnN0IGluaXRpYWxTdHlsZTogVG9vbHRpcFN0eWxlID0ge1xuICB0b3A6IDAsXG4gIGxlZnQ6IDAsXG4gIHZlcnRpY2FsUGxhY2VtZW50OiBcInRvcFwiLFxuICBob3Jpem9udGFsUGxhY2VtZW50OiBcImNlbnRlclwiLFxufTtcblxubGV0IGxhc3RUb29sdGlwSGlkZVRpbWVzdGFtcCA9IDA7XG5cbi8qIERpc2FibGUgYW5pbWF0aW9uIGlmIHRpbWUgYmV0d2VlbiBsYXN0IGNsb3NlIGFuZCBuZXcgb3BlbiBpcyBsZXNzIHRoYW4gNTAwbXMgKyBTSE9XX0hJREVfREVMQVkgKi9cbmZ1bmN0aW9uIGdldEFuaW1hdGlvbkR1cmF0aW9uKCkge1xuICBsZXQgYW5pbWF0aW9uRHVyYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT059bXNgO1xuXG4gIGlmIChsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXApIHtcbiAgICBjb25zdCB0aW1lU2luY2VMYXN0VG9vbHRpcCA9IERhdGUubm93KCkgLSBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXA7XG5cbiAgICBpZiAodGltZVNpbmNlTGFzdFRvb2x0aXAgPCA1MDAgKyBTSE9XX0hJREVfREVMQVkpIHtcbiAgICAgIGFuaW1hdGlvbkR1cmF0aW9uID0gXCIwbXNcIjtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGFuaW1hdGlvbkR1cmF0aW9uO1xufVxuXG4vKiogVGhpcyBjb21wb25lbnQgaXMgdXNlZCB0byBkaXNwbGF5IHRoZSBvdmVybGF5IGZvciBib3RoIFRvZ2dsZXRpcCBhbmQgVG9vbHRpcCBjb21wb25lbnRzICovXG5leHBvcnQgZnVuY3Rpb24gVG9vbHRpcENvbnRlbnQoe1xuICBwbGFjZW1lbnQgPSBcImF1dG9cIixcbiAgY29udGVudCxcbiAgdG9vbHRpcElkLFxuICB0cmlnZ2VyUmVmLFxuICBwb3J0YWxDb250YWluZXIsXG4gIGRhdGFFMmVUZXN0SWQsXG4gIGRhdGFEU0lkLFxuICBpc1Zpc2libGUsXG4gIFwiYXJpYS1oaWRkZW5cIjogYXJpYUhpZGRlbixcbiAgcm9sZSxcbiAgdGFiSW5kZXgsXG4gIGNvbnRlbnRQYWRkaW5nLFxuICBtYXhXaWR0aCA9IE1BWF9DT05URU5UX1dJRFRILFxuICBzdWJUaGVtZSxcbiAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50LFxuICBoaWRlQXJyb3cgPSBmYWxzZSxcbiAgaXNIaWRkZW5PbkludmlzaWJsZVRyaWdnZXIgPSBmYWxzZSxcbiAgb25Ub29sdGlwUG9pbnRlckVudGVyLFxuICBvblRvb2x0aXBQb2ludGVyTGVhdmUsXG4gIG9uT3ZlcmZsb3dWaWV3cG9ydCxcbiAgLi4uYXJpYUF0dHJpYnV0ZXNcbn06IFRvb2x0aXBDb250ZW50UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbc3R5bGUsIHNldFN0eWxlXSA9IHVzZVN0YXRlKGluaXRpYWxTdHlsZSk7XG4gIGNvbnN0IFtpc0hpZGRlbiwgc2V0SXNIaWRkZW5dID0gdXNlU3RhdGUoZmFsc2UpOyAvLyBjc3MgdmlzaWJpbHR5IGhpZGRlblxuICBjb25zdCB0b29sdGlwUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICBjb25zdCBkb2N1bWVudCA9IHVzZURvY3VtZW50KCk7XG4gIGNvbnN0IHdpbmRvdyA9IHVzZVdpbmRvdygpO1xuXG4gIGNvbnN0IGFycm93U2l6ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChoaWRlQXJyb3cpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gc3ViVGhlbWUgPyBBUlJPV19TSVpFIDogQVJST1dfU0laRV9CSUc7XG4gIH0sIFtzdWJUaGVtZSwgaGlkZUFycm93XSk7XG5cbiAgY29uc3QgaGFuZGxlVmlld3BvcnRPdmVyZmxvdyA9IHVzZUNhbGxiYWNrPFxuICAgIFRvb2x0aXBDb250ZW50UHJvcHNbXCJvbk92ZXJmbG93Vmlld3BvcnRcIl1cbiAgPihcbiAgICAodHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0LCB2aWV3cG9ydEhlaWdodCkgPT4ge1xuICAgICAgaWYgKCFpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYuY3VycmVudCkge1xuICAgICAgICBvbk92ZXJmbG93Vmlld3BvcnQ/Lih0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QsIHZpZXdwb3J0SGVpZ2h0KTtcbiAgICAgICAgaXNPdmVyZmxvd0NhbGxiYWNrQ2FsbGVkUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0sXG4gICAgW29uT3ZlcmZsb3dWaWV3cG9ydCwgaXNPdmVyZmxvd0NhbGxiYWNrQ2FsbGVkUmVmXVxuICApO1xuXG4gIGNvbnN0IGNhbGN1bGF0ZVN0eWxlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICh0cmlnZ2VyUmVmLmN1cnJlbnQgJiYgdG9vbHRpcFJlZi5jdXJyZW50KSB7XG4gICAgICAvLyBjYWxjdWxhdGUgdG9vbHRpcCBzdHlsZVxuICAgICAgc2V0U3R5bGUoXG4gICAgICAgIGdldFRvb2x0aXBTdHlsZSh7XG4gICAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICAgIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgICAgICAgICB0cmlnZ2VyUmVmLFxuICAgICAgICAgIHRvb2x0aXBSZWYsXG4gICAgICAgICAgZG9jdW1lbnQsXG4gICAgICAgICAgd2luZG93LFxuICAgICAgICAgIGFycm93U2l6ZSxcbiAgICAgICAgICBvbk92ZXJmbG93Vmlld3BvcnQ6IGhhbmRsZVZpZXdwb3J0T3ZlcmZsb3csXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfSwgW1xuICAgIHRyaWdnZXJSZWYsXG4gICAgdG9vbHRpcFJlZixcbiAgICBkb2N1bWVudCxcbiAgICB3aW5kb3csXG4gICAgcGxhY2VtZW50LFxuICAgIGFycm93U2l6ZSxcbiAgICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQsXG4gICAgaGFuZGxlVmlld3BvcnRPdmVyZmxvdyxcbiAgXSk7XG5cbiAgLy8gVGhpcyBsYXlvdXQgZWZmZWN0IHRvIHJlLXJlbmRlciB3aXRoIHVwZGF0ZWQgcG9zaXRpb24gYWZ0ZXIgZGV0ZXJtaW5pbmcgY29udGVudCB3aWR0aFxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc1Zpc2libGUpIHtcbiAgICAgIGNhbGN1bGF0ZVN0eWxlKCk7XG4gICAgfVxuICB9LCBbaXNWaXNpYmxlLCBjYWxjdWxhdGVTdHlsZSwgY29udGVudFBhZGRpbmcsIGNvbnRlbnQsIG1heFdpZHRoXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlICYmIHRvb2x0aXBSZWYuY3VycmVudCkge1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgY2FsY3VsYXRlU3R5bGUpO1xuICAgIH0gZWxzZSBpZiAoIWlzVmlzaWJsZSkge1xuICAgICAgLy8gbG9nIHRpbWUgd2hlbiB0b29sdGlwIGNsb3Nlc1xuICAgICAgbGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wID0gRGF0ZS5ub3coKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgY2FsY3VsYXRlU3R5bGUpO1xuICAgIH07XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCB3aW5kb3csIHRvb2x0aXBSZWZdKTtcblxuICAvLyBPYnNlcnZlIHRvb2x0aXAgZWxlbWVudCBzaXplIGNoYW5nZXMgdG8gcmVjYWxjdWxhdGUgcG9zaXRpb25pbmdcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgcmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyO1xuXG4gICAgaWYgKFxuICAgICAgaXNWaXNpYmxlICYmXG4gICAgICB0b29sdGlwUmVmLmN1cnJlbnQgJiZcbiAgICAgIHR5cGVvZiBSZXNpemVPYnNlcnZlciAhPT0gXCJ1bmRlZmluZWRcIlxuICAgICkge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgICAgIGlmIChlbnRyeS5jb250ZW50UmVjdC53aWR0aCA+IDAgJiYgZW50cnkuY29udGVudFJlY3QuaGVpZ2h0ID4gMCkge1xuICAgICAgICAgICAgY2FsY3VsYXRlU3R5bGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUodG9vbHRpcFJlZi5jdXJyZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKHJlc2l6ZU9ic2VydmVyKSB7XG4gICAgICAgIHJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbaXNWaXNpYmxlLCBjYWxjdWxhdGVTdHlsZSwgdG9vbHRpcFJlZl0pO1xuXG4gIC8vIFJlY2FsY3VsYXRlIHBvc2l0aW9uIHdoZW4gdGhlIHRyaWdnZXIgbW92ZXMgd2l0aG91dCBlbWl0dGluZyBzY3JvbGwvcmVzaXplXG4gIC8vIGV2ZW50cyAoZS5nLiBDU1MgdHJhbnNmb3JtcywgY2FudmFzIHpvb20vcGFuKS5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzVmlzaWJsZSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGxldCByZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZDogbnVtYmVyO1xuICAgIGxldCBwcmV2UmVjdDogRE9NUmVjdCB8IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHJlY2FsY3VsYXRlUG9zaXRpb24gPSAoKSA9PiB7XG4gICAgICBjb25zdCBuZXh0UmVjdCA9IHRyaWdnZXJSZWYuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBpZiAoXG4gICAgICAgIHByZXZSZWN0ICYmXG4gICAgICAgIG5leHRSZWN0ICYmXG4gICAgICAgIChwcmV2UmVjdC54ICE9PSBuZXh0UmVjdC54IHx8XG4gICAgICAgICAgcHJldlJlY3QueSAhPT0gbmV4dFJlY3QueSB8fFxuICAgICAgICAgIHByZXZSZWN0LndpZHRoICE9PSBuZXh0UmVjdC53aWR0aCB8fFxuICAgICAgICAgIHByZXZSZWN0LmhlaWdodCAhPT0gbmV4dFJlY3QuaGVpZ2h0KVxuICAgICAgKSB7XG4gICAgICAgIGNhbGN1bGF0ZVN0eWxlKCk7XG4gICAgICB9XG4gICAgICBwcmV2UmVjdCA9IG5leHRSZWN0O1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUocmVjYWxjdWxhdGVQb3NpdGlvbik7XG4gICAgfTtcblxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZUlkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJlY2FsY3VsYXRlUG9zaXRpb24pO1xuICAgIHJldHVybiAoKSA9PiBjYW5jZWxBbmltYXRpb25GcmFtZShyZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZCk7XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCB0cmlnZ2VyUmVmXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYuY3VycmVudCA9IGZhbHNlO1xuICB9LCBbaXNWaXNpYmxlLCBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWZdKTtcblxuICAvKiBIaWRlICh2aXNpYmlsaXR5OiBoaWRkZW4pIHRvb2x0aXAgaWYgdHJpZ2dlciBpcyBzY3JvbGxlZCBvdXQgb2YgdmlldyAqL1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBvYnNlcnZlcjogSW50ZXJzZWN0aW9uT2JzZXJ2ZXI7XG5cbiAgICBpZiAoXG4gICAgICBpc0hpZGRlbk9uSW52aXNpYmxlVHJpZ2dlciAmJlxuICAgICAgdHJpZ2dlclJlZi5jdXJyZW50ICYmXG4gICAgICBpc1Zpc2libGUgJiZcbiAgICAgIHR5cGVvZiBJbnRlcnNlY3Rpb25PYnNlcnZlciAhPT0gXCJ1bmRlZmluZWRcIlxuICAgICkge1xuICAgICAgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoXG4gICAgICAgIChlbnRyaWVzKSA9PlxuICAgICAgICAgIGVudHJpZXMuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlY3QgPSBlbnRyeS5ib3VuZGluZ0NsaWVudFJlY3Q7XG5cbiAgICAgICAgICAgIC8vIElnbm9yZSBpbnRlcnNlY3Rpb24gY2hhbmdlcyB3aGVuIGVsZW1lbnQgaGFzIHplcm8gZGltZW5zaW9uc1xuICAgICAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGR1cmluZyBET00gdXBkYXRlcy9wb3J0YWwgcmVuZGVyaW5nXG4gICAgICAgICAgICBpZiAocmVjdD8ud2lkdGggPT09IDAgJiYgcmVjdD8uaGVpZ2h0ID09PSAwKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2V0SXNIaWRkZW4oIWVudHJ5LmlzSW50ZXJzZWN0aW5nKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAge1xuICAgICAgICAgIHJvb3Q6IG51bGwsIC8vIHZpZXdwb3J0XG4gICAgICAgICAgdGhyZXNob2xkOiBJTlRFUlNFQ1RJT05fVEhSRVNIT0xELFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBvYnNlcnZlci5vYnNlcnZlKHRyaWdnZXJSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChvYnNlcnZlcikge1xuICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW3RyaWdnZXJSZWYsIGlzVmlzaWJsZSwgaXNIaWRkZW5PbkludmlzaWJsZVRyaWdnZXJdKTtcblxuICBpZiAoIWlzVmlzaWJsZSkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgdG9vbHRpcEVsbSA9IChcbiAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgZGF0YS1kcy1pZD17ZGF0YURTSWR9XG4gICAgICBzdHlsZT17e1xuICAgICAgICB0b3A6IHN0eWxlLnRvcCxcbiAgICAgICAgbGVmdDogc3R5bGUubGVmdCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb246IGdldEFuaW1hdGlvbkR1cmF0aW9uKCksXG4gICAgICB9fVxuICAgICAgcmVmPXt0b29sdGlwUmVmfVxuICAgICAgaWQ9e3Rvb2x0aXBJZH1cbiAgICAgIHJvbGU9e3JvbGV9XG4gICAgICB7Li4uYXJpYUF0dHJpYnV0ZXN9XG4gICAgICBhcmlhLWhpZGRlbj17YXJpYUhpZGRlbn1cbiAgICAgIHN1YlRoZW1lPXtzdWJUaGVtZX1cbiAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgIGhvcml6b250YWxQbGFjZW1lbnQ9e3N0eWxlLmhvcml6b250YWxQbGFjZW1lbnR9XG4gICAgICB2ZXJ0aWNhbFBsYWNlbWVudD17c3R5bGUudmVydGljYWxQbGFjZW1lbnR9XG4gICAgICBtYXhXaWR0aD17bWF4V2lkdGh9XG4gICAgICBjb250ZW50UGFkZGluZz17Y29udGVudFBhZGRpbmd9XG4gICAgICBpc0hpZGRlbj17aXNIaWRkZW59XG4gICAgICBvblBvaW50ZXJFbnRlcj17b25Ub29sdGlwUG9pbnRlckVudGVyfVxuICAgICAgb25Qb2ludGVyTGVhdmU9e29uVG9vbHRpcFBvaW50ZXJMZWF2ZX1cbiAgICA+XG4gICAgICB7Y29udGVudH1cbiAgICAgIHshaGlkZUFycm93ICYmIChcbiAgICAgICAgPFN0eWxlZEFycm93XG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17YCR7ZGF0YUUyZVRlc3RJZH1fYXJyb3dgfVxuICAgICAgICAgIHN1YlRoZW1lPXtzdWJUaGVtZX1cbiAgICAgICAgICBob3Jpem9udGFsUGxhY2VtZW50PXtzdHlsZS5ob3Jpem9udGFsUGxhY2VtZW50fVxuICAgICAgICAgIHZlcnRpY2FsUGxhY2VtZW50PXtzdHlsZS52ZXJ0aWNhbFBsYWNlbWVudH1cbiAgICAgICAgICBzaXplPXthcnJvd1NpemV9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICApO1xuXG4gIGNvbnN0IHdyYXBwZXJFbG0gPSBzdWJUaGVtZSA/IChcbiAgICA8U3ViVGhlbWVQcm92aWRlciBuYW1lPXtzdWJUaGVtZX0+e3Rvb2x0aXBFbG19PC9TdWJUaGVtZVByb3ZpZGVyPlxuICApIDogKFxuICAgIHRvb2x0aXBFbG1cbiAgKTtcblxuICByZXR1cm4gPFBvcnRhbCBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn0+e3dyYXBwZXJFbG19PC9Qb3J0YWw+O1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdMb0IifQ== */"),initialStyle={top:0,left:0,verticalPlacement:"top",horizontalPlacement:"center"},lastTooltipHideTimestamp=0;export function TooltipContent({placement="auto",content,tooltipId,triggerRef,portalContainer,dataE2eTestId,dataDSId,isVisible,"aria-hidden":ariaHidden,role,tabIndex,contentPadding,maxWidth=224,subTheme,defaultVerticalPlacement,hideArrow=!1,isHiddenOnInvisibleTrigger=!1,onTooltipPointerEnter,onTooltipPointerLeave,onOverflowViewport,...ariaAttributes}){let animationDuration,[style,setStyle]=useState(initialStyle),[isHidden,setIsHidden]=useState(!1),tooltipRef=useRef(null),isOverflowCallbackCalledRef=useRef(!1),document=useDocument(),window=useWindow(),arrowSize=useMemo(()=>hideArrow?0:subTheme?ARROW_SIZE:ARROW_SIZE_BIG,[subTheme,hideArrow]),handleViewportOverflow=useCallback((triggerRect,tooltipRect,viewportHeight)=>{isOverflowCallbackCalledRef.current||(onOverflowViewport?.(triggerRect,tooltipRect,viewportHeight),isOverflowCallbackCalledRef.current=!0)},[onOverflowViewport,isOverflowCallbackCalledRef]),calculateStyle=useCallback(()=>{triggerRef.current&&tooltipRef.current&&setStyle(getTooltipStyle({placement,defaultVerticalPlacement,triggerRef,tooltipRef,document,window,arrowSize,onOverflowViewport:handleViewportOverflow}))},[triggerRef,tooltipRef,document,window,placement,arrowSize,defaultVerticalPlacement,handleViewportOverflow]);if(useLayoutEffect(()=>{isVisible&&calculateStyle()},[isVisible,calculateStyle,contentPadding,content,maxWidth]),useEffect(()=>(isVisible&&tooltipRef.current?window.addEventListener("resize",calculateStyle):isVisible||(lastTooltipHideTimestamp=Date.now()),()=>{window.removeEventListener("resize",calculateStyle)}),[isVisible,calculateStyle,window,tooltipRef]),useEffect(()=>{let resizeObserver;return isVisible&&tooltipRef.current&&"undefined"!=typeof ResizeObserver&&(resizeObserver=new ResizeObserver(entries=>{entries.forEach(entry=>{entry.contentRect.width>0&&entry.contentRect.height>0&&calculateStyle()})})).observe(tooltipRef.current),()=>{resizeObserver&&resizeObserver.disconnect()}},[isVisible,calculateStyle,tooltipRef]),useEffect(()=>{let requestAnimationFrameId,prevRect;if(!isVisible)return;let recalculatePosition=()=>{let nextRect=triggerRef.current?.getBoundingClientRect();prevRect&&nextRect&&(prevRect.x!==nextRect.x||prevRect.y!==nextRect.y||prevRect.width!==nextRect.width||prevRect.height!==nextRect.height)&&calculateStyle(),prevRect=nextRect,requestAnimationFrameId=requestAnimationFrame(recalculatePosition)};return requestAnimationFrameId=requestAnimationFrame(recalculatePosition),()=>cancelAnimationFrame(requestAnimationFrameId)},[isVisible,calculateStyle,triggerRef]),useEffect(()=>{isOverflowCallbackCalledRef.current=!1},[isVisible,isOverflowCallbackCalledRef]),useEffect(()=>{let observer;return isHiddenOnInvisibleTrigger&&triggerRef.current&&isVisible&&"undefined"!=typeof IntersectionObserver&&(observer=new IntersectionObserver(entries=>entries.forEach(entry=>{let rect=entry.boundingClientRect;(rect?.width!==0||rect?.height!==0)&&setIsHidden(!entry.isIntersecting)}),{root:null,threshold:.99})).observe(triggerRef.current),()=>{observer&&observer.disconnect()}},[triggerRef,isVisible,isHiddenOnInvisibleTrigger]),!isVisible)return null;let tooltipElm=React.createElement(StyledContainer,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":dataDSId,style:{top:style.top,left:style.left,animationDuration:(animationDuration="200ms",lastTooltipHideTimestamp&&Date.now()-lastTooltipHideTimestamp<700&&(animationDuration="0ms"),animationDuration)},ref:tooltipRef,id:tooltipId,role:role,...ariaAttributes,"aria-hidden":ariaHidden,subTheme:subTheme,tabIndex:tabIndex,horizontalPlacement:style.horizontalPlacement,verticalPlacement:style.verticalPlacement,maxWidth:maxWidth,contentPadding:contentPadding,isHidden:isHidden,onPointerEnter:onTooltipPointerEnter,onPointerLeave:onTooltipPointerLeave},content,!hideArrow&&React.createElement(StyledArrow,{"data-e2e-test-id":`${dataE2eTestId}_arrow`,subTheme:subTheme,horizontalPlacement:style.horizontalPlacement,verticalPlacement:style.verticalPlacement,size:arrowSize})),wrapperElm=subTheme?React.createElement(SubThemeProvider,{name:subTheme},tooltipElm):tooltipElm;return React.createElement(Portal,{portalContainer:portalContainer},wrapperElm)}
1
+ import React,{useCallback,useEffect,useMemo,useRef,useState}from"react";import styled from"@emotion/styled";import{keyframes}from"@emotion/react";import{useIsomorphicLayoutEffect}from"../../shared/useIsomorphicLayoutEffect";import{useDocument}from"../../shared/useDocument";import{useWindow}from"../../shared/useWindow";import{SubThemeProvider}from"../SubThemeProvider/SubThemeProvider";import{Portal,usePortalChildZIndex}from"../Portal/Portal";import{ANIMATION_DISTANCE,ARROW_SIZE,ARROW_SIZE_BIG,DISTANCE_FROM_TRIGGER,getArrowOffset,getTooltipStyle}from"./utils";let StyledContainer=styled("div",{target:"ev9mef10",label:"StyledContainer"})(({theme,horizontalPlacement,verticalPlacement,maxWidth,contentPadding,subTheme,isHidden})=>{let animationDistance="top"===verticalPlacement?`${ANIMATION_DISTANCE}px`:`-${ANIMATION_DISTANCE}px`,animation=keyframes({to:{opacity:theme.variables.opacity.visible,transform:"center"===horizontalPlacement?`translate(-50%, ${animationDistance})`:`translateY(${animationDistance})`}}),contentPaddingMap={s:theme.variables.size.spacing.xxs,m:theme.variables.size.spacing.s},invertedSubThemeStyles={padding:`${theme.variables.size.spacing.xs} ${theme.variables.size.spacing.s}`,...contentPadding&&{padding:contentPaddingMap[contentPadding]}};return{position:"absolute",zIndex:usePortalChildZIndex(theme.variables.zIndex.tooltip),opacity:theme.variables.opacity.hidden,animation:`200ms ease-out forwards ${animation}`,maxWidth,width:"max-content",boxSizing:"border-box",backgroundColor:subTheme?theme.values.color.background.primary.default:theme.values.color.background.elevated.default,borderRadius:subTheme?theme.variables.size.borderRadius.xs:theme.variables.size.borderRadius.s,...isHidden&&{visibility:"hidden"},...!!subTheme&&invertedSubThemeStyles,..."center"===horizontalPlacement&&{transform:"translate(-50%)"},...!subTheme&&{":after":{content:'" "',position:"absolute",top:0,left:0,width:"100%",height:"100%",pointerEvents:"none",borderRadius:"inherit",boxShadow:theme.values.elevation[3]}}}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVG9vbHRpcC9Ub29sdGlwQ29udGVudC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Rvb2x0aXAvVG9vbHRpcENvbnRlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIE11dGFibGVSZWZPYmplY3QsIFJlYWN0RWxlbWVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiY3NzdHlwZVwiO1xuaW1wb3J0IHsgdXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdFwiO1xuaW1wb3J0IHR5cGUgeyBTdWJUaGVtZVR5cGVzIH0gZnJvbSBcIi4uLy4uL3dlYi10b2tlbnMvX3N1YlRoZW1lVHlwZVwiO1xuaW1wb3J0IHsgdXNlRG9jdW1lbnQgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZURvY3VtZW50XCI7XG5pbXBvcnQgeyB1c2VXaW5kb3cgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZVdpbmRvd1wiO1xuaW1wb3J0IHsgU3ViVGhlbWVQcm92aWRlciB9IGZyb20gXCIuLi9TdWJUaGVtZVByb3ZpZGVyL1N1YlRoZW1lUHJvdmlkZXJcIjtcbmltcG9ydCB7XG4gIFBvcnRhbCxcbiAgdXNlUG9ydGFsQ2hpbGRaSW5kZXgsXG4gIHR5cGUgUG9ydGFsUHJvcHMsXG59IGZyb20gXCIuLi9Qb3J0YWwvUG9ydGFsXCI7XG5cbmltcG9ydCB7XG4gIEFOSU1BVElPTl9ESVNUQU5DRSxcbiAgQVJST1dfU0laRSxcbiAgQVJST1dfU0laRV9CSUcsXG4gIERJU1RBTkNFX0ZST01fVFJJR0dFUixcbiAgZ2V0QXJyb3dPZmZzZXQsXG4gIGdldFRvb2x0aXBTdHlsZSxcbn0gZnJvbSBcIi4vdXRpbHNcIjtcblxuZXhwb3J0IHR5cGUgVG9vbHRpcENvbnRlbnRQcm9wcyA9IHtcbiAgY29udGVudDogUmVhY3RFbGVtZW50O1xuICB0cmlnZ2VyUmVmOiBNdXRhYmxlUmVmT2JqZWN0PGFueT47XG4gIHBsYWNlbWVudD86XG4gICAgfCBcImF1dG9cIlxuICAgIHwgXCJ0b3BcIlxuICAgIHwgXCJib3R0b21cIlxuICAgIHwgXCJ0b3AtbGVmdFwiXG4gICAgfCBcInRvcC1yaWdodFwiXG4gICAgfCBcImJvdHRvbS1sZWZ0XCJcbiAgICB8IFwiYm90dG9tLXJpZ2h0XCI7XG4gIGRhdGFFMmVUZXN0SWQ/OiBzdHJpbmc7XG4gIGRhdGFEU0lkOiBzdHJpbmc7XG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XG4gIHRvb2x0aXBJZD86IHN0cmluZztcbiAgcm9sZT86IHN0cmluZztcbiAgdGFiSW5kZXg/OiBudW1iZXI7XG4gIGNvbnRlbnRQYWRkaW5nPzogXCJzXCIgfCBcIm1cIjtcbiAgc3ViVGhlbWU/OiBTdWJUaGVtZVR5cGVzO1xuICBtYXhXaWR0aD86IFByb3BlcnR5Lk1heFdpZHRoIHwgbnVtYmVyO1xuICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQ/OiBUb29sdGlwU3R5bGVbXCJ2ZXJ0aWNhbFBsYWNlbWVudFwiXTtcbiAgaGlkZUFycm93PzogYm9vbGVhbjtcbiAgLyoqIFNldHMgY3NzIHZpc2liaWxpdHkgaGlkZGVuIHdoZW4gdHJpZ2dlciBpcyBzY3JvbGxlZCBvdXQgb2YgdmlldyAqL1xuICBpc0hpZGRlbk9uSW52aXNpYmxlVHJpZ2dlcj86IGJvb2xlYW47XG4gIG9uVG9vbHRpcFBvaW50ZXJFbnRlcj86IFJlYWN0LlBvaW50ZXJFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBvblRvb2x0aXBQb2ludGVyTGVhdmU/OiBSZWFjdC5Qb2ludGVyRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgLyoqIFRoaXMgY2FsbGJhY2sgaXMgdHJpZ2dlcmVkIHdoZW4gY29udGVudCBvdmVyZmxvd3MgdGhlIHZpZXdwb3J0IGJvdGggYWJvdmUgYW5kIGJlbG93IHRyaWdnZXIuIFVzZSB0aGlzIGZvciB0cmFja2luZyBwdXJwb3NlcyBvciByZS1yZW5kZXJpbmcgUG9wb3ZlciB3aXRoIGEgbGFyZ2VyIG1heFdpZHRoICovXG4gIG9uT3ZlcmZsb3dWaWV3cG9ydD86IChcbiAgICB0cmlnZ2VyUmVjdDogRE9NUmVjdCxcbiAgICB0b29sdGlwUmVjdDogRE9NUmVjdCxcbiAgICB2aWV3cG9ydEhlaWdodDogbnVtYmVyXG4gICkgPT4gdm9pZDtcbn0gJiBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPiAmXG4gIEFyaWFBdHRyaWJ1dGVzO1xuXG5leHBvcnQgdHlwZSBUb29sdGlwU3R5bGUgPSB7XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG4gIGhvcml6b250YWxQbGFjZW1lbnQ6IFwibGVmdFwiIHwgXCJyaWdodFwiIHwgXCJjZW50ZXJcIjtcbiAgdmVydGljYWxQbGFjZW1lbnQ6IFwidG9wXCIgfCBcImJvdHRvbVwiO1xufTtcblxudHlwZSBTdHlsZWRDb250YWluZXJQcm9wcyA9IFBpY2s8XG4gIFRvb2x0aXBDb250ZW50UHJvcHMsXG4gIFwiY29udGVudFBhZGRpbmdcIiB8IFwibWF4V2lkdGhcIiB8IFwic3ViVGhlbWVcIlxuPiAmIHtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1wiaG9yaXpvbnRhbFBsYWNlbWVudFwiXTtcbiAgdmVydGljYWxQbGFjZW1lbnQ6IFRvb2x0aXBTdHlsZVtcInZlcnRpY2FsUGxhY2VtZW50XCJdO1xuICBpc0hpZGRlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEFOSU1BVElPTl9EVVJBVElPTiA9IDIwMDtcbmNvbnN0IFNIT1dfSElERV9ERUxBWSA9IDIwMDtcbmNvbnN0IE1BWF9DT05URU5UX1dJRFRIID0gMjI0O1xuLy8gVXNlIDAuOTkgaW5zdGVhZCBvZiAxLjAgdG8gaGFuZGxlIHN1Yi1waXhlbCByb3VuZGluZyBpc3N1ZXNcbi8vIHRoYXQgY2FuIGNhdXNlIGludGVyc2VjdGlvblJhdGlvIHRvIHJlcG9ydCB2YWx1ZXMgbGlrZSAwLjk5XG5jb25zdCBJTlRFUlNFQ1RJT05fVEhSRVNIT0xEID0gMC45OTtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz4oXG4gICh7XG4gICAgdGhlbWUsXG4gICAgaG9yaXpvbnRhbFBsYWNlbWVudCxcbiAgICB2ZXJ0aWNhbFBsYWNlbWVudCxcbiAgICBtYXhXaWR0aCxcbiAgICBjb250ZW50UGFkZGluZyxcbiAgICBzdWJUaGVtZSxcbiAgICBpc0hpZGRlbixcbiAgfSkgPT4ge1xuICAgIGNvbnN0IGFuaW1hdGlvbkRpc3RhbmNlID1cbiAgICAgIHZlcnRpY2FsUGxhY2VtZW50ID09PSBcInRvcFwiXG4gICAgICAgID8gYCR7QU5JTUFUSU9OX0RJU1RBTkNFfXB4YFxuICAgICAgICA6IGAtJHtBTklNQVRJT05fRElTVEFOQ0V9cHhgO1xuICAgIGNvbnN0IGFuaW1hdGlvbiA9IGtleWZyYW1lcyh7XG4gICAgICB0bzoge1xuICAgICAgICBvcGFjaXR5OiB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlLFxuICAgICAgICB0cmFuc2Zvcm06XG4gICAgICAgICAgaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJjZW50ZXJcIlxuICAgICAgICAgICAgPyBgdHJhbnNsYXRlKC01MCUsICR7YW5pbWF0aW9uRGlzdGFuY2V9KWBcbiAgICAgICAgICAgIDogYHRyYW5zbGF0ZVkoJHthbmltYXRpb25EaXN0YW5jZX0pYCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBjb250ZW50UGFkZGluZ01hcCA9IHtcbiAgICAgIHM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHhzLFxuICAgICAgbTogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zLFxuICAgIH07XG5cbiAgICBjb25zdCBpbnZlcnRlZFN1YlRoZW1lU3R5bGVzID0ge1xuICAgICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnN9YCxcbiAgICAgIC4uLihjb250ZW50UGFkZGluZyAmJiB7XG4gICAgICAgIHBhZGRpbmc6IGNvbnRlbnRQYWRkaW5nTWFwW2NvbnRlbnRQYWRkaW5nXSxcbiAgICAgIH0pLFxuICAgIH07XG5cbiAgICBjb25zdCB6SW5kZXggPSB1c2VQb3J0YWxDaGlsZFpJbmRleCh0aGVtZS52YXJpYWJsZXMuekluZGV4LnRvb2x0aXApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICB6SW5kZXgsXG4gICAgICBvcGFjaXR5OiB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW4sXG4gICAgICBhbmltYXRpb246IGAke0FOSU1BVElPTl9EVVJBVElPTn1tcyBlYXNlLW91dCBmb3J3YXJkcyAke2FuaW1hdGlvbn1gLFxuICAgICAgbWF4V2lkdGgsXG4gICAgICB3aWR0aDogXCJtYXgtY29udGVudFwiLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIGJhY2tncm91bmRDb2xvcjogc3ViVGhlbWVcbiAgICAgICAgPyB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5wcmltYXJ5LmRlZmF1bHRcbiAgICAgICAgOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuICAgICAgYm9yZGVyUmFkaXVzOiBzdWJUaGVtZVxuICAgICAgICA/IHRoZW1lLnZhcmlhYmxlcy5zaXplLmJvcmRlclJhZGl1cy54c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmJvcmRlclJhZGl1cy5zLFxuXG4gICAgICAuLi4oaXNIaWRkZW4gJiYge1xuICAgICAgICB2aXNpYmlsaXR5OiBcImhpZGRlblwiLFxuICAgICAgfSksXG4gICAgICAuLi4oISFzdWJUaGVtZSAmJiBpbnZlcnRlZFN1YlRoZW1lU3R5bGVzKSxcbiAgICAgIC4uLihob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImNlbnRlclwiICYmIHtcbiAgICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtNTAlKVwiLFxuICAgICAgfSksXG5cbiAgICAgIC4uLighc3ViVGhlbWUgJiYge1xuICAgICAgICBcIjphZnRlclwiOiB7XG4gICAgICAgICAgY29udGVudDogJ1wiIFwiJyxcbiAgICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgICAgICAgIGJvcmRlclJhZGl1czogXCJpbmhlcml0XCIsXG4gICAgICAgICAgYm94U2hhZG93OiB0aGVtZS52YWx1ZXMuZWxldmF0aW9uWzNdLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgfTtcbiAgfVxuKTtcblxudHlwZSBTdHlsZWRBcnJvd1Byb3BzID0gUGljazxUb29sdGlwQ29udGVudFByb3BzLCBcInN1YlRoZW1lXCI+ICYge1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGhvcml6b250YWxQbGFjZW1lbnQ6IFRvb2x0aXBTdHlsZVtcImhvcml6b250YWxQbGFjZW1lbnRcIl07XG4gIHNpemU/OiAwIHwgdHlwZW9mIEFSUk9XX1NJWkUgfCB0eXBlb2YgQVJST1dfU0laRV9CSUc7XG59O1xuXG4vLyBUaGlzIGNvbnRhaW5lciBpcyBsYXJnZSBlbm91Z2ggdG8gY29udGFpbiB0aGUgYXJyb3cgc2hhZG93IGJsdXJcbmNvbnN0IEFSUk9XX0NPTlRBSU5FUl9XSURUSCA9IDQwO1xuXG5jb25zdCBTdHlsZWRBcnJvdyA9IHN0eWxlZC5kaXY8U3R5bGVkQXJyb3dQcm9wcz4oXG4gICh7XG4gICAgdGhlbWUsXG4gICAgc3ViVGhlbWUsXG4gICAgdmVydGljYWxQbGFjZW1lbnQsXG4gICAgaG9yaXpvbnRhbFBsYWNlbWVudCxcbiAgICBzaXplID0gQVJST1dfU0laRSxcbiAgfSkgPT4ge1xuICAgIGNvbnN0IG9mZnNldCA9IGdldEFycm93T2Zmc2V0KHNpemUpO1xuICAgIGNvbnN0IGFkanVzdG1lbnRGb3JTaGFkb3cgPSBzdWJUaGVtZSA/IDAgOiAxO1xuICAgIGNvbnN0IGFycm93Q29udGFpbmVySGVpZ2h0ID0gc2l6ZSArIERJU1RBTkNFX0ZST01fVFJJR0dFUjtcbiAgICAvLyBHZXQgYXJyb3cgd2lkdGggYW5kIGhlaWdodCB1c2luZyBweXRob2dvcmFzIHRoZW9yZW0gYW5kIGFkZCAxIHRvIGhlaWdodCB0byBhY2NvdW50IGZvciBkYXJrIG1vZGUgc2hhZG93LlxuICAgIGNvbnN0IGFycm93U2lkZUxlbmd0aCA9IE1hdGguc3FydChcbiAgICAgIHNpemUgKiogMiArIChzaXplICsgYWRqdXN0bWVudEZvclNoYWRvdykgKiogMlxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgIHdpZHRoOiBBUlJPV19DT05UQUlORVJfV0lEVEgsXG4gICAgICBoZWlnaHQ6IGFycm93Q29udGFpbmVySGVpZ2h0LFxuICAgICAgekluZGV4OiAxLFxuICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG5cbiAgICAgIC4uLih2ZXJ0aWNhbFBsYWNlbWVudCA9PT0gXCJ0b3BcIiAmJiB7XG4gICAgICAgIC8vIHBsYWNlIHRoZSBhcnJvdyBjb250YWluZXIgMXB4IGluc2lkZSB0b29sdGlwIGNvbnRhaW5lciB0byBhY2NvdW50IGZvciBkYXJrIG1vZGUgYm94LXNoYWRvd1xuICAgICAgICB0b3A6IGBjYWxjKDEwMCUgLSAke2FkanVzdG1lbnRGb3JTaGFkb3d9cHgpYCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4odmVydGljYWxQbGFjZW1lbnQgPT09IFwiYm90dG9tXCIgJiYge1xuICAgICAgICAvLyBwbGFjZSB0aGUgYXJyb3cgY29udGFpbmVyIDFweCBpbnNpZGUgdG9vbHRpcCBjb250YWluZXIgdG8gYWNjb3VudCBmb3IgZGFyayBtb2RlIGJveC1zaGFkb3dcbiAgICAgICAgdG9wOiBgLSR7YXJyb3dDb250YWluZXJIZWlnaHQgLSBhZGp1c3RtZW50Rm9yU2hhZG93fXB4YCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJjZW50ZXJcIiAmJiB7XG4gICAgICAgIGxlZnQ6IFwiNTAlXCIsXG4gICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSlcIixcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJyaWdodFwiICYmIHtcbiAgICAgICAgbGVmdDogYCR7b2Zmc2V0IC0gKEFSUk9XX0NPTlRBSU5FUl9XSURUSCAvIDIgLSBzaXplKX1weGAsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwibGVmdFwiICYmIHtcbiAgICAgICAgcmlnaHQ6IGAke29mZnNldCAtIChBUlJPV19DT05UQUlORVJfV0lEVEggLyAyIC0gc2l6ZSl9cHhgLFxuICAgICAgfSksXG5cbiAgICAgIFwiJjo6YWZ0ZXJcIjoge1xuICAgICAgICBjb250ZW50OiAnXCIgXCInLFxuICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICB0b3A6IHZlcnRpY2FsUGxhY2VtZW50ID09PSBcInRvcFwiID8gMCA6IFwiMTAwJVwiLFxuICAgICAgICBsZWZ0OiBcIjUwJVwiLFxuICAgICAgICB3aWR0aDogYXJyb3dTaWRlTGVuZ3RoLFxuICAgICAgICBoZWlnaHQ6IGFycm93U2lkZUxlbmd0aCxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBzdWJUaGVtZVxuICAgICAgICAgID8gdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQucHJpbWFyeS5kZWZhdWx0XG4gICAgICAgICAgOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZylcIixcblxuICAgICAgICAuLi4oIXN1YlRoZW1lICYmIHtcbiAgICAgICAgICBib3hTaGFkb3c6IHRoZW1lLnZhbHVlcy5lbGV2YXRpb25bM10sXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBpbml0aWFsU3R5bGU6IFRvb2x0aXBTdHlsZSA9IHtcbiAgdG9wOiAwLFxuICBsZWZ0OiAwLFxuICB2ZXJ0aWNhbFBsYWNlbWVudDogXCJ0b3BcIixcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogXCJjZW50ZXJcIixcbn07XG5cbmxldCBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSAwO1xuXG4vKiBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0aW1lIGJldHdlZW4gbGFzdCBjbG9zZSBhbmQgbmV3IG9wZW4gaXMgbGVzcyB0aGFuIDUwMG1zICsgU0hPV19ISURFX0RFTEFZICovXG5mdW5jdGlvbiBnZXRBbmltYXRpb25EdXJhdGlvbigpIHtcbiAgbGV0IGFuaW1hdGlvbkR1cmF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zYDtcblxuICBpZiAobGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wKSB7XG4gICAgY29uc3QgdGltZVNpbmNlTGFzdFRvb2x0aXAgPSBEYXRlLm5vdygpIC0gbGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wO1xuXG4gICAgaWYgKHRpbWVTaW5jZUxhc3RUb29sdGlwIDwgNTAwICsgU0hPV19ISURFX0RFTEFZKSB7XG4gICAgICBhbmltYXRpb25EdXJhdGlvbiA9IFwiMG1zXCI7XG4gICAgfVxuICB9XG4gIHJldHVybiBhbmltYXRpb25EdXJhdGlvbjtcbn1cblxuLyoqIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgdG8gZGlzcGxheSB0aGUgb3ZlcmxheSBmb3IgYm90aCBUb2dnbGV0aXAgYW5kIFRvb2x0aXAgY29tcG9uZW50cyAqL1xuZXhwb3J0IGZ1bmN0aW9uIFRvb2x0aXBDb250ZW50KHtcbiAgcGxhY2VtZW50ID0gXCJhdXRvXCIsXG4gIGNvbnRlbnQsXG4gIHRvb2x0aXBJZCxcbiAgdHJpZ2dlclJlZixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBkYXRhRTJlVGVzdElkLFxuICBkYXRhRFNJZCxcbiAgaXNWaXNpYmxlLFxuICBcImFyaWEtaGlkZGVuXCI6IGFyaWFIaWRkZW4sXG4gIHJvbGUsXG4gIHRhYkluZGV4LFxuICBjb250ZW50UGFkZGluZyxcbiAgbWF4V2lkdGggPSBNQVhfQ09OVEVOVF9XSURUSCxcbiAgc3ViVGhlbWUsXG4gIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgaGlkZUFycm93ID0gZmFsc2UsXG4gIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyID0gZmFsc2UsXG4gIG9uVG9vbHRpcFBvaW50ZXJFbnRlcixcbiAgb25Ub29sdGlwUG9pbnRlckxlYXZlLFxuICBvbk92ZXJmbG93Vmlld3BvcnQsXG4gIC4uLmFyaWFBdHRyaWJ1dGVzXG59OiBUb29sdGlwQ29udGVudFByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgW3N0eWxlLCBzZXRTdHlsZV0gPSB1c2VTdGF0ZShpbml0aWFsU3R5bGUpO1xuICBjb25zdCBbaXNIaWRkZW4sIHNldElzSGlkZGVuXSA9IHVzZVN0YXRlKGZhbHNlKTsgLy8gY3NzIHZpc2liaWx0eSBoaWRkZW5cbiAgY29uc3QgdG9vbHRpcFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgaXNPdmVyZmxvd0NhbGxiYWNrQ2FsbGVkUmVmID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgZG9jdW1lbnQgPSB1c2VEb2N1bWVudCgpO1xuICBjb25zdCB3aW5kb3cgPSB1c2VXaW5kb3coKTtcblxuICBjb25zdCBhcnJvd1NpemUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGlkZUFycm93KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIHN1YlRoZW1lID8gQVJST1dfU0laRSA6IEFSUk9XX1NJWkVfQklHO1xuICB9LCBbc3ViVGhlbWUsIGhpZGVBcnJvd10pO1xuXG4gIGNvbnN0IGhhbmRsZVZpZXdwb3J0T3ZlcmZsb3cgPSB1c2VDYWxsYmFjazxcbiAgICBUb29sdGlwQ29udGVudFByb3BzW1wib25PdmVyZmxvd1ZpZXdwb3J0XCJdXG4gID4oXG4gICAgKHRyaWdnZXJSZWN0LCB0b29sdGlwUmVjdCwgdmlld3BvcnRIZWlnaHQpID0+IHtcbiAgICAgIGlmICghaXNPdmVyZmxvd0NhbGxiYWNrQ2FsbGVkUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgb25PdmVyZmxvd1ZpZXdwb3J0Py4odHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0LCB2aWV3cG9ydEhlaWdodCk7XG4gICAgICAgIGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtvbk92ZXJmbG93Vmlld3BvcnQsIGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZl1cbiAgKTtcblxuICBjb25zdCBjYWxjdWxhdGVTdHlsZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAodHJpZ2dlclJlZi5jdXJyZW50ICYmIHRvb2x0aXBSZWYuY3VycmVudCkge1xuICAgICAgLy8gY2FsY3VsYXRlIHRvb2x0aXAgc3R5bGVcbiAgICAgIHNldFN0eWxlKFxuICAgICAgICBnZXRUb29sdGlwU3R5bGUoe1xuICAgICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQsXG4gICAgICAgICAgdHJpZ2dlclJlZixcbiAgICAgICAgICB0b29sdGlwUmVmLFxuICAgICAgICAgIGRvY3VtZW50LFxuICAgICAgICAgIHdpbmRvdyxcbiAgICAgICAgICBhcnJvd1NpemUsXG4gICAgICAgICAgb25PdmVyZmxvd1ZpZXdwb3J0OiBoYW5kbGVWaWV3cG9ydE92ZXJmbG93LFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH0sIFtcbiAgICB0cmlnZ2VyUmVmLFxuICAgIHRvb2x0aXBSZWYsXG4gICAgZG9jdW1lbnQsXG4gICAgd2luZG93LFxuICAgIHBsYWNlbWVudCxcbiAgICBhcnJvd1NpemUsXG4gICAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50LFxuICAgIGhhbmRsZVZpZXdwb3J0T3ZlcmZsb3csXG4gIF0pO1xuXG4gIC8vIFRoaXMgbGF5b3V0IGVmZmVjdCB0byByZS1yZW5kZXIgd2l0aCB1cGRhdGVkIHBvc2l0aW9uIGFmdGVyIGRldGVybWluaW5nIGNvbnRlbnQgd2lkdGhcbiAgdXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSkge1xuICAgICAgY2FsY3VsYXRlU3R5bGUoKTtcbiAgICB9XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCBjb250ZW50UGFkZGluZywgY29udGVudCwgbWF4V2lkdGhdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc1Zpc2libGUgJiYgdG9vbHRpcFJlZi5jdXJyZW50KSB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjYWxjdWxhdGVTdHlsZSk7XG4gICAgfSBlbHNlIGlmICghaXNWaXNpYmxlKSB7XG4gICAgICAvLyBsb2cgdGltZSB3aGVuIHRvb2x0aXAgY2xvc2VzXG4gICAgICBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjYWxjdWxhdGVTdHlsZSk7XG4gICAgfTtcbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIHdpbmRvdywgdG9vbHRpcFJlZl0pO1xuXG4gIC8vIE9ic2VydmUgdG9vbHRpcCBlbGVtZW50IHNpemUgY2hhbmdlcyB0byByZWNhbGN1bGF0ZSBwb3NpdGlvbmluZ1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBpZiAoXG4gICAgICBpc1Zpc2libGUgJiZcbiAgICAgIHRvb2x0aXBSZWYuY3VycmVudCAmJlxuICAgICAgdHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiXG4gICAgKSB7XG4gICAgICByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xuICAgICAgICBlbnRyaWVzLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICAgICAgaWYgKGVudHJ5LmNvbnRlbnRSZWN0LndpZHRoID4gMCAmJiBlbnRyeS5jb250ZW50UmVjdC5oZWlnaHQgPiAwKSB7XG4gICAgICAgICAgICBjYWxjdWxhdGVTdHlsZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0b29sdGlwUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCB0b29sdGlwUmVmXSk7XG5cbiAgLy8gUmVjYWxjdWxhdGUgcG9zaXRpb24gd2hlbiB0aGUgdHJpZ2dlciBtb3ZlcyB3aXRob3V0IGVtaXR0aW5nIHNjcm9sbC9yZXNpemVcbiAgLy8gZXZlbnRzIChlLmcuIENTUyB0cmFuc2Zvcm1zLCBjYW52YXMgem9vbS9wYW4pLlxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNWaXNpYmxlKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgbGV0IHJlcXVlc3RBbmltYXRpb25GcmFtZUlkOiBudW1iZXI7XG4gICAgbGV0IHByZXZSZWN0OiBET01SZWN0IHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgcmVjYWxjdWxhdGVQb3NpdGlvbiA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG5leHRSZWN0ID0gdHJpZ2dlclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGlmIChcbiAgICAgICAgcHJldlJlY3QgJiZcbiAgICAgICAgbmV4dFJlY3QgJiZcbiAgICAgICAgKHByZXZSZWN0LnggIT09IG5leHRSZWN0LnggfHxcbiAgICAgICAgICBwcmV2UmVjdC55ICE9PSBuZXh0UmVjdC55IHx8XG4gICAgICAgICAgcHJldlJlY3Qud2lkdGggIT09IG5leHRSZWN0LndpZHRoIHx8XG4gICAgICAgICAgcHJldlJlY3QuaGVpZ2h0ICE9PSBuZXh0UmVjdC5oZWlnaHQpXG4gICAgICApIHtcbiAgICAgICAgY2FsY3VsYXRlU3R5bGUoKTtcbiAgICAgIH1cbiAgICAgIHByZXZSZWN0ID0gbmV4dFJlY3Q7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShyZWNhbGN1bGF0ZVBvc2l0aW9uKTtcbiAgICB9O1xuXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUocmVjYWxjdWxhdGVQb3NpdGlvbik7XG4gICAgcmV0dXJuICgpID0+IGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJlcXVlc3RBbmltYXRpb25GcmFtZUlkKTtcbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIHRyaWdnZXJSZWZdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZi5jdXJyZW50ID0gZmFsc2U7XG4gIH0sIFtpc1Zpc2libGUsIGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZl0pO1xuXG4gIC8qIEhpZGUgKHZpc2liaWxpdHk6IGhpZGRlbikgdG9vbHRpcCBpZiB0cmlnZ2VyIGlzIHNjcm9sbGVkIG91dCBvZiB2aWV3ICovXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IG9ic2VydmVyOiBJbnRlcnNlY3Rpb25PYnNlcnZlcjtcblxuICAgIGlmIChcbiAgICAgIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyICYmXG4gICAgICB0cmlnZ2VyUmVmLmN1cnJlbnQgJiZcbiAgICAgIGlzVmlzaWJsZSAmJlxuICAgICAgdHlwZW9mIEludGVyc2VjdGlvbk9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiXG4gICAgKSB7XG4gICAgICBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgICAgKGVudHJpZXMpID0+XG4gICAgICAgICAgZW50cmllcy5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVjdCA9IGVudHJ5LmJvdW5kaW5nQ2xpZW50UmVjdDtcblxuICAgICAgICAgICAgLy8gSWdub3JlIGludGVyc2VjdGlvbiBjaGFuZ2VzIHdoZW4gZWxlbWVudCBoYXMgemVybyBkaW1lbnNpb25zXG4gICAgICAgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gZHVyaW5nIERPTSB1cGRhdGVzL3BvcnRhbCByZW5kZXJpbmdcbiAgICAgICAgICAgIGlmIChyZWN0Py53aWR0aCA9PT0gMCAmJiByZWN0Py5oZWlnaHQgPT09IDApIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZXRJc0hpZGRlbighZW50cnkuaXNJbnRlcnNlY3RpbmcpO1xuICAgICAgICAgIH0pLFxuICAgICAgICB7XG4gICAgICAgICAgcm9vdDogbnVsbCwgLy8gdmlld3BvcnRcbiAgICAgICAgICB0aHJlc2hvbGQ6IElOVEVSU0VDVElPTl9USFJFU0hPTEQsXG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIG9ic2VydmVyLm9ic2VydmUodHJpZ2dlclJlZi5jdXJyZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKG9ic2VydmVyKSB7XG4gICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbdHJpZ2dlclJlZiwgaXNWaXNpYmxlLCBpc0hpZGRlbk9uSW52aXNpYmxlVHJpZ2dlcl0pO1xuXG4gIGlmICghaXNWaXNpYmxlKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCB0b29sdGlwRWxtID0gKFxuICAgIDxTdHlsZWRDb250YWluZXJcbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICBkYXRhLWRzLWlkPXtkYXRhRFNJZH1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHRvcDogc3R5bGUudG9wLFxuICAgICAgICBsZWZ0OiBzdHlsZS5sZWZ0LFxuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogZ2V0QW5pbWF0aW9uRHVyYXRpb24oKSxcbiAgICAgIH19XG4gICAgICByZWY9e3Rvb2x0aXBSZWZ9XG4gICAgICBpZD17dG9vbHRpcElkfVxuICAgICAgcm9sZT17cm9sZX1cbiAgICAgIHsuLi5hcmlhQXR0cmlidXRlc31cbiAgICAgIGFyaWEtaGlkZGVuPXthcmlhSGlkZGVufVxuICAgICAgc3ViVGhlbWU9e3N1YlRoZW1lfVxuICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgaG9yaXpvbnRhbFBsYWNlbWVudD17c3R5bGUuaG9yaXpvbnRhbFBsYWNlbWVudH1cbiAgICAgIHZlcnRpY2FsUGxhY2VtZW50PXtzdHlsZS52ZXJ0aWNhbFBsYWNlbWVudH1cbiAgICAgIG1heFdpZHRoPXttYXhXaWR0aH1cbiAgICAgIGNvbnRlbnRQYWRkaW5nPXtjb250ZW50UGFkZGluZ31cbiAgICAgIGlzSGlkZGVuPXtpc0hpZGRlbn1cbiAgICAgIG9uUG9pbnRlckVudGVyPXtvblRvb2x0aXBQb2ludGVyRW50ZXJ9XG4gICAgICBvblBvaW50ZXJMZWF2ZT17b25Ub29sdGlwUG9pbnRlckxlYXZlfVxuICAgID5cbiAgICAgIHtjb250ZW50fVxuICAgICAgeyFoaWRlQXJyb3cgJiYgKFxuICAgICAgICA8U3R5bGVkQXJyb3dcbiAgICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtgJHtkYXRhRTJlVGVzdElkfV9hcnJvd2B9XG4gICAgICAgICAgc3ViVGhlbWU9e3N1YlRoZW1lfVxuICAgICAgICAgIGhvcml6b250YWxQbGFjZW1lbnQ9e3N0eWxlLmhvcml6b250YWxQbGFjZW1lbnR9XG4gICAgICAgICAgdmVydGljYWxQbGFjZW1lbnQ9e3N0eWxlLnZlcnRpY2FsUGxhY2VtZW50fVxuICAgICAgICAgIHNpemU9e2Fycm93U2l6ZX1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG5cbiAgY29uc3Qgd3JhcHBlckVsbSA9IHN1YlRoZW1lID8gKFxuICAgIDxTdWJUaGVtZVByb3ZpZGVyIG5hbWU9e3N1YlRoZW1lfT57dG9vbHRpcEVsbX08L1N1YlRoZW1lUHJvdmlkZXI+XG4gICkgOiAoXG4gICAgdG9vbHRpcEVsbVxuICApO1xuXG4gIHJldHVybiA8UG9ydGFsIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfT57d3JhcHBlckVsbX08L1BvcnRhbD47XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUZ3QiJ9 */"),StyledArrow=styled("div",{target:"ev9mef11",label:"StyledArrow"})(({theme,subTheme,verticalPlacement,horizontalPlacement,size=ARROW_SIZE})=>{let offset=getArrowOffset(size),adjustmentForShadow=+!subTheme,arrowContainerHeight=size+DISTANCE_FROM_TRIGGER,arrowSideLength=Math.sqrt(size**2+(size+adjustmentForShadow)**2);return{position:"absolute",width:40,height:arrowContainerHeight,zIndex:1,overflow:"hidden",..."top"===verticalPlacement&&{top:`calc(100% - ${adjustmentForShadow}px)`},..."bottom"===verticalPlacement&&{top:`-${arrowContainerHeight-adjustmentForShadow}px`},..."center"===horizontalPlacement&&{left:"50%",transform:"translate(-50%)"},..."right"===horizontalPlacement&&{left:`${offset-(20-size)}px`},..."left"===horizontalPlacement&&{right:`${offset-(20-size)}px`},"&::after":{content:'" "',position:"absolute",top:"top"===verticalPlacement?0:"100%",left:"50%",width:arrowSideLength,height:arrowSideLength,backgroundColor:subTheme?theme.values.color.background.primary.default:theme.values.color.background.elevated.default,transform:"translate(-50%, -50%) rotate(45deg)",...!subTheme&&{boxShadow:theme.values.elevation[3]}}}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVG9vbHRpcC9Ub29sdGlwQ29udGVudC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Rvb2x0aXAvVG9vbHRpcENvbnRlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIE11dGFibGVSZWZPYmplY3QsIFJlYWN0RWxlbWVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiY3NzdHlwZVwiO1xuaW1wb3J0IHsgdXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdFwiO1xuaW1wb3J0IHR5cGUgeyBTdWJUaGVtZVR5cGVzIH0gZnJvbSBcIi4uLy4uL3dlYi10b2tlbnMvX3N1YlRoZW1lVHlwZVwiO1xuaW1wb3J0IHsgdXNlRG9jdW1lbnQgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZURvY3VtZW50XCI7XG5pbXBvcnQgeyB1c2VXaW5kb3cgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZVdpbmRvd1wiO1xuaW1wb3J0IHsgU3ViVGhlbWVQcm92aWRlciB9IGZyb20gXCIuLi9TdWJUaGVtZVByb3ZpZGVyL1N1YlRoZW1lUHJvdmlkZXJcIjtcbmltcG9ydCB7XG4gIFBvcnRhbCxcbiAgdXNlUG9ydGFsQ2hpbGRaSW5kZXgsXG4gIHR5cGUgUG9ydGFsUHJvcHMsXG59IGZyb20gXCIuLi9Qb3J0YWwvUG9ydGFsXCI7XG5cbmltcG9ydCB7XG4gIEFOSU1BVElPTl9ESVNUQU5DRSxcbiAgQVJST1dfU0laRSxcbiAgQVJST1dfU0laRV9CSUcsXG4gIERJU1RBTkNFX0ZST01fVFJJR0dFUixcbiAgZ2V0QXJyb3dPZmZzZXQsXG4gIGdldFRvb2x0aXBTdHlsZSxcbn0gZnJvbSBcIi4vdXRpbHNcIjtcblxuZXhwb3J0IHR5cGUgVG9vbHRpcENvbnRlbnRQcm9wcyA9IHtcbiAgY29udGVudDogUmVhY3RFbGVtZW50O1xuICB0cmlnZ2VyUmVmOiBNdXRhYmxlUmVmT2JqZWN0PGFueT47XG4gIHBsYWNlbWVudD86XG4gICAgfCBcImF1dG9cIlxuICAgIHwgXCJ0b3BcIlxuICAgIHwgXCJib3R0b21cIlxuICAgIHwgXCJ0b3AtbGVmdFwiXG4gICAgfCBcInRvcC1yaWdodFwiXG4gICAgfCBcImJvdHRvbS1sZWZ0XCJcbiAgICB8IFwiYm90dG9tLXJpZ2h0XCI7XG4gIGRhdGFFMmVUZXN0SWQ/OiBzdHJpbmc7XG4gIGRhdGFEU0lkOiBzdHJpbmc7XG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XG4gIHRvb2x0aXBJZD86IHN0cmluZztcbiAgcm9sZT86IHN0cmluZztcbiAgdGFiSW5kZXg/OiBudW1iZXI7XG4gIGNvbnRlbnRQYWRkaW5nPzogXCJzXCIgfCBcIm1cIjtcbiAgc3ViVGhlbWU/OiBTdWJUaGVtZVR5cGVzO1xuICBtYXhXaWR0aD86IFByb3BlcnR5Lk1heFdpZHRoIHwgbnVtYmVyO1xuICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQ/OiBUb29sdGlwU3R5bGVbXCJ2ZXJ0aWNhbFBsYWNlbWVudFwiXTtcbiAgaGlkZUFycm93PzogYm9vbGVhbjtcbiAgLyoqIFNldHMgY3NzIHZpc2liaWxpdHkgaGlkZGVuIHdoZW4gdHJpZ2dlciBpcyBzY3JvbGxlZCBvdXQgb2YgdmlldyAqL1xuICBpc0hpZGRlbk9uSW52aXNpYmxlVHJpZ2dlcj86IGJvb2xlYW47XG4gIG9uVG9vbHRpcFBvaW50ZXJFbnRlcj86IFJlYWN0LlBvaW50ZXJFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBvblRvb2x0aXBQb2ludGVyTGVhdmU/OiBSZWFjdC5Qb2ludGVyRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgLyoqIFRoaXMgY2FsbGJhY2sgaXMgdHJpZ2dlcmVkIHdoZW4gY29udGVudCBvdmVyZmxvd3MgdGhlIHZpZXdwb3J0IGJvdGggYWJvdmUgYW5kIGJlbG93IHRyaWdnZXIuIFVzZSB0aGlzIGZvciB0cmFja2luZyBwdXJwb3NlcyBvciByZS1yZW5kZXJpbmcgUG9wb3ZlciB3aXRoIGEgbGFyZ2VyIG1heFdpZHRoICovXG4gIG9uT3ZlcmZsb3dWaWV3cG9ydD86IChcbiAgICB0cmlnZ2VyUmVjdDogRE9NUmVjdCxcbiAgICB0b29sdGlwUmVjdDogRE9NUmVjdCxcbiAgICB2aWV3cG9ydEhlaWdodDogbnVtYmVyXG4gICkgPT4gdm9pZDtcbn0gJiBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPiAmXG4gIEFyaWFBdHRyaWJ1dGVzO1xuXG5leHBvcnQgdHlwZSBUb29sdGlwU3R5bGUgPSB7XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG4gIGhvcml6b250YWxQbGFjZW1lbnQ6IFwibGVmdFwiIHwgXCJyaWdodFwiIHwgXCJjZW50ZXJcIjtcbiAgdmVydGljYWxQbGFjZW1lbnQ6IFwidG9wXCIgfCBcImJvdHRvbVwiO1xufTtcblxudHlwZSBTdHlsZWRDb250YWluZXJQcm9wcyA9IFBpY2s8XG4gIFRvb2x0aXBDb250ZW50UHJvcHMsXG4gIFwiY29udGVudFBhZGRpbmdcIiB8IFwibWF4V2lkdGhcIiB8IFwic3ViVGhlbWVcIlxuPiAmIHtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1wiaG9yaXpvbnRhbFBsYWNlbWVudFwiXTtcbiAgdmVydGljYWxQbGFjZW1lbnQ6IFRvb2x0aXBTdHlsZVtcInZlcnRpY2FsUGxhY2VtZW50XCJdO1xuICBpc0hpZGRlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEFOSU1BVElPTl9EVVJBVElPTiA9IDIwMDtcbmNvbnN0IFNIT1dfSElERV9ERUxBWSA9IDIwMDtcbmNvbnN0IE1BWF9DT05URU5UX1dJRFRIID0gMjI0O1xuLy8gVXNlIDAuOTkgaW5zdGVhZCBvZiAxLjAgdG8gaGFuZGxlIHN1Yi1waXhlbCByb3VuZGluZyBpc3N1ZXNcbi8vIHRoYXQgY2FuIGNhdXNlIGludGVyc2VjdGlvblJhdGlvIHRvIHJlcG9ydCB2YWx1ZXMgbGlrZSAwLjk5XG5jb25zdCBJTlRFUlNFQ1RJT05fVEhSRVNIT0xEID0gMC45OTtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz4oXG4gICh7XG4gICAgdGhlbWUsXG4gICAgaG9yaXpvbnRhbFBsYWNlbWVudCxcbiAgICB2ZXJ0aWNhbFBsYWNlbWVudCxcbiAgICBtYXhXaWR0aCxcbiAgICBjb250ZW50UGFkZGluZyxcbiAgICBzdWJUaGVtZSxcbiAgICBpc0hpZGRlbixcbiAgfSkgPT4ge1xuICAgIGNvbnN0IGFuaW1hdGlvbkRpc3RhbmNlID1cbiAgICAgIHZlcnRpY2FsUGxhY2VtZW50ID09PSBcInRvcFwiXG4gICAgICAgID8gYCR7QU5JTUFUSU9OX0RJU1RBTkNFfXB4YFxuICAgICAgICA6IGAtJHtBTklNQVRJT05fRElTVEFOQ0V9cHhgO1xuICAgIGNvbnN0IGFuaW1hdGlvbiA9IGtleWZyYW1lcyh7XG4gICAgICB0bzoge1xuICAgICAgICBvcGFjaXR5OiB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlLFxuICAgICAgICB0cmFuc2Zvcm06XG4gICAgICAgICAgaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJjZW50ZXJcIlxuICAgICAgICAgICAgPyBgdHJhbnNsYXRlKC01MCUsICR7YW5pbWF0aW9uRGlzdGFuY2V9KWBcbiAgICAgICAgICAgIDogYHRyYW5zbGF0ZVkoJHthbmltYXRpb25EaXN0YW5jZX0pYCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBjb250ZW50UGFkZGluZ01hcCA9IHtcbiAgICAgIHM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHhzLFxuICAgICAgbTogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zLFxuICAgIH07XG5cbiAgICBjb25zdCBpbnZlcnRlZFN1YlRoZW1lU3R5bGVzID0ge1xuICAgICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnN9YCxcbiAgICAgIC4uLihjb250ZW50UGFkZGluZyAmJiB7XG4gICAgICAgIHBhZGRpbmc6IGNvbnRlbnRQYWRkaW5nTWFwW2NvbnRlbnRQYWRkaW5nXSxcbiAgICAgIH0pLFxuICAgIH07XG5cbiAgICBjb25zdCB6SW5kZXggPSB1c2VQb3J0YWxDaGlsZFpJbmRleCh0aGVtZS52YXJpYWJsZXMuekluZGV4LnRvb2x0aXApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICB6SW5kZXgsXG4gICAgICBvcGFjaXR5OiB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW4sXG4gICAgICBhbmltYXRpb246IGAke0FOSU1BVElPTl9EVVJBVElPTn1tcyBlYXNlLW91dCBmb3J3YXJkcyAke2FuaW1hdGlvbn1gLFxuICAgICAgbWF4V2lkdGgsXG4gICAgICB3aWR0aDogXCJtYXgtY29udGVudFwiLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIGJhY2tncm91bmRDb2xvcjogc3ViVGhlbWVcbiAgICAgICAgPyB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5wcmltYXJ5LmRlZmF1bHRcbiAgICAgICAgOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuICAgICAgYm9yZGVyUmFkaXVzOiBzdWJUaGVtZVxuICAgICAgICA/IHRoZW1lLnZhcmlhYmxlcy5zaXplLmJvcmRlclJhZGl1cy54c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmJvcmRlclJhZGl1cy5zLFxuXG4gICAgICAuLi4oaXNIaWRkZW4gJiYge1xuICAgICAgICB2aXNpYmlsaXR5OiBcImhpZGRlblwiLFxuICAgICAgfSksXG4gICAgICAuLi4oISFzdWJUaGVtZSAmJiBpbnZlcnRlZFN1YlRoZW1lU3R5bGVzKSxcbiAgICAgIC4uLihob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImNlbnRlclwiICYmIHtcbiAgICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtNTAlKVwiLFxuICAgICAgfSksXG5cbiAgICAgIC4uLighc3ViVGhlbWUgJiYge1xuICAgICAgICBcIjphZnRlclwiOiB7XG4gICAgICAgICAgY29udGVudDogJ1wiIFwiJyxcbiAgICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgICAgICAgIGJvcmRlclJhZGl1czogXCJpbmhlcml0XCIsXG4gICAgICAgICAgYm94U2hhZG93OiB0aGVtZS52YWx1ZXMuZWxldmF0aW9uWzNdLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgfTtcbiAgfVxuKTtcblxudHlwZSBTdHlsZWRBcnJvd1Byb3BzID0gUGljazxUb29sdGlwQ29udGVudFByb3BzLCBcInN1YlRoZW1lXCI+ICYge1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGhvcml6b250YWxQbGFjZW1lbnQ6IFRvb2x0aXBTdHlsZVtcImhvcml6b250YWxQbGFjZW1lbnRcIl07XG4gIHNpemU/OiAwIHwgdHlwZW9mIEFSUk9XX1NJWkUgfCB0eXBlb2YgQVJST1dfU0laRV9CSUc7XG59O1xuXG4vLyBUaGlzIGNvbnRhaW5lciBpcyBsYXJnZSBlbm91Z2ggdG8gY29udGFpbiB0aGUgYXJyb3cgc2hhZG93IGJsdXJcbmNvbnN0IEFSUk9XX0NPTlRBSU5FUl9XSURUSCA9IDQwO1xuXG5jb25zdCBTdHlsZWRBcnJvdyA9IHN0eWxlZC5kaXY8U3R5bGVkQXJyb3dQcm9wcz4oXG4gICh7XG4gICAgdGhlbWUsXG4gICAgc3ViVGhlbWUsXG4gICAgdmVydGljYWxQbGFjZW1lbnQsXG4gICAgaG9yaXpvbnRhbFBsYWNlbWVudCxcbiAgICBzaXplID0gQVJST1dfU0laRSxcbiAgfSkgPT4ge1xuICAgIGNvbnN0IG9mZnNldCA9IGdldEFycm93T2Zmc2V0KHNpemUpO1xuICAgIGNvbnN0IGFkanVzdG1lbnRGb3JTaGFkb3cgPSBzdWJUaGVtZSA/IDAgOiAxO1xuICAgIGNvbnN0IGFycm93Q29udGFpbmVySGVpZ2h0ID0gc2l6ZSArIERJU1RBTkNFX0ZST01fVFJJR0dFUjtcbiAgICAvLyBHZXQgYXJyb3cgd2lkdGggYW5kIGhlaWdodCB1c2luZyBweXRob2dvcmFzIHRoZW9yZW0gYW5kIGFkZCAxIHRvIGhlaWdodCB0byBhY2NvdW50IGZvciBkYXJrIG1vZGUgc2hhZG93LlxuICAgIGNvbnN0IGFycm93U2lkZUxlbmd0aCA9IE1hdGguc3FydChcbiAgICAgIHNpemUgKiogMiArIChzaXplICsgYWRqdXN0bWVudEZvclNoYWRvdykgKiogMlxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgIHdpZHRoOiBBUlJPV19DT05UQUlORVJfV0lEVEgsXG4gICAgICBoZWlnaHQ6IGFycm93Q29udGFpbmVySGVpZ2h0LFxuICAgICAgekluZGV4OiAxLFxuICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG5cbiAgICAgIC4uLih2ZXJ0aWNhbFBsYWNlbWVudCA9PT0gXCJ0b3BcIiAmJiB7XG4gICAgICAgIC8vIHBsYWNlIHRoZSBhcnJvdyBjb250YWluZXIgMXB4IGluc2lkZSB0b29sdGlwIGNvbnRhaW5lciB0byBhY2NvdW50IGZvciBkYXJrIG1vZGUgYm94LXNoYWRvd1xuICAgICAgICB0b3A6IGBjYWxjKDEwMCUgLSAke2FkanVzdG1lbnRGb3JTaGFkb3d9cHgpYCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4odmVydGljYWxQbGFjZW1lbnQgPT09IFwiYm90dG9tXCIgJiYge1xuICAgICAgICAvLyBwbGFjZSB0aGUgYXJyb3cgY29udGFpbmVyIDFweCBpbnNpZGUgdG9vbHRpcCBjb250YWluZXIgdG8gYWNjb3VudCBmb3IgZGFyayBtb2RlIGJveC1zaGFkb3dcbiAgICAgICAgdG9wOiBgLSR7YXJyb3dDb250YWluZXJIZWlnaHQgLSBhZGp1c3RtZW50Rm9yU2hhZG93fXB4YCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJjZW50ZXJcIiAmJiB7XG4gICAgICAgIGxlZnQ6IFwiNTAlXCIsXG4gICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSlcIixcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJyaWdodFwiICYmIHtcbiAgICAgICAgbGVmdDogYCR7b2Zmc2V0IC0gKEFSUk9XX0NPTlRBSU5FUl9XSURUSCAvIDIgLSBzaXplKX1weGAsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwibGVmdFwiICYmIHtcbiAgICAgICAgcmlnaHQ6IGAke29mZnNldCAtIChBUlJPV19DT05UQUlORVJfV0lEVEggLyAyIC0gc2l6ZSl9cHhgLFxuICAgICAgfSksXG5cbiAgICAgIFwiJjo6YWZ0ZXJcIjoge1xuICAgICAgICBjb250ZW50OiAnXCIgXCInLFxuICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICB0b3A6IHZlcnRpY2FsUGxhY2VtZW50ID09PSBcInRvcFwiID8gMCA6IFwiMTAwJVwiLFxuICAgICAgICBsZWZ0OiBcIjUwJVwiLFxuICAgICAgICB3aWR0aDogYXJyb3dTaWRlTGVuZ3RoLFxuICAgICAgICBoZWlnaHQ6IGFycm93U2lkZUxlbmd0aCxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBzdWJUaGVtZVxuICAgICAgICAgID8gdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQucHJpbWFyeS5kZWZhdWx0XG4gICAgICAgICAgOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZylcIixcblxuICAgICAgICAuLi4oIXN1YlRoZW1lICYmIHtcbiAgICAgICAgICBib3hTaGFkb3c6IHRoZW1lLnZhbHVlcy5lbGV2YXRpb25bM10sXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBpbml0aWFsU3R5bGU6IFRvb2x0aXBTdHlsZSA9IHtcbiAgdG9wOiAwLFxuICBsZWZ0OiAwLFxuICB2ZXJ0aWNhbFBsYWNlbWVudDogXCJ0b3BcIixcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogXCJjZW50ZXJcIixcbn07XG5cbmxldCBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSAwO1xuXG4vKiBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0aW1lIGJldHdlZW4gbGFzdCBjbG9zZSBhbmQgbmV3IG9wZW4gaXMgbGVzcyB0aGFuIDUwMG1zICsgU0hPV19ISURFX0RFTEFZICovXG5mdW5jdGlvbiBnZXRBbmltYXRpb25EdXJhdGlvbigpIHtcbiAgbGV0IGFuaW1hdGlvbkR1cmF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zYDtcblxuICBpZiAobGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wKSB7XG4gICAgY29uc3QgdGltZVNpbmNlTGFzdFRvb2x0aXAgPSBEYXRlLm5vdygpIC0gbGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wO1xuXG4gICAgaWYgKHRpbWVTaW5jZUxhc3RUb29sdGlwIDwgNTAwICsgU0hPV19ISURFX0RFTEFZKSB7XG4gICAgICBhbmltYXRpb25EdXJhdGlvbiA9IFwiMG1zXCI7XG4gICAgfVxuICB9XG4gIHJldHVybiBhbmltYXRpb25EdXJhdGlvbjtcbn1cblxuLyoqIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgdG8gZGlzcGxheSB0aGUgb3ZlcmxheSBmb3IgYm90aCBUb2dnbGV0aXAgYW5kIFRvb2x0aXAgY29tcG9uZW50cyAqL1xuZXhwb3J0IGZ1bmN0aW9uIFRvb2x0aXBDb250ZW50KHtcbiAgcGxhY2VtZW50ID0gXCJhdXRvXCIsXG4gIGNvbnRlbnQsXG4gIHRvb2x0aXBJZCxcbiAgdHJpZ2dlclJlZixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBkYXRhRTJlVGVzdElkLFxuICBkYXRhRFNJZCxcbiAgaXNWaXNpYmxlLFxuICBcImFyaWEtaGlkZGVuXCI6IGFyaWFIaWRkZW4sXG4gIHJvbGUsXG4gIHRhYkluZGV4LFxuICBjb250ZW50UGFkZGluZyxcbiAgbWF4V2lkdGggPSBNQVhfQ09OVEVOVF9XSURUSCxcbiAgc3ViVGhlbWUsXG4gIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgaGlkZUFycm93ID0gZmFsc2UsXG4gIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyID0gZmFsc2UsXG4gIG9uVG9vbHRpcFBvaW50ZXJFbnRlcixcbiAgb25Ub29sdGlwUG9pbnRlckxlYXZlLFxuICBvbk92ZXJmbG93Vmlld3BvcnQsXG4gIC4uLmFyaWFBdHRyaWJ1dGVzXG59OiBUb29sdGlwQ29udGVudFByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgW3N0eWxlLCBzZXRTdHlsZV0gPSB1c2VTdGF0ZShpbml0aWFsU3R5bGUpO1xuICBjb25zdCBbaXNIaWRkZW4sIHNldElzSGlkZGVuXSA9IHVzZVN0YXRlKGZhbHNlKTsgLy8gY3NzIHZpc2liaWx0eSBoaWRkZW5cbiAgY29uc3QgdG9vbHRpcFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgaXNPdmVyZmxvd0NhbGxiYWNrQ2FsbGVkUmVmID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgZG9jdW1lbnQgPSB1c2VEb2N1bWVudCgpO1xuICBjb25zdCB3aW5kb3cgPSB1c2VXaW5kb3coKTtcblxuICBjb25zdCBhcnJvd1NpemUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGlkZUFycm93KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIHN1YlRoZW1lID8gQVJST1dfU0laRSA6IEFSUk9XX1NJWkVfQklHO1xuICB9LCBbc3ViVGhlbWUsIGhpZGVBcnJvd10pO1xuXG4gIGNvbnN0IGhhbmRsZVZpZXdwb3J0T3ZlcmZsb3cgPSB1c2VDYWxsYmFjazxcbiAgICBUb29sdGlwQ29udGVudFByb3BzW1wib25PdmVyZmxvd1ZpZXdwb3J0XCJdXG4gID4oXG4gICAgKHRyaWdnZXJSZWN0LCB0b29sdGlwUmVjdCwgdmlld3BvcnRIZWlnaHQpID0+IHtcbiAgICAgIGlmICghaXNPdmVyZmxvd0NhbGxiYWNrQ2FsbGVkUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgb25PdmVyZmxvd1ZpZXdwb3J0Py4odHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0LCB2aWV3cG9ydEhlaWdodCk7XG4gICAgICAgIGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtvbk92ZXJmbG93Vmlld3BvcnQsIGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZl1cbiAgKTtcblxuICBjb25zdCBjYWxjdWxhdGVTdHlsZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAodHJpZ2dlclJlZi5jdXJyZW50ICYmIHRvb2x0aXBSZWYuY3VycmVudCkge1xuICAgICAgLy8gY2FsY3VsYXRlIHRvb2x0aXAgc3R5bGVcbiAgICAgIHNldFN0eWxlKFxuICAgICAgICBnZXRUb29sdGlwU3R5bGUoe1xuICAgICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQsXG4gICAgICAgICAgdHJpZ2dlclJlZixcbiAgICAgICAgICB0b29sdGlwUmVmLFxuICAgICAgICAgIGRvY3VtZW50LFxuICAgICAgICAgIHdpbmRvdyxcbiAgICAgICAgICBhcnJvd1NpemUsXG4gICAgICAgICAgb25PdmVyZmxvd1ZpZXdwb3J0OiBoYW5kbGVWaWV3cG9ydE92ZXJmbG93LFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH0sIFtcbiAgICB0cmlnZ2VyUmVmLFxuICAgIHRvb2x0aXBSZWYsXG4gICAgZG9jdW1lbnQsXG4gICAgd2luZG93LFxuICAgIHBsYWNlbWVudCxcbiAgICBhcnJvd1NpemUsXG4gICAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50LFxuICAgIGhhbmRsZVZpZXdwb3J0T3ZlcmZsb3csXG4gIF0pO1xuXG4gIC8vIFRoaXMgbGF5b3V0IGVmZmVjdCB0byByZS1yZW5kZXIgd2l0aCB1cGRhdGVkIHBvc2l0aW9uIGFmdGVyIGRldGVybWluaW5nIGNvbnRlbnQgd2lkdGhcbiAgdXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSkge1xuICAgICAgY2FsY3VsYXRlU3R5bGUoKTtcbiAgICB9XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCBjb250ZW50UGFkZGluZywgY29udGVudCwgbWF4V2lkdGhdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc1Zpc2libGUgJiYgdG9vbHRpcFJlZi5jdXJyZW50KSB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjYWxjdWxhdGVTdHlsZSk7XG4gICAgfSBlbHNlIGlmICghaXNWaXNpYmxlKSB7XG4gICAgICAvLyBsb2cgdGltZSB3aGVuIHRvb2x0aXAgY2xvc2VzXG4gICAgICBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjYWxjdWxhdGVTdHlsZSk7XG4gICAgfTtcbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIHdpbmRvdywgdG9vbHRpcFJlZl0pO1xuXG4gIC8vIE9ic2VydmUgdG9vbHRpcCBlbGVtZW50IHNpemUgY2hhbmdlcyB0byByZWNhbGN1bGF0ZSBwb3NpdGlvbmluZ1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBpZiAoXG4gICAgICBpc1Zpc2libGUgJiZcbiAgICAgIHRvb2x0aXBSZWYuY3VycmVudCAmJlxuICAgICAgdHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiXG4gICAgKSB7XG4gICAgICByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xuICAgICAgICBlbnRyaWVzLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICAgICAgaWYgKGVudHJ5LmNvbnRlbnRSZWN0LndpZHRoID4gMCAmJiBlbnRyeS5jb250ZW50UmVjdC5oZWlnaHQgPiAwKSB7XG4gICAgICAgICAgICBjYWxjdWxhdGVTdHlsZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0b29sdGlwUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCB0b29sdGlwUmVmXSk7XG5cbiAgLy8gUmVjYWxjdWxhdGUgcG9zaXRpb24gd2hlbiB0aGUgdHJpZ2dlciBtb3ZlcyB3aXRob3V0IGVtaXR0aW5nIHNjcm9sbC9yZXNpemVcbiAgLy8gZXZlbnRzIChlLmcuIENTUyB0cmFuc2Zvcm1zLCBjYW52YXMgem9vbS9wYW4pLlxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNWaXNpYmxlKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgbGV0IHJlcXVlc3RBbmltYXRpb25GcmFtZUlkOiBudW1iZXI7XG4gICAgbGV0IHByZXZSZWN0OiBET01SZWN0IHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgcmVjYWxjdWxhdGVQb3NpdGlvbiA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG5leHRSZWN0ID0gdHJpZ2dlclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGlmIChcbiAgICAgICAgcHJldlJlY3QgJiZcbiAgICAgICAgbmV4dFJlY3QgJiZcbiAgICAgICAgKHByZXZSZWN0LnggIT09IG5leHRSZWN0LnggfHxcbiAgICAgICAgICBwcmV2UmVjdC55ICE9PSBuZXh0UmVjdC55IHx8XG4gICAgICAgICAgcHJldlJlY3Qud2lkdGggIT09IG5leHRSZWN0LndpZHRoIHx8XG4gICAgICAgICAgcHJldlJlY3QuaGVpZ2h0ICE9PSBuZXh0UmVjdC5oZWlnaHQpXG4gICAgICApIHtcbiAgICAgICAgY2FsY3VsYXRlU3R5bGUoKTtcbiAgICAgIH1cbiAgICAgIHByZXZSZWN0ID0gbmV4dFJlY3Q7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShyZWNhbGN1bGF0ZVBvc2l0aW9uKTtcbiAgICB9O1xuXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUocmVjYWxjdWxhdGVQb3NpdGlvbik7XG4gICAgcmV0dXJuICgpID0+IGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJlcXVlc3RBbmltYXRpb25GcmFtZUlkKTtcbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIHRyaWdnZXJSZWZdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZi5jdXJyZW50ID0gZmFsc2U7XG4gIH0sIFtpc1Zpc2libGUsIGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZl0pO1xuXG4gIC8qIEhpZGUgKHZpc2liaWxpdHk6IGhpZGRlbikgdG9vbHRpcCBpZiB0cmlnZ2VyIGlzIHNjcm9sbGVkIG91dCBvZiB2aWV3ICovXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IG9ic2VydmVyOiBJbnRlcnNlY3Rpb25PYnNlcnZlcjtcblxuICAgIGlmIChcbiAgICAgIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyICYmXG4gICAgICB0cmlnZ2VyUmVmLmN1cnJlbnQgJiZcbiAgICAgIGlzVmlzaWJsZSAmJlxuICAgICAgdHlwZW9mIEludGVyc2VjdGlvbk9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiXG4gICAgKSB7XG4gICAgICBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgICAgKGVudHJpZXMpID0+XG4gICAgICAgICAgZW50cmllcy5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVjdCA9IGVudHJ5LmJvdW5kaW5nQ2xpZW50UmVjdDtcblxuICAgICAgICAgICAgLy8gSWdub3JlIGludGVyc2VjdGlvbiBjaGFuZ2VzIHdoZW4gZWxlbWVudCBoYXMgemVybyBkaW1lbnNpb25zXG4gICAgICAgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gZHVyaW5nIERPTSB1cGRhdGVzL3BvcnRhbCByZW5kZXJpbmdcbiAgICAgICAgICAgIGlmIChyZWN0Py53aWR0aCA9PT0gMCAmJiByZWN0Py5oZWlnaHQgPT09IDApIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZXRJc0hpZGRlbighZW50cnkuaXNJbnRlcnNlY3RpbmcpO1xuICAgICAgICAgIH0pLFxuICAgICAgICB7XG4gICAgICAgICAgcm9vdDogbnVsbCwgLy8gdmlld3BvcnRcbiAgICAgICAgICB0aHJlc2hvbGQ6IElOVEVSU0VDVElPTl9USFJFU0hPTEQsXG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIG9ic2VydmVyLm9ic2VydmUodHJpZ2dlclJlZi5jdXJyZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKG9ic2VydmVyKSB7XG4gICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbdHJpZ2dlclJlZiwgaXNWaXNpYmxlLCBpc0hpZGRlbk9uSW52aXNpYmxlVHJpZ2dlcl0pO1xuXG4gIGlmICghaXNWaXNpYmxlKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCB0b29sdGlwRWxtID0gKFxuICAgIDxTdHlsZWRDb250YWluZXJcbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICBkYXRhLWRzLWlkPXtkYXRhRFNJZH1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHRvcDogc3R5bGUudG9wLFxuICAgICAgICBsZWZ0OiBzdHlsZS5sZWZ0LFxuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogZ2V0QW5pbWF0aW9uRHVyYXRpb24oKSxcbiAgICAgIH19XG4gICAgICByZWY9e3Rvb2x0aXBSZWZ9XG4gICAgICBpZD17dG9vbHRpcElkfVxuICAgICAgcm9sZT17cm9sZX1cbiAgICAgIHsuLi5hcmlhQXR0cmlidXRlc31cbiAgICAgIGFyaWEtaGlkZGVuPXthcmlhSGlkZGVufVxuICAgICAgc3ViVGhlbWU9e3N1YlRoZW1lfVxuICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgaG9yaXpvbnRhbFBsYWNlbWVudD17c3R5bGUuaG9yaXpvbnRhbFBsYWNlbWVudH1cbiAgICAgIHZlcnRpY2FsUGxhY2VtZW50PXtzdHlsZS52ZXJ0aWNhbFBsYWNlbWVudH1cbiAgICAgIG1heFdpZHRoPXttYXhXaWR0aH1cbiAgICAgIGNvbnRlbnRQYWRkaW5nPXtjb250ZW50UGFkZGluZ31cbiAgICAgIGlzSGlkZGVuPXtpc0hpZGRlbn1cbiAgICAgIG9uUG9pbnRlckVudGVyPXtvblRvb2x0aXBQb2ludGVyRW50ZXJ9XG4gICAgICBvblBvaW50ZXJMZWF2ZT17b25Ub29sdGlwUG9pbnRlckxlYXZlfVxuICAgID5cbiAgICAgIHtjb250ZW50fVxuICAgICAgeyFoaWRlQXJyb3cgJiYgKFxuICAgICAgICA8U3R5bGVkQXJyb3dcbiAgICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtgJHtkYXRhRTJlVGVzdElkfV9hcnJvd2B9XG4gICAgICAgICAgc3ViVGhlbWU9e3N1YlRoZW1lfVxuICAgICAgICAgIGhvcml6b250YWxQbGFjZW1lbnQ9e3N0eWxlLmhvcml6b250YWxQbGFjZW1lbnR9XG4gICAgICAgICAgdmVydGljYWxQbGFjZW1lbnQ9e3N0eWxlLnZlcnRpY2FsUGxhY2VtZW50fVxuICAgICAgICAgIHNpemU9e2Fycm93U2l6ZX1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG5cbiAgY29uc3Qgd3JhcHBlckVsbSA9IHN1YlRoZW1lID8gKFxuICAgIDxTdWJUaGVtZVByb3ZpZGVyIG5hbWU9e3N1YlRoZW1lfT57dG9vbHRpcEVsbX08L1N1YlRoZW1lUHJvdmlkZXI+XG4gICkgOiAoXG4gICAgdG9vbHRpcEVsbVxuICApO1xuXG4gIHJldHVybiA8UG9ydGFsIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfT57d3JhcHBlckVsbX08L1BvcnRhbD47XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0xvQiJ9 */"),initialStyle={top:0,left:0,verticalPlacement:"top",horizontalPlacement:"center"},lastTooltipHideTimestamp=0;export function TooltipContent({placement="auto",content,tooltipId,triggerRef,portalContainer,dataE2eTestId,dataDSId,isVisible,"aria-hidden":ariaHidden,role,tabIndex,contentPadding,maxWidth=224,subTheme,defaultVerticalPlacement,hideArrow=!1,isHiddenOnInvisibleTrigger=!1,onTooltipPointerEnter,onTooltipPointerLeave,onOverflowViewport,...ariaAttributes}){let animationDuration,[style,setStyle]=useState(initialStyle),[isHidden,setIsHidden]=useState(!1),tooltipRef=useRef(null),isOverflowCallbackCalledRef=useRef(!1),document=useDocument(),window=useWindow(),arrowSize=useMemo(()=>hideArrow?0:subTheme?ARROW_SIZE:ARROW_SIZE_BIG,[subTheme,hideArrow]),handleViewportOverflow=useCallback((triggerRect,tooltipRect,viewportHeight)=>{isOverflowCallbackCalledRef.current||(onOverflowViewport?.(triggerRect,tooltipRect,viewportHeight),isOverflowCallbackCalledRef.current=!0)},[onOverflowViewport,isOverflowCallbackCalledRef]),calculateStyle=useCallback(()=>{triggerRef.current&&tooltipRef.current&&setStyle(getTooltipStyle({placement,defaultVerticalPlacement,triggerRef,tooltipRef,document,window,arrowSize,onOverflowViewport:handleViewportOverflow}))},[triggerRef,tooltipRef,document,window,placement,arrowSize,defaultVerticalPlacement,handleViewportOverflow]);if(useIsomorphicLayoutEffect(()=>{isVisible&&calculateStyle()},[isVisible,calculateStyle,contentPadding,content,maxWidth]),useEffect(()=>(isVisible&&tooltipRef.current?window.addEventListener("resize",calculateStyle):isVisible||(lastTooltipHideTimestamp=Date.now()),()=>{window.removeEventListener("resize",calculateStyle)}),[isVisible,calculateStyle,window,tooltipRef]),useEffect(()=>{let resizeObserver;return isVisible&&tooltipRef.current&&"undefined"!=typeof ResizeObserver&&(resizeObserver=new ResizeObserver(entries=>{entries.forEach(entry=>{entry.contentRect.width>0&&entry.contentRect.height>0&&calculateStyle()})})).observe(tooltipRef.current),()=>{resizeObserver&&resizeObserver.disconnect()}},[isVisible,calculateStyle,tooltipRef]),useEffect(()=>{let requestAnimationFrameId,prevRect;if(!isVisible)return;let recalculatePosition=()=>{let nextRect=triggerRef.current?.getBoundingClientRect();prevRect&&nextRect&&(prevRect.x!==nextRect.x||prevRect.y!==nextRect.y||prevRect.width!==nextRect.width||prevRect.height!==nextRect.height)&&calculateStyle(),prevRect=nextRect,requestAnimationFrameId=requestAnimationFrame(recalculatePosition)};return requestAnimationFrameId=requestAnimationFrame(recalculatePosition),()=>cancelAnimationFrame(requestAnimationFrameId)},[isVisible,calculateStyle,triggerRef]),useEffect(()=>{isOverflowCallbackCalledRef.current=!1},[isVisible,isOverflowCallbackCalledRef]),useEffect(()=>{let observer;return isHiddenOnInvisibleTrigger&&triggerRef.current&&isVisible&&"undefined"!=typeof IntersectionObserver&&(observer=new IntersectionObserver(entries=>entries.forEach(entry=>{let rect=entry.boundingClientRect;(rect?.width!==0||rect?.height!==0)&&setIsHidden(!entry.isIntersecting)}),{root:null,threshold:.99})).observe(triggerRef.current),()=>{observer&&observer.disconnect()}},[triggerRef,isVisible,isHiddenOnInvisibleTrigger]),!isVisible)return null;let tooltipElm=React.createElement(StyledContainer,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":dataDSId,style:{top:style.top,left:style.left,animationDuration:(animationDuration="200ms",lastTooltipHideTimestamp&&Date.now()-lastTooltipHideTimestamp<700&&(animationDuration="0ms"),animationDuration)},ref:tooltipRef,id:tooltipId,role:role,...ariaAttributes,"aria-hidden":ariaHidden,subTheme:subTheme,tabIndex:tabIndex,horizontalPlacement:style.horizontalPlacement,verticalPlacement:style.verticalPlacement,maxWidth:maxWidth,contentPadding:contentPadding,isHidden:isHidden,onPointerEnter:onTooltipPointerEnter,onPointerLeave:onTooltipPointerLeave},content,!hideArrow&&React.createElement(StyledArrow,{"data-e2e-test-id":`${dataE2eTestId}_arrow`,subTheme:subTheme,horizontalPlacement:style.horizontalPlacement,verticalPlacement:style.verticalPlacement,size:arrowSize})),wrapperElm=subTheme?React.createElement(SubThemeProvider,{name:subTheme},tooltipElm):tooltipElm;return React.createElement(Portal,{portalContainer:portalContainer},wrapperElm)}
@@ -7,7 +7,7 @@ export type BaseTextProps = {
7
7
  size?: TextSize;
8
8
  weight?: TextWeight;
9
9
  transform?: "none" | "capitalize" | "uppercase" | "lowercase";
10
- as?: "p" | "span";
10
+ as?: "p" | "span" | "div";
11
11
  /** @deprecated variant property is deprecated now. Please use color prop. */
12
12
  variant?: TextVariations;
13
13
  color?: TextColors;
@@ -1 +1 @@
1
- import React,{createContext,useMemo,forwardRef}from"react";import styled from"@emotion/styled";import isPropValid from"@emotion/is-prop-valid";import{useResponsiveStyles}from"../../../shared/mediaQueries";export const TextContext=createContext(null);export const getTextLineHeight=({theme,size})=>({xs:theme.variables.size.lineHeight.m,s:theme.variables.size.lineHeight.l,m:theme.variables.size.lineHeight.xl,l:theme.variables.size.lineHeight.xl})[size];export const getTextFontSize=({theme,size})=>theme.variables.size.font[size];let StyledText=styled("p",{shouldForwardProp:prop=>isPropValid(prop)&&"color"!==prop&&"transform"!==prop,target:"e1qum5j60",label:"StyledText"})(({theme,align,weight,size,transform,hyphens,overflowWrap,color,userSelect,variant})=>({fontFamily:theme.variables.fontFamily.lato,margin:0,textTransform:transform,textAlign:align,fontWeight:theme.variables.weight[weight],color:theme.values.color.text[color]?.default??theme.values.color.text.primary.default,...userSelect&&{userSelect},...variant&&{color:theme.values.color.text[variant].default,..."primary"===variant&&{color:theme.values.color.text.accent.default},..."secondary"===variant&&{color:theme.values.color.text.primary.default}},fontSize:getTextFontSize({theme,size}),lineHeight:getTextLineHeight({theme,size}),...useResponsiveStyles({hyphens:[hyphens,{none:"none",auto:"auto",manual:"manual"}]}),overflowWrap}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVHlwb2dyYXBoeS9UZXh0L1RleHQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9UeXBvZ3JhcGh5L1RleHQvVGV4dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuXG5pbXBvcnQgUmVhY3QsIHtcbiAgY3JlYXRlQ29udGV4dCxcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgQ29tcG9uZW50UHJvcHMsXG4gIHR5cGUgUmVmT2JqZWN0LFxuICB1c2VNZW1vLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgVGhlbWUgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgQ1NTT2JqZWN0IH0gZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eSB9IGZyb20gXCJjc3N0eXBlXCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCBpc1Byb3BWYWxpZCBmcm9tIFwiQGVtb3Rpb24vaXMtcHJvcC12YWxpZFwiO1xuaW1wb3J0IHsgdXNlUmVzcG9uc2l2ZVN0eWxlcyB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvbWVkaWFRdWVyaWVzXCI7XG5cbmltcG9ydCB0eXBlIHtcbiAgVGV4dEFsaWdubWVudCxcbiAgVGV4dFZhcmlhdGlvbnMsXG4gIFRleHRDb2xvcnMsXG4gIFRleHRTaXplLFxuICBUZXh0V2VpZ2h0LFxuICBNUSxcbiAgSHlwaGVucyxcbiAgT3ZlcmZsb3dXcmFwLFxufSBmcm9tIFwiLi4vLi4vLi4vdHlwZXNcIjtcblxuZXhwb3J0IHR5cGUgQmFzZVRleHRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgc2l6ZT86IFRleHRTaXplO1xuICB3ZWlnaHQ/OiBUZXh0V2VpZ2h0O1xuICB0cmFuc2Zvcm0/OiBcIm5vbmVcIiB8IFwiY2FwaXRhbGl6ZVwiIHwgXCJ1cHBlcmNhc2VcIiB8IFwibG93ZXJjYXNlXCI7XG4gIGFzPzogXCJwXCIgfCBcInNwYW5cIjtcbiAgLyoqIEBkZXByZWNhdGVkIHZhcmlhbnQgcHJvcGVydHkgaXMgZGVwcmVjYXRlZCBub3cuIFBsZWFzZSB1c2UgY29sb3IgcHJvcC4gKi9cbiAgdmFyaWFudD86IFRleHRWYXJpYXRpb25zO1xuICBjb2xvcj86IFRleHRDb2xvcnM7XG4gIGFsaWduPzogVGV4dEFsaWdubWVudDtcbiAgb3ZlcmZsb3dXcmFwPzogT3ZlcmZsb3dXcmFwO1xuICBoeXBoZW5zPzogSHlwaGVucyB8IE1RPEh5cGhlbnM+O1xuICB1c2VyU2VsZWN0PzogUHJvcGVydHkuVXNlclNlbGVjdDtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIC8qKiBAaWdub3JlICovXG4gIFwiZGF0YS1kcy1pZFwiPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IFRleHRDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxQaWNrPFxuICBCYXNlVGV4dFByb3BzLFxuICBcImNvbG9yXCIgfCBcInNpemVcIiB8IFwid2VpZ2h0XCJcbj4gfCBudWxsPihudWxsKTtcblxuZXhwb3J0IGNvbnN0IGdldFRleHRMaW5lSGVpZ2h0ID0gKHtcbiAgdGhlbWUsXG4gIHNpemUsXG59OiB7XG4gIHRoZW1lOiBUaGVtZTtcbiAgc2l6ZTogVGV4dFNpemU7XG59KTogbnVtYmVyID0+XG4gICh7XG4gICAgeHM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmxpbmVIZWlnaHQubSxcbiAgICBzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5saW5lSGVpZ2h0LmwsXG4gICAgbTogdGhlbWUudmFyaWFibGVzLnNpemUubGluZUhlaWdodC54bCxcbiAgICBsOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5saW5lSGVpZ2h0LnhsLFxuICB9W3NpemVdKTtcblxuZXhwb3J0IGNvbnN0IGdldFRleHRGb250U2l6ZSA9ICh7XG4gIHRoZW1lLFxuICBzaXplLFxufToge1xuICB0aGVtZTogVGhlbWU7XG4gIHNpemU6IFRleHRTaXplO1xufSk6IHN0cmluZyA9PiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5mb250W3NpemVdO1xuXG5jb25zdCBTdHlsZWRUZXh0ID0gc3R5bGVkKFwicFwiLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT5cbiAgICBpc1Byb3BWYWxpZChwcm9wKSAmJiBwcm9wICE9PSBcImNvbG9yXCIgJiYgcHJvcCAhPT0gXCJ0cmFuc2Zvcm1cIixcbn0pPEJhc2VUZXh0UHJvcHM+KFxuICAoe1xuICAgIHRoZW1lLFxuICAgIGFsaWduLFxuICAgIHdlaWdodCxcbiAgICBzaXplLFxuICAgIHRyYW5zZm9ybSxcbiAgICBoeXBoZW5zLFxuICAgIG92ZXJmbG93V3JhcCxcbiAgICBjb2xvcixcbiAgICB1c2VyU2VsZWN0LFxuICAgIHZhcmlhbnQsXG4gIH0pID0+XG4gICAgKHtcbiAgICAgIGZvbnRGYW1pbHk6IHRoZW1lLnZhcmlhYmxlcy5mb250RmFtaWx5LmxhdG8sXG4gICAgICBtYXJnaW46IDAsXG4gICAgICB0ZXh0VHJhbnNmb3JtOiB0cmFuc2Zvcm0sXG4gICAgICB0ZXh0QWxpZ246IGFsaWduLFxuICAgICAgZm9udFdlaWdodDogdGhlbWUudmFyaWFibGVzLndlaWdodFt3ZWlnaHRdLFxuICAgICAgY29sb3I6XG4gICAgICAgIHRoZW1lLnZhbHVlcy5jb2xvci50ZXh0W2NvbG9yXT8uZGVmYXVsdCA/P1xuICAgICAgICB0aGVtZS52YWx1ZXMuY29sb3IudGV4dC5wcmltYXJ5LmRlZmF1bHQsXG4gICAgICAuLi4odXNlclNlbGVjdCAmJiB7XG4gICAgICAgIHVzZXJTZWxlY3QsXG4gICAgICB9KSxcblxuICAgICAgLy8gdmFyaWFudCBpcyBkZXByZWNhdGVkIGFuZCBpdCBzaG91bGQgYmUgZGVsZXRlZCBhc2FwXG4gICAgICAuLi4odmFyaWFudCAmJiB7XG4gICAgICAgIGNvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IudGV4dFt2YXJpYW50XS5kZWZhdWx0LFxuICAgICAgICAuLi4odmFyaWFudCA9PT0gXCJwcmltYXJ5XCIgJiYge1xuICAgICAgICAgIGNvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IudGV4dC5hY2NlbnQuZGVmYXVsdCxcbiAgICAgICAgfSksXG4gICAgICAgIC4uLih2YXJpYW50ID09PSBcInNlY29uZGFyeVwiICYmIHtcbiAgICAgICAgICBjb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLnRleHQucHJpbWFyeS5kZWZhdWx0LFxuICAgICAgICB9KSxcbiAgICAgIH0pLFxuXG4gICAgICBmb250U2l6ZTogZ2V0VGV4dEZvbnRTaXplKHsgdGhlbWUsIHNpemUgfSksXG4gICAgICBsaW5lSGVpZ2h0OiBnZXRUZXh0TGluZUhlaWdodCh7IHRoZW1lLCBzaXplIH0pLFxuICAgICAgLi4udXNlUmVzcG9uc2l2ZVN0eWxlcyh7XG4gICAgICAgIGh5cGhlbnM6IFtoeXBoZW5zLCB7IG5vbmU6IFwibm9uZVwiLCBhdXRvOiBcImF1dG9cIiwgbWFudWFsOiBcIm1hbnVhbFwiIH1dLFxuICAgICAgfSksXG4gICAgICBvdmVyZmxvd1dyYXAsXG4gICAgfSBhcyBDU1NPYmplY3QpXG4pO1xuXG5leHBvcnQgdHlwZSBUZXh0UHJvcHMgPSBDb21wb25lbnRQcm9wczx0eXBlb2YgU3R5bGVkVGV4dD47XG5cbmV4cG9ydCBjb25zdCBUZXh0ID0gZm9yd2FyZFJlZihcbiAgKFxuICAgIHtcbiAgICAgIHNpemUgPSBcIm1cIixcbiAgICAgIHdlaWdodCA9IFwibm9ybWFsXCIsXG4gICAgICB0cmFuc2Zvcm0gPSBcIm5vbmVcIixcbiAgICAgIGFzID0gXCJwXCIsXG4gICAgICBjb2xvcjogY29sb3JQcm9wID0gXCJwcmltYXJ5XCIsXG4gICAgICBhbGlnbiA9IFwibGVmdFwiLFxuICAgICAgaHlwaGVucyA9IFwibm9uZVwiLFxuICAgICAgb3ZlcmZsb3dXcmFwID0gXCJub3JtYWxcIixcbiAgICAgIHZhcmlhbnQsXG4gICAgICB1c2VyU2VsZWN0LFxuICAgICAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gICAgICBjaGlsZHJlbixcbiAgICAgIC4uLnJlc3RcbiAgICB9OiBUZXh0UHJvcHMsXG4gICAgcmVmOiBSZWZPYmplY3Q8SFRNTFBhcmFncmFwaEVsZW1lbnQ+XG4gICkgPT4ge1xuICAgIGxldCBjb2xvciA9IGNvbG9yUHJvcDtcblxuICAgIC8vIHRoaXMgaXMgZ29pbmcgdG8gYmUgZGVsZXRlZCBhZnRlciBtaWdyYXRpb25cbiAgICBpZiAodmFyaWFudCkge1xuICAgICAgaWYgKHZhcmlhbnQgPT09IFwicHJpbWFyeVwiKSB7XG4gICAgICAgIGNvbG9yID0gXCJhY2NlbnRcIjtcbiAgICAgIH0gZWxzZSBpZiAodmFyaWFudCA9PT0gXCJzZWNvbmRhcnlcIikge1xuICAgICAgICBjb2xvciA9IFwicHJpbWFyeVwiO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29sb3IgPSB2YXJpYW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGNvbnRleHRWYWx1ZXMgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKHsgY29sb3IsIHNpemUsIHdlaWdodCB9KSxcbiAgICAgIFtjb2xvciwgc2l6ZSwgd2VpZ2h0XVxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFRleHRcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIHZhcmlhbnQ9e3ZhcmlhbnR9XG4gICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgIHdlaWdodD17d2VpZ2h0fVxuICAgICAgICB0cmFuc2Zvcm09e3RyYW5zZm9ybX1cbiAgICAgICAgYXM9e2FzfVxuICAgICAgICBjb2xvcj17Y29sb3J9XG4gICAgICAgIGFsaWduPXthbGlnbn1cbiAgICAgICAgaHlwaGVucz17aHlwaGVuc31cbiAgICAgICAgb3ZlcmZsb3dXcmFwPXtvdmVyZmxvd1dyYXB9XG4gICAgICAgIHVzZXJTZWxlY3Q9e3VzZXJTZWxlY3R9XG4gICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgIGRhdGEtZHMtaWQ9XCJUZXh0XCJcbiAgICAgICAgey4uLnJlc3R9XG4gICAgICA+XG4gICAgICAgIDxUZXh0Q29udGV4dC5Qcm92aWRlciB2YWx1ZT17Y29udGV4dFZhbHVlc30+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L1RleHRDb250ZXh0LlByb3ZpZGVyPlxuICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICk7XG4gIH1cbik7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUVtQiJ9 */");export const Text=forwardRef(({size="m",weight="normal",transform="none",as="p",color:colorProp="primary",align="left",hyphens="none",overflowWrap="normal",variant,userSelect,"data-e2e-test-id":dataE2eTestId,children,...rest},ref)=>{let color=colorProp;variant&&(color="primary"===variant?"accent":"secondary"===variant?"primary":variant);let contextValues=useMemo(()=>({color,size,weight}),[color,size,weight]);return React.createElement(StyledText,{ref:ref,variant:variant,size:size,weight:weight,transform:transform,as:as,color:color,align:align,hyphens:hyphens,overflowWrap:overflowWrap,userSelect:userSelect,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Text",...rest},React.createElement(TextContext.Provider,{value:contextValues},children))});
1
+ import React,{createContext,useMemo,forwardRef}from"react";import styled from"@emotion/styled";import isPropValid from"@emotion/is-prop-valid";import{useResponsiveStyles}from"../../../shared/mediaQueries";export const TextContext=createContext(null);export const getTextLineHeight=({theme,size})=>({xs:theme.variables.size.lineHeight.m,s:theme.variables.size.lineHeight.l,m:theme.variables.size.lineHeight.xl,l:theme.variables.size.lineHeight.xl})[size];export const getTextFontSize=({theme,size})=>theme.variables.size.font[size];let StyledText=styled("p",{shouldForwardProp:prop=>isPropValid(prop)&&"color"!==prop&&"transform"!==prop,target:"e62lzw60",label:"StyledText"})(({theme,align,weight,size,transform,hyphens,overflowWrap,color,userSelect,variant})=>({fontFamily:theme.variables.fontFamily.lato,margin:0,textTransform:transform,textAlign:align,fontWeight:theme.variables.weight[weight],color:theme.values.color.text[color]?.default??theme.values.color.text.primary.default,...userSelect&&{userSelect},...variant&&{color:theme.values.color.text[variant].default,..."primary"===variant&&{color:theme.values.color.text.accent.default},..."secondary"===variant&&{color:theme.values.color.text.primary.default}},fontSize:getTextFontSize({theme,size}),lineHeight:getTextLineHeight({theme,size}),...useResponsiveStyles({hyphens:[hyphens,{none:"none",auto:"auto",manual:"manual"}]}),overflowWrap}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVHlwb2dyYXBoeS9UZXh0L1RleHQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9UeXBvZ3JhcGh5L1RleHQvVGV4dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuXG5pbXBvcnQgUmVhY3QsIHtcbiAgY3JlYXRlQ29udGV4dCxcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgQ29tcG9uZW50UHJvcHMsXG4gIHR5cGUgUmVmT2JqZWN0LFxuICB1c2VNZW1vLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgVGhlbWUgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgQ1NTT2JqZWN0IH0gZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eSB9IGZyb20gXCJjc3N0eXBlXCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCBpc1Byb3BWYWxpZCBmcm9tIFwiQGVtb3Rpb24vaXMtcHJvcC12YWxpZFwiO1xuaW1wb3J0IHsgdXNlUmVzcG9uc2l2ZVN0eWxlcyB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvbWVkaWFRdWVyaWVzXCI7XG5cbmltcG9ydCB0eXBlIHtcbiAgVGV4dEFsaWdubWVudCxcbiAgVGV4dFZhcmlhdGlvbnMsXG4gIFRleHRDb2xvcnMsXG4gIFRleHRTaXplLFxuICBUZXh0V2VpZ2h0LFxuICBNUSxcbiAgSHlwaGVucyxcbiAgT3ZlcmZsb3dXcmFwLFxufSBmcm9tIFwiLi4vLi4vLi4vdHlwZXNcIjtcblxuZXhwb3J0IHR5cGUgQmFzZVRleHRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgc2l6ZT86IFRleHRTaXplO1xuICB3ZWlnaHQ/OiBUZXh0V2VpZ2h0O1xuICB0cmFuc2Zvcm0/OiBcIm5vbmVcIiB8IFwiY2FwaXRhbGl6ZVwiIHwgXCJ1cHBlcmNhc2VcIiB8IFwibG93ZXJjYXNlXCI7XG4gIGFzPzogXCJwXCIgfCBcInNwYW5cIiB8IFwiZGl2XCI7XG4gIC8qKiBAZGVwcmVjYXRlZCB2YXJpYW50IHByb3BlcnR5IGlzIGRlcHJlY2F0ZWQgbm93LiBQbGVhc2UgdXNlIGNvbG9yIHByb3AuICovXG4gIHZhcmlhbnQ/OiBUZXh0VmFyaWF0aW9ucztcbiAgY29sb3I/OiBUZXh0Q29sb3JzO1xuICBhbGlnbj86IFRleHRBbGlnbm1lbnQ7XG4gIG92ZXJmbG93V3JhcD86IE92ZXJmbG93V3JhcDtcbiAgaHlwaGVucz86IEh5cGhlbnMgfCBNUTxIeXBoZW5zPjtcbiAgdXNlclNlbGVjdD86IFByb3BlcnR5LlVzZXJTZWxlY3Q7XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICAvKiogQGlnbm9yZSAqL1xuICBcImRhdGEtZHMtaWRcIj86IHN0cmluZztcbn07XG5cbmV4cG9ydCBjb25zdCBUZXh0Q29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8UGljazxcbiAgQmFzZVRleHRQcm9wcyxcbiAgXCJjb2xvclwiIHwgXCJzaXplXCIgfCBcIndlaWdodFwiXG4+IHwgbnVsbD4obnVsbCk7XG5cbmV4cG9ydCBjb25zdCBnZXRUZXh0TGluZUhlaWdodCA9ICh7XG4gIHRoZW1lLFxuICBzaXplLFxufToge1xuICB0aGVtZTogVGhlbWU7XG4gIHNpemU6IFRleHRTaXplO1xufSk6IG51bWJlciA9PlxuICAoe1xuICAgIHhzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5saW5lSGVpZ2h0Lm0sXG4gICAgczogdGhlbWUudmFyaWFibGVzLnNpemUubGluZUhlaWdodC5sLFxuICAgIG06IHRoZW1lLnZhcmlhYmxlcy5zaXplLmxpbmVIZWlnaHQueGwsXG4gICAgbDogdGhlbWUudmFyaWFibGVzLnNpemUubGluZUhlaWdodC54bCxcbiAgfVtzaXplXSk7XG5cbmV4cG9ydCBjb25zdCBnZXRUZXh0Rm9udFNpemUgPSAoe1xuICB0aGVtZSxcbiAgc2l6ZSxcbn06IHtcbiAgdGhlbWU6IFRoZW1lO1xuICBzaXplOiBUZXh0U2l6ZTtcbn0pOiBzdHJpbmcgPT4gdGhlbWUudmFyaWFibGVzLnNpemUuZm9udFtzaXplXTtcblxuY29uc3QgU3R5bGVkVGV4dCA9IHN0eWxlZChcInBcIiwge1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+XG4gICAgaXNQcm9wVmFsaWQocHJvcCkgJiYgcHJvcCAhPT0gXCJjb2xvclwiICYmIHByb3AgIT09IFwidHJhbnNmb3JtXCIsXG59KTxCYXNlVGV4dFByb3BzPihcbiAgKHtcbiAgICB0aGVtZSxcbiAgICBhbGlnbixcbiAgICB3ZWlnaHQsXG4gICAgc2l6ZSxcbiAgICB0cmFuc2Zvcm0sXG4gICAgaHlwaGVucyxcbiAgICBvdmVyZmxvd1dyYXAsXG4gICAgY29sb3IsXG4gICAgdXNlclNlbGVjdCxcbiAgICB2YXJpYW50LFxuICB9KSA9PlxuICAgICh7XG4gICAgICBmb250RmFtaWx5OiB0aGVtZS52YXJpYWJsZXMuZm9udEZhbWlseS5sYXRvLFxuICAgICAgbWFyZ2luOiAwLFxuICAgICAgdGV4dFRyYW5zZm9ybTogdHJhbnNmb3JtLFxuICAgICAgdGV4dEFsaWduOiBhbGlnbixcbiAgICAgIGZvbnRXZWlnaHQ6IHRoZW1lLnZhcmlhYmxlcy53ZWlnaHRbd2VpZ2h0XSxcbiAgICAgIGNvbG9yOlxuICAgICAgICB0aGVtZS52YWx1ZXMuY29sb3IudGV4dFtjb2xvcl0/LmRlZmF1bHQgPz9cbiAgICAgICAgdGhlbWUudmFsdWVzLmNvbG9yLnRleHQucHJpbWFyeS5kZWZhdWx0LFxuICAgICAgLi4uKHVzZXJTZWxlY3QgJiYge1xuICAgICAgICB1c2VyU2VsZWN0LFxuICAgICAgfSksXG5cbiAgICAgIC8vIHZhcmlhbnQgaXMgZGVwcmVjYXRlZCBhbmQgaXQgc2hvdWxkIGJlIGRlbGV0ZWQgYXNhcFxuICAgICAgLi4uKHZhcmlhbnQgJiYge1xuICAgICAgICBjb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLnRleHRbdmFyaWFudF0uZGVmYXVsdCxcbiAgICAgICAgLi4uKHZhcmlhbnQgPT09IFwicHJpbWFyeVwiICYmIHtcbiAgICAgICAgICBjb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLnRleHQuYWNjZW50LmRlZmF1bHQsXG4gICAgICAgIH0pLFxuICAgICAgICAuLi4odmFyaWFudCA9PT0gXCJzZWNvbmRhcnlcIiAmJiB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci50ZXh0LnByaW1hcnkuZGVmYXVsdCxcbiAgICAgICAgfSksXG4gICAgICB9KSxcblxuICAgICAgZm9udFNpemU6IGdldFRleHRGb250U2l6ZSh7IHRoZW1lLCBzaXplIH0pLFxuICAgICAgbGluZUhlaWdodDogZ2V0VGV4dExpbmVIZWlnaHQoeyB0aGVtZSwgc2l6ZSB9KSxcbiAgICAgIC4uLnVzZVJlc3BvbnNpdmVTdHlsZXMoe1xuICAgICAgICBoeXBoZW5zOiBbaHlwaGVucywgeyBub25lOiBcIm5vbmVcIiwgYXV0bzogXCJhdXRvXCIsIG1hbnVhbDogXCJtYW51YWxcIiB9XSxcbiAgICAgIH0pLFxuICAgICAgb3ZlcmZsb3dXcmFwLFxuICAgIH0gYXMgQ1NTT2JqZWN0KVxuKTtcblxuZXhwb3J0IHR5cGUgVGV4dFByb3BzID0gQ29tcG9uZW50UHJvcHM8dHlwZW9mIFN0eWxlZFRleHQ+O1xuXG5leHBvcnQgY29uc3QgVGV4dCA9IGZvcndhcmRSZWYoXG4gIChcbiAgICB7XG4gICAgICBzaXplID0gXCJtXCIsXG4gICAgICB3ZWlnaHQgPSBcIm5vcm1hbFwiLFxuICAgICAgdHJhbnNmb3JtID0gXCJub25lXCIsXG4gICAgICBhcyA9IFwicFwiLFxuICAgICAgY29sb3I6IGNvbG9yUHJvcCA9IFwicHJpbWFyeVwiLFxuICAgICAgYWxpZ24gPSBcImxlZnRcIixcbiAgICAgIGh5cGhlbnMgPSBcIm5vbmVcIixcbiAgICAgIG92ZXJmbG93V3JhcCA9IFwibm9ybWFsXCIsXG4gICAgICB2YXJpYW50LFxuICAgICAgdXNlclNlbGVjdCxcbiAgICAgIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxuICAgICAgY2hpbGRyZW4sXG4gICAgICAuLi5yZXN0XG4gICAgfTogVGV4dFByb3BzLFxuICAgIHJlZjogUmVmT2JqZWN0PEhUTUxQYXJhZ3JhcGhFbGVtZW50PlxuICApID0+IHtcbiAgICBsZXQgY29sb3IgPSBjb2xvclByb3A7XG5cbiAgICAvLyB0aGlzIGlzIGdvaW5nIHRvIGJlIGRlbGV0ZWQgYWZ0ZXIgbWlncmF0aW9uXG4gICAgaWYgKHZhcmlhbnQpIHtcbiAgICAgIGlmICh2YXJpYW50ID09PSBcInByaW1hcnlcIikge1xuICAgICAgICBjb2xvciA9IFwiYWNjZW50XCI7XG4gICAgICB9IGVsc2UgaWYgKHZhcmlhbnQgPT09IFwic2Vjb25kYXJ5XCIpIHtcbiAgICAgICAgY29sb3IgPSBcInByaW1hcnlcIjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbG9yID0gdmFyaWFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBjb250ZXh0VmFsdWVzID0gdXNlTWVtbyhcbiAgICAgICgpID0+ICh7IGNvbG9yLCBzaXplLCB3ZWlnaHQgfSksXG4gICAgICBbY29sb3IsIHNpemUsIHdlaWdodF1cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRUZXh0XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICB2YXJpYW50PXt2YXJpYW50fVxuICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICB3ZWlnaHQ9e3dlaWdodH1cbiAgICAgICAgdHJhbnNmb3JtPXt0cmFuc2Zvcm19XG4gICAgICAgIGFzPXthc31cbiAgICAgICAgY29sb3I9e2NvbG9yfVxuICAgICAgICBhbGlnbj17YWxpZ259XG4gICAgICAgIGh5cGhlbnM9e2h5cGhlbnN9XG4gICAgICAgIG92ZXJmbG93V3JhcD17b3ZlcmZsb3dXcmFwfVxuICAgICAgICB1c2VyU2VsZWN0PXt1c2VyU2VsZWN0fVxuICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICBkYXRhLWRzLWlkPVwiVGV4dFwiXG4gICAgICAgIHsuLi5yZXN0fVxuICAgICAgPlxuICAgICAgICA8VGV4dENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2NvbnRleHRWYWx1ZXN9PlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9UZXh0Q29udGV4dC5Qcm92aWRlcj5cbiAgICAgIDwvU3R5bGVkVGV4dD5cbiAgICApO1xuICB9XG4pO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlFbUIifQ== */");export const Text=forwardRef(({size="m",weight="normal",transform="none",as="p",color:colorProp="primary",align="left",hyphens="none",overflowWrap="normal",variant,userSelect,"data-e2e-test-id":dataE2eTestId,children,...rest},ref)=>{let color=colorProp;variant&&(color="primary"===variant?"accent":"secondary"===variant?"primary":variant);let contextValues=useMemo(()=>({color,size,weight}),[color,size,weight]);return React.createElement(StyledText,{ref:ref,variant:variant,size:size,weight:weight,transform:transform,as:as,color:color,align:align,hyphens:hyphens,overflowWrap:overflowWrap,userSelect:userSelect,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Text",...rest},React.createElement(TextContext.Provider,{value:contextValues},children))});
@@ -1 +1 @@
1
- import React,{useCallback,useEffect,useState}from"react";import styled from"@emotion/styled";import isPropValid from"@emotion/is-prop-valid";import{useWindow}from"../../../shared/useWindow";let StyledContainer=styled("div",{target:"elbd590",label:"StyledContainer"})(({isExpanded,reduceMotion})=>({display:"grid",gridTemplateRows:"0fr",...!reduceMotion&&{transition:"200ms grid-template-rows cubic-bezier(0.0, 0.0, 0.25, 1.0)"},...isExpanded&&{gridTemplateRows:"1fr"}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVXRpbGl0aWVzL0V4cGFuZGFibGUvRXhwYW5kYWJsZS50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1V0aWxpdGllcy9FeHBhbmRhYmxlL0V4cGFuZGFibGUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnR5IH0gZnJvbSBcImNzc3R5cGVcIjtcbmltcG9ydCBpc1Byb3BWYWxpZCBmcm9tIFwiQGVtb3Rpb24vaXMtcHJvcC12YWxpZFwiO1xuaW1wb3J0IHsgdXNlV2luZG93IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VXaW5kb3dcIjtcblxuZXhwb3J0IHR5cGUgRXhwYW5kYWJsZVByb3BzID0ge1xuICAvKiogYGlkYCBjYW4gYmUgcmVmZXJlbmNlZCBieSB0aGUgYnV0dG9uIHRyaWdnZXIncyBhcmlhLWNvbnRyb2xzIGF0dHJpYnV0ZSB0byBlc3RhYmxpc2ggYWNjZXNzaWJpbGl0eSBsaW5rYWdlLiAqL1xuICBpZD86IHN0cmluZztcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIC8qKiBJbnRlcm5hbGx5IG92ZXJmbG93IGlzIHNldCB0byBoaWRkZW4gd2hlbiBjb2xsYXBzZWQuIFVzZSB0aGlzIHByb3AgdG8gcmVzdG9yZSBvdmVyZmxvdyBvbiBleHBhbmQgKi9cbiAgb3ZlcmZsb3c/OiBQcm9wZXJ0eS5PdmVyZmxvdztcbiAgcmVkdWNlTW90aW9uPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEFOSU1BVElPTl9USU1FID0gMjAwO1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8RXhwYW5kYWJsZVByb3BzPj4oXG4gICh7IGlzRXhwYW5kZWQsIHJlZHVjZU1vdGlvbiB9KSA9PiAoe1xuICAgIGRpc3BsYXk6IFwiZ3JpZFwiLFxuICAgIGdyaWRUZW1wbGF0ZVJvd3M6IFwiMGZyXCIsXG5cbiAgICAuLi4oIXJlZHVjZU1vdGlvbiAmJiB7XG4gICAgICB0cmFuc2l0aW9uOiBgJHtBTklNQVRJT05fVElNRX1tcyBncmlkLXRlbXBsYXRlLXJvd3MgY3ViaWMtYmV6aWVyKDAuMCwgMC4wLCAwLjI1LCAxLjApYCxcbiAgICB9KSxcblxuICAgIC4uLihpc0V4cGFuZGVkICYmIHtcbiAgICAgIGdyaWRUZW1wbGF0ZVJvd3M6IFwiMWZyXCIsXG4gICAgfSksXG4gIH0pXG4pO1xuXG50eXBlIFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcyA9IHtcbiAgaXNFeHBhbmRlZDogYm9vbGVhbjtcbn0gJiBQaWNrPEV4cGFuZGFibGVQcm9wcywgXCJvdmVyZmxvd1wiPjtcblxuY29uc3QgU3R5bGVkQ29udGVudENvbnRhaW5lciA9IHN0eWxlZChcImRpdlwiLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT5cbiAgICBpc1Byb3BWYWxpZChwcm9wKSAmJiBwcm9wICE9PSBcIm92ZXJmbG93XCIgJiYgcHJvcCAhPT0gXCJpc0V4cGFuZGVkXCIsXG59KTxTdHlsZWRDb250ZW50Q29udGFpbmVyUHJvcHM+KCh7IGlzRXhwYW5kZWQsIG92ZXJmbG93IH0pID0+ICh7XG4gIG92ZXJmbG93OiBcImhpZGRlblwiLFxuXG4gIC4uLihpc0V4cGFuZGVkICYmIHtcbiAgICBvdmVyZmxvdyxcbiAgfSksXG59KSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBFeHBhbmRhYmxlKHtcbiAgaWQsXG4gIGlzRXhwYW5kZWQsXG4gIGNoaWxkcmVuLFxuICBvdmVyZmxvdyA9IFwidmlzaWJsZVwiLFxuICByZWR1Y2VNb3Rpb24gPSBmYWxzZSxcbiAgLi4uYXJpYUF0dHJpYnV0ZXNcbn06IEV4cGFuZGFibGVQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IFtpc0NvbnRlbnRDb250YWluZXJFeHBhbmRlZCwgc2V0SXNDb250ZW50Q29udGFpbmVyRXhwYW5kZWRdID0gdXNlU3RhdGUoXG4gICAgISFpc0V4cGFuZGVkXG4gICk7XG5cbiAgY29uc3Qgd2luZG93ID0gdXNlV2luZG93KCk7XG4gIGNvbnN0IGlzTW90aW9uUmVkdWNlZCA9XG4gICAgcmVkdWNlTW90aW9uIHx8XG4gICAgd2luZG93Py5tYXRjaE1lZGlhKFwiKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSlcIikubWF0Y2hlcztcblxuICBjb25zdCBoYW5kbGVUcmFuc2l0aW9uRW5kID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChpc0V4cGFuZGVkKSB7XG4gICAgICBzZXRJc0NvbnRlbnRDb250YWluZXJFeHBhbmRlZCh0cnVlKTtcbiAgICB9XG4gIH0sIFtpc0V4cGFuZGVkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNNb3Rpb25SZWR1Y2VkKSB7XG4gICAgICBzZXRJc0NvbnRlbnRDb250YWluZXJFeHBhbmRlZChpc0V4cGFuZGVkKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWlzRXhwYW5kZWQpIHtcbiAgICAgIHNldElzQ29udGVudENvbnRhaW5lckV4cGFuZGVkKGZhbHNlKTtcbiAgICB9XG4gIH0sIFtpc0V4cGFuZGVkLCBpc01vdGlvblJlZHVjZWRdKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDb250YWluZXJcbiAgICAgIG9uVHJhbnNpdGlvbkVuZD17aGFuZGxlVHJhbnNpdGlvbkVuZH1cbiAgICAgIGlzRXhwYW5kZWQ9e2lzRXhwYW5kZWR9XG4gICAgICBkYXRhLWRzLWlkPVwiRXhwYW5kYWJsZVwiXG4gICAgICBpZD17aWR9XG4gICAgICByZWR1Y2VNb3Rpb249e2lzTW90aW9uUmVkdWNlZH1cbiAgICAgIHsuLi5hcmlhQXR0cmlidXRlc31cbiAgICA+XG4gICAgICA8U3R5bGVkQ29udGVudENvbnRhaW5lclxuICAgICAgICBpc0V4cGFuZGVkPXtpc0NvbnRlbnRDb250YWluZXJFeHBhbmRlZH1cbiAgICAgICAgb3ZlcmZsb3c9e292ZXJmbG93fVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1N0eWxlZENvbnRlbnRDb250YWluZXI+XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0J3QiJ9 */"),StyledContentContainer=styled("div",{shouldForwardProp:prop=>isPropValid(prop)&&"overflow"!==prop&&"isExpanded"!==prop,target:"elbd591",label:"StyledContentContainer"})(({isExpanded,overflow})=>({overflow:"hidden",...isExpanded&&{overflow}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVXRpbGl0aWVzL0V4cGFuZGFibGUvRXhwYW5kYWJsZS50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1V0aWxpdGllcy9FeHBhbmRhYmxlL0V4cGFuZGFibGUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnR5IH0gZnJvbSBcImNzc3R5cGVcIjtcbmltcG9ydCBpc1Byb3BWYWxpZCBmcm9tIFwiQGVtb3Rpb24vaXMtcHJvcC12YWxpZFwiO1xuaW1wb3J0IHsgdXNlV2luZG93IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VXaW5kb3dcIjtcblxuZXhwb3J0IHR5cGUgRXhwYW5kYWJsZVByb3BzID0ge1xuICAvKiogYGlkYCBjYW4gYmUgcmVmZXJlbmNlZCBieSB0aGUgYnV0dG9uIHRyaWdnZXIncyBhcmlhLWNvbnRyb2xzIGF0dHJpYnV0ZSB0byBlc3RhYmxpc2ggYWNjZXNzaWJpbGl0eSBsaW5rYWdlLiAqL1xuICBpZD86IHN0cmluZztcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIC8qKiBJbnRlcm5hbGx5IG92ZXJmbG93IGlzIHNldCB0byBoaWRkZW4gd2hlbiBjb2xsYXBzZWQuIFVzZSB0aGlzIHByb3AgdG8gcmVzdG9yZSBvdmVyZmxvdyBvbiBleHBhbmQgKi9cbiAgb3ZlcmZsb3c/OiBQcm9wZXJ0eS5PdmVyZmxvdztcbiAgcmVkdWNlTW90aW9uPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEFOSU1BVElPTl9USU1FID0gMjAwO1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8RXhwYW5kYWJsZVByb3BzPj4oXG4gICh7IGlzRXhwYW5kZWQsIHJlZHVjZU1vdGlvbiB9KSA9PiAoe1xuICAgIGRpc3BsYXk6IFwiZ3JpZFwiLFxuICAgIGdyaWRUZW1wbGF0ZVJvd3M6IFwiMGZyXCIsXG5cbiAgICAuLi4oIXJlZHVjZU1vdGlvbiAmJiB7XG4gICAgICB0cmFuc2l0aW9uOiBgJHtBTklNQVRJT05fVElNRX1tcyBncmlkLXRlbXBsYXRlLXJvd3MgY3ViaWMtYmV6aWVyKDAuMCwgMC4wLCAwLjI1LCAxLjApYCxcbiAgICB9KSxcblxuICAgIC4uLihpc0V4cGFuZGVkICYmIHtcbiAgICAgIGdyaWRUZW1wbGF0ZVJvd3M6IFwiMWZyXCIsXG4gICAgfSksXG4gIH0pXG4pO1xuXG50eXBlIFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcyA9IHtcbiAgaXNFeHBhbmRlZDogYm9vbGVhbjtcbn0gJiBQaWNrPEV4cGFuZGFibGVQcm9wcywgXCJvdmVyZmxvd1wiPjtcblxuY29uc3QgU3R5bGVkQ29udGVudENvbnRhaW5lciA9IHN0eWxlZChcImRpdlwiLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT5cbiAgICBpc1Byb3BWYWxpZChwcm9wKSAmJiBwcm9wICE9PSBcIm92ZXJmbG93XCIgJiYgcHJvcCAhPT0gXCJpc0V4cGFuZGVkXCIsXG59KTxTdHlsZWRDb250ZW50Q29udGFpbmVyUHJvcHM+KCh7IGlzRXhwYW5kZWQsIG92ZXJmbG93IH0pID0+ICh7XG4gIG92ZXJmbG93OiBcImhpZGRlblwiLFxuXG4gIC4uLihpc0V4cGFuZGVkICYmIHtcbiAgICBvdmVyZmxvdyxcbiAgfSksXG59KSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBFeHBhbmRhYmxlKHtcbiAgaWQsXG4gIGlzRXhwYW5kZWQsXG4gIGNoaWxkcmVuLFxuICBvdmVyZmxvdyA9IFwidmlzaWJsZVwiLFxuICByZWR1Y2VNb3Rpb24gPSBmYWxzZSxcbiAgLi4uYXJpYUF0dHJpYnV0ZXNcbn06IEV4cGFuZGFibGVQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IFtpc0NvbnRlbnRDb250YWluZXJFeHBhbmRlZCwgc2V0SXNDb250ZW50Q29udGFpbmVyRXhwYW5kZWRdID0gdXNlU3RhdGUoXG4gICAgISFpc0V4cGFuZGVkXG4gICk7XG5cbiAgY29uc3Qgd2luZG93ID0gdXNlV2luZG93KCk7XG4gIGNvbnN0IGlzTW90aW9uUmVkdWNlZCA9XG4gICAgcmVkdWNlTW90aW9uIHx8XG4gICAgd2luZG93Py5tYXRjaE1lZGlhKFwiKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSlcIikubWF0Y2hlcztcblxuICBjb25zdCBoYW5kbGVUcmFuc2l0aW9uRW5kID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChpc0V4cGFuZGVkKSB7XG4gICAgICBzZXRJc0NvbnRlbnRDb250YWluZXJFeHBhbmRlZCh0cnVlKTtcbiAgICB9XG4gIH0sIFtpc0V4cGFuZGVkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNNb3Rpb25SZWR1Y2VkKSB7XG4gICAgICBzZXRJc0NvbnRlbnRDb250YWluZXJFeHBhbmRlZChpc0V4cGFuZGVkKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWlzRXhwYW5kZWQpIHtcbiAgICAgIHNldElzQ29udGVudENvbnRhaW5lckV4cGFuZGVkKGZhbHNlKTtcbiAgICB9XG4gIH0sIFtpc0V4cGFuZGVkLCBpc01vdGlvblJlZHVjZWRdKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDb250YWluZXJcbiAgICAgIG9uVHJhbnNpdGlvbkVuZD17aGFuZGxlVHJhbnNpdGlvbkVuZH1cbiAgICAgIGlzRXhwYW5kZWQ9e2lzRXhwYW5kZWR9XG4gICAgICBkYXRhLWRzLWlkPVwiRXhwYW5kYWJsZVwiXG4gICAgICBpZD17aWR9XG4gICAgICByZWR1Y2VNb3Rpb249e2lzTW90aW9uUmVkdWNlZH1cbiAgICAgIHsuLi5hcmlhQXR0cmlidXRlc31cbiAgICA+XG4gICAgICA8U3R5bGVkQ29udGVudENvbnRhaW5lclxuICAgICAgICBpc0V4cGFuZGVkPXtpc0NvbnRlbnRDb250YWluZXJFeHBhbmRlZH1cbiAgICAgICAgb3ZlcmZsb3c9e292ZXJmbG93fVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1N0eWxlZENvbnRlbnRDb250YWluZXI+XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUMrQiJ9 */");export function Expandable({id,isExpanded,children,overflow="visible",reduceMotion=!1,...ariaAttributes}){let[isContentContainerExpanded,setIsContentContainerExpanded]=useState(!!isExpanded),window=useWindow(),isMotionReduced=reduceMotion||window?.matchMedia("(prefers-reduced-motion: reduce)").matches,handleTransitionEnd=useCallback(()=>{isExpanded&&setIsContentContainerExpanded(!0)},[isExpanded]);return useEffect(()=>{if(isMotionReduced)return void setIsContentContainerExpanded(isExpanded);isExpanded||setIsContentContainerExpanded(!1)},[isExpanded,isMotionReduced]),React.createElement(StyledContainer,{onTransitionEnd:handleTransitionEnd,isExpanded:isExpanded,"data-ds-id":"Expandable",id:id,reduceMotion:isMotionReduced,...ariaAttributes},React.createElement(StyledContentContainer,{isExpanded:isContentContainerExpanded,overflow:overflow},children))}
1
+ import React,{useCallback,useEffect,useState}from"react";import styled from"@emotion/styled";import isPropValid from"@emotion/is-prop-valid";import{useWindow}from"../../../shared/useWindow";import{prefersReducedMotion}from"../../../shared/prefersReducedMotion";let StyledContainer=styled("div",{target:"e1snlbi30",label:"StyledContainer"})(({isExpanded,reduceMotion})=>({display:"grid",gridTemplateRows:"0fr",...!reduceMotion&&{transition:"200ms grid-template-rows cubic-bezier(0.0, 0.0, 0.25, 1.0)"},...isExpanded&&{gridTemplateRows:"1fr"}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVXRpbGl0aWVzL0V4cGFuZGFibGUvRXhwYW5kYWJsZS50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1V0aWxpdGllcy9FeHBhbmRhYmxlL0V4cGFuZGFibGUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnR5IH0gZnJvbSBcImNzc3R5cGVcIjtcbmltcG9ydCBpc1Byb3BWYWxpZCBmcm9tIFwiQGVtb3Rpb24vaXMtcHJvcC12YWxpZFwiO1xuaW1wb3J0IHsgdXNlV2luZG93IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VXaW5kb3dcIjtcbmltcG9ydCB7IHByZWZlcnNSZWR1Y2VkTW90aW9uIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9wcmVmZXJzUmVkdWNlZE1vdGlvblwiO1xuXG5leHBvcnQgdHlwZSBFeHBhbmRhYmxlUHJvcHMgPSB7XG4gIC8qKiBgaWRgIGNhbiBiZSByZWZlcmVuY2VkIGJ5IHRoZSBidXR0b24gdHJpZ2dlcidzIGFyaWEtY29udHJvbHMgYXR0cmlidXRlIHRvIGVzdGFibGlzaCBhY2Nlc3NpYmlsaXR5IGxpbmthZ2UuICovXG4gIGlkPzogc3RyaW5nO1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICBpc0V4cGFuZGVkPzogYm9vbGVhbjtcbiAgLyoqIEludGVybmFsbHkgb3ZlcmZsb3cgaXMgc2V0IHRvIGhpZGRlbiB3aGVuIGNvbGxhcHNlZC4gVXNlIHRoaXMgcHJvcCB0byByZXN0b3JlIG92ZXJmbG93IG9uIGV4cGFuZCAqL1xuICBvdmVyZmxvdz86IFByb3BlcnR5Lk92ZXJmbG93O1xuICByZWR1Y2VNb3Rpb24/OiBib29sZWFuO1xufTtcblxuY29uc3QgQU5JTUFUSU9OX1RJTUUgPSAyMDA7XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXY8UGFydGlhbDxFeHBhbmRhYmxlUHJvcHM+PihcbiAgKHsgaXNFeHBhbmRlZCwgcmVkdWNlTW90aW9uIH0pID0+ICh7XG4gICAgZGlzcGxheTogXCJncmlkXCIsXG4gICAgZ3JpZFRlbXBsYXRlUm93czogXCIwZnJcIixcblxuICAgIC4uLighcmVkdWNlTW90aW9uICYmIHtcbiAgICAgIHRyYW5zaXRpb246IGAke0FOSU1BVElPTl9USU1FfW1zIGdyaWQtdGVtcGxhdGUtcm93cyBjdWJpYy1iZXppZXIoMC4wLCAwLjAsIDAuMjUsIDEuMClgLFxuICAgIH0pLFxuXG4gICAgLi4uKGlzRXhwYW5kZWQgJiYge1xuICAgICAgZ3JpZFRlbXBsYXRlUm93czogXCIxZnJcIixcbiAgICB9KSxcbiAgfSlcbik7XG5cbnR5cGUgU3R5bGVkQ29udGVudENvbnRhaW5lclByb3BzID0ge1xuICBpc0V4cGFuZGVkOiBib29sZWFuO1xufSAmIFBpY2s8RXhwYW5kYWJsZVByb3BzLCBcIm92ZXJmbG93XCI+O1xuXG5jb25zdCBTdHlsZWRDb250ZW50Q29udGFpbmVyID0gc3R5bGVkKFwiZGl2XCIsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PlxuICAgIGlzUHJvcFZhbGlkKHByb3ApICYmIHByb3AgIT09IFwib3ZlcmZsb3dcIiAmJiBwcm9wICE9PSBcImlzRXhwYW5kZWRcIixcbn0pPFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcz4oKHsgaXNFeHBhbmRlZCwgb3ZlcmZsb3cgfSkgPT4gKHtcbiAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG5cbiAgLi4uKGlzRXhwYW5kZWQgJiYge1xuICAgIG92ZXJmbG93LFxuICB9KSxcbn0pKTtcblxuZXhwb3J0IGZ1bmN0aW9uIEV4cGFuZGFibGUoe1xuICBpZCxcbiAgaXNFeHBhbmRlZCxcbiAgY2hpbGRyZW4sXG4gIG92ZXJmbG93ID0gXCJ2aXNpYmxlXCIsXG4gIHJlZHVjZU1vdGlvbiA9IGZhbHNlLFxuICAuLi5hcmlhQXR0cmlidXRlc1xufTogRXhwYW5kYWJsZVByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgW2lzQ29udGVudENvbnRhaW5lckV4cGFuZGVkLCBzZXRJc0NvbnRlbnRDb250YWluZXJFeHBhbmRlZF0gPSB1c2VTdGF0ZShcbiAgICAhIWlzRXhwYW5kZWRcbiAgKTtcblxuICBjb25zdCB3aW5kb3cgPSB1c2VXaW5kb3coKTtcbiAgY29uc3QgaXNNb3Rpb25SZWR1Y2VkID0gcmVkdWNlTW90aW9uIHx8IHByZWZlcnNSZWR1Y2VkTW90aW9uKHdpbmRvdyk7XG5cbiAgY29uc3QgaGFuZGxlVHJhbnNpdGlvbkVuZCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoaXNFeHBhbmRlZCkge1xuICAgICAgc2V0SXNDb250ZW50Q29udGFpbmVyRXhwYW5kZWQodHJ1ZSk7XG4gICAgfVxuICB9LCBbaXNFeHBhbmRlZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzTW90aW9uUmVkdWNlZCkge1xuICAgICAgc2V0SXNDb250ZW50Q29udGFpbmVyRXhwYW5kZWQoaXNFeHBhbmRlZCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFpc0V4cGFuZGVkKSB7XG4gICAgICBzZXRJc0NvbnRlbnRDb250YWluZXJFeHBhbmRlZChmYWxzZSk7XG4gICAgfVxuICB9LCBbaXNFeHBhbmRlZCwgaXNNb3Rpb25SZWR1Y2VkXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICBvblRyYW5zaXRpb25FbmQ9e2hhbmRsZVRyYW5zaXRpb25FbmR9XG4gICAgICBpc0V4cGFuZGVkPXtpc0V4cGFuZGVkfVxuICAgICAgZGF0YS1kcy1pZD1cIkV4cGFuZGFibGVcIlxuICAgICAgaWQ9e2lkfVxuICAgICAgcmVkdWNlTW90aW9uPXtpc01vdGlvblJlZHVjZWR9XG4gICAgICB7Li4uYXJpYUF0dHJpYnV0ZXN9XG4gICAgPlxuICAgICAgPFN0eWxlZENvbnRlbnRDb250YWluZXJcbiAgICAgICAgaXNFeHBhbmRlZD17aXNDb250ZW50Q29udGFpbmVyRXhwYW5kZWR9XG4gICAgICAgIG92ZXJmbG93PXtvdmVyZmxvd31cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9TdHlsZWRDb250ZW50Q29udGFpbmVyPlxuICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICApO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1Cd0IifQ== */"),StyledContentContainer=styled("div",{shouldForwardProp:prop=>isPropValid(prop)&&"overflow"!==prop&&"isExpanded"!==prop,target:"e1snlbi31",label:"StyledContentContainer"})(({isExpanded,overflow})=>({overflow:"hidden",...isExpanded&&{overflow}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVXRpbGl0aWVzL0V4cGFuZGFibGUvRXhwYW5kYWJsZS50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1V0aWxpdGllcy9FeHBhbmRhYmxlL0V4cGFuZGFibGUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnR5IH0gZnJvbSBcImNzc3R5cGVcIjtcbmltcG9ydCBpc1Byb3BWYWxpZCBmcm9tIFwiQGVtb3Rpb24vaXMtcHJvcC12YWxpZFwiO1xuaW1wb3J0IHsgdXNlV2luZG93IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VXaW5kb3dcIjtcbmltcG9ydCB7IHByZWZlcnNSZWR1Y2VkTW90aW9uIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9wcmVmZXJzUmVkdWNlZE1vdGlvblwiO1xuXG5leHBvcnQgdHlwZSBFeHBhbmRhYmxlUHJvcHMgPSB7XG4gIC8qKiBgaWRgIGNhbiBiZSByZWZlcmVuY2VkIGJ5IHRoZSBidXR0b24gdHJpZ2dlcidzIGFyaWEtY29udHJvbHMgYXR0cmlidXRlIHRvIGVzdGFibGlzaCBhY2Nlc3NpYmlsaXR5IGxpbmthZ2UuICovXG4gIGlkPzogc3RyaW5nO1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICBpc0V4cGFuZGVkPzogYm9vbGVhbjtcbiAgLyoqIEludGVybmFsbHkgb3ZlcmZsb3cgaXMgc2V0IHRvIGhpZGRlbiB3aGVuIGNvbGxhcHNlZC4gVXNlIHRoaXMgcHJvcCB0byByZXN0b3JlIG92ZXJmbG93IG9uIGV4cGFuZCAqL1xuICBvdmVyZmxvdz86IFByb3BlcnR5Lk92ZXJmbG93O1xuICByZWR1Y2VNb3Rpb24/OiBib29sZWFuO1xufTtcblxuY29uc3QgQU5JTUFUSU9OX1RJTUUgPSAyMDA7XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXY8UGFydGlhbDxFeHBhbmRhYmxlUHJvcHM+PihcbiAgKHsgaXNFeHBhbmRlZCwgcmVkdWNlTW90aW9uIH0pID0+ICh7XG4gICAgZGlzcGxheTogXCJncmlkXCIsXG4gICAgZ3JpZFRlbXBsYXRlUm93czogXCIwZnJcIixcblxuICAgIC4uLighcmVkdWNlTW90aW9uICYmIHtcbiAgICAgIHRyYW5zaXRpb246IGAke0FOSU1BVElPTl9USU1FfW1zIGdyaWQtdGVtcGxhdGUtcm93cyBjdWJpYy1iZXppZXIoMC4wLCAwLjAsIDAuMjUsIDEuMClgLFxuICAgIH0pLFxuXG4gICAgLi4uKGlzRXhwYW5kZWQgJiYge1xuICAgICAgZ3JpZFRlbXBsYXRlUm93czogXCIxZnJcIixcbiAgICB9KSxcbiAgfSlcbik7XG5cbnR5cGUgU3R5bGVkQ29udGVudENvbnRhaW5lclByb3BzID0ge1xuICBpc0V4cGFuZGVkOiBib29sZWFuO1xufSAmIFBpY2s8RXhwYW5kYWJsZVByb3BzLCBcIm92ZXJmbG93XCI+O1xuXG5jb25zdCBTdHlsZWRDb250ZW50Q29udGFpbmVyID0gc3R5bGVkKFwiZGl2XCIsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PlxuICAgIGlzUHJvcFZhbGlkKHByb3ApICYmIHByb3AgIT09IFwib3ZlcmZsb3dcIiAmJiBwcm9wICE9PSBcImlzRXhwYW5kZWRcIixcbn0pPFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcz4oKHsgaXNFeHBhbmRlZCwgb3ZlcmZsb3cgfSkgPT4gKHtcbiAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG5cbiAgLi4uKGlzRXhwYW5kZWQgJiYge1xuICAgIG92ZXJmbG93LFxuICB9KSxcbn0pKTtcblxuZXhwb3J0IGZ1bmN0aW9uIEV4cGFuZGFibGUoe1xuICBpZCxcbiAgaXNFeHBhbmRlZCxcbiAgY2hpbGRyZW4sXG4gIG92ZXJmbG93ID0gXCJ2aXNpYmxlXCIsXG4gIHJlZHVjZU1vdGlvbiA9IGZhbHNlLFxuICAuLi5hcmlhQXR0cmlidXRlc1xufTogRXhwYW5kYWJsZVByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgW2lzQ29udGVudENvbnRhaW5lckV4cGFuZGVkLCBzZXRJc0NvbnRlbnRDb250YWluZXJFeHBhbmRlZF0gPSB1c2VTdGF0ZShcbiAgICAhIWlzRXhwYW5kZWRcbiAgKTtcblxuICBjb25zdCB3aW5kb3cgPSB1c2VXaW5kb3coKTtcbiAgY29uc3QgaXNNb3Rpb25SZWR1Y2VkID0gcmVkdWNlTW90aW9uIHx8IHByZWZlcnNSZWR1Y2VkTW90aW9uKHdpbmRvdyk7XG5cbiAgY29uc3QgaGFuZGxlVHJhbnNpdGlvbkVuZCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoaXNFeHBhbmRlZCkge1xuICAgICAgc2V0SXNDb250ZW50Q29udGFpbmVyRXhwYW5kZWQodHJ1ZSk7XG4gICAgfVxuICB9LCBbaXNFeHBhbmRlZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzTW90aW9uUmVkdWNlZCkge1xuICAgICAgc2V0SXNDb250ZW50Q29udGFpbmVyRXhwYW5kZWQoaXNFeHBhbmRlZCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFpc0V4cGFuZGVkKSB7XG4gICAgICBzZXRJc0NvbnRlbnRDb250YWluZXJFeHBhbmRlZChmYWxzZSk7XG4gICAgfVxuICB9LCBbaXNFeHBhbmRlZCwgaXNNb3Rpb25SZWR1Y2VkXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICBvblRyYW5zaXRpb25FbmQ9e2hhbmRsZVRyYW5zaXRpb25FbmR9XG4gICAgICBpc0V4cGFuZGVkPXtpc0V4cGFuZGVkfVxuICAgICAgZGF0YS1kcy1pZD1cIkV4cGFuZGFibGVcIlxuICAgICAgaWQ9e2lkfVxuICAgICAgcmVkdWNlTW90aW9uPXtpc01vdGlvblJlZHVjZWR9XG4gICAgICB7Li4uYXJpYUF0dHJpYnV0ZXN9XG4gICAgPlxuICAgICAgPFN0eWxlZENvbnRlbnRDb250YWluZXJcbiAgICAgICAgaXNFeHBhbmRlZD17aXNDb250ZW50Q29udGFpbmVyRXhwYW5kZWR9XG4gICAgICAgIG92ZXJmbG93PXtvdmVyZmxvd31cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9TdHlsZWRDb250ZW50Q29udGFpbmVyPlxuICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICApO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNDK0IifQ== */");export function Expandable({id,isExpanded,children,overflow="visible",reduceMotion=!1,...ariaAttributes}){let[isContentContainerExpanded,setIsContentContainerExpanded]=useState(!!isExpanded),window=useWindow(),isMotionReduced=reduceMotion||prefersReducedMotion(window),handleTransitionEnd=useCallback(()=>{isExpanded&&setIsContentContainerExpanded(!0)},[isExpanded]);return useEffect(()=>{if(isMotionReduced)return void setIsContentContainerExpanded(isExpanded);isExpanded||setIsContentContainerExpanded(!1)},[isExpanded,isMotionReduced]),React.createElement(StyledContainer,{onTransitionEnd:handleTransitionEnd,isExpanded:isExpanded,"data-ds-id":"Expandable",id:id,reduceMotion:isMotionReduced,...ariaAttributes},React.createElement(StyledContentContainer,{isExpanded:isContentContainerExpanded,overflow:overflow},children))}
@@ -1 +1 @@
1
- import{useLayoutEffect,useMemo}from"react";import{useFloating,autoUpdate,offset as offsetMiddleware,flip as flipMiddleware,shift as shiftMiddleware}from"@floating-ui/react-dom";import{useWindow}from"../../../shared/useWindow";import{useDocument}from"../../../shared/useDocument";import{axesToViewportPlacement,getViewportReferenceRect,viewportToFloatingPlacement}from"./utils";export function useFloatingPosition(props){let{isOpen=!0}=props,isViewportMode="viewport"===props.mode,window=useWindow(),document=useDocument(),{anchorPlacement,viewportPlacement,anchorOffset,viewportOffset,flipEnabled,shiftEnabled,anchorRef}="viewport"===props.mode?{anchorPlacement:void 0,viewportPlacement:axesToViewportPlacement(props.positionY,props.positionX),anchorOffset:0,viewportOffset:props.offset??0,flipEnabled:!1,shiftEnabled:!1,anchorRef:null}:{anchorPlacement:props.placement??"bottom",viewportPlacement:void 0,anchorOffset:props.offset??0,viewportOffset:0,flipEnabled:!1!==props.flip,shiftEnabled:!1!==props.shift,anchorRef:props.anchorRef??null},middleware=useMemo(()=>isViewportMode?[]:[offsetMiddleware(anchorOffset),...flipEnabled?[flipMiddleware()]:[],...shiftEnabled?[shiftMiddleware({padding:8})]:[]],[isViewportMode,anchorOffset,flipEnabled,shiftEnabled]),virtualReference=useMemo(()=>viewportPlacement?{getBoundingClientRect:()=>getViewportReferenceRect(viewportPlacement,document&&document.documentElement.clientWidth||window&&window.innerWidth||0,window&&window.innerHeight||document&&document.documentElement.clientHeight||0,viewportOffset)}:null,[viewportPlacement,viewportOffset,window,document]),{refs,floatingStyles,placement,strategy,isPositioned,update}=useFloating({open:isOpen,strategy:isViewportMode?"fixed":"absolute",placement:viewportPlacement?viewportToFloatingPlacement(viewportPlacement):anchorPlacement,middleware,whileElementsMounted:isOpen?autoUpdate:void 0});return useLayoutEffect(()=>{virtualReference?refs.setReference(virtualReference):anchorRef&&refs.setReference(anchorRef.current)},[virtualReference,anchorRef,refs,isOpen]),{setFloating:refs.setFloating,floatingStyles,placement,strategy,isPositioned,update}}
1
+ import{useMemo}from"react";import{useFloating,autoUpdate,offset as offsetMiddleware,flip as flipMiddleware,shift as shiftMiddleware}from"@floating-ui/react-dom";import{useIsomorphicLayoutEffect}from"../../../shared/useIsomorphicLayoutEffect";import{useWindow}from"../../../shared/useWindow";import{useDocument}from"../../../shared/useDocument";import{axesToViewportPlacement,getViewportReferenceRect,viewportToFloatingPlacement}from"./utils";export function useFloatingPosition(props){let{isOpen=!0}=props,isViewportMode="viewport"===props.mode,window=useWindow(),document=useDocument(),{anchorPlacement,viewportPlacement,anchorOffset,viewportOffset,flipEnabled,shiftEnabled,anchorRef}="viewport"===props.mode?{anchorPlacement:void 0,viewportPlacement:axesToViewportPlacement(props.positionY,props.positionX),anchorOffset:0,viewportOffset:props.offset??0,flipEnabled:!1,shiftEnabled:!1,anchorRef:null}:{anchorPlacement:props.placement??"bottom",viewportPlacement:void 0,anchorOffset:props.offset??0,viewportOffset:0,flipEnabled:!1!==props.flip,shiftEnabled:!1!==props.shift,anchorRef:props.anchorRef??null},middleware=useMemo(()=>isViewportMode?[]:[offsetMiddleware(anchorOffset),...flipEnabled?[flipMiddleware()]:[],...shiftEnabled?[shiftMiddleware({padding:8})]:[]],[isViewportMode,anchorOffset,flipEnabled,shiftEnabled]),virtualReference=useMemo(()=>viewportPlacement?{getBoundingClientRect:()=>getViewportReferenceRect(viewportPlacement,document&&document.documentElement.clientWidth||window&&window.innerWidth||0,window&&window.innerHeight||document&&document.documentElement.clientHeight||0,viewportOffset)}:null,[viewportPlacement,viewportOffset,window,document]),{refs,floatingStyles,placement,strategy,isPositioned,update}=useFloating({open:isOpen,strategy:isViewportMode?"fixed":"absolute",placement:viewportPlacement?viewportToFloatingPlacement(viewportPlacement):anchorPlacement,middleware,whileElementsMounted:isOpen?autoUpdate:void 0});return useIsomorphicLayoutEffect(()=>{virtualReference?refs.setReference(virtualReference):anchorRef&&refs.setReference(anchorRef.current)},[virtualReference,anchorRef,refs,isOpen]),{setFloating:refs.setFloating,floatingStyles,placement,strategy,isPositioned,update}}
@@ -1 +1 @@
1
- import styled from"@emotion/styled";import React,{useRef,useReducer,useLayoutEffect,useEffect}from"react";import{VirtualScrollReducer}from"./VirtualScrollListReducer";let StyledContainer=styled("div",{target:"e1727xf20",label:"StyledContainer"})(({maxHeight})=>({overflow:"auto",width:"100%",height:"100%",maxHeight}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVmlydHVhbFNjcm9sbExpc3QvVmlydHVhbFNjcm9sbExpc3QudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VSZWR1Y2VyLCB1c2VMYXlvdXRFZmZlY3QsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsUmVkdWNlciB9IGZyb20gXCIuL1ZpcnR1YWxTY3JvbGxMaXN0UmVkdWNlclwiO1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8VmlydHVhbFNjcm9sbExpc3RQcm9wcz4+KFxuICAoeyBtYXhIZWlnaHQgfSkgPT4gKHtcbiAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgbWF4SGVpZ2h0LFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkU2Nyb2xsYWJsZUNvbnRlbnQgPSBzdHlsZWQuZGl2PHsgbWF4Q29udGVudEhlaWdodDogbnVtYmVyIH0+KFxuICAoeyBtYXhDb250ZW50SGVpZ2h0IH0pID0+ICh7XG4gICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICBoZWlnaHQ6IG1heENvbnRlbnRIZWlnaHQsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBWaXJ0dWFsU2Nyb2xsTGlzdFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgaWQ6IHN0cmluZztcbiAgbWF4SGVpZ2h0OiBudW1iZXI7XG4gIC8qKiBpbml0aWFsIGVzdGltYXRlIGZvciB2aXJ0dWFsIHNjcm9sbGluZyBjYWxjdWxhdGlvbnMsIGhlbHBzIGVzdGltYXRlIGhvdyBtYW55XG4gICAqIGl0ZW1zIGZpdCBpbiB0aGUgdmlld3BvcnQgYmVmb3JlIHJlYWwgbWVhc3VyZW1lbnRzLlxuICAgKi9cbiAgaXRlbUhlaWdodDogbnVtYmVyO1xuICBpdGVtQW1vdW50OiBudW1iZXI7XG4gIGVtcHR5U3RhdGU/OiAoKSA9PiBSZWFjdC5SZWFjdE5vZGU7XG4gIGl0ZW1JblZpZXc6IG51bWJlcjtcbiAgaXRlbVRlbXBsYXRlOiAoaW5kZXg6IG51bWJlcikgPT4gUmVhY3QuUmVhY3ROb2RlO1xuICBjb250YWluZXJTdHlsZT86IFJlYWN0LkNTU1Byb3BlcnRpZXM7XG4gIG9uQ29udGVudEhlaWdodENoYW5nZT86ICgpID0+IHZvaWQ7XG4gIHJvbGU/OiBSZWFjdC5BcmlhUm9sZTtcbn07XG5cbmNvbnN0IG92ZXJzY2FuID0gMTA7XG5cbmV4cG9ydCBmdW5jdGlvbiBWaXJ0dWFsU2Nyb2xsTGlzdCh7XG4gIGlkLFxuICBtYXhIZWlnaHQsXG4gIGl0ZW1IZWlnaHQsXG4gIGl0ZW1BbW91bnQsXG4gIGVtcHR5U3RhdGUgPSAoKSA9PiBudWxsLFxuICBpdGVtSW5WaWV3LFxuICBpdGVtVGVtcGxhdGUsXG4gIGNvbnRhaW5lclN0eWxlLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbiAgb25Db250ZW50SGVpZ2h0Q2hhbmdlLFxuICByb2xlLFxuICAuLi5hcmlhQXR0cmlidXRlc1xufTogVmlydHVhbFNjcm9sbExpc3RQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IHNjcm9sbGFibGVDb250YWluZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHZpZXdwb3J0UmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBhZGp1c3RlZEZvclJlZmxvdyA9IHVzZVJlZihmYWxzZSk7XG5cbiAgY29uc3QgW1xuICAgIHtcbiAgICAgIHNjcm9sbGVkSXRlbUNvdW50LFxuICAgICAgYW1vdW50T2ZJdGVtc0luVmlldyxcbiAgICAgIHNjcm9sbGVkSW5QeCxcbiAgICAgIG1heENvbnRlbnRIZWlnaHQgPSBtYXhIZWlnaHQsXG4gICAgICByZWNvbW1lbmRlZFNjcm9sbFBvc2l0aW9uLFxuICAgIH0sXG4gICAgZGlzcGF0Y2gsXG4gIF0gPSB1c2VSZWR1Y2VyKFZpcnR1YWxTY3JvbGxSZWR1Y2VyLCB7fSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaCh7IHR5cGU6IFwicmVzZXRcIiwgaXRlbUhlaWdodCwgbWF4SGVpZ2h0LCBvdmVyc2NhbiB9KTtcbiAgICBzY3JvbGxhYmxlQ29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wID0gMDtcbiAgfSwgW2l0ZW1IZWlnaHQsIGl0ZW1BbW91bnQsIG1heEhlaWdodF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goe1xuICAgICAgdHlwZTogXCJyZWNvbW1lbmRTY3JvbGxQb3NpdGlvblwiLFxuICAgICAgc2Nyb2xsVG9wOiBzY3JvbGxhYmxlQ29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wLFxuICAgICAgaXRlbVRvQmVJblZpZXc6IGl0ZW1JblZpZXcsXG4gICAgfSk7XG4gIH0sIFtpdGVtSW5WaWV3XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocmVjb21tZW5kZWRTY3JvbGxQb3NpdGlvbiA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgc2Nyb2xsYWJsZUNvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9IHJlY29tbWVuZGVkU2Nyb2xsUG9zaXRpb247XG4gIH0sIFtyZWNvbW1lbmRlZFNjcm9sbFBvc2l0aW9uXSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXZpZXdwb3J0UmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IFwidXBkYXRlVmlld3BvcnRcIixcbiAgICAgIHZpZXdwb3J0Tm9kZTogdmlld3BvcnRSZWYuY3VycmVudCxcbiAgICAgIGl0ZW1BbW91bnQsXG4gICAgfSk7XG4gIH0sIFtpdGVtQW1vdW50LCBzY3JvbGxlZEl0ZW1Db3VudF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgb25Db250ZW50SGVpZ2h0Q2hhbmdlPy4oKTtcbiAgfSwgW21heENvbnRlbnRIZWlnaHQsIG9uQ29udGVudEhlaWdodENoYW5nZV0pO1xuXG4gIGNvbnN0IGl0ZW1Db3VudFRvQmVSZW5kZXJlZCA9IE1hdGgubWluKFxuICAgIE1hdGgubWF4KDAsIGl0ZW1BbW91bnQgLSBzY3JvbGxlZEl0ZW1Db3VudCksXG4gICAgYW1vdW50T2ZJdGVtc0luVmlld1xuICApO1xuXG4gIC8qIFNvbWV0aW1lcywgb3B0aW9uIHRleHQgY2FuIHJlZmxvdyBkdWUgdGhlIGFwcGVhcmFuY2Ugb2YgdmVydGljYWwgc2Nyb2xsYmFyIHdoaWNoIGNhbiBjYXVzZSB0ZXh0IHRvIHdyYXAgdG8gbXVsdGlwbGUgbGluZXMgY2F1c2luZyB2aWV3cG9ydFJlZiBoZWlnaHQgdG8gY2hhbmdlLiBJZiBjb250YWluZXIgaGFzIHNjcm9sbCB0aGVuIHdlIGRpc3BhdGNoIGB1cGRhdGVWaWV3cG9ydGAgb25lIG1vcmUgdGltZSB0byBnZXQgdGhlIGNvcnJlY3QgaGVpZ2h0LCB3aXRoIGEgc2V0VGltZW91dCB0byBhbGxvdyB0aW1lIGZvciByZWZsb3cuXG4gICAqL1xuICBpZiAoXG4gICAgbWF4Q29udGVudEhlaWdodCA+IG1heEhlaWdodCAmJlxuICAgICFhZGp1c3RlZEZvclJlZmxvdy5jdXJyZW50ICYmXG4gICAgdmlld3BvcnRSZWYuY3VycmVudFxuICApIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgdHlwZTogXCJ1cGRhdGVWaWV3cG9ydFwiLFxuICAgICAgICB2aWV3cG9ydE5vZGU6IHZpZXdwb3J0UmVmLmN1cnJlbnQsXG4gICAgICAgIGl0ZW1BbW91bnQsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBhZGp1c3RlZEZvclJlZmxvdy5jdXJyZW50ID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgcmVmPXtzY3JvbGxhYmxlQ29udGFpbmVyUmVmfVxuICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICBzdHlsZT17e1xuICAgICAgICBtYXhIZWlnaHQsXG4gICAgICAgIC4uLmNvbnRhaW5lclN0eWxlLFxuICAgICAgfX1cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICBkYXRhLWRzLWlkPVwiVmlydHVhbFNjcm9sbExpc3RcIlxuICAgICAgb25TY3JvbGw9eyhlOiBSZWFjdC5VSUV2ZW50PEhUTUxFbGVtZW50PikgPT4ge1xuICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogXCJzY3JvbGxcIixcbiAgICAgICAgICBzY3JvbGxUb3A6IGUuY3VycmVudFRhcmdldC5zY3JvbGxUb3AsXG4gICAgICAgIH0pO1xuICAgICAgfX1cbiAgICA+XG4gICAgICB7aXRlbUFtb3VudCA9PT0gMCA/IChcbiAgICAgICAgZW1wdHlTdGF0ZSgpXG4gICAgICApIDogKFxuICAgICAgICA8U3R5bGVkU2Nyb2xsYWJsZUNvbnRlbnQgbWF4Q29udGVudEhlaWdodD17bWF4Q29udGVudEhlaWdodH0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgcmVmPXt2aWV3cG9ydFJlZn1cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtzY3JvbGxlZEluUHh9cHhgLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHJvbGU9e3JvbGV9XG4gICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICB7Li4uYXJpYUF0dHJpYnV0ZXN9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgeyEhaXRlbUNvdW50VG9CZVJlbmRlcmVkICYmXG4gICAgICAgICAgICAgIG5ldyBBcnJheShpdGVtQ291bnRUb0JlUmVuZGVyZWQpXG4gICAgICAgICAgICAgICAgLmZpbGwoMClcbiAgICAgICAgICAgICAgICAubWFwKChfLCBpbmRleCkgPT4gaXRlbVRlbXBsYXRlKHNjcm9sbGVkSXRlbUNvdW50ICsgaW5kZXgpKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9TdHlsZWRTY3JvbGxhYmxlQ29udGVudD5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS3dCIn0= */"),StyledScrollableContent=styled("div",{target:"e1727xf21",label:"StyledScrollableContent"})(({maxContentHeight})=>({overflow:"hidden",boxSizing:"border-box",height:maxContentHeight}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVmlydHVhbFNjcm9sbExpc3QvVmlydHVhbFNjcm9sbExpc3QudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VSZWR1Y2VyLCB1c2VMYXlvdXRFZmZlY3QsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsUmVkdWNlciB9IGZyb20gXCIuL1ZpcnR1YWxTY3JvbGxMaXN0UmVkdWNlclwiO1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8VmlydHVhbFNjcm9sbExpc3RQcm9wcz4+KFxuICAoeyBtYXhIZWlnaHQgfSkgPT4gKHtcbiAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgbWF4SGVpZ2h0LFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkU2Nyb2xsYWJsZUNvbnRlbnQgPSBzdHlsZWQuZGl2PHsgbWF4Q29udGVudEhlaWdodDogbnVtYmVyIH0+KFxuICAoeyBtYXhDb250ZW50SGVpZ2h0IH0pID0+ICh7XG4gICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICBoZWlnaHQ6IG1heENvbnRlbnRIZWlnaHQsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBWaXJ0dWFsU2Nyb2xsTGlzdFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgaWQ6IHN0cmluZztcbiAgbWF4SGVpZ2h0OiBudW1iZXI7XG4gIC8qKiBpbml0aWFsIGVzdGltYXRlIGZvciB2aXJ0dWFsIHNjcm9sbGluZyBjYWxjdWxhdGlvbnMsIGhlbHBzIGVzdGltYXRlIGhvdyBtYW55XG4gICAqIGl0ZW1zIGZpdCBpbiB0aGUgdmlld3BvcnQgYmVmb3JlIHJlYWwgbWVhc3VyZW1lbnRzLlxuICAgKi9cbiAgaXRlbUhlaWdodDogbnVtYmVyO1xuICBpdGVtQW1vdW50OiBudW1iZXI7XG4gIGVtcHR5U3RhdGU/OiAoKSA9PiBSZWFjdC5SZWFjdE5vZGU7XG4gIGl0ZW1JblZpZXc6IG51bWJlcjtcbiAgaXRlbVRlbXBsYXRlOiAoaW5kZXg6IG51bWJlcikgPT4gUmVhY3QuUmVhY3ROb2RlO1xuICBjb250YWluZXJTdHlsZT86IFJlYWN0LkNTU1Byb3BlcnRpZXM7XG4gIG9uQ29udGVudEhlaWdodENoYW5nZT86ICgpID0+IHZvaWQ7XG4gIHJvbGU/OiBSZWFjdC5BcmlhUm9sZTtcbn07XG5cbmNvbnN0IG92ZXJzY2FuID0gMTA7XG5cbmV4cG9ydCBmdW5jdGlvbiBWaXJ0dWFsU2Nyb2xsTGlzdCh7XG4gIGlkLFxuICBtYXhIZWlnaHQsXG4gIGl0ZW1IZWlnaHQsXG4gIGl0ZW1BbW91bnQsXG4gIGVtcHR5U3RhdGUgPSAoKSA9PiBudWxsLFxuICBpdGVtSW5WaWV3LFxuICBpdGVtVGVtcGxhdGUsXG4gIGNvbnRhaW5lclN0eWxlLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbiAgb25Db250ZW50SGVpZ2h0Q2hhbmdlLFxuICByb2xlLFxuICAuLi5hcmlhQXR0cmlidXRlc1xufTogVmlydHVhbFNjcm9sbExpc3RQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IHNjcm9sbGFibGVDb250YWluZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHZpZXdwb3J0UmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBhZGp1c3RlZEZvclJlZmxvdyA9IHVzZVJlZihmYWxzZSk7XG5cbiAgY29uc3QgW1xuICAgIHtcbiAgICAgIHNjcm9sbGVkSXRlbUNvdW50LFxuICAgICAgYW1vdW50T2ZJdGVtc0luVmlldyxcbiAgICAgIHNjcm9sbGVkSW5QeCxcbiAgICAgIG1heENvbnRlbnRIZWlnaHQgPSBtYXhIZWlnaHQsXG4gICAgICByZWNvbW1lbmRlZFNjcm9sbFBvc2l0aW9uLFxuICAgIH0sXG4gICAgZGlzcGF0Y2gsXG4gIF0gPSB1c2VSZWR1Y2VyKFZpcnR1YWxTY3JvbGxSZWR1Y2VyLCB7fSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaCh7IHR5cGU6IFwicmVzZXRcIiwgaXRlbUhlaWdodCwgbWF4SGVpZ2h0LCBvdmVyc2NhbiB9KTtcbiAgICBzY3JvbGxhYmxlQ29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wID0gMDtcbiAgfSwgW2l0ZW1IZWlnaHQsIGl0ZW1BbW91bnQsIG1heEhlaWdodF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goe1xuICAgICAgdHlwZTogXCJyZWNvbW1lbmRTY3JvbGxQb3NpdGlvblwiLFxuICAgICAgc2Nyb2xsVG9wOiBzY3JvbGxhYmxlQ29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wLFxuICAgICAgaXRlbVRvQmVJblZpZXc6IGl0ZW1JblZpZXcsXG4gICAgfSk7XG4gIH0sIFtpdGVtSW5WaWV3XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocmVjb21tZW5kZWRTY3JvbGxQb3NpdGlvbiA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgc2Nyb2xsYWJsZUNvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9IHJlY29tbWVuZGVkU2Nyb2xsUG9zaXRpb247XG4gIH0sIFtyZWNvbW1lbmRlZFNjcm9sbFBvc2l0aW9uXSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXZpZXdwb3J0UmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IFwidXBkYXRlVmlld3BvcnRcIixcbiAgICAgIHZpZXdwb3J0Tm9kZTogdmlld3BvcnRSZWYuY3VycmVudCxcbiAgICAgIGl0ZW1BbW91bnQsXG4gICAgfSk7XG4gIH0sIFtpdGVtQW1vdW50LCBzY3JvbGxlZEl0ZW1Db3VudF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgb25Db250ZW50SGVpZ2h0Q2hhbmdlPy4oKTtcbiAgfSwgW21heENvbnRlbnRIZWlnaHQsIG9uQ29udGVudEhlaWdodENoYW5nZV0pO1xuXG4gIGNvbnN0IGl0ZW1Db3VudFRvQmVSZW5kZXJlZCA9IE1hdGgubWluKFxuICAgIE1hdGgubWF4KDAsIGl0ZW1BbW91bnQgLSBzY3JvbGxlZEl0ZW1Db3VudCksXG4gICAgYW1vdW50T2ZJdGVtc0luVmlld1xuICApO1xuXG4gIC8qIFNvbWV0aW1lcywgb3B0aW9uIHRleHQgY2FuIHJlZmxvdyBkdWUgdGhlIGFwcGVhcmFuY2Ugb2YgdmVydGljYWwgc2Nyb2xsYmFyIHdoaWNoIGNhbiBjYXVzZSB0ZXh0IHRvIHdyYXAgdG8gbXVsdGlwbGUgbGluZXMgY2F1c2luZyB2aWV3cG9ydFJlZiBoZWlnaHQgdG8gY2hhbmdlLiBJZiBjb250YWluZXIgaGFzIHNjcm9sbCB0aGVuIHdlIGRpc3BhdGNoIGB1cGRhdGVWaWV3cG9ydGAgb25lIG1vcmUgdGltZSB0byBnZXQgdGhlIGNvcnJlY3QgaGVpZ2h0LCB3aXRoIGEgc2V0VGltZW91dCB0byBhbGxvdyB0aW1lIGZvciByZWZsb3cuXG4gICAqL1xuICBpZiAoXG4gICAgbWF4Q29udGVudEhlaWdodCA+IG1heEhlaWdodCAmJlxuICAgICFhZGp1c3RlZEZvclJlZmxvdy5jdXJyZW50ICYmXG4gICAgdmlld3BvcnRSZWYuY3VycmVudFxuICApIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgdHlwZTogXCJ1cGRhdGVWaWV3cG9ydFwiLFxuICAgICAgICB2aWV3cG9ydE5vZGU6IHZpZXdwb3J0UmVmLmN1cnJlbnQsXG4gICAgICAgIGl0ZW1BbW91bnQsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBhZGp1c3RlZEZvclJlZmxvdy5jdXJyZW50ID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgcmVmPXtzY3JvbGxhYmxlQ29udGFpbmVyUmVmfVxuICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICBzdHlsZT17e1xuICAgICAgICBtYXhIZWlnaHQsXG4gICAgICAgIC4uLmNvbnRhaW5lclN0eWxlLFxuICAgICAgfX1cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICBkYXRhLWRzLWlkPVwiVmlydHVhbFNjcm9sbExpc3RcIlxuICAgICAgb25TY3JvbGw9eyhlOiBSZWFjdC5VSUV2ZW50PEhUTUxFbGVtZW50PikgPT4ge1xuICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogXCJzY3JvbGxcIixcbiAgICAgICAgICBzY3JvbGxUb3A6IGUuY3VycmVudFRhcmdldC5zY3JvbGxUb3AsXG4gICAgICAgIH0pO1xuICAgICAgfX1cbiAgICA+XG4gICAgICB7aXRlbUFtb3VudCA9PT0gMCA/IChcbiAgICAgICAgZW1wdHlTdGF0ZSgpXG4gICAgICApIDogKFxuICAgICAgICA8U3R5bGVkU2Nyb2xsYWJsZUNvbnRlbnQgbWF4Q29udGVudEhlaWdodD17bWF4Q29udGVudEhlaWdodH0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgcmVmPXt2aWV3cG9ydFJlZn1cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtzY3JvbGxlZEluUHh9cHhgLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHJvbGU9e3JvbGV9XG4gICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICB7Li4uYXJpYUF0dHJpYnV0ZXN9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgeyEhaXRlbUNvdW50VG9CZVJlbmRlcmVkICYmXG4gICAgICAgICAgICAgIG5ldyBBcnJheShpdGVtQ291bnRUb0JlUmVuZGVyZWQpXG4gICAgICAgICAgICAgICAgLmZpbGwoMClcbiAgICAgICAgICAgICAgICAubWFwKChfLCBpbmRleCkgPT4gaXRlbVRlbXBsYXRlKHNjcm9sbGVkSXRlbUNvdW50ICsgaW5kZXgpKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9TdHlsZWRTY3JvbGxhYmxlQ29udGVudD5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY2dDIn0= */");export function VirtualScrollList({id,maxHeight,itemHeight,itemAmount,emptyState=()=>null,itemInView,itemTemplate,containerStyle,"data-e2e-test-id":dataE2eTestId,onContentHeightChange,role,...ariaAttributes}){let scrollableContainerRef=useRef(null),viewportRef=useRef(null),adjustedForReflow=useRef(!1),[{scrolledItemCount,amountOfItemsInView,scrolledInPx,maxContentHeight=maxHeight,recommendedScrollPosition},dispatch]=useReducer(VirtualScrollReducer,{});useLayoutEffect(()=>{dispatch({type:"reset",itemHeight,maxHeight,overscan:10}),scrollableContainerRef.current.scrollTop=0},[itemHeight,itemAmount,maxHeight]),useEffect(()=>{dispatch({type:"recommendScrollPosition",scrollTop:scrollableContainerRef.current.scrollTop,itemToBeInView:itemInView})},[itemInView]),useEffect(()=>{null!==recommendedScrollPosition&&(scrollableContainerRef.current.scrollTop=recommendedScrollPosition)},[recommendedScrollPosition]),useLayoutEffect(()=>{viewportRef.current&&dispatch({type:"updateViewport",viewportNode:viewportRef.current,itemAmount})},[itemAmount,scrolledItemCount]),useEffect(()=>{onContentHeightChange?.()},[maxContentHeight,onContentHeightChange]);let itemCountToBeRendered=Math.min(Math.max(0,itemAmount-scrolledItemCount),amountOfItemsInView);return maxContentHeight>maxHeight&&!adjustedForReflow.current&&viewportRef.current&&(setTimeout(()=>{dispatch({type:"updateViewport",viewportNode:viewportRef.current,itemAmount})}),adjustedForReflow.current=!0),React.createElement(StyledContainer,{ref:scrollableContainerRef,maxHeight:maxHeight,style:{maxHeight,...containerStyle},"data-e2e-test-id":dataE2eTestId,"data-ds-id":"VirtualScrollList",onScroll:e=>{dispatch({type:"scroll",scrollTop:e.currentTarget.scrollTop})}},0===itemAmount?emptyState():React.createElement(StyledScrollableContent,{maxContentHeight:maxContentHeight},React.createElement("div",{ref:viewportRef,style:{transform:`translateY(${scrolledInPx}px`},role:role,id:id,...ariaAttributes},!!itemCountToBeRendered&&Array(itemCountToBeRendered).fill(0).map((_,index)=>itemTemplate(scrolledItemCount+index)))))}
1
+ import styled from"@emotion/styled";import React,{useRef,useReducer,useEffect}from"react";import{useIsomorphicLayoutEffect}from"../../shared/useIsomorphicLayoutEffect";import{VirtualScrollReducer}from"./VirtualScrollListReducer";let StyledContainer=styled("div",{target:"exth8w40",label:"StyledContainer"})(({maxHeight})=>({overflow:"auto",width:"100%",height:"100%",maxHeight}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVmlydHVhbFNjcm9sbExpc3QvVmlydHVhbFNjcm9sbExpc3QudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VSZWR1Y2VyLCB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3RcIjtcblxuaW1wb3J0IHsgVmlydHVhbFNjcm9sbFJlZHVjZXIgfSBmcm9tIFwiLi9WaXJ0dWFsU2Nyb2xsTGlzdFJlZHVjZXJcIjtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxQYXJ0aWFsPFZpcnR1YWxTY3JvbGxMaXN0UHJvcHM+PihcbiAgKHsgbWF4SGVpZ2h0IH0pID0+ICh7XG4gICAgb3ZlcmZsb3c6IFwiYXV0b1wiLFxuICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgIG1heEhlaWdodCxcbiAgfSlcbik7XG5cbmNvbnN0IFN0eWxlZFNjcm9sbGFibGVDb250ZW50ID0gc3R5bGVkLmRpdjx7IG1heENvbnRlbnRIZWlnaHQ6IG51bWJlciB9PihcbiAgKHsgbWF4Q29udGVudEhlaWdodCB9KSA9PiAoe1xuICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgIGJveFNpemluZzogXCJib3JkZXItYm94XCIsXG4gICAgaGVpZ2h0OiBtYXhDb250ZW50SGVpZ2h0LFxuICB9KVxuKTtcblxuZXhwb3J0IHR5cGUgVmlydHVhbFNjcm9sbExpc3RQcm9wcyA9IHtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIGlkOiBzdHJpbmc7XG4gIG1heEhlaWdodDogbnVtYmVyO1xuICAvKiogaW5pdGlhbCBlc3RpbWF0ZSBmb3IgdmlydHVhbCBzY3JvbGxpbmcgY2FsY3VsYXRpb25zLCBoZWxwcyBlc3RpbWF0ZSBob3cgbWFueVxuICAgKiBpdGVtcyBmaXQgaW4gdGhlIHZpZXdwb3J0IGJlZm9yZSByZWFsIG1lYXN1cmVtZW50cy5cbiAgICovXG4gIGl0ZW1IZWlnaHQ6IG51bWJlcjtcbiAgaXRlbUFtb3VudDogbnVtYmVyO1xuICBlbXB0eVN0YXRlPzogKCkgPT4gUmVhY3QuUmVhY3ROb2RlO1xuICBpdGVtSW5WaWV3OiBudW1iZXI7XG4gIGl0ZW1UZW1wbGF0ZTogKGluZGV4OiBudW1iZXIpID0+IFJlYWN0LlJlYWN0Tm9kZTtcbiAgY29udGFpbmVyU3R5bGU/OiBSZWFjdC5DU1NQcm9wZXJ0aWVzO1xuICBvbkNvbnRlbnRIZWlnaHRDaGFuZ2U/OiAoKSA9PiB2b2lkO1xuICByb2xlPzogUmVhY3QuQXJpYVJvbGU7XG59O1xuXG5jb25zdCBvdmVyc2NhbiA9IDEwO1xuXG5leHBvcnQgZnVuY3Rpb24gVmlydHVhbFNjcm9sbExpc3Qoe1xuICBpZCxcbiAgbWF4SGVpZ2h0LFxuICBpdGVtSGVpZ2h0LFxuICBpdGVtQW1vdW50LFxuICBlbXB0eVN0YXRlID0gKCkgPT4gbnVsbCxcbiAgaXRlbUluVmlldyxcbiAgaXRlbVRlbXBsYXRlLFxuICBjb250YWluZXJTdHlsZSxcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gIG9uQ29udGVudEhlaWdodENoYW5nZSxcbiAgcm9sZSxcbiAgLi4uYXJpYUF0dHJpYnV0ZXNcbn06IFZpcnR1YWxTY3JvbGxMaXN0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBzY3JvbGxhYmxlQ29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCB2aWV3cG9ydFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgYWRqdXN0ZWRGb3JSZWZsb3cgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIGNvbnN0IFtcbiAgICB7XG4gICAgICBzY3JvbGxlZEl0ZW1Db3VudCxcbiAgICAgIGFtb3VudE9mSXRlbXNJblZpZXcsXG4gICAgICBzY3JvbGxlZEluUHgsXG4gICAgICBtYXhDb250ZW50SGVpZ2h0ID0gbWF4SGVpZ2h0LFxuICAgICAgcmVjb21tZW5kZWRTY3JvbGxQb3NpdGlvbixcbiAgICB9LFxuICAgIGRpc3BhdGNoLFxuICBdID0gdXNlUmVkdWNlcihWaXJ0dWFsU2Nyb2xsUmVkdWNlciwge30pO1xuXG4gIHVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKHsgdHlwZTogXCJyZXNldFwiLCBpdGVtSGVpZ2h0LCBtYXhIZWlnaHQsIG92ZXJzY2FuIH0pO1xuICAgIHNjcm9sbGFibGVDb250YWluZXJSZWYuY3VycmVudC5zY3JvbGxUb3AgPSAwO1xuICB9LCBbaXRlbUhlaWdodCwgaXRlbUFtb3VudCwgbWF4SGVpZ2h0XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaCh7XG4gICAgICB0eXBlOiBcInJlY29tbWVuZFNjcm9sbFBvc2l0aW9uXCIsXG4gICAgICBzY3JvbGxUb3A6IHNjcm9sbGFibGVDb250YWluZXJSZWYuY3VycmVudC5zY3JvbGxUb3AsXG4gICAgICBpdGVtVG9CZUluVmlldzogaXRlbUluVmlldyxcbiAgICB9KTtcbiAgfSwgW2l0ZW1JblZpZXddKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChyZWNvbW1lbmRlZFNjcm9sbFBvc2l0aW9uID09PSBudWxsKSByZXR1cm47XG5cbiAgICBzY3JvbGxhYmxlQ29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wID0gcmVjb21tZW5kZWRTY3JvbGxQb3NpdGlvbjtcbiAgfSwgW3JlY29tbWVuZGVkU2Nyb2xsUG9zaXRpb25dKTtcblxuICB1c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXZpZXdwb3J0UmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IFwidXBkYXRlVmlld3BvcnRcIixcbiAgICAgIHZpZXdwb3J0Tm9kZTogdmlld3BvcnRSZWYuY3VycmVudCxcbiAgICAgIGl0ZW1BbW91bnQsXG4gICAgfSk7XG4gIH0sIFtpdGVtQW1vdW50LCBzY3JvbGxlZEl0ZW1Db3VudF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgb25Db250ZW50SGVpZ2h0Q2hhbmdlPy4oKTtcbiAgfSwgW21heENvbnRlbnRIZWlnaHQsIG9uQ29udGVudEhlaWdodENoYW5nZV0pO1xuXG4gIGNvbnN0IGl0ZW1Db3VudFRvQmVSZW5kZXJlZCA9IE1hdGgubWluKFxuICAgIE1hdGgubWF4KDAsIGl0ZW1BbW91bnQgLSBzY3JvbGxlZEl0ZW1Db3VudCksXG4gICAgYW1vdW50T2ZJdGVtc0luVmlld1xuICApO1xuXG4gIC8qIFNvbWV0aW1lcywgb3B0aW9uIHRleHQgY2FuIHJlZmxvdyBkdWUgdGhlIGFwcGVhcmFuY2Ugb2YgdmVydGljYWwgc2Nyb2xsYmFyIHdoaWNoIGNhbiBjYXVzZSB0ZXh0IHRvIHdyYXAgdG8gbXVsdGlwbGUgbGluZXMgY2F1c2luZyB2aWV3cG9ydFJlZiBoZWlnaHQgdG8gY2hhbmdlLiBJZiBjb250YWluZXIgaGFzIHNjcm9sbCB0aGVuIHdlIGRpc3BhdGNoIGB1cGRhdGVWaWV3cG9ydGAgb25lIG1vcmUgdGltZSB0byBnZXQgdGhlIGNvcnJlY3QgaGVpZ2h0LCB3aXRoIGEgc2V0VGltZW91dCB0byBhbGxvdyB0aW1lIGZvciByZWZsb3cuXG4gICAqL1xuICBpZiAoXG4gICAgbWF4Q29udGVudEhlaWdodCA+IG1heEhlaWdodCAmJlxuICAgICFhZGp1c3RlZEZvclJlZmxvdy5jdXJyZW50ICYmXG4gICAgdmlld3BvcnRSZWYuY3VycmVudFxuICApIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgdHlwZTogXCJ1cGRhdGVWaWV3cG9ydFwiLFxuICAgICAgICB2aWV3cG9ydE5vZGU6IHZpZXdwb3J0UmVmLmN1cnJlbnQsXG4gICAgICAgIGl0ZW1BbW91bnQsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBhZGp1c3RlZEZvclJlZmxvdy5jdXJyZW50ID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgcmVmPXtzY3JvbGxhYmxlQ29udGFpbmVyUmVmfVxuICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICBzdHlsZT17e1xuICAgICAgICBtYXhIZWlnaHQsXG4gICAgICAgIC4uLmNvbnRhaW5lclN0eWxlLFxuICAgICAgfX1cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICBkYXRhLWRzLWlkPVwiVmlydHVhbFNjcm9sbExpc3RcIlxuICAgICAgb25TY3JvbGw9eyhlOiBSZWFjdC5VSUV2ZW50PEhUTUxFbGVtZW50PikgPT4ge1xuICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogXCJzY3JvbGxcIixcbiAgICAgICAgICBzY3JvbGxUb3A6IGUuY3VycmVudFRhcmdldC5zY3JvbGxUb3AsXG4gICAgICAgIH0pO1xuICAgICAgfX1cbiAgICA+XG4gICAgICB7aXRlbUFtb3VudCA9PT0gMCA/IChcbiAgICAgICAgZW1wdHlTdGF0ZSgpXG4gICAgICApIDogKFxuICAgICAgICA8U3R5bGVkU2Nyb2xsYWJsZUNvbnRlbnQgbWF4Q29udGVudEhlaWdodD17bWF4Q29udGVudEhlaWdodH0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgcmVmPXt2aWV3cG9ydFJlZn1cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtzY3JvbGxlZEluUHh9cHhgLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHJvbGU9e3JvbGV9XG4gICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICB7Li4uYXJpYUF0dHJpYnV0ZXN9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgeyEhaXRlbUNvdW50VG9CZVJlbmRlcmVkICYmXG4gICAgICAgICAgICAgIG5ldyBBcnJheShpdGVtQ291bnRUb0JlUmVuZGVyZWQpXG4gICAgICAgICAgICAgICAgLmZpbGwoMClcbiAgICAgICAgICAgICAgICAubWFwKChfLCBpbmRleCkgPT4gaXRlbVRlbXBsYXRlKHNjcm9sbGVkSXRlbUNvdW50ICsgaW5kZXgpKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9TdHlsZWRTY3JvbGxhYmxlQ29udGVudD5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTXdCIn0= */"),StyledScrollableContent=styled("div",{target:"exth8w41",label:"StyledScrollableContent"})(({maxContentHeight})=>({overflow:"hidden",boxSizing:"border-box",height:maxContentHeight}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVmlydHVhbFNjcm9sbExpc3QvVmlydHVhbFNjcm9sbExpc3QudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VSZWR1Y2VyLCB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3RcIjtcblxuaW1wb3J0IHsgVmlydHVhbFNjcm9sbFJlZHVjZXIgfSBmcm9tIFwiLi9WaXJ0dWFsU2Nyb2xsTGlzdFJlZHVjZXJcIjtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxQYXJ0aWFsPFZpcnR1YWxTY3JvbGxMaXN0UHJvcHM+PihcbiAgKHsgbWF4SGVpZ2h0IH0pID0+ICh7XG4gICAgb3ZlcmZsb3c6IFwiYXV0b1wiLFxuICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgIG1heEhlaWdodCxcbiAgfSlcbik7XG5cbmNvbnN0IFN0eWxlZFNjcm9sbGFibGVDb250ZW50ID0gc3R5bGVkLmRpdjx7IG1heENvbnRlbnRIZWlnaHQ6IG51bWJlciB9PihcbiAgKHsgbWF4Q29udGVudEhlaWdodCB9KSA9PiAoe1xuICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgIGJveFNpemluZzogXCJib3JkZXItYm94XCIsXG4gICAgaGVpZ2h0OiBtYXhDb250ZW50SGVpZ2h0LFxuICB9KVxuKTtcblxuZXhwb3J0IHR5cGUgVmlydHVhbFNjcm9sbExpc3RQcm9wcyA9IHtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIGlkOiBzdHJpbmc7XG4gIG1heEhlaWdodDogbnVtYmVyO1xuICAvKiogaW5pdGlhbCBlc3RpbWF0ZSBmb3IgdmlydHVhbCBzY3JvbGxpbmcgY2FsY3VsYXRpb25zLCBoZWxwcyBlc3RpbWF0ZSBob3cgbWFueVxuICAgKiBpdGVtcyBmaXQgaW4gdGhlIHZpZXdwb3J0IGJlZm9yZSByZWFsIG1lYXN1cmVtZW50cy5cbiAgICovXG4gIGl0ZW1IZWlnaHQ6IG51bWJlcjtcbiAgaXRlbUFtb3VudDogbnVtYmVyO1xuICBlbXB0eVN0YXRlPzogKCkgPT4gUmVhY3QuUmVhY3ROb2RlO1xuICBpdGVtSW5WaWV3OiBudW1iZXI7XG4gIGl0ZW1UZW1wbGF0ZTogKGluZGV4OiBudW1iZXIpID0+IFJlYWN0LlJlYWN0Tm9kZTtcbiAgY29udGFpbmVyU3R5bGU/OiBSZWFjdC5DU1NQcm9wZXJ0aWVzO1xuICBvbkNvbnRlbnRIZWlnaHRDaGFuZ2U/OiAoKSA9PiB2b2lkO1xuICByb2xlPzogUmVhY3QuQXJpYVJvbGU7XG59O1xuXG5jb25zdCBvdmVyc2NhbiA9IDEwO1xuXG5leHBvcnQgZnVuY3Rpb24gVmlydHVhbFNjcm9sbExpc3Qoe1xuICBpZCxcbiAgbWF4SGVpZ2h0LFxuICBpdGVtSGVpZ2h0LFxuICBpdGVtQW1vdW50LFxuICBlbXB0eVN0YXRlID0gKCkgPT4gbnVsbCxcbiAgaXRlbUluVmlldyxcbiAgaXRlbVRlbXBsYXRlLFxuICBjb250YWluZXJTdHlsZSxcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gIG9uQ29udGVudEhlaWdodENoYW5nZSxcbiAgcm9sZSxcbiAgLi4uYXJpYUF0dHJpYnV0ZXNcbn06IFZpcnR1YWxTY3JvbGxMaXN0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBzY3JvbGxhYmxlQ29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCB2aWV3cG9ydFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgYWRqdXN0ZWRGb3JSZWZsb3cgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIGNvbnN0IFtcbiAgICB7XG4gICAgICBzY3JvbGxlZEl0ZW1Db3VudCxcbiAgICAgIGFtb3VudE9mSXRlbXNJblZpZXcsXG4gICAgICBzY3JvbGxlZEluUHgsXG4gICAgICBtYXhDb250ZW50SGVpZ2h0ID0gbWF4SGVpZ2h0LFxuICAgICAgcmVjb21tZW5kZWRTY3JvbGxQb3NpdGlvbixcbiAgICB9LFxuICAgIGRpc3BhdGNoLFxuICBdID0gdXNlUmVkdWNlcihWaXJ0dWFsU2Nyb2xsUmVkdWNlciwge30pO1xuXG4gIHVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKHsgdHlwZTogXCJyZXNldFwiLCBpdGVtSGVpZ2h0LCBtYXhIZWlnaHQsIG92ZXJzY2FuIH0pO1xuICAgIHNjcm9sbGFibGVDb250YWluZXJSZWYuY3VycmVudC5zY3JvbGxUb3AgPSAwO1xuICB9LCBbaXRlbUhlaWdodCwgaXRlbUFtb3VudCwgbWF4SGVpZ2h0XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaCh7XG4gICAgICB0eXBlOiBcInJlY29tbWVuZFNjcm9sbFBvc2l0aW9uXCIsXG4gICAgICBzY3JvbGxUb3A6IHNjcm9sbGFibGVDb250YWluZXJSZWYuY3VycmVudC5zY3JvbGxUb3AsXG4gICAgICBpdGVtVG9CZUluVmlldzogaXRlbUluVmlldyxcbiAgICB9KTtcbiAgfSwgW2l0ZW1JblZpZXddKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChyZWNvbW1lbmRlZFNjcm9sbFBvc2l0aW9uID09PSBudWxsKSByZXR1cm47XG5cbiAgICBzY3JvbGxhYmxlQ29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wID0gcmVjb21tZW5kZWRTY3JvbGxQb3NpdGlvbjtcbiAgfSwgW3JlY29tbWVuZGVkU2Nyb2xsUG9zaXRpb25dKTtcblxuICB1c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXZpZXdwb3J0UmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IFwidXBkYXRlVmlld3BvcnRcIixcbiAgICAgIHZpZXdwb3J0Tm9kZTogdmlld3BvcnRSZWYuY3VycmVudCxcbiAgICAgIGl0ZW1BbW91bnQsXG4gICAgfSk7XG4gIH0sIFtpdGVtQW1vdW50LCBzY3JvbGxlZEl0ZW1Db3VudF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgb25Db250ZW50SGVpZ2h0Q2hhbmdlPy4oKTtcbiAgfSwgW21heENvbnRlbnRIZWlnaHQsIG9uQ29udGVudEhlaWdodENoYW5nZV0pO1xuXG4gIGNvbnN0IGl0ZW1Db3VudFRvQmVSZW5kZXJlZCA9IE1hdGgubWluKFxuICAgIE1hdGgubWF4KDAsIGl0ZW1BbW91bnQgLSBzY3JvbGxlZEl0ZW1Db3VudCksXG4gICAgYW1vdW50T2ZJdGVtc0luVmlld1xuICApO1xuXG4gIC8qIFNvbWV0aW1lcywgb3B0aW9uIHRleHQgY2FuIHJlZmxvdyBkdWUgdGhlIGFwcGVhcmFuY2Ugb2YgdmVydGljYWwgc2Nyb2xsYmFyIHdoaWNoIGNhbiBjYXVzZSB0ZXh0IHRvIHdyYXAgdG8gbXVsdGlwbGUgbGluZXMgY2F1c2luZyB2aWV3cG9ydFJlZiBoZWlnaHQgdG8gY2hhbmdlLiBJZiBjb250YWluZXIgaGFzIHNjcm9sbCB0aGVuIHdlIGRpc3BhdGNoIGB1cGRhdGVWaWV3cG9ydGAgb25lIG1vcmUgdGltZSB0byBnZXQgdGhlIGNvcnJlY3QgaGVpZ2h0LCB3aXRoIGEgc2V0VGltZW91dCB0byBhbGxvdyB0aW1lIGZvciByZWZsb3cuXG4gICAqL1xuICBpZiAoXG4gICAgbWF4Q29udGVudEhlaWdodCA+IG1heEhlaWdodCAmJlxuICAgICFhZGp1c3RlZEZvclJlZmxvdy5jdXJyZW50ICYmXG4gICAgdmlld3BvcnRSZWYuY3VycmVudFxuICApIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgdHlwZTogXCJ1cGRhdGVWaWV3cG9ydFwiLFxuICAgICAgICB2aWV3cG9ydE5vZGU6IHZpZXdwb3J0UmVmLmN1cnJlbnQsXG4gICAgICAgIGl0ZW1BbW91bnQsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBhZGp1c3RlZEZvclJlZmxvdy5jdXJyZW50ID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgcmVmPXtzY3JvbGxhYmxlQ29udGFpbmVyUmVmfVxuICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICBzdHlsZT17e1xuICAgICAgICBtYXhIZWlnaHQsXG4gICAgICAgIC4uLmNvbnRhaW5lclN0eWxlLFxuICAgICAgfX1cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICBkYXRhLWRzLWlkPVwiVmlydHVhbFNjcm9sbExpc3RcIlxuICAgICAgb25TY3JvbGw9eyhlOiBSZWFjdC5VSUV2ZW50PEhUTUxFbGVtZW50PikgPT4ge1xuICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogXCJzY3JvbGxcIixcbiAgICAgICAgICBzY3JvbGxUb3A6IGUuY3VycmVudFRhcmdldC5zY3JvbGxUb3AsXG4gICAgICAgIH0pO1xuICAgICAgfX1cbiAgICA+XG4gICAgICB7aXRlbUFtb3VudCA9PT0gMCA/IChcbiAgICAgICAgZW1wdHlTdGF0ZSgpXG4gICAgICApIDogKFxuICAgICAgICA8U3R5bGVkU2Nyb2xsYWJsZUNvbnRlbnQgbWF4Q29udGVudEhlaWdodD17bWF4Q29udGVudEhlaWdodH0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgcmVmPXt2aWV3cG9ydFJlZn1cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtzY3JvbGxlZEluUHh9cHhgLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHJvbGU9e3JvbGV9XG4gICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICB7Li4uYXJpYUF0dHJpYnV0ZXN9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgeyEhaXRlbUNvdW50VG9CZVJlbmRlcmVkICYmXG4gICAgICAgICAgICAgIG5ldyBBcnJheShpdGVtQ291bnRUb0JlUmVuZGVyZWQpXG4gICAgICAgICAgICAgICAgLmZpbGwoMClcbiAgICAgICAgICAgICAgICAubWFwKChfLCBpbmRleCkgPT4gaXRlbVRlbXBsYXRlKHNjcm9sbGVkSXRlbUNvdW50ICsgaW5kZXgpKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9TdHlsZWRTY3JvbGxhYmxlQ29udGVudD5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZWdDIn0= */");export function VirtualScrollList({id,maxHeight,itemHeight,itemAmount,emptyState=()=>null,itemInView,itemTemplate,containerStyle,"data-e2e-test-id":dataE2eTestId,onContentHeightChange,role,...ariaAttributes}){let scrollableContainerRef=useRef(null),viewportRef=useRef(null),adjustedForReflow=useRef(!1),[{scrolledItemCount,amountOfItemsInView,scrolledInPx,maxContentHeight=maxHeight,recommendedScrollPosition},dispatch]=useReducer(VirtualScrollReducer,{});useIsomorphicLayoutEffect(()=>{dispatch({type:"reset",itemHeight,maxHeight,overscan:10}),scrollableContainerRef.current.scrollTop=0},[itemHeight,itemAmount,maxHeight]),useEffect(()=>{dispatch({type:"recommendScrollPosition",scrollTop:scrollableContainerRef.current.scrollTop,itemToBeInView:itemInView})},[itemInView]),useEffect(()=>{null!==recommendedScrollPosition&&(scrollableContainerRef.current.scrollTop=recommendedScrollPosition)},[recommendedScrollPosition]),useIsomorphicLayoutEffect(()=>{viewportRef.current&&dispatch({type:"updateViewport",viewportNode:viewportRef.current,itemAmount})},[itemAmount,scrolledItemCount]),useEffect(()=>{onContentHeightChange?.()},[maxContentHeight,onContentHeightChange]);let itemCountToBeRendered=Math.min(Math.max(0,itemAmount-scrolledItemCount),amountOfItemsInView);return maxContentHeight>maxHeight&&!adjustedForReflow.current&&viewportRef.current&&(setTimeout(()=>{dispatch({type:"updateViewport",viewportNode:viewportRef.current,itemAmount})}),adjustedForReflow.current=!0),React.createElement(StyledContainer,{ref:scrollableContainerRef,maxHeight:maxHeight,style:{maxHeight,...containerStyle},"data-e2e-test-id":dataE2eTestId,"data-ds-id":"VirtualScrollList",onScroll:e=>{dispatch({type:"scroll",scrollTop:e.currentTarget.scrollTop})}},0===itemAmount?emptyState():React.createElement(StyledScrollableContent,{maxContentHeight:maxContentHeight},React.createElement("div",{ref:viewportRef,style:{transform:`translateY(${scrolledInPx}px`},role:role,id:id,...ariaAttributes},!!itemCountToBeRendered&&Array(itemCountToBeRendered).fill(0).map((_,index)=>itemTemplate(scrolledItemCount+index)))))}
@@ -1 +1 @@
1
- import{useState,useCallback,useLayoutEffect}from"react";import{useDocument}from"../useDocument";import{useWindow}from"../useWindow";import{getMenuStyle}from"./getMenuStyle";export function usePopupMenu({triggerRef,menuRef,isOpen,placement}){let document=useDocument(),window=useWindow(),[menuStyle,setMenuStyle]=useState({top:0,left:0}),calculateStyle=useCallback(()=>{triggerRef.current&&menuRef.current&&setMenuStyle(getMenuStyle(triggerRef,menuRef,document,window,placement))},[triggerRef,menuRef,document,window,placement]);return useLayoutEffect(()=>{let handleScrollEvent=evt=>{menuRef.current&&menuRef.current.contains(evt.target)||calculateStyle()};return isOpen&&(calculateStyle(),window.addEventListener("resize",calculateStyle),window.addEventListener("scroll",handleScrollEvent,!0)),()=>{window.removeEventListener("resize",calculateStyle),window.removeEventListener("scroll",handleScrollEvent,!0)}},[isOpen,calculateStyle,window,menuRef]),{menuStyle,calculateStyle}}
1
+ import{useState,useCallback}from"react";import{useIsomorphicLayoutEffect}from"../useIsomorphicLayoutEffect";import{useDocument}from"../useDocument";import{useWindow}from"../useWindow";import{getMenuStyle}from"./getMenuStyle";export function usePopupMenu({triggerRef,menuRef,isOpen,placement}){let document=useDocument(),window=useWindow(),[menuStyle,setMenuStyle]=useState({top:0,left:0}),calculateStyle=useCallback(()=>{triggerRef.current&&menuRef.current&&setMenuStyle(getMenuStyle(triggerRef,menuRef,document,window,placement))},[triggerRef,menuRef,document,window,placement]);return useIsomorphicLayoutEffect(()=>{let handleScrollEvent=evt=>{menuRef.current&&menuRef.current.contains(evt.target)||calculateStyle()};return isOpen&&(calculateStyle(),window.addEventListener("resize",calculateStyle),window.addEventListener("scroll",handleScrollEvent,!0)),()=>{window.removeEventListener("resize",calculateStyle),window.removeEventListener("scroll",handleScrollEvent,!0)}},[isOpen,calculateStyle,window,menuRef]),{menuStyle,calculateStyle}}
@@ -1 +1 @@
1
- import{useState,useLayoutEffect}from"react";import{useWindow}from"./useWindow";import{useDocument}from"./useDocument";export const useAutoPosition=({anchorRef,contentRef,isActive,forceVerticalPosition})=>{let[verticalPosition,setVerticalPosition]=useState("down"),[horizontalPosition,setHorizontalPosition]=useState("left"),document=useDocument(),window=useWindow();return useLayoutEffect(()=>{if(contentRef)if(isActive){let maxHeight=Math.max(document.documentElement.clientHeight||0,window.innerHeight||0),rect=contentRef.current.getBoundingClientRect(),anchorHeight=anchorRef.current.getBoundingClientRect().height,anchorX=anchorRef.current.getBoundingClientRect().x,screenWidth=window.innerWidth,isUp=rect.top+rect.height>maxHeight,isDown=rect.top-anchorHeight<rect.height;forceVerticalPosition?setVerticalPosition(forceVerticalPosition):isUp?setVerticalPosition("up"):isDown&&setVerticalPosition("down"),anchorX>screenWidth/2?setHorizontalPosition("left"):anchorX<screenWidth/2&&setHorizontalPosition("right")}else setVerticalPosition("down"),setHorizontalPosition("left")},[anchorRef,contentRef,document.documentElement.clientHeight,isActive,window.innerHeight,window.innerWidth,forceVerticalPosition]),[verticalPosition,horizontalPosition]};
1
+ import{useState}from"react";import{useIsomorphicLayoutEffect}from"./useIsomorphicLayoutEffect";import{useWindow}from"./useWindow";import{useDocument}from"./useDocument";export const useAutoPosition=({anchorRef,contentRef,isActive,forceVerticalPosition})=>{let[verticalPosition,setVerticalPosition]=useState("down"),[horizontalPosition,setHorizontalPosition]=useState("left"),document=useDocument(),window=useWindow();return useIsomorphicLayoutEffect(()=>{if(contentRef)if(isActive){let maxHeight=Math.max(document.documentElement.clientHeight||0,window.innerHeight||0),rect=contentRef.current.getBoundingClientRect(),anchorHeight=anchorRef.current.getBoundingClientRect().height,anchorX=anchorRef.current.getBoundingClientRect().x,screenWidth=window.innerWidth,isUp=rect.top+rect.height>maxHeight,isDown=rect.top-anchorHeight<rect.height;forceVerticalPosition?setVerticalPosition(forceVerticalPosition):isUp?setVerticalPosition("up"):isDown&&setVerticalPosition("down"),anchorX>screenWidth/2?setHorizontalPosition("left"):anchorX<screenWidth/2&&setHorizontalPosition("right")}else setVerticalPosition("down"),setHorizontalPosition("left")},[anchorRef,contentRef,document.documentElement.clientHeight,isActive,window.innerHeight,window.innerWidth,forceVerticalPosition]),[verticalPosition,horizontalPosition]};
@@ -1 +1 @@
1
- import{useState,useEffect,useMemo}from"react";import breakpoints from"../web-tokens/_breakpoints.json";import{useWindow}from"./useWindow";export function useBreakpoints(){let window=useWindow(),[width,setWidth]=useState(()=>window?window.innerWidth:breakpoints.xl.value);return useEffect(()=>{if(!window)return;let handleResize=()=>{setWidth(window.innerWidth)};return handleResize(),window.addEventListener("resize",handleResize),()=>window.removeEventListener("resize",handleResize)},[window]),useMemo(()=>({isSmallMobile:width<breakpoints.s.value,isMobile:width<breakpoints.m.value,isTablet:width>=breakpoints.m.value&&width<breakpoints.l.value,isDesktop:width>=breakpoints.l.value,isLargeDesktop:width>=breakpoints.xl.value}),[width])}
1
+ import{useCallback,useSyncExternalStore}from"react";import breakpoints from"../web-tokens/_breakpoints.json";import{useWindow}from"./useWindow";let SERVER_SNAPSHOT={isSmallMobile:!1,isMobile:!1,isTablet:!1,isDesktop:!0,isLargeDesktop:!0},snapshotCache=new Map,computeSnapshot=width=>{let snapshot=snapshotCache.get(width);return snapshot||(snapshot={isSmallMobile:width<breakpoints.s.value,isMobile:width<breakpoints.m.value,isTablet:width>=breakpoints.m.value&&width<breakpoints.l.value,isDesktop:width>=breakpoints.l.value,isLargeDesktop:width>=breakpoints.xl.value},snapshotCache.set(width,snapshot)),snapshot},getServerSnapshot=()=>SERVER_SNAPSHOT;export function useBreakpoints(){let window=useWindow();return useSyncExternalStore(useCallback(callback=>window?(window.addEventListener("resize",callback),()=>window.removeEventListener("resize",callback)):()=>{},[window]),useCallback(()=>window?computeSnapshot(window.innerWidth):SERVER_SNAPSHOT,[window]),getServerSnapshot)}
@@ -0,0 +1,9 @@
1
+ import { useEffect } from "react";
2
+ /**
3
+ * `useLayoutEffect` on the client, `useEffect` on the server. Use this for
4
+ * effects that measure or mutate the DOM before paint (positioning, scroll
5
+ * edges, imperative property setting). On the server `useLayoutEffect` warns
6
+ * and does nothing; this avoids the warning while preserving identical
7
+ * client-side behavior.
8
+ */
9
+ export declare const useIsomorphicLayoutEffect: typeof useEffect;
@@ -0,0 +1 @@
1
+ import{useEffect,useLayoutEffect}from"react";export const useIsomorphicLayoutEffect="undefined"!=typeof window?useLayoutEffect:useEffect;