@amboss/design-system 3.35.5 → 3.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/components/CatalogCard/CatalogCard.js +1 -1
- package/build/cjs/components/Container/Container.js +1 -1
- package/build/cjs/components/Form/Combobox/SingleSelect.js +1 -1
- package/build/cjs/components/Form/DatePicker/Calendar.d.ts +42 -0
- package/build/cjs/components/Form/DatePicker/Calendar.js +1 -0
- package/build/cjs/components/Form/DatePicker/DatePicker.d.ts +33 -0
- package/build/cjs/components/Form/DatePicker/DatePicker.js +1 -0
- package/build/cjs/components/Form/DatePicker/DatePickerButton.d.ts +13 -0
- package/build/cjs/components/Form/DatePicker/DatePickerButton.js +1 -0
- package/build/cjs/components/Form/DatePicker/DatePickerInput.d.ts +29 -0
- package/build/cjs/components/Form/DatePicker/DatePickerInput.js +1 -0
- package/build/cjs/components/Form/DatePicker/DatePickerPopover.d.ts +25 -0
- package/build/cjs/components/Form/DatePicker/DatePickerPopover.js +1 -0
- package/build/cjs/components/Form/DatePicker/dateUtils.d.ts +27 -0
- package/build/cjs/components/Form/DatePicker/dateUtils.js +1 -0
- package/build/cjs/components/Form/DatePicker/index.d.ts +3 -0
- package/build/cjs/components/Form/DatePicker/index.js +1 -0
- package/build/cjs/components/Form/DatePicker/types.d.ts +61 -0
- package/build/cjs/components/Form/MaskedInput/MaskedInput.d.ts +14 -4
- package/build/cjs/components/Form/MaskedInput/MaskedInput.js +1 -1
- package/build/cjs/components/Form/dateMask.d.ts +9 -1
- package/build/cjs/components/Form/dateMask.js +1 -1
- package/build/cjs/components/InteractiveBox/InteractiveBox.d.ts +2 -0
- package/build/cjs/components/InteractiveBox/InteractiveBox.js +1 -1
- package/build/cjs/components/MediaViewerCarousel/MediaViewerCarousel.d.ts +2 -1
- package/build/cjs/components/MediaViewerCarousel/MediaViewerCarousel.js +1 -1
- package/build/cjs/components/Tooltip/TooltipContent.js +1 -1
- package/build/esm/components/CatalogCard/CatalogCard.js +1 -1
- package/build/esm/components/Container/Container.js +1 -1
- package/build/esm/components/Form/Combobox/SingleSelect.js +1 -1
- package/build/esm/components/Form/DatePicker/Calendar.d.ts +42 -0
- package/build/esm/components/Form/DatePicker/Calendar.js +1 -0
- package/build/esm/components/Form/DatePicker/DatePicker.d.ts +33 -0
- package/build/esm/components/Form/DatePicker/DatePicker.js +1 -0
- package/build/esm/components/Form/DatePicker/DatePickerButton.d.ts +13 -0
- package/build/esm/components/Form/DatePicker/DatePickerButton.js +1 -0
- package/build/esm/components/Form/DatePicker/DatePickerInput.d.ts +29 -0
- package/build/esm/components/Form/DatePicker/DatePickerInput.js +1 -0
- package/build/esm/components/Form/DatePicker/DatePickerPopover.d.ts +25 -0
- package/build/esm/components/Form/DatePicker/DatePickerPopover.js +1 -0
- package/build/esm/components/Form/DatePicker/dateUtils.d.ts +27 -0
- package/build/esm/components/Form/DatePicker/dateUtils.js +1 -0
- package/build/esm/components/Form/DatePicker/index.d.ts +3 -0
- package/build/esm/components/Form/DatePicker/index.js +1 -0
- package/build/esm/components/Form/DatePicker/types.d.ts +61 -0
- package/build/esm/components/Form/MaskedInput/MaskedInput.d.ts +14 -4
- package/build/esm/components/Form/MaskedInput/MaskedInput.js +1 -1
- package/build/esm/components/Form/dateMask.d.ts +9 -1
- package/build/esm/components/Form/dateMask.js +1 -1
- package/build/esm/components/InteractiveBox/InteractiveBox.d.ts +2 -0
- package/build/esm/components/InteractiveBox/InteractiveBox.js +1 -1
- package/build/esm/components/MediaViewerCarousel/MediaViewerCarousel.d.ts +2 -1
- package/build/esm/components/MediaViewerCarousel/MediaViewerCarousel.js +1 -1
- package/build/esm/components/Tooltip/TooltipContent.js +1 -1
- package/package.json +1 -1
- package/build/cjs/components/Form/Datepicker/DatePickerInput.d.ts +0 -20
- package/build/cjs/components/Form/Datepicker/DatePickerInput.js +0 -1
- package/build/cjs/components/Form/Datepicker/Datepicker.d.ts +0 -21
- package/build/cjs/components/Form/Datepicker/Datepicker.js +0 -1
- package/build/cjs/components/Form/Datepicker/Datepicker.types.d.ts +0 -40
- package/build/cjs/components/Form/Datepicker/DatepickerButton.d.ts +0 -11
- package/build/cjs/components/Form/Datepicker/DatepickerButton.js +0 -1
- package/build/cjs/components/Form/Datepicker/index.d.ts +0 -3
- package/build/cjs/components/Form/Datepicker/index.js +0 -1
- package/build/esm/components/Form/Datepicker/DatePickerInput.d.ts +0 -20
- package/build/esm/components/Form/Datepicker/DatePickerInput.js +0 -1
- package/build/esm/components/Form/Datepicker/Datepicker.d.ts +0 -21
- package/build/esm/components/Form/Datepicker/Datepicker.js +0 -1
- package/build/esm/components/Form/Datepicker/Datepicker.types.d.ts +0 -40
- package/build/esm/components/Form/Datepicker/DatepickerButton.d.ts +0 -11
- package/build/esm/components/Form/Datepicker/DatepickerButton.js +0 -1
- package/build/esm/components/Form/Datepicker/index.d.ts +0 -3
- package/build/esm/components/Form/Datepicker/index.js +0 -1
- /package/build/cjs/components/Form/{Datepicker/Datepicker.types.js → DatePicker/types.js} +0 -0
- /package/build/esm/components/Form/{Datepicker/Datepicker.types.js → DatePicker/types.js} +0 -0
|
@@ -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:"ef71jkb0",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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVG9vbHRpcC9Ub29sdGlwQ29udGVudC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Rvb2x0aXAvVG9vbHRpcENvbnRlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIE11dGFibGVSZWZPYmplY3QsIFJlYWN0RWxlbWVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGtleWZyYW1lcyB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eSB9IGZyb20gXCJjc3N0eXBlXCI7XG5pbXBvcnQgeyB1c2VEb2N1bWVudCB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlRG9jdW1lbnRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5pbXBvcnQgeyBTdWJUaGVtZVByb3ZpZGVyIH0gZnJvbSBcIi4uL1N1YlRoZW1lUHJvdmlkZXIvU3ViVGhlbWVQcm92aWRlclwiO1xuaW1wb3J0IHR5cGUgeyBTdWJUaGVtZVR5cGVzIH0gZnJvbSBcIi4uLy4uL3dlYi10b2tlbnMvX3N1YlRoZW1lVHlwZVwiO1xuaW1wb3J0IHtcbiAgUG9ydGFsLFxuICB1c2VQb3J0YWxDaGlsZFpJbmRleCxcbiAgdHlwZSBQb3J0YWxQcm9wcyxcbn0gZnJvbSBcIi4uL1BvcnRhbC9Qb3J0YWxcIjtcblxuaW1wb3J0IHtcbiAgQU5JTUFUSU9OX0RJU1RBTkNFLFxuICBBUlJPV19TSVpFLFxuICBBUlJPV19TSVpFX0JJRyxcbiAgRElTVEFOQ0VfRlJPTV9UUklHR0VSLFxuICBnZXRBcnJvd09mZnNldCxcbiAgZ2V0VG9vbHRpcFN0eWxlLFxufSBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgdHlwZSBUb29sdGlwQ29udGVudFByb3BzID0ge1xuICBjb250ZW50OiBSZWFjdEVsZW1lbnQ7XG4gIHRyaWdnZXJSZWY6IE11dGFibGVSZWZPYmplY3Q8YW55PjtcbiAgcGxhY2VtZW50PzpcbiAgICB8IFwiYXV0b1wiXG4gICAgfCBcInRvcFwiXG4gICAgfCBcImJvdHRvbVwiXG4gICAgfCBcInRvcC1sZWZ0XCJcbiAgICB8IFwidG9wLXJpZ2h0XCJcbiAgICB8IFwiYm90dG9tLWxlZnRcIlxuICAgIHwgXCJib3R0b20tcmlnaHRcIjtcbiAgZGF0YUUyZVRlc3RJZD86IHN0cmluZztcbiAgZGF0YURTSWQ6IHN0cmluZztcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcbiAgdG9vbHRpcElkPzogc3RyaW5nO1xuICByb2xlPzogc3RyaW5nO1xuICB0YWJJbmRleD86IG51bWJlcjtcbiAgY29udGVudFBhZGRpbmc/OiBcInNcIiB8IFwibVwiO1xuICBzdWJUaGVtZT86IFN1YlRoZW1lVHlwZXM7XG4gIG1heFdpZHRoPzogUHJvcGVydHkuTWF4V2lkdGggfCBudW1iZXI7XG4gIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudD86IFRvb2x0aXBTdHlsZVtcInZlcnRpY2FsUGxhY2VtZW50XCJdO1xuICBoaWRlQXJyb3c/OiBib29sZWFuO1xuICAvKiogU2V0cyBjc3MgdmlzaWJpbGl0eSBoaWRkZW4gd2hlbiB0cmlnZ2VyIGlzIHNjcm9sbGVkIG91dCBvZiB2aWV3ICovXG4gIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyPzogYm9vbGVhbjtcbiAgb25Ub29sdGlwUG9pbnRlckVudGVyPzogUmVhY3QuUG9pbnRlckV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIG9uVG9vbHRpcFBvaW50ZXJMZWF2ZT86IFJlYWN0LlBvaW50ZXJFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICAvKiogVGhpcyBjYWxsYmFjayBpcyB0cmlnZ2VyZWQgd2hlbiBjb250ZW50IG92ZXJmbG93cyB0aGUgdmlld3BvcnQgYm90aCBhYm92ZSBhbmQgYmVsb3cgdHJpZ2dlci4gVXNlIHRoaXMgZm9yIHRyYWNraW5nIHB1cnBvc2VzIG9yIHJlLXJlbmRlcmluZyBQb3BvdmVyIHdpdGggYSBsYXJnZXIgbWF4V2lkdGggKi9cbiAgb25PdmVyZmxvd1ZpZXdwb3J0PzogKFxuICAgIHRyaWdnZXJSZWN0OiBET01SZWN0LFxuICAgIHRvb2x0aXBSZWN0OiBET01SZWN0LFxuICAgIHZpZXdwb3J0SGVpZ2h0OiBudW1iZXJcbiAgKSA9PiB2b2lkO1xufSAmIFBpY2s8UG9ydGFsUHJvcHMsIFwicG9ydGFsQ29udGFpbmVyXCI+ICZcbiAgQXJpYUF0dHJpYnV0ZXM7XG5cbmV4cG9ydCB0eXBlIFRvb2x0aXBTdHlsZSA9IHtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogXCJsZWZ0XCIgfCBcInJpZ2h0XCIgfCBcImNlbnRlclwiO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogXCJ0b3BcIiB8IFwiYm90dG9tXCI7XG59O1xuXG50eXBlIFN0eWxlZENvbnRhaW5lclByb3BzID0gUGljazxcbiAgVG9vbHRpcENvbnRlbnRQcm9wcyxcbiAgXCJjb250ZW50UGFkZGluZ1wiIHwgXCJtYXhXaWR0aFwiIHwgXCJzdWJUaGVtZVwiXG4+ICYge1xuICBob3Jpem9udGFsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJob3Jpem9udGFsUGxhY2VtZW50XCJdO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGlzSGlkZGVuOiBib29sZWFuO1xufTtcblxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OID0gMjAwO1xuY29uc3QgU0hPV19ISURFX0RFTEFZID0gMjAwO1xuY29uc3QgTUFYX0NPTlRFTlRfV0lEVEggPSAyMjQ7XG4vLyBVc2UgMC45OSBpbnN0ZWFkIG9mIDEuMCB0byBoYW5kbGUgc3ViLXBpeGVsIHJvdW5kaW5nIGlzc3Vlc1xuLy8gdGhhdCBjYW4gY2F1c2UgaW50ZXJzZWN0aW9uUmF0aW8gdG8gcmVwb3J0IHZhbHVlcyBsaWtlIDAuOTlcbmNvbnN0IElOVEVSU0VDVElPTl9USFJFU0hPTEQgPSAwLjk5O1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZENvbnRhaW5lclByb3BzPihcbiAgKHtcbiAgICB0aGVtZSxcbiAgICBob3Jpem9udGFsUGxhY2VtZW50LFxuICAgIHZlcnRpY2FsUGxhY2VtZW50LFxuICAgIG1heFdpZHRoLFxuICAgIGNvbnRlbnRQYWRkaW5nLFxuICAgIHN1YlRoZW1lLFxuICAgIGlzSGlkZGVuLFxuICB9KSA9PiB7XG4gICAgY29uc3QgYW5pbWF0aW9uRGlzdGFuY2UgPVxuICAgICAgdmVydGljYWxQbGFjZW1lbnQgPT09IFwidG9wXCJcbiAgICAgICAgPyBgJHtBTklNQVRJT05fRElTVEFOQ0V9cHhgXG4gICAgICAgIDogYC0ke0FOSU1BVElPTl9ESVNUQU5DRX1weGA7XG4gICAgY29uc3QgYW5pbWF0aW9uID0ga2V5ZnJhbWVzKHtcbiAgICAgIHRvOiB7XG4gICAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGUsXG4gICAgICAgIHRyYW5zZm9ybTpcbiAgICAgICAgICBob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImNlbnRlclwiXG4gICAgICAgICAgICA/IGB0cmFuc2xhdGUoLTUwJSwgJHthbmltYXRpb25EaXN0YW5jZX0pYFxuICAgICAgICAgICAgOiBgdHJhbnNsYXRlWSgke2FuaW1hdGlvbkRpc3RhbmNlfSlgLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbnRlbnRQYWRkaW5nTWFwID0ge1xuICAgICAgczogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eHMsXG4gICAgICBtOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gICAgfTtcblxuICAgIGNvbnN0IGludmVydGVkU3ViVGhlbWVTdHlsZXMgPSB7XG4gICAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzfSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcuc31gLFxuICAgICAgLi4uKGNvbnRlbnRQYWRkaW5nICYmIHtcbiAgICAgICAgcGFkZGluZzogY29udGVudFBhZGRpbmdNYXBbY29udGVudFBhZGRpbmddLFxuICAgICAgfSksXG4gICAgfTtcblxuICAgIGNvbnN0IHpJbmRleCA9IHVzZVBvcnRhbENoaWxkWkluZGV4KHRoZW1lLnZhcmlhYmxlcy56SW5kZXgudG9vbHRpcCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgIHpJbmRleCxcbiAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbixcbiAgICAgIGFuaW1hdGlvbjogYCR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7YW5pbWF0aW9ufWAsXG4gICAgICBtYXhXaWR0aCxcbiAgICAgIHdpZHRoOiBcIm1heC1jb250ZW50XCIsXG4gICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBzdWJUaGVtZVxuICAgICAgICA/IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLnByaW1hcnkuZGVmYXVsdFxuICAgICAgICA6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBib3JkZXJSYWRpdXM6IHN1YlRoZW1lXG4gICAgICAgID8gdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzXG4gICAgICAgIDogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnMsXG5cbiAgICAgIC4uLihpc0hpZGRlbiAmJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IFwiaGlkZGVuXCIsXG4gICAgICB9KSxcblxuICAgICAgLi4uKCEhc3ViVGhlbWUgJiYgaW52ZXJ0ZWRTdWJUaGVtZVN0eWxlcyksXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJjZW50ZXJcIiAmJiB7XG4gICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSlcIixcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oIXN1YlRoZW1lICYmIHtcbiAgICAgICAgXCI6YWZ0ZXJcIjoge1xuICAgICAgICAgIGNvbnRlbnQ6ICdcIiBcIicsXG4gICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICAgICAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgICAgICAgICBwb2ludGVyRXZlbnRzOiBcIm5vbmVcIixcbiAgICAgICAgICBib3JkZXJSYWRpdXM6IFwiaW5oZXJpdFwiLFxuICAgICAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblszXSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkQXJyb3dQcm9wcyA9IFBpY2s8VG9vbHRpcENvbnRlbnRQcm9wcywgXCJzdWJUaGVtZVwiPiAmIHtcbiAgdmVydGljYWxQbGFjZW1lbnQ6IFRvb2x0aXBTdHlsZVtcInZlcnRpY2FsUGxhY2VtZW50XCJdO1xuICBob3Jpem9udGFsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJob3Jpem9udGFsUGxhY2VtZW50XCJdO1xuICBzaXplPzogMCB8IHR5cGVvZiBBUlJPV19TSVpFIHwgdHlwZW9mIEFSUk9XX1NJWkVfQklHO1xufTtcblxuLy8gVGhpcyBjb250YWluZXIgaXMgbGFyZ2UgZW5vdWdoIHRvIGNvbnRhaW4gdGhlIGFycm93IHNoYWRvdyBibHVyXG5jb25zdCBBUlJPV19DT05UQUlORVJfV0lEVEggPSA0MDtcblxuY29uc3QgU3R5bGVkQXJyb3cgPSBzdHlsZWQuZGl2PFN0eWxlZEFycm93UHJvcHM+KFxuICAoe1xuICAgIHRoZW1lLFxuICAgIHN1YlRoZW1lLFxuICAgIHZlcnRpY2FsUGxhY2VtZW50LFxuICAgIGhvcml6b250YWxQbGFjZW1lbnQsXG4gICAgc2l6ZSA9IEFSUk9XX1NJWkUsXG4gIH0pID0+IHtcbiAgICBjb25zdCBvZmZzZXQgPSBnZXRBcnJvd09mZnNldChzaXplKTtcbiAgICBjb25zdCBhZGp1c3RtZW50Rm9yU2hhZG93ID0gc3ViVGhlbWUgPyAwIDogMTtcbiAgICBjb25zdCBhcnJvd0NvbnRhaW5lckhlaWdodCA9IHNpemUgKyBESVNUQU5DRV9GUk9NX1RSSUdHRVI7XG4gICAgLy8gR2V0IGFycm93IHdpZHRoIGFuZCBoZWlnaHQgdXNpbmcgcHl0aG9nb3JhcyB0aGVvcmVtIGFuZCBhZGQgMSB0byBoZWlnaHQgdG8gYWNjb3VudCBmb3IgZGFyayBtb2RlIHNoYWRvdy5cbiAgICBjb25zdCBhcnJvd1NpZGVMZW5ndGggPSBNYXRoLnNxcnQoXG4gICAgICBzaXplICoqIDIgKyAoc2l6ZSArIGFkanVzdG1lbnRGb3JTaGFkb3cpICoqIDJcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICB3aWR0aDogQVJST1dfQ09OVEFJTkVSX1dJRFRILFxuICAgICAgaGVpZ2h0OiBhcnJvd0NvbnRhaW5lckhlaWdodCxcbiAgICAgIHpJbmRleDogMSxcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuXG4gICAgICAuLi4odmVydGljYWxQbGFjZW1lbnQgPT09IFwidG9wXCIgJiYge1xuICAgICAgICAvLyBwbGFjZSB0aGUgYXJyb3cgY29udGFpbmVyIDFweCBpbnNpZGUgdG9vbHRpcCBjb250YWluZXIgdG8gYWNjb3VudCBmb3IgZGFyayBtb2RlIGJveC1zaGFkb3dcbiAgICAgICAgdG9wOiBgY2FsYygxMDAlIC0gJHthZGp1c3RtZW50Rm9yU2hhZG93fXB4KWAsXG4gICAgICB9KSxcblxuICAgICAgLi4uKHZlcnRpY2FsUGxhY2VtZW50ID09PSBcImJvdHRvbVwiICYmIHtcbiAgICAgICAgLy8gcGxhY2UgdGhlIGFycm93IGNvbnRhaW5lciAxcHggaW5zaWRlIHRvb2x0aXAgY29udGFpbmVyIHRvIGFjY291bnQgZm9yIGRhcmsgbW9kZSBib3gtc2hhZG93XG4gICAgICAgIHRvcDogYC0ke2Fycm93Q29udGFpbmVySGVpZ2h0IC0gYWRqdXN0bWVudEZvclNoYWRvd31weGAsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwiY2VudGVyXCIgJiYge1xuICAgICAgICBsZWZ0OiBcIjUwJVwiLFxuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUpXCIsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwicmlnaHRcIiAmJiB7XG4gICAgICAgIGxlZnQ6IGAke29mZnNldCAtIChBUlJPV19DT05UQUlORVJfV0lEVEggLyAyIC0gc2l6ZSl9cHhgLFxuICAgICAgfSksXG5cbiAgICAgIC4uLihob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImxlZnRcIiAmJiB7XG4gICAgICAgIHJpZ2h0OiBgJHtvZmZzZXQgLSAoQVJST1dfQ09OVEFJTkVSX1dJRFRIIC8gMiAtIHNpemUpfXB4YCxcbiAgICAgIH0pLFxuXG4gICAgICBcIiY6OmFmdGVyXCI6IHtcbiAgICAgICAgY29udGVudDogJ1wiIFwiJyxcbiAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgdG9wOiB2ZXJ0aWNhbFBsYWNlbWVudCA9PT0gXCJ0b3BcIiA/IDAgOiBcIjEwMCVcIixcbiAgICAgICAgbGVmdDogXCI1MCVcIixcbiAgICAgICAgd2lkdGg6IGFycm93U2lkZUxlbmd0aCxcbiAgICAgICAgaGVpZ2h0OiBhcnJvd1NpZGVMZW5ndGgsXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogc3ViVGhlbWVcbiAgICAgICAgICA/IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLnByaW1hcnkuZGVmYXVsdFxuICAgICAgICAgIDogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQuZWxldmF0ZWQuZGVmYXVsdCxcbiAgICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpXCIsXG5cbiAgICAgICAgLi4uKCFzdWJUaGVtZSAmJiB7XG4gICAgICAgICAgYm94U2hhZG93OiB0aGVtZS52YWx1ZXMuZWxldmF0aW9uWzNdLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuKTtcblxuY29uc3QgaW5pdGlhbFN0eWxlOiBUb29sdGlwU3R5bGUgPSB7XG4gIHRvcDogMCxcbiAgbGVmdDogMCxcbiAgdmVydGljYWxQbGFjZW1lbnQ6IFwidG9wXCIsXG4gIGhvcml6b250YWxQbGFjZW1lbnQ6IFwiY2VudGVyXCIsXG59O1xuXG5sZXQgbGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wID0gMDtcblxuLyogRGlzYWJsZSBhbmltYXRpb24gaWYgdGltZSBiZXR3ZWVuIGxhc3QgY2xvc2UgYW5kIG5ldyBvcGVuIGlzIGxlc3MgdGhhbiA1MDBtcyArIFNIT1dfSElERV9ERUxBWSAqL1xuZnVuY3Rpb24gZ2V0QW5pbWF0aW9uRHVyYXRpb24oKSB7XG4gIGxldCBhbmltYXRpb25EdXJhdGlvbiA9IGAke0FOSU1BVElPTl9EVVJBVElPTn1tc2A7XG5cbiAgaWYgKGxhc3RUb29sdGlwSGlkZVRpbWVzdGFtcCkge1xuICAgIGNvbnN0IHRpbWVTaW5jZUxhc3RUb29sdGlwID0gRGF0ZS5ub3coKSAtIGxhc3RUb29sdGlwSGlkZVRpbWVzdGFtcDtcblxuICAgIGlmICh0aW1lU2luY2VMYXN0VG9vbHRpcCA8IDUwMCArIFNIT1dfSElERV9ERUxBWSkge1xuICAgICAgYW5pbWF0aW9uRHVyYXRpb24gPSBcIjBtc1wiO1xuICAgIH1cbiAgfVxuICByZXR1cm4gYW5pbWF0aW9uRHVyYXRpb247XG59XG5cbi8qKiBUaGlzIGNvbXBvbmVudCBpcyB1c2VkIHRvIGRpc3BsYXkgdGhlIG92ZXJsYXkgZm9yIGJvdGggVG9nZ2xldGlwIGFuZCBUb29sdGlwIGNvbXBvbmVudHMgKi9cbmV4cG9ydCBmdW5jdGlvbiBUb29sdGlwQ29udGVudCh7XG4gIHBsYWNlbWVudCA9IFwiYXV0b1wiLFxuICBjb250ZW50LFxuICB0b29sdGlwSWQsXG4gIHRyaWdnZXJSZWYsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgZGF0YUUyZVRlc3RJZCxcbiAgZGF0YURTSWQsXG4gIGlzVmlzaWJsZSxcbiAgXCJhcmlhLWhpZGRlblwiOiBhcmlhSGlkZGVuLFxuICByb2xlLFxuICB0YWJJbmRleCxcbiAgY29udGVudFBhZGRpbmcsXG4gIG1heFdpZHRoID0gTUFYX0NPTlRFTlRfV0lEVEgsXG4gIHN1YlRoZW1lLFxuICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQsXG4gIGhpZGVBcnJvdyA9IGZhbHNlLFxuICBpc0hpZGRlbk9uSW52aXNpYmxlVHJpZ2dlciA9IGZhbHNlLFxuICBvblRvb2x0aXBQb2ludGVyRW50ZXIsXG4gIG9uVG9vbHRpcFBvaW50ZXJMZWF2ZSxcbiAgb25PdmVyZmxvd1ZpZXdwb3J0LFxuICAuLi5hcmlhQXR0cmlidXRlc1xufTogVG9vbHRpcENvbnRlbnRQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IFtzdHlsZSwgc2V0U3R5bGVdID0gdXNlU3RhdGUoaW5pdGlhbFN0eWxlKTtcbiAgY29uc3QgW2lzSGlkZGVuLCBzZXRJc0hpZGRlbl0gPSB1c2VTdGF0ZShmYWxzZSk7IC8vIGNzcyB2aXNpYmlsdHkgaGlkZGVuXG4gIGNvbnN0IHRvb2x0aXBSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZiA9IHVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IGRvY3VtZW50ID0gdXNlRG9jdW1lbnQoKTtcbiAgY29uc3Qgd2luZG93ID0gdXNlV2luZG93KCk7XG5cbiAgY29uc3QgYXJyb3dTaXplID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGhpZGVBcnJvdykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBzdWJUaGVtZSA/IEFSUk9XX1NJWkUgOiBBUlJPV19TSVpFX0JJRztcbiAgfSwgW3N1YlRoZW1lLCBoaWRlQXJyb3ddKTtcblxuICBjb25zdCBoYW5kbGVWaWV3cG9ydE92ZXJmbG93ID0gdXNlQ2FsbGJhY2s8XG4gICAgVG9vbHRpcENvbnRlbnRQcm9wc1tcIm9uT3ZlcmZsb3dWaWV3cG9ydFwiXVxuICA+KFxuICAgICh0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QsIHZpZXdwb3J0SGVpZ2h0KSA9PiB7XG4gICAgICBpZiAoIWlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZi5jdXJyZW50KSB7XG4gICAgICAgIG9uT3ZlcmZsb3dWaWV3cG9ydD8uKHRyaWdnZXJSZWN0LCB0b29sdGlwUmVjdCwgdmlld3BvcnRIZWlnaHQpO1xuICAgICAgICBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICB9XG4gICAgfSxcbiAgICBbb25PdmVyZmxvd1ZpZXdwb3J0LCBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWZdXG4gICk7XG5cbiAgY29uc3QgY2FsY3VsYXRlU3R5bGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKHRyaWdnZXJSZWYuY3VycmVudCAmJiB0b29sdGlwUmVmLmN1cnJlbnQpIHtcbiAgICAgIC8vIGNhbGN1bGF0ZSB0b29sdGlwIHN0eWxlXG4gICAgICBzZXRTdHlsZShcbiAgICAgICAgZ2V0VG9vbHRpcFN0eWxlKHtcbiAgICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgICAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50LFxuICAgICAgICAgIHRyaWdnZXJSZWYsXG4gICAgICAgICAgdG9vbHRpcFJlZixcbiAgICAgICAgICBkb2N1bWVudCxcbiAgICAgICAgICB3aW5kb3csXG4gICAgICAgICAgYXJyb3dTaXplLFxuICAgICAgICAgIG9uT3ZlcmZsb3dWaWV3cG9ydDogaGFuZGxlVmlld3BvcnRPdmVyZmxvdyxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9LCBbXG4gICAgdHJpZ2dlclJlZixcbiAgICB0b29sdGlwUmVmLFxuICAgIGRvY3VtZW50LFxuICAgIHdpbmRvdyxcbiAgICBwbGFjZW1lbnQsXG4gICAgYXJyb3dTaXplLFxuICAgIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgICBoYW5kbGVWaWV3cG9ydE92ZXJmbG93LFxuICBdKTtcblxuICAvLyBUaGlzIGxheW91dCBlZmZlY3QgdG8gcmUtcmVuZGVyIHdpdGggdXBkYXRlZCBwb3NpdGlvbiBhZnRlciBkZXRlcm1pbmluZyBjb250ZW50IHdpZHRoXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSkge1xuICAgICAgY2FsY3VsYXRlU3R5bGUoKTtcbiAgICB9XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCBjb250ZW50UGFkZGluZywgY29udGVudCwgbWF4V2lkdGhdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc1Zpc2libGUgJiYgdG9vbHRpcFJlZi5jdXJyZW50KSB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjYWxjdWxhdGVTdHlsZSk7XG4gICAgfSBlbHNlIGlmICghaXNWaXNpYmxlKSB7XG4gICAgICAvLyBsb2cgdGltZSB3aGVuIHRvb2x0aXAgY2xvc2VzXG4gICAgICBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjYWxjdWxhdGVTdHlsZSk7XG4gICAgfTtcbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIHdpbmRvdywgdG9vbHRpcFJlZl0pO1xuXG4gIC8vIE9ic2VydmUgdG9vbHRpcCBlbGVtZW50IHNpemUgY2hhbmdlcyB0byByZWNhbGN1bGF0ZSBwb3NpdGlvbmluZ1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBpZiAoXG4gICAgICBpc1Zpc2libGUgJiZcbiAgICAgIHRvb2x0aXBSZWYuY3VycmVudCAmJlxuICAgICAgdHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiXG4gICAgKSB7XG4gICAgICByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xuICAgICAgICBlbnRyaWVzLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICAgICAgaWYgKGVudHJ5LmNvbnRlbnRSZWN0LndpZHRoID4gMCAmJiBlbnRyeS5jb250ZW50UmVjdC5oZWlnaHQgPiAwKSB7XG4gICAgICAgICAgICBjYWxjdWxhdGVTdHlsZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0b29sdGlwUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCB0b29sdGlwUmVmXSk7XG5cbiAgLy8gUmVjYWxjdWxhdGUgcG9zaXRpb24gd2hlbiB0aGUgdHJpZ2dlciBtb3ZlcyB3aXRob3V0IGVtaXR0aW5nIHNjcm9sbC9yZXNpemVcbiAgLy8gZXZlbnRzIChlLmcuIENTUyB0cmFuc2Zvcm1zLCBjYW52YXMgem9vbS9wYW4pLlxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNWaXNpYmxlKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgbGV0IHJlcXVlc3RBbmltYXRpb25GcmFtZUlkOiBudW1iZXI7XG4gICAgbGV0IHByZXZSZWN0OiBET01SZWN0IHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgcmVjYWxjdWxhdGVQb3NpdGlvbiA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG5leHRSZWN0ID0gdHJpZ2dlclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGlmIChcbiAgICAgICAgcHJldlJlY3QgJiZcbiAgICAgICAgbmV4dFJlY3QgJiZcbiAgICAgICAgKHByZXZSZWN0LnggIT09IG5leHRSZWN0LnggfHxcbiAgICAgICAgICBwcmV2UmVjdC55ICE9PSBuZXh0UmVjdC55IHx8XG4gICAgICAgICAgcHJldlJlY3Qud2lkdGggIT09IG5leHRSZWN0LndpZHRoIHx8XG4gICAgICAgICAgcHJldlJlY3QuaGVpZ2h0ICE9PSBuZXh0UmVjdC5oZWlnaHQpXG4gICAgICApIHtcbiAgICAgICAgY2FsY3VsYXRlU3R5bGUoKTtcbiAgICAgIH1cbiAgICAgIHByZXZSZWN0ID0gbmV4dFJlY3Q7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShyZWNhbGN1bGF0ZVBvc2l0aW9uKTtcbiAgICB9O1xuXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUocmVjYWxjdWxhdGVQb3NpdGlvbik7XG4gICAgcmV0dXJuICgpID0+IGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJlcXVlc3RBbmltYXRpb25GcmFtZUlkKTtcbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIHRyaWdnZXJSZWZdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZi5jdXJyZW50ID0gZmFsc2U7XG4gIH0sIFtpc1Zpc2libGUsIGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZl0pO1xuXG4gIC8qIEhpZGUgKHZpc2liaWxpdHk6IGhpZGRlbikgdG9vbHRpcCBpZiB0cmlnZ2VyIGlzIHNjcm9sbGVkIG91dCBvZiB2aWV3ICovXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IG9ic2VydmVyOiBJbnRlcnNlY3Rpb25PYnNlcnZlcjtcblxuICAgIGlmIChcbiAgICAgIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyICYmXG4gICAgICB0cmlnZ2VyUmVmLmN1cnJlbnQgJiZcbiAgICAgIGlzVmlzaWJsZSAmJlxuICAgICAgdHlwZW9mIEludGVyc2VjdGlvbk9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiXG4gICAgKSB7XG4gICAgICBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgICAgKGVudHJpZXMpID0+XG4gICAgICAgICAgZW50cmllcy5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVjdCA9IGVudHJ5LmJvdW5kaW5nQ2xpZW50UmVjdDtcblxuICAgICAgICAgICAgLy8gSWdub3JlIGludGVyc2VjdGlvbiBjaGFuZ2VzIHdoZW4gZWxlbWVudCBoYXMgemVybyBkaW1lbnNpb25zXG4gICAgICAgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gZHVyaW5nIERPTSB1cGRhdGVzL3BvcnRhbCByZW5kZXJpbmdcbiAgICAgICAgICAgIGlmIChyZWN0Py53aWR0aCA9PT0gMCAmJiByZWN0Py5oZWlnaHQgPT09IDApIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZXRJc0hpZGRlbighZW50cnkuaXNJbnRlcnNlY3RpbmcpO1xuICAgICAgICAgIH0pLFxuICAgICAgICB7XG4gICAgICAgICAgcm9vdDogbnVsbCwgLy8gdmlld3BvcnRcbiAgICAgICAgICB0aHJlc2hvbGQ6IElOVEVSU0VDVElPTl9USFJFU0hPTEQsXG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIG9ic2VydmVyLm9ic2VydmUodHJpZ2dlclJlZi5jdXJyZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKG9ic2VydmVyKSB7XG4gICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbdHJpZ2dlclJlZiwgaXNWaXNpYmxlLCBpc0hpZGRlbk9uSW52aXNpYmxlVHJpZ2dlcl0pO1xuXG4gIGlmICghaXNWaXNpYmxlKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCB0b29sdGlwRWxtID0gKFxuICAgIDxTdHlsZWRDb250YWluZXJcbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICBkYXRhLWRzLWlkPXtkYXRhRFNJZH1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHRvcDogc3R5bGUudG9wLFxuICAgICAgICBsZWZ0OiBzdHlsZS5sZWZ0LFxuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogZ2V0QW5pbWF0aW9uRHVyYXRpb24oKSxcbiAgICAgIH19XG4gICAgICByZWY9e3Rvb2x0aXBSZWZ9XG4gICAgICBpZD17dG9vbHRpcElkfVxuICAgICAgcm9sZT17cm9sZX1cbiAgICAgIHsuLi5hcmlhQXR0cmlidXRlc31cbiAgICAgIGFyaWEtaGlkZGVuPXthcmlhSGlkZGVufVxuICAgICAgc3ViVGhlbWU9e3N1YlRoZW1lfVxuICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgaG9yaXpvbnRhbFBsYWNlbWVudD17c3R5bGUuaG9yaXpvbnRhbFBsYWNlbWVudH1cbiAgICAgIHZlcnRpY2FsUGxhY2VtZW50PXtzdHlsZS52ZXJ0aWNhbFBsYWNlbWVudH1cbiAgICAgIG1heFdpZHRoPXttYXhXaWR0aH1cbiAgICAgIGNvbnRlbnRQYWRkaW5nPXtjb250ZW50UGFkZGluZ31cbiAgICAgIGlzSGlkZGVuPXtpc0hpZGRlbn1cbiAgICAgIG9uUG9pbnRlckVudGVyPXtvblRvb2x0aXBQb2ludGVyRW50ZXJ9XG4gICAgICBvblBvaW50ZXJMZWF2ZT17b25Ub29sdGlwUG9pbnRlckxlYXZlfVxuICAgID5cbiAgICAgIHtjb250ZW50fVxuICAgICAgeyFoaWRlQXJyb3cgJiYgKFxuICAgICAgICA8U3R5bGVkQXJyb3dcbiAgICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtgJHtkYXRhRTJlVGVzdElkfV9hcnJvd2B9XG4gICAgICAgICAgc3ViVGhlbWU9e3N1YlRoZW1lfVxuICAgICAgICAgIGhvcml6b250YWxQbGFjZW1lbnQ9e3N0eWxlLmhvcml6b250YWxQbGFjZW1lbnR9XG4gICAgICAgICAgdmVydGljYWxQbGFjZW1lbnQ9e3N0eWxlLnZlcnRpY2FsUGxhY2VtZW50fVxuICAgICAgICAgIHNpemU9e2Fycm93U2l6ZX1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG5cbiAgY29uc3Qgd3JhcHBlckVsbSA9IHN1YlRoZW1lID8gKFxuICAgIDxTdWJUaGVtZVByb3ZpZGVyIG5hbWU9e3N1YlRoZW1lfT57dG9vbHRpcEVsbX08L1N1YlRoZW1lUHJvdmlkZXI+XG4gICkgOiAoXG4gICAgdG9vbHRpcEVsbVxuICApO1xuXG4gIHJldHVybiA8UG9ydGFsIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfT57d3JhcHBlckVsbX08L1BvcnRhbD47XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUZ3QiJ9 */"),StyledArrow=styled("div",{target:"ef71jkb1",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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVG9vbHRpcC9Ub29sdGlwQ29udGVudC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Rvb2x0aXAvVG9vbHRpcENvbnRlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIE11dGFibGVSZWZPYmplY3QsIFJlYWN0RWxlbWVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGtleWZyYW1lcyB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eSB9IGZyb20gXCJjc3N0eXBlXCI7XG5pbXBvcnQgeyB1c2VEb2N1bWVudCB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlRG9jdW1lbnRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5pbXBvcnQgeyBTdWJUaGVtZVByb3ZpZGVyIH0gZnJvbSBcIi4uL1N1YlRoZW1lUHJvdmlkZXIvU3ViVGhlbWVQcm92aWRlclwiO1xuaW1wb3J0IHR5cGUgeyBTdWJUaGVtZVR5cGVzIH0gZnJvbSBcIi4uLy4uL3dlYi10b2tlbnMvX3N1YlRoZW1lVHlwZVwiO1xuaW1wb3J0IHtcbiAgUG9ydGFsLFxuICB1c2VQb3J0YWxDaGlsZFpJbmRleCxcbiAgdHlwZSBQb3J0YWxQcm9wcyxcbn0gZnJvbSBcIi4uL1BvcnRhbC9Qb3J0YWxcIjtcblxuaW1wb3J0IHtcbiAgQU5JTUFUSU9OX0RJU1RBTkNFLFxuICBBUlJPV19TSVpFLFxuICBBUlJPV19TSVpFX0JJRyxcbiAgRElTVEFOQ0VfRlJPTV9UUklHR0VSLFxuICBnZXRBcnJvd09mZnNldCxcbiAgZ2V0VG9vbHRpcFN0eWxlLFxufSBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgdHlwZSBUb29sdGlwQ29udGVudFByb3BzID0ge1xuICBjb250ZW50OiBSZWFjdEVsZW1lbnQ7XG4gIHRyaWdnZXJSZWY6IE11dGFibGVSZWZPYmplY3Q8YW55PjtcbiAgcGxhY2VtZW50PzpcbiAgICB8IFwiYXV0b1wiXG4gICAgfCBcInRvcFwiXG4gICAgfCBcImJvdHRvbVwiXG4gICAgfCBcInRvcC1sZWZ0XCJcbiAgICB8IFwidG9wLXJpZ2h0XCJcbiAgICB8IFwiYm90dG9tLWxlZnRcIlxuICAgIHwgXCJib3R0b20tcmlnaHRcIjtcbiAgZGF0YUUyZVRlc3RJZD86IHN0cmluZztcbiAgZGF0YURTSWQ6IHN0cmluZztcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcbiAgdG9vbHRpcElkPzogc3RyaW5nO1xuICByb2xlPzogc3RyaW5nO1xuICB0YWJJbmRleD86IG51bWJlcjtcbiAgY29udGVudFBhZGRpbmc/OiBcInNcIiB8IFwibVwiO1xuICBzdWJUaGVtZT86IFN1YlRoZW1lVHlwZXM7XG4gIG1heFdpZHRoPzogUHJvcGVydHkuTWF4V2lkdGggfCBudW1iZXI7XG4gIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudD86IFRvb2x0aXBTdHlsZVtcInZlcnRpY2FsUGxhY2VtZW50XCJdO1xuICBoaWRlQXJyb3c/OiBib29sZWFuO1xuICAvKiogU2V0cyBjc3MgdmlzaWJpbGl0eSBoaWRkZW4gd2hlbiB0cmlnZ2VyIGlzIHNjcm9sbGVkIG91dCBvZiB2aWV3ICovXG4gIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyPzogYm9vbGVhbjtcbiAgb25Ub29sdGlwUG9pbnRlckVudGVyPzogUmVhY3QuUG9pbnRlckV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIG9uVG9vbHRpcFBvaW50ZXJMZWF2ZT86IFJlYWN0LlBvaW50ZXJFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICAvKiogVGhpcyBjYWxsYmFjayBpcyB0cmlnZ2VyZWQgd2hlbiBjb250ZW50IG92ZXJmbG93cyB0aGUgdmlld3BvcnQgYm90aCBhYm92ZSBhbmQgYmVsb3cgdHJpZ2dlci4gVXNlIHRoaXMgZm9yIHRyYWNraW5nIHB1cnBvc2VzIG9yIHJlLXJlbmRlcmluZyBQb3BvdmVyIHdpdGggYSBsYXJnZXIgbWF4V2lkdGggKi9cbiAgb25PdmVyZmxvd1ZpZXdwb3J0PzogKFxuICAgIHRyaWdnZXJSZWN0OiBET01SZWN0LFxuICAgIHRvb2x0aXBSZWN0OiBET01SZWN0LFxuICAgIHZpZXdwb3J0SGVpZ2h0OiBudW1iZXJcbiAgKSA9PiB2b2lkO1xufSAmIFBpY2s8UG9ydGFsUHJvcHMsIFwicG9ydGFsQ29udGFpbmVyXCI+ICZcbiAgQXJpYUF0dHJpYnV0ZXM7XG5cbmV4cG9ydCB0eXBlIFRvb2x0aXBTdHlsZSA9IHtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogXCJsZWZ0XCIgfCBcInJpZ2h0XCIgfCBcImNlbnRlclwiO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogXCJ0b3BcIiB8IFwiYm90dG9tXCI7XG59O1xuXG50eXBlIFN0eWxlZENvbnRhaW5lclByb3BzID0gUGljazxcbiAgVG9vbHRpcENvbnRlbnRQcm9wcyxcbiAgXCJjb250ZW50UGFkZGluZ1wiIHwgXCJtYXhXaWR0aFwiIHwgXCJzdWJUaGVtZVwiXG4+ICYge1xuICBob3Jpem9udGFsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJob3Jpem9udGFsUGxhY2VtZW50XCJdO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGlzSGlkZGVuOiBib29sZWFuO1xufTtcblxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OID0gMjAwO1xuY29uc3QgU0hPV19ISURFX0RFTEFZID0gMjAwO1xuY29uc3QgTUFYX0NPTlRFTlRfV0lEVEggPSAyMjQ7XG4vLyBVc2UgMC45OSBpbnN0ZWFkIG9mIDEuMCB0byBoYW5kbGUgc3ViLXBpeGVsIHJvdW5kaW5nIGlzc3Vlc1xuLy8gdGhhdCBjYW4gY2F1c2UgaW50ZXJzZWN0aW9uUmF0aW8gdG8gcmVwb3J0IHZhbHVlcyBsaWtlIDAuOTlcbmNvbnN0IElOVEVSU0VDVElPTl9USFJFU0hPTEQgPSAwLjk5O1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZENvbnRhaW5lclByb3BzPihcbiAgKHtcbiAgICB0aGVtZSxcbiAgICBob3Jpem9udGFsUGxhY2VtZW50LFxuICAgIHZlcnRpY2FsUGxhY2VtZW50LFxuICAgIG1heFdpZHRoLFxuICAgIGNvbnRlbnRQYWRkaW5nLFxuICAgIHN1YlRoZW1lLFxuICAgIGlzSGlkZGVuLFxuICB9KSA9PiB7XG4gICAgY29uc3QgYW5pbWF0aW9uRGlzdGFuY2UgPVxuICAgICAgdmVydGljYWxQbGFjZW1lbnQgPT09IFwidG9wXCJcbiAgICAgICAgPyBgJHtBTklNQVRJT05fRElTVEFOQ0V9cHhgXG4gICAgICAgIDogYC0ke0FOSU1BVElPTl9ESVNUQU5DRX1weGA7XG4gICAgY29uc3QgYW5pbWF0aW9uID0ga2V5ZnJhbWVzKHtcbiAgICAgIHRvOiB7XG4gICAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGUsXG4gICAgICAgIHRyYW5zZm9ybTpcbiAgICAgICAgICBob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImNlbnRlclwiXG4gICAgICAgICAgICA/IGB0cmFuc2xhdGUoLTUwJSwgJHthbmltYXRpb25EaXN0YW5jZX0pYFxuICAgICAgICAgICAgOiBgdHJhbnNsYXRlWSgke2FuaW1hdGlvbkRpc3RhbmNlfSlgLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbnRlbnRQYWRkaW5nTWFwID0ge1xuICAgICAgczogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eHMsXG4gICAgICBtOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gICAgfTtcblxuICAgIGNvbnN0IGludmVydGVkU3ViVGhlbWVTdHlsZXMgPSB7XG4gICAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzfSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcuc31gLFxuICAgICAgLi4uKGNvbnRlbnRQYWRkaW5nICYmIHtcbiAgICAgICAgcGFkZGluZzogY29udGVudFBhZGRpbmdNYXBbY29udGVudFBhZGRpbmddLFxuICAgICAgfSksXG4gICAgfTtcblxuICAgIGNvbnN0IHpJbmRleCA9IHVzZVBvcnRhbENoaWxkWkluZGV4KHRoZW1lLnZhcmlhYmxlcy56SW5kZXgudG9vbHRpcCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgIHpJbmRleCxcbiAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbixcbiAgICAgIGFuaW1hdGlvbjogYCR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7YW5pbWF0aW9ufWAsXG4gICAgICBtYXhXaWR0aCxcbiAgICAgIHdpZHRoOiBcIm1heC1jb250ZW50XCIsXG4gICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBzdWJUaGVtZVxuICAgICAgICA/IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLnByaW1hcnkuZGVmYXVsdFxuICAgICAgICA6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBib3JkZXJSYWRpdXM6IHN1YlRoZW1lXG4gICAgICAgID8gdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzXG4gICAgICAgIDogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnMsXG5cbiAgICAgIC4uLihpc0hpZGRlbiAmJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IFwiaGlkZGVuXCIsXG4gICAgICB9KSxcblxuICAgICAgLi4uKCEhc3ViVGhlbWUgJiYgaW52ZXJ0ZWRTdWJUaGVtZVN0eWxlcyksXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJjZW50ZXJcIiAmJiB7XG4gICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSlcIixcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oIXN1YlRoZW1lICYmIHtcbiAgICAgICAgXCI6YWZ0ZXJcIjoge1xuICAgICAgICAgIGNvbnRlbnQ6ICdcIiBcIicsXG4gICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICAgICAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgICAgICAgICBwb2ludGVyRXZlbnRzOiBcIm5vbmVcIixcbiAgICAgICAgICBib3JkZXJSYWRpdXM6IFwiaW5oZXJpdFwiLFxuICAgICAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblszXSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkQXJyb3dQcm9wcyA9IFBpY2s8VG9vbHRpcENvbnRlbnRQcm9wcywgXCJzdWJUaGVtZVwiPiAmIHtcbiAgdmVydGljYWxQbGFjZW1lbnQ6IFRvb2x0aXBTdHlsZVtcInZlcnRpY2FsUGxhY2VtZW50XCJdO1xuICBob3Jpem9udGFsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJob3Jpem9udGFsUGxhY2VtZW50XCJdO1xuICBzaXplPzogMCB8IHR5cGVvZiBBUlJPV19TSVpFIHwgdHlwZW9mIEFSUk9XX1NJWkVfQklHO1xufTtcblxuLy8gVGhpcyBjb250YWluZXIgaXMgbGFyZ2UgZW5vdWdoIHRvIGNvbnRhaW4gdGhlIGFycm93IHNoYWRvdyBibHVyXG5jb25zdCBBUlJPV19DT05UQUlORVJfV0lEVEggPSA0MDtcblxuY29uc3QgU3R5bGVkQXJyb3cgPSBzdHlsZWQuZGl2PFN0eWxlZEFycm93UHJvcHM+KFxuICAoe1xuICAgIHRoZW1lLFxuICAgIHN1YlRoZW1lLFxuICAgIHZlcnRpY2FsUGxhY2VtZW50LFxuICAgIGhvcml6b250YWxQbGFjZW1lbnQsXG4gICAgc2l6ZSA9IEFSUk9XX1NJWkUsXG4gIH0pID0+IHtcbiAgICBjb25zdCBvZmZzZXQgPSBnZXRBcnJvd09mZnNldChzaXplKTtcbiAgICBjb25zdCBhZGp1c3RtZW50Rm9yU2hhZG93ID0gc3ViVGhlbWUgPyAwIDogMTtcbiAgICBjb25zdCBhcnJvd0NvbnRhaW5lckhlaWdodCA9IHNpemUgKyBESVNUQU5DRV9GUk9NX1RSSUdHRVI7XG4gICAgLy8gR2V0IGFycm93IHdpZHRoIGFuZCBoZWlnaHQgdXNpbmcgcHl0aG9nb3JhcyB0aGVvcmVtIGFuZCBhZGQgMSB0byBoZWlnaHQgdG8gYWNjb3VudCBmb3IgZGFyayBtb2RlIHNoYWRvdy5cbiAgICBjb25zdCBhcnJvd1NpZGVMZW5ndGggPSBNYXRoLnNxcnQoXG4gICAgICBzaXplICoqIDIgKyAoc2l6ZSArIGFkanVzdG1lbnRGb3JTaGFkb3cpICoqIDJcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICB3aWR0aDogQVJST1dfQ09OVEFJTkVSX1dJRFRILFxuICAgICAgaGVpZ2h0OiBhcnJvd0NvbnRhaW5lckhlaWdodCxcbiAgICAgIHpJbmRleDogMSxcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuXG4gICAgICAuLi4odmVydGljYWxQbGFjZW1lbnQgPT09IFwidG9wXCIgJiYge1xuICAgICAgICAvLyBwbGFjZSB0aGUgYXJyb3cgY29udGFpbmVyIDFweCBpbnNpZGUgdG9vbHRpcCBjb250YWluZXIgdG8gYWNjb3VudCBmb3IgZGFyayBtb2RlIGJveC1zaGFkb3dcbiAgICAgICAgdG9wOiBgY2FsYygxMDAlIC0gJHthZGp1c3RtZW50Rm9yU2hhZG93fXB4KWAsXG4gICAgICB9KSxcblxuICAgICAgLi4uKHZlcnRpY2FsUGxhY2VtZW50ID09PSBcImJvdHRvbVwiICYmIHtcbiAgICAgICAgLy8gcGxhY2UgdGhlIGFycm93IGNvbnRhaW5lciAxcHggaW5zaWRlIHRvb2x0aXAgY29udGFpbmVyIHRvIGFjY291bnQgZm9yIGRhcmsgbW9kZSBib3gtc2hhZG93XG4gICAgICAgIHRvcDogYC0ke2Fycm93Q29udGFpbmVySGVpZ2h0IC0gYWRqdXN0bWVudEZvclNoYWRvd31weGAsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwiY2VudGVyXCIgJiYge1xuICAgICAgICBsZWZ0OiBcIjUwJVwiLFxuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUpXCIsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwicmlnaHRcIiAmJiB7XG4gICAgICAgIGxlZnQ6IGAke29mZnNldCAtIChBUlJPV19DT05UQUlORVJfV0lEVEggLyAyIC0gc2l6ZSl9cHhgLFxuICAgICAgfSksXG5cbiAgICAgIC4uLihob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImxlZnRcIiAmJiB7XG4gICAgICAgIHJpZ2h0OiBgJHtvZmZzZXQgLSAoQVJST1dfQ09OVEFJTkVSX1dJRFRIIC8gMiAtIHNpemUpfXB4YCxcbiAgICAgIH0pLFxuXG4gICAgICBcIiY6OmFmdGVyXCI6IHtcbiAgICAgICAgY29udGVudDogJ1wiIFwiJyxcbiAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgdG9wOiB2ZXJ0aWNhbFBsYWNlbWVudCA9PT0gXCJ0b3BcIiA/IDAgOiBcIjEwMCVcIixcbiAgICAgICAgbGVmdDogXCI1MCVcIixcbiAgICAgICAgd2lkdGg6IGFycm93U2lkZUxlbmd0aCxcbiAgICAgICAgaGVpZ2h0OiBhcnJvd1NpZGVMZW5ndGgsXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogc3ViVGhlbWVcbiAgICAgICAgICA/IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLnByaW1hcnkuZGVmYXVsdFxuICAgICAgICAgIDogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQuZWxldmF0ZWQuZGVmYXVsdCxcbiAgICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpXCIsXG5cbiAgICAgICAgLi4uKCFzdWJUaGVtZSAmJiB7XG4gICAgICAgICAgYm94U2hhZG93OiB0aGVtZS52YWx1ZXMuZWxldmF0aW9uWzNdLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuKTtcblxuY29uc3QgaW5pdGlhbFN0eWxlOiBUb29sdGlwU3R5bGUgPSB7XG4gIHRvcDogMCxcbiAgbGVmdDogMCxcbiAgdmVydGljYWxQbGFjZW1lbnQ6IFwidG9wXCIsXG4gIGhvcml6b250YWxQbGFjZW1lbnQ6IFwiY2VudGVyXCIsXG59O1xuXG5sZXQgbGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wID0gMDtcblxuLyogRGlzYWJsZSBhbmltYXRpb24gaWYgdGltZSBiZXR3ZWVuIGxhc3QgY2xvc2UgYW5kIG5ldyBvcGVuIGlzIGxlc3MgdGhhbiA1MDBtcyArIFNIT1dfSElERV9ERUxBWSAqL1xuZnVuY3Rpb24gZ2V0QW5pbWF0aW9uRHVyYXRpb24oKSB7XG4gIGxldCBhbmltYXRpb25EdXJhdGlvbiA9IGAke0FOSU1BVElPTl9EVVJBVElPTn1tc2A7XG5cbiAgaWYgKGxhc3RUb29sdGlwSGlkZVRpbWVzdGFtcCkge1xuICAgIGNvbnN0IHRpbWVTaW5jZUxhc3RUb29sdGlwID0gRGF0ZS5ub3coKSAtIGxhc3RUb29sdGlwSGlkZVRpbWVzdGFtcDtcblxuICAgIGlmICh0aW1lU2luY2VMYXN0VG9vbHRpcCA8IDUwMCArIFNIT1dfSElERV9ERUxBWSkge1xuICAgICAgYW5pbWF0aW9uRHVyYXRpb24gPSBcIjBtc1wiO1xuICAgIH1cbiAgfVxuICByZXR1cm4gYW5pbWF0aW9uRHVyYXRpb247XG59XG5cbi8qKiBUaGlzIGNvbXBvbmVudCBpcyB1c2VkIHRvIGRpc3BsYXkgdGhlIG92ZXJsYXkgZm9yIGJvdGggVG9nZ2xldGlwIGFuZCBUb29sdGlwIGNvbXBvbmVudHMgKi9cbmV4cG9ydCBmdW5jdGlvbiBUb29sdGlwQ29udGVudCh7XG4gIHBsYWNlbWVudCA9IFwiYXV0b1wiLFxuICBjb250ZW50LFxuICB0b29sdGlwSWQsXG4gIHRyaWdnZXJSZWYsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgZGF0YUUyZVRlc3RJZCxcbiAgZGF0YURTSWQsXG4gIGlzVmlzaWJsZSxcbiAgXCJhcmlhLWhpZGRlblwiOiBhcmlhSGlkZGVuLFxuICByb2xlLFxuICB0YWJJbmRleCxcbiAgY29udGVudFBhZGRpbmcsXG4gIG1heFdpZHRoID0gTUFYX0NPTlRFTlRfV0lEVEgsXG4gIHN1YlRoZW1lLFxuICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQsXG4gIGhpZGVBcnJvdyA9IGZhbHNlLFxuICBpc0hpZGRlbk9uSW52aXNpYmxlVHJpZ2dlciA9IGZhbHNlLFxuICBvblRvb2x0aXBQb2ludGVyRW50ZXIsXG4gIG9uVG9vbHRpcFBvaW50ZXJMZWF2ZSxcbiAgb25PdmVyZmxvd1ZpZXdwb3J0LFxuICAuLi5hcmlhQXR0cmlidXRlc1xufTogVG9vbHRpcENvbnRlbnRQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IFtzdHlsZSwgc2V0U3R5bGVdID0gdXNlU3RhdGUoaW5pdGlhbFN0eWxlKTtcbiAgY29uc3QgW2lzSGlkZGVuLCBzZXRJc0hpZGRlbl0gPSB1c2VTdGF0ZShmYWxzZSk7IC8vIGNzcyB2aXNpYmlsdHkgaGlkZGVuXG4gIGNvbnN0IHRvb2x0aXBSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZiA9IHVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IGRvY3VtZW50ID0gdXNlRG9jdW1lbnQoKTtcbiAgY29uc3Qgd2luZG93ID0gdXNlV2luZG93KCk7XG5cbiAgY29uc3QgYXJyb3dTaXplID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGhpZGVBcnJvdykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBzdWJUaGVtZSA/IEFSUk9XX1NJWkUgOiBBUlJPV19TSVpFX0JJRztcbiAgfSwgW3N1YlRoZW1lLCBoaWRlQXJyb3ddKTtcblxuICBjb25zdCBoYW5kbGVWaWV3cG9ydE92ZXJmbG93ID0gdXNlQ2FsbGJhY2s8XG4gICAgVG9vbHRpcENvbnRlbnRQcm9wc1tcIm9uT3ZlcmZsb3dWaWV3cG9ydFwiXVxuICA+KFxuICAgICh0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QsIHZpZXdwb3J0SGVpZ2h0KSA9PiB7XG4gICAgICBpZiAoIWlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZi5jdXJyZW50KSB7XG4gICAgICAgIG9uT3ZlcmZsb3dWaWV3cG9ydD8uKHRyaWdnZXJSZWN0LCB0b29sdGlwUmVjdCwgdmlld3BvcnRIZWlnaHQpO1xuICAgICAgICBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICB9XG4gICAgfSxcbiAgICBbb25PdmVyZmxvd1ZpZXdwb3J0LCBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWZdXG4gICk7XG5cbiAgY29uc3QgY2FsY3VsYXRlU3R5bGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKHRyaWdnZXJSZWYuY3VycmVudCAmJiB0b29sdGlwUmVmLmN1cnJlbnQpIHtcbiAgICAgIC8vIGNhbGN1bGF0ZSB0b29sdGlwIHN0eWxlXG4gICAgICBzZXRTdHlsZShcbiAgICAgICAgZ2V0VG9vbHRpcFN0eWxlKHtcbiAgICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgICAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50LFxuICAgICAgICAgIHRyaWdnZXJSZWYsXG4gICAgICAgICAgdG9vbHRpcFJlZixcbiAgICAgICAgICBkb2N1bWVudCxcbiAgICAgICAgICB3aW5kb3csXG4gICAgICAgICAgYXJyb3dTaXplLFxuICAgICAgICAgIG9uT3ZlcmZsb3dWaWV3cG9ydDogaGFuZGxlVmlld3BvcnRPdmVyZmxvdyxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9LCBbXG4gICAgdHJpZ2dlclJlZixcbiAgICB0b29sdGlwUmVmLFxuICAgIGRvY3VtZW50LFxuICAgIHdpbmRvdyxcbiAgICBwbGFjZW1lbnQsXG4gICAgYXJyb3dTaXplLFxuICAgIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgICBoYW5kbGVWaWV3cG9ydE92ZXJmbG93LFxuICBdKTtcblxuICAvLyBUaGlzIGxheW91dCBlZmZlY3QgdG8gcmUtcmVuZGVyIHdpdGggdXBkYXRlZCBwb3NpdGlvbiBhZnRlciBkZXRlcm1pbmluZyBjb250ZW50IHdpZHRoXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSkge1xuICAgICAgY2FsY3VsYXRlU3R5bGUoKTtcbiAgICB9XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCBjb250ZW50UGFkZGluZywgY29udGVudCwgbWF4V2lkdGhdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc1Zpc2libGUgJiYgdG9vbHRpcFJlZi5jdXJyZW50KSB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjYWxjdWxhdGVTdHlsZSk7XG4gICAgfSBlbHNlIGlmICghaXNWaXNpYmxlKSB7XG4gICAgICAvLyBsb2cgdGltZSB3aGVuIHRvb2x0aXAgY2xvc2VzXG4gICAgICBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjYWxjdWxhdGVTdHlsZSk7XG4gICAgfTtcbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIHdpbmRvdywgdG9vbHRpcFJlZl0pO1xuXG4gIC8vIE9ic2VydmUgdG9vbHRpcCBlbGVtZW50IHNpemUgY2hhbmdlcyB0byByZWNhbGN1bGF0ZSBwb3NpdGlvbmluZ1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBpZiAoXG4gICAgICBpc1Zpc2libGUgJiZcbiAgICAgIHRvb2x0aXBSZWYuY3VycmVudCAmJlxuICAgICAgdHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiXG4gICAgKSB7XG4gICAgICByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xuICAgICAgICBlbnRyaWVzLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICAgICAgaWYgKGVudHJ5LmNvbnRlbnRSZWN0LndpZHRoID4gMCAmJiBlbnRyeS5jb250ZW50UmVjdC5oZWlnaHQgPiAwKSB7XG4gICAgICAgICAgICBjYWxjdWxhdGVTdHlsZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0b29sdGlwUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCB0b29sdGlwUmVmXSk7XG5cbiAgLy8gUmVjYWxjdWxhdGUgcG9zaXRpb24gd2hlbiB0aGUgdHJpZ2dlciBtb3ZlcyB3aXRob3V0IGVtaXR0aW5nIHNjcm9sbC9yZXNpemVcbiAgLy8gZXZlbnRzIChlLmcuIENTUyB0cmFuc2Zvcm1zLCBjYW52YXMgem9vbS9wYW4pLlxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNWaXNpYmxlKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgbGV0IHJlcXVlc3RBbmltYXRpb25GcmFtZUlkOiBudW1iZXI7XG4gICAgbGV0IHByZXZSZWN0OiBET01SZWN0IHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgcmVjYWxjdWxhdGVQb3NpdGlvbiA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG5leHRSZWN0ID0gdHJpZ2dlclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGlmIChcbiAgICAgICAgcHJldlJlY3QgJiZcbiAgICAgICAgbmV4dFJlY3QgJiZcbiAgICAgICAgKHByZXZSZWN0LnggIT09IG5leHRSZWN0LnggfHxcbiAgICAgICAgICBwcmV2UmVjdC55ICE9PSBuZXh0UmVjdC55IHx8XG4gICAgICAgICAgcHJldlJlY3Qud2lkdGggIT09IG5leHRSZWN0LndpZHRoIHx8XG4gICAgICAgICAgcHJldlJlY3QuaGVpZ2h0ICE9PSBuZXh0UmVjdC5oZWlnaHQpXG4gICAgICApIHtcbiAgICAgICAgY2FsY3VsYXRlU3R5bGUoKTtcbiAgICAgIH1cbiAgICAgIHByZXZSZWN0ID0gbmV4dFJlY3Q7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShyZWNhbGN1bGF0ZVBvc2l0aW9uKTtcbiAgICB9O1xuXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUocmVjYWxjdWxhdGVQb3NpdGlvbik7XG4gICAgcmV0dXJuICgpID0+IGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJlcXVlc3RBbmltYXRpb25GcmFtZUlkKTtcbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIHRyaWdnZXJSZWZdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZi5jdXJyZW50ID0gZmFsc2U7XG4gIH0sIFtpc1Zpc2libGUsIGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZl0pO1xuXG4gIC8qIEhpZGUgKHZpc2liaWxpdHk6IGhpZGRlbikgdG9vbHRpcCBpZiB0cmlnZ2VyIGlzIHNjcm9sbGVkIG91dCBvZiB2aWV3ICovXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IG9ic2VydmVyOiBJbnRlcnNlY3Rpb25PYnNlcnZlcjtcblxuICAgIGlmIChcbiAgICAgIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyICYmXG4gICAgICB0cmlnZ2VyUmVmLmN1cnJlbnQgJiZcbiAgICAgIGlzVmlzaWJsZSAmJlxuICAgICAgdHlwZW9mIEludGVyc2VjdGlvbk9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiXG4gICAgKSB7XG4gICAgICBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgICAgKGVudHJpZXMpID0+XG4gICAgICAgICAgZW50cmllcy5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVjdCA9IGVudHJ5LmJvdW5kaW5nQ2xpZW50UmVjdDtcblxuICAgICAgICAgICAgLy8gSWdub3JlIGludGVyc2VjdGlvbiBjaGFuZ2VzIHdoZW4gZWxlbWVudCBoYXMgemVybyBkaW1lbnNpb25zXG4gICAgICAgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gZHVyaW5nIERPTSB1cGRhdGVzL3BvcnRhbCByZW5kZXJpbmdcbiAgICAgICAgICAgIGlmIChyZWN0Py53aWR0aCA9PT0gMCAmJiByZWN0Py5oZWlnaHQgPT09IDApIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZXRJc0hpZGRlbighZW50cnkuaXNJbnRlcnNlY3RpbmcpO1xuICAgICAgICAgIH0pLFxuICAgICAgICB7XG4gICAgICAgICAgcm9vdDogbnVsbCwgLy8gdmlld3BvcnRcbiAgICAgICAgICB0aHJlc2hvbGQ6IElOVEVSU0VDVElPTl9USFJFU0hPTEQsXG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIG9ic2VydmVyLm9ic2VydmUodHJpZ2dlclJlZi5jdXJyZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKG9ic2VydmVyKSB7XG4gICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbdHJpZ2dlclJlZiwgaXNWaXNpYmxlLCBpc0hpZGRlbk9uSW52aXNpYmxlVHJpZ2dlcl0pO1xuXG4gIGlmICghaXNWaXNpYmxlKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCB0b29sdGlwRWxtID0gKFxuICAgIDxTdHlsZWRDb250YWluZXJcbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICBkYXRhLWRzLWlkPXtkYXRhRFNJZH1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHRvcDogc3R5bGUudG9wLFxuICAgICAgICBsZWZ0OiBzdHlsZS5sZWZ0LFxuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogZ2V0QW5pbWF0aW9uRHVyYXRpb24oKSxcbiAgICAgIH19XG4gICAgICByZWY9e3Rvb2x0aXBSZWZ9XG4gICAgICBpZD17dG9vbHRpcElkfVxuICAgICAgcm9sZT17cm9sZX1cbiAgICAgIHsuLi5hcmlhQXR0cmlidXRlc31cbiAgICAgIGFyaWEtaGlkZGVuPXthcmlhSGlkZGVufVxuICAgICAgc3ViVGhlbWU9e3N1YlRoZW1lfVxuICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgaG9yaXpvbnRhbFBsYWNlbWVudD17c3R5bGUuaG9yaXpvbnRhbFBsYWNlbWVudH1cbiAgICAgIHZlcnRpY2FsUGxhY2VtZW50PXtzdHlsZS52ZXJ0aWNhbFBsYWNlbWVudH1cbiAgICAgIG1heFdpZHRoPXttYXhXaWR0aH1cbiAgICAgIGNvbnRlbnRQYWRkaW5nPXtjb250ZW50UGFkZGluZ31cbiAgICAgIGlzSGlkZGVuPXtpc0hpZGRlbn1cbiAgICAgIG9uUG9pbnRlckVudGVyPXtvblRvb2x0aXBQb2ludGVyRW50ZXJ9XG4gICAgICBvblBvaW50ZXJMZWF2ZT17b25Ub29sdGlwUG9pbnRlckxlYXZlfVxuICAgID5cbiAgICAgIHtjb250ZW50fVxuICAgICAgeyFoaWRlQXJyb3cgJiYgKFxuICAgICAgICA8U3R5bGVkQXJyb3dcbiAgICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtgJHtkYXRhRTJlVGVzdElkfV9hcnJvd2B9XG4gICAgICAgICAgc3ViVGhlbWU9e3N1YlRoZW1lfVxuICAgICAgICAgIGhvcml6b250YWxQbGFjZW1lbnQ9e3N0eWxlLmhvcml6b250YWxQbGFjZW1lbnR9XG4gICAgICAgICAgdmVydGljYWxQbGFjZW1lbnQ9e3N0eWxlLnZlcnRpY2FsUGxhY2VtZW50fVxuICAgICAgICAgIHNpemU9e2Fycm93U2l6ZX1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG5cbiAgY29uc3Qgd3JhcHBlckVsbSA9IHN1YlRoZW1lID8gKFxuICAgIDxTdWJUaGVtZVByb3ZpZGVyIG5hbWU9e3N1YlRoZW1lfT57dG9vbHRpcEVsbX08L1N1YlRoZW1lUHJvdmlkZXI+XG4gICkgOiAoXG4gICAgdG9vbHRpcEVsbVxuICApO1xuXG4gIHJldHVybiA8UG9ydGFsIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfT57d3JhcHBlckVsbX08L1BvcnRhbD47XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUxvQiJ9 */"),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,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:"e1iz0lt0",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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVG9vbHRpcC9Ub29sdGlwQ29udGVudC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Rvb2x0aXAvVG9vbHRpcENvbnRlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIE11dGFibGVSZWZPYmplY3QsIFJlYWN0RWxlbWVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGtleWZyYW1lcyB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eSB9IGZyb20gXCJjc3N0eXBlXCI7XG5pbXBvcnQgeyB1c2VEb2N1bWVudCB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlRG9jdW1lbnRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5pbXBvcnQgeyBTdWJUaGVtZVByb3ZpZGVyIH0gZnJvbSBcIi4uL1N1YlRoZW1lUHJvdmlkZXIvU3ViVGhlbWVQcm92aWRlclwiO1xuaW1wb3J0IHR5cGUgeyBTdWJUaGVtZVR5cGVzIH0gZnJvbSBcIi4uLy4uL3dlYi10b2tlbnMvX3N1YlRoZW1lVHlwZVwiO1xuaW1wb3J0IHtcbiAgUG9ydGFsLFxuICB1c2VQb3J0YWxDaGlsZFpJbmRleCxcbiAgdHlwZSBQb3J0YWxQcm9wcyxcbn0gZnJvbSBcIi4uL1BvcnRhbC9Qb3J0YWxcIjtcblxuaW1wb3J0IHtcbiAgQU5JTUFUSU9OX0RJU1RBTkNFLFxuICBBUlJPV19TSVpFLFxuICBBUlJPV19TSVpFX0JJRyxcbiAgRElTVEFOQ0VfRlJPTV9UUklHR0VSLFxuICBnZXRBcnJvd09mZnNldCxcbiAgZ2V0VG9vbHRpcFN0eWxlLFxufSBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgdHlwZSBUb29sdGlwQ29udGVudFByb3BzID0ge1xuICBjb250ZW50OiBSZWFjdEVsZW1lbnQ7XG4gIHRyaWdnZXJSZWY6IE11dGFibGVSZWZPYmplY3Q8YW55PjtcbiAgcGxhY2VtZW50PzpcbiAgICB8IFwiYXV0b1wiXG4gICAgfCBcInRvcFwiXG4gICAgfCBcImJvdHRvbVwiXG4gICAgfCBcInRvcC1sZWZ0XCJcbiAgICB8IFwidG9wLXJpZ2h0XCJcbiAgICB8IFwiYm90dG9tLWxlZnRcIlxuICAgIHwgXCJib3R0b20tcmlnaHRcIjtcbiAgZGF0YUUyZVRlc3RJZD86IHN0cmluZztcbiAgZGF0YURTSWQ6IHN0cmluZztcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcbiAgdG9vbHRpcElkPzogc3RyaW5nO1xuICByb2xlPzogc3RyaW5nO1xuICB0YWJJbmRleD86IG51bWJlcjtcbiAgY29udGVudFBhZGRpbmc/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:"e1iz0lt1",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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVG9vbHRpcC9Ub29sdGlwQ29udGVudC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Rvb2x0aXAvVG9vbHRpcENvbnRlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIE11dGFibGVSZWZPYmplY3QsIFJlYWN0RWxlbWVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGtleWZyYW1lcyB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eSB9IGZyb20gXCJjc3N0eXBlXCI7XG5pbXBvcnQgeyB1c2VEb2N1bWVudCB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlRG9jdW1lbnRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5pbXBvcnQgeyBTdWJUaGVtZVByb3ZpZGVyIH0gZnJvbSBcIi4uL1N1YlRoZW1lUHJvdmlkZXIvU3ViVGhlbWVQcm92aWRlclwiO1xuaW1wb3J0IHR5cGUgeyBTdWJUaGVtZVR5cGVzIH0gZnJvbSBcIi4uLy4uL3dlYi10b2tlbnMvX3N1YlRoZW1lVHlwZVwiO1xuaW1wb3J0IHtcbiAgUG9ydGFsLFxuICB1c2VQb3J0YWxDaGlsZFpJbmRleCxcbiAgdHlwZSBQb3J0YWxQcm9wcyxcbn0gZnJvbSBcIi4uL1BvcnRhbC9Qb3J0YWxcIjtcblxuaW1wb3J0IHtcbiAgQU5JTUFUSU9OX0RJU1RBTkNFLFxuICBBUlJPV19TSVpFLFxuICBBUlJPV19TSVpFX0JJRyxcbiAgRElTVEFOQ0VfRlJPTV9UUklHR0VSLFxuICBnZXRBcnJvd09mZnNldCxcbiAgZ2V0VG9vbHRpcFN0eWxlLFxufSBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgdHlwZSBUb29sdGlwQ29udGVudFByb3BzID0ge1xuICBjb250ZW50OiBSZWFjdEVsZW1lbnQ7XG4gIHRyaWdnZXJSZWY6IE11dGFibGVSZWZPYmplY3Q8YW55PjtcbiAgcGxhY2VtZW50PzpcbiAgICB8IFwiYXV0b1wiXG4gICAgfCBcInRvcFwiXG4gICAgfCBcImJvdHRvbVwiXG4gICAgfCBcInRvcC1sZWZ0XCJcbiAgICB8IFwidG9wLXJpZ2h0XCJcbiAgICB8IFwiYm90dG9tLWxlZnRcIlxuICAgIHwgXCJib3R0b20tcmlnaHRcIjtcbiAgZGF0YUUyZVRlc3RJZD86IHN0cmluZztcbiAgZGF0YURTSWQ6IHN0cmluZztcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcbiAgdG9vbHRpcElkPzogc3RyaW5nO1xuICByb2xlPzogc3RyaW5nO1xuICB0YWJJbmRleD86IG51bWJlcjtcbiAgY29udGVudFBhZGRpbmc/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)}
|
package/package.json
CHANGED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export declare const DatePickerInput: React.ForwardRefExoticComponent<{
|
|
3
|
-
format?: import("../dateMask").DateFormat;
|
|
4
|
-
onAccept?: (value: string, unmaskedValue: string, typedValue: string) => void;
|
|
5
|
-
onComplete?: (value: string, unmaskedValue: string, typedValue: string) => void;
|
|
6
|
-
isPlaceholderShown?: boolean;
|
|
7
|
-
dayPlaceholderChar?: string;
|
|
8
|
-
monthPlaceholderChar?: string;
|
|
9
|
-
yearPlaceholderChar?: string;
|
|
10
|
-
"data-e2e-test-id"?: string;
|
|
11
|
-
slotProps?: {
|
|
12
|
-
calendarButton?: {
|
|
13
|
-
ariaLabelOpen?: string;
|
|
14
|
-
ariaLabelClose?: string;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
} & import("../FormField/FormField").FormFieldProps & Omit<React.InputHTMLAttributes<HTMLInputElement>, "value" | "type" | "onChange"> & {
|
|
18
|
-
value?: string;
|
|
19
|
-
hasError?: boolean;
|
|
20
|
-
} & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"DatePickerInput",{enumerable:!0,get:function(){return DatePickerInput}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_imask=/*#__PURE__*/_interop_require_default._(require("imask")),_dateMask=require("../dateMask"),_DatepickerButton=require("./DatepickerButton"),StyledContainer=(0,_styled.default)("div",{target:"e2sbwrm0",label:"StyledContainer"})({width:"100%",display:"flex",alignItems:"center",flexDirection:"row",position:"relative"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRm9ybS9EYXRlcGlja2VyL0RhdGVQaWNrZXJJbnB1dC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0Zvcm0vRGF0ZXBpY2tlci9EYXRlUGlja2VySW5wdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmcgKi9cblxuaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwge1xuICB1c2VSZWYsXG4gIHVzZUVmZmVjdCxcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB0eXBlIHsgVGhlbWUgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuLy8gQHRzLWlnbm9yZSBXb24ndCBhbGxvdyBFUyBtb2R1bGUgdG8gYmUgaW1wb3J0ZWQgZHVlIHRvIGVycm9yIFRTMTQ3OSAoTmVlZCB0byBpbnZlc3RpZ2F0ZSlcbmltcG9ydCBJTWFzayBmcm9tIFwiaW1hc2tcIjtcbmltcG9ydCB7IGdldE1hc2tPcHRpb25zIH0gZnJvbSBcIi4uL2RhdGVNYXNrXCI7XG5pbXBvcnQgdHlwZSB7IERhdGVwaWNrZXJQcm9wcyB9IGZyb20gXCIuL0RhdGVwaWNrZXIudHlwZXNcIjtcbmltcG9ydCB7IERhdGVwaWNrZXJCdXR0b24gfSBmcm9tIFwiLi9EYXRlcGlja2VyQnV0dG9uXCI7XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGRpc3BsYXk6IFwiZmxleFwiLFxuICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRGF0ZUlucHV0UHJvcHMgPSB7XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgcmVhZE9ubHk/OiBib29sZWFuO1xufTtcblxuY29uc3QgaGFuZGxlQm9yZGVyQ29sb3IgPSAoe1xuICB0aGVtZSxcbiAgaGFzRXJyb3IsXG4gIHJlYWRPbmx5LFxufToge1xuICB0aGVtZTogVGhlbWU7XG4gIGhhc0Vycm9yOiBib29sZWFuO1xuICByZWFkT25seTogYm9vbGVhbjtcbn0pID0+IHtcbiAgaWYgKGhhc0Vycm9yKSByZXR1cm4gdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5lcnJvci5kZWZhdWx0O1xuICBpZiAocmVhZE9ubHkpIHJldHVybiB0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnByaW1hcnkuZGlzYWJsZWQ7XG4gIHJldHVybiB0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnByaW1hcnkuZGVmYXVsdDtcbn07XG5cbmNvbnN0IFN0eWxlZERhdGVJbnB1dCA9IHN0eWxlZC5pbnB1dDxTdHlsZWREYXRlSW5wdXRQcm9wcz4oXG4gICh7IHRoZW1lLCBoYXNFcnJvciwgcmVhZE9ubHkgfSkgPT4gKHtcbiAgICBmb250RmFtaWx5OiB0aGVtZS52YXJpYWJsZXMuZm9udEZhbWlseS5sYXRvLFxuICAgIGZvbnRTaXplOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5mb250Lm0sXG4gICAgbGluZUhlaWdodDogdGhlbWUudmFyaWFibGVzLnNpemUubGluZUhlaWdodC54bCxcbiAgICBib3JkZXJSYWRpdXM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmJvcmRlclJhZGl1cy54cyxcbiAgICBib3JkZXJXaWR0aDogXCIxcHhcIixcbiAgICBib3JkZXJTdHlsZTogXCJzb2xpZFwiLFxuICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICBwYWRkaW5nOiBgY2FsYygke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHN9IC0gMXB4KSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcuc31gLFxuICAgIHBhZGRpbmdSaWdodDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eGwsXG4gICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICBjb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLnRleHQuc2Vjb25kYXJ5LmRlZmF1bHQsXG4gICAgYm9yZGVyQ29sb3I6IGhhbmRsZUJvcmRlckNvbG9yKHtcbiAgICAgIHRoZW1lLFxuICAgICAgaGFzRXJyb3I6IGhhc0Vycm9yID8/IGZhbHNlLFxuICAgICAgcmVhZE9ubHk6IHJlYWRPbmx5ID8/IGZhbHNlLFxuICAgIH0pLFxuICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQucHJpbWFyeS5kZWZhdWx0LFxuICAgIFwiJjo6cGxhY2Vob2xkZXJcIjoge1xuICAgICAgZm9udFN0eWxlOiBcIml0YWxpY1wiLFxuICAgICAgY29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci50ZXh0LnRlcnRpYXJ5LmRlZmF1bHQsXG4gICAgICBvcGFjaXR5OiB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlLFxuICAgIH0sXG4gICAgXCImOi1tcy1pbnB1dC1wbGFjZWhvbGRlclwiOiB7XG4gICAgICBmb250U3R5bGU6IFwiaXRhbGljXCIsXG4gICAgICBjb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLnRleHQudGVydGlhcnkuZGVmYXVsdCxcbiAgICB9LFxuICAgIFwiJjo6LW1zLWlucHV0LXBsYWNlaG9sZGVyXCI6IHtcbiAgICAgIGZvbnRTdHlsZTogXCJpdGFsaWNcIixcbiAgICAgIGNvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IudGV4dC50ZXJ0aWFyeS5kZWZhdWx0LFxuICAgIH0sXG4gICAgLi4uKGhhc0Vycm9yICYmIHtcbiAgICAgIGJveFNoYWRvdzogYDAgMCAwIDFweCBpbnNldCAke3RoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuZXJyb3IuZGVmYXVsdH1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuZXhwb3J0IGNvbnN0IERhdGVQaWNrZXJJbnB1dCA9IGZvcndhcmRSZWY8SFRNTElucHV0RWxlbWVudCwgRGF0ZXBpY2tlclByb3BzPihcbiAgKFxuICAgIHtcbiAgICAgIGZvcm1hdCA9IFwiVVNcIixcbiAgICAgIG9uQWNjZXB0LFxuICAgICAgb25Db21wbGV0ZSxcbiAgICAgIGhhc0Vycm9yID0gZmFsc2UsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIHJlYWRPbmx5LFxuICAgICAgdmFsdWUsXG4gICAgICBpc1BsYWNlaG9sZGVyU2hvd24gPSBmYWxzZSxcbiAgICAgIGRheVBsYWNlaG9sZGVyQ2hhciA9IFwiRFwiLFxuICAgICAgbW9udGhQbGFjZWhvbGRlckNoYXIgPSBcIk1cIixcbiAgICAgIHllYXJQbGFjZWhvbGRlckNoYXIgPSBcIllcIixcbiAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgc2xvdFByb3BzLFxuICAgICAgLi4ucmVzdFxuICAgIH0sXG4gICAgcmVmXG4gICk6IFJlYWN0LlJlYWN0RWxlbWVudCA9PiB7XG4gICAgY29uc3QgaW50ZXJuYWxSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgbWFza1JlZiA9IHVzZVJlZjxSZXR1cm5UeXBlPHR5cGVvZiBJTWFzaz4gfCBudWxsPihudWxsKTtcbiAgICBjb25zdCBpbnB1dFJlZiA9IChyZWYgYXMgUmVmT2JqZWN0PEhUTUxJbnB1dEVsZW1lbnQ+KSB8fCBpbnRlcm5hbFJlZjtcbiAgICBjb25zdCBbaXNDYWxlbmRhck9wZW4sIHNldElzQ2FsZW5kYXJPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgIGNvbnN0IGNhbGVuZGFyQnV0dG9uQXJpYUxhYmVsT3BlbiA9XG4gICAgICBzbG90UHJvcHM/LmNhbGVuZGFyQnV0dG9uPy5hcmlhTGFiZWxPcGVuID8/IFwiT3BlbiBjYWxlbmRhclwiO1xuICAgIGNvbnN0IGNhbGVuZGFyQnV0dG9uQXJpYUxhYmVsQ2xvc2UgPVxuICAgICAgc2xvdFByb3BzPy5jYWxlbmRhckJ1dHRvbj8uYXJpYUxhYmVsQ2xvc2UgPz8gXCJDbG9zZSBjYWxlbmRhclwiO1xuICAgIGNvbnN0IGNhbGVuZGFyQnV0dG9uQXJpYUxhYmVsID0gaXNDYWxlbmRhck9wZW5cbiAgICAgID8gY2FsZW5kYXJCdXR0b25BcmlhTGFiZWxDbG9zZVxuICAgICAgOiBjYWxlbmRhckJ1dHRvbkFyaWFMYWJlbE9wZW47XG5cbiAgICBjb25zdCBtYXNrT3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBnZXRNYXNrT3B0aW9ucyh7XG4gICAgICAgICAgZm9ybWF0LFxuICAgICAgICAgIGlzUGxhY2Vob2xkZXJTaG93bixcbiAgICAgICAgICBkYXlQbGFjZWhvbGRlckNoYXIsXG4gICAgICAgICAgbW9udGhQbGFjZWhvbGRlckNoYXIsXG4gICAgICAgICAgeWVhclBsYWNlaG9sZGVyQ2hhcixcbiAgICAgICAgfSksXG4gICAgICBbXG4gICAgICAgIGZvcm1hdCxcbiAgICAgICAgaXNQbGFjZWhvbGRlclNob3duLFxuICAgICAgICBkYXlQbGFjZWhvbGRlckNoYXIsXG4gICAgICAgIG1vbnRoUGxhY2Vob2xkZXJDaGFyLFxuICAgICAgICB5ZWFyUGxhY2Vob2xkZXJDaGFyLFxuICAgICAgXVxuICAgICk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGlucHV0UmVmPy5jdXJyZW50KSB7XG4gICAgICAgIG1hc2tSZWYuY3VycmVudCA9IElNYXNrKGlucHV0UmVmLmN1cnJlbnQsIG1hc2tPcHRpb25zKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChtYXNrUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICBtYXNrUmVmLmN1cnJlbnQuZGVzdHJveSgpO1xuICAgICAgICAgIG1hc2tSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICAvLyBJbnRlbnRpb25hbGx5IGRlcGVuZCBvbmx5IG9uIGlucHV0UmVmOiBtYXNrIGluaXQgcnVucyBvbmNlIHdoZW4gdGhlIGVsZW1lbnQgbW91bnRzOyBtYXNrT3B0aW9ucyB1cGRhdGVzIGFyZSBhcHBsaWVkIGluIHRoZSBlZmZlY3QgYmVsb3cuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgfSwgW2lucHV0UmVmXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKG1hc2tSZWYuY3VycmVudCkge1xuICAgICAgICBtYXNrUmVmLmN1cnJlbnQudXBkYXRlT3B0aW9ucyhtYXNrT3B0aW9ucyk7XG4gICAgICB9XG4gICAgfSwgW21hc2tPcHRpb25zXSk7XG5cbiAgICBjb25zdCBvbkFjY2VwdFJlZiA9IHVzZVJlZihvbkFjY2VwdCk7XG4gICAgY29uc3Qgb25Db21wbGV0ZVJlZiA9IHVzZVJlZihvbkNvbXBsZXRlKTtcblxuICAgIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgICBvbkFjY2VwdFJlZi5jdXJyZW50ID0gb25BY2NlcHQ7XG4gICAgICBvbkNvbXBsZXRlUmVmLmN1cnJlbnQgPSBvbkNvbXBsZXRlO1xuICAgIH0sIFtvbkFjY2VwdCwgb25Db21wbGV0ZV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghbWFza1JlZi5jdXJyZW50KSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgY29uc3QgaGFuZGxlQWNjZXB0ID0gKCkgPT4ge1xuICAgICAgICBpZiAobWFza1JlZi5jdXJyZW50KSB7XG4gICAgICAgICAgb25BY2NlcHRSZWYuY3VycmVudD8uKFxuICAgICAgICAgICAgbWFza1JlZi5jdXJyZW50LnZhbHVlLFxuICAgICAgICAgICAgbWFza1JlZi5jdXJyZW50LnVubWFza2VkVmFsdWUsXG4gICAgICAgICAgICBtYXNrUmVmLmN1cnJlbnQudHlwZWRWYWx1ZVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBjb25zdCBoYW5kbGVDb21wbGV0ZSA9ICgpID0+IHtcbiAgICAgICAgaWYgKG1hc2tSZWYuY3VycmVudCkge1xuICAgICAgICAgIG9uQ29tcGxldGVSZWYuY3VycmVudD8uKFxuICAgICAgICAgICAgbWFza1JlZi5jdXJyZW50LnZhbHVlLFxuICAgICAgICAgICAgbWFza1JlZi5jdXJyZW50LnVubWFza2VkVmFsdWUsXG4gICAgICAgICAgICBtYXNrUmVmLmN1cnJlbnQudHlwZWRWYWx1ZVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBtYXNrUmVmLmN1cnJlbnQub24oXCJhY2NlcHRcIiwgaGFuZGxlQWNjZXB0KTtcbiAgICAgIG1hc2tSZWYuY3VycmVudC5vbihcImNvbXBsZXRlXCIsIGhhbmRsZUNvbXBsZXRlKTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChtYXNrUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICBtYXNrUmVmLmN1cnJlbnQub2ZmKFwiYWNjZXB0XCIsIGhhbmRsZUFjY2VwdCk7XG4gICAgICAgICAgbWFza1JlZi5jdXJyZW50Lm9mZihcImNvbXBsZXRlXCIsIGhhbmRsZUNvbXBsZXRlKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9LCBbXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKG1hc2tSZWYuY3VycmVudCAmJiB0eXBlb2YgdmFsdWUgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgbWFza1JlZi5jdXJyZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICB9XG4gICAgfSwgW3ZhbHVlXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZENvbnRhaW5lcj5cbiAgICAgICAgPFN0eWxlZERhdGVJbnB1dFxuICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICAgIHJlZj17aW5wdXRSZWZ9XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPXshcmVhZE9ubHkgPyBwbGFjZWhvbGRlciA6IHVuZGVmaW5lZH1cbiAgICAgICAgICBoYXNFcnJvcj17aGFzRXJyb3J9XG4gICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBhcmlhLWludmFsaWQ9e2hhc0Vycm9yfVxuICAgICAgICAvPlxuICAgICAgICA8RGF0ZXBpY2tlckJ1dHRvblxuICAgICAgICAgIGhhc0Vycm9yPXtoYXNFcnJvcn1cbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWQgPz8gZmFsc2V9XG4gICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgIGFyaWFMYWJlbD17Y2FsZW5kYXJCdXR0b25BcmlhTGFiZWx9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNDYWxlbmRhck9wZW4oKHByZXYpID0+ICFwcmV2KX0gLy8gVE9ETzogaW1wbGVtZW50IGJlaGF2aW9yIGluIGZvbGxvd2luZyB0aWNrZXRcbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbik7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0J3QiJ9 */"),handleBorderColor=({theme,hasError,readOnly})=>hasError?theme.values.color.border.error.default:readOnly?theme.values.color.border.primary.disabled:theme.values.color.border.primary.default,StyledDateInput=(0,_styled.default)("input",{target:"e2sbwrm1",label:"StyledDateInput"})(({theme,hasError,readOnly})=>({fontFamily:theme.variables.fontFamily.lato,fontSize:theme.variables.size.font.m,lineHeight:theme.variables.size.lineHeight.xl,borderRadius:theme.variables.size.borderRadius.xs,borderWidth:"1px",borderStyle:"solid",width:"100%",padding:`calc(${theme.variables.size.spacing.xs} - 1px) ${theme.variables.size.spacing.s}`,paddingRight:theme.variables.size.spacing.xxl,boxSizing:"border-box",color:theme.values.color.text.secondary.default,borderColor:handleBorderColor({theme,hasError:hasError??!1,readOnly:readOnly??!1}),backgroundColor:theme.values.color.background.primary.default,"&::placeholder":{fontStyle:"italic",color:theme.values.color.text.tertiary.default,opacity:theme.variables.opacity.visible},"&:-ms-input-placeholder":{fontStyle:"italic",color:theme.values.color.text.tertiary.default},"&::-ms-input-placeholder":{fontStyle:"italic",color:theme.values.color.text.tertiary.default},...hasError&&{boxShadow:`0 0 0 1px inset ${theme.values.color.border.error.default}`}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRm9ybS9EYXRlcGlja2VyL0RhdGVQaWNrZXJJbnB1dC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0Zvcm0vRGF0ZXBpY2tlci9EYXRlUGlja2VySW5wdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmcgKi9cblxuaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwge1xuICB1c2VSZWYsXG4gIHVzZUVmZmVjdCxcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB0eXBlIHsgVGhlbWUgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuLy8gQHRzLWlnbm9yZSBXb24ndCBhbGxvdyBFUyBtb2R1bGUgdG8gYmUgaW1wb3J0ZWQgZHVlIHRvIGVycm9yIFRTMTQ3OSAoTmVlZCB0byBpbnZlc3RpZ2F0ZSlcbmltcG9ydCBJTWFzayBmcm9tIFwiaW1hc2tcIjtcbmltcG9ydCB7IGdldE1hc2tPcHRpb25zIH0gZnJvbSBcIi4uL2RhdGVNYXNrXCI7XG5pbXBvcnQgdHlwZSB7IERhdGVwaWNrZXJQcm9wcyB9IGZyb20gXCIuL0RhdGVwaWNrZXIudHlwZXNcIjtcbmltcG9ydCB7IERhdGVwaWNrZXJCdXR0b24gfSBmcm9tIFwiLi9EYXRlcGlja2VyQnV0dG9uXCI7XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGRpc3BsYXk6IFwiZmxleFwiLFxuICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRGF0ZUlucHV0UHJvcHMgPSB7XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgcmVhZE9ubHk/OiBib29sZWFuO1xufTtcblxuY29uc3QgaGFuZGxlQm9yZGVyQ29sb3IgPSAoe1xuICB0aGVtZSxcbiAgaGFzRXJyb3IsXG4gIHJlYWRPbmx5LFxufToge1xuICB0aGVtZTogVGhlbWU7XG4gIGhhc0Vycm9yOiBib29sZWFuO1xuICByZWFkT25seTogYm9vbGVhbjtcbn0pID0+IHtcbiAgaWYgKGhhc0Vycm9yKSByZXR1cm4gdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5lcnJvci5kZWZhdWx0O1xuICBpZiAocmVhZE9ubHkpIHJldHVybiB0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnByaW1hcnkuZGlzYWJsZWQ7XG4gIHJldHVybiB0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnByaW1hcnkuZGVmYXVsdDtcbn07XG5cbmNvbnN0IFN0eWxlZERhdGVJbnB1dCA9IHN0eWxlZC5pbnB1dDxTdHlsZWREYXRlSW5wdXRQcm9wcz4oXG4gICh7IHRoZW1lLCBoYXNFcnJvciwgcmVhZE9ubHkgfSkgPT4gKHtcbiAgICBmb250RmFtaWx5OiB0aGVtZS52YXJpYWJsZXMuZm9udEZhbWlseS5sYXRvLFxuICAgIGZvbnRTaXplOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5mb250Lm0sXG4gICAgbGluZUhlaWdodDogdGhlbWUudmFyaWFibGVzLnNpemUubGluZUhlaWdodC54bCxcbiAgICBib3JkZXJSYWRpdXM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmJvcmRlclJhZGl1cy54cyxcbiAgICBib3JkZXJXaWR0aDogXCIxcHhcIixcbiAgICBib3JkZXJTdHlsZTogXCJzb2xpZFwiLFxuICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICBwYWRkaW5nOiBgY2FsYygke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHN9IC0gMXB4KSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcuc31gLFxuICAgIHBhZGRpbmdSaWdodDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eGwsXG4gICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICBjb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLnRleHQuc2Vjb25kYXJ5LmRlZmF1bHQsXG4gICAgYm9yZGVyQ29sb3I6IGhhbmRsZUJvcmRlckNvbG9yKHtcbiAgICAgIHRoZW1lLFxuICAgICAgaGFzRXJyb3I6IGhhc0Vycm9yID8/IGZhbHNlLFxuICAgICAgcmVhZE9ubHk6IHJlYWRPbmx5ID8/IGZhbHNlLFxuICAgIH0pLFxuICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQucHJpbWFyeS5kZWZhdWx0LFxuICAgIFwiJjo6cGxhY2Vob2xkZXJcIjoge1xuICAgICAgZm9udFN0eWxlOiBcIml0YWxpY1wiLFxuICAgICAgY29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci50ZXh0LnRlcnRpYXJ5LmRlZmF1bHQsXG4gICAgICBvcGFjaXR5OiB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlLFxuICAgIH0sXG4gICAgXCImOi1tcy1pbnB1dC1wbGFjZWhvbGRlclwiOiB7XG4gICAgICBmb250U3R5bGU6IFwiaXRhbGljXCIsXG4gICAgICBjb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLnRleHQudGVydGlhcnkuZGVmYXVsdCxcbiAgICB9LFxuICAgIFwiJjo6LW1zLWlucHV0LXBsYWNlaG9sZGVyXCI6IHtcbiAgICAgIGZvbnRTdHlsZTogXCJpdGFsaWNcIixcbiAgICAgIGNvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IudGV4dC50ZXJ0aWFyeS5kZWZhdWx0LFxuICAgIH0sXG4gICAgLi4uKGhhc0Vycm9yICYmIHtcbiAgICAgIGJveFNoYWRvdzogYDAgMCAwIDFweCBpbnNldCAke3RoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuZXJyb3IuZGVmYXVsdH1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuZXhwb3J0IGNvbnN0IERhdGVQaWNrZXJJbnB1dCA9IGZvcndhcmRSZWY8SFRNTElucHV0RWxlbWVudCwgRGF0ZXBpY2tlclByb3BzPihcbiAgKFxuICAgIHtcbiAgICAgIGZvcm1hdCA9IFwiVVNcIixcbiAgICAgIG9uQWNjZXB0LFxuICAgICAgb25Db21wbGV0ZSxcbiAgICAgIGhhc0Vycm9yID0gZmFsc2UsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIHJlYWRPbmx5LFxuICAgICAgdmFsdWUsXG4gICAgICBpc1BsYWNlaG9sZGVyU2hvd24gPSBmYWxzZSxcbiAgICAgIGRheVBsYWNlaG9sZGVyQ2hhciA9IFwiRFwiLFxuICAgICAgbW9udGhQbGFjZWhvbGRlckNoYXIgPSBcIk1cIixcbiAgICAgIHllYXJQbGFjZWhvbGRlckNoYXIgPSBcIllcIixcbiAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgc2xvdFByb3BzLFxuICAgICAgLi4ucmVzdFxuICAgIH0sXG4gICAgcmVmXG4gICk6IFJlYWN0LlJlYWN0RWxlbWVudCA9PiB7XG4gICAgY29uc3QgaW50ZXJuYWxSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgbWFza1JlZiA9IHVzZVJlZjxSZXR1cm5UeXBlPHR5cGVvZiBJTWFzaz4gfCBudWxsPihudWxsKTtcbiAgICBjb25zdCBpbnB1dFJlZiA9IChyZWYgYXMgUmVmT2JqZWN0PEhUTUxJbnB1dEVsZW1lbnQ+KSB8fCBpbnRlcm5hbFJlZjtcbiAgICBjb25zdCBbaXNDYWxlbmRhck9wZW4sIHNldElzQ2FsZW5kYXJPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgIGNvbnN0IGNhbGVuZGFyQnV0dG9uQXJpYUxhYmVsT3BlbiA9XG4gICAgICBzbG90UHJvcHM/LmNhbGVuZGFyQnV0dG9uPy5hcmlhTGFiZWxPcGVuID8/IFwiT3BlbiBjYWxlbmRhclwiO1xuICAgIGNvbnN0IGNhbGVuZGFyQnV0dG9uQXJpYUxhYmVsQ2xvc2UgPVxuICAgICAgc2xvdFByb3BzPy5jYWxlbmRhckJ1dHRvbj8uYXJpYUxhYmVsQ2xvc2UgPz8gXCJDbG9zZSBjYWxlbmRhclwiO1xuICAgIGNvbnN0IGNhbGVuZGFyQnV0dG9uQXJpYUxhYmVsID0gaXNDYWxlbmRhck9wZW5cbiAgICAgID8gY2FsZW5kYXJCdXR0b25BcmlhTGFiZWxDbG9zZVxuICAgICAgOiBjYWxlbmRhckJ1dHRvbkFyaWFMYWJlbE9wZW47XG5cbiAgICBjb25zdCBtYXNrT3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBnZXRNYXNrT3B0aW9ucyh7XG4gICAgICAgICAgZm9ybWF0LFxuICAgICAgICAgIGlzUGxhY2Vob2xkZXJTaG93bixcbiAgICAgICAgICBkYXlQbGFjZWhvbGRlckNoYXIsXG4gICAgICAgICAgbW9udGhQbGFjZWhvbGRlckNoYXIsXG4gICAgICAgICAgeWVhclBsYWNlaG9sZGVyQ2hhcixcbiAgICAgICAgfSksXG4gICAgICBbXG4gICAgICAgIGZvcm1hdCxcbiAgICAgICAgaXNQbGFjZWhvbGRlclNob3duLFxuICAgICAgICBkYXlQbGFjZWhvbGRlckNoYXIsXG4gICAgICAgIG1vbnRoUGxhY2Vob2xkZXJDaGFyLFxuICAgICAgICB5ZWFyUGxhY2Vob2xkZXJDaGFyLFxuICAgICAgXVxuICAgICk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGlucHV0UmVmPy5jdXJyZW50KSB7XG4gICAgICAgIG1hc2tSZWYuY3VycmVudCA9IElNYXNrKGlucHV0UmVmLmN1cnJlbnQsIG1hc2tPcHRpb25zKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChtYXNrUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICBtYXNrUmVmLmN1cnJlbnQuZGVzdHJveSgpO1xuICAgICAgICAgIG1hc2tSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICAvLyBJbnRlbnRpb25hbGx5IGRlcGVuZCBvbmx5IG9uIGlucHV0UmVmOiBtYXNrIGluaXQgcnVucyBvbmNlIHdoZW4gdGhlIGVsZW1lbnQgbW91bnRzOyBtYXNrT3B0aW9ucyB1cGRhdGVzIGFyZSBhcHBsaWVkIGluIHRoZSBlZmZlY3QgYmVsb3cuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgfSwgW2lucHV0UmVmXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKG1hc2tSZWYuY3VycmVudCkge1xuICAgICAgICBtYXNrUmVmLmN1cnJlbnQudXBkYXRlT3B0aW9ucyhtYXNrT3B0aW9ucyk7XG4gICAgICB9XG4gICAgfSwgW21hc2tPcHRpb25zXSk7XG5cbiAgICBjb25zdCBvbkFjY2VwdFJlZiA9IHVzZVJlZihvbkFjY2VwdCk7XG4gICAgY29uc3Qgb25Db21wbGV0ZVJlZiA9IHVzZVJlZihvbkNvbXBsZXRlKTtcblxuICAgIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgICBvbkFjY2VwdFJlZi5jdXJyZW50ID0gb25BY2NlcHQ7XG4gICAgICBvbkNvbXBsZXRlUmVmLmN1cnJlbnQgPSBvbkNvbXBsZXRlO1xuICAgIH0sIFtvbkFjY2VwdCwgb25Db21wbGV0ZV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghbWFza1JlZi5jdXJyZW50KSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgY29uc3QgaGFuZGxlQWNjZXB0ID0gKCkgPT4ge1xuICAgICAgICBpZiAobWFza1JlZi5jdXJyZW50KSB7XG4gICAgICAgICAgb25BY2NlcHRSZWYuY3VycmVudD8uKFxuICAgICAgICAgICAgbWFza1JlZi5jdXJyZW50LnZhbHVlLFxuICAgICAgICAgICAgbWFza1JlZi5jdXJyZW50LnVubWFza2VkVmFsdWUsXG4gICAgICAgICAgICBtYXNrUmVmLmN1cnJlbnQudHlwZWRWYWx1ZVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBjb25zdCBoYW5kbGVDb21wbGV0ZSA9ICgpID0+IHtcbiAgICAgICAgaWYgKG1hc2tSZWYuY3VycmVudCkge1xuICAgICAgICAgIG9uQ29tcGxldGVSZWYuY3VycmVudD8uKFxuICAgICAgICAgICAgbWFza1JlZi5jdXJyZW50LnZhbHVlLFxuICAgICAgICAgICAgbWFza1JlZi5jdXJyZW50LnVubWFza2VkVmFsdWUsXG4gICAgICAgICAgICBtYXNrUmVmLmN1cnJlbnQudHlwZWRWYWx1ZVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBtYXNrUmVmLmN1cnJlbnQub24oXCJhY2NlcHRcIiwgaGFuZGxlQWNjZXB0KTtcbiAgICAgIG1hc2tSZWYuY3VycmVudC5vbihcImNvbXBsZXRlXCIsIGhhbmRsZUNvbXBsZXRlKTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChtYXNrUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICBtYXNrUmVmLmN1cnJlbnQub2ZmKFwiYWNjZXB0XCIsIGhhbmRsZUFjY2VwdCk7XG4gICAgICAgICAgbWFza1JlZi5jdXJyZW50Lm9mZihcImNvbXBsZXRlXCIsIGhhbmRsZUNvbXBsZXRlKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9LCBbXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKG1hc2tSZWYuY3VycmVudCAmJiB0eXBlb2YgdmFsdWUgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgbWFza1JlZi5jdXJyZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICB9XG4gICAgfSwgW3ZhbHVlXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZENvbnRhaW5lcj5cbiAgICAgICAgPFN0eWxlZERhdGVJbnB1dFxuICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICAgIHJlZj17aW5wdXRSZWZ9XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPXshcmVhZE9ubHkgPyBwbGFjZWhvbGRlciA6IHVuZGVmaW5lZH1cbiAgICAgICAgICBoYXNFcnJvcj17aGFzRXJyb3J9XG4gICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBhcmlhLWludmFsaWQ9e2hhc0Vycm9yfVxuICAgICAgICAvPlxuICAgICAgICA8RGF0ZXBpY2tlckJ1dHRvblxuICAgICAgICAgIGhhc0Vycm9yPXtoYXNFcnJvcn1cbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWQgPz8gZmFsc2V9XG4gICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgIGFyaWFMYWJlbD17Y2FsZW5kYXJCdXR0b25BcmlhTGFiZWx9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNDYWxlbmRhck9wZW4oKHByZXYpID0+ICFwcmV2KX0gLy8gVE9ETzogaW1wbGVtZW50IGJlaGF2aW9yIGluIGZvbGxvd2luZyB0aWNrZXRcbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbik7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0N3QiJ9 */"),DatePickerInput=(0,_react.forwardRef)(({format="US",onAccept,onComplete,hasError=!1,disabled,readOnly,value,isPlaceholderShown=!1,dayPlaceholderChar="D",monthPlaceholderChar="M",yearPlaceholderChar="Y",placeholder,slotProps,...rest},ref)=>{let internalRef=(0,_react.useRef)(null),maskRef=(0,_react.useRef)(null),inputRef=ref||internalRef,[isCalendarOpen,setIsCalendarOpen]=(0,_react.useState)(!1),calendarButtonAriaLabelOpen=slotProps?.calendarButton?.ariaLabelOpen??"Open calendar",calendarButtonAriaLabelClose=slotProps?.calendarButton?.ariaLabelClose??"Close calendar",maskOptions=(0,_react.useMemo)(()=>(0,_dateMask.getMaskOptions)({format,isPlaceholderShown,dayPlaceholderChar,monthPlaceholderChar,yearPlaceholderChar}),[format,isPlaceholderShown,dayPlaceholderChar,monthPlaceholderChar,yearPlaceholderChar]);(0,_react.useEffect)(()=>(inputRef?.current&&(maskRef.current=(0,_imask.default)(inputRef.current,maskOptions)),()=>{maskRef.current&&(maskRef.current.destroy(),maskRef.current=null)}),[inputRef]),(0,_react.useEffect)(()=>{maskRef.current&&maskRef.current.updateOptions(maskOptions)},[maskOptions]);let onAcceptRef=(0,_react.useRef)(onAccept),onCompleteRef=(0,_react.useRef)(onComplete);return(0,_react.useLayoutEffect)(()=>{onAcceptRef.current=onAccept,onCompleteRef.current=onComplete},[onAccept,onComplete]),(0,_react.useEffect)(()=>{if(!maskRef.current)return;let handleAccept=()=>{maskRef.current&&onAcceptRef.current?.(maskRef.current.value,maskRef.current.unmaskedValue,maskRef.current.typedValue)},handleComplete=()=>{maskRef.current&&onCompleteRef.current?.(maskRef.current.value,maskRef.current.unmaskedValue,maskRef.current.typedValue)};return maskRef.current.on("accept",handleAccept),maskRef.current.on("complete",handleComplete),()=>{maskRef.current&&(maskRef.current.off("accept",handleAccept),maskRef.current.off("complete",handleComplete))}},[]),(0,_react.useEffect)(()=>{maskRef.current&&void 0!==value&&(maskRef.current.value=value)},[value]),_react.default.createElement(StyledContainer,null,_react.default.createElement(StyledDateInput,{...rest,ref:inputRef,type:"text",placeholder:readOnly?void 0:placeholder,hasError:hasError,readOnly:readOnly,disabled:disabled,"aria-invalid":hasError}),_react.default.createElement(_DatepickerButton.DatepickerButton,{hasError:hasError,disabled:disabled??!1,readOnly:readOnly,ariaLabel:isCalendarOpen?calendarButtonAriaLabelClose:calendarButtonAriaLabelOpen,onClick:()=>setIsCalendarOpen(prev=>!prev)}))});
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export type { DatepickerProps } from "./Datepicker.types";
|
|
3
|
-
export declare const Datepicker: React.ForwardRefExoticComponent<{
|
|
4
|
-
format?: import("../dateMask").DateFormat;
|
|
5
|
-
onAccept?: (value: string, unmaskedValue: string, typedValue: string) => void;
|
|
6
|
-
onComplete?: (value: string, unmaskedValue: string, typedValue: string) => void;
|
|
7
|
-
isPlaceholderShown?: boolean;
|
|
8
|
-
dayPlaceholderChar?: string;
|
|
9
|
-
monthPlaceholderChar?: string;
|
|
10
|
-
yearPlaceholderChar?: string;
|
|
11
|
-
"data-e2e-test-id"?: string;
|
|
12
|
-
slotProps?: {
|
|
13
|
-
calendarButton?: {
|
|
14
|
-
ariaLabelOpen?: string;
|
|
15
|
-
ariaLabelClose?: string;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
} & import("../FormField/FormField").FormFieldProps & Omit<React.InputHTMLAttributes<HTMLInputElement>, "value" | "type" | "onChange"> & {
|
|
19
|
-
value?: string;
|
|
20
|
-
hasError?: boolean;
|
|
21
|
-
} & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"Datepicker",{enumerable:!0,get:function(){return Datepicker}});const _react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_default")._(require("react")),_FormField=require("../FormField/FormField"),_useFormFieldMessageId=require("../FormField/useFormFieldMessageId"),_dateMask=require("../dateMask"),_DatePickerInput=require("./DatePickerInput"),Datepicker=_react.default.forwardRef(({format="US",onAccept,onComplete,label,labelHint,hideLabel,hint,errorMessages,hasError=!1,disabled,slotProps,"aria-describedby":ariaDescribedBy,"data-e2e-test-id":dataE2eTestId,...rest},ref)=>{let{id,ariaDescribedByProp}=(0,_useFormFieldMessageId.useFormFieldMessageId)({ariaDescribedBy,errorMessages,hint}),labelHintText=labelHint??_dateMask.FORMAT_TO_LABEL_HINT[format];return _react.default.createElement(_FormField.FormField,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Datepicker",disabled:disabled,label:label,labelHint:labelHintText,hideLabel:hideLabel,hint:hint,errorMessages:errorMessages,messageId:id},_react.default.createElement(_DatePickerInput.DatePickerInput,{...rest,ref:ref,format:format,onAccept:onAccept,onComplete:onComplete,hasError:hasError,disabled:disabled,slotProps:slotProps,...ariaDescribedByProp}))});
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import type { InputHTMLAttributes } from "react";
|
|
2
|
-
import type { FormFieldProps } from "../FormField/FormField";
|
|
3
|
-
import type { DateFormat } from "../dateMask";
|
|
4
|
-
export type DatepickerProps = {
|
|
5
|
-
/** Date display format. `"US"` = MM/DD/YYYY, `"DE"` = DD.MM.YYYY, `"RoW"` = DD/MM/YYYY. Default: `"US"`. */
|
|
6
|
-
format?: DateFormat;
|
|
7
|
-
/** Fires whenever the masked value changes (each keystroke or calendar selection). Maps to IMask "accept". */
|
|
8
|
-
onAccept?: (value: string, unmaskedValue: string, typedValue: string) => void;
|
|
9
|
-
/** Fires only when the mask is completely filled. Maps to IMask "complete". */
|
|
10
|
-
onComplete?: (value: string, unmaskedValue: string, typedValue: string) => void;
|
|
11
|
-
/** When true, shows placeholder characters in empty mask positions. */
|
|
12
|
-
isPlaceholderShown?: boolean;
|
|
13
|
-
/** Single character used as placeholder for the day segment when `isPlaceholderShown` is true. */
|
|
14
|
-
dayPlaceholderChar?: string;
|
|
15
|
-
/** Single character used as placeholder for the month segment when `isPlaceholderShown` is true. */
|
|
16
|
-
monthPlaceholderChar?: string;
|
|
17
|
-
/** Single character used as placeholder for the year segment when `isPlaceholderShown` is true. */
|
|
18
|
-
yearPlaceholderChar?: string;
|
|
19
|
-
/** Id for the root element, used by e2e tests. */
|
|
20
|
-
"data-e2e-test-id"?: string;
|
|
21
|
-
/**
|
|
22
|
-
* Props for sub-components.
|
|
23
|
-
*
|
|
24
|
-
* - `calendarButton.ariaLabelOpen` — Label for screen readers when the calendar can be opened (e.g. "Open calendar").
|
|
25
|
-
* - `calendarButton.ariaLabelClose` — Label for screen readers when the calendar can be closed (e.g. "Close calendar").
|
|
26
|
-
*/
|
|
27
|
-
slotProps?: {
|
|
28
|
-
calendarButton?: {
|
|
29
|
-
/** Label for screen readers when the calendar is closed and the button opens it */
|
|
30
|
-
ariaLabelOpen?: string;
|
|
31
|
-
/** Label for screen readers when the calendar is open and the button closes it */
|
|
32
|
-
ariaLabelClose?: string;
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
} & FormFieldProps & Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "onChange" | "value"> & {
|
|
36
|
-
/** Controlled value (masked string). When provided, the input is controlled. */
|
|
37
|
-
value?: string;
|
|
38
|
-
/** When true, shows the input in an error state (e.g. red border). */
|
|
39
|
-
hasError?: boolean;
|
|
40
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { ReactElement } from "react";
|
|
2
|
-
import React from "react";
|
|
3
|
-
type DatepickerButtonProps = {
|
|
4
|
-
hasError: boolean;
|
|
5
|
-
disabled: boolean;
|
|
6
|
-
readOnly?: boolean;
|
|
7
|
-
ariaLabel: string;
|
|
8
|
-
onClick?: (e: React.MouseEvent) => void;
|
|
9
|
-
};
|
|
10
|
-
export declare const DatepickerButton: ({ hasError, disabled, readOnly, ariaLabel, onClick, }: DatepickerButtonProps) => ReactElement;
|
|
11
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"DatepickerButton",{enumerable:!0,get:function(){return DatepickerButton}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_Icon=require("../../Icon/Icon"),_ScreenReaderText=require("../../Utilities/ScreenReaderText/ScreenReaderText"),handleIconBorderColor=(t,err)=>err?t.values.color.icon.error.default:"transparent",handleIconLeftBorderColor=(t,err)=>err?t.values.color.border.error.default:t.values.color.border.primary.default,StyledIconBtn=(0,_styled.default)("button",{target:"eeamyf60",label:"StyledIconBtn"})(({theme,hasError})=>({"&[type='button']":{appearance:"none",MozAppearance:"none",WebkitAppearance:"none"},position:"absolute",top:0,right:0,border:"1px solid",borderColor:handleIconBorderColor(theme,hasError??!1),borderLeftColor:handleIconLeftBorderColor(theme,hasError??!1),padding:`calc(${theme.variables.size.spacing.s} - 1px) ${theme.variables.size.spacing.s}`,borderRadius:theme.variables.size.borderRadius.xs,borderBottomLeftRadius:"0",borderTopLeftRadius:"0",color:theme.values.color.text.secondary.default,backgroundColor:"inherit",cursor:"pointer","&:hover":{backgroundColor:theme.values.color.background.transparent.hover,borderColor:theme.values.color.border.primary.hover},"&:active":{color:theme.values.color.text.primary.default,backgroundColor:theme.values.color.background.transparent.active,borderColor:theme.values.color.border.primary.active},"&:disabled":{backgroundColor:theme.values.color.background.transparent.default,borderLeftColor:theme.values.color.border.primary.disabled,pointerEvents:"none"},...hasError&&{boxShadow:`0 0 0 1px inset ${theme.values.color.border.error.default}`},"& svg":{pointerEvents:"none"}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRm9ybS9EYXRlcGlja2VyL0RhdGVwaWNrZXJCdXR0b24udHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Gb3JtL0RhdGVwaWNrZXIvRGF0ZXBpY2tlckJ1dHRvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZWFjdEVsZW1lbnQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwgeyB1c2VJZCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBUaGVtZSB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIi4uLy4uL0ljb24vSWNvblwiO1xuaW1wb3J0IHsgU2NyZWVuUmVhZGVyVGV4dCB9IGZyb20gXCIuLi8uLi9VdGlsaXRpZXMvU2NyZWVuUmVhZGVyVGV4dC9TY3JlZW5SZWFkZXJUZXh0XCI7XG5cbnR5cGUgRGF0ZXBpY2tlckJ1dHRvblByb3BzID0ge1xuICBoYXNFcnJvcjogYm9vbGVhbjtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHJlYWRPbmx5PzogYm9vbGVhbjtcbiAgYXJpYUxhYmVsOiBzdHJpbmc7XG4gIG9uQ2xpY2s/OiAoZTogUmVhY3QuTW91c2VFdmVudCkgPT4gdm9pZDtcbn07XG5cbnR5cGUgSWNvblByb3BzID0ge1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG59O1xuXG5jb25zdCBoYW5kbGVJY29uQm9yZGVyQ29sb3IgPSAodDogVGhlbWUsIGVycjogYm9vbGVhbikgPT4ge1xuICBpZiAoZXJyKSByZXR1cm4gdC52YWx1ZXMuY29sb3IuaWNvbi5lcnJvci5kZWZhdWx0O1xuICByZXR1cm4gXCJ0cmFuc3BhcmVudFwiO1xufTtcbmNvbnN0IGhhbmRsZUljb25MZWZ0Qm9yZGVyQ29sb3IgPSAodDogVGhlbWUsIGVycjogYm9vbGVhbikgPT4ge1xuICBpZiAoZXJyKSByZXR1cm4gdC52YWx1ZXMuY29sb3IuYm9yZGVyLmVycm9yLmRlZmF1bHQ7XG4gIHJldHVybiB0LnZhbHVlcy5jb2xvci5ib3JkZXIucHJpbWFyeS5kZWZhdWx0O1xufTtcblxuY29uc3QgU3R5bGVkSWNvbkJ0biA9IHN0eWxlZC5idXR0b248SWNvblByb3BzPigoeyB0aGVtZSwgaGFzRXJyb3IgfSkgPT4gKHtcbiAgXCImW3R5cGU9J2J1dHRvbiddXCI6IHtcbiAgICBhcHBlYXJhbmNlOiBcIm5vbmVcIixcbiAgICBNb3pBcHBlYXJhbmNlOiBcIm5vbmVcIixcbiAgICBXZWJraXRBcHBlYXJhbmNlOiBcIm5vbmVcIixcbiAgfSxcbiAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgdG9wOiAwLFxuICByaWdodDogMCxcbiAgYm9yZGVyOiBcIjFweCBzb2xpZFwiLFxuICBib3JkZXJDb2xvcjogaGFuZGxlSWNvbkJvcmRlckNvbG9yKHRoZW1lLCBoYXNFcnJvciA/PyBmYWxzZSksXG4gIGJvcmRlckxlZnRDb2xvcjogaGFuZGxlSWNvbkxlZnRCb3JkZXJDb2xvcih0aGVtZSwgaGFzRXJyb3IgPz8gZmFsc2UpLFxuICBwYWRkaW5nOiBgY2FsYygke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcuc30gLSAxcHgpICR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zfWAsXG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzLFxuICBib3JkZXJCb3R0b21MZWZ0UmFkaXVzOiBcIjBcIixcbiAgYm9yZGVyVG9wTGVmdFJhZGl1czogXCIwXCIsXG4gIGNvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IudGV4dC5zZWNvbmRhcnkuZGVmYXVsdCxcbiAgYmFja2dyb3VuZENvbG9yOiBcImluaGVyaXRcIixcbiAgY3Vyc29yOiBcInBvaW50ZXJcIixcbiAgXCImOmhvdmVyXCI6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLnRyYW5zcGFyZW50LmhvdmVyLFxuICAgIGJvcmRlckNvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnByaW1hcnkuaG92ZXIsXG4gIH0sXG4gIFwiJjphY3RpdmVcIjoge1xuICAgIGNvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IudGV4dC5wcmltYXJ5LmRlZmF1bHQsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC50cmFuc3BhcmVudC5hY3RpdmUsXG4gICAgYm9yZGVyQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIucHJpbWFyeS5hY3RpdmUsXG4gIH0sXG4gIFwiJjpkaXNhYmxlZFwiOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC50cmFuc3BhcmVudC5kZWZhdWx0LFxuICAgIGJvcmRlckxlZnRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5wcmltYXJ5LmRpc2FibGVkLFxuICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICB9LFxuICAuLi4oaGFzRXJyb3IgJiYge1xuICAgIGJveFNoYWRvdzogYDAgMCAwIDFweCBpbnNldCAke3RoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuZXJyb3IuZGVmYXVsdH1gLFxuICB9KSxcbiAgXCImIHN2Z1wiOiB7XG4gICAgcG9pbnRlckV2ZW50czogXCJub25lXCIsXG4gIH0sXG59KSk7XG5cbmV4cG9ydCBjb25zdCBEYXRlcGlja2VyQnV0dG9uID0gKHtcbiAgaGFzRXJyb3IsXG4gIGRpc2FibGVkLFxuICByZWFkT25seSxcbiAgYXJpYUxhYmVsLFxuICBvbkNsaWNrLFxufTogRGF0ZXBpY2tlckJ1dHRvblByb3BzKTogUmVhY3RFbGVtZW50ID0+IHtcbiAgY29uc3Qgc2NyZWVuUmVhZGVyVGV4dElkID0gdXNlSWQoKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8U2NyZWVuUmVhZGVyVGV4dCBpZD17c2NyZWVuUmVhZGVyVGV4dElkfT57YXJpYUxhYmVsfTwvU2NyZWVuUmVhZGVyVGV4dD5cbiAgICAgIDxTdHlsZWRJY29uQnRuXG4gICAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICAgIGhhc0Vycm9yPXtoYXNFcnJvcn1cbiAgICAgICAgZGlzYWJsZWQ9e3JlYWRPbmx5IHx8IGRpc2FibGVkfVxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXtzY3JlZW5SZWFkZXJUZXh0SWR9XG4gICAgICA+XG4gICAgICAgIDxJY29uXG4gICAgICAgICAgbmFtZT1cImNhbGVuZGFyXCJcbiAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgY29sb3I9e3JlYWRPbmx5ID8gXCJxdWF0ZXJuYXJ5XCIgOiBcInRlcnRpYXJ5XCJ9XG4gICAgICAgIC8+XG4gICAgICA8L1N0eWxlZEljb25CdG4+XG4gICAgPC8+XG4gICk7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRCc0IifQ== */"),DatepickerButton=({hasError,disabled,readOnly,ariaLabel,onClick})=>{let screenReaderTextId=(0,_react.useId)();return _react.default.createElement(_react.default.Fragment,null,_react.default.createElement(_ScreenReaderText.ScreenReaderText,{id:screenReaderTextId},ariaLabel),_react.default.createElement(StyledIconBtn,{onClick:onClick,hasError:hasError,disabled:readOnly||disabled,type:"button","aria-labelledby":screenReaderTextId},_react.default.createElement(_Icon.Icon,{name:"calendar",size:"s",color:readOnly?"quaternary":"tertiary"})))};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get DatePickerInput(){return _DatePickerInput.DatePickerInput},get Datepicker(){return _Datepicker.Datepicker}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});const _Datepicker=require("./Datepicker"),_DatePickerInput=require("./DatePickerInput");
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export declare const DatePickerInput: React.ForwardRefExoticComponent<{
|
|
3
|
-
format?: import("../dateMask").DateFormat;
|
|
4
|
-
onAccept?: (value: string, unmaskedValue: string, typedValue: string) => void;
|
|
5
|
-
onComplete?: (value: string, unmaskedValue: string, typedValue: string) => void;
|
|
6
|
-
isPlaceholderShown?: boolean;
|
|
7
|
-
dayPlaceholderChar?: string;
|
|
8
|
-
monthPlaceholderChar?: string;
|
|
9
|
-
yearPlaceholderChar?: string;
|
|
10
|
-
"data-e2e-test-id"?: string;
|
|
11
|
-
slotProps?: {
|
|
12
|
-
calendarButton?: {
|
|
13
|
-
ariaLabelOpen?: string;
|
|
14
|
-
ariaLabelClose?: string;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
} & import("../FormField/FormField").FormFieldProps & Omit<React.InputHTMLAttributes<HTMLInputElement>, "value" | "type" | "onChange"> & {
|
|
18
|
-
value?: string;
|
|
19
|
-
hasError?: boolean;
|
|
20
|
-
} & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import React,{useRef,useEffect,useLayoutEffect,useMemo,useState,forwardRef}from"react";import styled from"@emotion/styled";import IMask from"imask";import{getMaskOptions}from"../dateMask";import{DatepickerButton}from"./DatepickerButton";let StyledContainer=styled("div",{target:"e2sbwrm0",label:"StyledContainer"})({width:"100%",display:"flex",alignItems:"center",flexDirection:"row",position:"relative"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRm9ybS9EYXRlcGlja2VyL0RhdGVQaWNrZXJJbnB1dC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0Zvcm0vRGF0ZXBpY2tlci9EYXRlUGlja2VySW5wdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmcgKi9cblxuaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwge1xuICB1c2VSZWYsXG4gIHVzZUVmZmVjdCxcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB0eXBlIHsgVGhlbWUgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuLy8gQHRzLWlnbm9yZSBXb24ndCBhbGxvdyBFUyBtb2R1bGUgdG8gYmUgaW1wb3J0ZWQgZHVlIHRvIGVycm9yIFRTMTQ3OSAoTmVlZCB0byBpbnZlc3RpZ2F0ZSlcbmltcG9ydCBJTWFzayBmcm9tIFwiaW1hc2tcIjtcbmltcG9ydCB7IGdldE1hc2tPcHRpb25zIH0gZnJvbSBcIi4uL2RhdGVNYXNrXCI7XG5pbXBvcnQgdHlwZSB7IERhdGVwaWNrZXJQcm9wcyB9IGZyb20gXCIuL0RhdGVwaWNrZXIudHlwZXNcIjtcbmltcG9ydCB7IERhdGVwaWNrZXJCdXR0b24gfSBmcm9tIFwiLi9EYXRlcGlja2VyQnV0dG9uXCI7XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGRpc3BsYXk6IFwiZmxleFwiLFxuICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRGF0ZUlucHV0UHJvcHMgPSB7XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgcmVhZE9ubHk/OiBib29sZWFuO1xufTtcblxuY29uc3QgaGFuZGxlQm9yZGVyQ29sb3IgPSAoe1xuICB0aGVtZSxcbiAgaGFzRXJyb3IsXG4gIHJlYWRPbmx5LFxufToge1xuICB0aGVtZTogVGhlbWU7XG4gIGhhc0Vycm9yOiBib29sZWFuO1xuICByZWFkT25seTogYm9vbGVhbjtcbn0pID0+IHtcbiAgaWYgKGhhc0Vycm9yKSByZXR1cm4gdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5lcnJvci5kZWZhdWx0O1xuICBpZiAocmVhZE9ubHkpIHJldHVybiB0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnByaW1hcnkuZGlzYWJsZWQ7XG4gIHJldHVybiB0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnByaW1hcnkuZGVmYXVsdDtcbn07XG5cbmNvbnN0IFN0eWxlZERhdGVJbnB1dCA9IHN0eWxlZC5pbnB1dDxTdHlsZWREYXRlSW5wdXRQcm9wcz4oXG4gICh7IHRoZW1lLCBoYXNFcnJvciwgcmVhZE9ubHkgfSkgPT4gKHtcbiAgICBmb250RmFtaWx5OiB0aGVtZS52YXJpYWJsZXMuZm9udEZhbWlseS5sYXRvLFxuICAgIGZvbnRTaXplOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5mb250Lm0sXG4gICAgbGluZUhlaWdodDogdGhlbWUudmFyaWFibGVzLnNpemUubGluZUhlaWdodC54bCxcbiAgICBib3JkZXJSYWRpdXM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmJvcmRlclJhZGl1cy54cyxcbiAgICBib3JkZXJXaWR0aDogXCIxcHhcIixcbiAgICBib3JkZXJTdHlsZTogXCJzb2xpZFwiLFxuICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICBwYWRkaW5nOiBgY2FsYygke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHN9IC0gMXB4KSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcuc31gLFxuICAgIHBhZGRpbmdSaWdodDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eGwsXG4gICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICBjb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLnRleHQuc2Vjb25kYXJ5LmRlZmF1bHQsXG4gICAgYm9yZGVyQ29sb3I6IGhhbmRsZUJvcmRlckNvbG9yKHtcbiAgICAgIHRoZW1lLFxuICAgICAgaGFzRXJyb3I6IGhhc0Vycm9yID8/IGZhbHNlLFxuICAgICAgcmVhZE9ubHk6IHJlYWRPbmx5ID8/IGZhbHNlLFxuICAgIH0pLFxuICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQucHJpbWFyeS5kZWZhdWx0LFxuICAgIFwiJjo6cGxhY2Vob2xkZXJcIjoge1xuICAgICAgZm9udFN0eWxlOiBcIml0YWxpY1wiLFxuICAgICAgY29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci50ZXh0LnRlcnRpYXJ5LmRlZmF1bHQsXG4gICAgICBvcGFjaXR5OiB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlLFxuICAgIH0sXG4gICAgXCImOi1tcy1pbnB1dC1wbGFjZWhvbGRlclwiOiB7XG4gICAgICBmb250U3R5bGU6IFwiaXRhbGljXCIsXG4gICAgICBjb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLnRleHQudGVydGlhcnkuZGVmYXVsdCxcbiAgICB9LFxuICAgIFwiJjo6LW1zLWlucHV0LXBsYWNlaG9sZGVyXCI6IHtcbiAgICAgIGZvbnRTdHlsZTogXCJpdGFsaWNcIixcbiAgICAgIGNvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IudGV4dC50ZXJ0aWFyeS5kZWZhdWx0LFxuICAgIH0sXG4gICAgLi4uKGhhc0Vycm9yICYmIHtcbiAgICAgIGJveFNoYWRvdzogYDAgMCAwIDFweCBpbnNldCAke3RoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuZXJyb3IuZGVmYXVsdH1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuZXhwb3J0IGNvbnN0IERhdGVQaWNrZXJJbnB1dCA9IGZvcndhcmRSZWY8SFRNTElucHV0RWxlbWVudCwgRGF0ZXBpY2tlclByb3BzPihcbiAgKFxuICAgIHtcbiAgICAgIGZvcm1hdCA9IFwiVVNcIixcbiAgICAgIG9uQWNjZXB0LFxuICAgICAgb25Db21wbGV0ZSxcbiAgICAgIGhhc0Vycm9yID0gZmFsc2UsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIHJlYWRPbmx5LFxuICAgICAgdmFsdWUsXG4gICAgICBpc1BsYWNlaG9sZGVyU2hvd24gPSBmYWxzZSxcbiAgICAgIGRheVBsYWNlaG9sZGVyQ2hhciA9IFwiRFwiLFxuICAgICAgbW9udGhQbGFjZWhvbGRlckNoYXIgPSBcIk1cIixcbiAgICAgIHllYXJQbGFjZWhvbGRlckNoYXIgPSBcIllcIixcbiAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgc2xvdFByb3BzLFxuICAgICAgLi4ucmVzdFxuICAgIH0sXG4gICAgcmVmXG4gICk6IFJlYWN0LlJlYWN0RWxlbWVudCA9PiB7XG4gICAgY29uc3QgaW50ZXJuYWxSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgbWFza1JlZiA9IHVzZVJlZjxSZXR1cm5UeXBlPHR5cGVvZiBJTWFzaz4gfCBudWxsPihudWxsKTtcbiAgICBjb25zdCBpbnB1dFJlZiA9IChyZWYgYXMgUmVmT2JqZWN0PEhUTUxJbnB1dEVsZW1lbnQ+KSB8fCBpbnRlcm5hbFJlZjtcbiAgICBjb25zdCBbaXNDYWxlbmRhck9wZW4sIHNldElzQ2FsZW5kYXJPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgIGNvbnN0IGNhbGVuZGFyQnV0dG9uQXJpYUxhYmVsT3BlbiA9XG4gICAgICBzbG90UHJvcHM/LmNhbGVuZGFyQnV0dG9uPy5hcmlhTGFiZWxPcGVuID8/IFwiT3BlbiBjYWxlbmRhclwiO1xuICAgIGNvbnN0IGNhbGVuZGFyQnV0dG9uQXJpYUxhYmVsQ2xvc2UgPVxuICAgICAgc2xvdFByb3BzPy5jYWxlbmRhckJ1dHRvbj8uYXJpYUxhYmVsQ2xvc2UgPz8gXCJDbG9zZSBjYWxlbmRhclwiO1xuICAgIGNvbnN0IGNhbGVuZGFyQnV0dG9uQXJpYUxhYmVsID0gaXNDYWxlbmRhck9wZW5cbiAgICAgID8gY2FsZW5kYXJCdXR0b25BcmlhTGFiZWxDbG9zZVxuICAgICAgOiBjYWxlbmRhckJ1dHRvbkFyaWFMYWJlbE9wZW47XG5cbiAgICBjb25zdCBtYXNrT3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBnZXRNYXNrT3B0aW9ucyh7XG4gICAgICAgICAgZm9ybWF0LFxuICAgICAgICAgIGlzUGxhY2Vob2xkZXJTaG93bixcbiAgICAgICAgICBkYXlQbGFjZWhvbGRlckNoYXIsXG4gICAgICAgICAgbW9udGhQbGFjZWhvbGRlckNoYXIsXG4gICAgICAgICAgeWVhclBsYWNlaG9sZGVyQ2hhcixcbiAgICAgICAgfSksXG4gICAgICBbXG4gICAgICAgIGZvcm1hdCxcbiAgICAgICAgaXNQbGFjZWhvbGRlclNob3duLFxuICAgICAgICBkYXlQbGFjZWhvbGRlckNoYXIsXG4gICAgICAgIG1vbnRoUGxhY2Vob2xkZXJDaGFyLFxuICAgICAgICB5ZWFyUGxhY2Vob2xkZXJDaGFyLFxuICAgICAgXVxuICAgICk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGlucHV0UmVmPy5jdXJyZW50KSB7XG4gICAgICAgIG1hc2tSZWYuY3VycmVudCA9IElNYXNrKGlucHV0UmVmLmN1cnJlbnQsIG1hc2tPcHRpb25zKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChtYXNrUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICBtYXNrUmVmLmN1cnJlbnQuZGVzdHJveSgpO1xuICAgICAgICAgIG1hc2tSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICAvLyBJbnRlbnRpb25hbGx5IGRlcGVuZCBvbmx5IG9uIGlucHV0UmVmOiBtYXNrIGluaXQgcnVucyBvbmNlIHdoZW4gdGhlIGVsZW1lbnQgbW91bnRzOyBtYXNrT3B0aW9ucyB1cGRhdGVzIGFyZSBhcHBsaWVkIGluIHRoZSBlZmZlY3QgYmVsb3cuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgfSwgW2lucHV0UmVmXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKG1hc2tSZWYuY3VycmVudCkge1xuICAgICAgICBtYXNrUmVmLmN1cnJlbnQudXBkYXRlT3B0aW9ucyhtYXNrT3B0aW9ucyk7XG4gICAgICB9XG4gICAgfSwgW21hc2tPcHRpb25zXSk7XG5cbiAgICBjb25zdCBvbkFjY2VwdFJlZiA9IHVzZVJlZihvbkFjY2VwdCk7XG4gICAgY29uc3Qgb25Db21wbGV0ZVJlZiA9IHVzZVJlZihvbkNvbXBsZXRlKTtcblxuICAgIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgICBvbkFjY2VwdFJlZi5jdXJyZW50ID0gb25BY2NlcHQ7XG4gICAgICBvbkNvbXBsZXRlUmVmLmN1cnJlbnQgPSBvbkNvbXBsZXRlO1xuICAgIH0sIFtvbkFjY2VwdCwgb25Db21wbGV0ZV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghbWFza1JlZi5jdXJyZW50KSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgY29uc3QgaGFuZGxlQWNjZXB0ID0gKCkgPT4ge1xuICAgICAgICBpZiAobWFza1JlZi5jdXJyZW50KSB7XG4gICAgICAgICAgb25BY2NlcHRSZWYuY3VycmVudD8uKFxuICAgICAgICAgICAgbWFza1JlZi5jdXJyZW50LnZhbHVlLFxuICAgICAgICAgICAgbWFza1JlZi5jdXJyZW50LnVubWFza2VkVmFsdWUsXG4gICAgICAgICAgICBtYXNrUmVmLmN1cnJlbnQudHlwZWRWYWx1ZVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBjb25zdCBoYW5kbGVDb21wbGV0ZSA9ICgpID0+IHtcbiAgICAgICAgaWYgKG1hc2tSZWYuY3VycmVudCkge1xuICAgICAgICAgIG9uQ29tcGxldGVSZWYuY3VycmVudD8uKFxuICAgICAgICAgICAgbWFza1JlZi5jdXJyZW50LnZhbHVlLFxuICAgICAgICAgICAgbWFza1JlZi5jdXJyZW50LnVubWFza2VkVmFsdWUsXG4gICAgICAgICAgICBtYXNrUmVmLmN1cnJlbnQudHlwZWRWYWx1ZVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBtYXNrUmVmLmN1cnJlbnQub24oXCJhY2NlcHRcIiwgaGFuZGxlQWNjZXB0KTtcbiAgICAgIG1hc2tSZWYuY3VycmVudC5vbihcImNvbXBsZXRlXCIsIGhhbmRsZUNvbXBsZXRlKTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChtYXNrUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICBtYXNrUmVmLmN1cnJlbnQub2ZmKFwiYWNjZXB0XCIsIGhhbmRsZUFjY2VwdCk7XG4gICAgICAgICAgbWFza1JlZi5jdXJyZW50Lm9mZihcImNvbXBsZXRlXCIsIGhhbmRsZUNvbXBsZXRlKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9LCBbXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKG1hc2tSZWYuY3VycmVudCAmJiB0eXBlb2YgdmFsdWUgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgbWFza1JlZi5jdXJyZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICB9XG4gICAgfSwgW3ZhbHVlXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZENvbnRhaW5lcj5cbiAgICAgICAgPFN0eWxlZERhdGVJbnB1dFxuICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICAgIHJlZj17aW5wdXRSZWZ9XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPXshcmVhZE9ubHkgPyBwbGFjZWhvbGRlciA6IHVuZGVmaW5lZH1cbiAgICAgICAgICBoYXNFcnJvcj17aGFzRXJyb3J9XG4gICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBhcmlhLWludmFsaWQ9e2hhc0Vycm9yfVxuICAgICAgICAvPlxuICAgICAgICA8RGF0ZXBpY2tlckJ1dHRvblxuICAgICAgICAgIGhhc0Vycm9yPXtoYXNFcnJvcn1cbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWQgPz8gZmFsc2V9XG4gICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgIGFyaWFMYWJlbD17Y2FsZW5kYXJCdXR0b25BcmlhTGFiZWx9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNDYWxlbmRhck9wZW4oKHByZXYpID0+ICFwcmV2KX0gLy8gVE9ETzogaW1wbGVtZW50IGJlaGF2aW9yIGluIGZvbGxvd2luZyB0aWNrZXRcbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbik7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0J3QiJ9 */"),handleBorderColor=({theme,hasError,readOnly})=>hasError?theme.values.color.border.error.default:readOnly?theme.values.color.border.primary.disabled:theme.values.color.border.primary.default,StyledDateInput=styled("input",{target:"e2sbwrm1",label:"StyledDateInput"})(({theme,hasError,readOnly})=>({fontFamily:theme.variables.fontFamily.lato,fontSize:theme.variables.size.font.m,lineHeight:theme.variables.size.lineHeight.xl,borderRadius:theme.variables.size.borderRadius.xs,borderWidth:"1px",borderStyle:"solid",width:"100%",padding:`calc(${theme.variables.size.spacing.xs} - 1px) ${theme.variables.size.spacing.s}`,paddingRight:theme.variables.size.spacing.xxl,boxSizing:"border-box",color:theme.values.color.text.secondary.default,borderColor:handleBorderColor({theme,hasError:hasError??!1,readOnly:readOnly??!1}),backgroundColor:theme.values.color.background.primary.default,"&::placeholder":{fontStyle:"italic",color:theme.values.color.text.tertiary.default,opacity:theme.variables.opacity.visible},"&:-ms-input-placeholder":{fontStyle:"italic",color:theme.values.color.text.tertiary.default},"&::-ms-input-placeholder":{fontStyle:"italic",color:theme.values.color.text.tertiary.default},...hasError&&{boxShadow:`0 0 0 1px inset ${theme.values.color.border.error.default}`}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRm9ybS9EYXRlcGlja2VyL0RhdGVQaWNrZXJJbnB1dC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0Zvcm0vRGF0ZXBpY2tlci9EYXRlUGlja2VySW5wdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmcgKi9cblxuaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwge1xuICB1c2VSZWYsXG4gIHVzZUVmZmVjdCxcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB0eXBlIHsgVGhlbWUgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuLy8gQHRzLWlnbm9yZSBXb24ndCBhbGxvdyBFUyBtb2R1bGUgdG8gYmUgaW1wb3J0ZWQgZHVlIHRvIGVycm9yIFRTMTQ3OSAoTmVlZCB0byBpbnZlc3RpZ2F0ZSlcbmltcG9ydCBJTWFzayBmcm9tIFwiaW1hc2tcIjtcbmltcG9ydCB7IGdldE1hc2tPcHRpb25zIH0gZnJvbSBcIi4uL2RhdGVNYXNrXCI7XG5pbXBvcnQgdHlwZSB7IERhdGVwaWNrZXJQcm9wcyB9IGZyb20gXCIuL0RhdGVwaWNrZXIudHlwZXNcIjtcbmltcG9ydCB7IERhdGVwaWNrZXJCdXR0b24gfSBmcm9tIFwiLi9EYXRlcGlja2VyQnV0dG9uXCI7XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGRpc3BsYXk6IFwiZmxleFwiLFxuICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRGF0ZUlucHV0UHJvcHMgPSB7XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgcmVhZE9ubHk/OiBib29sZWFuO1xufTtcblxuY29uc3QgaGFuZGxlQm9yZGVyQ29sb3IgPSAoe1xuICB0aGVtZSxcbiAgaGFzRXJyb3IsXG4gIHJlYWRPbmx5LFxufToge1xuICB0aGVtZTogVGhlbWU7XG4gIGhhc0Vycm9yOiBib29sZWFuO1xuICByZWFkT25seTogYm9vbGVhbjtcbn0pID0+IHtcbiAgaWYgKGhhc0Vycm9yKSByZXR1cm4gdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5lcnJvci5kZWZhdWx0O1xuICBpZiAocmVhZE9ubHkpIHJldHVybiB0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnByaW1hcnkuZGlzYWJsZWQ7XG4gIHJldHVybiB0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnByaW1hcnkuZGVmYXVsdDtcbn07XG5cbmNvbnN0IFN0eWxlZERhdGVJbnB1dCA9IHN0eWxlZC5pbnB1dDxTdHlsZWREYXRlSW5wdXRQcm9wcz4oXG4gICh7IHRoZW1lLCBoYXNFcnJvciwgcmVhZE9ubHkgfSkgPT4gKHtcbiAgICBmb250RmFtaWx5OiB0aGVtZS52YXJpYWJsZXMuZm9udEZhbWlseS5sYXRvLFxuICAgIGZvbnRTaXplOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5mb250Lm0sXG4gICAgbGluZUhlaWdodDogdGhlbWUudmFyaWFibGVzLnNpemUubGluZUhlaWdodC54bCxcbiAgICBib3JkZXJSYWRpdXM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmJvcmRlclJhZGl1cy54cyxcbiAgICBib3JkZXJXaWR0aDogXCIxcHhcIixcbiAgICBib3JkZXJTdHlsZTogXCJzb2xpZFwiLFxuICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICBwYWRkaW5nOiBgY2FsYygke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHN9IC0gMXB4KSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcuc31gLFxuICAgIHBhZGRpbmdSaWdodDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eGwsXG4gICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICBjb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLnRleHQuc2Vjb25kYXJ5LmRlZmF1bHQsXG4gICAgYm9yZGVyQ29sb3I6IGhhbmRsZUJvcmRlckNvbG9yKHtcbiAgICAgIHRoZW1lLFxuICAgICAgaGFzRXJyb3I6IGhhc0Vycm9yID8/IGZhbHNlLFxuICAgICAgcmVhZE9ubHk6IHJlYWRPbmx5ID8/IGZhbHNlLFxuICAgIH0pLFxuICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQucHJpbWFyeS5kZWZhdWx0LFxuICAgIFwiJjo6cGxhY2Vob2xkZXJcIjoge1xuICAgICAgZm9udFN0eWxlOiBcIml0YWxpY1wiLFxuICAgICAgY29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci50ZXh0LnRlcnRpYXJ5LmRlZmF1bHQsXG4gICAgICBvcGFjaXR5OiB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlLFxuICAgIH0sXG4gICAgXCImOi1tcy1pbnB1dC1wbGFjZWhvbGRlclwiOiB7XG4gICAgICBmb250U3R5bGU6IFwiaXRhbGljXCIsXG4gICAgICBjb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLnRleHQudGVydGlhcnkuZGVmYXVsdCxcbiAgICB9LFxuICAgIFwiJjo6LW1zLWlucHV0LXBsYWNlaG9sZGVyXCI6IHtcbiAgICAgIGZvbnRTdHlsZTogXCJpdGFsaWNcIixcbiAgICAgIGNvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IudGV4dC50ZXJ0aWFyeS5kZWZhdWx0LFxuICAgIH0sXG4gICAgLi4uKGhhc0Vycm9yICYmIHtcbiAgICAgIGJveFNoYWRvdzogYDAgMCAwIDFweCBpbnNldCAke3RoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuZXJyb3IuZGVmYXVsdH1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuZXhwb3J0IGNvbnN0IERhdGVQaWNrZXJJbnB1dCA9IGZvcndhcmRSZWY8SFRNTElucHV0RWxlbWVudCwgRGF0ZXBpY2tlclByb3BzPihcbiAgKFxuICAgIHtcbiAgICAgIGZvcm1hdCA9IFwiVVNcIixcbiAgICAgIG9uQWNjZXB0LFxuICAgICAgb25Db21wbGV0ZSxcbiAgICAgIGhhc0Vycm9yID0gZmFsc2UsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIHJlYWRPbmx5LFxuICAgICAgdmFsdWUsXG4gICAgICBpc1BsYWNlaG9sZGVyU2hvd24gPSBmYWxzZSxcbiAgICAgIGRheVBsYWNlaG9sZGVyQ2hhciA9IFwiRFwiLFxuICAgICAgbW9udGhQbGFjZWhvbGRlckNoYXIgPSBcIk1cIixcbiAgICAgIHllYXJQbGFjZWhvbGRlckNoYXIgPSBcIllcIixcbiAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgc2xvdFByb3BzLFxuICAgICAgLi4ucmVzdFxuICAgIH0sXG4gICAgcmVmXG4gICk6IFJlYWN0LlJlYWN0RWxlbWVudCA9PiB7XG4gICAgY29uc3QgaW50ZXJuYWxSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgbWFza1JlZiA9IHVzZVJlZjxSZXR1cm5UeXBlPHR5cGVvZiBJTWFzaz4gfCBudWxsPihudWxsKTtcbiAgICBjb25zdCBpbnB1dFJlZiA9IChyZWYgYXMgUmVmT2JqZWN0PEhUTUxJbnB1dEVsZW1lbnQ+KSB8fCBpbnRlcm5hbFJlZjtcbiAgICBjb25zdCBbaXNDYWxlbmRhck9wZW4sIHNldElzQ2FsZW5kYXJPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgIGNvbnN0IGNhbGVuZGFyQnV0dG9uQXJpYUxhYmVsT3BlbiA9XG4gICAgICBzbG90UHJvcHM/LmNhbGVuZGFyQnV0dG9uPy5hcmlhTGFiZWxPcGVuID8/IFwiT3BlbiBjYWxlbmRhclwiO1xuICAgIGNvbnN0IGNhbGVuZGFyQnV0dG9uQXJpYUxhYmVsQ2xvc2UgPVxuICAgICAgc2xvdFByb3BzPy5jYWxlbmRhckJ1dHRvbj8uYXJpYUxhYmVsQ2xvc2UgPz8gXCJDbG9zZSBjYWxlbmRhclwiO1xuICAgIGNvbnN0IGNhbGVuZGFyQnV0dG9uQXJpYUxhYmVsID0gaXNDYWxlbmRhck9wZW5cbiAgICAgID8gY2FsZW5kYXJCdXR0b25BcmlhTGFiZWxDbG9zZVxuICAgICAgOiBjYWxlbmRhckJ1dHRvbkFyaWFMYWJlbE9wZW47XG5cbiAgICBjb25zdCBtYXNrT3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBnZXRNYXNrT3B0aW9ucyh7XG4gICAgICAgICAgZm9ybWF0LFxuICAgICAgICAgIGlzUGxhY2Vob2xkZXJTaG93bixcbiAgICAgICAgICBkYXlQbGFjZWhvbGRlckNoYXIsXG4gICAgICAgICAgbW9udGhQbGFjZWhvbGRlckNoYXIsXG4gICAgICAgICAgeWVhclBsYWNlaG9sZGVyQ2hhcixcbiAgICAgICAgfSksXG4gICAgICBbXG4gICAgICAgIGZvcm1hdCxcbiAgICAgICAgaXNQbGFjZWhvbGRlclNob3duLFxuICAgICAgICBkYXlQbGFjZWhvbGRlckNoYXIsXG4gICAgICAgIG1vbnRoUGxhY2Vob2xkZXJDaGFyLFxuICAgICAgICB5ZWFyUGxhY2Vob2xkZXJDaGFyLFxuICAgICAgXVxuICAgICk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGlucHV0UmVmPy5jdXJyZW50KSB7XG4gICAgICAgIG1hc2tSZWYuY3VycmVudCA9IElNYXNrKGlucHV0UmVmLmN1cnJlbnQsIG1hc2tPcHRpb25zKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChtYXNrUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICBtYXNrUmVmLmN1cnJlbnQuZGVzdHJveSgpO1xuICAgICAgICAgIG1hc2tSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICAvLyBJbnRlbnRpb25hbGx5IGRlcGVuZCBvbmx5IG9uIGlucHV0UmVmOiBtYXNrIGluaXQgcnVucyBvbmNlIHdoZW4gdGhlIGVsZW1lbnQgbW91bnRzOyBtYXNrT3B0aW9ucyB1cGRhdGVzIGFyZSBhcHBsaWVkIGluIHRoZSBlZmZlY3QgYmVsb3cuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgfSwgW2lucHV0UmVmXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKG1hc2tSZWYuY3VycmVudCkge1xuICAgICAgICBtYXNrUmVmLmN1cnJlbnQudXBkYXRlT3B0aW9ucyhtYXNrT3B0aW9ucyk7XG4gICAgICB9XG4gICAgfSwgW21hc2tPcHRpb25zXSk7XG5cbiAgICBjb25zdCBvbkFjY2VwdFJlZiA9IHVzZVJlZihvbkFjY2VwdCk7XG4gICAgY29uc3Qgb25Db21wbGV0ZVJlZiA9IHVzZVJlZihvbkNvbXBsZXRlKTtcblxuICAgIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgICBvbkFjY2VwdFJlZi5jdXJyZW50ID0gb25BY2NlcHQ7XG4gICAgICBvbkNvbXBsZXRlUmVmLmN1cnJlbnQgPSBvbkNvbXBsZXRlO1xuICAgIH0sIFtvbkFjY2VwdCwgb25Db21wbGV0ZV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghbWFza1JlZi5jdXJyZW50KSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgY29uc3QgaGFuZGxlQWNjZXB0ID0gKCkgPT4ge1xuICAgICAgICBpZiAobWFza1JlZi5jdXJyZW50KSB7XG4gICAgICAgICAgb25BY2NlcHRSZWYuY3VycmVudD8uKFxuICAgICAgICAgICAgbWFza1JlZi5jdXJyZW50LnZhbHVlLFxuICAgICAgICAgICAgbWFza1JlZi5jdXJyZW50LnVubWFza2VkVmFsdWUsXG4gICAgICAgICAgICBtYXNrUmVmLmN1cnJlbnQudHlwZWRWYWx1ZVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBjb25zdCBoYW5kbGVDb21wbGV0ZSA9ICgpID0+IHtcbiAgICAgICAgaWYgKG1hc2tSZWYuY3VycmVudCkge1xuICAgICAgICAgIG9uQ29tcGxldGVSZWYuY3VycmVudD8uKFxuICAgICAgICAgICAgbWFza1JlZi5jdXJyZW50LnZhbHVlLFxuICAgICAgICAgICAgbWFza1JlZi5jdXJyZW50LnVubWFza2VkVmFsdWUsXG4gICAgICAgICAgICBtYXNrUmVmLmN1cnJlbnQudHlwZWRWYWx1ZVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBtYXNrUmVmLmN1cnJlbnQub24oXCJhY2NlcHRcIiwgaGFuZGxlQWNjZXB0KTtcbiAgICAgIG1hc2tSZWYuY3VycmVudC5vbihcImNvbXBsZXRlXCIsIGhhbmRsZUNvbXBsZXRlKTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChtYXNrUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICBtYXNrUmVmLmN1cnJlbnQub2ZmKFwiYWNjZXB0XCIsIGhhbmRsZUFjY2VwdCk7XG4gICAgICAgICAgbWFza1JlZi5jdXJyZW50Lm9mZihcImNvbXBsZXRlXCIsIGhhbmRsZUNvbXBsZXRlKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9LCBbXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKG1hc2tSZWYuY3VycmVudCAmJiB0eXBlb2YgdmFsdWUgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgbWFza1JlZi5jdXJyZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICB9XG4gICAgfSwgW3ZhbHVlXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZENvbnRhaW5lcj5cbiAgICAgICAgPFN0eWxlZERhdGVJbnB1dFxuICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICAgIHJlZj17aW5wdXRSZWZ9XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPXshcmVhZE9ubHkgPyBwbGFjZWhvbGRlciA6IHVuZGVmaW5lZH1cbiAgICAgICAgICBoYXNFcnJvcj17aGFzRXJyb3J9XG4gICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBhcmlhLWludmFsaWQ9e2hhc0Vycm9yfVxuICAgICAgICAvPlxuICAgICAgICA8RGF0ZXBpY2tlckJ1dHRvblxuICAgICAgICAgIGhhc0Vycm9yPXtoYXNFcnJvcn1cbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWQgPz8gZmFsc2V9XG4gICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgIGFyaWFMYWJlbD17Y2FsZW5kYXJCdXR0b25BcmlhTGFiZWx9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNDYWxlbmRhck9wZW4oKHByZXYpID0+ICFwcmV2KX0gLy8gVE9ETzogaW1wbGVtZW50IGJlaGF2aW9yIGluIGZvbGxvd2luZyB0aWNrZXRcbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbik7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0N3QiJ9 */");export const DatePickerInput=forwardRef(({format="US",onAccept,onComplete,hasError=!1,disabled,readOnly,value,isPlaceholderShown=!1,dayPlaceholderChar="D",monthPlaceholderChar="M",yearPlaceholderChar="Y",placeholder,slotProps,...rest},ref)=>{let internalRef=useRef(null),maskRef=useRef(null),inputRef=ref||internalRef,[isCalendarOpen,setIsCalendarOpen]=useState(!1),calendarButtonAriaLabelOpen=slotProps?.calendarButton?.ariaLabelOpen??"Open calendar",calendarButtonAriaLabelClose=slotProps?.calendarButton?.ariaLabelClose??"Close calendar",maskOptions=useMemo(()=>getMaskOptions({format,isPlaceholderShown,dayPlaceholderChar,monthPlaceholderChar,yearPlaceholderChar}),[format,isPlaceholderShown,dayPlaceholderChar,monthPlaceholderChar,yearPlaceholderChar]);useEffect(()=>(inputRef?.current&&(maskRef.current=IMask(inputRef.current,maskOptions)),()=>{maskRef.current&&(maskRef.current.destroy(),maskRef.current=null)}),[inputRef]),useEffect(()=>{maskRef.current&&maskRef.current.updateOptions(maskOptions)},[maskOptions]);let onAcceptRef=useRef(onAccept),onCompleteRef=useRef(onComplete);return useLayoutEffect(()=>{onAcceptRef.current=onAccept,onCompleteRef.current=onComplete},[onAccept,onComplete]),useEffect(()=>{if(!maskRef.current)return;let handleAccept=()=>{maskRef.current&&onAcceptRef.current?.(maskRef.current.value,maskRef.current.unmaskedValue,maskRef.current.typedValue)},handleComplete=()=>{maskRef.current&&onCompleteRef.current?.(maskRef.current.value,maskRef.current.unmaskedValue,maskRef.current.typedValue)};return maskRef.current.on("accept",handleAccept),maskRef.current.on("complete",handleComplete),()=>{maskRef.current&&(maskRef.current.off("accept",handleAccept),maskRef.current.off("complete",handleComplete))}},[]),useEffect(()=>{maskRef.current&&void 0!==value&&(maskRef.current.value=value)},[value]),React.createElement(StyledContainer,null,React.createElement(StyledDateInput,{...rest,ref:inputRef,type:"text",placeholder:readOnly?void 0:placeholder,hasError:hasError,readOnly:readOnly,disabled:disabled,"aria-invalid":hasError}),React.createElement(DatepickerButton,{hasError:hasError,disabled:disabled??!1,readOnly:readOnly,ariaLabel:isCalendarOpen?calendarButtonAriaLabelClose:calendarButtonAriaLabelOpen,onClick:()=>setIsCalendarOpen(prev=>!prev)}))});
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export type { DatepickerProps } from "./Datepicker.types";
|
|
3
|
-
export declare const Datepicker: React.ForwardRefExoticComponent<{
|
|
4
|
-
format?: import("../dateMask").DateFormat;
|
|
5
|
-
onAccept?: (value: string, unmaskedValue: string, typedValue: string) => void;
|
|
6
|
-
onComplete?: (value: string, unmaskedValue: string, typedValue: string) => void;
|
|
7
|
-
isPlaceholderShown?: boolean;
|
|
8
|
-
dayPlaceholderChar?: string;
|
|
9
|
-
monthPlaceholderChar?: string;
|
|
10
|
-
yearPlaceholderChar?: string;
|
|
11
|
-
"data-e2e-test-id"?: string;
|
|
12
|
-
slotProps?: {
|
|
13
|
-
calendarButton?: {
|
|
14
|
-
ariaLabelOpen?: string;
|
|
15
|
-
ariaLabelClose?: string;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
} & import("../FormField/FormField").FormFieldProps & Omit<React.InputHTMLAttributes<HTMLInputElement>, "value" | "type" | "onChange"> & {
|
|
19
|
-
value?: string;
|
|
20
|
-
hasError?: boolean;
|
|
21
|
-
} & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import React from"react";import{FormField}from"../FormField/FormField";import{useFormFieldMessageId}from"../FormField/useFormFieldMessageId";import{FORMAT_TO_LABEL_HINT}from"../dateMask";import{DatePickerInput}from"./DatePickerInput";export const Datepicker=React.forwardRef(({format="US",onAccept,onComplete,label,labelHint,hideLabel,hint,errorMessages,hasError=!1,disabled,slotProps,"aria-describedby":ariaDescribedBy,"data-e2e-test-id":dataE2eTestId,...rest},ref)=>{let{id,ariaDescribedByProp}=useFormFieldMessageId({ariaDescribedBy,errorMessages,hint}),labelHintText=labelHint??FORMAT_TO_LABEL_HINT[format];return React.createElement(FormField,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Datepicker",disabled:disabled,label:label,labelHint:labelHintText,hideLabel:hideLabel,hint:hint,errorMessages:errorMessages,messageId:id},React.createElement(DatePickerInput,{...rest,ref:ref,format:format,onAccept:onAccept,onComplete:onComplete,hasError:hasError,disabled:disabled,slotProps:slotProps,...ariaDescribedByProp}))});
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import type { InputHTMLAttributes } from "react";
|
|
2
|
-
import type { FormFieldProps } from "../FormField/FormField";
|
|
3
|
-
import type { DateFormat } from "../dateMask";
|
|
4
|
-
export type DatepickerProps = {
|
|
5
|
-
/** Date display format. `"US"` = MM/DD/YYYY, `"DE"` = DD.MM.YYYY, `"RoW"` = DD/MM/YYYY. Default: `"US"`. */
|
|
6
|
-
format?: DateFormat;
|
|
7
|
-
/** Fires whenever the masked value changes (each keystroke or calendar selection). Maps to IMask "accept". */
|
|
8
|
-
onAccept?: (value: string, unmaskedValue: string, typedValue: string) => void;
|
|
9
|
-
/** Fires only when the mask is completely filled. Maps to IMask "complete". */
|
|
10
|
-
onComplete?: (value: string, unmaskedValue: string, typedValue: string) => void;
|
|
11
|
-
/** When true, shows placeholder characters in empty mask positions. */
|
|
12
|
-
isPlaceholderShown?: boolean;
|
|
13
|
-
/** Single character used as placeholder for the day segment when `isPlaceholderShown` is true. */
|
|
14
|
-
dayPlaceholderChar?: string;
|
|
15
|
-
/** Single character used as placeholder for the month segment when `isPlaceholderShown` is true. */
|
|
16
|
-
monthPlaceholderChar?: string;
|
|
17
|
-
/** Single character used as placeholder for the year segment when `isPlaceholderShown` is true. */
|
|
18
|
-
yearPlaceholderChar?: string;
|
|
19
|
-
/** Id for the root element, used by e2e tests. */
|
|
20
|
-
"data-e2e-test-id"?: string;
|
|
21
|
-
/**
|
|
22
|
-
* Props for sub-components.
|
|
23
|
-
*
|
|
24
|
-
* - `calendarButton.ariaLabelOpen` — Label for screen readers when the calendar can be opened (e.g. "Open calendar").
|
|
25
|
-
* - `calendarButton.ariaLabelClose` — Label for screen readers when the calendar can be closed (e.g. "Close calendar").
|
|
26
|
-
*/
|
|
27
|
-
slotProps?: {
|
|
28
|
-
calendarButton?: {
|
|
29
|
-
/** Label for screen readers when the calendar is closed and the button opens it */
|
|
30
|
-
ariaLabelOpen?: string;
|
|
31
|
-
/** Label for screen readers when the calendar is open and the button closes it */
|
|
32
|
-
ariaLabelClose?: string;
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
} & FormFieldProps & Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "onChange" | "value"> & {
|
|
36
|
-
/** Controlled value (masked string). When provided, the input is controlled. */
|
|
37
|
-
value?: string;
|
|
38
|
-
/** When true, shows the input in an error state (e.g. red border). */
|
|
39
|
-
hasError?: boolean;
|
|
40
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { ReactElement } from "react";
|
|
2
|
-
import React from "react";
|
|
3
|
-
type DatepickerButtonProps = {
|
|
4
|
-
hasError: boolean;
|
|
5
|
-
disabled: boolean;
|
|
6
|
-
readOnly?: boolean;
|
|
7
|
-
ariaLabel: string;
|
|
8
|
-
onClick?: (e: React.MouseEvent) => void;
|
|
9
|
-
};
|
|
10
|
-
export declare const DatepickerButton: ({ hasError, disabled, readOnly, ariaLabel, onClick, }: DatepickerButtonProps) => ReactElement;
|
|
11
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import React,{useId}from"react";import styled from"@emotion/styled";import{Icon}from"../../Icon/Icon";import{ScreenReaderText}from"../../Utilities/ScreenReaderText/ScreenReaderText";let handleIconBorderColor=(t,err)=>err?t.values.color.icon.error.default:"transparent",handleIconLeftBorderColor=(t,err)=>err?t.values.color.border.error.default:t.values.color.border.primary.default,StyledIconBtn=styled("button",{target:"eeamyf60",label:"StyledIconBtn"})(({theme,hasError})=>({"&[type='button']":{appearance:"none",MozAppearance:"none",WebkitAppearance:"none"},position:"absolute",top:0,right:0,border:"1px solid",borderColor:handleIconBorderColor(theme,hasError??!1),borderLeftColor:handleIconLeftBorderColor(theme,hasError??!1),padding:`calc(${theme.variables.size.spacing.s} - 1px) ${theme.variables.size.spacing.s}`,borderRadius:theme.variables.size.borderRadius.xs,borderBottomLeftRadius:"0",borderTopLeftRadius:"0",color:theme.values.color.text.secondary.default,backgroundColor:"inherit",cursor:"pointer","&:hover":{backgroundColor:theme.values.color.background.transparent.hover,borderColor:theme.values.color.border.primary.hover},"&:active":{color:theme.values.color.text.primary.default,backgroundColor:theme.values.color.background.transparent.active,borderColor:theme.values.color.border.primary.active},"&:disabled":{backgroundColor:theme.values.color.background.transparent.default,borderLeftColor:theme.values.color.border.primary.disabled,pointerEvents:"none"},...hasError&&{boxShadow:`0 0 0 1px inset ${theme.values.color.border.error.default}`},"& svg":{pointerEvents:"none"}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRm9ybS9EYXRlcGlja2VyL0RhdGVwaWNrZXJCdXR0b24udHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Gb3JtL0RhdGVwaWNrZXIvRGF0ZXBpY2tlckJ1dHRvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZWFjdEVsZW1lbnQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwgeyB1c2VJZCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBUaGVtZSB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIi4uLy4uL0ljb24vSWNvblwiO1xuaW1wb3J0IHsgU2NyZWVuUmVhZGVyVGV4dCB9IGZyb20gXCIuLi8uLi9VdGlsaXRpZXMvU2NyZWVuUmVhZGVyVGV4dC9TY3JlZW5SZWFkZXJUZXh0XCI7XG5cbnR5cGUgRGF0ZXBpY2tlckJ1dHRvblByb3BzID0ge1xuICBoYXNFcnJvcjogYm9vbGVhbjtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHJlYWRPbmx5PzogYm9vbGVhbjtcbiAgYXJpYUxhYmVsOiBzdHJpbmc7XG4gIG9uQ2xpY2s/OiAoZTogUmVhY3QuTW91c2VFdmVudCkgPT4gdm9pZDtcbn07XG5cbnR5cGUgSWNvblByb3BzID0ge1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG59O1xuXG5jb25zdCBoYW5kbGVJY29uQm9yZGVyQ29sb3IgPSAodDogVGhlbWUsIGVycjogYm9vbGVhbikgPT4ge1xuICBpZiAoZXJyKSByZXR1cm4gdC52YWx1ZXMuY29sb3IuaWNvbi5lcnJvci5kZWZhdWx0O1xuICByZXR1cm4gXCJ0cmFuc3BhcmVudFwiO1xufTtcbmNvbnN0IGhhbmRsZUljb25MZWZ0Qm9yZGVyQ29sb3IgPSAodDogVGhlbWUsIGVycjogYm9vbGVhbikgPT4ge1xuICBpZiAoZXJyKSByZXR1cm4gdC52YWx1ZXMuY29sb3IuYm9yZGVyLmVycm9yLmRlZmF1bHQ7XG4gIHJldHVybiB0LnZhbHVlcy5jb2xvci5ib3JkZXIucHJpbWFyeS5kZWZhdWx0O1xufTtcblxuY29uc3QgU3R5bGVkSWNvbkJ0biA9IHN0eWxlZC5idXR0b248SWNvblByb3BzPigoeyB0aGVtZSwgaGFzRXJyb3IgfSkgPT4gKHtcbiAgXCImW3R5cGU9J2J1dHRvbiddXCI6IHtcbiAgICBhcHBlYXJhbmNlOiBcIm5vbmVcIixcbiAgICBNb3pBcHBlYXJhbmNlOiBcIm5vbmVcIixcbiAgICBXZWJraXRBcHBlYXJhbmNlOiBcIm5vbmVcIixcbiAgfSxcbiAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgdG9wOiAwLFxuICByaWdodDogMCxcbiAgYm9yZGVyOiBcIjFweCBzb2xpZFwiLFxuICBib3JkZXJDb2xvcjogaGFuZGxlSWNvbkJvcmRlckNvbG9yKHRoZW1lLCBoYXNFcnJvciA/PyBmYWxzZSksXG4gIGJvcmRlckxlZnRDb2xvcjogaGFuZGxlSWNvbkxlZnRCb3JkZXJDb2xvcih0aGVtZSwgaGFzRXJyb3IgPz8gZmFsc2UpLFxuICBwYWRkaW5nOiBgY2FsYygke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcuc30gLSAxcHgpICR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zfWAsXG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzLFxuICBib3JkZXJCb3R0b21MZWZ0UmFkaXVzOiBcIjBcIixcbiAgYm9yZGVyVG9wTGVmdFJhZGl1czogXCIwXCIsXG4gIGNvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IudGV4dC5zZWNvbmRhcnkuZGVmYXVsdCxcbiAgYmFja2dyb3VuZENvbG9yOiBcImluaGVyaXRcIixcbiAgY3Vyc29yOiBcInBvaW50ZXJcIixcbiAgXCImOmhvdmVyXCI6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLnRyYW5zcGFyZW50LmhvdmVyLFxuICAgIGJvcmRlckNvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnByaW1hcnkuaG92ZXIsXG4gIH0sXG4gIFwiJjphY3RpdmVcIjoge1xuICAgIGNvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IudGV4dC5wcmltYXJ5LmRlZmF1bHQsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC50cmFuc3BhcmVudC5hY3RpdmUsXG4gICAgYm9yZGVyQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIucHJpbWFyeS5hY3RpdmUsXG4gIH0sXG4gIFwiJjpkaXNhYmxlZFwiOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC50cmFuc3BhcmVudC5kZWZhdWx0LFxuICAgIGJvcmRlckxlZnRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5wcmltYXJ5LmRpc2FibGVkLFxuICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICB9LFxuICAuLi4oaGFzRXJyb3IgJiYge1xuICAgIGJveFNoYWRvdzogYDAgMCAwIDFweCBpbnNldCAke3RoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuZXJyb3IuZGVmYXVsdH1gLFxuICB9KSxcbiAgXCImIHN2Z1wiOiB7XG4gICAgcG9pbnRlckV2ZW50czogXCJub25lXCIsXG4gIH0sXG59KSk7XG5cbmV4cG9ydCBjb25zdCBEYXRlcGlja2VyQnV0dG9uID0gKHtcbiAgaGFzRXJyb3IsXG4gIGRpc2FibGVkLFxuICByZWFkT25seSxcbiAgYXJpYUxhYmVsLFxuICBvbkNsaWNrLFxufTogRGF0ZXBpY2tlckJ1dHRvblByb3BzKTogUmVhY3RFbGVtZW50ID0+IHtcbiAgY29uc3Qgc2NyZWVuUmVhZGVyVGV4dElkID0gdXNlSWQoKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8U2NyZWVuUmVhZGVyVGV4dCBpZD17c2NyZWVuUmVhZGVyVGV4dElkfT57YXJpYUxhYmVsfTwvU2NyZWVuUmVhZGVyVGV4dD5cbiAgICAgIDxTdHlsZWRJY29uQnRuXG4gICAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICAgIGhhc0Vycm9yPXtoYXNFcnJvcn1cbiAgICAgICAgZGlzYWJsZWQ9e3JlYWRPbmx5IHx8IGRpc2FibGVkfVxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXtzY3JlZW5SZWFkZXJUZXh0SWR9XG4gICAgICA+XG4gICAgICAgIDxJY29uXG4gICAgICAgICAgbmFtZT1cImNhbGVuZGFyXCJcbiAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgY29sb3I9e3JlYWRPbmx5ID8gXCJxdWF0ZXJuYXJ5XCIgOiBcInRlcnRpYXJ5XCJ9XG4gICAgICAgIC8+XG4gICAgICA8L1N0eWxlZEljb25CdG4+XG4gICAgPC8+XG4gICk7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRCc0IifQ== */");export const DatepickerButton=({hasError,disabled,readOnly,ariaLabel,onClick})=>{let screenReaderTextId=useId();return React.createElement(React.Fragment,null,React.createElement(ScreenReaderText,{id:screenReaderTextId},ariaLabel),React.createElement(StyledIconBtn,{onClick:onClick,hasError:hasError,disabled:readOnly||disabled,type:"button","aria-labelledby":screenReaderTextId},React.createElement(Icon,{name:"calendar",size:"s",color:readOnly?"quaternary":"tertiary"})))};
|