@amboss/design-system 3.50.0 → 3.50.1

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.
Files changed (82) hide show
  1. package/build/cjs/components/Layout/-constants.d.ts +15 -13
  2. package/build/cjs/components/Layout/-constants.js +1 -1
  3. package/build/cjs/components/Layout/-types.d.ts +22 -15
  4. package/build/cjs/components/Layout/Layout.d.ts +2 -2
  5. package/build/cjs/components/Layout/Layout.js +1 -1
  6. package/build/cjs/components/Layout/LayoutCssVars.d.ts +24 -0
  7. package/build/cjs/components/Layout/LayoutCssVars.js +1 -0
  8. package/build/cjs/components/Layout/LayoutProvider.d.ts +2 -2
  9. package/build/cjs/components/Layout/LayoutProvider.js +1 -1
  10. package/build/cjs/components/Layout/LeftPanel.d.ts +8 -0
  11. package/build/cjs/components/Layout/LeftPanel.js +1 -0
  12. package/build/cjs/components/Layout/RightPanel.d.ts +1 -1
  13. package/build/cjs/components/Layout/RightPanel.js +1 -1
  14. package/build/cjs/components/Layout/Split.d.ts +1 -1
  15. package/build/cjs/components/Layout/context.d.ts +2 -2
  16. package/build/cjs/components/Layout/{varStore.d.ts → cssVarStore.d.ts} +3 -3
  17. package/build/cjs/components/Layout/cssVarStore.js +1 -0
  18. package/build/cjs/components/Layout/index.d.ts +2 -2
  19. package/build/cjs/components/Layout/index.js +1 -1
  20. package/build/cjs/components/Layout/reducer.js +1 -1
  21. package/build/cjs/components/Layout/registry.d.ts +3 -3
  22. package/build/cjs/components/Layout/store.d.ts +1 -1
  23. package/build/cjs/components/Layout/useLayout.d.ts +1 -1
  24. package/build/cjs/components/Layout/useLayout.js +1 -1
  25. package/build/cjs/components/Layout/usePanelRefs.d.ts +4 -4
  26. package/build/cjs/components/Layout/usePortalContainerRefs.d.ts +3 -3
  27. package/build/cjs/components/NavBar/NavBarSubMenuContainer.js +1 -1
  28. package/build/cjs/components/PromptInput/PromptInput.js +1 -1
  29. package/build/cjs/web-tokens/assets/icons.json +4 -0
  30. package/build/cjs/web-tokens/assets/icons16.json +4 -0
  31. package/build/cjs/web-tokens/layout-vars.d.ts +7 -0
  32. package/build/cjs/web-tokens/layout-vars.js +1 -0
  33. package/build/cjs/web-tokens/layout-vars.ts +11 -0
  34. package/build/cjs/web-tokens/visualConfig.d.ts +17 -0
  35. package/build/cjs/web-tokens/visualConfig.js +1 -1
  36. package/build/esm/components/Layout/-constants.d.ts +15 -13
  37. package/build/esm/components/Layout/-constants.js +1 -1
  38. package/build/esm/components/Layout/-types.d.ts +22 -15
  39. package/build/esm/components/Layout/Layout.d.ts +2 -2
  40. package/build/esm/components/Layout/Layout.js +1 -1
  41. package/build/esm/components/Layout/LayoutCssVars.d.ts +24 -0
  42. package/build/esm/components/Layout/LayoutCssVars.js +1 -0
  43. package/build/esm/components/Layout/LayoutProvider.d.ts +2 -2
  44. package/build/esm/components/Layout/LayoutProvider.js +1 -1
  45. package/build/esm/components/Layout/LeftPanel.d.ts +8 -0
  46. package/build/esm/components/Layout/LeftPanel.js +1 -0
  47. package/build/esm/components/Layout/RightPanel.d.ts +1 -1
  48. package/build/esm/components/Layout/RightPanel.js +1 -1
  49. package/build/esm/components/Layout/Split.d.ts +1 -1
  50. package/build/esm/components/Layout/context.d.ts +2 -2
  51. package/build/esm/components/Layout/{varStore.d.ts → cssVarStore.d.ts} +3 -3
  52. package/build/esm/components/Layout/cssVarStore.js +1 -0
  53. package/build/esm/components/Layout/index.d.ts +2 -2
  54. package/build/esm/components/Layout/index.js +1 -1
  55. package/build/esm/components/Layout/reducer.js +1 -1
  56. package/build/esm/components/Layout/registry.d.ts +3 -3
  57. package/build/esm/components/Layout/store.d.ts +1 -1
  58. package/build/esm/components/Layout/useLayout.d.ts +1 -1
  59. package/build/esm/components/Layout/useLayout.js +1 -1
  60. package/build/esm/components/Layout/usePanelRefs.d.ts +4 -4
  61. package/build/esm/components/Layout/usePortalContainerRefs.d.ts +3 -3
  62. package/build/esm/components/NavBar/NavBarSubMenuContainer.js +1 -1
  63. package/build/esm/components/PromptInput/PromptInput.js +1 -1
  64. package/build/esm/web-tokens/assets/icons.json +4 -0
  65. package/build/esm/web-tokens/assets/icons16.json +4 -0
  66. package/build/esm/web-tokens/layout-vars.d.ts +7 -0
  67. package/build/esm/web-tokens/layout-vars.js +1 -0
  68. package/build/esm/web-tokens/layout-vars.ts +11 -0
  69. package/build/esm/web-tokens/visualConfig.d.ts +17 -0
  70. package/build/esm/web-tokens/visualConfig.js +1 -1
  71. package/build/scss/_layout.scss +6 -0
  72. package/package.json +1 -1
  73. package/build/cjs/components/Layout/LayoutVars.d.ts +0 -18
  74. package/build/cjs/components/Layout/LayoutVars.js +0 -1
  75. package/build/cjs/components/Layout/Sidebar.d.ts +0 -8
  76. package/build/cjs/components/Layout/Sidebar.js +0 -1
  77. package/build/cjs/components/Layout/varStore.js +0 -1
  78. package/build/esm/components/Layout/LayoutVars.d.ts +0 -18
  79. package/build/esm/components/Layout/LayoutVars.js +0 -1
  80. package/build/esm/components/Layout/Sidebar.d.ts +0 -8
  81. package/build/esm/components/Layout/Sidebar.js +0 -1
  82. package/build/esm/components/Layout/varStore.js +0 -1
@@ -2,13 +2,13 @@ import React from "react";
2
2
  import { LayoutProvider } from "./LayoutProvider";
3
3
  import { Content } from "./Content";
4
4
  import { RightPanel } from "./RightPanel";
5
- import { Sidebar } from "./Sidebar";
5
+ import { LeftPanel } from "./LeftPanel";
6
6
  import { Split } from "./Split";
7
7
  import type { LayoutProps } from "./-types";
8
8
  declare function LayoutBase({ children, persistenceKey, storage, }: LayoutProps): React.ReactElement;
