@amboss/design-system 4.19.0 → 4.19.2-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/build/cjs/components/CheckboxCard/CheckboxCard.d.ts +1 -1
  2. package/build/cjs/components/Content/ContentBrandName/ContentBrandName.js +1 -1
  3. package/build/cjs/components/Content/ContentCheckbox/ContentCheckbox.d.ts +1 -1
  4. package/build/cjs/components/Content/ContentCitation/ContentCitation.d.ts +3 -3
  5. package/build/cjs/components/Content/ContentCitation/ContentCitationLink.js +1 -1
  6. package/build/cjs/components/Content/ContentFontResizer/FontSizeOffsetContext.d.ts +1 -1
  7. package/build/cjs/components/Content/ContentText/ContentText.d.ts +1 -1
  8. package/build/cjs/components/Content/DosageButton/DosageButton.d.ts +1 -1
  9. package/build/cjs/components/DataTable/DataTable.d.ts +2 -3
  10. package/build/cjs/components/DataTable/TableCell.d.ts +1 -1
  11. package/build/cjs/components/DataTable/internal/buildColumnSegments.js +1 -1
  12. package/build/cjs/components/DataTable/internal/tablePrimitives.d.ts +3 -3
  13. package/build/cjs/components/EntityList/styled-components.d.ts +8 -8
  14. package/build/cjs/components/Form/Checkbox/Checkbox.d.ts +2 -2
  15. package/build/cjs/components/Form/Combobox/StyledSelectComponents.d.ts +4 -4
  16. package/build/cjs/components/Form/DatePicker/DatePicker.d.ts +1 -1
  17. package/build/cjs/components/Form/MaskedInput/MaskedInput.d.ts +1 -1
  18. package/build/cjs/components/Form/Radio/Radio.d.ts +2 -2
  19. package/build/cjs/components/Form/RangeInput/RangeInput.d.ts +1 -1
  20. package/build/cjs/components/Form/Textarea/Textarea.d.ts +2 -2
  21. package/build/cjs/components/Form/Toggle/Toggle.d.ts +3 -3
  22. package/build/cjs/components/Form/ToggleButton/ToggleButton.d.ts +1 -1
  23. package/build/cjs/components/Grid/Grid.d.ts +1 -1
  24. package/build/cjs/components/Internal/LayoutFloat/LayoutFloat.d.ts +1 -13
  25. package/build/cjs/components/Internal/LayoutFloat/useLayoutFloatDrag.d.ts +1 -1
  26. package/build/cjs/components/Internal/Sandwich/useSandwichContext.d.ts +1 -1
  27. package/build/cjs/components/Kbd/Kbd.js +1 -1
  28. package/build/cjs/components/Layout/-types.d.ts +49 -10
  29. package/build/cjs/components/Layout/BottomBar/BottomBarItem/LayoutBottomBarItem.d.ts +3 -2
  30. package/build/cjs/components/Layout/BottomBar/LayoutBottomBar.js +1 -1
  31. package/build/cjs/components/Layout/BottomBar/StyledLayoutBottomBar.d.ts +1 -1
  32. package/build/cjs/components/Layout/BottomBar/StyledLayoutBottomBarSection.d.ts +3 -2
  33. package/build/cjs/components/Layout/BottomBar/StyledLayoutBottomBarSection.js +1 -1
  34. package/build/cjs/components/Layout/BottomBar/getBottomBarLayout.js +1 -1
  35. package/build/cjs/components/Layout/Content/Content.js +1 -1
  36. package/build/cjs/components/Layout/Layout.js +1 -1
  37. package/build/cjs/components/Layout/LeftPanel/LeftBarToggle.js +1 -1
  38. package/build/cjs/components/Layout/LeftPanel/LeftPanel.js +1 -1
  39. package/build/cjs/components/Layout/LeftPanel/LeftPanelDocked.js +1 -1
  40. package/build/cjs/components/Layout/LeftPanel/LeftPanelHeader.js +1 -1
  41. package/build/cjs/components/Layout/LeftPanel/useLeftBarContext.d.ts +1 -1
  42. package/build/cjs/components/Layout/LeftPanel/useLeftPanelCollapseContext.d.ts +1 -1
  43. package/build/cjs/components/Layout/RightPanel/RightPanel.js +1 -1
  44. package/build/cjs/components/Layout/RightPanel/RightPanelDocked.d.ts +1 -1
  45. package/build/cjs/components/Layout/RightPanel/RightPanelDocked.js +1 -1
  46. package/build/cjs/components/Layout/Split/LayoutSplitColumns.d.ts +18 -0
  47. package/build/cjs/components/Layout/Split/LayoutSplitColumns.js +1 -0
  48. package/build/cjs/components/Layout/Split/MobileSplitView/StyledMobileSplitSlideLayer.d.ts +1 -1
  49. package/build/cjs/components/Layout/Split/MobileSplitView/useMobileSplitStack.d.ts +1 -1
  50. package/build/cjs/components/Layout/Split/Split.d.ts +1 -2
  51. package/build/cjs/components/Layout/Split/Split.js +1 -1
  52. package/build/cjs/components/Layout/Split/SplitDocked.d.ts +1 -1
  53. package/build/cjs/components/Layout/Split/SplitDocked.js +1 -1
  54. package/build/cjs/components/Layout/Split/SplitHeader.js +1 -1
  55. package/build/cjs/components/Layout/context.d.ts +2 -2
  56. package/build/cjs/components/Layout/reducer.js +1 -1
  57. package/build/cjs/components/Layout/registry.d.ts +8 -6
  58. package/build/cjs/components/Layout/registry.js +1 -1
  59. package/build/cjs/components/Layout/useLayout.js +1 -1
  60. package/build/cjs/components/Layout/useLayoutRules.js +1 -1
  61. package/build/cjs/components/Layout/useLeftPanelId.d.ts +1 -1
  62. package/build/cjs/components/Layout/usePanelAnimations.d.ts +1 -1
  63. package/build/cjs/components/Layout/usePanelDockedSlide.js +1 -1
  64. package/build/cjs/components/NavBar/NavBar.d.ts +18 -14
  65. package/build/cjs/components/NavBar/NavBarContext.d.ts +1 -1
  66. package/build/cjs/components/NavBar/NavBarDropdownTriggerButton.d.ts +1 -1
  67. package/build/cjs/components/Patterns/Dialog/DialogContext.d.ts +1 -1
  68. package/build/cjs/components/Patterns/EmptyState/EmptyState.d.ts +2 -2
  69. package/build/cjs/components/Patterns/Modal/Modal.d.ts +2 -4
  70. package/build/cjs/components/Patterns/Popover/PopoverContext.d.ts +1 -1
  71. package/build/cjs/components/PromptInput/PromptInput.d.ts +1 -1
  72. package/build/cjs/components/RadioCard/RadioCard.d.ts +1 -1
  73. package/build/cjs/components/SearchResult/SearchResult.d.ts +1 -3
  74. package/build/cjs/components/SubThemeProvider/SubThemeContext.d.ts +1 -1
  75. package/build/cjs/components/Tooltip/FloatingPositionedContext.d.ts +1 -1
  76. package/build/cjs/components/Utilities/ContainerQuery/ContainerQueryContext.d.ts +1 -1
  77. package/build/cjs/components/Utilities/ScreenReaderText/ScreenReaderText.d.ts +1 -1
  78. package/build/cjs/shared/components/SelectableButton.d.ts +1 -1
  79. package/build/cjs/web-tokens/_sizes.json +55 -55
  80. package/build/esm/components/CheckboxCard/CheckboxCard.d.ts +1 -1
  81. package/build/esm/components/Content/ContentBrandName/ContentBrandName.js +1 -1
  82. package/build/esm/components/Content/ContentCheckbox/ContentCheckbox.d.ts +1 -1
  83. package/build/esm/components/Content/ContentCitation/ContentCitation.d.ts +3 -3
  84. package/build/esm/components/Content/ContentCitation/ContentCitationLink.js +1 -1
  85. package/build/esm/components/Content/ContentFontResizer/FontSizeOffsetContext.d.ts +1 -1
  86. package/build/esm/components/Content/ContentText/ContentText.d.ts +1 -1
  87. package/build/esm/components/Content/DosageButton/DosageButton.d.ts +1 -1
  88. package/build/esm/components/DataTable/DataTable.d.ts +2 -3
  89. package/build/esm/components/DataTable/TableCell.d.ts +1 -1
  90. package/build/esm/components/DataTable/internal/buildColumnSegments.js +1 -1
  91. package/build/esm/components/DataTable/internal/tablePrimitives.d.ts +3 -3
  92. package/build/esm/components/EntityList/styled-components.d.ts +8 -8
  93. package/build/esm/components/Form/Checkbox/Checkbox.d.ts +2 -2
  94. package/build/esm/components/Form/Combobox/StyledSelectComponents.d.ts +4 -4
  95. package/build/esm/components/Form/DatePicker/DatePicker.d.ts +1 -1
  96. package/build/esm/components/Form/MaskedInput/MaskedInput.d.ts +1 -1
  97. package/build/esm/components/Form/Radio/Radio.d.ts +2 -2
  98. package/build/esm/components/Form/RangeInput/RangeInput.d.ts +1 -1
  99. package/build/esm/components/Form/Textarea/Textarea.d.ts +2 -2
  100. package/build/esm/components/Form/Toggle/Toggle.d.ts +3 -3
  101. package/build/esm/components/Form/ToggleButton/ToggleButton.d.ts +1 -1
  102. package/build/esm/components/Grid/Grid.d.ts +1 -1
  103. package/build/esm/components/Internal/LayoutFloat/LayoutFloat.d.ts +1 -13
  104. package/build/esm/components/Internal/LayoutFloat/useLayoutFloatDrag.d.ts +1 -1
  105. package/build/esm/components/Internal/Sandwich/useSandwichContext.d.ts +1 -1
  106. package/build/esm/components/Kbd/Kbd.js +1 -1
  107. package/build/esm/components/Layout/-types.d.ts +49 -10
  108. package/build/esm/components/Layout/BottomBar/BottomBarItem/LayoutBottomBarItem.d.ts +3 -2
  109. package/build/esm/components/Layout/BottomBar/LayoutBottomBar.js +1 -1
  110. package/build/esm/components/Layout/BottomBar/StyledLayoutBottomBar.d.ts +1 -1
  111. package/build/esm/components/Layout/BottomBar/StyledLayoutBottomBarSection.d.ts +3 -2
  112. package/build/esm/components/Layout/BottomBar/StyledLayoutBottomBarSection.js +1 -1
  113. package/build/esm/components/Layout/BottomBar/getBottomBarLayout.js +1 -1
  114. package/build/esm/components/Layout/Content/Content.js +1 -1
  115. package/build/esm/components/Layout/Layout.js +1 -1
  116. package/build/esm/components/Layout/LeftPanel/LeftBarToggle.js +1 -1
  117. package/build/esm/components/Layout/LeftPanel/LeftPanel.js +1 -1
  118. package/build/esm/components/Layout/LeftPanel/LeftPanelDocked.js +1 -1
  119. package/build/esm/components/Layout/LeftPanel/LeftPanelHeader.js +1 -1
  120. package/build/esm/components/Layout/LeftPanel/useLeftBarContext.d.ts +1 -1
  121. package/build/esm/components/Layout/LeftPanel/useLeftPanelCollapseContext.d.ts +1 -1
  122. package/build/esm/components/Layout/RightPanel/RightPanel.js +1 -1
  123. package/build/esm/components/Layout/RightPanel/RightPanelDocked.d.ts +1 -1
  124. package/build/esm/components/Layout/RightPanel/RightPanelDocked.js +1 -1
  125. package/build/esm/components/Layout/Split/LayoutSplitColumns.d.ts +18 -0
  126. package/build/esm/components/Layout/Split/LayoutSplitColumns.js +1 -0
  127. package/build/esm/components/Layout/Split/MobileSplitView/StyledMobileSplitSlideLayer.d.ts +1 -1
  128. package/build/esm/components/Layout/Split/MobileSplitView/useMobileSplitStack.d.ts +1 -1
  129. package/build/esm/components/Layout/Split/Split.d.ts +1 -2
  130. package/build/esm/components/Layout/Split/Split.js +1 -1
  131. package/build/esm/components/Layout/Split/SplitDocked.d.ts +1 -1
  132. package/build/esm/components/Layout/Split/SplitDocked.js +1 -1
  133. package/build/esm/components/Layout/Split/SplitHeader.js +1 -1
  134. package/build/esm/components/Layout/context.d.ts +2 -2
  135. package/build/esm/components/Layout/reducer.js +1 -1
  136. package/build/esm/components/Layout/registry.d.ts +8 -6
  137. package/build/esm/components/Layout/registry.js +1 -1
  138. package/build/esm/components/Layout/useLayout.js +1 -1
  139. package/build/esm/components/Layout/useLayoutRules.js +1 -1
  140. package/build/esm/components/Layout/useLeftPanelId.d.ts +1 -1
  141. package/build/esm/components/Layout/usePanelAnimations.d.ts +1 -1
  142. package/build/esm/components/Layout/usePanelDockedSlide.js +1 -1
  143. package/build/esm/components/NavBar/NavBar.d.ts +18 -14
  144. package/build/esm/components/NavBar/NavBarContext.d.ts +1 -1
  145. package/build/esm/components/NavBar/NavBarDropdownTriggerButton.d.ts +1 -1
  146. package/build/esm/components/Patterns/Dialog/DialogContext.d.ts +1 -1
  147. package/build/esm/components/Patterns/EmptyState/EmptyState.d.ts +2 -2
  148. package/build/esm/components/Patterns/Modal/Modal.d.ts +2 -4
  149. package/build/esm/components/Patterns/Popover/PopoverContext.d.ts +1 -1
  150. package/build/esm/components/PromptInput/PromptInput.d.ts +1 -1
  151. package/build/esm/components/RadioCard/RadioCard.d.ts +1 -1
  152. package/build/esm/components/SearchResult/SearchResult.d.ts +1 -3
  153. package/build/esm/components/SubThemeProvider/SubThemeContext.d.ts +1 -1
  154. package/build/esm/components/Tooltip/FloatingPositionedContext.d.ts +1 -1
  155. package/build/esm/components/Utilities/ContainerQuery/ContainerQueryContext.d.ts +1 -1
  156. package/build/esm/components/Utilities/ScreenReaderText/ScreenReaderText.d.ts +1 -1
  157. package/build/esm/shared/components/SelectableButton.d.ts +1 -1
  158. package/build/esm/web-tokens/_sizes.json +55 -55
  159. package/build/scss/_variables.scss +1 -14
  160. package/package.json +1 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"getBottomBarLayout",{enumerable:!0,get:function(){return getBottomBarLayout}});const _react=require("react"),_constants=require("../-constants"),_LayoutBottomBarItem=require("./BottomBarItem/LayoutBottomBarItem"),getBottomBarItemMode=({region,fallback,layout})=>{let handle=layout[region];return"column"===handle.presentation?"column":("leftPanel"!==region||"sidebar"!==layout.leftPanel.state.variant)&&("rightPanel"!==region||"sidebar"!==layout.rightPanel.state.variant)||handle.isVisible||null===handle.animation?fallback:"column"},getVisibleSections=(children,layout)=>_react.Children.toArray(children).flatMap(child=>{if(!(0,_react.isValidElement)(child)||child.type!==_LayoutBottomBarItem.LayoutBottomBarItem||null==child.props.children||!1===child.props.children)return[];let{region,fallback="hide"}=child.props,placement=getBottomBarItemMode({region,fallback,layout});return"hide"===placement?[]:[{...child.props,placement,fallback}]}),shouldPreserveSplitColumnWidth=sections=>{let hasLeftFallback=sections.some(({region,fallback})=>"leftPanel"===region&&"remaining"===fallback),hasContentColumn=sections.some(({region,placement})=>"content"===region&&"column"===placement),hasSplitColumn=sections.some(({region,placement})=>"splitview"===region&&"column"===placement),hasRightFallback=sections.some(({region,fallback})=>"rightPanel"===region&&"remaining"===fallback);return hasLeftFallback&&hasContentColumn&&hasSplitColumn&&!hasRightFallback},getSharedRowCells=sections=>{if(!sections.length)return[];let firstSection=sections[0],lastSection=sections[sections.length-1],hasRemainingActions=sections.some(({fallback})=>"remaining"===fallback),preserveSplitColumn=shouldPreserveSplitColumnWidth(sections),flexibleColumns={leftPanel:!1,content:hasRemainingActions,splitview:hasRemainingActions&&!preserveSplitColumn,rightPanel:!1},hasFlexibleColumn=sections.some(({region,placement})=>"column"===placement&&flexibleColumns[region]),needsFlexibleGap=hasRemainingActions&&!hasFlexibleColumn,rightActions=sections.find(({region})=>"rightPanel"===region);return[..."column"===firstSection.placement?[{kind:"leading-gap",region:firstSection.region}]:[],...sections.flatMap((section,index)=>{let previousSection=sections[index-1];return[..."column"===section.placement&&previousSection?.placement==="column"?[{kind:"column-gap",region:section.region,previousRegion:previousSection.region}]:[],...needsFlexibleGap&&section===rightActions?[{kind:"flexible-gap"}]:[],{kind:"section",section,flexible:flexibleColumns[section.region]}]}),...!hasRemainingActions||preserveSplitColumn?[{kind:"trailing-gap",region:lastSection.region}]:[],...needsFlexibleGap&&!rightActions?[{kind:"flexible-gap"}]:[]]},getBottomBarLayout=({children,layout})=>{let sections=getVisibleSections(children,layout),sharedSections=_constants.PANEL_ORDER.flatMap(region=>sections.filter(section=>section.region===region&&"full"!==section.placement)),fullWidthSections=sections.filter(({placement})=>"full"===placement),sharedRowCount=+!!sharedSections.length,cells=getSharedRowCells(sharedSections);return{cells,sections:[...cells.flatMap((cell,column)=>"section"===cell.kind?[{...cell.section,columnIndex:column,rowIndex:0}]:[]),...fullWidthSections.map((section,row)=>({...section,rowIndex:sharedRowCount+row}))],rowCount:sharedRowCount+fullWidthSections.length,hasRightPanel:sections.some(({region})=>"rightPanel"===region)}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"getBottomBarLayout",{enumerable:!0,get:function(){return getBottomBarLayout}});const _react=require("react"),_constants=require("../-constants"),_LayoutBottomBarItem=require("./BottomBarItem/LayoutBottomBarItem"),getBottomBarItemMode=({region,fallback,layout})=>{let handle=layout[region];return"column"===handle.presentation?"column":("leftPanel"!==region||"sidebar"!==layout.leftPanel.state.variant)&&("rightPanel"!==region||"sidebar"!==layout.rightPanel.state.variant)||handle.isVisible||null===handle.animation?fallback:"column"},getVisibleSections=(children,layout)=>_react.Children.toArray(children).flatMap(child=>{if(!(0,_react.isValidElement)(child)||child.type!==_LayoutBottomBarItem.LayoutBottomBarItem||null==child.props.children||!1===child.props.children)return[];let{region,fallback="hide"}=child.props,placement=getBottomBarItemMode({region,fallback,layout});return"hide"===placement?[]:[{...child.props,placement,fallback}]}),shouldPreserveSplitColumnWidth=sections=>{let hasLeftFallback=sections.some(({region,fallback})=>"leftPanel"===region&&"remaining"===fallback),hasContentColumn=sections.some(({region,placement})=>"content"===region&&"column"===placement),hasSplitColumn=sections.some(({region,placement})=>"splitview"===region&&"column"===placement),hasRightFallback=sections.some(({region,fallback})=>"rightPanel"===region&&"remaining"===fallback);return hasLeftFallback&&hasContentColumn&&hasSplitColumn&&!hasRightFallback},getSharedRowCells=sections=>{if(!sections.length)return[];let firstSection=sections[0],lastSection=sections[sections.length-1],hasRemainingActions=sections.some(({fallback})=>"remaining"===fallback),preserveSplitColumn=shouldPreserveSplitColumnWidth(sections),flexibleColumns={leftPanel:!1,content:hasRemainingActions,splitview:hasRemainingActions&&!preserveSplitColumn,rightPanel:!1},hasFlexibleColumn=sections.some(({region,placement})=>"column"===placement&&flexibleColumns[region]),needsFlexibleGap=hasRemainingActions&&!hasFlexibleColumn,rightActions=sections.find(({region})=>"rightPanel"===region);return[..."column"===firstSection.placement?[{kind:"leading-gap",region:firstSection.region}]:[],...sections.flatMap((section,index)=>{let previousSection=sections[index-1];return[..."column"===section.placement&&previousSection?.placement==="column"?[{kind:"column-gap",region:section.region,previousRegion:previousSection.region}]:[],...needsFlexibleGap&&section===rightActions?[{kind:"flexible-gap"}]:[],{kind:"section",section,flexible:flexibleColumns[section.region]}]}),...!hasRemainingActions||preserveSplitColumn?[{kind:"trailing-gap",region:lastSection.region}]:[],...needsFlexibleGap&&!rightActions?[{kind:"flexible-gap"}]:[]]},getBottomBarLayout=({children,layout})=>{let sections=getVisibleSections(children,layout),sharedSections=_constants.PANEL_ORDER.flatMap(region=>sections.filter(section=>section.region===region&&"full"!==section.placement&&"overlay"!==section.placement)),fullWidthSections=sections.filter(({placement})=>"full"===placement),overlaySections=sections.filter(({placement})=>"overlay"===placement),sharedRowCount=sharedSections.length||overlaySections.length?1:0,cells=getSharedRowCells(sharedSections);return{cells,sections:[...cells.flatMap((cell,column)=>"section"===cell.kind?[{...cell.section,columnIndex:column,rowIndex:0}]:[]),...overlaySections.map(section=>({...section,rowIndex:0})),...fullWidthSections.map((section,row)=>({...section,rowIndex:sharedRowCount+row}))],rowCount:sharedRowCount+fullWidthSections.length,hasRightPanel:sections.some(({region})=>"rightPanel"===region)}};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"Content",{enumerable:!0,get:function(){return Content}});const _react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_default")._(require("react")),_constants=require("../-constants"),_registry=require("../registry"),_ContentSplitBase=require("../Split/MobileSplitView/ContentSplitBase"),_useMobileSplitStack=require("../Split/MobileSplitView/useMobileSplitStack"),_useMobileSplitView=require("../Split/MobileSplitView/useMobileSplitView"),_ContentDocked=require("./ContentDocked"),Content=({children})=>{(0,_registry.useDeclarePanel)(_constants.Slot.content,{collapsible:!1});let enabled=(0,_useMobileSplitView.useMobileSplitViewEnabled)(),{host,isSplitPresent}=(0,_useMobileSplitStack.useMobileSplitStack)();return enabled&&isSplitPresent&&null!==host?_react.default.createElement(_ContentSplitBase.ContentSplitBase,null,children):_react.default.createElement(_ContentDocked.ContentDocked,null,children)};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"Content",{enumerable:!0,get:function(){return Content}});const _react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_default")._(require("react")),_constants=require("../-constants"),_registry=require("../registry"),_ContentSplitBase=require("../Split/MobileSplitView/ContentSplitBase"),_useMobileSplitStack=require("../Split/MobileSplitView/useMobileSplitStack"),_useMobileSplitView=require("../Split/MobileSplitView/useMobileSplitView"),_ContentDocked=require("./ContentDocked"),Content=({children,minWidth})=>{(0,_registry.useDeclarePanel)(_constants.Slot.content,{collapsible:!1,minSize:minWidth});let enabled=(0,_useMobileSplitView.useMobileSplitViewEnabled)(),{host,isSplitPresent}=(0,_useMobileSplitStack.useMobileSplitStack)();return enabled&&isSplitPresent&&null!==host?_react.default.createElement(_ContentSplitBase.ContentSplitBase,null,children):_react.default.createElement(_ContentDocked.ContentDocked,null,children)};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get Layout(){return Layout},get PANEL_HOST_DS_ID(){return PANEL_HOST_DS_ID}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_Panel=require("../Internal/Panel/Panel"),_LayoutFloat=require("../Internal/LayoutFloat/LayoutFloat"),_useBreakpoints=require("../../shared/useBreakpoints"),_constants=require("./-constants"),_context=require("./context"),_useMobileSplitStack=require("./Split/MobileSplitView/useMobileSplitStack"),_useMobileSplitView=require("./Split/MobileSplitView/useMobileSplitView"),_LayoutProvider=require("./LayoutProvider"),_LayoutBottomBar=require("./BottomBar/LayoutBottomBar"),_LayoutBottomBarItem=require("./BottomBar/BottomBarItem/LayoutBottomBarItem"),_Content=require("./Content/Content"),_ContentHeader=require("./Content/ContentHeader"),_ContentFooter=require("./Content/ContentFooter"),_RightPanel=require("./RightPanel/RightPanel"),_RightPanelHeader=require("./RightPanel/RightPanelHeader"),_RightPanelFooter=require("./RightPanel/RightPanelFooter"),_LeftPanel=require("./LeftPanel/LeftPanel"),_LeftPanelHeader=require("./LeftPanel/LeftPanelHeader"),_LeftPanelFooter=require("./LeftPanel/LeftPanelFooter"),_LeftNavBar=require("./LeftNavBar/LeftNavBar"),_LeftNavBarFooter=require("./LeftNavBar/LeftNavBarFooter"),_Split=require("./Split/Split"),_SplitHeader=require("./Split/SplitHeader"),_SplitFooter=require("./Split/SplitFooter"),_registry=require("./registry"),_usePortalTargets=require("./usePortalTargets"),_LayoutFloatDragProvider=require("../Internal/LayoutFloat/LayoutFloatDragProvider"),_LayoutCssVars=require("./LayoutCssVars"),_useLayout=require("./useLayout"),_useLayoutRules=require("./useLayoutRules"),_rules=require("./rules"),resizableFromState=slotState=>"sidePanel"===slotState.kind?slotState.resizable:void 0,useGlobalCssVariables=({slotHosts,root,mobileHost})=>{let leftPanelWidthCssVar=(0,_LayoutCssVars.useLayoutVar)(_constants.PANEL_WIDTH_VAR.leftPanel),contentWidthCssVar=(0,_LayoutCssVars.useLayoutVar)(_constants.PANEL_WIDTH_VAR.content),splitviewWidthCssVar=(0,_LayoutCssVars.useLayoutVar)(_constants.PANEL_WIDTH_VAR.splitview),rightPanelWidthCssVar=(0,_LayoutCssVars.useLayoutVar)(_constants.PANEL_WIDTH_VAR.rightPanel),leftPanelStartCssVar=(0,_LayoutCssVars.useLayoutVar)(_constants.PANEL_START_VAR.leftPanel),contentStartCssVar=(0,_LayoutCssVars.useLayoutVar)(_constants.PANEL_START_VAR.content),splitviewStartCssVar=(0,_LayoutCssVars.useLayoutVar)(_constants.PANEL_START_VAR.splitview),rightPanelStartCssVar=(0,_LayoutCssVars.useLayoutVar)(_constants.PANEL_START_VAR.rightPanel),regionsReadyCssVar=(0,_LayoutCssVars.useLayoutVar)(_constants.LAYOUT_REGIONS_READY_VAR),publishRegions=(0,_react.useCallback)(()=>{if(!root)return;let targets=[[_constants.Slot.leftPanel,leftPanelWidthCssVar,leftPanelStartCssVar],[_constants.Slot.content,contentWidthCssVar,contentStartCssVar],[_constants.Slot.splitview,splitviewWidthCssVar,splitviewStartCssVar],[_constants.Slot.rightPanel,rightPanelWidthCssVar,rightPanelStartCssVar]],rootRect=root.getBoundingClientRect();targets.forEach(([slot,widthCssVar,startCssVar])=>{let rect=slotHosts[slot]?.getBoundingClientRect(),isMobileRegion=!!mobileHost&&(slot===_constants.Slot.content||slot===_constants.Slot.splitview),width=isMobileRegion?rootRect.width:rect?.width??0,start=isMobileRegion||!rect?0:rect.left-rootRect.left;widthCssVar.set(`${width}px`),startCssVar.set(`${start}px`)}),regionsReadyCssVar.set("1")},[slotHosts,root,mobileHost,leftPanelWidthCssVar,contentWidthCssVar,splitviewWidthCssVar,rightPanelWidthCssVar,leftPanelStartCssVar,contentStartCssVar,splitviewStartCssVar,rightPanelStartCssVar,regionsReadyCssVar]);(0,_react.useLayoutEffect)(()=>{publishRegions()},[publishRegions]),(0,_react.useLayoutEffect)(()=>{if(!root||"undefined"==typeof ResizeObserver)return;let observer=new ResizeObserver(publishRegions);return observer.observe(root),Object.values(slotHosts).forEach(host=>{host&&observer.observe(host)}),()=>observer.disconnect()},[root,slotHosts,publishRegions])},StyledLayout=(0,_styled.default)("div",{target:"ejiwr150",label:"StyledLayout"})({position:"relative",height:"100%",width:"100%"}),StyledPanelRow=(0,_styled.default)("div",{target:"ejiwr151",label:"StyledPanelRow"})(({theme,hasOffcanvasLeftBar})=>({height:"100%",boxSizing:"border-box",...hasOffcanvasLeftBar&&{paddingLeft:theme.variables.size.dimension.leftNavBar.width}})),StyledPanelHost=(0,_styled.default)("div",{target:"ejiwr152",label:"StyledPanelHost"})({position:"relative",height:"100%",width:"100%"}),PANEL_HOST_DS_ID="PanelHost",StyledContentColumn=(0,_styled.default)("div",{shouldForwardProp:prop=>"isSplitOpen"!==prop,target:"ejiwr153",label:"StyledContentColumn"})(({isSplitOpen,theme})=>({display:"flex",height:`calc(100% - ${_constants.PAGE_BOTTOM_BAR_INSET})`,width:"100%",...isSplitOpen&&{maxWidth:theme.variables.layout.split.maxWidth.default,marginInline:"auto",gap:theme.variables.size.spacing.xxs}})),StyledContentColumnHalf=(0,_styled.default)("div",{target:"ejiwr154",label:"StyledContentColumnHalf"})({position:"relative",height:"100%",flex:"1 1 0",minWidth:0}),StyledMobileSplitStackHost=(0,_styled.default)("div",{target:"ejiwr155",label:"StyledMobileSplitStackHost"})({position:"absolute",top:0,left:0,right:0,bottom:_constants.PAGE_BOTTOM_BAR_INSET,overflow:"hidden",pointerEvents:"none"}),isPanelPresent=({slot,declared,present,isShown})=>!!(declared[slot]&&(isShown(slot)||present[slot])),defaultSizeFor=({slot,panel,panelState})=>slot===_constants.Slot.content?void 0:panel?.defaultSize!==void 0?panel.defaultSize:panel?.resizable!==!1?panelState.size:void 0,childFor=(slot,contentColumn,slotHostRefs)=>slot===_constants.Slot.content?contentColumn:_react.default.createElement(StyledPanelHost,{"data-ds-id":PANEL_HOST_DS_ID,ref:slotHostRefs[slot]}),Layout=function({children,persistenceKey,storage,rules=_rules.DEFAULT_LAYOUT_RULES,additionalRulesData}){let[declared,setDeclared]=(0,_react.useState)({}),layout=(0,_useLayout.useLayout)(),{state:layoutState,...panelCallbacks}=layout;(0,_useLayoutRules.useLayoutRules)({layout,declared,rules,additionalData:additionalRulesData});let{dispatch}=(0,_context.useLayoutStore)(),persistence=(0,_context.useLayoutPersistence)(),resolvedKey=persistenceKey??persistence.persistenceKey,resolvedStorage=storage??persistence.storage,{isMobile}=(0,_useBreakpoints.useBreakpoints)(),showMobileSplitStack=(0,_useMobileSplitView.useMobileSplitViewEnabled)(),[mobileSplitStackHost,setMobileSplitStackHost]=(0,_react.useState)(null),[splitCount,setSplitCount]=(0,_react.useState)(0),registerSplit=(0,_react.useCallback)(()=>(setSplitCount(count=>count+1),()=>setSplitCount(count=>count-1)),[]),mobileSplitStack=(0,_react.useMemo)(()=>({host:mobileSplitStackHost,isSplitPresent:splitCount>0,registerSplit}),[mobileSplitStackHost,splitCount,registerSplit]),rightPanelVariant=layoutState[_constants.Slot.rightPanel].variant??declared[_constants.Slot.rightPanel]?.variant??"sidebar",isRightPanelFloating=!isMobile&&"float"===rightPanelVariant,hasOffcanvasLeftBar=!!declared[_constants.Slot.leftPanel]&&"offcanvas"===layoutState[_constants.Slot.leftPanel].variant,isShown=slot=>layoutState[slot].visible&&!(slot===_constants.Slot.rightPanel&&(isRightPanelFloating||isMobile))&&(slot!==_constants.Slot.leftPanel||"sidebar"===layoutState.leftPanel.variant),[present,setPresent]=(0,_react.useState)({}),presence=(0,_react.useMemo)(()=>({setPresent:(slot,isPresent)=>setPresent(prev=>prev[slot]===isPresent?prev:{...prev,[slot]:isPresent})}),[]),panelHandles=(0,_react.useRef)({}),panelElements=(0,_react.useRef)({}),resizeSuppressed=(0,_react.useRef)({}),animationControl=(0,_react.useMemo)(()=>({setHandle:(slot,handle)=>{panelHandles.current[slot]=handle},getHandle:slot=>panelHandles.current[slot]??null,setElement:(slot,element)=>{panelElements.current[slot]=element},getElement:slot=>panelElements.current[slot]??null,setResizeSuppressed:(slot,suppressed)=>{resizeSuppressed.current[slot]=suppressed}}),[]),panelRefCallbacks=(0,_react.useMemo)(()=>{let handleCallbacks=new Map,elementCallbacks=new Map;return{handleFor:id=>{let callback=handleCallbacks.get(id);return callback||(callback=handle=>animationControl.setHandle(id,handle),handleCallbacks.set(id,callback)),callback},elementFor:id=>{let callback=elementCallbacks.get(id);return callback||(callback=element=>animationControl.setElement(id,element),elementCallbacks.set(id,callback)),callback}}},[animationControl]),shouldSuppressLayoutCallback=(0,_react.useCallback)(()=>Object.values(resizeSuppressed.current).some(Boolean),[]),registry=(0,_react.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})}),[]),{portalTargets,slotHosts,slotHostRefs,floatHostRef}=(0,_usePortalTargets.usePortalTargets)({slots:_constants.PANEL_ORDER,floatableSlot:_constants.Slot.rightPanel,isFloating:isRightPanelFloating}),[layoutRoot,setLayoutRoot]=(0,_react.useState)(null),rootPortalTargets=(0,_react.useMemo)(()=>({...portalTargets,root:layoutRoot}),[portalTargets,layoutRoot]);useGlobalCssVariables({slotHosts,root:layoutRoot,mobileHost:mobileSplitStackHost});let rowSlots=_constants.PANEL_ORDER.filter(slot=>slot!==_constants.Slot.splitview),declaredSlots=rowSlots.filter(slot=>declared[slot]),isSolo=declaredSlots.length<=1,soloSlot=declaredSlots[0],isSplitOpen=isPanelPresent({slot:_constants.Slot.splitview,declared,present,isShown})&&isPanelPresent({slot:_constants.Slot.content,declared,present,isShown}),contentColumn=_react.default.createElement(StyledContentColumn,{isSplitOpen:isSplitOpen},_react.default.createElement(StyledContentColumnHalf,{ref:slotHostRefs[_constants.Slot.content]}),isSplitOpen&&_react.default.createElement(StyledContentColumnHalf,{ref:slotHostRefs[_constants.Slot.splitview]})),panelItems=rowSlots.filter(slot=>isPanelPresent({slot,declared,present,isShown})).map(slot=>{let panel=declared[slot],panelState=layoutState[slot];return{id:slot,gapBefore:slot===_constants.Slot.rightPanel,child:childFor(slot,contentColumn,slotHostRefs),defaultSize:defaultSizeFor({slot,panel,panelState}),minSize:panel?.minSize,maxSize:panel?.maxSize,collapsible:slot!==_constants.Slot.content&&(panel?.collapsible??!0),lockWidthOnWindowResize:panel?.lockWidthOnWindowResize,resizable:panel?.resizable??resizableFromState(panelState)}}),rowKey=panelItems.map(item=>item.id).join(","),soloHost=soloSlot&&isShown(soloSlot)?childFor(soloSlot,contentColumn,slotHostRefs):null,panelGroup=panelItems.length>0?_react.default.createElement(_Panel.Panel,{key:resolvedKey,panels:panelItems,persistenceKey:resolvedKey,storage:resolvedStorage,onResize:(id,size)=>{isShown(id)&&declared[id]?.resizable!==!1&&dispatch({type:"resize",slot:id,size:declared[id]?.lockWidthOnWindowResize?Math.round(size.inPixels):`${size.asPercentage}%`})},onCollapse:id=>panelCallbacks[id].hide(),panelHandleFor:panelRefCallbacks.handleFor,panelElementFor:panelRefCallbacks.elementFor,shouldSuppressLayoutCallback:shouldSuppressLayoutCallback}):null;return _react.default.createElement(_registry.PanelRegistryContext.Provider,{value:registry},_react.default.createElement(_registry.PanelDeclarationsContext.Provider,{value:declared},_react.default.createElement(_registry.PanelPresenceContext.Provider,{value:presence},_react.default.createElement(_registry.PanelAnimationContext.Provider,{value:animationControl},_react.default.createElement(_registry.PanelRowContext.Provider,{value:rowKey},_react.default.createElement(_registry.LayoutPortalContext.Provider,{value:rootPortalTargets},_react.default.createElement(_LayoutFloatDragProvider.LayoutFloatDragProvider,null,_react.default.createElement(_useMobileSplitStack.MobileSplitStackContext.Provider,{value:mobileSplitStack},_react.default.createElement(StyledLayout,{ref:setLayoutRoot,"data-ds-id":"Layout"},_react.default.createElement(StyledPanelRow,{hasOffcanvasLeftBar:hasOffcanvasLeftBar},isSolo?soloHost:panelGroup),isRightPanelFloating&&layoutState[_constants.Slot.rightPanel].visible&&_react.default.createElement(_LayoutFloat.LayoutFloat,{hostRef:floatHostRef}),children,showMobileSplitStack&&_react.default.createElement(StyledMobileSplitStackHost,{ref:setMobileSplitStackHost}))))))))))};Layout.Provider=_LayoutProvider.LayoutProvider,Layout.BottomBar=_LayoutBottomBar.LayoutBottomBar,Layout.BottomBarItem=_LayoutBottomBarItem.LayoutBottomBarItem,Layout.LeftPanel=_LeftPanel.LeftPanel,Layout.LeftNavBar=_LeftNavBar.LeftNavBar,Layout.LeftNavBarFooter=_LeftNavBarFooter.LeftNavBarFooter,Layout.LeftPanelHeader=_LeftPanelHeader.LeftPanelHeader,Layout.LeftPanelFooter=_LeftPanelFooter.LeftPanelFooter,Layout.RightPanel=_RightPanel.RightPanel,Layout.RightPanelHeader=_RightPanelHeader.RightPanelHeader,Layout.RightPanelFooter=_RightPanelFooter.RightPanelFooter,Layout.Content=_Content.Content,Layout.ContentHeader=_ContentHeader.ContentHeader,Layout.ContentFooter=_ContentFooter.ContentFooter,Layout.Split=_Split.Split,Layout.SplitHeader=_SplitHeader.SplitHeader,Layout.SplitFooter=_SplitFooter.SplitFooter;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get Layout(){return Layout},get PANEL_HOST_DS_ID(){return PANEL_HOST_DS_ID}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_Panel=require("../Internal/Panel/Panel"),_LayoutFloat=require("../Internal/LayoutFloat/LayoutFloat"),_useBreakpoints=require("../../shared/useBreakpoints"),_constants=require("./-constants"),_context=require("./context"),_useMobileSplitStack=require("./Split/MobileSplitView/useMobileSplitStack"),_useMobileSplitView=require("./Split/MobileSplitView/useMobileSplitView"),_LayoutProvider=require("./LayoutProvider"),_LayoutBottomBar=require("./BottomBar/LayoutBottomBar"),_LayoutBottomBarItem=require("./BottomBar/BottomBarItem/LayoutBottomBarItem"),_Content=require("./Content/Content"),_ContentHeader=require("./Content/ContentHeader"),_ContentFooter=require("./Content/ContentFooter"),_RightPanel=require("./RightPanel/RightPanel"),_RightPanelHeader=require("./RightPanel/RightPanelHeader"),_RightPanelFooter=require("./RightPanel/RightPanelFooter"),_LeftPanel=require("./LeftPanel/LeftPanel"),_LeftPanelHeader=require("./LeftPanel/LeftPanelHeader"),_LeftPanelFooter=require("./LeftPanel/LeftPanelFooter"),_LeftNavBar=require("./LeftNavBar/LeftNavBar"),_LeftNavBarFooter=require("./LeftNavBar/LeftNavBarFooter"),_Split=require("./Split/Split"),_LayoutSplitColumns=require("./Split/LayoutSplitColumns"),_SplitHeader=require("./Split/SplitHeader"),_SplitFooter=require("./Split/SplitFooter"),_registry=require("./registry"),_usePortalTargets=require("./usePortalTargets"),_LayoutFloatDragProvider=require("../Internal/LayoutFloat/LayoutFloatDragProvider"),_LayoutCssVars=require("./LayoutCssVars"),_useLayout=require("./useLayout"),_useLayoutRules=require("./useLayoutRules"),_rules=require("./rules"),resizableFromState=slotState=>"sidePanel"===slotState.kind?slotState.resizable:void 0,useGlobalCssVariables=({slotHosts,root,mobileHost})=>{let leftPanelWidthCssVar=(0,_LayoutCssVars.useLayoutVar)(_constants.PANEL_WIDTH_VAR.leftPanel),contentWidthCssVar=(0,_LayoutCssVars.useLayoutVar)(_constants.PANEL_WIDTH_VAR.content),splitviewWidthCssVar=(0,_LayoutCssVars.useLayoutVar)(_constants.PANEL_WIDTH_VAR.splitview),rightPanelWidthCssVar=(0,_LayoutCssVars.useLayoutVar)(_constants.PANEL_WIDTH_VAR.rightPanel),leftPanelStartCssVar=(0,_LayoutCssVars.useLayoutVar)(_constants.PANEL_START_VAR.leftPanel),contentStartCssVar=(0,_LayoutCssVars.useLayoutVar)(_constants.PANEL_START_VAR.content),splitviewStartCssVar=(0,_LayoutCssVars.useLayoutVar)(_constants.PANEL_START_VAR.splitview),rightPanelStartCssVar=(0,_LayoutCssVars.useLayoutVar)(_constants.PANEL_START_VAR.rightPanel),regionsReadyCssVar=(0,_LayoutCssVars.useLayoutVar)(_constants.LAYOUT_REGIONS_READY_VAR),publishRegions=(0,_react.useCallback)(()=>{if(!root)return;let targets=[[_constants.Slot.leftPanel,leftPanelWidthCssVar,leftPanelStartCssVar],[_constants.Slot.content,contentWidthCssVar,contentStartCssVar],[_constants.Slot.splitview,splitviewWidthCssVar,splitviewStartCssVar],[_constants.Slot.rightPanel,rightPanelWidthCssVar,rightPanelStartCssVar]],rootRect=root.getBoundingClientRect();targets.forEach(([slot,widthCssVar,startCssVar])=>{let rect=slotHosts[slot]?.getBoundingClientRect(),isMobileRegion=!!mobileHost&&(slot===_constants.Slot.content||slot===_constants.Slot.splitview),width=isMobileRegion?rootRect.width:rect?.width??0,start=isMobileRegion||!rect?0:rect.left-rootRect.left;widthCssVar.set(`${width}px`),startCssVar.set(`${start}px`)}),regionsReadyCssVar.set("1")},[slotHosts,root,mobileHost,leftPanelWidthCssVar,contentWidthCssVar,splitviewWidthCssVar,rightPanelWidthCssVar,leftPanelStartCssVar,contentStartCssVar,splitviewStartCssVar,rightPanelStartCssVar,regionsReadyCssVar]);(0,_react.useLayoutEffect)(()=>{publishRegions()},[publishRegions]),(0,_react.useLayoutEffect)(()=>{if(!root||"undefined"==typeof ResizeObserver)return;let observer=new ResizeObserver(publishRegions);return observer.observe(root),Object.values(slotHosts).forEach(host=>{host&&observer.observe(host)}),()=>observer.disconnect()},[root,slotHosts,publishRegions])},StyledLayout=(0,_styled.default)("div",{target:"e126c9ie0",label:"StyledLayout"})({position:"relative",height:"100%",width:"100%"}),StyledPanelRow=(0,_styled.default)("div",{target:"e126c9ie1",label:"StyledPanelRow"})(({theme,hasOffcanvasLeftBar})=>({height:"100%",boxSizing:"border-box",...hasOffcanvasLeftBar&&{paddingLeft:theme.variables.size.dimension.leftNavBar.width}})),StyledPanelHost=(0,_styled.default)("div",{target:"e126c9ie2",label:"StyledPanelHost"})({position:"relative",height:"100%",width:"100%"}),PANEL_HOST_DS_ID="PanelHost",StyledMobileSplitStackHost=(0,_styled.default)("div",{target:"e126c9ie3",label:"StyledMobileSplitStackHost"})({position:"absolute",top:0,left:0,right:0,bottom:_constants.PAGE_BOTTOM_BAR_INSET,overflow:"hidden",pointerEvents:"none"}),isPanelPresent=({slot,declared,present,isShown})=>!!(declared[slot]&&(isShown(slot)||present[slot])),defaultSizeFor=({slot,panel,panelState})=>slot===_constants.Slot.content?void 0:panel?.defaultSize!==void 0?panel.defaultSize:panel?.resizable!==!1?panelState.size:void 0,childFor=(slot,contentColumn,slotHostRefs)=>slot===_constants.Slot.content?contentColumn:_react.default.createElement(StyledPanelHost,{"data-ds-id":PANEL_HOST_DS_ID,ref:slotHostRefs[slot]}),Layout=function({children,persistenceKey,storage,rules=_rules.DEFAULT_LAYOUT_RULES,additionalRulesData}){let[declared,setDeclared]=(0,_react.useState)({}),layout=(0,_useLayout.useLayout)(),{state:layoutState,...panelCallbacks}=layout;(0,_useLayoutRules.useLayoutRules)({layout,declared,rules,additionalData:additionalRulesData});let{dispatch}=(0,_context.useLayoutStore)(),persistence=(0,_context.useLayoutPersistence)(),resolvedKey=persistenceKey??persistence.persistenceKey,resolvedStorage=storage??persistence.storage,{isMobile}=(0,_useBreakpoints.useBreakpoints)(),showMobileSplitStack=(0,_useMobileSplitView.useMobileSplitViewEnabled)(),[mobileSplitStackHost,setMobileSplitStackHost]=(0,_react.useState)(null),[splitCount,setSplitCount]=(0,_react.useState)(0),registerSplit=(0,_react.useCallback)(()=>(setSplitCount(count=>count+1),()=>setSplitCount(count=>count-1)),[]),mobileSplitStack=(0,_react.useMemo)(()=>({host:mobileSplitStackHost,isSplitPresent:splitCount>0,registerSplit}),[mobileSplitStackHost,splitCount,registerSplit]),rightPanelVariant=layoutState[_constants.Slot.rightPanel].variant??declared[_constants.Slot.rightPanel]?.variant??"sidebar",isRightPanelFloating=!isMobile&&"float"===rightPanelVariant,hasOffcanvasLeftBar=!!declared[_constants.Slot.leftPanel]&&"offcanvas"===layoutState[_constants.Slot.leftPanel].variant,isShown=slot=>layoutState[slot].visible&&!(slot===_constants.Slot.rightPanel&&(isRightPanelFloating||isMobile))&&(slot!==_constants.Slot.leftPanel||"sidebar"===layoutState.leftPanel.variant),[present,setPresent]=(0,_react.useState)({}),presence=(0,_react.useMemo)(()=>({setPresent:(slot,isPresent)=>setPresent(prev=>prev[slot]===isPresent?prev:{...prev,[slot]:isPresent})}),[]),panelHandles=(0,_react.useRef)({}),panelElements=(0,_react.useRef)({}),resizeSuppressed=(0,_react.useRef)({}),animationControl=(0,_react.useMemo)(()=>({setHandle:(slot,handle)=>{panelHandles.current[slot]=handle},getHandle:slot=>panelHandles.current[slot]??null,setElement:(slot,element)=>{panelElements.current[slot]=element},getElement:slot=>panelElements.current[slot]??null,setResizeSuppressed:(slot,suppressed)=>{resizeSuppressed.current[slot]=suppressed}}),[]),panelRefCallbacks=(0,_react.useMemo)(()=>{let handleCallbacks=new Map,elementCallbacks=new Map;return{handleFor:id=>{let callback=handleCallbacks.get(id);return callback||(callback=handle=>animationControl.setHandle(id,handle),handleCallbacks.set(id,callback)),callback},elementFor:id=>{let callback=elementCallbacks.get(id);return callback||(callback=element=>animationControl.setElement(id,element),elementCallbacks.set(id,callback)),callback}}},[animationControl]),shouldSuppressLayoutCallback=(0,_react.useCallback)(()=>Object.values(resizeSuppressed.current).some(Boolean),[]),registry=(0,_react.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})}),[]),{portalTargets,slotHosts,slotHostRefs,floatHostRef}=(0,_usePortalTargets.usePortalTargets)({slots:_constants.PANEL_ORDER,floatableSlot:_constants.Slot.rightPanel,isFloating:isRightPanelFloating}),[layoutRoot,setLayoutRoot]=(0,_react.useState)(null),rootPortalTargets=(0,_react.useMemo)(()=>({...portalTargets,root:layoutRoot}),[portalTargets,layoutRoot]);useGlobalCssVariables({slotHosts,root:layoutRoot,mobileHost:mobileSplitStackHost});let rowSlots=_constants.PANEL_ORDER.filter(slot=>slot!==_constants.Slot.splitview),declaredSlots=rowSlots.filter(slot=>declared[slot]),isSolo=declaredSlots.length<=1,soloSlot=declaredSlots[0],isSplitOpen=isPanelPresent({slot:_constants.Slot.splitview,declared,present,isShown})&&isPanelPresent({slot:_constants.Slot.content,declared,present,isShown}),contentColumn=_react.default.createElement(_LayoutSplitColumns.LayoutSplitColumns,{isSplitOpen:isSplitOpen,declared:declared,splitState:layoutState.splitview,contentHostRef:slotHostRefs[_constants.Slot.content],splitHostRef:slotHostRefs[_constants.Slot.splitview]}),panelItems=rowSlots.filter(slot=>isPanelPresent({slot,declared,present,isShown})).map(slot=>{let panel=declared[slot],panelState=layoutState[slot];return{id:slot,gapBefore:slot===_constants.Slot.rightPanel,child:childFor(slot,contentColumn,slotHostRefs),defaultSize:defaultSizeFor({slot,panel,panelState}),minSize:slot===_constants.Slot.content?void 0:panel?.minSize,maxSize:panel?.maxSize,collapsible:slot!==_constants.Slot.content&&(panel?.collapsible??!0),lockWidthOnWindowResize:panel?.lockWidthOnWindowResize,resizable:panel?.resizable??resizableFromState(panelState)}}),rowKey=panelItems.map(item=>item.id).join(","),soloHost=soloSlot&&isShown(soloSlot)?childFor(soloSlot,contentColumn,slotHostRefs):null,panelGroup=panelItems.length>0?_react.default.createElement(_Panel.Panel,{key:resolvedKey,panels:panelItems,persistenceKey:resolvedKey,storage:resolvedStorage,onResize:(id,size)=>{isShown(id)&&declared[id]?.resizable!==!1&&dispatch({type:"resize",slot:id,size:declared[id]?.lockWidthOnWindowResize?Math.round(size.inPixels):`${size.asPercentage}%`})},onCollapse:id=>panelCallbacks[id].hide(),panelHandleFor:panelRefCallbacks.handleFor,panelElementFor:panelRefCallbacks.elementFor,shouldSuppressLayoutCallback:shouldSuppressLayoutCallback}):null;return _react.default.createElement(_registry.PanelRegistryContext.Provider,{value:registry},_react.default.createElement(_registry.PanelDeclarationsContext.Provider,{value:declared},_react.default.createElement(_registry.PanelPresenceContext.Provider,{value:presence},_react.default.createElement(_registry.PanelAnimationContext.Provider,{value:animationControl},_react.default.createElement(_registry.PanelRowContext.Provider,{value:rowKey},_react.default.createElement(_registry.LayoutPortalContext.Provider,{value:rootPortalTargets},_react.default.createElement(_LayoutFloatDragProvider.LayoutFloatDragProvider,null,_react.default.createElement(_useMobileSplitStack.MobileSplitStackContext.Provider,{value:mobileSplitStack},_react.default.createElement(StyledLayout,{ref:setLayoutRoot,"data-ds-id":"Layout"},_react.default.createElement(StyledPanelRow,{hasOffcanvasLeftBar:hasOffcanvasLeftBar},isSolo?soloHost:panelGroup),isRightPanelFloating&&layoutState[_constants.Slot.rightPanel].visible&&_react.default.createElement(_LayoutFloat.LayoutFloat,{hostRef:floatHostRef}),children,showMobileSplitStack&&_react.default.createElement(StyledMobileSplitStackHost,{ref:setMobileSplitStackHost}))))))))))};Layout.Provider=_LayoutProvider.LayoutProvider,Layout.BottomBar=_LayoutBottomBar.LayoutBottomBar,Layout.BottomBarItem=_LayoutBottomBarItem.LayoutBottomBarItem,Layout.LeftPanel=_LeftPanel.LeftPanel,Layout.LeftNavBar=_LeftNavBar.LeftNavBar,Layout.LeftNavBarFooter=_LeftNavBarFooter.LeftNavBarFooter,Layout.LeftPanelHeader=_LeftPanelHeader.LeftPanelHeader,Layout.LeftPanelFooter=_LeftPanelFooter.LeftPanelFooter,Layout.RightPanel=_RightPanel.RightPanel,Layout.RightPanelHeader=_RightPanelHeader.RightPanelHeader,Layout.RightPanelFooter=_RightPanelFooter.RightPanelFooter,Layout.Content=_Content.Content,Layout.ContentHeader=_ContentHeader.ContentHeader,Layout.ContentFooter=_ContentFooter.ContentFooter,Layout.Split=_Split.Split,Layout.SplitHeader=_SplitHeader.SplitHeader,Layout.SplitFooter=_SplitFooter.SplitFooter;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"LeftBarToggle",{enumerable:!0,get:function(){return LeftBarToggle}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/_interop_require_default._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_SandwichHeader=require("../../Internal/Sandwich/SandwichHeader"),_PictogramButton=require("../../PictogramButton/PictogramButton"),_constants=require("../-constants"),_useLayout=require("../useLayout"),_useLeftPanelId=require("../useLeftPanelId"),StyledToggleCell=(0,_styled.default)("div",{target:"es7jo4k0",label:"StyledToggleCell"})(({theme,applyNegativeMargins})=>({display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,"& > button":{padding:theme.variables.size.spacing.s},paddingBlock:theme.variables.size.spacing.s,...applyNegativeMargins&&{width:`calc(${theme.variables.size.dimension.leftNavBar.width} - 2 * (${theme.variables.size.spacing[_constants.LEFT_BAR_BUTTON_INSET.hSpace]} - ${theme.variables.size.spacing[_constants.LEFT_BAR_BUTTON_INSET.vSpace]}))`,margin:`calc(-1 * ${theme.variables.size.spacing[_constants.LEFT_BAR_BUTTON_INSET.vSpace]})`}}));function LeftBarToggle({"aria-label":ariaLabel,"data-e2e-test-id":dataE2eTestId,buttonRef,inHeader=!1}){let{show,hide,isVisible}=(0,_useLayout.useLayout)()[_constants.Slot.leftPanel],leftPanelId=(0,_useLeftPanelId.useLeftPanelId)(),toggle=_react.default.createElement(StyledToggleCell,{applyNegativeMargins:inHeader},_react.default.createElement(_PictogramButton.PictogramButton,{ref:buttonRef,icon:"open-sidebar-left",size:"s",onClick:isVisible?hide:show,"aria-label":ariaLabel,"data-e2e-test-id":dataE2eTestId,"aria-controls":leftPanelId,"aria-expanded":isVisible}));return inHeader?toggle:_react.default.createElement(_SandwichHeader.StyledHeader,{showBorder:!1},toggle)}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"LeftBarToggle",{enumerable:!0,get:function(){return LeftBarToggle}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/_interop_require_default._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_SandwichHeader=require("../../Internal/Sandwich/SandwichHeader"),_PictogramButton=require("../../PictogramButton/PictogramButton"),_constants=require("../-constants"),_context=require("../context"),_useLeftPanelId=require("../useLeftPanelId"),StyledToggleCell=(0,_styled.default)("div",{target:"e1gnnhwy0",label:"StyledToggleCell"})(({theme,applyNegativeMargins})=>({display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,"& > button":{padding:theme.variables.size.spacing.s},paddingBlock:theme.variables.size.spacing.s,...applyNegativeMargins&&{width:`calc(${theme.variables.size.dimension.leftNavBar.width} - 2 * (${theme.variables.size.spacing[_constants.LEFT_BAR_BUTTON_INSET.hSpace]} - ${theme.variables.size.spacing[_constants.LEFT_BAR_BUTTON_INSET.vSpace]}))`,margin:`calc(-1 * ${theme.variables.size.spacing[_constants.LEFT_BAR_BUTTON_INSET.vSpace]})`}}));function LeftBarToggle({"aria-label":ariaLabel,"data-e2e-test-id":dataE2eTestId,buttonRef,inHeader=!1}){let isVisible=(0,_context.useLayoutSelector)(state=>state.leftPanel.visible),{dispatch}=(0,_context.useLayoutStore)(),leftPanelId=(0,_useLeftPanelId.useLeftPanelId)(),toggle=_react.default.createElement(StyledToggleCell,{applyNegativeMargins:inHeader},_react.default.createElement(_PictogramButton.PictogramButton,{ref:buttonRef,icon:"open-sidebar-left",size:"s",onClick:()=>dispatch({type:"setVisible",slot:_constants.Slot.leftPanel,visible:!isVisible}),"aria-label":ariaLabel,"data-e2e-test-id":dataE2eTestId,"aria-controls":leftPanelId,"aria-expanded":isVisible}));return inHeader?toggle:_react.default.createElement(_SandwichHeader.StyledHeader,{showBorder:!1},toggle)}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"LeftPanel",{enumerable:!0,get:function(){return LeftPanel}});const _react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_react1=require("@emotion/react"),_constants=require("../-constants"),_registry=require("../registry"),_useLayout=require("../useLayout"),_useLeftPanelId=require("../useLeftPanelId"),_LeftPanelDocked=require("./LeftPanelDocked"),_LeftPanelDrawer=require("./LeftPanelDrawer"),_LeftPanelOffcanvas=require("./LeftPanelOffcanvas"),LeftPanel=({children,slotProps,collapsible=!0,onVisibleChange,"aria-label":ariaLabel,scrollContainerRef,onScroll})=>{let{isVisible,hide,state}=(0,_useLayout.useLayout)()[_constants.Slot.leftPanel],leftPanelId=(0,_react.useId)(),openWidth=(0,_react1.useTheme)().variables.layout.leftPanel.width.open;(0,_registry.useVisibleChange)(isVisible,onVisibleChange);let drawer=_react.default.createElement(_LeftPanelDrawer.LeftPanelDrawer,{isVisible:isVisible,hide:hide,"aria-label":ariaLabel,scrollContainerRef:scrollContainerRef,onScroll:onScroll},children),offcanvas=_react.default.createElement(_LeftPanelOffcanvas.LeftPanelOffcanvas,{slotProps:slotProps,isVisible:isVisible,hide:hide,openWidth:openWidth,"aria-label":ariaLabel,scrollContainerRef:scrollContainerRef,onScroll:onScroll},children),docked=_react.default.createElement(_LeftPanelDocked.LeftPanelDocked,{slotProps:slotProps,"aria-label":ariaLabel,defaultSize:parseFloat(openWidth),collapsible:collapsible,scrollContainerRef:scrollContainerRef,onScroll:onScroll},children);return _react.default.createElement(_useLeftPanelId.LeftPanelIdContext.Provider,{value:leftPanelId},{drawer,offcanvas,sidebar:docked}[state.variant])};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"LeftPanel",{enumerable:!0,get:function(){return LeftPanel}});const _react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_react1=require("@emotion/react"),_constants=require("../-constants"),_registry=require("../registry"),_context=require("../context"),_useLeftPanelId=require("../useLeftPanelId"),_LeftPanelDocked=require("./LeftPanelDocked"),_LeftPanelDrawer=require("./LeftPanelDrawer"),_LeftPanelOffcanvas=require("./LeftPanelOffcanvas"),LeftPanel=({children,slotProps,collapsible=!0,onVisibleChange,"aria-label":ariaLabel,scrollContainerRef,onScroll})=>{let state=(0,_context.useLayoutSelector)(layoutState=>layoutState.leftPanel),{dispatch}=(0,_context.useLayoutStore)(),isVisible=state.visible,hide=()=>dispatch({type:"setVisible",slot:_constants.Slot.leftPanel,visible:!1}),leftPanelId=(0,_react.useId)(),openWidth=(0,_react1.useTheme)().variables.layout.leftPanel.width.open;(0,_registry.useVisibleChange)(isVisible,onVisibleChange);let drawer=_react.default.createElement(_LeftPanelDrawer.LeftPanelDrawer,{isVisible:isVisible,hide:hide,"aria-label":ariaLabel,scrollContainerRef:scrollContainerRef,onScroll:onScroll},children),offcanvas=_react.default.createElement(_LeftPanelOffcanvas.LeftPanelOffcanvas,{slotProps:slotProps,isVisible:isVisible,hide:hide,openWidth:openWidth,"aria-label":ariaLabel,scrollContainerRef:scrollContainerRef,onScroll:onScroll},children),docked=_react.default.createElement(_LeftPanelDocked.LeftPanelDocked,{slotProps:slotProps,"aria-label":ariaLabel,defaultSize:parseFloat(openWidth),collapsible:collapsible,scrollContainerRef:scrollContainerRef,onScroll:onScroll},children);return _react.default.createElement(_useLeftPanelId.LeftPanelIdContext.Provider,{value:leftPanelId},{drawer,offcanvas,sidebar:docked}[state.variant??_constants.DEFAULT_LEFT_PANEL_VARIANT])};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"LeftPanelDocked",{enumerable:!0,get:function(){return LeftPanelDocked}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/_interop_require_default._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_react1=require("@emotion/react"),_constants=require("../-constants"),_registry=require("../registry"),_usePanelDockedSlide=require("../usePanelDockedSlide"),_LeftBarLayers=require("./LeftBarLayers"),_useLayout=require("../useLayout"),StyledLeftBarColumn=(0,_styled.default)("div",{target:"e1crtgka0",label:"StyledLeftBarColumn"})(({theme})=>({position:"absolute",left:0,right:0,top:_LeftBarLayers.LEFT_BAR_TOP_INSET,bottom:_constants.PAGE_BOTTOM_BAR_INSET,transition:(0,_LeftBarLayers.getLeftBarTopTransition)(theme),"@media (prefers-reduced-motion: reduce)":{transition:"none"},...(0,_LeftBarLayers.getLeftBarColumnStyles)(theme)})),LeftPanelDocked=({children,slotProps,"aria-label":ariaLabel,defaultSize,collapsible=!0,scrollContainerRef,onScroll})=>{let theme=(0,_react1.useTheme)(),{isVisible}=(0,_useLayout.useLayout)()[_constants.Slot.leftPanel],{fixedWidth}=(0,_usePanelDockedSlide.usePanelDockedSlide)({slot:_constants.Slot.leftPanel,defaultSize,collapsible,resizable:!1,lockWidthOnWindowResize:!0,collapsedSize:parseFloat(theme.variables.size.dimension.leftNavBar.width)});return(0,_registry.useLayoutPortal)(_constants.Slot.leftPanel,_react.default.createElement(StyledLeftBarColumn,null,_react.default.createElement(_LeftBarLayers.LeftBarLayers,{isVisible:isVisible,slotProps:slotProps,openWidth:`${fixedWidth??defaultSize}px`,"aria-label":ariaLabel,scrollContainerRef:scrollContainerRef,onScroll:onScroll},children)))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"LeftPanelDocked",{enumerable:!0,get:function(){return LeftPanelDocked}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/_interop_require_default._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_react1=require("@emotion/react"),_constants=require("../-constants"),_registry=require("../registry"),_usePanelDockedSlide=require("../usePanelDockedSlide"),_LeftBarLayers=require("./LeftBarLayers"),_context=require("../context"),StyledLeftBarColumn=(0,_styled.default)("div",{target:"ehfszj0",label:"StyledLeftBarColumn"})(({theme})=>({position:"absolute",left:0,right:0,top:_LeftBarLayers.LEFT_BAR_TOP_INSET,bottom:_constants.PAGE_BOTTOM_BAR_INSET,transition:(0,_LeftBarLayers.getLeftBarTopTransition)(theme),"@media (prefers-reduced-motion: reduce)":{transition:"none"},...(0,_LeftBarLayers.getLeftBarColumnStyles)(theme)})),LeftPanelDocked=({children,slotProps,"aria-label":ariaLabel,defaultSize,collapsible=!0,scrollContainerRef,onScroll})=>{let theme=(0,_react1.useTheme)(),isVisible=(0,_context.useLayoutSelector)(state=>state.leftPanel.visible),{fixedWidth}=(0,_usePanelDockedSlide.usePanelDockedSlide)({slot:_constants.Slot.leftPanel,defaultSize,collapsible,resizable:!1,lockWidthOnWindowResize:!0,collapsedSize:parseFloat(theme.variables.size.dimension.leftNavBar.width)});return(0,_registry.useLayoutPortal)(_constants.Slot.leftPanel,_react.default.createElement(StyledLeftBarColumn,null,_react.default.createElement(_LeftBarLayers.LeftBarLayers,{isVisible:isVisible,slotProps:slotProps,openWidth:`${fixedWidth??defaultSize}px`,"aria-label":ariaLabel,scrollContainerRef:scrollContainerRef,onScroll:onScroll},children)))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"LeftPanelHeader",{enumerable:!0,get:function(){return LeftPanelHeader}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/_interop_require_default._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_getLeftPanelFadeStyles=require("../../../shared/mixins/getLeftPanelFadeStyles"),_Sandwich=require("../../Internal/Sandwich/Sandwich"),_PanelHeader=require("../../Internal/PanelHeader/PanelHeader"),_useLeftPanelCollapseContext=require("./useLeftPanelCollapseContext"),StyledHeaderStrip=(0,_styled.default)("div",{target:"e183h5z80",label:"StyledHeaderStrip"})(({theme,isFaded,fixedContentWidth})=>({minWidth:fixedContentWidth,...(0,_getLeftPanelFadeStyles.getLeftPanelFadeStyles)({theme,isFaded})}));function LeftPanelHeader({leftSlot,title,rightSlot,children,"data-e2e-test-id":dataE2eTestId}){let{isContentFaded,fixedContentWidth}=(0,_useLeftPanelCollapseContext.useLeftPanelCollapseContext)();return _react.default.createElement(_Sandwich.Sandwich.Header,{"data-e2e-test-id":dataE2eTestId},_react.default.createElement(_PanelHeader.PanelHeader,{leftSlot:leftSlot,title:title,rightSlot:rightSlot,isContentFaded:isContentFaded}),children&&_react.default.createElement(StyledHeaderStrip,{isFaded:isContentFaded,fixedContentWidth:fixedContentWidth},children))}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"LeftPanelHeader",{enumerable:!0,get:function(){return LeftPanelHeader}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/_interop_require_default._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_getLeftPanelFadeStyles=require("../../../shared/mixins/getLeftPanelFadeStyles"),_Sandwich=require("../../Internal/Sandwich/Sandwich"),_PanelHeader=require("../../Internal/PanelHeader/PanelHeader"),_useLeftPanelCollapseContext=require("./useLeftPanelCollapseContext"),StyledHeaderStrip=(0,_styled.default)("div",{target:"elzurng0",label:"StyledHeaderStrip"})(({theme,isFaded,fixedContentWidth})=>({minWidth:fixedContentWidth,...(0,_getLeftPanelFadeStyles.getLeftPanelFadeStyles)({theme,isFaded})}));function LeftPanelHeader({leftSlot,title,rightSlot,children,"data-e2e-test-id":dataE2eTestId}){let{isContentFaded,fixedContentWidth}=(0,_useLeftPanelCollapseContext.useLeftPanelCollapseContext)();return _react.default.createElement(_Sandwich.Sandwich.Header,{showSeparator:isContentFaded?"never":"always","data-e2e-test-id":dataE2eTestId},_react.default.createElement(_PanelHeader.PanelHeader,{leftSlot:leftSlot,title:title,rightSlot:rightSlot,isContentFaded:isContentFaded}),children&&_react.default.createElement(StyledHeaderStrip,{isFaded:isContentFaded,fixedContentWidth:fixedContentWidth},children))}
@@ -6,6 +6,6 @@ export type LeftBarSlot = {
6
6
  * content alone. */
7
7
  slotNode: HTMLElement | null;
8
8
  };
9
- export declare const LeftBarProvider: import("react").Provider<LeftBarSlot>;
9
+ export declare const LeftBarProvider: React.Provider<LeftBarSlot>;
10
10
  /** The left bar slot behind the left panel, if this presentation has one. */
11
11
  export declare const useLeftBarContext: () => LeftBarSlot;
@@ -6,6 +6,6 @@ export type LeftPanelCollapseState = {
6
6
  * at the column's edge so nothing inside reflows on the way down. */
7
7
  fixedContentWidth?: string;
8
8
  };
9
- export declare const LeftPanelCollapseProvider: import("react").Provider<LeftPanelCollapseState>;
9
+ export declare const LeftPanelCollapseProvider: React.Provider<LeftPanelCollapseState>;
10
10
  /** How the left panel's parts have to behave while its column narrows. */
11
11
  export declare const useLeftPanelCollapseContext: () => LeftPanelCollapseState;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"RightPanel",{enumerable:!0,get:function(){return RightPanel}});const _react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_default")._(require("react")),_react1=require("@emotion/react"),_constants=require("../-constants"),_registry=require("../registry"),_useLayout=require("../useLayout"),_useBreakpoints=require("../../../shared/useBreakpoints"),_RightPanelDocked=require("./RightPanelDocked"),_RightPanelSheet=require("./RightPanelSheet"),RightPanel=({children,defaultSize,collapsible=!1,resizable,variant="sidebar",onVisibleChange,onVariantChange,"aria-label":ariaLabel,scrollContainerRef,onScroll})=>{let{state:layoutState,[_constants.Slot.rightPanel]:panel}=(0,_useLayout.useLayout)(),{isVisible,hide}=panel,{isMobile}=(0,_useBreakpoints.useBreakpoints)(),{width,minWidth,maxWidth}=(0,_react1.useTheme)().variables.layout.rightPanel,resolvedDefaultSize=defaultSize??width.open;(0,_registry.useDeclarePanel)(_constants.Slot.rightPanel,{defaultSize:resolvedDefaultSize,minSize:minWidth.default,maxSize:maxWidth.default,collapsible,resizable,lockWidthOnWindowResize:"number"==typeof resolvedDefaultSize||resolvedDefaultSize.trim().endsWith("px"),variant});let resolvedVariant=layoutState[_constants.Slot.rightPanel].variant??variant;return(0,_registry.useRunCallbackOnValueChange)(isVisible,onVisibleChange),(0,_registry.useRunCallbackOnValueChange)(resolvedVariant,onVariantChange),isMobile?_react.default.createElement(_RightPanelSheet.RightPanelSheet,{isVisible:isVisible,hide:hide,"aria-label":ariaLabel,scrollContainerRef:scrollContainerRef,onScroll:onScroll},children):_react.default.createElement(_RightPanelDocked.RightPanelDocked,{isVisible:isVisible,variant:resolvedVariant,"aria-label":ariaLabel,scrollContainerRef:scrollContainerRef,onScroll:onScroll},children)};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"RightPanel",{enumerable:!0,get:function(){return RightPanel}});const _react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_default")._(require("react")),_react1=require("@emotion/react"),_constants=require("../-constants"),_registry=require("../registry"),_context=require("../context"),_useBreakpoints=require("../../../shared/useBreakpoints"),_RightPanelDocked=require("./RightPanelDocked"),_RightPanelSheet=require("./RightPanelSheet"),RightPanel=({children,defaultSize,collapsible=!1,resizable,variant="sidebar",onVisibleChange,onVariantChange,"aria-label":ariaLabel,scrollContainerRef,onScroll})=>{let state=(0,_context.useLayoutSelector)(layoutState=>layoutState.rightPanel),{dispatch}=(0,_context.useLayoutStore)(),isVisible=state.visible,{isMobile}=(0,_useBreakpoints.useBreakpoints)(),{width,minWidth,maxWidth}=(0,_react1.useTheme)().variables.layout.rightPanel,resolvedDefaultSize=defaultSize??width.open;(0,_registry.useDeclarePanel)(_constants.Slot.rightPanel,{defaultSize:resolvedDefaultSize,minSize:minWidth.default,maxSize:maxWidth.default,collapsible,resizable,lockWidthOnWindowResize:"number"==typeof resolvedDefaultSize||resolvedDefaultSize.trim().endsWith("px"),variant});let resolvedVariant=state.variant??variant;return(0,_registry.useRunCallbackOnValueChange)(isVisible,onVisibleChange),(0,_registry.useRunCallbackOnValueChange)(resolvedVariant,onVariantChange),isMobile?_react.default.createElement(_RightPanelSheet.RightPanelSheet,{isVisible:isVisible,hide:()=>dispatch({type:"setVisible",slot:_constants.Slot.rightPanel,visible:!1}),"aria-label":ariaLabel,scrollContainerRef:scrollContainerRef,onScroll:onScroll},children):_react.default.createElement(_RightPanelDocked.RightPanelDocked,{isVisible:isVisible,variant:resolvedVariant,"aria-label":ariaLabel,scrollContainerRef:scrollContainerRef,onScroll:onScroll},children)};
@@ -3,7 +3,7 @@ import type { ForwardedScrollProps, RightPanelVariant } from "../-types";
3
3
  export type RightPanelDockedProps = ForwardedScrollProps & {
4
4
  children: React.ReactNode;
5
5
  isVisible: boolean;
6
- /** Docked column vs. floating window, without page insets or the left border. */
6
+ /** Docked column vs. floating window, without page insets. */
7
7
  variant: RightPanelVariant;
8
8
  "aria-label": string;
9
9
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"RightPanelDocked",{enumerable:!0,get:function(){return RightPanelDocked}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/_interop_require_default._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_constants=require("../-constants"),_registry=require("../registry"),_PanelContainer=require("../PanelContainer"),StyledRightPanelSlot=(0,_styled.default)("div",{target:"e1qlsvva0",label:"StyledRightPanelSlot"})(({theme,isFloating})=>({position:"absolute",left:0,right:0,bottom:isFloating?0:_constants.RIGHT_PANEL_BOTTOM_BAR_INSET,top:isFloating?0:`var(${_constants.SUBNAV_OFFSET_VAR}, 0px)`,overflow:"hidden",transition:isFloating?"none":`top ${theme.variables.animation.navSlide.open.duration} ${theme.variables.animation.navSlide.open.timingFunction}`})),RightPanelDocked=({children,isVisible,variant,"aria-label":ariaLabel,scrollContainerRef,onScroll})=>(0,_registry.useLayoutPortal)(_constants.Slot.rightPanel,isVisible?_react.default.createElement(StyledRightPanelSlot,{isFloating:"float"===variant},_react.default.createElement(_PanelContainer.PanelContainer,{"aria-label":ariaLabel,scrollContainerRef:scrollContainerRef,onScroll:onScroll,showBorderLeft:"float"!==variant},children)):null);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"RightPanelDocked",{enumerable:!0,get:function(){return RightPanelDocked}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/_interop_require_default._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_constants=require("../-constants"),_registry=require("../registry"),_PanelContainer=require("../PanelContainer"),StyledRightPanelSlot=(0,_styled.default)("div",{target:"ejaw8en0",label:"StyledRightPanelSlot"})(({theme,isFloating})=>({position:"absolute",left:0,right:0,bottom:isFloating?0:_constants.RIGHT_PANEL_BOTTOM_BAR_INSET,top:isFloating?0:`var(${_constants.SUBNAV_OFFSET_VAR}, 0px)`,overflow:"hidden",transition:isFloating?"none":`top ${theme.variables.animation.navSlide.open.duration} ${theme.variables.animation.navSlide.open.timingFunction}`})),RightPanelDocked=({children,isVisible,variant,"aria-label":ariaLabel,scrollContainerRef,onScroll})=>(0,_registry.useLayoutPortal)(_constants.Slot.rightPanel,isVisible?_react.default.createElement(StyledRightPanelSlot,{isFloating:"float"===variant},_react.default.createElement(_PanelContainer.PanelContainer,{"aria-label":ariaLabel,scrollContainerRef:scrollContainerRef,onScroll:onScroll},children)):null);
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ import type { PanelDeclarations } from "../registry";
3
+ import type { SplitState } from "../-types";
4
+ type LayoutSplitColumnsProps = {
5
+ /** Whether the desktop split shares the content area. */
6
+ isSplitOpen: boolean;
7
+ /** Public marker declarations supply initial sizes and minima. */
8
+ declared: PanelDeclarations;
9
+ /** Requested width is kept independently from temporarily constrained geometry. */
10
+ splitState: SplitState;
11
+ /** Stable portal carriers preserve state and focus when widths change. */
12
+ contentHostRef: (element: HTMLElement | null) => void;
13
+ splitHostRef: (element: HTMLElement | null) => void;
14
+ "data-e2e-test-id"?: string;
15
+ };
16
+ /** Shared desktop geometry. The outer panel row still owns neighboring panels. */
17
+ export declare function LayoutSplitColumns({ isSplitOpen, declared, splitState, contentHostRef, splitHostRef, "data-e2e-test-id": dataE2eTestId, }: LayoutSplitColumnsProps): React.ReactElement;
18
+ export {};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"LayoutSplitColumns",{enumerable:!0,get:function(){return LayoutSplitColumns}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_react1=require("@emotion/react"),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_interactions=require("@react-aria/interactions"),_useWindow=require("../../../shared/useWindow"),_constants=require("../-constants"),_context=require("../context"),RESIZING_CURSOR_STYLES={"*, *::before, *::after":{cursor:"col-resize !important"}},StyledColumns=(0,_styled.default)("div",{target:"e1brkhop0",label:"StyledColumns"})(({theme,isSplitOpen})=>({position:"relative",display:"flex",height:`calc(100% - ${_constants.PAGE_BOTTOM_BAR_INSET})`,width:"100%",overflow:isSplitOpen?"hidden":void 0,...isSplitOpen&&{gap:theme.variables.size.spacing.xxs,maxWidth:theme.variables.layout.split.maxWidth.default,marginInline:"auto"}})),StyledContentHost=(0,_styled.default)("div",{target:"e1brkhop1",label:"StyledContentHost"})(({columnWidth,overlapOffset})=>({position:"relative",height:"100%",width:columnWidth??"100%",minWidth:0,flexShrink:0,marginInlineEnd:overlapOffset})),StyledSplitHost=(0,_styled.default)("div",{target:"e1brkhop2",label:"StyledSplitHost"})(({columnWidth,isOverlapping})=>({position:isOverlapping?"absolute":"relative",...isOverlapping&&{right:0,top:0},height:"100%",width:columnWidth,maxWidth:"100%",flexShrink:0})),StyledSeparator=(0,_styled.default)("div",{target:"e1brkhop3",label:"StyledSeparator"})(({theme,position,isOverlapping,canResize})=>({position:"absolute",top:0,bottom:0,left:position,width:theme.variables.size.spacing.xxs,"&::after":{content:'""',position:"absolute",top:0,bottom:0,right:0,width:isOverlapping?1:"100%",backgroundColor:theme.values.color.divider.primary,pointerEvents:"none"},cursor:canResize?"col-resize":"default",touchAction:"none",userSelect:"none","&:focus":{outline:"none","&::after":{left:"50%",right:"auto",width:0,outlineWidth:1,outlineStyle:"solid",outlineColor:"Highlight",outlineOffset:0,"@media (-webkit-min-device-pixel-ratio:0)":{outlineColor:"-webkit-focus-ring-color"}}}})),resolveSplitSize=size=>{if(void 0===size)return{fraction:.5,pixels:0};if("number"==typeof size)return{fraction:0,pixels:Number.isFinite(size)?size:0};let parsed=Number.parseFloat(size);return Number.isFinite(parsed)?size.endsWith("px")?{fraction:0,pixels:parsed}:{fraction:parsed/100,pixels:0}:{fraction:.5,pixels:0}};function LayoutSplitColumns({isSplitOpen,declared,splitState,contentHostRef,splitHostRef,"data-e2e-test-id":dataE2eTestId}){let{dispatch}=(0,_context.useLayoutStore)(),currentWindow=(0,_useWindow.useWindow)(),splitId=(0,_react.useId)(),columnRef=(0,_react.useRef)(null),separatorRef=(0,_react.useRef)(null),[dimensions,setDimensions]=(0,_react.useState)({width:0,gap:0}),[resizeReference,setResizeReference]=(0,_react.useState)(null),{width:available,gap}=dimensions;(0,_react.useLayoutEffect)(()=>{let column=columnRef.current;if(!column||!currentWindow)return;let measureColumns=()=>{let{width}=column.getBoundingClientRect(),separator=separatorRef.current,measuredGap=separator?.getBoundingClientRect().width??0;setDimensions(previous=>previous.width===width&&previous.gap===measuredGap?previous:{width,gap:measuredGap})};if(measureColumns(),"undefined"==typeof ResizeObserver)return;let observer=new ResizeObserver(measureColumns);return observer.observe(column),separatorRef.current&&observer.observe(separatorRef.current),()=>observer.disconnect()},[currentWindow,isSplitOpen]);let contentMinimumSize=resolveSplitSize(declared.content?.minSize??0),splitMinimumSize=Math.max(0,Number(declared.splitview?.minSize??0)),contentMinimum=Math.min(available,Math.max(0,available*contentMinimumSize.fraction+contentMinimumSize.pixels)),splitMinimum=Math.min(available,splitMinimumSize),allowsOverlap="overlap"===splitState.resizeBehavior,maximumSize=resolveSplitSize(declared.splitview?.maxSize??"90%"),splitMaximum=Math.max(0,Math.min(available,available*maximumSize.fraction+maximumSize.pixels)),maximum=allowsOverlap?splitMaximum:Math.min(splitMaximum,Math.max(0,available-contentMinimum-gap)),minimum=Math.min(splitMinimum,maximum),initialSize=resolveSplitSize(splitState.size??declared.splitview?.defaultSize),{fraction,pixels}=resizeReference&&splitState.size===resizeReference.size?{fraction:.5,pixels:resizeReference.size-resizeReference.available/2}:{fraction:initialSize.fraction,pixels:initialSize.pixels-gap*initialSize.fraction},splitWidth=Math.min(maximum,Math.max(minimum,available*fraction+pixels)),remaining=Math.max(0,available-splitWidth-gap),contentMinimumWidth=`max(0px, calc(${100*contentMinimumSize.fraction}% + ${contentMinimumSize.pixels}px))`,splitMaximumWidth=`max(0px, min(100%, calc(${100*maximumSize.fraction}% + ${maximumSize.pixels}px)))`,maximumWidth=allowsOverlap?splitMaximumWidth:`min(${splitMaximumWidth}, max(0px, calc(100% - ${contentMinimumWidth} - ${gap}px)))`,splitColumnWidth=`min(${maximumWidth}, max(${splitMinimumSize}px, calc(${100*fraction}% + ${pixels}px)))`,remainingWidth=`max(0px, calc(100% - ${splitColumnWidth} - ${gap}px))`,contentWidth=allowsOverlap?`min(100%, max(${contentMinimumWidth}, ${remainingWidth}))`:remainingWidth,isOverlapping=isSplitOpen&&allowsOverlap&&remaining<contentMinimum,canResize=declared.splitview?.resizable??splitState.resizable??!1,dragWidth=(0,_react.useRef)(splitWidth),[isPointerResizing,setIsPointerResizing]=(0,_react.useState)(!1);(0,_react.useEffect)(()=>{if(isSplitOpen&&canResize||setIsPointerResizing(!1),!isPointerResizing||!currentWindow)return;let stopResizeCursor=()=>setIsPointerResizing(!1);return currentWindow.addEventListener("blur",stopResizeCursor),()=>currentWindow.removeEventListener("blur",stopResizeCursor)},[isPointerResizing,isSplitOpen,canResize,currentWindow]),(0,_react.useLayoutEffect)(()=>{dispatch({type:"setSplitOverlap",overlapping:isOverlapping})},[dispatch,isOverlapping,splitState.isOverlapping]);let resizeSplit=width=>{let nextWidth=Math.min(maximum,Math.max(minimum,width));setResizeReference({size:nextWidth,available}),dispatch({type:"resize",slot:"splitview",size:nextWidth})},{moveProps}=(0,_interactions.useMove)({onMoveStart:()=>{dragWidth.current=splitWidth,separatorRef.current?.focus(),setIsPointerResizing(!0)},onMove:event=>{dragWidth.current-=event.deltaX,resizeSplit(dragWidth.current)},onMoveEnd:()=>setIsPointerResizing(!1)});return _react.default.createElement(StyledColumns,{ref:columnRef,isSplitOpen:isSplitOpen,"data-e2e-test-id":dataE2eTestId},isPointerResizing&&isSplitOpen&&canResize&&_react.default.createElement(_react1.Global,{styles:[RESIZING_CURSOR_STYLES]}),_react.default.createElement(StyledContentHost,{ref:contentHostRef,columnWidth:isSplitOpen?contentWidth:void 0,overlapOffset:isSplitOpen?`min(0px, calc(${remainingWidth} - ${contentWidth}))`:void 0}),isSplitOpen&&_react.default.createElement(_react.default.Fragment,null,_react.default.createElement(StyledSplitHost,{ref:splitHostRef,id:splitId,columnWidth:splitColumnWidth,isOverlapping:isOverlapping}),_react.default.createElement(StyledSeparator,{...canResize?moveProps:{},ref:separatorRef,position:remainingWidth,isOverlapping:isOverlapping,canResize:canResize,role:"separator","aria-orientation":"vertical","aria-controls":splitId,"aria-label":declared.splitview?.resizeHandleLabel,"aria-valuemin":minimum,"aria-valuemax":maximum,"aria-valuenow":splitWidth,"aria-disabled":!canResize||minimum===maximum,tabIndex:-1,onKeyDown:void 0})))}
@@ -18,5 +18,5 @@ export declare const StyledMobileSplitSlideLayer: import("@emotion/styled").Styl
18
18
  } & {
19
19
  offset: MobileSplitViewOffset;
20
20
  layer: MobileSplitLayer;
21
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
21
+ }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
22
22
  export {};
@@ -16,5 +16,5 @@ export type MobileSplitStackValue = {
16
16
  * front isn't stored here - it derives from the `splitview` slot's visibility
17
17
  * (see {@link useMobileSplitView}).
18
18
  */
19
- export declare const MobileSplitStackContext: import("react").Context<MobileSplitStackValue | null>;
19
+ export declare const MobileSplitStackContext: React.Context<MobileSplitStackValue | null>;
20
20
  export declare const useMobileSplitStack: () => MobileSplitStackValue;
@@ -2,8 +2,7 @@ import React from "react";
2
2
  import type { SplitProps } from "../-types";
3
3
  /**
4
4
  * Split view panel. Picks its presentation by breakpoint: an in-flow column
5
- * beside `Layout.Content` on desktop ({@link SplitDocked}, always half its
6
- * width) or a full-area {@link MobileSplitView} on mobile - both driven by the
5
+ * beside `Layout.Content` on desktop ({@link SplitDocked}) or a full-area {@link MobileSplitView} on mobile - both driven by the
7
6
  * same `splitview` slot visibility, so open/close behaves identically either way.
8
7
  */
9
8
  export declare const Split: React.FC<SplitProps>;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"Split",{enumerable:!0,get:function(){return Split}});const _react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_default")._(require("react")),_useBreakpoints=require("../../../shared/useBreakpoints"),_constants=require("../-constants"),_registry=require("../registry"),_useLayout=require("../useLayout"),_MobileSplitView=require("./MobileSplitView/MobileSplitView"),_SplitDocked=require("./SplitDocked"),Split=({children,background="primary","aria-label":ariaLabel,onVisibleChange,scrollContainerRef,onScroll,"data-e2e-test-id":dataE2eTestId})=>{let{isMobile}=(0,_useBreakpoints.useBreakpoints)(),{isVisible}=(0,_useLayout.useLayout)()[_constants.Slot.splitview];return(0,_registry.useVisibleChange)(isVisible,onVisibleChange),isMobile?_react.default.createElement(_MobileSplitView.MobileSplitView,{background:background,"aria-label":ariaLabel,scrollContainerRef:scrollContainerRef,onScroll:onScroll,"data-e2e-test-id":dataE2eTestId},children):_react.default.createElement(_SplitDocked.SplitDocked,{background:background,"aria-label":ariaLabel,scrollContainerRef:scrollContainerRef,onScroll:onScroll,"data-e2e-test-id":dataE2eTestId},children)};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"Split",{enumerable:!0,get:function(){return Split}});const _react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_default")._(require("react")),_useBreakpoints=require("../../../shared/useBreakpoints"),_registry=require("../registry"),_context=require("../context"),_MobileSplitView=require("./MobileSplitView/MobileSplitView"),_SplitDocked=require("./SplitDocked"),Split=({children,defaultSize,minWidth,maxWidth,resizable,slotProps,background="primary","aria-label":ariaLabel,onVisibleChange,scrollContainerRef,onScroll,"data-e2e-test-id":dataE2eTestId})=>{let{isMobile}=(0,_useBreakpoints.useBreakpoints)(),isVisible=(0,_context.useLayoutSelector)(state=>state.splitview.visible);return(0,_registry.useVisibleChange)(isVisible,onVisibleChange),isMobile?_react.default.createElement(_MobileSplitView.MobileSplitView,{background:background,"aria-label":ariaLabel,scrollContainerRef:scrollContainerRef,onScroll:onScroll,"data-e2e-test-id":dataE2eTestId},children):_react.default.createElement(_SplitDocked.SplitDocked,{defaultSize:defaultSize,minWidth:minWidth,maxWidth:maxWidth,resizable:resizable,slotProps:slotProps,background:background,"aria-label":ariaLabel,scrollContainerRef:scrollContainerRef,onScroll:onScroll,"data-e2e-test-id":dataE2eTestId},children)};
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import type { SplitProps } from "../-types";
3
3
  /**
4
4
  * Desktop split view. Declares the `splitview` slot and portals its content
5
- * while visible - the right-hand half of `Layout.Content`'s column. Content
5
+ * while visible inside the shared Content/Split area. Content
6
6
  * tracks the `--ds-layout-subnav-offset` var, so an expanded subnav never
7
7
  * covers the panel's top edge. `Layout.SplitHeader` / `Layout.SplitFooter`
8
8
  * children stick to the panel edges; the remaining content scrolls.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"SplitDocked",{enumerable:!0,get:function(){return SplitDocked}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/_interop_require_default._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_constants=require("../-constants"),_registry=require("../registry"),_useLayout=require("../useLayout"),_PanelContainer=require("../PanelContainer"),StyledSplitSlot=(0,_styled.default)("div",{target:"e1ldbp5v0",label:"StyledSplitSlot"})(({theme})=>({position:"absolute",right:0,left:0,bottom:0,top:`var(${_constants.SUBNAV_OFFSET_VAR}, 0px)`,overflow:"hidden",transition:`top ${theme.variables.animation.navSlide.open.duration} ${theme.variables.animation.navSlide.open.timingFunction}`})),SplitDocked=({children,background,"aria-label":ariaLabel,scrollContainerRef,onScroll,"data-e2e-test-id":dataE2eTestId})=>{let{isVisible}=(0,_useLayout.useLayout)()[_constants.Slot.splitview];return(0,_registry.useDeclarePanel)(_constants.Slot.splitview,{}),(0,_registry.useLayoutPortal)(_constants.Slot.splitview,isVisible?_react.default.createElement(StyledSplitSlot,null,_react.default.createElement(_PanelContainer.PanelContainer,{background:background,"aria-label":ariaLabel,scrollContainerRef:scrollContainerRef,onScroll:onScroll,"data-e2e-test-id":dataE2eTestId},children)):null)};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"SplitDocked",{enumerable:!0,get:function(){return SplitDocked}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/_interop_require_default._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_constants=require("../-constants"),_registry=require("../registry"),_context=require("../context"),_PanelContainer=require("../PanelContainer"),StyledSplitSlot=(0,_styled.default)("div",{target:"e16xyoeh0",label:"StyledSplitSlot"})(({theme})=>({position:"absolute",right:0,left:0,bottom:0,top:`var(${_constants.SUBNAV_OFFSET_VAR}, 0px)`,overflow:"hidden",transition:`top ${theme.variables.animation.navSlide.open.duration} ${theme.variables.animation.navSlide.open.timingFunction}`})),SplitDocked=({children,defaultSize,minWidth,maxWidth,resizable,slotProps,background,"aria-label":ariaLabel,scrollContainerRef,onScroll,"data-e2e-test-id":dataE2eTestId})=>{let isVisible=(0,_context.useLayoutSelector)(state=>state.splitview.visible);return(0,_registry.useDeclarePanel)(_constants.Slot.splitview,{defaultSize,minSize:minWidth,maxSize:maxWidth,resizable,resizeHandleLabel:slotProps?.resizeHandle?.["aria-label"]??ariaLabel}),(0,_registry.useLayoutPortal)(_constants.Slot.splitview,isVisible?_react.default.createElement(StyledSplitSlot,null,_react.default.createElement(_PanelContainer.PanelContainer,{background:background,"aria-label":ariaLabel,scrollContainerRef:scrollContainerRef,onScroll:onScroll,"data-e2e-test-id":dataE2eTestId},children)):null)};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"SplitHeader",{enumerable:!0,get:function(){return SplitHeader}});const _react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_default")._(require("react")),_constants=require("../-constants"),_useLayout=require("../useLayout"),_Sandwich=require("../../Internal/Sandwich/Sandwich"),_PanelHeader=require("../../Internal/PanelHeader/PanelHeader"),_PanelHeaderCloseButton=require("../../Internal/PanelHeader/PanelHeaderCloseButton");function SplitHeader({leftSlot,rightSlot,title,slotProps,showSeparator,"data-e2e-test-id":dataE2eTestId}){let{hide}=(0,_useLayout.useLayout)()[_constants.Slot.splitview],closeButtonSlotProps=slotProps?.closeButton;return _react.default.createElement(_Sandwich.Sandwich.Header,{showSeparator:showSeparator,"data-e2e-test-id":dataE2eTestId},_react.default.createElement(_PanelHeader.PanelHeader,{leftSlot:leftSlot,title:title,rightSlot:_react.default.createElement(_react.default.Fragment,null,rightSlot,closeButtonSlotProps&&_react.default.createElement(_PanelHeaderCloseButton.PanelHeaderCloseButton,{"aria-label":closeButtonSlotProps["aria-label"],onClick:hide}))}))}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"SplitHeader",{enumerable:!0,get:function(){return SplitHeader}});const _react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_default")._(require("react")),_constants=require("../-constants"),_context=require("../context"),_Sandwich=require("../../Internal/Sandwich/Sandwich"),_PanelHeader=require("../../Internal/PanelHeader/PanelHeader"),_PanelHeaderCloseButton=require("../../Internal/PanelHeader/PanelHeaderCloseButton");function SplitHeader({leftSlot,rightSlot,title,slotProps,showSeparator,"data-e2e-test-id":dataE2eTestId}){let{dispatch}=(0,_context.useLayoutStore)(),closeButtonSlotProps=slotProps?.closeButton,headerRightSlot=_react.default.createElement(_react.default.Fragment,null,rightSlot,closeButtonSlotProps&&_react.default.createElement(_PanelHeaderCloseButton.PanelHeaderCloseButton,{"aria-label":closeButtonSlotProps["aria-label"],onClick:()=>dispatch({type:"setVisible",slot:_constants.Slot.splitview,visible:!1})}));return _react.default.createElement(_Sandwich.Sandwich.Header,{showSeparator:showSeparator,"data-e2e-test-id":dataE2eTestId},_react.default.createElement(_PanelHeader.PanelHeader,{leftSlot:leftSlot,title:title,rightSlot:headerRightSlot}))}
@@ -1,5 +1,5 @@
1
1
  import type { LayoutState, LayoutStorage, LayoutStore } from "./-types";
2
- export declare const LayoutStoreProvider: import("react").Provider<LayoutStore | null>;
2
+ export declare const LayoutStoreProvider: React.Provider<LayoutStore | null>;
3
3
  /** Get the store from context, or throw if used outside the provider. */
4
4
  export declare function useLayoutStore(): LayoutStore;
5
5
  /**
@@ -11,7 +11,7 @@ export type LayoutPersistence = {
11
11
  persistenceKey?: string;
12
12
  storage?: LayoutStorage;
13
13
  };
14
- export declare const LayoutPersistenceProvider: import("react").Provider<LayoutPersistence>;
14
+ export declare const LayoutPersistenceProvider: React.Provider<LayoutPersistence>;
15
15
  /** Persistence config from the nearest `Layout.Provider` (empty if none). */
16
16
  export declare function useLayoutPersistence(): LayoutPersistence;
17
17
  /**
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get createInitialState(){return createInitialState},get layoutReducer(){return layoutReducer}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});function sidePanelFields(config={}){return{kind:"sidePanel",visible:config.defaultVisible??!0,collapsible:config.collapsible??!0,resizable:config.resizable??!0,size:config.defaultSize}}function panelState(config={}){return{kind:"panel",visible:config.defaultVisible??!0,size:config.defaultSize}}function createInitialState(config={}){return{leftPanel:{...sidePanelFields({...config.leftPanel,resizable:!1}),variant:config.leftPanel?.variant},rightPanel:{...sidePanelFields({defaultVisible:!1,...config.rightPanel}),variant:config.rightPanel?.variant},content:panelState(config.content),splitview:panelState({defaultVisible:!1,...config.splitview})}}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
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get createInitialState(){return createInitialState},get layoutReducer(){return layoutReducer}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});function sidePanelFields(config={}){return{kind:"sidePanel",visible:config.defaultVisible??!0,collapsible:config.collapsible??!0,resizable:config.resizable??!0,size:config.defaultSize}}function panelState(config={}){return{kind:"panel",visible:config.defaultVisible??!0,size:config.defaultSize}}function createInitialState(config={}){return{leftPanel:{...sidePanelFields({...config.leftPanel,resizable:!1}),variant:config.leftPanel?.variant},rightPanel:{...sidePanelFields({defaultVisible:!1,...config.rightPanel}),variant:config.rightPanel?.variant},content:panelState(config.content),splitview:{...panelState({defaultVisible:!1,...config.splitview}),resizable:config.splitview?.resizable??!1}}}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"setSplitResizeBehavior":if((state.splitview.resizeBehavior??"clamp")===action.behavior)return state;return{...state,splitview:{...state.splitview,resizeBehavior:action.behavior}};case"setSplitOverlap":if(!!state.splitview.isOverlapping===action.overlapping)return state;return{...state,splitview:{...state.splitview,isOverlapping:action.overlapping}};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}};
@@ -5,7 +5,7 @@ export type PortalTargets = Partial<Record<SlotKey, HTMLElement | null>>;
5
5
  type LayoutPortalTargets = PortalTargets & {
6
6
  root?: HTMLElement | null;
7
7
  };
8
- export declare const LayoutPortalContext: import("react").Context<LayoutPortalTargets>;
8
+ export declare const LayoutPortalContext: React.Context<LayoutPortalTargets>;
9
9
  /**
10
10
  * Portal `children` into the host DOM node registered for `slot`. Returns the
11
11
  * portal (or `null` if the host isn't mounted yet). Call unconditionally -
@@ -20,6 +20,8 @@ export declare function useLayoutPortal(slot: SlotKey | "root", children: ReactN
20
20
  */
21
21
  export type PanelReg = {
22
22
  defaultSize?: Size;
23
+ /** Accessible name for an independently resizable Split separator. */
24
+ resizeHandleLabel?: string;
23
25
  minSize?: Size;
24
26
  maxSize?: Size;
25
27
  collapsible?: boolean;
@@ -38,11 +40,11 @@ export type PanelRegistry = {
38
40
  register: (slot: SlotKey, reg: PanelReg) => void;
39
41
  unregister: (slot: SlotKey) => void;
40
42
  };
41
- export declare const PanelRegistryContext: import("react").Context<PanelRegistry | null>;
43
+ export declare const PanelRegistryContext: React.Context<PanelRegistry | null>;
42
44
  /** Register this slot as a panel for the marker's lifetime. */
43
45
  export declare function useDeclarePanel(slot: SlotKey, reg: PanelReg): void;
44
46
  export type PanelDeclarations = Partial<Record<SlotKey, PanelReg>>;
45
- export declare const PanelDeclarationsContext: import("react").Context<Partial<Record<"content" | "leftPanel" | "rightPanel" | "splitview", PanelReg>>>;
47
+ export declare const PanelDeclarationsContext: React.Context<Partial<Record<"content" | "leftPanel" | "rightPanel" | "splitview", PanelReg>>>;
46
48
  /**
47
49
  * The ids of the columns in the resizable row, in order, joined with commas.
48
50
  * Changes when a column joins or leaves the row, and only then. A column that
@@ -51,7 +53,7 @@ export declare const PanelDeclarationsContext: import("react").Context<Partial<R
51
53
  * had the last time the same set of columns was on screen - re-checks its rest
52
54
  * against it.
53
55
  */
54
- export declare const PanelRowContext: import("react").Context<string>;
56
+ export declare const PanelRowContext: React.Context<string>;
55
57
  /** The row's current column set, as a stable key. Empty outside a Layout. */
56
58
  export declare const usePanelRow: () => string;
57
59
  /**
@@ -63,7 +65,7 @@ export declare const usePanelRow: () => string;
63
65
  export type PanelPresence = {
64
66
  setPresent: (slot: SlotKey, isPresent: boolean) => void;
65
67
  };
66
- export declare const PanelPresenceContext: import("react").Context<PanelPresence | null>;
68
+ export declare const PanelPresenceContext: React.Context<PanelPresence | null>;
67
69
  /** Report this slot's live presence so the Layout keeps its column mounted
68
70
  * through the exit animation. No-op outside a Layout. */
69
71
  export declare function usePanelPresence(slot: SlotKey, isPresent: boolean): void;
@@ -85,7 +87,7 @@ export type PanelAnimationControl = {
85
87
  /** Mute the Group's resize/collapse/persist callbacks for a slot mid-slide. */
86
88
  setResizeSuppressed: (slot: SlotKey, suppressed: boolean) => void;
87
89
  };
88
- export declare const PanelAnimationContext: import("react").Context<PanelAnimationControl | null>;
90
+ export declare const PanelAnimationContext: React.Context<PanelAnimationControl | null>;
89
91
  /** Access the Layout's panel-animation control. Null outside a Layout. */
90
92
  export declare function usePanelAnimationControl(): PanelAnimationControl | null;
91
93
  /** Run `onChange(value)` when `value` transitions (not on initial mount). */
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get LayoutPortalContext(){return LayoutPortalContext},get PanelAnimationContext(){return PanelAnimationContext},get PanelDeclarationsContext(){return PanelDeclarationsContext},get PanelPresenceContext(){return PanelPresenceContext},get PanelRegistryContext(){return PanelRegistryContext},get PanelRowContext(){return PanelRowContext},get useDeclarePanel(){return useDeclarePanel},get useLayoutPortal(){return useLayoutPortal},get usePanelAnimationControl(){return usePanelAnimationControl},get usePanelPresence(){return usePanelPresence},get usePanelRow(){return usePanelRow},get useRunCallbackOnValueChange(){return useRunCallbackOnValueChange},get useVisibleChange(){return useVisibleChange}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});const _react=require("react"),_reactdom=require("react-dom"),LayoutPortalContext=(0,_react.createContext)({});function useLayoutPortal(slot,children){let slotNode=(0,_react.useContext)(LayoutPortalContext)[slot]??null;return slotNode?(0,_reactdom.createPortal)(children,slotNode):null}const PanelRegistryContext=(0,_react.createContext)(null);function useDeclarePanel(slot,reg){let registry=(0,_react.useContext)(PanelRegistryContext),{defaultSize,minSize,maxSize,collapsible,resizable,lockWidthOnWindowResize,variant}=reg;(0,_react.useLayoutEffect)(()=>{if(registry)return registry.register(slot,{defaultSize,minSize,maxSize,collapsible,resizable,lockWidthOnWindowResize,variant}),()=>registry.unregister(slot)},[registry,slot,defaultSize,minSize,maxSize,collapsible,resizable,lockWidthOnWindowResize,variant])}const PanelDeclarationsContext=(0,_react.createContext)({}),PanelRowContext=(0,_react.createContext)(""),usePanelRow=()=>(0,_react.useContext)(PanelRowContext),PanelPresenceContext=(0,_react.createContext)(null);function usePanelPresence(slot,isPresent){let presence=(0,_react.useContext)(PanelPresenceContext);(0,_react.useLayoutEffect)(()=>{if(presence)return presence.setPresent(slot,isPresent),()=>presence.setPresent(slot,!1)},[presence,slot,isPresent])}const PanelAnimationContext=(0,_react.createContext)(null);function usePanelAnimationControl(){return(0,_react.useContext)(PanelAnimationContext)}function useRunCallbackOnValueChange(value,onChange){let prev=(0,_react.useRef)(value);(0,_react.useEffect)(()=>{prev.current!==value&&(prev.current=value,onChange?.(value))},[value,onChange])}function useVisibleChange(visible,onChange){useRunCallbackOnValueChange(visible,onChange)}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get LayoutPortalContext(){return LayoutPortalContext},get PanelAnimationContext(){return PanelAnimationContext},get PanelDeclarationsContext(){return PanelDeclarationsContext},get PanelPresenceContext(){return PanelPresenceContext},get PanelRegistryContext(){return PanelRegistryContext},get PanelRowContext(){return PanelRowContext},get useDeclarePanel(){return useDeclarePanel},get useLayoutPortal(){return useLayoutPortal},get usePanelAnimationControl(){return usePanelAnimationControl},get usePanelPresence(){return usePanelPresence},get usePanelRow(){return usePanelRow},get useRunCallbackOnValueChange(){return useRunCallbackOnValueChange},get useVisibleChange(){return useVisibleChange}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});const _react=require("react"),_reactdom=require("react-dom"),LayoutPortalContext=(0,_react.createContext)({});function useLayoutPortal(slot,children){let slotNode=(0,_react.useContext)(LayoutPortalContext)[slot]??null;return slotNode?(0,_reactdom.createPortal)(children,slotNode):null}const PanelRegistryContext=(0,_react.createContext)(null);function useDeclarePanel(slot,reg){let registry=(0,_react.useContext)(PanelRegistryContext),{defaultSize,resizeHandleLabel,minSize,maxSize,collapsible,resizable,lockWidthOnWindowResize,variant}=reg;(0,_react.useLayoutEffect)(()=>{if(registry)return registry.register(slot,{defaultSize,resizeHandleLabel,minSize,maxSize,collapsible,resizable,lockWidthOnWindowResize,variant}),()=>registry.unregister(slot)},[registry,slot,defaultSize,resizeHandleLabel,minSize,maxSize,collapsible,resizable,lockWidthOnWindowResize,variant])}const PanelDeclarationsContext=(0,_react.createContext)({}),PanelRowContext=(0,_react.createContext)(""),usePanelRow=()=>(0,_react.useContext)(PanelRowContext),PanelPresenceContext=(0,_react.createContext)(null);function usePanelPresence(slot,isPresent){let presence=(0,_react.useContext)(PanelPresenceContext);(0,_react.useLayoutEffect)(()=>{if(presence)return presence.setPresent(slot,isPresent),()=>presence.setPresent(slot,!1)},[presence,slot,isPresent])}const PanelAnimationContext=(0,_react.createContext)(null);function usePanelAnimationControl(){return(0,_react.useContext)(PanelAnimationContext)}function useRunCallbackOnValueChange(value,onChange){let prev=(0,_react.useRef)(value);(0,_react.useEffect)(()=>{prev.current!==value&&(prev.current=value,onChange?.(value))},[value,onChange])}function useVisibleChange(visible,onChange){useRunCallbackOnValueChange(visible,onChange)}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"useLayout",{enumerable:!0,get:function(){return useLayout}});const _react=require("react"),_context=require("./context"),_usePanelAnimations=require("./usePanelAnimations"),_useBreakpoints=require("../../shared/useBreakpoints"),_useMobileSplitStack=require("./Split/MobileSplitView/useMobileSplitStack"),_registry=require("./registry"),_constants=require("./-constants"),selectAll=state=>state;function panelHandleActions({slot,visible,dispatch}){return{isVisible:visible,show:()=>dispatch({type:"setVisible",slot,visible:!0}),hide:()=>dispatch({type:"setVisible",slot,visible:!1}),reset:()=>dispatch({type:"reset",slot})}}function useLayout(){let store=(0,_context.useLayoutStore)(),state=(0,_context.useLayoutSelector)(selectAll),declared=(0,_react.useContext)(_registry.PanelDeclarationsContext),{dispatch}=store,{isMobile}=(0,_useBreakpoints.useBreakpoints)(),animations=(0,_usePanelAnimations.usePanelAnimations)(),mobileStack=(0,_react.useContext)(_useMobileSplitStack.MobileSplitStackContext),presentationFor=slot=>state[slot].visible&&("splitview"===slot&&isMobile?mobileStack?.isSplitPresent:declared[slot])?"content"===slot?isMobile&&mobileStack?.isSplitPresent&&state.splitview.visible?"hidden":"column":"splitview"===slot?"column":"leftPanel"===slot?(state.leftPanel.variant??_constants.DEFAULT_LEFT_PANEL_VARIANT)==="sidebar"?"column":"overlay":isMobile||(state.rightPanel.variant??declared.rightPanel?.variant)==="float"?"overlay":"column":"hidden";return{state,leftPanel:{presentation:presentationFor("leftPanel"),animation:animations.leftPanel??null,state:{...state.leftPanel,variant:state.leftPanel.variant??_constants.DEFAULT_LEFT_PANEL_VARIANT},setVariant:variant=>dispatch({type:"setVariant",panel:"leftPanel",variant}),...panelHandleActions({slot:"leftPanel",visible:state.leftPanel.visible,dispatch})},rightPanel:{presentation:presentationFor("rightPanel"),animation:animations.rightPanel??null,state:{...state.rightPanel,variant:state.rightPanel.variant??declared.rightPanel?.variant??"sidebar"},setVariant:variant=>dispatch({type:"setVariant",panel:"rightPanel",variant}),...panelHandleActions({slot:"rightPanel",visible:state.rightPanel.visible,dispatch})},content:{presentation:presentationFor("content"),animation:animations.content??null,state:state.content,...panelHandleActions({slot:"content",visible:state.content.visible,dispatch})},splitview:{presentation:presentationFor("splitview"),animation:animations.splitview??null,state:state.splitview,...panelHandleActions({slot:"splitview",visible:state.splitview.visible,dispatch})}}}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"useLayout",{enumerable:!0,get:function(){return useLayout}});const _react=require("react"),_context=require("./context"),_usePanelAnimations=require("./usePanelAnimations"),_useBreakpoints=require("../../shared/useBreakpoints"),_useMobileSplitStack=require("./Split/MobileSplitView/useMobileSplitStack"),_registry=require("./registry"),_constants=require("./-constants"),selectAll=state=>state;function panelHandleActions({slot,visible,dispatch}){return{isVisible:visible,show:()=>dispatch({type:"setVisible",slot,visible:!0}),hide:()=>dispatch({type:"setVisible",slot,visible:!1}),reset:()=>dispatch({type:"reset",slot})}}function useLayout(){let store=(0,_context.useLayoutStore)(),state=(0,_context.useLayoutSelector)(selectAll),declared=(0,_react.useContext)(_registry.PanelDeclarationsContext),{dispatch}=store,{isMobile}=(0,_useBreakpoints.useBreakpoints)(),animations=(0,_usePanelAnimations.usePanelAnimations)(),mobileStack=(0,_react.useContext)(_useMobileSplitStack.MobileSplitStackContext),presentationFor=slot=>state[slot].visible&&("splitview"===slot&&isMobile?mobileStack?.isSplitPresent:declared[slot])?"content"===slot?isMobile&&mobileStack?.isSplitPresent&&state.splitview.visible?"hidden":"column":"splitview"===slot?!isMobile&&state.splitview.isOverlapping?"overlay":"column":"leftPanel"===slot?(state.leftPanel.variant??_constants.DEFAULT_LEFT_PANEL_VARIANT)==="sidebar"?"column":"overlay":isMobile||(state.rightPanel.variant??declared.rightPanel?.variant)==="float"?"overlay":"column":"hidden";return{state,leftPanel:{presentation:presentationFor("leftPanel"),animation:animations.leftPanel??null,state:{...state.leftPanel,variant:state.leftPanel.variant??_constants.DEFAULT_LEFT_PANEL_VARIANT},setVariant:variant=>dispatch({type:"setVariant",panel:"leftPanel",variant}),...panelHandleActions({slot:"leftPanel",visible:state.leftPanel.visible,dispatch})},rightPanel:{presentation:presentationFor("rightPanel"),animation:animations.rightPanel??null,state:{...state.rightPanel,variant:state.rightPanel.variant??declared.rightPanel?.variant??"sidebar"},setVariant:variant=>dispatch({type:"setVariant",panel:"rightPanel",variant}),...panelHandleActions({slot:"rightPanel",visible:state.rightPanel.visible,dispatch})},content:{presentation:presentationFor("content"),animation:animations.content??null,state:state.content,...panelHandleActions({slot:"content",visible:state.content.visible,dispatch})},splitview:{presentation:presentationFor("splitview"),animation:animations.splitview??null,state:state.splitview,setResizeBehavior:behavior=>dispatch({type:"setSplitResizeBehavior",behavior}),...panelHandleActions({slot:"splitview",visible:state.splitview.visible,dispatch})}}}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"useLayoutRules",{enumerable:!0,get:function(){return useLayoutRules}});const _react=require("react"),_useBreakpoints=require("../../shared/useBreakpoints"),_constants=require("./-constants"),DEFAULT_PRIORITY={[_constants.Slot.rightPanel]:1,[_constants.Slot.splitview]:2,[_constants.Slot.leftPanel]:3},maxDockedFor=(maxDockedPanels,breakpoints)=>{let{xs,m=xs,l=m}=maxDockedPanels;return breakpoints.isMobile?xs:breakpoints.isTablet?m:l},isDockedPanel=({state,declared,slot})=>!!declared[slot]&&!!state[slot].visible&&(slot===_constants.Slot.rightPanel?"float"!==state.rightPanel.variant:slot!==_constants.Slot.leftPanel||(state.leftPanel.variant??_constants.DEFAULT_LEFT_PANEL_VARIANT)===_constants.DEFAULT_LEFT_PANEL_VARIANT),resolveLowPrioSlots=({rules,state,declared,breakpoints})=>{let freeSlots=Math.max(0,maxDockedFor(rules.maxDockedPanels,breakpoints)-1),priorityFor=slot=>rules[slot]?.priority??DEFAULT_PRIORITY[slot],outranks=(slot,other)=>{let byPriority=priorityFor(slot)-priorityFor(other);return 0!==byPriority?byPriority<0:_constants.PANEL_ORDER.indexOf(slot)<_constants.PANEL_ORDER.indexOf(other)},countStrongerDocked=slot=>_constants.TOGGLABLE_SLOTS.filter(other=>other!==slot&&isDockedPanel({state,declared,slot:other})&&outranks(other,slot)).length;return _constants.TOGGLABLE_SLOTS.filter(slot=>countStrongerDocked(slot)>=freeSlots)};function useLayoutRules({layout,declared,rules,additionalData}){let layoutRef=(0,_react.useRef)(layout);layoutRef.current=layout;let{isMobile,isTablet,isDesktop}=(0,_useBreakpoints.useBreakpoints)(),{state}=layout;(0,_react.useEffect)(()=>{if(!rules)return;let lowPrioSlots=resolveLowPrioSlots({rules,state,declared,breakpoints:{isMobile,isTablet,isDesktop}});_constants.TOGGLABLE_SLOTS.forEach(slot=>{let condition=rules[slot]?.condition;condition&&condition({...additionalData,isLowPrio:lowPrioSlots.includes(slot),isMobile,isTablet,isDesktop,layout:layoutRef.current})})},[rules,additionalData,state,declared,isMobile,isTablet,isDesktop])}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"useLayoutRules",{enumerable:!0,get:function(){return useLayoutRules}});const _react=require("react"),_useBreakpoints=require("../../shared/useBreakpoints"),_constants=require("./-constants"),DEFAULT_PRIORITY={[_constants.Slot.rightPanel]:1,[_constants.Slot.splitview]:2,[_constants.Slot.leftPanel]:3},maxDockedFor=(maxDockedPanels,breakpoints)=>{let{xs,m=xs,l=m}=maxDockedPanels;return breakpoints.isMobile?xs:breakpoints.isTablet?m:l},isDockedPanel=({state,declared,slot})=>!!declared[slot]&&!!state[slot].visible&&(slot===_constants.Slot.rightPanel?"float"!==state.rightPanel.variant:slot===_constants.Slot.leftPanel?(state.leftPanel.variant??_constants.DEFAULT_LEFT_PANEL_VARIANT)===_constants.DEFAULT_LEFT_PANEL_VARIANT:!state.splitview.isOverlapping),resolveLowPrioSlots=({rules,state,declared,breakpoints})=>{let freeSlots=Math.max(0,maxDockedFor(rules.maxDockedPanels,breakpoints)-1),priorityFor=slot=>rules[slot]?.priority??DEFAULT_PRIORITY[slot],outranks=(slot,other)=>{let byPriority=priorityFor(slot)-priorityFor(other);return 0!==byPriority?byPriority<0:_constants.PANEL_ORDER.indexOf(slot)<_constants.PANEL_ORDER.indexOf(other)},countStrongerDocked=slot=>_constants.TOGGLABLE_SLOTS.filter(other=>other!==slot&&isDockedPanel({state,declared,slot:other})&&outranks(other,slot)).length;return _constants.TOGGLABLE_SLOTS.filter(slot=>countStrongerDocked(slot)>=freeSlots)};function useLayoutRules({layout,declared,rules,additionalData}){let layoutRef=(0,_react.useRef)(layout);layoutRef.current=layout;let{isMobile,isTablet,isDesktop}=(0,_useBreakpoints.useBreakpoints)(),{state}=layout;(0,_react.useEffect)(()=>{if(!rules)return;let lowPrioSlots=resolveLowPrioSlots({rules,state,declared,breakpoints:{isMobile,isTablet,isDesktop}});_constants.TOGGLABLE_SLOTS.forEach(slot=>{let condition=rules[slot]?.condition;condition&&condition({...additionalData,isLowPrio:lowPrioSlots.includes(slot),isMobile,isTablet,isDesktop,layout:layoutRef.current})})},[rules,additionalData,state,declared,isMobile,isTablet,isDesktop])}
@@ -2,5 +2,5 @@
2
2
  * control living OUTSIDE the panel - the nav left bar's open button - point
