@amboss/design-system 4.0.5 → 4.0.6
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/Internal/Drawer/Drawer.d.ts +0 -2
- package/build/cjs/components/Internal/Drawer/Drawer.js +8 -8
- package/build/cjs/components/Internal/Drawer/useExitAnimation.d.ts +21 -0
- package/build/cjs/components/Internal/Drawer/useExitAnimation.js +1 -0
- package/build/cjs/components/Internal/LayoutFloat/LayoutFloat.d.ts +14 -0
- package/build/cjs/components/Internal/LayoutFloat/LayoutFloat.js +1 -0
- package/build/cjs/components/Internal/Panel/Panel.d.ts +15 -2
- package/build/cjs/components/Internal/Panel/Panel.js +1 -1
- package/build/cjs/components/Internal/Sandwich/Sandwich.d.ts +8 -6
- package/build/cjs/components/Internal/Sandwich/Sandwich.js +1 -1
- package/build/cjs/components/Internal/Sandwich/SandwichFooter.d.ts +5 -1
- package/build/cjs/components/Internal/Sandwich/SandwichFooter.js +1 -1
- package/build/cjs/components/Internal/Sandwich/SandwichHeader.d.ts +5 -1
- package/build/cjs/components/Internal/Sandwich/SandwichHeader.js +1 -1
- package/build/cjs/components/Internal/Sandwich/useSandwichContext.d.ts +10 -1
- package/build/cjs/components/Internal/Sandwich/useSandwichContext.js +1 -1
- package/build/cjs/components/Layout/-types.d.ts +50 -13
- package/build/cjs/components/Layout/Layout.js +1 -1
- package/build/cjs/components/Layout/LayoutProvider.js +1 -1
- package/build/cjs/components/Layout/LeftPanel/LeftPanel.d.ts +6 -7
- package/build/cjs/components/Layout/LeftPanel/LeftPanel.js +1 -1
- package/build/cjs/components/Layout/LeftPanel/LeftPanelDocked.d.ts +20 -0
- package/build/cjs/components/Layout/LeftPanel/LeftPanelDocked.js +1 -0
- package/build/cjs/components/Layout/LeftPanel/LeftPanelDrawer.d.ts +15 -0
- package/build/cjs/components/Layout/LeftPanel/LeftPanelDrawer.js +1 -0
- package/build/cjs/components/Layout/PanelSlideBody.d.ts +18 -0
- package/build/cjs/components/Layout/PanelSlideBody.js +1 -0
- package/build/cjs/components/Layout/RightPanel/RightPanel.d.ts +7 -5
- package/build/cjs/components/Layout/RightPanel/RightPanel.js +1 -1
- package/build/cjs/components/Layout/RightPanel/RightPanelHeader.d.ts +8 -3
- package/build/cjs/components/Layout/RightPanel/RightPanelHeader.js +1 -1
- package/build/cjs/components/Layout/Split/Split.js +1 -1
- package/build/cjs/components/Layout/context.d.ts +14 -1
- package/build/cjs/components/Layout/context.js +1 -1
- package/build/cjs/components/Layout/registry.d.ts +38 -1
- package/build/cjs/components/Layout/registry.js +1 -1
- package/build/cjs/components/Layout/useFloatablePortalTargets.d.ts +37 -0
- package/build/cjs/components/Layout/useFloatablePortalTargets.js +1 -0
- package/build/cjs/components/Layout/usePanelDockedSlide.d.ts +28 -0
- package/build/cjs/components/Layout/usePanelDockedSlide.js +1 -0
- package/build/cjs/shared/prefersReducedMotion.d.ts +6 -0
- package/build/cjs/shared/prefersReducedMotion.js +1 -0
- package/build/esm/components/Internal/Drawer/Drawer.d.ts +0 -2
- package/build/esm/components/Internal/Drawer/Drawer.js +8 -8
- package/build/esm/components/Internal/Drawer/useExitAnimation.d.ts +21 -0
- package/build/esm/components/Internal/Drawer/useExitAnimation.js +1 -0
- package/build/esm/components/Internal/LayoutFloat/LayoutFloat.d.ts +14 -0
- package/build/esm/components/Internal/LayoutFloat/LayoutFloat.js +1 -0
- package/build/esm/components/Internal/Panel/Panel.d.ts +15 -2
- package/build/esm/components/Internal/Panel/Panel.js +1 -1
- package/build/esm/components/Internal/Sandwich/Sandwich.d.ts +8 -6
- package/build/esm/components/Internal/Sandwich/Sandwich.js +1 -1
- package/build/esm/components/Internal/Sandwich/SandwichFooter.d.ts +5 -1
- package/build/esm/components/Internal/Sandwich/SandwichFooter.js +1 -1
- package/build/esm/components/Internal/Sandwich/SandwichHeader.d.ts +5 -1
- package/build/esm/components/Internal/Sandwich/SandwichHeader.js +1 -1
- package/build/esm/components/Internal/Sandwich/useSandwichContext.d.ts +10 -1
- package/build/esm/components/Internal/Sandwich/useSandwichContext.js +1 -1
- package/build/esm/components/Layout/-types.d.ts +50 -13
- package/build/esm/components/Layout/Layout.js +1 -1
- package/build/esm/components/Layout/LayoutProvider.js +1 -1
- package/build/esm/components/Layout/LeftPanel/LeftPanel.d.ts +6 -7
- package/build/esm/components/Layout/LeftPanel/LeftPanel.js +1 -1
- package/build/esm/components/Layout/LeftPanel/LeftPanelDocked.d.ts +20 -0
- package/build/esm/components/Layout/LeftPanel/LeftPanelDocked.js +1 -0
- package/build/esm/components/Layout/LeftPanel/LeftPanelDrawer.d.ts +15 -0
- package/build/esm/components/Layout/LeftPanel/LeftPanelDrawer.js +1 -0
- package/build/esm/components/Layout/PanelSlideBody.d.ts +18 -0
- package/build/esm/components/Layout/PanelSlideBody.js +1 -0
- package/build/esm/components/Layout/RightPanel/RightPanel.d.ts +7 -5
- package/build/esm/components/Layout/RightPanel/RightPanel.js +1 -1
- package/build/esm/components/Layout/RightPanel/RightPanelHeader.d.ts +8 -3
- package/build/esm/components/Layout/RightPanel/RightPanelHeader.js +1 -1
- package/build/esm/components/Layout/Split/Split.js +1 -1
- package/build/esm/components/Layout/context.d.ts +14 -1
- package/build/esm/components/Layout/context.js +1 -1
- package/build/esm/components/Layout/registry.d.ts +38 -1
- package/build/esm/components/Layout/registry.js +1 -1
- package/build/esm/components/Layout/useFloatablePortalTargets.d.ts +37 -0
- package/build/esm/components/Layout/useFloatablePortalTargets.js +1 -0
- package/build/esm/components/Layout/usePanelDockedSlide.d.ts +28 -0
- package/build/esm/components/Layout/usePanelDockedSlide.js +1 -0
- package/build/esm/shared/prefersReducedMotion.d.ts +6 -0
- package/build/esm/shared/prefersReducedMotion.js +1 -0
- package/package.json +8 -8
- package/build/cjs/components/Internal/Drawer/useDrawerAnimation.d.ts +0 -26
- package/build/cjs/components/Internal/Drawer/useDrawerAnimation.js +0 -1
- package/build/cjs/components/Layout/usePortalContainerRefs.d.ts +0 -20
- package/build/cjs/components/Layout/usePortalContainerRefs.js +0 -1
- package/build/esm/components/Internal/Drawer/useDrawerAnimation.d.ts +0 -26
- package/build/esm/components/Internal/Drawer/useDrawerAnimation.js +0 -1
- package/build/esm/components/Layout/usePortalContainerRefs.d.ts +0 -20
- package/build/esm/components/Layout/usePortalContainerRefs.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import React from"react";import styled from"@emotion/styled";import{Group,Panel as ResizablePanel,Separator,useDefaultLayout}from"react-resizable-panels";let CustomGroup=styled(Group,{target:"e8gmbta0",label:"CustomGroup"})({height:"100%",width:"100%"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvSW50ZXJuYWwvUGFuZWwvUGFuZWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9JbnRlcm5hbC9QYW5lbC9QYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQge1xuICBHcm91cCxcbiAgUGFuZWwgYXMgUmVzaXphYmxlUGFuZWwsXG4gIFNlcGFyYXRvcixcbiAgdXNlRGVmYXVsdExheW91dCxcbn0gZnJvbSBcInJlYWN0LXJlc2l6YWJsZS1wYW5lbHNcIjtcbmltcG9ydCB0eXBlIHsgTGF5b3V0U3RvcmFnZSB9IGZyb20gXCJyZWFjdC1yZXNpemFibGUtcGFuZWxzXCI7XG5cbi8qKiBBIHNpemU6IHBsYWluIG51bWJlciA9IHBpeGVsczsgdW5pdGxlc3Mgc3RyaW5nID0gcGVyY2VudGFnZSAoXCIxMCVcIikuICovXG50eXBlIFNpemUgPSBudW1iZXIgfCBzdHJpbmc7XG5cbmNvbnN0IEN1c3RvbUdyb3VwID0gc3R5bGVkKEdyb3VwKSh7IGhlaWdodDogXCIxMDAlXCIsIHdpZHRoOiBcIjEwMCVcIiB9KTtcblxuLy8gSG9zdCBub2RlIOKAlCBjb250ZW50IGlzIHBvcnRhbGVkIGluIGJ5IHRoZSBjb25zdW1lci4gYHJlbGF0aXZlYCBzb1xuLy8gYWJzb2x1dGVseS1wb3NpdGlvbmVkIGNvbnRlbnQgcmVmbG93cyB3aXRoIHRoZSBwYW5lbC5cbmNvbnN0IFN0eWxlZFBvcnRhbENvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxuICB3aWR0aDogXCIxMDAlXCIsXG59KTtcblxuZXhwb3J0IHR5cGUgUGFuZWxJdGVtID0ge1xuICAvKiogU3RhYmxlIGlkIOKAlCB1c2VkIGJ5IHJlYWN0LXJlc2l6YWJsZS1wYW5lbHMgdG8gdHJhY2sgdGhlIHBhbmVsIGFuZCBwZXJzaXN0XG4gICAqICBpdHMgc2l6ZSwgYW5kIHBhc3NlZCBiYWNrIHRvIGBob3N0Rm9yYC9gb25SZXNpemVgL2BvbkNvbGxhcHNlYC4gKi9cbiAgaWQ6IHN0cmluZztcbiAgZGVmYXVsdFNpemU/OiBTaXplO1xuICBtaW5TaXplPzogU2l6ZTtcbiAgbWF4U2l6ZT86IFNpemU7XG4gIC8qKiBBbGxvdyBkcmFnLXRvLWNvbGxhcHNlOyBjb2xsYXBzaW5nIGZpcmVzIGBvbkNvbGxhcHNlKGlkKWAuICovXG4gIGNvbGxhcHNpYmxlPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIFBhbmVsUHJvcHMgPSB7XG4gIC8qKiBWaXNpYmxlIHBhbmVscywgbGVmdC10by1yaWdodC4gQ29uZGl0aW9uYWxseSByZW5kZXJpbmcgaXRlbXMgdG9nZ2xlcyBhXG4gICAqICBwYW5lbCBXSVRIT1VUIHJlbW91bnRpbmcgdGhlIG90aGVycyAobm8gYGtleWAgb24gdGhlIGdyb3VwKS4gKi9cbiAgcGFuZWxzOiBQYW5lbEl0ZW1bXTtcbiAgLyoqIFBlcnNpc3Qgc2l6ZXMgKGtleWVkIGJ5IGBwZXJzaXN0ZW5jZUtleWAgKyB0aGUgY3VycmVudCBwYW5lbC1pZCBzZXQpLiAqL1xuICBwZXJzaXN0ZW5jZUtleT86IHN0cmluZztcbiAgc3RvcmFnZT86IExheW91dFN0b3JhZ2U7XG4gIC8qKiBSZWYgY2FsbGJhY2sgZm9yIGEgcGFuZWwncyBjb250ZW50IGhvc3QgYDxkaXY+YCAoY29uc3VtZXIgcG9ydGFscyBpbnRvIGl0KS4gKi9cbiAgaG9zdEZvcjogKGlkOiBzdHJpbmcpID0+IChlbDogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xuICAvKiogUmVwb3J0cyBhIHNldHRsZWQgZHJhZy1yZXNpemUgKHNpemUgYXMgYSBcIiVcIiBzdHJpbmcpLiAqL1xuICBvblJlc2l6ZTogKGlkOiBzdHJpbmcsIHNpemU6IHN0cmluZykgPT4gdm9pZDtcbiAgLyoqIFJlcG9ydHMgYSBkcmFnIHBhc3QgYG1pblNpemVgIG9uIGEgY29sbGFwc2libGUgcGFuZWwuICovXG4gIG9uQ29sbGFwc2U6IChpZDogc3RyaW5nKSA9PiB2b2lkO1xufTtcblxuLy8gZmxleEdyb3cgYXQvYmVsb3cgdGhpcyBpcyB0cmVhdGVkIGFzIGEgZHJhZy10by1jb2xsYXBzZSBnZXN0dXJlLlxuY29uc3QgQ09MTEFQU0VfRVBTSUxPTiA9IDAuNTtcblxuLy8gcmVhY3QtcmVzaXphYmxlLXBhbmVscyBwZXJzaXN0cyBub3RoaW5nIHdoZW4gZ2l2ZW4gYSBuby1vcCBzdG9yYWdlLlxuY29uc3QgTk9PUF9TVE9SQUdFOiBMYXlvdXRTdG9yYWdlID0geyBnZXRJdGVtOiAoKSA9PiBudWxsLCBzZXRJdGVtOiAoKSA9PiB7fSB9O1xuXG4vKipcbiAqIFN0b3JhZ2UgZm9yIHNpemUgcGVyc2lzdGVuY2U6IHJlYWwgb25seSB3aGVuIEJPVEggYSBgcGVyc2lzdGVuY2VLZXlgIGFuZCBhXG4gKiBgc3RvcmFnZWAgYXJlIHByb3ZpZGVkLiBObyBpbXBsaWNpdCBgd2luZG93LmxvY2FsU3RvcmFnZWAgZmFsbGJhY2sg4oCUXG4gKiBwZXJzaXN0ZW5jZSBpcyBzdHJpY3RseSBvcHQtaW4uXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVTaXplU3RvcmFnZShcbiAgcGVyc2lzdGVuY2VLZXk6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgc3RvcmFnZTogTGF5b3V0U3RvcmFnZSB8IHVuZGVmaW5lZFxuKTogTGF5b3V0U3RvcmFnZSB7XG4gIGlmICghcGVyc2lzdGVuY2VLZXkgfHwgIXN0b3JhZ2UpIHJldHVybiBOT09QX1NUT1JBR0U7XG4gIHJldHVybiBzdG9yYWdlO1xufVxuXG4vKipcbiAqIEludGVybmFsIHJlc2l6YWJsZSBwYW5lbCByb3cg4oCUIHRoZSBvbmx5IHdyYXBwZXIgYXJvdW5kIHJlYWN0LXJlc2l6YWJsZS1wYW5lbHMuXG4gKiBSZW5kZXJzIG9uZSBQYW5lbCBwZXIgaXRlbSB3aXRoIGEgY29udGVudCBob3N0IGA8ZGl2PmAgKHJlZidkIGJhY2sgdmlhXG4gKiBgaG9zdEZvcmApLCBwZXJzaXN0cyBzaXplcywgYW5kIHJlcG9ydHMgZHJhZy1yZXNpemUgLyBkcmFnLXRvLWNvbGxhcHNlLiBUaGVcbiAqIHB1YmxpYyBgTGF5b3V0YCBjb21wb25lbnQgaXMgdGhlIGludGVuZGVkIGNvbnN1bWVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gUGFuZWwoe1xuICBwYW5lbHMsXG4gIHBlcnNpc3RlbmNlS2V5LFxuICBzdG9yYWdlLFxuICBob3N0Rm9yLFxuICBvblJlc2l6ZSxcbiAgb25Db2xsYXBzZSxcbn06IFBhbmVsUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCB7IGRlZmF1bHRMYXlvdXQsIG9uTGF5b3V0Q2hhbmdlZDogcGVyc2lzdFNpemVzIH0gPSB1c2VEZWZhdWx0TGF5b3V0KHtcbiAgICBpZDogcGVyc2lzdGVuY2VLZXkgPz8gXCJkcy1sYXlvdXRcIixcbiAgICBwYW5lbElkczogcGFuZWxzLm1hcCgocCkgPT4gcC5pZCksXG4gICAgc3RvcmFnZTogcmVzb2x2ZVNpemVTdG9yYWdlKHBlcnNpc3RlbmNlS2V5LCBzdG9yYWdlKSxcbiAgfSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q3VzdG9tR3JvdXBcbiAgICAgIG9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiXG4gICAgICBkZWZhdWx0TGF5b3V0PXtkZWZhdWx0TGF5b3V0fVxuICAgICAgb25MYXlvdXRDaGFuZ2VkPXsobGF5b3V0KSA9PiB7XG4gICAgICAgIHBlcnNpc3RTaXplcyhsYXlvdXQpOyAvLyBsaWJyYXJ5IHNhdmVzIHRoZSBzaXplc1xuICAgICAgICBwYW5lbHMuZm9yRWFjaCgoeyBpZCwgY29sbGFwc2libGUgfSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHBjdCA9IGxheW91dFtpZF07XG4gICAgICAgICAgaWYgKHR5cGVvZiBwY3QgIT09IFwibnVtYmVyXCIpIHJldHVybjtcbiAgICAgICAgICBpZiAoY29sbGFwc2libGUgJiYgcGN0IDwgQ09MTEFQU0VfRVBTSUxPTikge1xuICAgICAgICAgICAgb25Db2xsYXBzZShpZCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChwY3QgPj0gQ09MTEFQU0VfRVBTSUxPTikgb25SZXNpemUoaWQsIGAke3BjdH0lYCk7XG4gICAgICAgIH0pO1xuICAgICAgfX1cbiAgICA+XG4gICAgICB7cGFuZWxzLm1hcCgoaXRlbSwgaW5kZXgpID0+IChcbiAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT17aXRlbS5pZH0+XG4gICAgICAgICAge2luZGV4ID4gMCAmJiA8U2VwYXJhdG9yIC8+fVxuICAgICAgICAgIDxSZXNpemFibGVQYW5lbFxuICAgICAgICAgICAgaWQ9e2l0ZW0uaWR9XG4gICAgICAgICAgICBkZWZhdWx0U2l6ZT17aXRlbS5kZWZhdWx0U2l6ZX1cbiAgICAgICAgICAgIGNvbGxhcHNpYmxlPXtpdGVtLmNvbGxhcHNpYmxlfVxuICAgICAgICAgICAgbWluU2l6ZT17aXRlbS5taW5TaXplfVxuICAgICAgICAgICAgbWF4U2l6ZT17aXRlbS5tYXhTaXplfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxTdHlsZWRQb3J0YWxDb250YWluZXIgcmVmPXtob3N0Rm9yKGl0ZW0uaWQpfSAvPlxuICAgICAgICAgIDwvUmVzaXphYmxlUGFuZWw+XG4gICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICApKX1cbiAgICA8L0N1c3RvbUdyb3VwPlxuICApO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFvQiJ9 */"),StyledPortalContainer=styled("div",{target:"e8gmbta1",label:"StyledPortalContainer"})({position:"relative",height:"100%",width:"100%"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvSW50ZXJuYWwvUGFuZWwvUGFuZWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9JbnRlcm5hbC9QYW5lbC9QYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQge1xuICBHcm91cCxcbiAgUGFuZWwgYXMgUmVzaXphYmxlUGFuZWwsXG4gIFNlcGFyYXRvcixcbiAgdXNlRGVmYXVsdExheW91dCxcbn0gZnJvbSBcInJlYWN0LXJlc2l6YWJsZS1wYW5lbHNcIjtcbmltcG9ydCB0eXBlIHsgTGF5b3V0U3RvcmFnZSB9IGZyb20gXCJyZWFjdC1yZXNpemFibGUtcGFuZWxzXCI7XG5cbi8qKiBBIHNpemU6IHBsYWluIG51bWJlciA9IHBpeGVsczsgdW5pdGxlc3Mgc3RyaW5nID0gcGVyY2VudGFnZSAoXCIxMCVcIikuICovXG50eXBlIFNpemUgPSBudW1iZXIgfCBzdHJpbmc7XG5cbmNvbnN0IEN1c3RvbUdyb3VwID0gc3R5bGVkKEdyb3VwKSh7IGhlaWdodDogXCIxMDAlXCIsIHdpZHRoOiBcIjEwMCVcIiB9KTtcblxuLy8gSG9zdCBub2RlIOKAlCBjb250ZW50IGlzIHBvcnRhbGVkIGluIGJ5IHRoZSBjb25zdW1lci4gYHJlbGF0aXZlYCBzb1xuLy8gYWJzb2x1dGVseS1wb3NpdGlvbmVkIGNvbnRlbnQgcmVmbG93cyB3aXRoIHRoZSBwYW5lbC5cbmNvbnN0IFN0eWxlZFBvcnRhbENvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxuICB3aWR0aDogXCIxMDAlXCIsXG59KTtcblxuZXhwb3J0IHR5cGUgUGFuZWxJdGVtID0ge1xuICAvKiogU3RhYmxlIGlkIOKAlCB1c2VkIGJ5IHJlYWN0LXJlc2l6YWJsZS1wYW5lbHMgdG8gdHJhY2sgdGhlIHBhbmVsIGFuZCBwZXJzaXN0XG4gICAqICBpdHMgc2l6ZSwgYW5kIHBhc3NlZCBiYWNrIHRvIGBob3N0Rm9yYC9gb25SZXNpemVgL2BvbkNvbGxhcHNlYC4gKi9cbiAgaWQ6IHN0cmluZztcbiAgZGVmYXVsdFNpemU/OiBTaXplO1xuICBtaW5TaXplPzogU2l6ZTtcbiAgbWF4U2l6ZT86IFNpemU7XG4gIC8qKiBBbGxvdyBkcmFnLXRvLWNvbGxhcHNlOyBjb2xsYXBzaW5nIGZpcmVzIGBvbkNvbGxhcHNlKGlkKWAuICovXG4gIGNvbGxhcHNpYmxlPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIFBhbmVsUHJvcHMgPSB7XG4gIC8qKiBWaXNpYmxlIHBhbmVscywgbGVmdC10by1yaWdodC4gQ29uZGl0aW9uYWxseSByZW5kZXJpbmcgaXRlbXMgdG9nZ2xlcyBhXG4gICAqICBwYW5lbCBXSVRIT1VUIHJlbW91bnRpbmcgdGhlIG90aGVycyAobm8gYGtleWAgb24gdGhlIGdyb3VwKS4gKi9cbiAgcGFuZWxzOiBQYW5lbEl0ZW1bXTtcbiAgLyoqIFBlcnNpc3Qgc2l6ZXMgKGtleWVkIGJ5IGBwZXJzaXN0ZW5jZUtleWAgKyB0aGUgY3VycmVudCBwYW5lbC1pZCBzZXQpLiAqL1xuICBwZXJzaXN0ZW5jZUtleT86IHN0cmluZztcbiAgc3RvcmFnZT86IExheW91dFN0b3JhZ2U7XG4gIC8qKiBSZWYgY2FsbGJhY2sgZm9yIGEgcGFuZWwncyBjb250ZW50IGhvc3QgYDxkaXY+YCAoY29uc3VtZXIgcG9ydGFscyBpbnRvIGl0KS4gKi9cbiAgaG9zdEZvcjogKGlkOiBzdHJpbmcpID0+IChlbDogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xuICAvKiogUmVwb3J0cyBhIHNldHRsZWQgZHJhZy1yZXNpemUgKHNpemUgYXMgYSBcIiVcIiBzdHJpbmcpLiAqL1xuICBvblJlc2l6ZTogKGlkOiBzdHJpbmcsIHNpemU6IHN0cmluZykgPT4gdm9pZDtcbiAgLyoqIFJlcG9ydHMgYSBkcmFnIHBhc3QgYG1pblNpemVgIG9uIGEgY29sbGFwc2libGUgcGFuZWwuICovXG4gIG9uQ29sbGFwc2U6IChpZDogc3RyaW5nKSA9PiB2b2lkO1xufTtcblxuLy8gZmxleEdyb3cgYXQvYmVsb3cgdGhpcyBpcyB0cmVhdGVkIGFzIGEgZHJhZy10by1jb2xsYXBzZSBnZXN0dXJlLlxuY29uc3QgQ09MTEFQU0VfRVBTSUxPTiA9IDAuNTtcblxuLy8gcmVhY3QtcmVzaXphYmxlLXBhbmVscyBwZXJzaXN0cyBub3RoaW5nIHdoZW4gZ2l2ZW4gYSBuby1vcCBzdG9yYWdlLlxuY29uc3QgTk9PUF9TVE9SQUdFOiBMYXlvdXRTdG9yYWdlID0geyBnZXRJdGVtOiAoKSA9PiBudWxsLCBzZXRJdGVtOiAoKSA9PiB7fSB9O1xuXG4vKipcbiAqIFN0b3JhZ2UgZm9yIHNpemUgcGVyc2lzdGVuY2U6IHJlYWwgb25seSB3aGVuIEJPVEggYSBgcGVyc2lzdGVuY2VLZXlgIGFuZCBhXG4gKiBgc3RvcmFnZWAgYXJlIHByb3ZpZGVkLiBObyBpbXBsaWNpdCBgd2luZG93LmxvY2FsU3RvcmFnZWAgZmFsbGJhY2sg4oCUXG4gKiBwZXJzaXN0ZW5jZSBpcyBzdHJpY3RseSBvcHQtaW4uXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVTaXplU3RvcmFnZShcbiAgcGVyc2lzdGVuY2VLZXk6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgc3RvcmFnZTogTGF5b3V0U3RvcmFnZSB8IHVuZGVmaW5lZFxuKTogTGF5b3V0U3RvcmFnZSB7XG4gIGlmICghcGVyc2lzdGVuY2VLZXkgfHwgIXN0b3JhZ2UpIHJldHVybiBOT09QX1NUT1JBR0U7XG4gIHJldHVybiBzdG9yYWdlO1xufVxuXG4vKipcbiAqIEludGVybmFsIHJlc2l6YWJsZSBwYW5lbCByb3cg4oCUIHRoZSBvbmx5IHdyYXBwZXIgYXJvdW5kIHJlYWN0LXJlc2l6YWJsZS1wYW5lbHMuXG4gKiBSZW5kZXJzIG9uZSBQYW5lbCBwZXIgaXRlbSB3aXRoIGEgY29udGVudCBob3N0IGA8ZGl2PmAgKHJlZidkIGJhY2sgdmlhXG4gKiBgaG9zdEZvcmApLCBwZXJzaXN0cyBzaXplcywgYW5kIHJlcG9ydHMgZHJhZy1yZXNpemUgLyBkcmFnLXRvLWNvbGxhcHNlLiBUaGVcbiAqIHB1YmxpYyBgTGF5b3V0YCBjb21wb25lbnQgaXMgdGhlIGludGVuZGVkIGNvbnN1bWVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gUGFuZWwoe1xuICBwYW5lbHMsXG4gIHBlcnNpc3RlbmNlS2V5LFxuICBzdG9yYWdlLFxuICBob3N0Rm9yLFxuICBvblJlc2l6ZSxcbiAgb25Db2xsYXBzZSxcbn06IFBhbmVsUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCB7IGRlZmF1bHRMYXlvdXQsIG9uTGF5b3V0Q2hhbmdlZDogcGVyc2lzdFNpemVzIH0gPSB1c2VEZWZhdWx0TGF5b3V0KHtcbiAgICBpZDogcGVyc2lzdGVuY2VLZXkgPz8gXCJkcy1sYXlvdXRcIixcbiAgICBwYW5lbElkczogcGFuZWxzLm1hcCgocCkgPT4gcC5pZCksXG4gICAgc3RvcmFnZTogcmVzb2x2ZVNpemVTdG9yYWdlKHBlcnNpc3RlbmNlS2V5LCBzdG9yYWdlKSxcbiAgfSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q3VzdG9tR3JvdXBcbiAgICAgIG9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiXG4gICAgICBkZWZhdWx0TGF5b3V0PXtkZWZhdWx0TGF5b3V0fVxuICAgICAgb25MYXlvdXRDaGFuZ2VkPXsobGF5b3V0KSA9PiB7XG4gICAgICAgIHBlcnNpc3RTaXplcyhsYXlvdXQpOyAvLyBsaWJyYXJ5IHNhdmVzIHRoZSBzaXplc1xuICAgICAgICBwYW5lbHMuZm9yRWFjaCgoeyBpZCwgY29sbGFwc2libGUgfSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHBjdCA9IGxheW91dFtpZF07XG4gICAgICAgICAgaWYgKHR5cGVvZiBwY3QgIT09IFwibnVtYmVyXCIpIHJldHVybjtcbiAgICAgICAgICBpZiAoY29sbGFwc2libGUgJiYgcGN0IDwgQ09MTEFQU0VfRVBTSUxPTikge1xuICAgICAgICAgICAgb25Db2xsYXBzZShpZCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChwY3QgPj0gQ09MTEFQU0VfRVBTSUxPTikgb25SZXNpemUoaWQsIGAke3BjdH0lYCk7XG4gICAgICAgIH0pO1xuICAgICAgfX1cbiAgICA+XG4gICAgICB7cGFuZWxzLm1hcCgoaXRlbSwgaW5kZXgpID0+IChcbiAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT17aXRlbS5pZH0+XG4gICAgICAgICAge2luZGV4ID4gMCAmJiA8U2VwYXJhdG9yIC8+fVxuICAgICAgICAgIDxSZXNpemFibGVQYW5lbFxuICAgICAgICAgICAgaWQ9e2l0ZW0uaWR9XG4gICAgICAgICAgICBkZWZhdWx0U2l6ZT17aXRlbS5kZWZhdWx0U2l6ZX1cbiAgICAgICAgICAgIGNvbGxhcHNpYmxlPXtpdGVtLmNvbGxhcHNpYmxlfVxuICAgICAgICAgICAgbWluU2l6ZT17aXRlbS5taW5TaXplfVxuICAgICAgICAgICAgbWF4U2l6ZT17aXRlbS5tYXhTaXplfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxTdHlsZWRQb3J0YWxDb250YWluZXIgcmVmPXtob3N0Rm9yKGl0ZW0uaWQpfSAvPlxuICAgICAgICAgIDwvUmVzaXphYmxlUGFuZWw+XG4gICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICApKX1cbiAgICA8L0N1c3RvbUdyb3VwPlxuICApO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCOEIifQ== */"),NOOP_STORAGE={getItem:()=>null,setItem:()=>{}};export function Panel({panels,persistenceKey,storage,hostFor,onResize,onCollapse}){let{defaultLayout,onLayoutChanged:persistSizes}=useDefaultLayout({id:persistenceKey??"ds-layout",panelIds:panels.map(p=>p.id),storage:persistenceKey&&storage?storage:NOOP_STORAGE});return React.createElement(CustomGroup,{orientation:"horizontal",defaultLayout:defaultLayout,onLayoutChanged:layout=>{persistSizes(layout),panels.forEach(({id,collapsible})=>{let pct=layout[id];if("number"==typeof pct){if(collapsible&&pct<.5)return void onCollapse(id);pct>=.5&&onResize(id,`${pct}%`)}})}},panels.map((item,index)=>React.createElement(React.Fragment,{key:item.id},index>0&&React.createElement(Separator,null),React.createElement(ResizablePanel,{id:item.id,defaultSize:item.defaultSize,collapsible:item.collapsible,minSize:item.minSize,maxSize:item.maxSize},React.createElement(StyledPortalContainer,{ref:hostFor(item.id)})))))}
|
|
1
|
+
import React from"react";import styled from"@emotion/styled";import{Group,Panel as ResizablePanel,Separator,useDefaultLayout}from"react-resizable-panels";let CustomGroup=styled(Group,{target:"e1l3l34u0",label:"CustomGroup"})({height:"100%",width:"100%"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvSW50ZXJuYWwvUGFuZWwvUGFuZWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9JbnRlcm5hbC9QYW5lbC9QYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQge1xuICBHcm91cCxcbiAgUGFuZWwgYXMgUmVzaXphYmxlUGFuZWwsXG4gIFNlcGFyYXRvcixcbiAgdXNlRGVmYXVsdExheW91dCxcbn0gZnJvbSBcInJlYWN0LXJlc2l6YWJsZS1wYW5lbHNcIjtcbmltcG9ydCB0eXBlIHtcbiAgTGF5b3V0U3RvcmFnZSxcbiAgUGFuZWxJbXBlcmF0aXZlSGFuZGxlLFxufSBmcm9tIFwicmVhY3QtcmVzaXphYmxlLXBhbmVsc1wiO1xuXG4vKiogQSBzaXplOiBwbGFpbiBudW1iZXIgPSBwaXhlbHM7IHVuaXRsZXNzIHN0cmluZyA9IHBlcmNlbnRhZ2UgKFwiMTAlXCIpLiAqL1xudHlwZSBTaXplID0gbnVtYmVyIHwgc3RyaW5nO1xuXG5jb25zdCBDdXN0b21Hcm91cCA9IHN0eWxlZChHcm91cCkoeyBoZWlnaHQ6IFwiMTAwJVwiLCB3aWR0aDogXCIxMDAlXCIgfSk7XG5cbi8vIEhvc3Qgbm9kZSDigJQgY29udGVudCBpcyBwb3J0YWxlZCBpbiBieSB0aGUgY29uc3VtZXIuIGByZWxhdGl2ZWAgc29cbi8vIGFic29sdXRlbHktcG9zaXRpb25lZCBjb250ZW50IHJlZmxvd3Mgd2l0aCB0aGUgcGFuZWwuXG5jb25zdCBTdHlsZWRQb3J0YWxDb250YWluZXIgPSBzdHlsZWQuZGl2KHtcbiAgcG9zaXRpb246IFwicmVsYXRpdmVcIixcbiAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgd2lkdGg6IFwiMTAwJVwiLFxufSk7XG5cbmV4cG9ydCB0eXBlIFBhbmVsSXRlbSA9IHtcbiAgLyoqIFN0YWJsZSBpZCDigJQgdXNlZCBieSByZWFjdC1yZXNpemFibGUtcGFuZWxzIHRvIHRyYWNrIHRoZSBwYW5lbCBhbmQgcGVyc2lzdFxuICAgKiAgaXRzIHNpemUsIGFuZCBwYXNzZWQgYmFjayB0byBgaG9zdEZvcmAvYG9uUmVzaXplYC9gb25Db2xsYXBzZWAuICovXG4gIGlkOiBzdHJpbmc7XG4gIGRlZmF1bHRTaXplPzogU2l6ZTtcbiAgbWluU2l6ZT86IFNpemU7XG4gIG1heFNpemU/OiBTaXplO1xuICAvKiogQWxsb3cgZHJhZy10by1jb2xsYXBzZTsgY29sbGFwc2luZyBmaXJlcyBgb25Db2xsYXBzZShpZClgLiAqL1xuICBjb2xsYXBzaWJsZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBQYW5lbFByb3BzID0ge1xuICAvKiogVmlzaWJsZSBwYW5lbHMsIGxlZnQtdG8tcmlnaHQuIENvbmRpdGlvbmFsbHkgcmVuZGVyaW5nIGl0ZW1zIHRvZ2dsZXMgYVxuICAgKiAgcGFuZWwgV0lUSE9VVCByZW1vdW50aW5nIHRoZSBvdGhlcnMgKG5vIGBrZXlgIG9uIHRoZSBncm91cCkuICovXG4gIHBhbmVsczogUGFuZWxJdGVtW107XG4gIC8qKiBQZXJzaXN0IHNpemVzIChrZXllZCBieSBgcGVyc2lzdGVuY2VLZXlgICsgdGhlIGN1cnJlbnQgcGFuZWwtaWQgc2V0KS4gKi9cbiAgcGVyc2lzdGVuY2VLZXk/OiBzdHJpbmc7XG4gIHN0b3JhZ2U/OiBMYXlvdXRTdG9yYWdlO1xuICAvKiogUmVmIGNhbGxiYWNrIGZvciBhIHBhbmVsJ3MgY29udGVudCBob3N0IGA8ZGl2PmAgKGNvbnN1bWVyIHBvcnRhbHMgaW50byBpdCkuICovXG4gIGhvc3RGb3I6IChpZDogc3RyaW5nKSA9PiAoZWw6IEhUTUxFbGVtZW50IHwgbnVsbCkgPT4gdm9pZDtcbiAgLyoqIFJlcG9ydHMgYSBzZXR0bGVkIGRyYWctcmVzaXplIChzaXplIGFzIGEgXCIlXCIgc3RyaW5nKS4gKi9cbiAgb25SZXNpemU6IChpZDogc3RyaW5nLCBzaXplOiBzdHJpbmcpID0+IHZvaWQ7XG4gIC8qKiBSZXBvcnRzIGEgZHJhZyBwYXN0IGBtaW5TaXplYCBvbiBhIGNvbGxhcHNpYmxlIHBhbmVsLiAqL1xuICBvbkNvbGxhcHNlOiAoaWQ6IHN0cmluZykgPT4gdm9pZDtcbiAgLyoqIFJlZiBjYWxsYmFjayBmb3IgYSBwYW5lbCdzIGltcGVyYXRpdmUgaGFuZGxlIChyZXNpemUvZ2V0U2l6ZSksIHVzZWQgdG9cbiAgICogIGFuaW1hdGUgYSBjb2x1bW4ncyBvcGVuL2Nsb3NlIHdpZHRoLiAqL1xuICBwYW5lbEhhbmRsZUZvcj86IChcbiAgICBpZDogc3RyaW5nXG4gICkgPT4gKGhhbmRsZTogUGFuZWxJbXBlcmF0aXZlSGFuZGxlIHwgbnVsbCkgPT4gdm9pZDtcbiAgLyoqIFJlZiBjYWxsYmFjayBmb3IgYSBwYW5lbCdzIGNvbHVtbiBET00gZWxlbWVudCwgdXNlZCB0byBzZXQgdGhlIHdpZHRoXG4gICAqICBzbGlkZSdzIGBmbGV4LWdyb3dgIHRyYW5zaXRpb24gaW1wZXJhdGl2ZWx5LiAqL1xuICBwYW5lbEVsZW1lbnRGb3I/OiAoaWQ6IHN0cmluZykgPT4gKGVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCkgPT4gdm9pZDtcbiAgLyoqIFdoZW4gaXQgcmV0dXJucyBgdHJ1ZWAsIHRoZSBHcm91cCdzIGxheW91dCBjYWxsYmFja3MgKHJlc2l6ZS9jb2xsYXBzZVxuICAgKiAgcmVwb3J0aW5nIGFuZCBzaXplIHBlcnNpc3RlbmNlKSBhcmUgc2tpcHBlZCwgc28gYSBzbGlkZSdzIGludGVybWVkaWF0ZVxuICAgKiAgbGF5b3V0cyAtIHRoZSAwLXdpZHRoIHN0YXJ0IG9mIGFuIG9wZW4gZXNwZWNpYWxseSwgd2hpY2ggd291bGQgcmVhZCBhcyBhXG4gICAqICBkcmFnLXRvLWNvbGxhcHNlIC0gYXJlbid0IGFjdGVkIG9uLiBHUk9VUC1XSURFOiB3aGlsZSBBTlkgcGFuZWwgc2xpZGVzLFxuICAgKiAgcmVwb3J0aW5nIGlzIG11dGVkIGZvciB0aGUgd2hvbGUgcm93OyB0aGUgc2V0dGxlZCBsYXlvdXQgaXMgcmVwb3J0ZWQgb25jZVxuICAgKiAgaXQgbGlmdHMgKH4zMDBtcykuICovXG4gIHNob3VsZFN1cHByZXNzTGF5b3V0Q2FsbGJhY2s/OiAoKSA9PiBib29sZWFuO1xufTtcblxuLy8gZmxleEdyb3cgYXQvYmVsb3cgdGhpcyBpcyB0cmVhdGVkIGFzIGEgZHJhZy10by1jb2xsYXBzZSBnZXN0dXJlLlxuY29uc3QgQ09MTEFQU0VfRVBTSUxPTiA9IDAuNTtcblxuLy8gcmVhY3QtcmVzaXphYmxlLXBhbmVscyBwZXJzaXN0cyBub3RoaW5nIHdoZW4gZ2l2ZW4gYSBuby1vcCBzdG9yYWdlLlxuY29uc3QgTk9PUF9TVE9SQUdFOiBMYXlvdXRTdG9yYWdlID0geyBnZXRJdGVtOiAoKSA9PiBudWxsLCBzZXRJdGVtOiAoKSA9PiB7fSB9O1xuXG4vKipcbiAqIFN0b3JhZ2UgZm9yIHNpemUgcGVyc2lzdGVuY2U6IHJlYWwgb25seSB3aGVuIEJPVEggYSBgcGVyc2lzdGVuY2VLZXlgIGFuZCBhXG4gKiBgc3RvcmFnZWAgYXJlIHByb3ZpZGVkLiBObyBpbXBsaWNpdCBgd2luZG93LmxvY2FsU3RvcmFnZWAgZmFsbGJhY2sg4oCUXG4gKiBwZXJzaXN0ZW5jZSBpcyBzdHJpY3RseSBvcHQtaW4uXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVTaXplU3RvcmFnZShcbiAgcGVyc2lzdGVuY2VLZXk6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgc3RvcmFnZTogTGF5b3V0U3RvcmFnZSB8IHVuZGVmaW5lZFxuKTogTGF5b3V0U3RvcmFnZSB7XG4gIGlmICghcGVyc2lzdGVuY2VLZXkgfHwgIXN0b3JhZ2UpIHJldHVybiBOT09QX1NUT1JBR0U7XG4gIHJldHVybiBzdG9yYWdlO1xufVxuXG4vKipcbiAqIEludGVybmFsIHJlc2l6YWJsZSBwYW5lbCByb3cg4oCUIHRoZSBvbmx5IHdyYXBwZXIgYXJvdW5kIHJlYWN0LXJlc2l6YWJsZS1wYW5lbHMuXG4gKiBSZW5kZXJzIG9uZSBQYW5lbCBwZXIgaXRlbSB3aXRoIGEgY29udGVudCBob3N0IGA8ZGl2PmAgKHJlZidkIGJhY2sgdmlhXG4gKiBgaG9zdEZvcmApLCBwZXJzaXN0cyBzaXplcywgYW5kIHJlcG9ydHMgZHJhZy1yZXNpemUgLyBkcmFnLXRvLWNvbGxhcHNlLiBUaGVcbiAqIHB1YmxpYyBgTGF5b3V0YCBjb21wb25lbnQgaXMgdGhlIGludGVuZGVkIGNvbnN1bWVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gUGFuZWwoe1xuICBwYW5lbHMsXG4gIHBlcnNpc3RlbmNlS2V5LFxuICBzdG9yYWdlLFxuICBob3N0Rm9yLFxuICBvblJlc2l6ZSxcbiAgb25Db2xsYXBzZSxcbiAgcGFuZWxIYW5kbGVGb3IsXG4gIHBhbmVsRWxlbWVudEZvcixcbiAgc2hvdWxkU3VwcHJlc3NMYXlvdXRDYWxsYmFjayxcbn06IFBhbmVsUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCB7IGRlZmF1bHRMYXlvdXQsIG9uTGF5b3V0Q2hhbmdlZDogcGVyc2lzdFNpemVzIH0gPSB1c2VEZWZhdWx0TGF5b3V0KHtcbiAgICBpZDogcGVyc2lzdGVuY2VLZXkgPz8gXCJkcy1sYXlvdXRcIixcbiAgICBwYW5lbElkczogcGFuZWxzLm1hcCgocCkgPT4gcC5pZCksXG4gICAgc3RvcmFnZTogcmVzb2x2ZVNpemVTdG9yYWdlKHBlcnNpc3RlbmNlS2V5LCBzdG9yYWdlKSxcbiAgfSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q3VzdG9tR3JvdXBcbiAgICAgIG9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiXG4gICAgICBkZWZhdWx0TGF5b3V0PXtkZWZhdWx0TGF5b3V0fVxuICAgICAgb25MYXlvdXRDaGFuZ2VkPXsobGF5b3V0KSA9PiB7XG4gICAgICAgIC8vIE1pZC1zbGlkZSBsYXlvdXRzOiBkb24ndCByZXBvcnQgb3IgcGVyc2lzdC5cbiAgICAgICAgaWYgKHNob3VsZFN1cHByZXNzTGF5b3V0Q2FsbGJhY2s/LigpKSByZXR1cm47XG4gICAgICAgIHBlcnNpc3RTaXplcyhsYXlvdXQpOyAvLyBsaWJyYXJ5IHNhdmVzIHRoZSBzaXplc1xuICAgICAgICBwYW5lbHMuZm9yRWFjaCgoeyBpZCwgY29sbGFwc2libGUgfSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHBjdCA9IGxheW91dFtpZF07XG4gICAgICAgICAgaWYgKHR5cGVvZiBwY3QgIT09IFwibnVtYmVyXCIpIHJldHVybjtcbiAgICAgICAgICBpZiAoY29sbGFwc2libGUgJiYgcGN0IDwgQ09MTEFQU0VfRVBTSUxPTikge1xuICAgICAgICAgICAgb25Db2xsYXBzZShpZCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChwY3QgPj0gQ09MTEFQU0VfRVBTSUxPTikgb25SZXNpemUoaWQsIGAke3BjdH0lYCk7XG4gICAgICAgIH0pO1xuICAgICAgfX1cbiAgICA+XG4gICAgICB7cGFuZWxzLm1hcCgoaXRlbSwgaW5kZXgpID0+IChcbiAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT17aXRlbS5pZH0+XG4gICAgICAgICAge2luZGV4ID4gMCAmJiA8U2VwYXJhdG9yIC8+fVxuICAgICAgICAgIDxSZXNpemFibGVQYW5lbFxuICAgICAgICAgICAgaWQ9e2l0ZW0uaWR9XG4gICAgICAgICAgICBkZWZhdWx0U2l6ZT17aXRlbS5kZWZhdWx0U2l6ZX1cbiAgICAgICAgICAgIGNvbGxhcHNpYmxlPXtpdGVtLmNvbGxhcHNpYmxlfVxuICAgICAgICAgICAgbWluU2l6ZT17aXRlbS5taW5TaXplfVxuICAgICAgICAgICAgbWF4U2l6ZT17aXRlbS5tYXhTaXplfVxuICAgICAgICAgICAgcGFuZWxSZWY9e3BhbmVsSGFuZGxlRm9yPy4oaXRlbS5pZCl9XG4gICAgICAgICAgICBlbGVtZW50UmVmPXtwYW5lbEVsZW1lbnRGb3I/LihpdGVtLmlkKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8U3R5bGVkUG9ydGFsQ29udGFpbmVyIHJlZj17aG9zdEZvcihpdGVtLmlkKX0gLz5cbiAgICAgICAgICA8L1Jlc2l6YWJsZVBhbmVsPlxuICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgKSl9XG4gICAgPC9DdXN0b21Hcm91cD5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQm9CIn0= */"),StyledPortalContainer=styled("div",{target:"e1l3l34u1",label:"StyledPortalContainer"})({position:"relative",height:"100%",width:"100%"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvSW50ZXJuYWwvUGFuZWwvUGFuZWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9JbnRlcm5hbC9QYW5lbC9QYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQge1xuICBHcm91cCxcbiAgUGFuZWwgYXMgUmVzaXphYmxlUGFuZWwsXG4gIFNlcGFyYXRvcixcbiAgdXNlRGVmYXVsdExheW91dCxcbn0gZnJvbSBcInJlYWN0LXJlc2l6YWJsZS1wYW5lbHNcIjtcbmltcG9ydCB0eXBlIHtcbiAgTGF5b3V0U3RvcmFnZSxcbiAgUGFuZWxJbXBlcmF0aXZlSGFuZGxlLFxufSBmcm9tIFwicmVhY3QtcmVzaXphYmxlLXBhbmVsc1wiO1xuXG4vKiogQSBzaXplOiBwbGFpbiBudW1iZXIgPSBwaXhlbHM7IHVuaXRsZXNzIHN0cmluZyA9IHBlcmNlbnRhZ2UgKFwiMTAlXCIpLiAqL1xudHlwZSBTaXplID0gbnVtYmVyIHwgc3RyaW5nO1xuXG5jb25zdCBDdXN0b21Hcm91cCA9IHN0eWxlZChHcm91cCkoeyBoZWlnaHQ6IFwiMTAwJVwiLCB3aWR0aDogXCIxMDAlXCIgfSk7XG5cbi8vIEhvc3Qgbm9kZSDigJQgY29udGVudCBpcyBwb3J0YWxlZCBpbiBieSB0aGUgY29uc3VtZXIuIGByZWxhdGl2ZWAgc29cbi8vIGFic29sdXRlbHktcG9zaXRpb25lZCBjb250ZW50IHJlZmxvd3Mgd2l0aCB0aGUgcGFuZWwuXG5jb25zdCBTdHlsZWRQb3J0YWxDb250YWluZXIgPSBzdHlsZWQuZGl2KHtcbiAgcG9zaXRpb246IFwicmVsYXRpdmVcIixcbiAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgd2lkdGg6IFwiMTAwJVwiLFxufSk7XG5cbmV4cG9ydCB0eXBlIFBhbmVsSXRlbSA9IHtcbiAgLyoqIFN0YWJsZSBpZCDigJQgdXNlZCBieSByZWFjdC1yZXNpemFibGUtcGFuZWxzIHRvIHRyYWNrIHRoZSBwYW5lbCBhbmQgcGVyc2lzdFxuICAgKiAgaXRzIHNpemUsIGFuZCBwYXNzZWQgYmFjayB0byBgaG9zdEZvcmAvYG9uUmVzaXplYC9gb25Db2xsYXBzZWAuICovXG4gIGlkOiBzdHJpbmc7XG4gIGRlZmF1bHRTaXplPzogU2l6ZTtcbiAgbWluU2l6ZT86IFNpemU7XG4gIG1heFNpemU/OiBTaXplO1xuICAvKiogQWxsb3cgZHJhZy10by1jb2xsYXBzZTsgY29sbGFwc2luZyBmaXJlcyBgb25Db2xsYXBzZShpZClgLiAqL1xuICBjb2xsYXBzaWJsZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBQYW5lbFByb3BzID0ge1xuICAvKiogVmlzaWJsZSBwYW5lbHMsIGxlZnQtdG8tcmlnaHQuIENvbmRpdGlvbmFsbHkgcmVuZGVyaW5nIGl0ZW1zIHRvZ2dsZXMgYVxuICAgKiAgcGFuZWwgV0lUSE9VVCByZW1vdW50aW5nIHRoZSBvdGhlcnMgKG5vIGBrZXlgIG9uIHRoZSBncm91cCkuICovXG4gIHBhbmVsczogUGFuZWxJdGVtW107XG4gIC8qKiBQZXJzaXN0IHNpemVzIChrZXllZCBieSBgcGVyc2lzdGVuY2VLZXlgICsgdGhlIGN1cnJlbnQgcGFuZWwtaWQgc2V0KS4gKi9cbiAgcGVyc2lzdGVuY2VLZXk/OiBzdHJpbmc7XG4gIHN0b3JhZ2U/OiBMYXlvdXRTdG9yYWdlO1xuICAvKiogUmVmIGNhbGxiYWNrIGZvciBhIHBhbmVsJ3MgY29udGVudCBob3N0IGA8ZGl2PmAgKGNvbnN1bWVyIHBvcnRhbHMgaW50byBpdCkuICovXG4gIGhvc3RGb3I6IChpZDogc3RyaW5nKSA9PiAoZWw6IEhUTUxFbGVtZW50IHwgbnVsbCkgPT4gdm9pZDtcbiAgLyoqIFJlcG9ydHMgYSBzZXR0bGVkIGRyYWctcmVzaXplIChzaXplIGFzIGEgXCIlXCIgc3RyaW5nKS4gKi9cbiAgb25SZXNpemU6IChpZDogc3RyaW5nLCBzaXplOiBzdHJpbmcpID0+IHZvaWQ7XG4gIC8qKiBSZXBvcnRzIGEgZHJhZyBwYXN0IGBtaW5TaXplYCBvbiBhIGNvbGxhcHNpYmxlIHBhbmVsLiAqL1xuICBvbkNvbGxhcHNlOiAoaWQ6IHN0cmluZykgPT4gdm9pZDtcbiAgLyoqIFJlZiBjYWxsYmFjayBmb3IgYSBwYW5lbCdzIGltcGVyYXRpdmUgaGFuZGxlIChyZXNpemUvZ2V0U2l6ZSksIHVzZWQgdG9cbiAgICogIGFuaW1hdGUgYSBjb2x1bW4ncyBvcGVuL2Nsb3NlIHdpZHRoLiAqL1xuICBwYW5lbEhhbmRsZUZvcj86IChcbiAgICBpZDogc3RyaW5nXG4gICkgPT4gKGhhbmRsZTogUGFuZWxJbXBlcmF0aXZlSGFuZGxlIHwgbnVsbCkgPT4gdm9pZDtcbiAgLyoqIFJlZiBjYWxsYmFjayBmb3IgYSBwYW5lbCdzIGNvbHVtbiBET00gZWxlbWVudCwgdXNlZCB0byBzZXQgdGhlIHdpZHRoXG4gICAqICBzbGlkZSdzIGBmbGV4LWdyb3dgIHRyYW5zaXRpb24gaW1wZXJhdGl2ZWx5LiAqL1xuICBwYW5lbEVsZW1lbnRGb3I/OiAoaWQ6IHN0cmluZykgPT4gKGVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCkgPT4gdm9pZDtcbiAgLyoqIFdoZW4gaXQgcmV0dXJucyBgdHJ1ZWAsIHRoZSBHcm91cCdzIGxheW91dCBjYWxsYmFja3MgKHJlc2l6ZS9jb2xsYXBzZVxuICAgKiAgcmVwb3J0aW5nIGFuZCBzaXplIHBlcnNpc3RlbmNlKSBhcmUgc2tpcHBlZCwgc28gYSBzbGlkZSdzIGludGVybWVkaWF0ZVxuICAgKiAgbGF5b3V0cyAtIHRoZSAwLXdpZHRoIHN0YXJ0IG9mIGFuIG9wZW4gZXNwZWNpYWxseSwgd2hpY2ggd291bGQgcmVhZCBhcyBhXG4gICAqICBkcmFnLXRvLWNvbGxhcHNlIC0gYXJlbid0IGFjdGVkIG9uLiBHUk9VUC1XSURFOiB3aGlsZSBBTlkgcGFuZWwgc2xpZGVzLFxuICAgKiAgcmVwb3J0aW5nIGlzIG11dGVkIGZvciB0aGUgd2hvbGUgcm93OyB0aGUgc2V0dGxlZCBsYXlvdXQgaXMgcmVwb3J0ZWQgb25jZVxuICAgKiAgaXQgbGlmdHMgKH4zMDBtcykuICovXG4gIHNob3VsZFN1cHByZXNzTGF5b3V0Q2FsbGJhY2s/OiAoKSA9PiBib29sZWFuO1xufTtcblxuLy8gZmxleEdyb3cgYXQvYmVsb3cgdGhpcyBpcyB0cmVhdGVkIGFzIGEgZHJhZy10by1jb2xsYXBzZSBnZXN0dXJlLlxuY29uc3QgQ09MTEFQU0VfRVBTSUxPTiA9IDAuNTtcblxuLy8gcmVhY3QtcmVzaXphYmxlLXBhbmVscyBwZXJzaXN0cyBub3RoaW5nIHdoZW4gZ2l2ZW4gYSBuby1vcCBzdG9yYWdlLlxuY29uc3QgTk9PUF9TVE9SQUdFOiBMYXlvdXRTdG9yYWdlID0geyBnZXRJdGVtOiAoKSA9PiBudWxsLCBzZXRJdGVtOiAoKSA9PiB7fSB9O1xuXG4vKipcbiAqIFN0b3JhZ2UgZm9yIHNpemUgcGVyc2lzdGVuY2U6IHJlYWwgb25seSB3aGVuIEJPVEggYSBgcGVyc2lzdGVuY2VLZXlgIGFuZCBhXG4gKiBgc3RvcmFnZWAgYXJlIHByb3ZpZGVkLiBObyBpbXBsaWNpdCBgd2luZG93LmxvY2FsU3RvcmFnZWAgZmFsbGJhY2sg4oCUXG4gKiBwZXJzaXN0ZW5jZSBpcyBzdHJpY3RseSBvcHQtaW4uXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVTaXplU3RvcmFnZShcbiAgcGVyc2lzdGVuY2VLZXk6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgc3RvcmFnZTogTGF5b3V0U3RvcmFnZSB8IHVuZGVmaW5lZFxuKTogTGF5b3V0U3RvcmFnZSB7XG4gIGlmICghcGVyc2lzdGVuY2VLZXkgfHwgIXN0b3JhZ2UpIHJldHVybiBOT09QX1NUT1JBR0U7XG4gIHJldHVybiBzdG9yYWdlO1xufVxuXG4vKipcbiAqIEludGVybmFsIHJlc2l6YWJsZSBwYW5lbCByb3cg4oCUIHRoZSBvbmx5IHdyYXBwZXIgYXJvdW5kIHJlYWN0LXJlc2l6YWJsZS1wYW5lbHMuXG4gKiBSZW5kZXJzIG9uZSBQYW5lbCBwZXIgaXRlbSB3aXRoIGEgY29udGVudCBob3N0IGA8ZGl2PmAgKHJlZidkIGJhY2sgdmlhXG4gKiBgaG9zdEZvcmApLCBwZXJzaXN0cyBzaXplcywgYW5kIHJlcG9ydHMgZHJhZy1yZXNpemUgLyBkcmFnLXRvLWNvbGxhcHNlLiBUaGVcbiAqIHB1YmxpYyBgTGF5b3V0YCBjb21wb25lbnQgaXMgdGhlIGludGVuZGVkIGNvbnN1bWVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gUGFuZWwoe1xuICBwYW5lbHMsXG4gIHBlcnNpc3RlbmNlS2V5LFxuICBzdG9yYWdlLFxuICBob3N0Rm9yLFxuICBvblJlc2l6ZSxcbiAgb25Db2xsYXBzZSxcbiAgcGFuZWxIYW5kbGVGb3IsXG4gIHBhbmVsRWxlbWVudEZvcixcbiAgc2hvdWxkU3VwcHJlc3NMYXlvdXRDYWxsYmFjayxcbn06IFBhbmVsUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCB7IGRlZmF1bHRMYXlvdXQsIG9uTGF5b3V0Q2hhbmdlZDogcGVyc2lzdFNpemVzIH0gPSB1c2VEZWZhdWx0TGF5b3V0KHtcbiAgICBpZDogcGVyc2lzdGVuY2VLZXkgPz8gXCJkcy1sYXlvdXRcIixcbiAgICBwYW5lbElkczogcGFuZWxzLm1hcCgocCkgPT4gcC5pZCksXG4gICAgc3RvcmFnZTogcmVzb2x2ZVNpemVTdG9yYWdlKHBlcnNpc3RlbmNlS2V5LCBzdG9yYWdlKSxcbiAgfSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q3VzdG9tR3JvdXBcbiAgICAgIG9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiXG4gICAgICBkZWZhdWx0TGF5b3V0PXtkZWZhdWx0TGF5b3V0fVxuICAgICAgb25MYXlvdXRDaGFuZ2VkPXsobGF5b3V0KSA9PiB7XG4gICAgICAgIC8vIE1pZC1zbGlkZSBsYXlvdXRzOiBkb24ndCByZXBvcnQgb3IgcGVyc2lzdC5cbiAgICAgICAgaWYgKHNob3VsZFN1cHByZXNzTGF5b3V0Q2FsbGJhY2s/LigpKSByZXR1cm47XG4gICAgICAgIHBlcnNpc3RTaXplcyhsYXlvdXQpOyAvLyBsaWJyYXJ5IHNhdmVzIHRoZSBzaXplc1xuICAgICAgICBwYW5lbHMuZm9yRWFjaCgoeyBpZCwgY29sbGFwc2libGUgfSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHBjdCA9IGxheW91dFtpZF07XG4gICAgICAgICAgaWYgKHR5cGVvZiBwY3QgIT09IFwibnVtYmVyXCIpIHJldHVybjtcbiAgICAgICAgICBpZiAoY29sbGFwc2libGUgJiYgcGN0IDwgQ09MTEFQU0VfRVBTSUxPTikge1xuICAgICAgICAgICAgb25Db2xsYXBzZShpZCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChwY3QgPj0gQ09MTEFQU0VfRVBTSUxPTikgb25SZXNpemUoaWQsIGAke3BjdH0lYCk7XG4gICAgICAgIH0pO1xuICAgICAgfX1cbiAgICA+XG4gICAgICB7cGFuZWxzLm1hcCgoaXRlbSwgaW5kZXgpID0+IChcbiAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT17aXRlbS5pZH0+XG4gICAgICAgICAge2luZGV4ID4gMCAmJiA8U2VwYXJhdG9yIC8+fVxuICAgICAgICAgIDxSZXNpemFibGVQYW5lbFxuICAgICAgICAgICAgaWQ9e2l0ZW0uaWR9XG4gICAgICAgICAgICBkZWZhdWx0U2l6ZT17aXRlbS5kZWZhdWx0U2l6ZX1cbiAgICAgICAgICAgIGNvbGxhcHNpYmxlPXtpdGVtLmNvbGxhcHNpYmxlfVxuICAgICAgICAgICAgbWluU2l6ZT17aXRlbS5taW5TaXplfVxuICAgICAgICAgICAgbWF4U2l6ZT17aXRlbS5tYXhTaXplfVxuICAgICAgICAgICAgcGFuZWxSZWY9e3BhbmVsSGFuZGxlRm9yPy4oaXRlbS5pZCl9XG4gICAgICAgICAgICBlbGVtZW50UmVmPXtwYW5lbEVsZW1lbnRGb3I/LihpdGVtLmlkKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8U3R5bGVkUG9ydGFsQ29udGFpbmVyIHJlZj17aG9zdEZvcihpdGVtLmlkKX0gLz5cbiAgICAgICAgICA8L1Jlc2l6YWJsZVBhbmVsPlxuICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgKSl9XG4gICAgPC9DdXN0b21Hcm91cD5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQjhCIn0= */"),NOOP_STORAGE={getItem:()=>null,setItem:()=>{}};export function Panel({panels,persistenceKey,storage,hostFor,onResize,onCollapse,panelHandleFor,panelElementFor,shouldSuppressLayoutCallback}){let{defaultLayout,onLayoutChanged:persistSizes}=useDefaultLayout({id:persistenceKey??"ds-layout",panelIds:panels.map(p=>p.id),storage:persistenceKey&&storage?storage:NOOP_STORAGE});return React.createElement(CustomGroup,{orientation:"horizontal",defaultLayout:defaultLayout,onLayoutChanged:layout=>{shouldSuppressLayoutCallback?.()||(persistSizes(layout),panels.forEach(({id,collapsible})=>{let pct=layout[id];if("number"==typeof pct){if(collapsible&&pct<.5)return void onCollapse(id);pct>=.5&&onResize(id,`${pct}%`)}}))}},panels.map((item,index)=>React.createElement(React.Fragment,{key:item.id},index>0&&React.createElement(Separator,null),React.createElement(ResizablePanel,{id:item.id,defaultSize:item.defaultSize,collapsible:item.collapsible,minSize:item.minSize,maxSize:item.maxSize,panelRef:panelHandleFor?.(item.id),elementRef:panelElementFor?.(item.id)},React.createElement(StyledPortalContainer,{ref:hostFor(item.id)})))))}
|
|
@@ -3,12 +3,14 @@ import type { SandwichProps } from "./-types";
|
|
|
3
3
|
import { SandwichHeader } from "./SandwichHeader";
|
|
4
4
|
import { SandwichFooter } from "./SandwichFooter";
|
|
5
5
|
/**
|
|
6
|
-
* Internal compound component:
|
|
7
|
-
* `Sandwich.Header` / `Sandwich.Footer`
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
6
|
+
* Internal compound component: a non-scrolling frame whose middle is the ONE
|
|
7
|
+
* scrollable region. `Sandwich.Header` / `Sandwich.Footer` may be authored at
|
|
8
|
+
* any depth among the children in source order (e.g. wrapped by
|
|
9
|
+
* `Layout.RightPanelHeader`) - they PORTAL their content into the frame's
|
|
10
|
+
* static edge slots, so only the content between them scrolls and the
|
|
11
|
+
* scrollbar never spans header or footer. They reveal a border only while
|
|
12
|
+
* content is scrolled under them; edge state is shared through context (see
|
|
13
|
+
* `useSandwichContext.tsx`).
|
|
12
14
|
*/
|
|
13
15
|
declare function SandwichRoot({ children, scrollRef, onScroll, }: SandwichProps): React.ReactElement;
|
|
14
16
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import React,{useCallback,useEffect,useLayoutEffect,useMemo,useRef,useState}from"react";import styled from"@emotion/styled";import{SandwichProvider}from"./useSandwichContext";import{SandwichHeader}from"./SandwichHeader";import{SandwichFooter}from"./SandwichFooter";let useScrollEdgeTracking=({scrollRef,onScroll,setEdges})=>{let containerRef=useRef(null),contentRef=useRef(null),setContainerRef=useCallback(node=>{containerRef.current=node,"function"==typeof scrollRef?scrollRef(node):scrollRef&&(scrollRef.current=node)},[scrollRef]),recalculateEdges=useCallback(()=>{let el=containerRef.current;if(!el)return;let{scrollTop,scrollHeight,clientHeight}=el;setEdges({atTop:scrollTop<=1,atBottom:scrollTop+clientHeight>=scrollHeight-1})},[setEdges]),onContainerScroll=useCallback(event=>{recalculateEdges(),onScroll?.(event)},[recalculateEdges,onScroll]);return useLayoutEffect(recalculateEdges,[recalculateEdges]),useEffect(()=>{if("undefined"==typeof ResizeObserver)return;let observer=new ResizeObserver(()=>recalculateEdges());return containerRef.current&&observer.observe(containerRef.current),contentRef.current&&observer.observe(contentRef.current),()=>observer.disconnect()},[recalculateEdges]),{setContainerRef,contentRef,onContainerScroll}},useSandwichEdgesState=()=>{let[edges,setEdgesState]=useState({atTop:!0,atBottom:!0}),setEdges=useCallback(next=>{setEdgesState(prev=>{let merged={...prev,...next};return merged.atTop===prev.atTop&&merged.atBottom===prev.atBottom?prev:merged})},[]);return useMemo(()=>({...edges,setEdges}),[edges,setEdges])},StyledScrollRoot=styled("div",{target:"e1milkm30",label:"StyledScrollRoot"})({height:"100%",overflowY:"auto",position:"relative"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvSW50ZXJuYWwvU2FuZHdpY2gvU2FuZHdpY2gudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9JbnRlcm5hbC9TYW5kd2ljaC9TYW5kd2ljaC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB0eXBlIHsgU2FuZHdpY2hFZGdlcywgU2FuZHdpY2hQcm9wcyB9IGZyb20gXCIuLy10eXBlc1wiO1xuaW1wb3J0IHsgU2FuZHdpY2hQcm92aWRlciB9IGZyb20gXCIuL3VzZVNhbmR3aWNoQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgeyBTYW5kd2ljaENvbnRleHRWYWx1ZSB9IGZyb20gXCIuL3VzZVNhbmR3aWNoQ29udGV4dFwiO1xuaW1wb3J0IHsgU2FuZHdpY2hIZWFkZXIgfSBmcm9tIFwiLi9TYW5kd2ljaEhlYWRlclwiO1xuaW1wb3J0IHsgU2FuZHdpY2hGb290ZXIgfSBmcm9tIFwiLi9TYW5kd2ljaEZvb3RlclwiO1xuXG4vLyBweCB0b2xlcmFuY2Ug4oCUIHN1Yi1waXhlbCByb3VuZGluZyBzaG91bGRuJ3QgbGVhdmUgYSBkaXZpZGVyIHN0dWNrIG9uLlxuY29uc3QgRURHRV9USFJFU0hPTEQgPSAxO1xuXG50eXBlIFNjcm9sbEVkZ2VUcmFja2luZ1BhcmFtcyA9IHtcbiAgLyoqIENvbnN1bWVyIHJlZiBmb3J3YXJkZWQgdG8gdGhlIHNjcm9sbCBjb250YWluZXIgKHNjcm9sbCByZXN0b3JhdGlvbiBldGMuKS4gKi9cbiAgc2Nyb2xsUmVmPzogUmVhY3QuUmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgLyoqIENvbnN1bWVyIHNjcm9sbCBoYW5kbGVyOyBmaXJlcyBhZnRlciB0aGUgaW50ZXJuYWwgZWRnZSBtZWFzdXJlbWVudC4gKi9cbiAgb25TY3JvbGw/OiBSZWFjdC5VSUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIC8qKiBFZGdlIHNpbmsg4oCUIHRoZSByb290J3MgYHNldEVkZ2VzYC4gKi9cbiAgc2V0RWRnZXM6IChlZGdlczogUGFydGlhbDxTYW5kd2ljaEVkZ2VzPikgPT4gdm9pZDtcbn07XG5cbnR5cGUgU2Nyb2xsRWRnZVRyYWNraW5nID0ge1xuICAvKiogQ2FsbGJhY2sgcmVmIGZvciB0aGUgc2Nyb2xsIGNvbnRhaW5lciBlbGVtZW50LiAqL1xuICBzZXRDb250YWluZXJSZWY6IChub2RlOiBIVE1MRGl2RWxlbWVudCB8IG51bGwpID0+IHZvaWQ7XG4gIC8qKiBSZWYgZm9yIHRoZSBjb250ZW50IGVsZW1lbnQgaW5zaWRlIHRoZSBjb250YWluZXIgKGdyb3d0aCB0cmFja2luZykuICovXG4gIGNvbnRlbnRSZWY6IFJlYWN0Lk11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPjtcbiAgLyoqIFNjcm9sbCBoYW5kbGVyIGZvciB0aGUgY29udGFpbmVyOyBtZWFzdXJlcywgdGhlbiBjYWxscyBgb25TY3JvbGxgLiAqL1xuICBvbkNvbnRhaW5lclNjcm9sbDogUmVhY3QuVUlFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xufTtcblxuLyoqXG4gKiBQdWJsaXNoZXMgdGhlIHNjcm9sbCBjb250YWluZXIncyBlZGdlIHZpc2liaWxpdHkgKGBhdFRvcGAgLyBgYXRCb3R0b21gKSB0b1xuICogYHNldEVkZ2VzYCDigJQgb24gbW91bnQsIG9uIHNjcm9sbCwgYW5kIG9uIHNpemUgY2hhbmdlcyBvZiB0aGUgY29udGFpbmVyIG9yXG4gKiBpdHMgY29udGVudCAodmlhIFJlc2l6ZU9ic2VydmVyKS5cbiAqL1xuY29uc3QgdXNlU2Nyb2xsRWRnZVRyYWNraW5nID0gKHtcbiAgc2Nyb2xsUmVmLFxuICBvblNjcm9sbCxcbiAgc2V0RWRnZXMsXG59OiBTY3JvbGxFZGdlVHJhY2tpbmdQYXJhbXMpOiBTY3JvbGxFZGdlVHJhY2tpbmcgPT4ge1xuICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgY29uc3QgY29udGVudFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuXG4gIC8vIEtlZXAgdGhlIGludGVybmFsIHJlZiAodXNlZCBmb3IgbWVhc3VyaW5nKSB3aGlsZSBhbHNvIGZvcndhcmRpbmcgdGhlIG5vZGUgdG9cbiAgLy8gdGhlIGNvbnN1bWVyJ3MgYHNjcm9sbFJlZmAg4oCUIGEgY2FsbGJhY2sgcmVmIGhhbmRsZXMgYm90aCBmb3Jtcy5cbiAgY29uc3Qgc2V0Q29udGFpbmVyUmVmID0gdXNlQ2FsbGJhY2soXG4gICAgKG5vZGU6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCkgPT4ge1xuICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgaWYgKHR5cGVvZiBzY3JvbGxSZWYgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBzY3JvbGxSZWYobm9kZSk7XG4gICAgICB9IGVsc2UgaWYgKHNjcm9sbFJlZikge1xuICAgICAgICBjb25zdCBtdXRhYmxlUmVmID1cbiAgICAgICAgICBzY3JvbGxSZWYgYXMgUmVhY3QuTXV0YWJsZVJlZk9iamVjdDxIVE1MRGl2RWxlbWVudCB8IG51bGw+O1xuICAgICAgICBtdXRhYmxlUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgfVxuICAgIH0sXG4gICAgW3Njcm9sbFJlZl1cbiAgKTtcblxuICBjb25zdCByZWNhbGN1bGF0ZUVkZ2VzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGVsID0gY29udGFpbmVyUmVmLmN1cnJlbnQ7XG4gICAgaWYgKCFlbCkgcmV0dXJuO1xuICAgIGNvbnN0IHsgc2Nyb2xsVG9wLCBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCB9ID0gZWw7XG4gICAgc2V0RWRnZXMoe1xuICAgICAgYXRUb3A6IHNjcm9sbFRvcCA8PSBFREdFX1RIUkVTSE9MRCxcbiAgICAgIGF0Qm90dG9tOiBzY3JvbGxUb3AgKyBjbGllbnRIZWlnaHQgPj0gc2Nyb2xsSGVpZ2h0IC0gRURHRV9USFJFU0hPTEQsXG4gICAgfSk7XG4gIH0sIFtzZXRFZGdlc10pO1xuXG4gIGNvbnN0IG9uQ29udGFpbmVyU2Nyb2xsID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBSZWFjdC5VSUV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgICAgcmVjYWxjdWxhdGVFZGdlcygpO1xuICAgICAgb25TY3JvbGw/LihldmVudCk7XG4gICAgfSxcbiAgICBbcmVjYWxjdWxhdGVFZGdlcywgb25TY3JvbGxdXG4gICk7XG5cbiAgLy8gTWVhc3VyZSBvbiBtb3VudCBvbmx5IOKAlCB0aGUgUmVzaXplT2JzZXJ2ZXIgKyBzY3JvbGwgaGFuZGxlciBiZWxvdyBjb3ZlciB0aGVcbiAgLy8gcmVzdC4gRG8gTk9UIGRyb3AgdGhlIGRlcHM6IGEgZGVwLWxlc3MgZWZmZWN0IHJlLW1lYXN1cmVzIGV2ZXJ5IHJlbmRlciBhbmQgY2FuXG4gIC8vIGluZmluaXRlLWxvb3Agd2hlbiB0aGUgaGVpZ2h0IGlzIGJyaWVmbHkgdW5zdGFibGUgKHNldEVkZ2VzIOKGkiByZWZsb3cg4oaSIHJlcGVhdCkuXG4gIHVzZUxheW91dEVmZmVjdChyZWNhbGN1bGF0ZUVkZ2VzLCBbcmVjYWxjdWxhdGVFZGdlc10pO1xuXG4gIC8vIFJlLW1lYXN1cmUgb24gc2l6ZSBjaGFuZ2VzIHRoYXQgRE9OJ1QgdHJpZ2dlciBhIFJlYWN0IHJlbmRlcjogdGhlIGNvbnRlbnRcbiAgLy8gZ3Jvd2luZy9zaHJpbmtpbmcgKGltYWdlIGxvYWQsIGFjY29yZGlvbiBleHBhbmQsIHRleHQgcmVmbG93KSBhbmQgdGhlXG4gIC8vIHZpZXdwb3J0IGl0c2VsZiByZXNpemluZy4gT2JzZXJ2ZSBib3RoIG5vZGVzLlxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4gcmVjYWxjdWxhdGVFZGdlcygpKTtcbiAgICBpZiAoY29udGFpbmVyUmVmLmN1cnJlbnQpIG9ic2VydmVyLm9ic2VydmUoY29udGFpbmVyUmVmLmN1cnJlbnQpO1xuICAgIGlmIChjb250ZW50UmVmLmN1cnJlbnQpIG9ic2VydmVyLm9ic2VydmUoY29udGVudFJlZi5jdXJyZW50KTtcbiAgICByZXR1cm4gKCkgPT4gb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICB9LCBbcmVjYWxjdWxhdGVFZGdlc10pO1xuXG4gIHJldHVybiB7IHNldENvbnRhaW5lclJlZiwgY29udGVudFJlZiwgb25Db250YWluZXJTY3JvbGwgfTtcbn07XG5cbi8qKlxuICogT3ducyB0aGUgc2Nyb2xsLWVkZ2Ugc3RhdGUgdGhlIHJvb3QgcHJvdmlkZXMgdGhyb3VnaCBjb250ZXh0OiBldmVyeXRoaW5nXG4gKiB2aXNpYmxlIGJ5IGRlZmF1bHQgKG5vIHNjcm9sbGluZyBuZWVkZWQg4oaSIG5vIGJvcmRlcnMpLCBgc2V0RWRnZXNgIG1lcmdlc1xuICogcGFydGlhbCB1cGRhdGVzIGFuZCBiYWlscyBvdXQgd2hlbiBub3RoaW5nIGNoYW5nZWQgc28gc2Nyb2xsIGhhbmRsZXJzIGNhbid0XG4gKiByZS1yZW5kZXItbG9vcC5cbiAqL1xuY29uc3QgdXNlU2FuZHdpY2hFZGdlc1N0YXRlID0gKCk6IFNhbmR3aWNoQ29udGV4dFZhbHVlID0+IHtcbiAgY29uc3QgW2VkZ2VzLCBzZXRFZGdlc1N0YXRlXSA9IHVzZVN0YXRlPFNhbmR3aWNoRWRnZXM+KHtcbiAgICBhdFRvcDogdHJ1ZSxcbiAgICBhdEJvdHRvbTogdHJ1ZSxcbiAgfSk7XG5cbiAgY29uc3Qgc2V0RWRnZXMgPSB1c2VDYWxsYmFjaygobmV4dDogUGFydGlhbDxTYW5kd2ljaEVkZ2VzPikgPT4ge1xuICAgIHNldEVkZ2VzU3RhdGUoKHByZXYpID0+IHtcbiAgICAgIGNvbnN0IG1lcmdlZCA9IHsgLi4ucHJldiwgLi4ubmV4dCB9O1xuICAgICAgaWYgKG1lcmdlZC5hdFRvcCA9PT0gcHJldi5hdFRvcCAmJiBtZXJnZWQuYXRCb3R0b20gPT09IHByZXYuYXRCb3R0b20pIHtcbiAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgICB9XG4gICAgICByZXR1cm4gbWVyZ2VkO1xuICAgIH0pO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIHVzZU1lbW8oKCkgPT4gKHsgLi4uZWRnZXMsIHNldEVkZ2VzIH0pLCBbZWRnZXMsIHNldEVkZ2VzXSk7XG59O1xuXG5jb25zdCBTdHlsZWRTY3JvbGxSb290ID0gc3R5bGVkLmRpdih7XG4gIGhlaWdodDogXCIxMDAlXCIsXG4gIG92ZXJmbG93WTogXCJhdXRvXCIsXG4gIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG59KTtcblxuLy8gYG1pbi1oZWlnaHRgIGxldHMgc2hvcnQgY29udGVudCBmaWxsIHRoZSBhcmVhIHdpdGhvdXQgY2xpcHBpbmcgdGFsbGVyXG4vLyBjb250ZW50LiBGbGV4IGNvbHVtbiBzbyBhIGBTYW5kd2ljaC5Gb290ZXJgIGNoaWxkIGNhbiBwaW4gaXRzZWxmIHRvIHRoZVxuLy8gYm90dG9tIHZpYSBgbWFyZ2luLXRvcDogYXV0b2AuXG5jb25zdCBTdHlsZWRTY3JvbGxDb250ZW50ID0gc3R5bGVkLmRpdih7XG4gIG1pbkhlaWdodDogXCIxMDAlXCIsXG4gIGRpc3BsYXk6IFwiZmxleFwiLFxuICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxufSk7XG5cbi8qKlxuICogSW50ZXJuYWwgY29tcG91bmQgY29tcG9uZW50OiBPTkUgc2Nyb2xsYWJsZSByZWdpb24gdGhhdCBob3N0c1xuICogYFNhbmR3aWNoLkhlYWRlcmAgLyBgU2FuZHdpY2guRm9vdGVyYCBpbiB0aGUgZmxvdyBvZiBpdHMgY2hpbGRyZW4g4oCUXG4gKiBgcG9zaXRpb246IHN0aWNreWAgcGlucyB0aGVtIHRvIHRoZSBlZGdlcyDigJQgc28gY29uc3VtZXJzIGF1dGhvclxuICogYDxIZWFkZXIgLz57Ym9keX08Rm9vdGVyIC8+YCBpbiBzb3VyY2Ugb3JkZXIsIHdpdGggbm8gc2xvdCBleHRyYWN0aW9uLlxuICogSGVhZGVyL2Zvb3RlciByZXZlYWwgYSBib3JkZXIgb25seSB3aGlsZSBjb250ZW50IGlzIHNjcm9sbGVkIHVuZGVyIHRoZW07XG4gKiBlZGdlIHN0YXRlIGlzIHNoYXJlZCB0aHJvdWdoIGNvbnRleHQgKHNlZSBgdXNlU2FuZHdpY2hDb250ZXh0LnRzeGApLlxuICovXG5mdW5jdGlvbiBTYW5kd2ljaFJvb3Qoe1xuICBjaGlsZHJlbixcbiAgc2Nyb2xsUmVmLFxuICBvblNjcm9sbCxcbn06IFNhbmR3aWNoUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBlZGdlc1ZhbHVlID0gdXNlU2FuZHdpY2hFZGdlc1N0YXRlKCk7XG4gIGNvbnN0IHsgc2V0Q29udGFpbmVyUmVmLCBjb250ZW50UmVmLCBvbkNvbnRhaW5lclNjcm9sbCB9ID1cbiAgICB1c2VTY3JvbGxFZGdlVHJhY2tpbmcoe1xuICAgICAgc2Nyb2xsUmVmLFxuICAgICAgb25TY3JvbGwsXG4gICAgICBzZXRFZGdlczogZWRnZXNWYWx1ZS5zZXRFZGdlcyxcbiAgICB9KTtcblxuICByZXR1cm4gKFxuICAgIDxTYW5kd2ljaFByb3ZpZGVyIHZhbHVlPXtlZGdlc1ZhbHVlfT5cbiAgICAgIHsvKiB0YWJJbmRleCBtYWtlcyB0aGUgc2Nyb2xsIHJlZ2lvbiBrZXlib2FyZC1hY2Nlc3NpYmxlIChhMTF5OiBzY3JvbGxhYmxlXG4gICAgICAgICAgcmVnaW9ucyBtdXN0IGJlIGZvY3VzYWJsZSBzbyBrZXlib2FyZCB1c2VycyBjYW4gc2Nyb2xsIHRoZW0pLiAqL31cbiAgICAgIDxTdHlsZWRTY3JvbGxSb290XG4gICAgICAgIHJlZj17c2V0Q29udGFpbmVyUmVmfVxuICAgICAgICBvblNjcm9sbD17b25Db250YWluZXJTY3JvbGx9XG4gICAgICAgIHRhYkluZGV4PXswfVxuICAgICAgICBkYXRhLWRzLWlkPVwiU2FuZHdpY2hcIlxuICAgICAgPlxuICAgICAgICA8U3R5bGVkU2Nyb2xsQ29udGVudCByZWY9e2NvbnRlbnRSZWZ9PntjaGlsZHJlbn08L1N0eWxlZFNjcm9sbENvbnRlbnQ+XG4gICAgICA8L1N0eWxlZFNjcm9sbFJvb3Q+XG4gICAgPC9TYW5kd2ljaFByb3ZpZGVyPlxuICApO1xufVxuXG4vKipcbiAqIENvbXBvdW5kIGV4cG9ydDogYFNhbmR3aWNoYCB3aXRoIGAuSGVhZGVyYCAvIGAuRm9vdGVyYCBhdHRhY2hlZC5cbiAqIE9iamVjdC5hc3NpZ24ga2VlcHMgdGhlIHN0YXRpYyBzdWItY29tcG9uZW50cyB0eXBlZCBvbiB0aGUgcm9vdFxuICogKGZ1bmN0aW9uLWRlY2xhcmF0aW9uIHN0YXRpY3MgZG9uJ3QgdHlwZS1jaGVjaykuXG4gKi9cbmV4cG9ydCBjb25zdCBTYW5kd2ljaCA9IE9iamVjdC5hc3NpZ24oU2FuZHdpY2hSb290LCB7XG4gIEhlYWRlcjogU2FuZHdpY2hIZWFkZXIsXG4gIEZvb3RlcjogU2FuZHdpY2hGb290ZXIsXG59KTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErSHlCIn0= */"),StyledScrollContent=styled("div",{target:"e1milkm31",label:"StyledScrollContent"})({minHeight:"100%",display:"flex",flexDirection:"column"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvSW50ZXJuYWwvU2FuZHdpY2gvU2FuZHdpY2gudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9JbnRlcm5hbC9TYW5kd2ljaC9TYW5kd2ljaC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB0eXBlIHsgU2FuZHdpY2hFZGdlcywgU2FuZHdpY2hQcm9wcyB9IGZyb20gXCIuLy10eXBlc1wiO1xuaW1wb3J0IHsgU2FuZHdpY2hQcm92aWRlciB9IGZyb20gXCIuL3VzZVNhbmR3aWNoQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgeyBTYW5kd2ljaENvbnRleHRWYWx1ZSB9IGZyb20gXCIuL3VzZVNhbmR3aWNoQ29udGV4dFwiO1xuaW1wb3J0IHsgU2FuZHdpY2hIZWFkZXIgfSBmcm9tIFwiLi9TYW5kd2ljaEhlYWRlclwiO1xuaW1wb3J0IHsgU2FuZHdpY2hGb290ZXIgfSBmcm9tIFwiLi9TYW5kd2ljaEZvb3RlclwiO1xuXG4vLyBweCB0b2xlcmFuY2Ug4oCUIHN1Yi1waXhlbCByb3VuZGluZyBzaG91bGRuJ3QgbGVhdmUgYSBkaXZpZGVyIHN0dWNrIG9uLlxuY29uc3QgRURHRV9USFJFU0hPTEQgPSAxO1xuXG50eXBlIFNjcm9sbEVkZ2VUcmFja2luZ1BhcmFtcyA9IHtcbiAgLyoqIENvbnN1bWVyIHJlZiBmb3J3YXJkZWQgdG8gdGhlIHNjcm9sbCBjb250YWluZXIgKHNjcm9sbCByZXN0b3JhdGlvbiBldGMuKS4gKi9cbiAgc2Nyb2xsUmVmPzogUmVhY3QuUmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgLyoqIENvbnN1bWVyIHNjcm9sbCBoYW5kbGVyOyBmaXJlcyBhZnRlciB0aGUgaW50ZXJuYWwgZWRnZSBtZWFzdXJlbWVudC4gKi9cbiAgb25TY3JvbGw/OiBSZWFjdC5VSUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIC8qKiBFZGdlIHNpbmsg4oCUIHRoZSByb290J3MgYHNldEVkZ2VzYC4gKi9cbiAgc2V0RWRnZXM6IChlZGdlczogUGFydGlhbDxTYW5kd2ljaEVkZ2VzPikgPT4gdm9pZDtcbn07XG5cbnR5cGUgU2Nyb2xsRWRnZVRyYWNraW5nID0ge1xuICAvKiogQ2FsbGJhY2sgcmVmIGZvciB0aGUgc2Nyb2xsIGNvbnRhaW5lciBlbGVtZW50LiAqL1xuICBzZXRDb250YWluZXJSZWY6IChub2RlOiBIVE1MRGl2RWxlbWVudCB8IG51bGwpID0+IHZvaWQ7XG4gIC8qKiBSZWYgZm9yIHRoZSBjb250ZW50IGVsZW1lbnQgaW5zaWRlIHRoZSBjb250YWluZXIgKGdyb3d0aCB0cmFja2luZykuICovXG4gIGNvbnRlbnRSZWY6IFJlYWN0Lk11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPjtcbiAgLyoqIFNjcm9sbCBoYW5kbGVyIGZvciB0aGUgY29udGFpbmVyOyBtZWFzdXJlcywgdGhlbiBjYWxscyBgb25TY3JvbGxgLiAqL1xuICBvbkNvbnRhaW5lclNjcm9sbDogUmVhY3QuVUlFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xufTtcblxuLyoqXG4gKiBQdWJsaXNoZXMgdGhlIHNjcm9sbCBjb250YWluZXIncyBlZGdlIHZpc2liaWxpdHkgKGBhdFRvcGAgLyBgYXRCb3R0b21gKSB0b1xuICogYHNldEVkZ2VzYCDigJQgb24gbW91bnQsIG9uIHNjcm9sbCwgYW5kIG9uIHNpemUgY2hhbmdlcyBvZiB0aGUgY29udGFpbmVyIG9yXG4gKiBpdHMgY29udGVudCAodmlhIFJlc2l6ZU9ic2VydmVyKS5cbiAqL1xuY29uc3QgdXNlU2Nyb2xsRWRnZVRyYWNraW5nID0gKHtcbiAgc2Nyb2xsUmVmLFxuICBvblNjcm9sbCxcbiAgc2V0RWRnZXMsXG59OiBTY3JvbGxFZGdlVHJhY2tpbmdQYXJhbXMpOiBTY3JvbGxFZGdlVHJhY2tpbmcgPT4ge1xuICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgY29uc3QgY29udGVudFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuXG4gIC8vIEtlZXAgdGhlIGludGVybmFsIHJlZiAodXNlZCBmb3IgbWVhc3VyaW5nKSB3aGlsZSBhbHNvIGZvcndhcmRpbmcgdGhlIG5vZGUgdG9cbiAgLy8gdGhlIGNvbnN1bWVyJ3MgYHNjcm9sbFJlZmAg4oCUIGEgY2FsbGJhY2sgcmVmIGhhbmRsZXMgYm90aCBmb3Jtcy5cbiAgY29uc3Qgc2V0Q29udGFpbmVyUmVmID0gdXNlQ2FsbGJhY2soXG4gICAgKG5vZGU6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCkgPT4ge1xuICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgaWYgKHR5cGVvZiBzY3JvbGxSZWYgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBzY3JvbGxSZWYobm9kZSk7XG4gICAgICB9IGVsc2UgaWYgKHNjcm9sbFJlZikge1xuICAgICAgICBjb25zdCBtdXRhYmxlUmVmID1cbiAgICAgICAgICBzY3JvbGxSZWYgYXMgUmVhY3QuTXV0YWJsZVJlZk9iamVjdDxIVE1MRGl2RWxlbWVudCB8IG51bGw+O1xuICAgICAgICBtdXRhYmxlUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgfVxuICAgIH0sXG4gICAgW3Njcm9sbFJlZl1cbiAgKTtcblxuICBjb25zdCByZWNhbGN1bGF0ZUVkZ2VzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGVsID0gY29udGFpbmVyUmVmLmN1cnJlbnQ7XG4gICAgaWYgKCFlbCkgcmV0dXJuO1xuICAgIGNvbnN0IHsgc2Nyb2xsVG9wLCBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCB9ID0gZWw7XG4gICAgc2V0RWRnZXMoe1xuICAgICAgYXRUb3A6IHNjcm9sbFRvcCA8PSBFREdFX1RIUkVTSE9MRCxcbiAgICAgIGF0Qm90dG9tOiBzY3JvbGxUb3AgKyBjbGllbnRIZWlnaHQgPj0gc2Nyb2xsSGVpZ2h0IC0gRURHRV9USFJFU0hPTEQsXG4gICAgfSk7XG4gIH0sIFtzZXRFZGdlc10pO1xuXG4gIGNvbnN0IG9uQ29udGFpbmVyU2Nyb2xsID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBSZWFjdC5VSUV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgICAgcmVjYWxjdWxhdGVFZGdlcygpO1xuICAgICAgb25TY3JvbGw/LihldmVudCk7XG4gICAgfSxcbiAgICBbcmVjYWxjdWxhdGVFZGdlcywgb25TY3JvbGxdXG4gICk7XG5cbiAgLy8gTWVhc3VyZSBvbiBtb3VudCBvbmx5IOKAlCB0aGUgUmVzaXplT2JzZXJ2ZXIgKyBzY3JvbGwgaGFuZGxlciBiZWxvdyBjb3ZlciB0aGVcbiAgLy8gcmVzdC4gRG8gTk9UIGRyb3AgdGhlIGRlcHM6IGEgZGVwLWxlc3MgZWZmZWN0IHJlLW1lYXN1cmVzIGV2ZXJ5IHJlbmRlciBhbmQgY2FuXG4gIC8vIGluZmluaXRlLWxvb3Agd2hlbiB0aGUgaGVpZ2h0IGlzIGJyaWVmbHkgdW5zdGFibGUgKHNldEVkZ2VzIOKGkiByZWZsb3cg4oaSIHJlcGVhdCkuXG4gIHVzZUxheW91dEVmZmVjdChyZWNhbGN1bGF0ZUVkZ2VzLCBbcmVjYWxjdWxhdGVFZGdlc10pO1xuXG4gIC8vIFJlLW1lYXN1cmUgb24gc2l6ZSBjaGFuZ2VzIHRoYXQgRE9OJ1QgdHJpZ2dlciBhIFJlYWN0IHJlbmRlcjogdGhlIGNvbnRlbnRcbiAgLy8gZ3Jvd2luZy9zaHJpbmtpbmcgKGltYWdlIGxvYWQsIGFjY29yZGlvbiBleHBhbmQsIHRleHQgcmVmbG93KSBhbmQgdGhlXG4gIC8vIHZpZXdwb3J0IGl0c2VsZiByZXNpemluZy4gT2JzZXJ2ZSBib3RoIG5vZGVzLlxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4gcmVjYWxjdWxhdGVFZGdlcygpKTtcbiAgICBpZiAoY29udGFpbmVyUmVmLmN1cnJlbnQpIG9ic2VydmVyLm9ic2VydmUoY29udGFpbmVyUmVmLmN1cnJlbnQpO1xuICAgIGlmIChjb250ZW50UmVmLmN1cnJlbnQpIG9ic2VydmVyLm9ic2VydmUoY29udGVudFJlZi5jdXJyZW50KTtcbiAgICByZXR1cm4gKCkgPT4gb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICB9LCBbcmVjYWxjdWxhdGVFZGdlc10pO1xuXG4gIHJldHVybiB7IHNldENvbnRhaW5lclJlZiwgY29udGVudFJlZiwgb25Db250YWluZXJTY3JvbGwgfTtcbn07XG5cbi8qKlxuICogT3ducyB0aGUgc2Nyb2xsLWVkZ2Ugc3RhdGUgdGhlIHJvb3QgcHJvdmlkZXMgdGhyb3VnaCBjb250ZXh0OiBldmVyeXRoaW5nXG4gKiB2aXNpYmxlIGJ5IGRlZmF1bHQgKG5vIHNjcm9sbGluZyBuZWVkZWQg4oaSIG5vIGJvcmRlcnMpLCBgc2V0RWRnZXNgIG1lcmdlc1xuICogcGFydGlhbCB1cGRhdGVzIGFuZCBiYWlscyBvdXQgd2hlbiBub3RoaW5nIGNoYW5nZWQgc28gc2Nyb2xsIGhhbmRsZXJzIGNhbid0XG4gKiByZS1yZW5kZXItbG9vcC5cbiAqL1xuY29uc3QgdXNlU2FuZHdpY2hFZGdlc1N0YXRlID0gKCk6IFNhbmR3aWNoQ29udGV4dFZhbHVlID0+IHtcbiAgY29uc3QgW2VkZ2VzLCBzZXRFZGdlc1N0YXRlXSA9IHVzZVN0YXRlPFNhbmR3aWNoRWRnZXM+KHtcbiAgICBhdFRvcDogdHJ1ZSxcbiAgICBhdEJvdHRvbTogdHJ1ZSxcbiAgfSk7XG5cbiAgY29uc3Qgc2V0RWRnZXMgPSB1c2VDYWxsYmFjaygobmV4dDogUGFydGlhbDxTYW5kd2ljaEVkZ2VzPikgPT4ge1xuICAgIHNldEVkZ2VzU3RhdGUoKHByZXYpID0+IHtcbiAgICAgIGNvbnN0IG1lcmdlZCA9IHsgLi4ucHJldiwgLi4ubmV4dCB9O1xuICAgICAgaWYgKG1lcmdlZC5hdFRvcCA9PT0gcHJldi5hdFRvcCAmJiBtZXJnZWQuYXRCb3R0b20gPT09IHByZXYuYXRCb3R0b20pIHtcbiAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgICB9XG4gICAgICByZXR1cm4gbWVyZ2VkO1xuICAgIH0pO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIHVzZU1lbW8oKCkgPT4gKHsgLi4uZWRnZXMsIHNldEVkZ2VzIH0pLCBbZWRnZXMsIHNldEVkZ2VzXSk7XG59O1xuXG5jb25zdCBTdHlsZWRTY3JvbGxSb290ID0gc3R5bGVkLmRpdih7XG4gIGhlaWdodDogXCIxMDAlXCIsXG4gIG92ZXJmbG93WTogXCJhdXRvXCIsXG4gIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG59KTtcblxuLy8gYG1pbi1oZWlnaHRgIGxldHMgc2hvcnQgY29udGVudCBmaWxsIHRoZSBhcmVhIHdpdGhvdXQgY2xpcHBpbmcgdGFsbGVyXG4vLyBjb250ZW50LiBGbGV4IGNvbHVtbiBzbyBhIGBTYW5kd2ljaC5Gb290ZXJgIGNoaWxkIGNhbiBwaW4gaXRzZWxmIHRvIHRoZVxuLy8gYm90dG9tIHZpYSBgbWFyZ2luLXRvcDogYXV0b2AuXG5jb25zdCBTdHlsZWRTY3JvbGxDb250ZW50ID0gc3R5bGVkLmRpdih7XG4gIG1pbkhlaWdodDogXCIxMDAlXCIsXG4gIGRpc3BsYXk6IFwiZmxleFwiLFxuICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxufSk7XG5cbi8qKlxuICogSW50ZXJuYWwgY29tcG91bmQgY29tcG9uZW50OiBPTkUgc2Nyb2xsYWJsZSByZWdpb24gdGhhdCBob3N0c1xuICogYFNhbmR3aWNoLkhlYWRlcmAgLyBgU2FuZHdpY2guRm9vdGVyYCBpbiB0aGUgZmxvdyBvZiBpdHMgY2hpbGRyZW4g4oCUXG4gKiBgcG9zaXRpb246IHN0aWNreWAgcGlucyB0aGVtIHRvIHRoZSBlZGdlcyDigJQgc28gY29uc3VtZXJzIGF1dGhvclxuICogYDxIZWFkZXIgLz57Ym9keX08Rm9vdGVyIC8+YCBpbiBzb3VyY2Ugb3JkZXIsIHdpdGggbm8gc2xvdCBleHRyYWN0aW9uLlxuICogSGVhZGVyL2Zvb3RlciByZXZlYWwgYSBib3JkZXIgb25seSB3aGlsZSBjb250ZW50IGlzIHNjcm9sbGVkIHVuZGVyIHRoZW07XG4gKiBlZGdlIHN0YXRlIGlzIHNoYXJlZCB0aHJvdWdoIGNvbnRleHQgKHNlZSBgdXNlU2FuZHdpY2hDb250ZXh0LnRzeGApLlxuICovXG5mdW5jdGlvbiBTYW5kd2ljaFJvb3Qoe1xuICBjaGlsZHJlbixcbiAgc2Nyb2xsUmVmLFxuICBvblNjcm9sbCxcbn06IFNhbmR3aWNoUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBlZGdlc1ZhbHVlID0gdXNlU2FuZHdpY2hFZGdlc1N0YXRlKCk7XG4gIGNvbnN0IHsgc2V0Q29udGFpbmVyUmVmLCBjb250ZW50UmVmLCBvbkNvbnRhaW5lclNjcm9sbCB9ID1cbiAgICB1c2VTY3JvbGxFZGdlVHJhY2tpbmcoe1xuICAgICAgc2Nyb2xsUmVmLFxuICAgICAgb25TY3JvbGwsXG4gICAgICBzZXRFZGdlczogZWRnZXNWYWx1ZS5zZXRFZGdlcyxcbiAgICB9KTtcblxuICByZXR1cm4gKFxuICAgIDxTYW5kd2ljaFByb3ZpZGVyIHZhbHVlPXtlZGdlc1ZhbHVlfT5cbiAgICAgIHsvKiB0YWJJbmRleCBtYWtlcyB0aGUgc2Nyb2xsIHJlZ2lvbiBrZXlib2FyZC1hY2Nlc3NpYmxlIChhMTF5OiBzY3JvbGxhYmxlXG4gICAgICAgICAgcmVnaW9ucyBtdXN0IGJlIGZvY3VzYWJsZSBzbyBrZXlib2FyZCB1c2VycyBjYW4gc2Nyb2xsIHRoZW0pLiAqL31cbiAgICAgIDxTdHlsZWRTY3JvbGxSb290XG4gICAgICAgIHJlZj17c2V0Q29udGFpbmVyUmVmfVxuICAgICAgICBvblNjcm9sbD17b25Db250YWluZXJTY3JvbGx9XG4gICAgICAgIHRhYkluZGV4PXswfVxuICAgICAgICBkYXRhLWRzLWlkPVwiU2FuZHdpY2hcIlxuICAgICAgPlxuICAgICAgICA8U3R5bGVkU2Nyb2xsQ29udGVudCByZWY9e2NvbnRlbnRSZWZ9PntjaGlsZHJlbn08L1N0eWxlZFNjcm9sbENvbnRlbnQ+XG4gICAgICA8L1N0eWxlZFNjcm9sbFJvb3Q+XG4gICAgPC9TYW5kd2ljaFByb3ZpZGVyPlxuICApO1xufVxuXG4vKipcbiAqIENvbXBvdW5kIGV4cG9ydDogYFNhbmR3aWNoYCB3aXRoIGAuSGVhZGVyYCAvIGAuRm9vdGVyYCBhdHRhY2hlZC5cbiAqIE9iamVjdC5hc3NpZ24ga2VlcHMgdGhlIHN0YXRpYyBzdWItY29tcG9uZW50cyB0eXBlZCBvbiB0aGUgcm9vdFxuICogKGZ1bmN0aW9uLWRlY2xhcmF0aW9uIHN0YXRpY3MgZG9uJ3QgdHlwZS1jaGVjaykuXG4gKi9cbmV4cG9ydCBjb25zdCBTYW5kd2ljaCA9IE9iamVjdC5hc3NpZ24oU2FuZHdpY2hSb290LCB7XG4gIEhlYWRlcjogU2FuZHdpY2hIZWFkZXIsXG4gIEZvb3RlcjogU2FuZHdpY2hGb290ZXIsXG59KTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3STRCIn0= */");export const Sandwich=Object.assign(function({children,scrollRef,onScroll}){let edgesValue=useSandwichEdgesState(),{setContainerRef,contentRef,onContainerScroll}=useScrollEdgeTracking({scrollRef,onScroll,setEdges:edgesValue.setEdges});return React.createElement(SandwichProvider,{value:edgesValue},React.createElement(StyledScrollRoot,{ref:setContainerRef,onScroll:onContainerScroll,tabIndex:0,"data-ds-id":"Sandwich"},React.createElement(StyledScrollContent,{ref:contentRef},children)))},{Header:SandwichHeader,Footer:SandwichFooter});
|
|
1
|
+
import React,{useCallback,useEffect,useLayoutEffect,useMemo,useState}from"react";import styled from"@emotion/styled";import{SandwichProvider}from"./useSandwichContext";import{SandwichHeader}from"./SandwichHeader";import{SandwichFooter}from"./SandwichFooter";let useScrollEdgeTracking=({scrollRef,onScroll,setEdges})=>{let[containerEl,setContainerEl]=useState(null),[contentEl,setContentEl]=useState(null),setContainerRef=useCallback(node=>{setContainerEl(node),"function"==typeof scrollRef?scrollRef(node):scrollRef&&(scrollRef.current=node)},[scrollRef]),recalculateEdges=useCallback(()=>{if(!containerEl)return;let{scrollTop,scrollHeight,clientHeight}=containerEl;setEdges({atTop:scrollTop<=1,atBottom:scrollTop+clientHeight>=scrollHeight-1})},[containerEl,setEdges]),onContainerScroll=useCallback(event=>{recalculateEdges(),onScroll?.(event)},[recalculateEdges,onScroll]);return useLayoutEffect(recalculateEdges,[recalculateEdges]),useEffect(()=>{if("undefined"==typeof ResizeObserver)return;let observer=new ResizeObserver(()=>recalculateEdges());return containerEl&&observer.observe(containerEl),contentEl&&observer.observe(contentEl),()=>observer.disconnect()},[containerEl,contentEl,recalculateEdges]),{setContainerRef,setContentRef:setContentEl,onContainerScroll}},useSandwichEdgesState=()=>{let[edges,setEdgesState]=useState({atTop:!0,atBottom:!0}),setEdges=useCallback(next=>{setEdgesState(prev=>{let merged={...prev,...next};return merged.atTop===prev.atTop&&merged.atBottom===prev.atBottom?prev:merged})},[]);return useMemo(()=>({...edges,setEdges}),[edges,setEdges])},StyledRoot=styled("div",{target:"ejnp4220",label:"StyledRoot"})({height:"100%",display:"flex",flexDirection:"column",position:"relative"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvSW50ZXJuYWwvU2FuZHdpY2gvU2FuZHdpY2gudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9JbnRlcm5hbC9TYW5kd2ljaC9TYW5kd2ljaC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFNhbmR3aWNoRWRnZXMsIFNhbmR3aWNoUHJvcHMgfSBmcm9tIFwiLi8tdHlwZXNcIjtcbmltcG9ydCB7IFNhbmR3aWNoUHJvdmlkZXIgfSBmcm9tIFwiLi91c2VTYW5kd2ljaENvbnRleHRcIjtcbmltcG9ydCB0eXBlIHsgU2FuZHdpY2hDb250ZXh0VmFsdWUgfSBmcm9tIFwiLi91c2VTYW5kd2ljaENvbnRleHRcIjtcbmltcG9ydCB7IFNhbmR3aWNoSGVhZGVyIH0gZnJvbSBcIi4vU2FuZHdpY2hIZWFkZXJcIjtcbmltcG9ydCB7IFNhbmR3aWNoRm9vdGVyIH0gZnJvbSBcIi4vU2FuZHdpY2hGb290ZXJcIjtcblxuLy8gcHggdG9sZXJhbmNlIOKAlCBzdWItcGl4ZWwgcm91bmRpbmcgc2hvdWxkbid0IGxlYXZlIGEgZGl2aWRlciBzdHVjayBvbi5cbmNvbnN0IEVER0VfVEhSRVNIT0xEID0gMTtcblxudHlwZSBTY3JvbGxFZGdlVHJhY2tpbmdQYXJhbXMgPSB7XG4gIC8qKiBDb25zdW1lciByZWYgZm9yd2FyZGVkIHRvIHRoZSBzY3JvbGwgY29udGFpbmVyIChzY3JvbGwgcmVzdG9yYXRpb24gZXRjLikuICovXG4gIHNjcm9sbFJlZj86IFJlYWN0LlJlZjxIVE1MRGl2RWxlbWVudD47XG4gIC8qKiBDb25zdW1lciBzY3JvbGwgaGFuZGxlcjsgZmlyZXMgYWZ0ZXIgdGhlIGludGVybmFsIGVkZ2UgbWVhc3VyZW1lbnQuICovXG4gIG9uU2Nyb2xsPzogUmVhY3QuVUlFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICAvKiogRWRnZSBzaW5rIOKAlCB0aGUgcm9vdCdzIGBzZXRFZGdlc2AuICovXG4gIHNldEVkZ2VzOiAoZWRnZXM6IFBhcnRpYWw8U2FuZHdpY2hFZGdlcz4pID0+IHZvaWQ7XG59O1xuXG50eXBlIFNjcm9sbEVkZ2VUcmFja2luZyA9IHtcbiAgLyoqIENhbGxiYWNrIHJlZiBmb3IgdGhlIHNjcm9sbCBjb250YWluZXIgZWxlbWVudC4gKi9cbiAgc2V0Q29udGFpbmVyUmVmOiAobm9kZTogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xuICAvKiogQ2FsbGJhY2sgcmVmIGZvciB0aGUgY29udGVudCBlbGVtZW50IGluc2lkZSB0aGUgY29udGFpbmVyIChncm93dGggdHJhY2tpbmcpLiAqL1xuICBzZXRDb250ZW50UmVmOiAobm9kZTogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xuICAvKiogU2Nyb2xsIGhhbmRsZXIgZm9yIHRoZSBjb250YWluZXI7IG1lYXN1cmVzLCB0aGVuIGNhbGxzIGBvblNjcm9sbGAuICovXG4gIG9uQ29udGFpbmVyU2Nyb2xsOiBSZWFjdC5VSUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG59O1xuXG4vKipcbiAqIFB1Ymxpc2hlcyB0aGUgc2Nyb2xsIGNvbnRhaW5lcidzIGVkZ2UgdmlzaWJpbGl0eSAoYGF0VG9wYCAvIGBhdEJvdHRvbWApIHRvXG4gKiBgc2V0RWRnZXNgIOKAlCBvbiBtb3VudCwgb24gc2Nyb2xsLCBhbmQgb24gc2l6ZSBjaGFuZ2VzIG9mIHRoZSBjb250YWluZXIgb3JcbiAqIGl0cyBjb250ZW50ICh2aWEgUmVzaXplT2JzZXJ2ZXIpLiBUaGUgdHJhY2tlZCBlbGVtZW50cyBsaXZlIGluIHN0YXRlIHNvIHRoZVxuICogdHJhY2tpbmcgcmV0YXJnZXRzIHdoZW4gdGhlIHNjcm9sbGVyIGNoYW5nZXMgKHJvb3Qg4oaUIGBTYW5kd2ljaC5Cb2R5YCkuXG4gKi9cbmNvbnN0IHVzZVNjcm9sbEVkZ2VUcmFja2luZyA9ICh7XG4gIHNjcm9sbFJlZixcbiAgb25TY3JvbGwsXG4gIHNldEVkZ2VzLFxufTogU2Nyb2xsRWRnZVRyYWNraW5nUGFyYW1zKTogU2Nyb2xsRWRnZVRyYWNraW5nID0+IHtcbiAgY29uc3QgW2NvbnRhaW5lckVsLCBzZXRDb250YWluZXJFbF0gPSB1c2VTdGF0ZTxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbY29udGVudEVsLCBzZXRDb250ZW50RWxdID0gdXNlU3RhdGU8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcblxuICAvLyBLZWVwIHRoZSBpbnRlcm5hbCBlbGVtZW50ICh1c2VkIGZvciBtZWFzdXJpbmcpIHdoaWxlIGFsc28gZm9yd2FyZGluZyB0aGVcbiAgLy8gbm9kZSB0byB0aGUgY29uc3VtZXIncyBgc2Nyb2xsUmVmYCDigJQgYSBjYWxsYmFjayByZWYgaGFuZGxlcyBib3RoIGZvcm1zLlxuICBjb25zdCBzZXRDb250YWluZXJSZWYgPSB1c2VDYWxsYmFjayhcbiAgICAobm9kZTogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiB7XG4gICAgICBzZXRDb250YWluZXJFbChub2RlKTtcbiAgICAgIGlmICh0eXBlb2Ygc2Nyb2xsUmVmID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgc2Nyb2xsUmVmKG5vZGUpO1xuICAgICAgfSBlbHNlIGlmIChzY3JvbGxSZWYpIHtcbiAgICAgICAgY29uc3QgbXV0YWJsZVJlZiA9XG4gICAgICAgICAgc2Nyb2xsUmVmIGFzIFJlYWN0Lk11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPjtcbiAgICAgICAgbXV0YWJsZVJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzY3JvbGxSZWZdXG4gICk7XG5cbiAgY29uc3QgcmVjYWxjdWxhdGVFZGdlcyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoIWNvbnRhaW5lckVsKSByZXR1cm47XG4gICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBjb250YWluZXJFbDtcbiAgICBzZXRFZGdlcyh7XG4gICAgICBhdFRvcDogc2Nyb2xsVG9wIDw9IEVER0VfVEhSRVNIT0xELFxuICAgICAgYXRCb3R0b206IHNjcm9sbFRvcCArIGNsaWVudEhlaWdodCA+PSBzY3JvbGxIZWlnaHQgLSBFREdFX1RIUkVTSE9MRCxcbiAgICB9KTtcbiAgfSwgW2NvbnRhaW5lckVsLCBzZXRFZGdlc10pO1xuXG4gIGNvbnN0IG9uQ29udGFpbmVyU2Nyb2xsID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBSZWFjdC5VSUV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgICAgcmVjYWxjdWxhdGVFZGdlcygpO1xuICAgICAgb25TY3JvbGw/LihldmVudCk7XG4gICAgfSxcbiAgICBbcmVjYWxjdWxhdGVFZGdlcywgb25TY3JvbGxdXG4gICk7XG5cbiAgLy8gTWVhc3VyZSBvbiBhdHRhY2ggb25seSDigJQgdGhlIFJlc2l6ZU9ic2VydmVyICsgc2Nyb2xsIGhhbmRsZXIgYmVsb3cgY292ZXIgdGhlXG4gIC8vIHJlc3QuIERvIE5PVCBkcm9wIHRoZSBkZXBzOiBhIGRlcC1sZXNzIGVmZmVjdCByZS1tZWFzdXJlcyBldmVyeSByZW5kZXIgYW5kIGNhblxuICAvLyBpbmZpbml0ZS1sb29wIHdoZW4gdGhlIGhlaWdodCBpcyBicmllZmx5IHVuc3RhYmxlIChzZXRFZGdlcyDihpIgcmVmbG93IOKGkiByZXBlYXQpLlxuICB1c2VMYXlvdXRFZmZlY3QocmVjYWxjdWxhdGVFZGdlcywgW3JlY2FsY3VsYXRlRWRnZXNdKTtcblxuICAvLyBSZS1tZWFzdXJlIG9uIHNpemUgY2hhbmdlcyB0aGF0IERPTidUIHRyaWdnZXIgYSBSZWFjdCByZW5kZXI6IHRoZSBjb250ZW50XG4gIC8vIGdyb3dpbmcvc2hyaW5raW5nIChpbWFnZSBsb2FkLCBhY2NvcmRpb24gZXhwYW5kLCB0ZXh0IHJlZmxvdykgYW5kIHRoZVxuICAvLyB2aWV3cG9ydCBpdHNlbGYgcmVzaXppbmcuIE9ic2VydmUgYm90aCBub2Rlcy5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodHlwZW9mIFJlc2l6ZU9ic2VydmVyID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHJlY2FsY3VsYXRlRWRnZXMoKSk7XG4gICAgaWYgKGNvbnRhaW5lckVsKSBvYnNlcnZlci5vYnNlcnZlKGNvbnRhaW5lckVsKTtcbiAgICBpZiAoY29udGVudEVsKSBvYnNlcnZlci5vYnNlcnZlKGNvbnRlbnRFbCk7XG4gICAgcmV0dXJuICgpID0+IG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgfSwgW2NvbnRhaW5lckVsLCBjb250ZW50RWwsIHJlY2FsY3VsYXRlRWRnZXNdKTtcblxuICByZXR1cm4geyBzZXRDb250YWluZXJSZWYsIHNldENvbnRlbnRSZWY6IHNldENvbnRlbnRFbCwgb25Db250YWluZXJTY3JvbGwgfTtcbn07XG5cbnR5cGUgU2FuZHdpY2hFZGdlc1N0YXRlID0gU2FuZHdpY2hFZGdlcyAmIHtcbiAgc2V0RWRnZXM6IChlZGdlczogUGFydGlhbDxTYW5kd2ljaEVkZ2VzPikgPT4gdm9pZDtcbn07XG5cbi8qKlxuICogT3ducyB0aGUgc2Nyb2xsLWVkZ2Ugc3RhdGUgdGhlIHJvb3QgcHJvdmlkZXMgdGhyb3VnaCBjb250ZXh0OiBldmVyeXRoaW5nXG4gKiB2aXNpYmxlIGJ5IGRlZmF1bHQgKG5vIHNjcm9sbGluZyBuZWVkZWQg4oaSIG5vIGJvcmRlcnMpLCBgc2V0RWRnZXNgIG1lcmdlc1xuICogcGFydGlhbCB1cGRhdGVzIGFuZCBiYWlscyBvdXQgd2hlbiBub3RoaW5nIGNoYW5nZWQgc28gc2Nyb2xsIGhhbmRsZXJzIGNhbid0XG4gKiByZS1yZW5kZXItbG9vcC5cbiAqL1xuY29uc3QgdXNlU2FuZHdpY2hFZGdlc1N0YXRlID0gKCk6IFNhbmR3aWNoRWRnZXNTdGF0ZSA9PiB7XG4gIGNvbnN0IFtlZGdlcywgc2V0RWRnZXNTdGF0ZV0gPSB1c2VTdGF0ZTxTYW5kd2ljaEVkZ2VzPih7XG4gICAgYXRUb3A6IHRydWUsXG4gICAgYXRCb3R0b206IHRydWUsXG4gIH0pO1xuXG4gIGNvbnN0IHNldEVkZ2VzID0gdXNlQ2FsbGJhY2soKG5leHQ6IFBhcnRpYWw8U2FuZHdpY2hFZGdlcz4pID0+IHtcbiAgICBzZXRFZGdlc1N0YXRlKChwcmV2KSA9PiB7XG4gICAgICBjb25zdCBtZXJnZWQgPSB7IC4uLnByZXYsIC4uLm5leHQgfTtcbiAgICAgIGlmIChtZXJnZWQuYXRUb3AgPT09IHByZXYuYXRUb3AgJiYgbWVyZ2VkLmF0Qm90dG9tID09PSBwcmV2LmF0Qm90dG9tKSB7XG4gICAgICAgIHJldHVybiBwcmV2O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG1lcmdlZDtcbiAgICB9KTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiB1c2VNZW1vKCgpID0+ICh7IC4uLmVkZ2VzLCBzZXRFZGdlcyB9KSwgW2VkZ2VzLCBzZXRFZGdlc10pO1xufTtcblxuLy8gTm9uLXNjcm9sbGluZyBmcmFtZTogc3RhdGljIGhlYWRlciBzbG90IC8gc2Nyb2xsYWJsZSBib2R5IC8gc3RhdGljIGZvb3RlclxuLy8gc2xvdCwgdG9wIHRvIGJvdHRvbS5cbmNvbnN0IFN0eWxlZFJvb3QgPSBzdHlsZWQuZGl2KHtcbiAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgZGlzcGxheTogXCJmbGV4XCIsXG4gIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG59KTtcblxuLy8gU3RhdGljIGhvc3QgZm9yIHRoZSBwb3J0YWxlZCBgU2FuZHdpY2guSGVhZGVyYCAvIGBTYW5kd2ljaC5Gb290ZXJgIGNvbnRlbnQgLVxuLy8ga2VlcHMgaXRzIG5hdHVyYWwgaGVpZ2h0LCBuZXZlciBzY3JvbGxzLlxuY29uc3QgU3R5bGVkRWRnZVNsb3QgPSBzdHlsZWQuZGl2KHtcbiAgZmxleDogXCIwIDAgYXV0b1wiLFxufSk7XG5cbi8vIFRoZSBvbmx5IHNjcm9sbGVyOiBqdXN0IHRoZSBjb250ZW50IGJldHdlZW4gaGVhZGVyIGFuZCBmb290ZXIsIHNvIHRoZVxuLy8gc2Nyb2xsYmFyIG5ldmVyIHNwYW5zIHRoZW0uXG5jb25zdCBTdHlsZWRTY3JvbGxCb2R5ID0gc3R5bGVkLmRpdih7XG4gIGZsZXg6IFwiMSAxIGF1dG9cIixcbiAgbWluSGVpZ2h0OiAwLFxuICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbi8vIGBtaW4taGVpZ2h0YCBsZXRzIHNob3J0IGNvbnRlbnQgZmlsbCB0aGUgYm9keSB3aXRob3V0IGNsaXBwaW5nIHRhbGxlclxuLy8gY29udGVudC4gRmxleCBjb2x1bW4gc28gYm90dG9tLWFsaWduZWQgY29udGVudCAoY2hhdCkgY2FuIHBpbiBpdHNlbGYgZG93bi5cbmNvbnN0IFN0eWxlZFNjcm9sbENvbnRlbnQgPSBzdHlsZWQuZGl2KHtcbiAgbWluSGVpZ2h0OiBcIjEwMCVcIixcbiAgZGlzcGxheTogXCJmbGV4XCIsXG4gIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG59KTtcblxuLyoqXG4gKiBJbnRlcm5hbCBjb21wb3VuZCBjb21wb25lbnQ6IGEgbm9uLXNjcm9sbGluZyBmcmFtZSB3aG9zZSBtaWRkbGUgaXMgdGhlIE9ORVxuICogc2Nyb2xsYWJsZSByZWdpb24uIGBTYW5kd2ljaC5IZWFkZXJgIC8gYFNhbmR3aWNoLkZvb3RlcmAgbWF5IGJlIGF1dGhvcmVkIGF0XG4gKiBhbnkgZGVwdGggYW1vbmcgdGhlIGNoaWxkcmVuIGluIHNvdXJjZSBvcmRlciAoZS5nLiB3cmFwcGVkIGJ5XG4gKiBgTGF5b3V0LlJpZ2h0UGFuZWxIZWFkZXJgKSAtIHRoZXkgUE9SVEFMIHRoZWlyIGNvbnRlbnQgaW50byB0aGUgZnJhbWUnc1xuICogc3RhdGljIGVkZ2Ugc2xvdHMsIHNvIG9ubHkgdGhlIGNvbnRlbnQgYmV0d2VlbiB0aGVtIHNjcm9sbHMgYW5kIHRoZVxuICogc2Nyb2xsYmFyIG5ldmVyIHNwYW5zIGhlYWRlciBvciBmb290ZXIuIFRoZXkgcmV2ZWFsIGEgYm9yZGVyIG9ubHkgd2hpbGVcbiAqIGNvbnRlbnQgaXMgc2Nyb2xsZWQgdW5kZXIgdGhlbTsgZWRnZSBzdGF0ZSBpcyBzaGFyZWQgdGhyb3VnaCBjb250ZXh0IChzZWVcbiAqIGB1c2VTYW5kd2ljaENvbnRleHQudHN4YCkuXG4gKi9cbmZ1bmN0aW9uIFNhbmR3aWNoUm9vdCh7XG4gIGNoaWxkcmVuLFxuICBzY3JvbGxSZWYsXG4gIG9uU2Nyb2xsLFxufTogU2FuZHdpY2hQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IGVkZ2VzVmFsdWUgPSB1c2VTYW5kd2ljaEVkZ2VzU3RhdGUoKTtcbiAgY29uc3QgeyBzZXRDb250YWluZXJSZWYsIHNldENvbnRlbnRSZWYsIG9uQ29udGFpbmVyU2Nyb2xsIH0gPVxuICAgIHVzZVNjcm9sbEVkZ2VUcmFja2luZyh7XG4gICAgICBzY3JvbGxSZWYsXG4gICAgICBvblNjcm9sbCxcbiAgICAgIHNldEVkZ2VzOiBlZGdlc1ZhbHVlLnNldEVkZ2VzLFxuICAgIH0pO1xuXG4gIGNvbnN0IFtoZWFkZXJTbG90Tm9kZSwgc2V0SGVhZGVyU2xvdE5vZGVdID0gdXNlU3RhdGU8SFRNTEVsZW1lbnQgfCBudWxsPihcbiAgICBudWxsXG4gICk7XG4gIGNvbnN0IFtmb290ZXJTbG90Tm9kZSwgc2V0Rm9vdGVyU2xvdE5vZGVdID0gdXNlU3RhdGU8SFRNTEVsZW1lbnQgfCBudWxsPihcbiAgICBudWxsXG4gICk7XG5cbiAgY29uc3QgY29udGV4dFZhbHVlID0gdXNlTWVtbzxTYW5kd2ljaENvbnRleHRWYWx1ZT4oXG4gICAgKCkgPT4gKHsgLi4uZWRnZXNWYWx1ZSwgaGVhZGVyU2xvdE5vZGUsIGZvb3RlclNsb3ROb2RlIH0pLFxuICAgIFtlZGdlc1ZhbHVlLCBoZWFkZXJTbG90Tm9kZSwgZm9vdGVyU2xvdE5vZGVdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8U2FuZHdpY2hQcm92aWRlciB2YWx1ZT17Y29udGV4dFZhbHVlfT5cbiAgICAgIDxTdHlsZWRSb290IGRhdGEtZHMtaWQ9XCJTYW5kd2ljaFwiPlxuICAgICAgICA8U3R5bGVkRWRnZVNsb3QgcmVmPXtzZXRIZWFkZXJTbG90Tm9kZX0gLz5cbiAgICAgICAgey8qIHRhYkluZGV4IG1ha2VzIHRoZSBzY3JvbGwgcmVnaW9uIGtleWJvYXJkLWFjY2Vzc2libGUgKGExMXk6XG4gICAgICAgICAgICBzY3JvbGxhYmxlIHJlZ2lvbnMgbXVzdCBiZSBmb2N1c2FibGUgc28ga2V5Ym9hcmQgdXNlcnMgY2FuIHNjcm9sbFxuICAgICAgICAgICAgdGhlbSkuICovfVxuICAgICAgICA8U3R5bGVkU2Nyb2xsQm9keVxuICAgICAgICAgIHJlZj17c2V0Q29udGFpbmVyUmVmfVxuICAgICAgICAgIG9uU2Nyb2xsPXtvbkNvbnRhaW5lclNjcm9sbH1cbiAgICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgICAgICBkYXRhLWRzLWlkPVwiU2FuZHdpY2hCb2R5XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxTdHlsZWRTY3JvbGxDb250ZW50IHJlZj17c2V0Q29udGVudFJlZn0+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9TdHlsZWRTY3JvbGxDb250ZW50PlxuICAgICAgICA8L1N0eWxlZFNjcm9sbEJvZHk+XG4gICAgICAgIDxTdHlsZWRFZGdlU2xvdCByZWY9e3NldEZvb3RlclNsb3ROb2RlfSAvPlxuICAgICAgPC9TdHlsZWRSb290PlxuICAgIDwvU2FuZHdpY2hQcm92aWRlcj5cbiAgKTtcbn1cblxuLyoqXG4gKiBDb21wb3VuZCBleHBvcnQ6IGBTYW5kd2ljaGAgd2l0aCBgLkhlYWRlcmAgLyBgLkZvb3RlcmAgYXR0YWNoZWQuXG4gKiBPYmplY3QuYXNzaWduIGtlZXBzIHRoZSBzdGF0aWMgc3ViLWNvbXBvbmVudHMgdHlwZWQgb24gdGhlIHJvb3RcbiAqIChmdW5jdGlvbi1kZWNsYXJhdGlvbiBzdGF0aWNzIGRvbid0IHR5cGUtY2hlY2spLlxuICovXG5leHBvcnQgY29uc3QgU2FuZHdpY2ggPSBPYmplY3QuYXNzaWduKFNhbmR3aWNoUm9vdCwge1xuICBIZWFkZXI6IFNhbmR3aWNoSGVhZGVyLFxuICBGb290ZXI6IFNhbmR3aWNoRm9vdGVyLFxufSk7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0ltQiJ9 */"),StyledEdgeSlot=styled("div",{target:"ejnp4221",label:"StyledEdgeSlot"})({flex:"0 0 auto"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvSW50ZXJuYWwvU2FuZHdpY2gvU2FuZHdpY2gudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9JbnRlcm5hbC9TYW5kd2ljaC9TYW5kd2ljaC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFNhbmR3aWNoRWRnZXMsIFNhbmR3aWNoUHJvcHMgfSBmcm9tIFwiLi8tdHlwZXNcIjtcbmltcG9ydCB7IFNhbmR3aWNoUHJvdmlkZXIgfSBmcm9tIFwiLi91c2VTYW5kd2ljaENvbnRleHRcIjtcbmltcG9ydCB0eXBlIHsgU2FuZHdpY2hDb250ZXh0VmFsdWUgfSBmcm9tIFwiLi91c2VTYW5kd2ljaENvbnRleHRcIjtcbmltcG9ydCB7IFNhbmR3aWNoSGVhZGVyIH0gZnJvbSBcIi4vU2FuZHdpY2hIZWFkZXJcIjtcbmltcG9ydCB7IFNhbmR3aWNoRm9vdGVyIH0gZnJvbSBcIi4vU2FuZHdpY2hGb290ZXJcIjtcblxuLy8gcHggdG9sZXJhbmNlIOKAlCBzdWItcGl4ZWwgcm91bmRpbmcgc2hvdWxkbid0IGxlYXZlIGEgZGl2aWRlciBzdHVjayBvbi5cbmNvbnN0IEVER0VfVEhSRVNIT0xEID0gMTtcblxudHlwZSBTY3JvbGxFZGdlVHJhY2tpbmdQYXJhbXMgPSB7XG4gIC8qKiBDb25zdW1lciByZWYgZm9yd2FyZGVkIHRvIHRoZSBzY3JvbGwgY29udGFpbmVyIChzY3JvbGwgcmVzdG9yYXRpb24gZXRjLikuICovXG4gIHNjcm9sbFJlZj86IFJlYWN0LlJlZjxIVE1MRGl2RWxlbWVudD47XG4gIC8qKiBDb25zdW1lciBzY3JvbGwgaGFuZGxlcjsgZmlyZXMgYWZ0ZXIgdGhlIGludGVybmFsIGVkZ2UgbWVhc3VyZW1lbnQuICovXG4gIG9uU2Nyb2xsPzogUmVhY3QuVUlFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICAvKiogRWRnZSBzaW5rIOKAlCB0aGUgcm9vdCdzIGBzZXRFZGdlc2AuICovXG4gIHNldEVkZ2VzOiAoZWRnZXM6IFBhcnRpYWw8U2FuZHdpY2hFZGdlcz4pID0+IHZvaWQ7XG59O1xuXG50eXBlIFNjcm9sbEVkZ2VUcmFja2luZyA9IHtcbiAgLyoqIENhbGxiYWNrIHJlZiBmb3IgdGhlIHNjcm9sbCBjb250YWluZXIgZWxlbWVudC4gKi9cbiAgc2V0Q29udGFpbmVyUmVmOiAobm9kZTogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xuICAvKiogQ2FsbGJhY2sgcmVmIGZvciB0aGUgY29udGVudCBlbGVtZW50IGluc2lkZSB0aGUgY29udGFpbmVyIChncm93dGggdHJhY2tpbmcpLiAqL1xuICBzZXRDb250ZW50UmVmOiAobm9kZTogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xuICAvKiogU2Nyb2xsIGhhbmRsZXIgZm9yIHRoZSBjb250YWluZXI7IG1lYXN1cmVzLCB0aGVuIGNhbGxzIGBvblNjcm9sbGAuICovXG4gIG9uQ29udGFpbmVyU2Nyb2xsOiBSZWFjdC5VSUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG59O1xuXG4vKipcbiAqIFB1Ymxpc2hlcyB0aGUgc2Nyb2xsIGNvbnRhaW5lcidzIGVkZ2UgdmlzaWJpbGl0eSAoYGF0VG9wYCAvIGBhdEJvdHRvbWApIHRvXG4gKiBgc2V0RWRnZXNgIOKAlCBvbiBtb3VudCwgb24gc2Nyb2xsLCBhbmQgb24gc2l6ZSBjaGFuZ2VzIG9mIHRoZSBjb250YWluZXIgb3JcbiAqIGl0cyBjb250ZW50ICh2aWEgUmVzaXplT2JzZXJ2ZXIpLiBUaGUgdHJhY2tlZCBlbGVtZW50cyBsaXZlIGluIHN0YXRlIHNvIHRoZVxuICogdHJhY2tpbmcgcmV0YXJnZXRzIHdoZW4gdGhlIHNjcm9sbGVyIGNoYW5nZXMgKHJvb3Qg4oaUIGBTYW5kd2ljaC5Cb2R5YCkuXG4gKi9cbmNvbnN0IHVzZVNjcm9sbEVkZ2VUcmFja2luZyA9ICh7XG4gIHNjcm9sbFJlZixcbiAgb25TY3JvbGwsXG4gIHNldEVkZ2VzLFxufTogU2Nyb2xsRWRnZVRyYWNraW5nUGFyYW1zKTogU2Nyb2xsRWRnZVRyYWNraW5nID0+IHtcbiAgY29uc3QgW2NvbnRhaW5lckVsLCBzZXRDb250YWluZXJFbF0gPSB1c2VTdGF0ZTxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbY29udGVudEVsLCBzZXRDb250ZW50RWxdID0gdXNlU3RhdGU8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcblxuICAvLyBLZWVwIHRoZSBpbnRlcm5hbCBlbGVtZW50ICh1c2VkIGZvciBtZWFzdXJpbmcpIHdoaWxlIGFsc28gZm9yd2FyZGluZyB0aGVcbiAgLy8gbm9kZSB0byB0aGUgY29uc3VtZXIncyBgc2Nyb2xsUmVmYCDigJQgYSBjYWxsYmFjayByZWYgaGFuZGxlcyBib3RoIGZvcm1zLlxuICBjb25zdCBzZXRDb250YWluZXJSZWYgPSB1c2VDYWxsYmFjayhcbiAgICAobm9kZTogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiB7XG4gICAgICBzZXRDb250YWluZXJFbChub2RlKTtcbiAgICAgIGlmICh0eXBlb2Ygc2Nyb2xsUmVmID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgc2Nyb2xsUmVmKG5vZGUpO1xuICAgICAgfSBlbHNlIGlmIChzY3JvbGxSZWYpIHtcbiAgICAgICAgY29uc3QgbXV0YWJsZVJlZiA9XG4gICAgICAgICAgc2Nyb2xsUmVmIGFzIFJlYWN0Lk11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPjtcbiAgICAgICAgbXV0YWJsZVJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzY3JvbGxSZWZdXG4gICk7XG5cbiAgY29uc3QgcmVjYWxjdWxhdGVFZGdlcyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoIWNvbnRhaW5lckVsKSByZXR1cm47XG4gICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBjb250YWluZXJFbDtcbiAgICBzZXRFZGdlcyh7XG4gICAgICBhdFRvcDogc2Nyb2xsVG9wIDw9IEVER0VfVEhSRVNIT0xELFxuICAgICAgYXRCb3R0b206IHNjcm9sbFRvcCArIGNsaWVudEhlaWdodCA+PSBzY3JvbGxIZWlnaHQgLSBFREdFX1RIUkVTSE9MRCxcbiAgICB9KTtcbiAgfSwgW2NvbnRhaW5lckVsLCBzZXRFZGdlc10pO1xuXG4gIGNvbnN0IG9uQ29udGFpbmVyU2Nyb2xsID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBSZWFjdC5VSUV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgICAgcmVjYWxjdWxhdGVFZGdlcygpO1xuICAgICAgb25TY3JvbGw/LihldmVudCk7XG4gICAgfSxcbiAgICBbcmVjYWxjdWxhdGVFZGdlcywgb25TY3JvbGxdXG4gICk7XG5cbiAgLy8gTWVhc3VyZSBvbiBhdHRhY2ggb25seSDigJQgdGhlIFJlc2l6ZU9ic2VydmVyICsgc2Nyb2xsIGhhbmRsZXIgYmVsb3cgY292ZXIgdGhlXG4gIC8vIHJlc3QuIERvIE5PVCBkcm9wIHRoZSBkZXBzOiBhIGRlcC1sZXNzIGVmZmVjdCByZS1tZWFzdXJlcyBldmVyeSByZW5kZXIgYW5kIGNhblxuICAvLyBpbmZpbml0ZS1sb29wIHdoZW4gdGhlIGhlaWdodCBpcyBicmllZmx5IHVuc3RhYmxlIChzZXRFZGdlcyDihpIgcmVmbG93IOKGkiByZXBlYXQpLlxuICB1c2VMYXlvdXRFZmZlY3QocmVjYWxjdWxhdGVFZGdlcywgW3JlY2FsY3VsYXRlRWRnZXNdKTtcblxuICAvLyBSZS1tZWFzdXJlIG9uIHNpemUgY2hhbmdlcyB0aGF0IERPTidUIHRyaWdnZXIgYSBSZWFjdCByZW5kZXI6IHRoZSBjb250ZW50XG4gIC8vIGdyb3dpbmcvc2hyaW5raW5nIChpbWFnZSBsb2FkLCBhY2NvcmRpb24gZXhwYW5kLCB0ZXh0IHJlZmxvdykgYW5kIHRoZVxuICAvLyB2aWV3cG9ydCBpdHNlbGYgcmVzaXppbmcuIE9ic2VydmUgYm90aCBub2Rlcy5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodHlwZW9mIFJlc2l6ZU9ic2VydmVyID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHJlY2FsY3VsYXRlRWRnZXMoKSk7XG4gICAgaWYgKGNvbnRhaW5lckVsKSBvYnNlcnZlci5vYnNlcnZlKGNvbnRhaW5lckVsKTtcbiAgICBpZiAoY29udGVudEVsKSBvYnNlcnZlci5vYnNlcnZlKGNvbnRlbnRFbCk7XG4gICAgcmV0dXJuICgpID0+IG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgfSwgW2NvbnRhaW5lckVsLCBjb250ZW50RWwsIHJlY2FsY3VsYXRlRWRnZXNdKTtcblxuICByZXR1cm4geyBzZXRDb250YWluZXJSZWYsIHNldENvbnRlbnRSZWY6IHNldENvbnRlbnRFbCwgb25Db250YWluZXJTY3JvbGwgfTtcbn07XG5cbnR5cGUgU2FuZHdpY2hFZGdlc1N0YXRlID0gU2FuZHdpY2hFZGdlcyAmIHtcbiAgc2V0RWRnZXM6IChlZGdlczogUGFydGlhbDxTYW5kd2ljaEVkZ2VzPikgPT4gdm9pZDtcbn07XG5cbi8qKlxuICogT3ducyB0aGUgc2Nyb2xsLWVkZ2Ugc3RhdGUgdGhlIHJvb3QgcHJvdmlkZXMgdGhyb3VnaCBjb250ZXh0OiBldmVyeXRoaW5nXG4gKiB2aXNpYmxlIGJ5IGRlZmF1bHQgKG5vIHNjcm9sbGluZyBuZWVkZWQg4oaSIG5vIGJvcmRlcnMpLCBgc2V0RWRnZXNgIG1lcmdlc1xuICogcGFydGlhbCB1cGRhdGVzIGFuZCBiYWlscyBvdXQgd2hlbiBub3RoaW5nIGNoYW5nZWQgc28gc2Nyb2xsIGhhbmRsZXJzIGNhbid0XG4gKiByZS1yZW5kZXItbG9vcC5cbiAqL1xuY29uc3QgdXNlU2FuZHdpY2hFZGdlc1N0YXRlID0gKCk6IFNhbmR3aWNoRWRnZXNTdGF0ZSA9PiB7XG4gIGNvbnN0IFtlZGdlcywgc2V0RWRnZXNTdGF0ZV0gPSB1c2VTdGF0ZTxTYW5kd2ljaEVkZ2VzPih7XG4gICAgYXRUb3A6IHRydWUsXG4gICAgYXRCb3R0b206IHRydWUsXG4gIH0pO1xuXG4gIGNvbnN0IHNldEVkZ2VzID0gdXNlQ2FsbGJhY2soKG5leHQ6IFBhcnRpYWw8U2FuZHdpY2hFZGdlcz4pID0+IHtcbiAgICBzZXRFZGdlc1N0YXRlKChwcmV2KSA9PiB7XG4gICAgICBjb25zdCBtZXJnZWQgPSB7IC4uLnByZXYsIC4uLm5leHQgfTtcbiAgICAgIGlmIChtZXJnZWQuYXRUb3AgPT09IHByZXYuYXRUb3AgJiYgbWVyZ2VkLmF0Qm90dG9tID09PSBwcmV2LmF0Qm90dG9tKSB7XG4gICAgICAgIHJldHVybiBwcmV2O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG1lcmdlZDtcbiAgICB9KTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiB1c2VNZW1vKCgpID0+ICh7IC4uLmVkZ2VzLCBzZXRFZGdlcyB9KSwgW2VkZ2VzLCBzZXRFZGdlc10pO1xufTtcblxuLy8gTm9uLXNjcm9sbGluZyBmcmFtZTogc3RhdGljIGhlYWRlciBzbG90IC8gc2Nyb2xsYWJsZSBib2R5IC8gc3RhdGljIGZvb3RlclxuLy8gc2xvdCwgdG9wIHRvIGJvdHRvbS5cbmNvbnN0IFN0eWxlZFJvb3QgPSBzdHlsZWQuZGl2KHtcbiAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgZGlzcGxheTogXCJmbGV4XCIsXG4gIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG59KTtcblxuLy8gU3RhdGljIGhvc3QgZm9yIHRoZSBwb3J0YWxlZCBgU2FuZHdpY2guSGVhZGVyYCAvIGBTYW5kd2ljaC5Gb290ZXJgIGNvbnRlbnQgLVxuLy8ga2VlcHMgaXRzIG5hdHVyYWwgaGVpZ2h0LCBuZXZlciBzY3JvbGxzLlxuY29uc3QgU3R5bGVkRWRnZVNsb3QgPSBzdHlsZWQuZGl2KHtcbiAgZmxleDogXCIwIDAgYXV0b1wiLFxufSk7XG5cbi8vIFRoZSBvbmx5IHNjcm9sbGVyOiBqdXN0IHRoZSBjb250ZW50IGJldHdlZW4gaGVhZGVyIGFuZCBmb290ZXIsIHNvIHRoZVxuLy8gc2Nyb2xsYmFyIG5ldmVyIHNwYW5zIHRoZW0uXG5jb25zdCBTdHlsZWRTY3JvbGxCb2R5ID0gc3R5bGVkLmRpdih7XG4gIGZsZXg6IFwiMSAxIGF1dG9cIixcbiAgbWluSGVpZ2h0OiAwLFxuICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbi8vIGBtaW4taGVpZ2h0YCBsZXRzIHNob3J0IGNvbnRlbnQgZmlsbCB0aGUgYm9keSB3aXRob3V0IGNsaXBwaW5nIHRhbGxlclxuLy8gY29udGVudC4gRmxleCBjb2x1bW4gc28gYm90dG9tLWFsaWduZWQgY29udGVudCAoY2hhdCkgY2FuIHBpbiBpdHNlbGYgZG93bi5cbmNvbnN0IFN0eWxlZFNjcm9sbENvbnRlbnQgPSBzdHlsZWQuZGl2KHtcbiAgbWluSGVpZ2h0OiBcIjEwMCVcIixcbiAgZGlzcGxheTogXCJmbGV4XCIsXG4gIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG59KTtcblxuLyoqXG4gKiBJbnRlcm5hbCBjb21wb3VuZCBjb21wb25lbnQ6IGEgbm9uLXNjcm9sbGluZyBmcmFtZSB3aG9zZSBtaWRkbGUgaXMgdGhlIE9ORVxuICogc2Nyb2xsYWJsZSByZWdpb24uIGBTYW5kd2ljaC5IZWFkZXJgIC8gYFNhbmR3aWNoLkZvb3RlcmAgbWF5IGJlIGF1dGhvcmVkIGF0XG4gKiBhbnkgZGVwdGggYW1vbmcgdGhlIGNoaWxkcmVuIGluIHNvdXJjZSBvcmRlciAoZS5nLiB3cmFwcGVkIGJ5XG4gKiBgTGF5b3V0LlJpZ2h0UGFuZWxIZWFkZXJgKSAtIHRoZXkgUE9SVEFMIHRoZWlyIGNvbnRlbnQgaW50byB0aGUgZnJhbWUnc1xuICogc3RhdGljIGVkZ2Ugc2xvdHMsIHNvIG9ubHkgdGhlIGNvbnRlbnQgYmV0d2VlbiB0aGVtIHNjcm9sbHMgYW5kIHRoZVxuICogc2Nyb2xsYmFyIG5ldmVyIHNwYW5zIGhlYWRlciBvciBmb290ZXIuIFRoZXkgcmV2ZWFsIGEgYm9yZGVyIG9ubHkgd2hpbGVcbiAqIGNvbnRlbnQgaXMgc2Nyb2xsZWQgdW5kZXIgdGhlbTsgZWRnZSBzdGF0ZSBpcyBzaGFyZWQgdGhyb3VnaCBjb250ZXh0IChzZWVcbiAqIGB1c2VTYW5kd2ljaENvbnRleHQudHN4YCkuXG4gKi9cbmZ1bmN0aW9uIFNhbmR3aWNoUm9vdCh7XG4gIGNoaWxkcmVuLFxuICBzY3JvbGxSZWYsXG4gIG9uU2Nyb2xsLFxufTogU2FuZHdpY2hQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IGVkZ2VzVmFsdWUgPSB1c2VTYW5kd2ljaEVkZ2VzU3RhdGUoKTtcbiAgY29uc3QgeyBzZXRDb250YWluZXJSZWYsIHNldENvbnRlbnRSZWYsIG9uQ29udGFpbmVyU2Nyb2xsIH0gPVxuICAgIHVzZVNjcm9sbEVkZ2VUcmFja2luZyh7XG4gICAgICBzY3JvbGxSZWYsXG4gICAgICBvblNjcm9sbCxcbiAgICAgIHNldEVkZ2VzOiBlZGdlc1ZhbHVlLnNldEVkZ2VzLFxuICAgIH0pO1xuXG4gIGNvbnN0IFtoZWFkZXJTbG90Tm9kZSwgc2V0SGVhZGVyU2xvdE5vZGVdID0gdXNlU3RhdGU8SFRNTEVsZW1lbnQgfCBudWxsPihcbiAgICBudWxsXG4gICk7XG4gIGNvbnN0IFtmb290ZXJTbG90Tm9kZSwgc2V0Rm9vdGVyU2xvdE5vZGVdID0gdXNlU3RhdGU8SFRNTEVsZW1lbnQgfCBudWxsPihcbiAgICBudWxsXG4gICk7XG5cbiAgY29uc3QgY29udGV4dFZhbHVlID0gdXNlTWVtbzxTYW5kd2ljaENvbnRleHRWYWx1ZT4oXG4gICAgKCkgPT4gKHsgLi4uZWRnZXNWYWx1ZSwgaGVhZGVyU2xvdE5vZGUsIGZvb3RlclNsb3ROb2RlIH0pLFxuICAgIFtlZGdlc1ZhbHVlLCBoZWFkZXJTbG90Tm9kZSwgZm9vdGVyU2xvdE5vZGVdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8U2FuZHdpY2hQcm92aWRlciB2YWx1ZT17Y29udGV4dFZhbHVlfT5cbiAgICAgIDxTdHlsZWRSb290IGRhdGEtZHMtaWQ9XCJTYW5kd2ljaFwiPlxuICAgICAgICA8U3R5bGVkRWRnZVNsb3QgcmVmPXtzZXRIZWFkZXJTbG90Tm9kZX0gLz5cbiAgICAgICAgey8qIHRhYkluZGV4IG1ha2VzIHRoZSBzY3JvbGwgcmVnaW9uIGtleWJvYXJkLWFjY2Vzc2libGUgKGExMXk6XG4gICAgICAgICAgICBzY3JvbGxhYmxlIHJlZ2lvbnMgbXVzdCBiZSBmb2N1c2FibGUgc28ga2V5Ym9hcmQgdXNlcnMgY2FuIHNjcm9sbFxuICAgICAgICAgICAgdGhlbSkuICovfVxuICAgICAgICA8U3R5bGVkU2Nyb2xsQm9keVxuICAgICAgICAgIHJlZj17c2V0Q29udGFpbmVyUmVmfVxuICAgICAgICAgIG9uU2Nyb2xsPXtvbkNvbnRhaW5lclNjcm9sbH1cbiAgICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgICAgICBkYXRhLWRzLWlkPVwiU2FuZHdpY2hCb2R5XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxTdHlsZWRTY3JvbGxDb250ZW50IHJlZj17c2V0Q29udGVudFJlZn0+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9TdHlsZWRTY3JvbGxDb250ZW50PlxuICAgICAgICA8L1N0eWxlZFNjcm9sbEJvZHk+XG4gICAgICAgIDxTdHlsZWRFZGdlU2xvdCByZWY9e3NldEZvb3RlclNsb3ROb2RlfSAvPlxuICAgICAgPC9TdHlsZWRSb290PlxuICAgIDwvU2FuZHdpY2hQcm92aWRlcj5cbiAgKTtcbn1cblxuLyoqXG4gKiBDb21wb3VuZCBleHBvcnQ6IGBTYW5kd2ljaGAgd2l0aCBgLkhlYWRlcmAgLyBgLkZvb3RlcmAgYXR0YWNoZWQuXG4gKiBPYmplY3QuYXNzaWduIGtlZXBzIHRoZSBzdGF0aWMgc3ViLWNvbXBvbmVudHMgdHlwZWQgb24gdGhlIHJvb3RcbiAqIChmdW5jdGlvbi1kZWNsYXJhdGlvbiBzdGF0aWNzIGRvbid0IHR5cGUtY2hlY2spLlxuICovXG5leHBvcnQgY29uc3QgU2FuZHdpY2ggPSBPYmplY3QuYXNzaWduKFNhbmR3aWNoUm9vdCwge1xuICBIZWFkZXI6IFNhbmR3aWNoSGVhZGVyLFxuICBGb290ZXI6IFNhbmR3aWNoRm9vdGVyLFxufSk7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkl1QiJ9 */"),StyledScrollBody=styled("div",{target:"ejnp4222",label:"StyledScrollBody"})({flex:"1 1 auto",minHeight:0,overflowY:"auto",position:"relative"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvSW50ZXJuYWwvU2FuZHdpY2gvU2FuZHdpY2gudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9JbnRlcm5hbC9TYW5kd2ljaC9TYW5kd2ljaC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFNhbmR3aWNoRWRnZXMsIFNhbmR3aWNoUHJvcHMgfSBmcm9tIFwiLi8tdHlwZXNcIjtcbmltcG9ydCB7IFNhbmR3aWNoUHJvdmlkZXIgfSBmcm9tIFwiLi91c2VTYW5kd2ljaENvbnRleHRcIjtcbmltcG9ydCB0eXBlIHsgU2FuZHdpY2hDb250ZXh0VmFsdWUgfSBmcm9tIFwiLi91c2VTYW5kd2ljaENvbnRleHRcIjtcbmltcG9ydCB7IFNhbmR3aWNoSGVhZGVyIH0gZnJvbSBcIi4vU2FuZHdpY2hIZWFkZXJcIjtcbmltcG9ydCB7IFNhbmR3aWNoRm9vdGVyIH0gZnJvbSBcIi4vU2FuZHdpY2hGb290ZXJcIjtcblxuLy8gcHggdG9sZXJhbmNlIOKAlCBzdWItcGl4ZWwgcm91bmRpbmcgc2hvdWxkbid0IGxlYXZlIGEgZGl2aWRlciBzdHVjayBvbi5cbmNvbnN0IEVER0VfVEhSRVNIT0xEID0gMTtcblxudHlwZSBTY3JvbGxFZGdlVHJhY2tpbmdQYXJhbXMgPSB7XG4gIC8qKiBDb25zdW1lciByZWYgZm9yd2FyZGVkIHRvIHRoZSBzY3JvbGwgY29udGFpbmVyIChzY3JvbGwgcmVzdG9yYXRpb24gZXRjLikuICovXG4gIHNjcm9sbFJlZj86IFJlYWN0LlJlZjxIVE1MRGl2RWxlbWVudD47XG4gIC8qKiBDb25zdW1lciBzY3JvbGwgaGFuZGxlcjsgZmlyZXMgYWZ0ZXIgdGhlIGludGVybmFsIGVkZ2UgbWVhc3VyZW1lbnQuICovXG4gIG9uU2Nyb2xsPzogUmVhY3QuVUlFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICAvKiogRWRnZSBzaW5rIOKAlCB0aGUgcm9vdCdzIGBzZXRFZGdlc2AuICovXG4gIHNldEVkZ2VzOiAoZWRnZXM6IFBhcnRpYWw8U2FuZHdpY2hFZGdlcz4pID0+IHZvaWQ7XG59O1xuXG50eXBlIFNjcm9sbEVkZ2VUcmFja2luZyA9IHtcbiAgLyoqIENhbGxiYWNrIHJlZiBmb3IgdGhlIHNjcm9sbCBjb250YWluZXIgZWxlbWVudC4gKi9cbiAgc2V0Q29udGFpbmVyUmVmOiAobm9kZTogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xuICAvKiogQ2FsbGJhY2sgcmVmIGZvciB0aGUgY29udGVudCBlbGVtZW50IGluc2lkZSB0aGUgY29udGFpbmVyIChncm93dGggdHJhY2tpbmcpLiAqL1xuICBzZXRDb250ZW50UmVmOiAobm9kZTogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xuICAvKiogU2Nyb2xsIGhhbmRsZXIgZm9yIHRoZSBjb250YWluZXI7IG1lYXN1cmVzLCB0aGVuIGNhbGxzIGBvblNjcm9sbGAuICovXG4gIG9uQ29udGFpbmVyU2Nyb2xsOiBSZWFjdC5VSUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG59O1xuXG4vKipcbiAqIFB1Ymxpc2hlcyB0aGUgc2Nyb2xsIGNvbnRhaW5lcidzIGVkZ2UgdmlzaWJpbGl0eSAoYGF0VG9wYCAvIGBhdEJvdHRvbWApIHRvXG4gKiBgc2V0RWRnZXNgIOKAlCBvbiBtb3VudCwgb24gc2Nyb2xsLCBhbmQgb24gc2l6ZSBjaGFuZ2VzIG9mIHRoZSBjb250YWluZXIgb3JcbiAqIGl0cyBjb250ZW50ICh2aWEgUmVzaXplT2JzZXJ2ZXIpLiBUaGUgdHJhY2tlZCBlbGVtZW50cyBsaXZlIGluIHN0YXRlIHNvIHRoZVxuICogdHJhY2tpbmcgcmV0YXJnZXRzIHdoZW4gdGhlIHNjcm9sbGVyIGNoYW5nZXMgKHJvb3Qg4oaUIGBTYW5kd2ljaC5Cb2R5YCkuXG4gKi9cbmNvbnN0IHVzZVNjcm9sbEVkZ2VUcmFja2luZyA9ICh7XG4gIHNjcm9sbFJlZixcbiAgb25TY3JvbGwsXG4gIHNldEVkZ2VzLFxufTogU2Nyb2xsRWRnZVRyYWNraW5nUGFyYW1zKTogU2Nyb2xsRWRnZVRyYWNraW5nID0+IHtcbiAgY29uc3QgW2NvbnRhaW5lckVsLCBzZXRDb250YWluZXJFbF0gPSB1c2VTdGF0ZTxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbY29udGVudEVsLCBzZXRDb250ZW50RWxdID0gdXNlU3RhdGU8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcblxuICAvLyBLZWVwIHRoZSBpbnRlcm5hbCBlbGVtZW50ICh1c2VkIGZvciBtZWFzdXJpbmcpIHdoaWxlIGFsc28gZm9yd2FyZGluZyB0aGVcbiAgLy8gbm9kZSB0byB0aGUgY29uc3VtZXIncyBgc2Nyb2xsUmVmYCDigJQgYSBjYWxsYmFjayByZWYgaGFuZGxlcyBib3RoIGZvcm1zLlxuICBjb25zdCBzZXRDb250YWluZXJSZWYgPSB1c2VDYWxsYmFjayhcbiAgICAobm9kZTogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiB7XG4gICAgICBzZXRDb250YWluZXJFbChub2RlKTtcbiAgICAgIGlmICh0eXBlb2Ygc2Nyb2xsUmVmID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgc2Nyb2xsUmVmKG5vZGUpO1xuICAgICAgfSBlbHNlIGlmIChzY3JvbGxSZWYpIHtcbiAgICAgICAgY29uc3QgbXV0YWJsZVJlZiA9XG4gICAgICAgICAgc2Nyb2xsUmVmIGFzIFJlYWN0Lk11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPjtcbiAgICAgICAgbXV0YWJsZVJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzY3JvbGxSZWZdXG4gICk7XG5cbiAgY29uc3QgcmVjYWxjdWxhdGVFZGdlcyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoIWNvbnRhaW5lckVsKSByZXR1cm47XG4gICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBjb250YWluZXJFbDtcbiAgICBzZXRFZGdlcyh7XG4gICAgICBhdFRvcDogc2Nyb2xsVG9wIDw9IEVER0VfVEhSRVNIT0xELFxuICAgICAgYXRCb3R0b206IHNjcm9sbFRvcCArIGNsaWVudEhlaWdodCA+PSBzY3JvbGxIZWlnaHQgLSBFREdFX1RIUkVTSE9MRCxcbiAgICB9KTtcbiAgfSwgW2NvbnRhaW5lckVsLCBzZXRFZGdlc10pO1xuXG4gIGNvbnN0IG9uQ29udGFpbmVyU2Nyb2xsID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBSZWFjdC5VSUV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgICAgcmVjYWxjdWxhdGVFZGdlcygpO1xuICAgICAgb25TY3JvbGw/LihldmVudCk7XG4gICAgfSxcbiAgICBbcmVjYWxjdWxhdGVFZGdlcywgb25TY3JvbGxdXG4gICk7XG5cbiAgLy8gTWVhc3VyZSBvbiBhdHRhY2ggb25seSDigJQgdGhlIFJlc2l6ZU9ic2VydmVyICsgc2Nyb2xsIGhhbmRsZXIgYmVsb3cgY292ZXIgdGhlXG4gIC8vIHJlc3QuIERvIE5PVCBkcm9wIHRoZSBkZXBzOiBhIGRlcC1sZXNzIGVmZmVjdCByZS1tZWFzdXJlcyBldmVyeSByZW5kZXIgYW5kIGNhblxuICAvLyBpbmZpbml0ZS1sb29wIHdoZW4gdGhlIGhlaWdodCBpcyBicmllZmx5IHVuc3RhYmxlIChzZXRFZGdlcyDihpIgcmVmbG93IOKGkiByZXBlYXQpLlxuICB1c2VMYXlvdXRFZmZlY3QocmVjYWxjdWxhdGVFZGdlcywgW3JlY2FsY3VsYXRlRWRnZXNdKTtcblxuICAvLyBSZS1tZWFzdXJlIG9uIHNpemUgY2hhbmdlcyB0aGF0IERPTidUIHRyaWdnZXIgYSBSZWFjdCByZW5kZXI6IHRoZSBjb250ZW50XG4gIC8vIGdyb3dpbmcvc2hyaW5raW5nIChpbWFnZSBsb2FkLCBhY2NvcmRpb24gZXhwYW5kLCB0ZXh0IHJlZmxvdykgYW5kIHRoZVxuICAvLyB2aWV3cG9ydCBpdHNlbGYgcmVzaXppbmcuIE9ic2VydmUgYm90aCBub2Rlcy5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodHlwZW9mIFJlc2l6ZU9ic2VydmVyID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHJlY2FsY3VsYXRlRWRnZXMoKSk7XG4gICAgaWYgKGNvbnRhaW5lckVsKSBvYnNlcnZlci5vYnNlcnZlKGNvbnRhaW5lckVsKTtcbiAgICBpZiAoY29udGVudEVsKSBvYnNlcnZlci5vYnNlcnZlKGNvbnRlbnRFbCk7XG4gICAgcmV0dXJuICgpID0+IG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgfSwgW2NvbnRhaW5lckVsLCBjb250ZW50RWwsIHJlY2FsY3VsYXRlRWRnZXNdKTtcblxuICByZXR1cm4geyBzZXRDb250YWluZXJSZWYsIHNldENvbnRlbnRSZWY6IHNldENvbnRlbnRFbCwgb25Db250YWluZXJTY3JvbGwgfTtcbn07XG5cbnR5cGUgU2FuZHdpY2hFZGdlc1N0YXRlID0gU2FuZHdpY2hFZGdlcyAmIHtcbiAgc2V0RWRnZXM6IChlZGdlczogUGFydGlhbDxTYW5kd2ljaEVkZ2VzPikgPT4gdm9pZDtcbn07XG5cbi8qKlxuICogT3ducyB0aGUgc2Nyb2xsLWVkZ2Ugc3RhdGUgdGhlIHJvb3QgcHJvdmlkZXMgdGhyb3VnaCBjb250ZXh0OiBldmVyeXRoaW5nXG4gKiB2aXNpYmxlIGJ5IGRlZmF1bHQgKG5vIHNjcm9sbGluZyBuZWVkZWQg4oaSIG5vIGJvcmRlcnMpLCBgc2V0RWRnZXNgIG1lcmdlc1xuICogcGFydGlhbCB1cGRhdGVzIGFuZCBiYWlscyBvdXQgd2hlbiBub3RoaW5nIGNoYW5nZWQgc28gc2Nyb2xsIGhhbmRsZXJzIGNhbid0XG4gKiByZS1yZW5kZXItbG9vcC5cbiAqL1xuY29uc3QgdXNlU2FuZHdpY2hFZGdlc1N0YXRlID0gKCk6IFNhbmR3aWNoRWRnZXNTdGF0ZSA9PiB7XG4gIGNvbnN0IFtlZGdlcywgc2V0RWRnZXNTdGF0ZV0gPSB1c2VTdGF0ZTxTYW5kd2ljaEVkZ2VzPih7XG4gICAgYXRUb3A6IHRydWUsXG4gICAgYXRCb3R0b206IHRydWUsXG4gIH0pO1xuXG4gIGNvbnN0IHNldEVkZ2VzID0gdXNlQ2FsbGJhY2soKG5leHQ6IFBhcnRpYWw8U2FuZHdpY2hFZGdlcz4pID0+IHtcbiAgICBzZXRFZGdlc1N0YXRlKChwcmV2KSA9PiB7XG4gICAgICBjb25zdCBtZXJnZWQgPSB7IC4uLnByZXYsIC4uLm5leHQgfTtcbiAgICAgIGlmIChtZXJnZWQuYXRUb3AgPT09IHByZXYuYXRUb3AgJiYgbWVyZ2VkLmF0Qm90dG9tID09PSBwcmV2LmF0Qm90dG9tKSB7XG4gICAgICAgIHJldHVybiBwcmV2O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG1lcmdlZDtcbiAgICB9KTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiB1c2VNZW1vKCgpID0+ICh7IC4uLmVkZ2VzLCBzZXRFZGdlcyB9KSwgW2VkZ2VzLCBzZXRFZGdlc10pO1xufTtcblxuLy8gTm9uLXNjcm9sbGluZyBmcmFtZTogc3RhdGljIGhlYWRlciBzbG90IC8gc2Nyb2xsYWJsZSBib2R5IC8gc3RhdGljIGZvb3RlclxuLy8gc2xvdCwgdG9wIHRvIGJvdHRvbS5cbmNvbnN0IFN0eWxlZFJvb3QgPSBzdHlsZWQuZGl2KHtcbiAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgZGlzcGxheTogXCJmbGV4XCIsXG4gIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG59KTtcblxuLy8gU3RhdGljIGhvc3QgZm9yIHRoZSBwb3J0YWxlZCBgU2FuZHdpY2guSGVhZGVyYCAvIGBTYW5kd2ljaC5Gb290ZXJgIGNvbnRlbnQgLVxuLy8ga2VlcHMgaXRzIG5hdHVyYWwgaGVpZ2h0LCBuZXZlciBzY3JvbGxzLlxuY29uc3QgU3R5bGVkRWRnZVNsb3QgPSBzdHlsZWQuZGl2KHtcbiAgZmxleDogXCIwIDAgYXV0b1wiLFxufSk7XG5cbi8vIFRoZSBvbmx5IHNjcm9sbGVyOiBqdXN0IHRoZSBjb250ZW50IGJldHdlZW4gaGVhZGVyIGFuZCBmb290ZXIsIHNvIHRoZVxuLy8gc2Nyb2xsYmFyIG5ldmVyIHNwYW5zIHRoZW0uXG5jb25zdCBTdHlsZWRTY3JvbGxCb2R5ID0gc3R5bGVkLmRpdih7XG4gIGZsZXg6IFwiMSAxIGF1dG9cIixcbiAgbWluSGVpZ2h0OiAwLFxuICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbi8vIGBtaW4taGVpZ2h0YCBsZXRzIHNob3J0IGNvbnRlbnQgZmlsbCB0aGUgYm9keSB3aXRob3V0IGNsaXBwaW5nIHRhbGxlclxuLy8gY29udGVudC4gRmxleCBjb2x1bW4gc28gYm90dG9tLWFsaWduZWQgY29udGVudCAoY2hhdCkgY2FuIHBpbiBpdHNlbGYgZG93bi5cbmNvbnN0IFN0eWxlZFNjcm9sbENvbnRlbnQgPSBzdHlsZWQuZGl2KHtcbiAgbWluSGVpZ2h0OiBcIjEwMCVcIixcbiAgZGlzcGxheTogXCJmbGV4XCIsXG4gIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG59KTtcblxuLyoqXG4gKiBJbnRlcm5hbCBjb21wb3VuZCBjb21wb25lbnQ6IGEgbm9uLXNjcm9sbGluZyBmcmFtZSB3aG9zZSBtaWRkbGUgaXMgdGhlIE9ORVxuICogc2Nyb2xsYWJsZSByZWdpb24uIGBTYW5kd2ljaC5IZWFkZXJgIC8gYFNhbmR3aWNoLkZvb3RlcmAgbWF5IGJlIGF1dGhvcmVkIGF0XG4gKiBhbnkgZGVwdGggYW1vbmcgdGhlIGNoaWxkcmVuIGluIHNvdXJjZSBvcmRlciAoZS5nLiB3cmFwcGVkIGJ5XG4gKiBgTGF5b3V0LlJpZ2h0UGFuZWxIZWFkZXJgKSAtIHRoZXkgUE9SVEFMIHRoZWlyIGNvbnRlbnQgaW50byB0aGUgZnJhbWUnc1xuICogc3RhdGljIGVkZ2Ugc2xvdHMsIHNvIG9ubHkgdGhlIGNvbnRlbnQgYmV0d2VlbiB0aGVtIHNjcm9sbHMgYW5kIHRoZVxuICogc2Nyb2xsYmFyIG5ldmVyIHNwYW5zIGhlYWRlciBvciBmb290ZXIuIFRoZXkgcmV2ZWFsIGEgYm9yZGVyIG9ubHkgd2hpbGVcbiAqIGNvbnRlbnQgaXMgc2Nyb2xsZWQgdW5kZXIgdGhlbTsgZWRnZSBzdGF0ZSBpcyBzaGFyZWQgdGhyb3VnaCBjb250ZXh0IChzZWVcbiAqIGB1c2VTYW5kd2ljaENvbnRleHQudHN4YCkuXG4gKi9cbmZ1bmN0aW9uIFNhbmR3aWNoUm9vdCh7XG4gIGNoaWxkcmVuLFxuICBzY3JvbGxSZWYsXG4gIG9uU2Nyb2xsLFxufTogU2FuZHdpY2hQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IGVkZ2VzVmFsdWUgPSB1c2VTYW5kd2ljaEVkZ2VzU3RhdGUoKTtcbiAgY29uc3QgeyBzZXRDb250YWluZXJSZWYsIHNldENvbnRlbnRSZWYsIG9uQ29udGFpbmVyU2Nyb2xsIH0gPVxuICAgIHVzZVNjcm9sbEVkZ2VUcmFja2luZyh7XG4gICAgICBzY3JvbGxSZWYsXG4gICAgICBvblNjcm9sbCxcbiAgICAgIHNldEVkZ2VzOiBlZGdlc1ZhbHVlLnNldEVkZ2VzLFxuICAgIH0pO1xuXG4gIGNvbnN0IFtoZWFkZXJTbG90Tm9kZSwgc2V0SGVhZGVyU2xvdE5vZGVdID0gdXNlU3RhdGU8SFRNTEVsZW1lbnQgfCBudWxsPihcbiAgICBudWxsXG4gICk7XG4gIGNvbnN0IFtmb290ZXJTbG90Tm9kZSwgc2V0Rm9vdGVyU2xvdE5vZGVdID0gdXNlU3RhdGU8SFRNTEVsZW1lbnQgfCBudWxsPihcbiAgICBudWxsXG4gICk7XG5cbiAgY29uc3QgY29udGV4dFZhbHVlID0gdXNlTWVtbzxTYW5kd2ljaENvbnRleHRWYWx1ZT4oXG4gICAgKCkgPT4gKHsgLi4uZWRnZXNWYWx1ZSwgaGVhZGVyU2xvdE5vZGUsIGZvb3RlclNsb3ROb2RlIH0pLFxuICAgIFtlZGdlc1ZhbHVlLCBoZWFkZXJTbG90Tm9kZSwgZm9vdGVyU2xvdE5vZGVdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8U2FuZHdpY2hQcm92aWRlciB2YWx1ZT17Y29udGV4dFZhbHVlfT5cbiAgICAgIDxTdHlsZWRSb290IGRhdGEtZHMtaWQ9XCJTYW5kd2ljaFwiPlxuICAgICAgICA8U3R5bGVkRWRnZVNsb3QgcmVmPXtzZXRIZWFkZXJTbG90Tm9kZX0gLz5cbiAgICAgICAgey8qIHRhYkluZGV4IG1ha2VzIHRoZSBzY3JvbGwgcmVnaW9uIGtleWJvYXJkLWFjY2Vzc2libGUgKGExMXk6XG4gICAgICAgICAgICBzY3JvbGxhYmxlIHJlZ2lvbnMgbXVzdCBiZSBmb2N1c2FibGUgc28ga2V5Ym9hcmQgdXNlcnMgY2FuIHNjcm9sbFxuICAgICAgICAgICAgdGhlbSkuICovfVxuICAgICAgICA8U3R5bGVkU2Nyb2xsQm9keVxuICAgICAgICAgIHJlZj17c2V0Q29udGFpbmVyUmVmfVxuICAgICAgICAgIG9uU2Nyb2xsPXtvbkNvbnRhaW5lclNjcm9sbH1cbiAgICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgICAgICBkYXRhLWRzLWlkPVwiU2FuZHdpY2hCb2R5XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxTdHlsZWRTY3JvbGxDb250ZW50IHJlZj17c2V0Q29udGVudFJlZn0+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9TdHlsZWRTY3JvbGxDb250ZW50PlxuICAgICAgICA8L1N0eWxlZFNjcm9sbEJvZHk+XG4gICAgICAgIDxTdHlsZWRFZGdlU2xvdCByZWY9e3NldEZvb3RlclNsb3ROb2RlfSAvPlxuICAgICAgPC9TdHlsZWRSb290PlxuICAgIDwvU2FuZHdpY2hQcm92aWRlcj5cbiAgKTtcbn1cblxuLyoqXG4gKiBDb21wb3VuZCBleHBvcnQ6IGBTYW5kd2ljaGAgd2l0aCBgLkhlYWRlcmAgLyBgLkZvb3RlcmAgYXR0YWNoZWQuXG4gKiBPYmplY3QuYXNzaWduIGtlZXBzIHRoZSBzdGF0aWMgc3ViLWNvbXBvbmVudHMgdHlwZWQgb24gdGhlIHJvb3RcbiAqIChmdW5jdGlvbi1kZWNsYXJhdGlvbiBzdGF0aWNzIGRvbid0IHR5cGUtY2hlY2spLlxuICovXG5leHBvcnQgY29uc3QgU2FuZHdpY2ggPSBPYmplY3QuYXNzaWduKFNhbmR3aWNoUm9vdCwge1xuICBIZWFkZXI6IFNhbmR3aWNoSGVhZGVyLFxuICBGb290ZXI6IFNhbmR3aWNoRm9vdGVyLFxufSk7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUp5QiJ9 */"),StyledScrollContent=styled("div",{target:"ejnp4223",label:"StyledScrollContent"})({minHeight:"100%",display:"flex",flexDirection:"column"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvSW50ZXJuYWwvU2FuZHdpY2gvU2FuZHdpY2gudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9JbnRlcm5hbC9TYW5kd2ljaC9TYW5kd2ljaC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFNhbmR3aWNoRWRnZXMsIFNhbmR3aWNoUHJvcHMgfSBmcm9tIFwiLi8tdHlwZXNcIjtcbmltcG9ydCB7IFNhbmR3aWNoUHJvdmlkZXIgfSBmcm9tIFwiLi91c2VTYW5kd2ljaENvbnRleHRcIjtcbmltcG9ydCB0eXBlIHsgU2FuZHdpY2hDb250ZXh0VmFsdWUgfSBmcm9tIFwiLi91c2VTYW5kd2ljaENvbnRleHRcIjtcbmltcG9ydCB7IFNhbmR3aWNoSGVhZGVyIH0gZnJvbSBcIi4vU2FuZHdpY2hIZWFkZXJcIjtcbmltcG9ydCB7IFNhbmR3aWNoRm9vdGVyIH0gZnJvbSBcIi4vU2FuZHdpY2hGb290ZXJcIjtcblxuLy8gcHggdG9sZXJhbmNlIOKAlCBzdWItcGl4ZWwgcm91bmRpbmcgc2hvdWxkbid0IGxlYXZlIGEgZGl2aWRlciBzdHVjayBvbi5cbmNvbnN0IEVER0VfVEhSRVNIT0xEID0gMTtcblxudHlwZSBTY3JvbGxFZGdlVHJhY2tpbmdQYXJhbXMgPSB7XG4gIC8qKiBDb25zdW1lciByZWYgZm9yd2FyZGVkIHRvIHRoZSBzY3JvbGwgY29udGFpbmVyIChzY3JvbGwgcmVzdG9yYXRpb24gZXRjLikuICovXG4gIHNjcm9sbFJlZj86IFJlYWN0LlJlZjxIVE1MRGl2RWxlbWVudD47XG4gIC8qKiBDb25zdW1lciBzY3JvbGwgaGFuZGxlcjsgZmlyZXMgYWZ0ZXIgdGhlIGludGVybmFsIGVkZ2UgbWVhc3VyZW1lbnQuICovXG4gIG9uU2Nyb2xsPzogUmVhY3QuVUlFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICAvKiogRWRnZSBzaW5rIOKAlCB0aGUgcm9vdCdzIGBzZXRFZGdlc2AuICovXG4gIHNldEVkZ2VzOiAoZWRnZXM6IFBhcnRpYWw8U2FuZHdpY2hFZGdlcz4pID0+IHZvaWQ7XG59O1xuXG50eXBlIFNjcm9sbEVkZ2VUcmFja2luZyA9IHtcbiAgLyoqIENhbGxiYWNrIHJlZiBmb3IgdGhlIHNjcm9sbCBjb250YWluZXIgZWxlbWVudC4gKi9cbiAgc2V0Q29udGFpbmVyUmVmOiAobm9kZTogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xuICAvKiogQ2FsbGJhY2sgcmVmIGZvciB0aGUgY29udGVudCBlbGVtZW50IGluc2lkZSB0aGUgY29udGFpbmVyIChncm93dGggdHJhY2tpbmcpLiAqL1xuICBzZXRDb250ZW50UmVmOiAobm9kZTogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xuICAvKiogU2Nyb2xsIGhhbmRsZXIgZm9yIHRoZSBjb250YWluZXI7IG1lYXN1cmVzLCB0aGVuIGNhbGxzIGBvblNjcm9sbGAuICovXG4gIG9uQ29udGFpbmVyU2Nyb2xsOiBSZWFjdC5VSUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG59O1xuXG4vKipcbiAqIFB1Ymxpc2hlcyB0aGUgc2Nyb2xsIGNvbnRhaW5lcidzIGVkZ2UgdmlzaWJpbGl0eSAoYGF0VG9wYCAvIGBhdEJvdHRvbWApIHRvXG4gKiBgc2V0RWRnZXNgIOKAlCBvbiBtb3VudCwgb24gc2Nyb2xsLCBhbmQgb24gc2l6ZSBjaGFuZ2VzIG9mIHRoZSBjb250YWluZXIgb3JcbiAqIGl0cyBjb250ZW50ICh2aWEgUmVzaXplT2JzZXJ2ZXIpLiBUaGUgdHJhY2tlZCBlbGVtZW50cyBsaXZlIGluIHN0YXRlIHNvIHRoZVxuICogdHJhY2tpbmcgcmV0YXJnZXRzIHdoZW4gdGhlIHNjcm9sbGVyIGNoYW5nZXMgKHJvb3Qg4oaUIGBTYW5kd2ljaC5Cb2R5YCkuXG4gKi9cbmNvbnN0IHVzZVNjcm9sbEVkZ2VUcmFja2luZyA9ICh7XG4gIHNjcm9sbFJlZixcbiAgb25TY3JvbGwsXG4gIHNldEVkZ2VzLFxufTogU2Nyb2xsRWRnZVRyYWNraW5nUGFyYW1zKTogU2Nyb2xsRWRnZVRyYWNraW5nID0+IHtcbiAgY29uc3QgW2NvbnRhaW5lckVsLCBzZXRDb250YWluZXJFbF0gPSB1c2VTdGF0ZTxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbY29udGVudEVsLCBzZXRDb250ZW50RWxdID0gdXNlU3RhdGU8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcblxuICAvLyBLZWVwIHRoZSBpbnRlcm5hbCBlbGVtZW50ICh1c2VkIGZvciBtZWFzdXJpbmcpIHdoaWxlIGFsc28gZm9yd2FyZGluZyB0aGVcbiAgLy8gbm9kZSB0byB0aGUgY29uc3VtZXIncyBgc2Nyb2xsUmVmYCDigJQgYSBjYWxsYmFjayByZWYgaGFuZGxlcyBib3RoIGZvcm1zLlxuICBjb25zdCBzZXRDb250YWluZXJSZWYgPSB1c2VDYWxsYmFjayhcbiAgICAobm9kZTogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiB7XG4gICAgICBzZXRDb250YWluZXJFbChub2RlKTtcbiAgICAgIGlmICh0eXBlb2Ygc2Nyb2xsUmVmID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgc2Nyb2xsUmVmKG5vZGUpO1xuICAgICAgfSBlbHNlIGlmIChzY3JvbGxSZWYpIHtcbiAgICAgICAgY29uc3QgbXV0YWJsZVJlZiA9XG4gICAgICAgICAgc2Nyb2xsUmVmIGFzIFJlYWN0Lk11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPjtcbiAgICAgICAgbXV0YWJsZVJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzY3JvbGxSZWZdXG4gICk7XG5cbiAgY29uc3QgcmVjYWxjdWxhdGVFZGdlcyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoIWNvbnRhaW5lckVsKSByZXR1cm47XG4gICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBjb250YWluZXJFbDtcbiAgICBzZXRFZGdlcyh7XG4gICAgICBhdFRvcDogc2Nyb2xsVG9wIDw9IEVER0VfVEhSRVNIT0xELFxuICAgICAgYXRCb3R0b206IHNjcm9sbFRvcCArIGNsaWVudEhlaWdodCA+PSBzY3JvbGxIZWlnaHQgLSBFREdFX1RIUkVTSE9MRCxcbiAgICB9KTtcbiAgfSwgW2NvbnRhaW5lckVsLCBzZXRFZGdlc10pO1xuXG4gIGNvbnN0IG9uQ29udGFpbmVyU2Nyb2xsID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBSZWFjdC5VSUV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgICAgcmVjYWxjdWxhdGVFZGdlcygpO1xuICAgICAgb25TY3JvbGw/LihldmVudCk7XG4gICAgfSxcbiAgICBbcmVjYWxjdWxhdGVFZGdlcywgb25TY3JvbGxdXG4gICk7XG5cbiAgLy8gTWVhc3VyZSBvbiBhdHRhY2ggb25seSDigJQgdGhlIFJlc2l6ZU9ic2VydmVyICsgc2Nyb2xsIGhhbmRsZXIgYmVsb3cgY292ZXIgdGhlXG4gIC8vIHJlc3QuIERvIE5PVCBkcm9wIHRoZSBkZXBzOiBhIGRlcC1sZXNzIGVmZmVjdCByZS1tZWFzdXJlcyBldmVyeSByZW5kZXIgYW5kIGNhblxuICAvLyBpbmZpbml0ZS1sb29wIHdoZW4gdGhlIGhlaWdodCBpcyBicmllZmx5IHVuc3RhYmxlIChzZXRFZGdlcyDihpIgcmVmbG93IOKGkiByZXBlYXQpLlxuICB1c2VMYXlvdXRFZmZlY3QocmVjYWxjdWxhdGVFZGdlcywgW3JlY2FsY3VsYXRlRWRnZXNdKTtcblxuICAvLyBSZS1tZWFzdXJlIG9uIHNpemUgY2hhbmdlcyB0aGF0IERPTidUIHRyaWdnZXIgYSBSZWFjdCByZW5kZXI6IHRoZSBjb250ZW50XG4gIC8vIGdyb3dpbmcvc2hyaW5raW5nIChpbWFnZSBsb2FkLCBhY2NvcmRpb24gZXhwYW5kLCB0ZXh0IHJlZmxvdykgYW5kIHRoZVxuICAvLyB2aWV3cG9ydCBpdHNlbGYgcmVzaXppbmcuIE9ic2VydmUgYm90aCBub2Rlcy5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodHlwZW9mIFJlc2l6ZU9ic2VydmVyID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHJlY2FsY3VsYXRlRWRnZXMoKSk7XG4gICAgaWYgKGNvbnRhaW5lckVsKSBvYnNlcnZlci5vYnNlcnZlKGNvbnRhaW5lckVsKTtcbiAgICBpZiAoY29udGVudEVsKSBvYnNlcnZlci5vYnNlcnZlKGNvbnRlbnRFbCk7XG4gICAgcmV0dXJuICgpID0+IG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgfSwgW2NvbnRhaW5lckVsLCBjb250ZW50RWwsIHJlY2FsY3VsYXRlRWRnZXNdKTtcblxuICByZXR1cm4geyBzZXRDb250YWluZXJSZWYsIHNldENvbnRlbnRSZWY6IHNldENvbnRlbnRFbCwgb25Db250YWluZXJTY3JvbGwgfTtcbn07XG5cbnR5cGUgU2FuZHdpY2hFZGdlc1N0YXRlID0gU2FuZHdpY2hFZGdlcyAmIHtcbiAgc2V0RWRnZXM6IChlZGdlczogUGFydGlhbDxTYW5kd2ljaEVkZ2VzPikgPT4gdm9pZDtcbn07XG5cbi8qKlxuICogT3ducyB0aGUgc2Nyb2xsLWVkZ2Ugc3RhdGUgdGhlIHJvb3QgcHJvdmlkZXMgdGhyb3VnaCBjb250ZXh0OiBldmVyeXRoaW5nXG4gKiB2aXNpYmxlIGJ5IGRlZmF1bHQgKG5vIHNjcm9sbGluZyBuZWVkZWQg4oaSIG5vIGJvcmRlcnMpLCBgc2V0RWRnZXNgIG1lcmdlc1xuICogcGFydGlhbCB1cGRhdGVzIGFuZCBiYWlscyBvdXQgd2hlbiBub3RoaW5nIGNoYW5nZWQgc28gc2Nyb2xsIGhhbmRsZXJzIGNhbid0XG4gKiByZS1yZW5kZXItbG9vcC5cbiAqL1xuY29uc3QgdXNlU2FuZHdpY2hFZGdlc1N0YXRlID0gKCk6IFNhbmR3aWNoRWRnZXNTdGF0ZSA9PiB7XG4gIGNvbnN0IFtlZGdlcywgc2V0RWRnZXNTdGF0ZV0gPSB1c2VTdGF0ZTxTYW5kd2ljaEVkZ2VzPih7XG4gICAgYXRUb3A6IHRydWUsXG4gICAgYXRCb3R0b206IHRydWUsXG4gIH0pO1xuXG4gIGNvbnN0IHNldEVkZ2VzID0gdXNlQ2FsbGJhY2soKG5leHQ6IFBhcnRpYWw8U2FuZHdpY2hFZGdlcz4pID0+IHtcbiAgICBzZXRFZGdlc1N0YXRlKChwcmV2KSA9PiB7XG4gICAgICBjb25zdCBtZXJnZWQgPSB7IC4uLnByZXYsIC4uLm5leHQgfTtcbiAgICAgIGlmIChtZXJnZWQuYXRUb3AgPT09IHByZXYuYXRUb3AgJiYgbWVyZ2VkLmF0Qm90dG9tID09PSBwcmV2LmF0Qm90dG9tKSB7XG4gICAgICAgIHJldHVybiBwcmV2O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG1lcmdlZDtcbiAgICB9KTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiB1c2VNZW1vKCgpID0+ICh7IC4uLmVkZ2VzLCBzZXRFZGdlcyB9KSwgW2VkZ2VzLCBzZXRFZGdlc10pO1xufTtcblxuLy8gTm9uLXNjcm9sbGluZyBmcmFtZTogc3RhdGljIGhlYWRlciBzbG90IC8gc2Nyb2xsYWJsZSBib2R5IC8gc3RhdGljIGZvb3RlclxuLy8gc2xvdCwgdG9wIHRvIGJvdHRvbS5cbmNvbnN0IFN0eWxlZFJvb3QgPSBzdHlsZWQuZGl2KHtcbiAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgZGlzcGxheTogXCJmbGV4XCIsXG4gIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG59KTtcblxuLy8gU3RhdGljIGhvc3QgZm9yIHRoZSBwb3J0YWxlZCBgU2FuZHdpY2guSGVhZGVyYCAvIGBTYW5kd2ljaC5Gb290ZXJgIGNvbnRlbnQgLVxuLy8ga2VlcHMgaXRzIG5hdHVyYWwgaGVpZ2h0LCBuZXZlciBzY3JvbGxzLlxuY29uc3QgU3R5bGVkRWRnZVNsb3QgPSBzdHlsZWQuZGl2KHtcbiAgZmxleDogXCIwIDAgYXV0b1wiLFxufSk7XG5cbi8vIFRoZSBvbmx5IHNjcm9sbGVyOiBqdXN0IHRoZSBjb250ZW50IGJldHdlZW4gaGVhZGVyIGFuZCBmb290ZXIsIHNvIHRoZVxuLy8gc2Nyb2xsYmFyIG5ldmVyIHNwYW5zIHRoZW0uXG5jb25zdCBTdHlsZWRTY3JvbGxCb2R5ID0gc3R5bGVkLmRpdih7XG4gIGZsZXg6IFwiMSAxIGF1dG9cIixcbiAgbWluSGVpZ2h0OiAwLFxuICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbi8vIGBtaW4taGVpZ2h0YCBsZXRzIHNob3J0IGNvbnRlbnQgZmlsbCB0aGUgYm9keSB3aXRob3V0IGNsaXBwaW5nIHRhbGxlclxuLy8gY29udGVudC4gRmxleCBjb2x1bW4gc28gYm90dG9tLWFsaWduZWQgY29udGVudCAoY2hhdCkgY2FuIHBpbiBpdHNlbGYgZG93bi5cbmNvbnN0IFN0eWxlZFNjcm9sbENvbnRlbnQgPSBzdHlsZWQuZGl2KHtcbiAgbWluSGVpZ2h0OiBcIjEwMCVcIixcbiAgZGlzcGxheTogXCJmbGV4XCIsXG4gIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG59KTtcblxuLyoqXG4gKiBJbnRlcm5hbCBjb21wb3VuZCBjb21wb25lbnQ6IGEgbm9uLXNjcm9sbGluZyBmcmFtZSB3aG9zZSBtaWRkbGUgaXMgdGhlIE9ORVxuICogc2Nyb2xsYWJsZSByZWdpb24uIGBTYW5kd2ljaC5IZWFkZXJgIC8gYFNhbmR3aWNoLkZvb3RlcmAgbWF5IGJlIGF1dGhvcmVkIGF0XG4gKiBhbnkgZGVwdGggYW1vbmcgdGhlIGNoaWxkcmVuIGluIHNvdXJjZSBvcmRlciAoZS5nLiB3cmFwcGVkIGJ5XG4gKiBgTGF5b3V0LlJpZ2h0UGFuZWxIZWFkZXJgKSAtIHRoZXkgUE9SVEFMIHRoZWlyIGNvbnRlbnQgaW50byB0aGUgZnJhbWUnc1xuICogc3RhdGljIGVkZ2Ugc2xvdHMsIHNvIG9ubHkgdGhlIGNvbnRlbnQgYmV0d2VlbiB0aGVtIHNjcm9sbHMgYW5kIHRoZVxuICogc2Nyb2xsYmFyIG5ldmVyIHNwYW5zIGhlYWRlciBvciBmb290ZXIuIFRoZXkgcmV2ZWFsIGEgYm9yZGVyIG9ubHkgd2hpbGVcbiAqIGNvbnRlbnQgaXMgc2Nyb2xsZWQgdW5kZXIgdGhlbTsgZWRnZSBzdGF0ZSBpcyBzaGFyZWQgdGhyb3VnaCBjb250ZXh0IChzZWVcbiAqIGB1c2VTYW5kd2ljaENvbnRleHQudHN4YCkuXG4gKi9cbmZ1bmN0aW9uIFNhbmR3aWNoUm9vdCh7XG4gIGNoaWxkcmVuLFxuICBzY3JvbGxSZWYsXG4gIG9uU2Nyb2xsLFxufTogU2FuZHdpY2hQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IGVkZ2VzVmFsdWUgPSB1c2VTYW5kd2ljaEVkZ2VzU3RhdGUoKTtcbiAgY29uc3QgeyBzZXRDb250YWluZXJSZWYsIHNldENvbnRlbnRSZWYsIG9uQ29udGFpbmVyU2Nyb2xsIH0gPVxuICAgIHVzZVNjcm9sbEVkZ2VUcmFja2luZyh7XG4gICAgICBzY3JvbGxSZWYsXG4gICAgICBvblNjcm9sbCxcbiAgICAgIHNldEVkZ2VzOiBlZGdlc1ZhbHVlLnNldEVkZ2VzLFxuICAgIH0pO1xuXG4gIGNvbnN0IFtoZWFkZXJTbG90Tm9kZSwgc2V0SGVhZGVyU2xvdE5vZGVdID0gdXNlU3RhdGU8SFRNTEVsZW1lbnQgfCBudWxsPihcbiAgICBudWxsXG4gICk7XG4gIGNvbnN0IFtmb290ZXJTbG90Tm9kZSwgc2V0Rm9vdGVyU2xvdE5vZGVdID0gdXNlU3RhdGU8SFRNTEVsZW1lbnQgfCBudWxsPihcbiAgICBudWxsXG4gICk7XG5cbiAgY29uc3QgY29udGV4dFZhbHVlID0gdXNlTWVtbzxTYW5kd2ljaENvbnRleHRWYWx1ZT4oXG4gICAgKCkgPT4gKHsgLi4uZWRnZXNWYWx1ZSwgaGVhZGVyU2xvdE5vZGUsIGZvb3RlclNsb3ROb2RlIH0pLFxuICAgIFtlZGdlc1ZhbHVlLCBoZWFkZXJTbG90Tm9kZSwgZm9vdGVyU2xvdE5vZGVdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8U2FuZHdpY2hQcm92aWRlciB2YWx1ZT17Y29udGV4dFZhbHVlfT5cbiAgICAgIDxTdHlsZWRSb290IGRhdGEtZHMtaWQ9XCJTYW5kd2ljaFwiPlxuICAgICAgICA8U3R5bGVkRWRnZVNsb3QgcmVmPXtzZXRIZWFkZXJTbG90Tm9kZX0gLz5cbiAgICAgICAgey8qIHRhYkluZGV4IG1ha2VzIHRoZSBzY3JvbGwgcmVnaW9uIGtleWJvYXJkLWFjY2Vzc2libGUgKGExMXk6XG4gICAgICAgICAgICBzY3JvbGxhYmxlIHJlZ2lvbnMgbXVzdCBiZSBmb2N1c2FibGUgc28ga2V5Ym9hcmQgdXNlcnMgY2FuIHNjcm9sbFxuICAgICAgICAgICAgdGhlbSkuICovfVxuICAgICAgICA8U3R5bGVkU2Nyb2xsQm9keVxuICAgICAgICAgIHJlZj17c2V0Q29udGFpbmVyUmVmfVxuICAgICAgICAgIG9uU2Nyb2xsPXtvbkNvbnRhaW5lclNjcm9sbH1cbiAgICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgICAgICBkYXRhLWRzLWlkPVwiU2FuZHdpY2hCb2R5XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxTdHlsZWRTY3JvbGxDb250ZW50IHJlZj17c2V0Q29udGVudFJlZn0+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9TdHlsZWRTY3JvbGxDb250ZW50PlxuICAgICAgICA8L1N0eWxlZFNjcm9sbEJvZHk+XG4gICAgICAgIDxTdHlsZWRFZGdlU2xvdCByZWY9e3NldEZvb3RlclNsb3ROb2RlfSAvPlxuICAgICAgPC9TdHlsZWRSb290PlxuICAgIDwvU2FuZHdpY2hQcm92aWRlcj5cbiAgKTtcbn1cblxuLyoqXG4gKiBDb21wb3VuZCBleHBvcnQ6IGBTYW5kd2ljaGAgd2l0aCBgLkhlYWRlcmAgLyBgLkZvb3RlcmAgYXR0YWNoZWQuXG4gKiBPYmplY3QuYXNzaWduIGtlZXBzIHRoZSBzdGF0aWMgc3ViLWNvbXBvbmVudHMgdHlwZWQgb24gdGhlIHJvb3RcbiAqIChmdW5jdGlvbi1kZWNsYXJhdGlvbiBzdGF0aWNzIGRvbid0IHR5cGUtY2hlY2spLlxuICovXG5leHBvcnQgY29uc3QgU2FuZHdpY2ggPSBPYmplY3QuYXNzaWduKFNhbmR3aWNoUm9vdCwge1xuICBIZWFkZXI6IFNhbmR3aWNoSGVhZGVyLFxuICBGb290ZXI6IFNhbmR3aWNoRm9vdGVyLFxufSk7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEo0QiJ9 */");export const Sandwich=Object.assign(function({children,scrollRef,onScroll}){let edgesValue=useSandwichEdgesState(),{setContainerRef,setContentRef,onContainerScroll}=useScrollEdgeTracking({scrollRef,onScroll,setEdges:edgesValue.setEdges}),[headerSlotNode,setHeaderSlotNode]=useState(null),[footerSlotNode,setFooterSlotNode]=useState(null),contextValue=useMemo(()=>({...edgesValue,headerSlotNode,footerSlotNode}),[edgesValue,headerSlotNode,footerSlotNode]);return React.createElement(SandwichProvider,{value:contextValue},React.createElement(StyledRoot,{"data-ds-id":"Sandwich"},React.createElement(StyledEdgeSlot,{ref:setHeaderSlotNode}),React.createElement(StyledScrollBody,{ref:setContainerRef,onScroll:onContainerScroll,tabIndex:0,"data-ds-id":"SandwichBody"},React.createElement(StyledScrollContent,{ref:setContentRef},children)),React.createElement(StyledEdgeSlot,{ref:setFooterSlotNode})))},{Header:SandwichHeader,Footer:SandwichFooter});
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { SandwichFooterProps } from "./-types";
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* May be authored at any depth among the Sandwich's children - the content is
|
|
5
|
+
* PORTALED into the root's static footer slot, below the scrollable body.
|
|
6
|
+
*/
|
|
7
|
+
export declare function SandwichFooter({ children, showSeparator, "data-e2e-test-id": dataE2eTestId, }: SandwichFooterProps): React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import React from"react";import styled from"@emotion/styled";import{useSandwichContext}from"./useSandwichContext";let StyledFooter=styled("div",{shouldForwardProp:prop=>"showBorder"!==prop,target:"
|
|
1
|
+
import React from"react";import{createPortal}from"react-dom";import styled from"@emotion/styled";import{useSandwichContext}from"./useSandwichContext";let StyledFooter=styled("div",{shouldForwardProp:prop=>"showBorder"!==prop,target:"e1sbhgjt0",label:"StyledFooter"})(({theme,showBorder})=>({borderTopWidth:1,borderTopStyle:"solid",borderTopColor:showBorder?theme.values.color.border.secondary.default:"transparent",transition:"border-color 0.15s ease"}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvSW50ZXJuYWwvU2FuZHdpY2gvU2FuZHdpY2hGb290ZXIudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9JbnRlcm5hbC9TYW5kd2ljaC9TYW5kd2ljaEZvb3Rlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSBcInJlYWN0LWRvbVwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFNhbmR3aWNoRm9vdGVyUHJvcHMgfSBmcm9tIFwiLi8tdHlwZXNcIjtcbmltcG9ydCB7IHVzZVNhbmR3aWNoQ29udGV4dCB9IGZyb20gXCIuL3VzZVNhbmR3aWNoQ29udGV4dFwiO1xuXG5jb25zdCBCT1JERVJfV0lEVEggPSAxO1xuXG5jb25zdCBTdHlsZWRGb290ZXIgPSBzdHlsZWQoXCJkaXZcIiwge1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IHByb3AgIT09IFwic2hvd0JvcmRlclwiLFxufSk8eyBzaG93Qm9yZGVyOiBib29sZWFuIH0+KCh7IHRoZW1lLCBzaG93Qm9yZGVyIH0pID0+ICh7XG4gIC8vIFJlc2VydmUgdGhlIGJvcmRlciBib3ggYXQgYWxsIHRpbWVzOyBvbmx5IHRoZSBjb2xvciB0b2dnbGVzIHNvIHRoZSBkaXZpZGVyXG4gIC8vIGFwcGVhcnMgd2l0aG91dCBzaGlmdGluZyBsYXlvdXQuXG4gIGJvcmRlclRvcFdpZHRoOiBCT1JERVJfV0lEVEgsXG4gIGJvcmRlclRvcFN0eWxlOiBcInNvbGlkXCIsXG4gIGJvcmRlclRvcENvbG9yOiBzaG93Qm9yZGVyXG4gICAgPyB0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnNlY29uZGFyeS5kZWZhdWx0XG4gICAgOiBcInRyYW5zcGFyZW50XCIsXG4gIHRyYW5zaXRpb246IFwiYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2VcIixcbn0pKTtcblxuLyoqXG4gKiBNYXkgYmUgYXV0aG9yZWQgYXQgYW55IGRlcHRoIGFtb25nIHRoZSBTYW5kd2ljaCdzIGNoaWxkcmVuIC0gdGhlIGNvbnRlbnQgaXNcbiAqIFBPUlRBTEVEIGludG8gdGhlIHJvb3QncyBzdGF0aWMgZm9vdGVyIHNsb3QsIGJlbG93IHRoZSBzY3JvbGxhYmxlIGJvZHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTYW5kd2ljaEZvb3Rlcih7XG4gIGNoaWxkcmVuLFxuICBzaG93U2VwYXJhdG9yID0gXCJhdXRvXCIsXG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxufTogU2FuZHdpY2hGb290ZXJQcm9wcyk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIGNvbnN0IHsgYXRCb3R0b20sIGZvb3RlclNsb3ROb2RlIH0gPSB1c2VTYW5kd2ljaENvbnRleHQoKTtcbiAgLy8gRGl2aWRlciB3aGlsZSBjb250ZW50IHJlbWFpbnMgYmVsb3cgdGhlIGZvbGQgKG9yIHBlciBgc2hvd1NlcGFyYXRvcmApLlxuICBjb25zdCBzaG93Qm9yZGVyID1cbiAgICBzaG93U2VwYXJhdG9yID09PSBcImFsd2F5c1wiIHx8IChzaG93U2VwYXJhdG9yID09PSBcImF1dG9cIiAmJiAhYXRCb3R0b20pO1xuICBpZiAoIWZvb3RlclNsb3ROb2RlKSByZXR1cm4gbnVsbDtcbiAgcmV0dXJuIGNyZWF0ZVBvcnRhbChcbiAgICA8U3R5bGVkRm9vdGVyIHNob3dCb3JkZXI9e3Nob3dCb3JkZXJ9IGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvU3R5bGVkRm9vdGVyPixcbiAgICBmb290ZXJTbG90Tm9kZVxuICApO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFxQiJ9 */");export function SandwichFooter({children,showSeparator="auto","data-e2e-test-id":dataE2eTestId}){let{atBottom,footerSlotNode}=useSandwichContext();return footerSlotNode?createPortal(React.createElement(StyledFooter,{showBorder:"always"===showSeparator||"auto"===showSeparator&&!atBottom,"data-e2e-test-id":dataE2eTestId},children),footerSlotNode):null}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { SandwichHeaderProps } from "./-types";
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* May be authored at any depth among the Sandwich's children - the content is
|
|
5
|
+
* PORTALED into the root's static header slot, above the scrollable body.
|
|
6
|
+
*/
|
|
7
|
+
export declare function SandwichHeader({ children, showSeparator, "data-e2e-test-id": dataE2eTestId, }: SandwichHeaderProps): React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import React from"react";import styled from"@emotion/styled";import{useSandwichContext}from"./useSandwichContext";let StyledHeader=styled("div",{shouldForwardProp:prop=>"showBorder"!==prop,target:"
|
|
1
|
+
import React from"react";import{createPortal}from"react-dom";import styled from"@emotion/styled";import{useSandwichContext}from"./useSandwichContext";let StyledHeader=styled("div",{shouldForwardProp:prop=>"showBorder"!==prop,target:"edw31150",label:"StyledHeader"})(({theme,showBorder})=>({borderBottomWidth:1,borderBottomStyle:"solid",borderBottomColor:showBorder?theme.values.color.border.secondary.default:"transparent",transition:"border-color 0.15s ease"}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvSW50ZXJuYWwvU2FuZHdpY2gvU2FuZHdpY2hIZWFkZXIudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9JbnRlcm5hbC9TYW5kd2ljaC9TYW5kd2ljaEhlYWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSBcInJlYWN0LWRvbVwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFNhbmR3aWNoSGVhZGVyUHJvcHMgfSBmcm9tIFwiLi8tdHlwZXNcIjtcbmltcG9ydCB7IHVzZVNhbmR3aWNoQ29udGV4dCB9IGZyb20gXCIuL3VzZVNhbmR3aWNoQ29udGV4dFwiO1xuXG5jb25zdCBCT1JERVJfV0lEVEggPSAxO1xuXG5jb25zdCBTdHlsZWRIZWFkZXIgPSBzdHlsZWQoXCJkaXZcIiwge1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IHByb3AgIT09IFwic2hvd0JvcmRlclwiLFxufSk8eyBzaG93Qm9yZGVyOiBib29sZWFuIH0+KCh7IHRoZW1lLCBzaG93Qm9yZGVyIH0pID0+ICh7XG4gIC8vIFJlc2VydmUgdGhlIGJvcmRlciBib3ggYXQgYWxsIHRpbWVzOyBvbmx5IHRoZSBjb2xvciB0b2dnbGVzIHNvIHRoZSBkaXZpZGVyXG4gIC8vIGFwcGVhcnMgd2l0aG91dCBzaGlmdGluZyBsYXlvdXQuXG4gIGJvcmRlckJvdHRvbVdpZHRoOiBCT1JERVJfV0lEVEgsXG4gIGJvcmRlckJvdHRvbVN0eWxlOiBcInNvbGlkXCIsXG4gIGJvcmRlckJvdHRvbUNvbG9yOiBzaG93Qm9yZGVyXG4gICAgPyB0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnNlY29uZGFyeS5kZWZhdWx0XG4gICAgOiBcInRyYW5zcGFyZW50XCIsXG4gIHRyYW5zaXRpb246IFwiYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2VcIixcbn0pKTtcblxuLyoqXG4gKiBNYXkgYmUgYXV0aG9yZWQgYXQgYW55IGRlcHRoIGFtb25nIHRoZSBTYW5kd2ljaCdzIGNoaWxkcmVuIC0gdGhlIGNvbnRlbnQgaXNcbiAqIFBPUlRBTEVEIGludG8gdGhlIHJvb3QncyBzdGF0aWMgaGVhZGVyIHNsb3QsIGFib3ZlIHRoZSBzY3JvbGxhYmxlIGJvZHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTYW5kd2ljaEhlYWRlcih7XG4gIGNoaWxkcmVuLFxuICBzaG93U2VwYXJhdG9yID0gXCJhdXRvXCIsXG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxufTogU2FuZHdpY2hIZWFkZXJQcm9wcyk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIGNvbnN0IHsgYXRUb3AsIGhlYWRlclNsb3ROb2RlIH0gPSB1c2VTYW5kd2ljaENvbnRleHQoKTtcbiAgLy8gRGl2aWRlciBvbmNlIHRoZSBzdGFydCBvZiB0aGUgY29udGVudCBpcyBzY3JvbGxlZCBhd2F5IChvciBwZXIgYHNob3dTZXBhcmF0b3JgKS5cbiAgY29uc3Qgc2hvd0JvcmRlciA9XG4gICAgc2hvd1NlcGFyYXRvciA9PT0gXCJhbHdheXNcIiB8fCAoc2hvd1NlcGFyYXRvciA9PT0gXCJhdXRvXCIgJiYgIWF0VG9wKTtcbiAgaWYgKCFoZWFkZXJTbG90Tm9kZSkgcmV0dXJuIG51bGw7XG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgPFN0eWxlZEhlYWRlciBzaG93Qm9yZGVyPXtzaG93Qm9yZGVyfSBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1N0eWxlZEhlYWRlcj4sXG4gICAgaGVhZGVyU2xvdE5vZGVcbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRcUIifQ== */");export function SandwichHeader({children,showSeparator="auto","data-e2e-test-id":dataE2eTestId}){let{atTop,headerSlotNode}=useSandwichContext();return headerSlotNode?createPortal(React.createElement(StyledHeader,{showBorder:"always"===showSeparator||"auto"===showSeparator&&!atTop,"data-e2e-test-id":dataE2eTestId},children),headerSlotNode):null}
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import type { SandwichEdges } from "./-types";
|
|
2
2
|
/**
|
|
3
|
-
* Context decouples the parts: the
|
|
3
|
+
* Context decouples the parts: the root reports edge visibility via
|
|
4
4
|
* `setEdges`, `Header` / `Footer` read `atTop` / `atBottom`. The link is the
|
|
5
5
|
* context, not child order, so the parts may be authored in any order.
|
|
6
|
+
*
|
|
7
|
+
* The slot nodes are the static hosts above/below the scroll body that
|
|
8
|
+
* `Header` / `Footer` PORTAL their content into — they may be rendered at any
|
|
9
|
+
* depth inside the body's children (e.g. wrapped by `Layout.RightPanelHeader`)
|
|
10
|
+
* and still land outside the scrollbar.
|
|
6
11
|
*/
|
|
7
12
|
export type SandwichContextValue = SandwichEdges & {
|
|
8
13
|
setEdges: (edges: Partial<SandwichEdges>) => void;
|
|
14
|
+
/** Static host above the scroll body - `Sandwich.Header` portals into it. */
|
|
15
|
+
headerSlotNode: HTMLElement | null;
|
|
16
|
+
/** Static host below the scroll body - `Sandwich.Footer` portals into it. */
|
|
17
|
+
footerSlotNode: HTMLElement | null;
|
|
9
18
|
};
|
|
10
19
|
export declare const SandwichProvider: React.Provider<SandwichContextValue>;
|
|
11
20
|
/** Read the Sandwich context, or throw if used outside `<Sandwich>`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createContext,useContext}from"react";let SandwichContext=createContext(null);export const SandwichProvider=SandwichContext.Provider;export function useSandwichContext(){let ctx=useContext(SandwichContext);if(!ctx)throw Error("Sandwich.Header / Sandwich.Footer must be used within <Sandwich>.");return ctx}
|
|
1
|
+
import{createContext,useContext}from"react";let SandwichContext=createContext(null);export const SandwichProvider=SandwichContext.Provider;export function useSandwichContext(){let ctx=useContext(SandwichContext);if(!ctx)throw Error("Sandwich.Header / Sandwich.Body / Sandwich.Footer must be used within <Sandwich>.");return ctx}
|
|
@@ -17,8 +17,15 @@ export type Size = number | string;
|
|
|
17
17
|
* - `offcanvas` - detached desktop overlay. ⚠️ **RESERVED - not implemented yet.**
|
|
18
18
|
* Currently treated like `sidebar` (renders in-flow); the overlay
|
|
19
19
|
* implementation lands in a later commit.
|
|
20
|
+
* - `float` - detached floating window pinned to the bottom-right viewport
|
|
21
|
+
* corner. Right panel only - the per-slot unions below make `"float"`
|
|
22
|
+
* unrepresentable on the left panel at compile time.
|
|
20
23
|
*/
|
|
21
|
-
export type Variant = "sidebar" | "offcanvas";
|
|
24
|
+
export type Variant = "sidebar" | "offcanvas" | "float";
|
|
25
|
+
/** Variants the left panel supports (`float` is right-panel only). */
|
|
26
|
+
export type LeftPanelVariant = Exclude<Variant, "float">;
|
|
27
|
+
/** Variants the right panel supports (all of them). */
|
|
28
|
+
export type RightPanelVariant = Variant;
|
|
22
29
|
export type { PanelKey, SidePanelKey, SlotKey };
|
|
23
30
|
export type SidePanelState = {
|
|
24
31
|
kind: "sidePanel";
|
|
@@ -49,10 +56,10 @@ export type LayoutState = {
|
|
|
49
56
|
content: PanelState;
|
|
50
57
|
splitview: PanelState;
|
|
51
58
|
};
|
|
52
|
-
export type SidePanelConfig = {
|
|
59
|
+
export type SidePanelConfig<V extends Variant = Variant> = {
|
|
53
60
|
defaultVisible?: boolean;
|
|
54
61
|
collapsible?: boolean;
|
|
55
|
-
variant?:
|
|
62
|
+
variant?: V;
|
|
56
63
|
defaultSize?: Size;
|
|
57
64
|
minSize?: Size;
|
|
58
65
|
maxSize?: Size;
|
|
@@ -63,9 +70,23 @@ export type PanelConfig = {
|
|
|
63
70
|
minSize?: Size;
|
|
64
71
|
maxSize?: Size;
|
|
65
72
|
};
|
|
73
|
+
/**
|
|
74
|
+
* Master switch for the side/split panels.
|
|
75
|
+
* - `false` (default) - panel markers declare nothing and render nothing;
|
|
76
|
+
* only `Layout.Content` shows.
|
|
77
|
+
* - `"mobile"` - only the mobile overlay presentations render (left-panel
|
|
78
|
+
* drawer, right-panel sheet). They are portals, so the resizable row - and
|
|
79
|
+
* with it the react-resizable-panels library - never mounts. Desktop
|
|
80
|
+
* viewports show no panels.
|
|
81
|
+
* - `true` - everything: docked resizable columns, float window, drawer,
|
|
82
|
+
* sheet.
|
|
83
|
+
*/
|
|
84
|
+
export type LayoutPanelsMode = boolean | "mobile";
|
|
66
85
|
export type LayoutConfig = {
|
|
67
|
-
|
|
68
|
-
|
|
86
|
+
/** See {@link LayoutPanelsMode}. Default `false`. */
|
|
87
|
+
enablePanels?: LayoutPanelsMode;
|
|
88
|
+
leftPanel?: SidePanelConfig<LeftPanelVariant>;
|
|
89
|
+
rightPanel?: SidePanelConfig<RightPanelVariant>;
|
|
69
90
|
content?: PanelConfig;
|
|
70
91
|
splitview?: PanelConfig;
|
|
71
92
|
};
|
|
@@ -105,7 +126,7 @@ export type LayoutStorage = {
|
|
|
105
126
|
getItem: (key: string) => string | null;
|
|
106
127
|
setItem: (key: string, value: string) => void;
|
|
107
128
|
};
|
|
108
|
-
export type SidePanelHandle = {
|
|
129
|
+
export type SidePanelHandle<V extends Variant = Variant> = {
|
|
109
130
|
/** Live state for this slot (visibility, size, variant). */
|
|
110
131
|
state: SidePanelState;
|
|
111
132
|
/** Whether the slot is currently shown. */
|
|
@@ -116,8 +137,9 @@ export type SidePanelHandle = {
|
|
|
116
137
|
hide: () => void;
|
|
117
138
|
/** Set the slot size (number = px, unitless string = %). */
|
|
118
139
|
resize: (size: Size) => void;
|
|
119
|
-
/** Switch render variant
|
|
120
|
-
|
|
140
|
+
/** Switch render variant. The union is per-slot: `"float"` compiles only on
|
|
141
|
+
* the right panel; `offcanvas` stays reserved (not implemented). */
|
|
142
|
+
setVariant: (variant: V) => void;
|
|
121
143
|
/** Restore this slot to its config default (hides it for page panels). */
|
|
122
144
|
reset: () => void;
|
|
123
145
|
};
|
|
@@ -132,18 +154,18 @@ export type PanelHandle = {
|
|
|
132
154
|
};
|
|
133
155
|
export type LayoutValue = {
|
|
134
156
|
state: LayoutState;
|
|
135
|
-
leftPanel: SidePanelHandle
|
|
136
|
-
rightPanel: SidePanelHandle
|
|
157
|
+
leftPanel: SidePanelHandle<LeftPanelVariant>;
|
|
158
|
+
rightPanel: SidePanelHandle<RightPanelVariant>;
|
|
137
159
|
content: PanelHandle;
|
|
138
160
|
splitview: PanelHandle;
|
|
139
161
|
};
|
|
140
|
-
export type SidePanelProps = {
|
|
162
|
+
export type SidePanelProps<V extends Variant = Variant> = {
|
|
141
163
|
/** Panel content in source order. Header/footer components
|
|
142
164
|
* (e.g. `<Layout.LeftPanelHeader />`) stick to the edges; the rest scrolls. */
|
|
143
165
|
children: React.ReactNode;
|
|
144
166
|
/** Accessible name; when set, the panel renders as a `region` landmark. */
|
|
145
167
|
"aria-label"?: string;
|
|
146
|
-
variant?:
|
|
168
|
+
variant?: V;
|
|
147
169
|
collapsible?: boolean;
|
|
148
170
|
/** Number = pixels, unitless string = percent (e.g. `"30%"`). */
|
|
149
171
|
defaultSize?: Size;
|
|
@@ -152,6 +174,11 @@ export type SidePanelProps = {
|
|
|
152
174
|
/** Called whenever the panel's visibility changes, with the new value. */
|
|
153
175
|
onVisibleChange?: (visible: boolean) => void;
|
|
154
176
|
};
|
|
177
|
+
export type LeftPanelProps = SidePanelProps & {
|
|
178
|
+
/** Accessible name for the panel. Used to label the modal drawer it renders
|
|
179
|
+
* as on mobile (`role="dialog"`). Ignored by the docked desktop panel. */
|
|
180
|
+
"aria-label": string;
|
|
181
|
+
};
|
|
155
182
|
export type ContentProps = {
|
|
156
183
|
children: React.ReactNode;
|
|
157
184
|
/** Number = pixels, unitless string = percent (e.g. `"30%"`). */
|
|
@@ -219,6 +246,13 @@ export type RightPanelHeaderSlotProps = {
|
|
|
219
246
|
closeButton: {
|
|
220
247
|
"aria-label": string;
|
|
221
248
|
};
|
|
249
|
+
/** Props for the built-in variant-toggle button, rendered before the close
|
|
250
|
+
* button. Docked it minimizes the panel into the floating window
|
|
251
|
+
* (`minimizeLabel`); floating it docks the panel back (`dockLabel`). */
|
|
252
|
+
variantButton: {
|
|
253
|
+
minimizeLabel: string;
|
|
254
|
+
dockLabel: string;
|
|
255
|
+
};
|
|
222
256
|
};
|
|
223
257
|
export type RightPanelHeaderProps = PanelSlotHeaderProps & {
|
|
224
258
|
/** Title block (icon + heading), rendered after `leftSlot`. */
|
|
@@ -243,11 +277,14 @@ export type PanelContainerProps = {
|
|
|
243
277
|
showBorderLeft?: boolean;
|
|
244
278
|
"data-e2e-test-id"?: string;
|
|
245
279
|
};
|
|
246
|
-
export type RightPanelProps = SidePanelProps & {
|
|
280
|
+
export type RightPanelProps = SidePanelProps<RightPanelVariant> & {
|
|
247
281
|
/** Accessible name for the panel's `region` landmark. */
|
|
248
282
|
"aria-label": string;
|
|
249
283
|
/** Forwarded to the scrollable body element (scroll restoration etc.). */
|
|
250
284
|
scrollContainerRef?: React.Ref<HTMLDivElement>;
|
|
251
285
|
/** Forwarded to the scrollable body's scroll handler. */
|
|
252
286
|
onScroll?: React.UIEventHandler<HTMLDivElement>;
|
|
287
|
+
/** Called whenever the panel's render variant changes (docked ↔ float),
|
|
288
|
+
* with the new value. Not called on initial mount. */
|
|
289
|
+
onVariantChange?: (variant: RightPanelVariant) => void;
|
|
253
290
|
};
|