9
9
  type LayoutComponent = typeof LayoutBase & {
10
10
  Provider: typeof LayoutProvider;
11
- Sidebar: typeof Sidebar;
11
+ LeftPanel: typeof LeftPanel;
12
12
  RightPanel: typeof RightPanel;
13
13
  Content: typeof Content;
14
14
  Split: typeof Split;
@@ -1 +1 @@
1
- import React,{useMemo,useState}from"react";import styled from"@emotion/styled";import{Panel}from"../Internal/Panel/Panel";import{PANEL_ORDER,Slot}from"./-constants";import{useLayoutPersistence}from"./context";import{LayoutProvider}from"./LayoutProvider";import{Content}from"./Content";import{RightPanel}from"./RightPanel";import{Sidebar}from"./Sidebar";import{Split}from"./Split";import{LayoutPortalContext,PanelRegistryContext}from"./registry";import{usePortalContainerRefs}from"./usePortalContainerRefs";import{useLayout}from"./useLayout";let StyledLayout=styled("div",{target:"eu1s17s0",label:"StyledLayout"})({position:"relative",height:"100%",width:"100%"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTGF5b3V0L0xheW91dC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0xheW91dC9MYXlvdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBQYW5lbCB9IGZyb20gXCIuLi9JbnRlcm5hbC9QYW5lbC9QYW5lbFwiO1xuaW1wb3J0IHR5cGUgeyBQYW5lbEl0ZW0gfSBmcm9tIFwiLi4vSW50ZXJuYWwvUGFuZWwvUGFuZWxcIjtcbmltcG9ydCB7IFBBTkVMX09SREVSLCBTbG90IH0gZnJvbSBcIi4vLWNvbnN0YW50c1wiO1xuaW1wb3J0IHsgdXNlTGF5b3V0UGVyc2lzdGVuY2UgfSBmcm9tIFwiLi9jb250ZXh0XCI7XG5pbXBvcnQgeyBMYXlvdXRQcm92aWRlciB9IGZyb20gXCIuL0xheW91dFByb3ZpZGVyXCI7XG5pbXBvcnQgeyBDb250ZW50IH0gZnJvbSBcIi4vQ29udGVudFwiO1xuaW1wb3J0IHsgUmlnaHRQYW5lbCB9IGZyb20gXCIuL1JpZ2h0UGFuZWxcIjtcbmltcG9ydCB7IFNpZGViYXIgfSBmcm9tIFwiLi9TaWRlYmFyXCI7XG5pbXBvcnQgeyBTcGxpdCB9IGZyb20gXCIuL1NwbGl0XCI7XG5pbXBvcnQge1xuICBMYXlvdXRQb3J0YWxDb250ZXh0LFxuICBQYW5lbFJlZ2lzdHJ5Q29udGV4dCxcbiAgdHlwZSBQYW5lbFJlZyxcbiAgdHlwZSBQYW5lbFJlZ2lzdHJ5LFxufSBmcm9tIFwiLi9yZWdpc3RyeVwiO1xuaW1wb3J0IHsgdXNlUG9ydGFsQ29udGFpbmVyUmVmcyB9IGZyb20gXCIuL3VzZVBvcnRhbENvbnRhaW5lclJlZnNcIjtcbmltcG9ydCB7IHVzZUxheW91dCB9IGZyb20gXCIuL3VzZUxheW91dFwiO1xuaW1wb3J0IHR5cGUgeyBMYXlvdXRQcm9wcywgU2l6ZSwgU2xvdEtleSB9IGZyb20gXCIuLy10eXBlc1wiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTGF5b3V0IOKAlCByZWdpc3RyeSArIGhvc3RzOyBtYXJrZXJzIGRlY2xhcmUvcG9ydGFsOyB0aGUgcmVzaXphYmxlIHBhbmVsIHJvdyAgICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5jb25zdCBTdHlsZWRMYXlvdXQgPSBzdHlsZWQuZGl2KHtcbiAgcG9zaXRpb246IFwicmVsYXRpdmVcIixcbiAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgd2lkdGg6IFwiMTAwJVwiLFxufSk7XG5cbi8vIFNvbG8tbW9kZSBob3N0OiBhIGxvbmUgcGFuZWwgKG5vIHJlc2l6YWJsZSBzaWJsaW5nKSBpcyBob3N0ZWQgaGVyZSBpbnN0ZWFkIG9mXG4vLyBpbnNpZGUgcmVhY3QtcmVzaXphYmxlLXBhbmVscy4gTWF0Y2hlcyB0aGUgcGVyLXBhbmVsIGhvc3QgdGhlIEdyb3VwIHJlbmRlcnNcbi8vIChgcmVsYXRpdmVgICsgZnVsbC1ibGVlZCkgc28gY29udGVudCByZWZsb3dzL3Njcm9sbHMgaWRlbnRpY2FsbHkgZWl0aGVyIHdheS5cbmNvbnN0IFN0eWxlZFNvbG9Ib3N0ID0gc3R5bGVkLmRpdih7XG4gIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG4gIGhlaWdodDogXCIxMDAlXCIsXG4gIHdpZHRoOiBcIjEwMCVcIixcbn0pO1xuXG5mdW5jdGlvbiBMYXlvdXRCYXNlKHtcbiAgY2hpbGRyZW4sXG4gIHBlcnNpc3RlbmNlS2V5LFxuICBzdG9yYWdlLFxufTogTGF5b3V0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbZGVjbGFyZWQsIHNldERlY2xhcmVkXSA9IHVzZVN0YXRlPFBhcnRpYWw8UmVjb3JkPFNsb3RLZXksIFBhbmVsUmVnPj4+KFxuICAgIHt9XG4gICk7XG4gIGNvbnN0IHsgc3RhdGU6IGxheW91dFN0YXRlLCAuLi5wYW5lbENhbGxiYWNrcyB9ID0gdXNlTGF5b3V0KCk7XG4gIGNvbnN0IHBlcnNpc3RlbmNlID0gdXNlTGF5b3V0UGVyc2lzdGVuY2UoKTtcbiAgY29uc3QgcmVzb2x2ZWRLZXkgPSBwZXJzaXN0ZW5jZUtleSA/PyBwZXJzaXN0ZW5jZS5wZXJzaXN0ZW5jZUtleTtcbiAgY29uc3QgcmVzb2x2ZWRTdG9yYWdlID0gc3RvcmFnZSA/PyBwZXJzaXN0ZW5jZS5zdG9yYWdlO1xuXG4gIGNvbnN0IGlzU2hvd24gPSAoc2xvdDogU2xvdEtleSk6IGJvb2xlYW4gPT4gbGF5b3V0U3RhdGVbc2xvdF0udmlzaWJsZTtcblxuICBjb25zdCByZWdpc3RyeSA9IHVzZU1lbW88UGFuZWxSZWdpc3RyeT4oXG4gICAgKCkgPT4gKHtcbiAgICAgIHJlZ2lzdGVyOiAoc2xvdCwgcmVnKSA9PlxuICAgICAgICBzZXREZWNsYXJlZCgocHJldikgPT4gKHsgLi4ucHJldiwgW3Nsb3RdOiByZWcgfSkpLFxuICAgICAgdW5yZWdpc3RlcjogKHNsb3QpID0+XG4gICAgICAgIHNldERlY2xhcmVkKChwcmV2KSA9PiB7XG4gICAgICAgICAgaWYgKCEoc2xvdCBpbiBwcmV2KSkgcmV0dXJuIHByZXY7XG4gICAgICAgICAgY29uc3QgbmV4dCA9IHsgLi4ucHJldiB9O1xuICAgICAgICAgIGRlbGV0ZSBuZXh0W3Nsb3RdO1xuICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICB9KSxcbiAgICB9KSxcbiAgICBbXVxuICApO1xuXG4gIGNvbnN0IFtub2RlcywgaG9zdFJlZnNdID0gdXNlUG9ydGFsQ29udGFpbmVyUmVmcyhQQU5FTF9PUkRFUik7XG5cbiAgLy8gUGFuZWxzIHRoYXQgZXhpc3QgaW4gdGhlIGxheW91dCwgcmVnYXJkbGVzcyBvZiB2aXNpYmlsaXR5LiBEcml2ZXMgdGhlXG4gIC8vIHNvbG8tdnMtcmVzaXphYmxlIGRlY2lzaW9uIGJlbG93IOKAlCBrZXllZCBvbiBERUNMQVJFRCAobm90IHNob3duKSBzbyB0aGF0XG4gIC8vIHNob3dpbmcvaGlkaW5nIGEgcGFuZWwgbmV2ZXIgZmxpcHMgdGhlIG1vZGUuXG4gIGNvbnN0IGRlY2xhcmVkU2xvdHMgPSBQQU5FTF9PUkRFUi5maWx0ZXIoKHNsb3QpID0+IGRlY2xhcmVkW3Nsb3RdKTtcblxuICAvLyBTb2xvIG1vZGU6IGEgc2luZ2xlIHBhbmVsIGlzIGRlY2xhcmVkIChlLmcuIGp1c3QgYENvbnRlbnRgLCB3aXRoIG5vXG4gIC8vIFJpZ2h0UGFuZWwvU2lkZWJhci9TcGxpdCBpbiB0aGUgdHJlZSkg4oCUIG5vdGhpbmcgdG8gcmVzaXplIGFnYWluc3QsIHNvIGhvc3RcbiAgLy8gaXQgaW4gYSBwbGFpbiBkaXYgYW5kIHNraXAgcmVhY3QtcmVzaXphYmxlLXBhbmVscyBlbnRpcmVseS4gQmVjYXVzZSB0aGVcbiAgLy8gY2hlY2sgaXMgb24gREVDTEFSRUQgcGFuZWxzLCB0b2dnbGluZyBhICpkZWNsYXJlZCogcGFuZWwncyB2aXNpYmlsaXR5IGtlZXBzXG4gIC8vIHRoZSBtb2RlIHN0YWJsZSwgc28gYENvbnRlbnRgIGlzIG5ldmVyIHJlbW91bnRlZCBieSBhIHNob3cvaGlkZS4gVGhlIG1vZGVcbiAgLy8gb25seSBmbGlwcyB3aGVuIGEgcGFuZWwgbWFya2VyIGlzIGFkZGVkIHRvIC8gcmVtb3ZlZCBmcm9tIHRoZSB0cmVlIChhXG4gIC8vIHN0cnVjdHVyYWwgY2hhbmdlKSwgd2hlcmUgYSBvbmUtdGltZSByZW1vdW50IGlzIGFjY2VwdGFibGUuXG4gIGNvbnN0IGlzU29sbyA9IGRlY2xhcmVkU2xvdHMubGVuZ3RoIDw9IDE7XG4gIGNvbnN0IHNvbG9TbG90ID0gZGVjbGFyZWRTbG90c1swXTtcblxuICAvLyBjb250ZW50IGZsZXhlcyAobm8gZml4ZWQgc2l6ZSk7IG90aGVycyB1c2UgdGhlIGRlY2xhcmVkIGRlZmF1bHQsIGZhbGxpbmdcbiAgLy8gYmFjayB0byB0aGUgcGVyc2lzdGVkL2NvbmZpZyBzaXplLlxuICBjb25zdCBkZWZhdWx0U2l6ZUZvciA9IChzbG90OiBTbG90S2V5KTogU2l6ZSB8IHVuZGVmaW5lZCA9PiB7XG4gICAgaWYgKHNsb3QgPT09IFNsb3QuY29udGVudCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICByZXR1cm4gZGVjbGFyZWRbc2xvdF0/LmRlZmF1bHRTaXplID8/IGxheW91dFN0YXRlW3Nsb3RdLnNpemU7XG4gIH07XG5cbiAgLy8gT25seSB0aGUgcGFuZWxzIHRoYXQgYXJlIGRlY2xhcmVkIEFORCBjdXJyZW50bHkgc2hvd24uIENsb3NlZC9oaWRkZW4gcGFuZWxzXG4gIC8vIGFyZSBub3QgcmVuZGVyZWQgYXQgYWxsIOKAlCBubyByZXNlcnZlZCBzcGFjZS5cbiAgY29uc3QgcGFuZWxJdGVtczogUGFuZWxJdGVtW10gPSBQQU5FTF9PUkRFUi5maWx0ZXIoXG4gICAgKHNsb3QpID0+IGRlY2xhcmVkW3Nsb3RdICYmIGlzU2hvd24oc2xvdClcbiAgKS5tYXAoKHNsb3QpID0+ICh7XG4gICAgaWQ6IHNsb3QsXG4gICAgZGVmYXVsdFNpemU6IGRlZmF1bHRTaXplRm9yKHNsb3QpLFxuICAgIG1pblNpemU6IGRlY2xhcmVkW3Nsb3RdPy5taW5TaXplID8/IGxheW91dFN0YXRlW3Nsb3RdLm1pblNpemUsXG4gICAgbWF4U2l6ZTogZGVjbGFyZWRbc2xvdF0/Lm1heFNpemUgPz8gbGF5b3V0U3RhdGVbc2xvdF0ubWF4U2l6ZSxcbiAgICBjb2xsYXBzaWJsZTogc2xvdCAhPT0gU2xvdC5jb250ZW50ICYmIChkZWNsYXJlZFtzbG90XT8uY29sbGFwc2libGUgPz8gdHJ1ZSksXG4gIH0pKTtcblxuICByZXR1cm4gKFxuICAgIDxQYW5lbFJlZ2lzdHJ5Q29udGV4dC5Qcm92aWRlciB2YWx1ZT17cmVnaXN0cnl9PlxuICAgICAgPExheW91dFBvcnRhbENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e25vZGVzfT5cbiAgICAgICAgPFN0eWxlZExheW91dCBkYXRhLWRzLWlkPVwiTGF5b3V0XCI+XG4gICAgICAgICAge2lzU29sb1xuICAgICAgICAgICAgPyAvLyBMb25lIHBhbmVsIOKAlCBob3N0IGl0IGluIGEgcGxhaW4gZGl2LCBubyByZXNpemFibGUgR3JvdXAuIEhpZGRlblxuICAgICAgICAgICAgICAvLyBsb25lIHBhbmVscyByZW5kZXIgbm90aGluZyAoQ29udGVudCBpcyBhbHdheXMgc2hvd24pLlxuICAgICAgICAgICAgICBzb2xvU2xvdCAmJlxuICAgICAgICAgICAgICBpc1Nob3duKHNvbG9TbG90KSAmJiA8U3R5bGVkU29sb0hvc3QgcmVmPXtob3N0UmVmc1tzb2xvU2xvdF19IC8+XG4gICAgICAgICAgICA6IHBhbmVsSXRlbXMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgLy8gYGtleWAgPSB0aGUgcGVyc2lzdGVuY2UgbmFtZXNwYWNlLiByZWFjdC1yZXNpemFibGUtcGFuZWxzXG4gICAgICAgICAgICAgICAgLy8gcmVhZHMgc3RvcmVkIHNpemVzIG9ubHkgb24gbW91bnQsIGFuZCB0aGlzIGdyb3VwIHN0YXlzXG4gICAgICAgICAgICAgICAgLy8gbW91bnRlZCBhY3Jvc3MgbmF2aWdhdGlvbiDigJQgc28gcmVtb3VudCBpdCB3aGVuIHRoZSBrZXlcbiAgICAgICAgICAgICAgICAvLyBjaGFuZ2VzIHRvIGxvYWQgVEhBVCBpbnN0YW5jZSdzIHNpemVzLiBVc2UgY2FzZTpcbiAgICAgICAgICAgICAgICAvLyBwZXItcm91dGUvcGVyLWluc3RhbmNlIHNpemUgbWVtb3J5IChlLmcuXG4gICAgICAgICAgICAgICAgLy8gYHBlcnNpc3RlbmNlS2V5PXtgbGF5b3V0OiR7cm91dGVJZH1gfWApIOKAlCBkcmFnIHRoZSBjaGF0IHdpZGVcbiAgICAgICAgICAgICAgICAvLyBvbiBwYWdlIEEsIHN3aXRjaCB0byBwYWdlIEIgKGl0cyBvd24gd2lkdGhzKSwgY29tZSBiYWNrIHRvIEFcbiAgICAgICAgICAgICAgICAvLyBhbmQgZmluZCBBJ3Mgd2lkdGhzIHJlc3RvcmVkLiBUaGUga2V5IG9ubHkgY2hhbmdlcyBvblxuICAgICAgICAgICAgICAgIC8vIGluc3RhbmNlIHN3aXRjaCwgbmV2ZXIgb24gcGFuZWwgb3Blbi9jbG9zZSwgc28gbm9ybWFsXG4gICAgICAgICAgICAgICAgLy8gdG9nZ2xpbmcgc3RheXMgcmVtb3VudC1mcmVlLlxuICAgICAgICAgICAgICAgIDxQYW5lbFxuICAgICAgICAgICAgICAgICAga2V5PXtyZXNvbHZlZEtleX1cbiAgICAgICAgICAgICAgICAgIHBhbmVscz17cGFuZWxJdGVtc31cbiAgICAgICAgICAgICAgICAgIHBlcnNpc3RlbmNlS2V5PXtyZXNvbHZlZEtleX1cbiAgICAgICAgICAgICAgICAgIHN0b3JhZ2U9e3Jlc29sdmVkU3RvcmFnZX1cbiAgICAgICAgICAgICAgICAgIGhvc3RGb3I9eyhpZCkgPT4gaG9zdFJlZnNbaWQgYXMgU2xvdEtleV19XG4gICAgICAgICAgICAgICAgICBvblJlc2l6ZT17KGlkLCBzaXplKSA9PlxuICAgICAgICAgICAgICAgICAgICBwYW5lbENhbGxiYWNrc1tpZCBhcyBTbG90S2V5XS5yZXNpemUoc2l6ZSlcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIG9uQ29sbGFwc2U9eyhpZCkgPT4gcGFuZWxDYWxsYmFja3NbaWQgYXMgU2xvdEtleV0uaGlkZSgpfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L1N0eWxlZExheW91dD5cbiAgICAgIDwvTGF5b3V0UG9ydGFsQ29udGV4dC5Qcm92aWRlcj5cbiAgICA8L1BhbmVsUmVnaXN0cnlDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUHVibGljIExheW91dCDigJQgdGhlIHJlc2l6YWJsZSBwYW5lbCByb3cgKyBjb21wb3VuZCBwYXJ0cyBhcyBzdGF0aWNzICAgICAgICAgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbnR5cGUgTGF5b3V0Q29tcG9uZW50ID0gdHlwZW9mIExheW91dEJhc2UgJiB7XG4gIFByb3ZpZGVyOiB0eXBlb2YgTGF5b3V0UHJvdmlkZXI7XG4gIFNpZGViYXI6IHR5cGVvZiBTaWRlYmFyO1xuICBSaWdodFBhbmVsOiB0eXBlb2YgUmlnaHRQYW5lbDtcbiAgQ29udGVudDogdHlwZW9mIENvbnRlbnQ7XG4gIFNwbGl0OiB0eXBlb2YgU3BsaXQ7XG59O1xuXG5leHBvcnQgY29uc3QgTGF5b3V0ID0gTGF5b3V0QmFzZSBhcyBMYXlvdXRDb21wb25lbnQ7XG5cbkxheW91dC5Qcm92aWRlciA9IExheW91dFByb3ZpZGVyO1xuTGF5b3V0LlNpZGViYXIgPSBTaWRlYmFyO1xuTGF5b3V0LlJpZ2h0UGFuZWwgPSBSaWdodFBhbmVsO1xuTGF5b3V0LkNvbnRlbnQgPSBDb250ZW50O1xuTGF5b3V0LlNwbGl0ID0gU3BsaXQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUJxQiJ9 */"),StyledSoloHost=styled("div",{target:"eu1s17s1",label:"StyledSoloHost"})({position:"relative",height:"100%",width:"100%"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTGF5b3V0L0xheW91dC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0xheW91dC9MYXlvdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBQYW5lbCB9IGZyb20gXCIuLi9JbnRlcm5hbC9QYW5lbC9QYW5lbFwiO1xuaW1wb3J0IHR5cGUgeyBQYW5lbEl0ZW0gfSBmcm9tIFwiLi4vSW50ZXJuYWwvUGFuZWwvUGFuZWxcIjtcbmltcG9ydCB7IFBBTkVMX09SREVSLCBTbG90IH0gZnJvbSBcIi4vLWNvbnN0YW50c1wiO1xuaW1wb3J0IHsgdXNlTGF5b3V0UGVyc2lzdGVuY2UgfSBmcm9tIFwiLi9jb250ZXh0XCI7XG5pbXBvcnQgeyBMYXlvdXRQcm92aWRlciB9IGZyb20gXCIuL0xheW91dFByb3ZpZGVyXCI7XG5pbXBvcnQgeyBDb250ZW50IH0gZnJvbSBcIi4vQ29udGVudFwiO1xuaW1wb3J0IHsgUmlnaHRQYW5lbCB9IGZyb20gXCIuL1JpZ2h0UGFuZWxcIjtcbmltcG9ydCB7IFNpZGViYXIgfSBmcm9tIFwiLi9TaWRlYmFyXCI7XG5pbXBvcnQgeyBTcGxpdCB9IGZyb20gXCIuL1NwbGl0XCI7XG5pbXBvcnQge1xuICBMYXlvdXRQb3J0YWxDb250ZXh0LFxuICBQYW5lbFJlZ2lzdHJ5Q29udGV4dCxcbiAgdHlwZSBQYW5lbFJlZyxcbiAgdHlwZSBQYW5lbFJlZ2lzdHJ5LFxufSBmcm9tIFwiLi9yZWdpc3RyeVwiO1xuaW1wb3J0IHsgdXNlUG9ydGFsQ29udGFpbmVyUmVmcyB9IGZyb20gXCIuL3VzZVBvcnRhbENvbnRhaW5lclJlZnNcIjtcbmltcG9ydCB7IHVzZUxheW91dCB9IGZyb20gXCIuL3VzZUxheW91dFwiO1xuaW1wb3J0IHR5cGUgeyBMYXlvdXRQcm9wcywgU2l6ZSwgU2xvdEtleSB9IGZyb20gXCIuLy10eXBlc1wiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTGF5b3V0IOKAlCByZWdpc3RyeSArIGhvc3RzOyBtYXJrZXJzIGRlY2xhcmUvcG9ydGFsOyB0aGUgcmVzaXphYmxlIHBhbmVsIHJvdyAgICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5jb25zdCBTdHlsZWRMYXlvdXQgPSBzdHlsZWQuZGl2KHtcbiAgcG9zaXRpb246IFwicmVsYXRpdmVcIixcbiAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgd2lkdGg6IFwiMTAwJVwiLFxufSk7XG5cbi8vIFNvbG8tbW9kZSBob3N0OiBhIGxvbmUgcGFuZWwgKG5vIHJlc2l6YWJsZSBzaWJsaW5nKSBpcyBob3N0ZWQgaGVyZSBpbnN0ZWFkIG9mXG4vLyBpbnNpZGUgcmVhY3QtcmVzaXphYmxlLXBhbmVscy4gTWF0Y2hlcyB0aGUgcGVyLXBhbmVsIGhvc3QgdGhlIEdyb3VwIHJlbmRlcnNcbi8vIChgcmVsYXRpdmVgICsgZnVsbC1ibGVlZCkgc28gY29udGVudCByZWZsb3dzL3Njcm9sbHMgaWRlbnRpY2FsbHkgZWl0aGVyIHdheS5cbmNvbnN0IFN0eWxlZFNvbG9Ib3N0ID0gc3R5bGVkLmRpdih7XG4gIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG4gIGhlaWdodDogXCIxMDAlXCIsXG4gIHdpZHRoOiBcIjEwMCVcIixcbn0pO1xuXG5mdW5jdGlvbiBMYXlvdXRCYXNlKHtcbiAgY2hpbGRyZW4sXG4gIHBlcnNpc3RlbmNlS2V5LFxuICBzdG9yYWdlLFxufTogTGF5b3V0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbZGVjbGFyZWQsIHNldERlY2xhcmVkXSA9IHVzZVN0YXRlPFBhcnRpYWw8UmVjb3JkPFNsb3RLZXksIFBhbmVsUmVnPj4+KFxuICAgIHt9XG4gICk7XG4gIGNvbnN0IHsgc3RhdGU6IGxheW91dFN0YXRlLCAuLi5wYW5lbENhbGxiYWNrcyB9ID0gdXNlTGF5b3V0KCk7XG4gIGNvbnN0IHBlcnNpc3RlbmNlID0gdXNlTGF5b3V0UGVyc2lzdGVuY2UoKTtcbiAgY29uc3QgcmVzb2x2ZWRLZXkgPSBwZXJzaXN0ZW5jZUtleSA/PyBwZXJzaXN0ZW5jZS5wZXJzaXN0ZW5jZUtleTtcbiAgY29uc3QgcmVzb2x2ZWRTdG9yYWdlID0gc3RvcmFnZSA/PyBwZXJzaXN0ZW5jZS5zdG9yYWdlO1xuXG4gIGNvbnN0IGlzU2hvd24gPSAoc2xvdDogU2xvdEtleSk6IGJvb2xlYW4gPT4gbGF5b3V0U3RhdGVbc2xvdF0udmlzaWJsZTtcblxuICBjb25zdCByZWdpc3RyeSA9IHVzZU1lbW88UGFuZWxSZWdpc3RyeT4oXG4gICAgKCkgPT4gKHtcbiAgICAgIHJlZ2lzdGVyOiAoc2xvdCwgcmVnKSA9PlxuICAgICAgICBzZXREZWNsYXJlZCgocHJldikgPT4gKHsgLi4ucHJldiwgW3Nsb3RdOiByZWcgfSkpLFxuICAgICAgdW5yZWdpc3RlcjogKHNsb3QpID0+XG4gICAgICAgIHNldERlY2xhcmVkKChwcmV2KSA9PiB7XG4gICAgICAgICAgaWYgKCEoc2xvdCBpbiBwcmV2KSkgcmV0dXJuIHByZXY7XG4gICAgICAgICAgY29uc3QgbmV4dCA9IHsgLi4ucHJldiB9O1xuICAgICAgICAgIGRlbGV0ZSBuZXh0W3Nsb3RdO1xuICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICB9KSxcbiAgICB9KSxcbiAgICBbXVxuICApO1xuXG4gIGNvbnN0IFtub2RlcywgaG9zdFJlZnNdID0gdXNlUG9ydGFsQ29udGFpbmVyUmVmcyhQQU5FTF9PUkRFUik7XG5cbiAgLy8gUGFuZWxzIHRoYXQgZXhpc3QgaW4gdGhlIGxheW91dCwgcmVnYXJkbGVzcyBvZiB2aXNpYmlsaXR5LiBEcml2ZXMgdGhlXG4gIC8vIHNvbG8tdnMtcmVzaXphYmxlIGRlY2lzaW9uIGJlbG93IOKAlCBrZXllZCBvbiBERUNMQVJFRCAobm90IHNob3duKSBzbyB0aGF0XG4gIC8vIHNob3dpbmcvaGlkaW5nIGEgcGFuZWwgbmV2ZXIgZmxpcHMgdGhlIG1vZGUuXG4gIGNvbnN0IGRlY2xhcmVkU2xvdHMgPSBQQU5FTF9PUkRFUi5maWx0ZXIoKHNsb3QpID0+IGRlY2xhcmVkW3Nsb3RdKTtcblxuICAvLyBTb2xvIG1vZGU6IGEgc2luZ2xlIHBhbmVsIGlzIGRlY2xhcmVkIChlLmcuIGp1c3QgYENvbnRlbnRgLCB3aXRoIG5vXG4gIC8vIFJpZ2h0UGFuZWwvU2lkZWJhci9TcGxpdCBpbiB0aGUgdHJlZSkg4oCUIG5vdGhpbmcgdG8gcmVzaXplIGFnYWluc3QsIHNvIGhvc3RcbiAgLy8gaXQgaW4gYSBwbGFpbiBkaXYgYW5kIHNraXAgcmVhY3QtcmVzaXphYmxlLXBhbmVscyBlbnRpcmVseS4gQmVjYXVzZSB0aGVcbiAgLy8gY2hlY2sgaXMgb24gREVDTEFSRUQgcGFuZWxzLCB0b2dnbGluZyBhICpkZWNsYXJlZCogcGFuZWwncyB2aXNpYmlsaXR5IGtlZXBzXG4gIC8vIHRoZSBtb2RlIHN0YWJsZSwgc28gYENvbnRlbnRgIGlzIG5ldmVyIHJlbW91bnRlZCBieSBhIHNob3cvaGlkZS4gVGhlIG1vZGVcbiAgLy8gb25seSBmbGlwcyB3aGVuIGEgcGFuZWwgbWFya2VyIGlzIGFkZGVkIHRvIC8gcmVtb3ZlZCBmcm9tIHRoZSB0cmVlIChhXG4gIC8vIHN0cnVjdHVyYWwgY2hhbmdlKSwgd2hlcmUgYSBvbmUtdGltZSByZW1vdW50IGlzIGFjY2VwdGFibGUuXG4gIGNvbnN0IGlzU29sbyA9IGRlY2xhcmVkU2xvdHMubGVuZ3RoIDw9IDE7XG4gIGNvbnN0IHNvbG9TbG90ID0gZGVjbGFyZWRTbG90c1swXTtcblxuICAvLyBjb250ZW50IGZsZXhlcyAobm8gZml4ZWQgc2l6ZSk7IG90aGVycyB1c2UgdGhlIGRlY2xhcmVkIGRlZmF1bHQsIGZhbGxpbmdcbiAgLy8gYmFjayB0byB0aGUgcGVyc2lzdGVkL2NvbmZpZyBzaXplLlxuICBjb25zdCBkZWZhdWx0U2l6ZUZvciA9IChzbG90OiBTbG90S2V5KTogU2l6ZSB8IHVuZGVmaW5lZCA9PiB7XG4gICAgaWYgKHNsb3QgPT09IFNsb3QuY29udGVudCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICByZXR1cm4gZGVjbGFyZWRbc2xvdF0/LmRlZmF1bHRTaXplID8/IGxheW91dFN0YXRlW3Nsb3RdLnNpemU7XG4gIH07XG5cbiAgLy8gT25seSB0aGUgcGFuZWxzIHRoYXQgYXJlIGRlY2xhcmVkIEFORCBjdXJyZW50bHkgc2hvd24uIENsb3NlZC9oaWRkZW4gcGFuZWxzXG4gIC8vIGFyZSBub3QgcmVuZGVyZWQgYXQgYWxsIOKAlCBubyByZXNlcnZlZCBzcGFjZS5cbiAgY29uc3QgcGFuZWxJdGVtczogUGFuZWxJdGVtW10gPSBQQU5FTF9PUkRFUi5maWx0ZXIoXG4gICAgKHNsb3QpID0+IGRlY2xhcmVkW3Nsb3RdICYmIGlzU2hvd24oc2xvdClcbiAgKS5tYXAoKHNsb3QpID0+ICh7XG4gICAgaWQ6IHNsb3QsXG4gICAgZGVmYXVsdFNpemU6IGRlZmF1bHRTaXplRm9yKHNsb3QpLFxuICAgIG1pblNpemU6IGRlY2xhcmVkW3Nsb3RdPy5taW5TaXplID8/IGxheW91dFN0YXRlW3Nsb3RdLm1pblNpemUsXG4gICAgbWF4U2l6ZTogZGVjbGFyZWRbc2xvdF0/Lm1heFNpemUgPz8gbGF5b3V0U3RhdGVbc2xvdF0ubWF4U2l6ZSxcbiAgICBjb2xsYXBzaWJsZTogc2xvdCAhPT0gU2xvdC5jb250ZW50ICYmIChkZWNsYXJlZFtzbG90XT8uY29sbGFwc2libGUgPz8gdHJ1ZSksXG4gIH0pKTtcblxuICByZXR1cm4gKFxuICAgIDxQYW5lbFJlZ2lzdHJ5Q29udGV4dC5Qcm92aWRlciB2YWx1ZT17cmVnaXN0cnl9PlxuICAgICAgPExheW91dFBvcnRhbENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e25vZGVzfT5cbiAgICAgICAgPFN0eWxlZExheW91dCBkYXRhLWRzLWlkPVwiTGF5b3V0XCI+XG4gICAgICAgICAge2lzU29sb1xuICAgICAgICAgICAgPyAvLyBMb25lIHBhbmVsIOKAlCBob3N0IGl0IGluIGEgcGxhaW4gZGl2LCBubyByZXNpemFibGUgR3JvdXAuIEhpZGRlblxuICAgICAgICAgICAgICAvLyBsb25lIHBhbmVscyByZW5kZXIgbm90aGluZyAoQ29udGVudCBpcyBhbHdheXMgc2hvd24pLlxuICAgICAgICAgICAgICBzb2xvU2xvdCAmJlxuICAgICAgICAgICAgICBpc1Nob3duKHNvbG9TbG90KSAmJiA8U3R5bGVkU29sb0hvc3QgcmVmPXtob3N0UmVmc1tzb2xvU2xvdF19IC8+XG4gICAgICAgICAgICA6IHBhbmVsSXRlbXMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgLy8gYGtleWAgPSB0aGUgcGVyc2lzdGVuY2UgbmFtZXNwYWNlLiByZWFjdC1yZXNpemFibGUtcGFuZWxzXG4gICAgICAgICAgICAgICAgLy8gcmVhZHMgc3RvcmVkIHNpemVzIG9ubHkgb24gbW91bnQsIGFuZCB0aGlzIGdyb3VwIHN0YXlzXG4gICAgICAgICAgICAgICAgLy8gbW91bnRlZCBhY3Jvc3MgbmF2aWdhdGlvbiDigJQgc28gcmVtb3VudCBpdCB3aGVuIHRoZSBrZXlcbiAgICAgICAgICAgICAgICAvLyBjaGFuZ2VzIHRvIGxvYWQgVEhBVCBpbnN0YW5jZSdzIHNpemVzLiBVc2UgY2FzZTpcbiAgICAgICAgICAgICAgICAvLyBwZXItcm91dGUvcGVyLWluc3RhbmNlIHNpemUgbWVtb3J5IChlLmcuXG4gICAgICAgICAgICAgICAgLy8gYHBlcnNpc3RlbmNlS2V5PXtgbGF5b3V0OiR7cm91dGVJZH1gfWApIOKAlCBkcmFnIHRoZSBjaGF0IHdpZGVcbiAgICAgICAgICAgICAgICAvLyBvbiBwYWdlIEEsIHN3aXRjaCB0byBwYWdlIEIgKGl0cyBvd24gd2lkdGhzKSwgY29tZSBiYWNrIHRvIEFcbiAgICAgICAgICAgICAgICAvLyBhbmQgZmluZCBBJ3Mgd2lkdGhzIHJlc3RvcmVkLiBUaGUga2V5IG9ubHkgY2hhbmdlcyBvblxuICAgICAgICAgICAgICAgIC8vIGluc3RhbmNlIHN3aXRjaCwgbmV2ZXIgb24gcGFuZWwgb3Blbi9jbG9zZSwgc28gbm9ybWFsXG4gICAgICAgICAgICAgICAgLy8gdG9nZ2xpbmcgc3RheXMgcmVtb3VudC1mcmVlLlxuICAgICAgICAgICAgICAgIDxQYW5lbFxuICAgICAgICAgICAgICAgICAga2V5PXtyZXNvbHZlZEtleX1cbiAgICAgICAgICAgICAgICAgIHBhbmVscz17cGFuZWxJdGVtc31cbiAgICAgICAgICAgICAgICAgIHBlcnNpc3RlbmNlS2V5PXtyZXNvbHZlZEtleX1cbiAgICAgICAgICAgICAgICAgIHN0b3JhZ2U9e3Jlc29sdmVkU3RvcmFnZX1cbiAgICAgICAgICAgICAgICAgIGhvc3RGb3I9eyhpZCkgPT4gaG9zdFJlZnNbaWQgYXMgU2xvdEtleV19XG4gICAgICAgICAgICAgICAgICBvblJlc2l6ZT17KGlkLCBzaXplKSA9PlxuICAgICAgICAgICAgICAgICAgICBwYW5lbENhbGxiYWNrc1tpZCBhcyBTbG90S2V5XS5yZXNpemUoc2l6ZSlcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIG9uQ29sbGFwc2U9eyhpZCkgPT4gcGFuZWxDYWxsYmFja3NbaWQgYXMgU2xvdEtleV0uaGlkZSgpfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L1N0eWxlZExheW91dD5cbiAgICAgIDwvTGF5b3V0UG9ydGFsQ29udGV4dC5Qcm92aWRlcj5cbiAgICA8L1BhbmVsUmVnaXN0cnlDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUHVibGljIExheW91dCDigJQgdGhlIHJlc2l6YWJsZSBwYW5lbCByb3cgKyBjb21wb3VuZCBwYXJ0cyBhcyBzdGF0aWNzICAgICAgICAgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbnR5cGUgTGF5b3V0Q29tcG9uZW50ID0gdHlwZW9mIExheW91dEJhc2UgJiB7XG4gIFByb3ZpZGVyOiB0eXBlb2YgTGF5b3V0UHJvdmlkZXI7XG4gIFNpZGViYXI6IHR5cGVvZiBTaWRlYmFyO1xuICBSaWdodFBhbmVsOiB0eXBlb2YgUmlnaHRQYW5lbDtcbiAgQ29udGVudDogdHlwZW9mIENvbnRlbnQ7XG4gIFNwbGl0OiB0eXBlb2YgU3BsaXQ7XG59O1xuXG5leHBvcnQgY29uc3QgTGF5b3V0ID0gTGF5b3V0QmFzZSBhcyBMYXlvdXRDb21wb25lbnQ7XG5cbkxheW91dC5Qcm92aWRlciA9IExheW91dFByb3ZpZGVyO1xuTGF5b3V0LlNpZGViYXIgPSBTaWRlYmFyO1xuTGF5b3V0LlJpZ2h0UGFuZWwgPSBSaWdodFBhbmVsO1xuTGF5b3V0LkNvbnRlbnQgPSBDb250ZW50O1xuTGF5b3V0LlNwbGl0ID0gU3BsaXQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0N1QiJ9 */");export const Layout=function({children,persistenceKey,storage}){let[declared,setDeclared]=useState({}),{state:layoutState,...panelCallbacks}=useLayout(),persistence=useLayoutPersistence(),resolvedKey=persistenceKey??persistence.persistenceKey,resolvedStorage=storage??persistence.storage,isShown=slot=>layoutState[slot].visible,registry=useMemo(()=>({register:(slot,reg)=>setDeclared(prev=>({...prev,[slot]:reg})),unregister:slot=>setDeclared(prev=>{if(!(slot in prev))return prev;let next={...prev};return delete next[slot],next})}),[]),[nodes,hostRefs]=usePortalContainerRefs(PANEL_ORDER),declaredSlots=PANEL_ORDER.filter(slot=>declared[slot]),isSolo=declaredSlots.length<=1,soloSlot=declaredSlots[0],defaultSizeFor=slot=>{if(slot!==Slot.content)return declared[slot]?.defaultSize??layoutState[slot].size},panelItems=PANEL_ORDER.filter(slot=>declared[slot]&&isShown(slot)).map(slot=>({id:slot,defaultSize:defaultSizeFor(slot),minSize:declared[slot]?.minSize??layoutState[slot].minSize,maxSize:declared[slot]?.maxSize??layoutState[slot].maxSize,collapsible:slot!==Slot.content&&(declared[slot]?.collapsible??!0)}));return React.createElement(PanelRegistryContext.Provider,{value:registry},React.createElement(LayoutPortalContext.Provider,{value:nodes},React.createElement(StyledLayout,{"data-ds-id":"Layout"},isSolo?soloSlot&&isShown(soloSlot)&&React.createElement(StyledSoloHost,{ref:hostRefs[soloSlot]}):panelItems.length>0&&React.createElement(Panel,{key:resolvedKey,panels:panelItems,persistenceKey:resolvedKey,storage:resolvedStorage,hostFor:id=>hostRefs[id],onResize:(id,size)=>panelCallbacks[id].resize(size),onCollapse:id=>panelCallbacks[id].hide()}),children)))};Layout.Provider=LayoutProvider,Layout.Sidebar=Sidebar,Layout.RightPanel=RightPanel,Layout.Content=Content,Layout.Split=Split;
1
+ import React,{useEffect,useMemo,useState}from"react";import styled from"@emotion/styled";import{Panel}from"../Internal/Panel/Panel";import{PANEL_ORDER,PANEL_WIDTH_VAR,Slot}from"./-constants";import{useLayoutPersistence}from"./context";import{LayoutProvider}from"./LayoutProvider";import{Content}from"./Content";import{RightPanel}from"./RightPanel";import{LeftPanel}from"./LeftPanel";import{Split}from"./Split";import{LayoutPortalContext,PanelRegistryContext}from"./registry";import{usePortalContainerRefs}from"./usePortalContainerRefs";import{useLayoutVar}from"./LayoutCssVars";import{useLayout}from"./useLayout";let useGlobalCssVariables=nodes=>{let contentWidthCssVar=useLayoutVar(PANEL_WIDTH_VAR.content),rightPanelWidthCssVar=useLayoutVar(PANEL_WIDTH_VAR.rightPanel);useEffect(()=>{let targets=[[Slot.content,contentWidthCssVar],[Slot.rightPanel,rightPanelWidthCssVar]],observers=[];return targets.forEach(([slot,handle])=>{let node=nodes[slot]??null;if(!node)return void handle.set("0px");let publishNodeWidth=()=>handle.set(`${node.getBoundingClientRect().width}px`);if(publishNodeWidth(),"undefined"==typeof ResizeObserver)return;let observer=new ResizeObserver(publishNodeWidth);observer.observe(node),observers.push(observer)}),()=>observers.forEach(observer=>observer.disconnect())},[contentWidthCssVar,rightPanelWidthCssVar,nodes])},StyledLayout=styled("div",{target:"e1dnkj9b0",label:"StyledLayout"})({position:"relative",height:"100%",width:"100%"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTGF5b3V0L0xheW91dC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0xheW91dC9MYXlvdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IFBhbmVsIH0gZnJvbSBcIi4uL0ludGVybmFsL1BhbmVsL1BhbmVsXCI7XG5pbXBvcnQgdHlwZSB7IFBhbmVsSXRlbSB9IGZyb20gXCIuLi9JbnRlcm5hbC9QYW5lbC9QYW5lbFwiO1xuaW1wb3J0IHsgUEFORUxfT1JERVIsIFBBTkVMX1dJRFRIX1ZBUiwgU2xvdCB9IGZyb20gXCIuLy1jb25zdGFudHNcIjtcbmltcG9ydCB7IHVzZUxheW91dFBlcnNpc3RlbmNlIH0gZnJvbSBcIi4vY29udGV4dFwiO1xuaW1wb3J0IHsgTGF5b3V0UHJvdmlkZXIgfSBmcm9tIFwiLi9MYXlvdXRQcm92aWRlclwiO1xuaW1wb3J0IHsgQ29udGVudCB9IGZyb20gXCIuL0NvbnRlbnRcIjtcbmltcG9ydCB7IFJpZ2h0UGFuZWwgfSBmcm9tIFwiLi9SaWdodFBhbmVsXCI7XG5pbXBvcnQgeyBMZWZ0UGFuZWwgfSBmcm9tIFwiLi9MZWZ0UGFuZWxcIjtcbmltcG9ydCB7IFNwbGl0IH0gZnJvbSBcIi4vU3BsaXRcIjtcbmltcG9ydCB7XG4gIExheW91dFBvcnRhbENvbnRleHQsXG4gIFBhbmVsUmVnaXN0cnlDb250ZXh0LFxuICB0eXBlIEhvc3ROb2RlcyxcbiAgdHlwZSBQYW5lbFJlZyxcbiAgdHlwZSBQYW5lbFJlZ2lzdHJ5LFxufSBmcm9tIFwiLi9yZWdpc3RyeVwiO1xuaW1wb3J0IHsgdXNlUG9ydGFsQ29udGFpbmVyUmVmcyB9IGZyb20gXCIuL3VzZVBvcnRhbENvbnRhaW5lclJlZnNcIjtcbmltcG9ydCB7IHVzZUxheW91dFZhciwgdHlwZSBMYXlvdXRWYXJIYW5kbGUgfSBmcm9tIFwiLi9MYXlvdXRDc3NWYXJzXCI7XG5pbXBvcnQgeyB1c2VMYXlvdXQgfSBmcm9tIFwiLi91c2VMYXlvdXRcIjtcbmltcG9ydCB0eXBlIHsgTGF5b3V0UHJvcHMsIFNpemUsIFNsb3RLZXkgfSBmcm9tIFwiLi8tdHlwZXNcIjtcblxuLyoqXG4gKiBQdWJsaXNoZXMgZWFjaCBwYW5lbCdzIGxpdmUgcGl4ZWwgd2lkdGggYXMgYSBsYXlvdXQgQ1NTIHZhciAoZS5nLlxuICogYC0tZHMtbGF5b3V0LXJpZ2h0UGFuZWwtd2lkdGhgKSwgdHJhY2tpbmcgZHJhZy0gYW5kIHdpbmRvdy1yZXNpemVzLiBBIGhpZGRlblxuICogcGFydCAobm8gaG9zdCBub2RlKSByZWFkcyBgMHB4YCwgc28gdGhlIHZhciBpcyBhbHdheXMgZGVmaW5lZC4gT25lXG4gKiBgdXNlTGF5b3V0VmFyYCBwZXIgc2xvdCBpbiBgUEFORUxfV0lEVEhfVkFSYC5cbiAqL1xuY29uc3QgdXNlR2xvYmFsQ3NzVmFyaWFibGVzID0gKG5vZGVzOiBIb3N0Tm9kZXMpOiB2b2lkID0+IHtcbiAgY29uc3QgY29udGVudFdpZHRoQ3NzVmFyID0gdXNlTGF5b3V0VmFyKFBBTkVMX1dJRFRIX1ZBUi5jb250ZW50KTtcbiAgY29uc3QgcmlnaHRQYW5lbFdpZHRoQ3NzVmFyID0gdXNlTGF5b3V0VmFyKFBBTkVMX1dJRFRIX1ZBUi5yaWdodFBhbmVsKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHRhcmdldHM6IFtTbG90S2V5LCBMYXlvdXRWYXJIYW5kbGVdW10gPSBbXG4gICAgICBbU2xvdC5jb250ZW50LCBjb250ZW50V2lkdGhDc3NWYXJdLFxuICAgICAgW1Nsb3QucmlnaHRQYW5lbCwgcmlnaHRQYW5lbFdpZHRoQ3NzVmFyXSxcbiAgICBdO1xuICAgIGNvbnN0IG9ic2VydmVyczogUmVzaXplT2JzZXJ2ZXJbXSA9IFtdO1xuXG4gICAgdGFyZ2V0cy5mb3JFYWNoKChbc2xvdCwgaGFuZGxlXSkgPT4ge1xuICAgICAgY29uc3Qgbm9kZSA9IG5vZGVzW3Nsb3RdID8/IG51bGw7XG4gICAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgaGFuZGxlLnNldChcIjBweFwiKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgcHVibGlzaE5vZGVXaWR0aCA9ICgpOiB2b2lkID0+XG4gICAgICAgIGhhbmRsZS5zZXQoYCR7bm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aH1weGApO1xuICAgICAgcHVibGlzaE5vZGVXaWR0aCgpO1xuICAgICAgLy8ganNkb20gKGFuZCBvbGQgYnJvd3NlcnMpIGxhY2sgUmVzaXplT2JzZXJ2ZXIg4oCUIHNraXAgbGl2ZSB0cmFja2luZyB0aGVyZS5cbiAgICAgIGlmICh0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybjtcbiAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKHB1Ymxpc2hOb2RlV2lkdGgpO1xuICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShub2RlKTtcbiAgICAgIG9ic2VydmVycy5wdXNoKG9ic2VydmVyKTtcbiAgICB9KTtcblxuICAgIHJldHVybiAoKSA9PiBvYnNlcnZlcnMuZm9yRWFjaCgob2JzZXJ2ZXIpID0+IG9ic2VydmVyLmRpc2Nvbm5lY3QoKSk7XG4gIH0sIFtjb250ZW50V2lkdGhDc3NWYXIsIHJpZ2h0UGFuZWxXaWR0aENzc1Zhciwgbm9kZXNdKTtcbn07XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMYXlvdXQgLSByZWdpc3RyeSArIGhvc3RzOyBtYXJrZXJzIGRlY2xhcmUvcG9ydGFsOyB0aGUgcmVzaXphYmxlIHBhbmVsIHJvdyAgICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5jb25zdCBTdHlsZWRMYXlvdXQgPSBzdHlsZWQuZGl2KHtcbiAgcG9zaXRpb246IFwicmVsYXRpdmVcIixcbiAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgd2lkdGg6IFwiMTAwJVwiLFxufSk7XG5cbi8vIFNvbG8tbW9kZSBob3N0OiBhIGxvbmUgcGFuZWwgKG5vIHJlc2l6YWJsZSBzaWJsaW5nKSBpcyBob3N0ZWQgaGVyZSBpbnN0ZWFkIG9mXG4vLyBpbnNpZGUgcmVhY3QtcmVzaXphYmxlLXBhbmVscy4gTWF0Y2hlcyB0aGUgcGVyLXBhbmVsIGhvc3QgdGhlIEdyb3VwIHJlbmRlcnNcbi8vIChgcmVsYXRpdmVgICsgZnVsbC1ibGVlZCkgc28gY29udGVudCByZWZsb3dzL3Njcm9sbHMgaWRlbnRpY2FsbHkgZWl0aGVyIHdheS5cbmNvbnN0IFN0eWxlZFNvbG9Ib3N0ID0gc3R5bGVkLmRpdih7XG4gIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG4gIGhlaWdodDogXCIxMDAlXCIsXG4gIHdpZHRoOiBcIjEwMCVcIixcbn0pO1xuXG5mdW5jdGlvbiBMYXlvdXRCYXNlKHtcbiAgY2hpbGRyZW4sXG4gIHBlcnNpc3RlbmNlS2V5LFxuICBzdG9yYWdlLFxufTogTGF5b3V0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbZGVjbGFyZWQsIHNldERlY2xhcmVkXSA9IHVzZVN0YXRlPFBhcnRpYWw8UmVjb3JkPFNsb3RLZXksIFBhbmVsUmVnPj4+KFxuICAgIHt9XG4gICk7XG4gIGNvbnN0IHsgc3RhdGU6IGxheW91dFN0YXRlLCAuLi5wYW5lbENhbGxiYWNrcyB9ID0gdXNlTGF5b3V0KCk7XG4gIGNvbnN0IHBlcnNpc3RlbmNlID0gdXNlTGF5b3V0UGVyc2lzdGVuY2UoKTtcbiAgY29uc3QgcmVzb2x2ZWRLZXkgPSBwZXJzaXN0ZW5jZUtleSA/PyBwZXJzaXN0ZW5jZS5wZXJzaXN0ZW5jZUtleTtcbiAgY29uc3QgcmVzb2x2ZWRTdG9yYWdlID0gc3RvcmFnZSA/PyBwZXJzaXN0ZW5jZS5zdG9yYWdlO1xuXG4gIGNvbnN0IGlzU2hvd24gPSAoc2xvdDogU2xvdEtleSk6IGJvb2xlYW4gPT4gbGF5b3V0U3RhdGVbc2xvdF0udmlzaWJsZTtcblxuICBjb25zdCByZWdpc3RyeSA9IHVzZU1lbW88UGFuZWxSZWdpc3RyeT4oXG4gICAgKCkgPT4gKHtcbiAgICAgIHJlZ2lzdGVyOiAoc2xvdCwgcmVnKSA9PlxuICAgICAgICBzZXREZWNsYXJlZCgocHJldikgPT4gKHsgLi4ucHJldiwgW3Nsb3RdOiByZWcgfSkpLFxuICAgICAgdW5yZWdpc3RlcjogKHNsb3QpID0+XG4gICAgICAgIHNldERlY2xhcmVkKChwcmV2KSA9PiB7XG4gICAgICAgICAgaWYgKCEoc2xvdCBpbiBwcmV2KSkgcmV0dXJuIHByZXY7XG4gICAgICAgICAgY29uc3QgbmV4dCA9IHsgLi4ucHJldiB9O1xuICAgICAgICAgIGRlbGV0ZSBuZXh0W3Nsb3RdO1xuICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICB9KSxcbiAgICB9KSxcbiAgICBbXVxuICApO1xuXG4gIGNvbnN0IFtub2RlcywgaG9zdFJlZnNdID0gdXNlUG9ydGFsQ29udGFpbmVyUmVmcyhQQU5FTF9PUkRFUik7XG5cbiAgdXNlR2xvYmFsQ3NzVmFyaWFibGVzKG5vZGVzKTtcblxuICAvLyBQYW5lbHMgdGhhdCBleGlzdCBpbiB0aGUgbGF5b3V0LCByZWdhcmRsZXNzIG9mIHZpc2liaWxpdHkuIERyaXZlcyB0aGVcbiAgLy8gc29sby12cy1yZXNpemFibGUgZGVjaXNpb24gYmVsb3cgLSBrZXllZCBvbiBERUNMQVJFRCAobm90IHNob3duKSBzbyB0aGF0XG4gIC8vIHNob3dpbmcvaGlkaW5nIGEgcGFuZWwgbmV2ZXIgZmxpcHMgdGhlIG1vZGUuXG4gIGNvbnN0IGRlY2xhcmVkU2xvdHMgPSBQQU5FTF9PUkRFUi5maWx0ZXIoKHNsb3QpID0+IGRlY2xhcmVkW3Nsb3RdKTtcblxuICAvLyBTb2xvIG1vZGU6IGEgc2luZ2xlIHBhbmVsIGlzIGRlY2xhcmVkIChlLmcuIGp1c3QgYENvbnRlbnRgLCB3aXRoIG5vXG4gIC8vIFJpZ2h0UGFuZWwvTGVmdFBhbmVsL1NwbGl0IGluIHRoZSB0cmVlKSAtIG5vdGhpbmcgdG8gcmVzaXplIGFnYWluc3QsIHNvIGhvc3RcbiAgLy8gaXQgaW4gYSBwbGFpbiBkaXYgYW5kIHNraXAgcmVhY3QtcmVzaXphYmxlLXBhbmVscyBlbnRpcmVseS4gQmVjYXVzZSB0aGVcbiAgLy8gY2hlY2sgaXMgb24gREVDTEFSRUQgcGFuZWxzLCB0b2dnbGluZyBhICpkZWNsYXJlZCogcGFuZWwncyB2aXNpYmlsaXR5IGtlZXBzXG4gIC8vIHRoZSBtb2RlIHN0YWJsZSwgc28gYENvbnRlbnRgIGlzIG5ldmVyIHJlbW91bnRlZCBieSBhIHNob3cvaGlkZS4gVGhlIG1vZGVcbiAgLy8gb25seSBmbGlwcyB3aGVuIGEgcGFuZWwgbWFya2VyIGlzIGFkZGVkIHRvIC8gcmVtb3ZlZCBmcm9tIHRoZSB0cmVlIChhXG4gIC8vIHN0cnVjdHVyYWwgY2hhbmdlKSwgd2hlcmUgYSBvbmUtdGltZSByZW1vdW50IGlzIGFjY2VwdGFibGUuXG4gIGNvbnN0IGlzU29sbyA9IGRlY2xhcmVkU2xvdHMubGVuZ3RoIDw9IDE7XG4gIGNvbnN0IHNvbG9TbG90ID0gZGVjbGFyZWRTbG90c1swXTtcblxuICAvLyBjb250ZW50IGZsZXhlcyAobm8gZml4ZWQgc2l6ZSk7IG90aGVycyB1c2UgdGhlIGRlY2xhcmVkIGRlZmF1bHQsIGZhbGxpbmdcbiAgLy8gYmFjayB0byB0aGUgcGVyc2lzdGVkL2NvbmZpZyBzaXplLlxuICBjb25zdCBkZWZhdWx0U2l6ZUZvciA9IChzbG90OiBTbG90S2V5KTogU2l6ZSB8IHVuZGVmaW5lZCA9PiB7XG4gICAgaWYgKHNsb3QgPT09IFNsb3QuY29udGVudCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICByZXR1cm4gZGVjbGFyZWRbc2xvdF0/LmRlZmF1bHRTaXplID8/IGxheW91dFN0YXRlW3Nsb3RdLnNpemU7XG4gIH07XG5cbiAgLy8gT25seSB0aGUgcGFuZWxzIHRoYXQgYXJlIGRlY2xhcmVkIEFORCBjdXJyZW50bHkgc2hvd24uIENsb3NlZC9oaWRkZW4gcGFuZWxzXG4gIC8vIGFyZSBub3QgcmVuZGVyZWQgYXQgYWxsIC0gbm8gcmVzZXJ2ZWQgc3BhY2UuXG4gIGNvbnN0IHBhbmVsSXRlbXM6IFBhbmVsSXRlbVtdID0gUEFORUxfT1JERVIuZmlsdGVyKFxuICAgIChzbG90KSA9PiBkZWNsYXJlZFtzbG90XSAmJiBpc1Nob3duKHNsb3QpXG4gICkubWFwKChzbG90KSA9PiAoe1xuICAgIGlkOiBzbG90LFxuICAgIGRlZmF1bHRTaXplOiBkZWZhdWx0U2l6ZUZvcihzbG90KSxcbiAgICBtaW5TaXplOiBkZWNsYXJlZFtzbG90XT8ubWluU2l6ZSA/PyBsYXlvdXRTdGF0ZVtzbG90XS5taW5TaXplLFxuICAgIG1heFNpemU6IGRlY2xhcmVkW3Nsb3RdPy5tYXhTaXplID8/IGxheW91dFN0YXRlW3Nsb3RdLm1heFNpemUsXG4gICAgY29sbGFwc2libGU6IHNsb3QgIT09IFNsb3QuY29udGVudCAmJiAoZGVjbGFyZWRbc2xvdF0/LmNvbGxhcHNpYmxlID8/IHRydWUpLFxuICB9KSk7XG5cbiAgcmV0dXJuIChcbiAgICA8UGFuZWxSZWdpc3RyeUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3JlZ2lzdHJ5fT5cbiAgICAgIDxMYXlvdXRQb3J0YWxDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtub2Rlc30+XG4gICAgICAgIDxTdHlsZWRMYXlvdXQgZGF0YS1kcy1pZD1cIkxheW91dFwiPlxuICAgICAgICAgIHtpc1NvbG9cbiAgICAgICAgICAgID8gLy8gTG9uZSBwYW5lbCAtIGhvc3QgaXQgaW4gYSBwbGFpbiBkaXYsIG5vIHJlc2l6YWJsZSBHcm91cC4gSGlkZGVuXG4gICAgICAgICAgICAgIC8vIGxvbmUgcGFuZWxzIHJlbmRlciBub3RoaW5nIChDb250ZW50IGlzIGFsd2F5cyBzaG93bikuXG4gICAgICAgICAgICAgIHNvbG9TbG90ICYmXG4gICAgICAgICAgICAgIGlzU2hvd24oc29sb1Nsb3QpICYmIDxTdHlsZWRTb2xvSG9zdCByZWY9e2hvc3RSZWZzW3NvbG9TbG90XX0gLz5cbiAgICAgICAgICAgIDogcGFuZWxJdGVtcy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICAgICAgICAvLyBga2V5YCA9IHRoZSBwZXJzaXN0ZW5jZSBuYW1lc3BhY2UuIHJlYWN0LXJlc2l6YWJsZS1wYW5lbHNcbiAgICAgICAgICAgICAgICAvLyByZWFkcyBzdG9yZWQgc2l6ZXMgb25seSBvbiBtb3VudCwgYW5kIHRoaXMgZ3JvdXAgc3RheXNcbiAgICAgICAgICAgICAgICAvLyBtb3VudGVkIGFjcm9zcyBuYXZpZ2F0aW9uIC0gc28gcmVtb3VudCBpdCB3aGVuIHRoZSBrZXlcbiAgICAgICAgICAgICAgICAvLyBjaGFuZ2VzIHRvIGxvYWQgVEhBVCBpbnN0YW5jZSdzIHNpemVzLiBVc2UgY2FzZTpcbiAgICAgICAgICAgICAgICAvLyBwZXItcm91dGUvcGVyLWluc3RhbmNlIHNpemUgbWVtb3J5IChlLmcuXG4gICAgICAgICAgICAgICAgLy8gYHBlcnNpc3RlbmNlS2V5PXtgbGF5b3V0OiR7cm91dGVJZH1gfWApIC0gZHJhZyB0aGUgY2hhdCB3aWRlXG4gICAgICAgICAgICAgICAgLy8gb24gcGFnZSBBLCBzd2l0Y2ggdG8gcGFnZSBCIChpdHMgb3duIHdpZHRocyksIGNvbWUgYmFjayB0byBBXG4gICAgICAgICAgICAgICAgLy8gYW5kIGZpbmQgQSdzIHdpZHRocyByZXN0b3JlZC4gVGhlIGtleSBvbmx5IGNoYW5nZXMgb25cbiAgICAgICAgICAgICAgICAvLyBpbnN0YW5jZSBzd2l0Y2gsIG5ldmVyIG9uIHBhbmVsIG9wZW4vY2xvc2UsIHNvIG5vcm1hbFxuICAgICAgICAgICAgICAgIC8vIHRvZ2dsaW5nIHN0YXlzIHJlbW91bnQtZnJlZS5cbiAgICAgICAgICAgICAgICA8UGFuZWxcbiAgICAgICAgICAgICAgICAgIGtleT17cmVzb2x2ZWRLZXl9XG4gICAgICAgICAgICAgICAgICBwYW5lbHM9e3BhbmVsSXRlbXN9XG4gICAgICAgICAgICAgICAgICBwZXJzaXN0ZW5jZUtleT17cmVzb2x2ZWRLZXl9XG4gICAgICAgICAgICAgICAgICBzdG9yYWdlPXtyZXNvbHZlZFN0b3JhZ2V9XG4gICAgICAgICAgICAgICAgICBob3N0Rm9yPXsoaWQpID0+IGhvc3RSZWZzW2lkIGFzIFNsb3RLZXldfVxuICAgICAgICAgICAgICAgICAgb25SZXNpemU9eyhpZCwgc2l6ZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgcGFuZWxDYWxsYmFja3NbaWQgYXMgU2xvdEtleV0ucmVzaXplKHNpemUpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBvbkNvbGxhcHNlPXsoaWQpID0+IHBhbmVsQ2FsbGJhY2tzW2lkIGFzIFNsb3RLZXldLmhpZGUoKX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9TdHlsZWRMYXlvdXQ+XG4gICAgICA8L0xheW91dFBvcnRhbENvbnRleHQuUHJvdmlkZXI+XG4gICAgPC9QYW5lbFJlZ2lzdHJ5Q29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFB1YmxpYyBMYXlvdXQgLSB0aGUgcmVzaXphYmxlIHBhbmVsIHJvdyArIGNvbXBvdW5kIHBhcnRzIGFzIHN0YXRpY3MgICAgICAgICAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxudHlwZSBMYXlvdXRDb21wb25lbnQgPSB0eXBlb2YgTGF5b3V0QmFzZSAmIHtcbiAgUHJvdmlkZXI6IHR5cGVvZiBMYXlvdXRQcm92aWRlcjtcbiAgTGVmdFBhbmVsOiB0eXBlb2YgTGVmdFBhbmVsO1xuICBSaWdodFBhbmVsOiB0eXBlb2YgUmlnaHRQYW5lbDtcbiAgQ29udGVudDogdHlwZW9mIENvbnRlbnQ7XG4gIFNwbGl0OiB0eXBlb2YgU3BsaXQ7XG59O1xuXG5leHBvcnQgY29uc3QgTGF5b3V0ID0gTGF5b3V0QmFzZSBhcyBMYXlvdXRDb21wb25lbnQ7XG5cbkxheW91dC5Qcm92aWRlciA9IExheW91dFByb3ZpZGVyO1xuTGF5b3V0LkxlZnRQYW5lbCA9IExlZnRQYW5lbDtcbkxheW91dC5SaWdodFBhbmVsID0gUmlnaHRQYW5lbDtcbkxheW91dC5Db250ZW50ID0gQ29udGVudDtcbkxheW91dC5TcGxpdCA9IFNwbGl0O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdFcUIifQ== */"),StyledSoloHost=styled("div",{target:"e1dnkj9b1",label:"StyledSoloHost"})({position:"relative",height:"100%",width:"100%"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTGF5b3V0L0xheW91dC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0xheW91dC9MYXlvdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IFBhbmVsIH0gZnJvbSBcIi4uL0ludGVybmFsL1BhbmVsL1BhbmVsXCI7XG5pbXBvcnQgdHlwZSB7IFBhbmVsSXRlbSB9IGZyb20gXCIuLi9JbnRlcm5hbC9QYW5lbC9QYW5lbFwiO1xuaW1wb3J0IHsgUEFORUxfT1JERVIsIFBBTkVMX1dJRFRIX1ZBUiwgU2xvdCB9IGZyb20gXCIuLy1jb25zdGFudHNcIjtcbmltcG9ydCB7IHVzZUxheW91dFBlcnNpc3RlbmNlIH0gZnJvbSBcIi4vY29udGV4dFwiO1xuaW1wb3J0IHsgTGF5b3V0UHJvdmlkZXIgfSBmcm9tIFwiLi9MYXlvdXRQcm92aWRlclwiO1xuaW1wb3J0IHsgQ29udGVudCB9IGZyb20gXCIuL0NvbnRlbnRcIjtcbmltcG9ydCB7IFJpZ2h0UGFuZWwgfSBmcm9tIFwiLi9SaWdodFBhbmVsXCI7XG5pbXBvcnQgeyBMZWZ0UGFuZWwgfSBmcm9tIFwiLi9MZWZ0UGFuZWxcIjtcbmltcG9ydCB7IFNwbGl0IH0gZnJvbSBcIi4vU3BsaXRcIjtcbmltcG9ydCB7XG4gIExheW91dFBvcnRhbENvbnRleHQsXG4gIFBhbmVsUmVnaXN0cnlDb250ZXh0LFxuICB0eXBlIEhvc3ROb2RlcyxcbiAgdHlwZSBQYW5lbFJlZyxcbiAgdHlwZSBQYW5lbFJlZ2lzdHJ5LFxufSBmcm9tIFwiLi9yZWdpc3RyeVwiO1xuaW1wb3J0IHsgdXNlUG9ydGFsQ29udGFpbmVyUmVmcyB9IGZyb20gXCIuL3VzZVBvcnRhbENvbnRhaW5lclJlZnNcIjtcbmltcG9ydCB7IHVzZUxheW91dFZhciwgdHlwZSBMYXlvdXRWYXJIYW5kbGUgfSBmcm9tIFwiLi9MYXlvdXRDc3NWYXJzXCI7XG5pbXBvcnQgeyB1c2VMYXlvdXQgfSBmcm9tIFwiLi91c2VMYXlvdXRcIjtcbmltcG9ydCB0eXBlIHsgTGF5b3V0UHJvcHMsIFNpemUsIFNsb3RLZXkgfSBmcm9tIFwiLi8tdHlwZXNcIjtcblxuLyoqXG4gKiBQdWJsaXNoZXMgZWFjaCBwYW5lbCdzIGxpdmUgcGl4ZWwgd2lkdGggYXMgYSBsYXlvdXQgQ1NTIHZhciAoZS5nLlxuICogYC0tZHMtbGF5b3V0LXJpZ2h0UGFuZWwtd2lkdGhgKSwgdHJhY2tpbmcgZHJhZy0gYW5kIHdpbmRvdy1yZXNpemVzLiBBIGhpZGRlblxuICogcGFydCAobm8gaG9zdCBub2RlKSByZWFkcyBgMHB4YCwgc28gdGhlIHZhciBpcyBhbHdheXMgZGVmaW5lZC4gT25lXG4gKiBgdXNlTGF5b3V0VmFyYCBwZXIgc2xvdCBpbiBgUEFORUxfV0lEVEhfVkFSYC5cbiAqL1xuY29uc3QgdXNlR2xvYmFsQ3NzVmFyaWFibGVzID0gKG5vZGVzOiBIb3N0Tm9kZXMpOiB2b2lkID0+IHtcbiAgY29uc3QgY29udGVudFdpZHRoQ3NzVmFyID0gdXNlTGF5b3V0VmFyKFBBTkVMX1dJRFRIX1ZBUi5jb250ZW50KTtcbiAgY29uc3QgcmlnaHRQYW5lbFdpZHRoQ3NzVmFyID0gdXNlTGF5b3V0VmFyKFBBTkVMX1dJRFRIX1ZBUi5yaWdodFBhbmVsKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHRhcmdldHM6IFtTbG90S2V5LCBMYXlvdXRWYXJIYW5kbGVdW10gPSBbXG4gICAgICBbU2xvdC5jb250ZW50LCBjb250ZW50V2lkdGhDc3NWYXJdLFxuICAgICAgW1Nsb3QucmlnaHRQYW5lbCwgcmlnaHRQYW5lbFdpZHRoQ3NzVmFyXSxcbiAgICBdO1xuICAgIGNvbnN0IG9ic2VydmVyczogUmVzaXplT2JzZXJ2ZXJbXSA9IFtdO1xuXG4gICAgdGFyZ2V0cy5mb3JFYWNoKChbc2xvdCwgaGFuZGxlXSkgPT4ge1xuICAgICAgY29uc3Qgbm9kZSA9IG5vZGVzW3Nsb3RdID8/IG51bGw7XG4gICAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgaGFuZGxlLnNldChcIjBweFwiKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgcHVibGlzaE5vZGVXaWR0aCA9ICgpOiB2b2lkID0+XG4gICAgICAgIGhhbmRsZS5zZXQoYCR7bm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aH1weGApO1xuICAgICAgcHVibGlzaE5vZGVXaWR0aCgpO1xuICAgICAgLy8ganNkb20gKGFuZCBvbGQgYnJvd3NlcnMpIGxhY2sgUmVzaXplT2JzZXJ2ZXIg4oCUIHNraXAgbGl2ZSB0cmFja2luZyB0aGVyZS5cbiAgICAgIGlmICh0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybjtcbiAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKHB1Ymxpc2hOb2RlV2lkdGgpO1xuICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShub2RlKTtcbiAgICAgIG9ic2VydmVycy5wdXNoKG9ic2VydmVyKTtcbiAgICB9KTtcblxuICAgIHJldHVybiAoKSA9PiBvYnNlcnZlcnMuZm9yRWFjaCgob2JzZXJ2ZXIpID0+IG9ic2VydmVyLmRpc2Nvbm5lY3QoKSk7XG4gIH0sIFtjb250ZW50V2lkdGhDc3NWYXIsIHJpZ2h0UGFuZWxXaWR0aENzc1Zhciwgbm9kZXNdKTtcbn07XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMYXlvdXQgLSByZWdpc3RyeSArIGhvc3RzOyBtYXJrZXJzIGRlY2xhcmUvcG9ydGFsOyB0aGUgcmVzaXphYmxlIHBhbmVsIHJvdyAgICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5jb25zdCBTdHlsZWRMYXlvdXQgPSBzdHlsZWQuZGl2KHtcbiAgcG9zaXRpb246IFwicmVsYXRpdmVcIixcbiAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgd2lkdGg6IFwiMTAwJVwiLFxufSk7XG5cbi8vIFNvbG8tbW9kZSBob3N0OiBhIGxvbmUgcGFuZWwgKG5vIHJlc2l6YWJsZSBzaWJsaW5nKSBpcyBob3N0ZWQgaGVyZSBpbnN0ZWFkIG9mXG4vLyBpbnNpZGUgcmVhY3QtcmVzaXphYmxlLXBhbmVscy4gTWF0Y2hlcyB0aGUgcGVyLXBhbmVsIGhvc3QgdGhlIEdyb3VwIHJlbmRlcnNcbi8vIChgcmVsYXRpdmVgICsgZnVsbC1ibGVlZCkgc28gY29udGVudCByZWZsb3dzL3Njcm9sbHMgaWRlbnRpY2FsbHkgZWl0aGVyIHdheS5cbmNvbnN0IFN0eWxlZFNvbG9Ib3N0ID0gc3R5bGVkLmRpdih7XG4gIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG4gIGhlaWdodDogXCIxMDAlXCIsXG4gIHdpZHRoOiBcIjEwMCVcIixcbn0pO1xuXG5mdW5jdGlvbiBMYXlvdXRCYXNlKHtcbiAgY2hpbGRyZW4sXG4gIHBlcnNpc3RlbmNlS2V5LFxuICBzdG9yYWdlLFxufTogTGF5b3V0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbZGVjbGFyZWQsIHNldERlY2xhcmVkXSA9IHVzZVN0YXRlPFBhcnRpYWw8UmVjb3JkPFNsb3RLZXksIFBhbmVsUmVnPj4+KFxuICAgIHt9XG4gICk7XG4gIGNvbnN0IHsgc3RhdGU6IGxheW91dFN0YXRlLCAuLi5wYW5lbENhbGxiYWNrcyB9ID0gdXNlTGF5b3V0KCk7XG4gIGNvbnN0IHBlcnNpc3RlbmNlID0gdXNlTGF5b3V0UGVyc2lzdGVuY2UoKTtcbiAgY29uc3QgcmVzb2x2ZWRLZXkgPSBwZXJzaXN0ZW5jZUtleSA/PyBwZXJzaXN0ZW5jZS5wZXJzaXN0ZW5jZUtleTtcbiAgY29uc3QgcmVzb2x2ZWRTdG9yYWdlID0gc3RvcmFnZSA/PyBwZXJzaXN0ZW5jZS5zdG9yYWdlO1xuXG4gIGNvbnN0IGlzU2hvd24gPSAoc2xvdDogU2xvdEtleSk6IGJvb2xlYW4gPT4gbGF5b3V0U3RhdGVbc2xvdF0udmlzaWJsZTtcblxuICBjb25zdCByZWdpc3RyeSA9IHVzZU1lbW88UGFuZWxSZWdpc3RyeT4oXG4gICAgKCkgPT4gKHtcbiAgICAgIHJlZ2lzdGVyOiAoc2xvdCwgcmVnKSA9PlxuICAgICAgICBzZXREZWNsYXJlZCgocHJldikgPT4gKHsgLi4ucHJldiwgW3Nsb3RdOiByZWcgfSkpLFxuICAgICAgdW5yZWdpc3RlcjogKHNsb3QpID0+XG4gICAgICAgIHNldERlY2xhcmVkKChwcmV2KSA9PiB7XG4gICAgICAgICAgaWYgKCEoc2xvdCBpbiBwcmV2KSkgcmV0dXJuIHByZXY7XG4gICAgICAgICAgY29uc3QgbmV4dCA9IHsgLi4ucHJldiB9O1xuICAgICAgICAgIGRlbGV0ZSBuZXh0W3Nsb3RdO1xuICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICB9KSxcbiAgICB9KSxcbiAgICBbXVxuICApO1xuXG4gIGNvbnN0IFtub2RlcywgaG9zdFJlZnNdID0gdXNlUG9ydGFsQ29udGFpbmVyUmVmcyhQQU5FTF9PUkRFUik7XG5cbiAgdXNlR2xvYmFsQ3NzVmFyaWFibGVzKG5vZGVzKTtcblxuICAvLyBQYW5lbHMgdGhhdCBleGlzdCBpbiB0aGUgbGF5b3V0LCByZWdhcmRsZXNzIG9mIHZpc2liaWxpdHkuIERyaXZlcyB0aGVcbiAgLy8gc29sby12cy1yZXNpemFibGUgZGVjaXNpb24gYmVsb3cgLSBrZXllZCBvbiBERUNMQVJFRCAobm90IHNob3duKSBzbyB0aGF0XG4gIC8vIHNob3dpbmcvaGlkaW5nIGEgcGFuZWwgbmV2ZXIgZmxpcHMgdGhlIG1vZGUuXG4gIGNvbnN0IGRlY2xhcmVkU2xvdHMgPSBQQU5FTF9PUkRFUi5maWx0ZXIoKHNsb3QpID0+IGRlY2xhcmVkW3Nsb3RdKTtcblxuICAvLyBTb2xvIG1vZGU6IGEgc2luZ2xlIHBhbmVsIGlzIGRlY2xhcmVkIChlLmcuIGp1c3QgYENvbnRlbnRgLCB3aXRoIG5vXG4gIC8vIFJpZ2h0UGFuZWwvTGVmdFBhbmVsL1NwbGl0IGluIHRoZSB0cmVlKSAtIG5vdGhpbmcgdG8gcmVzaXplIGFnYWluc3QsIHNvIGhvc3RcbiAgLy8gaXQgaW4gYSBwbGFpbiBkaXYgYW5kIHNraXAgcmVhY3QtcmVzaXphYmxlLXBhbmVscyBlbnRpcmVseS4gQmVjYXVzZSB0aGVcbiAgLy8gY2hlY2sgaXMgb24gREVDTEFSRUQgcGFuZWxzLCB0b2dnbGluZyBhICpkZWNsYXJlZCogcGFuZWwncyB2aXNpYmlsaXR5IGtlZXBzXG4gIC8vIHRoZSBtb2RlIHN0YWJsZSwgc28gYENvbnRlbnRgIGlzIG5ldmVyIHJlbW91bnRlZCBieSBhIHNob3cvaGlkZS4gVGhlIG1vZGVcbiAgLy8gb25seSBmbGlwcyB3aGVuIGEgcGFuZWwgbWFya2VyIGlzIGFkZGVkIHRvIC8gcmVtb3ZlZCBmcm9tIHRoZSB0cmVlIChhXG4gIC8vIHN0cnVjdHVyYWwgY2hhbmdlKSwgd2hlcmUgYSBvbmUtdGltZSByZW1vdW50IGlzIGFjY2VwdGFibGUuXG4gIGNvbnN0IGlzU29sbyA9IGRlY2xhcmVkU2xvdHMubGVuZ3RoIDw9IDE7XG4gIGNvbnN0IHNvbG9TbG90ID0gZGVjbGFyZWRTbG90c1swXTtcblxuICAvLyBjb250ZW50IGZsZXhlcyAobm8gZml4ZWQgc2l6ZSk7IG90aGVycyB1c2UgdGhlIGRlY2xhcmVkIGRlZmF1bHQsIGZhbGxpbmdcbiAgLy8gYmFjayB0byB0aGUgcGVyc2lzdGVkL2NvbmZpZyBzaXplLlxuICBjb25zdCBkZWZhdWx0U2l6ZUZvciA9IChzbG90OiBTbG90S2V5KTogU2l6ZSB8IHVuZGVmaW5lZCA9PiB7XG4gICAgaWYgKHNsb3QgPT09IFNsb3QuY29udGVudCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICByZXR1cm4gZGVjbGFyZWRbc2xvdF0/LmRlZmF1bHRTaXplID8/IGxheW91dFN0YXRlW3Nsb3RdLnNpemU7XG4gIH07XG5cbiAgLy8gT25seSB0aGUgcGFuZWxzIHRoYXQgYXJlIGRlY2xhcmVkIEFORCBjdXJyZW50bHkgc2hvd24uIENsb3NlZC9oaWRkZW4gcGFuZWxzXG4gIC8vIGFyZSBub3QgcmVuZGVyZWQgYXQgYWxsIC0gbm8gcmVzZXJ2ZWQgc3BhY2UuXG4gIGNvbnN0IHBhbmVsSXRlbXM6IFBhbmVsSXRlbVtdID0gUEFORUxfT1JERVIuZmlsdGVyKFxuICAgIChzbG90KSA9PiBkZWNsYXJlZFtzbG90XSAmJiBpc1Nob3duKHNsb3QpXG4gICkubWFwKChzbG90KSA9PiAoe1xuICAgIGlkOiBzbG90LFxuICAgIGRlZmF1bHRTaXplOiBkZWZhdWx0U2l6ZUZvcihzbG90KSxcbiAgICBtaW5TaXplOiBkZWNsYXJlZFtzbG90XT8ubWluU2l6ZSA/PyBsYXlvdXRTdGF0ZVtzbG90XS5taW5TaXplLFxuICAgIG1heFNpemU6IGRlY2xhcmVkW3Nsb3RdPy5tYXhTaXplID8/IGxheW91dFN0YXRlW3Nsb3RdLm1heFNpemUsXG4gICAgY29sbGFwc2libGU6IHNsb3QgIT09IFNsb3QuY29udGVudCAmJiAoZGVjbGFyZWRbc2xvdF0/LmNvbGxhcHNpYmxlID8/IHRydWUpLFxuICB9KSk7XG5cbiAgcmV0dXJuIChcbiAgICA8UGFuZWxSZWdpc3RyeUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3JlZ2lzdHJ5fT5cbiAgICAgIDxMYXlvdXRQb3J0YWxDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtub2Rlc30+XG4gICAgICAgIDxTdHlsZWRMYXlvdXQgZGF0YS1kcy1pZD1cIkxheW91dFwiPlxuICAgICAgICAgIHtpc1NvbG9cbiAgICAgICAgICAgID8gLy8gTG9uZSBwYW5lbCAtIGhvc3QgaXQgaW4gYSBwbGFpbiBkaXYsIG5vIHJlc2l6YWJsZSBHcm91cC4gSGlkZGVuXG4gICAgICAgICAgICAgIC8vIGxvbmUgcGFuZWxzIHJlbmRlciBub3RoaW5nIChDb250ZW50IGlzIGFsd2F5cyBzaG93bikuXG4gICAgICAgICAgICAgIHNvbG9TbG90ICYmXG4gICAgICAgICAgICAgIGlzU2hvd24oc29sb1Nsb3QpICYmIDxTdHlsZWRTb2xvSG9zdCByZWY9e2hvc3RSZWZzW3NvbG9TbG90XX0gLz5cbiAgICAgICAgICAgIDogcGFuZWxJdGVtcy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICAgICAgICAvLyBga2V5YCA9IHRoZSBwZXJzaXN0ZW5jZSBuYW1lc3BhY2UuIHJlYWN0LXJlc2l6YWJsZS1wYW5lbHNcbiAgICAgICAgICAgICAgICAvLyByZWFkcyBzdG9yZWQgc2l6ZXMgb25seSBvbiBtb3VudCwgYW5kIHRoaXMgZ3JvdXAgc3RheXNcbiAgICAgICAgICAgICAgICAvLyBtb3VudGVkIGFjcm9zcyBuYXZpZ2F0aW9uIC0gc28gcmVtb3VudCBpdCB3aGVuIHRoZSBrZXlcbiAgICAgICAgICAgICAgICAvLyBjaGFuZ2VzIHRvIGxvYWQgVEhBVCBpbnN0YW5jZSdzIHNpemVzLiBVc2UgY2FzZTpcbiAgICAgICAgICAgICAgICAvLyBwZXItcm91dGUvcGVyLWluc3RhbmNlIHNpemUgbWVtb3J5IChlLmcuXG4gICAgICAgICAgICAgICAgLy8gYHBlcnNpc3RlbmNlS2V5PXtgbGF5b3V0OiR7cm91dGVJZH1gfWApIC0gZHJhZyB0aGUgY2hhdCB3aWRlXG4gICAgICAgICAgICAgICAgLy8gb24gcGFnZSBBLCBzd2l0Y2ggdG8gcGFnZSBCIChpdHMgb3duIHdpZHRocyksIGNvbWUgYmFjayB0byBBXG4gICAgICAgICAgICAgICAgLy8gYW5kIGZpbmQgQSdzIHdpZHRocyByZXN0b3JlZC4gVGhlIGtleSBvbmx5IGNoYW5nZXMgb25cbiAgICAgICAgICAgICAgICAvLyBpbnN0YW5jZSBzd2l0Y2gsIG5ldmVyIG9uIHBhbmVsIG9wZW4vY2xvc2UsIHNvIG5vcm1hbFxuICAgICAgICAgICAgICAgIC8vIHRvZ2dsaW5nIHN0YXlzIHJlbW91bnQtZnJlZS5cbiAgICAgICAgICAgICAgICA8UGFuZWxcbiAgICAgICAgICAgICAgICAgIGtleT17cmVzb2x2ZWRLZXl9XG4gICAgICAgICAgICAgICAgICBwYW5lbHM9e3BhbmVsSXRlbXN9XG4gICAgICAgICAgICAgICAgICBwZXJzaXN0ZW5jZUtleT17cmVzb2x2ZWRLZXl9XG4gICAgICAgICAgICAgICAgICBzdG9yYWdlPXtyZXNvbHZlZFN0b3JhZ2V9XG4gICAgICAgICAgICAgICAgICBob3N0Rm9yPXsoaWQpID0+IGhvc3RSZWZzW2lkIGFzIFNsb3RLZXldfVxuICAgICAgICAgICAgICAgICAgb25SZXNpemU9eyhpZCwgc2l6ZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgcGFuZWxDYWxsYmFja3NbaWQgYXMgU2xvdEtleV0ucmVzaXplKHNpemUpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBvbkNvbGxhcHNlPXsoaWQpID0+IHBhbmVsQ2FsbGJhY2tzW2lkIGFzIFNsb3RLZXldLmhpZGUoKX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9TdHlsZWRMYXlvdXQ+XG4gICAgICA8L0xheW91dFBvcnRhbENvbnRleHQuUHJvdmlkZXI+XG4gICAgPC9QYW5lbFJlZ2lzdHJ5Q29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFB1YmxpYyBMYXlvdXQgLSB0aGUgcmVzaXphYmxlIHBhbmVsIHJvdyArIGNvbXBvdW5kIHBhcnRzIGFzIHN0YXRpY3MgICAgICAgICAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxudHlwZSBMYXlvdXRDb21wb25lbnQgPSB0eXBlb2YgTGF5b3V0QmFzZSAmIHtcbiAgUHJvdmlkZXI6IHR5cGVvZiBMYXlvdXRQcm92aWRlcjtcbiAgTGVmdFBhbmVsOiB0eXBlb2YgTGVmdFBhbmVsO1xuICBSaWdodFBhbmVsOiB0eXBlb2YgUmlnaHRQYW5lbDtcbiAgQ29udGVudDogdHlwZW9mIENvbnRlbnQ7XG4gIFNwbGl0OiB0eXBlb2YgU3BsaXQ7XG59O1xuXG5leHBvcnQgY29uc3QgTGF5b3V0ID0gTGF5b3V0QmFzZSBhcyBMYXlvdXRDb21wb25lbnQ7XG5cbkxheW91dC5Qcm92aWRlciA9IExheW91dFByb3ZpZGVyO1xuTGF5b3V0LkxlZnRQYW5lbCA9IExlZnRQYW5lbDtcbkxheW91dC5SaWdodFBhbmVsID0gUmlnaHRQYW5lbDtcbkxheW91dC5Db250ZW50ID0gQ29udGVudDtcbkxheW91dC5TcGxpdCA9IFNwbGl0O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlFdUIifQ== */");export const Layout=function({children,persistenceKey,storage}){let[declared,setDeclared]=useState({}),{state:layoutState,...panelCallbacks}=useLayout(),persistence=useLayoutPersistence(),resolvedKey=persistenceKey??persistence.persistenceKey,resolvedStorage=storage??persistence.storage,isShown=slot=>layoutState[slot].visible,registry=useMemo(()=>({register:(slot,reg)=>setDeclared(prev=>({...prev,[slot]:reg})),unregister:slot=>setDeclared(prev=>{if(!(slot in prev))return prev;let next={...prev};return delete next[slot],next})}),[]),[nodes,hostRefs]=usePortalContainerRefs(PANEL_ORDER);useGlobalCssVariables(nodes);let declaredSlots=PANEL_ORDER.filter(slot=>declared[slot]),isSolo=declaredSlots.length<=1,soloSlot=declaredSlots[0],defaultSizeFor=slot=>{if(slot!==Slot.content)return declared[slot]?.defaultSize??layoutState[slot].size},panelItems=PANEL_ORDER.filter(slot=>declared[slot]&&isShown(slot)).map(slot=>({id:slot,defaultSize:defaultSizeFor(slot),minSize:declared[slot]?.minSize??layoutState[slot].minSize,maxSize:declared[slot]?.maxSize??layoutState[slot].maxSize,collapsible:slot!==Slot.content&&(declared[slot]?.collapsible??!0)}));return React.createElement(PanelRegistryContext.Provider,{value:registry},React.createElement(LayoutPortalContext.Provider,{value:nodes},React.createElement(StyledLayout,{"data-ds-id":"Layout"},isSolo?soloSlot&&isShown(soloSlot)&&React.createElement(StyledSoloHost,{ref:hostRefs[soloSlot]}):panelItems.length>0&&React.createElement(Panel,{key:resolvedKey,panels:panelItems,persistenceKey:resolvedKey,storage:resolvedStorage,hostFor:id=>hostRefs[id],onResize:(id,size)=>panelCallbacks[id].resize(size),onCollapse:id=>panelCallbacks[id].hide()}),children)))};Layout.Provider=LayoutProvider,Layout.LeftPanel=LeftPanel,Layout.RightPanel=RightPanel,Layout.Content=Content,Layout.Split=Split;
@@ -0,0 +1,24 @@
1
+ import React from "react";
2
+ import type { LayoutCssVarStore } from "./cssVarStore";
3
+ export declare const LayoutCssVarStoreProvider: React.Provider<LayoutCssVarStore>;
4
+ /** Imperative handle to one registered layout var. */
5
+ export type LayoutVarHandle = {
6
+ set: (value: string) => void;
7
+ remove: () => void;
8
+ };
9
+ /**
10
+ * Register one layout CSS var; returns a stable imperative handle. The var is
11
+ * removed on unmount, so it only exists while its producer is mounted. Call
12
+ * `.set()` from wherever the value is known — an effect (state-driven vars like
13
+ * the subnav offset) or a ResizeObserver (measured vars) — so updates publish
14
+ * straight to the single `<LayoutCssVars>` sink and never re-render the producer.
15
+ * No-op outside a `Layout.Provider`.
16
+ */
17
+ export declare const useLayoutVar: (name: string) => LayoutVarHandle;
18
+ /**
19
+ * The single sink: renders every registered layout var in ONE place. Producers
20
+ * live in the components that own each var (each a local `useGlobalCssVariables`
21
+ * hook); this just emits the whole map. Today it targets `:root`; to scope the
22
+ * vars to a host element later, change only the `<Global>` target below.
23
+ */
24
+ export declare function LayoutCssVars(): React.ReactElement;
@@ -0,0 +1 @@
1
+ import React,{createContext,useContext,useEffect,useMemo,useSyncExternalStore}from"react";import{Global}from"@emotion/react";let LayoutCssVarStoreContext=createContext(null);export const LayoutCssVarStoreProvider=LayoutCssVarStoreContext.Provider;let EMPTY_VARS={},NOOP_SUBSCRIBE=()=>()=>{};export const useLayoutVar=name=>{let store=useContext(LayoutCssVarStoreContext);return useEffect(()=>()=>store?.remove(name),[store,name]),useMemo(()=>({set:value=>""===value?store?.remove(name):store?.set(name,value),remove:()=>store?.remove(name)}),[store,name])};export function LayoutCssVars(){let store=useContext(LayoutCssVarStoreContext),vars=useSyncExternalStore(store?.subscribe??NOOP_SUBSCRIBE,store?store.getSnapshot:()=>EMPTY_VARS,()=>EMPTY_VARS);return React.createElement(Global,{styles:[{":root":vars},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTGF5b3V0L0xheW91dENzc1ZhcnMudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9MYXlvdXQvTGF5b3V0Q3NzVmFycy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIGNyZWF0ZUNvbnRleHQsXG4gIHVzZUNvbnRleHQsXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlU3luY0V4dGVybmFsU3RvcmUsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgR2xvYmFsIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IExheW91dENzc1ZhclN0b3JlIH0gZnJvbSBcIi4vY3NzVmFyU3RvcmVcIjtcblxuLyoqXG4gKiBDb250ZXh0IGNhcnJpZXMgdGhlIFZBUi1TVE9SRSBSRUZFUkVOQ0UgKHN0YWJsZSBmb3IgdGhlIHByb3ZpZGVyJ3MgbGlmZXRpbWUpLFxuICogbm90IHRoZSB2YWx1ZXMg4oCUIHNhbWUgYXBwcm9hY2ggYXMgdGhlIGxheW91dCBzdG9yZS4gUHJvZHVjZXJzIHJlZ2lzdGVyIHZhcnNcbiAqIHRocm91Z2ggYHVzZUxheW91dFZhcmA7IHRoZSBgPExheW91dENzc1ZhcnM+YCBzaW5rIHJlYWRzIHRoZSB3aG9sZSBtYXAuXG4gKi9cbmNvbnN0IExheW91dENzc1ZhclN0b3JlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8TGF5b3V0Q3NzVmFyU3RvcmUgfCBudWxsPihudWxsKTtcblxuZXhwb3J0IGNvbnN0IExheW91dENzc1ZhclN0b3JlUHJvdmlkZXIgPSBMYXlvdXRDc3NWYXJTdG9yZUNvbnRleHQuUHJvdmlkZXI7XG5cbi8vIFN0YWJsZSBmYWxsYmFja3Mgc28gdGhlIGhvb2tzIGJlbG93IGFyZSBzYWZlIHRvIGNhbGwgb3V0c2lkZSBhIHByb3ZpZGVyLlxuY29uc3QgRU1QVFlfVkFSUzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuY29uc3QgTk9PUF9TVUJTQ1JJQkUgPSAoKTogKCgpID0+IHZvaWQpID0+ICgpID0+IHt9O1xuXG4vKiogSW1wZXJhdGl2ZSBoYW5kbGUgdG8gb25lIHJlZ2lzdGVyZWQgbGF5b3V0IHZhci4gKi9cbmV4cG9ydCB0eXBlIExheW91dFZhckhhbmRsZSA9IHtcbiAgc2V0OiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgcmVtb3ZlOiAoKSA9PiB2b2lkO1xufTtcblxuLyoqXG4gKiBSZWdpc3RlciBvbmUgbGF5b3V0IENTUyB2YXI7IHJldHVybnMgYSBzdGFibGUgaW1wZXJhdGl2ZSBoYW5kbGUuIFRoZSB2YXIgaXNcbiAqIHJlbW92ZWQgb24gdW5tb3VudCwgc28gaXQgb25seSBleGlzdHMgd2hpbGUgaXRzIHByb2R1Y2VyIGlzIG1vdW50ZWQuIENhbGxcbiAqIGAuc2V0KClgIGZyb20gd2hlcmV2ZXIgdGhlIHZhbHVlIGlzIGtub3duIOKAlCBhbiBlZmZlY3QgKHN0YXRlLWRyaXZlbiB2YXJzIGxpa2VcbiAqIHRoZSBzdWJuYXYgb2Zmc2V0KSBvciBhIFJlc2l6ZU9ic2VydmVyIChtZWFzdXJlZCB2YXJzKSDigJQgc28gdXBkYXRlcyBwdWJsaXNoXG4gKiBzdHJhaWdodCB0byB0aGUgc2luZ2xlIGA8TGF5b3V0Q3NzVmFycz5gIHNpbmsgYW5kIG5ldmVyIHJlLXJlbmRlciB0aGUgcHJvZHVjZXIuXG4gKiBOby1vcCBvdXRzaWRlIGEgYExheW91dC5Qcm92aWRlcmAuXG4gKi9cbmV4cG9ydCBjb25zdCB1c2VMYXlvdXRWYXIgPSAobmFtZTogc3RyaW5nKTogTGF5b3V0VmFySGFuZGxlID0+IHtcbiAgY29uc3Qgc3RvcmUgPSB1c2VDb250ZXh0KExheW91dENzc1ZhclN0b3JlQ29udGV4dCk7XG4gIHVzZUVmZmVjdCgoKSA9PiAoKSA9PiBzdG9yZT8ucmVtb3ZlKG5hbWUpLCBbc3RvcmUsIG5hbWVdKTtcbiAgcmV0dXJuIHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIC8vIFwiXCIgaXMgdHJlYXRlZCBhcyB1bnNldCAocmVtb3ZlcyB0aGUgdmFyKSDigJQgbGV0cyBhIHByb2R1Y2VyIG9wdCBvdXQuXG4gICAgICBzZXQ6ICh2YWx1ZSkgPT5cbiAgICAgICAgdmFsdWUgPT09IFwiXCIgPyBzdG9yZT8ucmVtb3ZlKG5hbWUpIDogc3RvcmU/LnNldChuYW1lLCB2YWx1ZSksXG4gICAgICByZW1vdmU6ICgpID0+IHN0b3JlPy5yZW1vdmUobmFtZSksXG4gICAgfSksXG4gICAgW3N0b3JlLCBuYW1lXVxuICApO1xufTtcblxuLyoqXG4gKiBUaGUgc2luZ2xlIHNpbms6IHJlbmRlcnMgZXZlcnkgcmVnaXN0ZXJlZCBsYXlvdXQgdmFyIGluIE9ORSBwbGFjZS4gUHJvZHVjZXJzXG4gKiBsaXZlIGluIHRoZSBjb21wb25lbnRzIHRoYXQgb3duIGVhY2ggdmFyIChlYWNoIGEgbG9jYWwgYHVzZUdsb2JhbENzc1ZhcmlhYmxlc2BcbiAqIGhvb2spOyB0aGlzIGp1c3QgZW1pdHMgdGhlIHdob2xlIG1hcC4gVG9kYXkgaXQgdGFyZ2V0cyBgOnJvb3RgOyB0byBzY29wZSB0aGVcbiAqIHZhcnMgdG8gYSBob3N0IGVsZW1lbnQgbGF0ZXIsIGNoYW5nZSBvbmx5IHRoZSBgPEdsb2JhbD5gIHRhcmdldCBiZWxvdy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExheW91dENzc1ZhcnMoKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3Qgc3RvcmUgPSB1c2VDb250ZXh0KExheW91dENzc1ZhclN0b3JlQ29udGV4dCk7XG4gIGNvbnN0IHZhcnMgPSB1c2VTeW5jRXh0ZXJuYWxTdG9yZShcbiAgICBzdG9yZT8uc3Vic2NyaWJlID8/IE5PT1BfU1VCU0NSSUJFLFxuICAgIHN0b3JlID8gc3RvcmUuZ2V0U25hcHNob3QgOiAoKSA9PiBFTVBUWV9WQVJTLFxuICAgICgpID0+IEVNUFRZX1ZBUlNcbiAgKTtcbiAgcmV0dXJuIDxHbG9iYWwgc3R5bGVzPXt7IFwiOnJvb3RcIjogdmFycyB9fSAvPjtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnRVUifQ== */"]})}
@@ -6,10 +6,10 @@ import type { LayoutProviderProps } from "./-types";
6
6
  * zustand/redux-backed one; otherwise a default store is built from `config`.
7
7
  *
8
8
  * `storage`/`persistenceKey` are accepted here so consumers configure the whole
9
- * layout in one provider but the Provider **never reads storage itself**.
9
+ * layout in one provider - but the Provider **never reads storage itself**.
10
10
  * It publishes them to the nested, which owns persistence.
11
11
  * Two tracks: panel sizes (via react-resizable-panels, working today) and the panels'
12
- * "intent" open/visible/variant (restore on mount + save on store.subscribe, still deferred).
12
+ * "intent" - open/visible/variant (restore on mount + save on store.subscribe, still deferred).
13
13
  * That deferral is the default store's; a bring-your-own store can persist intent itself.
14
14
  */
15
15
  export declare function LayoutProvider({ children, config, store, persistenceKey, storage, }: LayoutProviderProps): React.ReactElement;
@@ -1 +1 @@
1
- import React,{useMemo,useRef}from"react";import{useTheme}from"@emotion/react";import{SLIDE_VAR}from"./-constants";import{LayoutPersistenceProvider,LayoutStoreProvider}from"./context";import{LayoutVars,LayoutVarStoreProvider,useLayoutVar}from"./LayoutVars";import{createLayoutVarStore}from"./varStore";import{createInitialState}from"./reducer";import{createLayoutStore}from"./store";function SlideVars(){let theme=useTheme(),open=theme.variables?.animation?.navSlide?.open;return useLayoutVar(SLIDE_VAR.duration,open?.duration??""),useLayoutVar(SLIDE_VAR.easing,open?.timingFunction??""),null}export function LayoutProvider({children,config,store,persistenceKey,storage}){let storeRef=useRef(null);null===storeRef.current&&(storeRef.current=store??createLayoutStore(createInitialState(config)));let varStoreRef=useRef(null);null===varStoreRef.current&&(varStoreRef.current=createLayoutVarStore());let persistence=useMemo(()=>({persistenceKey,storage}),[persistenceKey,storage]);return React.createElement(LayoutStoreProvider,{value:storeRef.current},React.createElement(LayoutPersistenceProvider,{value:persistence},React.createElement(LayoutVarStoreProvider,{value:varStoreRef.current},React.createElement(LayoutVars,null),React.createElement(SlideVars,null),children)))}
1
+ import React,{useMemo,useRef}from"react";import{LayoutPersistenceProvider,LayoutStoreProvider}from"./context";import{LayoutCssVars,LayoutCssVarStoreProvider}from"./LayoutCssVars";import{createLayoutCssVarStore}from"./cssVarStore";import{createInitialState}from"./reducer";import{createLayoutStore}from"./store";export function LayoutProvider({children,config,store,persistenceKey,storage}){let storeRef=useRef(null);null===storeRef.current&&(storeRef.current=store??createLayoutStore(createInitialState(config)));let cssVarStoreRef=useRef(null);null===cssVarStoreRef.current&&(cssVarStoreRef.current=createLayoutCssVarStore());let persistence=useMemo(()=>({persistenceKey,storage}),[persistenceKey,storage]);return React.createElement(LayoutStoreProvider,{value:storeRef.current},React.createElement(LayoutPersistenceProvider,{value:persistence},React.createElement(LayoutCssVarStoreProvider,{value:cssVarStoreRef.current},React.createElement(LayoutCssVars,null),children)))}
@@ -0,0 +1,8 @@
1
+ import type React from "react";
2
+ import type { SidePanelProps } from "./-types";
3
+ /**
4
+ * Left side panel. Declares the `leftPanel` slot and portals its content into
5
+ * the Group's host while visible. Renders in-flow (a resizable column) - the
6
+ * offcanvas overlay / mobile sheet is deferred.
7
+ */
8
+ export declare const LeftPanel: React.FC<SidePanelProps>;
@@ -0,0 +1 @@
1
+ import{Slot}from"./-constants";import{useDeclarePanel,useLayoutPortal,useVisibleChange}from"./registry";import{useLayout}from"./useLayout";export const LeftPanel=({children,defaultSize,minSize,maxSize,collapsible=!0,onVisibleChange})=>{let{isVisible}=useLayout()[Slot.leftPanel];return useDeclarePanel(Slot.leftPanel,{defaultSize,minSize,maxSize,collapsible}),useVisibleChange(isVisible,onVisibleChange),useLayoutPortal(Slot.leftPanel,isVisible?children:null)};
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import type { RightPanelProps } from "./-types";
3
3
  /**
4
4
  * Right side panel. Declares the `rightPanel` slot and portals its content into
5
- * the Group's host while visible. Renders in-flow (a resizable column) the
5
+ * the Group's host while visible. Renders in-flow (a resizable column) - the
6
6
  * offcanvas overlay / mobile sheet is deferred. Content is wrapped in a slot
7
7
  * that tracks the `--ds-layout-subnav-offset` var.
8
8
  */
@@ -1 +1 @@
1
- import React from"react";import styled from"@emotion/styled";import{SLIDE_VAR,Slot,SUBNAV_OFFSET_VAR}from"./-constants";import{useDeclarePanel,useLayoutPortal,useVisibleChange}from"./registry";import{useLayout}from"./useLayout";import{RightPanelContainer}from"./RightPanelContainer";let StyledRightPanelSlot=styled("div",{target:"e1jmp3pg0",label:"StyledRightPanelSlot"})({position:"absolute",left:0,right:0,bottom:0,top:`var(${SUBNAV_OFFSET_VAR}, 0px)`,overflow:"hidden",transition:`top var(${SLIDE_VAR.duration}) var(${SLIDE_VAR.easing})`},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTGF5b3V0L1JpZ2h0UGFuZWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9MYXlvdXQvUmlnaHRQYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBTTElERV9WQVIsIFNsb3QsIFNVQk5BVl9PRkZTRVRfVkFSIH0gZnJvbSBcIi4vLWNvbnN0YW50c1wiO1xuaW1wb3J0IHsgdXNlRGVjbGFyZVBhbmVsLCB1c2VMYXlvdXRQb3J0YWwsIHVzZVZpc2libGVDaGFuZ2UgfSBmcm9tIFwiLi9yZWdpc3RyeVwiO1xuaW1wb3J0IHsgdXNlTGF5b3V0IH0gZnJvbSBcIi4vdXNlTGF5b3V0XCI7XG5pbXBvcnQgeyBSaWdodFBhbmVsQ29udGFpbmVyIH0gZnJvbSBcIi4vUmlnaHRQYW5lbENvbnRhaW5lclwiO1xuaW1wb3J0IHR5cGUgeyBSaWdodFBhbmVsUHJvcHMgfSBmcm9tIFwiLi8tdHlwZXNcIjtcblxuLy8gQnVpbHQtaW4gc2xvdDogb2Zmc2V0cyB0aGUgcGFuZWwgY29udGVudCBieSB0aGUgc3VibmF2LW9mZnNldCB2YXIgKDAgd2hlblxuLy8gdW5zZXQpLCB0cmFuc2l0aW9uZWQgd2l0aCB0aGUgc2hhcmVkIHNsaWRlIHZhcnMg4oCUIHNvIHRoZSByaWdodCBwYW5lbCB0cmFja3MgYVxuLy8gc3RpY2t5IHN1Ym5hdiB3aXRoIG5vIHdpcmluZyBvbiB0aGUgY29uc3VtZXIncyBzaWRlLlxuY29uc3QgU3R5bGVkUmlnaHRQYW5lbFNsb3QgPSBzdHlsZWQuZGl2KHtcbiAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgbGVmdDogMCxcbiAgcmlnaHQ6IDAsXG4gIGJvdHRvbTogMCxcbiAgdG9wOiBgdmFyKCR7U1VCTkFWX09GRlNFVF9WQVJ9LCAwcHgpYCxcbiAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gIHRyYW5zaXRpb246IGB0b3AgdmFyKCR7U0xJREVfVkFSLmR1cmF0aW9ufSkgdmFyKCR7U0xJREVfVkFSLmVhc2luZ30pYCxcbn0pO1xuXG4vKipcbiAqIFJpZ2h0IHNpZGUgcGFuZWwuIERlY2xhcmVzIHRoZSBgcmlnaHRQYW5lbGAgc2xvdCBhbmQgcG9ydGFscyBpdHMgY29udGVudCBpbnRvXG4gKiB0aGUgR3JvdXAncyBob3N0IHdoaWxlIHZpc2libGUuIFJlbmRlcnMgaW4tZmxvdyAoYSByZXNpemFibGUgY29sdW1uKSDigJQgdGhlXG4gKiBvZmZjYW52YXMgb3ZlcmxheSAvIG1vYmlsZSBzaGVldCBpcyBkZWZlcnJlZC4gQ29udGVudCBpcyB3cmFwcGVkIGluIGEgc2xvdFxuICogdGhhdCB0cmFja3MgdGhlIGAtLWRzLWxheW91dC1zdWJuYXYtb2Zmc2V0YCB2YXIuXG4gKi9cbmV4cG9ydCBjb25zdCBSaWdodFBhbmVsOiBSZWFjdC5GQzxSaWdodFBhbmVsUHJvcHM+ID0gKHtcbiAgY2hpbGRyZW4sXG4gIGRlZmF1bHRTaXplID0gMzc4LFxuICBtaW5TaXplID0gMzI4LFxuICBtYXhTaXplID0gXCIzMCVcIixcbiAgY29sbGFwc2libGUgPSBmYWxzZSxcbiAgb25WaXNpYmxlQ2hhbmdlLFxuICB0aXRsZSxcbiAgb25DbG9zZSxcbiAgc2xvdFByb3BzLFxuICBzY3JvbGxDb250YWluZXJSZWYsXG4gIG9uU2Nyb2xsLFxufSkgPT4ge1xuICBjb25zdCB7IGlzVmlzaWJsZSwgaGlkZSB9ID0gdXNlTGF5b3V0KClbU2xvdC5yaWdodFBhbmVsXTtcbiAgdXNlRGVjbGFyZVBhbmVsKFNsb3QucmlnaHRQYW5lbCwge1xuICAgIGRlZmF1bHRTaXplLFxuICAgIG1pblNpemUsXG4gICAgbWF4U2l6ZSxcbiAgICBjb2xsYXBzaWJsZSxcbiAgfSk7XG4gIHVzZVZpc2libGVDaGFuZ2UoaXNWaXNpYmxlLCBvblZpc2libGVDaGFuZ2UpO1xuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpOiB2b2lkID0+IHtcbiAgICBoaWRlKCk7XG4gICAgb25DbG9zZT8uKCk7XG4gIH07XG4gIHJldHVybiB1c2VMYXlvdXRQb3J0YWwoXG4gICAgU2xvdC5yaWdodFBhbmVsLFxuICAgIGlzVmlzaWJsZSA/IChcbiAgICAgIDxTdHlsZWRSaWdodFBhbmVsU2xvdD5cbiAgICAgICAgPFJpZ2h0UGFuZWxDb250YWluZXJcbiAgICAgICAgICB0aXRsZT17dGl0bGV9XG4gICAgICAgICAgb25DbG9zZT17aGFuZGxlQ2xvc2V9XG4gICAgICAgICAgc2xvdFByb3BzPXtzbG90UHJvcHN9XG4gICAgICAgICAgc2Nyb2xsQ29udGFpbmVyUmVmPXtzY3JvbGxDb250YWluZXJSZWZ9XG4gICAgICAgICAgb25TY3JvbGw9e29uU2Nyb2xsfVxuICAgICAgICA+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L1JpZ2h0UGFuZWxDb250YWluZXI+XG4gICAgICA8L1N0eWxlZFJpZ2h0UGFuZWxTbG90PlxuICAgICkgOiBudWxsXG4gICk7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVc2QiJ9 */");export const RightPanel=({children,defaultSize=378,minSize=328,maxSize="30%",collapsible=!1,onVisibleChange,title,onClose,slotProps,scrollContainerRef,onScroll})=>{let{isVisible,hide}=useLayout()[Slot.rightPanel];return useDeclarePanel(Slot.rightPanel,{defaultSize,minSize,maxSize,collapsible}),useVisibleChange(isVisible,onVisibleChange),useLayoutPortal(Slot.rightPanel,isVisible?React.createElement(StyledRightPanelSlot,null,React.createElement(RightPanelContainer,{title:title,onClose:()=>{hide(),onClose?.()},slotProps:slotProps,scrollContainerRef:scrollContainerRef,onScroll:onScroll},children)):null)};
1
+ import React from"react";import styled from"@emotion/styled";import{Slot,SUBNAV_OFFSET_VAR}from"./-constants";import{useDeclarePanel,useLayoutPortal,useVisibleChange}from"./registry";import{useLayout}from"./useLayout";import{RightPanelContainer}from"./RightPanelContainer";let StyledRightPanelSlot=styled("div",{target:"e1u30w3d0",label:"StyledRightPanelSlot"})(({theme})=>({position:"absolute",left:0,right:0,bottom:0,top:`var(${SUBNAV_OFFSET_VAR}, 0px)`,overflow:"hidden",transition:`top ${theme.variables.animation.navSlide.open.duration} ${theme.variables.animation.navSlide.open.timingFunction}`}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTGF5b3V0L1JpZ2h0UGFuZWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9MYXlvdXQvUmlnaHRQYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBTbG90LCBTVUJOQVZfT0ZGU0VUX1ZBUiB9IGZyb20gXCIuLy1jb25zdGFudHNcIjtcbmltcG9ydCB7IHVzZURlY2xhcmVQYW5lbCwgdXNlTGF5b3V0UG9ydGFsLCB1c2VWaXNpYmxlQ2hhbmdlIH0gZnJvbSBcIi4vcmVnaXN0cnlcIjtcbmltcG9ydCB7IHVzZUxheW91dCB9IGZyb20gXCIuL3VzZUxheW91dFwiO1xuaW1wb3J0IHsgUmlnaHRQYW5lbENvbnRhaW5lciB9IGZyb20gXCIuL1JpZ2h0UGFuZWxDb250YWluZXJcIjtcbmltcG9ydCB0eXBlIHsgUmlnaHRQYW5lbFByb3BzIH0gZnJvbSBcIi4vLXR5cGVzXCI7XG5cbi8vIEJ1aWx0LWluIHNsb3Q6IG9mZnNldHMgdGhlIHBhbmVsIGNvbnRlbnQgYnkgdGhlIHN1Ym5hdi1vZmZzZXQgdmFyICgwIHdoZW5cbi8vIHVuc2V0KSwgdHJhbnNpdGlvbmVkIHdpdGggdGhlIHRoZW1lJ3MgYG5hdlNsaWRlYCB0aW1pbmcg4oCUIHNvIHRoZSByaWdodCBwYW5lbFxuLy8gdHJhY2tzIGEgc3RpY2t5IHN1Ym5hdiB3aXRoIG5vIHdpcmluZyBvbiB0aGUgY29uc3VtZXIncyBzaWRlLlxuY29uc3QgU3R5bGVkUmlnaHRQYW5lbFNsb3QgPSBzdHlsZWQuZGl2KCh7IHRoZW1lIH0pID0+ICh7XG4gIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gIGxlZnQ6IDAsXG4gIHJpZ2h0OiAwLFxuICBib3R0b206IDAsXG4gIHRvcDogYHZhcigke1NVQk5BVl9PRkZTRVRfVkFSfSwgMHB4KWAsXG4gIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICB0cmFuc2l0aW9uOiBgdG9wICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5uYXZTbGlkZS5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubmF2U2xpZGUub3Blbi50aW1pbmdGdW5jdGlvbn1gLFxufSkpO1xuXG4vKipcbiAqIFJpZ2h0IHNpZGUgcGFuZWwuIERlY2xhcmVzIHRoZSBgcmlnaHRQYW5lbGAgc2xvdCBhbmQgcG9ydGFscyBpdHMgY29udGVudCBpbnRvXG4gKiB0aGUgR3JvdXAncyBob3N0IHdoaWxlIHZpc2libGUuIFJlbmRlcnMgaW4tZmxvdyAoYSByZXNpemFibGUgY29sdW1uKSAtIHRoZVxuICogb2ZmY2FudmFzIG92ZXJsYXkgLyBtb2JpbGUgc2hlZXQgaXMgZGVmZXJyZWQuIENvbnRlbnQgaXMgd3JhcHBlZCBpbiBhIHNsb3RcbiAqIHRoYXQgdHJhY2tzIHRoZSBgLS1kcy1sYXlvdXQtc3VibmF2LW9mZnNldGAgdmFyLlxuICovXG5leHBvcnQgY29uc3QgUmlnaHRQYW5lbDogUmVhY3QuRkM8UmlnaHRQYW5lbFByb3BzPiA9ICh7XG4gIGNoaWxkcmVuLFxuICBkZWZhdWx0U2l6ZSA9IDM3OCxcbiAgbWluU2l6ZSA9IDMyOCxcbiAgbWF4U2l6ZSA9IFwiMzAlXCIsXG4gIGNvbGxhcHNpYmxlID0gZmFsc2UsXG4gIG9uVmlzaWJsZUNoYW5nZSxcbiAgdGl0bGUsXG4gIG9uQ2xvc2UsXG4gIHNsb3RQcm9wcyxcbiAgc2Nyb2xsQ29udGFpbmVyUmVmLFxuICBvblNjcm9sbCxcbn0pID0+IHtcbiAgY29uc3QgeyBpc1Zpc2libGUsIGhpZGUgfSA9IHVzZUxheW91dCgpW1Nsb3QucmlnaHRQYW5lbF07XG4gIHVzZURlY2xhcmVQYW5lbChTbG90LnJpZ2h0UGFuZWwsIHtcbiAgICBkZWZhdWx0U2l6ZSxcbiAgICBtaW5TaXplLFxuICAgIG1heFNpemUsXG4gICAgY29sbGFwc2libGUsXG4gIH0pO1xuICB1c2VWaXNpYmxlQ2hhbmdlKGlzVmlzaWJsZSwgb25WaXNpYmxlQ2hhbmdlKTtcbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSAoKTogdm9pZCA9PiB7XG4gICAgaGlkZSgpO1xuICAgIG9uQ2xvc2U/LigpO1xuICB9O1xuICByZXR1cm4gdXNlTGF5b3V0UG9ydGFsKFxuICAgIFNsb3QucmlnaHRQYW5lbCxcbiAgICBpc1Zpc2libGUgPyAoXG4gICAgICA8U3R5bGVkUmlnaHRQYW5lbFNsb3Q+XG4gICAgICAgIDxSaWdodFBhbmVsQ29udGFpbmVyXG4gICAgICAgICAgdGl0bGU9e3RpdGxlfVxuICAgICAgICAgIG9uQ2xvc2U9e2hhbmRsZUNsb3NlfVxuICAgICAgICAgIHNsb3RQcm9wcz17c2xvdFByb3BzfVxuICAgICAgICAgIHNjcm9sbENvbnRhaW5lclJlZj17c2Nyb2xsQ29udGFpbmVyUmVmfVxuICAgICAgICAgIG9uU2Nyb2xsPXtvblNjcm9sbH1cbiAgICAgICAgPlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9SaWdodFBhbmVsQ29udGFpbmVyPlxuICAgICAgPC9TdHlsZWRSaWdodFBhbmVsU2xvdD5cbiAgICApIDogbnVsbFxuICApO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXNkIifQ== */");export const RightPanel=({children,defaultSize=378,minSize=328,maxSize="30%",collapsible=!1,onVisibleChange,title,onClose,slotProps,scrollContainerRef,onScroll})=>{let{isVisible,hide}=useLayout()[Slot.rightPanel];return useDeclarePanel(Slot.rightPanel,{defaultSize,minSize,maxSize,collapsible}),useVisibleChange(isVisible,onVisibleChange),useLayoutPortal(Slot.rightPanel,isVisible?React.createElement(StyledRightPanelSlot,null,React.createElement(RightPanelContainer,{title:title,onClose:()=>{hide(),onClose?.()},slotProps:slotProps,scrollContainerRef:scrollContainerRef,onScroll:onScroll},children)):null)};
@@ -2,6 +2,6 @@ import type React from "react";
2
2
  import type { SplitProps } from "./-types";
3
3
  /**
4
4
  * Split view panel. Declares the `splitview` slot and portals its content while
5
- * visible a toggleable in-flow column beside `content`.
5
+ * visible - a toggleable in-flow column beside `content`.
6
6
  */
7
7
  export declare const Split: React.FC<SplitProps>;
@@ -5,7 +5,7 @@ export declare function useLayoutStore(): LayoutStore;
5
5
  /**
6
6
  * Persistence config for the layout namespace. Set on `Layout.Provider` (single
7
7
  * external surface) and read by the nested `<Layout>`. The Provider only
8
- * forwards it it never touches storage itself.
8
+ * forwards it - it never touches storage itself.
9
9
  */
10
10
  export type LayoutPersistence = {
11
11
  persistenceKey?: string;
@@ -16,7 +16,7 @@ export declare const LayoutPersistenceProvider: React.Provider<LayoutPersistence
16
16
  export declare function useLayoutPersistence(): LayoutPersistence;
17
17
  /**
18
18
  * Subscribe to a slice of layout state via `useSyncExternalStore`. The selector
19
- * should return a stable reference when nothing relevant changed the reducer
19
+ * should return a stable reference when nothing relevant changed - the reducer
20
20
  * preserves references for untouched positions, so slice selectors are safe.
21
21
  */
22
22
  export declare function useLayoutSelector<T>(selector: (state: LayoutState) => T): T;
@@ -1,17 +1,17 @@
1
1
  /**
2
2
  * Tiny pub/sub registry for the layout's CSS custom properties. Producers
3
3
  * publish a value by name (the component that owns the *why* — e.g. the NavBar
4
- * subnav publishing its offset); a single sink (`<LayoutVars>`) subscribes and
4
+ * subnav publishing its offset); a single sink (`<LayoutCssVars>`) subscribes and
5
5
  * renders them all in ONE place. Mirrors the `LayoutStore` shape so it reads
6
6
  * via the same `useSyncExternalStore` pattern.
7
7
  *
8
8
  * One name = one producer. The registry is keyed by name, so a second writer to
9
9
  * the same name last-wins; don't share a name across unrelated producers.
10
10
  */
11
- export type LayoutVarStore = {
11
+ export type LayoutCssVarStore = {
12
12
  getSnapshot: () => Record<string, string>;
13
13
  set: (name: string, value: string) => void;
14
14
  remove: (name: string) => void;
15
15
  subscribe: (listener: () => void) => () => void;
16
16
  };
17
- export declare function createLayoutVarStore(): LayoutVarStore;
17
+ export declare function createLayoutCssVarStore(): LayoutCssVarStore;
@@ -0,0 +1 @@
1
+ export function createLayoutCssVarStore(){let vars={},listeners=new Set,notify=()=>listeners.forEach(listener=>listener());return{getSnapshot:()=>vars,set:(name,value)=>{vars[name]!==value&&(vars={...vars,[name]:value},notify())},remove:name=>{if(!(name in vars))return;let next={...vars};delete next[name],vars=next,notify()},subscribe:listener=>(listeners.add(listener),()=>{listeners.delete(listener)})}}
@@ -1,7 +1,7 @@
1
- export { SLIDE_VAR, SUBNAV_OFFSET_VAR } from "./-constants";
1
+ export { SUBNAV_OFFSET_VAR, PANEL_WIDTH_VAR } from "./-constants";
2
2
  export { Layout } from "./Layout";
3
3
  export { LayoutProvider } from "./LayoutProvider";
4
- export { useLayoutVar } from "./LayoutVars";
4
+ export { useLayoutVar } from "./LayoutCssVars";
5
5
  export { useLayout } from "./useLayout";
6
6
  export { useAutoScrollToBottom } from "./useAutoScrollToBottom";
7
7
  export { RightPanelContainer } from "./RightPanelContainer";
@@ -1 +1 @@
1
- export{SLIDE_VAR,SUBNAV_OFFSET_VAR}from"./-constants";export{Layout}from"./Layout";export{LayoutProvider}from"./LayoutProvider";export{useLayoutVar}from"./LayoutVars";export{useLayout}from"./useLayout";export{useAutoScrollToBottom}from"./useAutoScrollToBottom";export{RightPanelContainer}from"./RightPanelContainer";export{createLayoutStore}from"./store";export{createInitialState,layoutReducer}from"./reducer";export*from"./-types";
1
+ export{SUBNAV_OFFSET_VAR,PANEL_WIDTH_VAR}from"./-constants";export{Layout}from"./Layout";export{LayoutProvider}from"./LayoutProvider";export{useLayoutVar}from"./LayoutCssVars";export{useLayout}from"./useLayout";export{useAutoScrollToBottom}from"./useAutoScrollToBottom";export{RightPanelContainer}from"./RightPanelContainer";export{createLayoutStore}from"./store";export{createInitialState,layoutReducer}from"./reducer";export*from"./-types";
@@ -1 +1 @@
1
- function sidePanel(config={}){return{kind:"sidePanel",visible:config.defaultVisible??!0,collapsible:config.collapsible??!0,variant:config.variant??"sidebar",size:config.defaultSize,minSize:config.minSize,maxSize:config.maxSize}}function panelState(config={}){return{kind:"panel",visible:config.defaultVisible??!0,size:config.defaultSize,minSize:config.minSize,maxSize:config.maxSize}}export function createInitialState(config={}){return{sidebar:sidePanel(config.sidebar),rightPanel:sidePanel({defaultVisible:!1,...config.rightPanel}),content:panelState(config.content),splitview:panelState({defaultVisible:!1,...config.splitview})}}export const layoutReducer=(state,action,initial)=>{switch(action.type){case"setVisible":{let slot=state[action.slot];if(slot.visible===action.visible)return state;return{...state,[action.slot]:{...slot,visible:action.visible}}}case"setVariant":{let panel=state[action.panel];if(panel.variant===action.variant)return state;return{...state,[action.panel]:{...panel,variant:action.variant}}}case"resize":{let slot=state[action.slot];if(slot.size===action.size)return state;return{...state,[action.slot]:{...slot,size:action.size}}}case"reset":if(!initial)return state;if(!action.slot)return initial;if(state[action.slot]===initial[action.slot])return state;return{...state,[action.slot]:initial[action.slot]};default:return state}};
1
+ function sidePanel(config={}){return{kind:"sidePanel",visible:config.defaultVisible??!0,collapsible:config.collapsible??!0,variant:config.variant??"sidebar",size:config.defaultSize,minSize:config.minSize,maxSize:config.maxSize}}function panelState(config={}){return{kind:"panel",visible:config.defaultVisible??!0,size:config.defaultSize,minSize:config.minSize,maxSize:config.maxSize}}export function createInitialState(config={}){return{leftPanel:sidePanel(config.leftPanel),rightPanel:sidePanel({defaultVisible:!1,...config.rightPanel}),content:panelState(config.content),splitview:panelState({defaultVisible:!1,...config.splitview})}}export const layoutReducer=(state,action,initial)=>{switch(action.type){case"setVisible":{let slot=state[action.slot];if(slot.visible===action.visible)return state;return{...state,[action.slot]:{...slot,visible:action.visible}}}case"setVariant":{let panel=state[action.panel];if(panel.variant===action.variant)return state;return{...state,[action.panel]:{...panel,variant:action.variant}}}case"resize":{let slot=state[action.slot];if(slot.size===action.size)return state;return{...state,[action.slot]:{...slot,size:action.size}}}case"reset":if(!initial)return state;if(!action.slot)return initial;if(state[action.slot]===initial[action.slot])return state;return{...state,[action.slot]:initial[action.slot]};default:return state}};
@@ -1,16 +1,16 @@
1
1
  import { type ReactNode } from "react";
2
2
  import type { Size, SlotKey } from "./-types";
3
3
  export type HostNodes = Partial<Record<SlotKey, HTMLElement | null>>;
4
- export declare const LayoutPortalContext: React.Context<Partial<Record<"content" | "sidebar" | "splitview" | "rightPanel", HTMLElement>>>;
4
+ export declare const LayoutPortalContext: React.Context<Partial<Record<"content" | "leftPanel" | "splitview" | "rightPanel", HTMLElement>>>;
5
5
  /**
6
6
  * Portal `children` into the host DOM node registered for `slot`. Returns the
7
- * portal (or `null` if the host isn't mounted yet). Call unconditionally
7
+ * portal (or `null` if the host isn't mounted yet). Call unconditionally -
8
8
  * gate content by passing `null` as `children`, not by skipping the call.
9
9
  */
10
10
  export declare function useLayoutPortal(slot: SlotKey, children: ReactNode): ReactNode;
11
11
  /**
12
12
  * Panel descriptor a marker contributes. The Group renders one resizable Panel
13
- * per *declared* panel that is currently shown regardless of nesting depth.
13
+ * per *declared* panel that is currently shown - regardless of nesting depth.
14
14
  * So a page can drop `<Layout.Split>` deep in its tree and it joins the app's
15
15
  * single Layout as a panel; toggling a panel never remounts the others.
16
16
  */
@@ -5,6 +5,6 @@ import type { LayoutState, LayoutStore } from "./-types";
5
5
  * a no-op (reducer returns the same reference).
6
6
  *
7
7
  * Swap this for a zustand/redux-backed store by implementing the same
8
- * `LayoutStore` interface bindings and primitives are unaffected.
8
+ * `LayoutStore` interface - bindings and primitives are unaffected.
9
9
  */
10
10
  export declare function createLayoutStore(initial: LayoutState): LayoutStore;
@@ -1,7 +1,7 @@
1
1
  import type { LayoutValue } from "./-types";
2
2
  /**
3
3
  * The single control hook. Returns `state` plus a typed handle per slot. Works
4
- * from any descendant of `<LayoutProvider>` remote control without prop
4
+ * from any descendant of `<LayoutProvider>` - remote control without prop
5
5
  * drilling.
6
6
  */
7
7
  export declare function useLayout(): LayoutValue;
@@ -1 +1 @@
1
- import{useLayoutSelector,useLayoutStore}from"./context";let selectAll=state=>state;function sidePanelHandle(panel,state,dispatch){let slot=state[panel];return{state:slot,isVisible:slot.visible,show:()=>dispatch({type:"setVisible",slot:panel,visible:!0}),hide:()=>dispatch({type:"setVisible",slot:panel,visible:!1}),resize:size=>dispatch({type:"resize",slot:panel,size}),setVariant:variant=>dispatch({type:"setVariant",panel,variant}),reset:()=>dispatch({type:"reset",slot:panel})}}function panelHandle(panel,state,dispatch){let slot=state[panel];return{state:slot,isVisible:slot.visible,show:()=>dispatch({type:"setVisible",slot:panel,visible:!0}),hide:()=>dispatch({type:"setVisible",slot:panel,visible:!1}),resize:size=>dispatch({type:"resize",slot:panel,size}),reset:()=>dispatch({type:"reset",slot:panel})}}export function useLayout(){let store=useLayoutStore(),state=useLayoutSelector(selectAll),{dispatch}=store;return{state,sidebar:sidePanelHandle("sidebar",state,dispatch),rightPanel:sidePanelHandle("rightPanel",state,dispatch),content:panelHandle("content",state,dispatch),splitview:panelHandle("splitview",state,dispatch)}}
1
+ import{useLayoutSelector,useLayoutStore}from"./context";let selectAll=state=>state;function sidePanelHandle(panel,state,dispatch){let slot=state[panel];return{state:slot,isVisible:slot.visible,show:()=>dispatch({type:"setVisible",slot:panel,visible:!0}),hide:()=>dispatch({type:"setVisible",slot:panel,visible:!1}),resize:size=>dispatch({type:"resize",slot:panel,size}),setVariant:variant=>dispatch({type:"setVariant",panel,variant}),reset:()=>dispatch({type:"reset",slot:panel})}}function panelHandle(panel,state,dispatch){let slot=state[panel];return{state:slot,isVisible:slot.visible,show:()=>dispatch({type:"setVisible",slot:panel,visible:!0}),hide:()=>dispatch({type:"setVisible",slot:panel,visible:!1}),resize:size=>dispatch({type:"resize",slot:panel,size}),reset:()=>dispatch({type:"reset",slot:panel})}}export function useLayout(){let store=useLayoutStore(),state=useLayoutSelector(selectAll),{dispatch}=store;return{state,leftPanel:sidePanelHandle("leftPanel",state,dispatch),rightPanel:sidePanelHandle("rightPanel",state,dispatch),content:panelHandle("content",state,dispatch),splitview:panelHandle("splitview",state,dispatch)}}
@@ -2,15 +2,15 @@
2
2
  * Track a set of DOM elements by key, with stable per-key ref callbacks.
3
3
  *
4
4
  * Given a fixed list of keys, returns `[elements, refs]`:
5
- * - `refs[key]` a ref callback to attach to an element; captures it into
5
+ * - `refs[key]` - a ref callback to attach to an element; captures it into
6
6
  * `elements[key]` (and clears it to `null` on unmount).
7
- * - `elements[key]` the currently-attached element (undefined until set).
7
+ * - `elements[key]` - the currently-attached element (undefined until set).
8
8
  *
9
9
  * The callbacks are **stable** across renders, so React invokes them only on
10
- * mount/unmount not detach/attach every render. (An inline `ref={el => …}`
10
+ * mount/unmount - not detach/attach every render. (An inline `ref={el => …}`
11
11
  * that calls setState would get a new identity each render and loop.)
12
12
  *
13
- * Agnostic utility useful whenever something needs the live DOM node of a
13
+ * Agnostic utility - useful whenever something needs the live DOM node of a
14
14
  * child: portal targets, measurement, focus management, etc.
15
15
  */
16
16
  export declare function usePanelRefs<K extends string>(keys: readonly K[]): [
@@ -4,12 +4,12 @@
4
4
  * container) so markers can portal their content into it.
5
5
  *
6
6
  * Given a fixed list of keys, returns `[elements, refs]`:
7
- * - `refs[key]` a ref callback to attach to an element; captures it into
7
+ * - `refs[key]` - a ref callback to attach to an element; captures it into
8
8
  * `elements[key]` (and clears it to `null` on unmount).
9
- * - `elements[key]` the currently-attached element (undefined until set).
9
+ * - `elements[key]` - the currently-attached element (undefined until set).
10
10
  *
11
11
  * The callbacks are **stable** across renders, so React invokes them only on
12
- * mount/unmount not detach/attach every render. (An inline `ref={el => …}`
12
+ * mount/unmount - not detach/attach every render. (An inline `ref={el => …}`
13
13
  * that calls setState would get a new identity each render and loop.)
14
14
  *
15
15
  * Generic over the key type, so it works for any fixed key set.
@@ -1 +1 @@
1
- import React from"react";import styled from"@emotion/styled";import{SubThemeProvider}from"../SubThemeProvider/SubThemeProvider";import{SUBNAV_OFFSET_VAR}from"../Layout/-constants";import{useLayoutVar}from"../Layout/LayoutVars";import{SUBNAV_HEIGHT}from"./constants";import{NavBarSlideDown}from"./NavBarSlideDown";import{useNavBarContext}from"./NavBarContext";export const StyledBorderContainer=styled("div",{target:"e1o502qf0",label:"StyledBorderContainer"})(({theme})=>({borderBottom:`1px solid ${theme.values.color.border.secondary.default}`}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTmF2QmFyL05hdkJhclN1Yk1lbnVDb250YWluZXIudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9OYXZCYXIvTmF2QmFyU3ViTWVudUNvbnRhaW5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQge1xuICBTdWJUaGVtZVByb3ZpZGVyLFxuICB0eXBlIFN1YlRoZW1lUHJvdmlkZXJQcm9wcyxcbn0gZnJvbSBcIi4uL1N1YlRoZW1lUHJvdmlkZXIvU3ViVGhlbWVQcm92aWRlclwiO1xuLy8gSW1wb3J0IHRoZSB2YXIgbmFtZSArIHB1Ymxpc2hlciBkaXJlY3RseSBmcm9tIExheW91dCdzIGZpbGVzIChub3QgaXRzIGJhcnJlbClcbi8vIHRvIGtlZXAgdGhlIGNvdXBsaW5nIG1pbmltYWwgYW5kIGF2b2lkIHB1bGxpbmcgaW4gdGhlIExheW91dCBtb2R1bGUgZ3JhcGguXG5pbXBvcnQgeyBTVUJOQVZfT0ZGU0VUX1ZBUiB9IGZyb20gXCIuLi9MYXlvdXQvLWNvbnN0YW50c1wiO1xuaW1wb3J0IHsgdXNlTGF5b3V0VmFyIH0gZnJvbSBcIi4uL0xheW91dC9MYXlvdXRWYXJzXCI7XG5pbXBvcnQgdHlwZSB7IE5hdkJhck5hbWUgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgU1VCTkFWX0hFSUdIVCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgTmF2QmFyU2xpZGVEb3duIH0gZnJvbSBcIi4vTmF2QmFyU2xpZGVEb3duXCI7XG5pbXBvcnQgeyB1c2VOYXZCYXJDb250ZXh0IH0gZnJvbSBcIi4vTmF2QmFyQ29udGV4dFwiO1xuXG50eXBlIE5hdkJhclN1Yk1lbnVDb250YWluZXJQcm9wcyA9IHtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG5jb25zdCBDT05UQUlORVJfQk9SREVSX1dJRFRIID0gMTtcbmV4cG9ydCBjb25zdCBTdHlsZWRCb3JkZXJDb250YWluZXIgPSBzdHlsZWQuZGl2KCh7IHRoZW1lIH0pID0+ICh7XG4gIGJvcmRlckJvdHRvbTogYCR7Q09OVEFJTkVSX0JPUkRFUl9XSURUSH1weCBzb2xpZCAke3RoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuc2Vjb25kYXJ5LmRlZmF1bHR9YCxcbn0pKTtcblxuY29uc3QgU3R5bGVkU3ViTWVudUNvbnRhaW5lciA9IHN0eWxlZChTdHlsZWRCb3JkZXJDb250YWluZXIpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGJhY2tncm91bmRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQuYWNjZW50U3VidGxlLmRlZmF1bHQsXG4gIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblsxXSxcbiAgXCImID4gZGl2XCI6IHtcbiAgICBtYXJnaW5Cb3R0b206IC1DT05UQUlORVJfQk9SREVSX1dJRFRILCAvLyBUYWJzIGJvcmRlciBzaG91bGQgYmUgYWJvdmUgb2YgU3R5bGVkQm9yZGVyQ29udGFpbmVyXG4gIH0sXG59KSk7XG5cbmV4cG9ydCBjb25zdCBzdWJUaGVtZU1hcHBpbmc6IFJlY29yZDxcbiAgTmF2QmFyTmFtZSxcbiAgU3ViVGhlbWVQcm92aWRlclByb3BzW1wibmFtZVwiXVxuPiA9IHtcbiAgbGVhcm5pbmc6IFwiYnJhbmRTdWJ0bGVcIixcbiAgY2xpbmljYWxDYXJlOiBcInVuc2V0XCIsXG4gIHRlYWNoaW5nOiBcImRpbW1lZFN1YnRsZVwiLFxuICB1bnNldDogXCJ1bnNldFwiLFxufTtcblxuZXhwb3J0IGNvbnN0IE5hdkJhclN1Yk1lbnVDb250YWluZXIgPSBSZWFjdC5mb3J3YXJkUmVmPFxuICBIVE1MRGl2RWxlbWVudCxcbiAgTmF2QmFyU3ViTWVudUNvbnRhaW5lclByb3BzXG4+KCh7IGNoaWxkcmVuLCBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCB9LCByZWYpID0+IHtcbiAgY29uc3QgeyBzdWJUaGVtZSwgaXNDb21wYWN0IH0gPSB1c2VOYXZCYXJDb250ZXh0KCk7XG4gIC8vIFRoZSBzdWJuYXYgb3ducyB0aGUgKndoeSo6IGl0cyBvZmZzZXQgaXMgaXRzIGhlaWdodCB3aGVuIGV4cGFuZGVkLCAwIHdoZW5cbiAgLy8gY29tcGFjdC4gSXQgcHVibGlzaGVzIGludG8gdGhlIGxheW91dCB2YXIgcmVnaXN0cnk7IHRoZSBzaW5nbGUgTGF5b3V0VmFyc1xuICAvLyBzaW5rIHJlbmRlcnMgaXQsIGFuZCBzbG90cyBsaWtlIExheW91dC5SaWdodFBhbmVsIHJlYWQgaXQuIFRoZSB2YXIgb25seVxuICAvLyBleGlzdHMgd2hpbGUgYSBzdWJuYXYgaXMgbW91bnRlZCAoYW5kIGEgTGF5b3V0LlByb3ZpZGVyIGlzIHByZXNlbnQpIOKAlCBzbG90c1xuICAvLyBkZWZhdWx0IHRvIDAgb3RoZXJ3aXNlLCBzbyBhIE5hdkJhciB3aXRoIG5vIHN1Ym5hdiBuZWVkcyBubyBvZmZzZXQuXG4gIHVzZUxheW91dFZhcihTVUJOQVZfT0ZGU0VUX1ZBUiwgaXNDb21wYWN0ID8gXCIwcHhcIiA6IFNVQk5BVl9IRUlHSFQpO1xuXG4gIHJldHVybiAoXG4gICAgPFN1YlRoZW1lUHJvdmlkZXIgbmFtZT17c3ViVGhlbWVNYXBwaW5nW3N1YlRoZW1lXX0+XG4gICAgICA8TmF2QmFyU2xpZGVEb3duIGlzVmlzaWJsZT17IWlzQ29tcGFjdH0gcG9zaXRpb249XCJib3R0b21cIj5cbiAgICAgICAgPFN0eWxlZFN1Yk1lbnVDb250YWluZXIgcmVmPXtyZWZ9IGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9PlxuICAgICAgICAgIDxkaXY+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgICA8L1N0eWxlZFN1Yk1lbnVDb250YWluZXI+XG4gICAgICA8L05hdkJhclNsaWRlRG93bj5cbiAgICA8L1N1YlRoZW1lUHJvdmlkZXI+XG4gICk7XG59KTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQnFDIn0= */");let StyledSubMenuContainer=styled(StyledBorderContainer,{target:"e1o502qf1",label:"StyledSubMenuContainer"})(({theme})=>({backgroundColor:theme.values.color.background.accentSubtle.default,boxShadow:theme.values.elevation[1],"& > div":{marginBottom:-1}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTmF2QmFyL05hdkJhclN1Yk1lbnVDb250YWluZXIudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9OYXZCYXIvTmF2QmFyU3ViTWVudUNvbnRhaW5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQge1xuICBTdWJUaGVtZVByb3ZpZGVyLFxuICB0eXBlIFN1YlRoZW1lUHJvdmlkZXJQcm9wcyxcbn0gZnJvbSBcIi4uL1N1YlRoZW1lUHJvdmlkZXIvU3ViVGhlbWVQcm92aWRlclwiO1xuLy8gSW1wb3J0IHRoZSB2YXIgbmFtZSArIHB1Ymxpc2hlciBkaXJlY3RseSBmcm9tIExheW91dCdzIGZpbGVzIChub3QgaXRzIGJhcnJlbClcbi8vIHRvIGtlZXAgdGhlIGNvdXBsaW5nIG1pbmltYWwgYW5kIGF2b2lkIHB1bGxpbmcgaW4gdGhlIExheW91dCBtb2R1bGUgZ3JhcGguXG5pbXBvcnQgeyBTVUJOQVZfT0ZGU0VUX1ZBUiB9IGZyb20gXCIuLi9MYXlvdXQvLWNvbnN0YW50c1wiO1xuaW1wb3J0IHsgdXNlTGF5b3V0VmFyIH0gZnJvbSBcIi4uL0xheW91dC9MYXlvdXRWYXJzXCI7XG5pbXBvcnQgdHlwZSB7IE5hdkJhck5hbWUgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgU1VCTkFWX0hFSUdIVCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgTmF2QmFyU2xpZGVEb3duIH0gZnJvbSBcIi4vTmF2QmFyU2xpZGVEb3duXCI7XG5pbXBvcnQgeyB1c2VOYXZCYXJDb250ZXh0IH0gZnJvbSBcIi4vTmF2QmFyQ29udGV4dFwiO1xuXG50eXBlIE5hdkJhclN1Yk1lbnVDb250YWluZXJQcm9wcyA9IHtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG5jb25zdCBDT05UQUlORVJfQk9SREVSX1dJRFRIID0gMTtcbmV4cG9ydCBjb25zdCBTdHlsZWRCb3JkZXJDb250YWluZXIgPSBzdHlsZWQuZGl2KCh7IHRoZW1lIH0pID0+ICh7XG4gIGJvcmRlckJvdHRvbTogYCR7Q09OVEFJTkVSX0JPUkRFUl9XSURUSH1weCBzb2xpZCAke3RoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuc2Vjb25kYXJ5LmRlZmF1bHR9YCxcbn0pKTtcblxuY29uc3QgU3R5bGVkU3ViTWVudUNvbnRhaW5lciA9IHN0eWxlZChTdHlsZWRCb3JkZXJDb250YWluZXIpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGJhY2tncm91bmRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQuYWNjZW50U3VidGxlLmRlZmF1bHQsXG4gIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblsxXSxcbiAgXCImID4gZGl2XCI6IHtcbiAgICBtYXJnaW5Cb3R0b206IC1DT05UQUlORVJfQk9SREVSX1dJRFRILCAvLyBUYWJzIGJvcmRlciBzaG91bGQgYmUgYWJvdmUgb2YgU3R5bGVkQm9yZGVyQ29udGFpbmVyXG4gIH0sXG59KSk7XG5cbmV4cG9ydCBjb25zdCBzdWJUaGVtZU1hcHBpbmc6IFJlY29yZDxcbiAgTmF2QmFyTmFtZSxcbiAgU3ViVGhlbWVQcm92aWRlclByb3BzW1wibmFtZVwiXVxuPiA9IHtcbiAgbGVhcm5pbmc6IFwiYnJhbmRTdWJ0bGVcIixcbiAgY2xpbmljYWxDYXJlOiBcInVuc2V0XCIsXG4gIHRlYWNoaW5nOiBcImRpbW1lZFN1YnRsZVwiLFxuICB1bnNldDogXCJ1bnNldFwiLFxufTtcblxuZXhwb3J0IGNvbnN0IE5hdkJhclN1Yk1lbnVDb250YWluZXIgPSBSZWFjdC5mb3J3YXJkUmVmPFxuICBIVE1MRGl2RWxlbWVudCxcbiAgTmF2QmFyU3ViTWVudUNvbnRhaW5lclByb3BzXG4+KCh7IGNoaWxkcmVuLCBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCB9LCByZWYpID0+IHtcbiAgY29uc3QgeyBzdWJUaGVtZSwgaXNDb21wYWN0IH0gPSB1c2VOYXZCYXJDb250ZXh0KCk7XG4gIC8vIFRoZSBzdWJuYXYgb3ducyB0aGUgKndoeSo6IGl0cyBvZmZzZXQgaXMgaXRzIGhlaWdodCB3aGVuIGV4cGFuZGVkLCAwIHdoZW5cbiAgLy8gY29tcGFjdC4gSXQgcHVibGlzaGVzIGludG8gdGhlIGxheW91dCB2YXIgcmVnaXN0cnk7IHRoZSBzaW5nbGUgTGF5b3V0VmFyc1xuICAvLyBzaW5rIHJlbmRlcnMgaXQsIGFuZCBzbG90cyBsaWtlIExheW91dC5SaWdodFBhbmVsIHJlYWQgaXQuIFRoZSB2YXIgb25seVxuICAvLyBleGlzdHMgd2hpbGUgYSBzdWJuYXYgaXMgbW91bnRlZCAoYW5kIGEgTGF5b3V0LlByb3ZpZGVyIGlzIHByZXNlbnQpIOKAlCBzbG90c1xuICAvLyBkZWZhdWx0IHRvIDAgb3RoZXJ3aXNlLCBzbyBhIE5hdkJhciB3aXRoIG5vIHN1Ym5hdiBuZWVkcyBubyBvZmZzZXQuXG4gIHVzZUxheW91dFZhcihTVUJOQVZfT0ZGU0VUX1ZBUiwgaXNDb21wYWN0ID8gXCIwcHhcIiA6IFNVQk5BVl9IRUlHSFQpO1xuXG4gIHJldHVybiAoXG4gICAgPFN1YlRoZW1lUHJvdmlkZXIgbmFtZT17c3ViVGhlbWVNYXBwaW5nW3N1YlRoZW1lXX0+XG4gICAgICA8TmF2QmFyU2xpZGVEb3duIGlzVmlzaWJsZT17IWlzQ29tcGFjdH0gcG9zaXRpb249XCJib3R0b21cIj5cbiAgICAgICAgPFN0eWxlZFN1Yk1lbnVDb250YWluZXIgcmVmPXtyZWZ9IGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9PlxuICAgICAgICAgIDxkaXY+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgICA8L1N0eWxlZFN1Yk1lbnVDb250YWluZXI+XG4gICAgICA8L05hdkJhclNsaWRlRG93bj5cbiAgICA8L1N1YlRoZW1lUHJvdmlkZXI+XG4gICk7XG59KTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QitCIn0= */");export const subThemeMapping={learning:"brandSubtle",clinicalCare:"unset",teaching:"dimmedSubtle",unset:"unset"};export const NavBarSubMenuContainer=React.forwardRef(({children,"data-e2e-test-id":dataE2eTestId},ref)=>{let{subTheme,isCompact}=useNavBarContext();return useLayoutVar(SUBNAV_OFFSET_VAR,isCompact?"0px":SUBNAV_HEIGHT),React.createElement(SubThemeProvider,{name:subThemeMapping[subTheme]},React.createElement(NavBarSlideDown,{isVisible:!isCompact,position:"bottom"},React.createElement(StyledSubMenuContainer,{ref:ref,"data-e2e-test-id":dataE2eTestId},React.createElement("div",null,children))))});
1
+ import React,{useEffect}from"react";import styled from"@emotion/styled";import{SubThemeProvider}from"../SubThemeProvider/SubThemeProvider";import{SUBNAV_OFFSET_VAR}from"../Layout/-constants";import{useLayoutVar}from"../Layout/LayoutCssVars";import{SUBNAV_HEIGHT}from"./constants";import{NavBarSlideDown}from"./NavBarSlideDown";import{useNavBarContext}from"./NavBarContext";export const StyledBorderContainer=styled("div",{target:"ewgqafb0",label:"StyledBorderContainer"})(({theme})=>({borderBottom:`1px solid ${theme.values.color.border.secondary.default}`}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTmF2QmFyL05hdkJhclN1Yk1lbnVDb250YWluZXIudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9OYXZCYXIvTmF2QmFyU3ViTWVudUNvbnRhaW5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQge1xuICBTdWJUaGVtZVByb3ZpZGVyLFxuICB0eXBlIFN1YlRoZW1lUHJvdmlkZXJQcm9wcyxcbn0gZnJvbSBcIi4uL1N1YlRoZW1lUHJvdmlkZXIvU3ViVGhlbWVQcm92aWRlclwiO1xuLy8gSW1wb3J0IHRoZSB2YXIgbmFtZSArIHB1Ymxpc2hlciBkaXJlY3RseSBmcm9tIExheW91dCdzIGZpbGVzIChub3QgaXRzIGJhcnJlbClcbi8vIHRvIGtlZXAgdGhlIGNvdXBsaW5nIG1pbmltYWwgYW5kIGF2b2lkIHB1bGxpbmcgaW4gdGhlIExheW91dCBtb2R1bGUgZ3JhcGguXG5pbXBvcnQgeyBTVUJOQVZfT0ZGU0VUX1ZBUiB9IGZyb20gXCIuLi9MYXlvdXQvLWNvbnN0YW50c1wiO1xuaW1wb3J0IHsgdXNlTGF5b3V0VmFyIH0gZnJvbSBcIi4uL0xheW91dC9MYXlvdXRDc3NWYXJzXCI7XG5pbXBvcnQgdHlwZSB7IE5hdkJhck5hbWUgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgU1VCTkFWX0hFSUdIVCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgTmF2QmFyU2xpZGVEb3duIH0gZnJvbSBcIi4vTmF2QmFyU2xpZGVEb3duXCI7XG5pbXBvcnQgeyB1c2VOYXZCYXJDb250ZXh0IH0gZnJvbSBcIi4vTmF2QmFyQ29udGV4dFwiO1xuXG50eXBlIE5hdkJhclN1Yk1lbnVDb250YWluZXJQcm9wcyA9IHtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG5jb25zdCBDT05UQUlORVJfQk9SREVSX1dJRFRIID0gMTtcbmV4cG9ydCBjb25zdCBTdHlsZWRCb3JkZXJDb250YWluZXIgPSBzdHlsZWQuZGl2KCh7IHRoZW1lIH0pID0+ICh7XG4gIGJvcmRlckJvdHRvbTogYCR7Q09OVEFJTkVSX0JPUkRFUl9XSURUSH1weCBzb2xpZCAke3RoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuc2Vjb25kYXJ5LmRlZmF1bHR9YCxcbn0pKTtcblxuY29uc3QgU3R5bGVkU3ViTWVudUNvbnRhaW5lciA9IHN0eWxlZChTdHlsZWRCb3JkZXJDb250YWluZXIpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGJhY2tncm91bmRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQuYWNjZW50U3VidGxlLmRlZmF1bHQsXG4gIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblsxXSxcbiAgXCImID4gZGl2XCI6IHtcbiAgICBtYXJnaW5Cb3R0b206IC1DT05UQUlORVJfQk9SREVSX1dJRFRILCAvLyBUYWJzIGJvcmRlciBzaG91bGQgYmUgYWJvdmUgb2YgU3R5bGVkQm9yZGVyQ29udGFpbmVyXG4gIH0sXG59KSk7XG5cbmV4cG9ydCBjb25zdCBzdWJUaGVtZU1hcHBpbmc6IFJlY29yZDxcbiAgTmF2QmFyTmFtZSxcbiAgU3ViVGhlbWVQcm92aWRlclByb3BzW1wibmFtZVwiXVxuPiA9IHtcbiAgbGVhcm5pbmc6IFwiYnJhbmRTdWJ0bGVcIixcbiAgY2xpbmljYWxDYXJlOiBcInVuc2V0XCIsXG4gIHRlYWNoaW5nOiBcImRpbW1lZFN1YnRsZVwiLFxuICB1bnNldDogXCJ1bnNldFwiLFxufTtcblxuZXhwb3J0IGNvbnN0IE5hdkJhclN1Yk1lbnVDb250YWluZXIgPSBSZWFjdC5mb3J3YXJkUmVmPFxuICBIVE1MRGl2RWxlbWVudCxcbiAgTmF2QmFyU3ViTWVudUNvbnRhaW5lclByb3BzXG4+KCh7IGNoaWxkcmVuLCBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCB9LCByZWYpID0+IHtcbiAgY29uc3QgeyBzdWJUaGVtZSwgaXNDb21wYWN0IH0gPSB1c2VOYXZCYXJDb250ZXh0KCk7XG4gIC8vIFRoZSBzdWJuYXYgb3ducyB0aGUgKndoeSo6IGl0cyBvZmZzZXQgaXMgaXRzIGhlaWdodCB3aGVuIGV4cGFuZGVkLCAwIHdoZW5cbiAgLy8gY29tcGFjdC4gSXQgcHVibGlzaGVzIGludG8gdGhlIGxheW91dCB2YXIgcmVnaXN0cnk7IHRoZSBzaW5nbGUgTGF5b3V0Q3NzVmFyc1xuICAvLyBzaW5rIHJlbmRlcnMgaXQsIGFuZCBzbG90cyBsaWtlIExheW91dC5SaWdodFBhbmVsIHJlYWQgaXQuIFRoZSB2YXIgb25seVxuICAvLyBleGlzdHMgd2hpbGUgYSBzdWJuYXYgaXMgbW91bnRlZCAoYW5kIGEgTGF5b3V0LlByb3ZpZGVyIGlzIHByZXNlbnQpIOKAlCBzbG90c1xuICAvLyBkZWZhdWx0IHRvIDAgb3RoZXJ3aXNlLCBzbyBhIE5hdkJhciB3aXRoIG5vIHN1Ym5hdiBuZWVkcyBubyBvZmZzZXQuXG4gIGNvbnN0IHN1Ym5hdk9mZnNldENzc1ZhciA9IHVzZUxheW91dFZhcihTVUJOQVZfT0ZGU0VUX1ZBUik7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc3VibmF2T2Zmc2V0Q3NzVmFyLnNldChpc0NvbXBhY3QgPyBcIjBweFwiIDogU1VCTkFWX0hFSUdIVCk7XG4gIH0sIFtzdWJuYXZPZmZzZXRDc3NWYXIsIGlzQ29tcGFjdF0pO1xuXG4gIHJldHVybiAoXG4gICAgPFN1YlRoZW1lUHJvdmlkZXIgbmFtZT17c3ViVGhlbWVNYXBwaW5nW3N1YlRoZW1lXX0+XG4gICAgICA8TmF2QmFyU2xpZGVEb3duIGlzVmlzaWJsZT17IWlzQ29tcGFjdH0gcG9zaXRpb249XCJib3R0b21cIj5cbiAgICAgICAgPFN0eWxlZFN1Yk1lbnVDb250YWluZXIgcmVmPXtyZWZ9IGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9PlxuICAgICAgICAgIDxkaXY+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgICA8L1N0eWxlZFN1Yk1lbnVDb250YWluZXI+XG4gICAgICA8L05hdkJhclNsaWRlRG93bj5cbiAgICA8L1N1YlRoZW1lUHJvdmlkZXI+XG4gICk7XG59KTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQnFDIn0= */");let StyledSubMenuContainer=styled(StyledBorderContainer,{target:"ewgqafb1",label:"StyledSubMenuContainer"})(({theme})=>({backgroundColor:theme.values.color.background.accentSubtle.default,boxShadow:theme.values.elevation[1],"& > div":{marginBottom:-1}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTmF2QmFyL05hdkJhclN1Yk1lbnVDb250YWluZXIudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9OYXZCYXIvTmF2QmFyU3ViTWVudUNvbnRhaW5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQge1xuICBTdWJUaGVtZVByb3ZpZGVyLFxuICB0eXBlIFN1YlRoZW1lUHJvdmlkZXJQcm9wcyxcbn0gZnJvbSBcIi4uL1N1YlRoZW1lUHJvdmlkZXIvU3ViVGhlbWVQcm92aWRlclwiO1xuLy8gSW1wb3J0IHRoZSB2YXIgbmFtZSArIHB1Ymxpc2hlciBkaXJlY3RseSBmcm9tIExheW91dCdzIGZpbGVzIChub3QgaXRzIGJhcnJlbClcbi8vIHRvIGtlZXAgdGhlIGNvdXBsaW5nIG1pbmltYWwgYW5kIGF2b2lkIHB1bGxpbmcgaW4gdGhlIExheW91dCBtb2R1bGUgZ3JhcGguXG5pbXBvcnQgeyBTVUJOQVZfT0ZGU0VUX1ZBUiB9IGZyb20gXCIuLi9MYXlvdXQvLWNvbnN0YW50c1wiO1xuaW1wb3J0IHsgdXNlTGF5b3V0VmFyIH0gZnJvbSBcIi4uL0xheW91dC9MYXlvdXRDc3NWYXJzXCI7XG5pbXBvcnQgdHlwZSB7IE5hdkJhck5hbWUgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgU1VCTkFWX0hFSUdIVCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgTmF2QmFyU2xpZGVEb3duIH0gZnJvbSBcIi4vTmF2QmFyU2xpZGVEb3duXCI7XG5pbXBvcnQgeyB1c2VOYXZCYXJDb250ZXh0IH0gZnJvbSBcIi4vTmF2QmFyQ29udGV4dFwiO1xuXG50eXBlIE5hdkJhclN1Yk1lbnVDb250YWluZXJQcm9wcyA9IHtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG5jb25zdCBDT05UQUlORVJfQk9SREVSX1dJRFRIID0gMTtcbmV4cG9ydCBjb25zdCBTdHlsZWRCb3JkZXJDb250YWluZXIgPSBzdHlsZWQuZGl2KCh7IHRoZW1lIH0pID0+ICh7XG4gIGJvcmRlckJvdHRvbTogYCR7Q09OVEFJTkVSX0JPUkRFUl9XSURUSH1weCBzb2xpZCAke3RoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuc2Vjb25kYXJ5LmRlZmF1bHR9YCxcbn0pKTtcblxuY29uc3QgU3R5bGVkU3ViTWVudUNvbnRhaW5lciA9IHN0eWxlZChTdHlsZWRCb3JkZXJDb250YWluZXIpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGJhY2tncm91bmRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQuYWNjZW50U3VidGxlLmRlZmF1bHQsXG4gIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblsxXSxcbiAgXCImID4gZGl2XCI6IHtcbiAgICBtYXJnaW5Cb3R0b206IC1DT05UQUlORVJfQk9SREVSX1dJRFRILCAvLyBUYWJzIGJvcmRlciBzaG91bGQgYmUgYWJvdmUgb2YgU3R5bGVkQm9yZGVyQ29udGFpbmVyXG4gIH0sXG59KSk7XG5cbmV4cG9ydCBjb25zdCBzdWJUaGVtZU1hcHBpbmc6IFJlY29yZDxcbiAgTmF2QmFyTmFtZSxcbiAgU3ViVGhlbWVQcm92aWRlclByb3BzW1wibmFtZVwiXVxuPiA9IHtcbiAgbGVhcm5pbmc6IFwiYnJhbmRTdWJ0bGVcIixcbiAgY2xpbmljYWxDYXJlOiBcInVuc2V0XCIsXG4gIHRlYWNoaW5nOiBcImRpbW1lZFN1YnRsZVwiLFxuICB1bnNldDogXCJ1bnNldFwiLFxufTtcblxuZXhwb3J0IGNvbnN0IE5hdkJhclN1Yk1lbnVDb250YWluZXIgPSBSZWFjdC5mb3J3YXJkUmVmPFxuICBIVE1MRGl2RWxlbWVudCxcbiAgTmF2QmFyU3ViTWVudUNvbnRhaW5lclByb3BzXG4+KCh7IGNoaWxkcmVuLCBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCB9LCByZWYpID0+IHtcbiAgY29uc3QgeyBzdWJUaGVtZSwgaXNDb21wYWN0IH0gPSB1c2VOYXZCYXJDb250ZXh0KCk7XG4gIC8vIFRoZSBzdWJuYXYgb3ducyB0aGUgKndoeSo6IGl0cyBvZmZzZXQgaXMgaXRzIGhlaWdodCB3aGVuIGV4cGFuZGVkLCAwIHdoZW5cbiAgLy8gY29tcGFjdC4gSXQgcHVibGlzaGVzIGludG8gdGhlIGxheW91dCB2YXIgcmVnaXN0cnk7IHRoZSBzaW5nbGUgTGF5b3V0Q3NzVmFyc1xuICAvLyBzaW5rIHJlbmRlcnMgaXQsIGFuZCBzbG90cyBsaWtlIExheW91dC5SaWdodFBhbmVsIHJlYWQgaXQuIFRoZSB2YXIgb25seVxuICAvLyBleGlzdHMgd2hpbGUgYSBzdWJuYXYgaXMgbW91bnRlZCAoYW5kIGEgTGF5b3V0LlByb3ZpZGVyIGlzIHByZXNlbnQpIOKAlCBzbG90c1xuICAvLyBkZWZhdWx0IHRvIDAgb3RoZXJ3aXNlLCBzbyBhIE5hdkJhciB3aXRoIG5vIHN1Ym5hdiBuZWVkcyBubyBvZmZzZXQuXG4gIGNvbnN0IHN1Ym5hdk9mZnNldENzc1ZhciA9IHVzZUxheW91dFZhcihTVUJOQVZfT0ZGU0VUX1ZBUik7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc3VibmF2T2Zmc2V0Q3NzVmFyLnNldChpc0NvbXBhY3QgPyBcIjBweFwiIDogU1VCTkFWX0hFSUdIVCk7XG4gIH0sIFtzdWJuYXZPZmZzZXRDc3NWYXIsIGlzQ29tcGFjdF0pO1xuXG4gIHJldHVybiAoXG4gICAgPFN1YlRoZW1lUHJvdmlkZXIgbmFtZT17c3ViVGhlbWVNYXBwaW5nW3N1YlRoZW1lXX0+XG4gICAgICA8TmF2QmFyU2xpZGVEb3duIGlzVmlzaWJsZT17IWlzQ29tcGFjdH0gcG9zaXRpb249XCJib3R0b21cIj5cbiAgICAgICAgPFN0eWxlZFN1Yk1lbnVDb250YWluZXIgcmVmPXtyZWZ9IGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9PlxuICAgICAgICAgIDxkaXY+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgICA8L1N0eWxlZFN1Yk1lbnVDb250YWluZXI+XG4gICAgICA8L05hdkJhclNsaWRlRG93bj5cbiAgICA8L1N1YlRoZW1lUHJvdmlkZXI+XG4gICk7XG59KTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QitCIn0= */");export const subThemeMapping={learning:"brandSubtle",clinicalCare:"unset",teaching:"dimmedSubtle",unset:"unset"};export const NavBarSubMenuContainer=React.forwardRef(({children,"data-e2e-test-id":dataE2eTestId},ref)=>{let{subTheme,isCompact}=useNavBarContext(),subnavOffsetCssVar=useLayoutVar(SUBNAV_OFFSET_VAR);return useEffect(()=>{subnavOffsetCssVar.set(isCompact?"0px":SUBNAV_HEIGHT)},[subnavOffsetCssVar,isCompact]),React.createElement(SubThemeProvider,{name:subThemeMapping[subTheme]},React.createElement(NavBarSlideDown,{isVisible:!isCompact,position:"bottom"},React.createElement(StyledSubMenuContainer,{ref:ref,"data-e2e-test-id":dataE2eTestId},React.createElement("div",null,children))))});