3
3
  * `aria-controls` at it without the two components knowing each other. Empty
4
4
  * outside a `Layout`, where there is no panel to reference. */
5
- export declare const LeftPanelIdContext: import("react").Context<string>;
5
+ export declare const LeftPanelIdContext: React.Context<string>;
6
6
  export declare const useLeftPanelId: () => string;
@@ -5,7 +5,7 @@ type PanelAnimationsStore = {
5
5
  subscribe: (listener: () => void) => () => void;
6
6
  set: (slot: SlotKey, animation: PanelAnimation | null) => void;
7
7
  };
8
- export declare const PanelAnimationsProvider: import("react").Provider<PanelAnimationsStore | null>;
8
+ export declare const PanelAnimationsProvider: React.Provider<PanelAnimationsStore | null>;
9
9
  export declare const usePanelAnimationsStore: () => PanelAnimationsStore | null;
10
10
  export declare const createPanelAnimationsStore: () => PanelAnimationsStore;
11
11
  export declare const usePanelAnimations: () => Animations;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get getMaxSize(){return getMaxSize},get usePanelDockedSlide(){return usePanelDockedSlide}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});const _react=require("react"),_reactdom=require("react-dom"),_react1=require("@emotion/react"),_useWindow=require("../../shared/useWindow"),_parseDurationMs=require("../../shared/parseDurationMs"),_prefersReducedMotion=require("../../shared/prefersReducedMotion"),_registry=require("./registry"),_usePanelAnimations=require("./usePanelAnimations"),_useLayout=require("./useLayout"),resolveSizePx=(size,groupWidthPx)=>{if("number"==typeof size)return size;if("string"!=typeof size)return null;let parsed=parseFloat(size);return Number.isFinite(parsed)?size.trim().endsWith("px")?parsed:null!=groupWidthPx?parsed/100*groupWidthPx:null:null},groupColumnsOf=element=>{let columns=element.closest("[data-group]")?.querySelectorAll("[data-panel]");return columns?Array.from(columns):[element]},isHandleReady=handle=>{try{return handle.isCollapsed(),!0}catch{return!1}},mountDefaultSizeFor=({collapsedSize,defaultSize,isVisible,isSlidingIn})=>void 0!==collapsedSize?isVisible?defaultSize:collapsedSize:isSlidingIn?0:defaultSize,minSizeFor=({collapsedSize,isVisible,minSize,phase})=>void 0===collapsedSize?minSize:isVisible&&"idle"===phase?minSize??collapsedSize:collapsedSize,getMaxSize=({collapsedSize,isVisible,maxSize,openSize,phase})=>void 0===collapsedSize?maxSize:isVisible||"idle"!==phase?maxSize??openSize:collapsedSize;function usePanelDockedSlide({slot,defaultSize,minSize,maxSize,collapsible,resizable,lockWidthOnWindowResize,collapsedSize}){let{isVisible,state}=(0,_useLayout.useLayout)()[slot],theme=(0,_react1.useTheme)(),window=(0,_useWindow.useWindow)(),animation=(0,_registry.usePanelAnimationControl)(),rowKey=(0,_registry.usePanelRow)(),reducedMotion=(0,_prefersReducedMotion.prefersReducedMotion)(window),hasCollapsedRest=void 0!==collapsedSize,isCollapsible=collapsible&&!hasCollapsedRest,[isMounted,setIsMounted]=(0,_react.useState)(isVisible),[phase,setPhase]=(0,_react.useState)("idle"),[fixedWidth,setFixedWidth]=(0,_react.useState)(null),animations=(0,_usePanelAnimations.usePanelAnimationsStore)(),panelSlideAnimation=(0,_react.useMemo)(()=>{let timing=hasCollapsedRest?theme.variables.animation.navSlide.collapse:theme.variables.animation.navSlide.open;return{property:"flex-grow",duration:reducedMotion?0:(0,_parseDurationMs.parseDurationMs)(timing.duration),easing:timing.timingFunction}},[theme,hasCollapsedRest,reducedMotion]);(0,_react.useLayoutEffect)(()=>{animations?.set(slot,"idle"===phase||reducedMotion||!collapsible&&!hasCollapsedRest?null:panelSlideAnimation)},[animations,slot,phase,panelSlideAnimation,reducedMotion,collapsible,hasCollapsedRest]),(0,_react.useLayoutEffect)(()=>()=>animations?.set(slot,null),[animations,slot]);let[prevVisible,setPrevVisible]=(0,_react.useState)(isVisible),declaredMountSize=(0,_react.useRef)(hasCollapsedRest&&!isVisible?collapsedSize:state.size??defaultSize),chosenOpenSize=(0,_react.useRef)(state.size??defaultSize),needsRestCorrection=(0,_react.useRef)(!1);isVisible!==prevVisible&&(chosenOpenSize.current=state.size??defaultSize,needsRestCorrection.current=!0,hasCollapsedRest&&setFixedWidth(resolveSizePx(state.size??defaultSize,null)),setPrevVisible(isVisible),setPhase(isVisible?"entering":"exiting"),isVisible&&setIsMounted(!0),animation?.setResizeSuppressed(slot,!0));let openSize=hasCollapsedRest?state.size??defaultSize:defaultSize;(0,_registry.useDeclarePanel)(slot,{defaultSize:hasCollapsedRest?declaredMountSize.current:mountDefaultSizeFor({defaultSize:openSize,isVisible,isSlidingIn:"entering"===phase&&collapsible&&!reducedMotion}),minSize:minSizeFor({collapsedSize,isVisible,minSize,phase}),maxSize:getMaxSize({collapsedSize,isVisible,maxSize,openSize,phase}),collapsible:isCollapsible,resizable:(!hasCollapsedRest||!!isVisible&&"idle"===phase)&&resizable,lockWidthOnWindowResize}),(0,_registry.usePanelPresence)(slot,hasCollapsedRest||isMounted),(0,_react.useLayoutEffect)(()=>{if(!hasCollapsedRest||"idle"!==phase||!needsRestCorrection.current)return;let restSize=isVisible?chosenOpenSize.current:collapsedSize,cancelled=!1;return animation?.setResizeSuppressed(slot,!0),Promise.resolve().then(()=>{if(cancelled)return;let handle=animation?.getHandle(slot);try{handle&&isHandleReady(handle)&&void 0!==restSize&&(0,_reactdom.flushSync)(()=>handle.resize(restSize))}finally{needsRestCorrection.current=!1,animation?.setResizeSuppressed(slot,!1)}}),()=>{cancelled=!0,animation?.setResizeSuppressed(slot,!1)}},[phase,hasCollapsedRest,isVisible,collapsedSize,animation,slot]);let latestRest=(0,_react.useRef)({isVisible,openSize,phase});return latestRest.current={isVisible,openSize,phase},(0,_react.useLayoutEffect)(()=>{if(!hasCollapsedRest)return;let frame=0,cancelled=!1,resizeToRest=attempt=>{if(cancelled)return;let handle=animation?.getHandle(slot)??null;if(handle&&isHandleReady(handle)){let rest=latestRest.current;if("idle"!==rest.phase)return;let restSize=rest.isVisible?rest.openSize??minSize:collapsedSize;try{void 0!==restSize&&handle.resize(restSize)}catch{}return}animation&&!(attempt>=30)&&(frame=window.requestAnimationFrame(()=>resizeToRest(attempt+1)))};return Promise.resolve().then(()=>resizeToRest(0)),()=>{cancelled=!0,window.cancelAnimationFrame(frame)}},[rowKey]),(0,_react.useLayoutEffect)(()=>{if("idle"===phase)return;let cancelled=!1,frame=0,settleTimer=0,animatedColumns=[];animation?.setResizeSuppressed(slot,!0);let durationMs=panelSlideAnimation.duration,setColumnTransitions=enabled=>{animatedColumns.forEach(column=>{enabled?column.style.setProperty("transition",`${panelSlideAnimation.property} ${panelSlideAnimation.duration}ms ${panelSlideAnimation.easing}`):column.style.removeProperty("transition")})},targetSize=state.size??defaultSize??minSize,openColumn=(handle,targetPx)=>{handle.isCollapsed()&&handle.expand(),handle.resize(targetPx??targetSize??minSize??"20%")},settle=handle=>{if(setColumnTransitions(!1),animation?.setResizeSuppressed(slot,!1),"entering"===phase&&handle&&!hasCollapsedRest)try{handle.getSize().inPixels<1&&openColumn(handle,null)}catch{}setFixedWidth(null),"exiting"!==phase||hasCollapsedRest||setIsMounted(!1),setPhase("idle")},runSlide=(handle,element)=>{animatedColumns=groupColumnsOf(element);let groupWidthPx=element.closest("[data-group]")?.getBoundingClientRect().width??null,targetPx=resolveSizePx(targetSize,groupWidthPx),collapsedPx=resolveSizePx(collapsedSize,groupWidthPx);setFixedWidth("entering"===phase||hasCollapsedRest?targetPx:handle.getSize().inPixels),reducedMotion||setColumnTransitions(!0),element.getBoundingClientRect();try{"entering"===phase?openColumn(handle,targetPx):hasCollapsedRest?handle.resize(collapsedPx??collapsedSize):handle.collapse()}catch{settle(handle);return}settleTimer=window.setTimeout(()=>settle(handle),reducedMotion?0:durationMs+80)},waitForColumn=attempt=>{if(cancelled)return;if(0===attempt&&hasCollapsedRest)return void Promise.resolve().then(()=>waitForColumn(attempt+1));let handle=animation?.getHandle(slot)??null,element=animation?.getElement(slot)??null;if(handle&&element&&isHandleReady(handle)){if(hasCollapsedRest){let startSize="entering"===phase?collapsedSize:chosenOpenSize.current;void 0!==startSize&&(0,_reactdom.flushSync)(()=>handle.resize(startSize))}runSlide(handle,element);return}if("exiting"===phase||!animation||attempt>=30)return void settle(handle);frame=window.requestAnimationFrame(()=>waitForColumn(attempt+1))};return collapsible||hasCollapsedRest?waitForColumn(0):settle(animation?.getHandle(slot)??null),()=>{cancelled=!0,window.cancelAnimationFrame(frame),window.clearTimeout(settleTimer),setColumnTransitions(!1),animation?.setResizeSuppressed(slot,!1)}},[phase,slot,collapsible,hasCollapsedRest,reducedMotion,animation,window,theme,panelSlideAnimation]),{isMounted:hasCollapsedRest||isMounted,fixedWidth}}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get getMaxSize(){return getMaxSize},get usePanelDockedSlide(){return usePanelDockedSlide}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});const _react=require("react"),_reactdom=require("react-dom"),_react1=require("@emotion/react"),_useWindow=require("../../shared/useWindow"),_parseDurationMs=require("../../shared/parseDurationMs"),_prefersReducedMotion=require("../../shared/prefersReducedMotion"),_registry=require("./registry"),_usePanelAnimations=require("./usePanelAnimations"),_context=require("./context"),resolveSizePx=(size,groupWidthPx)=>{if("number"==typeof size)return size;if("string"!=typeof size)return null;let parsed=parseFloat(size);return Number.isFinite(parsed)?size.trim().endsWith("px")?parsed:null!=groupWidthPx?parsed/100*groupWidthPx:null:null},groupColumnsOf=element=>{let columns=element.closest("[data-group]")?.querySelectorAll("[data-panel]");return columns?Array.from(columns):[element]},isHandleReady=handle=>{try{return handle.isCollapsed(),!0}catch{return!1}},mountDefaultSizeFor=({collapsedSize,defaultSize,isVisible,isSlidingIn})=>void 0!==collapsedSize?isVisible?defaultSize:collapsedSize:isSlidingIn?0:defaultSize,minSizeFor=({collapsedSize,isVisible,minSize,phase})=>void 0===collapsedSize?minSize:isVisible&&"idle"===phase?minSize??collapsedSize:collapsedSize,getMaxSize=({collapsedSize,isVisible,maxSize,openSize,phase})=>void 0===collapsedSize?maxSize:isVisible||"idle"!==phase?maxSize??openSize:collapsedSize;function usePanelDockedSlide({slot,defaultSize,minSize,maxSize,collapsible,resizable,lockWidthOnWindowResize,collapsedSize}){let state=(0,_context.useLayoutSelector)(layoutState=>layoutState[slot]),isVisible=state.visible,theme=(0,_react1.useTheme)(),window=(0,_useWindow.useWindow)(),animation=(0,_registry.usePanelAnimationControl)(),rowKey=(0,_registry.usePanelRow)(),reducedMotion=(0,_prefersReducedMotion.prefersReducedMotion)(window),hasCollapsedRest=void 0!==collapsedSize,isCollapsible=collapsible&&!hasCollapsedRest,[isMounted,setIsMounted]=(0,_react.useState)(isVisible),[phase,setPhase]=(0,_react.useState)("idle"),[fixedWidth,setFixedWidth]=(0,_react.useState)(null),animations=(0,_usePanelAnimations.usePanelAnimationsStore)(),panelSlideAnimation=(0,_react.useMemo)(()=>{let timing=hasCollapsedRest?theme.variables.animation.navSlide.collapse:theme.variables.animation.navSlide.open;return{property:"flex-grow",duration:reducedMotion?0:(0,_parseDurationMs.parseDurationMs)(timing.duration),easing:timing.timingFunction}},[theme,hasCollapsedRest,reducedMotion]);(0,_react.useLayoutEffect)(()=>{animations?.set(slot,"idle"===phase||reducedMotion||!collapsible&&!hasCollapsedRest?null:panelSlideAnimation)},[animations,slot,phase,panelSlideAnimation,reducedMotion,collapsible,hasCollapsedRest]),(0,_react.useLayoutEffect)(()=>()=>animations?.set(slot,null),[animations,slot]);let[prevVisible,setPrevVisible]=(0,_react.useState)(isVisible),declaredMountSize=(0,_react.useRef)(hasCollapsedRest&&!isVisible?collapsedSize:state.size??defaultSize),chosenOpenSize=(0,_react.useRef)(state.size??defaultSize),needsRestCorrection=(0,_react.useRef)(!1);isVisible!==prevVisible&&(chosenOpenSize.current=state.size??defaultSize,needsRestCorrection.current=!0,hasCollapsedRest&&setFixedWidth(resolveSizePx(state.size??defaultSize,null)),setPrevVisible(isVisible),setPhase(isVisible?"entering":"exiting"),isVisible&&setIsMounted(!0),animation?.setResizeSuppressed(slot,!0));let openSize=hasCollapsedRest?state.size??defaultSize:defaultSize;(0,_registry.useDeclarePanel)(slot,{defaultSize:hasCollapsedRest?declaredMountSize.current:mountDefaultSizeFor({defaultSize:openSize,isVisible,isSlidingIn:"entering"===phase&&collapsible&&!reducedMotion}),minSize:minSizeFor({collapsedSize,isVisible,minSize,phase}),maxSize:getMaxSize({collapsedSize,isVisible,maxSize,openSize,phase}),collapsible:isCollapsible,resizable:(!hasCollapsedRest||!!isVisible&&"idle"===phase)&&resizable,lockWidthOnWindowResize}),(0,_registry.usePanelPresence)(slot,hasCollapsedRest||isMounted),(0,_react.useLayoutEffect)(()=>{if(!hasCollapsedRest||"idle"!==phase||!needsRestCorrection.current)return;let restSize=isVisible?chosenOpenSize.current:collapsedSize,cancelled=!1;return animation?.setResizeSuppressed(slot,!0),Promise.resolve().then(()=>{if(cancelled)return;let handle=animation?.getHandle(slot);try{handle&&isHandleReady(handle)&&void 0!==restSize&&(0,_reactdom.flushSync)(()=>handle.resize(restSize))}finally{needsRestCorrection.current=!1,animation?.setResizeSuppressed(slot,!1)}}),()=>{cancelled=!0,animation?.setResizeSuppressed(slot,!1)}},[phase,hasCollapsedRest,isVisible,collapsedSize,animation,slot]);let latestRest=(0,_react.useRef)({isVisible,openSize,phase});return latestRest.current={isVisible,openSize,phase},(0,_react.useLayoutEffect)(()=>{if(!hasCollapsedRest)return;let frame=0,cancelled=!1,resizeToRest=attempt=>{if(cancelled)return;let handle=animation?.getHandle(slot)??null;if(handle&&isHandleReady(handle)){let rest=latestRest.current;if("idle"!==rest.phase)return;let restSize=rest.isVisible?rest.openSize??minSize:collapsedSize;try{void 0!==restSize&&handle.resize(restSize)}catch{}return}animation&&!(attempt>=30)&&(frame=window.requestAnimationFrame(()=>resizeToRest(attempt+1)))};return Promise.resolve().then(()=>resizeToRest(0)),()=>{cancelled=!0,window.cancelAnimationFrame(frame)}},[rowKey]),(0,_react.useLayoutEffect)(()=>{if("idle"===phase)return;let cancelled=!1,frame=0,settleTimer=0,animatedColumns=[];animation?.setResizeSuppressed(slot,!0);let durationMs=panelSlideAnimation.duration,setColumnTransitions=enabled=>{animatedColumns.forEach(column=>{enabled?column.style.setProperty("transition",`${panelSlideAnimation.property} ${panelSlideAnimation.duration}ms ${panelSlideAnimation.easing}`):column.style.removeProperty("transition")})},targetSize=state.size??defaultSize??minSize,openColumn=(handle,targetPx)=>{handle.isCollapsed()&&handle.expand(),handle.resize(targetPx??targetSize??minSize??"20%")},settle=handle=>{if(setColumnTransitions(!1),animation?.setResizeSuppressed(slot,!1),"entering"===phase&&handle&&!hasCollapsedRest)try{handle.getSize().inPixels<1&&openColumn(handle,null)}catch{}setFixedWidth(null),"exiting"!==phase||hasCollapsedRest||setIsMounted(!1),setPhase("idle")},runSlide=(handle,element)=>{animatedColumns=groupColumnsOf(element);let groupWidthPx=element.closest("[data-group]")?.getBoundingClientRect().width??null,targetPx=resolveSizePx(targetSize,groupWidthPx),collapsedPx=resolveSizePx(collapsedSize,groupWidthPx);setFixedWidth("entering"===phase||hasCollapsedRest?targetPx:handle.getSize().inPixels),reducedMotion||setColumnTransitions(!0),element.getBoundingClientRect();try{"entering"===phase?openColumn(handle,targetPx):hasCollapsedRest?handle.resize(collapsedPx??collapsedSize):handle.collapse()}catch{settle(handle);return}settleTimer=window.setTimeout(()=>settle(handle),reducedMotion?0:durationMs+80)},waitForColumn=attempt=>{if(cancelled)return;if(0===attempt&&hasCollapsedRest)return void Promise.resolve().then(()=>waitForColumn(attempt+1));let handle=animation?.getHandle(slot)??null,element=animation?.getElement(slot)??null;if(handle&&element&&isHandleReady(handle)){if(hasCollapsedRest){let startSize="entering"===phase?collapsedSize:chosenOpenSize.current;void 0!==startSize&&(0,_reactdom.flushSync)(()=>handle.resize(startSize))}runSlide(handle,element);return}if("exiting"===phase||!animation||attempt>=30)return void settle(handle);frame=window.requestAnimationFrame(()=>waitForColumn(attempt+1))};return collapsible||hasCollapsedRest?waitForColumn(0):settle(animation?.getHandle(slot)??null),()=>{cancelled=!0,window.cancelAnimationFrame(frame),window.clearTimeout(settleTimer),setColumnTransitions(!1),animation?.setResizeSuppressed(slot,!1)}},[phase,slot,collapsible,hasCollapsedRest,reducedMotion,animation,window,theme,panelSlideAnimation]),{isMounted:hasCollapsedRest||isMounted,fixedWidth}}
