@amboss/design-system 3.9.6 → 3.9.7
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/Form/Combobox/OptionsList.js +1 -1
- package/build/cjs/components/VirtualScrollList/VirtualScrollList.d.ts +2 -1
- package/build/cjs/components/VirtualScrollList/VirtualScrollList.js +1 -1
- package/build/esm/components/Form/Combobox/OptionsList.js +1 -1
- package/build/esm/components/VirtualScrollList/VirtualScrollList.d.ts +2 -1
- package/build/esm/components/VirtualScrollList/VirtualScrollList.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={OptionsList:function(){return OptionsList},getOptionId:function(){return getOptionId},getOptionsListId:function(){return getOptionsListId}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:all[name]});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_useKeyboard=require("../../../shared/useKeyboard"),_usePopupMenu=require("../../../shared/popupMenu/usePopupMenu"),_VirtualScrollList=require("../../VirtualScrollList/VirtualScrollList"),_Text=require("../../Typography/Text/Text"),_Box=require("../../Box/Box"),_Inline=require("../../Inline/Inline"),_Icon=require("../../Icon/Icon"),_StyledSelectComponents=require("./StyledSelectComponents"),_constants=require("./constants"),_Stack=require("../../Stack/Stack"),_Checkbox=require("../Checkbox/Checkbox"),_Portal=require("../../Portal/Portal"),_ScreenReaderText=require("../../Utilities/ScreenReaderText/ScreenReaderText");function getOptionId(selectName,optionValue){return`${selectName}Option${optionValue}`}function getOptionsListId(selectName){return`${selectName}OptionsList`}function scrollToItem(list,itemIndex){list[itemIndex]?.scrollIntoView?.({behavior:"smooth",block:"nearest"})}const CustomOption=(0,_styled.default)(_StyledSelectComponents.StyledOption,{target:"e1d5yhis0",label:"CustomOption"})(({theme})=>({paddingTop:0,paddingBottom:0,"& > div":{paddingTop:theme.variables.size.spacing.xs,paddingBottom:theme.variables.size.spacing.xs},"& > div *":{marginTop:0}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRm9ybS9Db21ib2JveC9PcHRpb25zTGlzdC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0Zvcm0vQ29tYm9ib3gvT3B0aW9uc0xpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVmT2JqZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgdXNlS2V5Ym9hcmQgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZUtleWJvYXJkXCI7XG5pbXBvcnQgdHlwZSB7IENvbW1vblNlbGVjdFByb3BzLCBTZWxlY3RPcHRpb24gfSBmcm9tIFwiLi9Db21ib2JveFwiO1xuaW1wb3J0IHsgdXNlUG9wdXBNZW51IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9wb3B1cE1lbnUvdXNlUG9wdXBNZW51XCI7XG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsTGlzdCB9IGZyb20gXCIuLi8uLi9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdFwiO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gXCIuLi8uLi9UeXBvZ3JhcGh5L1RleHQvVGV4dFwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIi4uLy4uL0ljb24vSWNvblwiO1xuaW1wb3J0IHsgU3R5bGVkRHJvcGRvd24sIFN0eWxlZE9wdGlvbiB9IGZyb20gXCIuL1N0eWxlZFNlbGVjdENvbXBvbmVudHNcIjtcbmltcG9ydCB7IGRyb3Bkb3duQ29udGFpbmVyU3R5bGUgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDaGVja2JveFJhdyB9IGZyb20gXCIuLi9DaGVja2JveC9DaGVja2JveFwiO1xuaW1wb3J0IHsgUG9ydGFsIH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IFNjcmVlblJlYWRlclRleHQgfSBmcm9tIFwiLi4vLi4vVXRpbGl0aWVzL1NjcmVlblJlYWRlclRleHQvU2NyZWVuUmVhZGVyVGV4dFwiO1xuXG50eXBlIE9wdGlvbnNMaXN0UHJvcHMgPSB7XG4gIGlzT3BlbjogYm9vbGVhbjtcbiAgaXNNdWx0aVNlbGVjdD86IGJvb2xlYW47XG4gIHRyaWdnZXJSZWY6IFJlZk9iamVjdDxIVE1MSW5wdXRFbGVtZW50PjtcbiAgdHJpZ2dlcldyYXBwZXJSZWY/OiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBvbkNsb3NlRHJvcGRvd246IChub1NlbGVjdD86IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlcjtcbiAgb25TZWxlY3RlZEluZGV4Q2hhbmdlOiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbiAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0OiAoc2VsZWN0ZWRPcHRpb246IFNlbGVjdE9wdGlvbikgPT4gdm9pZDtcbiAgaXNWaXJ0dWFsaXplZD86IGJvb2xlYW47XG59ICYgUGFydGlhbDxDb21tb25TZWxlY3RQcm9wcz47XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25JZChzZWxlY3ROYW1lOiBzdHJpbmcsIG9wdGlvblZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7c2VsZWN0TmFtZX1PcHRpb24ke29wdGlvblZhbHVlfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25zTGlzdElkKHNlbGVjdE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtzZWxlY3ROYW1lfU9wdGlvbnNMaXN0YDtcbn1cblxuZnVuY3Rpb24gc2Nyb2xsVG9JdGVtKGxpc3Q6IEhUTUxEaXZFbGVtZW50W10sIGl0ZW1JbmRleDogbnVtYmVyKSB7XG4gIGxpc3RbaXRlbUluZGV4XT8uc2Nyb2xsSW50b1ZpZXc/Lih7XG4gICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgYmxvY2s6IFwibmVhcmVzdFwiLFxuICB9KTtcbn1cblxuY29uc3QgQ3VzdG9tT3B0aW9uID0gc3R5bGVkKFN0eWxlZE9wdGlvbikoKHsgdGhlbWUgfSkgPT4gKHtcbiAgLy8gdGhpcyBpcyBuZWVkZWQgZm9yIHVzaW5nIHBhZGRpbmcgb2YgY2hlY2tib3hlcyBpbiBvcmRlciB0byB1c2UgaXRzIGhvdmVyIHN0YXRlXG4gIHBhZGRpbmdUb3A6IDAsXG4gIHBhZGRpbmdCb3R0b206IDAsXG4gIFwiJiA+IGRpdlwiOiB7XG4gICAgcGFkZGluZ1RvcDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54cyxcbiAgICBwYWRkaW5nQm90dG9tOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzLFxuICB9LFxuICBcIiYgPiBkaXYgKlwiOiB7XG4gICAgbWFyZ2luVG9wOiAwLFxuICB9LFxufSkpO1xuXG5jb25zdCBTdHlsZWRMaXN0Q29udGFpbmVyID0gc3R5bGVkLmRpdjxQaWNrPE9wdGlvbnNMaXN0UHJvcHMsIFwibWF4SGVpZ2h0XCI+PihcbiAgKHsgdGhlbWUsIG1heEhlaWdodCB9KSA9PiAoe1xuICAgIG1heEhlaWdodCxcbiAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgIG92ZXJmbG93OiBcImF1dG9cIixcbiAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c30gMGAsXG4gIH0pXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gT3B0aW9uc0xpc3Qoe1xuICBpc09wZW4sXG4gIGlzTXVsdGlTZWxlY3QgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIGRpc2FibGVkLFxuICBvcHRpb25zLFxuICBwb3J0YWxDb250YWluZXIsXG4gIHRyaWdnZXJSZWYsXG4gIHRyaWdnZXJXcmFwcGVyUmVmLFxuICBtYXhIZWlnaHQsXG4gIGVtcHR5U3RhdGVNZXNzYWdlID0gXCJObyBvcHRpb25zIGF2YWlsYWJsZVwiLFxuICBzZWxlY3RlZEluZGV4LFxuICBvcHRpb25zTGlzdFdpZHRoLFxuICBpc1ZpcnR1YWxpemVkID0gdHJ1ZSxcbiAgbmFtZSxcbiAgb25DbG9zZURyb3Bkb3duLFxuICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UsXG4gIGZvcmNlQ2hhbmdlRmFrZVNlbGVjdCxcbn06IE9wdGlvbnNMaXN0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBvcHRpb25zTGlzdFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGlzdENvbnRhaW5lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGlzdEl0ZW1zUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCByZWZGb3JQb3NpdGlvbmluZyA9IHRyaWdnZXJXcmFwcGVyUmVmIHx8IHRyaWdnZXJSZWY7XG4gIGNvbnN0IGFjdGl2ZUl0ZW1JbmRleCA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+XG4gICAgICAgIGlzTXVsdGlTZWxlY3QgPyB2YWx1ZS5pbmNsdWRlcyhvcHRpb24udmFsdWUpIDogb3B0aW9uLnZhbHVlID09PSB2YWx1ZVxuICAgICAgKSxcbiAgICBbb3B0aW9ucywgaXNNdWx0aVNlbGVjdCwgdmFsdWVdXG4gICk7XG5cbiAgY29uc3QgeyBtZW51U3R5bGU6IG9wdGlvbnNMaXN0U3R5bGUsIGNhbGN1bGF0ZVN0eWxlIH0gPSB1c2VQb3B1cE1lbnUoe1xuICAgIHRyaWdnZXJSZWY6IHJlZkZvclBvc2l0aW9uaW5nLFxuICAgIG1lbnVSZWY6IG9wdGlvbnNMaXN0UmVmLFxuICAgIGlzT3BlbixcbiAgfSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoXG4gICAgICBpc09wZW4gJiZcbiAgICAgIGxpc3RDb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgIWlzVmlydHVhbGl6ZWQgJiZcbiAgICAgIG9wdGlvbnNMaXN0U3R5bGUudG9wXG4gICAgKSB7XG4gICAgICBjb25zdCBsaXN0RWxtID0gbGlzdENvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgICAgLy8gZGV0ZXJtaW5lIG92ZXJmbG93XG4gICAgICBpZiAobGlzdEVsbS5jbGllbnRIZWlnaHQgPCBsaXN0RWxtLnNjcm9sbEhlaWdodCkge1xuICAgICAgICBsaXN0SXRlbXNSZWYuY3VycmVudCA9IGxpc3RFbG0ucXVlcnlTZWxlY3RvckFsbChcIltkYXRhLWxpc3QtaXRlbV1cIik7XG4gICAgICAgIHNjcm9sbFRvSXRlbShsaXN0SXRlbXNSZWYuY3VycmVudCwgYWN0aXZlSXRlbUluZGV4KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGlzdEl0ZW1zUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgfSwgW1xuICAgIGlzT3BlbixcbiAgICBpc1ZpcnR1YWxpemVkLFxuICAgIGxpc3RDb250YWluZXJSZWYsXG4gICAgb3B0aW9ucyxcbiAgICBtYXhIZWlnaHQsXG4gICAgb3B0aW9uc0xpc3RTdHlsZSxcbiAgICBhY3RpdmVJdGVtSW5kZXgsXG4gIF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxpc3RJdGVtc1JlZi5jdXJyZW50KSB7XG4gICAgICBzY3JvbGxUb0l0ZW0obGlzdEl0ZW1zUmVmLmN1cnJlbnQsIHNlbGVjdGVkSW5kZXgpO1xuICAgIH1cbiAgfSwgW2xpc3RJdGVtc1JlZiwgc2VsZWN0ZWRJbmRleF0pO1xuXG4gIHVzZUtleWJvYXJkKFxuICAgIHtcbiAgICAgIEVzY2FwZTogKCkgPT4gb25DbG9zZURyb3Bkb3duKHRydWUpLFxuICAgICAgRW50ZXI6ICgpID0+IHtcbiAgICAgICAgY29uc3QgcHJlc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25zW3NlbGVjdGVkSW5kZXhdO1xuXG4gICAgICAgIGlmICghcHJlc2VsZWN0ZWRPcHRpb24/LmRpc2FibGVkKSB7XG4gICAgICAgICAgaWYgKHByZXNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgICBmb3JjZUNoYW5nZUZha2VTZWxlY3QocHJlc2VsZWN0ZWRPcHRpb24pO1xuICAgICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICAgIG9uQ2xvc2VEcm9wZG93bih0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBBcnJvd1VwOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4ID4gMCkge1xuICAgICAgICAgIG5ld0luZGV4IC09IDE7XG4gICAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBPbmx5IHVwZGF0ZSB0aGUgc2VsZWN0aW9uIGlmIHRoZSBuZXcgaXRlbSBpcyBub3QgZGlzYWJsZWRcbiAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UobmV3SW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgQXJyb3dEb3duOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4IDwgb3B0aW9ucy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgbmV3SW5kZXggKz0gMTtcbiAgICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIE9ubHkgdXBkYXRlIHRoZSBzZWxlY3Rpb24gaWYgdGhlIG5ldyBpdGVtIGlzIG5vdCBkaXNhYmxlZFxuICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgIG9uU2VsZWN0ZWRJbmRleENoYW5nZShuZXdJbmRleCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICB0cmlnZ2VyUmVmLFxuICAgIGlzT3BlbiAmJiAhZGlzYWJsZWRcbiAgKTtcblxuICBjb25zdCByZW5kZXJJdGVtID0gKGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBvcHRpb246IFNlbGVjdE9wdGlvbiA9IG9wdGlvbnNbaW5kZXhdO1xuICAgIC8vIEdlbmVyYXRlIHVuaXF1ZSBpZCBmb3IgdGhlIG9wdGlvblxuICAgIGNvbnN0IGlkID0gZ2V0T3B0aW9uSWQobmFtZSwgb3B0aW9uLnZhbHVlKTtcblxuICAgIGlmIChpc011bHRpU2VsZWN0KSB7XG4gICAgICBjb25zdCBpc0FjdGl2ZSA9IHZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxDdXN0b21PcHRpb25cbiAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICBhcmlhLXNlbGVjdGVkPXtpc0FjdGl2ZX1cbiAgICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgIGtleT17b3B0aW9uLnZhbHVlfVxuICAgICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgICAgZGlzYWJsZWQ9e29wdGlvbi5kaXNhYmxlZH1cbiAgICAgICAgICBwcmVTZWxlY3RlZD17c2VsZWN0ZWRJbmRleCA9PT0gaW5kZXh9XG4gICAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgICAvLyBzdG9wIGV2ZW50IHByb3BhZ2F0aW9uIHRvIG5vdCBjbG9zZSBtb2RhbCBvbiBzZWxlY3Rpb24gaWYgc2VsZWN0IGlzIHdpdGhpbiBhIE1vZGFsXG4gICAgICAgICAgb25DbGljaz17KGV2dCkgPT4gZXZ0LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICA+XG4gICAgICAgICAgPENoZWNrYm94UmF3XG4gICAgICAgICAgICBuYW1lPVwiXCJcbiAgICAgICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgICBjaGVja2VkPXtpc0FjdGl2ZX1cbiAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgIGxhYmVsPXtvcHRpb24ubGFiZWx9XG4gICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4gbnVsbH1cbiAgICAgICAgICAgIGxhYmVsSGludD17b3B0aW9uPy5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0N1c3RvbU9wdGlvbj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gZWxzZSByZW5kZXIgc2luZ2xlIHNlbGVjdCBpdGVtXG4gICAgY29uc3QgaXNBY3RpdmUgPSB2YWx1ZSA9PT0gb3B0aW9uLnZhbHVlO1xuICAgIGNvbnN0IG9wdGlvblRleHQgPSAoXG4gICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgIDxUZXh0IGNvbG9yPVwicHJpbWFyeVwiIHNpemU9XCJtXCI+XG4gICAgICAgICAge29wdGlvbi5sYWJlbH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgICB7b3B0aW9uLmRlc2NyaXB0aW9uICYmIChcbiAgICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCIgc2l6ZT1cInNcIj5cbiAgICAgICAgICAgIHtvcHRpb24uZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICApfVxuICAgICAgPC9TdGFjaz5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRPcHRpb25cbiAgICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2lzQWN0aXZlfVxuICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIGlkPXtpZH1cbiAgICAgICAga2V5PXtvcHRpb24udmFsdWV9XG4gICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIHByZVNlbGVjdGVkPXtzZWxlY3RlZEluZGV4ID09PSBpbmRleH1cbiAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24odHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7aXNBY3RpdmUgPyAoXG4gICAgICAgICAgPElubGluZSBub1dyYXAgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiPlxuICAgICAgICAgICAge29wdGlvblRleHR9XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT1cInh4eHNcIj5cbiAgICAgICAgICAgICAgPEljb24gbmFtZT1cImNoZWNrXCIgc2l6ZT1cInNcIiBjb2xvcj1cImFjY2VudFwiIC8+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBvcHRpb25UZXh0XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZE9wdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGxpc3RTdHlsZSA9IHtcbiAgICAuLi5vcHRpb25zTGlzdFN0eWxlLFxuICAgIHdpZHRoOlxuICAgICAgb3B0aW9uc0xpc3RXaWR0aCB8fFxuICAgICAgcmVmRm9yUG9zaXRpb25pbmcuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsXG4gIH07XG5cbiAgY29uc3QgbGlzdEVsbSA9IChcbiAgICA8U3R5bGVkRHJvcGRvd25cbiAgICAgIHN0eWxlPXtsaXN0U3R5bGV9XG4gICAgICByZWY9e29wdGlvbnNMaXN0UmVmfVxuICAgICAgLy8gdGhpcyBpcyB0byBwcmV2ZW50IGtub3duIGJ1ZyBvZiBDaHJvbWUgd2hlbiBlbGVtZW50XG4gICAgICAvLyBsb3NlcyBmb2N1cyBvbiBjbGljayBvbiB0aGUgc2Nyb2xsYmFyXG4gICAgICBvbk1vdXNlRG93bj17KGUpID0+IGUucHJldmVudERlZmF1bHQoKX1cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9XCJvcHRpb25zTGlzdFwiXG4gICAgPlxuICAgICAge2lzVmlydHVhbGl6ZWQgPyAoXG4gICAgICAgIDxWaXJ0dWFsU2Nyb2xsTGlzdFxuICAgICAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgICAgIGl0ZW1IZWlnaHQ9ezM2fVxuICAgICAgICAgIGl0ZW1BbW91bnQ9e29wdGlvbnMubGVuZ3RofVxuICAgICAgICAgIGVtcHR5U3RhdGU9eygpID0+IG51bGx9XG4gICAgICAgICAgY29udGFpbmVyU3R5bGU9e2Ryb3Bkb3duQ29udGFpbmVyU3R5bGV9XG4gICAgICAgICAgaXRlbUluVmlldz17c2VsZWN0ZWRJbmRleH1cbiAgICAgICAgICBpdGVtVGVtcGxhdGU9e3JlbmRlckl0ZW19XG4gICAgICAgICAgb25Db250ZW50SGVpZ2h0Q2hhbmdlPXtjYWxjdWxhdGVTdHlsZX1cbiAgICAgICAgLz5cbiAgICAgICkgOiAoXG4gICAgICAgIDxTdHlsZWRMaXN0Q29udGFpbmVyXG4gICAgICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICAgIGlkPXtnZXRPcHRpb25zTGlzdElkKG5hbWUpfVxuICAgICAgICAgIHJlZj17bGlzdENvbnRhaW5lclJlZn1cbiAgICAgICAgPlxuICAgICAgICAgIHtvcHRpb25zLm1hcCgoX29wdGlvbiwgaW5kZXgpID0+IHJlbmRlckl0ZW0oaW5kZXgpKX1cbiAgICAgICAgPC9TdHlsZWRMaXN0Q29udGFpbmVyPlxuICAgICAgKX1cbiAgICA8L1N0eWxlZERyb3Bkb3duPlxuICApO1xuXG4gIGlmICghaXNPcGVuKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBsaXN0UG9ydGFsID0gb3B0aW9ucy5sZW5ndGggPyAoXG4gICAgPFBvcnRhbCBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn0+e2xpc3RFbG19PC9Qb3J0YWw+XG4gICkgOiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxTY3JlZW5SZWFkZXJUZXh0IHJvbGU9XCJzdGF0dXNcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgeyFvcHRpb25zLmxlbmd0aCA/IGVtcHR5U3RhdGVNZXNzYWdlIDogXCJcIn1cbiAgICAgIDwvU2NyZWVuUmVhZGVyVGV4dD5cbiAgICAgIHtsaXN0UG9ydGFsfVxuICAgIDwvPlxuICApO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZDcUIifQ== */"),StyledListContainer=(0,_styled.default)("div",{target:"e1d5yhis1",label:"StyledListContainer"})(({theme,maxHeight})=>({maxHeight,boxSizing:"border-box",overflow:"auto",padding:`${theme.variables.size.spacing.xxs} 0`}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRm9ybS9Db21ib2JveC9PcHRpb25zTGlzdC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0Zvcm0vQ29tYm9ib3gvT3B0aW9uc0xpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVmT2JqZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgdXNlS2V5Ym9hcmQgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZUtleWJvYXJkXCI7XG5pbXBvcnQgdHlwZSB7IENvbW1vblNlbGVjdFByb3BzLCBTZWxlY3RPcHRpb24gfSBmcm9tIFwiLi9Db21ib2JveFwiO1xuaW1wb3J0IHsgdXNlUG9wdXBNZW51IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9wb3B1cE1lbnUvdXNlUG9wdXBNZW51XCI7XG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsTGlzdCB9IGZyb20gXCIuLi8uLi9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdFwiO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gXCIuLi8uLi9UeXBvZ3JhcGh5L1RleHQvVGV4dFwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIi4uLy4uL0ljb24vSWNvblwiO1xuaW1wb3J0IHsgU3R5bGVkRHJvcGRvd24sIFN0eWxlZE9wdGlvbiB9IGZyb20gXCIuL1N0eWxlZFNlbGVjdENvbXBvbmVudHNcIjtcbmltcG9ydCB7IGRyb3Bkb3duQ29udGFpbmVyU3R5bGUgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDaGVja2JveFJhdyB9IGZyb20gXCIuLi9DaGVja2JveC9DaGVja2JveFwiO1xuaW1wb3J0IHsgUG9ydGFsIH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IFNjcmVlblJlYWRlclRleHQgfSBmcm9tIFwiLi4vLi4vVXRpbGl0aWVzL1NjcmVlblJlYWRlclRleHQvU2NyZWVuUmVhZGVyVGV4dFwiO1xuXG50eXBlIE9wdGlvbnNMaXN0UHJvcHMgPSB7XG4gIGlzT3BlbjogYm9vbGVhbjtcbiAgaXNNdWx0aVNlbGVjdD86IGJvb2xlYW47XG4gIHRyaWdnZXJSZWY6IFJlZk9iamVjdDxIVE1MSW5wdXRFbGVtZW50PjtcbiAgdHJpZ2dlcldyYXBwZXJSZWY/OiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBvbkNsb3NlRHJvcGRvd246IChub1NlbGVjdD86IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlcjtcbiAgb25TZWxlY3RlZEluZGV4Q2hhbmdlOiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbiAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0OiAoc2VsZWN0ZWRPcHRpb246IFNlbGVjdE9wdGlvbikgPT4gdm9pZDtcbiAgaXNWaXJ0dWFsaXplZD86IGJvb2xlYW47XG59ICYgUGFydGlhbDxDb21tb25TZWxlY3RQcm9wcz47XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25JZChzZWxlY3ROYW1lOiBzdHJpbmcsIG9wdGlvblZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7c2VsZWN0TmFtZX1PcHRpb24ke29wdGlvblZhbHVlfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25zTGlzdElkKHNlbGVjdE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtzZWxlY3ROYW1lfU9wdGlvbnNMaXN0YDtcbn1cblxuZnVuY3Rpb24gc2Nyb2xsVG9JdGVtKGxpc3Q6IEhUTUxEaXZFbGVtZW50W10sIGl0ZW1JbmRleDogbnVtYmVyKSB7XG4gIGxpc3RbaXRlbUluZGV4XT8uc2Nyb2xsSW50b1ZpZXc/Lih7XG4gICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgYmxvY2s6IFwibmVhcmVzdFwiLFxuICB9KTtcbn1cblxuY29uc3QgQ3VzdG9tT3B0aW9uID0gc3R5bGVkKFN0eWxlZE9wdGlvbikoKHsgdGhlbWUgfSkgPT4gKHtcbiAgLy8gdGhpcyBpcyBuZWVkZWQgZm9yIHVzaW5nIHBhZGRpbmcgb2YgY2hlY2tib3hlcyBpbiBvcmRlciB0byB1c2UgaXRzIGhvdmVyIHN0YXRlXG4gIHBhZGRpbmdUb3A6IDAsXG4gIHBhZGRpbmdCb3R0b206IDAsXG4gIFwiJiA+IGRpdlwiOiB7XG4gICAgcGFkZGluZ1RvcDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54cyxcbiAgICBwYWRkaW5nQm90dG9tOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzLFxuICB9LFxuICBcIiYgPiBkaXYgKlwiOiB7XG4gICAgbWFyZ2luVG9wOiAwLFxuICB9LFxufSkpO1xuXG5jb25zdCBTdHlsZWRMaXN0Q29udGFpbmVyID0gc3R5bGVkLmRpdjxQaWNrPE9wdGlvbnNMaXN0UHJvcHMsIFwibWF4SGVpZ2h0XCI+PihcbiAgKHsgdGhlbWUsIG1heEhlaWdodCB9KSA9PiAoe1xuICAgIG1heEhlaWdodCxcbiAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgIG92ZXJmbG93OiBcImF1dG9cIixcbiAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c30gMGAsXG4gIH0pXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gT3B0aW9uc0xpc3Qoe1xuICBpc09wZW4sXG4gIGlzTXVsdGlTZWxlY3QgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIGRpc2FibGVkLFxuICBvcHRpb25zLFxuICBwb3J0YWxDb250YWluZXIsXG4gIHRyaWdnZXJSZWYsXG4gIHRyaWdnZXJXcmFwcGVyUmVmLFxuICBtYXhIZWlnaHQsXG4gIGVtcHR5U3RhdGVNZXNzYWdlID0gXCJObyBvcHRpb25zIGF2YWlsYWJsZVwiLFxuICBzZWxlY3RlZEluZGV4LFxuICBvcHRpb25zTGlzdFdpZHRoLFxuICBpc1ZpcnR1YWxpemVkID0gdHJ1ZSxcbiAgbmFtZSxcbiAgb25DbG9zZURyb3Bkb3duLFxuICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UsXG4gIGZvcmNlQ2hhbmdlRmFrZVNlbGVjdCxcbn06IE9wdGlvbnNMaXN0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBvcHRpb25zTGlzdFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGlzdENvbnRhaW5lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGlzdEl0ZW1zUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCByZWZGb3JQb3NpdGlvbmluZyA9IHRyaWdnZXJXcmFwcGVyUmVmIHx8IHRyaWdnZXJSZWY7XG4gIGNvbnN0IGFjdGl2ZUl0ZW1JbmRleCA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+XG4gICAgICAgIGlzTXVsdGlTZWxlY3QgPyB2YWx1ZS5pbmNsdWRlcyhvcHRpb24udmFsdWUpIDogb3B0aW9uLnZhbHVlID09PSB2YWx1ZVxuICAgICAgKSxcbiAgICBbb3B0aW9ucywgaXNNdWx0aVNlbGVjdCwgdmFsdWVdXG4gICk7XG5cbiAgY29uc3QgeyBtZW51U3R5bGU6IG9wdGlvbnNMaXN0U3R5bGUsIGNhbGN1bGF0ZVN0eWxlIH0gPSB1c2VQb3B1cE1lbnUoe1xuICAgIHRyaWdnZXJSZWY6IHJlZkZvclBvc2l0aW9uaW5nLFxuICAgIG1lbnVSZWY6IG9wdGlvbnNMaXN0UmVmLFxuICAgIGlzT3BlbixcbiAgfSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoXG4gICAgICBpc09wZW4gJiZcbiAgICAgIGxpc3RDb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgIWlzVmlydHVhbGl6ZWQgJiZcbiAgICAgIG9wdGlvbnNMaXN0U3R5bGUudG9wXG4gICAgKSB7XG4gICAgICBjb25zdCBsaXN0RWxtID0gbGlzdENvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgICAgLy8gZGV0ZXJtaW5lIG92ZXJmbG93XG4gICAgICBpZiAobGlzdEVsbS5jbGllbnRIZWlnaHQgPCBsaXN0RWxtLnNjcm9sbEhlaWdodCkge1xuICAgICAgICBsaXN0SXRlbXNSZWYuY3VycmVudCA9IGxpc3RFbG0ucXVlcnlTZWxlY3RvckFsbChcIltkYXRhLWxpc3QtaXRlbV1cIik7XG4gICAgICAgIHNjcm9sbFRvSXRlbShsaXN0SXRlbXNSZWYuY3VycmVudCwgYWN0aXZlSXRlbUluZGV4KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGlzdEl0ZW1zUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgfSwgW1xuICAgIGlzT3BlbixcbiAgICBpc1ZpcnR1YWxpemVkLFxuICAgIGxpc3RDb250YWluZXJSZWYsXG4gICAgb3B0aW9ucyxcbiAgICBtYXhIZWlnaHQsXG4gICAgb3B0aW9uc0xpc3RTdHlsZSxcbiAgICBhY3RpdmVJdGVtSW5kZXgsXG4gIF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxpc3RJdGVtc1JlZi5jdXJyZW50KSB7XG4gICAgICBzY3JvbGxUb0l0ZW0obGlzdEl0ZW1zUmVmLmN1cnJlbnQsIHNlbGVjdGVkSW5kZXgpO1xuICAgIH1cbiAgfSwgW2xpc3RJdGVtc1JlZiwgc2VsZWN0ZWRJbmRleF0pO1xuXG4gIHVzZUtleWJvYXJkKFxuICAgIHtcbiAgICAgIEVzY2FwZTogKCkgPT4gb25DbG9zZURyb3Bkb3duKHRydWUpLFxuICAgICAgRW50ZXI6ICgpID0+IHtcbiAgICAgICAgY29uc3QgcHJlc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25zW3NlbGVjdGVkSW5kZXhdO1xuXG4gICAgICAgIGlmICghcHJlc2VsZWN0ZWRPcHRpb24/LmRpc2FibGVkKSB7XG4gICAgICAgICAgaWYgKHByZXNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgICBmb3JjZUNoYW5nZUZha2VTZWxlY3QocHJlc2VsZWN0ZWRPcHRpb24pO1xuICAgICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICAgIG9uQ2xvc2VEcm9wZG93bih0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBBcnJvd1VwOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4ID4gMCkge1xuICAgICAgICAgIG5ld0luZGV4IC09IDE7XG4gICAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBPbmx5IHVwZGF0ZSB0aGUgc2VsZWN0aW9uIGlmIHRoZSBuZXcgaXRlbSBpcyBub3QgZGlzYWJsZWRcbiAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UobmV3SW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgQXJyb3dEb3duOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4IDwgb3B0aW9ucy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgbmV3SW5kZXggKz0gMTtcbiAgICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIE9ubHkgdXBkYXRlIHRoZSBzZWxlY3Rpb24gaWYgdGhlIG5ldyBpdGVtIGlzIG5vdCBkaXNhYmxlZFxuICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgIG9uU2VsZWN0ZWRJbmRleENoYW5nZShuZXdJbmRleCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICB0cmlnZ2VyUmVmLFxuICAgIGlzT3BlbiAmJiAhZGlzYWJsZWRcbiAgKTtcblxuICBjb25zdCByZW5kZXJJdGVtID0gKGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBvcHRpb246IFNlbGVjdE9wdGlvbiA9IG9wdGlvbnNbaW5kZXhdO1xuICAgIC8vIEdlbmVyYXRlIHVuaXF1ZSBpZCBmb3IgdGhlIG9wdGlvblxuICAgIGNvbnN0IGlkID0gZ2V0T3B0aW9uSWQobmFtZSwgb3B0aW9uLnZhbHVlKTtcblxuICAgIGlmIChpc011bHRpU2VsZWN0KSB7XG4gICAgICBjb25zdCBpc0FjdGl2ZSA9IHZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxDdXN0b21PcHRpb25cbiAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICBhcmlhLXNlbGVjdGVkPXtpc0FjdGl2ZX1cbiAgICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgIGtleT17b3B0aW9uLnZhbHVlfVxuICAgICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgICAgZGlzYWJsZWQ9e29wdGlvbi5kaXNhYmxlZH1cbiAgICAgICAgICBwcmVTZWxlY3RlZD17c2VsZWN0ZWRJbmRleCA9PT0gaW5kZXh9XG4gICAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgICAvLyBzdG9wIGV2ZW50IHByb3BhZ2F0aW9uIHRvIG5vdCBjbG9zZSBtb2RhbCBvbiBzZWxlY3Rpb24gaWYgc2VsZWN0IGlzIHdpdGhpbiBhIE1vZGFsXG4gICAgICAgICAgb25DbGljaz17KGV2dCkgPT4gZXZ0LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICA+XG4gICAgICAgICAgPENoZWNrYm94UmF3XG4gICAgICAgICAgICBuYW1lPVwiXCJcbiAgICAgICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgICBjaGVja2VkPXtpc0FjdGl2ZX1cbiAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgIGxhYmVsPXtvcHRpb24ubGFiZWx9XG4gICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4gbnVsbH1cbiAgICAgICAgICAgIGxhYmVsSGludD17b3B0aW9uPy5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0N1c3RvbU9wdGlvbj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gZWxzZSByZW5kZXIgc2luZ2xlIHNlbGVjdCBpdGVtXG4gICAgY29uc3QgaXNBY3RpdmUgPSB2YWx1ZSA9PT0gb3B0aW9uLnZhbHVlO1xuICAgIGNvbnN0IG9wdGlvblRleHQgPSAoXG4gICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgIDxUZXh0IGNvbG9yPVwicHJpbWFyeVwiIHNpemU9XCJtXCI+XG4gICAgICAgICAge29wdGlvbi5sYWJlbH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgICB7b3B0aW9uLmRlc2NyaXB0aW9uICYmIChcbiAgICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCIgc2l6ZT1cInNcIj5cbiAgICAgICAgICAgIHtvcHRpb24uZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICApfVxuICAgICAgPC9TdGFjaz5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRPcHRpb25cbiAgICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2lzQWN0aXZlfVxuICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIGlkPXtpZH1cbiAgICAgICAga2V5PXtvcHRpb24udmFsdWV9XG4gICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIHByZVNlbGVjdGVkPXtzZWxlY3RlZEluZGV4ID09PSBpbmRleH1cbiAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24odHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7aXNBY3RpdmUgPyAoXG4gICAgICAgICAgPElubGluZSBub1dyYXAgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiPlxuICAgICAgICAgICAge29wdGlvblRleHR9XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT1cInh4eHNcIj5cbiAgICAgICAgICAgICAgPEljb24gbmFtZT1cImNoZWNrXCIgc2l6ZT1cInNcIiBjb2xvcj1cImFjY2VudFwiIC8+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBvcHRpb25UZXh0XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZE9wdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGxpc3RTdHlsZSA9IHtcbiAgICAuLi5vcHRpb25zTGlzdFN0eWxlLFxuICAgIHdpZHRoOlxuICAgICAgb3B0aW9uc0xpc3RXaWR0aCB8fFxuICAgICAgcmVmRm9yUG9zaXRpb25pbmcuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsXG4gIH07XG5cbiAgY29uc3QgbGlzdEVsbSA9IChcbiAgICA8U3R5bGVkRHJvcGRvd25cbiAgICAgIHN0eWxlPXtsaXN0U3R5bGV9XG4gICAgICByZWY9e29wdGlvbnNMaXN0UmVmfVxuICAgICAgLy8gdGhpcyBpcyB0byBwcmV2ZW50IGtub3duIGJ1ZyBvZiBDaHJvbWUgd2hlbiBlbGVtZW50XG4gICAgICAvLyBsb3NlcyBmb2N1cyBvbiBjbGljayBvbiB0aGUgc2Nyb2xsYmFyXG4gICAgICBvbk1vdXNlRG93bj17KGUpID0+IGUucHJldmVudERlZmF1bHQoKX1cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9XCJvcHRpb25zTGlzdFwiXG4gICAgPlxuICAgICAge2lzVmlydHVhbGl6ZWQgPyAoXG4gICAgICAgIDxWaXJ0dWFsU2Nyb2xsTGlzdFxuICAgICAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgICAgIGl0ZW1IZWlnaHQ9ezM2fVxuICAgICAgICAgIGl0ZW1BbW91bnQ9e29wdGlvbnMubGVuZ3RofVxuICAgICAgICAgIGVtcHR5U3RhdGU9eygpID0+IG51bGx9XG4gICAgICAgICAgY29udGFpbmVyU3R5bGU9e2Ryb3Bkb3duQ29udGFpbmVyU3R5bGV9XG4gICAgICAgICAgaXRlbUluVmlldz17c2VsZWN0ZWRJbmRleH1cbiAgICAgICAgICBpdGVtVGVtcGxhdGU9e3JlbmRlckl0ZW19XG4gICAgICAgICAgb25Db250ZW50SGVpZ2h0Q2hhbmdlPXtjYWxjdWxhdGVTdHlsZX1cbiAgICAgICAgLz5cbiAgICAgICkgOiAoXG4gICAgICAgIDxTdHlsZWRMaXN0Q29udGFpbmVyXG4gICAgICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICAgIGlkPXtnZXRPcHRpb25zTGlzdElkKG5hbWUpfVxuICAgICAgICAgIHJlZj17bGlzdENvbnRhaW5lclJlZn1cbiAgICAgICAgPlxuICAgICAgICAgIHtvcHRpb25zLm1hcCgoX29wdGlvbiwgaW5kZXgpID0+IHJlbmRlckl0ZW0oaW5kZXgpKX1cbiAgICAgICAgPC9TdHlsZWRMaXN0Q29udGFpbmVyPlxuICAgICAgKX1cbiAgICA8L1N0eWxlZERyb3Bkb3duPlxuICApO1xuXG4gIGlmICghaXNPcGVuKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBsaXN0UG9ydGFsID0gb3B0aW9ucy5sZW5ndGggPyAoXG4gICAgPFBvcnRhbCBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn0+e2xpc3RFbG19PC9Qb3J0YWw+XG4gICkgOiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxTY3JlZW5SZWFkZXJUZXh0IHJvbGU9XCJzdGF0dXNcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgeyFvcHRpb25zLmxlbmd0aCA/IGVtcHR5U3RhdGVNZXNzYWdlIDogXCJcIn1cbiAgICAgIDwvU2NyZWVuUmVhZGVyVGV4dD5cbiAgICAgIHtsaXN0UG9ydGFsfVxuICAgIDwvPlxuICApO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBENEIifQ== */");function OptionsList({isOpen,isMultiSelect=!1,value,disabled,options,portalContainer,triggerRef,triggerWrapperRef,maxHeight,emptyStateMessage="No options available",selectedIndex,optionsListWidth,isVirtualized=!0,name,onCloseDropdown,onSelectedIndexChange,forceChangeFakeSelect}){let optionsListRef=(0,_react.useRef)(null),listContainerRef=(0,_react.useRef)(null),listItemsRef=(0,_react.useRef)(null),refForPositioning=triggerWrapperRef||triggerRef,activeItemIndex=(0,_react.useMemo)(()=>options.findIndex(option=>isMultiSelect?value.includes(option.value):option.value===value),[options,isMultiSelect,value]),{menuStyle:optionsListStyle,calculateStyle}=(0,_usePopupMenu.usePopupMenu)({triggerRef:refForPositioning,menuRef:optionsListRef,isOpen});(0,_react.useEffect)(()=>{if(isOpen&&listContainerRef.current&&!isVirtualized&&optionsListStyle.top){let listElm=listContainerRef.current;listElm.clientHeight<listElm.scrollHeight&&(listItemsRef.current=listElm.querySelectorAll("[data-list-item]"),scrollToItem(listItemsRef.current,activeItemIndex))}else listItemsRef.current=null},[isOpen,isVirtualized,listContainerRef,options,maxHeight,optionsListStyle,activeItemIndex]),(0,_react.useEffect)(()=>{listItemsRef.current&&scrollToItem(listItemsRef.current,selectedIndex)},[listItemsRef,selectedIndex]),(0,_useKeyboard.useKeyboard)({Escape:()=>onCloseDropdown(!0),Enter:()=>{let preselectedOption=options[selectedIndex];if(!preselectedOption?.disabled){if(preselectedOption){forceChangeFakeSelect(preselectedOption),isMultiSelect||onCloseDropdown(!0);return}isMultiSelect||onCloseDropdown()}},ArrowUp:()=>{let newIndex=-1===selectedIndex?activeItemIndex:selectedIndex;for(;newIndex>0&&(newIndex-=1,options[newIndex]?.disabled););options[newIndex]?.disabled||onSelectedIndexChange(newIndex)},ArrowDown:()=>{let newIndex=-1===selectedIndex?activeItemIndex:selectedIndex;for(;newIndex<options.length-1&&(newIndex+=1,options[newIndex]?.disabled););options[newIndex]?.disabled||onSelectedIndexChange(newIndex)}},triggerRef,isOpen&&!disabled);let renderItem=index=>{let option=options[index],id=getOptionId(name,option.value);if(isMultiSelect){let isActive=value.includes(option.value);return _react.default.createElement(CustomOption,{role:"option","aria-selected":isActive,"aria-disabled":option.disabled,id:id,key:option.value,active:isActive,disabled:option.disabled,preSelected:selectedIndex===index,"data-list-item":!0,onMouseDown:()=>{option.disabled||forceChangeFakeSelect(option)},onClick:evt=>evt.stopPropagation()},_react.default.createElement(_Checkbox.CheckboxRaw,{name:"",disabled:option.disabled,checked:isActive,size:"s",label:option.label,onChange:()=>null,labelHint:option?.description}))}let isActive=value===option.value,optionText=_react.default.createElement(_Stack.Stack,{space:"zero"},_react.default.createElement(_Text.Text,{color:"primary",size:"m"},option.label),option.description&&_react.default.createElement(_Text.Text,{color:"tertiary",size:"s"},option.description));return _react.default.createElement(_StyledSelectComponents.StyledOption,{role:"option","aria-selected":isActive,"aria-disabled":option.disabled,id:id,key:option.value,active:isActive,disabled:option.disabled,preSelected:selectedIndex===index,"data-list-item":!0,onMouseDown:()=>{option.disabled||(forceChangeFakeSelect(option),onCloseDropdown(!0))}},isActive?_react.default.createElement(_Inline.Inline,{noWrap:!0,alignItems:"spaceBetween"},optionText,_react.default.createElement(_Box.Box,{space:"zero",tSpace:"xxxs"},_react.default.createElement(_Icon.Icon,{name:"check",size:"s",color:"accent"}))):optionText)},listStyle={...optionsListStyle,width:optionsListWidth||refForPositioning.current?.getBoundingClientRect().width},listElm=_react.default.createElement(_StyledSelectComponents.StyledDropdown,{style:listStyle,ref:optionsListRef,onMouseDown:e=>e.preventDefault(),"data-e2e-test-id":"optionsList"},isVirtualized?_react.default.createElement(_VirtualScrollList.VirtualScrollList,{maxHeight:maxHeight,itemHeight:36,itemAmount:options.length,emptyState:()=>null,containerStyle:_constants.dropdownContainerStyle,itemInView:selectedIndex,itemTemplate:renderItem,onContentHeightChange:calculateStyle}):_react.default.createElement(StyledListContainer,{maxHeight:maxHeight,role:"listbox",id:getOptionsListId(name),ref:listContainerRef},options.map((_option,index)=>renderItem(index))));if(!isOpen)return null;let listPortal=options.length?_react.default.createElement(_Portal.Portal,{portalContainer:portalContainer},listElm):null;return _react.default.createElement(_react.default.Fragment,null,_react.default.createElement(_ScreenReaderText.ScreenReaderText,{role:"status","aria-live":"polite"},options.length?"":emptyStateMessage),listPortal)}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={OptionsList:function(){return OptionsList},getOptionId:function(){return getOptionId},getOptionsListId:function(){return getOptionsListId}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:all[name]});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_useKeyboard=require("../../../shared/useKeyboard"),_usePopupMenu=require("../../../shared/popupMenu/usePopupMenu"),_VirtualScrollList=require("../../VirtualScrollList/VirtualScrollList"),_Text=require("../../Typography/Text/Text"),_Box=require("../../Box/Box"),_Inline=require("../../Inline/Inline"),_Icon=require("../../Icon/Icon"),_StyledSelectComponents=require("./StyledSelectComponents"),_constants=require("./constants"),_Stack=require("../../Stack/Stack"),_Checkbox=require("../Checkbox/Checkbox"),_Portal=require("../../Portal/Portal"),_ScreenReaderText=require("../../Utilities/ScreenReaderText/ScreenReaderText");function getOptionId(selectName,optionValue){return`${selectName}Option${optionValue}`}function getOptionsListId(selectName){return`${selectName}OptionsList`}function scrollToItem(list,itemIndex){list[itemIndex]?.scrollIntoView?.({behavior:"smooth",block:"nearest"})}const CustomOption=(0,_styled.default)(_StyledSelectComponents.StyledOption,{target:"e159rw3y0",label:"CustomOption"})(({theme})=>({paddingTop:0,paddingBottom:0,"& > div":{paddingTop:theme.variables.size.spacing.xs,paddingBottom:theme.variables.size.spacing.xs},"& > div *":{marginTop:0}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRm9ybS9Db21ib2JveC9PcHRpb25zTGlzdC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0Zvcm0vQ29tYm9ib3gvT3B0aW9uc0xpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVmT2JqZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgdXNlS2V5Ym9hcmQgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZUtleWJvYXJkXCI7XG5pbXBvcnQgdHlwZSB7IENvbW1vblNlbGVjdFByb3BzLCBTZWxlY3RPcHRpb24gfSBmcm9tIFwiLi9Db21ib2JveFwiO1xuaW1wb3J0IHsgdXNlUG9wdXBNZW51IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9wb3B1cE1lbnUvdXNlUG9wdXBNZW51XCI7XG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsTGlzdCB9IGZyb20gXCIuLi8uLi9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdFwiO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gXCIuLi8uLi9UeXBvZ3JhcGh5L1RleHQvVGV4dFwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIi4uLy4uL0ljb24vSWNvblwiO1xuaW1wb3J0IHsgU3R5bGVkRHJvcGRvd24sIFN0eWxlZE9wdGlvbiB9IGZyb20gXCIuL1N0eWxlZFNlbGVjdENvbXBvbmVudHNcIjtcbmltcG9ydCB7IGRyb3Bkb3duQ29udGFpbmVyU3R5bGUgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDaGVja2JveFJhdyB9IGZyb20gXCIuLi9DaGVja2JveC9DaGVja2JveFwiO1xuaW1wb3J0IHsgUG9ydGFsIH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IFNjcmVlblJlYWRlclRleHQgfSBmcm9tIFwiLi4vLi4vVXRpbGl0aWVzL1NjcmVlblJlYWRlclRleHQvU2NyZWVuUmVhZGVyVGV4dFwiO1xuXG50eXBlIE9wdGlvbnNMaXN0UHJvcHMgPSB7XG4gIGlzT3BlbjogYm9vbGVhbjtcbiAgaXNNdWx0aVNlbGVjdD86IGJvb2xlYW47XG4gIHRyaWdnZXJSZWY6IFJlZk9iamVjdDxIVE1MSW5wdXRFbGVtZW50PjtcbiAgdHJpZ2dlcldyYXBwZXJSZWY/OiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBvbkNsb3NlRHJvcGRvd246IChub1NlbGVjdD86IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlcjtcbiAgb25TZWxlY3RlZEluZGV4Q2hhbmdlOiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbiAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0OiAoc2VsZWN0ZWRPcHRpb246IFNlbGVjdE9wdGlvbikgPT4gdm9pZDtcbiAgaXNWaXJ0dWFsaXplZD86IGJvb2xlYW47XG59ICYgUGFydGlhbDxDb21tb25TZWxlY3RQcm9wcz47XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25JZChzZWxlY3ROYW1lOiBzdHJpbmcsIG9wdGlvblZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7c2VsZWN0TmFtZX1PcHRpb24ke29wdGlvblZhbHVlfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25zTGlzdElkKHNlbGVjdE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtzZWxlY3ROYW1lfU9wdGlvbnNMaXN0YDtcbn1cblxuZnVuY3Rpb24gc2Nyb2xsVG9JdGVtKGxpc3Q6IEhUTUxEaXZFbGVtZW50W10sIGl0ZW1JbmRleDogbnVtYmVyKSB7XG4gIGxpc3RbaXRlbUluZGV4XT8uc2Nyb2xsSW50b1ZpZXc/Lih7XG4gICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgYmxvY2s6IFwibmVhcmVzdFwiLFxuICB9KTtcbn1cblxuY29uc3QgQ3VzdG9tT3B0aW9uID0gc3R5bGVkKFN0eWxlZE9wdGlvbikoKHsgdGhlbWUgfSkgPT4gKHtcbiAgLy8gdGhpcyBpcyBuZWVkZWQgZm9yIHVzaW5nIHBhZGRpbmcgb2YgY2hlY2tib3hlcyBpbiBvcmRlciB0byB1c2UgaXRzIGhvdmVyIHN0YXRlXG4gIHBhZGRpbmdUb3A6IDAsXG4gIHBhZGRpbmdCb3R0b206IDAsXG4gIFwiJiA+IGRpdlwiOiB7XG4gICAgcGFkZGluZ1RvcDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54cyxcbiAgICBwYWRkaW5nQm90dG9tOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzLFxuICB9LFxuICBcIiYgPiBkaXYgKlwiOiB7XG4gICAgbWFyZ2luVG9wOiAwLFxuICB9LFxufSkpO1xuXG5jb25zdCBTdHlsZWRMaXN0Q29udGFpbmVyID0gc3R5bGVkLmRpdjxQaWNrPE9wdGlvbnNMaXN0UHJvcHMsIFwibWF4SGVpZ2h0XCI+PihcbiAgKHsgdGhlbWUsIG1heEhlaWdodCB9KSA9PiAoe1xuICAgIG1heEhlaWdodCxcbiAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgIG92ZXJmbG93OiBcImF1dG9cIixcbiAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c30gMGAsXG4gIH0pXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gT3B0aW9uc0xpc3Qoe1xuICBpc09wZW4sXG4gIGlzTXVsdGlTZWxlY3QgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIGRpc2FibGVkLFxuICBvcHRpb25zLFxuICBwb3J0YWxDb250YWluZXIsXG4gIHRyaWdnZXJSZWYsXG4gIHRyaWdnZXJXcmFwcGVyUmVmLFxuICBtYXhIZWlnaHQsXG4gIGVtcHR5U3RhdGVNZXNzYWdlID0gXCJObyBvcHRpb25zIGF2YWlsYWJsZVwiLFxuICBzZWxlY3RlZEluZGV4LFxuICBvcHRpb25zTGlzdFdpZHRoLFxuICBpc1ZpcnR1YWxpemVkID0gdHJ1ZSxcbiAgbmFtZSxcbiAgb25DbG9zZURyb3Bkb3duLFxuICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UsXG4gIGZvcmNlQ2hhbmdlRmFrZVNlbGVjdCxcbn06IE9wdGlvbnNMaXN0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBvcHRpb25zTGlzdFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGlzdENvbnRhaW5lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGlzdEl0ZW1zUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCByZWZGb3JQb3NpdGlvbmluZyA9IHRyaWdnZXJXcmFwcGVyUmVmIHx8IHRyaWdnZXJSZWY7XG4gIGNvbnN0IGFjdGl2ZUl0ZW1JbmRleCA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+XG4gICAgICAgIGlzTXVsdGlTZWxlY3QgPyB2YWx1ZS5pbmNsdWRlcyhvcHRpb24udmFsdWUpIDogb3B0aW9uLnZhbHVlID09PSB2YWx1ZVxuICAgICAgKSxcbiAgICBbb3B0aW9ucywgaXNNdWx0aVNlbGVjdCwgdmFsdWVdXG4gICk7XG5cbiAgY29uc3QgeyBtZW51U3R5bGU6IG9wdGlvbnNMaXN0U3R5bGUsIGNhbGN1bGF0ZVN0eWxlIH0gPSB1c2VQb3B1cE1lbnUoe1xuICAgIHRyaWdnZXJSZWY6IHJlZkZvclBvc2l0aW9uaW5nLFxuICAgIG1lbnVSZWY6IG9wdGlvbnNMaXN0UmVmLFxuICAgIGlzT3BlbixcbiAgfSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoXG4gICAgICBpc09wZW4gJiZcbiAgICAgIGxpc3RDb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgIWlzVmlydHVhbGl6ZWQgJiZcbiAgICAgIG9wdGlvbnNMaXN0U3R5bGUudG9wXG4gICAgKSB7XG4gICAgICBjb25zdCBsaXN0RWxtID0gbGlzdENvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgICAgLy8gZGV0ZXJtaW5lIG92ZXJmbG93XG4gICAgICBpZiAobGlzdEVsbS5jbGllbnRIZWlnaHQgPCBsaXN0RWxtLnNjcm9sbEhlaWdodCkge1xuICAgICAgICBsaXN0SXRlbXNSZWYuY3VycmVudCA9IGxpc3RFbG0ucXVlcnlTZWxlY3RvckFsbChcIltkYXRhLWxpc3QtaXRlbV1cIik7XG4gICAgICAgIHNjcm9sbFRvSXRlbShsaXN0SXRlbXNSZWYuY3VycmVudCwgYWN0aXZlSXRlbUluZGV4KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGlzdEl0ZW1zUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgfSwgW1xuICAgIGlzT3BlbixcbiAgICBpc1ZpcnR1YWxpemVkLFxuICAgIGxpc3RDb250YWluZXJSZWYsXG4gICAgb3B0aW9ucyxcbiAgICBtYXhIZWlnaHQsXG4gICAgb3B0aW9uc0xpc3RTdHlsZSxcbiAgICBhY3RpdmVJdGVtSW5kZXgsXG4gIF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxpc3RJdGVtc1JlZi5jdXJyZW50KSB7XG4gICAgICBzY3JvbGxUb0l0ZW0obGlzdEl0ZW1zUmVmLmN1cnJlbnQsIHNlbGVjdGVkSW5kZXgpO1xuICAgIH1cbiAgfSwgW2xpc3RJdGVtc1JlZiwgc2VsZWN0ZWRJbmRleF0pO1xuXG4gIHVzZUtleWJvYXJkKFxuICAgIHtcbiAgICAgIEVzY2FwZTogKCkgPT4gb25DbG9zZURyb3Bkb3duKHRydWUpLFxuICAgICAgRW50ZXI6ICgpID0+IHtcbiAgICAgICAgY29uc3QgcHJlc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25zW3NlbGVjdGVkSW5kZXhdO1xuXG4gICAgICAgIGlmICghcHJlc2VsZWN0ZWRPcHRpb24/LmRpc2FibGVkKSB7XG4gICAgICAgICAgaWYgKHByZXNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgICBmb3JjZUNoYW5nZUZha2VTZWxlY3QocHJlc2VsZWN0ZWRPcHRpb24pO1xuICAgICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICAgIG9uQ2xvc2VEcm9wZG93bih0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBBcnJvd1VwOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4ID4gMCkge1xuICAgICAgICAgIG5ld0luZGV4IC09IDE7XG4gICAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBPbmx5IHVwZGF0ZSB0aGUgc2VsZWN0aW9uIGlmIHRoZSBuZXcgaXRlbSBpcyBub3QgZGlzYWJsZWRcbiAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UobmV3SW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgQXJyb3dEb3duOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4IDwgb3B0aW9ucy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgbmV3SW5kZXggKz0gMTtcbiAgICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIE9ubHkgdXBkYXRlIHRoZSBzZWxlY3Rpb24gaWYgdGhlIG5ldyBpdGVtIGlzIG5vdCBkaXNhYmxlZFxuICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgIG9uU2VsZWN0ZWRJbmRleENoYW5nZShuZXdJbmRleCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICB0cmlnZ2VyUmVmLFxuICAgIGlzT3BlbiAmJiAhZGlzYWJsZWRcbiAgKTtcblxuICBjb25zdCByZW5kZXJJdGVtID0gKGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBvcHRpb246IFNlbGVjdE9wdGlvbiA9IG9wdGlvbnNbaW5kZXhdO1xuICAgIC8vIEdlbmVyYXRlIHVuaXF1ZSBpZCBmb3IgdGhlIG9wdGlvblxuICAgIGNvbnN0IGlkID0gZ2V0T3B0aW9uSWQobmFtZSwgb3B0aW9uLnZhbHVlKTtcblxuICAgIGlmIChpc011bHRpU2VsZWN0KSB7XG4gICAgICBjb25zdCBpc0FjdGl2ZSA9IHZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxDdXN0b21PcHRpb25cbiAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICBhcmlhLXNlbGVjdGVkPXtpc0FjdGl2ZX1cbiAgICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgIGtleT17b3B0aW9uLnZhbHVlfVxuICAgICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgICAgZGlzYWJsZWQ9e29wdGlvbi5kaXNhYmxlZH1cbiAgICAgICAgICBwcmVTZWxlY3RlZD17c2VsZWN0ZWRJbmRleCA9PT0gaW5kZXh9XG4gICAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgICAvLyBzdG9wIGV2ZW50IHByb3BhZ2F0aW9uIHRvIG5vdCBjbG9zZSBtb2RhbCBvbiBzZWxlY3Rpb24gaWYgc2VsZWN0IGlzIHdpdGhpbiBhIE1vZGFsXG4gICAgICAgICAgb25DbGljaz17KGV2dCkgPT4gZXZ0LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICA+XG4gICAgICAgICAgPENoZWNrYm94UmF3XG4gICAgICAgICAgICBuYW1lPVwiXCJcbiAgICAgICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgICBjaGVja2VkPXtpc0FjdGl2ZX1cbiAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgIGxhYmVsPXtvcHRpb24ubGFiZWx9XG4gICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4gbnVsbH1cbiAgICAgICAgICAgIGxhYmVsSGludD17b3B0aW9uPy5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0N1c3RvbU9wdGlvbj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gZWxzZSByZW5kZXIgc2luZ2xlIHNlbGVjdCBpdGVtXG4gICAgY29uc3QgaXNBY3RpdmUgPSB2YWx1ZSA9PT0gb3B0aW9uLnZhbHVlO1xuICAgIGNvbnN0IG9wdGlvblRleHQgPSAoXG4gICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgIDxUZXh0IGNvbG9yPVwicHJpbWFyeVwiIHNpemU9XCJtXCI+XG4gICAgICAgICAge29wdGlvbi5sYWJlbH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgICB7b3B0aW9uLmRlc2NyaXB0aW9uICYmIChcbiAgICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCIgc2l6ZT1cInNcIj5cbiAgICAgICAgICAgIHtvcHRpb24uZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICApfVxuICAgICAgPC9TdGFjaz5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRPcHRpb25cbiAgICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2lzQWN0aXZlfVxuICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIGlkPXtpZH1cbiAgICAgICAga2V5PXtvcHRpb24udmFsdWV9XG4gICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIHByZVNlbGVjdGVkPXtzZWxlY3RlZEluZGV4ID09PSBpbmRleH1cbiAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24odHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7aXNBY3RpdmUgPyAoXG4gICAgICAgICAgPElubGluZSBub1dyYXAgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiPlxuICAgICAgICAgICAge29wdGlvblRleHR9XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT1cInh4eHNcIj5cbiAgICAgICAgICAgICAgPEljb24gbmFtZT1cImNoZWNrXCIgc2l6ZT1cInNcIiBjb2xvcj1cImFjY2VudFwiIC8+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBvcHRpb25UZXh0XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZE9wdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGxpc3RTdHlsZSA9IHtcbiAgICAuLi5vcHRpb25zTGlzdFN0eWxlLFxuICAgIHdpZHRoOlxuICAgICAgb3B0aW9uc0xpc3RXaWR0aCB8fFxuICAgICAgcmVmRm9yUG9zaXRpb25pbmcuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsXG4gIH07XG5cbiAgY29uc3QgbGlzdEVsbSA9IChcbiAgICA8U3R5bGVkRHJvcGRvd25cbiAgICAgIHN0eWxlPXtsaXN0U3R5bGV9XG4gICAgICByZWY9e29wdGlvbnNMaXN0UmVmfVxuICAgICAgLy8gdGhpcyBpcyB0byBwcmV2ZW50IGtub3duIGJ1ZyBvZiBDaHJvbWUgd2hlbiBlbGVtZW50XG4gICAgICAvLyBsb3NlcyBmb2N1cyBvbiBjbGljayBvbiB0aGUgc2Nyb2xsYmFyXG4gICAgICBvbk1vdXNlRG93bj17KGUpID0+IGUucHJldmVudERlZmF1bHQoKX1cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9XCJvcHRpb25zTGlzdFwiXG4gICAgPlxuICAgICAge2lzVmlydHVhbGl6ZWQgPyAoXG4gICAgICAgIDxWaXJ0dWFsU2Nyb2xsTGlzdFxuICAgICAgICAgIGlkPXtnZXRPcHRpb25zTGlzdElkKG5hbWUpfVxuICAgICAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgICAgIGl0ZW1IZWlnaHQ9ezM2fVxuICAgICAgICAgIGl0ZW1BbW91bnQ9e29wdGlvbnMubGVuZ3RofVxuICAgICAgICAgIGVtcHR5U3RhdGU9eygpID0+IG51bGx9XG4gICAgICAgICAgY29udGFpbmVyU3R5bGU9e2Ryb3Bkb3duQ29udGFpbmVyU3R5bGV9XG4gICAgICAgICAgaXRlbUluVmlldz17c2VsZWN0ZWRJbmRleH1cbiAgICAgICAgICBpdGVtVGVtcGxhdGU9e3JlbmRlckl0ZW19XG4gICAgICAgICAgb25Db250ZW50SGVpZ2h0Q2hhbmdlPXtjYWxjdWxhdGVTdHlsZX1cbiAgICAgICAgLz5cbiAgICAgICkgOiAoXG4gICAgICAgIDxTdHlsZWRMaXN0Q29udGFpbmVyXG4gICAgICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICAgIGlkPXtnZXRPcHRpb25zTGlzdElkKG5hbWUpfVxuICAgICAgICAgIHJlZj17bGlzdENvbnRhaW5lclJlZn1cbiAgICAgICAgPlxuICAgICAgICAgIHtvcHRpb25zLm1hcCgoX29wdGlvbiwgaW5kZXgpID0+IHJlbmRlckl0ZW0oaW5kZXgpKX1cbiAgICAgICAgPC9TdHlsZWRMaXN0Q29udGFpbmVyPlxuICAgICAgKX1cbiAgICA8L1N0eWxlZERyb3Bkb3duPlxuICApO1xuXG4gIGlmICghaXNPcGVuKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBsaXN0UG9ydGFsID0gb3B0aW9ucy5sZW5ndGggPyAoXG4gICAgPFBvcnRhbCBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn0+e2xpc3RFbG19PC9Qb3J0YWw+XG4gICkgOiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxTY3JlZW5SZWFkZXJUZXh0IHJvbGU9XCJzdGF0dXNcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgeyFvcHRpb25zLmxlbmd0aCA/IGVtcHR5U3RhdGVNZXNzYWdlIDogXCJcIn1cbiAgICAgIDwvU2NyZWVuUmVhZGVyVGV4dD5cbiAgICAgIHtsaXN0UG9ydGFsfVxuICAgIDwvPlxuICApO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZDcUIifQ== */"),StyledListContainer=(0,_styled.default)("div",{target:"e159rw3y1",label:"StyledListContainer"})(({theme,maxHeight})=>({maxHeight,boxSizing:"border-box",overflow:"auto",padding:`${theme.variables.size.spacing.xxs} 0`}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRm9ybS9Db21ib2JveC9PcHRpb25zTGlzdC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0Zvcm0vQ29tYm9ib3gvT3B0aW9uc0xpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVmT2JqZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgdXNlS2V5Ym9hcmQgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZUtleWJvYXJkXCI7XG5pbXBvcnQgdHlwZSB7IENvbW1vblNlbGVjdFByb3BzLCBTZWxlY3RPcHRpb24gfSBmcm9tIFwiLi9Db21ib2JveFwiO1xuaW1wb3J0IHsgdXNlUG9wdXBNZW51IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9wb3B1cE1lbnUvdXNlUG9wdXBNZW51XCI7XG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsTGlzdCB9IGZyb20gXCIuLi8uLi9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdFwiO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gXCIuLi8uLi9UeXBvZ3JhcGh5L1RleHQvVGV4dFwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIi4uLy4uL0ljb24vSWNvblwiO1xuaW1wb3J0IHsgU3R5bGVkRHJvcGRvd24sIFN0eWxlZE9wdGlvbiB9IGZyb20gXCIuL1N0eWxlZFNlbGVjdENvbXBvbmVudHNcIjtcbmltcG9ydCB7IGRyb3Bkb3duQ29udGFpbmVyU3R5bGUgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDaGVja2JveFJhdyB9IGZyb20gXCIuLi9DaGVja2JveC9DaGVja2JveFwiO1xuaW1wb3J0IHsgUG9ydGFsIH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IFNjcmVlblJlYWRlclRleHQgfSBmcm9tIFwiLi4vLi4vVXRpbGl0aWVzL1NjcmVlblJlYWRlclRleHQvU2NyZWVuUmVhZGVyVGV4dFwiO1xuXG50eXBlIE9wdGlvbnNMaXN0UHJvcHMgPSB7XG4gIGlzT3BlbjogYm9vbGVhbjtcbiAgaXNNdWx0aVNlbGVjdD86IGJvb2xlYW47XG4gIHRyaWdnZXJSZWY6IFJlZk9iamVjdDxIVE1MSW5wdXRFbGVtZW50PjtcbiAgdHJpZ2dlcldyYXBwZXJSZWY/OiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBvbkNsb3NlRHJvcGRvd246IChub1NlbGVjdD86IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlcjtcbiAgb25TZWxlY3RlZEluZGV4Q2hhbmdlOiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbiAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0OiAoc2VsZWN0ZWRPcHRpb246IFNlbGVjdE9wdGlvbikgPT4gdm9pZDtcbiAgaXNWaXJ0dWFsaXplZD86IGJvb2xlYW47XG59ICYgUGFydGlhbDxDb21tb25TZWxlY3RQcm9wcz47XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25JZChzZWxlY3ROYW1lOiBzdHJpbmcsIG9wdGlvblZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7c2VsZWN0TmFtZX1PcHRpb24ke29wdGlvblZhbHVlfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25zTGlzdElkKHNlbGVjdE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtzZWxlY3ROYW1lfU9wdGlvbnNMaXN0YDtcbn1cblxuZnVuY3Rpb24gc2Nyb2xsVG9JdGVtKGxpc3Q6IEhUTUxEaXZFbGVtZW50W10sIGl0ZW1JbmRleDogbnVtYmVyKSB7XG4gIGxpc3RbaXRlbUluZGV4XT8uc2Nyb2xsSW50b1ZpZXc/Lih7XG4gICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgYmxvY2s6IFwibmVhcmVzdFwiLFxuICB9KTtcbn1cblxuY29uc3QgQ3VzdG9tT3B0aW9uID0gc3R5bGVkKFN0eWxlZE9wdGlvbikoKHsgdGhlbWUgfSkgPT4gKHtcbiAgLy8gdGhpcyBpcyBuZWVkZWQgZm9yIHVzaW5nIHBhZGRpbmcgb2YgY2hlY2tib3hlcyBpbiBvcmRlciB0byB1c2UgaXRzIGhvdmVyIHN0YXRlXG4gIHBhZGRpbmdUb3A6IDAsXG4gIHBhZGRpbmdCb3R0b206IDAsXG4gIFwiJiA+IGRpdlwiOiB7XG4gICAgcGFkZGluZ1RvcDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54cyxcbiAgICBwYWRkaW5nQm90dG9tOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzLFxuICB9LFxuICBcIiYgPiBkaXYgKlwiOiB7XG4gICAgbWFyZ2luVG9wOiAwLFxuICB9LFxufSkpO1xuXG5jb25zdCBTdHlsZWRMaXN0Q29udGFpbmVyID0gc3R5bGVkLmRpdjxQaWNrPE9wdGlvbnNMaXN0UHJvcHMsIFwibWF4SGVpZ2h0XCI+PihcbiAgKHsgdGhlbWUsIG1heEhlaWdodCB9KSA9PiAoe1xuICAgIG1heEhlaWdodCxcbiAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgIG92ZXJmbG93OiBcImF1dG9cIixcbiAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c30gMGAsXG4gIH0pXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gT3B0aW9uc0xpc3Qoe1xuICBpc09wZW4sXG4gIGlzTXVsdGlTZWxlY3QgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIGRpc2FibGVkLFxuICBvcHRpb25zLFxuICBwb3J0YWxDb250YWluZXIsXG4gIHRyaWdnZXJSZWYsXG4gIHRyaWdnZXJXcmFwcGVyUmVmLFxuICBtYXhIZWlnaHQsXG4gIGVtcHR5U3RhdGVNZXNzYWdlID0gXCJObyBvcHRpb25zIGF2YWlsYWJsZVwiLFxuICBzZWxlY3RlZEluZGV4LFxuICBvcHRpb25zTGlzdFdpZHRoLFxuICBpc1ZpcnR1YWxpemVkID0gdHJ1ZSxcbiAgbmFtZSxcbiAgb25DbG9zZURyb3Bkb3duLFxuICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UsXG4gIGZvcmNlQ2hhbmdlRmFrZVNlbGVjdCxcbn06IE9wdGlvbnNMaXN0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBvcHRpb25zTGlzdFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGlzdENvbnRhaW5lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGlzdEl0ZW1zUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCByZWZGb3JQb3NpdGlvbmluZyA9IHRyaWdnZXJXcmFwcGVyUmVmIHx8IHRyaWdnZXJSZWY7XG4gIGNvbnN0IGFjdGl2ZUl0ZW1JbmRleCA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+XG4gICAgICAgIGlzTXVsdGlTZWxlY3QgPyB2YWx1ZS5pbmNsdWRlcyhvcHRpb24udmFsdWUpIDogb3B0aW9uLnZhbHVlID09PSB2YWx1ZVxuICAgICAgKSxcbiAgICBbb3B0aW9ucywgaXNNdWx0aVNlbGVjdCwgdmFsdWVdXG4gICk7XG5cbiAgY29uc3QgeyBtZW51U3R5bGU6IG9wdGlvbnNMaXN0U3R5bGUsIGNhbGN1bGF0ZVN0eWxlIH0gPSB1c2VQb3B1cE1lbnUoe1xuICAgIHRyaWdnZXJSZWY6IHJlZkZvclBvc2l0aW9uaW5nLFxuICAgIG1lbnVSZWY6IG9wdGlvbnNMaXN0UmVmLFxuICAgIGlzT3BlbixcbiAgfSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoXG4gICAgICBpc09wZW4gJiZcbiAgICAgIGxpc3RDb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgIWlzVmlydHVhbGl6ZWQgJiZcbiAgICAgIG9wdGlvbnNMaXN0U3R5bGUudG9wXG4gICAgKSB7XG4gICAgICBjb25zdCBsaXN0RWxtID0gbGlzdENvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgICAgLy8gZGV0ZXJtaW5lIG92ZXJmbG93XG4gICAgICBpZiAobGlzdEVsbS5jbGllbnRIZWlnaHQgPCBsaXN0RWxtLnNjcm9sbEhlaWdodCkge1xuICAgICAgICBsaXN0SXRlbXNSZWYuY3VycmVudCA9IGxpc3RFbG0ucXVlcnlTZWxlY3RvckFsbChcIltkYXRhLWxpc3QtaXRlbV1cIik7XG4gICAgICAgIHNjcm9sbFRvSXRlbShsaXN0SXRlbXNSZWYuY3VycmVudCwgYWN0aXZlSXRlbUluZGV4KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGlzdEl0ZW1zUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgfSwgW1xuICAgIGlzT3BlbixcbiAgICBpc1ZpcnR1YWxpemVkLFxuICAgIGxpc3RDb250YWluZXJSZWYsXG4gICAgb3B0aW9ucyxcbiAgICBtYXhIZWlnaHQsXG4gICAgb3B0aW9uc0xpc3RTdHlsZSxcbiAgICBhY3RpdmVJdGVtSW5kZXgsXG4gIF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxpc3RJdGVtc1JlZi5jdXJyZW50KSB7XG4gICAgICBzY3JvbGxUb0l0ZW0obGlzdEl0ZW1zUmVmLmN1cnJlbnQsIHNlbGVjdGVkSW5kZXgpO1xuICAgIH1cbiAgfSwgW2xpc3RJdGVtc1JlZiwgc2VsZWN0ZWRJbmRleF0pO1xuXG4gIHVzZUtleWJvYXJkKFxuICAgIHtcbiAgICAgIEVzY2FwZTogKCkgPT4gb25DbG9zZURyb3Bkb3duKHRydWUpLFxuICAgICAgRW50ZXI6ICgpID0+IHtcbiAgICAgICAgY29uc3QgcHJlc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25zW3NlbGVjdGVkSW5kZXhdO1xuXG4gICAgICAgIGlmICghcHJlc2VsZWN0ZWRPcHRpb24/LmRpc2FibGVkKSB7XG4gICAgICAgICAgaWYgKHByZXNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgICBmb3JjZUNoYW5nZUZha2VTZWxlY3QocHJlc2VsZWN0ZWRPcHRpb24pO1xuICAgICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICAgIG9uQ2xvc2VEcm9wZG93bih0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBBcnJvd1VwOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4ID4gMCkge1xuICAgICAgICAgIG5ld0luZGV4IC09IDE7XG4gICAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBPbmx5IHVwZGF0ZSB0aGUgc2VsZWN0aW9uIGlmIHRoZSBuZXcgaXRlbSBpcyBub3QgZGlzYWJsZWRcbiAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UobmV3SW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgQXJyb3dEb3duOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4IDwgb3B0aW9ucy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgbmV3SW5kZXggKz0gMTtcbiAgICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIE9ubHkgdXBkYXRlIHRoZSBzZWxlY3Rpb24gaWYgdGhlIG5ldyBpdGVtIGlzIG5vdCBkaXNhYmxlZFxuICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgIG9uU2VsZWN0ZWRJbmRleENoYW5nZShuZXdJbmRleCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICB0cmlnZ2VyUmVmLFxuICAgIGlzT3BlbiAmJiAhZGlzYWJsZWRcbiAgKTtcblxuICBjb25zdCByZW5kZXJJdGVtID0gKGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBvcHRpb246IFNlbGVjdE9wdGlvbiA9IG9wdGlvbnNbaW5kZXhdO1xuICAgIC8vIEdlbmVyYXRlIHVuaXF1ZSBpZCBmb3IgdGhlIG9wdGlvblxuICAgIGNvbnN0IGlkID0gZ2V0T3B0aW9uSWQobmFtZSwgb3B0aW9uLnZhbHVlKTtcblxuICAgIGlmIChpc011bHRpU2VsZWN0KSB7XG4gICAgICBjb25zdCBpc0FjdGl2ZSA9IHZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxDdXN0b21PcHRpb25cbiAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICBhcmlhLXNlbGVjdGVkPXtpc0FjdGl2ZX1cbiAgICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgIGtleT17b3B0aW9uLnZhbHVlfVxuICAgICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgICAgZGlzYWJsZWQ9e29wdGlvbi5kaXNhYmxlZH1cbiAgICAgICAgICBwcmVTZWxlY3RlZD17c2VsZWN0ZWRJbmRleCA9PT0gaW5kZXh9XG4gICAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgICAvLyBzdG9wIGV2ZW50IHByb3BhZ2F0aW9uIHRvIG5vdCBjbG9zZSBtb2RhbCBvbiBzZWxlY3Rpb24gaWYgc2VsZWN0IGlzIHdpdGhpbiBhIE1vZGFsXG4gICAgICAgICAgb25DbGljaz17KGV2dCkgPT4gZXZ0LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICA+XG4gICAgICAgICAgPENoZWNrYm94UmF3XG4gICAgICAgICAgICBuYW1lPVwiXCJcbiAgICAgICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgICBjaGVja2VkPXtpc0FjdGl2ZX1cbiAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgIGxhYmVsPXtvcHRpb24ubGFiZWx9XG4gICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4gbnVsbH1cbiAgICAgICAgICAgIGxhYmVsSGludD17b3B0aW9uPy5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0N1c3RvbU9wdGlvbj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gZWxzZSByZW5kZXIgc2luZ2xlIHNlbGVjdCBpdGVtXG4gICAgY29uc3QgaXNBY3RpdmUgPSB2YWx1ZSA9PT0gb3B0aW9uLnZhbHVlO1xuICAgIGNvbnN0IG9wdGlvblRleHQgPSAoXG4gICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgIDxUZXh0IGNvbG9yPVwicHJpbWFyeVwiIHNpemU9XCJtXCI+XG4gICAgICAgICAge29wdGlvbi5sYWJlbH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgICB7b3B0aW9uLmRlc2NyaXB0aW9uICYmIChcbiAgICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCIgc2l6ZT1cInNcIj5cbiAgICAgICAgICAgIHtvcHRpb24uZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICApfVxuICAgICAgPC9TdGFjaz5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRPcHRpb25cbiAgICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2lzQWN0aXZlfVxuICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIGlkPXtpZH1cbiAgICAgICAga2V5PXtvcHRpb24udmFsdWV9XG4gICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIHByZVNlbGVjdGVkPXtzZWxlY3RlZEluZGV4ID09PSBpbmRleH1cbiAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24odHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7aXNBY3RpdmUgPyAoXG4gICAgICAgICAgPElubGluZSBub1dyYXAgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiPlxuICAgICAgICAgICAge29wdGlvblRleHR9XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT1cInh4eHNcIj5cbiAgICAgICAgICAgICAgPEljb24gbmFtZT1cImNoZWNrXCIgc2l6ZT1cInNcIiBjb2xvcj1cImFjY2VudFwiIC8+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBvcHRpb25UZXh0XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZE9wdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGxpc3RTdHlsZSA9IHtcbiAgICAuLi5vcHRpb25zTGlzdFN0eWxlLFxuICAgIHdpZHRoOlxuICAgICAgb3B0aW9uc0xpc3RXaWR0aCB8fFxuICAgICAgcmVmRm9yUG9zaXRpb25pbmcuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsXG4gIH07XG5cbiAgY29uc3QgbGlzdEVsbSA9IChcbiAgICA8U3R5bGVkRHJvcGRvd25cbiAgICAgIHN0eWxlPXtsaXN0U3R5bGV9XG4gICAgICByZWY9e29wdGlvbnNMaXN0UmVmfVxuICAgICAgLy8gdGhpcyBpcyB0byBwcmV2ZW50IGtub3duIGJ1ZyBvZiBDaHJvbWUgd2hlbiBlbGVtZW50XG4gICAgICAvLyBsb3NlcyBmb2N1cyBvbiBjbGljayBvbiB0aGUgc2Nyb2xsYmFyXG4gICAgICBvbk1vdXNlRG93bj17KGUpID0+IGUucHJldmVudERlZmF1bHQoKX1cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9XCJvcHRpb25zTGlzdFwiXG4gICAgPlxuICAgICAge2lzVmlydHVhbGl6ZWQgPyAoXG4gICAgICAgIDxWaXJ0dWFsU2Nyb2xsTGlzdFxuICAgICAgICAgIGlkPXtnZXRPcHRpb25zTGlzdElkKG5hbWUpfVxuICAgICAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgICAgIGl0ZW1IZWlnaHQ9ezM2fVxuICAgICAgICAgIGl0ZW1BbW91bnQ9e29wdGlvbnMubGVuZ3RofVxuICAgICAgICAgIGVtcHR5U3RhdGU9eygpID0+IG51bGx9XG4gICAgICAgICAgY29udGFpbmVyU3R5bGU9e2Ryb3Bkb3duQ29udGFpbmVyU3R5bGV9XG4gICAgICAgICAgaXRlbUluVmlldz17c2VsZWN0ZWRJbmRleH1cbiAgICAgICAgICBpdGVtVGVtcGxhdGU9e3JlbmRlckl0ZW19XG4gICAgICAgICAgb25Db250ZW50SGVpZ2h0Q2hhbmdlPXtjYWxjdWxhdGVTdHlsZX1cbiAgICAgICAgLz5cbiAgICAgICkgOiAoXG4gICAgICAgIDxTdHlsZWRMaXN0Q29udGFpbmVyXG4gICAgICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICAgIGlkPXtnZXRPcHRpb25zTGlzdElkKG5hbWUpfVxuICAgICAgICAgIHJlZj17bGlzdENvbnRhaW5lclJlZn1cbiAgICAgICAgPlxuICAgICAgICAgIHtvcHRpb25zLm1hcCgoX29wdGlvbiwgaW5kZXgpID0+IHJlbmRlckl0ZW0oaW5kZXgpKX1cbiAgICAgICAgPC9TdHlsZWRMaXN0Q29udGFpbmVyPlxuICAgICAgKX1cbiAgICA8L1N0eWxlZERyb3Bkb3duPlxuICApO1xuXG4gIGlmICghaXNPcGVuKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBsaXN0UG9ydGFsID0gb3B0aW9ucy5sZW5ndGggPyAoXG4gICAgPFBvcnRhbCBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn0+e2xpc3RFbG19PC9Qb3J0YWw+XG4gICkgOiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxTY3JlZW5SZWFkZXJUZXh0IHJvbGU9XCJzdGF0dXNcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgeyFvcHRpb25zLmxlbmd0aCA/IGVtcHR5U3RhdGVNZXNzYWdlIDogXCJcIn1cbiAgICAgIDwvU2NyZWVuUmVhZGVyVGV4dD5cbiAgICAgIHtsaXN0UG9ydGFsfVxuICAgIDwvPlxuICApO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBENEIifQ== */");function OptionsList({isOpen,isMultiSelect=!1,value,disabled,options,portalContainer,triggerRef,triggerWrapperRef,maxHeight,emptyStateMessage="No options available",selectedIndex,optionsListWidth,isVirtualized=!0,name,onCloseDropdown,onSelectedIndexChange,forceChangeFakeSelect}){let optionsListRef=(0,_react.useRef)(null),listContainerRef=(0,_react.useRef)(null),listItemsRef=(0,_react.useRef)(null),refForPositioning=triggerWrapperRef||triggerRef,activeItemIndex=(0,_react.useMemo)(()=>options.findIndex(option=>isMultiSelect?value.includes(option.value):option.value===value),[options,isMultiSelect,value]),{menuStyle:optionsListStyle,calculateStyle}=(0,_usePopupMenu.usePopupMenu)({triggerRef:refForPositioning,menuRef:optionsListRef,isOpen});(0,_react.useEffect)(()=>{if(isOpen&&listContainerRef.current&&!isVirtualized&&optionsListStyle.top){let listElm=listContainerRef.current;listElm.clientHeight<listElm.scrollHeight&&(listItemsRef.current=listElm.querySelectorAll("[data-list-item]"),scrollToItem(listItemsRef.current,activeItemIndex))}else listItemsRef.current=null},[isOpen,isVirtualized,listContainerRef,options,maxHeight,optionsListStyle,activeItemIndex]),(0,_react.useEffect)(()=>{listItemsRef.current&&scrollToItem(listItemsRef.current,selectedIndex)},[listItemsRef,selectedIndex]),(0,_useKeyboard.useKeyboard)({Escape:()=>onCloseDropdown(!0),Enter:()=>{let preselectedOption=options[selectedIndex];if(!preselectedOption?.disabled){if(preselectedOption){forceChangeFakeSelect(preselectedOption),isMultiSelect||onCloseDropdown(!0);return}isMultiSelect||onCloseDropdown()}},ArrowUp:()=>{let newIndex=-1===selectedIndex?activeItemIndex:selectedIndex;for(;newIndex>0&&(newIndex-=1,options[newIndex]?.disabled););options[newIndex]?.disabled||onSelectedIndexChange(newIndex)},ArrowDown:()=>{let newIndex=-1===selectedIndex?activeItemIndex:selectedIndex;for(;newIndex<options.length-1&&(newIndex+=1,options[newIndex]?.disabled););options[newIndex]?.disabled||onSelectedIndexChange(newIndex)}},triggerRef,isOpen&&!disabled);let renderItem=index=>{let option=options[index],id=getOptionId(name,option.value);if(isMultiSelect){let isActive=value.includes(option.value);return _react.default.createElement(CustomOption,{role:"option","aria-selected":isActive,"aria-disabled":option.disabled,id:id,key:option.value,active:isActive,disabled:option.disabled,preSelected:selectedIndex===index,"data-list-item":!0,onMouseDown:()=>{option.disabled||forceChangeFakeSelect(option)},onClick:evt=>evt.stopPropagation()},_react.default.createElement(_Checkbox.CheckboxRaw,{name:"",disabled:option.disabled,checked:isActive,size:"s",label:option.label,onChange:()=>null,labelHint:option?.description}))}let isActive=value===option.value,optionText=_react.default.createElement(_Stack.Stack,{space:"zero"},_react.default.createElement(_Text.Text,{color:"primary",size:"m"},option.label),option.description&&_react.default.createElement(_Text.Text,{color:"tertiary",size:"s"},option.description));return _react.default.createElement(_StyledSelectComponents.StyledOption,{role:"option","aria-selected":isActive,"aria-disabled":option.disabled,id:id,key:option.value,active:isActive,disabled:option.disabled,preSelected:selectedIndex===index,"data-list-item":!0,onMouseDown:()=>{option.disabled||(forceChangeFakeSelect(option),onCloseDropdown(!0))}},isActive?_react.default.createElement(_Inline.Inline,{noWrap:!0,alignItems:"spaceBetween"},optionText,_react.default.createElement(_Box.Box,{space:"zero",tSpace:"xxxs"},_react.default.createElement(_Icon.Icon,{name:"check",size:"s",color:"accent"}))):optionText)},listStyle={...optionsListStyle,width:optionsListWidth||refForPositioning.current?.getBoundingClientRect().width},listElm=_react.default.createElement(_StyledSelectComponents.StyledDropdown,{style:listStyle,ref:optionsListRef,onMouseDown:e=>e.preventDefault(),"data-e2e-test-id":"optionsList"},isVirtualized?_react.default.createElement(_VirtualScrollList.VirtualScrollList,{id:getOptionsListId(name),maxHeight:maxHeight,itemHeight:36,itemAmount:options.length,emptyState:()=>null,containerStyle:_constants.dropdownContainerStyle,itemInView:selectedIndex,itemTemplate:renderItem,onContentHeightChange:calculateStyle}):_react.default.createElement(StyledListContainer,{maxHeight:maxHeight,role:"listbox",id:getOptionsListId(name),ref:listContainerRef},options.map((_option,index)=>renderItem(index))));if(!isOpen)return null;let listPortal=options.length?_react.default.createElement(_Portal.Portal,{portalContainer:portalContainer},listElm):null;return _react.default.createElement(_react.default.Fragment,null,_react.default.createElement(_ScreenReaderText.ScreenReaderText,{role:"status","aria-live":"polite"},options.length?"":emptyStateMessage),listPortal)}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
export type VirtualScrollListProps = {
|
|
3
3
|
"data-e2e-test-id"?: string;
|
|
4
|
+
id: string;
|
|
4
5
|
maxHeight: number;
|
|
5
6
|
itemHeight: number;
|
|
6
7
|
itemAmount: number;
|
|
@@ -10,4 +11,4 @@ export type VirtualScrollListProps = {
|
|
|
10
11
|
containerStyle?: React.CSSProperties;
|
|
11
12
|
onContentHeightChange?: () => void;
|
|
12
13
|
};
|
|
13
|
-
export declare function VirtualScrollList({ maxHeight, itemHeight, itemAmount, emptyState, itemInView, itemTemplate, containerStyle, "data-e2e-test-id": dataE2eTestId, onContentHeightChange, }: VirtualScrollListProps): React.ReactElement;
|
|
14
|
+
export declare function VirtualScrollList({ id, maxHeight, itemHeight, itemAmount, emptyState, itemInView, itemTemplate, containerStyle, "data-e2e-test-id": dataE2eTestId, onContentHeightChange, }: VirtualScrollListProps): React.ReactElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"VirtualScrollList",{enumerable:!0,get:function(){return VirtualScrollList}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_interop_require_wildcard=require("@swc/helpers/_/_interop_require_wildcard"),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_react=/*#__PURE__*/_interop_require_wildcard._(require("react")),_VirtualScrollListReducer=require("./VirtualScrollListReducer"),StyledContainer=(0,_styled.default)("div",{target:"e19y1j3j0",label:"StyledContainer"})(({maxHeight})=>({overflow:"auto",width:"100%",height:"100%",maxHeight}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVmlydHVhbFNjcm9sbExpc3QvVmlydHVhbFNjcm9sbExpc3QudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VSZWR1Y2VyLCB1c2VMYXlvdXRFZmZlY3QsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsUmVkdWNlciB9IGZyb20gXCIuL1ZpcnR1YWxTY3JvbGxMaXN0UmVkdWNlclwiO1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8VmlydHVhbFNjcm9sbExpc3RQcm9wcz4+KFxuICAoeyBtYXhIZWlnaHQgfSkgPT4gKHtcbiAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgbWF4SGVpZ2h0LFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkU2Nyb2xsYWJsZUNvbnRlbnQgPSBzdHlsZWQuZGl2PHsgbWF4Q29udGVudEhlaWdodDogbnVtYmVyIH0+KFxuICAoeyBtYXhDb250ZW50SGVpZ2h0IH0pID0+ICh7XG4gICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICBoZWlnaHQ6IG1heENvbnRlbnRIZWlnaHQsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBWaXJ0dWFsU2Nyb2xsTGlzdFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgbWF4SGVpZ2h0OiBudW1iZXI7XG4gIGl0ZW1IZWlnaHQ6IG51bWJlcjtcbiAgaXRlbUFtb3VudDogbnVtYmVyO1xuICBlbXB0eVN0YXRlOiAoKSA9PiBSZWFjdC5SZWFjdE5vZGU7XG4gIGl0ZW1JblZpZXc6IG51bWJlcjtcbiAgaXRlbVRlbXBsYXRlOiAoaW5kZXg6IG51bWJlcikgPT4gUmVhY3QuUmVhY3ROb2RlO1xuICBjb250YWluZXJTdHlsZT86IFJlYWN0LkNTU1Byb3BlcnRpZXM7XG4gIG9uQ29udGVudEhlaWdodENoYW5nZT86ICgpID0+IHZvaWQ7XG59O1xuXG5jb25zdCBvdmVyc2NhbiA9IDEwO1xuXG5leHBvcnQgZnVuY3Rpb24gVmlydHVhbFNjcm9sbExpc3Qoe1xuICBtYXhIZWlnaHQsXG4gIGl0ZW1IZWlnaHQsXG4gIGl0ZW1BbW91bnQsXG4gIGVtcHR5U3RhdGUgPSAoKSA9PiBudWxsLFxuICBpdGVtSW5WaWV3LFxuICBpdGVtVGVtcGxhdGUsXG4gIGNvbnRhaW5lclN0eWxlLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbiAgb25Db250ZW50SGVpZ2h0Q2hhbmdlLFxufTogVmlydHVhbFNjcm9sbExpc3RQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IHNjcm9sbGFibGVDb250YWluZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHZpZXdwb3J0UmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBhZGp1c3RlZEZvclJlZmxvdyA9IHVzZVJlZihmYWxzZSk7XG5cbiAgY29uc3QgW1xuICAgIHtcbiAgICAgIHNjcm9sbGVkSXRlbUNvdW50LFxuICAgICAgYW1vdW50T2ZJdGVtc0luVmlldyxcbiAgICAgIHNjcm9sbGVkSW5QeCxcbiAgICAgIG1heENvbnRlbnRIZWlnaHQgPSBtYXhIZWlnaHQsXG4gICAgICByZWNvbW1lbmRlZFNjcm9sbFBvc2l0aW9uLFxuICAgIH0sXG4gICAgZGlzcGF0Y2gsXG4gIF0gPSB1c2VSZWR1Y2VyKFZpcnR1YWxTY3JvbGxSZWR1Y2VyLCB7fSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaCh7IHR5cGU6IFwicmVzZXRcIiwgaXRlbUhlaWdodCwgbWF4SGVpZ2h0LCBvdmVyc2NhbiB9KTtcbiAgICBzY3JvbGxhYmxlQ29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wID0gMDtcbiAgfSwgW2l0ZW1IZWlnaHQsIGl0ZW1BbW91bnQsIG1heEhlaWdodF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goe1xuICAgICAgdHlwZTogXCJyZWNvbW1lbmRTY3JvbGxQb3NpdGlvblwiLFxuICAgICAgc2Nyb2xsVG9wOiBzY3JvbGxhYmxlQ29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wLFxuICAgICAgaXRlbVRvQmVJblZpZXc6IGl0ZW1JblZpZXcsXG4gICAgfSk7XG4gIH0sIFtpdGVtSW5WaWV3XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocmVjb21tZW5kZWRTY3JvbGxQb3NpdGlvbiA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgc2Nyb2xsYWJsZUNvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9IHJlY29tbWVuZGVkU2Nyb2xsUG9zaXRpb247XG4gIH0sIFtyZWNvbW1lbmRlZFNjcm9sbFBvc2l0aW9uXSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXZpZXdwb3J0UmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IFwidXBkYXRlVmlld3BvcnRcIixcbiAgICAgIHZpZXdwb3J0Tm9kZTogdmlld3BvcnRSZWYuY3VycmVudCxcbiAgICAgIGl0ZW1BbW91bnQsXG4gICAgfSk7XG4gIH0sIFtpdGVtQW1vdW50LCBzY3JvbGxlZEl0ZW1Db3VudF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgb25Db250ZW50SGVpZ2h0Q2hhbmdlPy4oKTtcbiAgfSwgW21heENvbnRlbnRIZWlnaHQsIG9uQ29udGVudEhlaWdodENoYW5nZV0pO1xuXG4gIGNvbnN0IGl0ZW1Db3VudFRvQmVSZW5kZXJlZCA9IE1hdGgubWluKFxuICAgIE1hdGgubWF4KDAsIGl0ZW1BbW91bnQgLSBzY3JvbGxlZEl0ZW1Db3VudCksXG4gICAgYW1vdW50T2ZJdGVtc0luVmlld1xuICApO1xuXG4gIC8qIFNvbWV0aW1lcywgb3B0aW9uIHRleHQgY2FuIHJlZmxvdyBkdWUgdGhlIGFwcGVhcmFuY2Ugb2YgdmVydGljYWwgc2Nyb2xsYmFyIHdoaWNoIGNhbiBjYXVzZSB0ZXh0IHRvIHdyYXAgdG8gbXVsdGlwbGUgbGluZXMgY2F1c2luZyB2aWV3cG9ydFJlZiBoZWlnaHQgdG8gY2hhbmdlLiBJZiBjb250YWluZXIgaGFzIHNjcm9sbCB0aGVuIHdlIGRpc3BhdGNoIGB1cGRhdGVWaWV3cG9ydGAgb25lIG1vcmUgdGltZSB0byBnZXQgdGhlIGNvcnJlY3QgaGVpZ2h0LCB3aXRoIGEgc2V0VGltZW91dCB0byBhbGxvdyB0aW1lIGZvciByZWZsb3cuXG4gICAqL1xuICBpZiAoXG4gICAgbWF4Q29udGVudEhlaWdodCA+IG1heEhlaWdodCAmJlxuICAgICFhZGp1c3RlZEZvclJlZmxvdy5jdXJyZW50ICYmXG4gICAgdmlld3BvcnRSZWYuY3VycmVudFxuICApIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgdHlwZTogXCJ1cGRhdGVWaWV3cG9ydFwiLFxuICAgICAgICB2aWV3cG9ydE5vZGU6IHZpZXdwb3J0UmVmLmN1cnJlbnQsXG4gICAgICAgIGl0ZW1BbW91bnQsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBhZGp1c3RlZEZvclJlZmxvdy5jdXJyZW50ID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgcmVmPXtzY3JvbGxhYmxlQ29udGFpbmVyUmVmfVxuICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICBzdHlsZT17e1xuICAgICAgICBtYXhIZWlnaHQsXG4gICAgICAgIC4uLmNvbnRhaW5lclN0eWxlLFxuICAgICAgfX1cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICBkYXRhLWRzLWlkPVwiVmlydHVhbFNjcm9sbExpc3RcIlxuICAgICAgb25TY3JvbGw9eyhlOiBSZWFjdC5VSUV2ZW50PEhUTUxFbGVtZW50PikgPT4ge1xuICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogXCJzY3JvbGxcIixcbiAgICAgICAgICBzY3JvbGxUb3A6IGUuY3VycmVudFRhcmdldC5zY3JvbGxUb3AsXG4gICAgICAgIH0pO1xuICAgICAgfX1cbiAgICA+XG4gICAgICB7aXRlbUFtb3VudCA9PT0gMCA/IChcbiAgICAgICAgZW1wdHlTdGF0ZSgpXG4gICAgICApIDogKFxuICAgICAgICA8U3R5bGVkU2Nyb2xsYWJsZUNvbnRlbnQgbWF4Q29udGVudEhlaWdodD17bWF4Q29udGVudEhlaWdodH0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgcmVmPXt2aWV3cG9ydFJlZn1cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtzY3JvbGxlZEluUHh9cHhgLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ISFpdGVtQ291bnRUb0JlUmVuZGVyZWQgJiZcbiAgICAgICAgICAgICAgbmV3IEFycmF5KGl0ZW1Db3VudFRvQmVSZW5kZXJlZClcbiAgICAgICAgICAgICAgICAuZmlsbCgwKVxuICAgICAgICAgICAgICAgIC5tYXAoKF8sIGluZGV4KSA9PiBpdGVtVGVtcGxhdGUoc2Nyb2xsZWRJdGVtQ291bnQgKyBpbmRleCkpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1N0eWxlZFNjcm9sbGFibGVDb250ZW50PlxuICAgICAgKX1cbiAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLd0IifQ== */"),StyledScrollableContent=(0,_styled.default)("div",{target:"e19y1j3j1",label:"StyledScrollableContent"})(({maxContentHeight})=>({overflow:"hidden",boxSizing:"border-box",height:maxContentHeight}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVmlydHVhbFNjcm9sbExpc3QvVmlydHVhbFNjcm9sbExpc3QudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VSZWR1Y2VyLCB1c2VMYXlvdXRFZmZlY3QsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsUmVkdWNlciB9IGZyb20gXCIuL1ZpcnR1YWxTY3JvbGxMaXN0UmVkdWNlclwiO1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8VmlydHVhbFNjcm9sbExpc3RQcm9wcz4+KFxuICAoeyBtYXhIZWlnaHQgfSkgPT4gKHtcbiAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgbWF4SGVpZ2h0LFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkU2Nyb2xsYWJsZUNvbnRlbnQgPSBzdHlsZWQuZGl2PHsgbWF4Q29udGVudEhlaWdodDogbnVtYmVyIH0+KFxuICAoeyBtYXhDb250ZW50SGVpZ2h0IH0pID0+ICh7XG4gICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICBoZWlnaHQ6IG1heENvbnRlbnRIZWlnaHQsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBWaXJ0dWFsU2Nyb2xsTGlzdFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgbWF4SGVpZ2h0OiBudW1iZXI7XG4gIGl0ZW1IZWlnaHQ6IG51bWJlcjtcbiAgaXRlbUFtb3VudDogbnVtYmVyO1xuICBlbXB0eVN0YXRlOiAoKSA9PiBSZWFjdC5SZWFjdE5vZGU7XG4gIGl0ZW1JblZpZXc6IG51bWJlcjtcbiAgaXRlbVRlbXBsYXRlOiAoaW5kZXg6IG51bWJlcikgPT4gUmVhY3QuUmVhY3ROb2RlO1xuICBjb250YWluZXJTdHlsZT86IFJlYWN0LkNTU1Byb3BlcnRpZXM7XG4gIG9uQ29udGVudEhlaWdodENoYW5nZT86ICgpID0+IHZvaWQ7XG59O1xuXG5jb25zdCBvdmVyc2NhbiA9IDEwO1xuXG5leHBvcnQgZnVuY3Rpb24gVmlydHVhbFNjcm9sbExpc3Qoe1xuICBtYXhIZWlnaHQsXG4gIGl0ZW1IZWlnaHQsXG4gIGl0ZW1BbW91bnQsXG4gIGVtcHR5U3RhdGUgPSAoKSA9PiBudWxsLFxuICBpdGVtSW5WaWV3LFxuICBpdGVtVGVtcGxhdGUsXG4gIGNvbnRhaW5lclN0eWxlLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbiAgb25Db250ZW50SGVpZ2h0Q2hhbmdlLFxufTogVmlydHVhbFNjcm9sbExpc3RQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IHNjcm9sbGFibGVDb250YWluZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHZpZXdwb3J0UmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBhZGp1c3RlZEZvclJlZmxvdyA9IHVzZVJlZihmYWxzZSk7XG5cbiAgY29uc3QgW1xuICAgIHtcbiAgICAgIHNjcm9sbGVkSXRlbUNvdW50LFxuICAgICAgYW1vdW50T2ZJdGVtc0luVmlldyxcbiAgICAgIHNjcm9sbGVkSW5QeCxcbiAgICAgIG1heENvbnRlbnRIZWlnaHQgPSBtYXhIZWlnaHQsXG4gICAgICByZWNvbW1lbmRlZFNjcm9sbFBvc2l0aW9uLFxuICAgIH0sXG4gICAgZGlzcGF0Y2gsXG4gIF0gPSB1c2VSZWR1Y2VyKFZpcnR1YWxTY3JvbGxSZWR1Y2VyLCB7fSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaCh7IHR5cGU6IFwicmVzZXRcIiwgaXRlbUhlaWdodCwgbWF4SGVpZ2h0LCBvdmVyc2NhbiB9KTtcbiAgICBzY3JvbGxhYmxlQ29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wID0gMDtcbiAgfSwgW2l0ZW1IZWlnaHQsIGl0ZW1BbW91bnQsIG1heEhlaWdodF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goe1xuICAgICAgdHlwZTogXCJyZWNvbW1lbmRTY3JvbGxQb3NpdGlvblwiLFxuICAgICAgc2Nyb2xsVG9wOiBzY3JvbGxhYmxlQ29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wLFxuICAgICAgaXRlbVRvQmVJblZpZXc6IGl0ZW1JblZpZXcsXG4gICAgfSk7XG4gIH0sIFtpdGVtSW5WaWV3XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocmVjb21tZW5kZWRTY3JvbGxQb3NpdGlvbiA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgc2Nyb2xsYWJsZUNvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9IHJlY29tbWVuZGVkU2Nyb2xsUG9zaXRpb247XG4gIH0sIFtyZWNvbW1lbmRlZFNjcm9sbFBvc2l0aW9uXSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXZpZXdwb3J0UmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IFwidXBkYXRlVmlld3BvcnRcIixcbiAgICAgIHZpZXdwb3J0Tm9kZTogdmlld3BvcnRSZWYuY3VycmVudCxcbiAgICAgIGl0ZW1BbW91bnQsXG4gICAgfSk7XG4gIH0sIFtpdGVtQW1vdW50LCBzY3JvbGxlZEl0ZW1Db3VudF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgb25Db250ZW50SGVpZ2h0Q2hhbmdlPy4oKTtcbiAgfSwgW21heENvbnRlbnRIZWlnaHQsIG9uQ29udGVudEhlaWdodENoYW5nZV0pO1xuXG4gIGNvbnN0IGl0ZW1Db3VudFRvQmVSZW5kZXJlZCA9IE1hdGgubWluKFxuICAgIE1hdGgubWF4KDAsIGl0ZW1BbW91bnQgLSBzY3JvbGxlZEl0ZW1Db3VudCksXG4gICAgYW1vdW50T2ZJdGVtc0luVmlld1xuICApO1xuXG4gIC8qIFNvbWV0aW1lcywgb3B0aW9uIHRleHQgY2FuIHJlZmxvdyBkdWUgdGhlIGFwcGVhcmFuY2Ugb2YgdmVydGljYWwgc2Nyb2xsYmFyIHdoaWNoIGNhbiBjYXVzZSB0ZXh0IHRvIHdyYXAgdG8gbXVsdGlwbGUgbGluZXMgY2F1c2luZyB2aWV3cG9ydFJlZiBoZWlnaHQgdG8gY2hhbmdlLiBJZiBjb250YWluZXIgaGFzIHNjcm9sbCB0aGVuIHdlIGRpc3BhdGNoIGB1cGRhdGVWaWV3cG9ydGAgb25lIG1vcmUgdGltZSB0byBnZXQgdGhlIGNvcnJlY3QgaGVpZ2h0LCB3aXRoIGEgc2V0VGltZW91dCB0byBhbGxvdyB0aW1lIGZvciByZWZsb3cuXG4gICAqL1xuICBpZiAoXG4gICAgbWF4Q29udGVudEhlaWdodCA+IG1heEhlaWdodCAmJlxuICAgICFhZGp1c3RlZEZvclJlZmxvdy5jdXJyZW50ICYmXG4gICAgdmlld3BvcnRSZWYuY3VycmVudFxuICApIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgdHlwZTogXCJ1cGRhdGVWaWV3cG9ydFwiLFxuICAgICAgICB2aWV3cG9ydE5vZGU6IHZpZXdwb3J0UmVmLmN1cnJlbnQsXG4gICAgICAgIGl0ZW1BbW91bnQsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBhZGp1c3RlZEZvclJlZmxvdy5jdXJyZW50ID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgcmVmPXtzY3JvbGxhYmxlQ29udGFpbmVyUmVmfVxuICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICBzdHlsZT17e1xuICAgICAgICBtYXhIZWlnaHQsXG4gICAgICAgIC4uLmNvbnRhaW5lclN0eWxlLFxuICAgICAgfX1cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICBkYXRhLWRzLWlkPVwiVmlydHVhbFNjcm9sbExpc3RcIlxuICAgICAgb25TY3JvbGw9eyhlOiBSZWFjdC5VSUV2ZW50PEhUTUxFbGVtZW50PikgPT4ge1xuICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogXCJzY3JvbGxcIixcbiAgICAgICAgICBzY3JvbGxUb3A6IGUuY3VycmVudFRhcmdldC5zY3JvbGxUb3AsXG4gICAgICAgIH0pO1xuICAgICAgfX1cbiAgICA+XG4gICAgICB7aXRlbUFtb3VudCA9PT0gMCA/IChcbiAgICAgICAgZW1wdHlTdGF0ZSgpXG4gICAgICApIDogKFxuICAgICAgICA8U3R5bGVkU2Nyb2xsYWJsZUNvbnRlbnQgbWF4Q29udGVudEhlaWdodD17bWF4Q29udGVudEhlaWdodH0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgcmVmPXt2aWV3cG9ydFJlZn1cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtzY3JvbGxlZEluUHh9cHhgLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ISFpdGVtQ291bnRUb0JlUmVuZGVyZWQgJiZcbiAgICAgICAgICAgICAgbmV3IEFycmF5KGl0ZW1Db3VudFRvQmVSZW5kZXJlZClcbiAgICAgICAgICAgICAgICAuZmlsbCgwKVxuICAgICAgICAgICAgICAgIC5tYXAoKF8sIGluZGV4KSA9PiBpdGVtVGVtcGxhdGUoc2Nyb2xsZWRJdGVtQ291bnQgKyBpbmRleCkpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1N0eWxlZFNjcm9sbGFibGVDb250ZW50PlxuICAgICAgKX1cbiAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjZ0MifQ== */");function VirtualScrollList({maxHeight,itemHeight,itemAmount,emptyState=()=>null,itemInView,itemTemplate,containerStyle,"data-e2e-test-id":dataE2eTestId,onContentHeightChange}){let scrollableContainerRef=(0,_react.useRef)(null),viewportRef=(0,_react.useRef)(null),adjustedForReflow=(0,_react.useRef)(!1),[{scrolledItemCount,amountOfItemsInView,scrolledInPx,maxContentHeight=maxHeight,recommendedScrollPosition},dispatch]=(0,_react.useReducer)(_VirtualScrollListReducer.VirtualScrollReducer,{});(0,_react.useLayoutEffect)(()=>{dispatch({type:"reset",itemHeight,maxHeight,overscan:10}),scrollableContainerRef.current.scrollTop=0},[itemHeight,itemAmount,maxHeight]),(0,_react.useEffect)(()=>{dispatch({type:"recommendScrollPosition",scrollTop:scrollableContainerRef.current.scrollTop,itemToBeInView:itemInView})},[itemInView]),(0,_react.useEffect)(()=>{null!==recommendedScrollPosition&&(scrollableContainerRef.current.scrollTop=recommendedScrollPosition)},[recommendedScrollPosition]),(0,_react.useLayoutEffect)(()=>{viewportRef.current&&dispatch({type:"updateViewport",viewportNode:viewportRef.current,itemAmount})},[itemAmount,scrolledItemCount]),(0,_react.useEffect)(()=>{onContentHeightChange?.()},[maxContentHeight,onContentHeightChange]);let itemCountToBeRendered=Math.min(Math.max(0,itemAmount-scrolledItemCount),amountOfItemsInView);return maxContentHeight>maxHeight&&!adjustedForReflow.current&&viewportRef.current&&(setTimeout(()=>{dispatch({type:"updateViewport",viewportNode:viewportRef.current,itemAmount})}),adjustedForReflow.current=!0),_react.default.createElement(StyledContainer,{ref:scrollableContainerRef,maxHeight:maxHeight,style:{maxHeight,...containerStyle},"data-e2e-test-id":dataE2eTestId,"data-ds-id":"VirtualScrollList",onScroll:e=>{dispatch({type:"scroll",scrollTop:e.currentTarget.scrollTop})}},0===itemAmount?emptyState():_react.default.createElement(StyledScrollableContent,{maxContentHeight:maxContentHeight},_react.default.createElement("div",{ref:viewportRef,style:{transform:`translateY(${scrolledInPx}px`},role:"listbox"},!!itemCountToBeRendered&&Array(itemCountToBeRendered).fill(0).map((_,index)=>itemTemplate(scrolledItemCount+index)))))}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"VirtualScrollList",{enumerable:!0,get:function(){return VirtualScrollList}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_interop_require_wildcard=require("@swc/helpers/_/_interop_require_wildcard"),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_react=/*#__PURE__*/_interop_require_wildcard._(require("react")),_VirtualScrollListReducer=require("./VirtualScrollListReducer"),StyledContainer=(0,_styled.default)("div",{target:"e1hq8rdx0",label:"StyledContainer"})(({maxHeight})=>({overflow:"auto",width:"100%",height:"100%",maxHeight}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVmlydHVhbFNjcm9sbExpc3QvVmlydHVhbFNjcm9sbExpc3QudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VSZWR1Y2VyLCB1c2VMYXlvdXRFZmZlY3QsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsUmVkdWNlciB9IGZyb20gXCIuL1ZpcnR1YWxTY3JvbGxMaXN0UmVkdWNlclwiO1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8VmlydHVhbFNjcm9sbExpc3RQcm9wcz4+KFxuICAoeyBtYXhIZWlnaHQgfSkgPT4gKHtcbiAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgbWF4SGVpZ2h0LFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkU2Nyb2xsYWJsZUNvbnRlbnQgPSBzdHlsZWQuZGl2PHsgbWF4Q29udGVudEhlaWdodDogbnVtYmVyIH0+KFxuICAoeyBtYXhDb250ZW50SGVpZ2h0IH0pID0+ICh7XG4gICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICBoZWlnaHQ6IG1heENvbnRlbnRIZWlnaHQsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBWaXJ0dWFsU2Nyb2xsTGlzdFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgaWQ6IHN0cmluZztcbiAgbWF4SGVpZ2h0OiBudW1iZXI7XG4gIGl0ZW1IZWlnaHQ6IG51bWJlcjtcbiAgaXRlbUFtb3VudDogbnVtYmVyO1xuICBlbXB0eVN0YXRlOiAoKSA9PiBSZWFjdC5SZWFjdE5vZGU7XG4gIGl0ZW1JblZpZXc6IG51bWJlcjtcbiAgaXRlbVRlbXBsYXRlOiAoaW5kZXg6IG51bWJlcikgPT4gUmVhY3QuUmVhY3ROb2RlO1xuICBjb250YWluZXJTdHlsZT86IFJlYWN0LkNTU1Byb3BlcnRpZXM7XG4gIG9uQ29udGVudEhlaWdodENoYW5nZT86ICgpID0+IHZvaWQ7XG59O1xuXG5jb25zdCBvdmVyc2NhbiA9IDEwO1xuXG5leHBvcnQgZnVuY3Rpb24gVmlydHVhbFNjcm9sbExpc3Qoe1xuICBpZCxcbiAgbWF4SGVpZ2h0LFxuICBpdGVtSGVpZ2h0LFxuICBpdGVtQW1vdW50LFxuICBlbXB0eVN0YXRlID0gKCkgPT4gbnVsbCxcbiAgaXRlbUluVmlldyxcbiAgaXRlbVRlbXBsYXRlLFxuICBjb250YWluZXJTdHlsZSxcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gIG9uQ29udGVudEhlaWdodENoYW5nZSxcbn06IFZpcnR1YWxTY3JvbGxMaXN0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBzY3JvbGxhYmxlQ29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCB2aWV3cG9ydFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgYWRqdXN0ZWRGb3JSZWZsb3cgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIGNvbnN0IFtcbiAgICB7XG4gICAgICBzY3JvbGxlZEl0ZW1Db3VudCxcbiAgICAgIGFtb3VudE9mSXRlbXNJblZpZXcsXG4gICAgICBzY3JvbGxlZEluUHgsXG4gICAgICBtYXhDb250ZW50SGVpZ2h0ID0gbWF4SGVpZ2h0LFxuICAgICAgcmVjb21tZW5kZWRTY3JvbGxQb3NpdGlvbixcbiAgICB9LFxuICAgIGRpc3BhdGNoLFxuICBdID0gdXNlUmVkdWNlcihWaXJ0dWFsU2Nyb2xsUmVkdWNlciwge30pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goeyB0eXBlOiBcInJlc2V0XCIsIGl0ZW1IZWlnaHQsIG1heEhlaWdodCwgb3ZlcnNjYW4gfSk7XG4gICAgc2Nyb2xsYWJsZUNvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9IDA7XG4gIH0sIFtpdGVtSGVpZ2h0LCBpdGVtQW1vdW50LCBtYXhIZWlnaHRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IFwicmVjb21tZW5kU2Nyb2xsUG9zaXRpb25cIixcbiAgICAgIHNjcm9sbFRvcDogc2Nyb2xsYWJsZUNvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCxcbiAgICAgIGl0ZW1Ub0JlSW5WaWV3OiBpdGVtSW5WaWV3LFxuICAgIH0pO1xuICB9LCBbaXRlbUluVmlld10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHJlY29tbWVuZGVkU2Nyb2xsUG9zaXRpb24gPT09IG51bGwpIHJldHVybjtcblxuICAgIHNjcm9sbGFibGVDb250YWluZXJSZWYuY3VycmVudC5zY3JvbGxUb3AgPSByZWNvbW1lbmRlZFNjcm9sbFBvc2l0aW9uO1xuICB9LCBbcmVjb21tZW5kZWRTY3JvbGxQb3NpdGlvbl0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCF2aWV3cG9ydFJlZi5jdXJyZW50KSByZXR1cm47XG5cbiAgICBkaXNwYXRjaCh7XG4gICAgICB0eXBlOiBcInVwZGF0ZVZpZXdwb3J0XCIsXG4gICAgICB2aWV3cG9ydE5vZGU6IHZpZXdwb3J0UmVmLmN1cnJlbnQsXG4gICAgICBpdGVtQW1vdW50LFxuICAgIH0pO1xuICB9LCBbaXRlbUFtb3VudCwgc2Nyb2xsZWRJdGVtQ291bnRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIG9uQ29udGVudEhlaWdodENoYW5nZT8uKCk7XG4gIH0sIFttYXhDb250ZW50SGVpZ2h0LCBvbkNvbnRlbnRIZWlnaHRDaGFuZ2VdKTtcblxuICBjb25zdCBpdGVtQ291bnRUb0JlUmVuZGVyZWQgPSBNYXRoLm1pbihcbiAgICBNYXRoLm1heCgwLCBpdGVtQW1vdW50IC0gc2Nyb2xsZWRJdGVtQ291bnQpLFxuICAgIGFtb3VudE9mSXRlbXNJblZpZXdcbiAgKTtcblxuICAvKiBTb21ldGltZXMsIG9wdGlvbiB0ZXh0IGNhbiByZWZsb3cgZHVlIHRoZSBhcHBlYXJhbmNlIG9mIHZlcnRpY2FsIHNjcm9sbGJhciB3aGljaCBjYW4gY2F1c2UgdGV4dCB0byB3cmFwIHRvIG11bHRpcGxlIGxpbmVzIGNhdXNpbmcgdmlld3BvcnRSZWYgaGVpZ2h0IHRvIGNoYW5nZS4gSWYgY29udGFpbmVyIGhhcyBzY3JvbGwgdGhlbiB3ZSBkaXNwYXRjaCBgdXBkYXRlVmlld3BvcnRgIG9uZSBtb3JlIHRpbWUgdG8gZ2V0IHRoZSBjb3JyZWN0IGhlaWdodCwgd2l0aCBhIHNldFRpbWVvdXQgdG8gYWxsb3cgdGltZSBmb3IgcmVmbG93LlxuICAgKi9cbiAgaWYgKFxuICAgIG1heENvbnRlbnRIZWlnaHQgPiBtYXhIZWlnaHQgJiZcbiAgICAhYWRqdXN0ZWRGb3JSZWZsb3cuY3VycmVudCAmJlxuICAgIHZpZXdwb3J0UmVmLmN1cnJlbnRcbiAgKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBkaXNwYXRjaCh7XG4gICAgICAgIHR5cGU6IFwidXBkYXRlVmlld3BvcnRcIixcbiAgICAgICAgdmlld3BvcnROb2RlOiB2aWV3cG9ydFJlZi5jdXJyZW50LFxuICAgICAgICBpdGVtQW1vdW50LFxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgYWRqdXN0ZWRGb3JSZWZsb3cuY3VycmVudCA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDb250YWluZXJcbiAgICAgIHJlZj17c2Nyb2xsYWJsZUNvbnRhaW5lclJlZn1cbiAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgbWF4SGVpZ2h0LFxuICAgICAgICAuLi5jb250YWluZXJTdHlsZSxcbiAgICAgIH19XG4gICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgZGF0YS1kcy1pZD1cIlZpcnR1YWxTY3JvbGxMaXN0XCJcbiAgICAgIG9uU2Nyb2xsPXsoZTogUmVhY3QuVUlFdmVudDxIVE1MRWxlbWVudD4pID0+IHtcbiAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgIHR5cGU6IFwic2Nyb2xsXCIsXG4gICAgICAgICAgc2Nyb2xsVG9wOiBlLmN1cnJlbnRUYXJnZXQuc2Nyb2xsVG9wLFxuICAgICAgICB9KTtcbiAgICAgIH19XG4gICAgPlxuICAgICAge2l0ZW1BbW91bnQgPT09IDAgPyAoXG4gICAgICAgIGVtcHR5U3RhdGUoKVxuICAgICAgKSA6IChcbiAgICAgICAgPFN0eWxlZFNjcm9sbGFibGVDb250ZW50IG1heENvbnRlbnRIZWlnaHQ9e21heENvbnRlbnRIZWlnaHR9PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHJlZj17dmlld3BvcnRSZWZ9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7c2Nyb2xsZWRJblB4fXB4YCxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICByb2xlPVwibGlzdGJveFwiXG4gICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgeyEhaXRlbUNvdW50VG9CZVJlbmRlcmVkICYmXG4gICAgICAgICAgICAgIG5ldyBBcnJheShpdGVtQ291bnRUb0JlUmVuZGVyZWQpXG4gICAgICAgICAgICAgICAgLmZpbGwoMClcbiAgICAgICAgICAgICAgICAubWFwKChfLCBpbmRleCkgPT4gaXRlbVRlbXBsYXRlKHNjcm9sbGVkSXRlbUNvdW50ICsgaW5kZXgpKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9TdHlsZWRTY3JvbGxhYmxlQ29udGVudD5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS3dCIn0= */"),StyledScrollableContent=(0,_styled.default)("div",{target:"e1hq8rdx1",label:"StyledScrollableContent"})(({maxContentHeight})=>({overflow:"hidden",boxSizing:"border-box",height:maxContentHeight}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVmlydHVhbFNjcm9sbExpc3QvVmlydHVhbFNjcm9sbExpc3QudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VSZWR1Y2VyLCB1c2VMYXlvdXRFZmZlY3QsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsUmVkdWNlciB9IGZyb20gXCIuL1ZpcnR1YWxTY3JvbGxMaXN0UmVkdWNlclwiO1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8VmlydHVhbFNjcm9sbExpc3RQcm9wcz4+KFxuICAoeyBtYXhIZWlnaHQgfSkgPT4gKHtcbiAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgbWF4SGVpZ2h0LFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkU2Nyb2xsYWJsZUNvbnRlbnQgPSBzdHlsZWQuZGl2PHsgbWF4Q29udGVudEhlaWdodDogbnVtYmVyIH0+KFxuICAoeyBtYXhDb250ZW50SGVpZ2h0IH0pID0+ICh7XG4gICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICBoZWlnaHQ6IG1heENvbnRlbnRIZWlnaHQsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBWaXJ0dWFsU2Nyb2xsTGlzdFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgaWQ6IHN0cmluZztcbiAgbWF4SGVpZ2h0OiBudW1iZXI7XG4gIGl0ZW1IZWlnaHQ6IG51bWJlcjtcbiAgaXRlbUFtb3VudDogbnVtYmVyO1xuICBlbXB0eVN0YXRlOiAoKSA9PiBSZWFjdC5SZWFjdE5vZGU7XG4gIGl0ZW1JblZpZXc6IG51bWJlcjtcbiAgaXRlbVRlbXBsYXRlOiAoaW5kZXg6IG51bWJlcikgPT4gUmVhY3QuUmVhY3ROb2RlO1xuICBjb250YWluZXJTdHlsZT86IFJlYWN0LkNTU1Byb3BlcnRpZXM7XG4gIG9uQ29udGVudEhlaWdodENoYW5nZT86ICgpID0+IHZvaWQ7XG59O1xuXG5jb25zdCBvdmVyc2NhbiA9IDEwO1xuXG5leHBvcnQgZnVuY3Rpb24gVmlydHVhbFNjcm9sbExpc3Qoe1xuICBpZCxcbiAgbWF4SGVpZ2h0LFxuICBpdGVtSGVpZ2h0LFxuICBpdGVtQW1vdW50LFxuICBlbXB0eVN0YXRlID0gKCkgPT4gbnVsbCxcbiAgaXRlbUluVmlldyxcbiAgaXRlbVRlbXBsYXRlLFxuICBjb250YWluZXJTdHlsZSxcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gIG9uQ29udGVudEhlaWdodENoYW5nZSxcbn06IFZpcnR1YWxTY3JvbGxMaXN0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBzY3JvbGxhYmxlQ29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCB2aWV3cG9ydFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgYWRqdXN0ZWRGb3JSZWZsb3cgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIGNvbnN0IFtcbiAgICB7XG4gICAgICBzY3JvbGxlZEl0ZW1Db3VudCxcbiAgICAgIGFtb3VudE9mSXRlbXNJblZpZXcsXG4gICAgICBzY3JvbGxlZEluUHgsXG4gICAgICBtYXhDb250ZW50SGVpZ2h0ID0gbWF4SGVpZ2h0LFxuICAgICAgcmVjb21tZW5kZWRTY3JvbGxQb3NpdGlvbixcbiAgICB9LFxuICAgIGRpc3BhdGNoLFxuICBdID0gdXNlUmVkdWNlcihWaXJ0dWFsU2Nyb2xsUmVkdWNlciwge30pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goeyB0eXBlOiBcInJlc2V0XCIsIGl0ZW1IZWlnaHQsIG1heEhlaWdodCwgb3ZlcnNjYW4gfSk7XG4gICAgc2Nyb2xsYWJsZUNvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9IDA7XG4gIH0sIFtpdGVtSGVpZ2h0LCBpdGVtQW1vdW50LCBtYXhIZWlnaHRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IFwicmVjb21tZW5kU2Nyb2xsUG9zaXRpb25cIixcbiAgICAgIHNjcm9sbFRvcDogc2Nyb2xsYWJsZUNvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCxcbiAgICAgIGl0ZW1Ub0JlSW5WaWV3OiBpdGVtSW5WaWV3LFxuICAgIH0pO1xuICB9LCBbaXRlbUluVmlld10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHJlY29tbWVuZGVkU2Nyb2xsUG9zaXRpb24gPT09IG51bGwpIHJldHVybjtcblxuICAgIHNjcm9sbGFibGVDb250YWluZXJSZWYuY3VycmVudC5zY3JvbGxUb3AgPSByZWNvbW1lbmRlZFNjcm9sbFBvc2l0aW9uO1xuICB9LCBbcmVjb21tZW5kZWRTY3JvbGxQb3NpdGlvbl0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCF2aWV3cG9ydFJlZi5jdXJyZW50KSByZXR1cm47XG5cbiAgICBkaXNwYXRjaCh7XG4gICAgICB0eXBlOiBcInVwZGF0ZVZpZXdwb3J0XCIsXG4gICAgICB2aWV3cG9ydE5vZGU6IHZpZXdwb3J0UmVmLmN1cnJlbnQsXG4gICAgICBpdGVtQW1vdW50LFxuICAgIH0pO1xuICB9LCBbaXRlbUFtb3VudCwgc2Nyb2xsZWRJdGVtQ291bnRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIG9uQ29udGVudEhlaWdodENoYW5nZT8uKCk7XG4gIH0sIFttYXhDb250ZW50SGVpZ2h0LCBvbkNvbnRlbnRIZWlnaHRDaGFuZ2VdKTtcblxuICBjb25zdCBpdGVtQ291bnRUb0JlUmVuZGVyZWQgPSBNYXRoLm1pbihcbiAgICBNYXRoLm1heCgwLCBpdGVtQW1vdW50IC0gc2Nyb2xsZWRJdGVtQ291bnQpLFxuICAgIGFtb3VudE9mSXRlbXNJblZpZXdcbiAgKTtcblxuICAvKiBTb21ldGltZXMsIG9wdGlvbiB0ZXh0IGNhbiByZWZsb3cgZHVlIHRoZSBhcHBlYXJhbmNlIG9mIHZlcnRpY2FsIHNjcm9sbGJhciB3aGljaCBjYW4gY2F1c2UgdGV4dCB0byB3cmFwIHRvIG11bHRpcGxlIGxpbmVzIGNhdXNpbmcgdmlld3BvcnRSZWYgaGVpZ2h0IHRvIGNoYW5nZS4gSWYgY29udGFpbmVyIGhhcyBzY3JvbGwgdGhlbiB3ZSBkaXNwYXRjaCBgdXBkYXRlVmlld3BvcnRgIG9uZSBtb3JlIHRpbWUgdG8gZ2V0IHRoZSBjb3JyZWN0IGhlaWdodCwgd2l0aCBhIHNldFRpbWVvdXQgdG8gYWxsb3cgdGltZSBmb3IgcmVmbG93LlxuICAgKi9cbiAgaWYgKFxuICAgIG1heENvbnRlbnRIZWlnaHQgPiBtYXhIZWlnaHQgJiZcbiAgICAhYWRqdXN0ZWRGb3JSZWZsb3cuY3VycmVudCAmJlxuICAgIHZpZXdwb3J0UmVmLmN1cnJlbnRcbiAgKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBkaXNwYXRjaCh7XG4gICAgICAgIHR5cGU6IFwidXBkYXRlVmlld3BvcnRcIixcbiAgICAgICAgdmlld3BvcnROb2RlOiB2aWV3cG9ydFJlZi5jdXJyZW50LFxuICAgICAgICBpdGVtQW1vdW50LFxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgYWRqdXN0ZWRGb3JSZWZsb3cuY3VycmVudCA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDb250YWluZXJcbiAgICAgIHJlZj17c2Nyb2xsYWJsZUNvbnRhaW5lclJlZn1cbiAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgbWF4SGVpZ2h0LFxuICAgICAgICAuLi5jb250YWluZXJTdHlsZSxcbiAgICAgIH19XG4gICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgZGF0YS1kcy1pZD1cIlZpcnR1YWxTY3JvbGxMaXN0XCJcbiAgICAgIG9uU2Nyb2xsPXsoZTogUmVhY3QuVUlFdmVudDxIVE1MRWxlbWVudD4pID0+IHtcbiAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgIHR5cGU6IFwic2Nyb2xsXCIsXG4gICAgICAgICAgc2Nyb2xsVG9wOiBlLmN1cnJlbnRUYXJnZXQuc2Nyb2xsVG9wLFxuICAgICAgICB9KTtcbiAgICAgIH19XG4gICAgPlxuICAgICAge2l0ZW1BbW91bnQgPT09IDAgPyAoXG4gICAgICAgIGVtcHR5U3RhdGUoKVxuICAgICAgKSA6IChcbiAgICAgICAgPFN0eWxlZFNjcm9sbGFibGVDb250ZW50IG1heENvbnRlbnRIZWlnaHQ9e21heENvbnRlbnRIZWlnaHR9PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHJlZj17dmlld3BvcnRSZWZ9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7c2Nyb2xsZWRJblB4fXB4YCxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICByb2xlPVwibGlzdGJveFwiXG4gICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgeyEhaXRlbUNvdW50VG9CZVJlbmRlcmVkICYmXG4gICAgICAgICAgICAgIG5ldyBBcnJheShpdGVtQ291bnRUb0JlUmVuZGVyZWQpXG4gICAgICAgICAgICAgICAgLmZpbGwoMClcbiAgICAgICAgICAgICAgICAubWFwKChfLCBpbmRleCkgPT4gaXRlbVRlbXBsYXRlKHNjcm9sbGVkSXRlbUNvdW50ICsgaW5kZXgpKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9TdHlsZWRTY3JvbGxhYmxlQ29udGVudD5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY2dDIn0= */");function VirtualScrollList({id,maxHeight,itemHeight,itemAmount,emptyState=()=>null,itemInView,itemTemplate,containerStyle,"data-e2e-test-id":dataE2eTestId,onContentHeightChange}){let scrollableContainerRef=(0,_react.useRef)(null),viewportRef=(0,_react.useRef)(null),adjustedForReflow=(0,_react.useRef)(!1),[{scrolledItemCount,amountOfItemsInView,scrolledInPx,maxContentHeight=maxHeight,recommendedScrollPosition},dispatch]=(0,_react.useReducer)(_VirtualScrollListReducer.VirtualScrollReducer,{});(0,_react.useLayoutEffect)(()=>{dispatch({type:"reset",itemHeight,maxHeight,overscan:10}),scrollableContainerRef.current.scrollTop=0},[itemHeight,itemAmount,maxHeight]),(0,_react.useEffect)(()=>{dispatch({type:"recommendScrollPosition",scrollTop:scrollableContainerRef.current.scrollTop,itemToBeInView:itemInView})},[itemInView]),(0,_react.useEffect)(()=>{null!==recommendedScrollPosition&&(scrollableContainerRef.current.scrollTop=recommendedScrollPosition)},[recommendedScrollPosition]),(0,_react.useLayoutEffect)(()=>{viewportRef.current&&dispatch({type:"updateViewport",viewportNode:viewportRef.current,itemAmount})},[itemAmount,scrolledItemCount]),(0,_react.useEffect)(()=>{onContentHeightChange?.()},[maxContentHeight,onContentHeightChange]);let itemCountToBeRendered=Math.min(Math.max(0,itemAmount-scrolledItemCount),amountOfItemsInView);return maxContentHeight>maxHeight&&!adjustedForReflow.current&&viewportRef.current&&(setTimeout(()=>{dispatch({type:"updateViewport",viewportNode:viewportRef.current,itemAmount})}),adjustedForReflow.current=!0),_react.default.createElement(StyledContainer,{ref:scrollableContainerRef,maxHeight:maxHeight,style:{maxHeight,...containerStyle},"data-e2e-test-id":dataE2eTestId,"data-ds-id":"VirtualScrollList",onScroll:e=>{dispatch({type:"scroll",scrollTop:e.currentTarget.scrollTop})}},0===itemAmount?emptyState():_react.default.createElement(StyledScrollableContent,{maxContentHeight:maxContentHeight},_react.default.createElement("div",{ref:viewportRef,style:{transform:`translateY(${scrolledInPx}px`},role:"listbox",id:id},!!itemCountToBeRendered&&Array(itemCountToBeRendered).fill(0).map((_,index)=>itemTemplate(scrolledItemCount+index)))))}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import React,{useRef,useEffect,useMemo}from"react";import styled from"@emotion/styled";import{useKeyboard}from"../../../shared/useKeyboard";import{usePopupMenu}from"../../../shared/popupMenu/usePopupMenu";import{VirtualScrollList}from"../../VirtualScrollList/VirtualScrollList";import{Text}from"../../Typography/Text/Text";import{Box}from"../../Box/Box";import{Inline}from"../../Inline/Inline";import{Icon}from"../../Icon/Icon";import{StyledDropdown,StyledOption}from"./StyledSelectComponents";import{dropdownContainerStyle}from"./constants";import{Stack}from"../../Stack/Stack";import{CheckboxRaw}from"../Checkbox/Checkbox";import{Portal}from"../../Portal/Portal";import{ScreenReaderText}from"../../Utilities/ScreenReaderText/ScreenReaderText";export function getOptionId(selectName,optionValue){return`${selectName}Option${optionValue}`}export function getOptionsListId(selectName){return`${selectName}OptionsList`}function scrollToItem(list,itemIndex){list[itemIndex]?.scrollIntoView?.({behavior:"smooth",block:"nearest"})}let CustomOption=styled(StyledOption,{target:"e1d5yhis0",label:"CustomOption"})(({theme})=>({paddingTop:0,paddingBottom:0,"& > div":{paddingTop:theme.variables.size.spacing.xs,paddingBottom:theme.variables.size.spacing.xs},"& > div *":{marginTop:0}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRm9ybS9Db21ib2JveC9PcHRpb25zTGlzdC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0Zvcm0vQ29tYm9ib3gvT3B0aW9uc0xpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVmT2JqZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgdXNlS2V5Ym9hcmQgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZUtleWJvYXJkXCI7XG5pbXBvcnQgdHlwZSB7IENvbW1vblNlbGVjdFByb3BzLCBTZWxlY3RPcHRpb24gfSBmcm9tIFwiLi9Db21ib2JveFwiO1xuaW1wb3J0IHsgdXNlUG9wdXBNZW51IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9wb3B1cE1lbnUvdXNlUG9wdXBNZW51XCI7XG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsTGlzdCB9IGZyb20gXCIuLi8uLi9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdFwiO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gXCIuLi8uLi9UeXBvZ3JhcGh5L1RleHQvVGV4dFwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIi4uLy4uL0ljb24vSWNvblwiO1xuaW1wb3J0IHsgU3R5bGVkRHJvcGRvd24sIFN0eWxlZE9wdGlvbiB9IGZyb20gXCIuL1N0eWxlZFNlbGVjdENvbXBvbmVudHNcIjtcbmltcG9ydCB7IGRyb3Bkb3duQ29udGFpbmVyU3R5bGUgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDaGVja2JveFJhdyB9IGZyb20gXCIuLi9DaGVja2JveC9DaGVja2JveFwiO1xuaW1wb3J0IHsgUG9ydGFsIH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IFNjcmVlblJlYWRlclRleHQgfSBmcm9tIFwiLi4vLi4vVXRpbGl0aWVzL1NjcmVlblJlYWRlclRleHQvU2NyZWVuUmVhZGVyVGV4dFwiO1xuXG50eXBlIE9wdGlvbnNMaXN0UHJvcHMgPSB7XG4gIGlzT3BlbjogYm9vbGVhbjtcbiAgaXNNdWx0aVNlbGVjdD86IGJvb2xlYW47XG4gIHRyaWdnZXJSZWY6IFJlZk9iamVjdDxIVE1MSW5wdXRFbGVtZW50PjtcbiAgdHJpZ2dlcldyYXBwZXJSZWY/OiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBvbkNsb3NlRHJvcGRvd246IChub1NlbGVjdD86IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlcjtcbiAgb25TZWxlY3RlZEluZGV4Q2hhbmdlOiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbiAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0OiAoc2VsZWN0ZWRPcHRpb246IFNlbGVjdE9wdGlvbikgPT4gdm9pZDtcbiAgaXNWaXJ0dWFsaXplZD86IGJvb2xlYW47XG59ICYgUGFydGlhbDxDb21tb25TZWxlY3RQcm9wcz47XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25JZChzZWxlY3ROYW1lOiBzdHJpbmcsIG9wdGlvblZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7c2VsZWN0TmFtZX1PcHRpb24ke29wdGlvblZhbHVlfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25zTGlzdElkKHNlbGVjdE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtzZWxlY3ROYW1lfU9wdGlvbnNMaXN0YDtcbn1cblxuZnVuY3Rpb24gc2Nyb2xsVG9JdGVtKGxpc3Q6IEhUTUxEaXZFbGVtZW50W10sIGl0ZW1JbmRleDogbnVtYmVyKSB7XG4gIGxpc3RbaXRlbUluZGV4XT8uc2Nyb2xsSW50b1ZpZXc/Lih7XG4gICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgYmxvY2s6IFwibmVhcmVzdFwiLFxuICB9KTtcbn1cblxuY29uc3QgQ3VzdG9tT3B0aW9uID0gc3R5bGVkKFN0eWxlZE9wdGlvbikoKHsgdGhlbWUgfSkgPT4gKHtcbiAgLy8gdGhpcyBpcyBuZWVkZWQgZm9yIHVzaW5nIHBhZGRpbmcgb2YgY2hlY2tib3hlcyBpbiBvcmRlciB0byB1c2UgaXRzIGhvdmVyIHN0YXRlXG4gIHBhZGRpbmdUb3A6IDAsXG4gIHBhZGRpbmdCb3R0b206IDAsXG4gIFwiJiA+IGRpdlwiOiB7XG4gICAgcGFkZGluZ1RvcDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54cyxcbiAgICBwYWRkaW5nQm90dG9tOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzLFxuICB9LFxuICBcIiYgPiBkaXYgKlwiOiB7XG4gICAgbWFyZ2luVG9wOiAwLFxuICB9LFxufSkpO1xuXG5jb25zdCBTdHlsZWRMaXN0Q29udGFpbmVyID0gc3R5bGVkLmRpdjxQaWNrPE9wdGlvbnNMaXN0UHJvcHMsIFwibWF4SGVpZ2h0XCI+PihcbiAgKHsgdGhlbWUsIG1heEhlaWdodCB9KSA9PiAoe1xuICAgIG1heEhlaWdodCxcbiAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgIG92ZXJmbG93OiBcImF1dG9cIixcbiAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c30gMGAsXG4gIH0pXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gT3B0aW9uc0xpc3Qoe1xuICBpc09wZW4sXG4gIGlzTXVsdGlTZWxlY3QgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIGRpc2FibGVkLFxuICBvcHRpb25zLFxuICBwb3J0YWxDb250YWluZXIsXG4gIHRyaWdnZXJSZWYsXG4gIHRyaWdnZXJXcmFwcGVyUmVmLFxuICBtYXhIZWlnaHQsXG4gIGVtcHR5U3RhdGVNZXNzYWdlID0gXCJObyBvcHRpb25zIGF2YWlsYWJsZVwiLFxuICBzZWxlY3RlZEluZGV4LFxuICBvcHRpb25zTGlzdFdpZHRoLFxuICBpc1ZpcnR1YWxpemVkID0gdHJ1ZSxcbiAgbmFtZSxcbiAgb25DbG9zZURyb3Bkb3duLFxuICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UsXG4gIGZvcmNlQ2hhbmdlRmFrZVNlbGVjdCxcbn06IE9wdGlvbnNMaXN0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBvcHRpb25zTGlzdFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGlzdENvbnRhaW5lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGlzdEl0ZW1zUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCByZWZGb3JQb3NpdGlvbmluZyA9IHRyaWdnZXJXcmFwcGVyUmVmIHx8IHRyaWdnZXJSZWY7XG4gIGNvbnN0IGFjdGl2ZUl0ZW1JbmRleCA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+XG4gICAgICAgIGlzTXVsdGlTZWxlY3QgPyB2YWx1ZS5pbmNsdWRlcyhvcHRpb24udmFsdWUpIDogb3B0aW9uLnZhbHVlID09PSB2YWx1ZVxuICAgICAgKSxcbiAgICBbb3B0aW9ucywgaXNNdWx0aVNlbGVjdCwgdmFsdWVdXG4gICk7XG5cbiAgY29uc3QgeyBtZW51U3R5bGU6IG9wdGlvbnNMaXN0U3R5bGUsIGNhbGN1bGF0ZVN0eWxlIH0gPSB1c2VQb3B1cE1lbnUoe1xuICAgIHRyaWdnZXJSZWY6IHJlZkZvclBvc2l0aW9uaW5nLFxuICAgIG1lbnVSZWY6IG9wdGlvbnNMaXN0UmVmLFxuICAgIGlzT3BlbixcbiAgfSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoXG4gICAgICBpc09wZW4gJiZcbiAgICAgIGxpc3RDb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgIWlzVmlydHVhbGl6ZWQgJiZcbiAgICAgIG9wdGlvbnNMaXN0U3R5bGUudG9wXG4gICAgKSB7XG4gICAgICBjb25zdCBsaXN0RWxtID0gbGlzdENvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgICAgLy8gZGV0ZXJtaW5lIG92ZXJmbG93XG4gICAgICBpZiAobGlzdEVsbS5jbGllbnRIZWlnaHQgPCBsaXN0RWxtLnNjcm9sbEhlaWdodCkge1xuICAgICAgICBsaXN0SXRlbXNSZWYuY3VycmVudCA9IGxpc3RFbG0ucXVlcnlTZWxlY3RvckFsbChcIltkYXRhLWxpc3QtaXRlbV1cIik7XG4gICAgICAgIHNjcm9sbFRvSXRlbShsaXN0SXRlbXNSZWYuY3VycmVudCwgYWN0aXZlSXRlbUluZGV4KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGlzdEl0ZW1zUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgfSwgW1xuICAgIGlzT3BlbixcbiAgICBpc1ZpcnR1YWxpemVkLFxuICAgIGxpc3RDb250YWluZXJSZWYsXG4gICAgb3B0aW9ucyxcbiAgICBtYXhIZWlnaHQsXG4gICAgb3B0aW9uc0xpc3RTdHlsZSxcbiAgICBhY3RpdmVJdGVtSW5kZXgsXG4gIF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxpc3RJdGVtc1JlZi5jdXJyZW50KSB7XG4gICAgICBzY3JvbGxUb0l0ZW0obGlzdEl0ZW1zUmVmLmN1cnJlbnQsIHNlbGVjdGVkSW5kZXgpO1xuICAgIH1cbiAgfSwgW2xpc3RJdGVtc1JlZiwgc2VsZWN0ZWRJbmRleF0pO1xuXG4gIHVzZUtleWJvYXJkKFxuICAgIHtcbiAgICAgIEVzY2FwZTogKCkgPT4gb25DbG9zZURyb3Bkb3duKHRydWUpLFxuICAgICAgRW50ZXI6ICgpID0+IHtcbiAgICAgICAgY29uc3QgcHJlc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25zW3NlbGVjdGVkSW5kZXhdO1xuXG4gICAgICAgIGlmICghcHJlc2VsZWN0ZWRPcHRpb24/LmRpc2FibGVkKSB7XG4gICAgICAgICAgaWYgKHByZXNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgICBmb3JjZUNoYW5nZUZha2VTZWxlY3QocHJlc2VsZWN0ZWRPcHRpb24pO1xuICAgICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICAgIG9uQ2xvc2VEcm9wZG93bih0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBBcnJvd1VwOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4ID4gMCkge1xuICAgICAgICAgIG5ld0luZGV4IC09IDE7XG4gICAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBPbmx5IHVwZGF0ZSB0aGUgc2VsZWN0aW9uIGlmIHRoZSBuZXcgaXRlbSBpcyBub3QgZGlzYWJsZWRcbiAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UobmV3SW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgQXJyb3dEb3duOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4IDwgb3B0aW9ucy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgbmV3SW5kZXggKz0gMTtcbiAgICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIE9ubHkgdXBkYXRlIHRoZSBzZWxlY3Rpb24gaWYgdGhlIG5ldyBpdGVtIGlzIG5vdCBkaXNhYmxlZFxuICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgIG9uU2VsZWN0ZWRJbmRleENoYW5nZShuZXdJbmRleCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICB0cmlnZ2VyUmVmLFxuICAgIGlzT3BlbiAmJiAhZGlzYWJsZWRcbiAgKTtcblxuICBjb25zdCByZW5kZXJJdGVtID0gKGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBvcHRpb246IFNlbGVjdE9wdGlvbiA9IG9wdGlvbnNbaW5kZXhdO1xuICAgIC8vIEdlbmVyYXRlIHVuaXF1ZSBpZCBmb3IgdGhlIG9wdGlvblxuICAgIGNvbnN0IGlkID0gZ2V0T3B0aW9uSWQobmFtZSwgb3B0aW9uLnZhbHVlKTtcblxuICAgIGlmIChpc011bHRpU2VsZWN0KSB7XG4gICAgICBjb25zdCBpc0FjdGl2ZSA9IHZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxDdXN0b21PcHRpb25cbiAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICBhcmlhLXNlbGVjdGVkPXtpc0FjdGl2ZX1cbiAgICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgIGtleT17b3B0aW9uLnZhbHVlfVxuICAgICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgICAgZGlzYWJsZWQ9e29wdGlvbi5kaXNhYmxlZH1cbiAgICAgICAgICBwcmVTZWxlY3RlZD17c2VsZWN0ZWRJbmRleCA9PT0gaW5kZXh9XG4gICAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgICAvLyBzdG9wIGV2ZW50IHByb3BhZ2F0aW9uIHRvIG5vdCBjbG9zZSBtb2RhbCBvbiBzZWxlY3Rpb24gaWYgc2VsZWN0IGlzIHdpdGhpbiBhIE1vZGFsXG4gICAgICAgICAgb25DbGljaz17KGV2dCkgPT4gZXZ0LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICA+XG4gICAgICAgICAgPENoZWNrYm94UmF3XG4gICAgICAgICAgICBuYW1lPVwiXCJcbiAgICAgICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgICBjaGVja2VkPXtpc0FjdGl2ZX1cbiAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgIGxhYmVsPXtvcHRpb24ubGFiZWx9XG4gICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4gbnVsbH1cbiAgICAgICAgICAgIGxhYmVsSGludD17b3B0aW9uPy5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0N1c3RvbU9wdGlvbj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gZWxzZSByZW5kZXIgc2luZ2xlIHNlbGVjdCBpdGVtXG4gICAgY29uc3QgaXNBY3RpdmUgPSB2YWx1ZSA9PT0gb3B0aW9uLnZhbHVlO1xuICAgIGNvbnN0IG9wdGlvblRleHQgPSAoXG4gICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgIDxUZXh0IGNvbG9yPVwicHJpbWFyeVwiIHNpemU9XCJtXCI+XG4gICAgICAgICAge29wdGlvbi5sYWJlbH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgICB7b3B0aW9uLmRlc2NyaXB0aW9uICYmIChcbiAgICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCIgc2l6ZT1cInNcIj5cbiAgICAgICAgICAgIHtvcHRpb24uZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICApfVxuICAgICAgPC9TdGFjaz5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRPcHRpb25cbiAgICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2lzQWN0aXZlfVxuICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIGlkPXtpZH1cbiAgICAgICAga2V5PXtvcHRpb24udmFsdWV9XG4gICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIHByZVNlbGVjdGVkPXtzZWxlY3RlZEluZGV4ID09PSBpbmRleH1cbiAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24odHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7aXNBY3RpdmUgPyAoXG4gICAgICAgICAgPElubGluZSBub1dyYXAgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiPlxuICAgICAgICAgICAge29wdGlvblRleHR9XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT1cInh4eHNcIj5cbiAgICAgICAgICAgICAgPEljb24gbmFtZT1cImNoZWNrXCIgc2l6ZT1cInNcIiBjb2xvcj1cImFjY2VudFwiIC8+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBvcHRpb25UZXh0XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZE9wdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGxpc3RTdHlsZSA9IHtcbiAgICAuLi5vcHRpb25zTGlzdFN0eWxlLFxuICAgIHdpZHRoOlxuICAgICAgb3B0aW9uc0xpc3RXaWR0aCB8fFxuICAgICAgcmVmRm9yUG9zaXRpb25pbmcuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsXG4gIH07XG5cbiAgY29uc3QgbGlzdEVsbSA9IChcbiAgICA8U3R5bGVkRHJvcGRvd25cbiAgICAgIHN0eWxlPXtsaXN0U3R5bGV9XG4gICAgICByZWY9e29wdGlvbnNMaXN0UmVmfVxuICAgICAgLy8gdGhpcyBpcyB0byBwcmV2ZW50IGtub3duIGJ1ZyBvZiBDaHJvbWUgd2hlbiBlbGVtZW50XG4gICAgICAvLyBsb3NlcyBmb2N1cyBvbiBjbGljayBvbiB0aGUgc2Nyb2xsYmFyXG4gICAgICBvbk1vdXNlRG93bj17KGUpID0+IGUucHJldmVudERlZmF1bHQoKX1cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9XCJvcHRpb25zTGlzdFwiXG4gICAgPlxuICAgICAge2lzVmlydHVhbGl6ZWQgPyAoXG4gICAgICAgIDxWaXJ0dWFsU2Nyb2xsTGlzdFxuICAgICAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgICAgIGl0ZW1IZWlnaHQ9ezM2fVxuICAgICAgICAgIGl0ZW1BbW91bnQ9e29wdGlvbnMubGVuZ3RofVxuICAgICAgICAgIGVtcHR5U3RhdGU9eygpID0+IG51bGx9XG4gICAgICAgICAgY29udGFpbmVyU3R5bGU9e2Ryb3Bkb3duQ29udGFpbmVyU3R5bGV9XG4gICAgICAgICAgaXRlbUluVmlldz17c2VsZWN0ZWRJbmRleH1cbiAgICAgICAgICBpdGVtVGVtcGxhdGU9e3JlbmRlckl0ZW19XG4gICAgICAgICAgb25Db250ZW50SGVpZ2h0Q2hhbmdlPXtjYWxjdWxhdGVTdHlsZX1cbiAgICAgICAgLz5cbiAgICAgICkgOiAoXG4gICAgICAgIDxTdHlsZWRMaXN0Q29udGFpbmVyXG4gICAgICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICAgIGlkPXtnZXRPcHRpb25zTGlzdElkKG5hbWUpfVxuICAgICAgICAgIHJlZj17bGlzdENvbnRhaW5lclJlZn1cbiAgICAgICAgPlxuICAgICAgICAgIHtvcHRpb25zLm1hcCgoX29wdGlvbiwgaW5kZXgpID0+IHJlbmRlckl0ZW0oaW5kZXgpKX1cbiAgICAgICAgPC9TdHlsZWRMaXN0Q29udGFpbmVyPlxuICAgICAgKX1cbiAgICA8L1N0eWxlZERyb3Bkb3duPlxuICApO1xuXG4gIGlmICghaXNPcGVuKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBsaXN0UG9ydGFsID0gb3B0aW9ucy5sZW5ndGggPyAoXG4gICAgPFBvcnRhbCBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn0+e2xpc3RFbG19PC9Qb3J0YWw+XG4gICkgOiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxTY3JlZW5SZWFkZXJUZXh0IHJvbGU9XCJzdGF0dXNcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgeyFvcHRpb25zLmxlbmd0aCA/IGVtcHR5U3RhdGVNZXNzYWdlIDogXCJcIn1cbiAgICAgIDwvU2NyZWVuUmVhZGVyVGV4dD5cbiAgICAgIHtsaXN0UG9ydGFsfVxuICAgIDwvPlxuICApO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZDcUIifQ== */"),StyledListContainer=styled("div",{target:"e1d5yhis1",label:"StyledListContainer"})(({theme,maxHeight})=>({maxHeight,boxSizing:"border-box",overflow:"auto",padding:`${theme.variables.size.spacing.xxs} 0`}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRm9ybS9Db21ib2JveC9PcHRpb25zTGlzdC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0Zvcm0vQ29tYm9ib3gvT3B0aW9uc0xpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVmT2JqZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgdXNlS2V5Ym9hcmQgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZUtleWJvYXJkXCI7XG5pbXBvcnQgdHlwZSB7IENvbW1vblNlbGVjdFByb3BzLCBTZWxlY3RPcHRpb24gfSBmcm9tIFwiLi9Db21ib2JveFwiO1xuaW1wb3J0IHsgdXNlUG9wdXBNZW51IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9wb3B1cE1lbnUvdXNlUG9wdXBNZW51XCI7XG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsTGlzdCB9IGZyb20gXCIuLi8uLi9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdFwiO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gXCIuLi8uLi9UeXBvZ3JhcGh5L1RleHQvVGV4dFwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIi4uLy4uL0ljb24vSWNvblwiO1xuaW1wb3J0IHsgU3R5bGVkRHJvcGRvd24sIFN0eWxlZE9wdGlvbiB9IGZyb20gXCIuL1N0eWxlZFNlbGVjdENvbXBvbmVudHNcIjtcbmltcG9ydCB7IGRyb3Bkb3duQ29udGFpbmVyU3R5bGUgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDaGVja2JveFJhdyB9IGZyb20gXCIuLi9DaGVja2JveC9DaGVja2JveFwiO1xuaW1wb3J0IHsgUG9ydGFsIH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IFNjcmVlblJlYWRlclRleHQgfSBmcm9tIFwiLi4vLi4vVXRpbGl0aWVzL1NjcmVlblJlYWRlclRleHQvU2NyZWVuUmVhZGVyVGV4dFwiO1xuXG50eXBlIE9wdGlvbnNMaXN0UHJvcHMgPSB7XG4gIGlzT3BlbjogYm9vbGVhbjtcbiAgaXNNdWx0aVNlbGVjdD86IGJvb2xlYW47XG4gIHRyaWdnZXJSZWY6IFJlZk9iamVjdDxIVE1MSW5wdXRFbGVtZW50PjtcbiAgdHJpZ2dlcldyYXBwZXJSZWY/OiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBvbkNsb3NlRHJvcGRvd246IChub1NlbGVjdD86IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlcjtcbiAgb25TZWxlY3RlZEluZGV4Q2hhbmdlOiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbiAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0OiAoc2VsZWN0ZWRPcHRpb246IFNlbGVjdE9wdGlvbikgPT4gdm9pZDtcbiAgaXNWaXJ0dWFsaXplZD86IGJvb2xlYW47XG59ICYgUGFydGlhbDxDb21tb25TZWxlY3RQcm9wcz47XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25JZChzZWxlY3ROYW1lOiBzdHJpbmcsIG9wdGlvblZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7c2VsZWN0TmFtZX1PcHRpb24ke29wdGlvblZhbHVlfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25zTGlzdElkKHNlbGVjdE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtzZWxlY3ROYW1lfU9wdGlvbnNMaXN0YDtcbn1cblxuZnVuY3Rpb24gc2Nyb2xsVG9JdGVtKGxpc3Q6IEhUTUxEaXZFbGVtZW50W10sIGl0ZW1JbmRleDogbnVtYmVyKSB7XG4gIGxpc3RbaXRlbUluZGV4XT8uc2Nyb2xsSW50b1ZpZXc/Lih7XG4gICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgYmxvY2s6IFwibmVhcmVzdFwiLFxuICB9KTtcbn1cblxuY29uc3QgQ3VzdG9tT3B0aW9uID0gc3R5bGVkKFN0eWxlZE9wdGlvbikoKHsgdGhlbWUgfSkgPT4gKHtcbiAgLy8gdGhpcyBpcyBuZWVkZWQgZm9yIHVzaW5nIHBhZGRpbmcgb2YgY2hlY2tib3hlcyBpbiBvcmRlciB0byB1c2UgaXRzIGhvdmVyIHN0YXRlXG4gIHBhZGRpbmdUb3A6IDAsXG4gIHBhZGRpbmdCb3R0b206IDAsXG4gIFwiJiA+IGRpdlwiOiB7XG4gICAgcGFkZGluZ1RvcDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54cyxcbiAgICBwYWRkaW5nQm90dG9tOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzLFxuICB9LFxuICBcIiYgPiBkaXYgKlwiOiB7XG4gICAgbWFyZ2luVG9wOiAwLFxuICB9LFxufSkpO1xuXG5jb25zdCBTdHlsZWRMaXN0Q29udGFpbmVyID0gc3R5bGVkLmRpdjxQaWNrPE9wdGlvbnNMaXN0UHJvcHMsIFwibWF4SGVpZ2h0XCI+PihcbiAgKHsgdGhlbWUsIG1heEhlaWdodCB9KSA9PiAoe1xuICAgIG1heEhlaWdodCxcbiAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgIG92ZXJmbG93OiBcImF1dG9cIixcbiAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c30gMGAsXG4gIH0pXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gT3B0aW9uc0xpc3Qoe1xuICBpc09wZW4sXG4gIGlzTXVsdGlTZWxlY3QgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIGRpc2FibGVkLFxuICBvcHRpb25zLFxuICBwb3J0YWxDb250YWluZXIsXG4gIHRyaWdnZXJSZWYsXG4gIHRyaWdnZXJXcmFwcGVyUmVmLFxuICBtYXhIZWlnaHQsXG4gIGVtcHR5U3RhdGVNZXNzYWdlID0gXCJObyBvcHRpb25zIGF2YWlsYWJsZVwiLFxuICBzZWxlY3RlZEluZGV4LFxuICBvcHRpb25zTGlzdFdpZHRoLFxuICBpc1ZpcnR1YWxpemVkID0gdHJ1ZSxcbiAgbmFtZSxcbiAgb25DbG9zZURyb3Bkb3duLFxuICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UsXG4gIGZvcmNlQ2hhbmdlRmFrZVNlbGVjdCxcbn06IE9wdGlvbnNMaXN0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBvcHRpb25zTGlzdFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGlzdENvbnRhaW5lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGlzdEl0ZW1zUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCByZWZGb3JQb3NpdGlvbmluZyA9IHRyaWdnZXJXcmFwcGVyUmVmIHx8IHRyaWdnZXJSZWY7XG4gIGNvbnN0IGFjdGl2ZUl0ZW1JbmRleCA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+XG4gICAgICAgIGlzTXVsdGlTZWxlY3QgPyB2YWx1ZS5pbmNsdWRlcyhvcHRpb24udmFsdWUpIDogb3B0aW9uLnZhbHVlID09PSB2YWx1ZVxuICAgICAgKSxcbiAgICBbb3B0aW9ucywgaXNNdWx0aVNlbGVjdCwgdmFsdWVdXG4gICk7XG5cbiAgY29uc3QgeyBtZW51U3R5bGU6IG9wdGlvbnNMaXN0U3R5bGUsIGNhbGN1bGF0ZVN0eWxlIH0gPSB1c2VQb3B1cE1lbnUoe1xuICAgIHRyaWdnZXJSZWY6IHJlZkZvclBvc2l0aW9uaW5nLFxuICAgIG1lbnVSZWY6IG9wdGlvbnNMaXN0UmVmLFxuICAgIGlzT3BlbixcbiAgfSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoXG4gICAgICBpc09wZW4gJiZcbiAgICAgIGxpc3RDb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgIWlzVmlydHVhbGl6ZWQgJiZcbiAgICAgIG9wdGlvbnNMaXN0U3R5bGUudG9wXG4gICAgKSB7XG4gICAgICBjb25zdCBsaXN0RWxtID0gbGlzdENvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgICAgLy8gZGV0ZXJtaW5lIG92ZXJmbG93XG4gICAgICBpZiAobGlzdEVsbS5jbGllbnRIZWlnaHQgPCBsaXN0RWxtLnNjcm9sbEhlaWdodCkge1xuICAgICAgICBsaXN0SXRlbXNSZWYuY3VycmVudCA9IGxpc3RFbG0ucXVlcnlTZWxlY3RvckFsbChcIltkYXRhLWxpc3QtaXRlbV1cIik7XG4gICAgICAgIHNjcm9sbFRvSXRlbShsaXN0SXRlbXNSZWYuY3VycmVudCwgYWN0aXZlSXRlbUluZGV4KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGlzdEl0ZW1zUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgfSwgW1xuICAgIGlzT3BlbixcbiAgICBpc1ZpcnR1YWxpemVkLFxuICAgIGxpc3RDb250YWluZXJSZWYsXG4gICAgb3B0aW9ucyxcbiAgICBtYXhIZWlnaHQsXG4gICAgb3B0aW9uc0xpc3RTdHlsZSxcbiAgICBhY3RpdmVJdGVtSW5kZXgsXG4gIF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxpc3RJdGVtc1JlZi5jdXJyZW50KSB7XG4gICAgICBzY3JvbGxUb0l0ZW0obGlzdEl0ZW1zUmVmLmN1cnJlbnQsIHNlbGVjdGVkSW5kZXgpO1xuICAgIH1cbiAgfSwgW2xpc3RJdGVtc1JlZiwgc2VsZWN0ZWRJbmRleF0pO1xuXG4gIHVzZUtleWJvYXJkKFxuICAgIHtcbiAgICAgIEVzY2FwZTogKCkgPT4gb25DbG9zZURyb3Bkb3duKHRydWUpLFxuICAgICAgRW50ZXI6ICgpID0+IHtcbiAgICAgICAgY29uc3QgcHJlc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25zW3NlbGVjdGVkSW5kZXhdO1xuXG4gICAgICAgIGlmICghcHJlc2VsZWN0ZWRPcHRpb24/LmRpc2FibGVkKSB7XG4gICAgICAgICAgaWYgKHByZXNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgICBmb3JjZUNoYW5nZUZha2VTZWxlY3QocHJlc2VsZWN0ZWRPcHRpb24pO1xuICAgICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICAgIG9uQ2xvc2VEcm9wZG93bih0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBBcnJvd1VwOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4ID4gMCkge1xuICAgICAgICAgIG5ld0luZGV4IC09IDE7XG4gICAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBPbmx5IHVwZGF0ZSB0aGUgc2VsZWN0aW9uIGlmIHRoZSBuZXcgaXRlbSBpcyBub3QgZGlzYWJsZWRcbiAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UobmV3SW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgQXJyb3dEb3duOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4IDwgb3B0aW9ucy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgbmV3SW5kZXggKz0gMTtcbiAgICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIE9ubHkgdXBkYXRlIHRoZSBzZWxlY3Rpb24gaWYgdGhlIG5ldyBpdGVtIGlzIG5vdCBkaXNhYmxlZFxuICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgIG9uU2VsZWN0ZWRJbmRleENoYW5nZShuZXdJbmRleCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICB0cmlnZ2VyUmVmLFxuICAgIGlzT3BlbiAmJiAhZGlzYWJsZWRcbiAgKTtcblxuICBjb25zdCByZW5kZXJJdGVtID0gKGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBvcHRpb246IFNlbGVjdE9wdGlvbiA9IG9wdGlvbnNbaW5kZXhdO1xuICAgIC8vIEdlbmVyYXRlIHVuaXF1ZSBpZCBmb3IgdGhlIG9wdGlvblxuICAgIGNvbnN0IGlkID0gZ2V0T3B0aW9uSWQobmFtZSwgb3B0aW9uLnZhbHVlKTtcblxuICAgIGlmIChpc011bHRpU2VsZWN0KSB7XG4gICAgICBjb25zdCBpc0FjdGl2ZSA9IHZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxDdXN0b21PcHRpb25cbiAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICBhcmlhLXNlbGVjdGVkPXtpc0FjdGl2ZX1cbiAgICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgIGtleT17b3B0aW9uLnZhbHVlfVxuICAgICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgICAgZGlzYWJsZWQ9e29wdGlvbi5kaXNhYmxlZH1cbiAgICAgICAgICBwcmVTZWxlY3RlZD17c2VsZWN0ZWRJbmRleCA9PT0gaW5kZXh9XG4gICAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgICAvLyBzdG9wIGV2ZW50IHByb3BhZ2F0aW9uIHRvIG5vdCBjbG9zZSBtb2RhbCBvbiBzZWxlY3Rpb24gaWYgc2VsZWN0IGlzIHdpdGhpbiBhIE1vZGFsXG4gICAgICAgICAgb25DbGljaz17KGV2dCkgPT4gZXZ0LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICA+XG4gICAgICAgICAgPENoZWNrYm94UmF3XG4gICAgICAgICAgICBuYW1lPVwiXCJcbiAgICAgICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgICBjaGVja2VkPXtpc0FjdGl2ZX1cbiAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgIGxhYmVsPXtvcHRpb24ubGFiZWx9XG4gICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4gbnVsbH1cbiAgICAgICAgICAgIGxhYmVsSGludD17b3B0aW9uPy5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0N1c3RvbU9wdGlvbj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gZWxzZSByZW5kZXIgc2luZ2xlIHNlbGVjdCBpdGVtXG4gICAgY29uc3QgaXNBY3RpdmUgPSB2YWx1ZSA9PT0gb3B0aW9uLnZhbHVlO1xuICAgIGNvbnN0IG9wdGlvblRleHQgPSAoXG4gICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgIDxUZXh0IGNvbG9yPVwicHJpbWFyeVwiIHNpemU9XCJtXCI+XG4gICAgICAgICAge29wdGlvbi5sYWJlbH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgICB7b3B0aW9uLmRlc2NyaXB0aW9uICYmIChcbiAgICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCIgc2l6ZT1cInNcIj5cbiAgICAgICAgICAgIHtvcHRpb24uZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICApfVxuICAgICAgPC9TdGFjaz5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRPcHRpb25cbiAgICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2lzQWN0aXZlfVxuICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIGlkPXtpZH1cbiAgICAgICAga2V5PXtvcHRpb24udmFsdWV9XG4gICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIHByZVNlbGVjdGVkPXtzZWxlY3RlZEluZGV4ID09PSBpbmRleH1cbiAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24odHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7aXNBY3RpdmUgPyAoXG4gICAgICAgICAgPElubGluZSBub1dyYXAgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiPlxuICAgICAgICAgICAge29wdGlvblRleHR9XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT1cInh4eHNcIj5cbiAgICAgICAgICAgICAgPEljb24gbmFtZT1cImNoZWNrXCIgc2l6ZT1cInNcIiBjb2xvcj1cImFjY2VudFwiIC8+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBvcHRpb25UZXh0XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZE9wdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGxpc3RTdHlsZSA9IHtcbiAgICAuLi5vcHRpb25zTGlzdFN0eWxlLFxuICAgIHdpZHRoOlxuICAgICAgb3B0aW9uc0xpc3RXaWR0aCB8fFxuICAgICAgcmVmRm9yUG9zaXRpb25pbmcuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsXG4gIH07XG5cbiAgY29uc3QgbGlzdEVsbSA9IChcbiAgICA8U3R5bGVkRHJvcGRvd25cbiAgICAgIHN0eWxlPXtsaXN0U3R5bGV9XG4gICAgICByZWY9e29wdGlvbnNMaXN0UmVmfVxuICAgICAgLy8gdGhpcyBpcyB0byBwcmV2ZW50IGtub3duIGJ1ZyBvZiBDaHJvbWUgd2hlbiBlbGVtZW50XG4gICAgICAvLyBsb3NlcyBmb2N1cyBvbiBjbGljayBvbiB0aGUgc2Nyb2xsYmFyXG4gICAgICBvbk1vdXNlRG93bj17KGUpID0+IGUucHJldmVudERlZmF1bHQoKX1cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9XCJvcHRpb25zTGlzdFwiXG4gICAgPlxuICAgICAge2lzVmlydHVhbGl6ZWQgPyAoXG4gICAgICAgIDxWaXJ0dWFsU2Nyb2xsTGlzdFxuICAgICAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgICAgIGl0ZW1IZWlnaHQ9ezM2fVxuICAgICAgICAgIGl0ZW1BbW91bnQ9e29wdGlvbnMubGVuZ3RofVxuICAgICAgICAgIGVtcHR5U3RhdGU9eygpID0+IG51bGx9XG4gICAgICAgICAgY29udGFpbmVyU3R5bGU9e2Ryb3Bkb3duQ29udGFpbmVyU3R5bGV9XG4gICAgICAgICAgaXRlbUluVmlldz17c2VsZWN0ZWRJbmRleH1cbiAgICAgICAgICBpdGVtVGVtcGxhdGU9e3JlbmRlckl0ZW19XG4gICAgICAgICAgb25Db250ZW50SGVpZ2h0Q2hhbmdlPXtjYWxjdWxhdGVTdHlsZX1cbiAgICAgICAgLz5cbiAgICAgICkgOiAoXG4gICAgICAgIDxTdHlsZWRMaXN0Q29udGFpbmVyXG4gICAgICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICAgIGlkPXtnZXRPcHRpb25zTGlzdElkKG5hbWUpfVxuICAgICAgICAgIHJlZj17bGlzdENvbnRhaW5lclJlZn1cbiAgICAgICAgPlxuICAgICAgICAgIHtvcHRpb25zLm1hcCgoX29wdGlvbiwgaW5kZXgpID0+IHJlbmRlckl0ZW0oaW5kZXgpKX1cbiAgICAgICAgPC9TdHlsZWRMaXN0Q29udGFpbmVyPlxuICAgICAgKX1cbiAgICA8L1N0eWxlZERyb3Bkb3duPlxuICApO1xuXG4gIGlmICghaXNPcGVuKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBsaXN0UG9ydGFsID0gb3B0aW9ucy5sZW5ndGggPyAoXG4gICAgPFBvcnRhbCBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn0+e2xpc3RFbG19PC9Qb3J0YWw+XG4gICkgOiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxTY3JlZW5SZWFkZXJUZXh0IHJvbGU9XCJzdGF0dXNcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgeyFvcHRpb25zLmxlbmd0aCA/IGVtcHR5U3RhdGVNZXNzYWdlIDogXCJcIn1cbiAgICAgIDwvU2NyZWVuUmVhZGVyVGV4dD5cbiAgICAgIHtsaXN0UG9ydGFsfVxuICAgIDwvPlxuICApO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBENEIifQ== */");export function OptionsList({isOpen,isMultiSelect=!1,value,disabled,options,portalContainer,triggerRef,triggerWrapperRef,maxHeight,emptyStateMessage="No options available",selectedIndex,optionsListWidth,isVirtualized=!0,name,onCloseDropdown,onSelectedIndexChange,forceChangeFakeSelect}){let optionsListRef=useRef(null),listContainerRef=useRef(null),listItemsRef=useRef(null),refForPositioning=triggerWrapperRef||triggerRef,activeItemIndex=useMemo(()=>options.findIndex(option=>isMultiSelect?value.includes(option.value):option.value===value),[options,isMultiSelect,value]),{menuStyle:optionsListStyle,calculateStyle}=usePopupMenu({triggerRef:refForPositioning,menuRef:optionsListRef,isOpen});useEffect(()=>{if(isOpen&&listContainerRef.current&&!isVirtualized&&optionsListStyle.top){let listElm=listContainerRef.current;listElm.clientHeight<listElm.scrollHeight&&(listItemsRef.current=listElm.querySelectorAll("[data-list-item]"),scrollToItem(listItemsRef.current,activeItemIndex))}else listItemsRef.current=null},[isOpen,isVirtualized,listContainerRef,options,maxHeight,optionsListStyle,activeItemIndex]),useEffect(()=>{listItemsRef.current&&scrollToItem(listItemsRef.current,selectedIndex)},[listItemsRef,selectedIndex]),useKeyboard({Escape:()=>onCloseDropdown(!0),Enter:()=>{let preselectedOption=options[selectedIndex];if(!preselectedOption?.disabled){if(preselectedOption){forceChangeFakeSelect(preselectedOption),isMultiSelect||onCloseDropdown(!0);return}isMultiSelect||onCloseDropdown()}},ArrowUp:()=>{let newIndex=-1===selectedIndex?activeItemIndex:selectedIndex;for(;newIndex>0&&(newIndex-=1,options[newIndex]?.disabled););options[newIndex]?.disabled||onSelectedIndexChange(newIndex)},ArrowDown:()=>{let newIndex=-1===selectedIndex?activeItemIndex:selectedIndex;for(;newIndex<options.length-1&&(newIndex+=1,options[newIndex]?.disabled););options[newIndex]?.disabled||onSelectedIndexChange(newIndex)}},triggerRef,isOpen&&!disabled);let renderItem=index=>{let option=options[index],id=getOptionId(name,option.value);if(isMultiSelect){let isActive=value.includes(option.value);return React.createElement(CustomOption,{role:"option","aria-selected":isActive,"aria-disabled":option.disabled,id:id,key:option.value,active:isActive,disabled:option.disabled,preSelected:selectedIndex===index,"data-list-item":!0,onMouseDown:()=>{option.disabled||forceChangeFakeSelect(option)},onClick:evt=>evt.stopPropagation()},React.createElement(CheckboxRaw,{name:"",disabled:option.disabled,checked:isActive,size:"s",label:option.label,onChange:()=>null,labelHint:option?.description}))}let isActive=value===option.value,optionText=React.createElement(Stack,{space:"zero"},React.createElement(Text,{color:"primary",size:"m"},option.label),option.description&&React.createElement(Text,{color:"tertiary",size:"s"},option.description));return React.createElement(StyledOption,{role:"option","aria-selected":isActive,"aria-disabled":option.disabled,id:id,key:option.value,active:isActive,disabled:option.disabled,preSelected:selectedIndex===index,"data-list-item":!0,onMouseDown:()=>{option.disabled||(forceChangeFakeSelect(option),onCloseDropdown(!0))}},isActive?React.createElement(Inline,{noWrap:!0,alignItems:"spaceBetween"},optionText,React.createElement(Box,{space:"zero",tSpace:"xxxs"},React.createElement(Icon,{name:"check",size:"s",color:"accent"}))):optionText)},listStyle={...optionsListStyle,width:optionsListWidth||refForPositioning.current?.getBoundingClientRect().width},listElm=React.createElement(StyledDropdown,{style:listStyle,ref:optionsListRef,onMouseDown:e=>e.preventDefault(),"data-e2e-test-id":"optionsList"},isVirtualized?React.createElement(VirtualScrollList,{maxHeight:maxHeight,itemHeight:36,itemAmount:options.length,emptyState:()=>null,containerStyle:dropdownContainerStyle,itemInView:selectedIndex,itemTemplate:renderItem,onContentHeightChange:calculateStyle}):React.createElement(StyledListContainer,{maxHeight:maxHeight,role:"listbox",id:getOptionsListId(name),ref:listContainerRef},options.map((_option,index)=>renderItem(index))));if(!isOpen)return null;let listPortal=options.length?React.createElement(Portal,{portalContainer:portalContainer},listElm):null;return React.createElement(React.Fragment,null,React.createElement(ScreenReaderText,{role:"status","aria-live":"polite"},options.length?"":emptyStateMessage),listPortal)}
|
|
1
|
+
import React,{useRef,useEffect,useMemo}from"react";import styled from"@emotion/styled";import{useKeyboard}from"../../../shared/useKeyboard";import{usePopupMenu}from"../../../shared/popupMenu/usePopupMenu";import{VirtualScrollList}from"../../VirtualScrollList/VirtualScrollList";import{Text}from"../../Typography/Text/Text";import{Box}from"../../Box/Box";import{Inline}from"../../Inline/Inline";import{Icon}from"../../Icon/Icon";import{StyledDropdown,StyledOption}from"./StyledSelectComponents";import{dropdownContainerStyle}from"./constants";import{Stack}from"../../Stack/Stack";import{CheckboxRaw}from"../Checkbox/Checkbox";import{Portal}from"../../Portal/Portal";import{ScreenReaderText}from"../../Utilities/ScreenReaderText/ScreenReaderText";export function getOptionId(selectName,optionValue){return`${selectName}Option${optionValue}`}export function getOptionsListId(selectName){return`${selectName}OptionsList`}function scrollToItem(list,itemIndex){list[itemIndex]?.scrollIntoView?.({behavior:"smooth",block:"nearest"})}let CustomOption=styled(StyledOption,{target:"e159rw3y0",label:"CustomOption"})(({theme})=>({paddingTop:0,paddingBottom:0,"& > div":{paddingTop:theme.variables.size.spacing.xs,paddingBottom:theme.variables.size.spacing.xs},"& > div *":{marginTop:0}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRm9ybS9Db21ib2JveC9PcHRpb25zTGlzdC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0Zvcm0vQ29tYm9ib3gvT3B0aW9uc0xpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVmT2JqZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgdXNlS2V5Ym9hcmQgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZUtleWJvYXJkXCI7XG5pbXBvcnQgdHlwZSB7IENvbW1vblNlbGVjdFByb3BzLCBTZWxlY3RPcHRpb24gfSBmcm9tIFwiLi9Db21ib2JveFwiO1xuaW1wb3J0IHsgdXNlUG9wdXBNZW51IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9wb3B1cE1lbnUvdXNlUG9wdXBNZW51XCI7XG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsTGlzdCB9IGZyb20gXCIuLi8uLi9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdFwiO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gXCIuLi8uLi9UeXBvZ3JhcGh5L1RleHQvVGV4dFwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIi4uLy4uL0ljb24vSWNvblwiO1xuaW1wb3J0IHsgU3R5bGVkRHJvcGRvd24sIFN0eWxlZE9wdGlvbiB9IGZyb20gXCIuL1N0eWxlZFNlbGVjdENvbXBvbmVudHNcIjtcbmltcG9ydCB7IGRyb3Bkb3duQ29udGFpbmVyU3R5bGUgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDaGVja2JveFJhdyB9IGZyb20gXCIuLi9DaGVja2JveC9DaGVja2JveFwiO1xuaW1wb3J0IHsgUG9ydGFsIH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IFNjcmVlblJlYWRlclRleHQgfSBmcm9tIFwiLi4vLi4vVXRpbGl0aWVzL1NjcmVlblJlYWRlclRleHQvU2NyZWVuUmVhZGVyVGV4dFwiO1xuXG50eXBlIE9wdGlvbnNMaXN0UHJvcHMgPSB7XG4gIGlzT3BlbjogYm9vbGVhbjtcbiAgaXNNdWx0aVNlbGVjdD86IGJvb2xlYW47XG4gIHRyaWdnZXJSZWY6IFJlZk9iamVjdDxIVE1MSW5wdXRFbGVtZW50PjtcbiAgdHJpZ2dlcldyYXBwZXJSZWY/OiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBvbkNsb3NlRHJvcGRvd246IChub1NlbGVjdD86IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlcjtcbiAgb25TZWxlY3RlZEluZGV4Q2hhbmdlOiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbiAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0OiAoc2VsZWN0ZWRPcHRpb246IFNlbGVjdE9wdGlvbikgPT4gdm9pZDtcbiAgaXNWaXJ0dWFsaXplZD86IGJvb2xlYW47XG59ICYgUGFydGlhbDxDb21tb25TZWxlY3RQcm9wcz47XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25JZChzZWxlY3ROYW1lOiBzdHJpbmcsIG9wdGlvblZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7c2VsZWN0TmFtZX1PcHRpb24ke29wdGlvblZhbHVlfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25zTGlzdElkKHNlbGVjdE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtzZWxlY3ROYW1lfU9wdGlvbnNMaXN0YDtcbn1cblxuZnVuY3Rpb24gc2Nyb2xsVG9JdGVtKGxpc3Q6IEhUTUxEaXZFbGVtZW50W10sIGl0ZW1JbmRleDogbnVtYmVyKSB7XG4gIGxpc3RbaXRlbUluZGV4XT8uc2Nyb2xsSW50b1ZpZXc/Lih7XG4gICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgYmxvY2s6IFwibmVhcmVzdFwiLFxuICB9KTtcbn1cblxuY29uc3QgQ3VzdG9tT3B0aW9uID0gc3R5bGVkKFN0eWxlZE9wdGlvbikoKHsgdGhlbWUgfSkgPT4gKHtcbiAgLy8gdGhpcyBpcyBuZWVkZWQgZm9yIHVzaW5nIHBhZGRpbmcgb2YgY2hlY2tib3hlcyBpbiBvcmRlciB0byB1c2UgaXRzIGhvdmVyIHN0YXRlXG4gIHBhZGRpbmdUb3A6IDAsXG4gIHBhZGRpbmdCb3R0b206IDAsXG4gIFwiJiA+IGRpdlwiOiB7XG4gICAgcGFkZGluZ1RvcDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54cyxcbiAgICBwYWRkaW5nQm90dG9tOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzLFxuICB9LFxuICBcIiYgPiBkaXYgKlwiOiB7XG4gICAgbWFyZ2luVG9wOiAwLFxuICB9LFxufSkpO1xuXG5jb25zdCBTdHlsZWRMaXN0Q29udGFpbmVyID0gc3R5bGVkLmRpdjxQaWNrPE9wdGlvbnNMaXN0UHJvcHMsIFwibWF4SGVpZ2h0XCI+PihcbiAgKHsgdGhlbWUsIG1heEhlaWdodCB9KSA9PiAoe1xuICAgIG1heEhlaWdodCxcbiAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgIG92ZXJmbG93OiBcImF1dG9cIixcbiAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c30gMGAsXG4gIH0pXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gT3B0aW9uc0xpc3Qoe1xuICBpc09wZW4sXG4gIGlzTXVsdGlTZWxlY3QgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIGRpc2FibGVkLFxuICBvcHRpb25zLFxuICBwb3J0YWxDb250YWluZXIsXG4gIHRyaWdnZXJSZWYsXG4gIHRyaWdnZXJXcmFwcGVyUmVmLFxuICBtYXhIZWlnaHQsXG4gIGVtcHR5U3RhdGVNZXNzYWdlID0gXCJObyBvcHRpb25zIGF2YWlsYWJsZVwiLFxuICBzZWxlY3RlZEluZGV4LFxuICBvcHRpb25zTGlzdFdpZHRoLFxuICBpc1ZpcnR1YWxpemVkID0gdHJ1ZSxcbiAgbmFtZSxcbiAgb25DbG9zZURyb3Bkb3duLFxuICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UsXG4gIGZvcmNlQ2hhbmdlRmFrZVNlbGVjdCxcbn06IE9wdGlvbnNMaXN0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBvcHRpb25zTGlzdFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGlzdENvbnRhaW5lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGlzdEl0ZW1zUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCByZWZGb3JQb3NpdGlvbmluZyA9IHRyaWdnZXJXcmFwcGVyUmVmIHx8IHRyaWdnZXJSZWY7XG4gIGNvbnN0IGFjdGl2ZUl0ZW1JbmRleCA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+XG4gICAgICAgIGlzTXVsdGlTZWxlY3QgPyB2YWx1ZS5pbmNsdWRlcyhvcHRpb24udmFsdWUpIDogb3B0aW9uLnZhbHVlID09PSB2YWx1ZVxuICAgICAgKSxcbiAgICBbb3B0aW9ucywgaXNNdWx0aVNlbGVjdCwgdmFsdWVdXG4gICk7XG5cbiAgY29uc3QgeyBtZW51U3R5bGU6IG9wdGlvbnNMaXN0U3R5bGUsIGNhbGN1bGF0ZVN0eWxlIH0gPSB1c2VQb3B1cE1lbnUoe1xuICAgIHRyaWdnZXJSZWY6IHJlZkZvclBvc2l0aW9uaW5nLFxuICAgIG1lbnVSZWY6IG9wdGlvbnNMaXN0UmVmLFxuICAgIGlzT3BlbixcbiAgfSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoXG4gICAgICBpc09wZW4gJiZcbiAgICAgIGxpc3RDb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgIWlzVmlydHVhbGl6ZWQgJiZcbiAgICAgIG9wdGlvbnNMaXN0U3R5bGUudG9wXG4gICAgKSB7XG4gICAgICBjb25zdCBsaXN0RWxtID0gbGlzdENvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgICAgLy8gZGV0ZXJtaW5lIG92ZXJmbG93XG4gICAgICBpZiAobGlzdEVsbS5jbGllbnRIZWlnaHQgPCBsaXN0RWxtLnNjcm9sbEhlaWdodCkge1xuICAgICAgICBsaXN0SXRlbXNSZWYuY3VycmVudCA9IGxpc3RFbG0ucXVlcnlTZWxlY3RvckFsbChcIltkYXRhLWxpc3QtaXRlbV1cIik7XG4gICAgICAgIHNjcm9sbFRvSXRlbShsaXN0SXRlbXNSZWYuY3VycmVudCwgYWN0aXZlSXRlbUluZGV4KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGlzdEl0ZW1zUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgfSwgW1xuICAgIGlzT3BlbixcbiAgICBpc1ZpcnR1YWxpemVkLFxuICAgIGxpc3RDb250YWluZXJSZWYsXG4gICAgb3B0aW9ucyxcbiAgICBtYXhIZWlnaHQsXG4gICAgb3B0aW9uc0xpc3RTdHlsZSxcbiAgICBhY3RpdmVJdGVtSW5kZXgsXG4gIF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxpc3RJdGVtc1JlZi5jdXJyZW50KSB7XG4gICAgICBzY3JvbGxUb0l0ZW0obGlzdEl0ZW1zUmVmLmN1cnJlbnQsIHNlbGVjdGVkSW5kZXgpO1xuICAgIH1cbiAgfSwgW2xpc3RJdGVtc1JlZiwgc2VsZWN0ZWRJbmRleF0pO1xuXG4gIHVzZUtleWJvYXJkKFxuICAgIHtcbiAgICAgIEVzY2FwZTogKCkgPT4gb25DbG9zZURyb3Bkb3duKHRydWUpLFxuICAgICAgRW50ZXI6ICgpID0+IHtcbiAgICAgICAgY29uc3QgcHJlc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25zW3NlbGVjdGVkSW5kZXhdO1xuXG4gICAgICAgIGlmICghcHJlc2VsZWN0ZWRPcHRpb24/LmRpc2FibGVkKSB7XG4gICAgICAgICAgaWYgKHByZXNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgICBmb3JjZUNoYW5nZUZha2VTZWxlY3QocHJlc2VsZWN0ZWRPcHRpb24pO1xuICAgICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICAgIG9uQ2xvc2VEcm9wZG93bih0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBBcnJvd1VwOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4ID4gMCkge1xuICAgICAgICAgIG5ld0luZGV4IC09IDE7XG4gICAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBPbmx5IHVwZGF0ZSB0aGUgc2VsZWN0aW9uIGlmIHRoZSBuZXcgaXRlbSBpcyBub3QgZGlzYWJsZWRcbiAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UobmV3SW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgQXJyb3dEb3duOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4IDwgb3B0aW9ucy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgbmV3SW5kZXggKz0gMTtcbiAgICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIE9ubHkgdXBkYXRlIHRoZSBzZWxlY3Rpb24gaWYgdGhlIG5ldyBpdGVtIGlzIG5vdCBkaXNhYmxlZFxuICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgIG9uU2VsZWN0ZWRJbmRleENoYW5nZShuZXdJbmRleCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICB0cmlnZ2VyUmVmLFxuICAgIGlzT3BlbiAmJiAhZGlzYWJsZWRcbiAgKTtcblxuICBjb25zdCByZW5kZXJJdGVtID0gKGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBvcHRpb246IFNlbGVjdE9wdGlvbiA9IG9wdGlvbnNbaW5kZXhdO1xuICAgIC8vIEdlbmVyYXRlIHVuaXF1ZSBpZCBmb3IgdGhlIG9wdGlvblxuICAgIGNvbnN0IGlkID0gZ2V0T3B0aW9uSWQobmFtZSwgb3B0aW9uLnZhbHVlKTtcblxuICAgIGlmIChpc011bHRpU2VsZWN0KSB7XG4gICAgICBjb25zdCBpc0FjdGl2ZSA9IHZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxDdXN0b21PcHRpb25cbiAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICBhcmlhLXNlbGVjdGVkPXtpc0FjdGl2ZX1cbiAgICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgIGtleT17b3B0aW9uLnZhbHVlfVxuICAgICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgICAgZGlzYWJsZWQ9e29wdGlvbi5kaXNhYmxlZH1cbiAgICAgICAgICBwcmVTZWxlY3RlZD17c2VsZWN0ZWRJbmRleCA9PT0gaW5kZXh9XG4gICAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgICAvLyBzdG9wIGV2ZW50IHByb3BhZ2F0aW9uIHRvIG5vdCBjbG9zZSBtb2RhbCBvbiBzZWxlY3Rpb24gaWYgc2VsZWN0IGlzIHdpdGhpbiBhIE1vZGFsXG4gICAgICAgICAgb25DbGljaz17KGV2dCkgPT4gZXZ0LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICA+XG4gICAgICAgICAgPENoZWNrYm94UmF3XG4gICAgICAgICAgICBuYW1lPVwiXCJcbiAgICAgICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgICBjaGVja2VkPXtpc0FjdGl2ZX1cbiAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgIGxhYmVsPXtvcHRpb24ubGFiZWx9XG4gICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4gbnVsbH1cbiAgICAgICAgICAgIGxhYmVsSGludD17b3B0aW9uPy5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0N1c3RvbU9wdGlvbj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gZWxzZSByZW5kZXIgc2luZ2xlIHNlbGVjdCBpdGVtXG4gICAgY29uc3QgaXNBY3RpdmUgPSB2YWx1ZSA9PT0gb3B0aW9uLnZhbHVlO1xuICAgIGNvbnN0IG9wdGlvblRleHQgPSAoXG4gICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgIDxUZXh0IGNvbG9yPVwicHJpbWFyeVwiIHNpemU9XCJtXCI+XG4gICAgICAgICAge29wdGlvbi5sYWJlbH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgICB7b3B0aW9uLmRlc2NyaXB0aW9uICYmIChcbiAgICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCIgc2l6ZT1cInNcIj5cbiAgICAgICAgICAgIHtvcHRpb24uZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICApfVxuICAgICAgPC9TdGFjaz5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRPcHRpb25cbiAgICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2lzQWN0aXZlfVxuICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIGlkPXtpZH1cbiAgICAgICAga2V5PXtvcHRpb24udmFsdWV9XG4gICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIHByZVNlbGVjdGVkPXtzZWxlY3RlZEluZGV4ID09PSBpbmRleH1cbiAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24odHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7aXNBY3RpdmUgPyAoXG4gICAgICAgICAgPElubGluZSBub1dyYXAgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiPlxuICAgICAgICAgICAge29wdGlvblRleHR9XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT1cInh4eHNcIj5cbiAgICAgICAgICAgICAgPEljb24gbmFtZT1cImNoZWNrXCIgc2l6ZT1cInNcIiBjb2xvcj1cImFjY2VudFwiIC8+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBvcHRpb25UZXh0XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZE9wdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGxpc3RTdHlsZSA9IHtcbiAgICAuLi5vcHRpb25zTGlzdFN0eWxlLFxuICAgIHdpZHRoOlxuICAgICAgb3B0aW9uc0xpc3RXaWR0aCB8fFxuICAgICAgcmVmRm9yUG9zaXRpb25pbmcuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsXG4gIH07XG5cbiAgY29uc3QgbGlzdEVsbSA9IChcbiAgICA8U3R5bGVkRHJvcGRvd25cbiAgICAgIHN0eWxlPXtsaXN0U3R5bGV9XG4gICAgICByZWY9e29wdGlvbnNMaXN0UmVmfVxuICAgICAgLy8gdGhpcyBpcyB0byBwcmV2ZW50IGtub3duIGJ1ZyBvZiBDaHJvbWUgd2hlbiBlbGVtZW50XG4gICAgICAvLyBsb3NlcyBmb2N1cyBvbiBjbGljayBvbiB0aGUgc2Nyb2xsYmFyXG4gICAgICBvbk1vdXNlRG93bj17KGUpID0+IGUucHJldmVudERlZmF1bHQoKX1cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9XCJvcHRpb25zTGlzdFwiXG4gICAgPlxuICAgICAge2lzVmlydHVhbGl6ZWQgPyAoXG4gICAgICAgIDxWaXJ0dWFsU2Nyb2xsTGlzdFxuICAgICAgICAgIGlkPXtnZXRPcHRpb25zTGlzdElkKG5hbWUpfVxuICAgICAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgICAgIGl0ZW1IZWlnaHQ9ezM2fVxuICAgICAgICAgIGl0ZW1BbW91bnQ9e29wdGlvbnMubGVuZ3RofVxuICAgICAgICAgIGVtcHR5U3RhdGU9eygpID0+IG51bGx9XG4gICAgICAgICAgY29udGFpbmVyU3R5bGU9e2Ryb3Bkb3duQ29udGFpbmVyU3R5bGV9XG4gICAgICAgICAgaXRlbUluVmlldz17c2VsZWN0ZWRJbmRleH1cbiAgICAgICAgICBpdGVtVGVtcGxhdGU9e3JlbmRlckl0ZW19XG4gICAgICAgICAgb25Db250ZW50SGVpZ2h0Q2hhbmdlPXtjYWxjdWxhdGVTdHlsZX1cbiAgICAgICAgLz5cbiAgICAgICkgOiAoXG4gICAgICAgIDxTdHlsZWRMaXN0Q29udGFpbmVyXG4gICAgICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICAgIGlkPXtnZXRPcHRpb25zTGlzdElkKG5hbWUpfVxuICAgICAgICAgIHJlZj17bGlzdENvbnRhaW5lclJlZn1cbiAgICAgICAgPlxuICAgICAgICAgIHtvcHRpb25zLm1hcCgoX29wdGlvbiwgaW5kZXgpID0+IHJlbmRlckl0ZW0oaW5kZXgpKX1cbiAgICAgICAgPC9TdHlsZWRMaXN0Q29udGFpbmVyPlxuICAgICAgKX1cbiAgICA8L1N0eWxlZERyb3Bkb3duPlxuICApO1xuXG4gIGlmICghaXNPcGVuKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBsaXN0UG9ydGFsID0gb3B0aW9ucy5sZW5ndGggPyAoXG4gICAgPFBvcnRhbCBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn0+e2xpc3RFbG19PC9Qb3J0YWw+XG4gICkgOiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxTY3JlZW5SZWFkZXJUZXh0IHJvbGU9XCJzdGF0dXNcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgeyFvcHRpb25zLmxlbmd0aCA/IGVtcHR5U3RhdGVNZXNzYWdlIDogXCJcIn1cbiAgICAgIDwvU2NyZWVuUmVhZGVyVGV4dD5cbiAgICAgIHtsaXN0UG9ydGFsfVxuICAgIDwvPlxuICApO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZDcUIifQ== */"),StyledListContainer=styled("div",{target:"e159rw3y1",label:"StyledListContainer"})(({theme,maxHeight})=>({maxHeight,boxSizing:"border-box",overflow:"auto",padding:`${theme.variables.size.spacing.xxs} 0`}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRm9ybS9Db21ib2JveC9PcHRpb25zTGlzdC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0Zvcm0vQ29tYm9ib3gvT3B0aW9uc0xpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVmT2JqZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgdXNlS2V5Ym9hcmQgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZUtleWJvYXJkXCI7XG5pbXBvcnQgdHlwZSB7IENvbW1vblNlbGVjdFByb3BzLCBTZWxlY3RPcHRpb24gfSBmcm9tIFwiLi9Db21ib2JveFwiO1xuaW1wb3J0IHsgdXNlUG9wdXBNZW51IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9wb3B1cE1lbnUvdXNlUG9wdXBNZW51XCI7XG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsTGlzdCB9IGZyb20gXCIuLi8uLi9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdFwiO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gXCIuLi8uLi9UeXBvZ3JhcGh5L1RleHQvVGV4dFwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIi4uLy4uL0ljb24vSWNvblwiO1xuaW1wb3J0IHsgU3R5bGVkRHJvcGRvd24sIFN0eWxlZE9wdGlvbiB9IGZyb20gXCIuL1N0eWxlZFNlbGVjdENvbXBvbmVudHNcIjtcbmltcG9ydCB7IGRyb3Bkb3duQ29udGFpbmVyU3R5bGUgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDaGVja2JveFJhdyB9IGZyb20gXCIuLi9DaGVja2JveC9DaGVja2JveFwiO1xuaW1wb3J0IHsgUG9ydGFsIH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IFNjcmVlblJlYWRlclRleHQgfSBmcm9tIFwiLi4vLi4vVXRpbGl0aWVzL1NjcmVlblJlYWRlclRleHQvU2NyZWVuUmVhZGVyVGV4dFwiO1xuXG50eXBlIE9wdGlvbnNMaXN0UHJvcHMgPSB7XG4gIGlzT3BlbjogYm9vbGVhbjtcbiAgaXNNdWx0aVNlbGVjdD86IGJvb2xlYW47XG4gIHRyaWdnZXJSZWY6IFJlZk9iamVjdDxIVE1MSW5wdXRFbGVtZW50PjtcbiAgdHJpZ2dlcldyYXBwZXJSZWY/OiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBvbkNsb3NlRHJvcGRvd246IChub1NlbGVjdD86IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlcjtcbiAgb25TZWxlY3RlZEluZGV4Q2hhbmdlOiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbiAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0OiAoc2VsZWN0ZWRPcHRpb246IFNlbGVjdE9wdGlvbikgPT4gdm9pZDtcbiAgaXNWaXJ0dWFsaXplZD86IGJvb2xlYW47XG59ICYgUGFydGlhbDxDb21tb25TZWxlY3RQcm9wcz47XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25JZChzZWxlY3ROYW1lOiBzdHJpbmcsIG9wdGlvblZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7c2VsZWN0TmFtZX1PcHRpb24ke29wdGlvblZhbHVlfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25zTGlzdElkKHNlbGVjdE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtzZWxlY3ROYW1lfU9wdGlvbnNMaXN0YDtcbn1cblxuZnVuY3Rpb24gc2Nyb2xsVG9JdGVtKGxpc3Q6IEhUTUxEaXZFbGVtZW50W10sIGl0ZW1JbmRleDogbnVtYmVyKSB7XG4gIGxpc3RbaXRlbUluZGV4XT8uc2Nyb2xsSW50b1ZpZXc/Lih7XG4gICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgYmxvY2s6IFwibmVhcmVzdFwiLFxuICB9KTtcbn1cblxuY29uc3QgQ3VzdG9tT3B0aW9uID0gc3R5bGVkKFN0eWxlZE9wdGlvbikoKHsgdGhlbWUgfSkgPT4gKHtcbiAgLy8gdGhpcyBpcyBuZWVkZWQgZm9yIHVzaW5nIHBhZGRpbmcgb2YgY2hlY2tib3hlcyBpbiBvcmRlciB0byB1c2UgaXRzIGhvdmVyIHN0YXRlXG4gIHBhZGRpbmdUb3A6IDAsXG4gIHBhZGRpbmdCb3R0b206IDAsXG4gIFwiJiA+IGRpdlwiOiB7XG4gICAgcGFkZGluZ1RvcDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54cyxcbiAgICBwYWRkaW5nQm90dG9tOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzLFxuICB9LFxuICBcIiYgPiBkaXYgKlwiOiB7XG4gICAgbWFyZ2luVG9wOiAwLFxuICB9LFxufSkpO1xuXG5jb25zdCBTdHlsZWRMaXN0Q29udGFpbmVyID0gc3R5bGVkLmRpdjxQaWNrPE9wdGlvbnNMaXN0UHJvcHMsIFwibWF4SGVpZ2h0XCI+PihcbiAgKHsgdGhlbWUsIG1heEhlaWdodCB9KSA9PiAoe1xuICAgIG1heEhlaWdodCxcbiAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgIG92ZXJmbG93OiBcImF1dG9cIixcbiAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c30gMGAsXG4gIH0pXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gT3B0aW9uc0xpc3Qoe1xuICBpc09wZW4sXG4gIGlzTXVsdGlTZWxlY3QgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIGRpc2FibGVkLFxuICBvcHRpb25zLFxuICBwb3J0YWxDb250YWluZXIsXG4gIHRyaWdnZXJSZWYsXG4gIHRyaWdnZXJXcmFwcGVyUmVmLFxuICBtYXhIZWlnaHQsXG4gIGVtcHR5U3RhdGVNZXNzYWdlID0gXCJObyBvcHRpb25zIGF2YWlsYWJsZVwiLFxuICBzZWxlY3RlZEluZGV4LFxuICBvcHRpb25zTGlzdFdpZHRoLFxuICBpc1ZpcnR1YWxpemVkID0gdHJ1ZSxcbiAgbmFtZSxcbiAgb25DbG9zZURyb3Bkb3duLFxuICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UsXG4gIGZvcmNlQ2hhbmdlRmFrZVNlbGVjdCxcbn06IE9wdGlvbnNMaXN0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBvcHRpb25zTGlzdFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGlzdENvbnRhaW5lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGlzdEl0ZW1zUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCByZWZGb3JQb3NpdGlvbmluZyA9IHRyaWdnZXJXcmFwcGVyUmVmIHx8IHRyaWdnZXJSZWY7XG4gIGNvbnN0IGFjdGl2ZUl0ZW1JbmRleCA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+XG4gICAgICAgIGlzTXVsdGlTZWxlY3QgPyB2YWx1ZS5pbmNsdWRlcyhvcHRpb24udmFsdWUpIDogb3B0aW9uLnZhbHVlID09PSB2YWx1ZVxuICAgICAgKSxcbiAgICBbb3B0aW9ucywgaXNNdWx0aVNlbGVjdCwgdmFsdWVdXG4gICk7XG5cbiAgY29uc3QgeyBtZW51U3R5bGU6IG9wdGlvbnNMaXN0U3R5bGUsIGNhbGN1bGF0ZVN0eWxlIH0gPSB1c2VQb3B1cE1lbnUoe1xuICAgIHRyaWdnZXJSZWY6IHJlZkZvclBvc2l0aW9uaW5nLFxuICAgIG1lbnVSZWY6IG9wdGlvbnNMaXN0UmVmLFxuICAgIGlzT3BlbixcbiAgfSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoXG4gICAgICBpc09wZW4gJiZcbiAgICAgIGxpc3RDb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgIWlzVmlydHVhbGl6ZWQgJiZcbiAgICAgIG9wdGlvbnNMaXN0U3R5bGUudG9wXG4gICAgKSB7XG4gICAgICBjb25zdCBsaXN0RWxtID0gbGlzdENvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgICAgLy8gZGV0ZXJtaW5lIG92ZXJmbG93XG4gICAgICBpZiAobGlzdEVsbS5jbGllbnRIZWlnaHQgPCBsaXN0RWxtLnNjcm9sbEhlaWdodCkge1xuICAgICAgICBsaXN0SXRlbXNSZWYuY3VycmVudCA9IGxpc3RFbG0ucXVlcnlTZWxlY3RvckFsbChcIltkYXRhLWxpc3QtaXRlbV1cIik7XG4gICAgICAgIHNjcm9sbFRvSXRlbShsaXN0SXRlbXNSZWYuY3VycmVudCwgYWN0aXZlSXRlbUluZGV4KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGlzdEl0ZW1zUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgfSwgW1xuICAgIGlzT3BlbixcbiAgICBpc1ZpcnR1YWxpemVkLFxuICAgIGxpc3RDb250YWluZXJSZWYsXG4gICAgb3B0aW9ucyxcbiAgICBtYXhIZWlnaHQsXG4gICAgb3B0aW9uc0xpc3RTdHlsZSxcbiAgICBhY3RpdmVJdGVtSW5kZXgsXG4gIF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxpc3RJdGVtc1JlZi5jdXJyZW50KSB7XG4gICAgICBzY3JvbGxUb0l0ZW0obGlzdEl0ZW1zUmVmLmN1cnJlbnQsIHNlbGVjdGVkSW5kZXgpO1xuICAgIH1cbiAgfSwgW2xpc3RJdGVtc1JlZiwgc2VsZWN0ZWRJbmRleF0pO1xuXG4gIHVzZUtleWJvYXJkKFxuICAgIHtcbiAgICAgIEVzY2FwZTogKCkgPT4gb25DbG9zZURyb3Bkb3duKHRydWUpLFxuICAgICAgRW50ZXI6ICgpID0+IHtcbiAgICAgICAgY29uc3QgcHJlc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25zW3NlbGVjdGVkSW5kZXhdO1xuXG4gICAgICAgIGlmICghcHJlc2VsZWN0ZWRPcHRpb24/LmRpc2FibGVkKSB7XG4gICAgICAgICAgaWYgKHByZXNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgICBmb3JjZUNoYW5nZUZha2VTZWxlY3QocHJlc2VsZWN0ZWRPcHRpb24pO1xuICAgICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICAgIG9uQ2xvc2VEcm9wZG93bih0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFpc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBBcnJvd1VwOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4ID4gMCkge1xuICAgICAgICAgIG5ld0luZGV4IC09IDE7XG4gICAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBPbmx5IHVwZGF0ZSB0aGUgc2VsZWN0aW9uIGlmIHRoZSBuZXcgaXRlbSBpcyBub3QgZGlzYWJsZWRcbiAgICAgICAgaWYgKCFvcHRpb25zW25ld0luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgICAgICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UobmV3SW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgQXJyb3dEb3duOiAoKSA9PiB7XG4gICAgICAgIGxldCBuZXdJbmRleCA9IHNlbGVjdGVkSW5kZXggPT09IC0xID8gYWN0aXZlSXRlbUluZGV4IDogc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgd2hpbGUgKG5ld0luZGV4IDwgb3B0aW9ucy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgbmV3SW5kZXggKz0gMTtcbiAgICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIE9ubHkgdXBkYXRlIHRoZSBzZWxlY3Rpb24gaWYgdGhlIG5ldyBpdGVtIGlzIG5vdCBkaXNhYmxlZFxuICAgICAgICBpZiAoIW9wdGlvbnNbbmV3SW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICAgIG9uU2VsZWN0ZWRJbmRleENoYW5nZShuZXdJbmRleCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICB0cmlnZ2VyUmVmLFxuICAgIGlzT3BlbiAmJiAhZGlzYWJsZWRcbiAgKTtcblxuICBjb25zdCByZW5kZXJJdGVtID0gKGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBvcHRpb246IFNlbGVjdE9wdGlvbiA9IG9wdGlvbnNbaW5kZXhdO1xuICAgIC8vIEdlbmVyYXRlIHVuaXF1ZSBpZCBmb3IgdGhlIG9wdGlvblxuICAgIGNvbnN0IGlkID0gZ2V0T3B0aW9uSWQobmFtZSwgb3B0aW9uLnZhbHVlKTtcblxuICAgIGlmIChpc011bHRpU2VsZWN0KSB7XG4gICAgICBjb25zdCBpc0FjdGl2ZSA9IHZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxDdXN0b21PcHRpb25cbiAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICBhcmlhLXNlbGVjdGVkPXtpc0FjdGl2ZX1cbiAgICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgIGtleT17b3B0aW9uLnZhbHVlfVxuICAgICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgICAgZGlzYWJsZWQ9e29wdGlvbi5kaXNhYmxlZH1cbiAgICAgICAgICBwcmVTZWxlY3RlZD17c2VsZWN0ZWRJbmRleCA9PT0gaW5kZXh9XG4gICAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgICAvLyBzdG9wIGV2ZW50IHByb3BhZ2F0aW9uIHRvIG5vdCBjbG9zZSBtb2RhbCBvbiBzZWxlY3Rpb24gaWYgc2VsZWN0IGlzIHdpdGhpbiBhIE1vZGFsXG4gICAgICAgICAgb25DbGljaz17KGV2dCkgPT4gZXZ0LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICA+XG4gICAgICAgICAgPENoZWNrYm94UmF3XG4gICAgICAgICAgICBuYW1lPVwiXCJcbiAgICAgICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgICAgICBjaGVja2VkPXtpc0FjdGl2ZX1cbiAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgIGxhYmVsPXtvcHRpb24ubGFiZWx9XG4gICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4gbnVsbH1cbiAgICAgICAgICAgIGxhYmVsSGludD17b3B0aW9uPy5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0N1c3RvbU9wdGlvbj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gZWxzZSByZW5kZXIgc2luZ2xlIHNlbGVjdCBpdGVtXG4gICAgY29uc3QgaXNBY3RpdmUgPSB2YWx1ZSA9PT0gb3B0aW9uLnZhbHVlO1xuICAgIGNvbnN0IG9wdGlvblRleHQgPSAoXG4gICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgIDxUZXh0IGNvbG9yPVwicHJpbWFyeVwiIHNpemU9XCJtXCI+XG4gICAgICAgICAge29wdGlvbi5sYWJlbH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgICB7b3B0aW9uLmRlc2NyaXB0aW9uICYmIChcbiAgICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCIgc2l6ZT1cInNcIj5cbiAgICAgICAgICAgIHtvcHRpb24uZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICApfVxuICAgICAgPC9TdGFjaz5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRPcHRpb25cbiAgICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2lzQWN0aXZlfVxuICAgICAgICBhcmlhLWRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIGlkPXtpZH1cbiAgICAgICAga2V5PXtvcHRpb24udmFsdWV9XG4gICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgIGRpc2FibGVkPXtvcHRpb24uZGlzYWJsZWR9XG4gICAgICAgIHByZVNlbGVjdGVkPXtzZWxlY3RlZEluZGV4ID09PSBpbmRleH1cbiAgICAgICAgZGF0YS1saXN0LWl0ZW1cbiAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgZm9yY2VDaGFuZ2VGYWtlU2VsZWN0KG9wdGlvbik7XG4gICAgICAgICAgICBvbkNsb3NlRHJvcGRvd24odHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7aXNBY3RpdmUgPyAoXG4gICAgICAgICAgPElubGluZSBub1dyYXAgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiPlxuICAgICAgICAgICAge29wdGlvblRleHR9XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT1cInh4eHNcIj5cbiAgICAgICAgICAgICAgPEljb24gbmFtZT1cImNoZWNrXCIgc2l6ZT1cInNcIiBjb2xvcj1cImFjY2VudFwiIC8+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBvcHRpb25UZXh0XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZE9wdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGxpc3RTdHlsZSA9IHtcbiAgICAuLi5vcHRpb25zTGlzdFN0eWxlLFxuICAgIHdpZHRoOlxuICAgICAgb3B0aW9uc0xpc3RXaWR0aCB8fFxuICAgICAgcmVmRm9yUG9zaXRpb25pbmcuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsXG4gIH07XG5cbiAgY29uc3QgbGlzdEVsbSA9IChcbiAgICA8U3R5bGVkRHJvcGRvd25cbiAgICAgIHN0eWxlPXtsaXN0U3R5bGV9XG4gICAgICByZWY9e29wdGlvbnNMaXN0UmVmfVxuICAgICAgLy8gdGhpcyBpcyB0byBwcmV2ZW50IGtub3duIGJ1ZyBvZiBDaHJvbWUgd2hlbiBlbGVtZW50XG4gICAgICAvLyBsb3NlcyBmb2N1cyBvbiBjbGljayBvbiB0aGUgc2Nyb2xsYmFyXG4gICAgICBvbk1vdXNlRG93bj17KGUpID0+IGUucHJldmVudERlZmF1bHQoKX1cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9XCJvcHRpb25zTGlzdFwiXG4gICAgPlxuICAgICAge2lzVmlydHVhbGl6ZWQgPyAoXG4gICAgICAgIDxWaXJ0dWFsU2Nyb2xsTGlzdFxuICAgICAgICAgIGlkPXtnZXRPcHRpb25zTGlzdElkKG5hbWUpfVxuICAgICAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgICAgIGl0ZW1IZWlnaHQ9ezM2fVxuICAgICAgICAgIGl0ZW1BbW91bnQ9e29wdGlvbnMubGVuZ3RofVxuICAgICAgICAgIGVtcHR5U3RhdGU9eygpID0+IG51bGx9XG4gICAgICAgICAgY29udGFpbmVyU3R5bGU9e2Ryb3Bkb3duQ29udGFpbmVyU3R5bGV9XG4gICAgICAgICAgaXRlbUluVmlldz17c2VsZWN0ZWRJbmRleH1cbiAgICAgICAgICBpdGVtVGVtcGxhdGU9e3JlbmRlckl0ZW19XG4gICAgICAgICAgb25Db250ZW50SGVpZ2h0Q2hhbmdlPXtjYWxjdWxhdGVTdHlsZX1cbiAgICAgICAgLz5cbiAgICAgICkgOiAoXG4gICAgICAgIDxTdHlsZWRMaXN0Q29udGFpbmVyXG4gICAgICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICAgIGlkPXtnZXRPcHRpb25zTGlzdElkKG5hbWUpfVxuICAgICAgICAgIHJlZj17bGlzdENvbnRhaW5lclJlZn1cbiAgICAgICAgPlxuICAgICAgICAgIHtvcHRpb25zLm1hcCgoX29wdGlvbiwgaW5kZXgpID0+IHJlbmRlckl0ZW0oaW5kZXgpKX1cbiAgICAgICAgPC9TdHlsZWRMaXN0Q29udGFpbmVyPlxuICAgICAgKX1cbiAgICA8L1N0eWxlZERyb3Bkb3duPlxuICApO1xuXG4gIGlmICghaXNPcGVuKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBsaXN0UG9ydGFsID0gb3B0aW9ucy5sZW5ndGggPyAoXG4gICAgPFBvcnRhbCBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn0+e2xpc3RFbG19PC9Qb3J0YWw+XG4gICkgOiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxTY3JlZW5SZWFkZXJUZXh0IHJvbGU9XCJzdGF0dXNcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgeyFvcHRpb25zLmxlbmd0aCA/IGVtcHR5U3RhdGVNZXNzYWdlIDogXCJcIn1cbiAgICAgIDwvU2NyZWVuUmVhZGVyVGV4dD5cbiAgICAgIHtsaXN0UG9ydGFsfVxuICAgIDwvPlxuICApO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBENEIifQ== */");export function OptionsList({isOpen,isMultiSelect=!1,value,disabled,options,portalContainer,triggerRef,triggerWrapperRef,maxHeight,emptyStateMessage="No options available",selectedIndex,optionsListWidth,isVirtualized=!0,name,onCloseDropdown,onSelectedIndexChange,forceChangeFakeSelect}){let optionsListRef=useRef(null),listContainerRef=useRef(null),listItemsRef=useRef(null),refForPositioning=triggerWrapperRef||triggerRef,activeItemIndex=useMemo(()=>options.findIndex(option=>isMultiSelect?value.includes(option.value):option.value===value),[options,isMultiSelect,value]),{menuStyle:optionsListStyle,calculateStyle}=usePopupMenu({triggerRef:refForPositioning,menuRef:optionsListRef,isOpen});useEffect(()=>{if(isOpen&&listContainerRef.current&&!isVirtualized&&optionsListStyle.top){let listElm=listContainerRef.current;listElm.clientHeight<listElm.scrollHeight&&(listItemsRef.current=listElm.querySelectorAll("[data-list-item]"),scrollToItem(listItemsRef.current,activeItemIndex))}else listItemsRef.current=null},[isOpen,isVirtualized,listContainerRef,options,maxHeight,optionsListStyle,activeItemIndex]),useEffect(()=>{listItemsRef.current&&scrollToItem(listItemsRef.current,selectedIndex)},[listItemsRef,selectedIndex]),useKeyboard({Escape:()=>onCloseDropdown(!0),Enter:()=>{let preselectedOption=options[selectedIndex];if(!preselectedOption?.disabled){if(preselectedOption){forceChangeFakeSelect(preselectedOption),isMultiSelect||onCloseDropdown(!0);return}isMultiSelect||onCloseDropdown()}},ArrowUp:()=>{let newIndex=-1===selectedIndex?activeItemIndex:selectedIndex;for(;newIndex>0&&(newIndex-=1,options[newIndex]?.disabled););options[newIndex]?.disabled||onSelectedIndexChange(newIndex)},ArrowDown:()=>{let newIndex=-1===selectedIndex?activeItemIndex:selectedIndex;for(;newIndex<options.length-1&&(newIndex+=1,options[newIndex]?.disabled););options[newIndex]?.disabled||onSelectedIndexChange(newIndex)}},triggerRef,isOpen&&!disabled);let renderItem=index=>{let option=options[index],id=getOptionId(name,option.value);if(isMultiSelect){let isActive=value.includes(option.value);return React.createElement(CustomOption,{role:"option","aria-selected":isActive,"aria-disabled":option.disabled,id:id,key:option.value,active:isActive,disabled:option.disabled,preSelected:selectedIndex===index,"data-list-item":!0,onMouseDown:()=>{option.disabled||forceChangeFakeSelect(option)},onClick:evt=>evt.stopPropagation()},React.createElement(CheckboxRaw,{name:"",disabled:option.disabled,checked:isActive,size:"s",label:option.label,onChange:()=>null,labelHint:option?.description}))}let isActive=value===option.value,optionText=React.createElement(Stack,{space:"zero"},React.createElement(Text,{color:"primary",size:"m"},option.label),option.description&&React.createElement(Text,{color:"tertiary",size:"s"},option.description));return React.createElement(StyledOption,{role:"option","aria-selected":isActive,"aria-disabled":option.disabled,id:id,key:option.value,active:isActive,disabled:option.disabled,preSelected:selectedIndex===index,"data-list-item":!0,onMouseDown:()=>{option.disabled||(forceChangeFakeSelect(option),onCloseDropdown(!0))}},isActive?React.createElement(Inline,{noWrap:!0,alignItems:"spaceBetween"},optionText,React.createElement(Box,{space:"zero",tSpace:"xxxs"},React.createElement(Icon,{name:"check",size:"s",color:"accent"}))):optionText)},listStyle={...optionsListStyle,width:optionsListWidth||refForPositioning.current?.getBoundingClientRect().width},listElm=React.createElement(StyledDropdown,{style:listStyle,ref:optionsListRef,onMouseDown:e=>e.preventDefault(),"data-e2e-test-id":"optionsList"},isVirtualized?React.createElement(VirtualScrollList,{id:getOptionsListId(name),maxHeight:maxHeight,itemHeight:36,itemAmount:options.length,emptyState:()=>null,containerStyle:dropdownContainerStyle,itemInView:selectedIndex,itemTemplate:renderItem,onContentHeightChange:calculateStyle}):React.createElement(StyledListContainer,{maxHeight:maxHeight,role:"listbox",id:getOptionsListId(name),ref:listContainerRef},options.map((_option,index)=>renderItem(index))));if(!isOpen)return null;let listPortal=options.length?React.createElement(Portal,{portalContainer:portalContainer},listElm):null;return React.createElement(React.Fragment,null,React.createElement(ScreenReaderText,{role:"status","aria-live":"polite"},options.length?"":emptyStateMessage),listPortal)}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
export type VirtualScrollListProps = {
|
|
3
3
|
"data-e2e-test-id"?: string;
|
|
4
|
+
id: string;
|
|
4
5
|
maxHeight: number;
|
|
5
6
|
itemHeight: number;
|
|
6
7
|
itemAmount: number;
|
|
@@ -10,4 +11,4 @@ export type VirtualScrollListProps = {
|
|
|
10
11
|
containerStyle?: React.CSSProperties;
|
|
11
12
|
onContentHeightChange?: () => void;
|
|
12
13
|
};
|
|
13
|
-
export declare function VirtualScrollList({ maxHeight, itemHeight, itemAmount, emptyState, itemInView, itemTemplate, containerStyle, "data-e2e-test-id": dataE2eTestId, onContentHeightChange, }: VirtualScrollListProps): React.ReactElement;
|
|
14
|
+
export declare function VirtualScrollList({ id, maxHeight, itemHeight, itemAmount, emptyState, itemInView, itemTemplate, containerStyle, "data-e2e-test-id": dataE2eTestId, onContentHeightChange, }: VirtualScrollListProps): React.ReactElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import styled from"@emotion/styled";import React,{useRef,useReducer,useLayoutEffect,useEffect}from"react";import{VirtualScrollReducer}from"./VirtualScrollListReducer";let StyledContainer=styled("div",{target:"e19y1j3j0",label:"StyledContainer"})(({maxHeight})=>({overflow:"auto",width:"100%",height:"100%",maxHeight}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVmlydHVhbFNjcm9sbExpc3QvVmlydHVhbFNjcm9sbExpc3QudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VSZWR1Y2VyLCB1c2VMYXlvdXRFZmZlY3QsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsUmVkdWNlciB9IGZyb20gXCIuL1ZpcnR1YWxTY3JvbGxMaXN0UmVkdWNlclwiO1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8VmlydHVhbFNjcm9sbExpc3RQcm9wcz4+KFxuICAoeyBtYXhIZWlnaHQgfSkgPT4gKHtcbiAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgbWF4SGVpZ2h0LFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkU2Nyb2xsYWJsZUNvbnRlbnQgPSBzdHlsZWQuZGl2PHsgbWF4Q29udGVudEhlaWdodDogbnVtYmVyIH0+KFxuICAoeyBtYXhDb250ZW50SGVpZ2h0IH0pID0+ICh7XG4gICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICBoZWlnaHQ6IG1heENvbnRlbnRIZWlnaHQsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBWaXJ0dWFsU2Nyb2xsTGlzdFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgbWF4SGVpZ2h0OiBudW1iZXI7XG4gIGl0ZW1IZWlnaHQ6IG51bWJlcjtcbiAgaXRlbUFtb3VudDogbnVtYmVyO1xuICBlbXB0eVN0YXRlOiAoKSA9PiBSZWFjdC5SZWFjdE5vZGU7XG4gIGl0ZW1JblZpZXc6IG51bWJlcjtcbiAgaXRlbVRlbXBsYXRlOiAoaW5kZXg6IG51bWJlcikgPT4gUmVhY3QuUmVhY3ROb2RlO1xuICBjb250YWluZXJTdHlsZT86IFJlYWN0LkNTU1Byb3BlcnRpZXM7XG4gIG9uQ29udGVudEhlaWdodENoYW5nZT86ICgpID0+IHZvaWQ7XG59O1xuXG5jb25zdCBvdmVyc2NhbiA9IDEwO1xuXG5leHBvcnQgZnVuY3Rpb24gVmlydHVhbFNjcm9sbExpc3Qoe1xuICBtYXhIZWlnaHQsXG4gIGl0ZW1IZWlnaHQsXG4gIGl0ZW1BbW91bnQsXG4gIGVtcHR5U3RhdGUgPSAoKSA9PiBudWxsLFxuICBpdGVtSW5WaWV3LFxuICBpdGVtVGVtcGxhdGUsXG4gIGNvbnRhaW5lclN0eWxlLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbiAgb25Db250ZW50SGVpZ2h0Q2hhbmdlLFxufTogVmlydHVhbFNjcm9sbExpc3RQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IHNjcm9sbGFibGVDb250YWluZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHZpZXdwb3J0UmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBhZGp1c3RlZEZvclJlZmxvdyA9IHVzZVJlZihmYWxzZSk7XG5cbiAgY29uc3QgW1xuICAgIHtcbiAgICAgIHNjcm9sbGVkSXRlbUNvdW50LFxuICAgICAgYW1vdW50T2ZJdGVtc0luVmlldyxcbiAgICAgIHNjcm9sbGVkSW5QeCxcbiAgICAgIG1heENvbnRlbnRIZWlnaHQgPSBtYXhIZWlnaHQsXG4gICAgICByZWNvbW1lbmRlZFNjcm9sbFBvc2l0aW9uLFxuICAgIH0sXG4gICAgZGlzcGF0Y2gsXG4gIF0gPSB1c2VSZWR1Y2VyKFZpcnR1YWxTY3JvbGxSZWR1Y2VyLCB7fSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaCh7IHR5cGU6IFwicmVzZXRcIiwgaXRlbUhlaWdodCwgbWF4SGVpZ2h0LCBvdmVyc2NhbiB9KTtcbiAgICBzY3JvbGxhYmxlQ29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wID0gMDtcbiAgfSwgW2l0ZW1IZWlnaHQsIGl0ZW1BbW91bnQsIG1heEhlaWdodF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goe1xuICAgICAgdHlwZTogXCJyZWNvbW1lbmRTY3JvbGxQb3NpdGlvblwiLFxuICAgICAgc2Nyb2xsVG9wOiBzY3JvbGxhYmxlQ29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wLFxuICAgICAgaXRlbVRvQmVJblZpZXc6IGl0ZW1JblZpZXcsXG4gICAgfSk7XG4gIH0sIFtpdGVtSW5WaWV3XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocmVjb21tZW5kZWRTY3JvbGxQb3NpdGlvbiA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgc2Nyb2xsYWJsZUNvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9IHJlY29tbWVuZGVkU2Nyb2xsUG9zaXRpb247XG4gIH0sIFtyZWNvbW1lbmRlZFNjcm9sbFBvc2l0aW9uXSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXZpZXdwb3J0UmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IFwidXBkYXRlVmlld3BvcnRcIixcbiAgICAgIHZpZXdwb3J0Tm9kZTogdmlld3BvcnRSZWYuY3VycmVudCxcbiAgICAgIGl0ZW1BbW91bnQsXG4gICAgfSk7XG4gIH0sIFtpdGVtQW1vdW50LCBzY3JvbGxlZEl0ZW1Db3VudF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgb25Db250ZW50SGVpZ2h0Q2hhbmdlPy4oKTtcbiAgfSwgW21heENvbnRlbnRIZWlnaHQsIG9uQ29udGVudEhlaWdodENoYW5nZV0pO1xuXG4gIGNvbnN0IGl0ZW1Db3VudFRvQmVSZW5kZXJlZCA9IE1hdGgubWluKFxuICAgIE1hdGgubWF4KDAsIGl0ZW1BbW91bnQgLSBzY3JvbGxlZEl0ZW1Db3VudCksXG4gICAgYW1vdW50T2ZJdGVtc0luVmlld1xuICApO1xuXG4gIC8qIFNvbWV0aW1lcywgb3B0aW9uIHRleHQgY2FuIHJlZmxvdyBkdWUgdGhlIGFwcGVhcmFuY2Ugb2YgdmVydGljYWwgc2Nyb2xsYmFyIHdoaWNoIGNhbiBjYXVzZSB0ZXh0IHRvIHdyYXAgdG8gbXVsdGlwbGUgbGluZXMgY2F1c2luZyB2aWV3cG9ydFJlZiBoZWlnaHQgdG8gY2hhbmdlLiBJZiBjb250YWluZXIgaGFzIHNjcm9sbCB0aGVuIHdlIGRpc3BhdGNoIGB1cGRhdGVWaWV3cG9ydGAgb25lIG1vcmUgdGltZSB0byBnZXQgdGhlIGNvcnJlY3QgaGVpZ2h0LCB3aXRoIGEgc2V0VGltZW91dCB0byBhbGxvdyB0aW1lIGZvciByZWZsb3cuXG4gICAqL1xuICBpZiAoXG4gICAgbWF4Q29udGVudEhlaWdodCA+IG1heEhlaWdodCAmJlxuICAgICFhZGp1c3RlZEZvclJlZmxvdy5jdXJyZW50ICYmXG4gICAgdmlld3BvcnRSZWYuY3VycmVudFxuICApIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgdHlwZTogXCJ1cGRhdGVWaWV3cG9ydFwiLFxuICAgICAgICB2aWV3cG9ydE5vZGU6IHZpZXdwb3J0UmVmLmN1cnJlbnQsXG4gICAgICAgIGl0ZW1BbW91bnQsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBhZGp1c3RlZEZvclJlZmxvdy5jdXJyZW50ID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgcmVmPXtzY3JvbGxhYmxlQ29udGFpbmVyUmVmfVxuICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICBzdHlsZT17e1xuICAgICAgICBtYXhIZWlnaHQsXG4gICAgICAgIC4uLmNvbnRhaW5lclN0eWxlLFxuICAgICAgfX1cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICBkYXRhLWRzLWlkPVwiVmlydHVhbFNjcm9sbExpc3RcIlxuICAgICAgb25TY3JvbGw9eyhlOiBSZWFjdC5VSUV2ZW50PEhUTUxFbGVtZW50PikgPT4ge1xuICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogXCJzY3JvbGxcIixcbiAgICAgICAgICBzY3JvbGxUb3A6IGUuY3VycmVudFRhcmdldC5zY3JvbGxUb3AsXG4gICAgICAgIH0pO1xuICAgICAgfX1cbiAgICA+XG4gICAgICB7aXRlbUFtb3VudCA9PT0gMCA/IChcbiAgICAgICAgZW1wdHlTdGF0ZSgpXG4gICAgICApIDogKFxuICAgICAgICA8U3R5bGVkU2Nyb2xsYWJsZUNvbnRlbnQgbWF4Q29udGVudEhlaWdodD17bWF4Q29udGVudEhlaWdodH0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgcmVmPXt2aWV3cG9ydFJlZn1cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtzY3JvbGxlZEluUHh9cHhgLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ISFpdGVtQ291bnRUb0JlUmVuZGVyZWQgJiZcbiAgICAgICAgICAgICAgbmV3IEFycmF5KGl0ZW1Db3VudFRvQmVSZW5kZXJlZClcbiAgICAgICAgICAgICAgICAuZmlsbCgwKVxuICAgICAgICAgICAgICAgIC5tYXAoKF8sIGluZGV4KSA9PiBpdGVtVGVtcGxhdGUoc2Nyb2xsZWRJdGVtQ291bnQgKyBpbmRleCkpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1N0eWxlZFNjcm9sbGFibGVDb250ZW50PlxuICAgICAgKX1cbiAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLd0IifQ== */"),StyledScrollableContent=styled("div",{target:"e19y1j3j1",label:"StyledScrollableContent"})(({maxContentHeight})=>({overflow:"hidden",boxSizing:"border-box",height:maxContentHeight}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVmlydHVhbFNjcm9sbExpc3QvVmlydHVhbFNjcm9sbExpc3QudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VSZWR1Y2VyLCB1c2VMYXlvdXRFZmZlY3QsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsUmVkdWNlciB9IGZyb20gXCIuL1ZpcnR1YWxTY3JvbGxMaXN0UmVkdWNlclwiO1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8VmlydHVhbFNjcm9sbExpc3RQcm9wcz4+KFxuICAoeyBtYXhIZWlnaHQgfSkgPT4gKHtcbiAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgbWF4SGVpZ2h0LFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkU2Nyb2xsYWJsZUNvbnRlbnQgPSBzdHlsZWQuZGl2PHsgbWF4Q29udGVudEhlaWdodDogbnVtYmVyIH0+KFxuICAoeyBtYXhDb250ZW50SGVpZ2h0IH0pID0+ICh7XG4gICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICBoZWlnaHQ6IG1heENvbnRlbnRIZWlnaHQsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBWaXJ0dWFsU2Nyb2xsTGlzdFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgbWF4SGVpZ2h0OiBudW1iZXI7XG4gIGl0ZW1IZWlnaHQ6IG51bWJlcjtcbiAgaXRlbUFtb3VudDogbnVtYmVyO1xuICBlbXB0eVN0YXRlOiAoKSA9PiBSZWFjdC5SZWFjdE5vZGU7XG4gIGl0ZW1JblZpZXc6IG51bWJlcjtcbiAgaXRlbVRlbXBsYXRlOiAoaW5kZXg6IG51bWJlcikgPT4gUmVhY3QuUmVhY3ROb2RlO1xuICBjb250YWluZXJTdHlsZT86IFJlYWN0LkNTU1Byb3BlcnRpZXM7XG4gIG9uQ29udGVudEhlaWdodENoYW5nZT86ICgpID0+IHZvaWQ7XG59O1xuXG5jb25zdCBvdmVyc2NhbiA9IDEwO1xuXG5leHBvcnQgZnVuY3Rpb24gVmlydHVhbFNjcm9sbExpc3Qoe1xuICBtYXhIZWlnaHQsXG4gIGl0ZW1IZWlnaHQsXG4gIGl0ZW1BbW91bnQsXG4gIGVtcHR5U3RhdGUgPSAoKSA9PiBudWxsLFxuICBpdGVtSW5WaWV3LFxuICBpdGVtVGVtcGxhdGUsXG4gIGNvbnRhaW5lclN0eWxlLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbiAgb25Db250ZW50SGVpZ2h0Q2hhbmdlLFxufTogVmlydHVhbFNjcm9sbExpc3RQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IHNjcm9sbGFibGVDb250YWluZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHZpZXdwb3J0UmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBhZGp1c3RlZEZvclJlZmxvdyA9IHVzZVJlZihmYWxzZSk7XG5cbiAgY29uc3QgW1xuICAgIHtcbiAgICAgIHNjcm9sbGVkSXRlbUNvdW50LFxuICAgICAgYW1vdW50T2ZJdGVtc0luVmlldyxcbiAgICAgIHNjcm9sbGVkSW5QeCxcbiAgICAgIG1heENvbnRlbnRIZWlnaHQgPSBtYXhIZWlnaHQsXG4gICAgICByZWNvbW1lbmRlZFNjcm9sbFBvc2l0aW9uLFxuICAgIH0sXG4gICAgZGlzcGF0Y2gsXG4gIF0gPSB1c2VSZWR1Y2VyKFZpcnR1YWxTY3JvbGxSZWR1Y2VyLCB7fSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaCh7IHR5cGU6IFwicmVzZXRcIiwgaXRlbUhlaWdodCwgbWF4SGVpZ2h0LCBvdmVyc2NhbiB9KTtcbiAgICBzY3JvbGxhYmxlQ29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wID0gMDtcbiAgfSwgW2l0ZW1IZWlnaHQsIGl0ZW1BbW91bnQsIG1heEhlaWdodF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goe1xuICAgICAgdHlwZTogXCJyZWNvbW1lbmRTY3JvbGxQb3NpdGlvblwiLFxuICAgICAgc2Nyb2xsVG9wOiBzY3JvbGxhYmxlQ29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wLFxuICAgICAgaXRlbVRvQmVJblZpZXc6IGl0ZW1JblZpZXcsXG4gICAgfSk7XG4gIH0sIFtpdGVtSW5WaWV3XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocmVjb21tZW5kZWRTY3JvbGxQb3NpdGlvbiA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgc2Nyb2xsYWJsZUNvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9IHJlY29tbWVuZGVkU2Nyb2xsUG9zaXRpb247XG4gIH0sIFtyZWNvbW1lbmRlZFNjcm9sbFBvc2l0aW9uXSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXZpZXdwb3J0UmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IFwidXBkYXRlVmlld3BvcnRcIixcbiAgICAgIHZpZXdwb3J0Tm9kZTogdmlld3BvcnRSZWYuY3VycmVudCxcbiAgICAgIGl0ZW1BbW91bnQsXG4gICAgfSk7XG4gIH0sIFtpdGVtQW1vdW50LCBzY3JvbGxlZEl0ZW1Db3VudF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgb25Db250ZW50SGVpZ2h0Q2hhbmdlPy4oKTtcbiAgfSwgW21heENvbnRlbnRIZWlnaHQsIG9uQ29udGVudEhlaWdodENoYW5nZV0pO1xuXG4gIGNvbnN0IGl0ZW1Db3VudFRvQmVSZW5kZXJlZCA9IE1hdGgubWluKFxuICAgIE1hdGgubWF4KDAsIGl0ZW1BbW91bnQgLSBzY3JvbGxlZEl0ZW1Db3VudCksXG4gICAgYW1vdW50T2ZJdGVtc0luVmlld1xuICApO1xuXG4gIC8qIFNvbWV0aW1lcywgb3B0aW9uIHRleHQgY2FuIHJlZmxvdyBkdWUgdGhlIGFwcGVhcmFuY2Ugb2YgdmVydGljYWwgc2Nyb2xsYmFyIHdoaWNoIGNhbiBjYXVzZSB0ZXh0IHRvIHdyYXAgdG8gbXVsdGlwbGUgbGluZXMgY2F1c2luZyB2aWV3cG9ydFJlZiBoZWlnaHQgdG8gY2hhbmdlLiBJZiBjb250YWluZXIgaGFzIHNjcm9sbCB0aGVuIHdlIGRpc3BhdGNoIGB1cGRhdGVWaWV3cG9ydGAgb25lIG1vcmUgdGltZSB0byBnZXQgdGhlIGNvcnJlY3QgaGVpZ2h0LCB3aXRoIGEgc2V0VGltZW91dCB0byBhbGxvdyB0aW1lIGZvciByZWZsb3cuXG4gICAqL1xuICBpZiAoXG4gICAgbWF4Q29udGVudEhlaWdodCA+IG1heEhlaWdodCAmJlxuICAgICFhZGp1c3RlZEZvclJlZmxvdy5jdXJyZW50ICYmXG4gICAgdmlld3BvcnRSZWYuY3VycmVudFxuICApIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgdHlwZTogXCJ1cGRhdGVWaWV3cG9ydFwiLFxuICAgICAgICB2aWV3cG9ydE5vZGU6IHZpZXdwb3J0UmVmLmN1cnJlbnQsXG4gICAgICAgIGl0ZW1BbW91bnQsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBhZGp1c3RlZEZvclJlZmxvdy5jdXJyZW50ID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgcmVmPXtzY3JvbGxhYmxlQ29udGFpbmVyUmVmfVxuICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICBzdHlsZT17e1xuICAgICAgICBtYXhIZWlnaHQsXG4gICAgICAgIC4uLmNvbnRhaW5lclN0eWxlLFxuICAgICAgfX1cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICBkYXRhLWRzLWlkPVwiVmlydHVhbFNjcm9sbExpc3RcIlxuICAgICAgb25TY3JvbGw9eyhlOiBSZWFjdC5VSUV2ZW50PEhUTUxFbGVtZW50PikgPT4ge1xuICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogXCJzY3JvbGxcIixcbiAgICAgICAgICBzY3JvbGxUb3A6IGUuY3VycmVudFRhcmdldC5zY3JvbGxUb3AsXG4gICAgICAgIH0pO1xuICAgICAgfX1cbiAgICA+XG4gICAgICB7aXRlbUFtb3VudCA9PT0gMCA/IChcbiAgICAgICAgZW1wdHlTdGF0ZSgpXG4gICAgICApIDogKFxuICAgICAgICA8U3R5bGVkU2Nyb2xsYWJsZUNvbnRlbnQgbWF4Q29udGVudEhlaWdodD17bWF4Q29udGVudEhlaWdodH0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgcmVmPXt2aWV3cG9ydFJlZn1cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtzY3JvbGxlZEluUHh9cHhgLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ISFpdGVtQ291bnRUb0JlUmVuZGVyZWQgJiZcbiAgICAgICAgICAgICAgbmV3IEFycmF5KGl0ZW1Db3VudFRvQmVSZW5kZXJlZClcbiAgICAgICAgICAgICAgICAuZmlsbCgwKVxuICAgICAgICAgICAgICAgIC5tYXAoKF8sIGluZGV4KSA9PiBpdGVtVGVtcGxhdGUoc2Nyb2xsZWRJdGVtQ291bnQgKyBpbmRleCkpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1N0eWxlZFNjcm9sbGFibGVDb250ZW50PlxuICAgICAgKX1cbiAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjZ0MifQ== */");export function VirtualScrollList({maxHeight,itemHeight,itemAmount,emptyState=()=>null,itemInView,itemTemplate,containerStyle,"data-e2e-test-id":dataE2eTestId,onContentHeightChange}){let scrollableContainerRef=useRef(null),viewportRef=useRef(null),adjustedForReflow=useRef(!1),[{scrolledItemCount,amountOfItemsInView,scrolledInPx,maxContentHeight=maxHeight,recommendedScrollPosition},dispatch]=useReducer(VirtualScrollReducer,{});useLayoutEffect(()=>{dispatch({type:"reset",itemHeight,maxHeight,overscan:10}),scrollableContainerRef.current.scrollTop=0},[itemHeight,itemAmount,maxHeight]),useEffect(()=>{dispatch({type:"recommendScrollPosition",scrollTop:scrollableContainerRef.current.scrollTop,itemToBeInView:itemInView})},[itemInView]),useEffect(()=>{null!==recommendedScrollPosition&&(scrollableContainerRef.current.scrollTop=recommendedScrollPosition)},[recommendedScrollPosition]),useLayoutEffect(()=>{viewportRef.current&&dispatch({type:"updateViewport",viewportNode:viewportRef.current,itemAmount})},[itemAmount,scrolledItemCount]),useEffect(()=>{onContentHeightChange?.()},[maxContentHeight,onContentHeightChange]);let itemCountToBeRendered=Math.min(Math.max(0,itemAmount-scrolledItemCount),amountOfItemsInView);return maxContentHeight>maxHeight&&!adjustedForReflow.current&&viewportRef.current&&(setTimeout(()=>{dispatch({type:"updateViewport",viewportNode:viewportRef.current,itemAmount})}),adjustedForReflow.current=!0),React.createElement(StyledContainer,{ref:scrollableContainerRef,maxHeight:maxHeight,style:{maxHeight,...containerStyle},"data-e2e-test-id":dataE2eTestId,"data-ds-id":"VirtualScrollList",onScroll:e=>{dispatch({type:"scroll",scrollTop:e.currentTarget.scrollTop})}},0===itemAmount?emptyState():React.createElement(StyledScrollableContent,{maxContentHeight:maxContentHeight},React.createElement("div",{ref:viewportRef,style:{transform:`translateY(${scrolledInPx}px`},role:"listbox"},!!itemCountToBeRendered&&Array(itemCountToBeRendered).fill(0).map((_,index)=>itemTemplate(scrolledItemCount+index)))))}
|
|
1
|
+
import styled from"@emotion/styled";import React,{useRef,useReducer,useLayoutEffect,useEffect}from"react";import{VirtualScrollReducer}from"./VirtualScrollListReducer";let StyledContainer=styled("div",{target:"e1hq8rdx0",label:"StyledContainer"})(({maxHeight})=>({overflow:"auto",width:"100%",height:"100%",maxHeight}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVmlydHVhbFNjcm9sbExpc3QvVmlydHVhbFNjcm9sbExpc3QudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VSZWR1Y2VyLCB1c2VMYXlvdXRFZmZlY3QsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsUmVkdWNlciB9IGZyb20gXCIuL1ZpcnR1YWxTY3JvbGxMaXN0UmVkdWNlclwiO1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8VmlydHVhbFNjcm9sbExpc3RQcm9wcz4+KFxuICAoeyBtYXhIZWlnaHQgfSkgPT4gKHtcbiAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgbWF4SGVpZ2h0LFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkU2Nyb2xsYWJsZUNvbnRlbnQgPSBzdHlsZWQuZGl2PHsgbWF4Q29udGVudEhlaWdodDogbnVtYmVyIH0+KFxuICAoeyBtYXhDb250ZW50SGVpZ2h0IH0pID0+ICh7XG4gICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICBoZWlnaHQ6IG1heENvbnRlbnRIZWlnaHQsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBWaXJ0dWFsU2Nyb2xsTGlzdFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgaWQ6IHN0cmluZztcbiAgbWF4SGVpZ2h0OiBudW1iZXI7XG4gIGl0ZW1IZWlnaHQ6IG51bWJlcjtcbiAgaXRlbUFtb3VudDogbnVtYmVyO1xuICBlbXB0eVN0YXRlOiAoKSA9PiBSZWFjdC5SZWFjdE5vZGU7XG4gIGl0ZW1JblZpZXc6IG51bWJlcjtcbiAgaXRlbVRlbXBsYXRlOiAoaW5kZXg6IG51bWJlcikgPT4gUmVhY3QuUmVhY3ROb2RlO1xuICBjb250YWluZXJTdHlsZT86IFJlYWN0LkNTU1Byb3BlcnRpZXM7XG4gIG9uQ29udGVudEhlaWdodENoYW5nZT86ICgpID0+IHZvaWQ7XG59O1xuXG5jb25zdCBvdmVyc2NhbiA9IDEwO1xuXG5leHBvcnQgZnVuY3Rpb24gVmlydHVhbFNjcm9sbExpc3Qoe1xuICBpZCxcbiAgbWF4SGVpZ2h0LFxuICBpdGVtSGVpZ2h0LFxuICBpdGVtQW1vdW50LFxuICBlbXB0eVN0YXRlID0gKCkgPT4gbnVsbCxcbiAgaXRlbUluVmlldyxcbiAgaXRlbVRlbXBsYXRlLFxuICBjb250YWluZXJTdHlsZSxcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gIG9uQ29udGVudEhlaWdodENoYW5nZSxcbn06IFZpcnR1YWxTY3JvbGxMaXN0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBzY3JvbGxhYmxlQ29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCB2aWV3cG9ydFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgYWRqdXN0ZWRGb3JSZWZsb3cgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIGNvbnN0IFtcbiAgICB7XG4gICAgICBzY3JvbGxlZEl0ZW1Db3VudCxcbiAgICAgIGFtb3VudE9mSXRlbXNJblZpZXcsXG4gICAgICBzY3JvbGxlZEluUHgsXG4gICAgICBtYXhDb250ZW50SGVpZ2h0ID0gbWF4SGVpZ2h0LFxuICAgICAgcmVjb21tZW5kZWRTY3JvbGxQb3NpdGlvbixcbiAgICB9LFxuICAgIGRpc3BhdGNoLFxuICBdID0gdXNlUmVkdWNlcihWaXJ0dWFsU2Nyb2xsUmVkdWNlciwge30pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goeyB0eXBlOiBcInJlc2V0XCIsIGl0ZW1IZWlnaHQsIG1heEhlaWdodCwgb3ZlcnNjYW4gfSk7XG4gICAgc2Nyb2xsYWJsZUNvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9IDA7XG4gIH0sIFtpdGVtSGVpZ2h0LCBpdGVtQW1vdW50LCBtYXhIZWlnaHRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IFwicmVjb21tZW5kU2Nyb2xsUG9zaXRpb25cIixcbiAgICAgIHNjcm9sbFRvcDogc2Nyb2xsYWJsZUNvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCxcbiAgICAgIGl0ZW1Ub0JlSW5WaWV3OiBpdGVtSW5WaWV3LFxuICAgIH0pO1xuICB9LCBbaXRlbUluVmlld10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHJlY29tbWVuZGVkU2Nyb2xsUG9zaXRpb24gPT09IG51bGwpIHJldHVybjtcblxuICAgIHNjcm9sbGFibGVDb250YWluZXJSZWYuY3VycmVudC5zY3JvbGxUb3AgPSByZWNvbW1lbmRlZFNjcm9sbFBvc2l0aW9uO1xuICB9LCBbcmVjb21tZW5kZWRTY3JvbGxQb3NpdGlvbl0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCF2aWV3cG9ydFJlZi5jdXJyZW50KSByZXR1cm47XG5cbiAgICBkaXNwYXRjaCh7XG4gICAgICB0eXBlOiBcInVwZGF0ZVZpZXdwb3J0XCIsXG4gICAgICB2aWV3cG9ydE5vZGU6IHZpZXdwb3J0UmVmLmN1cnJlbnQsXG4gICAgICBpdGVtQW1vdW50LFxuICAgIH0pO1xuICB9LCBbaXRlbUFtb3VudCwgc2Nyb2xsZWRJdGVtQ291bnRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIG9uQ29udGVudEhlaWdodENoYW5nZT8uKCk7XG4gIH0sIFttYXhDb250ZW50SGVpZ2h0LCBvbkNvbnRlbnRIZWlnaHRDaGFuZ2VdKTtcblxuICBjb25zdCBpdGVtQ291bnRUb0JlUmVuZGVyZWQgPSBNYXRoLm1pbihcbiAgICBNYXRoLm1heCgwLCBpdGVtQW1vdW50IC0gc2Nyb2xsZWRJdGVtQ291bnQpLFxuICAgIGFtb3VudE9mSXRlbXNJblZpZXdcbiAgKTtcblxuICAvKiBTb21ldGltZXMsIG9wdGlvbiB0ZXh0IGNhbiByZWZsb3cgZHVlIHRoZSBhcHBlYXJhbmNlIG9mIHZlcnRpY2FsIHNjcm9sbGJhciB3aGljaCBjYW4gY2F1c2UgdGV4dCB0byB3cmFwIHRvIG11bHRpcGxlIGxpbmVzIGNhdXNpbmcgdmlld3BvcnRSZWYgaGVpZ2h0IHRvIGNoYW5nZS4gSWYgY29udGFpbmVyIGhhcyBzY3JvbGwgdGhlbiB3ZSBkaXNwYXRjaCBgdXBkYXRlVmlld3BvcnRgIG9uZSBtb3JlIHRpbWUgdG8gZ2V0IHRoZSBjb3JyZWN0IGhlaWdodCwgd2l0aCBhIHNldFRpbWVvdXQgdG8gYWxsb3cgdGltZSBmb3IgcmVmbG93LlxuICAgKi9cbiAgaWYgKFxuICAgIG1heENvbnRlbnRIZWlnaHQgPiBtYXhIZWlnaHQgJiZcbiAgICAhYWRqdXN0ZWRGb3JSZWZsb3cuY3VycmVudCAmJlxuICAgIHZpZXdwb3J0UmVmLmN1cnJlbnRcbiAgKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBkaXNwYXRjaCh7XG4gICAgICAgIHR5cGU6IFwidXBkYXRlVmlld3BvcnRcIixcbiAgICAgICAgdmlld3BvcnROb2RlOiB2aWV3cG9ydFJlZi5jdXJyZW50LFxuICAgICAgICBpdGVtQW1vdW50LFxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgYWRqdXN0ZWRGb3JSZWZsb3cuY3VycmVudCA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDb250YWluZXJcbiAgICAgIHJlZj17c2Nyb2xsYWJsZUNvbnRhaW5lclJlZn1cbiAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgbWF4SGVpZ2h0LFxuICAgICAgICAuLi5jb250YWluZXJTdHlsZSxcbiAgICAgIH19XG4gICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgZGF0YS1kcy1pZD1cIlZpcnR1YWxTY3JvbGxMaXN0XCJcbiAgICAgIG9uU2Nyb2xsPXsoZTogUmVhY3QuVUlFdmVudDxIVE1MRWxlbWVudD4pID0+IHtcbiAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgIHR5cGU6IFwic2Nyb2xsXCIsXG4gICAgICAgICAgc2Nyb2xsVG9wOiBlLmN1cnJlbnRUYXJnZXQuc2Nyb2xsVG9wLFxuICAgICAgICB9KTtcbiAgICAgIH19XG4gICAgPlxuICAgICAge2l0ZW1BbW91bnQgPT09IDAgPyAoXG4gICAgICAgIGVtcHR5U3RhdGUoKVxuICAgICAgKSA6IChcbiAgICAgICAgPFN0eWxlZFNjcm9sbGFibGVDb250ZW50IG1heENvbnRlbnRIZWlnaHQ9e21heENvbnRlbnRIZWlnaHR9PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHJlZj17dmlld3BvcnRSZWZ9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7c2Nyb2xsZWRJblB4fXB4YCxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICByb2xlPVwibGlzdGJveFwiXG4gICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgeyEhaXRlbUNvdW50VG9CZVJlbmRlcmVkICYmXG4gICAgICAgICAgICAgIG5ldyBBcnJheShpdGVtQ291bnRUb0JlUmVuZGVyZWQpXG4gICAgICAgICAgICAgICAgLmZpbGwoMClcbiAgICAgICAgICAgICAgICAubWFwKChfLCBpbmRleCkgPT4gaXRlbVRlbXBsYXRlKHNjcm9sbGVkSXRlbUNvdW50ICsgaW5kZXgpKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9TdHlsZWRTY3JvbGxhYmxlQ29udGVudD5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS3dCIn0= */"),StyledScrollableContent=styled("div",{target:"e1hq8rdx1",label:"StyledScrollableContent"})(({maxContentHeight})=>({overflow:"hidden",boxSizing:"border-box",height:maxContentHeight}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVmlydHVhbFNjcm9sbExpc3QvVmlydHVhbFNjcm9sbExpc3QudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9WaXJ0dWFsU2Nyb2xsTGlzdC9WaXJ0dWFsU2Nyb2xsTGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VSZWR1Y2VyLCB1c2VMYXlvdXRFZmZlY3QsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsUmVkdWNlciB9IGZyb20gXCIuL1ZpcnR1YWxTY3JvbGxMaXN0UmVkdWNlclwiO1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8VmlydHVhbFNjcm9sbExpc3RQcm9wcz4+KFxuICAoeyBtYXhIZWlnaHQgfSkgPT4gKHtcbiAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgbWF4SGVpZ2h0LFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkU2Nyb2xsYWJsZUNvbnRlbnQgPSBzdHlsZWQuZGl2PHsgbWF4Q29udGVudEhlaWdodDogbnVtYmVyIH0+KFxuICAoeyBtYXhDb250ZW50SGVpZ2h0IH0pID0+ICh7XG4gICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICBoZWlnaHQ6IG1heENvbnRlbnRIZWlnaHQsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBWaXJ0dWFsU2Nyb2xsTGlzdFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgaWQ6IHN0cmluZztcbiAgbWF4SGVpZ2h0OiBudW1iZXI7XG4gIGl0ZW1IZWlnaHQ6IG51bWJlcjtcbiAgaXRlbUFtb3VudDogbnVtYmVyO1xuICBlbXB0eVN0YXRlOiAoKSA9PiBSZWFjdC5SZWFjdE5vZGU7XG4gIGl0ZW1JblZpZXc6IG51bWJlcjtcbiAgaXRlbVRlbXBsYXRlOiAoaW5kZXg6IG51bWJlcikgPT4gUmVhY3QuUmVhY3ROb2RlO1xuICBjb250YWluZXJTdHlsZT86IFJlYWN0LkNTU1Byb3BlcnRpZXM7XG4gIG9uQ29udGVudEhlaWdodENoYW5nZT86ICgpID0+IHZvaWQ7XG59O1xuXG5jb25zdCBvdmVyc2NhbiA9IDEwO1xuXG5leHBvcnQgZnVuY3Rpb24gVmlydHVhbFNjcm9sbExpc3Qoe1xuICBpZCxcbiAgbWF4SGVpZ2h0LFxuICBpdGVtSGVpZ2h0LFxuICBpdGVtQW1vdW50LFxuICBlbXB0eVN0YXRlID0gKCkgPT4gbnVsbCxcbiAgaXRlbUluVmlldyxcbiAgaXRlbVRlbXBsYXRlLFxuICBjb250YWluZXJTdHlsZSxcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gIG9uQ29udGVudEhlaWdodENoYW5nZSxcbn06IFZpcnR1YWxTY3JvbGxMaXN0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBzY3JvbGxhYmxlQ29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCB2aWV3cG9ydFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgYWRqdXN0ZWRGb3JSZWZsb3cgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIGNvbnN0IFtcbiAgICB7XG4gICAgICBzY3JvbGxlZEl0ZW1Db3VudCxcbiAgICAgIGFtb3VudE9mSXRlbXNJblZpZXcsXG4gICAgICBzY3JvbGxlZEluUHgsXG4gICAgICBtYXhDb250ZW50SGVpZ2h0ID0gbWF4SGVpZ2h0LFxuICAgICAgcmVjb21tZW5kZWRTY3JvbGxQb3NpdGlvbixcbiAgICB9LFxuICAgIGRpc3BhdGNoLFxuICBdID0gdXNlUmVkdWNlcihWaXJ0dWFsU2Nyb2xsUmVkdWNlciwge30pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goeyB0eXBlOiBcInJlc2V0XCIsIGl0ZW1IZWlnaHQsIG1heEhlaWdodCwgb3ZlcnNjYW4gfSk7XG4gICAgc2Nyb2xsYWJsZUNvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9IDA7XG4gIH0sIFtpdGVtSGVpZ2h0LCBpdGVtQW1vdW50LCBtYXhIZWlnaHRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IFwicmVjb21tZW5kU2Nyb2xsUG9zaXRpb25cIixcbiAgICAgIHNjcm9sbFRvcDogc2Nyb2xsYWJsZUNvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCxcbiAgICAgIGl0ZW1Ub0JlSW5WaWV3OiBpdGVtSW5WaWV3LFxuICAgIH0pO1xuICB9LCBbaXRlbUluVmlld10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHJlY29tbWVuZGVkU2Nyb2xsUG9zaXRpb24gPT09IG51bGwpIHJldHVybjtcblxuICAgIHNjcm9sbGFibGVDb250YWluZXJSZWYuY3VycmVudC5zY3JvbGxUb3AgPSByZWNvbW1lbmRlZFNjcm9sbFBvc2l0aW9uO1xuICB9LCBbcmVjb21tZW5kZWRTY3JvbGxQb3NpdGlvbl0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCF2aWV3cG9ydFJlZi5jdXJyZW50KSByZXR1cm47XG5cbiAgICBkaXNwYXRjaCh7XG4gICAgICB0eXBlOiBcInVwZGF0ZVZpZXdwb3J0XCIsXG4gICAgICB2aWV3cG9ydE5vZGU6IHZpZXdwb3J0UmVmLmN1cnJlbnQsXG4gICAgICBpdGVtQW1vdW50LFxuICAgIH0pO1xuICB9LCBbaXRlbUFtb3VudCwgc2Nyb2xsZWRJdGVtQ291bnRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIG9uQ29udGVudEhlaWdodENoYW5nZT8uKCk7XG4gIH0sIFttYXhDb250ZW50SGVpZ2h0LCBvbkNvbnRlbnRIZWlnaHRDaGFuZ2VdKTtcblxuICBjb25zdCBpdGVtQ291bnRUb0JlUmVuZGVyZWQgPSBNYXRoLm1pbihcbiAgICBNYXRoLm1heCgwLCBpdGVtQW1vdW50IC0gc2Nyb2xsZWRJdGVtQ291bnQpLFxuICAgIGFtb3VudE9mSXRlbXNJblZpZXdcbiAgKTtcblxuICAvKiBTb21ldGltZXMsIG9wdGlvbiB0ZXh0IGNhbiByZWZsb3cgZHVlIHRoZSBhcHBlYXJhbmNlIG9mIHZlcnRpY2FsIHNjcm9sbGJhciB3aGljaCBjYW4gY2F1c2UgdGV4dCB0byB3cmFwIHRvIG11bHRpcGxlIGxpbmVzIGNhdXNpbmcgdmlld3BvcnRSZWYgaGVpZ2h0IHRvIGNoYW5nZS4gSWYgY29udGFpbmVyIGhhcyBzY3JvbGwgdGhlbiB3ZSBkaXNwYXRjaCBgdXBkYXRlVmlld3BvcnRgIG9uZSBtb3JlIHRpbWUgdG8gZ2V0IHRoZSBjb3JyZWN0IGhlaWdodCwgd2l0aCBhIHNldFRpbWVvdXQgdG8gYWxsb3cgdGltZSBmb3IgcmVmbG93LlxuICAgKi9cbiAgaWYgKFxuICAgIG1heENvbnRlbnRIZWlnaHQgPiBtYXhIZWlnaHQgJiZcbiAgICAhYWRqdXN0ZWRGb3JSZWZsb3cuY3VycmVudCAmJlxuICAgIHZpZXdwb3J0UmVmLmN1cnJlbnRcbiAgKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBkaXNwYXRjaCh7XG4gICAgICAgIHR5cGU6IFwidXBkYXRlVmlld3BvcnRcIixcbiAgICAgICAgdmlld3BvcnROb2RlOiB2aWV3cG9ydFJlZi5jdXJyZW50LFxuICAgICAgICBpdGVtQW1vdW50LFxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgYWRqdXN0ZWRGb3JSZWZsb3cuY3VycmVudCA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDb250YWluZXJcbiAgICAgIHJlZj17c2Nyb2xsYWJsZUNvbnRhaW5lclJlZn1cbiAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgbWF4SGVpZ2h0LFxuICAgICAgICAuLi5jb250YWluZXJTdHlsZSxcbiAgICAgIH19XG4gICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgZGF0YS1kcy1pZD1cIlZpcnR1YWxTY3JvbGxMaXN0XCJcbiAgICAgIG9uU2Nyb2xsPXsoZTogUmVhY3QuVUlFdmVudDxIVE1MRWxlbWVudD4pID0+IHtcbiAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgIHR5cGU6IFwic2Nyb2xsXCIsXG4gICAgICAgICAgc2Nyb2xsVG9wOiBlLmN1cnJlbnRUYXJnZXQuc2Nyb2xsVG9wLFxuICAgICAgICB9KTtcbiAgICAgIH19XG4gICAgPlxuICAgICAge2l0ZW1BbW91bnQgPT09IDAgPyAoXG4gICAgICAgIGVtcHR5U3RhdGUoKVxuICAgICAgKSA6IChcbiAgICAgICAgPFN0eWxlZFNjcm9sbGFibGVDb250ZW50IG1heENvbnRlbnRIZWlnaHQ9e21heENvbnRlbnRIZWlnaHR9PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHJlZj17dmlld3BvcnRSZWZ9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7c2Nyb2xsZWRJblB4fXB4YCxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICByb2xlPVwibGlzdGJveFwiXG4gICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgeyEhaXRlbUNvdW50VG9CZVJlbmRlcmVkICYmXG4gICAgICAgICAgICAgIG5ldyBBcnJheShpdGVtQ291bnRUb0JlUmVuZGVyZWQpXG4gICAgICAgICAgICAgICAgLmZpbGwoMClcbiAgICAgICAgICAgICAgICAubWFwKChfLCBpbmRleCkgPT4gaXRlbVRlbXBsYXRlKHNjcm9sbGVkSXRlbUNvdW50ICsgaW5kZXgpKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9TdHlsZWRTY3JvbGxhYmxlQ29udGVudD5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY2dDIn0= */");export function VirtualScrollList({id,maxHeight,itemHeight,itemAmount,emptyState=()=>null,itemInView,itemTemplate,containerStyle,"data-e2e-test-id":dataE2eTestId,onContentHeightChange}){let scrollableContainerRef=useRef(null),viewportRef=useRef(null),adjustedForReflow=useRef(!1),[{scrolledItemCount,amountOfItemsInView,scrolledInPx,maxContentHeight=maxHeight,recommendedScrollPosition},dispatch]=useReducer(VirtualScrollReducer,{});useLayoutEffect(()=>{dispatch({type:"reset",itemHeight,maxHeight,overscan:10}),scrollableContainerRef.current.scrollTop=0},[itemHeight,itemAmount,maxHeight]),useEffect(()=>{dispatch({type:"recommendScrollPosition",scrollTop:scrollableContainerRef.current.scrollTop,itemToBeInView:itemInView})},[itemInView]),useEffect(()=>{null!==recommendedScrollPosition&&(scrollableContainerRef.current.scrollTop=recommendedScrollPosition)},[recommendedScrollPosition]),useLayoutEffect(()=>{viewportRef.current&&dispatch({type:"updateViewport",viewportNode:viewportRef.current,itemAmount})},[itemAmount,scrolledItemCount]),useEffect(()=>{onContentHeightChange?.()},[maxContentHeight,onContentHeightChange]);let itemCountToBeRendered=Math.min(Math.max(0,itemAmount-scrolledItemCount),amountOfItemsInView);return maxContentHeight>maxHeight&&!adjustedForReflow.current&&viewportRef.current&&(setTimeout(()=>{dispatch({type:"updateViewport",viewportNode:viewportRef.current,itemAmount})}),adjustedForReflow.current=!0),React.createElement(StyledContainer,{ref:scrollableContainerRef,maxHeight:maxHeight,style:{maxHeight,...containerStyle},"data-e2e-test-id":dataE2eTestId,"data-ds-id":"VirtualScrollList",onScroll:e=>{dispatch({type:"scroll",scrollTop:e.currentTarget.scrollTop})}},0===itemAmount?emptyState():React.createElement(StyledScrollableContent,{maxContentHeight:maxContentHeight},React.createElement("div",{ref:viewportRef,style:{transform:`translateY(${scrolledInPx}px`},role:"listbox",id:id},!!itemCountToBeRendered&&Array(itemCountToBeRendered).fill(0).map((_,index)=>itemTemplate(scrolledItemCount+index)))))}
|