@amboss/design-system 4.2.6 → 4.3.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/Content/ContentBadge/ContentBadge.d.ts +12 -0
- package/build/cjs/components/Content/ContentBadge/ContentBadge.js +1 -0
- package/build/cjs/components/Form/Combobox/OptionsList.d.ts +7 -0
- package/build/cjs/components/Form/Combobox/OptionsList.js +1 -1
- package/build/cjs/components/Form/DatePicker/Calendar.js +1 -1
- package/build/cjs/components/Form/DatePicker/DatePickerPopover.js +1 -1
- package/build/cjs/components/Form/Select/Select.d.ts +1 -1
- package/build/cjs/components/Form/Select/Select.js +1 -1
- package/build/cjs/components/Form/Select/SelectWithCustomTrigger.d.ts +7 -1
- package/build/cjs/components/Form/Select/SelectWithCustomTrigger.js +1 -1
- package/build/cjs/components/Portal/Portal.js +1 -1
- package/build/cjs/components/Toggletip/BasePopover.d.ts +8 -1
- package/build/cjs/components/Toggletip/BasePopover.js +1 -1
- package/build/cjs/index.d.ts +1 -0
- package/build/cjs/index.js +1 -1
- package/build/cjs/web-tokens/_colors.json +24 -0
- package/build/cjs/web-tokens/assets/icons.json +1 -0
- package/build/cjs/web-tokens/assets/icons16.json +1 -0
- package/build/cjs/web-tokens/visualConfig.d.ts +29 -0
- package/build/cjs/web-tokens/visualConfig.js +1 -1
- package/build/esm/components/Content/ContentBadge/ContentBadge.d.ts +12 -0
- package/build/esm/components/Content/ContentBadge/ContentBadge.js +1 -0
- package/build/esm/components/Form/Combobox/OptionsList.d.ts +7 -0
- package/build/esm/components/Form/Combobox/OptionsList.js +1 -1
- package/build/esm/components/Form/DatePicker/Calendar.js +1 -1
- package/build/esm/components/Form/DatePicker/DatePickerPopover.js +1 -1
- package/build/esm/components/Form/Select/Select.d.ts +1 -1
- package/build/esm/components/Form/Select/Select.js +1 -1
- package/build/esm/components/Form/Select/SelectWithCustomTrigger.d.ts +7 -1
- package/build/esm/components/Form/Select/SelectWithCustomTrigger.js +1 -1
- package/build/esm/components/Portal/Portal.js +1 -1
- package/build/esm/components/Toggletip/BasePopover.d.ts +8 -1
- package/build/esm/components/Toggletip/BasePopover.js +1 -1
- package/build/esm/index.d.ts +1 -0
- package/build/esm/index.js +1 -1
- package/build/esm/web-tokens/_colors.json +24 -0
- package/build/esm/web-tokens/assets/icons.json +1 -0
- package/build/esm/web-tokens/assets/icons16.json +1 -0
- package/build/esm/web-tokens/visualConfig.d.ts +29 -0
- package/build/esm/web-tokens/visualConfig.js +1 -1
- package/build/scss/_dark.scss +21 -0
- package/build/scss/_light.scss +21 -0
- package/build/scss/_variables.scss +21 -0
- package/package.json +2 -2
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export type ContentBadgeColor = "green" | "blue" | "orange" | "purple" | "red" | "gray";
|
|
3
|
+
export type ContentBadgeProps = {
|
|
4
|
+
/** Label rendered inside the badge. Uppercased by the component. */
|
|
5
|
+
text: string;
|
|
6
|
+
/** Decorative colour variant. Carries no meaning on its own, so keep the meaning in `text`. */
|
|
7
|
+
color?: ContentBadgeColor;
|
|
8
|
+
/** If true, the badge will not have any left margin. */
|
|
9
|
+
noLeadingSpace?: boolean;
|
|
10
|
+
"data-e2e-test-id"?: string;
|
|
11
|
+
} & React.HTMLAttributes<HTMLSpanElement>;
|
|
12
|
+
export declare function ContentBadge({ text, color, "data-e2e-test-id": dataE2eTestId, ...rest }: ContentBadgeProps): React.ReactElement;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ContentBadge",{enumerable:!0,get:function(){return ContentBadge}});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")),_ispropvalid=/*#__PURE__*/_interop_require_default._(require("@emotion/is-prop-valid")),_FontSizeOffsetContext=require("../ContentFontResizer/FontSizeOffsetContext"),_ContentTableContext=require("../ContentTable/ContentTableContext"),StyledBadge=(0,_styled.default)("span",{shouldForwardProp:prop=>(0,_ispropvalid.default)(prop)&&"color"!==prop,target:"egpyfcy0",label:"StyledBadge"})(({theme,color,fontSizeOffset,noLeadingSpace})=>{let{background,border,foreground}=theme.values.color.content.badge,fontSize=theme.variables.size.font.xxs,colorValue=color??"default";return{margin:`${theme.variables.size.spacing.zero} ${theme.variables.size.spacing.xxs}`,padding:`${theme.variables.size.spacing.xxxs} ${theme.variables.size.spacing.xxs}`,border:`1px solid ${border[colorValue]}`,borderRadius:theme.variables.size.borderRadius.xs,backgroundColor:background[colorValue],color:foreground[colorValue],fontFamily:theme.variables.fontFamily.lato,fontWeight:theme.variables.weight.bold,fontSize:0!==fontSizeOffset?`calc(${fontSize} + ${fontSizeOffset}px)`:fontSize,lineHeight:1,letterSpacing:theme.variables.size.letterSpacing.s,textTransform:"uppercase",whiteSpace:"nowrap",...noLeadingSpace&&{marginInlineStart:theme.variables.size.spacing.zero}}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvQ29udGVudC9Db250ZW50QmFkZ2UvQ29udGVudEJhZGdlLnRzeCIsInNvdXJjZXMiOlsic3JjL2NvbXBvbmVudHMvQ29udGVudC9Db250ZW50QmFkZ2UvQ29udGVudEJhZGdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgaXNQcm9wVmFsaWQgZnJvbSBcIkBlbW90aW9uL2lzLXByb3AtdmFsaWRcIjtcbmltcG9ydCB7XG4gIEZvbnRTaXplT2Zmc2V0Q29udGV4dCxcbiAgdHlwZSBGb250U2l6ZU9mZnNldCxcbn0gZnJvbSBcIi4uL0NvbnRlbnRGb250UmVzaXplci9Gb250U2l6ZU9mZnNldENvbnRleHRcIjtcbmltcG9ydCB7IENvbnRlbnRUYWJsZUNvbnRleHQgfSBmcm9tIFwiLi4vQ29udGVudFRhYmxlL0NvbnRlbnRUYWJsZUNvbnRleHRcIjtcblxuZXhwb3J0IHR5cGUgQ29udGVudEJhZGdlQ29sb3IgPVxuICB8IFwiZ3JlZW5cIlxuICB8IFwiYmx1ZVwiXG4gIHwgXCJvcmFuZ2VcIlxuICB8IFwicHVycGxlXCJcbiAgfCBcInJlZFwiXG4gIHwgXCJncmF5XCI7XG5cbmV4cG9ydCB0eXBlIENvbnRlbnRCYWRnZVByb3BzID0ge1xuICAvKiogTGFiZWwgcmVuZGVyZWQgaW5zaWRlIHRoZSBiYWRnZS4gVXBwZXJjYXNlZCBieSB0aGUgY29tcG9uZW50LiAqL1xuICB0ZXh0OiBzdHJpbmc7XG4gIC8qKiBEZWNvcmF0aXZlIGNvbG91ciB2YXJpYW50LiBDYXJyaWVzIG5vIG1lYW5pbmcgb24gaXRzIG93biwgc28ga2VlcCB0aGUgbWVhbmluZyBpbiBgdGV4dGAuICovXG4gIGNvbG9yPzogQ29udGVudEJhZGdlQ29sb3I7XG4gIC8qKiBJZiB0cnVlLCB0aGUgYmFkZ2Ugd2lsbCBub3QgaGF2ZSBhbnkgbGVmdCBtYXJnaW4uICovXG4gIG5vTGVhZGluZ1NwYWNlPzogYm9vbGVhbjtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG59ICYgUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTFNwYW5FbGVtZW50PjtcblxudHlwZSBTdHlsZWRCYWRnZVByb3BzID0ge1xuICBjb2xvcjogQ29udGVudEJhZGdlQ29sb3I7XG4gIGZvbnRTaXplT2Zmc2V0OiBGb250U2l6ZU9mZnNldDtcbn07XG5cbmNvbnN0IFN0eWxlZEJhZGdlID0gc3R5bGVkKFwic3BhblwiLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gaXNQcm9wVmFsaWQocHJvcCkgJiYgcHJvcCAhPT0gXCJjb2xvclwiLFxufSk8U3R5bGVkQmFkZ2VQcm9wcyAmIHsgbm9MZWFkaW5nU3BhY2U/OiBib29sZWFuIH0+KFxuICAoeyB0aGVtZSwgY29sb3IsIGZvbnRTaXplT2Zmc2V0LCBub0xlYWRpbmdTcGFjZSB9KSA9PiB7XG4gICAgY29uc3QgeyBiYWNrZ3JvdW5kLCBib3JkZXIsIGZvcmVncm91bmQgfSA9IHRoZW1lLnZhbHVlcy5jb2xvci5jb250ZW50LmJhZGdlO1xuICAgIGNvbnN0IGZvbnRTaXplID0gdGhlbWUudmFyaWFibGVzLnNpemUuZm9udC54eHM7XG4gICAgY29uc3QgY29sb3JWYWx1ZSA9IGNvbG9yID8/IFwiZGVmYXVsdFwiO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG1hcmdpbjogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy56ZXJvfSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHhzfWAsXG4gICAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4eHN9ICR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eHN9YCxcbiAgICAgIGJvcmRlcjogYDFweCBzb2xpZCAke2JvcmRlcltjb2xvclZhbHVlXX1gLFxuICAgICAgYm9yZGVyUmFkaXVzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5ib3JkZXJSYWRpdXMueHMsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRbY29sb3JWYWx1ZV0sXG4gICAgICBjb2xvcjogZm9yZWdyb3VuZFtjb2xvclZhbHVlXSxcbiAgICAgIGZvbnRGYW1pbHk6IHRoZW1lLnZhcmlhYmxlcy5mb250RmFtaWx5LmxhdG8sXG4gICAgICBmb250V2VpZ2h0OiB0aGVtZS52YXJpYWJsZXMud2VpZ2h0LmJvbGQsXG4gICAgICBmb250U2l6ZTpcbiAgICAgICAgZm9udFNpemVPZmZzZXQgIT09IDBcbiAgICAgICAgICA/IGBjYWxjKCR7Zm9udFNpemV9ICsgJHtmb250U2l6ZU9mZnNldH1weClgXG4gICAgICAgICAgOiBmb250U2l6ZSxcbiAgICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgICBsZXR0ZXJTcGFjaW5nOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5sZXR0ZXJTcGFjaW5nLnMsXG4gICAgICB0ZXh0VHJhbnNmb3JtOiBcInVwcGVyY2FzZVwiIGFzIGNvbnN0LFxuICAgICAgd2hpdGVTcGFjZTogXCJub3dyYXBcIiBhcyBjb25zdCxcblxuICAgICAgLi4uKG5vTGVhZGluZ1NwYWNlICYmIHtcbiAgICAgICAgbWFyZ2luSW5saW5lU3RhcnQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcuemVybyxcbiAgICAgIH0pLFxuICAgIH07XG4gIH1cbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBDb250ZW50QmFkZ2Uoe1xuICB0ZXh0LFxuICBjb2xvcixcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gIC4uLnJlc3Rcbn06IENvbnRlbnRCYWRnZVByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgZm9udFNpemVPZmZzZXQgPSB1c2VDb250ZXh0KEZvbnRTaXplT2Zmc2V0Q29udGV4dCk7XG4gIGNvbnN0IGNvbnRlbnRUYWJsZUNvbnRleHQgPSB1c2VDb250ZXh0KENvbnRlbnRUYWJsZUNvbnRleHQpO1xuICBjb25zdCB0YWJsZUZvbnRTaXplT2Zmc2V0ID0gY29udGVudFRhYmxlQ29udGV4dD8uZm9udFNpemVPZmZzZXQgPz8gMDtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRCYWRnZVxuICAgICAgZGF0YS1kcy1pZD1cIkNvbnRlbnRCYWRnZVwiXG4gICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgY29sb3I9e2NvbG9yfVxuICAgICAgZm9udFNpemVPZmZzZXQ9e2ZvbnRTaXplT2Zmc2V0ICsgdGFibGVGb250U2l6ZU9mZnNldH1cbiAgICAgIHsuLi5yZXN0fVxuICAgID5cbiAgICAgIHt0ZXh0fVxuICAgIDwvU3R5bGVkQmFkZ2U+XG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0NvQiJ9 */");function ContentBadge({text,color,"data-e2e-test-id":dataE2eTestId,...rest}){let fontSizeOffset=(0,_react.useContext)(_FontSizeOffsetContext.FontSizeOffsetContext),contentTableContext=(0,_react.useContext)(_ContentTableContext.ContentTableContext),tableFontSizeOffset=contentTableContext?.fontSizeOffset??0;return _react.default.createElement(StyledBadge,{"data-ds-id":"ContentBadge","data-e2e-test-id":dataE2eTestId,color:color,fontSizeOffset:fontSizeOffset+tableFontSizeOffset,...rest},text)}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import type { RefObject } from "react";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import type { CommonSelectProps, SelectOption } from "./Combobox";
|
|
4
|
+
/**
|
|
5
|
+
* Matches any element inside the options list. The list renders in a portal,
|
|
6
|
+
* outside its consumer's DOM tree, so consumers with no ref to it (e.g. a
|
|
7
|
+
* popover deciding whether an "outside" click really is one) must match on
|
|
8
|
+
* these roles instead.
|
|
9
|
+
*/
|
|
10
|
+
export declare const OPTIONS_LIST_SELECTOR = "[role=\"listbox\"], [role=\"option\"]";
|
|
4
11
|
type OptionsListProps = {
|
|
5
12
|
isOpen: boolean;
|
|
6
13
|
isMultiSelect?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get OptionsList(){return OptionsList},get getOptionId(){return getOptionId},get getOptionsListId(){return getOptionsListId}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});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")),_useKeyboard=require("../../../shared/useKeyboard"),_usePopupMenu=require("../../../shared/popupMenu/usePopupMenu"),_VirtualScrollList=require("../../VirtualScrollList/VirtualScrollList"),_Text=require("../../Typography/Text/Text"),_Box=require("../../Box/Box"),_Inline=require("../../Inline/Inline"),_Icon=require("../../Icon/Icon"),_StyledSelectComponents=require("./StyledSelectComponents"),_constants=require("./constants"),_Stack=require("../../Stack/Stack"),_Checkbox=require("../Checkbox/Checkbox"),_Portal=require("../../Portal/Portal"),_ScreenReaderText=require("../../Utilities/ScreenReaderText/ScreenReaderText");function getOptionId(selectName,optionValue){return`${selectName}Option${optionValue}`}function getOptionsListId(selectName){return`${selectName}OptionsList`}function scrollToItem(list,itemIndex){list[itemIndex]?.scrollIntoView?.({behavior:"smooth",block:"nearest"})}const CustomOption=(0,_styled.default)(_StyledSelectComponents.StyledOption,{target:"e11kl4dy0",label:"CustomOption"})(({theme})=>({paddingTop:0,paddingBottom:0,"& > div":{paddingTop:theme.variables.size.spacing.xs,paddingBottom:theme.variables.size.spacing.xs},"& > div *":{marginTop:0}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRm9ybS9Db21ib2JveC9PcHRpb25zTGlzdC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0Zvcm0vQ29tYm9ib3gvT3B0aW9uc0xpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVmT2JqZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgdXNlS2V5Ym9hcmQgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZUtleWJvYXJkXCI7XG5pbXBvcnQgdHlwZSB7IENvbW1vblNlbGVjdFByb3BzLCBTZWxlY3RPcHRpb24gfSBmcm9tIFwiLi9Db21ib2JveFwiO1xuaW1wb3J0IHsgdXNlUG9wdXBNZW51IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9wb3B1cE1lbnUvdXNlUG9wdXBNZW51XCI7XG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsTGlzdCB9IGZyb20gXCIuLi8uLi9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdFwiO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gXCIuLi8uLi9UeXBvZ3JhcGh5L1RleHQvVGV4dFwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIi4uLy4uL0ljb24vSWNvblwiO1xuaW1wb3J0IHsgU3R5bGVkRHJvcGRvd24sIFN0eWxlZE9wdGlvbiB9IGZyb20gXCIuL1N0eWxlZFNlbGVjdENvbXBvbmVudHNcIjtcbmltcG9ydCB7IGRyb3Bkb3duQ29udGFpbmVyU3R5bGUgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDaGVja2JveFJhdyB9IGZyb20gXCIuLi9DaGVja2JveC9DaGVja2JveFwiO1xuaW1wb3J0IHsgUG9ydGFsIH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IFNjcmVlblJlYWRlclRleHQgfSBmcm9tIFwiLi4vLi4vVXRpbGl0aWVzL1NjcmVlblJlYWRlclRleHQvU2NyZWVuUmVhZGVyVGV4dFwiO1xuXG50eXBlIE9wdGlvbnNMaXN0UHJvcHMgPSB7XG4gIGlzT3BlbjogYm9vbGVhbjtcbiAgaXNNdWx0aVNlbGVjdD86IGJvb2xlYW47XG4gIHRyaWdnZXJSZWY6IFJlZk9iamVjdDxIVE1MSW5wdXRFbGVtZW50PjtcbiAgdHJpZ2dlcldyYXBwZXJSZWY/OiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBvbkNsb3NlRHJvcGRvd246IChub1NlbGVjdD86IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlcjtcbiAgb25TZWxlY3RlZEluZGV4Q2hhbmdlOiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbiAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0OiAoc2VsZWN0ZWRPcHRpb246IFNlbGVjdE9wdGlvbikgPT4gdm9pZDtcbiAgaXNWaXJ0dWFsaXplZD86IGJvb2xlYW47XG59ICYgUGFydGlhbDxDb21tb25TZWxlY3RQcm9wcz47XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25JZChzZWxlY3ROYW1lOiBzdHJpbmcsIG9wdGlvblZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7c2VsZWN0TmFtZX1PcHRpb24ke29wdGlvblZhbHVlfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25zTGlzdElkKHNlbGVjdE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtzZWxlY3ROYW1lfU9wdGlvbnNMaXN0YDtcbn1cblxuZnVuY3Rpb24gc2Nyb2xsVG9JdGVtKGxpc3Q6IEhUTUxEaXZFbGVtZW50W10sIGl0ZW1JbmRleDogbnVtYmVyKSB7XG4gIGxpc3RbaXRlbUluZGV4XT8uc2Nyb2xsSW50b1ZpZXc/Lih7XG4gICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgYmxvY2s6IFwibmVhcmVzdFwiLFxuICB9KTtcbn1cblxuY29uc3QgQ3VzdG9tT3B0aW9uID0gc3R5bGVkKFN0eWxlZE9wdGlvbikoKHsgdGhlbWUgfSkgPT4gKHtcbiAgLy8gdGhpcyBpcyBuZWVkZWQgZm9yIHVzaW5nIHBhZGRpbmcgb2YgY2hlY2tib3hlcyBpbiBvcmRlciB0byB1c2UgaXRzIGhvdmVyIHN0YXRlXG4gIHBhZGRpbmdUb3A6IDAsXG4gIHBhZGRpbmdCb3R0b206IDAsXG4gIFwiJiA+IGRpdlwiOiB7XG4gICAgcGFkZGluZ1RvcDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54cyxcbiAgICBwYWRkaW5nQm90dG9tOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzLFxuICB9LFxuICBcIiYgPiBkaXYgKlwiOiB7XG4gICAgbWFyZ2luVG9wOiAwLFxuICB9LFxufSkpO1xuXG5jb25zdCBTdHlsZWRMaXN0Q29udGFpbmVyID0gc3R5bGVkLmRpdjxQaWNrPE9wdGlvbnNMaXN0UHJvcHMsIFwibWF4SGVpZ2h0XCI+PihcbiAgKHsgdGhlbWUsIG1heEhlaWdodCB9KSA9PiAoe1xuICAgIG1heEhlaWdodCxcbiAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgIG92ZXJmbG93OiBcImF1dG9cIixcbiAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c30gMGAsXG4gIH0pXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gT3B0aW9uc0xpc3Qoe1xuICBpc09wZW4sXG4gIGlzTXVsdGlTZWxlY3QgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIGRpc2FibGVkLFxuICBvcHRpb25zLFxuICBwb3J0YWxDb250YWluZXIsXG4gIHRyaWdnZXJSZWYsXG4gIHRyaWdnZXJXcmFwcGVyUmVmLFxuICBtYXhIZWlnaHQsXG4gIGVtcHR5U3RhdGVNZXNzYWdlID0gXCJObyBvcHRpb25zIGF2YWlsYWJsZVwiLFxuICBzZWxlY3RlZEluZGV4LFxuICBvcHRpb25zTGlzdFdpZHRoLFxuICBpc1ZpcnR1YWxpemVkID0gdHJ1ZSxcbiAgbmFtZSxcbiAgb25DbG9zZURyb3Bkb3duLFxuICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UsXG4gIGZvcmNlQ2hhbmdlRmFrZVNlbGVjdCxcbn06IE9wdGlvbnNMaXN0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBvcHRpb25zTGlzdFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGlzdENvbnRhaW5lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGlzdEl0ZW1zUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCByZWZGb3JQb3NpdGlvbmluZyA9IHRyaWdnZXJXcmFwcGVyUmVmIHx8IHRyaWdnZXJSZWY7XG4gIGNvbnN0IGFjdGl2ZUl0ZW1JbmRleCA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+XG4gICAgICAgIGlzTXVsdGlTZWxlY3QgPyB2YWx1ZS5pbmNsdWRlcyhvcHRpb24udmFsdWUpIDogb3B0aW9uLnZhbHVlID09PSB2YWx1ZVxuICAgICAgKSxcbiAgICBbb3B0aW9ucywgaXNNdWx0aVNlbGVjdCwgdmFsdWVdXG4gICk7XG5cbiAgY29uc3QgeyBtZW51U3R5bGU6IG9wdGlvbnNMaXN0U3R5bGUsIGNhbGN1bGF0ZVN0eWxlIH0gPSB1c2VQb3B1cE1lbnUoe1xuICAgIHRyaWdnZXJSZWY6IHJlZkZvclBvc2l0aW9uaW5nLFxuICAgIG1lbnVSZWY6IG9wdGlvbnNMaXN0UmVmLFxuICAgIGlzT3BlbixcbiAgfSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoXG4gICAgICBpc09wZW4gJiZcbiAgICAgIGxpc3RDb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgIWlzVmlydHVhbGl6ZWQgJiZcbiAgICAgIG9wdGlvbnNMaXN0U3R5bGUudG9wXG4gICAgKSB7XG4gICAgICBjb25zdCBsaXN0RWxtID0gbGlzdENvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgICAgLy8gZGV0ZXJtaW5lIG92ZXJmbG93XG4gICAgICBpZiAobGlzdEVsbS5jbGllbnRIZWlnaHQgPCBsaXN0RWxtLnNjcm9sbEhlaWdodCkge1xuICAgICAgICBsaXN0SXRlbXNSZWYuY3VycmVudCA9IGxpc3RFbG0ucXVlcnlTZWxlY3RvckFsbChcIltkYXRhLWxpc3QtaXRlbV1cIik7XG4gICAgICAgIHNjcm9sbFRvSXRlbShsaXN0SXRlbXNSZWYuY3VycmVudCwgYWN0aXZlSXRlbUluZGV4KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGlzdEl0ZW1zUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgfSwgW1xuICAgIGlzT3BlbixcbiAgICBpc1ZpcnR1YWxpemVkLFxuICAgIGxpc3RDb250YWluZXJSZWYsXG4gICAgb3B0aW9ucyxcbiAgICBtYXhIZWlnaHQsXG4gICAgb3B0aW9uc0xpc3RTdHlsZSxcbiAgICBhY3RpdmVJdGVtSW5kZXgsXG4gIF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxpc3RJdGVtc1JlZi5jdXJyZW50KSB7XG4gICAgICBzY3JvbGxUb0l0ZW0obGlzdEl0ZW1zUmVmLmN1cnJlbnQsIHNlbGVjdGVkSW5kZXgpO1xuICAgIH1cbiAgfSwgW2xpc3RJdGVtc1JlZiwgc2VsZWN0ZWRJbmRleF0pO1xuXG4gIHVzZUtleWJvYXJkKFxuICAgIHtcbiAgICAgIEVzY2FwZTogKCkgPT4gb25DbG9zZURyb3Bkb3duKHRydWUpLFxuICAgICAgRW50ZXI6ICgpID0+IHtcbiAgICAgICAgY29uc3QgcHJlc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25zW3NlbGVjdGVkSW5kZXhdO1xuXG4gICAgICAgIGlmICghcHJlc2VsZWN0ZWRPcHRpb24/LmRpc2FibGVkKSB7XG4gICAgICAgICAgaWYgKHByZXNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgICBmb3JjZUNoYW5nZUZha2VTZWxlY3QocHJlc2VsZWN0ZWRPcHRpb24pO1xuICAgICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICAgIG9uQ2xvc2VEcm9wZG93bih0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBBcnJvd1VwOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4ID4gMCkge1xuICAgICAgICAgIG5ld0luZGV4IC09IDE7XG4gICAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBPbmx5IHVwZGF0ZSB0aGUgc2VsZWN0aW9uIGlmIHRoZSBuZXcgaXRlbSBpcyBub3QgZGlzYWJsZWRcbiAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UobmV3SW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgQXJyb3dEb3duOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4IDwgb3B0aW9ucy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgbmV3SW5kZXggKz0gMTtcbiAgICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIE9ubHkgdXBkYXRlIHRoZSBzZWxlY3Rpb24gaWYgdGhlIG5ldyBpdGVtIGlzIG5vdCBkaXNhYmxlZFxuICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgIG9uU2VsZWN0ZWRJbmRleENoYW5nZShuZXdJbmRleCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICB0cmlnZ2VyUmVmLFxuICAgIGlzT3BlbiAmJiAhZGlzYWJsZWRcbiAgKTtcblxuICBjb25zdCByZW5kZXJJdGVtID0gKGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBvcHRpb246IFNlbGVjdE9wdGlvbiA9IG9wdGlvbnNbaW5kZXhdO1xuICAgIC8vIEdlbmVyYXRlIHVuaXF1ZSBpZCBmb3IgdGhlIG9wdGlvblxuICAgIGNvbnN0IGlkID0gZ2V0T3B0aW9uSWQobmFtZSwgb3B0aW9uLnZhbHVlKTtcblxuICAgIGlmIChpc011bHRpU2VsZWN0KSB7XG4gICAgICBjb25zdCBpc0FjdGl2ZSA9IHZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxDdXN0b21PcHRpb25cbiAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICBhcmlhLXNlbGVjdGVkPXtpc0FjdGl2ZX1cbiAgICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgIGtleT17b3B0aW9uLnZhbHVlfVxuICAgICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgICAgZGlzYWJsZWQ9e29wdGlvbi5kaXNhYmxlZH1cbiAgICAgICAgICBwcmVTZWxlY3RlZD17c2VsZWN0ZWRJbmRleCA9PT0gaW5kZXh9XG4gICAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgICAvLyBzdG9wIGV2ZW50IHByb3BhZ2F0aW9uIHRvIG5vdCBjbG9zZSBtb2RhbCBvbiBzZWxlY3Rpb24gaWYgc2VsZWN0IGlzIHdpdGhpbiBhIE1vZGFsXG4gICAgICAgICAgb25DbGljaz17KGV2dCkgPT4gZXZ0LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICA+XG4gICAgICAgICAgPENoZWNrYm94UmF3XG4gICAgICAgICAgICBuYW1lPVwiXCJcbiAgICAgICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgICBjaGVja2VkPXtpc0FjdGl2ZX1cbiAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgIGxhYmVsPXtvcHRpb24ubGFiZWx9XG4gICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4gbnVsbH1cbiAgICAgICAgICAgIGxhYmVsSGludD17b3B0aW9uPy5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0N1c3RvbU9wdGlvbj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gZWxzZSByZW5kZXIgc2luZ2xlIHNlbGVjdCBpdGVtXG4gICAgY29uc3QgaXNBY3RpdmUgPSB2YWx1ZSA9PT0gb3B0aW9uLnZhbHVlO1xuICAgIGNvbnN0IG9wdGlvblRleHQgPSAoXG4gICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgIDxUZXh0IGNvbG9yPVwicHJpbWFyeVwiIHNpemU9XCJtXCI+XG4gICAgICAgICAge29wdGlvbi5sYWJlbH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgICB7b3B0aW9uLmRlc2NyaXB0aW9uICYmIChcbiAgICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCIgc2l6ZT1cInNcIj5cbiAgICAgICAgICAgIHtvcHRpb24uZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICApfVxuICAgICAgPC9TdGFjaz5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRPcHRpb25cbiAgICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2lzQWN0aXZlfVxuICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIGlkPXtpZH1cbiAgICAgICAga2V5PXtvcHRpb24udmFsdWV9XG4gICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIHByZVNlbGVjdGVkPXtzZWxlY3RlZEluZGV4ID09PSBpbmRleH1cbiAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24odHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7aXNBY3RpdmUgPyAoXG4gICAgICAgICAgPElubGluZSBub1dyYXAgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiPlxuICAgICAgICAgICAge29wdGlvblRleHR9XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT1cInh4eHNcIj5cbiAgICAgICAgICAgICAgPEljb24gbmFtZT1cImNoZWNrXCIgc2l6ZT1cInNcIiBjb2xvcj1cImFjY2VudFwiIC8+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBvcHRpb25UZXh0XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZE9wdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGxpc3RTdHlsZSA9IHtcbiAgICAuLi5vcHRpb25zTGlzdFN0eWxlLFxuICAgIHdpZHRoOlxuICAgICAgb3B0aW9uc0xpc3RXaWR0aCB8fFxuICAgICAgcmVmRm9yUG9zaXRpb25pbmcuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsXG4gIH07XG5cbiAgY29uc3QgbGlzdEVsbSA9IChcbiAgICA8U3R5bGVkRHJvcGRvd25cbiAgICAgIHN0eWxlPXtsaXN0U3R5bGV9XG4gICAgICByZWY9e29wdGlvbnNMaXN0UmVmfVxuICAgICAgLy8gdGhpcyBpcyB0byBwcmV2ZW50IGtub3duIGJ1ZyBvZiBDaHJvbWUgd2hlbiBlbGVtZW50XG4gICAgICAvLyBsb3NlcyBmb2N1cyBvbiBjbGljayBvbiB0aGUgc2Nyb2xsYmFyXG4gICAgICBvbk1vdXNlRG93bj17KGUpID0+IGUucHJldmVudERlZmF1bHQoKX1cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9XCJvcHRpb25zTGlzdFwiXG4gICAgPlxuICAgICAge2lzVmlydHVhbGl6ZWQgPyAoXG4gICAgICAgIDxWaXJ0dWFsU2Nyb2xsTGlzdFxuICAgICAgICAgIGlkPXtnZXRPcHRpb25zTGlzdElkKG5hbWUpfVxuICAgICAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgICAgIGl0ZW1IZWlnaHQ9ezM2fVxuICAgICAgICAgIGl0ZW1BbW91bnQ9e29wdGlvbnMubGVuZ3RofVxuICAgICAgICAgIGVtcHR5U3RhdGU9eygpID0+IG51bGx9XG4gICAgICAgICAgY29udGFpbmVyU3R5bGU9e2Ryb3Bkb3duQ29udGFpbmVyU3R5bGV9XG4gICAgICAgICAgaXRlbUluVmlldz17c2VsZWN0ZWRJbmRleH1cbiAgICAgICAgICBpdGVtVGVtcGxhdGU9e3JlbmRlckl0ZW19XG4gICAgICAgICAgb25Db250ZW50SGVpZ2h0Q2hhbmdlPXtjYWxjdWxhdGVTdHlsZX1cbiAgICAgICAgICByb2xlPVwibGlzdGJveFwiXG4gICAgICAgIC8+XG4gICAgICApIDogKFxuICAgICAgICA8U3R5bGVkTGlzdENvbnRhaW5lclxuICAgICAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICAgICAgICBpZD17Z2V0T3B0aW9uc0xpc3RJZChuYW1lKX1cbiAgICAgICAgICByZWY9e2xpc3RDb250YWluZXJSZWZ9XG4gICAgICAgID5cbiAgICAgICAgICB7b3B0aW9ucy5tYXAoKF9vcHRpb24sIGluZGV4KSA9PiByZW5kZXJJdGVtKGluZGV4KSl9XG4gICAgICAgIDwvU3R5bGVkTGlzdENvbnRhaW5lcj5cbiAgICAgICl9XG4gICAgPC9TdHlsZWREcm9wZG93bj5cbiAgKTtcblxuICBpZiAoIWlzT3Blbikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgbGlzdFBvcnRhbCA9IG9wdGlvbnMubGVuZ3RoID8gKFxuICAgIDxQb3J0YWwgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9PntsaXN0RWxtfTwvUG9ydGFsPlxuICApIDogbnVsbDtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8U2NyZWVuUmVhZGVyVGV4dCByb2xlPVwic3RhdHVzXCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICAgIHshb3B0aW9ucy5sZW5ndGggPyBlbXB0eVN0YXRlTWVzc2FnZSA6IFwiXCJ9XG4gICAgICA8L1NjcmVlblJlYWRlclRleHQ+XG4gICAgICB7bGlzdFBvcnRhbH1cbiAgICA8Lz5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2Q3FCIn0= */"),StyledListContainer=(0,_styled.default)("div",{target:"e11kl4dy1",label:"StyledListContainer"})(({theme,maxHeight})=>({maxHeight,boxSizing:"border-box",overflow:"auto",padding:`${theme.variables.size.spacing.xxs} 0`}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRm9ybS9Db21ib2JveC9PcHRpb25zTGlzdC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0Zvcm0vQ29tYm9ib3gvT3B0aW9uc0xpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVmT2JqZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgdXNlS2V5Ym9hcmQgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZUtleWJvYXJkXCI7XG5pbXBvcnQgdHlwZSB7IENvbW1vblNlbGVjdFByb3BzLCBTZWxlY3RPcHRpb24gfSBmcm9tIFwiLi9Db21ib2JveFwiO1xuaW1wb3J0IHsgdXNlUG9wdXBNZW51IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9wb3B1cE1lbnUvdXNlUG9wdXBNZW51XCI7XG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsTGlzdCB9IGZyb20gXCIuLi8uLi9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdFwiO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gXCIuLi8uLi9UeXBvZ3JhcGh5L1RleHQvVGV4dFwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIi4uLy4uL0ljb24vSWNvblwiO1xuaW1wb3J0IHsgU3R5bGVkRHJvcGRvd24sIFN0eWxlZE9wdGlvbiB9IGZyb20gXCIuL1N0eWxlZFNlbGVjdENvbXBvbmVudHNcIjtcbmltcG9ydCB7IGRyb3Bkb3duQ29udGFpbmVyU3R5bGUgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDaGVja2JveFJhdyB9IGZyb20gXCIuLi9DaGVja2JveC9DaGVja2JveFwiO1xuaW1wb3J0IHsgUG9ydGFsIH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IFNjcmVlblJlYWRlclRleHQgfSBmcm9tIFwiLi4vLi4vVXRpbGl0aWVzL1NjcmVlblJlYWRlclRleHQvU2NyZWVuUmVhZGVyVGV4dFwiO1xuXG50eXBlIE9wdGlvbnNMaXN0UHJvcHMgPSB7XG4gIGlzT3BlbjogYm9vbGVhbjtcbiAgaXNNdWx0aVNlbGVjdD86IGJvb2xlYW47XG4gIHRyaWdnZXJSZWY6IFJlZk9iamVjdDxIVE1MSW5wdXRFbGVtZW50PjtcbiAgdHJpZ2dlcldyYXBwZXJSZWY/OiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBvbkNsb3NlRHJvcGRvd246IChub1NlbGVjdD86IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlcjtcbiAgb25TZWxlY3RlZEluZGV4Q2hhbmdlOiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbiAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0OiAoc2VsZWN0ZWRPcHRpb246IFNlbGVjdE9wdGlvbikgPT4gdm9pZDtcbiAgaXNWaXJ0dWFsaXplZD86IGJvb2xlYW47XG59ICYgUGFydGlhbDxDb21tb25TZWxlY3RQcm9wcz47XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25JZChzZWxlY3ROYW1lOiBzdHJpbmcsIG9wdGlvblZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7c2VsZWN0TmFtZX1PcHRpb24ke29wdGlvblZhbHVlfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25zTGlzdElkKHNlbGVjdE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtzZWxlY3ROYW1lfU9wdGlvbnNMaXN0YDtcbn1cblxuZnVuY3Rpb24gc2Nyb2xsVG9JdGVtKGxpc3Q6IEhUTUxEaXZFbGVtZW50W10sIGl0ZW1JbmRleDogbnVtYmVyKSB7XG4gIGxpc3RbaXRlbUluZGV4XT8uc2Nyb2xsSW50b1ZpZXc/Lih7XG4gICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgYmxvY2s6IFwibmVhcmVzdFwiLFxuICB9KTtcbn1cblxuY29uc3QgQ3VzdG9tT3B0aW9uID0gc3R5bGVkKFN0eWxlZE9wdGlvbikoKHsgdGhlbWUgfSkgPT4gKHtcbiAgLy8gdGhpcyBpcyBuZWVkZWQgZm9yIHVzaW5nIHBhZGRpbmcgb2YgY2hlY2tib3hlcyBpbiBvcmRlciB0byB1c2UgaXRzIGhvdmVyIHN0YXRlXG4gIHBhZGRpbmdUb3A6IDAsXG4gIHBhZGRpbmdCb3R0b206IDAsXG4gIFwiJiA+IGRpdlwiOiB7XG4gICAgcGFkZGluZ1RvcDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54cyxcbiAgICBwYWRkaW5nQm90dG9tOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzLFxuICB9LFxuICBcIiYgPiBkaXYgKlwiOiB7XG4gICAgbWFyZ2luVG9wOiAwLFxuICB9LFxufSkpO1xuXG5jb25zdCBTdHlsZWRMaXN0Q29udGFpbmVyID0gc3R5bGVkLmRpdjxQaWNrPE9wdGlvbnNMaXN0UHJvcHMsIFwibWF4SGVpZ2h0XCI+PihcbiAgKHsgdGhlbWUsIG1heEhlaWdodCB9KSA9PiAoe1xuICAgIG1heEhlaWdodCxcbiAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgIG92ZXJmbG93OiBcImF1dG9cIixcbiAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c30gMGAsXG4gIH0pXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gT3B0aW9uc0xpc3Qoe1xuICBpc09wZW4sXG4gIGlzTXVsdGlTZWxlY3QgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIGRpc2FibGVkLFxuICBvcHRpb25zLFxuICBwb3J0YWxDb250YWluZXIsXG4gIHRyaWdnZXJSZWYsXG4gIHRyaWdnZXJXcmFwcGVyUmVmLFxuICBtYXhIZWlnaHQsXG4gIGVtcHR5U3RhdGVNZXNzYWdlID0gXCJObyBvcHRpb25zIGF2YWlsYWJsZVwiLFxuICBzZWxlY3RlZEluZGV4LFxuICBvcHRpb25zTGlzdFdpZHRoLFxuICBpc1ZpcnR1YWxpemVkID0gdHJ1ZSxcbiAgbmFtZSxcbiAgb25DbG9zZURyb3Bkb3duLFxuICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UsXG4gIGZvcmNlQ2hhbmdlRmFrZVNlbGVjdCxcbn06IE9wdGlvbnNMaXN0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBvcHRpb25zTGlzdFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGlzdENvbnRhaW5lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGlzdEl0ZW1zUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCByZWZGb3JQb3NpdGlvbmluZyA9IHRyaWdnZXJXcmFwcGVyUmVmIHx8IHRyaWdnZXJSZWY7XG4gIGNvbnN0IGFjdGl2ZUl0ZW1JbmRleCA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+XG4gICAgICAgIGlzTXVsdGlTZWxlY3QgPyB2YWx1ZS5pbmNsdWRlcyhvcHRpb24udmFsdWUpIDogb3B0aW9uLnZhbHVlID09PSB2YWx1ZVxuICAgICAgKSxcbiAgICBbb3B0aW9ucywgaXNNdWx0aVNlbGVjdCwgdmFsdWVdXG4gICk7XG5cbiAgY29uc3QgeyBtZW51U3R5bGU6IG9wdGlvbnNMaXN0U3R5bGUsIGNhbGN1bGF0ZVN0eWxlIH0gPSB1c2VQb3B1cE1lbnUoe1xuICAgIHRyaWdnZXJSZWY6IHJlZkZvclBvc2l0aW9uaW5nLFxuICAgIG1lbnVSZWY6IG9wdGlvbnNMaXN0UmVmLFxuICAgIGlzT3BlbixcbiAgfSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoXG4gICAgICBpc09wZW4gJiZcbiAgICAgIGxpc3RDb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgIWlzVmlydHVhbGl6ZWQgJiZcbiAgICAgIG9wdGlvbnNMaXN0U3R5bGUudG9wXG4gICAgKSB7XG4gICAgICBjb25zdCBsaXN0RWxtID0gbGlzdENvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgICAgLy8gZGV0ZXJtaW5lIG92ZXJmbG93XG4gICAgICBpZiAobGlzdEVsbS5jbGllbnRIZWlnaHQgPCBsaXN0RWxtLnNjcm9sbEhlaWdodCkge1xuICAgICAgICBsaXN0SXRlbXNSZWYuY3VycmVudCA9IGxpc3RFbG0ucXVlcnlTZWxlY3RvckFsbChcIltkYXRhLWxpc3QtaXRlbV1cIik7XG4gICAgICAgIHNjcm9sbFRvSXRlbShsaXN0SXRlbXNSZWYuY3VycmVudCwgYWN0aXZlSXRlbUluZGV4KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGlzdEl0ZW1zUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgfSwgW1xuICAgIGlzT3BlbixcbiAgICBpc1ZpcnR1YWxpemVkLFxuICAgIGxpc3RDb250YWluZXJSZWYsXG4gICAgb3B0aW9ucyxcbiAgICBtYXhIZWlnaHQsXG4gICAgb3B0aW9uc0xpc3RTdHlsZSxcbiAgICBhY3RpdmVJdGVtSW5kZXgsXG4gIF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxpc3RJdGVtc1JlZi5jdXJyZW50KSB7XG4gICAgICBzY3JvbGxUb0l0ZW0obGlzdEl0ZW1zUmVmLmN1cnJlbnQsIHNlbGVjdGVkSW5kZXgpO1xuICAgIH1cbiAgfSwgW2xpc3RJdGVtc1JlZiwgc2VsZWN0ZWRJbmRleF0pO1xuXG4gIHVzZUtleWJvYXJkKFxuICAgIHtcbiAgICAgIEVzY2FwZTogKCkgPT4gb25DbG9zZURyb3Bkb3duKHRydWUpLFxuICAgICAgRW50ZXI6ICgpID0+IHtcbiAgICAgICAgY29uc3QgcHJlc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25zW3NlbGVjdGVkSW5kZXhdO1xuXG4gICAgICAgIGlmICghcHJlc2VsZWN0ZWRPcHRpb24/LmRpc2FibGVkKSB7XG4gICAgICAgICAgaWYgKHByZXNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgICBmb3JjZUNoYW5nZUZha2VTZWxlY3QocHJlc2VsZWN0ZWRPcHRpb24pO1xuICAgICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICAgIG9uQ2xvc2VEcm9wZG93bih0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBBcnJvd1VwOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4ID4gMCkge1xuICAgICAgICAgIG5ld0luZGV4IC09IDE7XG4gICAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBPbmx5IHVwZGF0ZSB0aGUgc2VsZWN0aW9uIGlmIHRoZSBuZXcgaXRlbSBpcyBub3QgZGlzYWJsZWRcbiAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UobmV3SW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgQXJyb3dEb3duOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4IDwgb3B0aW9ucy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgbmV3SW5kZXggKz0gMTtcbiAgICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIE9ubHkgdXBkYXRlIHRoZSBzZWxlY3Rpb24gaWYgdGhlIG5ldyBpdGVtIGlzIG5vdCBkaXNhYmxlZFxuICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgIG9uU2VsZWN0ZWRJbmRleENoYW5nZShuZXdJbmRleCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICB0cmlnZ2VyUmVmLFxuICAgIGlzT3BlbiAmJiAhZGlzYWJsZWRcbiAgKTtcblxuICBjb25zdCByZW5kZXJJdGVtID0gKGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBvcHRpb246IFNlbGVjdE9wdGlvbiA9IG9wdGlvbnNbaW5kZXhdO1xuICAgIC8vIEdlbmVyYXRlIHVuaXF1ZSBpZCBmb3IgdGhlIG9wdGlvblxuICAgIGNvbnN0IGlkID0gZ2V0T3B0aW9uSWQobmFtZSwgb3B0aW9uLnZhbHVlKTtcblxuICAgIGlmIChpc011bHRpU2VsZWN0KSB7XG4gICAgICBjb25zdCBpc0FjdGl2ZSA9IHZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxDdXN0b21PcHRpb25cbiAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICBhcmlhLXNlbGVjdGVkPXtpc0FjdGl2ZX1cbiAgICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgIGtleT17b3B0aW9uLnZhbHVlfVxuICAgICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgICAgZGlzYWJsZWQ9e29wdGlvbi5kaXNhYmxlZH1cbiAgICAgICAgICBwcmVTZWxlY3RlZD17c2VsZWN0ZWRJbmRleCA9PT0gaW5kZXh9XG4gICAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgICAvLyBzdG9wIGV2ZW50IHByb3BhZ2F0aW9uIHRvIG5vdCBjbG9zZSBtb2RhbCBvbiBzZWxlY3Rpb24gaWYgc2VsZWN0IGlzIHdpdGhpbiBhIE1vZGFsXG4gICAgICAgICAgb25DbGljaz17KGV2dCkgPT4gZXZ0LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICA+XG4gICAgICAgICAgPENoZWNrYm94UmF3XG4gICAgICAgICAgICBuYW1lPVwiXCJcbiAgICAgICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgICBjaGVja2VkPXtpc0FjdGl2ZX1cbiAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgIGxhYmVsPXtvcHRpb24ubGFiZWx9XG4gICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4gbnVsbH1cbiAgICAgICAgICAgIGxhYmVsSGludD17b3B0aW9uPy5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0N1c3RvbU9wdGlvbj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gZWxzZSByZW5kZXIgc2luZ2xlIHNlbGVjdCBpdGVtXG4gICAgY29uc3QgaXNBY3RpdmUgPSB2YWx1ZSA9PT0gb3B0aW9uLnZhbHVlO1xuICAgIGNvbnN0IG9wdGlvblRleHQgPSAoXG4gICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgIDxUZXh0IGNvbG9yPVwicHJpbWFyeVwiIHNpemU9XCJtXCI+XG4gICAgICAgICAge29wdGlvbi5sYWJlbH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgICB7b3B0aW9uLmRlc2NyaXB0aW9uICYmIChcbiAgICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCIgc2l6ZT1cInNcIj5cbiAgICAgICAgICAgIHtvcHRpb24uZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICApfVxuICAgICAgPC9TdGFjaz5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRPcHRpb25cbiAgICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2lzQWN0aXZlfVxuICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIGlkPXtpZH1cbiAgICAgICAga2V5PXtvcHRpb24udmFsdWV9XG4gICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIHByZVNlbGVjdGVkPXtzZWxlY3RlZEluZGV4ID09PSBpbmRleH1cbiAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24odHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7aXNBY3RpdmUgPyAoXG4gICAgICAgICAgPElubGluZSBub1dyYXAgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiPlxuICAgICAgICAgICAge29wdGlvblRleHR9XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT1cInh4eHNcIj5cbiAgICAgICAgICAgICAgPEljb24gbmFtZT1cImNoZWNrXCIgc2l6ZT1cInNcIiBjb2xvcj1cImFjY2VudFwiIC8+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBvcHRpb25UZXh0XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZE9wdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGxpc3RTdHlsZSA9IHtcbiAgICAuLi5vcHRpb25zTGlzdFN0eWxlLFxuICAgIHdpZHRoOlxuICAgICAgb3B0aW9uc0xpc3RXaWR0aCB8fFxuICAgICAgcmVmRm9yUG9zaXRpb25pbmcuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsXG4gIH07XG5cbiAgY29uc3QgbGlzdEVsbSA9IChcbiAgICA8U3R5bGVkRHJvcGRvd25cbiAgICAgIHN0eWxlPXtsaXN0U3R5bGV9XG4gICAgICByZWY9e29wdGlvbnNMaXN0UmVmfVxuICAgICAgLy8gdGhpcyBpcyB0byBwcmV2ZW50IGtub3duIGJ1ZyBvZiBDaHJvbWUgd2hlbiBlbGVtZW50XG4gICAgICAvLyBsb3NlcyBmb2N1cyBvbiBjbGljayBvbiB0aGUgc2Nyb2xsYmFyXG4gICAgICBvbk1vdXNlRG93bj17KGUpID0+IGUucHJldmVudERlZmF1bHQoKX1cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9XCJvcHRpb25zTGlzdFwiXG4gICAgPlxuICAgICAge2lzVmlydHVhbGl6ZWQgPyAoXG4gICAgICAgIDxWaXJ0dWFsU2Nyb2xsTGlzdFxuICAgICAgICAgIGlkPXtnZXRPcHRpb25zTGlzdElkKG5hbWUpfVxuICAgICAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgICAgIGl0ZW1IZWlnaHQ9ezM2fVxuICAgICAgICAgIGl0ZW1BbW91bnQ9e29wdGlvbnMubGVuZ3RofVxuICAgICAgICAgIGVtcHR5U3RhdGU9eygpID0+IG51bGx9XG4gICAgICAgICAgY29udGFpbmVyU3R5bGU9e2Ryb3Bkb3duQ29udGFpbmVyU3R5bGV9XG4gICAgICAgICAgaXRlbUluVmlldz17c2VsZWN0ZWRJbmRleH1cbiAgICAgICAgICBpdGVtVGVtcGxhdGU9e3JlbmRlckl0ZW19XG4gICAgICAgICAgb25Db250ZW50SGVpZ2h0Q2hhbmdlPXtjYWxjdWxhdGVTdHlsZX1cbiAgICAgICAgICByb2xlPVwibGlzdGJveFwiXG4gICAgICAgIC8+XG4gICAgICApIDogKFxuICAgICAgICA8U3R5bGVkTGlzdENvbnRhaW5lclxuICAgICAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICAgICAgICBpZD17Z2V0T3B0aW9uc0xpc3RJZChuYW1lKX1cbiAgICAgICAgICByZWY9e2xpc3RDb250YWluZXJSZWZ9XG4gICAgICAgID5cbiAgICAgICAgICB7b3B0aW9ucy5tYXAoKF9vcHRpb24sIGluZGV4KSA9PiByZW5kZXJJdGVtKGluZGV4KSl9XG4gICAgICAgIDwvU3R5bGVkTGlzdENvbnRhaW5lcj5cbiAgICAgICl9XG4gICAgPC9TdHlsZWREcm9wZG93bj5cbiAgKTtcblxuICBpZiAoIWlzT3Blbikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgbGlzdFBvcnRhbCA9IG9wdGlvbnMubGVuZ3RoID8gKFxuICAgIDxQb3J0YWwgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9PntsaXN0RWxtfTwvUG9ydGFsPlxuICApIDogbnVsbDtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8U2NyZWVuUmVhZGVyVGV4dCByb2xlPVwic3RhdHVzXCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICAgIHshb3B0aW9ucy5sZW5ndGggPyBlbXB0eVN0YXRlTWVzc2FnZSA6IFwiXCJ9XG4gICAgICA8L1NjcmVlblJlYWRlclRleHQ+XG4gICAgICB7bGlzdFBvcnRhbH1cbiAgICA8Lz5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwRDRCIn0= */");function OptionsList({isOpen,isMultiSelect=!1,value,disabled,options,portalContainer,triggerRef,triggerWrapperRef,maxHeight,emptyStateMessage="No options available",selectedIndex,optionsListWidth,isVirtualized=!0,name,onCloseDropdown,onSelectedIndexChange,forceChangeFakeSelect}){let optionsListRef=(0,_react.useRef)(null),listContainerRef=(0,_react.useRef)(null),listItemsRef=(0,_react.useRef)(null),refForPositioning=triggerWrapperRef||triggerRef,activeItemIndex=(0,_react.useMemo)(()=>options.findIndex(option=>isMultiSelect?value.includes(option.value):option.value===value),[options,isMultiSelect,value]),{menuStyle:optionsListStyle,calculateStyle}=(0,_usePopupMenu.usePopupMenu)({triggerRef:refForPositioning,menuRef:optionsListRef,isOpen});(0,_react.useEffect)(()=>{if(isOpen&&listContainerRef.current&&!isVirtualized&&optionsListStyle.top){let listElm=listContainerRef.current;listElm.clientHeight<listElm.scrollHeight&&(listItemsRef.current=listElm.querySelectorAll("[data-list-item]"),scrollToItem(listItemsRef.current,activeItemIndex))}else listItemsRef.current=null},[isOpen,isVirtualized,listContainerRef,options,maxHeight,optionsListStyle,activeItemIndex]),(0,_react.useEffect)(()=>{listItemsRef.current&&scrollToItem(listItemsRef.current,selectedIndex)},[listItemsRef,selectedIndex]),(0,_useKeyboard.useKeyboard)({Escape:()=>onCloseDropdown(!0),Enter:()=>{let preselectedOption=options[selectedIndex];if(!preselectedOption?.disabled){if(preselectedOption){forceChangeFakeSelect(preselectedOption),isMultiSelect||onCloseDropdown(!0);return}isMultiSelect||onCloseDropdown()}},ArrowUp:()=>{let newIndex=-1===selectedIndex?activeItemIndex:selectedIndex;for(;newIndex>0&&(newIndex-=1,options[newIndex]?.disabled););options[newIndex]?.disabled||onSelectedIndexChange(newIndex)},ArrowDown:()=>{let newIndex=-1===selectedIndex?activeItemIndex:selectedIndex;for(;newIndex<options.length-1&&(newIndex+=1,options[newIndex]?.disabled););options[newIndex]?.disabled||onSelectedIndexChange(newIndex)}},triggerRef,isOpen&&!disabled);let renderItem=index=>{let option=options[index],id=getOptionId(name,option.value);if(isMultiSelect){let isActive=value.includes(option.value);return _react.default.createElement(CustomOption,{role:"option","aria-selected":isActive,"aria-disabled":option.disabled,id:id,key:option.value,active:isActive,disabled:option.disabled,preSelected:selectedIndex===index,"data-list-item":!0,onMouseDown:()=>{option.disabled||forceChangeFakeSelect(option)},onClick:evt=>evt.stopPropagation()},_react.default.createElement(_Checkbox.CheckboxRaw,{name:"",disabled:option.disabled,checked:isActive,size:"s",label:option.label,onChange:()=>null,labelHint:option?.description}))}let isActive=value===option.value,optionText=_react.default.createElement(_Stack.Stack,{space:"zero"},_react.default.createElement(_Text.Text,{color:"primary",size:"m"},option.label),option.description&&_react.default.createElement(_Text.Text,{color:"tertiary",size:"s"},option.description));return _react.default.createElement(_StyledSelectComponents.StyledOption,{role:"option","aria-selected":isActive,"aria-disabled":option.disabled,id:id,key:option.value,active:isActive,disabled:option.disabled,preSelected:selectedIndex===index,"data-list-item":!0,onMouseDown:()=>{option.disabled||(forceChangeFakeSelect(option),onCloseDropdown(!0))}},isActive?_react.default.createElement(_Inline.Inline,{noWrap:!0,alignItems:"spaceBetween"},optionText,_react.default.createElement(_Box.Box,{space:"zero",tSpace:"xxxs"},_react.default.createElement(_Icon.Icon,{name:"check",size:"s",color:"accent"}))):optionText)},listStyle={...optionsListStyle,width:optionsListWidth||refForPositioning.current?.getBoundingClientRect().width},listElm=_react.default.createElement(_StyledSelectComponents.StyledDropdown,{style:listStyle,ref:optionsListRef,onMouseDown:e=>e.preventDefault(),"data-e2e-test-id":"optionsList"},isVirtualized?_react.default.createElement(_VirtualScrollList.VirtualScrollList,{id:getOptionsListId(name),maxHeight:maxHeight,itemHeight:36,itemAmount:options.length,emptyState:()=>null,containerStyle:_constants.dropdownContainerStyle,itemInView:selectedIndex,itemTemplate:renderItem,onContentHeightChange:calculateStyle,role:"listbox"}):_react.default.createElement(StyledListContainer,{maxHeight:maxHeight,role:"listbox",id:getOptionsListId(name),ref:listContainerRef},options.map((_option,index)=>renderItem(index))));if(!isOpen)return null;let listPortal=options.length?_react.default.createElement(_Portal.Portal,{portalContainer:portalContainer},listElm):null;return _react.default.createElement(_react.default.Fragment,null,_react.default.createElement(_ScreenReaderText.ScreenReaderText,{role:"status","aria-live":"polite"},options.length?"":emptyStateMessage),listPortal)}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get OPTIONS_LIST_SELECTOR(){return OPTIONS_LIST_SELECTOR},get OptionsList(){return OptionsList},get getOptionId(){return getOptionId},get getOptionsListId(){return getOptionsListId}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_react1=require("@emotion/react"),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_useKeyboard=require("../../../shared/useKeyboard"),_useWindow=require("../../../shared/useWindow"),_usePopupMenu=require("../../../shared/popupMenu/usePopupMenu"),_VirtualScrollList=require("../../VirtualScrollList/VirtualScrollList"),_Text=require("../../Typography/Text/Text"),_Box=require("../../Box/Box"),_Inline=require("../../Inline/Inline"),_Icon=require("../../Icon/Icon"),_StyledSelectComponents=require("./StyledSelectComponents"),_constants=require("./constants"),_Stack=require("../../Stack/Stack"),_Checkbox=require("../Checkbox/Checkbox"),_Portal=require("../../Portal/Portal"),_ScreenReaderText=require("../../Utilities/ScreenReaderText/ScreenReaderText"),OPTIONS_LIST_SELECTOR='[role="listbox"], [role="option"]';function getOptionId(selectName,optionValue){return`${selectName}Option${optionValue}`}function getOptionsListId(selectName){return`${selectName}OptionsList`}const scrollToItem=({list,itemIndex,behavior})=>{list[itemIndex]?.scrollIntoView?.({behavior,block:"nearest"})},CustomOption=(0,_styled.default)(_StyledSelectComponents.StyledOption,{target:"eubbn5p0",label:"CustomOption"})(({theme})=>({paddingTop:0,paddingBottom:0,"& > div":{paddingTop:theme.variables.size.spacing.xs,paddingBottom:theme.variables.size.spacing.xs},"& > div *":{marginTop:0}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRm9ybS9Db21ib2JveC9PcHRpb25zTGlzdC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0Zvcm0vQ29tYm9ib3gvT3B0aW9uc0xpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVmT2JqZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZUxheW91dEVmZmVjdCwgdXNlTWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgdXNlS2V5Ym9hcmQgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZUtleWJvYXJkXCI7XG5pbXBvcnQgeyB1c2VXaW5kb3cgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZVdpbmRvd1wiO1xuaW1wb3J0IHR5cGUgeyBDb21tb25TZWxlY3RQcm9wcywgU2VsZWN0T3B0aW9uIH0gZnJvbSBcIi4vQ29tYm9ib3hcIjtcbmltcG9ydCB7IHVzZVBvcHVwTWVudSB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvcG9wdXBNZW51L3VzZVBvcHVwTWVudVwiO1xuaW1wb3J0IHsgVmlydHVhbFNjcm9sbExpc3QgfSBmcm9tIFwiLi4vLi4vVmlydHVhbFNjcm9sbExpc3QvVmlydHVhbFNjcm9sbExpc3RcIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi8uLi9Cb3gvQm94XCI7XG5pbXBvcnQgeyBJbmxpbmUgfSBmcm9tIFwiLi4vLi4vSW5saW5lL0lubGluZVwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCIuLi8uLi9JY29uL0ljb25cIjtcbmltcG9ydCB7IFN0eWxlZERyb3Bkb3duLCBTdHlsZWRPcHRpb24gfSBmcm9tIFwiLi9TdHlsZWRTZWxlY3RDb21wb25lbnRzXCI7XG5pbXBvcnQgeyBkcm9wZG93bkNvbnRhaW5lclN0eWxlIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCIuLi8uLi9TdGFjay9TdGFja1wiO1xuaW1wb3J0IHsgQ2hlY2tib3hSYXcgfSBmcm9tIFwiLi4vQ2hlY2tib3gvQ2hlY2tib3hcIjtcbmltcG9ydCB7IFBvcnRhbCB9IGZyb20gXCIuLi8uLi9Qb3J0YWwvUG9ydGFsXCI7XG5pbXBvcnQgeyBTY3JlZW5SZWFkZXJUZXh0IH0gZnJvbSBcIi4uLy4uL1V0aWxpdGllcy9TY3JlZW5SZWFkZXJUZXh0L1NjcmVlblJlYWRlclRleHRcIjtcblxuLyoqXG4gKiBNYXRjaGVzIGFueSBlbGVtZW50IGluc2lkZSB0aGUgb3B0aW9ucyBsaXN0LiBUaGUgbGlzdCByZW5kZXJzIGluIGEgcG9ydGFsLFxuICogb3V0c2lkZSBpdHMgY29uc3VtZXIncyBET00gdHJlZSwgc28gY29uc3VtZXJzIHdpdGggbm8gcmVmIHRvIGl0IChlLmcuIGFcbiAqIHBvcG92ZXIgZGVjaWRpbmcgd2hldGhlciBhbiBcIm91dHNpZGVcIiBjbGljayByZWFsbHkgaXMgb25lKSBtdXN0IG1hdGNoIG9uXG4gKiB0aGVzZSByb2xlcyBpbnN0ZWFkLlxuICovXG5leHBvcnQgY29uc3QgT1BUSU9OU19MSVNUX1NFTEVDVE9SID0gJ1tyb2xlPVwibGlzdGJveFwiXSwgW3JvbGU9XCJvcHRpb25cIl0nO1xuXG50eXBlIE9wdGlvbnNMaXN0UHJvcHMgPSB7XG4gIGlzT3BlbjogYm9vbGVhbjtcbiAgaXNNdWx0aVNlbGVjdD86IGJvb2xlYW47XG4gIHRyaWdnZXJSZWY6IFJlZk9iamVjdDxIVE1MSW5wdXRFbGVtZW50PjtcbiAgdHJpZ2dlcldyYXBwZXJSZWY/OiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBvbkNsb3NlRHJvcGRvd246IChub1NlbGVjdD86IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlcjtcbiAgb25TZWxlY3RlZEluZGV4Q2hhbmdlOiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbiAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0OiAoc2VsZWN0ZWRPcHRpb246IFNlbGVjdE9wdGlvbikgPT4gdm9pZDtcbiAgaXNWaXJ0dWFsaXplZD86IGJvb2xlYW47XG59ICYgUGFydGlhbDxDb21tb25TZWxlY3RQcm9wcz47XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25JZChzZWxlY3ROYW1lOiBzdHJpbmcsIG9wdGlvblZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7c2VsZWN0TmFtZX1PcHRpb24ke29wdGlvblZhbHVlfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25zTGlzdElkKHNlbGVjdE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtzZWxlY3ROYW1lfU9wdGlvbnNMaXN0YDtcbn1cblxudHlwZSBTY3JvbGxUb0l0ZW1QYXJhbXMgPSB7XG4gIGxpc3Q6IEhUTUxEaXZFbGVtZW50W107XG4gIGl0ZW1JbmRleDogbnVtYmVyO1xuICBiZWhhdmlvcjogU2Nyb2xsQmVoYXZpb3I7XG59O1xuXG5jb25zdCBzY3JvbGxUb0l0ZW0gPSAoeyBsaXN0LCBpdGVtSW5kZXgsIGJlaGF2aW9yIH06IFNjcm9sbFRvSXRlbVBhcmFtcykgPT4ge1xuICBsaXN0W2l0ZW1JbmRleF0/LnNjcm9sbEludG9WaWV3Py4oe1xuICAgIGJlaGF2aW9yLFxuICAgIGJsb2NrOiBcIm5lYXJlc3RcIixcbiAgfSk7XG59O1xuXG5jb25zdCBDdXN0b21PcHRpb24gPSBzdHlsZWQoU3R5bGVkT3B0aW9uKSgoeyB0aGVtZSB9KSA9PiAoe1xuICAvLyB0aGlzIGlzIG5lZWRlZCBmb3IgdXNpbmcgcGFkZGluZyBvZiBjaGVja2JveGVzIGluIG9yZGVyIHRvIHVzZSBpdHMgaG92ZXIgc3RhdGVcbiAgcGFkZGluZ1RvcDogMCxcbiAgcGFkZGluZ0JvdHRvbTogMCxcbiAgXCImID4gZGl2XCI6IHtcbiAgICBwYWRkaW5nVG9wOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzLFxuICAgIHBhZGRpbmdCb3R0b206IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHMsXG4gIH0sXG4gIFwiJiA+IGRpdiAqXCI6IHtcbiAgICBtYXJnaW5Ub3A6IDAsXG4gIH0sXG59KSk7XG5cbmNvbnN0IFN0eWxlZExpc3RDb250YWluZXIgPSBzdHlsZWQuZGl2PFBpY2s8T3B0aW9uc0xpc3RQcm9wcywgXCJtYXhIZWlnaHRcIj4+KFxuICAoeyB0aGVtZSwgbWF4SGVpZ2h0IH0pID0+ICh7XG4gICAgbWF4SGVpZ2h0LFxuICAgIGJveFNpemluZzogXCJib3JkZXItYm94XCIsXG4gICAgb3ZlcmZsb3c6IFwiYXV0b1wiLFxuICAgIHBhZGRpbmc6IGAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHhzfSAwYCxcbiAgfSlcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBPcHRpb25zTGlzdCh7XG4gIGlzT3BlbixcbiAgaXNNdWx0aVNlbGVjdCA9IGZhbHNlLFxuICB2YWx1ZSxcbiAgZGlzYWJsZWQsXG4gIG9wdGlvbnMsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgdHJpZ2dlclJlZixcbiAgdHJpZ2dlcldyYXBwZXJSZWYsXG4gIG1heEhlaWdodCxcbiAgZW1wdHlTdGF0ZU1lc3NhZ2UgPSBcIk5vIG9wdGlvbnMgYXZhaWxhYmxlXCIsXG4gIHNlbGVjdGVkSW5kZXgsXG4gIG9wdGlvbnNMaXN0V2lkdGgsXG4gIGlzVmlydHVhbGl6ZWQgPSB0cnVlLFxuICBuYW1lLFxuICBvbkNsb3NlRHJvcGRvd24sXG4gIG9uU2VsZWN0ZWRJbmRleENoYW5nZSxcbiAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0LFxufTogT3B0aW9uc0xpc3RQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IG9wdGlvbnNMaXN0UmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBsaXN0Q29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBsaXN0SXRlbXNSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHJlZkZvclBvc2l0aW9uaW5nID0gdHJpZ2dlcldyYXBwZXJSZWYgfHwgdHJpZ2dlclJlZjtcbiAgY29uc3QgYWN0aXZlSXRlbUluZGV4ID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgb3B0aW9ucy5maW5kSW5kZXgoKG9wdGlvbikgPT5cbiAgICAgICAgaXNNdWx0aVNlbGVjdCA/IHZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSkgOiBvcHRpb24udmFsdWUgPT09IHZhbHVlXG4gICAgICApLFxuICAgIFtvcHRpb25zLCBpc011bHRpU2VsZWN0LCB2YWx1ZV1cbiAgKTtcblxuICBjb25zdCB7IG1lbnVTdHlsZTogb3B0aW9uc0xpc3RTdHlsZSwgY2FsY3VsYXRlU3R5bGUgfSA9IHVzZVBvcHVwTWVudSh7XG4gICAgdHJpZ2dlclJlZjogcmVmRm9yUG9zaXRpb25pbmcsXG4gICAgbWVudVJlZjogb3B0aW9uc0xpc3RSZWYsXG4gICAgaXNPcGVuLFxuICB9KTtcblxuICBjb25zdCB3aW4gPSB1c2VXaW5kb3coKTtcbiAgY29uc3QgeyB2YXJpYWJsZXMgfSA9IHVzZVRoZW1lKCk7XG4gIC8vIENvbnN0cmFpbiB0aGUgbGlzdCB0byB0aGUgc3BhY2UgYWN0dWFsbHkgYXZhaWxhYmxlIGJlbG93IGl0cyBjb21wdXRlZFxuICAvLyBwb3NpdGlvbiBzbyBpdCBuZXZlciBvdmVyZmxvd3MgdGhlIHZpZXdwb3J0LiBBbiBvdmVyZmxvd2luZyBsaXN0IG1ha2VzIHRoZVxuICAvLyBicm93c2VyIHNjcm9sbCB0aGUgcGFnZSB3aGVuIHRoZSBhY3RpdmUgb3B0aW9uIGlzIHJldmVhbGVkIG9uIG9wZW4sIHdoaWNoIGluXG4gIC8vIHR1cm4gY2FuIGhpZGUgdGhlIHN1cnJvdW5kaW5nIHBvcG92ZXIg4oCUIHNlZSB1c2VQb3B1cE1lbnUvVG9vbHRpcENvbnRlbnQuXG4gIGNvbnN0IGVmZmVjdGl2ZU1heEhlaWdodCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghd2luIHx8ICFvcHRpb25zTGlzdFN0eWxlLnRvcCkgcmV0dXJuIG1heEhlaWdodDtcbiAgICAvLyBHYXAga2VwdCBiZXR3ZWVuIHRoZSBsaXN0IGJvdHRvbSBhbmQgdGhlIHZpZXdwb3J0IGVkZ2Ugc28gYSBjYXBwZWQgbGlzdFxuICAgIC8vIG5ldmVyIHJlbmRlcnMgZmx1c2ggYWdhaW5zdCAob3IgcGFzdCkgdGhlIHNjcmVlbiBib3R0b20uXG4gICAgY29uc3QgbWVudVZpZXdwb3J0TWFyZ2luID0gcGFyc2VJbnQodmFyaWFibGVzLnNpemUuc3BhY2luZy54cywgMTApO1xuICAgIGNvbnN0IG1lbnVUb3BJblZpZXdwb3J0ID0gb3B0aW9uc0xpc3RTdHlsZS50b3AgLSAod2luLnNjcm9sbFkgPz8gMCk7XG4gICAgY29uc3Qgc3BhY2VCZWxvdyA9IHdpbi5pbm5lckhlaWdodCAtIG1lbnVUb3BJblZpZXdwb3J0IC0gbWVudVZpZXdwb3J0TWFyZ2luO1xuICAgIGlmICghTnVtYmVyLmlzRmluaXRlKHNwYWNlQmVsb3cpIHx8IHNwYWNlQmVsb3cgPD0gMCkgcmV0dXJuIG1heEhlaWdodDtcbiAgICByZXR1cm4gbWF4SGVpZ2h0ID8gTWF0aC5taW4obWF4SGVpZ2h0LCBzcGFjZUJlbG93KSA6IHNwYWNlQmVsb3c7XG4gIH0sIFttYXhIZWlnaHQsIG9wdGlvbnNMaXN0U3R5bGUsIHdpbiwgdmFyaWFibGVzXSk7XG5cbiAgLy8gTGF5b3V0IGVmZmVjdCArIGluc3RhbnQgYmVoYXZpb3Igc28gdGhlIGxpc3QgaXMgYWxyZWFkeSBwb3NpdGlvbmVkIG9uIHRoZVxuICAvLyBhY3RpdmUgb3B0aW9uIGF0IGZpcnN0IHBhaW50IGluc3RlYWQgb2YgdmlzaWJseSBzY3JvbGxpbmcgdG8gaXQgb24gb3Blbi5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoXG4gICAgICBpc09wZW4gJiZcbiAgICAgIGxpc3RDb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgIWlzVmlydHVhbGl6ZWQgJiZcbiAgICAgIG9wdGlvbnNMaXN0U3R5bGUudG9wXG4gICAgKSB7XG4gICAgICBjb25zdCBsaXN0RWxtID0gbGlzdENvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgICAgLy8gZGV0ZXJtaW5lIG92ZXJmbG93XG4gICAgICBpZiAobGlzdEVsbS5jbGllbnRIZWlnaHQgPCBsaXN0RWxtLnNjcm9sbEhlaWdodCkge1xuICAgICAgICBsaXN0SXRlbXNSZWYuY3VycmVudCA9IGxpc3RFbG0ucXVlcnlTZWxlY3RvckFsbChcIltkYXRhLWxpc3QtaXRlbV1cIik7XG4gICAgICAgIHNjcm9sbFRvSXRlbSh7XG4gICAgICAgICAgbGlzdDogbGlzdEl0ZW1zUmVmLmN1cnJlbnQsXG4gICAgICAgICAgaXRlbUluZGV4OiBhY3RpdmVJdGVtSW5kZXgsXG4gICAgICAgICAgYmVoYXZpb3I6IFwiaW5zdGFudFwiLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGlzdEl0ZW1zUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgfSwgW1xuICAgIGlzT3BlbixcbiAgICBpc1ZpcnR1YWxpemVkLFxuICAgIGxpc3RDb250YWluZXJSZWYsXG4gICAgb3B0aW9ucyxcbiAgICBtYXhIZWlnaHQsXG4gICAgb3B0aW9uc0xpc3RTdHlsZSxcbiAgICBhY3RpdmVJdGVtSW5kZXgsXG4gIF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxpc3RJdGVtc1JlZi5jdXJyZW50KSB7XG4gICAgICBzY3JvbGxUb0l0ZW0oe1xuICAgICAgICBsaXN0OiBsaXN0SXRlbXNSZWYuY3VycmVudCxcbiAgICAgICAgaXRlbUluZGV4OiBzZWxlY3RlZEluZGV4LFxuICAgICAgICBiZWhhdmlvcjogXCJzbW9vdGhcIixcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW2xpc3RJdGVtc1JlZiwgc2VsZWN0ZWRJbmRleF0pO1xuXG4gIHVzZUtleWJvYXJkKFxuICAgIHtcbiAgICAgIEVzY2FwZTogKCkgPT4gb25DbG9zZURyb3Bkb3duKHRydWUpLFxuICAgICAgRW50ZXI6ICgpID0+IHtcbiAgICAgICAgY29uc3QgcHJlc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25zW3NlbGVjdGVkSW5kZXhdO1xuXG4gICAgICAgIGlmICghcHJlc2VsZWN0ZWRPcHRpb24/LmRpc2FibGVkKSB7XG4gICAgICAgICAgaWYgKHByZXNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgICBmb3JjZUNoYW5nZUZha2VTZWxlY3QocHJlc2VsZWN0ZWRPcHRpb24pO1xuICAgICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICAgIG9uQ2xvc2VEcm9wZG93bih0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBBcnJvd1VwOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4ID4gMCkge1xuICAgICAgICAgIG5ld0luZGV4IC09IDE7XG4gICAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBPbmx5IHVwZGF0ZSB0aGUgc2VsZWN0aW9uIGlmIHRoZSBuZXcgaXRlbSBpcyBub3QgZGlzYWJsZWRcbiAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UobmV3SW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgQXJyb3dEb3duOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4IDwgb3B0aW9ucy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgbmV3SW5kZXggKz0gMTtcbiAgICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIE9ubHkgdXBkYXRlIHRoZSBzZWxlY3Rpb24gaWYgdGhlIG5ldyBpdGVtIGlzIG5vdCBkaXNhYmxlZFxuICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgIG9uU2VsZWN0ZWRJbmRleENoYW5nZShuZXdJbmRleCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICB0cmlnZ2VyUmVmLFxuICAgIGlzT3BlbiAmJiAhZGlzYWJsZWRcbiAgKTtcblxuICBjb25zdCByZW5kZXJJdGVtID0gKGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBvcHRpb246IFNlbGVjdE9wdGlvbiA9IG9wdGlvbnNbaW5kZXhdO1xuICAgIC8vIEdlbmVyYXRlIHVuaXF1ZSBpZCBmb3IgdGhlIG9wdGlvblxuICAgIGNvbnN0IGlkID0gZ2V0T3B0aW9uSWQobmFtZSwgb3B0aW9uLnZhbHVlKTtcblxuICAgIGlmIChpc011bHRpU2VsZWN0KSB7XG4gICAgICBjb25zdCBpc0FjdGl2ZSA9IHZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxDdXN0b21PcHRpb25cbiAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICBhcmlhLXNlbGVjdGVkPXtpc0FjdGl2ZX1cbiAgICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgIGtleT17b3B0aW9uLnZhbHVlfVxuICAgICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgICAgZGlzYWJsZWQ9e29wdGlvbi5kaXNhYmxlZH1cbiAgICAgICAgICBwcmVTZWxlY3RlZD17c2VsZWN0ZWRJbmRleCA9PT0gaW5kZXh9XG4gICAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgICAvLyBzdG9wIGV2ZW50IHByb3BhZ2F0aW9uIHRvIG5vdCBjbG9zZSBtb2RhbCBvbiBzZWxlY3Rpb24gaWYgc2VsZWN0IGlzIHdpdGhpbiBhIE1vZGFsXG4gICAgICAgICAgb25DbGljaz17KGV2dCkgPT4gZXZ0LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICA+XG4gICAgICAgICAgPENoZWNrYm94UmF3XG4gICAgICAgICAgICBuYW1lPVwiXCJcbiAgICAgICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgICBjaGVja2VkPXtpc0FjdGl2ZX1cbiAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgIGxhYmVsPXtvcHRpb24ubGFiZWx9XG4gICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4gbnVsbH1cbiAgICAgICAgICAgIGxhYmVsSGludD17b3B0aW9uPy5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0N1c3RvbU9wdGlvbj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gZWxzZSByZW5kZXIgc2luZ2xlIHNlbGVjdCBpdGVtXG4gICAgY29uc3QgaXNBY3RpdmUgPSB2YWx1ZSA9PT0gb3B0aW9uLnZhbHVlO1xuICAgIGNvbnN0IG9wdGlvblRleHQgPSAoXG4gICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgIDxUZXh0IGNvbG9yPVwicHJpbWFyeVwiIHNpemU9XCJtXCI+XG4gICAgICAgICAge29wdGlvbi5sYWJlbH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgICB7b3B0aW9uLmRlc2NyaXB0aW9uICYmIChcbiAgICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCIgc2l6ZT1cInNcIj5cbiAgICAgICAgICAgIHtvcHRpb24uZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICApfVxuICAgICAgPC9TdGFjaz5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRPcHRpb25cbiAgICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2lzQWN0aXZlfVxuICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIGlkPXtpZH1cbiAgICAgICAga2V5PXtvcHRpb24udmFsdWV9XG4gICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIHByZVNlbGVjdGVkPXtzZWxlY3RlZEluZGV4ID09PSBpbmRleH1cbiAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24odHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7aXNBY3RpdmUgPyAoXG4gICAgICAgICAgPElubGluZSBub1dyYXAgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiPlxuICAgICAgICAgICAge29wdGlvblRleHR9XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT1cInh4eHNcIj5cbiAgICAgICAgICAgICAgPEljb24gbmFtZT1cImNoZWNrXCIgc2l6ZT1cInNcIiBjb2xvcj1cImFjY2VudFwiIC8+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBvcHRpb25UZXh0XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZE9wdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGxpc3RTdHlsZSA9IHtcbiAgICAuLi5vcHRpb25zTGlzdFN0eWxlLFxuICAgIHdpZHRoOlxuICAgICAgb3B0aW9uc0xpc3RXaWR0aCB8fFxuICAgICAgcmVmRm9yUG9zaXRpb25pbmcuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsXG4gIH07XG5cbiAgY29uc3QgbGlzdEVsbSA9IChcbiAgICA8U3R5bGVkRHJvcGRvd25cbiAgICAgIHN0eWxlPXtsaXN0U3R5bGV9XG4gICAgICByZWY9e29wdGlvbnNMaXN0UmVmfVxuICAgICAgLy8gdGhpcyBpcyB0byBwcmV2ZW50IGtub3duIGJ1ZyBvZiBDaHJvbWUgd2hlbiBlbGVtZW50XG4gICAgICAvLyBsb3NlcyBmb2N1cyBvbiBjbGljayBvbiB0aGUgc2Nyb2xsYmFyXG4gICAgICBvbk1vdXNlRG93bj17KGUpID0+IGUucHJldmVudERlZmF1bHQoKX1cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9XCJvcHRpb25zTGlzdFwiXG4gICAgPlxuICAgICAge2lzVmlydHVhbGl6ZWQgPyAoXG4gICAgICAgIDxWaXJ0dWFsU2Nyb2xsTGlzdFxuICAgICAgICAgIGlkPXtnZXRPcHRpb25zTGlzdElkKG5hbWUpfVxuICAgICAgICAgIG1heEhlaWdodD17ZWZmZWN0aXZlTWF4SGVpZ2h0fVxuICAgICAgICAgIGl0ZW1IZWlnaHQ9ezM2fVxuICAgICAgICAgIGl0ZW1BbW91bnQ9e29wdGlvbnMubGVuZ3RofVxuICAgICAgICAgIGVtcHR5U3RhdGU9eygpID0+IG51bGx9XG4gICAgICAgICAgY29udGFpbmVyU3R5bGU9e2Ryb3Bkb3duQ29udGFpbmVyU3R5bGV9XG4gICAgICAgICAgaXRlbUluVmlldz17c2VsZWN0ZWRJbmRleH1cbiAgICAgICAgICBpdGVtVGVtcGxhdGU9e3JlbmRlckl0ZW19XG4gICAgICAgICAgb25Db250ZW50SGVpZ2h0Q2hhbmdlPXtjYWxjdWxhdGVTdHlsZX1cbiAgICAgICAgICByb2xlPVwibGlzdGJveFwiXG4gICAgICAgIC8+XG4gICAgICApIDogKFxuICAgICAgICA8U3R5bGVkTGlzdENvbnRhaW5lclxuICAgICAgICAgIG1heEhlaWdodD17ZWZmZWN0aXZlTWF4SGVpZ2h0fVxuICAgICAgICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICAgICAgICBpZD17Z2V0T3B0aW9uc0xpc3RJZChuYW1lKX1cbiAgICAgICAgICByZWY9e2xpc3RDb250YWluZXJSZWZ9XG4gICAgICAgID5cbiAgICAgICAgICB7b3B0aW9ucy5tYXAoKF9vcHRpb24sIGluZGV4KSA9PiByZW5kZXJJdGVtKGluZGV4KSl9XG4gICAgICAgIDwvU3R5bGVkTGlzdENvbnRhaW5lcj5cbiAgICAgICl9XG4gICAgPC9TdHlsZWREcm9wZG93bj5cbiAgKTtcblxuICBpZiAoIWlzT3Blbikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgbGlzdFBvcnRhbCA9IG9wdGlvbnMubGVuZ3RoID8gKFxuICAgIDxQb3J0YWwgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9PntsaXN0RWxtfTwvUG9ydGFsPlxuICApIDogbnVsbDtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8U2NyZWVuUmVhZGVyVGV4dCByb2xlPVwic3RhdHVzXCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICAgIHshb3B0aW9ucy5sZW5ndGggPyBlbXB0eVN0YXRlTWVzc2FnZSA6IFwiXCJ9XG4gICAgICA8L1NjcmVlblJlYWRlclRleHQ+XG4gICAgICB7bGlzdFBvcnRhbH1cbiAgICA8Lz5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2RHFCIn0= */"),StyledListContainer=(0,_styled.default)("div",{target:"eubbn5p1",label:"StyledListContainer"})(({theme,maxHeight})=>({maxHeight,boxSizing:"border-box",overflow:"auto",padding:`${theme.variables.size.spacing.xxs} 0`}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRm9ybS9Db21ib2JveC9PcHRpb25zTGlzdC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0Zvcm0vQ29tYm9ib3gvT3B0aW9uc0xpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVmT2JqZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZUxheW91dEVmZmVjdCwgdXNlTWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgdXNlS2V5Ym9hcmQgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZUtleWJvYXJkXCI7XG5pbXBvcnQgeyB1c2VXaW5kb3cgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZVdpbmRvd1wiO1xuaW1wb3J0IHR5cGUgeyBDb21tb25TZWxlY3RQcm9wcywgU2VsZWN0T3B0aW9uIH0gZnJvbSBcIi4vQ29tYm9ib3hcIjtcbmltcG9ydCB7IHVzZVBvcHVwTWVudSB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvcG9wdXBNZW51L3VzZVBvcHVwTWVudVwiO1xuaW1wb3J0IHsgVmlydHVhbFNjcm9sbExpc3QgfSBmcm9tIFwiLi4vLi4vVmlydHVhbFNjcm9sbExpc3QvVmlydHVhbFNjcm9sbExpc3RcIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi8uLi9Cb3gvQm94XCI7XG5pbXBvcnQgeyBJbmxpbmUgfSBmcm9tIFwiLi4vLi4vSW5saW5lL0lubGluZVwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCIuLi8uLi9JY29uL0ljb25cIjtcbmltcG9ydCB7IFN0eWxlZERyb3Bkb3duLCBTdHlsZWRPcHRpb24gfSBmcm9tIFwiLi9TdHlsZWRTZWxlY3RDb21wb25lbnRzXCI7XG5pbXBvcnQgeyBkcm9wZG93bkNvbnRhaW5lclN0eWxlIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCIuLi8uLi9TdGFjay9TdGFja1wiO1xuaW1wb3J0IHsgQ2hlY2tib3hSYXcgfSBmcm9tIFwiLi4vQ2hlY2tib3gvQ2hlY2tib3hcIjtcbmltcG9ydCB7IFBvcnRhbCB9IGZyb20gXCIuLi8uLi9Qb3J0YWwvUG9ydGFsXCI7XG5pbXBvcnQgeyBTY3JlZW5SZWFkZXJUZXh0IH0gZnJvbSBcIi4uLy4uL1V0aWxpdGllcy9TY3JlZW5SZWFkZXJUZXh0L1NjcmVlblJlYWRlclRleHRcIjtcblxuLyoqXG4gKiBNYXRjaGVzIGFueSBlbGVtZW50IGluc2lkZSB0aGUgb3B0aW9ucyBsaXN0LiBUaGUgbGlzdCByZW5kZXJzIGluIGEgcG9ydGFsLFxuICogb3V0c2lkZSBpdHMgY29uc3VtZXIncyBET00gdHJlZSwgc28gY29uc3VtZXJzIHdpdGggbm8gcmVmIHRvIGl0IChlLmcuIGFcbiAqIHBvcG92ZXIgZGVjaWRpbmcgd2hldGhlciBhbiBcIm91dHNpZGVcIiBjbGljayByZWFsbHkgaXMgb25lKSBtdXN0IG1hdGNoIG9uXG4gKiB0aGVzZSByb2xlcyBpbnN0ZWFkLlxuICovXG5leHBvcnQgY29uc3QgT1BUSU9OU19MSVNUX1NFTEVDVE9SID0gJ1tyb2xlPVwibGlzdGJveFwiXSwgW3JvbGU9XCJvcHRpb25cIl0nO1xuXG50eXBlIE9wdGlvbnNMaXN0UHJvcHMgPSB7XG4gIGlzT3BlbjogYm9vbGVhbjtcbiAgaXNNdWx0aVNlbGVjdD86IGJvb2xlYW47XG4gIHRyaWdnZXJSZWY6IFJlZk9iamVjdDxIVE1MSW5wdXRFbGVtZW50PjtcbiAgdHJpZ2dlcldyYXBwZXJSZWY/OiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBvbkNsb3NlRHJvcGRvd246IChub1NlbGVjdD86IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlcjtcbiAgb25TZWxlY3RlZEluZGV4Q2hhbmdlOiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbiAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0OiAoc2VsZWN0ZWRPcHRpb246IFNlbGVjdE9wdGlvbikgPT4gdm9pZDtcbiAgaXNWaXJ0dWFsaXplZD86IGJvb2xlYW47XG59ICYgUGFydGlhbDxDb21tb25TZWxlY3RQcm9wcz47XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25JZChzZWxlY3ROYW1lOiBzdHJpbmcsIG9wdGlvblZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7c2VsZWN0TmFtZX1PcHRpb24ke29wdGlvblZhbHVlfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25zTGlzdElkKHNlbGVjdE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtzZWxlY3ROYW1lfU9wdGlvbnNMaXN0YDtcbn1cblxudHlwZSBTY3JvbGxUb0l0ZW1QYXJhbXMgPSB7XG4gIGxpc3Q6IEhUTUxEaXZFbGVtZW50W107XG4gIGl0ZW1JbmRleDogbnVtYmVyO1xuICBiZWhhdmlvcjogU2Nyb2xsQmVoYXZpb3I7XG59O1xuXG5jb25zdCBzY3JvbGxUb0l0ZW0gPSAoeyBsaXN0LCBpdGVtSW5kZXgsIGJlaGF2aW9yIH06IFNjcm9sbFRvSXRlbVBhcmFtcykgPT4ge1xuICBsaXN0W2l0ZW1JbmRleF0/LnNjcm9sbEludG9WaWV3Py4oe1xuICAgIGJlaGF2aW9yLFxuICAgIGJsb2NrOiBcIm5lYXJlc3RcIixcbiAgfSk7XG59O1xuXG5jb25zdCBDdXN0b21PcHRpb24gPSBzdHlsZWQoU3R5bGVkT3B0aW9uKSgoeyB0aGVtZSB9KSA9PiAoe1xuICAvLyB0aGlzIGlzIG5lZWRlZCBmb3IgdXNpbmcgcGFkZGluZyBvZiBjaGVja2JveGVzIGluIG9yZGVyIHRvIHVzZSBpdHMgaG92ZXIgc3RhdGVcbiAgcGFkZGluZ1RvcDogMCxcbiAgcGFkZGluZ0JvdHRvbTogMCxcbiAgXCImID4gZGl2XCI6IHtcbiAgICBwYWRkaW5nVG9wOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzLFxuICAgIHBhZGRpbmdCb3R0b206IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHMsXG4gIH0sXG4gIFwiJiA+IGRpdiAqXCI6IHtcbiAgICBtYXJnaW5Ub3A6IDAsXG4gIH0sXG59KSk7XG5cbmNvbnN0IFN0eWxlZExpc3RDb250YWluZXIgPSBzdHlsZWQuZGl2PFBpY2s8T3B0aW9uc0xpc3RQcm9wcywgXCJtYXhIZWlnaHRcIj4+KFxuICAoeyB0aGVtZSwgbWF4SGVpZ2h0IH0pID0+ICh7XG4gICAgbWF4SGVpZ2h0LFxuICAgIGJveFNpemluZzogXCJib3JkZXItYm94XCIsXG4gICAgb3ZlcmZsb3c6IFwiYXV0b1wiLFxuICAgIHBhZGRpbmc6IGAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHhzfSAwYCxcbiAgfSlcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBPcHRpb25zTGlzdCh7XG4gIGlzT3BlbixcbiAgaXNNdWx0aVNlbGVjdCA9IGZhbHNlLFxuICB2YWx1ZSxcbiAgZGlzYWJsZWQsXG4gIG9wdGlvbnMsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgdHJpZ2dlclJlZixcbiAgdHJpZ2dlcldyYXBwZXJSZWYsXG4gIG1heEhlaWdodCxcbiAgZW1wdHlTdGF0ZU1lc3NhZ2UgPSBcIk5vIG9wdGlvbnMgYXZhaWxhYmxlXCIsXG4gIHNlbGVjdGVkSW5kZXgsXG4gIG9wdGlvbnNMaXN0V2lkdGgsXG4gIGlzVmlydHVhbGl6ZWQgPSB0cnVlLFxuICBuYW1lLFxuICBvbkNsb3NlRHJvcGRvd24sXG4gIG9uU2VsZWN0ZWRJbmRleENoYW5nZSxcbiAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0LFxufTogT3B0aW9uc0xpc3RQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IG9wdGlvbnNMaXN0UmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBsaXN0Q29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBsaXN0SXRlbXNSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHJlZkZvclBvc2l0aW9uaW5nID0gdHJpZ2dlcldyYXBwZXJSZWYgfHwgdHJpZ2dlclJlZjtcbiAgY29uc3QgYWN0aXZlSXRlbUluZGV4ID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgb3B0aW9ucy5maW5kSW5kZXgoKG9wdGlvbikgPT5cbiAgICAgICAgaXNNdWx0aVNlbGVjdCA/IHZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSkgOiBvcHRpb24udmFsdWUgPT09IHZhbHVlXG4gICAgICApLFxuICAgIFtvcHRpb25zLCBpc011bHRpU2VsZWN0LCB2YWx1ZV1cbiAgKTtcblxuICBjb25zdCB7IG1lbnVTdHlsZTogb3B0aW9uc0xpc3RTdHlsZSwgY2FsY3VsYXRlU3R5bGUgfSA9IHVzZVBvcHVwTWVudSh7XG4gICAgdHJpZ2dlclJlZjogcmVmRm9yUG9zaXRpb25pbmcsXG4gICAgbWVudVJlZjogb3B0aW9uc0xpc3RSZWYsXG4gICAgaXNPcGVuLFxuICB9KTtcblxuICBjb25zdCB3aW4gPSB1c2VXaW5kb3coKTtcbiAgY29uc3QgeyB2YXJpYWJsZXMgfSA9IHVzZVRoZW1lKCk7XG4gIC8vIENvbnN0cmFpbiB0aGUgbGlzdCB0byB0aGUgc3BhY2UgYWN0dWFsbHkgYXZhaWxhYmxlIGJlbG93IGl0cyBjb21wdXRlZFxuICAvLyBwb3NpdGlvbiBzbyBpdCBuZXZlciBvdmVyZmxvd3MgdGhlIHZpZXdwb3J0LiBBbiBvdmVyZmxvd2luZyBsaXN0IG1ha2VzIHRoZVxuICAvLyBicm93c2VyIHNjcm9sbCB0aGUgcGFnZSB3aGVuIHRoZSBhY3RpdmUgb3B0aW9uIGlzIHJldmVhbGVkIG9uIG9wZW4sIHdoaWNoIGluXG4gIC8vIHR1cm4gY2FuIGhpZGUgdGhlIHN1cnJvdW5kaW5nIHBvcG92ZXIg4oCUIHNlZSB1c2VQb3B1cE1lbnUvVG9vbHRpcENvbnRlbnQuXG4gIGNvbnN0IGVmZmVjdGl2ZU1heEhlaWdodCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghd2luIHx8ICFvcHRpb25zTGlzdFN0eWxlLnRvcCkgcmV0dXJuIG1heEhlaWdodDtcbiAgICAvLyBHYXAga2VwdCBiZXR3ZWVuIHRoZSBsaXN0IGJvdHRvbSBhbmQgdGhlIHZpZXdwb3J0IGVkZ2Ugc28gYSBjYXBwZWQgbGlzdFxuICAgIC8vIG5ldmVyIHJlbmRlcnMgZmx1c2ggYWdhaW5zdCAob3IgcGFzdCkgdGhlIHNjcmVlbiBib3R0b20uXG4gICAgY29uc3QgbWVudVZpZXdwb3J0TWFyZ2luID0gcGFyc2VJbnQodmFyaWFibGVzLnNpemUuc3BhY2luZy54cywgMTApO1xuICAgIGNvbnN0IG1lbnVUb3BJblZpZXdwb3J0ID0gb3B0aW9uc0xpc3RTdHlsZS50b3AgLSAod2luLnNjcm9sbFkgPz8gMCk7XG4gICAgY29uc3Qgc3BhY2VCZWxvdyA9IHdpbi5pbm5lckhlaWdodCAtIG1lbnVUb3BJblZpZXdwb3J0IC0gbWVudVZpZXdwb3J0TWFyZ2luO1xuICAgIGlmICghTnVtYmVyLmlzRmluaXRlKHNwYWNlQmVsb3cpIHx8IHNwYWNlQmVsb3cgPD0gMCkgcmV0dXJuIG1heEhlaWdodDtcbiAgICByZXR1cm4gbWF4SGVpZ2h0ID8gTWF0aC5taW4obWF4SGVpZ2h0LCBzcGFjZUJlbG93KSA6IHNwYWNlQmVsb3c7XG4gIH0sIFttYXhIZWlnaHQsIG9wdGlvbnNMaXN0U3R5bGUsIHdpbiwgdmFyaWFibGVzXSk7XG5cbiAgLy8gTGF5b3V0IGVmZmVjdCArIGluc3RhbnQgYmVoYXZpb3Igc28gdGhlIGxpc3QgaXMgYWxyZWFkeSBwb3NpdGlvbmVkIG9uIHRoZVxuICAvLyBhY3RpdmUgb3B0aW9uIGF0IGZpcnN0IHBhaW50IGluc3RlYWQgb2YgdmlzaWJseSBzY3JvbGxpbmcgdG8gaXQgb24gb3Blbi5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoXG4gICAgICBpc09wZW4gJiZcbiAgICAgIGxpc3RDb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgIWlzVmlydHVhbGl6ZWQgJiZcbiAgICAgIG9wdGlvbnNMaXN0U3R5bGUudG9wXG4gICAgKSB7XG4gICAgICBjb25zdCBsaXN0RWxtID0gbGlzdENvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgICAgLy8gZGV0ZXJtaW5lIG92ZXJmbG93XG4gICAgICBpZiAobGlzdEVsbS5jbGllbnRIZWlnaHQgPCBsaXN0RWxtLnNjcm9sbEhlaWdodCkge1xuICAgICAgICBsaXN0SXRlbXNSZWYuY3VycmVudCA9IGxpc3RFbG0ucXVlcnlTZWxlY3RvckFsbChcIltkYXRhLWxpc3QtaXRlbV1cIik7XG4gICAgICAgIHNjcm9sbFRvSXRlbSh7XG4gICAgICAgICAgbGlzdDogbGlzdEl0ZW1zUmVmLmN1cnJlbnQsXG4gICAgICAgICAgaXRlbUluZGV4OiBhY3RpdmVJdGVtSW5kZXgsXG4gICAgICAgICAgYmVoYXZpb3I6IFwiaW5zdGFudFwiLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGlzdEl0ZW1zUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgfSwgW1xuICAgIGlzT3BlbixcbiAgICBpc1ZpcnR1YWxpemVkLFxuICAgIGxpc3RDb250YWluZXJSZWYsXG4gICAgb3B0aW9ucyxcbiAgICBtYXhIZWlnaHQsXG4gICAgb3B0aW9uc0xpc3RTdHlsZSxcbiAgICBhY3RpdmVJdGVtSW5kZXgsXG4gIF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxpc3RJdGVtc1JlZi5jdXJyZW50KSB7XG4gICAgICBzY3JvbGxUb0l0ZW0oe1xuICAgICAgICBsaXN0OiBsaXN0SXRlbXNSZWYuY3VycmVudCxcbiAgICAgICAgaXRlbUluZGV4OiBzZWxlY3RlZEluZGV4LFxuICAgICAgICBiZWhhdmlvcjogXCJzbW9vdGhcIixcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW2xpc3RJdGVtc1JlZiwgc2VsZWN0ZWRJbmRleF0pO1xuXG4gIHVzZUtleWJvYXJkKFxuICAgIHtcbiAgICAgIEVzY2FwZTogKCkgPT4gb25DbG9zZURyb3Bkb3duKHRydWUpLFxuICAgICAgRW50ZXI6ICgpID0+IHtcbiAgICAgICAgY29uc3QgcHJlc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25zW3NlbGVjdGVkSW5kZXhdO1xuXG4gICAgICAgIGlmICghcHJlc2VsZWN0ZWRPcHRpb24/LmRpc2FibGVkKSB7XG4gICAgICAgICAgaWYgKHByZXNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgICBmb3JjZUNoYW5nZUZha2VTZWxlY3QocHJlc2VsZWN0ZWRPcHRpb24pO1xuICAgICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICAgIG9uQ2xvc2VEcm9wZG93bih0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBBcnJvd1VwOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4ID4gMCkge1xuICAgICAgICAgIG5ld0luZGV4IC09IDE7XG4gICAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBPbmx5IHVwZGF0ZSB0aGUgc2VsZWN0aW9uIGlmIHRoZSBuZXcgaXRlbSBpcyBub3QgZGlzYWJsZWRcbiAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UobmV3SW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgQXJyb3dEb3duOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4IDwgb3B0aW9ucy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgbmV3SW5kZXggKz0gMTtcbiAgICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIE9ubHkgdXBkYXRlIHRoZSBzZWxlY3Rpb24gaWYgdGhlIG5ldyBpdGVtIGlzIG5vdCBkaXNhYmxlZFxuICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgIG9uU2VsZWN0ZWRJbmRleENoYW5nZShuZXdJbmRleCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICB0cmlnZ2VyUmVmLFxuICAgIGlzT3BlbiAmJiAhZGlzYWJsZWRcbiAgKTtcblxuICBjb25zdCByZW5kZXJJdGVtID0gKGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBvcHRpb246IFNlbGVjdE9wdGlvbiA9IG9wdGlvbnNbaW5kZXhdO1xuICAgIC8vIEdlbmVyYXRlIHVuaXF1ZSBpZCBmb3IgdGhlIG9wdGlvblxuICAgIGNvbnN0IGlkID0gZ2V0T3B0aW9uSWQobmFtZSwgb3B0aW9uLnZhbHVlKTtcblxuICAgIGlmIChpc011bHRpU2VsZWN0KSB7XG4gICAgICBjb25zdCBpc0FjdGl2ZSA9IHZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxDdXN0b21PcHRpb25cbiAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICBhcmlhLXNlbGVjdGVkPXtpc0FjdGl2ZX1cbiAgICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgIGtleT17b3B0aW9uLnZhbHVlfVxuICAgICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgICAgZGlzYWJsZWQ9e29wdGlvbi5kaXNhYmxlZH1cbiAgICAgICAgICBwcmVTZWxlY3RlZD17c2VsZWN0ZWRJbmRleCA9PT0gaW5kZXh9XG4gICAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgICAvLyBzdG9wIGV2ZW50IHByb3BhZ2F0aW9uIHRvIG5vdCBjbG9zZSBtb2RhbCBvbiBzZWxlY3Rpb24gaWYgc2VsZWN0IGlzIHdpdGhpbiBhIE1vZGFsXG4gICAgICAgICAgb25DbGljaz17KGV2dCkgPT4gZXZ0LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICA+XG4gICAgICAgICAgPENoZWNrYm94UmF3XG4gICAgICAgICAgICBuYW1lPVwiXCJcbiAgICAgICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgICBjaGVja2VkPXtpc0FjdGl2ZX1cbiAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgIGxhYmVsPXtvcHRpb24ubGFiZWx9XG4gICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4gbnVsbH1cbiAgICAgICAgICAgIGxhYmVsSGludD17b3B0aW9uPy5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0N1c3RvbU9wdGlvbj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gZWxzZSByZW5kZXIgc2luZ2xlIHNlbGVjdCBpdGVtXG4gICAgY29uc3QgaXNBY3RpdmUgPSB2YWx1ZSA9PT0gb3B0aW9uLnZhbHVlO1xuICAgIGNvbnN0IG9wdGlvblRleHQgPSAoXG4gICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgIDxUZXh0IGNvbG9yPVwicHJpbWFyeVwiIHNpemU9XCJtXCI+XG4gICAgICAgICAge29wdGlvbi5sYWJlbH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgICB7b3B0aW9uLmRlc2NyaXB0aW9uICYmIChcbiAgICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCIgc2l6ZT1cInNcIj5cbiAgICAgICAgICAgIHtvcHRpb24uZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICApfVxuICAgICAgPC9TdGFjaz5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRPcHRpb25cbiAgICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2lzQWN0aXZlfVxuICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIGlkPXtpZH1cbiAgICAgICAga2V5PXtvcHRpb24udmFsdWV9XG4gICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIHByZVNlbGVjdGVkPXtzZWxlY3RlZEluZGV4ID09PSBpbmRleH1cbiAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24odHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7aXNBY3RpdmUgPyAoXG4gICAgICAgICAgPElubGluZSBub1dyYXAgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiPlxuICAgICAgICAgICAge29wdGlvblRleHR9XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT1cInh4eHNcIj5cbiAgICAgICAgICAgICAgPEljb24gbmFtZT1cImNoZWNrXCIgc2l6ZT1cInNcIiBjb2xvcj1cImFjY2VudFwiIC8+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBvcHRpb25UZXh0XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZE9wdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGxpc3RTdHlsZSA9IHtcbiAgICAuLi5vcHRpb25zTGlzdFN0eWxlLFxuICAgIHdpZHRoOlxuICAgICAgb3B0aW9uc0xpc3RXaWR0aCB8fFxuICAgICAgcmVmRm9yUG9zaXRpb25pbmcuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsXG4gIH07XG5cbiAgY29uc3QgbGlzdEVsbSA9IChcbiAgICA8U3R5bGVkRHJvcGRvd25cbiAgICAgIHN0eWxlPXtsaXN0U3R5bGV9XG4gICAgICByZWY9e29wdGlvbnNMaXN0UmVmfVxuICAgICAgLy8gdGhpcyBpcyB0byBwcmV2ZW50IGtub3duIGJ1ZyBvZiBDaHJvbWUgd2hlbiBlbGVtZW50XG4gICAgICAvLyBsb3NlcyBmb2N1cyBvbiBjbGljayBvbiB0aGUgc2Nyb2xsYmFyXG4gICAgICBvbk1vdXNlRG93bj17KGUpID0+IGUucHJldmVudERlZmF1bHQoKX1cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9XCJvcHRpb25zTGlzdFwiXG4gICAgPlxuICAgICAge2lzVmlydHVhbGl6ZWQgPyAoXG4gICAgICAgIDxWaXJ0dWFsU2Nyb2xsTGlzdFxuICAgICAgICAgIGlkPXtnZXRPcHRpb25zTGlzdElkKG5hbWUpfVxuICAgICAgICAgIG1heEhlaWdodD17ZWZmZWN0aXZlTWF4SGVpZ2h0fVxuICAgICAgICAgIGl0ZW1IZWlnaHQ9ezM2fVxuICAgICAgICAgIGl0ZW1BbW91bnQ9e29wdGlvbnMubGVuZ3RofVxuICAgICAgICAgIGVtcHR5U3RhdGU9eygpID0+IG51bGx9XG4gICAgICAgICAgY29udGFpbmVyU3R5bGU9e2Ryb3Bkb3duQ29udGFpbmVyU3R5bGV9XG4gICAgICAgICAgaXRlbUluVmlldz17c2VsZWN0ZWRJbmRleH1cbiAgICAgICAgICBpdGVtVGVtcGxhdGU9e3JlbmRlckl0ZW19XG4gICAgICAgICAgb25Db250ZW50SGVpZ2h0Q2hhbmdlPXtjYWxjdWxhdGVTdHlsZX1cbiAgICAgICAgICByb2xlPVwibGlzdGJveFwiXG4gICAgICAgIC8+XG4gICAgICApIDogKFxuICAgICAgICA8U3R5bGVkTGlzdENvbnRhaW5lclxuICAgICAgICAgIG1heEhlaWdodD17ZWZmZWN0aXZlTWF4SGVpZ2h0fVxuICAgICAgICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICAgICAgICBpZD17Z2V0T3B0aW9uc0xpc3RJZChuYW1lKX1cbiAgICAgICAgICByZWY9e2xpc3RDb250YWluZXJSZWZ9XG4gICAgICAgID5cbiAgICAgICAgICB7b3B0aW9ucy5tYXAoKF9vcHRpb24sIGluZGV4KSA9PiByZW5kZXJJdGVtKGluZGV4KSl9XG4gICAgICAgIDwvU3R5bGVkTGlzdENvbnRhaW5lcj5cbiAgICAgICl9XG4gICAgPC9TdHlsZWREcm9wZG93bj5cbiAgKTtcblxuICBpZiAoIWlzT3Blbikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgbGlzdFBvcnRhbCA9IG9wdGlvbnMubGVuZ3RoID8gKFxuICAgIDxQb3J0YWwgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9PntsaXN0RWxtfTwvUG9ydGFsPlxuICApIDogbnVsbDtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8U2NyZWVuUmVhZGVyVGV4dCByb2xlPVwic3RhdHVzXCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICAgIHshb3B0aW9ucy5sZW5ndGggPyBlbXB0eVN0YXRlTWVzc2FnZSA6IFwiXCJ9XG4gICAgICA8L1NjcmVlblJlYWRlclRleHQ+XG4gICAgICB7bGlzdFBvcnRhbH1cbiAgICA8Lz5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwRTRCIn0= */");function OptionsList({isOpen,isMultiSelect=!1,value,disabled,options,portalContainer,triggerRef,triggerWrapperRef,maxHeight,emptyStateMessage="No options available",selectedIndex,optionsListWidth,isVirtualized=!0,name,onCloseDropdown,onSelectedIndexChange,forceChangeFakeSelect}){let optionsListRef=(0,_react.useRef)(null),listContainerRef=(0,_react.useRef)(null),listItemsRef=(0,_react.useRef)(null),refForPositioning=triggerWrapperRef||triggerRef,activeItemIndex=(0,_react.useMemo)(()=>options.findIndex(option=>isMultiSelect?value.includes(option.value):option.value===value),[options,isMultiSelect,value]),{menuStyle:optionsListStyle,calculateStyle}=(0,_usePopupMenu.usePopupMenu)({triggerRef:refForPositioning,menuRef:optionsListRef,isOpen}),win=(0,_useWindow.useWindow)(),{variables}=(0,_react1.useTheme)(),effectiveMaxHeight=(0,_react.useMemo)(()=>{if(!win||!optionsListStyle.top)return maxHeight;let menuViewportMargin=parseInt(variables.size.spacing.xs,10),menuTopInViewport=optionsListStyle.top-(win.scrollY??0),spaceBelow=win.innerHeight-menuTopInViewport-menuViewportMargin;return!Number.isFinite(spaceBelow)||spaceBelow<=0?maxHeight:maxHeight?Math.min(maxHeight,spaceBelow):spaceBelow},[maxHeight,optionsListStyle,win,variables]);(0,_react.useLayoutEffect)(()=>{if(isOpen&&listContainerRef.current&&!isVirtualized&&optionsListStyle.top){let listElm=listContainerRef.current;listElm.clientHeight<listElm.scrollHeight&&(listItemsRef.current=listElm.querySelectorAll("[data-list-item]"),scrollToItem({list:listItemsRef.current,itemIndex:activeItemIndex,behavior:"instant"}))}else listItemsRef.current=null},[isOpen,isVirtualized,listContainerRef,options,maxHeight,optionsListStyle,activeItemIndex]),(0,_react.useEffect)(()=>{listItemsRef.current&&scrollToItem({list:listItemsRef.current,itemIndex:selectedIndex,behavior:"smooth"})},[listItemsRef,selectedIndex]),(0,_useKeyboard.useKeyboard)({Escape:()=>onCloseDropdown(!0),Enter:()=>{let preselectedOption=options[selectedIndex];if(!preselectedOption?.disabled){if(preselectedOption){forceChangeFakeSelect(preselectedOption),isMultiSelect||onCloseDropdown(!0);return}isMultiSelect||onCloseDropdown()}},ArrowUp:()=>{let newIndex=-1===selectedIndex?activeItemIndex:selectedIndex;for(;newIndex>0&&(newIndex-=1,options[newIndex]?.disabled););options[newIndex]?.disabled||onSelectedIndexChange(newIndex)},ArrowDown:()=>{let newIndex=-1===selectedIndex?activeItemIndex:selectedIndex;for(;newIndex<options.length-1&&(newIndex+=1,options[newIndex]?.disabled););options[newIndex]?.disabled||onSelectedIndexChange(newIndex)}},triggerRef,isOpen&&!disabled);let renderItem=index=>{let option=options[index],id=getOptionId(name,option.value);if(isMultiSelect){let isActive=value.includes(option.value);return _react.default.createElement(CustomOption,{role:"option","aria-selected":isActive,"aria-disabled":option.disabled,id:id,key:option.value,active:isActive,disabled:option.disabled,preSelected:selectedIndex===index,"data-list-item":!0,onMouseDown:()=>{option.disabled||forceChangeFakeSelect(option)},onClick:evt=>evt.stopPropagation()},_react.default.createElement(_Checkbox.CheckboxRaw,{name:"",disabled:option.disabled,checked:isActive,size:"s",label:option.label,onChange:()=>null,labelHint:option?.description}))}let isActive=value===option.value,optionText=_react.default.createElement(_Stack.Stack,{space:"zero"},_react.default.createElement(_Text.Text,{color:"primary",size:"m"},option.label),option.description&&_react.default.createElement(_Text.Text,{color:"tertiary",size:"s"},option.description));return _react.default.createElement(_StyledSelectComponents.StyledOption,{role:"option","aria-selected":isActive,"aria-disabled":option.disabled,id:id,key:option.value,active:isActive,disabled:option.disabled,preSelected:selectedIndex===index,"data-list-item":!0,onMouseDown:()=>{option.disabled||(forceChangeFakeSelect(option),onCloseDropdown(!0))}},isActive?_react.default.createElement(_Inline.Inline,{noWrap:!0,alignItems:"spaceBetween"},optionText,_react.default.createElement(_Box.Box,{space:"zero",tSpace:"xxxs"},_react.default.createElement(_Icon.Icon,{name:"check",size:"s",color:"accent"}))):optionText)},listStyle={...optionsListStyle,width:optionsListWidth||refForPositioning.current?.getBoundingClientRect().width},listElm=_react.default.createElement(_StyledSelectComponents.StyledDropdown,{style:listStyle,ref:optionsListRef,onMouseDown:e=>e.preventDefault(),"data-e2e-test-id":"optionsList"},isVirtualized?_react.default.createElement(_VirtualScrollList.VirtualScrollList,{id:getOptionsListId(name),maxHeight:effectiveMaxHeight,itemHeight:36,itemAmount:options.length,emptyState:()=>null,containerStyle:_constants.dropdownContainerStyle,itemInView:selectedIndex,itemTemplate:renderItem,onContentHeightChange:calculateStyle,role:"listbox"}):_react.default.createElement(StyledListContainer,{maxHeight:effectiveMaxHeight,role:"listbox",id:getOptionsListId(name),ref:listContainerRef},options.map((_option,index)=>renderItem(index))));if(!isOpen)return null;let listPortal=options.length?_react.default.createElement(_Portal.Portal,{portalContainer:portalContainer},listElm):null;return _react.default.createElement(_react.default.Fragment,null,_react.default.createElement(_ScreenReaderText.ScreenReaderText,{role:"status","aria-live":"polite"},options.length?"":emptyStateMessage),listPortal)}
|