@@ -1,11 +1,5 @@
1
1
  import React from "react";
2
- import { NavBarSubMenuContainer } from "./NavBarSubMenuContainer";
3
- import { NavBarDropdownTriggerButton } from "./NavBarDropdownTriggerButton";
4
- import { NavBarSearchInput } from "./NavBarSearchInput";
5
2
  import { NavBarOverlayBar } from "./NavBarOverlayBar";
6
- import { PrimaryNavContainer, PrimaryNav } from "./NavBarPrimaryNav";
7
- import { PrimaryNavLinkItem } from "./NavBarPrimaryNavLinkItem";
8
- import { SecondaryNav } from "./NavBarSecondaryNav";
9
3
  import { NavBarName } from "./types";
10
4
  type NavBarProps = React.PropsWithChildren<{
11
5
  subTheme: NavBarName;
@@ -13,13 +7,23 @@ type NavBarProps = React.PropsWithChildren<{
13
7
  }>;
14
8
  export declare function NavBar({ children, subTheme, isCompact, }: NavBarProps): React.ReactElement;
15
9
  export declare namespace NavBar {
16
- export { PrimaryNavContainer };
17
- export { PrimaryNav };
18
- export { PrimaryNavLinkItem as PrimaryNavItem };
19
- export { NavBarSubMenuContainer as SubMenuContainer };
20
- export { NavBarOverlayBar as OverlayBar };
21
- export { SecondaryNav };
22
- export { NavBarDropdownTriggerButton as DropdownTriggerButton };
23
- export { NavBarSearchInput as SearchInput };
10
+ var PrimaryNavContainer: typeof import("./NavBarPrimaryNav").PrimaryNavContainer;
11
+ var PrimaryNav: typeof import("./NavBarPrimaryNav").PrimaryNav;
12
+ var PrimaryNavItem: React.ForwardRefExoticComponent<{
13
+ label: string;
14
+ isActive?: boolean;
15
+ as?: React.ElementType;
16
+ to?: string;
17
+ } & Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "children"> & React.RefAttributes<HTMLAnchorElement>>;
18
+ var SubMenuContainer: React.ForwardRefExoticComponent<{
19
+ "data-e2e-test-id"?: string;
20
+ children: React.ReactNode;
21
+ } & React.RefAttributes<HTMLDivElement>>;
22
+ var OverlayBar: typeof NavBarOverlayBar;
23
+ var SecondaryNav: typeof import("./NavBarSecondaryNav").SecondaryNav;
24
+ var DropdownTriggerButton: React.ForwardRefExoticComponent<Pick<import("../..").ButtonProps, "onFocus" | "onBlur" | "onClick" | "disabled"> & {
25
+ children?: React.ReactNode | undefined;
26
+ } & React.RefAttributes<HTMLButtonElement>>;
27
+ var SearchInput: React.ForwardRefExoticComponent<import("./NavBarSearchInput").NavBarSearchInputProps & React.RefAttributes<HTMLButtonElement>>;
24
28
  }
25
29
  export {};
@@ -6,6 +6,6 @@ type NavBarContextValue = {
6
6
  primaryNavRef: RefObject<HTMLElement>;
7
7
  secondaryNavRef: RefObject<HTMLElement>;
8
8
  };
9
- export declare const NavBarContext: import("react").Context<NavBarContextValue>;
9
+ export declare const NavBarContext: React.Context<NavBarContextValue>;
10
10
  export declare function useNavBarContext(): NavBarContextValue;
11
11
  export {};
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
2
  import type { ButtonProps } from "../Button/Button";
3
- export declare const NavBarDropdownTriggerButton: React.ForwardRefExoticComponent<Pick<ButtonProps, "disabled" | "onBlur" | "onClick" | "onFocus"> & {
3
+ export declare const NavBarDropdownTriggerButton: React.ForwardRefExoticComponent<Pick<ButtonProps, "onFocus" | "onBlur" | "onClick" | "disabled"> & {
4
4
  children?: React.ReactNode | undefined;
5
5
  } & React.RefAttributes<HTMLButtonElement>>;
@@ -1 +1 @@
1
- export declare const DialogContext: import("react").Context<boolean>;
1
+ export declare const DialogContext: React.Context<boolean>;