@amboss/design-system 3.10.1 → 3.11.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/EntityList/BaseEntityList.js +1 -1
- package/build/cjs/components/EntityList/EntityListItem.js +1 -1
- package/build/cjs/components/Form/FormField/FormField.js +1 -1
- package/build/cjs/components/MediaItem/MediaItem.js +1 -1
- package/build/cjs/components/MediaViewerCarousel/CarouselThumbnail/CarouselThumbnail.js +1 -1
- package/build/cjs/components/Patterns/Modal/Modal.d.ts +3 -1
- package/build/cjs/components/Patterns/Modal/Modal.js +3 -3
- package/build/cjs/components/PromptInput/AutocompleteList.d.ts +13 -0
- package/build/cjs/components/PromptInput/AutocompleteList.js +1 -0
- package/build/cjs/components/PromptInput/CategoryList.d.ts +25 -0
- package/build/cjs/components/PromptInput/CategoryList.js +1 -0
- package/build/cjs/components/PromptInput/PromptInput.d.ts +45 -0
- package/build/cjs/components/PromptInput/PromptInput.js +1 -0
- package/build/cjs/components/PromptInput/PromptTextArea.d.ts +26 -0
- package/build/cjs/components/PromptInput/PromptTextArea.js +1 -0
- package/build/cjs/components/Toggletip/BasePopover.js +1 -1
- package/build/cjs/components/Tooltip/TooltipContent.d.ts +4 -2
- package/build/cjs/components/Tooltip/TooltipContent.js +1 -1
- package/build/cjs/index.d.ts +1 -0
- package/build/cjs/index.js +1 -1
- package/build/cjs/web-tokens/assets/icons.json +1 -0
- package/build/cjs/web-tokens/assets/icons16.json +1 -0
- package/build/esm/components/EntityList/BaseEntityList.js +1 -1
- package/build/esm/components/EntityList/EntityListItem.js +1 -1
- package/build/esm/components/Form/FormField/FormField.js +1 -1
- package/build/esm/components/MediaItem/MediaItem.js +1 -1
- package/build/esm/components/MediaViewerCarousel/CarouselThumbnail/CarouselThumbnail.js +1 -1
- package/build/esm/components/Patterns/Modal/Modal.d.ts +3 -1
- package/build/esm/components/Patterns/Modal/Modal.js +3 -3
- package/build/esm/components/PromptInput/AutocompleteList.d.ts +13 -0
- package/build/esm/components/PromptInput/AutocompleteList.js +1 -0
- package/build/esm/components/PromptInput/CategoryList.d.ts +25 -0
- package/build/esm/components/PromptInput/CategoryList.js +1 -0
- package/build/esm/components/PromptInput/PromptInput.d.ts +45 -0
- package/build/esm/components/PromptInput/PromptInput.js +1 -0
- package/build/esm/components/PromptInput/PromptTextArea.d.ts +26 -0
- package/build/esm/components/PromptInput/PromptTextArea.js +1 -0
- package/build/esm/components/Toggletip/BasePopover.js +1 -1
- package/build/esm/components/Tooltip/TooltipContent.d.ts +4 -2
- package/build/esm/components/Tooltip/TooltipContent.js +1 -1
- package/build/esm/index.d.ts +1 -0
- package/build/esm/index.js +1 -1
- package/build/esm/web-tokens/assets/icons.json +1 -0
- package/build/esm/web-tokens/assets/icons16.json +1 -0
- package/package.json +13 -7
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ReactElement, RefObject } from "react";
|
|
2
|
+
import { type FlattenedListItem, type ListItemsByCategory, type CategoryListProps } from "./CategoryList";
|
|
3
|
+
import { type PortalProps } from "../Portal/Portal";
|
|
4
|
+
import type { PromptTextAreaProps } from "./PromptTextArea";
|
|
5
|
+
export type AutocompleteListProps = {
|
|
6
|
+
autocompleteListItems?: ListItemsByCategory[];
|
|
7
|
+
triggerRef: RefObject<HTMLDivElement>;
|
|
8
|
+
selectedListItem?: FlattenedListItem;
|
|
9
|
+
isOpen: boolean;
|
|
10
|
+
autocompleteListFooter?: ReactElement;
|
|
11
|
+
} & Pick<CategoryListProps, "onListItemClick"> & Pick<PromptTextAreaProps, "name" | "value"> & Pick<PortalProps, "portalContainer">;
|
|
12
|
+
export declare function getAutocompleteListId(name: string): string;
|
|
13
|
+
export declare function AutocompleteList({ name, value, autocompleteListItems, triggerRef, portalContainer, selectedListItem, isOpen, autocompleteListFooter, onListItemClick, }: AutocompleteListProps): ReactElement;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import React,{useEffect,useRef}from"react";import styled from"@emotion/styled";import{Box}from"../Box/Box";import{Stack}from"../Stack/Stack";import{CategoryList}from"./CategoryList";import{Container}from"../Container";import{usePopupMenu}from"../../shared/popupMenu/usePopupMenu";import{Portal,usePortalChildZIndex}from"../Portal/Portal";import{Inline}from"../Inline/Inline";export function getAutocompleteListId(name){return`${name}_AutocompleteList`}let StyledContainer=styled("div",{target:"e1ksc4t0",label:"StyledContainer"})(({theme})=>({position:"absolute",zIndex:usePortalChildZIndex(theme.variables.zIndex.dropdown)}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvQXV0b2NvbXBsZXRlTGlzdC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Byb21wdElucHV0L0F1dG9jb21wbGV0ZUxpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3RFbGVtZW50LCBSZWZPYmplY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBCb3ggfSBmcm9tIFwiLi4vQm94L0JveFwiO1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tIFwiLi4vU3RhY2svU3RhY2tcIjtcbmltcG9ydCB7XG4gIHR5cGUgRmxhdHRlbmVkTGlzdEl0ZW0sXG4gIENhdGVnb3J5TGlzdCxcbiAgdHlwZSBMaXN0SXRlbXNCeUNhdGVnb3J5LFxuICB0eXBlIENhdGVnb3J5TGlzdFByb3BzLFxufSBmcm9tIFwiLi9DYXRlZ29yeUxpc3RcIjtcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gXCIuLi9Db250YWluZXJcIjtcbmltcG9ydCB7IHVzZVBvcHVwTWVudSB9IGZyb20gXCIuLi8uLi9zaGFyZWQvcG9wdXBNZW51L3VzZVBvcHVwTWVudVwiO1xuaW1wb3J0IHtcbiAgUG9ydGFsLFxuICB0eXBlIFBvcnRhbFByb3BzLFxuICB1c2VQb3J0YWxDaGlsZFpJbmRleCxcbn0gZnJvbSBcIi4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IFByb21wdFRleHRBcmVhUHJvcHMgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuXG5leHBvcnQgdHlwZSBBdXRvY29tcGxldGVMaXN0UHJvcHMgPSB7XG4gIGF1dG9jb21wbGV0ZUxpc3RJdGVtcz86IExpc3RJdGVtc0J5Q2F0ZWdvcnlbXTtcbiAgdHJpZ2dlclJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgc2VsZWN0ZWRMaXN0SXRlbT86IEZsYXR0ZW5lZExpc3RJdGVtO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGF1dG9jb21wbGV0ZUxpc3RGb290ZXI/OiBSZWFjdEVsZW1lbnQ7XG59ICYgUGljazxDYXRlZ29yeUxpc3RQcm9wcywgXCJvbkxpc3RJdGVtQ2xpY2tcIj4gJlxuICBQaWNrPFByb21wdFRleHRBcmVhUHJvcHMsIFwibmFtZVwiIHwgXCJ2YWx1ZVwiPiAmXG4gIFBpY2s8UG9ydGFsUHJvcHMsIFwicG9ydGFsQ29udGFpbmVyXCI+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXV0b2NvbXBsZXRlTGlzdElkKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtuYW1lfV9BdXRvY29tcGxldGVMaXN0YDtcbn1cblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiB7XG4gIGNvbnN0IHpJbmRleCA9IHVzZVBvcnRhbENoaWxkWkluZGV4KHRoZW1lLnZhcmlhYmxlcy56SW5kZXguZHJvcGRvd24pO1xuXG4gIHJldHVybiB7XG4gICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICB6SW5kZXgsXG4gIH07XG59KTtcblxuY29uc3QgU3R5bGVkTGlzdENvbnRhaW5lciA9IHN0eWxlZC5kaXYoKHsgdGhlbWUgfSkgPT4gKHtcbiAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuY2FudmFzLFxuICBib3JkZXJSYWRpdXM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmJvcmRlclJhZGl1cy5zLFxufSkpO1xuXG5leHBvcnQgZnVuY3Rpb24gQXV0b2NvbXBsZXRlTGlzdCh7XG4gIG5hbWUsXG4gIHZhbHVlLFxuICBhdXRvY29tcGxldGVMaXN0SXRlbXMsXG4gIHRyaWdnZXJSZWYsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgc2VsZWN0ZWRMaXN0SXRlbSxcbiAgaXNPcGVuLFxuICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyLFxuICBvbkxpc3RJdGVtQ2xpY2ssXG59OiBBdXRvY29tcGxldGVMaXN0UHJvcHMpOiBSZWFjdEVsZW1lbnQge1xuICBjb25zdCBtZW51UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcblxuICBjb25zdCB7IG1lbnVTdHlsZSwgY2FsY3VsYXRlU3R5bGUgfSA9IHVzZVBvcHVwTWVudSh7XG4gICAgdHJpZ2dlclJlZixcbiAgICBtZW51UmVmLFxuICAgIGlzT3BlbixcbiAgfSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICBjYWxjdWxhdGVTdHlsZSgpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBjYWxjdWxhdGVTdHlsZSwgaXNPcGVuXSk7XG5cbiAgY29uc3QgbGlzdHMgPSBhdXRvY29tcGxldGVMaXN0SXRlbXMubWFwKChsaXN0SXRlbSkgPT4gKFxuICAgIDxDYXRlZ29yeUxpc3RcbiAgICAgIG5hbWU9e25hbWV9XG4gICAgICBrZXk9e2xpc3RJdGVtLmNhdGVnb3J5fVxuICAgICAgey4uLmxpc3RJdGVtfVxuICAgICAgc2VsZWN0ZWRMaXN0SXRlbT17c2VsZWN0ZWRMaXN0SXRlbX1cbiAgICAgIG9uTGlzdEl0ZW1DbGljaz17b25MaXN0SXRlbUNsaWNrfVxuICAgIC8+XG4gICkpO1xuXG4gIGNvbnN0IGxpc3RTdHlsZSA9IHtcbiAgICAuLi5tZW51U3R5bGUsXG4gICAgd2lkdGg6IHRyaWdnZXJSZWYuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsXG4gIH07XG5cbiAgY29uc3QgbGlzdEVsbSA9IChcbiAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICByZWY9e21lbnVSZWZ9XG4gICAgICBzdHlsZT17bGlzdFN0eWxlfVxuICAgICAgaWQ9e2dldEF1dG9jb21wbGV0ZUxpc3RJZChuYW1lKX1cbiAgICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICA+XG4gICAgICA8Q29udGFpbmVyPlxuICAgICAgICA8Qm94IHNwYWNlPVwieHhzXCI+XG4gICAgICAgICAgPFN0eWxlZExpc3RDb250YWluZXI+XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwieHNcIiB2U3BhY2U9XCJzXCI+XG4gICAgICAgICAgICAgIDxTdGFjayBzcGFjZT1cInhzXCI+XG4gICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPVwic1wiPntsaXN0c308L1N0YWNrPlxuICAgICAgICAgICAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPnthdXRvY29tcGxldGVMaXN0Rm9vdGVyfTwvSW5saW5lPlxuICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgPC9TdHlsZWRMaXN0Q29udGFpbmVyPlxuICAgICAgICA8L0JveD5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICApO1xuXG4gIHJldHVybiBpc09wZW4gPyAoXG4gICAgPFBvcnRhbCBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn0+e2xpc3RFbG19PC9Qb3J0YWw+XG4gICkgOiBudWxsO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1Dd0IifQ== */"),StyledListContainer=styled("div",{target:"e1ksc4t1",label:"StyledListContainer"})(({theme})=>({backgroundColor:theme.values.color.canvas,borderRadius:theme.variables.size.borderRadius.s}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvQXV0b2NvbXBsZXRlTGlzdC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Byb21wdElucHV0L0F1dG9jb21wbGV0ZUxpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3RFbGVtZW50LCBSZWZPYmplY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBCb3ggfSBmcm9tIFwiLi4vQm94L0JveFwiO1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tIFwiLi4vU3RhY2svU3RhY2tcIjtcbmltcG9ydCB7XG4gIHR5cGUgRmxhdHRlbmVkTGlzdEl0ZW0sXG4gIENhdGVnb3J5TGlzdCxcbiAgdHlwZSBMaXN0SXRlbXNCeUNhdGVnb3J5LFxuICB0eXBlIENhdGVnb3J5TGlzdFByb3BzLFxufSBmcm9tIFwiLi9DYXRlZ29yeUxpc3RcIjtcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gXCIuLi9Db250YWluZXJcIjtcbmltcG9ydCB7IHVzZVBvcHVwTWVudSB9IGZyb20gXCIuLi8uLi9zaGFyZWQvcG9wdXBNZW51L3VzZVBvcHVwTWVudVwiO1xuaW1wb3J0IHtcbiAgUG9ydGFsLFxuICB0eXBlIFBvcnRhbFByb3BzLFxuICB1c2VQb3J0YWxDaGlsZFpJbmRleCxcbn0gZnJvbSBcIi4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IFByb21wdFRleHRBcmVhUHJvcHMgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuXG5leHBvcnQgdHlwZSBBdXRvY29tcGxldGVMaXN0UHJvcHMgPSB7XG4gIGF1dG9jb21wbGV0ZUxpc3RJdGVtcz86IExpc3RJdGVtc0J5Q2F0ZWdvcnlbXTtcbiAgdHJpZ2dlclJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgc2VsZWN0ZWRMaXN0SXRlbT86IEZsYXR0ZW5lZExpc3RJdGVtO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGF1dG9jb21wbGV0ZUxpc3RGb290ZXI/OiBSZWFjdEVsZW1lbnQ7XG59ICYgUGljazxDYXRlZ29yeUxpc3RQcm9wcywgXCJvbkxpc3RJdGVtQ2xpY2tcIj4gJlxuICBQaWNrPFByb21wdFRleHRBcmVhUHJvcHMsIFwibmFtZVwiIHwgXCJ2YWx1ZVwiPiAmXG4gIFBpY2s8UG9ydGFsUHJvcHMsIFwicG9ydGFsQ29udGFpbmVyXCI+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXV0b2NvbXBsZXRlTGlzdElkKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtuYW1lfV9BdXRvY29tcGxldGVMaXN0YDtcbn1cblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiB7XG4gIGNvbnN0IHpJbmRleCA9IHVzZVBvcnRhbENoaWxkWkluZGV4KHRoZW1lLnZhcmlhYmxlcy56SW5kZXguZHJvcGRvd24pO1xuXG4gIHJldHVybiB7XG4gICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICB6SW5kZXgsXG4gIH07XG59KTtcblxuY29uc3QgU3R5bGVkTGlzdENvbnRhaW5lciA9IHN0eWxlZC5kaXYoKHsgdGhlbWUgfSkgPT4gKHtcbiAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuY2FudmFzLFxuICBib3JkZXJSYWRpdXM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmJvcmRlclJhZGl1cy5zLFxufSkpO1xuXG5leHBvcnQgZnVuY3Rpb24gQXV0b2NvbXBsZXRlTGlzdCh7XG4gIG5hbWUsXG4gIHZhbHVlLFxuICBhdXRvY29tcGxldGVMaXN0SXRlbXMsXG4gIHRyaWdnZXJSZWYsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgc2VsZWN0ZWRMaXN0SXRlbSxcbiAgaXNPcGVuLFxuICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyLFxuICBvbkxpc3RJdGVtQ2xpY2ssXG59OiBBdXRvY29tcGxldGVMaXN0UHJvcHMpOiBSZWFjdEVsZW1lbnQge1xuICBjb25zdCBtZW51UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcblxuICBjb25zdCB7IG1lbnVTdHlsZSwgY2FsY3VsYXRlU3R5bGUgfSA9IHVzZVBvcHVwTWVudSh7XG4gICAgdHJpZ2dlclJlZixcbiAgICBtZW51UmVmLFxuICAgIGlzT3BlbixcbiAgfSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICBjYWxjdWxhdGVTdHlsZSgpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBjYWxjdWxhdGVTdHlsZSwgaXNPcGVuXSk7XG5cbiAgY29uc3QgbGlzdHMgPSBhdXRvY29tcGxldGVMaXN0SXRlbXMubWFwKChsaXN0SXRlbSkgPT4gKFxuICAgIDxDYXRlZ29yeUxpc3RcbiAgICAgIG5hbWU9e25hbWV9XG4gICAgICBrZXk9e2xpc3RJdGVtLmNhdGVnb3J5fVxuICAgICAgey4uLmxpc3RJdGVtfVxuICAgICAgc2VsZWN0ZWRMaXN0SXRlbT17c2VsZWN0ZWRMaXN0SXRlbX1cbiAgICAgIG9uTGlzdEl0ZW1DbGljaz17b25MaXN0SXRlbUNsaWNrfVxuICAgIC8+XG4gICkpO1xuXG4gIGNvbnN0IGxpc3RTdHlsZSA9IHtcbiAgICAuLi5tZW51U3R5bGUsXG4gICAgd2lkdGg6IHRyaWdnZXJSZWYuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsXG4gIH07XG5cbiAgY29uc3QgbGlzdEVsbSA9IChcbiAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICByZWY9e21lbnVSZWZ9XG4gICAgICBzdHlsZT17bGlzdFN0eWxlfVxuICAgICAgaWQ9e2dldEF1dG9jb21wbGV0ZUxpc3RJZChuYW1lKX1cbiAgICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICA+XG4gICAgICA8Q29udGFpbmVyPlxuICAgICAgICA8Qm94IHNwYWNlPVwieHhzXCI+XG4gICAgICAgICAgPFN0eWxlZExpc3RDb250YWluZXI+XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwieHNcIiB2U3BhY2U9XCJzXCI+XG4gICAgICAgICAgICAgIDxTdGFjayBzcGFjZT1cInhzXCI+XG4gICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPVwic1wiPntsaXN0c308L1N0YWNrPlxuICAgICAgICAgICAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPnthdXRvY29tcGxldGVMaXN0Rm9vdGVyfTwvSW5saW5lPlxuICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgPC9TdHlsZWRMaXN0Q29udGFpbmVyPlxuICAgICAgICA8L0JveD5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICApO1xuXG4gIHJldHVybiBpc09wZW4gPyAoXG4gICAgPFBvcnRhbCBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn0+e2xpc3RFbG19PC9Qb3J0YWw+XG4gICkgOiBudWxsO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRDNEIifQ== */");export function AutocompleteList({name,value,autocompleteListItems,triggerRef,portalContainer,selectedListItem,isOpen,autocompleteListFooter,onListItemClick}){let menuRef=useRef(null),{menuStyle,calculateStyle}=usePopupMenu({triggerRef,menuRef,isOpen});useEffect(()=>{isOpen&&calculateStyle()},[value,calculateStyle,isOpen]);let lists=autocompleteListItems.map(listItem=>React.createElement(CategoryList,{name:name,key:listItem.category,...listItem,selectedListItem:selectedListItem,onListItemClick:onListItemClick})),listStyle={...menuStyle,width:triggerRef.current?.getBoundingClientRect().width},listElm=React.createElement(StyledContainer,{ref:menuRef,style:listStyle,id:getAutocompleteListId(name),role:"listbox"},React.createElement(Container,null,React.createElement(Box,{space:"xxs"},React.createElement(StyledListContainer,null,React.createElement(Box,{space:"xs",vSpace:"s"},React.createElement(Stack,{space:"xs"},React.createElement(Stack,{space:"s"},lists),React.createElement(Inline,{alignItems:"center"},autocompleteListFooter)))))));return isOpen?React.createElement(Portal,{portalContainer:portalContainer},listElm):null}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ReactElement, ReactNode } from "react";
|
|
2
|
+
import type { IconProps } from "../Icon/Icon";
|
|
3
|
+
export type ListItemProps = {
|
|
4
|
+
iconLeft?: IconProps;
|
|
5
|
+
label: ReactElement;
|
|
6
|
+
value: string;
|
|
7
|
+
};
|
|
8
|
+
export type ListItemsByCategory = {
|
|
9
|
+
category: string;
|
|
10
|
+
iconLeft?: IconProps;
|
|
11
|
+
rightContent?: ReactNode;
|
|
12
|
+
items: ListItemProps[];
|
|
13
|
+
};
|
|
14
|
+
export type FlattenedListItem = {
|
|
15
|
+
category: ListItemsByCategory["category"];
|
|
16
|
+
value: ListItemProps["value"];
|
|
17
|
+
id: string;
|
|
18
|
+
};
|
|
19
|
+
export type CategoryListProps = ListItemsByCategory & {
|
|
20
|
+
name: string;
|
|
21
|
+
selectedListItem?: FlattenedListItem;
|
|
22
|
+
onListItemClick: (category: string, value: string) => void;
|
|
23
|
+
};
|
|
24
|
+
export declare function getListItemId(name: string, category: string, index: number): string;
|
|
25
|
+
export declare function CategoryList({ name, category, iconLeft, rightContent, items, selectedListItem, onListItemClick, }: CategoryListProps): ReactElement;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import React,{Fragment}from"react";import styled from"@emotion/styled";import{H6}from"../Typography/Header";import{Icon}from"../Icon/Icon";import{Text}from"../Typography/Text";import{Columns,Column}from"../Column/Columns";import{Stack}from"../Stack/Stack";import{Container}from"../Container";import{Divider}from"../Divider/Divider";export function getListItemId(name,category,index){return`${name}_${category}_ListItem${index}`}let StyledIconLeft=styled(Icon,{target:"eetu9430",label:"StyledIconLeft"})(({theme})=>({marginRight:theme.variables.size.spacing.xs}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvQ2F0ZWdvcnlMaXN0LnRzeCIsInNvdXJjZXMiOlsic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvQ2F0ZWdvcnlMaXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0RWxlbWVudCwgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgRnJhZ21lbnQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgSDYgfSBmcm9tIFwiLi4vVHlwb2dyYXBoeS9IZWFkZXJcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiLi4vSWNvbi9JY29uXCI7XG5pbXBvcnQgdHlwZSB7IEljb25Qcm9wcyB9IGZyb20gXCIuLi9JY29uL0ljb25cIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiLi4vVHlwb2dyYXBoeS9UZXh0XCI7XG5pbXBvcnQgeyBDb2x1bW5zLCBDb2x1bW4gfSBmcm9tIFwiLi4vQ29sdW1uL0NvbHVtbnNcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vQ29udGFpbmVyXCI7XG5pbXBvcnQgeyBEaXZpZGVyIH0gZnJvbSBcIi4uL0RpdmlkZXIvRGl2aWRlclwiO1xuXG5leHBvcnQgdHlwZSBMaXN0SXRlbVByb3BzID0ge1xuICBpY29uTGVmdD86IEljb25Qcm9wcztcbiAgbGFiZWw6IFJlYWN0RWxlbWVudDtcbiAgdmFsdWU6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIExpc3RJdGVtc0J5Q2F0ZWdvcnkgPSB7XG4gIGNhdGVnb3J5OiBzdHJpbmc7XG4gIGljb25MZWZ0PzogSWNvblByb3BzO1xuICByaWdodENvbnRlbnQ/OiBSZWFjdE5vZGU7XG4gIGl0ZW1zOiBMaXN0SXRlbVByb3BzW107XG59O1xuXG5leHBvcnQgdHlwZSBGbGF0dGVuZWRMaXN0SXRlbSA9IHtcbiAgY2F0ZWdvcnk6IExpc3RJdGVtc0J5Q2F0ZWdvcnlbXCJjYXRlZ29yeVwiXTtcbiAgdmFsdWU6IExpc3RJdGVtUHJvcHNbXCJ2YWx1ZVwiXTtcbiAgaWQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIENhdGVnb3J5TGlzdFByb3BzID0gTGlzdEl0ZW1zQnlDYXRlZ29yeSAmIHtcbiAgbmFtZTogc3RyaW5nO1xuICBzZWxlY3RlZExpc3RJdGVtPzogRmxhdHRlbmVkTGlzdEl0ZW07XG4gIG9uTGlzdEl0ZW1DbGljazogKGNhdGVnb3J5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGlzdEl0ZW1JZChcbiAgbmFtZTogc3RyaW5nLFxuICBjYXRlZ29yeTogc3RyaW5nLFxuICBpbmRleDogbnVtYmVyXG4pOiBzdHJpbmcge1xuICByZXR1cm4gYCR7bmFtZX1fJHtjYXRlZ29yeX1fTGlzdEl0ZW0ke2luZGV4fWA7XG59XG5cbmNvbnN0IFN0eWxlZEljb25MZWZ0ID0gc3R5bGVkKEljb24pKCh7IHRoZW1lIH0pID0+ICh7XG4gIG1hcmdpblJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzLFxufSkpO1xuXG50eXBlIFN0eWxlZExpc3RJdGVtUHJvcHMgPSB7XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG59O1xuXG5jb25zdCBTdHlsZWRMaXN0SXRlbSA9IHN0eWxlZC5kaXY8U3R5bGVkTGlzdEl0ZW1Qcm9wcz4oXG4gICh7IHRoZW1lLCBpc1NlbGVjdGVkIH0pID0+ICh7XG4gICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm19YCxcbiAgICBjdXJzb3I6IFwicG9pbnRlclwiLFxuXG4gICAgXCImOmhvdmVyXCI6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQudHJhbnNwYXJlbnQuaG92ZXIsXG4gICAgfSxcblxuICAgIC4uLihpc1NlbGVjdGVkICYmIHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQudHJhbnNwYXJlbnQuaG92ZXIsXG4gICAgfSksXG4gIH0pXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gQ2F0ZWdvcnlMaXN0KHtcbiAgbmFtZSxcbiAgY2F0ZWdvcnksXG4gIGljb25MZWZ0LFxuICByaWdodENvbnRlbnQsXG4gIGl0ZW1zLFxuICBzZWxlY3RlZExpc3RJdGVtLFxuICBvbkxpc3RJdGVtQ2xpY2ssXG59OiBDYXRlZ29yeUxpc3RQcm9wcyk6IFJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IGxpc3RJdGVtcyA9IGl0ZW1zLm1hcChcbiAgICAoeyBsYWJlbCwgdmFsdWUsIGljb25MZWZ0OiBpdGVtSWNvbkxlZnQgfSwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IGxlZnRDb250ZW50ID0gKFxuICAgICAgICA8VGV4dD5cbiAgICAgICAgICB7aWNvbkxlZnQgJiYgKFxuICAgICAgICAgICAgPFN0eWxlZEljb25MZWZ0XG4gICAgICAgICAgICAgIHsuLi4oaXRlbUljb25MZWZ0IHx8IGljb25MZWZ0KX1cbiAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICBjb2xvcj1cInRlcnRpYXJ5XCJcbiAgICAgICAgICAgICAgaW5saW5lXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L1RleHQ+XG4gICAgICApO1xuICAgICAgY29uc3QgY29udGVudCA9IHJpZ2h0Q29udGVudCA/IChcbiAgICAgICAgPENvbHVtbnM+XG4gICAgICAgICAgPENvbHVtbj57bGVmdENvbnRlbnR9PC9Db2x1bW4+XG4gICAgICAgICAgPENvbHVtbiBzaXplPVwibmFycm93XCI+e3JpZ2h0Q29udGVudH08L0NvbHVtbj5cbiAgICAgICAgPC9Db2x1bW5zPlxuICAgICAgKSA6IChcbiAgICAgICAgbGVmdENvbnRlbnRcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPVxuICAgICAgICBzZWxlY3RlZExpc3RJdGVtICYmXG4gICAgICAgIHNlbGVjdGVkTGlzdEl0ZW0uY2F0ZWdvcnkgPT09IGNhdGVnb3J5ICYmXG4gICAgICAgIHNlbGVjdGVkTGlzdEl0ZW0udmFsdWUgPT09IHZhbHVlO1xuXG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9uby1hcnJheS1pbmRleC1rZXkgKi9cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGcmFnbWVudCBrZXk9e2luZGV4fT5cbiAgICAgICAgICA8U3R5bGVkTGlzdEl0ZW1cbiAgICAgICAgICAgIGlkPXtnZXRMaXN0SXRlbUlkKG5hbWUsIGNhdGVnb3J5LCBpbmRleCl9XG4gICAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e2lzU2VsZWN0ZWR9XG4gICAgICAgICAgICBhcmlhLXNlbGVjdGVkPXtpc1NlbGVjdGVkfVxuICAgICAgICAgICAgb25Qb2ludGVyRG93bj17KGV2dCkgPT4gZXZ0LnByZXZlbnREZWZhdWx0KCl9IC8vIG5lZWRlZCB0byBhdm9pZCBmb2N1cyBjaGFuZ2VcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uTGlzdEl0ZW1DbGljayhjYXRlZ29yeSwgdmFsdWUpfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtjb250ZW50fVxuICAgICAgICAgIDwvU3R5bGVkTGlzdEl0ZW0+XG4gICAgICAgICAge2luZGV4ICE9PSBpdGVtcy5sZW5ndGggLSAxICYmIDxEaXZpZGVyIC8+fVxuICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgKTtcbiAgICAgIC8qIGVzbGludC1lbmFibGUgcmVhY3Qvbm8tYXJyYXktaW5kZXgta2V5ICovXG4gICAgfVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFN0YWNrIHNwYWNlPVwic1wiPlxuICAgICAgPEg2IGFzPVwiZGl2XCI+e2NhdGVnb3J5fTwvSDY+XG4gICAgICA8Q29udGFpbmVyIGVsZXZhdGlvbj17MH0gYm9yZGVyUmFkaXVzPVwic1wiPlxuICAgICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+e2xpc3RJdGVtc308L1N0YWNrPlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9TdGFjaz5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2Q3VCIn0= */"),StyledListItem=styled("div",{target:"eetu9431",label:"StyledListItem"})(({theme,isSelected})=>({padding:`${theme.variables.size.spacing.xs} ${theme.variables.size.spacing.m}`,cursor:"pointer","&:hover":{backgroundColor:theme.values.color.background.transparent.hover},...isSelected&&{backgroundColor:theme.values.color.background.transparent.hover}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvQ2F0ZWdvcnlMaXN0LnRzeCIsInNvdXJjZXMiOlsic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvQ2F0ZWdvcnlMaXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0RWxlbWVudCwgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgRnJhZ21lbnQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgSDYgfSBmcm9tIFwiLi4vVHlwb2dyYXBoeS9IZWFkZXJcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiLi4vSWNvbi9JY29uXCI7XG5pbXBvcnQgdHlwZSB7IEljb25Qcm9wcyB9IGZyb20gXCIuLi9JY29uL0ljb25cIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiLi4vVHlwb2dyYXBoeS9UZXh0XCI7XG5pbXBvcnQgeyBDb2x1bW5zLCBDb2x1bW4gfSBmcm9tIFwiLi4vQ29sdW1uL0NvbHVtbnNcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vQ29udGFpbmVyXCI7XG5pbXBvcnQgeyBEaXZpZGVyIH0gZnJvbSBcIi4uL0RpdmlkZXIvRGl2aWRlclwiO1xuXG5leHBvcnQgdHlwZSBMaXN0SXRlbVByb3BzID0ge1xuICBpY29uTGVmdD86IEljb25Qcm9wcztcbiAgbGFiZWw6IFJlYWN0RWxlbWVudDtcbiAgdmFsdWU6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIExpc3RJdGVtc0J5Q2F0ZWdvcnkgPSB7XG4gIGNhdGVnb3J5OiBzdHJpbmc7XG4gIGljb25MZWZ0PzogSWNvblByb3BzO1xuICByaWdodENvbnRlbnQ/OiBSZWFjdE5vZGU7XG4gIGl0ZW1zOiBMaXN0SXRlbVByb3BzW107XG59O1xuXG5leHBvcnQgdHlwZSBGbGF0dGVuZWRMaXN0SXRlbSA9IHtcbiAgY2F0ZWdvcnk6IExpc3RJdGVtc0J5Q2F0ZWdvcnlbXCJjYXRlZ29yeVwiXTtcbiAgdmFsdWU6IExpc3RJdGVtUHJvcHNbXCJ2YWx1ZVwiXTtcbiAgaWQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIENhdGVnb3J5TGlzdFByb3BzID0gTGlzdEl0ZW1zQnlDYXRlZ29yeSAmIHtcbiAgbmFtZTogc3RyaW5nO1xuICBzZWxlY3RlZExpc3RJdGVtPzogRmxhdHRlbmVkTGlzdEl0ZW07XG4gIG9uTGlzdEl0ZW1DbGljazogKGNhdGVnb3J5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGlzdEl0ZW1JZChcbiAgbmFtZTogc3RyaW5nLFxuICBjYXRlZ29yeTogc3RyaW5nLFxuICBpbmRleDogbnVtYmVyXG4pOiBzdHJpbmcge1xuICByZXR1cm4gYCR7bmFtZX1fJHtjYXRlZ29yeX1fTGlzdEl0ZW0ke2luZGV4fWA7XG59XG5cbmNvbnN0IFN0eWxlZEljb25MZWZ0ID0gc3R5bGVkKEljb24pKCh7IHRoZW1lIH0pID0+ICh7XG4gIG1hcmdpblJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzLFxufSkpO1xuXG50eXBlIFN0eWxlZExpc3RJdGVtUHJvcHMgPSB7XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG59O1xuXG5jb25zdCBTdHlsZWRMaXN0SXRlbSA9IHN0eWxlZC5kaXY8U3R5bGVkTGlzdEl0ZW1Qcm9wcz4oXG4gICh7IHRoZW1lLCBpc1NlbGVjdGVkIH0pID0+ICh7XG4gICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm19YCxcbiAgICBjdXJzb3I6IFwicG9pbnRlclwiLFxuXG4gICAgXCImOmhvdmVyXCI6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQudHJhbnNwYXJlbnQuaG92ZXIsXG4gICAgfSxcblxuICAgIC4uLihpc1NlbGVjdGVkICYmIHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQudHJhbnNwYXJlbnQuaG92ZXIsXG4gICAgfSksXG4gIH0pXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gQ2F0ZWdvcnlMaXN0KHtcbiAgbmFtZSxcbiAgY2F0ZWdvcnksXG4gIGljb25MZWZ0LFxuICByaWdodENvbnRlbnQsXG4gIGl0ZW1zLFxuICBzZWxlY3RlZExpc3RJdGVtLFxuICBvbkxpc3RJdGVtQ2xpY2ssXG59OiBDYXRlZ29yeUxpc3RQcm9wcyk6IFJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IGxpc3RJdGVtcyA9IGl0ZW1zLm1hcChcbiAgICAoeyBsYWJlbCwgdmFsdWUsIGljb25MZWZ0OiBpdGVtSWNvbkxlZnQgfSwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IGxlZnRDb250ZW50ID0gKFxuICAgICAgICA8VGV4dD5cbiAgICAgICAgICB7aWNvbkxlZnQgJiYgKFxuICAgICAgICAgICAgPFN0eWxlZEljb25MZWZ0XG4gICAgICAgICAgICAgIHsuLi4oaXRlbUljb25MZWZ0IHx8IGljb25MZWZ0KX1cbiAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICBjb2xvcj1cInRlcnRpYXJ5XCJcbiAgICAgICAgICAgICAgaW5saW5lXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L1RleHQ+XG4gICAgICApO1xuICAgICAgY29uc3QgY29udGVudCA9IHJpZ2h0Q29udGVudCA/IChcbiAgICAgICAgPENvbHVtbnM+XG4gICAgICAgICAgPENvbHVtbj57bGVmdENvbnRlbnR9PC9Db2x1bW4+XG4gICAgICAgICAgPENvbHVtbiBzaXplPVwibmFycm93XCI+e3JpZ2h0Q29udGVudH08L0NvbHVtbj5cbiAgICAgICAgPC9Db2x1bW5zPlxuICAgICAgKSA6IChcbiAgICAgICAgbGVmdENvbnRlbnRcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPVxuICAgICAgICBzZWxlY3RlZExpc3RJdGVtICYmXG4gICAgICAgIHNlbGVjdGVkTGlzdEl0ZW0uY2F0ZWdvcnkgPT09IGNhdGVnb3J5ICYmXG4gICAgICAgIHNlbGVjdGVkTGlzdEl0ZW0udmFsdWUgPT09IHZhbHVlO1xuXG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9uby1hcnJheS1pbmRleC1rZXkgKi9cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGcmFnbWVudCBrZXk9e2luZGV4fT5cbiAgICAgICAgICA8U3R5bGVkTGlzdEl0ZW1cbiAgICAgICAgICAgIGlkPXtnZXRMaXN0SXRlbUlkKG5hbWUsIGNhdGVnb3J5LCBpbmRleCl9XG4gICAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e2lzU2VsZWN0ZWR9XG4gICAgICAgICAgICBhcmlhLXNlbGVjdGVkPXtpc1NlbGVjdGVkfVxuICAgICAgICAgICAgb25Qb2ludGVyRG93bj17KGV2dCkgPT4gZXZ0LnByZXZlbnREZWZhdWx0KCl9IC8vIG5lZWRlZCB0byBhdm9pZCBmb2N1cyBjaGFuZ2VcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uTGlzdEl0ZW1DbGljayhjYXRlZ29yeSwgdmFsdWUpfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtjb250ZW50fVxuICAgICAgICAgIDwvU3R5bGVkTGlzdEl0ZW0+XG4gICAgICAgICAge2luZGV4ICE9PSBpdGVtcy5sZW5ndGggLSAxICYmIDxEaXZpZGVyIC8+fVxuICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgKTtcbiAgICAgIC8qIGVzbGludC1lbmFibGUgcmVhY3Qvbm8tYXJyYXktaW5kZXgta2V5ICovXG4gICAgfVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFN0YWNrIHNwYWNlPVwic1wiPlxuICAgICAgPEg2IGFzPVwiZGl2XCI+e2NhdGVnb3J5fTwvSDY+XG4gICAgICA8Q29udGFpbmVyIGVsZXZhdGlvbj17MH0gYm9yZGVyUmFkaXVzPVwic1wiPlxuICAgICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+e2xpc3RJdGVtc308L1N0YWNrPlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9TdGFjaz5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxRHVCIn0= */");export function CategoryList({name,category,iconLeft,rightContent,items,selectedListItem,onListItemClick}){let listItems=items.map(({label,value,iconLeft:itemIconLeft},index)=>{let leftContent=React.createElement(Text,null,iconLeft&&React.createElement(StyledIconLeft,{...itemIconLeft||iconLeft,size:"s",color:"tertiary",inline:!0}),label),content=rightContent?React.createElement(Columns,null,React.createElement(Column,null,leftContent),React.createElement(Column,{size:"narrow"},rightContent)):leftContent,isSelected=selectedListItem&&selectedListItem.category===category&&selectedListItem.value===value;return React.createElement(Fragment,{key:index},React.createElement(StyledListItem,{id:getListItemId(name,category,index),role:"option",isSelected:isSelected,"aria-selected":isSelected,onPointerDown:evt=>evt.preventDefault(),onClick:()=>onListItemClick(category,value)},content),index!==items.length-1&&React.createElement(Divider,null))});return React.createElement(Stack,{space:"s"},React.createElement(H6,{as:"div"},category),React.createElement(Container,{elevation:0,borderRadius:"s"},React.createElement(Stack,{space:"zero"},listItems)))}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { ReactElement } from "react";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import type { PromptTextAreaProps } from "./PromptTextArea";
|
|
4
|
+
import type { AutocompleteListProps } from "./AutocompleteList";
|
|
5
|
+
import type { RoundButtonProps } from "../RoundButton/RoundButton";
|
|
6
|
+
export type PromptInputProps = {
|
|
7
|
+
"data-e2e-test-id"?: string;
|
|
8
|
+
/** Toolbar elements below text area */
|
|
9
|
+
bottomToolbar?: {
|
|
10
|
+
leftContent?: ReactElement;
|
|
11
|
+
rightContent?: ReactElement;
|
|
12
|
+
};
|
|
13
|
+
/** Currently shows send button processing state */
|
|
14
|
+
isProcessing?: boolean;
|
|
15
|
+
sendButtonProps?: Omit<RoundButtonProps, "icon" | "variant">;
|
|
16
|
+
clearButtonAriaLabel?: string;
|
|
17
|
+
hint?: ReactElement;
|
|
18
|
+
/** Shows in the clear button space in empty state */
|
|
19
|
+
emptyStateTopRightContent?: ReactElement;
|
|
20
|
+
onClear: () => void;
|
|
21
|
+
/** Called when user selects (or rejects) a list item from autocomplete list */
|
|
22
|
+
onComplete?: (value: string, category?: string) => void;
|
|
23
|
+
/** Called on Enter key to submit the form */
|
|
24
|
+
onEnterKey: () => void;
|
|
25
|
+
} & Omit<PromptTextAreaProps, "isCollapsed" | "isAutocompleteListOpen" | "selectedListItem"> & Pick<AutocompleteListProps, "autocompleteListItems" | "autocompleteListFooter" | "portalContainer">;
|
|
26
|
+
export declare const PromptInput: React.ForwardRefExoticComponent<{
|
|
27
|
+
"data-e2e-test-id"?: string;
|
|
28
|
+
/** Toolbar elements below text area */
|
|
29
|
+
bottomToolbar?: {
|
|
30
|
+
leftContent?: ReactElement;
|
|
31
|
+
rightContent?: ReactElement;
|
|
32
|
+
};
|
|
33
|
+
/** Currently shows send button processing state */
|
|
34
|
+
isProcessing?: boolean;
|
|
35
|
+
sendButtonProps?: Omit<RoundButtonProps, "icon" | "variant">;
|
|
36
|
+
clearButtonAriaLabel?: string;
|
|
37
|
+
hint?: ReactElement;
|
|
38
|
+
/** Shows in the clear button space in empty state */
|
|
39
|
+
emptyStateTopRightContent?: ReactElement;
|
|
40
|
+
onClear: () => void;
|
|
41
|
+
/** Called when user selects (or rejects) a list item from autocomplete list */
|
|
42
|
+
onComplete?: (value: string, category?: string) => void;
|
|
43
|
+
/** Called on Enter key to submit the form */
|
|
44
|
+
onEnterKey: () => void;
|
|
45
|
+
} & Omit<PromptTextAreaProps, "selectedListItem" | "isAutocompleteListOpen" | "isCollapsed"> & Pick<AutocompleteListProps, "portalContainer" | "autocompleteListItems" | "autocompleteListFooter"> & React.RefAttributes<HTMLTextAreaElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import React,{useRef,useMemo,useState,useEffect,useCallback,forwardRef}from"react";import styled from"@emotion/styled";import{PromptTextArea}from"./PromptTextArea";import{Container}from"../Container";import{AutocompleteList}from"./AutocompleteList";import{getListItemId}from"./CategoryList";import{Box}from"../Box/Box";import{Text}from"../Typography/Text";import{Column,Columns}from"../Column/Columns";import{Inline}from"../Inline/Inline";import{RoundButton}from"../RoundButton/RoundButton";import{PictogramButton}from"../PictogramButton/PictogramButton";import{Stack}from"../Stack/Stack";let StyledTextAreaContainer=styled("div",{target:"e4n8w5o0",label:"StyledTextAreaContainer"})({position:"relative"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0SW5wdXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSZWFjdEVsZW1lbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIFJlZk9iamVjdCxcbiAgRm9jdXNFdmVudEhhbmRsZXIsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG4gIHVzZUVmZmVjdCxcbiAgdXNlQ2FsbGJhY2ssXG4gIGZvcndhcmRSZWYsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFByb21wdFRleHRBcmVhUHJvcHMgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgUHJvbXB0VGV4dEFyZWEgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lclwiO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVMaXN0UHJvcHMgfSBmcm9tIFwiLi9BdXRvY29tcGxldGVMaXN0XCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVMaXN0IH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlTGlzdFwiO1xuaW1wb3J0IHsgZ2V0TGlzdEl0ZW1JZCwgdHlwZSBGbGF0dGVuZWRMaXN0SXRlbSB9IGZyb20gXCIuL0NhdGVnb3J5TGlzdFwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uL0JveC9Cb3hcIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiLi4vVHlwb2dyYXBoeS9UZXh0XCI7XG5pbXBvcnQgeyBDb2x1bW4sIENvbHVtbnMgfSBmcm9tIFwiLi4vQ29sdW1uL0NvbHVtbnNcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IFJvdW5kQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vUm91bmRCdXR0b24vUm91bmRCdXR0b25cIjtcbmltcG9ydCB7IFJvdW5kQnV0dG9uIH0gZnJvbSBcIi4uL1JvdW5kQnV0dG9uL1JvdW5kQnV0dG9uXCI7XG5pbXBvcnQgdHlwZSB7IFBpY3RvZ3JhbUJ1dHRvblByb3BzIH0gZnJvbSBcIi4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB7IFBpY3RvZ3JhbUJ1dHRvbiB9IGZyb20gXCIuLi9QaWN0b2dyYW1CdXR0b24vUGljdG9ncmFtQnV0dG9uXCI7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCIuLi9TdGFjay9TdGFja1wiO1xuXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzID0gUGljazxcbiAgUHJvbXB0SW5wdXRQcm9wcyxcbiAgXCJpc05hdkJhclZhcmlhbnRcIlxuPjtcblxuY29uc3QgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lciA9XG4gIHN0eWxlZC5kaXY8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzPihcbiAgICAoeyB0aGVtZSwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgdG9wOiBpc05hdkJhclZhcmlhbnRcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubSxcbiAgICAgIHJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgIH0pXG4gICk7XG5cbnR5cGUgU3R5bGVkQ2xlYXJCdXR0b25Qcm9wcyA9IFBpY3RvZ3JhbUJ1dHRvblByb3BzICZcbiAgUGljazxQcm9tcHRJbnB1dFByb3BzLCBcImlzTmF2QmFyVmFyaWFudFwiPjtcblxuY29uc3QgU3R5bGVkQ2xlYXJCdXR0b24gPSBzdHlsZWQoUGljdG9ncmFtQnV0dG9uKTxTdHlsZWRDbGVhckJ1dHRvblByb3BzPihcbiAgKHsgdGhlbWUsIGlzTmF2QmFyVmFyaWFudCB9KSA9PiAoe1xuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB0b3A6IGlzTmF2QmFyVmFyaWFudCA/IDAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRJbnB1dFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIFRvb2xiYXIgZWxlbWVudHMgYmVsb3cgdGV4dCBhcmVhICovXG4gIGJvdHRvbVRvb2xiYXI/OiB7XG4gICAgbGVmdENvbnRlbnQ/OiBSZWFjdEVsZW1lbnQ7XG4gICAgcmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICB9O1xuICAvKiogQ3VycmVudGx5IHNob3dzIHNlbmQgYnV0dG9uIHByb2Nlc3Npbmcgc3RhdGUgICovXG4gIGlzUHJvY2Vzc2luZz86IGJvb2xlYW47XG4gIHNlbmRCdXR0b25Qcm9wcz86IE9taXQ8Um91bmRCdXR0b25Qcm9wcywgXCJpY29uXCIgfCBcInZhcmlhbnRcIj47XG4gIGNsZWFyQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBoaW50PzogUmVhY3RFbGVtZW50O1xuICAvKiogU2hvd3MgaW4gdGhlIGNsZWFyIGJ1dHRvbiBzcGFjZSBpbiBlbXB0eSBzdGF0ZSAqL1xuICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICBvbkNsZWFyOiAoKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdXNlciBzZWxlY3RzIChvciByZWplY3RzKSBhIGxpc3QgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBsaXN0ICovXG4gIG9uQ29tcGxldGU/OiAodmFsdWU6IHN0cmluZywgY2F0ZWdvcnk/OiBzdHJpbmcpID0+IHZvaWQ7XG4gIC8qKiBDYWxsZWQgb24gRW50ZXIga2V5IHRvIHN1Ym1pdCB0aGUgZm9ybSAgKi9cbiAgb25FbnRlcktleTogKCkgPT4gdm9pZDtcbn0gJiBPbWl0PFxuICBQcm9tcHRUZXh0QXJlYVByb3BzLFxuICBcImlzQ29sbGFwc2VkXCIgfCBcImlzQXV0b2NvbXBsZXRlTGlzdE9wZW5cIiB8IFwic2VsZWN0ZWRMaXN0SXRlbVwiXG4+ICZcbiAgUGljazxcbiAgICBBdXRvY29tcGxldGVMaXN0UHJvcHMsXG4gICAgXCJhdXRvY29tcGxldGVMaXN0SXRlbXNcIiB8IFwiYXV0b2NvbXBsZXRlTGlzdEZvb3RlclwiIHwgXCJwb3J0YWxDb250YWluZXJcIlxuICA+O1xuXG5leHBvcnQgY29uc3QgUHJvbXB0SW5wdXQgPSBmb3J3YXJkUmVmKFxuICAoXG4gICAge1xuICAgICAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gICAgICBuYW1lLFxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zID0gW10sXG4gICAgICB2YWx1ZSxcbiAgICAgIGJvdHRvbVRvb2xiYXIgPSB7IGxlZnRDb250ZW50OiBudWxsLCByaWdodENvbnRlbnQ6IG51bGwgfSxcbiAgICAgIGlzUHJvY2Vzc2luZyxcbiAgICAgIHNlbmRCdXR0b25Qcm9wcyA9IHtcbiAgICAgICAgdHlwZTogXCJzdWJtaXRcIixcbiAgICAgIH0sXG4gICAgICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyLFxuICAgICAgY2xlYXJCdXR0b25BcmlhTGFiZWwgPSBcIkNsZWFyIGlucHV0XCIsXG4gICAgICBoaW50LFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCxcbiAgICAgIGlzTmF2QmFyVmFyaWFudCxcbiAgICAgIHBvcnRhbENvbnRhaW5lcixcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb25Db21wbGV0ZSxcbiAgICAgIG9uQ2xlYXIsXG4gICAgICBvbkVudGVyS2V5LFxuICAgICAgb25Gb2N1cyxcbiAgICAgIG9uQmx1cixcbiAgICAgIG9uS2V5RG93bixcbiAgICAgIC4uLnJlc3RcbiAgICB9OiBQcm9tcHRJbnB1dFByb3BzLFxuICAgIHJlZjogUmVmT2JqZWN0PEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gICk6IFJlYWN0RWxlbWVudCA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCB0ZXh0QXJlYUNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgaW50ZXJuYWxSZWYgPSB1c2VSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgW3NlbGVjdGVkSW5kZXgsIHNldFNlbGVjdGVkSW5kZXhdID0gdXNlU3RhdGUoLTEpO1xuICAgIGNvbnN0IFtpc0NvbGxhcHNlZCwgc2V0SXNDb2xsYXBzZWRdID0gdXNlU3RhdGUoaXNOYXZCYXJWYXJpYW50KTtcbiAgICBjb25zdCB1c2VyVHlwZWRRdWVyeSA9IHVzZVJlZihcIlwiKTtcbiAgICBjb25zdCBbaXNBdXRvY29tcGxldGVMaXN0T3Blbiwgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgdGV4dEFyZWFSZWYgPSByZWYgfHwgaW50ZXJuYWxSZWY7XG5cbiAgICBjb25zdCBjbG9zZUF1dG9jb21wbGV0ZUxpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuKGZhbHNlKTtcbiAgICAgIHNldFNlbGVjdGVkSW5kZXgoLTEpO1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IG9wZW5BdXRvY29tcGxldGVMaXN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbih0cnVlKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7XG4gICAgICB9XG4gICAgfSwgW2F1dG9jb21wbGV0ZUxpc3RJdGVtc10pO1xuXG4gICAgY29uc3QgYWNjZXB0VGV4dFNlbGVjdGlvbiA9ICgpID0+IHtcbiAgICAgIHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQgPSB2YWx1ZTtcbiAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UodmFsdWUubGVuZ3RoLCB2YWx1ZS5sZW5ndGgpO1xuICAgIH07XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGggJiYgIWlzQ29sbGFwc2VkKSB7XG4gICAgICAgIG9wZW5BdXRvY29tcGxldGVMaXN0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBhdXRvY29tcGxldGVMaXN0SXRlbXMsXG4gICAgICBvcGVuQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGlzQ29sbGFwc2VkLFxuICAgIF0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSAhPT0gdXNlclR5cGVkUXVlcnkuY3VycmVudCAmJiBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuKSB7XG4gICAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UoXG4gICAgICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudC5sZW5ndGgsXG4gICAgICAgICAgdmFsdWUubGVuZ3RoXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSwgW3ZhbHVlLCB0ZXh0QXJlYVJlZiwgaXNBdXRvY29tcGxldGVMaXN0T3Blbl0pO1xuXG4gICAgLy8gRGV0ZXJtaW5lIHdoZW4gZm9jdXMgbGVhdmVzIHRoZSBjb250YWluZXIgdG8gY29sbGFwc2UgaXRcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgbGV0IGhhbmRsZXI6IChldnQ6IEZvY3VzRXZlbnQpID0+IHZvaWQ7XG4gICAgICBjb25zdCBjb250YWluZXIgPSBjb250YWluZXJSZWYuY3VycmVudDtcblxuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCAmJiBjb250YWluZXIpIHtcbiAgICAgICAgaGFuZGxlciA9IChldnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoIWNvbnRhaW5lclJlZi5jdXJyZW50LmNvbnRhaW5zKGV2dC5yZWxhdGVkVGFyZ2V0IGFzIE5vZGUpKSB7XG4gICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJmb2N1c291dFwiLCBoYW5kbGVyKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKFwiZm9jdXNvdXRcIiwgaGFuZGxlcik7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSwgW2lzTmF2QmFyVmFyaWFudCwgY29udGFpbmVyUmVmXSk7XG5cbiAgICBjb25zdCBmbGF0dGVuZWRMaXN0SXRlbXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGxpc3Q6IEZsYXR0ZW5lZExpc3RJdGVtW10gPSBbXTtcblxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmZvckVhY2goKGxpc3RJdGVtKSA9PiB7XG4gICAgICAgIGxpc3RJdGVtLml0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgbGlzdC5wdXNoKHtcbiAgICAgICAgICAgIGNhdGVnb3J5OiBsaXN0SXRlbS5jYXRlZ29yeSxcbiAgICAgICAgICAgIHZhbHVlOiBpdGVtLnZhbHVlLFxuICAgICAgICAgICAgaWQ6IGdldExpc3RJdGVtSWQobmFtZSwgbGlzdEl0ZW0uY2F0ZWdvcnksIGluZGV4KSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBsaXN0O1xuICAgIH0sIFthdXRvY29tcGxldGVMaXN0SXRlbXMsIG5hbWVdKTtcblxuICAgIGNvbnN0IGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2UgPSAoaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgc2V0U2VsZWN0ZWRJbmRleChpbmRleCk7XG4gICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IHsgY2F0ZWdvcnksIHZhbHVlOiBpdGVtVmFsdWUgfSA9IGZsYXR0ZW5lZExpc3RJdGVtc1tpbmRleF07XG5cbiAgICAgICAgb25Db21wbGV0ZShpdGVtVmFsdWUsIGNhdGVnb3J5KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlTGlzdEl0ZW1DbGljayA9IChjYXRlZ29yeTogc3RyaW5nLCBpdGVtVmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSBmbGF0dGVuZWRMaXN0SXRlbXMuZmluZEluZGV4KFxuICAgICAgICAobGlzdEl0ZW0pID0+XG4gICAgICAgICAgbGlzdEl0ZW0uY2F0ZWdvcnkgPT09IGNhdGVnb3J5ICYmIGxpc3RJdGVtLnZhbHVlID09PSBpdGVtVmFsdWVcbiAgICAgICk7XG4gICAgICBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlKGluZGV4KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVLZXlEb3duOiBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIGlmIChpc0F1dG9jb21wbGV0ZUxpc3RPcGVuKSB7XG4gICAgICAgIHN3aXRjaCAoZXZ0LmtleSkge1xuICAgICAgICAgIGNhc2UgXCJFc2NhcGVcIjpcbiAgICAgICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgICAgICAgb25Db21wbGV0ZSh1c2VyVHlwZWRRdWVyeS5jdXJyZW50KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgICAgICAgICBhY2NlcHRUZXh0U2VsZWN0aW9uKCk7XG5cbiAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgb25FbnRlcktleT8uKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCIgXCI6XG4gICAgICAgICAgICBhY2NlcHRUZXh0U2VsZWN0aW9uKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiQXJyb3dVcFwiOlxuICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2Uoc2VsZWN0ZWRJbmRleCAtIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93RG93blwiOlxuICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA8IGZsYXR0ZW5lZExpc3RJdGVtcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2Uoc2VsZWN0ZWRJbmRleCArIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3dpdGNoIChldnQua2V5KSB7XG4gICAgICAgICAgY2FzZSBcIkVzY2FwZVwiOlxuICAgICAgICAgICAgb25DbGVhcj8uKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiRW50ZXJcIjpcbiAgICAgICAgICAgIGlmICghZXZ0LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBvbkVudGVyS2V5Py4oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG9uS2V5RG93bj8uKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZTogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxUZXh0QXJlYUVsZW1lbnQ+ID0gKGV2dCkgPT4ge1xuICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudCA9IGV2dC50YXJnZXQudmFsdWU7XG4gICAgICBvbkNoYW5nZShldnQpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVGb2N1czogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBzZXRJc0NvbGxhcHNlZChmYWxzZSk7XG4gICAgICBvbkZvY3VzPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQmx1cjogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAodmFsdWUgIT09IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQpIHtcbiAgICAgICAgb25Db21wbGV0ZT8uKHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQpO1xuICAgICAgfVxuICAgICAgb25CbHVyPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRMaXN0SXRlbSA9XG4gICAgICBzZWxlY3RlZEluZGV4ICE9PSAtMSA/IGZsYXR0ZW5lZExpc3RJdGVtc1tzZWxlY3RlZEluZGV4XSA6IG51bGw7XG5cbiAgICBjb25zdCBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtID0gZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCA/IChcbiAgICAgIDxTdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyXG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgPlxuICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCI+e2VtcHR5U3RhdGVUb3BSaWdodENvbnRlbnR9PC9UZXh0PlxuICAgICAgPC9TdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyPlxuICAgICkgOiBudWxsO1xuXG4gICAgY29uc3QgY2xlYXJCdXR0b25FbG0gPSB2YWx1ZSA/IChcbiAgICAgIDxTdHlsZWRDbGVhckJ1dHRvblxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIGljb249XCJ4XCJcbiAgICAgICAgYXJpYS1sYWJlbD17Y2xlYXJCdXR0b25BcmlhTGFiZWx9XG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgICBvblBvaW50ZXJEb3duPXsoZXZ0OiBhbnkpID0+IGV2dC5wcmV2ZW50RGVmYXVsdCgpfVxuICAgICAgICBvbkNsaWNrPXtvbkNsZWFyfVxuICAgICAgLz5cbiAgICApIDogKFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudEVsbVxuICAgICk7XG5cbiAgICBjb25zdCBoaW50RWxtID0gISFoaW50ICYmIChcbiAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8VGV4dCBzaXplPVwic1wiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICAgICAgICB7aGludH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgPC9JbmxpbmU+XG4gICAgKTtcblxuICAgIGNvbnN0IGJvdHRvbVRvb2xiYXJFbG0gPSAhaXNDb2xsYXBzZWQgJiYgKFxuICAgICAgPEJveCBzcGFjZT1cIm1cIiBkYXRhLWUyZS10ZXN0LWlkPVwiYm90dG9tVG9vbGJhclwiPlxuICAgICAgICA8Q29sdW1ucyBnYXA9XCJzXCIgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgPENvbHVtbj57Ym90dG9tVG9vbGJhci5sZWZ0Q29udGVudH08L0NvbHVtbj5cbiAgICAgICAgICA8Q29sdW1uIHNpemU9XCJuYXJyb3dcIj5cbiAgICAgICAgICAgIDxJbmxpbmUgc3BhY2U9XCJ4c1wiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICAgIHtib3R0b21Ub29sYmFyLnJpZ2h0Q29udGVudH1cbiAgICAgICAgICAgICAgPFJvdW5kQnV0dG9uXG4gICAgICAgICAgICAgICAgYXJpYUF0dHJpYnV0ZXM9e3tcbiAgICAgICAgICAgICAgICAgIFwiYXJpYS1sYWJlbFwiOiBpc1Byb2Nlc3NpbmdcbiAgICAgICAgICAgICAgICAgICAgPyBcIlByb2Nlc3NpbmcgcXVlcnlcIlxuICAgICAgICAgICAgICAgICAgICA6IFwiU3VibWl0IHF1ZXJ5XCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBpY29uPXtpc1Byb2Nlc3NpbmcgPyBcInNxdWFyZVwiIDogXCJzZW5kXCJ9XG4gICAgICAgICAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXshdmFsdWV9XG4gICAgICAgICAgICAgICAgey4uLnNlbmRCdXR0b25Qcm9wc31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvSW5saW5lPlxuICAgICAgICAgIDwvQ29sdW1uPlxuICAgICAgICA8L0NvbHVtbnM+XG4gICAgICA8L0JveD5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICAgIGRhdGEtZHMtaWQ9XCJQcm9tcHRJbnB1dFwiXG4gICAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJzXCI+XG4gICAgICAgICAgICA8ZGl2IHJlZj17dGV4dEFyZWFDb250YWluZXJSZWZ9PlxuICAgICAgICAgICAgICA8Q29udGFpbmVyXG4gICAgICAgICAgICAgICAgZWxldmF0aW9uPXtpc0NvbGxhcHNlZCA/IDAgOiAxfVxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1cz17aXNDb2xsYXBzZWQgPyBcInNcIiA6IFwibVwifVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFN0eWxlZFRleHRBcmVhQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPFByb21wdFRleHRBcmVhXG4gICAgICAgICAgICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICAgICAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICAgICAgICAgIHJlZj17dGV4dEFyZWFSZWZ9XG4gICAgICAgICAgICAgICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExpc3RJdGVtPXtzZWxlY3RlZExpc3RJdGVtfVxuICAgICAgICAgICAgICAgICAgICBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuPXtpc0F1dG9jb21wbGV0ZUxpc3RPcGVufVxuICAgICAgICAgICAgICAgICAgICBpc0NvbGxhcHNlZD17aXNDb2xsYXBzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e2hhbmRsZUZvY3VzfVxuICAgICAgICAgICAgICAgICAgICBvbkJsdXI9e2hhbmRsZUJsdXJ9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlS2V5RG93bn1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB7Y2xlYXJCdXR0b25FbG19XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRUZXh0QXJlYUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB7Ym90dG9tVG9vbGJhckVsbX1cbiAgICAgICAgICAgICAgPC9Db250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHtoaW50RWxtfVxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxBdXRvY29tcGxldGVMaXN0XG4gICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zPXthdXRvY29tcGxldGVMaXN0SXRlbXN9XG4gICAgICAgICAgdHJpZ2dlclJlZj17dGV4dEFyZWFDb250YWluZXJSZWZ9XG4gICAgICAgICAgc2VsZWN0ZWRMaXN0SXRlbT17c2VsZWN0ZWRMaXN0SXRlbX1cbiAgICAgICAgICBpc09wZW49e2lzQXV0b2NvbXBsZXRlTGlzdE9wZW59XG4gICAgICAgICAgYXV0b2NvbXBsZXRlTGlzdEZvb3Rlcj17YXV0b2NvbXBsZXRlTGlzdEZvb3Rlcn1cbiAgICAgICAgICBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn1cbiAgICAgICAgICBvbkxpc3RJdGVtQ2xpY2s9e2hhbmRsZUxpc3RJdGVtQ2xpY2t9XG4gICAgICAgIC8+XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG4pO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdDZ0MifQ== */"),StyledEmptyStateTopRightContentContainer=styled("div",{target:"e4n8w5o1",label:"StyledEmptyStateTopRightContentContainer"})(({theme,isNavBarVariant})=>({position:"absolute",top:isNavBarVariant?theme.variables.size.spacing.xxs:theme.variables.size.spacing.m,right:theme.variables.size.spacing.m,userSelect:"none",pointerEvents:"none"}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0SW5wdXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSZWFjdEVsZW1lbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIFJlZk9iamVjdCxcbiAgRm9jdXNFdmVudEhhbmRsZXIsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG4gIHVzZUVmZmVjdCxcbiAgdXNlQ2FsbGJhY2ssXG4gIGZvcndhcmRSZWYsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFByb21wdFRleHRBcmVhUHJvcHMgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgUHJvbXB0VGV4dEFyZWEgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lclwiO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVMaXN0UHJvcHMgfSBmcm9tIFwiLi9BdXRvY29tcGxldGVMaXN0XCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVMaXN0IH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlTGlzdFwiO1xuaW1wb3J0IHsgZ2V0TGlzdEl0ZW1JZCwgdHlwZSBGbGF0dGVuZWRMaXN0SXRlbSB9IGZyb20gXCIuL0NhdGVnb3J5TGlzdFwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uL0JveC9Cb3hcIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiLi4vVHlwb2dyYXBoeS9UZXh0XCI7XG5pbXBvcnQgeyBDb2x1bW4sIENvbHVtbnMgfSBmcm9tIFwiLi4vQ29sdW1uL0NvbHVtbnNcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IFJvdW5kQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vUm91bmRCdXR0b24vUm91bmRCdXR0b25cIjtcbmltcG9ydCB7IFJvdW5kQnV0dG9uIH0gZnJvbSBcIi4uL1JvdW5kQnV0dG9uL1JvdW5kQnV0dG9uXCI7XG5pbXBvcnQgdHlwZSB7IFBpY3RvZ3JhbUJ1dHRvblByb3BzIH0gZnJvbSBcIi4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB7IFBpY3RvZ3JhbUJ1dHRvbiB9IGZyb20gXCIuLi9QaWN0b2dyYW1CdXR0b24vUGljdG9ncmFtQnV0dG9uXCI7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCIuLi9TdGFjay9TdGFja1wiO1xuXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzID0gUGljazxcbiAgUHJvbXB0SW5wdXRQcm9wcyxcbiAgXCJpc05hdkJhclZhcmlhbnRcIlxuPjtcblxuY29uc3QgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lciA9XG4gIHN0eWxlZC5kaXY8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzPihcbiAgICAoeyB0aGVtZSwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgdG9wOiBpc05hdkJhclZhcmlhbnRcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubSxcbiAgICAgIHJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgIH0pXG4gICk7XG5cbnR5cGUgU3R5bGVkQ2xlYXJCdXR0b25Qcm9wcyA9IFBpY3RvZ3JhbUJ1dHRvblByb3BzICZcbiAgUGljazxQcm9tcHRJbnB1dFByb3BzLCBcImlzTmF2QmFyVmFyaWFudFwiPjtcblxuY29uc3QgU3R5bGVkQ2xlYXJCdXR0b24gPSBzdHlsZWQoUGljdG9ncmFtQnV0dG9uKTxTdHlsZWRDbGVhckJ1dHRvblByb3BzPihcbiAgKHsgdGhlbWUsIGlzTmF2QmFyVmFyaWFudCB9KSA9PiAoe1xuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB0b3A6IGlzTmF2QmFyVmFyaWFudCA/IDAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRJbnB1dFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIFRvb2xiYXIgZWxlbWVudHMgYmVsb3cgdGV4dCBhcmVhICovXG4gIGJvdHRvbVRvb2xiYXI/OiB7XG4gICAgbGVmdENvbnRlbnQ/OiBSZWFjdEVsZW1lbnQ7XG4gICAgcmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICB9O1xuICAvKiogQ3VycmVudGx5IHNob3dzIHNlbmQgYnV0dG9uIHByb2Nlc3Npbmcgc3RhdGUgICovXG4gIGlzUHJvY2Vzc2luZz86IGJvb2xlYW47XG4gIHNlbmRCdXR0b25Qcm9wcz86IE9taXQ8Um91bmRCdXR0b25Qcm9wcywgXCJpY29uXCIgfCBcInZhcmlhbnRcIj47XG4gIGNsZWFyQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBoaW50PzogUmVhY3RFbGVtZW50O1xuICAvKiogU2hvd3MgaW4gdGhlIGNsZWFyIGJ1dHRvbiBzcGFjZSBpbiBlbXB0eSBzdGF0ZSAqL1xuICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICBvbkNsZWFyOiAoKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdXNlciBzZWxlY3RzIChvciByZWplY3RzKSBhIGxpc3QgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBsaXN0ICovXG4gIG9uQ29tcGxldGU/OiAodmFsdWU6IHN0cmluZywgY2F0ZWdvcnk/OiBzdHJpbmcpID0+IHZvaWQ7XG4gIC8qKiBDYWxsZWQgb24gRW50ZXIga2V5IHRvIHN1Ym1pdCB0aGUgZm9ybSAgKi9cbiAgb25FbnRlcktleTogKCkgPT4gdm9pZDtcbn0gJiBPbWl0PFxuICBQcm9tcHRUZXh0QXJlYVByb3BzLFxuICBcImlzQ29sbGFwc2VkXCIgfCBcImlzQXV0b2NvbXBsZXRlTGlzdE9wZW5cIiB8IFwic2VsZWN0ZWRMaXN0SXRlbVwiXG4+ICZcbiAgUGljazxcbiAgICBBdXRvY29tcGxldGVMaXN0UHJvcHMsXG4gICAgXCJhdXRvY29tcGxldGVMaXN0SXRlbXNcIiB8IFwiYXV0b2NvbXBsZXRlTGlzdEZvb3RlclwiIHwgXCJwb3J0YWxDb250YWluZXJcIlxuICA+O1xuXG5leHBvcnQgY29uc3QgUHJvbXB0SW5wdXQgPSBmb3J3YXJkUmVmKFxuICAoXG4gICAge1xuICAgICAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gICAgICBuYW1lLFxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zID0gW10sXG4gICAgICB2YWx1ZSxcbiAgICAgIGJvdHRvbVRvb2xiYXIgPSB7IGxlZnRDb250ZW50OiBudWxsLCByaWdodENvbnRlbnQ6IG51bGwgfSxcbiAgICAgIGlzUHJvY2Vzc2luZyxcbiAgICAgIHNlbmRCdXR0b25Qcm9wcyA9IHtcbiAgICAgICAgdHlwZTogXCJzdWJtaXRcIixcbiAgICAgIH0sXG4gICAgICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyLFxuICAgICAgY2xlYXJCdXR0b25BcmlhTGFiZWwgPSBcIkNsZWFyIGlucHV0XCIsXG4gICAgICBoaW50LFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCxcbiAgICAgIGlzTmF2QmFyVmFyaWFudCxcbiAgICAgIHBvcnRhbENvbnRhaW5lcixcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb25Db21wbGV0ZSxcbiAgICAgIG9uQ2xlYXIsXG4gICAgICBvbkVudGVyS2V5LFxuICAgICAgb25Gb2N1cyxcbiAgICAgIG9uQmx1cixcbiAgICAgIG9uS2V5RG93bixcbiAgICAgIC4uLnJlc3RcbiAgICB9OiBQcm9tcHRJbnB1dFByb3BzLFxuICAgIHJlZjogUmVmT2JqZWN0PEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gICk6IFJlYWN0RWxlbWVudCA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCB0ZXh0QXJlYUNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgaW50ZXJuYWxSZWYgPSB1c2VSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgW3NlbGVjdGVkSW5kZXgsIHNldFNlbGVjdGVkSW5kZXhdID0gdXNlU3RhdGUoLTEpO1xuICAgIGNvbnN0IFtpc0NvbGxhcHNlZCwgc2V0SXNDb2xsYXBzZWRdID0gdXNlU3RhdGUoaXNOYXZCYXJWYXJpYW50KTtcbiAgICBjb25zdCB1c2VyVHlwZWRRdWVyeSA9IHVzZVJlZihcIlwiKTtcbiAgICBjb25zdCBbaXNBdXRvY29tcGxldGVMaXN0T3Blbiwgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgdGV4dEFyZWFSZWYgPSByZWYgfHwgaW50ZXJuYWxSZWY7XG5cbiAgICBjb25zdCBjbG9zZUF1dG9jb21wbGV0ZUxpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuKGZhbHNlKTtcbiAgICAgIHNldFNlbGVjdGVkSW5kZXgoLTEpO1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IG9wZW5BdXRvY29tcGxldGVMaXN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbih0cnVlKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7XG4gICAgICB9XG4gICAgfSwgW2F1dG9jb21wbGV0ZUxpc3RJdGVtc10pO1xuXG4gICAgY29uc3QgYWNjZXB0VGV4dFNlbGVjdGlvbiA9ICgpID0+IHtcbiAgICAgIHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQgPSB2YWx1ZTtcbiAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UodmFsdWUubGVuZ3RoLCB2YWx1ZS5sZW5ndGgpO1xuICAgIH07XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGggJiYgIWlzQ29sbGFwc2VkKSB7XG4gICAgICAgIG9wZW5BdXRvY29tcGxldGVMaXN0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBhdXRvY29tcGxldGVMaXN0SXRlbXMsXG4gICAgICBvcGVuQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGlzQ29sbGFwc2VkLFxuICAgIF0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSAhPT0gdXNlclR5cGVkUXVlcnkuY3VycmVudCAmJiBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuKSB7XG4gICAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UoXG4gICAgICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudC5sZW5ndGgsXG4gICAgICAgICAgdmFsdWUubGVuZ3RoXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSwgW3ZhbHVlLCB0ZXh0QXJlYVJlZiwgaXNBdXRvY29tcGxldGVMaXN0T3Blbl0pO1xuXG4gICAgLy8gRGV0ZXJtaW5lIHdoZW4gZm9jdXMgbGVhdmVzIHRoZSBjb250YWluZXIgdG8gY29sbGFwc2UgaXRcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgbGV0IGhhbmRsZXI6IChldnQ6IEZvY3VzRXZlbnQpID0+IHZvaWQ7XG4gICAgICBjb25zdCBjb250YWluZXIgPSBjb250YWluZXJSZWYuY3VycmVudDtcblxuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCAmJiBjb250YWluZXIpIHtcbiAgICAgICAgaGFuZGxlciA9IChldnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoIWNvbnRhaW5lclJlZi5jdXJyZW50LmNvbnRhaW5zKGV2dC5yZWxhdGVkVGFyZ2V0IGFzIE5vZGUpKSB7XG4gICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJmb2N1c291dFwiLCBoYW5kbGVyKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKFwiZm9jdXNvdXRcIiwgaGFuZGxlcik7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSwgW2lzTmF2QmFyVmFyaWFudCwgY29udGFpbmVyUmVmXSk7XG5cbiAgICBjb25zdCBmbGF0dGVuZWRMaXN0SXRlbXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGxpc3Q6IEZsYXR0ZW5lZExpc3RJdGVtW10gPSBbXTtcblxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmZvckVhY2goKGxpc3RJdGVtKSA9PiB7XG4gICAgICAgIGxpc3RJdGVtLml0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgbGlzdC5wdXNoKHtcbiAgICAgICAgICAgIGNhdGVnb3J5OiBsaXN0SXRlbS5jYXRlZ29yeSxcbiAgICAgICAgICAgIHZhbHVlOiBpdGVtLnZhbHVlLFxuICAgICAgICAgICAgaWQ6IGdldExpc3RJdGVtSWQobmFtZSwgbGlzdEl0ZW0uY2F0ZWdvcnksIGluZGV4KSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBsaXN0O1xuICAgIH0sIFthdXRvY29tcGxldGVMaXN0SXRlbXMsIG5hbWVdKTtcblxuICAgIGNvbnN0IGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2UgPSAoaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgc2V0U2VsZWN0ZWRJbmRleChpbmRleCk7XG4gICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IHsgY2F0ZWdvcnksIHZhbHVlOiBpdGVtVmFsdWUgfSA9IGZsYXR0ZW5lZExpc3RJdGVtc1tpbmRleF07XG5cbiAgICAgICAgb25Db21wbGV0ZShpdGVtVmFsdWUsIGNhdGVnb3J5KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlTGlzdEl0ZW1DbGljayA9IChjYXRlZ29yeTogc3RyaW5nLCBpdGVtVmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSBmbGF0dGVuZWRMaXN0SXRlbXMuZmluZEluZGV4KFxuICAgICAgICAobGlzdEl0ZW0pID0+XG4gICAgICAgICAgbGlzdEl0ZW0uY2F0ZWdvcnkgPT09IGNhdGVnb3J5ICYmIGxpc3RJdGVtLnZhbHVlID09PSBpdGVtVmFsdWVcbiAgICAgICk7XG4gICAgICBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlKGluZGV4KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVLZXlEb3duOiBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIGlmIChpc0F1dG9jb21wbGV0ZUxpc3RPcGVuKSB7XG4gICAgICAgIHN3aXRjaCAoZXZ0LmtleSkge1xuICAgICAgICAgIGNhc2UgXCJFc2NhcGVcIjpcbiAgICAgICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgICAgICAgb25Db21wbGV0ZSh1c2VyVHlwZWRRdWVyeS5jdXJyZW50KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgICAgICAgICBhY2NlcHRUZXh0U2VsZWN0aW9uKCk7XG5cbiAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgb25FbnRlcktleT8uKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCIgXCI6XG4gICAgICAgICAgICBhY2NlcHRUZXh0U2VsZWN0aW9uKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiQXJyb3dVcFwiOlxuICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2Uoc2VsZWN0ZWRJbmRleCAtIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93RG93blwiOlxuICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA8IGZsYXR0ZW5lZExpc3RJdGVtcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2Uoc2VsZWN0ZWRJbmRleCArIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3dpdGNoIChldnQua2V5KSB7XG4gICAgICAgICAgY2FzZSBcIkVzY2FwZVwiOlxuICAgICAgICAgICAgb25DbGVhcj8uKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiRW50ZXJcIjpcbiAgICAgICAgICAgIGlmICghZXZ0LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBvbkVudGVyS2V5Py4oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG9uS2V5RG93bj8uKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZTogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxUZXh0QXJlYUVsZW1lbnQ+ID0gKGV2dCkgPT4ge1xuICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudCA9IGV2dC50YXJnZXQudmFsdWU7XG4gICAgICBvbkNoYW5nZShldnQpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVGb2N1czogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBzZXRJc0NvbGxhcHNlZChmYWxzZSk7XG4gICAgICBvbkZvY3VzPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQmx1cjogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAodmFsdWUgIT09IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQpIHtcbiAgICAgICAgb25Db21wbGV0ZT8uKHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQpO1xuICAgICAgfVxuICAgICAgb25CbHVyPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRMaXN0SXRlbSA9XG4gICAgICBzZWxlY3RlZEluZGV4ICE9PSAtMSA/IGZsYXR0ZW5lZExpc3RJdGVtc1tzZWxlY3RlZEluZGV4XSA6IG51bGw7XG5cbiAgICBjb25zdCBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtID0gZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCA/IChcbiAgICAgIDxTdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyXG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgPlxuICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCI+e2VtcHR5U3RhdGVUb3BSaWdodENvbnRlbnR9PC9UZXh0PlxuICAgICAgPC9TdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyPlxuICAgICkgOiBudWxsO1xuXG4gICAgY29uc3QgY2xlYXJCdXR0b25FbG0gPSB2YWx1ZSA/IChcbiAgICAgIDxTdHlsZWRDbGVhckJ1dHRvblxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIGljb249XCJ4XCJcbiAgICAgICAgYXJpYS1sYWJlbD17Y2xlYXJCdXR0b25BcmlhTGFiZWx9XG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgICBvblBvaW50ZXJEb3duPXsoZXZ0OiBhbnkpID0+IGV2dC5wcmV2ZW50RGVmYXVsdCgpfVxuICAgICAgICBvbkNsaWNrPXtvbkNsZWFyfVxuICAgICAgLz5cbiAgICApIDogKFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudEVsbVxuICAgICk7XG5cbiAgICBjb25zdCBoaW50RWxtID0gISFoaW50ICYmIChcbiAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8VGV4dCBzaXplPVwic1wiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICAgICAgICB7aGludH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgPC9JbmxpbmU+XG4gICAgKTtcblxuICAgIGNvbnN0IGJvdHRvbVRvb2xiYXJFbG0gPSAhaXNDb2xsYXBzZWQgJiYgKFxuICAgICAgPEJveCBzcGFjZT1cIm1cIiBkYXRhLWUyZS10ZXN0LWlkPVwiYm90dG9tVG9vbGJhclwiPlxuICAgICAgICA8Q29sdW1ucyBnYXA9XCJzXCIgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgPENvbHVtbj57Ym90dG9tVG9vbGJhci5sZWZ0Q29udGVudH08L0NvbHVtbj5cbiAgICAgICAgICA8Q29sdW1uIHNpemU9XCJuYXJyb3dcIj5cbiAgICAgICAgICAgIDxJbmxpbmUgc3BhY2U9XCJ4c1wiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICAgIHtib3R0b21Ub29sYmFyLnJpZ2h0Q29udGVudH1cbiAgICAgICAgICAgICAgPFJvdW5kQnV0dG9uXG4gICAgICAgICAgICAgICAgYXJpYUF0dHJpYnV0ZXM9e3tcbiAgICAgICAgICAgICAgICAgIFwiYXJpYS1sYWJlbFwiOiBpc1Byb2Nlc3NpbmdcbiAgICAgICAgICAgICAgICAgICAgPyBcIlByb2Nlc3NpbmcgcXVlcnlcIlxuICAgICAgICAgICAgICAgICAgICA6IFwiU3VibWl0IHF1ZXJ5XCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBpY29uPXtpc1Byb2Nlc3NpbmcgPyBcInNxdWFyZVwiIDogXCJzZW5kXCJ9XG4gICAgICAgICAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXshdmFsdWV9XG4gICAgICAgICAgICAgICAgey4uLnNlbmRCdXR0b25Qcm9wc31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvSW5saW5lPlxuICAgICAgICAgIDwvQ29sdW1uPlxuICAgICAgICA8L0NvbHVtbnM+XG4gICAgICA8L0JveD5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICAgIGRhdGEtZHMtaWQ9XCJQcm9tcHRJbnB1dFwiXG4gICAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJzXCI+XG4gICAgICAgICAgICA8ZGl2IHJlZj17dGV4dEFyZWFDb250YWluZXJSZWZ9PlxuICAgICAgICAgICAgICA8Q29udGFpbmVyXG4gICAgICAgICAgICAgICAgZWxldmF0aW9uPXtpc0NvbGxhcHNlZCA/IDAgOiAxfVxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1cz17aXNDb2xsYXBzZWQgPyBcInNcIiA6IFwibVwifVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFN0eWxlZFRleHRBcmVhQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPFByb21wdFRleHRBcmVhXG4gICAgICAgICAgICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICAgICAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICAgICAgICAgIHJlZj17dGV4dEFyZWFSZWZ9XG4gICAgICAgICAgICAgICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExpc3RJdGVtPXtzZWxlY3RlZExpc3RJdGVtfVxuICAgICAgICAgICAgICAgICAgICBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuPXtpc0F1dG9jb21wbGV0ZUxpc3RPcGVufVxuICAgICAgICAgICAgICAgICAgICBpc0NvbGxhcHNlZD17aXNDb2xsYXBzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e2hhbmRsZUZvY3VzfVxuICAgICAgICAgICAgICAgICAgICBvbkJsdXI9e2hhbmRsZUJsdXJ9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlS2V5RG93bn1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB7Y2xlYXJCdXR0b25FbG19XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRUZXh0QXJlYUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB7Ym90dG9tVG9vbGJhckVsbX1cbiAgICAgICAgICAgICAgPC9Db250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHtoaW50RWxtfVxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxBdXRvY29tcGxldGVMaXN0XG4gICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zPXthdXRvY29tcGxldGVMaXN0SXRlbXN9XG4gICAgICAgICAgdHJpZ2dlclJlZj17dGV4dEFyZWFDb250YWluZXJSZWZ9XG4gICAgICAgICAgc2VsZWN0ZWRMaXN0SXRlbT17c2VsZWN0ZWRMaXN0SXRlbX1cbiAgICAgICAgICBpc09wZW49e2lzQXV0b2NvbXBsZXRlTGlzdE9wZW59XG4gICAgICAgICAgYXV0b2NvbXBsZXRlTGlzdEZvb3Rlcj17YXV0b2NvbXBsZXRlTGlzdEZvb3Rlcn1cbiAgICAgICAgICBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn1cbiAgICAgICAgICBvbkxpc3RJdGVtQ2xpY2s9e2hhbmRsZUxpc3RJdGVtQ2xpY2t9XG4gICAgICAgIC8+XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG4pO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBDRSJ9 */"),StyledClearButton=styled(PictogramButton,{target:"e4n8w5o2",label:"StyledClearButton"})(({theme,isNavBarVariant})=>({position:"absolute",right:theme.variables.size.spacing.s,top:isNavBarVariant?0:theme.variables.size.spacing.s}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0SW5wdXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSZWFjdEVsZW1lbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIFJlZk9iamVjdCxcbiAgRm9jdXNFdmVudEhhbmRsZXIsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG4gIHVzZUVmZmVjdCxcbiAgdXNlQ2FsbGJhY2ssXG4gIGZvcndhcmRSZWYsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFByb21wdFRleHRBcmVhUHJvcHMgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgUHJvbXB0VGV4dEFyZWEgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lclwiO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVMaXN0UHJvcHMgfSBmcm9tIFwiLi9BdXRvY29tcGxldGVMaXN0XCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVMaXN0IH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlTGlzdFwiO1xuaW1wb3J0IHsgZ2V0TGlzdEl0ZW1JZCwgdHlwZSBGbGF0dGVuZWRMaXN0SXRlbSB9IGZyb20gXCIuL0NhdGVnb3J5TGlzdFwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uL0JveC9Cb3hcIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiLi4vVHlwb2dyYXBoeS9UZXh0XCI7XG5pbXBvcnQgeyBDb2x1bW4sIENvbHVtbnMgfSBmcm9tIFwiLi4vQ29sdW1uL0NvbHVtbnNcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IFJvdW5kQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vUm91bmRCdXR0b24vUm91bmRCdXR0b25cIjtcbmltcG9ydCB7IFJvdW5kQnV0dG9uIH0gZnJvbSBcIi4uL1JvdW5kQnV0dG9uL1JvdW5kQnV0dG9uXCI7XG5pbXBvcnQgdHlwZSB7IFBpY3RvZ3JhbUJ1dHRvblByb3BzIH0gZnJvbSBcIi4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB7IFBpY3RvZ3JhbUJ1dHRvbiB9IGZyb20gXCIuLi9QaWN0b2dyYW1CdXR0b24vUGljdG9ncmFtQnV0dG9uXCI7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCIuLi9TdGFjay9TdGFja1wiO1xuXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzID0gUGljazxcbiAgUHJvbXB0SW5wdXRQcm9wcyxcbiAgXCJpc05hdkJhclZhcmlhbnRcIlxuPjtcblxuY29uc3QgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lciA9XG4gIHN0eWxlZC5kaXY8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzPihcbiAgICAoeyB0aGVtZSwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgdG9wOiBpc05hdkJhclZhcmlhbnRcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubSxcbiAgICAgIHJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgIH0pXG4gICk7XG5cbnR5cGUgU3R5bGVkQ2xlYXJCdXR0b25Qcm9wcyA9IFBpY3RvZ3JhbUJ1dHRvblByb3BzICZcbiAgUGljazxQcm9tcHRJbnB1dFByb3BzLCBcImlzTmF2QmFyVmFyaWFudFwiPjtcblxuY29uc3QgU3R5bGVkQ2xlYXJCdXR0b24gPSBzdHlsZWQoUGljdG9ncmFtQnV0dG9uKTxTdHlsZWRDbGVhckJ1dHRvblByb3BzPihcbiAgKHsgdGhlbWUsIGlzTmF2QmFyVmFyaWFudCB9KSA9PiAoe1xuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB0b3A6IGlzTmF2QmFyVmFyaWFudCA/IDAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRJbnB1dFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIFRvb2xiYXIgZWxlbWVudHMgYmVsb3cgdGV4dCBhcmVhICovXG4gIGJvdHRvbVRvb2xiYXI/OiB7XG4gICAgbGVmdENvbnRlbnQ/OiBSZWFjdEVsZW1lbnQ7XG4gICAgcmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICB9O1xuICAvKiogQ3VycmVudGx5IHNob3dzIHNlbmQgYnV0dG9uIHByb2Nlc3Npbmcgc3RhdGUgICovXG4gIGlzUHJvY2Vzc2luZz86IGJvb2xlYW47XG4gIHNlbmRCdXR0b25Qcm9wcz86IE9taXQ8Um91bmRCdXR0b25Qcm9wcywgXCJpY29uXCIgfCBcInZhcmlhbnRcIj47XG4gIGNsZWFyQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBoaW50PzogUmVhY3RFbGVtZW50O1xuICAvKiogU2hvd3MgaW4gdGhlIGNsZWFyIGJ1dHRvbiBzcGFjZSBpbiBlbXB0eSBzdGF0ZSAqL1xuICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICBvbkNsZWFyOiAoKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdXNlciBzZWxlY3RzIChvciByZWplY3RzKSBhIGxpc3QgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBsaXN0ICovXG4gIG9uQ29tcGxldGU/OiAodmFsdWU6IHN0cmluZywgY2F0ZWdvcnk/OiBzdHJpbmcpID0+IHZvaWQ7XG4gIC8qKiBDYWxsZWQgb24gRW50ZXIga2V5IHRvIHN1Ym1pdCB0aGUgZm9ybSAgKi9cbiAgb25FbnRlcktleTogKCkgPT4gdm9pZDtcbn0gJiBPbWl0PFxuICBQcm9tcHRUZXh0QXJlYVByb3BzLFxuICBcImlzQ29sbGFwc2VkXCIgfCBcImlzQXV0b2NvbXBsZXRlTGlzdE9wZW5cIiB8IFwic2VsZWN0ZWRMaXN0SXRlbVwiXG4+ICZcbiAgUGljazxcbiAgICBBdXRvY29tcGxldGVMaXN0UHJvcHMsXG4gICAgXCJhdXRvY29tcGxldGVMaXN0SXRlbXNcIiB8IFwiYXV0b2NvbXBsZXRlTGlzdEZvb3RlclwiIHwgXCJwb3J0YWxDb250YWluZXJcIlxuICA+O1xuXG5leHBvcnQgY29uc3QgUHJvbXB0SW5wdXQgPSBmb3J3YXJkUmVmKFxuICAoXG4gICAge1xuICAgICAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gICAgICBuYW1lLFxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zID0gW10sXG4gICAgICB2YWx1ZSxcbiAgICAgIGJvdHRvbVRvb2xiYXIgPSB7IGxlZnRDb250ZW50OiBudWxsLCByaWdodENvbnRlbnQ6IG51bGwgfSxcbiAgICAgIGlzUHJvY2Vzc2luZyxcbiAgICAgIHNlbmRCdXR0b25Qcm9wcyA9IHtcbiAgICAgICAgdHlwZTogXCJzdWJtaXRcIixcbiAgICAgIH0sXG4gICAgICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyLFxuICAgICAgY2xlYXJCdXR0b25BcmlhTGFiZWwgPSBcIkNsZWFyIGlucHV0XCIsXG4gICAgICBoaW50LFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCxcbiAgICAgIGlzTmF2QmFyVmFyaWFudCxcbiAgICAgIHBvcnRhbENvbnRhaW5lcixcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb25Db21wbGV0ZSxcbiAgICAgIG9uQ2xlYXIsXG4gICAgICBvbkVudGVyS2V5LFxuICAgICAgb25Gb2N1cyxcbiAgICAgIG9uQmx1cixcbiAgICAgIG9uS2V5RG93bixcbiAgICAgIC4uLnJlc3RcbiAgICB9OiBQcm9tcHRJbnB1dFByb3BzLFxuICAgIHJlZjogUmVmT2JqZWN0PEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gICk6IFJlYWN0RWxlbWVudCA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCB0ZXh0QXJlYUNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgaW50ZXJuYWxSZWYgPSB1c2VSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgW3NlbGVjdGVkSW5kZXgsIHNldFNlbGVjdGVkSW5kZXhdID0gdXNlU3RhdGUoLTEpO1xuICAgIGNvbnN0IFtpc0NvbGxhcHNlZCwgc2V0SXNDb2xsYXBzZWRdID0gdXNlU3RhdGUoaXNOYXZCYXJWYXJpYW50KTtcbiAgICBjb25zdCB1c2VyVHlwZWRRdWVyeSA9IHVzZVJlZihcIlwiKTtcbiAgICBjb25zdCBbaXNBdXRvY29tcGxldGVMaXN0T3Blbiwgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgdGV4dEFyZWFSZWYgPSByZWYgfHwgaW50ZXJuYWxSZWY7XG5cbiAgICBjb25zdCBjbG9zZUF1dG9jb21wbGV0ZUxpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuKGZhbHNlKTtcbiAgICAgIHNldFNlbGVjdGVkSW5kZXgoLTEpO1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IG9wZW5BdXRvY29tcGxldGVMaXN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbih0cnVlKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7XG4gICAgICB9XG4gICAgfSwgW2F1dG9jb21wbGV0ZUxpc3RJdGVtc10pO1xuXG4gICAgY29uc3QgYWNjZXB0VGV4dFNlbGVjdGlvbiA9ICgpID0+IHtcbiAgICAgIHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQgPSB2YWx1ZTtcbiAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UodmFsdWUubGVuZ3RoLCB2YWx1ZS5sZW5ndGgpO1xuICAgIH07XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGggJiYgIWlzQ29sbGFwc2VkKSB7XG4gICAgICAgIG9wZW5BdXRvY29tcGxldGVMaXN0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBhdXRvY29tcGxldGVMaXN0SXRlbXMsXG4gICAgICBvcGVuQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGlzQ29sbGFwc2VkLFxuICAgIF0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSAhPT0gdXNlclR5cGVkUXVlcnkuY3VycmVudCAmJiBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuKSB7XG4gICAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UoXG4gICAgICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudC5sZW5ndGgsXG4gICAgICAgICAgdmFsdWUubGVuZ3RoXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSwgW3ZhbHVlLCB0ZXh0QXJlYVJlZiwgaXNBdXRvY29tcGxldGVMaXN0T3Blbl0pO1xuXG4gICAgLy8gRGV0ZXJtaW5lIHdoZW4gZm9jdXMgbGVhdmVzIHRoZSBjb250YWluZXIgdG8gY29sbGFwc2UgaXRcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgbGV0IGhhbmRsZXI6IChldnQ6IEZvY3VzRXZlbnQpID0+IHZvaWQ7XG4gICAgICBjb25zdCBjb250YWluZXIgPSBjb250YWluZXJSZWYuY3VycmVudDtcblxuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCAmJiBjb250YWluZXIpIHtcbiAgICAgICAgaGFuZGxlciA9IChldnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoIWNvbnRhaW5lclJlZi5jdXJyZW50LmNvbnRhaW5zKGV2dC5yZWxhdGVkVGFyZ2V0IGFzIE5vZGUpKSB7XG4gICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJmb2N1c291dFwiLCBoYW5kbGVyKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKFwiZm9jdXNvdXRcIiwgaGFuZGxlcik7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSwgW2lzTmF2QmFyVmFyaWFudCwgY29udGFpbmVyUmVmXSk7XG5cbiAgICBjb25zdCBmbGF0dGVuZWRMaXN0SXRlbXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGxpc3Q6IEZsYXR0ZW5lZExpc3RJdGVtW10gPSBbXTtcblxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmZvckVhY2goKGxpc3RJdGVtKSA9PiB7XG4gICAgICAgIGxpc3RJdGVtLml0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgbGlzdC5wdXNoKHtcbiAgICAgICAgICAgIGNhdGVnb3J5OiBsaXN0SXRlbS5jYXRlZ29yeSxcbiAgICAgICAgICAgIHZhbHVlOiBpdGVtLnZhbHVlLFxuICAgICAgICAgICAgaWQ6IGdldExpc3RJdGVtSWQobmFtZSwgbGlzdEl0ZW0uY2F0ZWdvcnksIGluZGV4KSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBsaXN0O1xuICAgIH0sIFthdXRvY29tcGxldGVMaXN0SXRlbXMsIG5hbWVdKTtcblxuICAgIGNvbnN0IGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2UgPSAoaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgc2V0U2VsZWN0ZWRJbmRleChpbmRleCk7XG4gICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IHsgY2F0ZWdvcnksIHZhbHVlOiBpdGVtVmFsdWUgfSA9IGZsYXR0ZW5lZExpc3RJdGVtc1tpbmRleF07XG5cbiAgICAgICAgb25Db21wbGV0ZShpdGVtVmFsdWUsIGNhdGVnb3J5KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlTGlzdEl0ZW1DbGljayA9IChjYXRlZ29yeTogc3RyaW5nLCBpdGVtVmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSBmbGF0dGVuZWRMaXN0SXRlbXMuZmluZEluZGV4KFxuICAgICAgICAobGlzdEl0ZW0pID0+XG4gICAgICAgICAgbGlzdEl0ZW0uY2F0ZWdvcnkgPT09IGNhdGVnb3J5ICYmIGxpc3RJdGVtLnZhbHVlID09PSBpdGVtVmFsdWVcbiAgICAgICk7XG4gICAgICBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlKGluZGV4KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVLZXlEb3duOiBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIGlmIChpc0F1dG9jb21wbGV0ZUxpc3RPcGVuKSB7XG4gICAgICAgIHN3aXRjaCAoZXZ0LmtleSkge1xuICAgICAgICAgIGNhc2UgXCJFc2NhcGVcIjpcbiAgICAgICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgICAgICAgb25Db21wbGV0ZSh1c2VyVHlwZWRRdWVyeS5jdXJyZW50KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgICAgICAgICBhY2NlcHRUZXh0U2VsZWN0aW9uKCk7XG5cbiAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgb25FbnRlcktleT8uKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCIgXCI6XG4gICAgICAgICAgICBhY2NlcHRUZXh0U2VsZWN0aW9uKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiQXJyb3dVcFwiOlxuICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2Uoc2VsZWN0ZWRJbmRleCAtIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93RG93blwiOlxuICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA8IGZsYXR0ZW5lZExpc3RJdGVtcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2Uoc2VsZWN0ZWRJbmRleCArIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3dpdGNoIChldnQua2V5KSB7XG4gICAgICAgICAgY2FzZSBcIkVzY2FwZVwiOlxuICAgICAgICAgICAgb25DbGVhcj8uKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiRW50ZXJcIjpcbiAgICAgICAgICAgIGlmICghZXZ0LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBvbkVudGVyS2V5Py4oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG9uS2V5RG93bj8uKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZTogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxUZXh0QXJlYUVsZW1lbnQ+ID0gKGV2dCkgPT4ge1xuICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudCA9IGV2dC50YXJnZXQudmFsdWU7XG4gICAgICBvbkNoYW5nZShldnQpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVGb2N1czogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBzZXRJc0NvbGxhcHNlZChmYWxzZSk7XG4gICAgICBvbkZvY3VzPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQmx1cjogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAodmFsdWUgIT09IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQpIHtcbiAgICAgICAgb25Db21wbGV0ZT8uKHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQpO1xuICAgICAgfVxuICAgICAgb25CbHVyPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRMaXN0SXRlbSA9XG4gICAgICBzZWxlY3RlZEluZGV4ICE9PSAtMSA/IGZsYXR0ZW5lZExpc3RJdGVtc1tzZWxlY3RlZEluZGV4XSA6IG51bGw7XG5cbiAgICBjb25zdCBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtID0gZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCA/IChcbiAgICAgIDxTdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyXG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgPlxuICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCI+e2VtcHR5U3RhdGVUb3BSaWdodENvbnRlbnR9PC9UZXh0PlxuICAgICAgPC9TdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyPlxuICAgICkgOiBudWxsO1xuXG4gICAgY29uc3QgY2xlYXJCdXR0b25FbG0gPSB2YWx1ZSA/IChcbiAgICAgIDxTdHlsZWRDbGVhckJ1dHRvblxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIGljb249XCJ4XCJcbiAgICAgICAgYXJpYS1sYWJlbD17Y2xlYXJCdXR0b25BcmlhTGFiZWx9XG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgICBvblBvaW50ZXJEb3duPXsoZXZ0OiBhbnkpID0+IGV2dC5wcmV2ZW50RGVmYXVsdCgpfVxuICAgICAgICBvbkNsaWNrPXtvbkNsZWFyfVxuICAgICAgLz5cbiAgICApIDogKFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudEVsbVxuICAgICk7XG5cbiAgICBjb25zdCBoaW50RWxtID0gISFoaW50ICYmIChcbiAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8VGV4dCBzaXplPVwic1wiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICAgICAgICB7aGludH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgPC9JbmxpbmU+XG4gICAgKTtcblxuICAgIGNvbnN0IGJvdHRvbVRvb2xiYXJFbG0gPSAhaXNDb2xsYXBzZWQgJiYgKFxuICAgICAgPEJveCBzcGFjZT1cIm1cIiBkYXRhLWUyZS10ZXN0LWlkPVwiYm90dG9tVG9vbGJhclwiPlxuICAgICAgICA8Q29sdW1ucyBnYXA9XCJzXCIgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgPENvbHVtbj57Ym90dG9tVG9vbGJhci5sZWZ0Q29udGVudH08L0NvbHVtbj5cbiAgICAgICAgICA8Q29sdW1uIHNpemU9XCJuYXJyb3dcIj5cbiAgICAgICAgICAgIDxJbmxpbmUgc3BhY2U9XCJ4c1wiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICAgIHtib3R0b21Ub29sYmFyLnJpZ2h0Q29udGVudH1cbiAgICAgICAgICAgICAgPFJvdW5kQnV0dG9uXG4gICAgICAgICAgICAgICAgYXJpYUF0dHJpYnV0ZXM9e3tcbiAgICAgICAgICAgICAgICAgIFwiYXJpYS1sYWJlbFwiOiBpc1Byb2Nlc3NpbmdcbiAgICAgICAgICAgICAgICAgICAgPyBcIlByb2Nlc3NpbmcgcXVlcnlcIlxuICAgICAgICAgICAgICAgICAgICA6IFwiU3VibWl0IHF1ZXJ5XCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBpY29uPXtpc1Byb2Nlc3NpbmcgPyBcInNxdWFyZVwiIDogXCJzZW5kXCJ9XG4gICAgICAgICAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXshdmFsdWV9XG4gICAgICAgICAgICAgICAgey4uLnNlbmRCdXR0b25Qcm9wc31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvSW5saW5lPlxuICAgICAgICAgIDwvQ29sdW1uPlxuICAgICAgICA8L0NvbHVtbnM+XG4gICAgICA8L0JveD5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICAgIGRhdGEtZHMtaWQ9XCJQcm9tcHRJbnB1dFwiXG4gICAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJzXCI+XG4gICAgICAgICAgICA8ZGl2IHJlZj17dGV4dEFyZWFDb250YWluZXJSZWZ9PlxuICAgICAgICAgICAgICA8Q29udGFpbmVyXG4gICAgICAgICAgICAgICAgZWxldmF0aW9uPXtpc0NvbGxhcHNlZCA/IDAgOiAxfVxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1cz17aXNDb2xsYXBzZWQgPyBcInNcIiA6IFwibVwifVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFN0eWxlZFRleHRBcmVhQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPFByb21wdFRleHRBcmVhXG4gICAgICAgICAgICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICAgICAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICAgICAgICAgIHJlZj17dGV4dEFyZWFSZWZ9XG4gICAgICAgICAgICAgICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExpc3RJdGVtPXtzZWxlY3RlZExpc3RJdGVtfVxuICAgICAgICAgICAgICAgICAgICBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuPXtpc0F1dG9jb21wbGV0ZUxpc3RPcGVufVxuICAgICAgICAgICAgICAgICAgICBpc0NvbGxhcHNlZD17aXNDb2xsYXBzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e2hhbmRsZUZvY3VzfVxuICAgICAgICAgICAgICAgICAgICBvbkJsdXI9e2hhbmRsZUJsdXJ9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlS2V5RG93bn1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB7Y2xlYXJCdXR0b25FbG19XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRUZXh0QXJlYUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB7Ym90dG9tVG9vbGJhckVsbX1cbiAgICAgICAgICAgICAgPC9Db250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHtoaW50RWxtfVxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxBdXRvY29tcGxldGVMaXN0XG4gICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zPXthdXRvY29tcGxldGVMaXN0SXRlbXN9XG4gICAgICAgICAgdHJpZ2dlclJlZj17dGV4dEFyZWFDb250YWluZXJSZWZ9XG4gICAgICAgICAgc2VsZWN0ZWRMaXN0SXRlbT17c2VsZWN0ZWRMaXN0SXRlbX1cbiAgICAgICAgICBpc09wZW49e2lzQXV0b2NvbXBsZXRlTGlzdE9wZW59XG4gICAgICAgICAgYXV0b2NvbXBsZXRlTGlzdEZvb3Rlcj17YXV0b2NvbXBsZXRlTGlzdEZvb3Rlcn1cbiAgICAgICAgICBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn1cbiAgICAgICAgICBvbkxpc3RJdGVtQ2xpY2s9e2hhbmRsZUxpc3RJdGVtQ2xpY2t9XG4gICAgICAgIC8+XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG4pO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlEMEIifQ== */");export const PromptInput=forwardRef(({"data-e2e-test-id":dataE2eTestId,name,autocompleteListItems=[],value,bottomToolbar={leftContent:null,rightContent:null},isProcessing,sendButtonProps={type:"submit"},autocompleteListFooter,clearButtonAriaLabel="Clear input",hint,emptyStateTopRightContent,isNavBarVariant,portalContainer,onChange,onComplete,onClear,onEnterKey,onFocus,onBlur,onKeyDown,...rest},ref)=>{let containerRef=useRef(null),textAreaContainerRef=useRef(null),internalRef=useRef(null),[selectedIndex,setSelectedIndex]=useState(-1),[isCollapsed,setIsCollapsed]=useState(isNavBarVariant),userTypedQuery=useRef(""),[isAutocompleteListOpen,setIsAutocompleteListOpen]=useState(!1),textAreaRef=ref||internalRef,closeAutocompleteList=useCallback(()=>{setIsAutocompleteListOpen(!1),setSelectedIndex(-1)},[]),openAutocompleteList=useCallback(()=>{autocompleteListItems.length&&(setIsAutocompleteListOpen(!0),setSelectedIndex(-1))},[autocompleteListItems]),acceptTextSelection=()=>{userTypedQuery.current=value,textAreaRef.current.setSelectionRange(value.length,value.length)};useEffect(()=>{autocompleteListItems.length&&!isCollapsed?openAutocompleteList():closeAutocompleteList()},[autocompleteListItems,openAutocompleteList,closeAutocompleteList,isCollapsed]),useEffect(()=>{value&&value!==userTypedQuery.current&&isAutocompleteListOpen&&textAreaRef.current.setSelectionRange(userTypedQuery.current.length,value.length)},[value,textAreaRef,isAutocompleteListOpen]),useEffect(()=>{let handler,container=containerRef.current;return isNavBarVariant&&container&&(handler=evt=>{containerRef.current.contains(evt.relatedTarget)||setIsCollapsed(!0)},containerRef.current.addEventListener("focusout",handler)),()=>{container&&container.removeEventListener("focusout",handler)}},[isNavBarVariant,containerRef]);let flattenedListItems=useMemo(()=>{let list=[];return autocompleteListItems.forEach(listItem=>{listItem.items.forEach((item,index)=>{list.push({category:listItem.category,value:item.value,id:getListItemId(name,listItem.category,index)})})}),list},[autocompleteListItems,name]),handleSelectedIndexChange=index=>{if(setSelectedIndex(index),-1!==index){let{category,value:itemValue}=flattenedListItems[index];onComplete(itemValue,category)}},selectedListItem=-1!==selectedIndex?flattenedListItems[selectedIndex]:null,emptyStateTopRightContentElm=emptyStateTopRightContent?React.createElement(StyledEmptyStateTopRightContentContainer,{isNavBarVariant:isNavBarVariant},React.createElement(Text,{color:"tertiary"},emptyStateTopRightContent)):null,clearButtonElm=value?React.createElement(StyledClearButton,{size:"s",icon:"x","aria-label":clearButtonAriaLabel,isNavBarVariant:isNavBarVariant,onPointerDown:evt=>evt.preventDefault(),onClick:onClear}):emptyStateTopRightContentElm,hintElm=!!hint&&React.createElement(Inline,{alignItems:"center"},React.createElement(Text,{size:"s",color:"tertiary"},hint)),bottomToolbarElm=!isCollapsed&&React.createElement(Box,{space:"m","data-e2e-test-id":"bottomToolbar"},React.createElement(Columns,{gap:"s",alignItems:"spaceBetween",vAlignItems:"center"},React.createElement(Column,null,bottomToolbar.leftContent),React.createElement(Column,{size:"narrow"},React.createElement(Inline,{space:"xs",vAlignItems:"center"},bottomToolbar.rightContent,React.createElement(RoundButton,{ariaAttributes:{"aria-label":isProcessing?"Processing query":"Submit query"},icon:isProcessing?"square":"send",variant:"primary",disabled:!value,...sendButtonProps})))));return React.createElement(React.Fragment,null,React.createElement("div",{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"PromptInput",ref:containerRef},React.createElement(Stack,{space:"s"},React.createElement("div",{ref:textAreaContainerRef},React.createElement(Container,{elevation:+!isCollapsed,borderRadius:isCollapsed?"s":"m"},React.createElement(StyledTextAreaContainer,null,React.createElement(PromptTextArea,{...rest,name:name,value:value,ref:textAreaRef,isNavBarVariant:isNavBarVariant,selectedListItem:selectedListItem,isAutocompleteListOpen:isAutocompleteListOpen,isCollapsed:isCollapsed,onFocus:evt=>{setIsCollapsed(!1),onFocus?.(evt)},onBlur:evt=>{value!==userTypedQuery.current&&onComplete?.(userTypedQuery.current),onBlur?.(evt)},onChange:evt=>{userTypedQuery.current=evt.target.value,onChange(evt)},onKeyDown:evt=>{if(isAutocompleteListOpen)switch(evt.key){case"Escape":closeAutocompleteList(),onComplete(userTypedQuery.current);break;case"Enter":!evt.shiftKey&&(evt.preventDefault(),closeAutocompleteList(),acceptTextSelection(),value&&onEnterKey?.());break;case" ":acceptTextSelection();break;case"ArrowUp":evt.preventDefault(),selectedIndex>-1&&handleSelectedIndexChange(selectedIndex-1);break;case"ArrowDown":evt.preventDefault(),selectedIndex<flattenedListItems.length-1&&handleSelectedIndexChange(selectedIndex+1)}else switch(evt.key){case"Escape":onClear?.();break;case"Enter":!evt.shiftKey&&(evt.preventDefault(),value&&onEnterKey?.())}onKeyDown?.(evt)}}),clearButtonElm),bottomToolbarElm)),hintElm)),React.createElement(AutocompleteList,{name:name,value:value,autocompleteListItems:autocompleteListItems,triggerRef:textAreaContainerRef,selectedListItem:selectedListItem,isOpen:isAutocompleteListOpen,autocompleteListFooter:autocompleteListFooter,portalContainer:portalContainer,onListItemClick:(category,itemValue)=>{handleSelectedIndexChange(flattenedListItems.findIndex(listItem=>listItem.category===category&&listItem.value===itemValue)),closeAutocompleteList()}}))});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { TextareaHTMLAttributes } from "react";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import type { Property } from "csstype";
|
|
4
|
+
import type { FlattenedListItem } from "./CategoryList";
|
|
5
|
+
export type PromptTextAreaProps = TextareaHTMLAttributes<HTMLTextAreaElement> & {
|
|
6
|
+
label: string;
|
|
7
|
+
name: string;
|
|
8
|
+
value: string;
|
|
9
|
+
maxTextAreaHeight?: Property.Height;
|
|
10
|
+
selectedListItem?: FlattenedListItem;
|
|
11
|
+
isAutocompleteListOpen?: boolean;
|
|
12
|
+
isCollapsed?: boolean;
|
|
13
|
+
/** Collapsed variant showing only single row text area */
|
|
14
|
+
isNavBarVariant?: boolean;
|
|
15
|
+
};
|
|
16
|
+
export declare const PromptTextArea: React.ForwardRefExoticComponent<TextareaHTMLAttributes<HTMLTextAreaElement> & {
|
|
17
|
+
label: string;
|
|
18
|
+
name: string;
|
|
19
|
+
value: string;
|
|
20
|
+
maxTextAreaHeight?: Property.Height;
|
|
21
|
+
selectedListItem?: FlattenedListItem;
|
|
22
|
+
isAutocompleteListOpen?: boolean;
|
|
23
|
+
isCollapsed?: boolean;
|
|
24
|
+
/** Collapsed variant showing only single row text area */
|
|
25
|
+
isNavBarVariant?: boolean;
|
|
26
|
+
} & React.RefAttributes<HTMLTextAreaElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import React,{forwardRef,useEffect}from"react";import styled from"@emotion/styled";import{ScreenReaderText}from"../Utilities/ScreenReaderText/ScreenReaderText";import{getAutocompleteListId}from"./AutocompleteList";let StyledTextAreaContainer=styled("label",{target:"e16ka3080",label:"StyledTextAreaContainer"})(({theme,maxTextAreaHeight,isCollapsed,isNavBarVariant})=>({display:"grid",verticalAlign:"top",alignItems:"stretch",width:"100%",borderRadius:"inherit",fontFamily:theme.variables.fontFamily.lato,fontSize:theme.variables.size.font.m,lineHeight:theme.variables.size.lineHeight.xl,...isCollapsed&&{backgroundColor:theme.values.color.canvas},"&::after":{content:"attr(data-value) ' '",boxSizing:"border-box",fontFamily:theme.variables.fontFamily.lato,fontSize:theme.variables.size.font.m,gridArea:"1 / 1",whiteSpace:"pre-wrap",visibility:"hidden",maxHeight:maxTextAreaHeight},textarea:{all:"unset",resize:"none",gridArea:"1 / 1",...isCollapsed&&{overflow:"hidden"}},"&::after, textarea":{padding:isNavBarVariant?`${theme.variables.size.spacing.xxs} ${theme.variables.size.spacing.xxl} ${theme.variables.size.spacing.xxs} ${theme.variables.size.spacing.m}`:`${theme.variables.size.spacing.m} ${theme.variables.size.spacing.xxl} ${theme.variables.size.spacing.m} ${theme.variables.size.spacing.m}`,...!isCollapsed&&{paddingBottom:theme.variables.size.spacing.m}}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0VGV4dEFyZWEudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRUZXh0QXJlYS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QsIFRleHRhcmVhSFRNTEF0dHJpYnV0ZXMgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwgeyBmb3J3YXJkUmVmLCB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eSB9IGZyb20gXCJjc3N0eXBlXCI7XG5pbXBvcnQgeyBTY3JlZW5SZWFkZXJUZXh0IH0gZnJvbSBcIi4uL1V0aWxpdGllcy9TY3JlZW5SZWFkZXJUZXh0L1NjcmVlblJlYWRlclRleHRcIjtcbmltcG9ydCB7IGdldEF1dG9jb21wbGV0ZUxpc3RJZCB9IGZyb20gXCIuL0F1dG9jb21wbGV0ZUxpc3RcIjtcbmltcG9ydCB0eXBlIHsgRmxhdHRlbmVkTGlzdEl0ZW0gfSBmcm9tIFwiLi9DYXRlZ29yeUxpc3RcIjtcblxuZXhwb3J0IHR5cGUgUHJvbXB0VGV4dEFyZWFQcm9wcyA9XG4gIFRleHRhcmVhSFRNTEF0dHJpYnV0ZXM8SFRNTFRleHRBcmVhRWxlbWVudD4gJiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBtYXhUZXh0QXJlYUhlaWdodD86IFByb3BlcnR5LkhlaWdodDtcbiAgICBzZWxlY3RlZExpc3RJdGVtPzogRmxhdHRlbmVkTGlzdEl0ZW07XG4gICAgaXNBdXRvY29tcGxldGVMaXN0T3Blbj86IGJvb2xlYW47XG4gICAgaXNDb2xsYXBzZWQ/OiBib29sZWFuO1xuICAgIC8qKiBDb2xsYXBzZWQgdmFyaWFudCBzaG93aW5nIG9ubHkgc2luZ2xlIHJvdyB0ZXh0IGFyZWEgKi9cbiAgICBpc05hdkJhclZhcmlhbnQ/OiBib29sZWFuO1xuICB9O1xuXG50eXBlIFN0eWxlZFRleHRBcmVhQ29udGFpbmVyUHJvcHMgPSBQaWNrPFxuICBQcm9tcHRUZXh0QXJlYVByb3BzLFxuICBcIm1heFRleHRBcmVhSGVpZ2h0XCIgfCBcImlzQ29sbGFwc2VkXCIgfCBcImlzTmF2QmFyVmFyaWFudFwiXG4+O1xuXG4vLyBUZXh0YXJlYSBhdXRvIGdyb3cgaW1wbGVtZW50ZWQgYWNjb3JkaW5nIHRvIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vdGhlLWNsZWFuZXN0LXRyaWNrLWZvci1hdXRvZ3Jvd2luZy10ZXh0YXJlYXMvXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5sYWJlbDxTdHlsZWRUZXh0QXJlYUNvbnRhaW5lclByb3BzPihcbiAgKHsgdGhlbWUsIG1heFRleHRBcmVhSGVpZ2h0LCBpc0NvbGxhcHNlZCwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgZGlzcGxheTogXCJncmlkXCIsXG4gICAgdmVydGljYWxBbGlnbjogXCJ0b3BcIixcbiAgICBhbGlnbkl0ZW1zOiBcInN0cmV0Y2hcIixcbiAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgYm9yZGVyUmFkaXVzOiBcImluaGVyaXRcIixcbiAgICBmb250RmFtaWx5OiB0aGVtZS52YXJpYWJsZXMuZm9udEZhbWlseS5sYXRvLFxuICAgIGZvbnRTaXplOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5mb250Lm0sXG4gICAgbGluZUhlaWdodDogdGhlbWUudmFyaWFibGVzLnNpemUubGluZUhlaWdodC54bCxcblxuICAgIC4uLihpc0NvbGxhcHNlZCAmJiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5jYW52YXMsXG4gICAgfSksXG5cbiAgICBcIiY6OmFmdGVyXCI6IHtcbiAgICAgIGNvbnRlbnQ6IFwiYXR0cihkYXRhLXZhbHVlKSAnICdcIiwgLy8gdGhlIGVtcHR5IHNwYWNlIHByZXZlbnRzIHRleHRhcmVhIGp1bXAgb24gZ3Jvd1xuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIGZvbnRGYW1pbHk6IHRoZW1lLnZhcmlhYmxlcy5mb250RmFtaWx5LmxhdG8sXG4gICAgICBmb250U2l6ZTogdGhlbWUudmFyaWFibGVzLnNpemUuZm9udC5tLFxuICAgICAgZ3JpZEFyZWE6IFwiMSAvIDFcIixcbiAgICAgIHdoaXRlU3BhY2U6IFwicHJlLXdyYXBcIixcbiAgICAgIHZpc2liaWxpdHk6IFwiaGlkZGVuXCIsXG4gICAgICBtYXhIZWlnaHQ6IG1heFRleHRBcmVhSGVpZ2h0LFxuICAgIH0sXG5cbiAgICB0ZXh0YXJlYToge1xuICAgICAgYWxsOiBcInVuc2V0XCIsXG4gICAgICByZXNpemU6IFwibm9uZVwiLFxuICAgICAgZ3JpZEFyZWE6IFwiMSAvIDFcIixcblxuICAgICAgLi4uKGlzQ29sbGFwc2VkICYmIHtcbiAgICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgICB9KSxcbiAgICB9LFxuXG4gICAgXCImOjphZnRlciwgdGV4dGFyZWFcIjoge1xuICAgICAgcGFkZGluZzogaXNOYXZCYXJWYXJpYW50XG4gICAgICAgID8gYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eHN9ICAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHhsfSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHhzfSAgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm19YFxuICAgICAgICA6IGAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubX0gJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4bH0gJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm19ICR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5tfWAsXG5cbiAgICAgIC4uLighaXNDb2xsYXBzZWQgJiYge1xuICAgICAgICBwYWRkaW5nQm90dG9tOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB9KSxcbiAgICB9LFxuICB9KVxuKTtcblxuZXhwb3J0IGNvbnN0IFByb21wdFRleHRBcmVhID0gZm9yd2FyZFJlZihcbiAgKFxuICAgIHtcbiAgICAgIGxhYmVsLFxuICAgICAgbmFtZSxcbiAgICAgIHZhbHVlLFxuICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICBtYXhUZXh0QXJlYUhlaWdodCA9IFwiMjAwcHhcIixcbiAgICAgIHNlbGVjdGVkTGlzdEl0ZW0sXG4gICAgICBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuLFxuICAgICAgaXNDb2xsYXBzZWQsXG4gICAgICBpc05hdkJhclZhcmlhbnQsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIC4uLnJlc3RcbiAgICB9OiBQcm9tcHRUZXh0QXJlYVByb3BzLFxuICAgIHJlZjogUmVmT2JqZWN0PEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gICkgPT4ge1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCB0ZXh0QXJlYSA9IHJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAoaXNDb2xsYXBzZWQpIHtcbiAgICAgICAgKHRleHRBcmVhLnBhcmVudE5vZGUgYXMgSFRNTEVsZW1lbnQpLmRhdGFzZXQudmFsdWUgPSBcIlwiO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU2V0IHRoZSB2YWx1ZSBvZiB0aGUgOjphZnRlciBwc3VlZG8gZWxlbWVudCBzbyB0aGF0IHRoZSBUZXh0QXJlYSByZXNpemVzIGFjY29yZGluZ2x5IGFzIHRoZSBncmlkIHN0cmV0Y2hlcy5cbiAgICAgICAgKHRleHRBcmVhLnBhcmVudE5vZGUgYXMgSFRNTEVsZW1lbnQpLmRhdGFzZXQudmFsdWUgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9LCBbdmFsdWUsIHJlZiwgaXNDb2xsYXBzZWRdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkVGV4dEFyZWFDb250YWluZXJcbiAgICAgICAgbWF4VGV4dEFyZWFIZWlnaHQ9e21heFRleHRBcmVhSGVpZ2h0fVxuICAgICAgICBpc0NvbGxhcHNlZD17aXNDb2xsYXBzZWR9XG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgPlxuICAgICAgICA8U2NyZWVuUmVhZGVyVGV4dD57bGFiZWx9PC9TY3JlZW5SZWFkZXJUZXh0PlxuICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgIHJvd3M9ezF9XG4gICAgICAgICAgcm9sZT1cImNvbWJvYm94XCJcbiAgICAgICAgICBhcmlhLWF1dG9jb21wbGV0ZT1cImxpc3RcIlxuICAgICAgICAgIGFyaWEtY29udHJvbHM9e1xuICAgICAgICAgICAgaXNBdXRvY29tcGxldGVMaXN0T3BlbiA/IGdldEF1dG9jb21wbGV0ZUxpc3RJZChuYW1lKSA6IFwiXCJcbiAgICAgICAgICB9XG4gICAgICAgICAgYXJpYS1hY3RpdmVkZXNjZW5kYW50PXtzZWxlY3RlZExpc3RJdGVtID8gc2VsZWN0ZWRMaXN0SXRlbS5pZCA6IFwiXCJ9XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD17aXNBdXRvY29tcGxldGVMaXN0T3Blbn1cbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkVGV4dEFyZWFDb250YWluZXI+XG4gICAgKTtcbiAgfVxuKTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyQmdDIn0= */");export const PromptTextArea=forwardRef(({label,name,value,placeholder,maxTextAreaHeight="200px",selectedListItem,isAutocompleteListOpen,isCollapsed,isNavBarVariant,onChange,...rest},ref)=>(useEffect(()=>{let textArea=ref.current;isCollapsed?textArea.parentNode.dataset.value="":textArea.parentNode.dataset.value=value},[value,ref,isCollapsed]),React.createElement(StyledTextAreaContainer,{maxTextAreaHeight:maxTextAreaHeight,isCollapsed:isCollapsed,isNavBarVariant:isNavBarVariant},React.createElement(ScreenReaderText,null,label),React.createElement("textarea",{...rest,ref:ref,name:name,value:value,placeholder:placeholder,onChange:onChange,rows:1,role:"combobox","aria-autocomplete":"list","aria-controls":isAutocompleteListOpen?getAutocompleteListId(name):"","aria-activedescendant":selectedListItem?selectedListItem.id:"","aria-expanded":isAutocompleteListOpen}))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import React,{useState,useRef,useEffect,useCallback,useMemo}from"react";import styled from"@emotion/styled";import{TooltipContent}from"../Tooltip/TooltipContent";import{Sheet}from"../Sheet/Sheet";import{FocusTrapWrapper}from"../../shared/FocusTrapWrapper";import breakpoints from"../../web-tokens/_breakpoints.json";let StyledContainer=styled("div",{target:"equiaof0",label:"StyledContainer"})(()=>({borderRadius:"inherit"}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVG9nZ2xldGlwL0Jhc2VQb3BvdmVyLnRzeCIsInNvdXJjZXMiOlsic3JjL2NvbXBvbmVudHMvVG9nZ2xldGlwL0Jhc2VQb3BvdmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nICovXG5pbXBvcnQgdHlwZSB7XG4gIFJlYWN0RWxlbWVudCxcbiAgUHJvcHNXaXRoQ2hpbGRyZW4sXG4gIE1vdXNlRXZlbnQgYXMgUmVhY3RNb3VzZUV2ZW50LFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwge1xuICB1c2VTdGF0ZSxcbiAgdXNlUmVmLFxuICB1c2VFZmZlY3QsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VNZW1vLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHR5cGUgeyBUb29sdGlwQ29udGVudFByb3BzIH0gZnJvbSBcIi4uL1Rvb2x0aXAvVG9vbHRpcENvbnRlbnRcIjtcbmltcG9ydCB0eXBlIHsgVG9vbHRpcENvbmRpdGlvbmFsUHJvcHMgfSBmcm9tIFwiLi4vVG9vbHRpcC90eXBlc1wiO1xuaW1wb3J0IHsgVG9vbHRpcENvbnRlbnQgfSBmcm9tIFwiLi4vVG9vbHRpcC9Ub29sdGlwQ29udGVudFwiO1xuaW1wb3J0IHsgU2hlZXQgfSBmcm9tIFwiLi4vU2hlZXQvU2hlZXRcIjtcbmltcG9ydCB7IEZvY3VzVHJhcFdyYXBwZXIgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL0ZvY3VzVHJhcFdyYXBwZXJcIjtcbmltcG9ydCBicmVha3BvaW50cyBmcm9tIFwiLi4vLi4vd2ViLXRva2Vucy9fYnJlYWtwb2ludHMuanNvblwiO1xuXG50eXBlIEJhc2VQcm9wcyA9IFBpY2s8XG4gIFRvb2x0aXBDb250ZW50UHJvcHMsXG4gIHwgXCJwbGFjZW1lbnRcIlxuICB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgfCBcIm1heFdpZHRoXCJcbiAgfCBcImNvbnRlbnRQYWRkaW5nXCJcbiAgfCBcImhpZGVBcnJvd1wiXG4gIHwgXCJzdWJUaGVtZVwiXG4gIHwgXCJkZWZhdWx0VmVydGljYWxQbGFjZW1lbnRcIlxuICB8IFwib25PdmVyZmxvd1ZpZXdwb3J0XCJcbj4gJiB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKiAgUG9wb3ZlciBjb250ZW50ICovXG4gIGNvbnRlbnQ6IFJlYWN0RWxlbWVudDtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIC8qKiAgUHJvZ3JhbW1hdGljYWxseSB0b2dnbGUgUG9wb3ZlciB2aXNpYmlsaXR5IHdpdGggdGhpcyBwcm9wICovXG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XG4gIC8qKiAgQ2FsbGVkIHdoZW4gdG9vbHRpcCBhcHBlYXJzIGFuZCBkaXNhcHBlYXJzICovXG4gIG9uVmlzaWJpbGl0eUNoYW5nZT86IChpc1Zpc2libGU6IGJvb2xlYW4sIHJlYXNvbjogc3RyaW5nKSA9PiB2b2lkO1xuICAvKiogIENvbnRyb2xzIHdoZXRoZXIgQmFzZVBvcG92ZXIgIGNsb3NlcyBvbiBvdXRzaWRlIGNsaWNrICovXG4gIGRpc21pc3NPbk91dHNpZGVDbGljaz86IGJvb2xlYW47XG4gIC8qKiAgT3B0aW9uIGZvciBmb2N1cy10cmFwLCBjb250cm9scyB3aGV0aGVyIHRoZSBmaXJzdCBmb2N1YWJsZSBpdGVtIHJlY2lldmVzIGZvY3VzICovXG4gIGRpc2FibGVJbml0aWFsRm9jdXM/OiBib29sZWFuO1xuICAvKiogIE9wdGlvbiBmb3IgZm9jdXMtdHJhcCwgY29udHJvbHMgd2hldGhlciB0aGUgdHJpZ2dlciBzaG91bGQgcmVjZWl2ZSBiYWNrIHRoZSBmb2N1cyBvbiBwb3BvdmVyIGNsb3NlICovXG4gIGRpc2FibGVSZXR1cm5Gb2N1c1RvVHJpZ2dlcj86IGJvb2xlYW47XG4gIC8qKiAgUmVuZGVyIGFzIHNoZWV0IG9uIG1vYmlsZSB3ZWIgKi9cbiAgcmVuZGVyQXNTaGVldE9uTW9iaWxlPzogYm9vbGVhbjtcbiAgLyoqICBQcm9wcyBmb3IgY29uZmlndXJpbmcgdGhlIHNoZWV0IG9uIG1vYmlsZSB3ZWIgKi9cbiAgc2hlZXRQcm9wcz86IHtcbiAgICAvKiogIFNob3cgdGhlIGRhcmsgc2NyaW0gYmFja2Ryb3Agb24gbW9iaWxlIHdlYiB3aGVuIHJlbmRlcmluZyBhcyBTaGVldCAqL1xuICAgIGhhc0JhY2tkcm9wPzogYm9vbGVhbjtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhc2VQb3BvdmVyUHJvcHMgPSBCYXNlUHJvcHMgJiBUb29sdGlwQ29uZGl0aW9uYWxQcm9wcztcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdigoKSA9PiAoe1xuICBib3JkZXJSYWRpdXM6IFwiaW5oZXJpdFwiLFxufSkpO1xuXG5jb25zdCBGb2N1c1RyYXBDb250ZW50ID0gUmVhY3QuZm9yd2FyZFJlZjxcbiAgSFRNTERpdkVsZW1lbnQsXG4gIFByb3BzV2l0aENoaWxkcmVuPHVua25vd24+XG4+KCh7IGNoaWxkcmVuIH0sIHJlZikgPT4gKFxuICA8U3R5bGVkQ29udGFpbmVyIHJlZj17cmVmfT57Y2hpbGRyZW59PC9TdHlsZWRDb250YWluZXI+XG4pKTtcblxuY29uc3QgVmlzaWJpbGl0eUNoYW5nZVJlYXNvbiA9IHtcbiAgdHJpZ2dlckNsaWNrOiBcInRyaWdnZXJDbGlja1wiLFxuICBvdXRzaWRlQ2xpY2s6IFwib3V0c2lkZUNsaWNrXCIsXG59O1xuXG5mdW5jdGlvbiBnZXRNb2JpbGVCcmVha3BvaW50KHJlbmRlckFzU2hlZXRPbk1vYmlsZTogYm9vbGVhbikge1xuICByZXR1cm4gKFxuICAgICEhd2luZG93ICYmXG4gICAgcmVuZGVyQXNTaGVldE9uTW9iaWxlICYmXG4gICAgd2luZG93LmlubmVyV2lkdGggPD0gYnJlYWtwb2ludHMubWVkaXVtLnZhbHVlXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCYXNlUG9wb3Zlcih7XG4gIHBsYWNlbWVudCA9IFwiYXV0b1wiLFxuICBjb250ZW50LFxuICBjaGlsZHJlbixcbiAgY29udGVudFBhZGRpbmcgPSBcIm1cIixcbiAgbWF4V2lkdGgsXG4gIGV4dGVybmFsVHJpZ2dlclJlZixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBuYW1lID0gXCJQb3BvdmVyXCIsXG4gIGlzVmlzaWJsZTogaXNQb3BvdmVyVmlzaWJsZSxcbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrID0gdHJ1ZSxcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gIHN1YlRoZW1lLFxuICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQsXG4gIG9uVmlzaWJpbGl0eUNoYW5nZSxcbiAgZGlzYWJsZUluaXRpYWxGb2N1cyA9IGZhbHNlLFxuICBkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXIgPSBmYWxzZSxcbiAgcmVuZGVyQXNTaGVldE9uTW9iaWxlID0gZmFsc2UsXG4gIHNoZWV0UHJvcHMsXG4gIC4uLnJlc3RDb250ZW50UHJvcHNcbn06IEJhc2VQb3BvdmVyUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCB0b29sdGlwSWQgPSB1c2VNZW1vKFxuICAgICgpID0+IGBEUyR7bmFtZX1fJHtNYXRoLmZsb29yKERhdGUubm93KCkgKiBNYXRoLnJhbmRvbSgpKX1gLFxuICAgIFtuYW1lXVxuICApO1xuICBjb25zdCBbaXNWaXNpYmxlLCBzZXRWaXNpYmxlXSA9IHVzZVN0YXRlKGlzUG9wb3ZlclZpc2libGUpO1xuICBjb25zdCBbaXNNb2JpbGVCcmVha1BvaW50LCBzZXRJc01vYmlsZUJyZWFrcG9pbnRdID0gdXNlU3RhdGUoXG4gICAgZ2V0TW9iaWxlQnJlYWtwb2ludChyZW5kZXJBc1NoZWV0T25Nb2JpbGUpXG4gICk7XG4gIGNvbnN0IGludGVybmFsVHJpZ2dlclJlZiA9IHVzZVJlZjxIVE1MRWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHRyaWdnZXJSZWYgPSBleHRlcm5hbFRyaWdnZXJSZWYgfHwgaW50ZXJuYWxUcmlnZ2VyUmVmO1xuICBjb25zdCBpc091dHNpZGVDbGlja09uVHJpZ2dlciA9IHVzZVJlZihmYWxzZSk7XG5cbiAgY29uc3QgdG9nZ2xlVmlzaWJpbGl0eSA9IHVzZUNhbGxiYWNrKFxuICAgIChzdGF0dXM6IGJvb2xlYW4sIHJlYXNvbjogc3RyaW5nKSA9PiB7XG4gICAgICBzZXRWaXNpYmxlKHN0YXR1cyk7XG5cbiAgICAgIGlmIChvblZpc2liaWxpdHlDaGFuZ2UpIHtcbiAgICAgICAgb25WaXNpYmlsaXR5Q2hhbmdlKHN0YXR1cywgcmVhc29uKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtvblZpc2liaWxpdHlDaGFuZ2VdXG4gICk7XG5cbiAgLy8gT3V0c2lkZSBjbGljayBpcyBhbHNvIGZpcmVkIHdoZW4gdGhlIFBvcG92ZXIgaXMgb3BlbiBhbmQgdHJpZ2dlciBpcyBjbGlja2VkLiBgaXNPdXRzaWRlQ2xpY2tPblRyaWdnZXJgIHNhdmVzIHRoaXMgY29uZGl0aW9uIGFuZCB3ZSBjaGVjayBmb3IgaXQgc28gYXMgdG8gbm90IHRvZ2dsZSB0aGUgUG9wb3ZlciB0d2ljZS5cbiAgY29uc3QgaGFuZGxlVHJpZ2dlckNsaWNrID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICghaXNPdXRzaWRlQ2xpY2tPblRyaWdnZXIuY3VycmVudCkge1xuICAgICAgdG9nZ2xlVmlzaWJpbGl0eSghaXNWaXNpYmxlLCBWaXNpYmlsaXR5Q2hhbmdlUmVhc29uLnRyaWdnZXJDbGljayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHJlc2V0IHRoaXMgdmFsdWUgc28gdGhhdCBQb3BvdmVyIGNhbiBvcGVuIGluIG5leHQgY2xpY2tcbiAgICAgIGlzT3V0c2lkZUNsaWNrT25UcmlnZ2VyLmN1cnJlbnQgPSBmYWxzZTtcbiAgICB9XG4gIH0sIFt0b2dnbGVWaXNpYmlsaXR5LCBpc1Zpc2libGVdKTtcblxuICBjb25zdCBoYW5kbGVDbGlja091dHNpZGVEZWFjdGl2YXRlcyA9IHVzZUNhbGxiYWNrKFxuICAgIChldnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgdHJpZ2dlclJlZi5jdXJyZW50ICYmXG4gICAgICAgIHRyaWdnZXJSZWYuY3VycmVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIE5vZGUpXG4gICAgICApIHtcbiAgICAgICAgaXNPdXRzaWRlQ2xpY2tPblRyaWdnZXIuY3VycmVudCA9IHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9LFxuICAgIFt0cmlnZ2VyUmVmLCBpc091dHNpZGVDbGlja09uVHJpZ2dlcl1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVQb3N0RGVhY3RpdmF0ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCByZWFzb24gPSBpc091dHNpZGVDbGlja09uVHJpZ2dlci5jdXJyZW50XG4gICAgICA/IFZpc2liaWxpdHlDaGFuZ2VSZWFzb24udHJpZ2dlckNsaWNrXG4gICAgICA6IFZpc2liaWxpdHlDaGFuZ2VSZWFzb24ub3V0c2lkZUNsaWNrO1xuXG4gICAgdG9nZ2xlVmlzaWJpbGl0eShmYWxzZSwgcmVhc29uKTtcbiAgfSwgW3RvZ2dsZVZpc2liaWxpdHldKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldFZpc2libGUoaXNQb3BvdmVyVmlzaWJsZSk7XG4gIH0sIFtpc1BvcG92ZXJWaXNpYmxlXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBDaGVjayBpZiB0aGlzIGlzIGEgbW9iaWxlIGJyZWFrcG9pbnRcbiAgICBzZXRJc01vYmlsZUJyZWFrcG9pbnQoZ2V0TW9iaWxlQnJlYWtwb2ludChyZW5kZXJBc1NoZWV0T25Nb2JpbGUpKTtcbiAgfSwgW2lzVmlzaWJsZSwgcmVuZGVyQXNTaGVldE9uTW9iaWxlXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgdHJpZ2dlcjogSFRNTEVsZW1lbnQ7XG5cbiAgICBpZiAoZXh0ZXJuYWxUcmlnZ2VyUmVmPy5jdXJyZW50ICYmICFjaGlsZHJlbikge1xuICAgICAgdHJpZ2dlciA9IGV4dGVybmFsVHJpZ2dlclJlZi5jdXJyZW50O1xuICAgICAgY29uc3QgdHJpZ2dlclRhYkluZGV4ID0gdHJpZ2dlci5nZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiKTtcblxuICAgICAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCB0cmlnZ2VyVGFiSW5kZXggPz8gXCIwXCIpO1xuICAgICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgaGFuZGxlVHJpZ2dlckNsaWNrKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKHRyaWdnZXIpIHtcbiAgICAgICAgdHJpZ2dlci5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgaGFuZGxlVHJpZ2dlckNsaWNrKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbZXh0ZXJuYWxUcmlnZ2VyUmVmLCBjaGlsZHJlbiwgaGFuZGxlVHJpZ2dlckNsaWNrXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZXh0ZXJuYWxUcmlnZ2VyUmVmPy5jdXJyZW50ICYmICFjaGlsZHJlbikge1xuICAgICAgY29uc3QgdHJpZ2dlciA9IGV4dGVybmFsVHJpZ2dlclJlZi5jdXJyZW50O1xuXG4gICAgICB0cmlnZ2VyLnNldEF0dHJpYnV0ZShcImFyaWEtaGFzcG9wdXBcIiwgXCJ0cnVlXCIpO1xuICAgICAgaWYgKGlzVmlzaWJsZSkge1xuICAgICAgICB0cmlnZ2VyLnNldEF0dHJpYnV0ZShcImFyaWEtZXhwYW5kZWRcIiwgXCJ0cnVlXCIpO1xuICAgICAgICB0cmlnZ2VyLnNldEF0dHJpYnV0ZShcImFyaWEtY29udHJvbHNcIiwgdG9vbHRpcElkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiKTtcbiAgICAgICAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoXCJhcmlhLWNvbnRyb2xzXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW2V4dGVybmFsVHJpZ2dlclJlZiwgY2hpbGRyZW4sIHRvb2x0aXBJZCwgaXNWaXNpYmxlXSk7XG5cbiAgY29uc3QgdHJpZ2dlckVsbSA9IGNoaWxkcmVuXG4gICAgPyBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGRyZW4sIHtcbiAgICAgICAgcmVmOiB0cmlnZ2VyUmVmLFxuICAgICAgICAuLi4oaXNWaXNpYmxlICYmIHtcbiAgICAgICAgICBcImFyaWEtZXhwYW5kZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImFyaWEtY29udHJvbHNcIjogdG9vbHRpcElkLFxuICAgICAgICB9KSxcbiAgICAgICAgdGFiSW5kZXg6IGNoaWxkcmVuLnByb3BzLnRhYkluZGV4ID8/IDAsXG4gICAgICAgIFwiYXJpYS1oYXNwb3B1cFwiOiB0cnVlLFxuICAgICAgICBvbkNsaWNrOiAoZXZ0OiBSZWFjdE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICBoYW5kbGVUcmlnZ2VyQ2xpY2soKTtcbiAgICAgICAgICBpZiAoY2hpbGRyZW4ucHJvcHMub25DbGljaykge1xuICAgICAgICAgICAgY2hpbGRyZW4ucHJvcHMub25DbGljayhldnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgOiBudWxsO1xuXG4gIGlmIChpc01vYmlsZUJyZWFrUG9pbnQpIHtcbiAgICAvLyByZW5kZXIgYXMgU2hlZXRcbiAgICBjb25zdCBzaGVldEVsbSA9IChcbiAgICAgIDxTaGVldFxuICAgICAgICBpZD17dG9vbHRpcElkfVxuICAgICAgICBpc1Zpc2libGU9e2lzVmlzaWJsZX1cbiAgICAgICAgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9XG4gICAgICAgIGRpc21pc3NPbk91dHNpZGVDbGljaz17ZGlzbWlzc09uT3V0c2lkZUNsaWNrfVxuICAgICAgICBkaXNhYmxlSW5pdGlhbEZvY3VzPXtkaXNhYmxlSW5pdGlhbEZvY3VzfVxuICAgICAgICBkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXI9e2Rpc2FibGVSZXR1cm5Gb2N1c1RvVHJpZ2dlcn1cbiAgICAgICAgb25DbG9zZT17aGFuZGxlUG9zdERlYWN0aXZhdGV9XG4gICAgICAgIG9uQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM9e2hhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzfVxuICAgICAgICB7Li4uKHNoZWV0UHJvcHMgPz8ge30pfVxuICAgICAgPlxuICAgICAgICB7Y29udGVudH1cbiAgICAgIDwvU2hlZXQ+XG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7dHJpZ2dlckVsbX1cbiAgICAgICAge3NoZWV0RWxtfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuXG4gIC8vIHJlbmRlciBhcyBQb3BvdmVyXG4gIGNvbnN0IGNvbnRlbnRFbG0gPSAoXG4gICAgPEZvY3VzVHJhcFdyYXBwZXJcbiAgICAgIGFjdGl2ZT17aXNWaXNpYmxlfVxuICAgICAgZm9jdXNUcmFwT3B0aW9ucz17e1xuICAgICAgICBjbGlja091dHNpZGVEZWFjdGl2YXRlczpcbiAgICAgICAgICBkaXNtaXNzT25PdXRzaWRlQ2xpY2sgJiYgaGFuZGxlQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXMsIC8vIGRlLWFjdGl2YXRlIGZvY3VzIHRyYXAgb24gb3V0c2lkZSBjbGlja1xuICAgICAgICBhbGxvd091dHNpZGVDbGljazogdHJ1ZSxcbiAgICAgICAgZXNjYXBlRGVhY3RpdmF0ZXM6IHRydWUsXG4gICAgICAgIGZhbGxiYWNrRm9jdXM6IGAjJHt0b29sdGlwSWR9YCwgLy8gc2V0IGZvY3VzIHRvIHRvb2x0aXAgY29udGVudCBjb250YWluZXIgaWYgaXQgaGFzIG5vIGZvY3VzYWJsZSBlbGVtZW50XG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGU6IGhhbmRsZVBvc3REZWFjdGl2YXRlLFxuICAgICAgICBwcmV2ZW50U2Nyb2xsOiB0cnVlLFxuICAgICAgICBpbml0aWFsRm9jdXM6ICgpID0+ICFkaXNhYmxlSW5pdGlhbEZvY3VzLFxuICAgICAgICByZXR1cm5Gb2N1c09uRGVhY3RpdmF0ZTogIWRpc2FibGVSZXR1cm5Gb2N1c1RvVHJpZ2dlcixcbiAgICAgIH19XG4gICAgPlxuICAgICAgPEZvY3VzVHJhcENvbnRlbnQ+e2NvbnRlbnR9PC9Gb2N1c1RyYXBDb250ZW50PlxuICAgIDwvRm9jdXNUcmFwV3JhcHBlcj5cbiAgKTtcblxuICBjb25zdCB0b29sdGlwRWxtID0gKFxuICAgIDxUb29sdGlwQ29udGVudFxuICAgICAgey4uLnJlc3RDb250ZW50UHJvcHN9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZ1xuICAgICAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50PXtkZWZhdWx0VmVydGljYWxQbGFjZW1lbnR9XG4gICAgICBkYXRhRFNJZD17bmFtZX1cbiAgICAgIGNvbnRlbnQ9e2NvbnRlbnRFbG19XG4gICAgICBjb250ZW50UGFkZGluZz17Y29udGVudFBhZGRpbmd9XG4gICAgICBtYXhXaWR0aD17bWF4V2lkdGh9XG4gICAgICBwbGFjZW1lbnQ9e3BsYWNlbWVudH1cbiAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgZGF0YUUyZVRlc3RJZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgIHN1YlRoZW1lPXtzdWJUaGVtZX1cbiAgICAgIGlzVmlzaWJsZT17aXNWaXNpYmxlfVxuICAgICAgdG9vbHRpcElkPXt0b29sdGlwSWR9XG4gICAgICB0cmlnZ2VyUmVmPXt0cmlnZ2VyUmVmfVxuICAgIC8+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge3RyaWdnZXJFbG19XG4gICAgICB7dG9vbHRpcEVsbX1cbiAgICA8Lz5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5RHdCIn0= */"),FocusTrapContent=React.forwardRef(({children},ref)=>React.createElement(StyledContainer,{ref:ref},children)),VisibilityChangeReason={triggerClick:"triggerClick",outsideClick:"outsideClick"};function getMobileBreakpoint(renderAsSheetOnMobile){return!!window&&renderAsSheetOnMobile&&window.innerWidth<=breakpoints.medium.value}export function BasePopover({placement="auto",content,children,contentPadding="m",maxWidth,externalTriggerRef,portalContainer,name="Popover",isVisible:isPopoverVisible,dismissOnOutsideClick=!0,"data-e2e-test-id":dataE2eTestId,subTheme,defaultVerticalPlacement,onVisibilityChange,disableInitialFocus=!1,disableReturnFocusToTrigger=!1,renderAsSheetOnMobile=!1,sheetProps,...restContentProps}){let tooltipId=useMemo(()=>`DS${name}_${Math.floor(Date.now()*Math.random())}`,[name]),[isVisible,setVisible]=useState(isPopoverVisible),[isMobileBreakPoint,setIsMobileBreakpoint]=useState(getMobileBreakpoint(renderAsSheetOnMobile)),internalTriggerRef=useRef(null),triggerRef=externalTriggerRef||internalTriggerRef,isOutsideClickOnTrigger=useRef(!1),toggleVisibility=useCallback((status,reason)=>{setVisible(status),onVisibilityChange&&onVisibilityChange(status,reason)},[onVisibilityChange]),handleTriggerClick=useCallback(()=>{isOutsideClickOnTrigger.current?isOutsideClickOnTrigger.current=!1:toggleVisibility(!isVisible,VisibilityChangeReason.triggerClick)},[toggleVisibility,isVisible]),handleClickOutsideDeactivates=useCallback(evt=>(triggerRef.current&&triggerRef.current.contains(evt.target)&&(isOutsideClickOnTrigger.current=!0),!0),[triggerRef,isOutsideClickOnTrigger]),handlePostDeactivate=useCallback(()=>{toggleVisibility(!1,isOutsideClickOnTrigger.current?VisibilityChangeReason.triggerClick:VisibilityChangeReason.outsideClick)},[toggleVisibility]);useEffect(()=>{setVisible(isPopoverVisible)},[isPopoverVisible]),useEffect(()=>{setIsMobileBreakpoint(getMobileBreakpoint(renderAsSheetOnMobile))},[isVisible,renderAsSheetOnMobile]),useEffect(()=>{let trigger;if(externalTriggerRef?.current&&!children){let triggerTabIndex=(trigger=externalTriggerRef.current).getAttribute("tabindex");trigger.setAttribute("tabindex",triggerTabIndex??"0"),trigger.addEventListener("click",handleTriggerClick)}return()=>{trigger&&trigger.removeEventListener("click",handleTriggerClick)}},[externalTriggerRef,children,handleTriggerClick]),useEffect(()=>{if(externalTriggerRef?.current&&!children){let trigger=externalTriggerRef.current;trigger.setAttribute("aria-haspopup","true"),isVisible?(trigger.setAttribute("aria-expanded","true"),trigger.setAttribute("aria-controls",tooltipId)):(trigger.removeAttribute("aria-expanded"),trigger.removeAttribute("aria-controls"))}},[externalTriggerRef,children,tooltipId,isVisible]);let triggerElm=children?React.cloneElement(children,{ref:triggerRef,...isVisible&&{"aria-expanded":!0,"aria-controls":tooltipId},tabIndex:children.props.tabIndex??0,"aria-haspopup":!0,onClick:evt=>{handleTriggerClick(),children.props.onClick&&children.props.onClick(evt)}}):null;if(isMobileBreakPoint){let sheetElm=React.createElement(Sheet,{id:tooltipId,isVisible:isVisible,portalContainer:portalContainer,dismissOnOutsideClick:dismissOnOutsideClick,disableInitialFocus:disableInitialFocus,disableReturnFocusToTrigger:disableReturnFocusToTrigger,onClose:handlePostDeactivate,onClickOutsideDeactivates:handleClickOutsideDeactivates,...sheetProps??{}},content);return React.createElement(React.Fragment,null,triggerElm,sheetElm)}let contentElm=React.createElement(FocusTrapWrapper,{active:isVisible,focusTrapOptions:{clickOutsideDeactivates:dismissOnOutsideClick&&handleClickOutsideDeactivates,allowOutsideClick:!0,escapeDeactivates:!0,fallbackFocus:`#${tooltipId}`,onPostDeactivate:handlePostDeactivate,preventScroll:!0,initialFocus:()=>!disableInitialFocus,returnFocusOnDeactivate:!disableReturnFocusToTrigger}},React.createElement(FocusTrapContent,null,content)),tooltipElm=React.createElement(TooltipContent,{...restContentProps,defaultVerticalPlacement:defaultVerticalPlacement,dataDSId:name,content:contentElm,contentPadding:contentPadding,maxWidth:maxWidth,placement:placement,portalContainer:portalContainer,dataE2eTestId:dataE2eTestId,subTheme:subTheme,isVisible:isVisible,tooltipId:tooltipId,triggerRef:triggerRef});return React.createElement(React.Fragment,null,triggerElm,tooltipElm)}
|
|
1
|
+
import React,{useState,useRef,useEffect,useCallback,useMemo}from"react";import styled from"@emotion/styled";import{TooltipContent}from"../Tooltip/TooltipContent";import{Sheet}from"../Sheet/Sheet";import{FocusTrapWrapper}from"../../shared/FocusTrapWrapper";import breakpoints from"../../web-tokens/_breakpoints.json";let StyledContainer=styled("div",{target:"e1izx6us0",label:"StyledContainer"})(()=>({borderRadius:"inherit"}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVG9nZ2xldGlwL0Jhc2VQb3BvdmVyLnRzeCIsInNvdXJjZXMiOlsic3JjL2NvbXBvbmVudHMvVG9nZ2xldGlwL0Jhc2VQb3BvdmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nICovXG5pbXBvcnQgdHlwZSB7XG4gIFJlYWN0RWxlbWVudCxcbiAgUHJvcHNXaXRoQ2hpbGRyZW4sXG4gIE1vdXNlRXZlbnQgYXMgUmVhY3RNb3VzZUV2ZW50LFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwge1xuICB1c2VTdGF0ZSxcbiAgdXNlUmVmLFxuICB1c2VFZmZlY3QsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VNZW1vLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHR5cGUgeyBUb29sdGlwQ29udGVudFByb3BzIH0gZnJvbSBcIi4uL1Rvb2x0aXAvVG9vbHRpcENvbnRlbnRcIjtcbmltcG9ydCB0eXBlIHsgVG9vbHRpcENvbmRpdGlvbmFsUHJvcHMgfSBmcm9tIFwiLi4vVG9vbHRpcC90eXBlc1wiO1xuaW1wb3J0IHsgVG9vbHRpcENvbnRlbnQgfSBmcm9tIFwiLi4vVG9vbHRpcC9Ub29sdGlwQ29udGVudFwiO1xuaW1wb3J0IHsgU2hlZXQgfSBmcm9tIFwiLi4vU2hlZXQvU2hlZXRcIjtcbmltcG9ydCB7IEZvY3VzVHJhcFdyYXBwZXIgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL0ZvY3VzVHJhcFdyYXBwZXJcIjtcbmltcG9ydCBicmVha3BvaW50cyBmcm9tIFwiLi4vLi4vd2ViLXRva2Vucy9fYnJlYWtwb2ludHMuanNvblwiO1xuXG50eXBlIEJhc2VQcm9wcyA9IFBpY2s8XG4gIFRvb2x0aXBDb250ZW50UHJvcHMsXG4gIHwgXCJwbGFjZW1lbnRcIlxuICB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgfCBcIm1heFdpZHRoXCJcbiAgfCBcImNvbnRlbnRQYWRkaW5nXCJcbiAgfCBcImhpZGVBcnJvd1wiXG4gIHwgXCJzdWJUaGVtZVwiXG4gIHwgXCJkZWZhdWx0VmVydGljYWxQbGFjZW1lbnRcIlxuICB8IFwib25PdmVyZmxvd1ZpZXdwb3J0XCJcbj4gJiB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKiAgUG9wb3ZlciBjb250ZW50ICovXG4gIGNvbnRlbnQ6IFJlYWN0RWxlbWVudDtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIC8qKiAgUHJvZ3JhbW1hdGljYWxseSB0b2dnbGUgUG9wb3ZlciB2aXNpYmlsaXR5IHdpdGggdGhpcyBwcm9wICovXG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XG4gIC8qKiAgQ2FsbGVkIHdoZW4gdG9vbHRpcCBhcHBlYXJzIGFuZCBkaXNhcHBlYXJzICovXG4gIG9uVmlzaWJpbGl0eUNoYW5nZT86IChpc1Zpc2libGU6IGJvb2xlYW4sIHJlYXNvbjogc3RyaW5nKSA9PiB2b2lkO1xuICAvKiogIENvbnRyb2xzIHdoZXRoZXIgQmFzZVBvcG92ZXIgIGNsb3NlcyBvbiBvdXRzaWRlIGNsaWNrICovXG4gIGRpc21pc3NPbk91dHNpZGVDbGljaz86IGJvb2xlYW47XG4gIC8qKiAgT3B0aW9uIGZvciBmb2N1cy10cmFwLCBjb250cm9scyB3aGV0aGVyIHRoZSBmaXJzdCBmb2N1YWJsZSBpdGVtIHJlY2lldmVzIGZvY3VzICovXG4gIGRpc2FibGVJbml0aWFsRm9jdXM/OiBib29sZWFuO1xuICAvKiogIE9wdGlvbiBmb3IgZm9jdXMtdHJhcCwgY29udHJvbHMgd2hldGhlciB0aGUgdHJpZ2dlciBzaG91bGQgcmVjZWl2ZSBiYWNrIHRoZSBmb2N1cyBvbiBwb3BvdmVyIGNsb3NlICovXG4gIGRpc2FibGVSZXR1cm5Gb2N1c1RvVHJpZ2dlcj86IGJvb2xlYW47XG4gIC8qKiAgUmVuZGVyIGFzIHNoZWV0IG9uIG1vYmlsZSB3ZWIgKi9cbiAgcmVuZGVyQXNTaGVldE9uTW9iaWxlPzogYm9vbGVhbjtcbiAgLyoqICBQcm9wcyBmb3IgY29uZmlndXJpbmcgdGhlIHNoZWV0IG9uIG1vYmlsZSB3ZWIgKi9cbiAgc2hlZXRQcm9wcz86IHtcbiAgICAvKiogIFNob3cgdGhlIGRhcmsgc2NyaW0gYmFja2Ryb3Agb24gbW9iaWxlIHdlYiB3aGVuIHJlbmRlcmluZyBhcyBTaGVldCAqL1xuICAgIGhhc0JhY2tkcm9wPzogYm9vbGVhbjtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhc2VQb3BvdmVyUHJvcHMgPSBCYXNlUHJvcHMgJiBUb29sdGlwQ29uZGl0aW9uYWxQcm9wcztcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdigoKSA9PiAoe1xuICBib3JkZXJSYWRpdXM6IFwiaW5oZXJpdFwiLFxufSkpO1xuXG5jb25zdCBGb2N1c1RyYXBDb250ZW50ID0gUmVhY3QuZm9yd2FyZFJlZjxcbiAgSFRNTERpdkVsZW1lbnQsXG4gIFByb3BzV2l0aENoaWxkcmVuPHVua25vd24+XG4+KCh7IGNoaWxkcmVuIH0sIHJlZikgPT4gKFxuICA8U3R5bGVkQ29udGFpbmVyIHJlZj17cmVmfT57Y2hpbGRyZW59PC9TdHlsZWRDb250YWluZXI+XG4pKTtcblxuY29uc3QgVmlzaWJpbGl0eUNoYW5nZVJlYXNvbiA9IHtcbiAgdHJpZ2dlckNsaWNrOiBcInRyaWdnZXJDbGlja1wiLFxuICBvdXRzaWRlQ2xpY2s6IFwib3V0c2lkZUNsaWNrXCIsXG59O1xuXG5mdW5jdGlvbiBnZXRNb2JpbGVCcmVha3BvaW50KHJlbmRlckFzU2hlZXRPbk1vYmlsZTogYm9vbGVhbikge1xuICByZXR1cm4gKFxuICAgICEhd2luZG93ICYmXG4gICAgcmVuZGVyQXNTaGVldE9uTW9iaWxlICYmXG4gICAgd2luZG93LmlubmVyV2lkdGggPD0gYnJlYWtwb2ludHMubWVkaXVtLnZhbHVlXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCYXNlUG9wb3Zlcih7XG4gIHBsYWNlbWVudCA9IFwiYXV0b1wiLFxuICBjb250ZW50LFxuICBjaGlsZHJlbixcbiAgY29udGVudFBhZGRpbmcgPSBcIm1cIixcbiAgbWF4V2lkdGgsXG4gIGV4dGVybmFsVHJpZ2dlclJlZixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBuYW1lID0gXCJQb3BvdmVyXCIsXG4gIGlzVmlzaWJsZTogaXNQb3BvdmVyVmlzaWJsZSxcbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrID0gdHJ1ZSxcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gIHN1YlRoZW1lLFxuICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQsXG4gIG9uVmlzaWJpbGl0eUNoYW5nZSxcbiAgZGlzYWJsZUluaXRpYWxGb2N1cyA9IGZhbHNlLFxuICBkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXIgPSBmYWxzZSxcbiAgcmVuZGVyQXNTaGVldE9uTW9iaWxlID0gZmFsc2UsXG4gIHNoZWV0UHJvcHMsXG4gIC4uLnJlc3RDb250ZW50UHJvcHNcbn06IEJhc2VQb3BvdmVyUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCB0b29sdGlwSWQgPSB1c2VNZW1vKFxuICAgICgpID0+IGBEUyR7bmFtZX1fJHtNYXRoLmZsb29yKERhdGUubm93KCkgKiBNYXRoLnJhbmRvbSgpKX1gLFxuICAgIFtuYW1lXVxuICApO1xuICBjb25zdCBbaXNWaXNpYmxlLCBzZXRWaXNpYmxlXSA9IHVzZVN0YXRlKGlzUG9wb3ZlclZpc2libGUpO1xuICBjb25zdCBbaXNNb2JpbGVCcmVha1BvaW50LCBzZXRJc01vYmlsZUJyZWFrcG9pbnRdID0gdXNlU3RhdGUoXG4gICAgZ2V0TW9iaWxlQnJlYWtwb2ludChyZW5kZXJBc1NoZWV0T25Nb2JpbGUpXG4gICk7XG4gIGNvbnN0IGludGVybmFsVHJpZ2dlclJlZiA9IHVzZVJlZjxIVE1MRWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHRyaWdnZXJSZWYgPSBleHRlcm5hbFRyaWdnZXJSZWYgfHwgaW50ZXJuYWxUcmlnZ2VyUmVmO1xuICBjb25zdCBpc091dHNpZGVDbGlja09uVHJpZ2dlciA9IHVzZVJlZihmYWxzZSk7XG5cbiAgY29uc3QgdG9nZ2xlVmlzaWJpbGl0eSA9IHVzZUNhbGxiYWNrKFxuICAgIChzdGF0dXM6IGJvb2xlYW4sIHJlYXNvbjogc3RyaW5nKSA9PiB7XG4gICAgICBzZXRWaXNpYmxlKHN0YXR1cyk7XG5cbiAgICAgIGlmIChvblZpc2liaWxpdHlDaGFuZ2UpIHtcbiAgICAgICAgb25WaXNpYmlsaXR5Q2hhbmdlKHN0YXR1cywgcmVhc29uKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtvblZpc2liaWxpdHlDaGFuZ2VdXG4gICk7XG5cbiAgLy8gT3V0c2lkZSBjbGljayBpcyBhbHNvIGZpcmVkIHdoZW4gdGhlIFBvcG92ZXIgaXMgb3BlbiBhbmQgdHJpZ2dlciBpcyBjbGlja2VkLiBgaXNPdXRzaWRlQ2xpY2tPblRyaWdnZXJgIHNhdmVzIHRoaXMgY29uZGl0aW9uIGFuZCB3ZSBjaGVjayBmb3IgaXQgc28gYXMgdG8gbm90IHRvZ2dsZSB0aGUgUG9wb3ZlciB0d2ljZS5cbiAgY29uc3QgaGFuZGxlVHJpZ2dlckNsaWNrID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICghaXNPdXRzaWRlQ2xpY2tPblRyaWdnZXIuY3VycmVudCkge1xuICAgICAgdG9nZ2xlVmlzaWJpbGl0eSghaXNWaXNpYmxlLCBWaXNpYmlsaXR5Q2hhbmdlUmVhc29uLnRyaWdnZXJDbGljayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHJlc2V0IHRoaXMgdmFsdWUgc28gdGhhdCBQb3BvdmVyIGNhbiBvcGVuIGluIG5leHQgY2xpY2tcbiAgICAgIGlzT3V0c2lkZUNsaWNrT25UcmlnZ2VyLmN1cnJlbnQgPSBmYWxzZTtcbiAgICB9XG4gIH0sIFt0b2dnbGVWaXNpYmlsaXR5LCBpc1Zpc2libGVdKTtcblxuICBjb25zdCBoYW5kbGVDbGlja091dHNpZGVEZWFjdGl2YXRlcyA9IHVzZUNhbGxiYWNrKFxuICAgIChldnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgdHJpZ2dlclJlZi5jdXJyZW50ICYmXG4gICAgICAgIHRyaWdnZXJSZWYuY3VycmVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIE5vZGUpXG4gICAgICApIHtcbiAgICAgICAgaXNPdXRzaWRlQ2xpY2tPblRyaWdnZXIuY3VycmVudCA9IHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9LFxuICAgIFt0cmlnZ2VyUmVmLCBpc091dHNpZGVDbGlja09uVHJpZ2dlcl1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVQb3N0RGVhY3RpdmF0ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCByZWFzb24gPSBpc091dHNpZGVDbGlja09uVHJpZ2dlci5jdXJyZW50XG4gICAgICA/IFZpc2liaWxpdHlDaGFuZ2VSZWFzb24udHJpZ2dlckNsaWNrXG4gICAgICA6IFZpc2liaWxpdHlDaGFuZ2VSZWFzb24ub3V0c2lkZUNsaWNrO1xuXG4gICAgdG9nZ2xlVmlzaWJpbGl0eShmYWxzZSwgcmVhc29uKTtcbiAgfSwgW3RvZ2dsZVZpc2liaWxpdHldKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldFZpc2libGUoaXNQb3BvdmVyVmlzaWJsZSk7XG4gIH0sIFtpc1BvcG92ZXJWaXNpYmxlXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBDaGVjayBpZiB0aGlzIGlzIGEgbW9iaWxlIGJyZWFrcG9pbnRcbiAgICBzZXRJc01vYmlsZUJyZWFrcG9pbnQoZ2V0TW9iaWxlQnJlYWtwb2ludChyZW5kZXJBc1NoZWV0T25Nb2JpbGUpKTtcbiAgfSwgW2lzVmlzaWJsZSwgcmVuZGVyQXNTaGVldE9uTW9iaWxlXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgdHJpZ2dlcjogSFRNTEVsZW1lbnQ7XG5cbiAgICBpZiAoZXh0ZXJuYWxUcmlnZ2VyUmVmPy5jdXJyZW50ICYmICFjaGlsZHJlbikge1xuICAgICAgdHJpZ2dlciA9IGV4dGVybmFsVHJpZ2dlclJlZi5jdXJyZW50O1xuICAgICAgY29uc3QgdHJpZ2dlclRhYkluZGV4ID0gdHJpZ2dlci5nZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiKTtcblxuICAgICAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCB0cmlnZ2VyVGFiSW5kZXggPz8gXCIwXCIpO1xuICAgICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgaGFuZGxlVHJpZ2dlckNsaWNrKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKHRyaWdnZXIpIHtcbiAgICAgICAgdHJpZ2dlci5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgaGFuZGxlVHJpZ2dlckNsaWNrKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbZXh0ZXJuYWxUcmlnZ2VyUmVmLCBjaGlsZHJlbiwgaGFuZGxlVHJpZ2dlckNsaWNrXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZXh0ZXJuYWxUcmlnZ2VyUmVmPy5jdXJyZW50ICYmICFjaGlsZHJlbikge1xuICAgICAgY29uc3QgdHJpZ2dlciA9IGV4dGVybmFsVHJpZ2dlclJlZi5jdXJyZW50O1xuXG4gICAgICB0cmlnZ2VyLnNldEF0dHJpYnV0ZShcImFyaWEtaGFzcG9wdXBcIiwgXCJ0cnVlXCIpO1xuICAgICAgaWYgKGlzVmlzaWJsZSkge1xuICAgICAgICB0cmlnZ2VyLnNldEF0dHJpYnV0ZShcImFyaWEtZXhwYW5kZWRcIiwgXCJ0cnVlXCIpO1xuICAgICAgICB0cmlnZ2VyLnNldEF0dHJpYnV0ZShcImFyaWEtY29udHJvbHNcIiwgdG9vbHRpcElkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiKTtcbiAgICAgICAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoXCJhcmlhLWNvbnRyb2xzXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW2V4dGVybmFsVHJpZ2dlclJlZiwgY2hpbGRyZW4sIHRvb2x0aXBJZCwgaXNWaXNpYmxlXSk7XG5cbiAgY29uc3QgdHJpZ2dlckVsbSA9IGNoaWxkcmVuXG4gICAgPyBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGRyZW4sIHtcbiAgICAgICAgcmVmOiB0cmlnZ2VyUmVmLFxuICAgICAgICAuLi4oaXNWaXNpYmxlICYmIHtcbiAgICAgICAgICBcImFyaWEtZXhwYW5kZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImFyaWEtY29udHJvbHNcIjogdG9vbHRpcElkLFxuICAgICAgICB9KSxcbiAgICAgICAgdGFiSW5kZXg6IGNoaWxkcmVuLnByb3BzLnRhYkluZGV4ID8/IDAsXG4gICAgICAgIFwiYXJpYS1oYXNwb3B1cFwiOiB0cnVlLFxuICAgICAgICBvbkNsaWNrOiAoZXZ0OiBSZWFjdE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICBoYW5kbGVUcmlnZ2VyQ2xpY2soKTtcbiAgICAgICAgICBpZiAoY2hpbGRyZW4ucHJvcHMub25DbGljaykge1xuICAgICAgICAgICAgY2hpbGRyZW4ucHJvcHMub25DbGljayhldnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgOiBudWxsO1xuXG4gIGlmIChpc01vYmlsZUJyZWFrUG9pbnQpIHtcbiAgICAvLyByZW5kZXIgYXMgU2hlZXRcbiAgICBjb25zdCBzaGVldEVsbSA9IChcbiAgICAgIDxTaGVldFxuICAgICAgICBpZD17dG9vbHRpcElkfVxuICAgICAgICBpc1Zpc2libGU9e2lzVmlzaWJsZX1cbiAgICAgICAgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9XG4gICAgICAgIGRpc21pc3NPbk91dHNpZGVDbGljaz17ZGlzbWlzc09uT3V0c2lkZUNsaWNrfVxuICAgICAgICBkaXNhYmxlSW5pdGlhbEZvY3VzPXtkaXNhYmxlSW5pdGlhbEZvY3VzfVxuICAgICAgICBkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXI9e2Rpc2FibGVSZXR1cm5Gb2N1c1RvVHJpZ2dlcn1cbiAgICAgICAgb25DbG9zZT17aGFuZGxlUG9zdERlYWN0aXZhdGV9XG4gICAgICAgIG9uQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM9e2hhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzfVxuICAgICAgICB7Li4uKHNoZWV0UHJvcHMgPz8ge30pfVxuICAgICAgPlxuICAgICAgICB7Y29udGVudH1cbiAgICAgIDwvU2hlZXQ+XG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7dHJpZ2dlckVsbX1cbiAgICAgICAge3NoZWV0RWxtfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuXG4gIC8vIHJlbmRlciBhcyBQb3BvdmVyXG4gIGNvbnN0IGNvbnRlbnRFbG0gPSAoXG4gICAgPEZvY3VzVHJhcFdyYXBwZXJcbiAgICAgIGFjdGl2ZT17aXNWaXNpYmxlfVxuICAgICAgZm9jdXNUcmFwT3B0aW9ucz17e1xuICAgICAgICBjbGlja091dHNpZGVEZWFjdGl2YXRlczpcbiAgICAgICAgICBkaXNtaXNzT25PdXRzaWRlQ2xpY2sgJiYgaGFuZGxlQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXMsIC8vIGRlLWFjdGl2YXRlIGZvY3VzIHRyYXAgb24gb3V0c2lkZSBjbGlja1xuICAgICAgICBhbGxvd091dHNpZGVDbGljazogdHJ1ZSxcbiAgICAgICAgZXNjYXBlRGVhY3RpdmF0ZXM6IHRydWUsXG4gICAgICAgIGZhbGxiYWNrRm9jdXM6IGAjJHt0b29sdGlwSWR9YCwgLy8gc2V0IGZvY3VzIHRvIHRvb2x0aXAgY29udGVudCBjb250YWluZXIgaWYgaXQgaGFzIG5vIGZvY3VzYWJsZSBlbGVtZW50XG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGU6IGhhbmRsZVBvc3REZWFjdGl2YXRlLFxuICAgICAgICBwcmV2ZW50U2Nyb2xsOiB0cnVlLFxuICAgICAgICBpbml0aWFsRm9jdXM6ICgpID0+ICFkaXNhYmxlSW5pdGlhbEZvY3VzLFxuICAgICAgICByZXR1cm5Gb2N1c09uRGVhY3RpdmF0ZTogIWRpc2FibGVSZXR1cm5Gb2N1c1RvVHJpZ2dlcixcbiAgICAgIH19XG4gICAgPlxuICAgICAgPEZvY3VzVHJhcENvbnRlbnQ+e2NvbnRlbnR9PC9Gb2N1c1RyYXBDb250ZW50PlxuICAgIDwvRm9jdXNUcmFwV3JhcHBlcj5cbiAgKTtcblxuICBjb25zdCB0b29sdGlwRWxtID0gKFxuICAgIDxUb29sdGlwQ29udGVudFxuICAgICAgey4uLnJlc3RDb250ZW50UHJvcHN9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZ1xuICAgICAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50PXtkZWZhdWx0VmVydGljYWxQbGFjZW1lbnR9XG4gICAgICBkYXRhRFNJZD17bmFtZX1cbiAgICAgIGNvbnRlbnQ9e2NvbnRlbnRFbG19XG4gICAgICBjb250ZW50UGFkZGluZz17Y29udGVudFBhZGRpbmd9XG4gICAgICBtYXhXaWR0aD17bWF4V2lkdGh9XG4gICAgICBwbGFjZW1lbnQ9e3BsYWNlbWVudH1cbiAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgZGF0YUUyZVRlc3RJZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgIHN1YlRoZW1lPXtzdWJUaGVtZX1cbiAgICAgIGlzVmlzaWJsZT17aXNWaXNpYmxlfVxuICAgICAgdG9vbHRpcElkPXt0b29sdGlwSWR9XG4gICAgICB0cmlnZ2VyUmVmPXt0cmlnZ2VyUmVmfVxuICAgICAgaXNIaWRkZW5PbkludmlzaWJsZVRyaWdnZXJcbiAgICAvPlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHt0cmlnZ2VyRWxtfVxuICAgICAge3Rvb2x0aXBFbG19XG4gICAgPC8+XG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUR3QiJ9 */"),FocusTrapContent=React.forwardRef(({children},ref)=>React.createElement(StyledContainer,{ref:ref},children)),VisibilityChangeReason={triggerClick:"triggerClick",outsideClick:"outsideClick"};function getMobileBreakpoint(renderAsSheetOnMobile){return!!window&&renderAsSheetOnMobile&&window.innerWidth<=breakpoints.medium.value}export function BasePopover({placement="auto",content,children,contentPadding="m",maxWidth,externalTriggerRef,portalContainer,name="Popover",isVisible:isPopoverVisible,dismissOnOutsideClick=!0,"data-e2e-test-id":dataE2eTestId,subTheme,defaultVerticalPlacement,onVisibilityChange,disableInitialFocus=!1,disableReturnFocusToTrigger=!1,renderAsSheetOnMobile=!1,sheetProps,...restContentProps}){let tooltipId=useMemo(()=>`DS${name}_${Math.floor(Date.now()*Math.random())}`,[name]),[isVisible,setVisible]=useState(isPopoverVisible),[isMobileBreakPoint,setIsMobileBreakpoint]=useState(getMobileBreakpoint(renderAsSheetOnMobile)),internalTriggerRef=useRef(null),triggerRef=externalTriggerRef||internalTriggerRef,isOutsideClickOnTrigger=useRef(!1),toggleVisibility=useCallback((status,reason)=>{setVisible(status),onVisibilityChange&&onVisibilityChange(status,reason)},[onVisibilityChange]),handleTriggerClick=useCallback(()=>{isOutsideClickOnTrigger.current?isOutsideClickOnTrigger.current=!1:toggleVisibility(!isVisible,VisibilityChangeReason.triggerClick)},[toggleVisibility,isVisible]),handleClickOutsideDeactivates=useCallback(evt=>(triggerRef.current&&triggerRef.current.contains(evt.target)&&(isOutsideClickOnTrigger.current=!0),!0),[triggerRef,isOutsideClickOnTrigger]),handlePostDeactivate=useCallback(()=>{toggleVisibility(!1,isOutsideClickOnTrigger.current?VisibilityChangeReason.triggerClick:VisibilityChangeReason.outsideClick)},[toggleVisibility]);useEffect(()=>{setVisible(isPopoverVisible)},[isPopoverVisible]),useEffect(()=>{setIsMobileBreakpoint(getMobileBreakpoint(renderAsSheetOnMobile))},[isVisible,renderAsSheetOnMobile]),useEffect(()=>{let trigger;if(externalTriggerRef?.current&&!children){let triggerTabIndex=(trigger=externalTriggerRef.current).getAttribute("tabindex");trigger.setAttribute("tabindex",triggerTabIndex??"0"),trigger.addEventListener("click",handleTriggerClick)}return()=>{trigger&&trigger.removeEventListener("click",handleTriggerClick)}},[externalTriggerRef,children,handleTriggerClick]),useEffect(()=>{if(externalTriggerRef?.current&&!children){let trigger=externalTriggerRef.current;trigger.setAttribute("aria-haspopup","true"),isVisible?(trigger.setAttribute("aria-expanded","true"),trigger.setAttribute("aria-controls",tooltipId)):(trigger.removeAttribute("aria-expanded"),trigger.removeAttribute("aria-controls"))}},[externalTriggerRef,children,tooltipId,isVisible]);let triggerElm=children?React.cloneElement(children,{ref:triggerRef,...isVisible&&{"aria-expanded":!0,"aria-controls":tooltipId},tabIndex:children.props.tabIndex??0,"aria-haspopup":!0,onClick:evt=>{handleTriggerClick(),children.props.onClick&&children.props.onClick(evt)}}):null;if(isMobileBreakPoint){let sheetElm=React.createElement(Sheet,{id:tooltipId,isVisible:isVisible,portalContainer:portalContainer,dismissOnOutsideClick:dismissOnOutsideClick,disableInitialFocus:disableInitialFocus,disableReturnFocusToTrigger:disableReturnFocusToTrigger,onClose:handlePostDeactivate,onClickOutsideDeactivates:handleClickOutsideDeactivates,...sheetProps??{}},content);return React.createElement(React.Fragment,null,triggerElm,sheetElm)}let contentElm=React.createElement(FocusTrapWrapper,{active:isVisible,focusTrapOptions:{clickOutsideDeactivates:dismissOnOutsideClick&&handleClickOutsideDeactivates,allowOutsideClick:!0,escapeDeactivates:!0,fallbackFocus:`#${tooltipId}`,onPostDeactivate:handlePostDeactivate,preventScroll:!0,initialFocus:()=>!disableInitialFocus,returnFocusOnDeactivate:!disableReturnFocusToTrigger}},React.createElement(FocusTrapContent,null,content)),tooltipElm=React.createElement(TooltipContent,{...restContentProps,defaultVerticalPlacement:defaultVerticalPlacement,dataDSId:name,content:contentElm,contentPadding:contentPadding,maxWidth:maxWidth,placement:placement,portalContainer:portalContainer,dataE2eTestId:dataE2eTestId,subTheme:subTheme,isVisible:isVisible,tooltipId:tooltipId,triggerRef:triggerRef,isHiddenOnInvisibleTrigger:!0});return React.createElement(React.Fragment,null,triggerElm,tooltipElm)}
|
|
@@ -18,9 +18,11 @@ export type TooltipContentProps = {
|
|
|
18
18
|
subTheme?: SubThemeTypes;
|
|
19
19
|
maxWidth?: Property.MaxWidth | number;
|
|
20
20
|
defaultVerticalPlacement?: TooltipStyle["verticalPlacement"];
|
|
21
|
+
hideArrow?: boolean;
|
|
22
|
+
/** Sets css visibility hidden when trigger is scrolled out of view */
|
|
23
|
+
isHiddenOnInvisibleTrigger?: boolean;
|
|
21
24
|
onTooltipPointerEnter?: React.PointerEventHandler<HTMLDivElement>;
|
|
22
25
|
onTooltipPointerLeave?: React.PointerEventHandler<HTMLDivElement>;
|
|
23
|
-
hideArrow?: boolean;
|
|
24
26
|
/** This callback is triggered when content overflows the viewport both above and below trigger. Use this for tracking purposes or re-rendering Popover with a larger maxWidth */
|
|
25
27
|
onOverflowViewport?: (triggerRect: DOMRect, tooltipRect: DOMRect, viewportHeight: number) => void;
|
|
26
28
|
} & Pick<PortalProps, "portalContainer">;
|
|
@@ -31,4 +33,4 @@ export type TooltipStyle = {
|
|
|
31
33
|
verticalPlacement: "top" | "bottom";
|
|
32
34
|
};
|
|
33
35
|
/** This component is used to display the overlay for both Toggletip and Tooltip components */
|
|
34
|
-
export declare function TooltipContent({ placement, content, tooltipId, triggerRef, portalContainer, dataE2eTestId, dataDSId, isVisible, "aria-hidden": ariaHidden, role, tabIndex, contentPadding, maxWidth, subTheme, defaultVerticalPlacement, onTooltipPointerEnter, onTooltipPointerLeave,
|
|
36
|
+
export declare function TooltipContent({ placement, content, tooltipId, triggerRef, portalContainer, dataE2eTestId, dataDSId, isVisible, "aria-hidden": ariaHidden, role, tabIndex, contentPadding, maxWidth, subTheme, defaultVerticalPlacement, hideArrow, isHiddenOnInvisibleTrigger, onTooltipPointerEnter, onTooltipPointerLeave, onOverflowViewport, }: TooltipContentProps): React.ReactElement;
|