@okta/odyssey-react-mui 1.36.1 → 1.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -3
- package/dist/cjs/Pagination/Pagination.cjs +1 -1
- package/dist/cjs/Pagination/Pagination.cjs.map +1 -1
- package/dist/cjs/Pagination/usePagination.cjs +3 -1
- package/dist/cjs/Pagination/usePagination.cjs.map +1 -1
- package/dist/cjs/labs/DataView/TableLayoutContent.cjs +3 -3
- package/dist/cjs/labs/DataView/TableLayoutContent.cjs.map +1 -1
- package/dist/cjs/labs/PageTemplate/DocumentationLink.cjs +41 -0
- package/dist/cjs/labs/PageTemplate/DocumentationLink.cjs.map +1 -0
- package/dist/cjs/labs/PageTemplate/PageTemplate.cjs +22 -8
- package/dist/cjs/labs/PageTemplate/PageTemplate.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui.cjs.map +1 -1
- package/dist/cjs/ui-shell/NarrowUiShellContent.cjs +2 -1
- package/dist/cjs/ui-shell/NarrowUiShellContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNav.cjs +6 -2
- package/dist/cjs/ui-shell/SideNav/SideNav.cjs.map +1 -1
- package/dist/cjs/ui-shell/WideUiShellContent.cjs +0 -1
- package/dist/cjs/ui-shell/WideUiShellContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/renderUiShell.cjs +12 -0
- package/dist/cjs/ui-shell/renderUiShell.cjs.map +1 -1
- package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs +1 -1
- package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs.map +1 -1
- package/dist/cjs/web-component/renderReactInWebComponent.cjs.map +1 -1
- package/dist/esm/Pagination/Pagination.js +1 -1
- package/dist/esm/Pagination/Pagination.js.map +1 -1
- package/dist/esm/Pagination/usePagination.js +3 -1
- package/dist/esm/Pagination/usePagination.js.map +1 -1
- package/dist/esm/labs/DataView/TableLayoutContent.js +3 -3
- package/dist/esm/labs/DataView/TableLayoutContent.js.map +1 -1
- package/dist/esm/labs/PageTemplate/DocumentationLink.js +35 -0
- package/dist/esm/labs/PageTemplate/DocumentationLink.js.map +1 -0
- package/dist/esm/labs/PageTemplate/PageTemplate.js +22 -8
- package/dist/esm/labs/PageTemplate/PageTemplate.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui.js.map +1 -1
- package/dist/esm/ui-shell/NarrowUiShellContent.js +2 -1
- package/dist/esm/ui-shell/NarrowUiShellContent.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNav.js +6 -2
- package/dist/esm/ui-shell/SideNav/SideNav.js.map +1 -1
- package/dist/esm/ui-shell/WideUiShellContent.js +0 -1
- package/dist/esm/ui-shell/WideUiShellContent.js.map +1 -1
- package/dist/esm/ui-shell/renderUiShell.js +12 -0
- package/dist/esm/ui-shell/renderUiShell.js.map +1 -1
- package/dist/esm/web-component/odysseyWebComponentVersion.generated.js +1 -1
- package/dist/esm/web-component/odysseyWebComponentVersion.generated.js.map +1 -1
- package/dist/esm/web-component/renderReactInWebComponent.js.map +1 -1
- package/dist/index.cjs +231 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.mjs +229 -0
- package/dist/index.scss +549 -0
- package/dist/tsconfig.production.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/OdysseyTranslationProvider.d.ts +1 -1
- package/dist/types/OdysseyTranslationProvider.d.ts.map +1 -1
- package/dist/types/Pagination/usePagination.d.ts.map +1 -1
- package/dist/types/i18n.d.ts +1 -0
- package/dist/types/i18n.d.ts.map +1 -1
- package/dist/types/labs/PageTemplate/DocumentationLink.d.ts +34 -0
- package/dist/types/labs/PageTemplate/DocumentationLink.d.ts.map +1 -0
- package/dist/types/labs/PageTemplate/PageTemplate.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui.d.ts.map +1 -1
- package/dist/types/ui-shell/NarrowUiShellContent.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNav.d.ts.map +1 -1
- package/dist/types/ui-shell/WideUiShellContent.d.ts.map +1 -1
- package/dist/types/ui-shell/renderUiShell.d.ts +19 -4
- package/dist/types/ui-shell/renderUiShell.d.ts.map +1 -1
- package/dist/types/web-component/odysseyWebComponentVersion.generated.d.ts +1 -1
- package/dist/types/web-component/renderReactInWebComponent.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odyssey-react-mui.cjs","names":["translation","exports"],"sources":["../../../../src/properties/ts/odyssey-react-mui.ts"],"sourcesContent":["export const translation = {\"navigation.label\":\"Main navigation\",\"navigation.footer\":\"Navigation secondary links\",\"navigation.drag.handle\":\"Drag handle\",\"sortable.list.drag.start\":\"Picked up draggable item {{activeId}}\",\"sortable.list.drag.moved.over\":\"Draggable item {{activeId}} was moved over droppable area {{overId}}\",\"sortable.list.drag.nolonger.over\":\"Draggable item {{activeId}} is no longer over a droppable area\",\"sortable.list.drag.end.dropped.over\":\"Draggable item {{activeId}} was dropped over droppable area {{overId}}\",\"sortable.list.drag.end.dropped\":\"Draggable item {{activeId}} was dropped\",\"sortable.list.drag.cancel\":\"Dragging was cancelled. Draggable item {{activeId}} was dropped\",\"breadcrumbs.home.text\":\"Home\",\"breadcrumbs.label.text\":\"Breadcrumbs\",\"close.text\":\"Close\",\"clear.text\":\"Clear\",\"open.text\":\"Open\",\"autocomplete.nooptions\":\"No options\",\"picker.calendar.navigation.nextmonth\":\"Next month\",\"picker.calendar.navigation.previousmonth\":\"Previous month\",\"picker.date.toolbar.title\":\"Selected date\",\"picker.daterange.toolbar.title\":\"Select date range\",\"picker.datetime.toolbar.title\":\"Select date & time\",\"picker.error.invalid\":\"Correct the date format or select the date from the calendar.\",\"picker.error.mindate\":\"Date entered is earlier than allowed dates. Select a date from the range available in the calendar.\",\"picker.error.maxdate\":\"Date entered is later than the allowed dates. Select a date from the range available in the calendar.\",\"picker.field.placeholder.day\":\"DD\",\"picker.field.placeholder.hours\":\"hh\",\"picker.field.placeholder.meridiem\":\"aa\",\"picker.field.placeholder.minutes\":\"mm\",\"picker.field.placeholder.month\":\"MM\",\"picker.field.placeholder.seconds\":\"ss\",\"picker.field.placeholder.year\":\"YYYY\",\"picker.labels.action.apply\":\"Apply\",\"picker.labels.action.cancel\":\"Cancel\",\"picker.labels.action.today\":\"Today\",\"picker.labels.clock.empty\":\"No time selected\",\"picker.labels.clock.hours\":\"hours\",\"picker.labels.clock.minutes\":\"minutes\",\"picker.labels.clock.seconds\":\"seconds\",\"picker.labels.clock.selected\":\"Selected time is\",\"picker.labels.date.choose\":\"Choose date\",\"picker.labels.date.selected\":\"Selected date is\",\"picker.labels.empty\":\"Empty\",\"picker.labels.field.clear\":\"Clear value\",\"picker.labels.range.end\":\"End\",\"picker.labels.range.enddate\":\"End date\",\"picker.labels.range.endtime\":\"End time\",\"picker.labels.range.start\":\"Start\",\"picker.labels.range.startdate\":\"Start date\",\"picker.labels.range.starttime\":\"Start time\",\"picker.labels.select\":\"Select\",\"picker.labels.table.date\":\"pick date\",\"picker.labels.table.time\":\"pick time\",\"picker.labels.time.choose\":\"Choose time\",\"picker.labels.time.selected\":\"selected time is\",\"picker.time.toolbar.title\":\"Select time\",\"picker.view.name.day\":\"Day\",\"picker.view.name.hours\":\"Hours\",\"picker.view.name.meridiem\":\"Meridiem\",\"picker.view.name.minutes\":\"Minutes\",\"picker.view.name.month\":\"Month\",\"picker.view.name.seconds\":\"Seconds\",\"picker.view.name.weekday\":\"Week day\",\"picker.view.name.year\":\"Year\",\"picker.view.navigation.open.nextview\":\"Open next view\",\"picker.view.navigation.open.previousview\":\"Open previous view\",\"picker.view.navigation.switch.calendarview\":\"year view is open, switch to calendar view\",\"picker.view.navigation.switch.yearview\":\"calendar view is open, switch to year view\",\"fielderror.screenreader.text\":\"Error\",\"fieldlabel.optional.text\":\"Optional\",\"fieldlabel.required.text\":\"Required\",\"filters.clear.label\":\"Clear filters\",\"filters.submit.label\":\"Submit\",\"filters.filter.any\":\"Any\",\"filters.filter.clear\":\"Clear filter\",\"filters.filters.arialabel\":\"Filters\",\"filters.menuitem.any\":\"Any {{label}}\",\"filters.menuitem.selected\":\"{{selected}} selected\",\"filters.search.label\":\"Search\",\"fileupload.button.text\":\"Add files\",\"fileupload.prompt.text\":\"Drag and drop files here or click to add files\",\"fileupload.removefile.text\":\"Remove file\",\"passwordfield.icon.label.hide\":\"Hide password\",\"passwordfield.icon.label.show\":\"Show password\",\"severity.error\":\"error\",\"severity.info\":\"info\",\"severity.success\":\"success\",\"severity.warning\":\"warning\",\"sidenav.toggle.expand\":\"Open navigation\",\"sidenav.toggle.collapse\":\"Close navigation\",\"switch.active\":\"Active\",\"switch.inactive\":\"Inactive\",\"table.columnvisibility.arialabel\":\"Show/hide columns\",\"table.density.arialabel\":\"Table density\",\"table.draghandle.arialabel\":\"Drag row to reorder. Or, press space or enter to start and stop reordering and esc to cancel.\",\"table.draghandle.tooltip\":\"Drag row or press space/enter key to start and stop reordering\",\"table.actions\":\"Actions\",\"table.error\":\"Error loading data.\",\"table.fetchedrows.text\":\"Fetched {{totalRows}} row\",\"table.fetchedrows.text_plural\":\"Fetched {{totalRows}} total rows\",\"table.moreactions.arialabel\":\"More actions\",\"table.noresults.heading\":\"There are no results.\",\"table.noresults.text\":\"Try a different query.\",\"table.reorder.backward\":\"Send backward\",\"table.reorder.forward\":\"Bring forward\",\"table.reorder.toback\":\"Send to back\",\"table.reorder.tofront\":\"Bring to front\",\"table.rows.text\":\"{{totalRows}} row\",\"table.rows.text_plural\":\"{{totalRows}} rows\",\"pagination.label\":\"Pagination\",\"pagination.loadmore\":\"Show more\",\"pagination.next\":\"Next page\",\"pagination.previous\":\"Previous page\",\"pagination.page\":\"Page\",\"pagination.rowsperpage\":\"Rows per page\",\"pagination.rowswithtotal\":\"{{firstRow}}-{{lastRow}} of {{totalRows}} rows\",\"pagination.rowswithouttotal\":\"{{firstRow}}-{{lastRow}} rows\",\"table.actions.selectall\":\"Select all\",\"table.actions.selectnone\":\"Select none\",\"table.actions.selectsome\":\"{{selectedRowCount}} selected\",\"table.rowexpansion.expand\":\"Expand\",\"table.rowexpansion.expandall\":\"Expand all\",\"table.rowexpansion.collapse\":\"Collapse\",\"table.rowexpansion.collapseall\":\"Collapse all\",\"dataview.layout.table\":\"Table\",\"dataview.layout.grid\":\"Grid\",\"dataview.layout.list\":\"List\",\"topnav.helpicon\":\"help page\",\"topnav.settingsicon\":\"settings page\"};"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"odyssey-react-mui.cjs","names":["translation","exports"],"sources":["../../../../src/properties/ts/odyssey-react-mui.ts"],"sourcesContent":["export const translation = {\"navigation.label\":\"Main navigation\",\"navigation.footer\":\"Navigation secondary links\",\"navigation.drag.handle\":\"Drag handle\",\"sortable.list.drag.start\":\"Picked up draggable item {{activeId}}\",\"sortable.list.drag.moved.over\":\"Draggable item {{activeId}} was moved over droppable area {{overId}}\",\"sortable.list.drag.nolonger.over\":\"Draggable item {{activeId}} is no longer over a droppable area\",\"sortable.list.drag.end.dropped.over\":\"Draggable item {{activeId}} was dropped over droppable area {{overId}}\",\"sortable.list.drag.end.dropped\":\"Draggable item {{activeId}} was dropped\",\"sortable.list.drag.cancel\":\"Dragging was cancelled. Draggable item {{activeId}} was dropped\",\"breadcrumbs.home.text\":\"Home\",\"breadcrumbs.label.text\":\"Breadcrumbs\",\"close.text\":\"Close\",\"clear.text\":\"Clear\",\"open.text\":\"Open\",\"autocomplete.nooptions\":\"No options\",\"picker.calendar.navigation.nextmonth\":\"Next month\",\"picker.calendar.navigation.previousmonth\":\"Previous month\",\"picker.date.toolbar.title\":\"Selected date\",\"picker.daterange.toolbar.title\":\"Select date range\",\"picker.datetime.toolbar.title\":\"Select date & time\",\"picker.error.invalid\":\"Correct the date format or select the date from the calendar.\",\"picker.error.mindate\":\"Date entered is earlier than allowed dates. Select a date from the range available in the calendar.\",\"picker.error.maxdate\":\"Date entered is later than the allowed dates. Select a date from the range available in the calendar.\",\"picker.field.placeholder.day\":\"DD\",\"picker.field.placeholder.hours\":\"hh\",\"picker.field.placeholder.meridiem\":\"aa\",\"picker.field.placeholder.minutes\":\"mm\",\"picker.field.placeholder.month\":\"MM\",\"picker.field.placeholder.seconds\":\"ss\",\"picker.field.placeholder.year\":\"YYYY\",\"picker.labels.action.apply\":\"Apply\",\"picker.labels.action.cancel\":\"Cancel\",\"picker.labels.action.today\":\"Today\",\"picker.labels.clock.empty\":\"No time selected\",\"picker.labels.clock.hours\":\"hours\",\"picker.labels.clock.minutes\":\"minutes\",\"picker.labels.clock.seconds\":\"seconds\",\"picker.labels.clock.selected\":\"Selected time is\",\"picker.labels.date.choose\":\"Choose date\",\"picker.labels.date.selected\":\"Selected date is\",\"picker.labels.empty\":\"Empty\",\"picker.labels.field.clear\":\"Clear value\",\"picker.labels.range.end\":\"End\",\"picker.labels.range.enddate\":\"End date\",\"picker.labels.range.endtime\":\"End time\",\"picker.labels.range.start\":\"Start\",\"picker.labels.range.startdate\":\"Start date\",\"picker.labels.range.starttime\":\"Start time\",\"picker.labels.select\":\"Select\",\"picker.labels.table.date\":\"pick date\",\"picker.labels.table.time\":\"pick time\",\"picker.labels.time.choose\":\"Choose time\",\"picker.labels.time.selected\":\"selected time is\",\"picker.time.toolbar.title\":\"Select time\",\"picker.view.name.day\":\"Day\",\"picker.view.name.hours\":\"Hours\",\"picker.view.name.meridiem\":\"Meridiem\",\"picker.view.name.minutes\":\"Minutes\",\"picker.view.name.month\":\"Month\",\"picker.view.name.seconds\":\"Seconds\",\"picker.view.name.weekday\":\"Week day\",\"picker.view.name.year\":\"Year\",\"picker.view.navigation.open.nextview\":\"Open next view\",\"picker.view.navigation.open.previousview\":\"Open previous view\",\"picker.view.navigation.switch.calendarview\":\"year view is open, switch to calendar view\",\"picker.view.navigation.switch.yearview\":\"calendar view is open, switch to year view\",\"fielderror.screenreader.text\":\"Error\",\"fieldlabel.optional.text\":\"Optional\",\"fieldlabel.required.text\":\"Required\",\"filters.clear.label\":\"Clear filters\",\"filters.submit.label\":\"Submit\",\"filters.filter.any\":\"Any\",\"filters.filter.clear\":\"Clear filter\",\"filters.filters.arialabel\":\"Filters\",\"filters.menuitem.any\":\"Any {{label}}\",\"filters.menuitem.selected\":\"{{selected}} selected\",\"filters.search.label\":\"Search\",\"fileupload.button.text\":\"Add files\",\"fileupload.prompt.text\":\"Drag and drop files here or click to add files\",\"fileupload.removefile.text\":\"Remove file\",\"passwordfield.icon.label.hide\":\"Hide password\",\"passwordfield.icon.label.show\":\"Show password\",\"severity.error\":\"error\",\"severity.info\":\"info\",\"severity.success\":\"success\",\"severity.warning\":\"warning\",\"sidenav.toggle.expand\":\"Open navigation\",\"sidenav.toggle.collapse\":\"Close navigation\",\"switch.active\":\"Active\",\"switch.inactive\":\"Inactive\",\"table.columnvisibility.arialabel\":\"Show/hide columns\",\"table.density.arialabel\":\"Table density\",\"table.draghandle.arialabel\":\"Drag row to reorder. Or, press space or enter to start and stop reordering and esc to cancel.\",\"table.draghandle.tooltip\":\"Drag row or press space/enter key to start and stop reordering\",\"table.actions\":\"Actions\",\"table.error\":\"Error loading data.\",\"table.fetchedrows.text\":\"Fetched {{totalRows}} row\",\"table.fetchedrows.text_plural\":\"Fetched {{totalRows}} total rows\",\"table.moreactions.arialabel\":\"More actions\",\"table.noresults.heading\":\"There are no results.\",\"table.noresults.text\":\"Try a different query.\",\"table.reorder.backward\":\"Send backward\",\"table.reorder.forward\":\"Bring forward\",\"table.reorder.toback\":\"Send to back\",\"table.reorder.tofront\":\"Bring to front\",\"table.rows.text\":\"{{totalRows}} row\",\"table.rows.text_plural\":\"{{totalRows}} rows\",\"pagination.label\":\"Pagination\",\"pagination.loadmore\":\"Show more\",\"pagination.next\":\"Next page\",\"pagination.previous\":\"Previous page\",\"pagination.page\":\"Page\",\"pagination.rowsperpage\":\"Rows per page\",\"pagination.rowswithtotal\":\"{{firstRow}}-{{lastRow}} of {{totalRows}} rows\",\"pagination.rowswithouttotal\":\"{{firstRow}}-{{lastRow}} rows\",\"pagination.totalrows\":\"{{totalRows}} rows\",\"table.actions.selectall\":\"Select all\",\"table.actions.selectnone\":\"Select none\",\"table.actions.selectsome\":\"{{selectedRowCount}} selected\",\"table.rowexpansion.expand\":\"Expand\",\"table.rowexpansion.expandall\":\"Expand all\",\"table.rowexpansion.collapse\":\"Collapse\",\"table.rowexpansion.collapseall\":\"Collapse all\",\"dataview.layout.table\":\"Table\",\"dataview.layout.grid\":\"Grid\",\"dataview.layout.list\":\"List\",\"topnav.helpicon\":\"help page\",\"topnav.settingsicon\":\"settings page\"};"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NarrowUiShellContent.cjs","names":["_styled","_interopRequireDefault","require","_react","_reactErrorBoundary","_Button","_Close","_More","_InnerAppContainer","_OdysseyDesignTokensContext","_SideNav","_SideNavLogo","_HamburgerMenuIcon","_UiShellProvider","_uiShellSharedConstants","_useScrollState","_useMatchAppElementToUiShellAppArea","_hexToRgb","_jsxRuntime","e","__esModule","default","StyledAppContentArea","styled","gridArea","position","display","gridGap","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","height","width","StyledAppContainer","shouldForwardProp","prop","appBackgroundColor","backgroundColor","overflow","StyledBannersContainer","zIndex","UI_SHELL_BASE_Z_INDEX","StyledLeftSideContainer","isOpen","overflowY","StyledRightSideContainer","odysseyDesignTokens","HueNeutralWhite","maxWidth","SIDE_NAV_WIDTH","right","StyledMenuLogo","alignItems","gap","Spacing3","StyledLogoContainer","TOP_NAV_HEIGHT","paddingBlock","Spacing4","maxHeight","StyledPageOverlay","hexToRgb","HueNeutral900","asFormattedString","replace","left","top","StyledSideNavContainer","StyledUiShellContainer","HueNeutral50","StyledTopNav","isContentScrolled","topNavBackgroundColor","boxShadow","DepthMedium","undefined","clipPath","flexDirection","justifyContent","transition","TransitionDurationMain","TransitionTimingMain","StyledTopNavMenu","minHeight","Spacing2","paddingInline","borderBottomColor","HueNeutral100","borderBottomStyle","BorderStyleMain","borderBottomWidth","BorderWidthMain","StyledTopNavSearch","NarrowUiShellContent","appElement","appElementScrollingMode","hasStandardAppContentPadding","initialVisibleSections","onError","console","error","optionalComponents","sideNavProps","topNavProps","useOdysseyDesignTokens","uiShellContext","useUiShellContext","useScrollState","sideNavContainerRef","useRef","topNavContainerRef","uiShellAppAreaRef","isLeftSideMenuOpen","setIsLeftSideMenuOpen","useState","isRightSideMenuOpen","setIsRightSideMenuOpen","closeSideMenus","useCallback","useEffect","unsubscribeFromCloseRightSideMenu","subscribeToCloseRightSideMenu","unsubscribeFromSideNavItemClicked","subscribeToCloseSideNavMenu","toggleLeftSideMenu","toggleRightSideMenu","parentContainerRef","useMatchAppElementToUiShellAppArea","paddingMode","uiShellResizableRefs","jsxs","Fragment","children","jsx","onClick","ref","banners","includes","ErrorBoundary","fallback","sideNavBackgroundColor","isCollapsible","isCollapsed","Button","startIcon","HamburgerMenuIcon","testId","variant","isLoading","_Skeleton2","SideNavLogo","logoProps","rightSideMenu","CloseIcon","MoreIcon","topNavLeftSide","SideNav","sideNavItems","emptySideNavItems","appName","hasCustomFooter","sideNavFooter","footerComponent","footerItems","isObtrusive","tabIndex","InnerAppContainer","MemoizedNarrowUiShellContent","exports","memo","displayName"],"sources":["../../../src/ui-shell/NarrowUiShellContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { Skeleton } from \"@mui/material\";\nimport {\n CSSProperties,\n memo,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\n\nimport { Button } from \"../Buttons/Button.js\";\nimport type { HtmlProps } from \"../HtmlProps.js\";\nimport { CloseIcon } from \"../icons.generated/Close.js\";\nimport { MoreIcon } from \"../icons.generated/More.js\";\nimport { InnerAppContainer } from \"./InnerAppContainer.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport { SideNav } from \"./SideNav/SideNav.js\";\nimport { SideNavLogo } from \"./SideNav/SideNavLogo.js\";\nimport { HamburgerMenuIcon } from \"./TopNav/HamburgerMenuIcon.js\";\nimport { UiShellColors, useUiShellContext } from \"./UiShellProvider.js\";\nimport {\n UiShellNavComponentProps,\n UiShellContentProps,\n} from \"./uiShellContentTypes.js\";\nimport {\n emptySideNavItems,\n SIDE_NAV_WIDTH,\n TOP_NAV_HEIGHT,\n UI_SHELL_BASE_Z_INDEX,\n} from \"./uiShellSharedConstants.js\";\nimport { useScrollState } from \"./useScrollState.js\";\nimport { useMatchAppElementToUiShellAppArea } from \"./useMatchAppElementToUiShellAppArea.js\";\nimport { hexToRgb } from \"../hexToRgb.js\";\n\nconst StyledAppContentArea = styled(\"div\")({\n gridArea: \"app-content\",\n position: \"relative\",\n display: \"grid\",\n gridGap: 0,\n gridTemplateAreas: `\n \"left-side app-container right-side\"\n `,\n gridTemplateColumns: \"auto 1fr auto\",\n gridTemplateRows: \"1fr\",\n height: \"100%\",\n width: \"100%\",\n});\n\nconst StyledAppContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"appBackgroundColor\" && prop !== \"odysseyDesignTokens\",\n})<{\n appBackgroundColor?: UiShellColors[\"appBackgroundColor\"];\n}>(({ appBackgroundColor }) => ({\n backgroundColor: appBackgroundColor,\n gridArea: \"app-container\",\n height: \"100%\",\n overflow: \"hidden\",\n width: \"100%\",\n}));\n\nconst StyledBannersContainer = styled(\"div\")({\n gridArea: \"banners\",\n zIndex: UI_SHELL_BASE_Z_INDEX,\n});\n\nconst StyledLeftSideContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"isOpen\",\n})<{\n isOpen: boolean;\n}>(({ isOpen }) => ({\n display: isOpen ? \"block\" : \"none\",\n height: \"100%\",\n gridArea: \"left-side\",\n overflowY: \"auto\",\n position: \"absolute\",\n zIndex: UI_SHELL_BASE_Z_INDEX,\n}));\n\nconst StyledRightSideContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"isOpen\" && prop !== \"odysseyDesignTokens\",\n})<{\n isOpen: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ isOpen, odysseyDesignTokens }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutralWhite,\n display: isOpen ? \"block\" : \"none\",\n gridArea: \"right-side\",\n height: \"100%\",\n maxWidth: SIDE_NAV_WIDTH,\n overflowY: \"auto\",\n position: \"absolute\",\n right: 0,\n width: SIDE_NAV_WIDTH,\n zIndex: UI_SHELL_BASE_Z_INDEX,\n}));\n\nconst StyledMenuLogo = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n alignItems: \"center\",\n display: \"inline-flex\",\n gap: odysseyDesignTokens.Spacing3,\n}));\n\nconst StyledLogoContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n height: TOP_NAV_HEIGHT,\n paddingBlock: odysseyDesignTokens.Spacing4,\n\n \"svg, img\": {\n maxHeight: \"100%\",\n width: \"auto\",\n maxWidth: \"100%\",\n },\n}));\n\nconst StyledPageOverlay = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n backgroundColor: hexToRgb(\n odysseyDesignTokens.HueNeutral900,\n ).asFormattedString.replace(/rgb\\((.+)\\)$/, \"rgba($1, 0.26)\"),\n gridArea: \"app-content\",\n height: \"100vh\",\n left: 0,\n position: \"absolute\",\n top: 0,\n width: \"100vw\",\n zIndex: UI_SHELL_BASE_Z_INDEX,\n}));\n\nconst StyledSideNavContainer = styled(\"div\")({\n height: \"100%\", // Without this value, side nav won't fill up the height if the content is too short.\n});\n\nconst StyledUiShellContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutral50,\n display: \"grid\",\n gridGap: 0,\n gridTemplateAreas: `\n \"banners\"\n \"top-nav\"\n \"app-content\"\n `,\n gridTemplateColumns: \"1fr\",\n gridTemplateRows: \"auto auto 1fr\",\n height: \"100vh\",\n overflow: \"hidden\",\n width: \"100vw\",\n}));\n\nconst StyledTopNav = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isContentScrolled\" &&\n prop !== \"topNavBackgroundColor\",\n})<{\n isContentScrolled?: boolean;\n odysseyDesignTokens: DesignTokens;\n topNavBackgroundColor?: UiShellColors[\"topNavBackgroundColor\"];\n}>(({ odysseyDesignTokens, isContentScrolled, topNavBackgroundColor }) => ({\n alignItems: \"stretch\",\n backgroundColor: odysseyDesignTokens.HueNeutralWhite || topNavBackgroundColor, // This logic doesn't make sense, but I wanted to leave it here for when we eventually make a decision on `topNavBackgroundColor`. --Kevin Ghadyani\n boxShadow: isContentScrolled ? odysseyDesignTokens.DepthMedium : undefined,\n clipPath: \"inset(0 0 -100vh 0)\",\n display: \"flex\",\n flexDirection: \"column\",\n gridArea: \"top-nav\",\n height: \"100%\",\n justifyContent: \"center\",\n position: \"relative\",\n transition: `box-shadow ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,\n zIndex: UI_SHELL_BASE_Z_INDEX,\n}));\n\nconst StyledTopNavMenu = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"topNavBackgroundColor\",\n})<{\n odysseyDesignTokens: DesignTokens;\n topNavBackgroundColor?: UiShellColors[\"topNavBackgroundColor\"];\n}>(({ odysseyDesignTokens, topNavBackgroundColor }) => ({\n alignItems: \"center\",\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing3,\n height: \"100%\",\n justifyContent: \"space-between\",\n maxHeight: TOP_NAV_HEIGHT,\n minHeight: TOP_NAV_HEIGHT,\n paddingBlock: odysseyDesignTokens.Spacing2,\n paddingInline: odysseyDesignTokens.Spacing3,\n transition: `box-shadow ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,\n\n ...(topNavBackgroundColor === odysseyDesignTokens.HueNeutralWhite &&\n ({\n borderBottomColor: odysseyDesignTokens.HueNeutral100,\n borderBottomStyle: odysseyDesignTokens.BorderStyleMain,\n borderBottomWidth: odysseyDesignTokens.BorderWidthMain,\n } as CSSProperties)),\n}));\n\nconst StyledTopNavSearch = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n paddingBlock: odysseyDesignTokens.Spacing2,\n paddingInline: odysseyDesignTokens.Spacing3,\n}));\n\nexport type NarrowUiShellContentProps = Pick<HtmlProps, \"testId\"> &\n Pick<UiShellNavComponentProps, \"sideNavProps\" | \"topNavProps\"> &\n UiShellContentProps;\n\nconst NarrowUiShellContent = ({\n appElement,\n appElementScrollingMode,\n hasStandardAppContentPadding = true,\n initialVisibleSections = [\"TopNav\", \"SideNav\", \"AppSwitcher\"],\n onError = console.error,\n optionalComponents,\n sideNavProps,\n topNavProps,\n}: NarrowUiShellContentProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const uiShellContext = useUiShellContext();\n\n const { isContentScrolled } = useScrollState(appElement);\n\n const sideNavContainerRef = useRef<HTMLDivElement>(null);\n const topNavContainerRef = useRef<HTMLDivElement>(null);\n const uiShellAppAreaRef = useRef<HTMLDivElement>(null);\n\n const [isLeftSideMenuOpen, setIsLeftSideMenuOpen] = useState(false);\n const [isRightSideMenuOpen, setIsRightSideMenuOpen] = useState(false);\n\n const closeSideMenus = useCallback(() => {\n setIsLeftSideMenuOpen(false);\n setIsRightSideMenuOpen(false);\n }, []);\n\n useEffect(() => {\n const unsubscribeFromCloseRightSideMenu =\n uiShellContext?.subscribeToCloseRightSideMenu(() => {\n closeSideMenus();\n });\n\n const unsubscribeFromSideNavItemClicked =\n uiShellContext?.subscribeToCloseSideNavMenu(() => {\n closeSideMenus();\n });\n\n return () => {\n unsubscribeFromCloseRightSideMenu?.();\n unsubscribeFromSideNavItemClicked?.();\n };\n }, [closeSideMenus, uiShellContext]);\n\n const toggleLeftSideMenu = useCallback(() => {\n setIsRightSideMenuOpen(false);\n setIsLeftSideMenuOpen((isLeftSideMenuOpen) => !isLeftSideMenuOpen);\n }, []);\n\n const toggleRightSideMenu = useCallback(() => {\n setIsLeftSideMenuOpen(false);\n setIsRightSideMenuOpen((isRightSideMenuOpen) => !isRightSideMenuOpen);\n }, []);\n\n const { parentContainerRef } = useMatchAppElementToUiShellAppArea({\n appElement,\n appElementScrollingMode,\n paddingMode: hasStandardAppContentPadding ? \"compact\" : \"none\",\n uiShellAppAreaRef,\n uiShellResizableRefs: [\n sideNavContainerRef,\n topNavContainerRef,\n uiShellAppAreaRef,\n ],\n });\n\n return (\n <>\n {(isLeftSideMenuOpen || isRightSideMenuOpen) && (\n <StyledPageOverlay\n odysseyDesignTokens={odysseyDesignTokens}\n onClick={closeSideMenus}\n />\n )}\n\n <StyledUiShellContainer\n odysseyDesignTokens={odysseyDesignTokens}\n ref={parentContainerRef}\n >\n <StyledBannersContainer>\n {optionalComponents?.banners}\n </StyledBannersContainer>\n\n {(initialVisibleSections?.includes(\"TopNav\") || topNavProps) && (\n <ErrorBoundary fallback={null} onError={onError}>\n <StyledTopNav\n isContentScrolled={isContentScrolled}\n odysseyDesignTokens={odysseyDesignTokens}\n topNavBackgroundColor={uiShellContext?.topNavBackgroundColor}\n >\n <StyledTopNavMenu\n odysseyDesignTokens={odysseyDesignTokens}\n topNavBackgroundColor={uiShellContext?.sideNavBackgroundColor}\n >\n <StyledMenuLogo odysseyDesignTokens={odysseyDesignTokens}>\n {(sideNavProps?.isCollapsible ||\n !sideNavProps?.isCollapsed) && (\n <Button\n onClick={toggleLeftSideMenu}\n startIcon={<HamburgerMenuIcon />}\n testId=\"sidenav-menu--icon\"\n variant=\"floating\"\n />\n )}\n\n <StyledLogoContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {sideNavProps?.isLoading ? (\n // The skeleton takes the hardcoded dimensions of the Okta logo\n <Skeleton variant=\"rounded\" height={24} width={67} />\n ) : (\n <SideNavLogo {...sideNavProps?.logoProps} />\n )}\n </StyledLogoContainer>\n </StyledMenuLogo>\n\n {optionalComponents?.rightSideMenu && (\n <Button\n onClick={toggleRightSideMenu}\n startIcon={\n isRightSideMenuOpen ? <CloseIcon /> : <MoreIcon />\n }\n testId=\"userprofile-menu--icon\"\n variant=\"floating\"\n />\n )}\n </StyledTopNavMenu>\n\n {optionalComponents?.topNavLeftSide && (\n <StyledTopNavSearch odysseyDesignTokens={odysseyDesignTokens}>\n {optionalComponents?.topNavLeftSide}\n </StyledTopNavSearch>\n )}\n </StyledTopNav>\n </ErrorBoundary>\n )}\n\n <StyledAppContentArea>\n <StyledLeftSideContainer isOpen={isLeftSideMenuOpen}>\n {\n /* If SideNav should be initially visible and we have not yet received props, render SideNav with minimal inputs */\n initialVisibleSections?.includes(\"SideNav\") &&\n sideNavProps === undefined && (\n <ErrorBoundary fallback={null} onError={onError}>\n <SideNav isLoading sideNavItems={emptySideNavItems} />\n </ErrorBoundary>\n )\n }\n\n {sideNavProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <StyledSideNavContainer>\n <SideNav\n {...{\n ...{\n ...sideNavProps,\n // This hides the side nav logo or app name from showing up as we already have one in the narrow top nav.\n appName: undefined,\n logoProps: undefined,\n },\n ...(sideNavProps.hasCustomFooter &&\n optionalComponents?.sideNavFooter\n ? {\n footerComponent: optionalComponents.sideNavFooter,\n footerItems: undefined,\n hasCustomFooter: sideNavProps.hasCustomFooter,\n }\n : {\n footerItems: sideNavProps.footerItems,\n hasCustomFooter: false,\n }),\n }}\n isCollapsed={false}\n isCollapsible={false}\n isObtrusive\n />\n </StyledSideNavContainer>\n </ErrorBoundary>\n )}\n </StyledLeftSideContainer>\n\n <StyledRightSideContainer\n isOpen={isRightSideMenuOpen}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <StyledSideNavContainer>\n {optionalComponents?.rightSideMenu}\n </StyledSideNavContainer>\n </StyledRightSideContainer>\n\n <StyledAppContainer\n appBackgroundColor={uiShellContext?.appBackgroundColor}\n tabIndex={0}\n ref={uiShellAppAreaRef}\n >\n <InnerAppContainer isContentScrolled={isContentScrolled} />\n </StyledAppContainer>\n </StyledAppContentArea>\n </StyledUiShellContainer>\n </>\n );\n};\n\nconst MemoizedNarrowUiShellContent = memo(NarrowUiShellContent);\nMemoizedNarrowUiShellContent.displayName = \"NarrowUiShellContent\";\n\nexport { MemoizedNarrowUiShellContent as NarrowUiShellContent };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"NarrowUiShellContent.cjs","names":["_styled","_interopRequireDefault","require","_react","_reactErrorBoundary","_Button","_Close","_More","_InnerAppContainer","_OdysseyDesignTokensContext","_SideNav","_SideNavLogo","_HamburgerMenuIcon","_UiShellProvider","_uiShellSharedConstants","_useScrollState","_useMatchAppElementToUiShellAppArea","_hexToRgb","_jsxRuntime","e","__esModule","default","StyledAppContentArea","styled","gridArea","position","display","gridGap","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","height","width","StyledAppContainer","shouldForwardProp","prop","appBackgroundColor","backgroundColor","overflow","StyledBannersContainer","zIndex","UI_SHELL_BASE_Z_INDEX","StyledLeftSideContainer","isOpen","overflowY","StyledRightSideContainer","odysseyDesignTokens","HueNeutralWhite","maxWidth","SIDE_NAV_WIDTH","right","StyledMenuLogo","alignItems","gap","Spacing3","StyledLogoContainer","TOP_NAV_HEIGHT","paddingBlock","Spacing4","maxHeight","StyledPageOverlay","hexToRgb","HueNeutral900","asFormattedString","replace","left","top","StyledSideNavContainer","StyledUiShellContainer","HueNeutral50","StyledTopNav","isContentScrolled","topNavBackgroundColor","boxShadow","DepthMedium","undefined","clipPath","flexDirection","justifyContent","transition","TransitionDurationMain","TransitionTimingMain","StyledTopNavMenu","minHeight","Spacing2","paddingInline","borderBottomColor","HueNeutral100","borderBottomStyle","BorderStyleMain","borderBottomWidth","BorderWidthMain","StyledTopNavSearch","NarrowUiShellContent","appElement","appElementScrollingMode","hasStandardAppContentPadding","initialVisibleSections","onError","console","error","optionalComponents","sideNavProps","topNavProps","useOdysseyDesignTokens","uiShellContext","useUiShellContext","useScrollState","sideNavContainerRef","useRef","topNavContainerRef","uiShellAppAreaRef","isLeftSideMenuOpen","setIsLeftSideMenuOpen","useState","isRightSideMenuOpen","setIsRightSideMenuOpen","closeSideMenus","useCallback","useEffect","unsubscribeFromCloseRightSideMenu","subscribeToCloseRightSideMenu","unsubscribeFromSideNavItemClicked","subscribeToCloseSideNavMenu","toggleLeftSideMenu","toggleRightSideMenu","parentContainerRef","useMatchAppElementToUiShellAppArea","paddingMode","uiShellResizableRefs","jsxs","Fragment","children","jsx","onClick","ref","banners","includes","ErrorBoundary","fallback","sideNavBackgroundColor","isCollapsible","isCollapsed","Button","startIcon","HamburgerMenuIcon","testId","variant","isLoading","_Skeleton2","SideNavLogo","logoProps","rightSideMenu","CloseIcon","MoreIcon","topNavLeftSide","SideNav","sideNavItems","emptySideNavItems","appName","hasCustomFooter","sideNavFooter","footerComponent","footerItems","isObtrusive","onCollapse","tabIndex","InnerAppContainer","MemoizedNarrowUiShellContent","exports","memo","displayName"],"sources":["../../../src/ui-shell/NarrowUiShellContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { Skeleton } from \"@mui/material\";\nimport {\n CSSProperties,\n memo,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\n\nimport { Button } from \"../Buttons/Button.js\";\nimport type { HtmlProps } from \"../HtmlProps.js\";\nimport { CloseIcon } from \"../icons.generated/Close.js\";\nimport { MoreIcon } from \"../icons.generated/More.js\";\nimport { InnerAppContainer } from \"./InnerAppContainer.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport { SideNav } from \"./SideNav/SideNav.js\";\nimport { SideNavLogo } from \"./SideNav/SideNavLogo.js\";\nimport { HamburgerMenuIcon } from \"./TopNav/HamburgerMenuIcon.js\";\nimport { UiShellColors, useUiShellContext } from \"./UiShellProvider.js\";\nimport {\n UiShellNavComponentProps,\n UiShellContentProps,\n} from \"./uiShellContentTypes.js\";\nimport {\n emptySideNavItems,\n SIDE_NAV_WIDTH,\n TOP_NAV_HEIGHT,\n UI_SHELL_BASE_Z_INDEX,\n} from \"./uiShellSharedConstants.js\";\nimport { useScrollState } from \"./useScrollState.js\";\nimport { useMatchAppElementToUiShellAppArea } from \"./useMatchAppElementToUiShellAppArea.js\";\nimport { hexToRgb } from \"../hexToRgb.js\";\n\nconst StyledAppContentArea = styled(\"div\")({\n gridArea: \"app-content\",\n position: \"relative\",\n display: \"grid\",\n gridGap: 0,\n gridTemplateAreas: `\n \"left-side app-container right-side\"\n `,\n gridTemplateColumns: \"auto 1fr auto\",\n gridTemplateRows: \"1fr\",\n height: \"100%\",\n width: \"100%\",\n});\n\nconst StyledAppContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"appBackgroundColor\" && prop !== \"odysseyDesignTokens\",\n})<{\n appBackgroundColor?: UiShellColors[\"appBackgroundColor\"];\n}>(({ appBackgroundColor }) => ({\n backgroundColor: appBackgroundColor,\n gridArea: \"app-container\",\n height: \"100%\",\n overflow: \"hidden\",\n width: \"100%\",\n}));\n\nconst StyledBannersContainer = styled(\"div\")({\n gridArea: \"banners\",\n zIndex: UI_SHELL_BASE_Z_INDEX,\n});\n\nconst StyledLeftSideContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"isOpen\",\n})<{\n isOpen: boolean;\n}>(({ isOpen }) => ({\n display: isOpen ? \"block\" : \"none\",\n height: \"100%\",\n gridArea: \"left-side\",\n overflowY: \"auto\",\n position: \"absolute\",\n zIndex: UI_SHELL_BASE_Z_INDEX,\n}));\n\nconst StyledRightSideContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"isOpen\" && prop !== \"odysseyDesignTokens\",\n})<{\n isOpen: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ isOpen, odysseyDesignTokens }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutralWhite,\n display: isOpen ? \"block\" : \"none\",\n gridArea: \"right-side\",\n height: \"100%\",\n maxWidth: SIDE_NAV_WIDTH,\n overflowY: \"auto\",\n position: \"absolute\",\n right: 0,\n width: SIDE_NAV_WIDTH,\n zIndex: UI_SHELL_BASE_Z_INDEX,\n}));\n\nconst StyledMenuLogo = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n alignItems: \"center\",\n display: \"inline-flex\",\n gap: odysseyDesignTokens.Spacing3,\n}));\n\nconst StyledLogoContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n height: TOP_NAV_HEIGHT,\n paddingBlock: odysseyDesignTokens.Spacing4,\n\n \"svg, img\": {\n maxHeight: \"100%\",\n width: \"auto\",\n maxWidth: \"100%\",\n },\n}));\n\nconst StyledPageOverlay = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n backgroundColor: hexToRgb(\n odysseyDesignTokens.HueNeutral900,\n ).asFormattedString.replace(/rgb\\((.+)\\)$/, \"rgba($1, 0.26)\"),\n gridArea: \"app-content\",\n height: \"100vh\",\n left: 0,\n position: \"absolute\",\n top: 0,\n width: \"100vw\",\n zIndex: UI_SHELL_BASE_Z_INDEX,\n}));\n\nconst StyledSideNavContainer = styled(\"div\")({\n height: \"100%\", // Without this value, side nav won't fill up the height if the content is too short.\n});\n\nconst StyledUiShellContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutral50,\n display: \"grid\",\n gridGap: 0,\n gridTemplateAreas: `\n \"banners\"\n \"top-nav\"\n \"app-content\"\n `,\n gridTemplateColumns: \"1fr\",\n gridTemplateRows: \"auto auto 1fr\",\n height: \"100vh\",\n overflow: \"hidden\",\n width: \"100vw\",\n}));\n\nconst StyledTopNav = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isContentScrolled\" &&\n prop !== \"topNavBackgroundColor\",\n})<{\n isContentScrolled?: boolean;\n odysseyDesignTokens: DesignTokens;\n topNavBackgroundColor?: UiShellColors[\"topNavBackgroundColor\"];\n}>(({ odysseyDesignTokens, isContentScrolled, topNavBackgroundColor }) => ({\n alignItems: \"stretch\",\n backgroundColor: odysseyDesignTokens.HueNeutralWhite || topNavBackgroundColor, // This logic doesn't make sense, but I wanted to leave it here for when we eventually make a decision on `topNavBackgroundColor`. --Kevin Ghadyani\n boxShadow: isContentScrolled ? odysseyDesignTokens.DepthMedium : undefined,\n clipPath: \"inset(0 0 -100vh 0)\",\n display: \"flex\",\n flexDirection: \"column\",\n gridArea: \"top-nav\",\n height: \"100%\",\n justifyContent: \"center\",\n position: \"relative\",\n transition: `box-shadow ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,\n zIndex: UI_SHELL_BASE_Z_INDEX,\n}));\n\nconst StyledTopNavMenu = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"topNavBackgroundColor\",\n})<{\n odysseyDesignTokens: DesignTokens;\n topNavBackgroundColor?: UiShellColors[\"topNavBackgroundColor\"];\n}>(({ odysseyDesignTokens, topNavBackgroundColor }) => ({\n alignItems: \"center\",\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing3,\n height: \"100%\",\n justifyContent: \"space-between\",\n maxHeight: TOP_NAV_HEIGHT,\n minHeight: TOP_NAV_HEIGHT,\n paddingBlock: odysseyDesignTokens.Spacing2,\n paddingInline: odysseyDesignTokens.Spacing3,\n transition: `box-shadow ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,\n\n ...(topNavBackgroundColor === odysseyDesignTokens.HueNeutralWhite &&\n ({\n borderBottomColor: odysseyDesignTokens.HueNeutral100,\n borderBottomStyle: odysseyDesignTokens.BorderStyleMain,\n borderBottomWidth: odysseyDesignTokens.BorderWidthMain,\n } as CSSProperties)),\n}));\n\nconst StyledTopNavSearch = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n paddingBlock: odysseyDesignTokens.Spacing2,\n paddingInline: odysseyDesignTokens.Spacing3,\n}));\n\nexport type NarrowUiShellContentProps = Pick<HtmlProps, \"testId\"> &\n Pick<UiShellNavComponentProps, \"sideNavProps\" | \"topNavProps\"> &\n UiShellContentProps;\n\nconst NarrowUiShellContent = ({\n appElement,\n appElementScrollingMode,\n hasStandardAppContentPadding = true,\n initialVisibleSections = [\"TopNav\", \"SideNav\", \"AppSwitcher\"],\n onError = console.error,\n optionalComponents,\n sideNavProps,\n topNavProps,\n}: NarrowUiShellContentProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const uiShellContext = useUiShellContext();\n\n const { isContentScrolled } = useScrollState(appElement);\n\n const sideNavContainerRef = useRef<HTMLDivElement>(null);\n const topNavContainerRef = useRef<HTMLDivElement>(null);\n const uiShellAppAreaRef = useRef<HTMLDivElement>(null);\n\n const [isLeftSideMenuOpen, setIsLeftSideMenuOpen] = useState(false);\n const [isRightSideMenuOpen, setIsRightSideMenuOpen] = useState(false);\n\n const closeSideMenus = useCallback(() => {\n setIsLeftSideMenuOpen(false);\n setIsRightSideMenuOpen(false);\n }, []);\n\n useEffect(() => {\n const unsubscribeFromCloseRightSideMenu =\n uiShellContext?.subscribeToCloseRightSideMenu(() => {\n closeSideMenus();\n });\n\n const unsubscribeFromSideNavItemClicked =\n uiShellContext?.subscribeToCloseSideNavMenu(() => {\n closeSideMenus();\n });\n\n return () => {\n unsubscribeFromCloseRightSideMenu?.();\n unsubscribeFromSideNavItemClicked?.();\n };\n }, [closeSideMenus, uiShellContext]);\n\n const toggleLeftSideMenu = useCallback(() => {\n setIsRightSideMenuOpen(false);\n setIsLeftSideMenuOpen((isLeftSideMenuOpen) => !isLeftSideMenuOpen);\n }, []);\n\n const toggleRightSideMenu = useCallback(() => {\n setIsLeftSideMenuOpen(false);\n setIsRightSideMenuOpen((isRightSideMenuOpen) => !isRightSideMenuOpen);\n }, []);\n\n const { parentContainerRef } = useMatchAppElementToUiShellAppArea({\n appElement,\n appElementScrollingMode,\n paddingMode: hasStandardAppContentPadding ? \"compact\" : \"none\",\n uiShellAppAreaRef,\n uiShellResizableRefs: [\n sideNavContainerRef,\n topNavContainerRef,\n uiShellAppAreaRef,\n ],\n });\n\n return (\n <>\n {(isLeftSideMenuOpen || isRightSideMenuOpen) && (\n <StyledPageOverlay\n odysseyDesignTokens={odysseyDesignTokens}\n onClick={closeSideMenus}\n />\n )}\n\n <StyledUiShellContainer\n odysseyDesignTokens={odysseyDesignTokens}\n ref={parentContainerRef}\n >\n <StyledBannersContainer>\n {optionalComponents?.banners}\n </StyledBannersContainer>\n\n {(initialVisibleSections?.includes(\"TopNav\") || topNavProps) && (\n <ErrorBoundary fallback={null} onError={onError}>\n <StyledTopNav\n isContentScrolled={isContentScrolled}\n odysseyDesignTokens={odysseyDesignTokens}\n topNavBackgroundColor={uiShellContext?.topNavBackgroundColor}\n >\n <StyledTopNavMenu\n odysseyDesignTokens={odysseyDesignTokens}\n topNavBackgroundColor={uiShellContext?.sideNavBackgroundColor}\n >\n <StyledMenuLogo odysseyDesignTokens={odysseyDesignTokens}>\n {(sideNavProps?.isCollapsible ||\n !sideNavProps?.isCollapsed) && (\n <Button\n onClick={toggleLeftSideMenu}\n startIcon={<HamburgerMenuIcon />}\n testId=\"sidenav-menu--icon\"\n variant=\"floating\"\n />\n )}\n\n <StyledLogoContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {sideNavProps?.isLoading ? (\n // The skeleton takes the hardcoded dimensions of the Okta logo\n <Skeleton variant=\"rounded\" height={24} width={67} />\n ) : (\n <SideNavLogo {...sideNavProps?.logoProps} />\n )}\n </StyledLogoContainer>\n </StyledMenuLogo>\n\n {optionalComponents?.rightSideMenu && (\n <Button\n onClick={toggleRightSideMenu}\n startIcon={\n isRightSideMenuOpen ? <CloseIcon /> : <MoreIcon />\n }\n testId=\"userprofile-menu--icon\"\n variant=\"floating\"\n />\n )}\n </StyledTopNavMenu>\n\n {optionalComponents?.topNavLeftSide && (\n <StyledTopNavSearch odysseyDesignTokens={odysseyDesignTokens}>\n {optionalComponents?.topNavLeftSide}\n </StyledTopNavSearch>\n )}\n </StyledTopNav>\n </ErrorBoundary>\n )}\n\n <StyledAppContentArea>\n <StyledLeftSideContainer isOpen={isLeftSideMenuOpen}>\n {\n /* If SideNav should be initially visible and we have not yet received props, render SideNav with minimal inputs */\n initialVisibleSections?.includes(\"SideNav\") &&\n sideNavProps === undefined && (\n <ErrorBoundary fallback={null} onError={onError}>\n <SideNav isLoading sideNavItems={emptySideNavItems} />\n </ErrorBoundary>\n )\n }\n\n {sideNavProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <StyledSideNavContainer>\n <SideNav\n {...{\n ...{\n ...sideNavProps,\n // This hides the side nav logo or app name from showing up as we already have one in the narrow top nav.\n appName: undefined,\n logoProps: undefined,\n },\n ...(sideNavProps.hasCustomFooter &&\n optionalComponents?.sideNavFooter\n ? {\n footerComponent: optionalComponents.sideNavFooter,\n footerItems: undefined,\n hasCustomFooter: sideNavProps.hasCustomFooter,\n }\n : {\n footerItems: sideNavProps.footerItems,\n hasCustomFooter: false,\n }),\n }}\n isCollapsed={false}\n isCollapsible={false}\n isObtrusive\n onCollapse={closeSideMenus}\n />\n </StyledSideNavContainer>\n </ErrorBoundary>\n )}\n </StyledLeftSideContainer>\n\n <StyledRightSideContainer\n isOpen={isRightSideMenuOpen}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <StyledSideNavContainer>\n {optionalComponents?.rightSideMenu}\n </StyledSideNavContainer>\n </StyledRightSideContainer>\n\n <StyledAppContainer\n appBackgroundColor={uiShellContext?.appBackgroundColor}\n tabIndex={0}\n ref={uiShellAppAreaRef}\n >\n <InnerAppContainer isContentScrolled={isContentScrolled} />\n </StyledAppContainer>\n </StyledAppContentArea>\n </StyledUiShellContainer>\n </>\n );\n};\n\nconst MemoizedNarrowUiShellContent = memo(NarrowUiShellContent);\nMemoizedNarrowUiShellContent.displayName = \"NarrowUiShellContent\";\n\nexport { MemoizedNarrowUiShellContent as NarrowUiShellContent };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -402,9 +402,13 @@ const SideNav = ({
|
|
|
402
402
|
});
|
|
403
403
|
updateSideNavItemsList(updatedSideNavItems);
|
|
404
404
|
if (isCollapsed || isObtrusive) {
|
|
405
|
-
|
|
405
|
+
if (isCollapsible) {
|
|
406
|
+
uiShellContext?.closeSideNavMenu();
|
|
407
|
+
} else {
|
|
408
|
+
onCollapse?.();
|
|
409
|
+
}
|
|
406
410
|
}
|
|
407
|
-
}, [isCollapsed, isObtrusive, sideNavItemsList, uiShellContext]);
|
|
411
|
+
}, [isCollapsed, isCollapsible, isObtrusive, onCollapse, sideNavItemsList, uiShellContext]);
|
|
408
412
|
const processedSideNavItems = (0, _react.useMemo)(() => {
|
|
409
413
|
return sideNavItemsList?.map(item => ({
|
|
410
414
|
...item,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNav.cjs","names":["_styled","_interopRequireDefault","require","_react","_reactI18next","_sortable","_reactErrorBoundary","_NavAccordion","_OdysseyDesignTokensContext","_OdysseyThemeProvider","_SideNavHeader","_SideNavItemContent","_SideNavFooterContent","_SideNavItemContentContext","_SideNavToggleButton","_SortableList","_Typography","_UiShellProvider","_uiShellSharedConstants","_useIsSideNavCollapsedSessionStorage","_useMountLifecycleEffect","_jsxRuntime","e","__esModule","default","SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED","exports","SIDE_NAV_COLLAPSED_PADDING_UNHIGHLIGHTED","StyledCollapsibleContent","styled","shouldForwardProp","prop","odysseyDesignTokens","isSideNavCollapsed","position","display","gridTemplateColumns","SIDE_NAV_WIDTH","height","transition","TransitionDurationMain","transitionTimingFunction","TransitionTimingMain","overflow","opacity","StyledOpacityTransitionContainer","gridTemplateRows","StyledSideNavContainer","backgroundColor","hasNeighboringContent","isAppContentWhiteBackground","isSideNavToggleHighlighted","HueNeutralWhite","width","content","pointerEvents","right","BorderWidthMain","top","userSelect","zIndex","UI_SHELL_OVERLAY_Z_INDEX","BorderColorPrimaryControl","HueNeutral100","HueNeutral200","transform","SIDE_NAV_TOGGLE_ICON_HALF_SIZE","borderRightColor","borderRightStyle","BorderStyleMain","borderRightWidth","StyledSideNavToggleButtonContainer","SIDE_NAV_VISIBILITY_TOGGLE_ICON_POSITION","StyledSideNavHeaderContainer","borderColor","hasContentScrolled","flexShrink","borderBottomWidth","borderBottomStyle","borderBottomColor","concat","StyledSideNavListContainer","padding","listStyle","listStyleType","margin","StyledSideNavScrollableContainer","overflowY","paddingInline","Spacing2","StyledSectionHeaderContainer","contrastFontColor","color","HueNeutral600","marginBlock","Spacing3","paddingBlock","Spacing1","Spacing4","StyledSideNavFooter","sideNavBackgroundColor","StyledPersistentSideNavFooter","isContentScrollable","transitionProperty","transitionDuration","transitionTiming","UI_SHELL_BASE_Z_INDEX","boxShadow","StyledSideNavFooterItemsContainer","sideNavContrastColors","flexWrap","alignItems","fontSize","TypographySizeOverline","fontColor","textDecoration","HueNeutral900","StyledLoadingItemContainer","gap","getHasScrollableContent","scrollableContainer","scrollHeight","clientHeight","LoadingItem","useOdysseyDesignTokens","jsxs","children","jsx","_Skeleton2","variant","SideNav","appName","footerComponent","footerItems","hasCustomFooter","isCollapsible","isCollapsed","isCompact","isLoading","isObtrusive","logoProps","onCollapse","onExpand","onSort","sideNavItems","setHasContentScrolled","useState","setHasNeighboringContent","setIsContentScrollable","setIsSideNavToggleHighlighted","sideNavItemsList","updateSideNavItemsList","sessionState","setSessionState","setIsSideNavCollapsed","useIsSideNavCollapsedSessionStorage","uiShellContext","useUiShellContext","t","useTranslation","scrollableContentRef","useRef","resizeObserverRef","intersectionObserverRef","sideNavRef","blankElement","useMemo","useEffect","current","getBoundingClientRect","x","onMount","useCallback","onUpdate","useMountLifecycleEffect","updateIsContentScrollable","parentElement","resizeObserverDebounceTimer","ResizeObserver","cancelAnimationFrame","requestAnimationFrame","observe","IntersectionObserver","entries","isIntersecting","slice","sort","a","b","time","at","root","threshold","ulElement","liElement","Array","from","disconnect","scrollIntoViewRef","firstSideNavItemIdWithIsSelected","flattenedItems","flatMap","sideNavItem","nestedNavItems","firstItemWithIsSelected","find","isSelected","id","scrollIntoView","getRefIfThisIsFirstNodeWithIsSelected","itemId","undefined","sideNavItemContentProviderValue","depth","setSelectedItem","selectedItemId","updatedSideNavItems","map","item","childItem","closeSideNavMenu","processedSideNavItems","childNavItems","childProps","isDisabled","isSortable","navItem","SideNavItemContentContext","Provider","value","SideNavItemContent","onItemSelected","scrollRef","translate","sideNavExpandClickHandler","sideNavExpandKeyHandler","event","key","code","preventDefault","unsubscribe","subscribeToCloseSideNavMenu","setSortedItems","parentId","activeId","activeIndex","overIndex","sortedSideNavItems","arrayMove","onSideNavToggleButtonHighlight","isHighlighted","appBackgroundColor","ref","SideNavToggleButton","clickAreaPadding","SIDE_NAV_TOGGLE_ICON_SIZE","ariaControls","onClick","onHighlight","onKeyDown","OdysseyThemeProvider","SideNavHeader","role","fill","_","index","href","isDefaultExpanded","isExpanded","isSectionHeader","label","startIcon","ErrorBoundary","fallback","Overline","component","nestedChildren","SortableList","items","onChange","renderItem","sortableItem","Item","StyledSideNavListItem","disabled","NavAccordion","SideNavFooterContent","MemoizedSideNav","memo","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNav.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport {\n memo,\n useMemo,\n useState,\n useCallback,\n useRef,\n useEffect,\n KeyboardEventHandler,\n CSSProperties,\n} from \"react\";\nimport { Skeleton } from \"@mui/material\";\nimport { useTranslation } from \"react-i18next\";\nimport { arrayMove } from \"@dnd-kit/sortable\";\nimport { UniqueIdentifier } from \"@dnd-kit/core\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { Property } from \"csstype\";\n\nimport { ContrastColors } from \"../../createContrastColors.js\";\nimport { NavAccordion } from \"./NavAccordion.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { OdysseyThemeProvider } from \"../../OdysseyThemeProvider.js\";\nimport type { SideNavProps } from \"./types.js\";\nimport { SideNavHeader } from \"./SideNavHeader.js\";\nimport {\n SideNavItemContent,\n StyledSideNavListItem,\n} from \"./SideNavItemContent.js\";\nimport { SideNavFooterContent } from \"./SideNavFooterContent.js\";\nimport { SideNavItemContentContext } from \"./SideNavItemContentContext.js\";\nimport {\n SIDE_NAV_TOGGLE_ICON_HALF_SIZE,\n SIDE_NAV_TOGGLE_ICON_SIZE,\n SideNavToggleButton,\n SideNavToggleButtonProps,\n} from \"./SideNavToggleButton.js\";\nimport { SortableList } from \"./SortableList/SortableList.js\";\nimport { Overline } from \"../../Typography.js\";\nimport {\n UiShellColors,\n useUiShellContext,\n} from \"../../ui-shell/UiShellProvider.js\";\nimport {\n SIDE_NAV_VISIBILITY_TOGGLE_ICON_POSITION,\n SIDE_NAV_WIDTH,\n UI_SHELL_BASE_Z_INDEX,\n UI_SHELL_OVERLAY_Z_INDEX,\n} from \"../uiShellSharedConstants.js\";\nimport { useIsSideNavCollapsedSessionStorage } from \"./useIsSideNavCollapsedSessionStorage.js\";\nimport { useMountLifecycleEffect } from \"../../useMountLifecycleEffect.js\";\n\nexport const SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED = 12;\nexport const SIDE_NAV_COLLAPSED_PADDING_UNHIGHLIGHTED = 2;\n\nconst StyledCollapsibleContent = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"isSideNavCollapsed\",\n})<{\n odysseyDesignTokens: DesignTokens;\n isSideNavCollapsed: boolean;\n}>(({ odysseyDesignTokens, isSideNavCollapsed }) => ({\n position: \"relative\",\n display: \"grid\",\n gridTemplateColumns: SIDE_NAV_WIDTH,\n height: \"100%\",\n transition: `grid-template-columns ${odysseyDesignTokens.TransitionDurationMain}, opacity 300ms`,\n transitionTimingFunction: odysseyDesignTokens.TransitionTimingMain,\n overflow: \"hidden\",\n\n ...(isSideNavCollapsed &&\n ({\n gridTemplateColumns: 0,\n opacity: 0,\n } satisfies CSSProperties)),\n}));\n\nconst StyledOpacityTransitionContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"isSideNavCollapsed\",\n})(\n ({\n odysseyDesignTokens,\n isSideNavCollapsed,\n }: {\n odysseyDesignTokens: DesignTokens;\n isSideNavCollapsed: boolean;\n }) => ({\n display: \"grid\",\n gridTemplateRows: \"max-content 1fr max-content\",\n height: \"100%\",\n transition: `opacity 50ms`,\n transitionTimingFunction: odysseyDesignTokens.TransitionTimingMain,\n overflow: \"hidden\",\n\n ...(isSideNavCollapsed &&\n ({\n opacity: 0,\n } satisfies CSSProperties)),\n }),\n);\n\nconst StyledSideNavContainer = styled(\"nav\", {\n shouldForwardProp: (prop) =>\n prop !== \"backgroundColor\" &&\n prop !== \"hasNeighboringContent\" &&\n prop !== \"isAppContentWhiteBackground\" &&\n prop !== \"isSideNavCollapsed\" &&\n prop !== \"isSideNavToggleHighlighted\" &&\n prop !== \"odysseyDesignTokens\",\n})<{\n backgroundColor?: UiShellColors[\"sideNavBackgroundColor\"];\n hasNeighboringContent: boolean;\n isAppContentWhiteBackground: boolean;\n isSideNavCollapsed: boolean;\n isSideNavToggleHighlighted: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(\n ({\n backgroundColor,\n hasNeighboringContent,\n isAppContentWhiteBackground,\n isSideNavCollapsed,\n isSideNavToggleHighlighted,\n odysseyDesignTokens,\n }) => ({\n // Side nav container styles\n backgroundColor: backgroundColor || odysseyDesignTokens.HueNeutralWhite,\n height: \"100%\",\n position: \"relative\",\n width: \"fit-content\",\n\n // Right-side vertical line shared\n \"&::before, &::after\": {\n content: \"''\",\n height: \"100%\",\n pointerEvents: \"none\",\n position: \"absolute\",\n right: `-${odysseyDesignTokens.BorderWidthMain}`,\n top: 0,\n transition: `opacity ${odysseyDesignTokens.TransitionDurationMain}, transform ${odysseyDesignTokens.TransitionDurationMain}, width ${odysseyDesignTokens.TransitionDurationMain}`,\n userSelect: \"none\",\n zIndex: UI_SHELL_OVERLAY_Z_INDEX,\n },\n\n // Right-side vertical line when open\n \"&::before\": {\n backgroundColor: isSideNavToggleHighlighted\n ? odysseyDesignTokens.BorderColorPrimaryControl\n : odysseyDesignTokens.HueNeutral100,\n opacity:\n isAppContentWhiteBackground ||\n (!isSideNavCollapsed && isSideNavToggleHighlighted)\n ? 1\n : 0,\n width: `calc(${odysseyDesignTokens.BorderWidthMain} * 2)`,\n },\n\n // Side nav vertical fill line when no neighboring content\n \"&::after\": {\n backgroundColor: odysseyDesignTokens.HueNeutral200,\n opacity: isSideNavCollapsed ? 1 : 0,\n transform:\n isSideNavCollapsed && !hasNeighboringContent\n ? isSideNavToggleHighlighted\n ? `translateX(calc(100% - (${odysseyDesignTokens.BorderWidthMain} * 2)))`\n : `translateX(calc(100% - ${SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED}px))`\n : \"translateX(0)\",\n width: hasNeighboringContent\n ? 0\n : `calc(${SIDE_NAV_TOGGLE_ICON_HALF_SIZE + SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED}px + ${odysseyDesignTokens.BorderWidthMain} * 2)`,\n\n // Right-side vertical line when collapsed\n ...((isSideNavCollapsed && isSideNavToggleHighlighted\n ? {\n borderRightColor: odysseyDesignTokens.BorderColorPrimaryControl,\n borderRightStyle:\n odysseyDesignTokens.BorderStyleMain as Property.BorderRightStyle,\n borderRightWidth: `calc(${odysseyDesignTokens.BorderWidthMain} * 2)`,\n }\n : {}) satisfies CSSProperties),\n },\n }),\n);\n\nconst StyledSideNavToggleButtonContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"hasNeighboringContent\" &&\n prop !== \"isSideNavCollapsed\" &&\n prop !== \"isSideNavToggleHighlighted\" &&\n prop !== \"odysseyDesignTokens\",\n})<{\n hasNeighboringContent: boolean;\n isSideNavCollapsed: boolean;\n isSideNavToggleHighlighted: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(\n ({\n hasNeighboringContent,\n isSideNavCollapsed,\n isSideNavToggleHighlighted,\n odysseyDesignTokens,\n }) => ({\n position: \"absolute\",\n right: `${SIDE_NAV_TOGGLE_ICON_HALF_SIZE}px`,\n top: SIDE_NAV_VISIBILITY_TOGGLE_ICON_POSITION,\n transform:\n isSideNavCollapsed && !hasNeighboringContent\n ? isSideNavToggleHighlighted\n ? `translate3d(calc(100% + ${SIDE_NAV_TOGGLE_ICON_HALF_SIZE + SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED}px), 0, 0)`\n : `translate3d(calc(100% + ${SIDE_NAV_TOGGLE_ICON_HALF_SIZE + SIDE_NAV_COLLAPSED_PADDING_UNHIGHLIGHTED}px), 0, 0)`\n : \"translate3d(100%, 0, 0)\",\n transition: `transform ${odysseyDesignTokens.TransitionDurationMain}`,\n zIndex: UI_SHELL_OVERLAY_Z_INDEX + 1,\n }),\n);\n\nconst StyledSideNavHeaderContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"borderColor\" &&\n prop !== \"hasContentScrolled\" &&\n prop !== \"odysseyDesignTokens\",\n})<{\n borderColor: ContrastColors[\"fontColor\"];\n hasContentScrolled: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ borderColor, hasContentScrolled, odysseyDesignTokens }) => ({\n flexShrink: 0,\n // The bottom border should appear only if the scrollable region has been scrolled\n ...(hasContentScrolled &&\n ({\n borderBottomWidth: odysseyDesignTokens.BorderWidthMain,\n borderBottomStyle: odysseyDesignTokens.BorderStyleMain,\n borderBottomColor: odysseyDesignTokens.HueNeutral100,\n\n ...(borderColor &&\n ({\n borderBottomColor: borderColor.concat(\"15\"),\n } satisfies CSSProperties)),\n } as CSSProperties)),\n}));\n\nconst StyledSideNavListContainer = styled(\"ul\")(() => ({\n padding: 0,\n listStyle: \"none\",\n listStyleType: \"none\",\n margin: 0,\n width: \"100%\",\n}));\n\nconst StyledSideNavScrollableContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"inline-grid\",\n gridTemplateRows: \"1fr max-content\",\n overflowY: \"auto\",\n paddingInline: odysseyDesignTokens.Spacing2,\n}));\n\nconst StyledSectionHeaderContainer = styled(\"li\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"contrastFontColor\",\n})(\n ({\n contrastFontColor,\n odysseyDesignTokens,\n }: {\n contrastFontColor: ContrastColors[\"fontColor\"];\n odysseyDesignTokens: DesignTokens;\n }) => ({\n color: contrastFontColor || odysseyDesignTokens.HueNeutral600,\n marginBlock: `${odysseyDesignTokens.Spacing3}`,\n paddingBlock: odysseyDesignTokens.Spacing1,\n paddingInline: odysseyDesignTokens.Spacing4,\n }),\n);\n\nconst StyledSideNavFooter = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"sideNavBackgroundColor\",\n})(\n ({\n odysseyDesignTokens,\n sideNavBackgroundColor,\n }: {\n odysseyDesignTokens: DesignTokens;\n sideNavBackgroundColor?: UiShellColors[\"sideNavBackgroundColor\"];\n }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutralWhite,\n flexShrink: 0,\n padding: odysseyDesignTokens.Spacing4,\n\n ...(sideNavBackgroundColor &&\n ({\n backgroundColor: sideNavBackgroundColor,\n } satisfies CSSProperties)),\n }),\n);\n\nconst StyledPersistentSideNavFooter = styled(StyledSideNavFooter, {\n shouldForwardProp: (prop) =>\n prop !== \"isContentScrollable\" &&\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"sideNavBackgroundColor\",\n})(\n ({\n isContentScrollable,\n odysseyDesignTokens,\n sideNavBackgroundColor,\n }: {\n isContentScrollable: boolean;\n odysseyDesignTokens: DesignTokens;\n sideNavBackgroundColor?: UiShellColors[\"sideNavBackgroundColor\"];\n }) => ({\n transitionProperty: \"box-shadow\",\n transitionDuration: odysseyDesignTokens.TransitionDurationMain,\n transitionTiming: odysseyDesignTokens.TransitionTimingMain,\n zIndex: UI_SHELL_BASE_Z_INDEX,\n\n // The box shadow should appear above the footer only if the scrollable region has overflow\n ...(isContentScrollable &&\n ({\n boxShadow: \"0px -8px 8px -8px rgba(39, 39, 39, 0.08)\",\n } satisfies CSSProperties)),\n\n ...(sideNavBackgroundColor &&\n ({\n backgroundColor: sideNavBackgroundColor,\n } satisfies CSSProperties)),\n }),\n);\n\nconst StyledSideNavFooterItemsContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"sideNavContrastColors\",\n})<{\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n}>(({ odysseyDesignTokens, sideNavContrastColors }) => ({\n display: \"flex\",\n flexWrap: \"wrap\",\n alignItems: \"center\",\n fontSize: odysseyDesignTokens.TypographySizeOverline,\n\n \"a, span\": {\n color: odysseyDesignTokens.HueNeutral600,\n transition: `color ${odysseyDesignTokens.TransitionDurationMain}`,\n\n \"&:visited\": {\n color: odysseyDesignTokens.HueNeutral600,\n\n ...(sideNavContrastColors?.fontColor &&\n ({\n color: sideNavContrastColors?.fontColor,\n } satisfies CSSProperties)),\n },\n\n \"&:hover\": {\n textDecoration: \"none\",\n color: odysseyDesignTokens.HueNeutral900,\n\n ...(sideNavContrastColors?.fontColor &&\n ({\n color: sideNavContrastColors?.fontColor,\n } satisfies CSSProperties)),\n },\n\n ...(sideNavContrastColors?.fontColor &&\n ({\n color: sideNavContrastColors?.fontColor,\n } satisfies CSSProperties)),\n },\n}));\n\nconst StyledLoadingItemContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n alignItems: \"center\",\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing2,\n paddingBlock: odysseyDesignTokens.Spacing2,\n paddingInline: odysseyDesignTokens.Spacing4,\n}));\n\nconst getHasScrollableContent = (scrollableContainer: HTMLElement) =>\n scrollableContainer.scrollHeight > scrollableContainer.clientHeight;\n\nconst LoadingItem = () => {\n const odysseyDesignTokens: DesignTokens = useOdysseyDesignTokens();\n return (\n <StyledLoadingItemContainer odysseyDesignTokens={odysseyDesignTokens}>\n <Skeleton\n variant=\"circular\"\n width={odysseyDesignTokens.Spacing4}\n height={odysseyDesignTokens.Spacing4}\n />\n <Skeleton variant=\"rounded\" width=\"100%\" />\n </StyledLoadingItemContainer>\n );\n};\n\nconst SideNav = ({\n appName,\n footerComponent,\n footerItems,\n hasCustomFooter,\n isCollapsible,\n isCollapsed = false,\n isCompact,\n isLoading,\n isObtrusive,\n logoProps,\n onCollapse,\n onExpand,\n onSort,\n sideNavItems,\n}: SideNavProps) => {\n const [hasContentScrolled, setHasContentScrolled] = useState(false);\n const [hasNeighboringContent, setHasNeighboringContent] = useState(false);\n const [isContentScrollable, setIsContentScrollable] = useState(false);\n const [isSideNavToggleHighlighted, setIsSideNavToggleHighlighted] =\n useState(false);\n const [sideNavItemsList, updateSideNavItemsList] = useState(sideNavItems);\n\n const {\n sessionState: isSideNavCollapsed,\n setSessionState: setIsSideNavCollapsed,\n } = useIsSideNavCollapsedSessionStorage(isCollapsed);\n\n const uiShellContext = useUiShellContext();\n const odysseyDesignTokens: DesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const scrollableContentRef = useRef<HTMLUListElement>(null);\n const resizeObserverRef = useRef<ResizeObserver | null>(null);\n const intersectionObserverRef = useRef<IntersectionObserver | null>(null);\n const sideNavRef = useRef<HTMLDivElement>(null);\n\n const blankElement = useMemo(() => <div />, []);\n\n // The default value (sideNavItems) passed to useState is ONLY used by the useState hook for\n // the very first value. Subsequent updates to the prop (sideNavItems) need to cause the state\n // to update!\n useEffect(() => updateSideNavItemsList(sideNavItems), [sideNavItems]);\n\n // update sidenav collapse status\n useEffect(() => {\n if (sideNavRef.current) {\n setHasNeighboringContent(\n sideNavRef.current.getBoundingClientRect().x > 0,\n );\n }\n // We want this listening to `isCollapsed`.\n }, [isCollapsed]);\n\n // In the case that you can't control the side nav, then it should use whatever state was passed (app control) rather than what's stored in session storage (user control).\n const onMount = useCallback(() => {\n if (!isCollapsible) {\n setIsSideNavCollapsed(isCollapsed);\n }\n }, [isCollapsed, isCollapsible, setIsSideNavCollapsed]);\n\n const onUpdate = useCallback(() => {\n setIsSideNavCollapsed(isCollapsed);\n }, [isCollapsed, setIsSideNavCollapsed]);\n\n useMountLifecycleEffect({\n onMount,\n onUpdate,\n });\n\n useEffect(() => {\n // This is called directly in this effect AND perhaps as a result of the ResizeObserver\n const updateIsContentScrollable = () => {\n if (\n scrollableContentRef.current &&\n scrollableContentRef.current.parentElement\n ) {\n setIsContentScrollable(\n getHasScrollableContent(scrollableContentRef.current.parentElement),\n );\n }\n };\n\n // If the window is resized, we may need to re-determine if the scrollable container has overflow\n // Setup a ResizeObserver to know if the size of the scrollableContent changes\n let resizeObserverDebounceTimer: ReturnType<typeof requestAnimationFrame>;\n if (!resizeObserverRef.current) {\n resizeObserverRef.current = new ResizeObserver(() => {\n cancelAnimationFrame(resizeObserverDebounceTimer);\n resizeObserverDebounceTimer = requestAnimationFrame(\n updateIsContentScrollable,\n );\n });\n }\n\n if (resizeObserverRef.current && scrollableContentRef.current) {\n // Observe the <ul> itself (in case it changes size due to the content expanding)\n resizeObserverRef.current.observe(scrollableContentRef.current);\n if (scrollableContentRef.current.parentElement) {\n // ALSO observe the parent (<SideNavScrollableContainer>) in case the window resizes\n resizeObserverRef.current.observe(\n scrollableContentRef.current.parentElement,\n );\n }\n }\n\n // Determine if the scrollable container has overflow or not on load\n updateIsContentScrollable();\n\n // Finally, we only want to have the border on the bottom of the header iff the user has scrolled\n // the scrollable container\n if (!intersectionObserverRef.current && scrollableContentRef.current) {\n intersectionObserverRef.current = new IntersectionObserver(\n (entries) => {\n // If isIntersecting is true, then we're at the top of the scroll container\n // If isIntersecting is false, some scrolling has occurred.\n // The entries must be sorted by time and we only really need to look at the latest one\n const isIntersecting = entries\n .slice()\n .sort((a, b) => a.time - b.time)\n .at(0)?.isIntersecting;\n setHasContentScrolled(!isIntersecting);\n },\n {\n root: scrollableContentRef.current.parentElement,\n threshold: 1.0,\n },\n );\n }\n\n if (intersectionObserverRef.current && scrollableContentRef.current) {\n const ulElement = scrollableContentRef.current;\n const [liElement] = Array.from(ulElement?.children || []);\n\n if (liElement) {\n intersectionObserverRef.current.observe(liElement);\n }\n }\n\n // Cleanup when unmounted:\n return () => {\n if (resizeObserverRef.current) {\n resizeObserverRef.current.disconnect();\n resizeObserverRef.current = null;\n }\n if (intersectionObserverRef.current) {\n intersectionObserverRef.current.disconnect();\n intersectionObserverRef.current = null;\n }\n cancelAnimationFrame(resizeObserverDebounceTimer); // Ensure timer is cleared on component unmount\n };\n }, [sideNavItemsList]);\n\n const scrollIntoViewRef = useRef<HTMLLIElement>(null);\n /**\n * Look through the sideNavItems and determine which is the first node\n * with isSelected. This should be the node we set a ref on in order to\n * call scrollIntoView in the effect\n */\n const firstSideNavItemIdWithIsSelected = useMemo(() => {\n const flattenedItems = sideNavItemsList.flatMap((sideNavItem) =>\n sideNavItem.nestedNavItems\n ? [sideNavItem, ...sideNavItem.nestedNavItems]\n : sideNavItem,\n );\n const firstItemWithIsSelected = flattenedItems.find(\n (sideNavItem) => sideNavItem.isSelected,\n );\n return firstItemWithIsSelected?.id;\n }, [sideNavItemsList]);\n /**\n * Once we've rendered and if we have an item to scroll to, do the scroll action.\n * This must rely on checking firstSideNavItemIdWithIsSelected or it will not run\n * once the actual ref is populated.\n */\n useEffect(() => {\n if (firstSideNavItemIdWithIsSelected && scrollIntoViewRef.current) {\n scrollIntoViewRef.current.scrollIntoView();\n }\n }, [firstSideNavItemIdWithIsSelected]);\n\n /**\n * We only want to put a ref on a node iff it is the first selected node.\n * This function returns the ref only if the ID provided matches the first\n * selected node, otherwise returns undefined (so that the node has no ref)\n */\n const getRefIfThisIsFirstNodeWithIsSelected = useCallback(\n (itemId: string) =>\n itemId === firstSideNavItemIdWithIsSelected\n ? scrollIntoViewRef\n : undefined,\n [firstSideNavItemIdWithIsSelected],\n );\n\n const sideNavItemContentProviderValue = useMemo(\n () => ({ isCompact, depth: 1 }),\n [isCompact],\n );\n\n const setSelectedItem = useCallback(\n (selectedItemId: string) => {\n const updatedSideNavItems = sideNavItemsList.map((item) => {\n if (item.id === selectedItemId) {\n item.isSelected = true;\n } else if (item.isSelected) {\n delete item.isSelected;\n }\n\n return item.nestedNavItems\n ? {\n ...item,\n nestedNavItems: item.nestedNavItems.map((childItem) => {\n if (childItem.id === selectedItemId) {\n childItem.isSelected = true;\n } else if (childItem.isSelected) {\n delete childItem.isSelected;\n }\n return childItem;\n }),\n }\n : item;\n });\n updateSideNavItemsList(updatedSideNavItems);\n\n if (isCollapsed || isObtrusive) {\n uiShellContext?.closeSideNavMenu();\n }\n },\n [isCollapsed, isObtrusive, sideNavItemsList, uiShellContext],\n );\n\n const processedSideNavItems = useMemo(() => {\n return sideNavItemsList?.map((item) => ({\n ...item,\n childNavItems: item.nestedNavItems?.map((childProps) => ({\n id: childProps.id,\n isSelected: childProps.isSelected,\n isDisabled: childProps.isDisabled,\n isSortable: childProps.isSortable,\n navItem: (\n <SideNavItemContentContext.Provider\n key={childProps.id}\n value={{\n ...sideNavItemContentProviderValue,\n depth: 2,\n isSortable: item.isSortable,\n }}\n >\n <SideNavItemContent\n {...childProps}\n onItemSelected={setSelectedItem}\n scrollRef={getRefIfThisIsFirstNodeWithIsSelected(childProps.id)}\n translate={childProps.translate}\n />\n </SideNavItemContentContext.Provider>\n ),\n })),\n }));\n }, [\n getRefIfThisIsFirstNodeWithIsSelected,\n setSelectedItem,\n sideNavItemContentProviderValue,\n sideNavItemsList,\n ]);\n\n const sideNavExpandClickHandler = useCallback(() => {\n setIsSideNavCollapsed((isSideNavCollapsed) => {\n if (isSideNavCollapsed) {\n onExpand?.();\n } else {\n onCollapse?.();\n }\n\n return !isSideNavCollapsed;\n });\n }, [onCollapse, onExpand, setIsSideNavCollapsed]);\n\n const sideNavExpandKeyHandler = useCallback<\n KeyboardEventHandler<HTMLButtonElement>\n >(\n (event) => {\n if (event?.key === \"Enter\" || event?.code === \"Space\") {\n event.preventDefault();\n sideNavExpandClickHandler();\n }\n },\n [sideNavExpandClickHandler],\n );\n\n useEffect(() => {\n const unsubscribe = uiShellContext?.subscribeToCloseSideNavMenu(() => {\n onCollapse?.();\n setIsSideNavCollapsed(true);\n });\n\n return () => {\n unsubscribe?.();\n };\n }, [onCollapse, setIsSideNavCollapsed, uiShellContext]);\n\n const setSortedItems = useCallback(\n (\n parentId: string,\n activeId: UniqueIdentifier,\n activeIndex: number,\n overIndex: number,\n ) => {\n const sortedSideNavItems = sideNavItemsList.map((item) =>\n item.id === parentId && item.nestedNavItems\n ? {\n ...item,\n nestedNavItems: arrayMove(\n item.nestedNavItems,\n activeIndex,\n overIndex,\n ),\n }\n : item,\n );\n updateSideNavItemsList(sortedSideNavItems);\n onSort?.(sortedSideNavItems, parentId, activeId, activeIndex, overIndex);\n },\n [onSort, sideNavItemsList],\n );\n\n const onSideNavToggleButtonHighlight = useCallback<\n NonNullable<SideNavToggleButtonProps[\"onHighlight\"]>\n >((isHighlighted) => {\n setIsSideNavToggleHighlighted(isHighlighted);\n }, []);\n\n return (\n <StyledSideNavContainer\n aria-label={t(\"navigation.label\")}\n backgroundColor={uiShellContext?.sideNavBackgroundColor}\n hasNeighboringContent={hasNeighboringContent}\n id=\"side-nav-expandable\"\n isAppContentWhiteBackground={\n uiShellContext?.appBackgroundColor ===\n odysseyDesignTokens.HueNeutralWhite\n }\n isSideNavCollapsed={isSideNavCollapsed}\n isSideNavToggleHighlighted={isSideNavToggleHighlighted}\n odysseyDesignTokens={odysseyDesignTokens}\n ref={sideNavRef}\n >\n {isCollapsible && (\n <StyledSideNavToggleButtonContainer\n hasNeighboringContent={hasNeighboringContent}\n isSideNavCollapsed={isSideNavCollapsed}\n isSideNavToggleHighlighted={isSideNavToggleHighlighted}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <SideNavToggleButton\n clickAreaPadding={\n isSideNavCollapsed && !hasNeighboringContent\n ? SIDE_NAV_TOGGLE_ICON_SIZE / 2\n : 0\n }\n ariaControls=\"side-nav-expandable\"\n isSideNavCollapsed={isSideNavCollapsed}\n onClick={sideNavExpandClickHandler}\n onHighlight={onSideNavToggleButtonHighlight}\n onKeyDown={sideNavExpandKeyHandler}\n />\n </StyledSideNavToggleButtonContainer>\n )}\n\n <OdysseyThemeProvider>\n <StyledCollapsibleContent\n data-se=\"collapsible-region\"\n isSideNavCollapsed={isSideNavCollapsed}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <StyledOpacityTransitionContainer\n isSideNavCollapsed={isSideNavCollapsed}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {appName || isLoading || logoProps ? (\n <StyledSideNavHeaderContainer\n hasContentScrolled={hasContentScrolled}\n odysseyDesignTokens={odysseyDesignTokens}\n borderColor={uiShellContext?.sideNavContrastColors?.fontColor}\n >\n {isLoading && !appName && !logoProps ? (\n <SideNavHeader isLoading={isLoading} />\n ) : (\n <SideNavHeader\n appName={appName}\n isLoading={isLoading}\n logoProps={logoProps}\n />\n )}\n </StyledSideNavHeaderContainer>\n ) : (\n <div />\n )}\n\n <StyledSideNavScrollableContainer\n odysseyDesignTokens={odysseyDesignTokens}\n data-se=\"scrollable-region\"\n >\n <StyledSideNavListContainer\n role=\"none\"\n ref={scrollableContentRef}\n >\n {isLoading\n ? Array(6)\n .fill(null)\n .map((_, index) => <LoadingItem key={index} />)\n : processedSideNavItems?.map((item) => {\n const {\n childNavItems,\n href,\n id,\n isDefaultExpanded,\n isDisabled,\n isExpanded,\n isSectionHeader,\n isSortable,\n label,\n startIcon,\n } = item;\n\n if (isSectionHeader) {\n return (\n <ErrorBoundary fallback={blankElement} key={id}>\n <StyledSectionHeaderContainer\n contrastFontColor={\n uiShellContext?.sideNavContrastColors?.fontColor\n }\n id={id}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <Overline component=\"h3\">{label}</Overline>\n </StyledSectionHeaderContainer>\n </ErrorBoundary>\n );\n } else if (childNavItems) {\n const nestedChildren = (\n <StyledSideNavListContainer role=\"presentation\">\n {isSortable ? (\n <SortableList\n parentId={item.id}\n items={childNavItems}\n onChange={setSortedItems}\n renderItem={(sortableItem) => (\n <SortableList.Item\n id={sortableItem.id}\n isDisabled={sortableItem.isDisabled}\n isSelected={sortableItem.isSelected}\n isSortable={sortableItem.isSortable}\n >\n {sortableItem.navItem}\n </SortableList.Item>\n )}\n />\n ) : (\n childNavItems.map((item) => item.navItem)\n )}\n </StyledSideNavListContainer>\n );\n\n return href ? (\n <ErrorBoundary fallback={blankElement} key={id}>\n <SideNavItemContent\n {...item}\n href={href}\n onItemSelected={setSelectedItem}\n scrollRef={getRefIfThisIsFirstNodeWithIsSelected(\n item.id,\n )}\n startIcon={item.startIcon}\n />\n\n <StyledSideNavListItem\n id={`${id}-items`}\n odysseyDesignTokens={odysseyDesignTokens}\n disabled={isDisabled}\n aria-disabled={isDisabled}\n >\n {nestedChildren}\n </StyledSideNavListItem>\n </ErrorBoundary>\n ) : (\n <ErrorBoundary fallback={blankElement} key={id}>\n <StyledSideNavListItem\n id={id}\n odysseyDesignTokens={odysseyDesignTokens}\n disabled={isDisabled}\n aria-disabled={isDisabled}\n >\n <NavAccordion\n label={label}\n isCompact={isCompact}\n isDefaultExpanded={isDefaultExpanded}\n isExpanded={isExpanded}\n startIcon={startIcon}\n isDisabled={isDisabled}\n >\n {nestedChildren}\n </NavAccordion>\n </StyledSideNavListItem>\n </ErrorBoundary>\n );\n } else {\n return (\n <ErrorBoundary fallback={blankElement} key={item.id}>\n <SideNavItemContentContext.Provider\n value={sideNavItemContentProviderValue}\n >\n <SideNavItemContent\n {...item}\n onItemSelected={setSelectedItem}\n scrollRef={getRefIfThisIsFirstNodeWithIsSelected(\n item.id,\n )}\n startIcon={item.startIcon}\n />\n </SideNavItemContentContext.Provider>\n </ErrorBoundary>\n );\n }\n })}\n </StyledSideNavListContainer>\n {!isLoading && footerItems && !hasCustomFooter && (\n <StyledSideNavFooter\n odysseyDesignTokens={odysseyDesignTokens}\n sideNavBackgroundColor={\n uiShellContext?.sideNavBackgroundColor\n }\n >\n <StyledSideNavFooterItemsContainer\n odysseyDesignTokens={odysseyDesignTokens}\n sideNavContrastColors={\n uiShellContext?.sideNavContrastColors\n }\n >\n <SideNavFooterContent footerItems={footerItems} />\n </StyledSideNavFooterItemsContainer>\n </StyledSideNavFooter>\n )}\n </StyledSideNavScrollableContainer>\n {!isLoading && !footerItems && hasCustomFooter && (\n <StyledPersistentSideNavFooter\n isContentScrollable={isContentScrollable}\n odysseyDesignTokens={odysseyDesignTokens}\n sideNavBackgroundColor={uiShellContext?.sideNavBackgroundColor}\n >\n {footerComponent}\n </StyledPersistentSideNavFooter>\n )}\n </StyledOpacityTransitionContainer>\n </StyledCollapsibleContent>\n </OdysseyThemeProvider>\n </StyledSideNavContainer>\n );\n};\n\nconst MemoizedSideNav = memo(SideNav);\nMemoizedSideNav.displayName = \"SideNav\";\n\nexport { MemoizedSideNav as SideNav };\n"],"mappings":";;;;;;;AAYA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAWA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAEA,IAAAI,mBAAA,GAAAJ,OAAA;AAIA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,2BAAA,GAAAN,OAAA;AAIA,IAAAO,qBAAA,GAAAP,OAAA;AAEA,IAAAQ,cAAA,GAAAR,OAAA;AACA,IAAAS,mBAAA,GAAAT,OAAA;AAIA,IAAAU,qBAAA,GAAAV,OAAA;AACA,IAAAW,0BAAA,GAAAX,OAAA;AACA,IAAAY,oBAAA,GAAAZ,OAAA;AAMA,IAAAa,aAAA,GAAAb,OAAA;AACA,IAAAc,WAAA,GAAAd,OAAA;AACA,IAAAe,gBAAA,GAAAf,OAAA;AAIA,IAAAgB,uBAAA,GAAAhB,OAAA;AAMA,IAAAiB,oCAAA,GAAAjB,OAAA;AACA,IAAAkB,wBAAA,GAAAlB,OAAA;AAA2E,IAAAmB,WAAA,GAAAnB,OAAA;AAAA,SAAAD,uBAAAqB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAhE3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAwDO,MAAMG,sCAAsC,GAAAC,OAAA,CAAAD,sCAAA,GAAG,EAAE;AACjD,MAAME,wCAAwC,GAAAD,OAAA,CAAAC,wCAAA,GAAG,CAAC;AAEzD,MAAMC,wBAAwB,GAAG,IAAAC,eAAM,EAAC,KAAK,EAAE;EAC7CC,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAAIA,IAAI,KAAK;AAC/C,CAAC,CAAC,CAGC,CAAC;EAAEC,mBAAmB;EAAEC;AAAmB,CAAC,MAAM;EACnDC,QAAQ,EAAE,UAAU;EACpBC,OAAO,EAAE,MAAM;EACfC,mBAAmB,EAAEC,sCAAc;EACnCC,MAAM,EAAE,MAAM;EACdC,UAAU,EAAE,yBAAyBP,mBAAmB,CAACQ,sBAAsB,iBAAiB;EAChGC,wBAAwB,EAAET,mBAAmB,CAACU,oBAAoB;EAClEC,QAAQ,EAAE,QAAQ;EAElB,IAAIV,kBAAkB,IACnB;IACCG,mBAAmB,EAAE,CAAC;IACtBQ,OAAO,EAAE;EACX,CAA0B;AAC9B,CAAC,CAAC,CAAC;AAEH,MAAMC,gCAAgC,GAAG,IAAAhB,eAAM,EAAC,KAAK,EAAE;EACrDC,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAAIA,IAAI,KAAK;AAC/C,CAAC,CAAC,CACA,CAAC;EACCC,mBAAmB;EACnBC;AAIF,CAAC,MAAM;EACLE,OAAO,EAAE,MAAM;EACfW,gBAAgB,EAAE,6BAA6B;EAC/CR,MAAM,EAAE,MAAM;EACdC,UAAU,EAAE,cAAc;EAC1BE,wBAAwB,EAAET,mBAAmB,CAACU,oBAAoB;EAClEC,QAAQ,EAAE,QAAQ;EAElB,IAAIV,kBAAkB,IACnB;IACCW,OAAO,EAAE;EACX,CAA0B;AAC9B,CAAC,CACH,CAAC;AAED,MAAMG,sBAAsB,GAAG,IAAAlB,eAAM,EAAC,KAAK,EAAE;EAC3CC,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,iBAAiB,IAC1BA,IAAI,KAAK,uBAAuB,IAChCA,IAAI,KAAK,6BAA6B,IACtCA,IAAI,KAAK,oBAAoB,IAC7BA,IAAI,KAAK,4BAA4B,IACrCA,IAAI,KAAK;AACb,CAAC,CAAC,CAQA,CAAC;EACCiB,eAAe;EACfC,qBAAqB;EACrBC,2BAA2B;EAC3BjB,kBAAkB;EAClBkB,0BAA0B;EAC1BnB;AACF,CAAC,MAAM;EAELgB,eAAe,EAAEA,eAAe,IAAIhB,mBAAmB,CAACoB,eAAe;EACvEd,MAAM,EAAE,MAAM;EACdJ,QAAQ,EAAE,UAAU;EACpBmB,KAAK,EAAE,aAAa;EAGpB,qBAAqB,EAAE;IACrBC,OAAO,EAAE,IAAI;IACbhB,MAAM,EAAE,MAAM;IACdiB,aAAa,EAAE,MAAM;IACrBrB,QAAQ,EAAE,UAAU;IACpBsB,KAAK,EAAE,IAAIxB,mBAAmB,CAACyB,eAAe,EAAE;IAChDC,GAAG,EAAE,CAAC;IACNnB,UAAU,EAAE,WAAWP,mBAAmB,CAACQ,sBAAsB,eAAeR,mBAAmB,CAACQ,sBAAsB,WAAWR,mBAAmB,CAACQ,sBAAsB,EAAE;IACjLmB,UAAU,EAAE,MAAM;IAClBC,MAAM,EAAEC;EACV,CAAC;EAGD,WAAW,EAAE;IACXb,eAAe,EAAEG,0BAA0B,GACvCnB,mBAAmB,CAAC8B,yBAAyB,GAC7C9B,mBAAmB,CAAC+B,aAAa;IACrCnB,OAAO,EACLM,2BAA2B,IAC1B,CAACjB,kBAAkB,IAAIkB,0BAA2B,GAC/C,CAAC,GACD,CAAC;IACPE,KAAK,EAAE,QAAQrB,mBAAmB,CAACyB,eAAe;EACpD,CAAC;EAGD,UAAU,EAAE;IACVT,eAAe,EAAEhB,mBAAmB,CAACgC,aAAa;IAClDpB,OAAO,EAAEX,kBAAkB,GAAG,CAAC,GAAG,CAAC;IACnCgC,SAAS,EACPhC,kBAAkB,IAAI,CAACgB,qBAAqB,GACxCE,0BAA0B,GACxB,2BAA2BnB,mBAAmB,CAACyB,eAAe,SAAS,GACvE,0BAA0BhC,sCAAsC,MAAM,GACxE,eAAe;IACrB4B,KAAK,EAAEJ,qBAAqB,GACxB,CAAC,GACD,QAAQiB,mDAA8B,GAAGzC,sCAAsC,QAAQO,mBAAmB,CAACyB,eAAe,OAAO;IAGrI,IAAKxB,kBAAkB,IAAIkB,0BAA0B,GACjD;MACEgB,gBAAgB,EAAEnC,mBAAmB,CAAC8B,yBAAyB;MAC/DM,gBAAgB,EACdpC,mBAAmB,CAACqC,eAA4C;MAClEC,gBAAgB,EAAE,QAAQtC,mBAAmB,CAACyB,eAAe;IAC/D,CAAC,GACD,CAAC,CAAC;EACR;AACF,CAAC,CACH,CAAC;AAED,MAAMc,kCAAkC,GAAG,IAAA1C,eAAM,EAAC,KAAK,EAAE;EACvDC,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,uBAAuB,IAChCA,IAAI,KAAK,oBAAoB,IAC7BA,IAAI,KAAK,4BAA4B,IACrCA,IAAI,KAAK;AACb,CAAC,CAAC,CAMA,CAAC;EACCkB,qBAAqB;EACrBhB,kBAAkB;EAClBkB,0BAA0B;EAC1BnB;AACF,CAAC,MAAM;EACLE,QAAQ,EAAE,UAAU;EACpBsB,KAAK,EAAE,GAAGU,mDAA8B,IAAI;EAC5CR,GAAG,EAAEc,gEAAwC;EAC7CP,SAAS,EACPhC,kBAAkB,IAAI,CAACgB,qBAAqB,GACxCE,0BAA0B,GACxB,2BAA2Be,mDAA8B,GAAGzC,sCAAsC,YAAY,GAC9G,2BAA2ByC,mDAA8B,GAAGvC,wCAAwC,YAAY,GAClH,yBAAyB;EAC/BY,UAAU,EAAE,aAAaP,mBAAmB,CAACQ,sBAAsB,EAAE;EACrEoB,MAAM,EAAEC,gDAAwB,GAAG;AACrC,CAAC,CACH,CAAC;AAED,MAAMY,4BAA4B,GAAG,IAAA5C,eAAM,EAAC,KAAK,EAAE;EACjDC,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,aAAa,IACtBA,IAAI,KAAK,oBAAoB,IAC7BA,IAAI,KAAK;AACb,CAAC,CAAC,CAIC,CAAC;EAAE2C,WAAW;EAAEC,kBAAkB;EAAE3C;AAAoB,CAAC,MAAM;EAChE4C,UAAU,EAAE,CAAC;EAEb,IAAID,kBAAkB,IACnB;IACCE,iBAAiB,EAAE7C,mBAAmB,CAACyB,eAAe;IACtDqB,iBAAiB,EAAE9C,mBAAmB,CAACqC,eAAe;IACtDU,iBAAiB,EAAE/C,mBAAmB,CAAC+B,aAAa;IAEpD,IAAIW,WAAW,IACZ;MACCK,iBAAiB,EAAEL,WAAW,CAACM,MAAM,CAAC,IAAI;IAC5C,CAA0B;EAC9B,CAAmB;AACvB,CAAC,CAAC,CAAC;AAEH,MAAMC,0BAA0B,GAAG,IAAApD,eAAM,EAAC,IAAI,CAAC,CAAC,OAAO;EACrDqD,OAAO,EAAE,CAAC;EACVC,SAAS,EAAE,MAAM;EACjBC,aAAa,EAAE,MAAM;EACrBC,MAAM,EAAE,CAAC;EACThC,KAAK,EAAE;AACT,CAAC,CAAC,CAAC;AAEH,MAAMiC,gCAAgC,GAAG,IAAAzD,eAAM,EAAC,KAAK,EAAE;EACrDC,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAAwC,CAAC;EAAEC;AAAoB,CAAC,MAAM;EACtEG,OAAO,EAAE,aAAa;EACtBW,gBAAgB,EAAE,iBAAiB;EACnCyC,SAAS,EAAE,MAAM;EACjBC,aAAa,EAAExD,mBAAmB,CAACyD;AACrC,CAAC,CAAC,CAAC;AAEH,MAAMC,4BAA4B,GAAG,IAAA7D,eAAM,EAAC,IAAI,EAAE;EAChDC,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAAIA,IAAI,KAAK;AAC/C,CAAC,CAAC,CACA,CAAC;EACC4D,iBAAiB;EACjB3D;AAIF,CAAC,MAAM;EACL4D,KAAK,EAAED,iBAAiB,IAAI3D,mBAAmB,CAAC6D,aAAa;EAC7DC,WAAW,EAAE,GAAG9D,mBAAmB,CAAC+D,QAAQ,EAAE;EAC9CC,YAAY,EAAEhE,mBAAmB,CAACiE,QAAQ;EAC1CT,aAAa,EAAExD,mBAAmB,CAACkE;AACrC,CAAC,CACH,CAAC;AAED,MAAMC,mBAAmB,GAAG,IAAAtE,eAAM,EAAC,KAAK,EAAE;EACxCC,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAAIA,IAAI,KAAK;AAC/C,CAAC,CAAC,CACA,CAAC;EACCC,mBAAmB;EACnBoE;AAIF,CAAC,MAAM;EACLpD,eAAe,EAAEhB,mBAAmB,CAACoB,eAAe;EACpDwB,UAAU,EAAE,CAAC;EACbM,OAAO,EAAElD,mBAAmB,CAACkE,QAAQ;EAErC,IAAIE,sBAAsB,IACvB;IACCpD,eAAe,EAAEoD;EACnB,CAA0B;AAC9B,CAAC,CACH,CAAC;AAED,MAAMC,6BAA6B,GAAG,IAAAxE,eAAM,EAACsE,mBAAmB,EAAE;EAChErE,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAC9BA,IAAI,KAAK,qBAAqB,IAC9BA,IAAI,KAAK;AACb,CAAC,CAAC,CACA,CAAC;EACCuE,mBAAmB;EACnBtE,mBAAmB;EACnBoE;AAKF,CAAC,MAAM;EACLG,kBAAkB,EAAE,YAAY;EAChCC,kBAAkB,EAAExE,mBAAmB,CAACQ,sBAAsB;EAC9DiE,gBAAgB,EAAEzE,mBAAmB,CAACU,oBAAoB;EAC1DkB,MAAM,EAAE8C,6CAAqB;EAG7B,IAAIJ,mBAAmB,IACpB;IACCK,SAAS,EAAE;EACb,CAA0B,CAAC;EAE7B,IAAIP,sBAAsB,IACvB;IACCpD,eAAe,EAAEoD;EACnB,CAA0B;AAC9B,CAAC,CACH,CAAC;AAED,MAAMQ,iCAAiC,GAAG,IAAA/E,eAAM,EAAC,KAAK,EAAE;EACtDC,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAAIA,IAAI,KAAK;AAC/C,CAAC,CAAC,CAGC,CAAC;EAAEC,mBAAmB;EAAE6E;AAAsB,CAAC,MAAM;EACtD1E,OAAO,EAAE,MAAM;EACf2E,QAAQ,EAAE,MAAM;EAChBC,UAAU,EAAE,QAAQ;EACpBC,QAAQ,EAAEhF,mBAAmB,CAACiF,sBAAsB;EAEpD,SAAS,EAAE;IACTrB,KAAK,EAAE5D,mBAAmB,CAAC6D,aAAa;IACxCtD,UAAU,EAAE,SAASP,mBAAmB,CAACQ,sBAAsB,EAAE;IAEjE,WAAW,EAAE;MACXoD,KAAK,EAAE5D,mBAAmB,CAAC6D,aAAa;MAExC,IAAIgB,qBAAqB,EAAEK,SAAS,IACjC;QACCtB,KAAK,EAAEiB,qBAAqB,EAAEK;MAChC,CAA0B;IAC9B,CAAC;IAED,SAAS,EAAE;MACTC,cAAc,EAAE,MAAM;MACtBvB,KAAK,EAAE5D,mBAAmB,CAACoF,aAAa;MAExC,IAAIP,qBAAqB,EAAEK,SAAS,IACjC;QACCtB,KAAK,EAAEiB,qBAAqB,EAAEK;MAChC,CAA0B;IAC9B,CAAC;IAED,IAAIL,qBAAqB,EAAEK,SAAS,IACjC;MACCtB,KAAK,EAAEiB,qBAAqB,EAAEK;IAChC,CAA0B;EAC9B;AACF,CAAC,CAAC,CAAC;AAEH,MAAMG,0BAA0B,GAAG,IAAAxF,eAAM,EAAC,KAAK,EAAE;EAC/CC,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAAwC,CAAC;EAAEC;AAAoB,CAAC,MAAM;EACtE+E,UAAU,EAAE,QAAQ;EACpB5E,OAAO,EAAE,MAAM;EACfmF,GAAG,EAAEtF,mBAAmB,CAACyD,QAAQ;EACjCO,YAAY,EAAEhE,mBAAmB,CAACyD,QAAQ;EAC1CD,aAAa,EAAExD,mBAAmB,CAACkE;AACrC,CAAC,CAAC,CAAC;AAEH,MAAMqB,uBAAuB,GAAIC,mBAAgC,IAC/DA,mBAAmB,CAACC,YAAY,GAAGD,mBAAmB,CAACE,YAAY;AAErE,MAAMC,WAAW,GAAGA,CAAA,KAAM;EACxB,MAAM3F,mBAAiC,GAAG,IAAA4F,kDAAsB,EAAC,CAAC;EAClE,OACE,IAAAvG,WAAA,CAAAwG,IAAA,EAACR,0BAA0B;IAACrF,mBAAmB,EAAEA,mBAAoB;IAAA8F,QAAA,GACnE,IAAAzG,WAAA,CAAA0G,GAAA,EAAAC,UAAA,CAAAxG,OAAA;MACEyG,OAAO,EAAC,UAAU;MAClB5E,KAAK,EAAErB,mBAAmB,CAACkE,QAAS;MACpC5D,MAAM,EAAEN,mBAAmB,CAACkE;IAAS,CACtC,CAAC,EACF,IAAA7E,WAAA,CAAA0G,GAAA,EAAAC,UAAA,CAAAxG,OAAA;MAAUyG,OAAO,EAAC,SAAS;MAAC5E,KAAK,EAAC;IAAM,CAAE,CAAC;EAAA,CACjB,CAAC;AAEjC,CAAC;AAED,MAAM6E,OAAO,GAAGA,CAAC;EACfC,OAAO;EACPC,eAAe;EACfC,WAAW;EACXC,eAAe;EACfC,aAAa;EACbC,WAAW,GAAG,KAAK;EACnBC,SAAS;EACTC,SAAS;EACTC,WAAW;EACXC,SAAS;EACTC,UAAU;EACVC,QAAQ;EACRC,MAAM;EACNC;AACY,CAAC,KAAK;EAClB,MAAM,CAACrE,kBAAkB,EAAEsE,qBAAqB,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACnE,MAAM,CAACjG,qBAAqB,EAAEkG,wBAAwB,CAAC,GAAG,IAAAD,eAAQ,EAAC,KAAK,CAAC;EACzE,MAAM,CAAC5C,mBAAmB,EAAE8C,sBAAsB,CAAC,GAAG,IAAAF,eAAQ,EAAC,KAAK,CAAC;EACrE,MAAM,CAAC/F,0BAA0B,EAAEkG,6BAA6B,CAAC,GAC/D,IAAAH,eAAQ,EAAC,KAAK,CAAC;EACjB,MAAM,CAACI,gBAAgB,EAAEC,sBAAsB,CAAC,GAAG,IAAAL,eAAQ,EAACF,YAAY,CAAC;EAEzE,MAAM;IACJQ,YAAY,EAAEvH,kBAAkB;IAChCwH,eAAe,EAAEC;EACnB,CAAC,GAAG,IAAAC,wEAAmC,EAACnB,WAAW,CAAC;EAEpD,MAAMoB,cAAc,GAAG,IAAAC,kCAAiB,EAAC,CAAC;EAC1C,MAAM7H,mBAAiC,GAAG,IAAA4F,kDAAsB,EAAC,CAAC;EAClE,MAAM;IAAEkC;EAAE,CAAC,GAAG,IAAAC,4BAAc,EAAC,CAAC;EAE9B,MAAMC,oBAAoB,GAAG,IAAAC,aAAM,EAAmB,IAAI,CAAC;EAC3D,MAAMC,iBAAiB,GAAG,IAAAD,aAAM,EAAwB,IAAI,CAAC;EAC7D,MAAME,uBAAuB,GAAG,IAAAF,aAAM,EAA8B,IAAI,CAAC;EACzE,MAAMG,UAAU,GAAG,IAAAH,aAAM,EAAiB,IAAI,CAAC;EAE/C,MAAMI,YAAY,GAAG,IAAAC,cAAO,EAAC,MAAM,IAAAjJ,WAAA,CAAA0G,GAAA,WAAM,CAAC,EAAE,EAAE,CAAC;EAK/C,IAAAwC,gBAAS,EAAC,MAAMhB,sBAAsB,CAACP,YAAY,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAGrE,IAAAuB,gBAAS,EAAC,MAAM;IACd,IAAIH,UAAU,CAACI,OAAO,EAAE;MACtBrB,wBAAwB,CACtBiB,UAAU,CAACI,OAAO,CAACC,qBAAqB,CAAC,CAAC,CAACC,CAAC,GAAG,CACjD,CAAC;IACH;EAEF,CAAC,EAAE,CAAClC,WAAW,CAAC,CAAC;EAGjB,MAAMmC,OAAO,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAChC,IAAI,CAACrC,aAAa,EAAE;MAClBmB,qBAAqB,CAAClB,WAAW,CAAC;IACpC;EACF,CAAC,EAAE,CAACA,WAAW,EAAED,aAAa,EAAEmB,qBAAqB,CAAC,CAAC;EAEvD,MAAMmB,QAAQ,GAAG,IAAAD,kBAAW,EAAC,MAAM;IACjClB,qBAAqB,CAAClB,WAAW,CAAC;EACpC,CAAC,EAAE,CAACA,WAAW,EAAEkB,qBAAqB,CAAC,CAAC;EAExC,IAAAoB,gDAAuB,EAAC;IACtBH,OAAO;IACPE;EACF,CAAC,CAAC;EAEF,IAAAN,gBAAS,EAAC,MAAM;IAEd,MAAMQ,yBAAyB,GAAGA,CAAA,KAAM;MACtC,IACEf,oBAAoB,CAACQ,OAAO,IAC5BR,oBAAoB,CAACQ,OAAO,CAACQ,aAAa,EAC1C;QACA5B,sBAAsB,CACpB7B,uBAAuB,CAACyC,oBAAoB,CAACQ,OAAO,CAACQ,aAAa,CACpE,CAAC;MACH;IACF,CAAC;IAID,IAAIC,2BAAqE;IACzE,IAAI,CAACf,iBAAiB,CAACM,OAAO,EAAE;MAC9BN,iBAAiB,CAACM,OAAO,GAAG,IAAIU,cAAc,CAAC,MAAM;QACnDC,oBAAoB,CAACF,2BAA2B,CAAC;QACjDA,2BAA2B,GAAGG,qBAAqB,CACjDL,yBACF,CAAC;MACH,CAAC,CAAC;IACJ;IAEA,IAAIb,iBAAiB,CAACM,OAAO,IAAIR,oBAAoB,CAACQ,OAAO,EAAE;MAE7DN,iBAAiB,CAACM,OAAO,CAACa,OAAO,CAACrB,oBAAoB,CAACQ,OAAO,CAAC;MAC/D,IAAIR,oBAAoB,CAACQ,OAAO,CAACQ,aAAa,EAAE;QAE9Cd,iBAAiB,CAACM,OAAO,CAACa,OAAO,CAC/BrB,oBAAoB,CAACQ,OAAO,CAACQ,aAC/B,CAAC;MACH;IACF;IAGAD,yBAAyB,CAAC,CAAC;IAI3B,IAAI,CAACZ,uBAAuB,CAACK,OAAO,IAAIR,oBAAoB,CAACQ,OAAO,EAAE;MACpEL,uBAAuB,CAACK,OAAO,GAAG,IAAIc,oBAAoB,CACvDC,OAAO,IAAK;QAIX,MAAMC,cAAc,GAAGD,OAAO,CAC3BE,KAAK,CAAC,CAAC,CACPC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,IAAI,GAAGD,CAAC,CAACC,IAAI,CAAC,CAC/BC,EAAE,CAAC,CAAC,CAAC,EAAEN,cAAc;QACxBvC,qBAAqB,CAAC,CAACuC,cAAc,CAAC;MACxC,CAAC,EACD;QACEO,IAAI,EAAE/B,oBAAoB,CAACQ,OAAO,CAACQ,aAAa;QAChDgB,SAAS,EAAE;MACb,CACF,CAAC;IACH;IAEA,IAAI7B,uBAAuB,CAACK,OAAO,IAAIR,oBAAoB,CAACQ,OAAO,EAAE;MACnE,MAAMyB,SAAS,GAAGjC,oBAAoB,CAACQ,OAAO;MAC9C,MAAM,CAAC0B,SAAS,CAAC,GAAGC,KAAK,CAACC,IAAI,CAACH,SAAS,EAAEnE,QAAQ,IAAI,EAAE,CAAC;MAEzD,IAAIoE,SAAS,EAAE;QACb/B,uBAAuB,CAACK,OAAO,CAACa,OAAO,CAACa,SAAS,CAAC;MACpD;IACF;IAGA,OAAO,MAAM;MACX,IAAIhC,iBAAiB,CAACM,OAAO,EAAE;QAC7BN,iBAAiB,CAACM,OAAO,CAAC6B,UAAU,CAAC,CAAC;QACtCnC,iBAAiB,CAACM,OAAO,GAAG,IAAI;MAClC;MACA,IAAIL,uBAAuB,CAACK,OAAO,EAAE;QACnCL,uBAAuB,CAACK,OAAO,CAAC6B,UAAU,CAAC,CAAC;QAC5ClC,uBAAuB,CAACK,OAAO,GAAG,IAAI;MACxC;MACAW,oBAAoB,CAACF,2BAA2B,CAAC;IACnD,CAAC;EACH,CAAC,EAAE,CAAC3B,gBAAgB,CAAC,CAAC;EAEtB,MAAMgD,iBAAiB,GAAG,IAAArC,aAAM,EAAgB,IAAI,CAAC;EAMrD,MAAMsC,gCAAgC,GAAG,IAAAjC,cAAO,EAAC,MAAM;IACrD,MAAMkC,cAAc,GAAGlD,gBAAgB,CAACmD,OAAO,CAAEC,WAAW,IAC1DA,WAAW,CAACC,cAAc,GACtB,CAACD,WAAW,EAAE,GAAGA,WAAW,CAACC,cAAc,CAAC,GAC5CD,WACN,CAAC;IACD,MAAME,uBAAuB,GAAGJ,cAAc,CAACK,IAAI,CAChDH,WAAW,IAAKA,WAAW,CAACI,UAC/B,CAAC;IACD,OAAOF,uBAAuB,EAAEG,EAAE;EACpC,CAAC,EAAE,CAACzD,gBAAgB,CAAC,CAAC;EAMtB,IAAAiB,gBAAS,EAAC,MAAM;IACd,IAAIgC,gCAAgC,IAAID,iBAAiB,CAAC9B,OAAO,EAAE;MACjE8B,iBAAiB,CAAC9B,OAAO,CAACwC,cAAc,CAAC,CAAC;IAC5C;EACF,CAAC,EAAE,CAACT,gCAAgC,CAAC,CAAC;EAOtC,MAAMU,qCAAqC,GAAG,IAAArC,kBAAW,EACtDsC,MAAc,IACbA,MAAM,KAAKX,gCAAgC,GACvCD,iBAAiB,GACjBa,SAAS,EACf,CAACZ,gCAAgC,CACnC,CAAC;EAED,MAAMa,+BAA+B,GAAG,IAAA9C,cAAO,EAC7C,OAAO;IAAE7B,SAAS;IAAE4E,KAAK,EAAE;EAAE,CAAC,CAAC,EAC/B,CAAC5E,SAAS,CACZ,CAAC;EAED,MAAM6E,eAAe,GAAG,IAAA1C,kBAAW,EAChC2C,cAAsB,IAAK;IAC1B,MAAMC,mBAAmB,GAAGlE,gBAAgB,CAACmE,GAAG,CAAEC,IAAI,IAAK;MACzD,IAAIA,IAAI,CAACX,EAAE,KAAKQ,cAAc,EAAE;QAC9BG,IAAI,CAACZ,UAAU,GAAG,IAAI;MACxB,CAAC,MAAM,IAAIY,IAAI,CAACZ,UAAU,EAAE;QAC1B,OAAOY,IAAI,CAACZ,UAAU;MACxB;MAEA,OAAOY,IAAI,CAACf,cAAc,GACtB;QACE,GAAGe,IAAI;QACPf,cAAc,EAAEe,IAAI,CAACf,cAAc,CAACc,GAAG,CAAEE,SAAS,IAAK;UACrD,IAAIA,SAAS,CAACZ,EAAE,KAAKQ,cAAc,EAAE;YACnCI,SAAS,CAACb,UAAU,GAAG,IAAI;UAC7B,CAAC,MAAM,IAAIa,SAAS,CAACb,UAAU,EAAE;YAC/B,OAAOa,SAAS,CAACb,UAAU;UAC7B;UACA,OAAOa,SAAS;QAClB,CAAC;MACH,CAAC,GACDD,IAAI;IACV,CAAC,CAAC;IACFnE,sBAAsB,CAACiE,mBAAmB,CAAC;IAE3C,IAAIhF,WAAW,IAAIG,WAAW,EAAE;MAC9BiB,cAAc,EAAEgE,gBAAgB,CAAC,CAAC;IACpC;EACF,CAAC,EACD,CAACpF,WAAW,EAAEG,WAAW,EAAEW,gBAAgB,EAAEM,cAAc,CAC7D,CAAC;EAED,MAAMiE,qBAAqB,GAAG,IAAAvD,cAAO,EAAC,MAAM;IAC1C,OAAOhB,gBAAgB,EAAEmE,GAAG,CAAEC,IAAI,KAAM;MACtC,GAAGA,IAAI;MACPI,aAAa,EAAEJ,IAAI,CAACf,cAAc,EAAEc,GAAG,CAAEM,UAAU,KAAM;QACvDhB,EAAE,EAAEgB,UAAU,CAAChB,EAAE;QACjBD,UAAU,EAAEiB,UAAU,CAACjB,UAAU;QACjCkB,UAAU,EAAED,UAAU,CAACC,UAAU;QACjCC,UAAU,EAAEF,UAAU,CAACE,UAAU;QACjCC,OAAO,EACL,IAAA7M,WAAA,CAAA0G,GAAA,EAAClH,0BAAA,CAAAsN,yBAAyB,CAACC,QAAQ;UAEjCC,KAAK,EAAE;YACL,GAAGjB,+BAA+B;YAClCC,KAAK,EAAE,CAAC;YACRY,UAAU,EAAEP,IAAI,CAACO;UACnB,CAAE;UAAAnG,QAAA,EAEF,IAAAzG,WAAA,CAAA0G,GAAA,EAACpH,mBAAA,CAAA2N,kBAAkB;YAAA,GACbP,UAAU;YACdQ,cAAc,EAAEjB,eAAgB;YAChCkB,SAAS,EAAEvB,qCAAqC,CAACc,UAAU,CAAChB,EAAE,CAAE;YAChE0B,SAAS,EAAEV,UAAU,CAACU;UAAU,CACjC;QAAC,GAZGV,UAAU,CAAChB,EAakB;MAExC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;EACL,CAAC,EAAE,CACDE,qCAAqC,EACrCK,eAAe,EACfF,+BAA+B,EAC/B9D,gBAAgB,CACjB,CAAC;EAEF,MAAMoF,yBAAyB,GAAG,IAAA9D,kBAAW,EAAC,MAAM;IAClDlB,qBAAqB,CAAEzH,kBAAkB,IAAK;MAC5C,IAAIA,kBAAkB,EAAE;QACtB6G,QAAQ,GAAG,CAAC;MACd,CAAC,MAAM;QACLD,UAAU,GAAG,CAAC;MAChB;MAEA,OAAO,CAAC5G,kBAAkB;IAC5B,CAAC,CAAC;EACJ,CAAC,EAAE,CAAC4G,UAAU,EAAEC,QAAQ,EAAEY,qBAAqB,CAAC,CAAC;EAEjD,MAAMiF,uBAAuB,GAAG,IAAA/D,kBAAW,EAGxCgE,KAAK,IAAK;IACT,IAAIA,KAAK,EAAEC,GAAG,KAAK,OAAO,IAAID,KAAK,EAAEE,IAAI,KAAK,OAAO,EAAE;MACrDF,KAAK,CAACG,cAAc,CAAC,CAAC;MACtBL,yBAAyB,CAAC,CAAC;IAC7B;EACF,CAAC,EACD,CAACA,yBAAyB,CAC5B,CAAC;EAED,IAAAnE,gBAAS,EAAC,MAAM;IACd,MAAMyE,WAAW,GAAGpF,cAAc,EAAEqF,2BAA2B,CAAC,MAAM;MACpEpG,UAAU,GAAG,CAAC;MACda,qBAAqB,CAAC,IAAI,CAAC;IAC7B,CAAC,CAAC;IAEF,OAAO,MAAM;MACXsF,WAAW,GAAG,CAAC;IACjB,CAAC;EACH,CAAC,EAAE,CAACnG,UAAU,EAAEa,qBAAqB,EAAEE,cAAc,CAAC,CAAC;EAEvD,MAAMsF,cAAc,GAAG,IAAAtE,kBAAW,EAChC,CACEuE,QAAgB,EAChBC,QAA0B,EAC1BC,WAAmB,EACnBC,SAAiB,KACd;IACH,MAAMC,kBAAkB,GAAGjG,gBAAgB,CAACmE,GAAG,CAAEC,IAAI,IACnDA,IAAI,CAACX,EAAE,KAAKoC,QAAQ,IAAIzB,IAAI,CAACf,cAAc,GACvC;MACE,GAAGe,IAAI;MACPf,cAAc,EAAE,IAAA6C,mBAAS,EACvB9B,IAAI,CAACf,cAAc,EACnB0C,WAAW,EACXC,SACF;IACF,CAAC,GACD5B,IACN,CAAC;IACDnE,sBAAsB,CAACgG,kBAAkB,CAAC;IAC1CxG,MAAM,GAAGwG,kBAAkB,EAAEJ,QAAQ,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,SAAS,CAAC;EAC1E,CAAC,EACD,CAACvG,MAAM,EAAEO,gBAAgB,CAC3B,CAAC;EAED,MAAMmG,8BAA8B,GAAG,IAAA7E,kBAAW,EAE/C8E,aAAa,IAAK;IACnBrG,6BAA6B,CAACqG,aAAa,CAAC;EAC9C,CAAC,EAAE,EAAE,CAAC;EAEN,OACE,IAAArO,WAAA,CAAAwG,IAAA,EAAC9E,sBAAsB;IACrB,cAAY+G,CAAC,CAAC,kBAAkB,CAAE;IAClC9G,eAAe,EAAE4G,cAAc,EAAExD,sBAAuB;IACxDnD,qBAAqB,EAAEA,qBAAsB;IAC7C8J,EAAE,EAAC,qBAAqB;IACxB7J,2BAA2B,EACzB0G,cAAc,EAAE+F,kBAAkB,KAClC3N,mBAAmB,CAACoB,eACrB;IACDnB,kBAAkB,EAAEA,kBAAmB;IACvCkB,0BAA0B,EAAEA,0BAA2B;IACvDnB,mBAAmB,EAAEA,mBAAoB;IACzC4N,GAAG,EAAExF,UAAW;IAAAtC,QAAA,GAEfS,aAAa,IACZ,IAAAlH,WAAA,CAAA0G,GAAA,EAACxD,kCAAkC;MACjCtB,qBAAqB,EAAEA,qBAAsB;MAC7ChB,kBAAkB,EAAEA,kBAAmB;MACvCkB,0BAA0B,EAAEA,0BAA2B;MACvDnB,mBAAmB,EAAEA,mBAAoB;MAAA8F,QAAA,EAEzC,IAAAzG,WAAA,CAAA0G,GAAA,EAACjH,oBAAA,CAAA+O,mBAAmB;QAClBC,gBAAgB,EACd7N,kBAAkB,IAAI,CAACgB,qBAAqB,GACxC8M,8CAAyB,GAAG,CAAC,GAC7B,CACL;QACDC,YAAY,EAAC,qBAAqB;QAClC/N,kBAAkB,EAAEA,kBAAmB;QACvCgO,OAAO,EAAEvB,yBAA0B;QACnCwB,WAAW,EAAET,8BAA+B;QAC5CU,SAAS,EAAExB;MAAwB,CACpC;IAAC,CACgC,CACrC,EAED,IAAAtN,WAAA,CAAA0G,GAAA,EAACtH,qBAAA,CAAA2P,oBAAoB;MAAAtI,QAAA,EACnB,IAAAzG,WAAA,CAAA0G,GAAA,EAACnG,wBAAwB;QACvB,WAAQ,oBAAoB;QAC5BK,kBAAkB,EAAEA,kBAAmB;QACvCD,mBAAmB,EAAEA,mBAAoB;QAAA8F,QAAA,EAEzC,IAAAzG,WAAA,CAAAwG,IAAA,EAAChF,gCAAgC;UAC/BZ,kBAAkB,EAAEA,kBAAmB;UACvCD,mBAAmB,EAAEA,mBAAoB;UAAA8F,QAAA,GAExCK,OAAO,IAAIO,SAAS,IAAIE,SAAS,GAChC,IAAAvH,WAAA,CAAA0G,GAAA,EAACtD,4BAA4B;YAC3BE,kBAAkB,EAAEA,kBAAmB;YACvC3C,mBAAmB,EAAEA,mBAAoB;YACzC0C,WAAW,EAAEkF,cAAc,EAAE/C,qBAAqB,EAAEK,SAAU;YAAAY,QAAA,EAE7DY,SAAS,IAAI,CAACP,OAAO,IAAI,CAACS,SAAS,GAClC,IAAAvH,WAAA,CAAA0G,GAAA,EAACrH,cAAA,CAAA2P,aAAa;cAAC3H,SAAS,EAAEA;YAAU,CAAE,CAAC,GAEvC,IAAArH,WAAA,CAAA0G,GAAA,EAACrH,cAAA,CAAA2P,aAAa;cACZlI,OAAO,EAAEA,OAAQ;cACjBO,SAAS,EAAEA,SAAU;cACrBE,SAAS,EAAEA;YAAU,CACtB;UACF,CAC2B,CAAC,GAE/B,IAAAvH,WAAA,CAAA0G,GAAA,WAAM,CACP,EAED,IAAA1G,WAAA,CAAAwG,IAAA,EAACvC,gCAAgC;YAC/BtD,mBAAmB,EAAEA,mBAAoB;YACzC,WAAQ,mBAAmB;YAAA8F,QAAA,GAE3B,IAAAzG,WAAA,CAAA0G,GAAA,EAAC9C,0BAA0B;cACzBqL,IAAI,EAAC,MAAM;cACXV,GAAG,EAAE5F,oBAAqB;cAAAlC,QAAA,EAEzBY,SAAS,GACNyD,KAAK,CAAC,CAAC,CAAC,CACLoE,IAAI,CAAC,IAAI,CAAC,CACV9C,GAAG,CAAC,CAAC+C,CAAC,EAAEC,KAAK,KAAK,IAAApP,WAAA,CAAA0G,GAAA,EAACJ,WAAW,MAAM8I,KAAQ,CAAC,CAAC,GACjD5C,qBAAqB,EAAEJ,GAAG,CAAEC,IAAI,IAAK;gBACnC,MAAM;kBACJI,aAAa;kBACb4C,IAAI;kBACJ3D,EAAE;kBACF4D,iBAAiB;kBACjB3C,UAAU;kBACV4C,UAAU;kBACVC,eAAe;kBACf5C,UAAU;kBACV6C,KAAK;kBACLC;gBACF,CAAC,GAAGrD,IAAI;gBAER,IAAImD,eAAe,EAAE;kBACnB,OACE,IAAAxP,WAAA,CAAA0G,GAAA,EAACzH,mBAAA,CAAA0Q,aAAa;oBAACC,QAAQ,EAAE5G,YAAa;oBAAAvC,QAAA,EACpC,IAAAzG,WAAA,CAAA0G,GAAA,EAACrC,4BAA4B;sBAC3BC,iBAAiB,EACfiE,cAAc,EAAE/C,qBAAqB,EAAEK,SACxC;sBACD6F,EAAE,EAAEA,EAAG;sBACP/K,mBAAmB,EAAEA,mBAAoB;sBAAA8F,QAAA,EAEzC,IAAAzG,WAAA,CAAA0G,GAAA,EAAC/G,WAAA,CAAAkQ,QAAQ;wBAACC,SAAS,EAAC,IAAI;wBAAArJ,QAAA,EAAEgJ;sBAAK,CAAW;oBAAC,CACf;kBAAC,GATW/D,EAU7B,CAAC;gBAEpB,CAAC,MAAM,IAAIe,aAAa,EAAE;kBACxB,MAAMsD,cAAc,GAClB,IAAA/P,WAAA,CAAA0G,GAAA,EAAC9C,0BAA0B;oBAACqL,IAAI,EAAC,cAAc;oBAAAxI,QAAA,EAC5CmG,UAAU,GACT,IAAA5M,WAAA,CAAA0G,GAAA,EAAChH,aAAA,CAAAsQ,YAAY;sBACXlC,QAAQ,EAAEzB,IAAI,CAACX,EAAG;sBAClBuE,KAAK,EAAExD,aAAc;sBACrByD,QAAQ,EAAErC,cAAe;sBACzBsC,UAAU,EAAGC,YAAY,IACvB,IAAApQ,WAAA,CAAA0G,GAAA,EAAChH,aAAA,CAAAsQ,YAAY,CAACK,IAAI;wBAChB3E,EAAE,EAAE0E,YAAY,CAAC1E,EAAG;wBACpBiB,UAAU,EAAEyD,YAAY,CAACzD,UAAW;wBACpClB,UAAU,EAAE2E,YAAY,CAAC3E,UAAW;wBACpCmB,UAAU,EAAEwD,YAAY,CAACxD,UAAW;wBAAAnG,QAAA,EAEnC2J,YAAY,CAACvD;sBAAO,CACJ;oBACnB,CACH,CAAC,GAEFJ,aAAa,CAACL,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACQ,OAAO;kBACzC,CACyB,CAC7B;kBAED,OAAOwC,IAAI,GACT,IAAArP,WAAA,CAAAwG,IAAA,EAACvH,mBAAA,CAAA0Q,aAAa;oBAACC,QAAQ,EAAE5G,YAAa;oBAAAvC,QAAA,GACpC,IAAAzG,WAAA,CAAA0G,GAAA,EAACpH,mBAAA,CAAA2N,kBAAkB;sBAAA,GACbZ,IAAI;sBACRgD,IAAI,EAAEA,IAAK;sBACXnC,cAAc,EAAEjB,eAAgB;sBAChCkB,SAAS,EAAEvB,qCAAqC,CAC9CS,IAAI,CAACX,EACP,CAAE;sBACFgE,SAAS,EAAErD,IAAI,CAACqD;oBAAU,CAC3B,CAAC,EAEF,IAAA1P,WAAA,CAAA0G,GAAA,EAACpH,mBAAA,CAAAgR,qBAAqB;sBACpB5E,EAAE,EAAE,GAAGA,EAAE,QAAS;sBAClB/K,mBAAmB,EAAEA,mBAAoB;sBACzC4P,QAAQ,EAAE5D,UAAW;sBACrB,iBAAeA,UAAW;sBAAAlG,QAAA,EAEzBsJ;oBAAc,CACM,CAAC;kBAAA,GAlBkBrE,EAmB7B,CAAC,GAEhB,IAAA1L,WAAA,CAAA0G,GAAA,EAACzH,mBAAA,CAAA0Q,aAAa;oBAACC,QAAQ,EAAE5G,YAAa;oBAAAvC,QAAA,EACpC,IAAAzG,WAAA,CAAA0G,GAAA,EAACpH,mBAAA,CAAAgR,qBAAqB;sBACpB5E,EAAE,EAAEA,EAAG;sBACP/K,mBAAmB,EAAEA,mBAAoB;sBACzC4P,QAAQ,EAAE5D,UAAW;sBACrB,iBAAeA,UAAW;sBAAAlG,QAAA,EAE1B,IAAAzG,WAAA,CAAA0G,GAAA,EAACxH,aAAA,CAAAsR,YAAY;wBACXf,KAAK,EAAEA,KAAM;wBACbrI,SAAS,EAAEA,SAAU;wBACrBkI,iBAAiB,EAAEA,iBAAkB;wBACrCC,UAAU,EAAEA,UAAW;wBACvBG,SAAS,EAAEA,SAAU;wBACrB/C,UAAU,EAAEA,UAAW;wBAAAlG,QAAA,EAEtBsJ;sBAAc,CACH;oBAAC,CACM;kBAAC,GAjBkBrE,EAkB7B,CAChB;gBACH,CAAC,MAAM;kBACL,OACE,IAAA1L,WAAA,CAAA0G,GAAA,EAACzH,mBAAA,CAAA0Q,aAAa;oBAACC,QAAQ,EAAE5G,YAAa;oBAAAvC,QAAA,EACpC,IAAAzG,WAAA,CAAA0G,GAAA,EAAClH,0BAAA,CAAAsN,yBAAyB,CAACC,QAAQ;sBACjCC,KAAK,EAAEjB,+BAAgC;sBAAAtF,QAAA,EAEvC,IAAAzG,WAAA,CAAA0G,GAAA,EAACpH,mBAAA,CAAA2N,kBAAkB;wBAAA,GACbZ,IAAI;wBACRa,cAAc,EAAEjB,eAAgB;wBAChCkB,SAAS,EAAEvB,qCAAqC,CAC9CS,IAAI,CAACX,EACP,CAAE;wBACFgE,SAAS,EAAErD,IAAI,CAACqD;sBAAU,CAC3B;oBAAC,CACgC;kBAAC,GAZKrD,IAAI,CAACX,EAalC,CAAC;gBAEpB;cACF,CAAC;YAAC,CACoB,CAAC,EAC5B,CAACrE,SAAS,IAAIL,WAAW,IAAI,CAACC,eAAe,IAC5C,IAAAjH,WAAA,CAAA0G,GAAA,EAAC5B,mBAAmB;cAClBnE,mBAAmB,EAAEA,mBAAoB;cACzCoE,sBAAsB,EACpBwD,cAAc,EAAExD,sBACjB;cAAA0B,QAAA,EAED,IAAAzG,WAAA,CAAA0G,GAAA,EAACnB,iCAAiC;gBAChC5E,mBAAmB,EAAEA,mBAAoB;gBACzC6E,qBAAqB,EACnB+C,cAAc,EAAE/C,qBACjB;gBAAAiB,QAAA,EAED,IAAAzG,WAAA,CAAA0G,GAAA,EAACnH,qBAAA,CAAAkR,oBAAoB;kBAACzJ,WAAW,EAAEA;gBAAY,CAAE;cAAC,CACjB;YAAC,CACjB,CACtB;UAAA,CAC+B,CAAC,EAClC,CAACK,SAAS,IAAI,CAACL,WAAW,IAAIC,eAAe,IAC5C,IAAAjH,WAAA,CAAA0G,GAAA,EAAC1B,6BAA6B;YAC5BC,mBAAmB,EAAEA,mBAAoB;YACzCtE,mBAAmB,EAAEA,mBAAoB;YACzCoE,sBAAsB,EAAEwD,cAAc,EAAExD,sBAAuB;YAAA0B,QAAA,EAE9DM;UAAe,CACa,CAChC;QAAA,CAC+B;MAAC,CACX;IAAC,CACP,CAAC;EAAA,CACD,CAAC;AAE7B,CAAC;AAED,MAAM2J,eAAe,GAAArQ,OAAA,CAAAwG,OAAA,GAAG,IAAA8J,WAAI,EAAC9J,OAAO,CAAC;AACrC6J,eAAe,CAACE,WAAW,GAAG,SAAS","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SideNav.cjs","names":["_styled","_interopRequireDefault","require","_react","_reactI18next","_sortable","_reactErrorBoundary","_NavAccordion","_OdysseyDesignTokensContext","_OdysseyThemeProvider","_SideNavHeader","_SideNavItemContent","_SideNavFooterContent","_SideNavItemContentContext","_SideNavToggleButton","_SortableList","_Typography","_UiShellProvider","_uiShellSharedConstants","_useIsSideNavCollapsedSessionStorage","_useMountLifecycleEffect","_jsxRuntime","e","__esModule","default","SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED","exports","SIDE_NAV_COLLAPSED_PADDING_UNHIGHLIGHTED","StyledCollapsibleContent","styled","shouldForwardProp","prop","odysseyDesignTokens","isSideNavCollapsed","position","display","gridTemplateColumns","SIDE_NAV_WIDTH","height","transition","TransitionDurationMain","transitionTimingFunction","TransitionTimingMain","overflow","opacity","StyledOpacityTransitionContainer","gridTemplateRows","StyledSideNavContainer","backgroundColor","hasNeighboringContent","isAppContentWhiteBackground","isSideNavToggleHighlighted","HueNeutralWhite","width","content","pointerEvents","right","BorderWidthMain","top","userSelect","zIndex","UI_SHELL_OVERLAY_Z_INDEX","BorderColorPrimaryControl","HueNeutral100","HueNeutral200","transform","SIDE_NAV_TOGGLE_ICON_HALF_SIZE","borderRightColor","borderRightStyle","BorderStyleMain","borderRightWidth","StyledSideNavToggleButtonContainer","SIDE_NAV_VISIBILITY_TOGGLE_ICON_POSITION","StyledSideNavHeaderContainer","borderColor","hasContentScrolled","flexShrink","borderBottomWidth","borderBottomStyle","borderBottomColor","concat","StyledSideNavListContainer","padding","listStyle","listStyleType","margin","StyledSideNavScrollableContainer","overflowY","paddingInline","Spacing2","StyledSectionHeaderContainer","contrastFontColor","color","HueNeutral600","marginBlock","Spacing3","paddingBlock","Spacing1","Spacing4","StyledSideNavFooter","sideNavBackgroundColor","StyledPersistentSideNavFooter","isContentScrollable","transitionProperty","transitionDuration","transitionTiming","UI_SHELL_BASE_Z_INDEX","boxShadow","StyledSideNavFooterItemsContainer","sideNavContrastColors","flexWrap","alignItems","fontSize","TypographySizeOverline","fontColor","textDecoration","HueNeutral900","StyledLoadingItemContainer","gap","getHasScrollableContent","scrollableContainer","scrollHeight","clientHeight","LoadingItem","useOdysseyDesignTokens","jsxs","children","jsx","_Skeleton2","variant","SideNav","appName","footerComponent","footerItems","hasCustomFooter","isCollapsible","isCollapsed","isCompact","isLoading","isObtrusive","logoProps","onCollapse","onExpand","onSort","sideNavItems","setHasContentScrolled","useState","setHasNeighboringContent","setIsContentScrollable","setIsSideNavToggleHighlighted","sideNavItemsList","updateSideNavItemsList","sessionState","setSessionState","setIsSideNavCollapsed","useIsSideNavCollapsedSessionStorage","uiShellContext","useUiShellContext","t","useTranslation","scrollableContentRef","useRef","resizeObserverRef","intersectionObserverRef","sideNavRef","blankElement","useMemo","useEffect","current","getBoundingClientRect","x","onMount","useCallback","onUpdate","useMountLifecycleEffect","updateIsContentScrollable","parentElement","resizeObserverDebounceTimer","ResizeObserver","cancelAnimationFrame","requestAnimationFrame","observe","IntersectionObserver","entries","isIntersecting","slice","sort","a","b","time","at","root","threshold","ulElement","liElement","Array","from","disconnect","scrollIntoViewRef","firstSideNavItemIdWithIsSelected","flattenedItems","flatMap","sideNavItem","nestedNavItems","firstItemWithIsSelected","find","isSelected","id","scrollIntoView","getRefIfThisIsFirstNodeWithIsSelected","itemId","undefined","sideNavItemContentProviderValue","depth","setSelectedItem","selectedItemId","updatedSideNavItems","map","item","childItem","closeSideNavMenu","processedSideNavItems","childNavItems","childProps","isDisabled","isSortable","navItem","SideNavItemContentContext","Provider","value","SideNavItemContent","onItemSelected","scrollRef","translate","sideNavExpandClickHandler","sideNavExpandKeyHandler","event","key","code","preventDefault","unsubscribe","subscribeToCloseSideNavMenu","setSortedItems","parentId","activeId","activeIndex","overIndex","sortedSideNavItems","arrayMove","onSideNavToggleButtonHighlight","isHighlighted","appBackgroundColor","ref","SideNavToggleButton","clickAreaPadding","SIDE_NAV_TOGGLE_ICON_SIZE","ariaControls","onClick","onHighlight","onKeyDown","OdysseyThemeProvider","SideNavHeader","role","fill","_","index","href","isDefaultExpanded","isExpanded","isSectionHeader","label","startIcon","ErrorBoundary","fallback","Overline","component","nestedChildren","SortableList","items","onChange","renderItem","sortableItem","Item","StyledSideNavListItem","disabled","NavAccordion","SideNavFooterContent","MemoizedSideNav","memo","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNav.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport {\n memo,\n useMemo,\n useState,\n useCallback,\n useRef,\n useEffect,\n KeyboardEventHandler,\n CSSProperties,\n} from \"react\";\nimport { Skeleton } from \"@mui/material\";\nimport { useTranslation } from \"react-i18next\";\nimport { arrayMove } from \"@dnd-kit/sortable\";\nimport { UniqueIdentifier } from \"@dnd-kit/core\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { Property } from \"csstype\";\n\nimport { ContrastColors } from \"../../createContrastColors.js\";\nimport { NavAccordion } from \"./NavAccordion.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { OdysseyThemeProvider } from \"../../OdysseyThemeProvider.js\";\nimport type { SideNavProps } from \"./types.js\";\nimport { SideNavHeader } from \"./SideNavHeader.js\";\nimport {\n SideNavItemContent,\n StyledSideNavListItem,\n} from \"./SideNavItemContent.js\";\nimport { SideNavFooterContent } from \"./SideNavFooterContent.js\";\nimport { SideNavItemContentContext } from \"./SideNavItemContentContext.js\";\nimport {\n SIDE_NAV_TOGGLE_ICON_HALF_SIZE,\n SIDE_NAV_TOGGLE_ICON_SIZE,\n SideNavToggleButton,\n SideNavToggleButtonProps,\n} from \"./SideNavToggleButton.js\";\nimport { SortableList } from \"./SortableList/SortableList.js\";\nimport { Overline } from \"../../Typography.js\";\nimport {\n UiShellColors,\n useUiShellContext,\n} from \"../../ui-shell/UiShellProvider.js\";\nimport {\n SIDE_NAV_VISIBILITY_TOGGLE_ICON_POSITION,\n SIDE_NAV_WIDTH,\n UI_SHELL_BASE_Z_INDEX,\n UI_SHELL_OVERLAY_Z_INDEX,\n} from \"../uiShellSharedConstants.js\";\nimport { useIsSideNavCollapsedSessionStorage } from \"./useIsSideNavCollapsedSessionStorage.js\";\nimport { useMountLifecycleEffect } from \"../../useMountLifecycleEffect.js\";\n\nexport const SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED = 12;\nexport const SIDE_NAV_COLLAPSED_PADDING_UNHIGHLIGHTED = 2;\n\nconst StyledCollapsibleContent = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"isSideNavCollapsed\",\n})<{\n odysseyDesignTokens: DesignTokens;\n isSideNavCollapsed: boolean;\n}>(({ odysseyDesignTokens, isSideNavCollapsed }) => ({\n position: \"relative\",\n display: \"grid\",\n gridTemplateColumns: SIDE_NAV_WIDTH,\n height: \"100%\",\n transition: `grid-template-columns ${odysseyDesignTokens.TransitionDurationMain}, opacity 300ms`,\n transitionTimingFunction: odysseyDesignTokens.TransitionTimingMain,\n overflow: \"hidden\",\n\n ...(isSideNavCollapsed &&\n ({\n gridTemplateColumns: 0,\n opacity: 0,\n } satisfies CSSProperties)),\n}));\n\nconst StyledOpacityTransitionContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"isSideNavCollapsed\",\n})(\n ({\n odysseyDesignTokens,\n isSideNavCollapsed,\n }: {\n odysseyDesignTokens: DesignTokens;\n isSideNavCollapsed: boolean;\n }) => ({\n display: \"grid\",\n gridTemplateRows: \"max-content 1fr max-content\",\n height: \"100%\",\n transition: `opacity 50ms`,\n transitionTimingFunction: odysseyDesignTokens.TransitionTimingMain,\n overflow: \"hidden\",\n\n ...(isSideNavCollapsed &&\n ({\n opacity: 0,\n } satisfies CSSProperties)),\n }),\n);\n\nconst StyledSideNavContainer = styled(\"nav\", {\n shouldForwardProp: (prop) =>\n prop !== \"backgroundColor\" &&\n prop !== \"hasNeighboringContent\" &&\n prop !== \"isAppContentWhiteBackground\" &&\n prop !== \"isSideNavCollapsed\" &&\n prop !== \"isSideNavToggleHighlighted\" &&\n prop !== \"odysseyDesignTokens\",\n})<{\n backgroundColor?: UiShellColors[\"sideNavBackgroundColor\"];\n hasNeighboringContent: boolean;\n isAppContentWhiteBackground: boolean;\n isSideNavCollapsed: boolean;\n isSideNavToggleHighlighted: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(\n ({\n backgroundColor,\n hasNeighboringContent,\n isAppContentWhiteBackground,\n isSideNavCollapsed,\n isSideNavToggleHighlighted,\n odysseyDesignTokens,\n }) => ({\n // Side nav container styles\n backgroundColor: backgroundColor || odysseyDesignTokens.HueNeutralWhite,\n height: \"100%\",\n position: \"relative\",\n width: \"fit-content\",\n\n // Right-side vertical line shared\n \"&::before, &::after\": {\n content: \"''\",\n height: \"100%\",\n pointerEvents: \"none\",\n position: \"absolute\",\n right: `-${odysseyDesignTokens.BorderWidthMain}`,\n top: 0,\n transition: `opacity ${odysseyDesignTokens.TransitionDurationMain}, transform ${odysseyDesignTokens.TransitionDurationMain}, width ${odysseyDesignTokens.TransitionDurationMain}`,\n userSelect: \"none\",\n zIndex: UI_SHELL_OVERLAY_Z_INDEX,\n },\n\n // Right-side vertical line when open\n \"&::before\": {\n backgroundColor: isSideNavToggleHighlighted\n ? odysseyDesignTokens.BorderColorPrimaryControl\n : odysseyDesignTokens.HueNeutral100,\n opacity:\n isAppContentWhiteBackground ||\n (!isSideNavCollapsed && isSideNavToggleHighlighted)\n ? 1\n : 0,\n width: `calc(${odysseyDesignTokens.BorderWidthMain} * 2)`,\n },\n\n // Side nav vertical fill line when no neighboring content\n \"&::after\": {\n backgroundColor: odysseyDesignTokens.HueNeutral200,\n opacity: isSideNavCollapsed ? 1 : 0,\n transform:\n isSideNavCollapsed && !hasNeighboringContent\n ? isSideNavToggleHighlighted\n ? `translateX(calc(100% - (${odysseyDesignTokens.BorderWidthMain} * 2)))`\n : `translateX(calc(100% - ${SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED}px))`\n : \"translateX(0)\",\n width: hasNeighboringContent\n ? 0\n : `calc(${SIDE_NAV_TOGGLE_ICON_HALF_SIZE + SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED}px + ${odysseyDesignTokens.BorderWidthMain} * 2)`,\n\n // Right-side vertical line when collapsed\n ...((isSideNavCollapsed && isSideNavToggleHighlighted\n ? {\n borderRightColor: odysseyDesignTokens.BorderColorPrimaryControl,\n borderRightStyle:\n odysseyDesignTokens.BorderStyleMain as Property.BorderRightStyle,\n borderRightWidth: `calc(${odysseyDesignTokens.BorderWidthMain} * 2)`,\n }\n : {}) satisfies CSSProperties),\n },\n }),\n);\n\nconst StyledSideNavToggleButtonContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"hasNeighboringContent\" &&\n prop !== \"isSideNavCollapsed\" &&\n prop !== \"isSideNavToggleHighlighted\" &&\n prop !== \"odysseyDesignTokens\",\n})<{\n hasNeighboringContent: boolean;\n isSideNavCollapsed: boolean;\n isSideNavToggleHighlighted: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(\n ({\n hasNeighboringContent,\n isSideNavCollapsed,\n isSideNavToggleHighlighted,\n odysseyDesignTokens,\n }) => ({\n position: \"absolute\",\n right: `${SIDE_NAV_TOGGLE_ICON_HALF_SIZE}px`,\n top: SIDE_NAV_VISIBILITY_TOGGLE_ICON_POSITION,\n transform:\n isSideNavCollapsed && !hasNeighboringContent\n ? isSideNavToggleHighlighted\n ? `translate3d(calc(100% + ${SIDE_NAV_TOGGLE_ICON_HALF_SIZE + SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED}px), 0, 0)`\n : `translate3d(calc(100% + ${SIDE_NAV_TOGGLE_ICON_HALF_SIZE + SIDE_NAV_COLLAPSED_PADDING_UNHIGHLIGHTED}px), 0, 0)`\n : \"translate3d(100%, 0, 0)\",\n transition: `transform ${odysseyDesignTokens.TransitionDurationMain}`,\n zIndex: UI_SHELL_OVERLAY_Z_INDEX + 1,\n }),\n);\n\nconst StyledSideNavHeaderContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"borderColor\" &&\n prop !== \"hasContentScrolled\" &&\n prop !== \"odysseyDesignTokens\",\n})<{\n borderColor: ContrastColors[\"fontColor\"];\n hasContentScrolled: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ borderColor, hasContentScrolled, odysseyDesignTokens }) => ({\n flexShrink: 0,\n // The bottom border should appear only if the scrollable region has been scrolled\n ...(hasContentScrolled &&\n ({\n borderBottomWidth: odysseyDesignTokens.BorderWidthMain,\n borderBottomStyle: odysseyDesignTokens.BorderStyleMain,\n borderBottomColor: odysseyDesignTokens.HueNeutral100,\n\n ...(borderColor &&\n ({\n borderBottomColor: borderColor.concat(\"15\"),\n } satisfies CSSProperties)),\n } as CSSProperties)),\n}));\n\nconst StyledSideNavListContainer = styled(\"ul\")(() => ({\n padding: 0,\n listStyle: \"none\",\n listStyleType: \"none\",\n margin: 0,\n width: \"100%\",\n}));\n\nconst StyledSideNavScrollableContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"inline-grid\",\n gridTemplateRows: \"1fr max-content\",\n overflowY: \"auto\",\n paddingInline: odysseyDesignTokens.Spacing2,\n}));\n\nconst StyledSectionHeaderContainer = styled(\"li\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"contrastFontColor\",\n})(\n ({\n contrastFontColor,\n odysseyDesignTokens,\n }: {\n contrastFontColor: ContrastColors[\"fontColor\"];\n odysseyDesignTokens: DesignTokens;\n }) => ({\n color: contrastFontColor || odysseyDesignTokens.HueNeutral600,\n marginBlock: `${odysseyDesignTokens.Spacing3}`,\n paddingBlock: odysseyDesignTokens.Spacing1,\n paddingInline: odysseyDesignTokens.Spacing4,\n }),\n);\n\nconst StyledSideNavFooter = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"sideNavBackgroundColor\",\n})(\n ({\n odysseyDesignTokens,\n sideNavBackgroundColor,\n }: {\n odysseyDesignTokens: DesignTokens;\n sideNavBackgroundColor?: UiShellColors[\"sideNavBackgroundColor\"];\n }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutralWhite,\n flexShrink: 0,\n padding: odysseyDesignTokens.Spacing4,\n\n ...(sideNavBackgroundColor &&\n ({\n backgroundColor: sideNavBackgroundColor,\n } satisfies CSSProperties)),\n }),\n);\n\nconst StyledPersistentSideNavFooter = styled(StyledSideNavFooter, {\n shouldForwardProp: (prop) =>\n prop !== \"isContentScrollable\" &&\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"sideNavBackgroundColor\",\n})(\n ({\n isContentScrollable,\n odysseyDesignTokens,\n sideNavBackgroundColor,\n }: {\n isContentScrollable: boolean;\n odysseyDesignTokens: DesignTokens;\n sideNavBackgroundColor?: UiShellColors[\"sideNavBackgroundColor\"];\n }) => ({\n transitionProperty: \"box-shadow\",\n transitionDuration: odysseyDesignTokens.TransitionDurationMain,\n transitionTiming: odysseyDesignTokens.TransitionTimingMain,\n zIndex: UI_SHELL_BASE_Z_INDEX,\n\n // The box shadow should appear above the footer only if the scrollable region has overflow\n ...(isContentScrollable &&\n ({\n boxShadow: \"0px -8px 8px -8px rgba(39, 39, 39, 0.08)\",\n } satisfies CSSProperties)),\n\n ...(sideNavBackgroundColor &&\n ({\n backgroundColor: sideNavBackgroundColor,\n } satisfies CSSProperties)),\n }),\n);\n\nconst StyledSideNavFooterItemsContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"sideNavContrastColors\",\n})<{\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n}>(({ odysseyDesignTokens, sideNavContrastColors }) => ({\n display: \"flex\",\n flexWrap: \"wrap\",\n alignItems: \"center\",\n fontSize: odysseyDesignTokens.TypographySizeOverline,\n\n \"a, span\": {\n color: odysseyDesignTokens.HueNeutral600,\n transition: `color ${odysseyDesignTokens.TransitionDurationMain}`,\n\n \"&:visited\": {\n color: odysseyDesignTokens.HueNeutral600,\n\n ...(sideNavContrastColors?.fontColor &&\n ({\n color: sideNavContrastColors?.fontColor,\n } satisfies CSSProperties)),\n },\n\n \"&:hover\": {\n textDecoration: \"none\",\n color: odysseyDesignTokens.HueNeutral900,\n\n ...(sideNavContrastColors?.fontColor &&\n ({\n color: sideNavContrastColors?.fontColor,\n } satisfies CSSProperties)),\n },\n\n ...(sideNavContrastColors?.fontColor &&\n ({\n color: sideNavContrastColors?.fontColor,\n } satisfies CSSProperties)),\n },\n}));\n\nconst StyledLoadingItemContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n alignItems: \"center\",\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing2,\n paddingBlock: odysseyDesignTokens.Spacing2,\n paddingInline: odysseyDesignTokens.Spacing4,\n}));\n\nconst getHasScrollableContent = (scrollableContainer: HTMLElement) =>\n scrollableContainer.scrollHeight > scrollableContainer.clientHeight;\n\nconst LoadingItem = () => {\n const odysseyDesignTokens: DesignTokens = useOdysseyDesignTokens();\n return (\n <StyledLoadingItemContainer odysseyDesignTokens={odysseyDesignTokens}>\n <Skeleton\n variant=\"circular\"\n width={odysseyDesignTokens.Spacing4}\n height={odysseyDesignTokens.Spacing4}\n />\n <Skeleton variant=\"rounded\" width=\"100%\" />\n </StyledLoadingItemContainer>\n );\n};\n\nconst SideNav = ({\n appName,\n footerComponent,\n footerItems,\n hasCustomFooter,\n isCollapsible,\n isCollapsed = false,\n isCompact,\n isLoading,\n isObtrusive,\n logoProps,\n onCollapse,\n onExpand,\n onSort,\n sideNavItems,\n}: SideNavProps) => {\n const [hasContentScrolled, setHasContentScrolled] = useState(false);\n const [hasNeighboringContent, setHasNeighboringContent] = useState(false);\n const [isContentScrollable, setIsContentScrollable] = useState(false);\n const [isSideNavToggleHighlighted, setIsSideNavToggleHighlighted] =\n useState(false);\n const [sideNavItemsList, updateSideNavItemsList] = useState(sideNavItems);\n\n const {\n sessionState: isSideNavCollapsed,\n setSessionState: setIsSideNavCollapsed,\n } = useIsSideNavCollapsedSessionStorage(isCollapsed);\n\n const uiShellContext = useUiShellContext();\n const odysseyDesignTokens: DesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const scrollableContentRef = useRef<HTMLUListElement>(null);\n const resizeObserverRef = useRef<ResizeObserver | null>(null);\n const intersectionObserverRef = useRef<IntersectionObserver | null>(null);\n const sideNavRef = useRef<HTMLDivElement>(null);\n\n const blankElement = useMemo(() => <div />, []);\n\n // The default value (sideNavItems) passed to useState is ONLY used by the useState hook for\n // the very first value. Subsequent updates to the prop (sideNavItems) need to cause the state\n // to update!\n useEffect(() => updateSideNavItemsList(sideNavItems), [sideNavItems]);\n\n // update sidenav collapse status\n useEffect(() => {\n if (sideNavRef.current) {\n setHasNeighboringContent(\n sideNavRef.current.getBoundingClientRect().x > 0,\n );\n }\n // We want this listening to `isCollapsed`.\n }, [isCollapsed]);\n\n // In the case that you can't control the side nav, then it should use whatever state was passed (app control) rather than what's stored in session storage (user control).\n const onMount = useCallback(() => {\n if (!isCollapsible) {\n setIsSideNavCollapsed(isCollapsed);\n }\n }, [isCollapsed, isCollapsible, setIsSideNavCollapsed]);\n\n const onUpdate = useCallback(() => {\n setIsSideNavCollapsed(isCollapsed);\n }, [isCollapsed, setIsSideNavCollapsed]);\n\n useMountLifecycleEffect({\n onMount,\n onUpdate,\n });\n\n useEffect(() => {\n // This is called directly in this effect AND perhaps as a result of the ResizeObserver\n const updateIsContentScrollable = () => {\n if (\n scrollableContentRef.current &&\n scrollableContentRef.current.parentElement\n ) {\n setIsContentScrollable(\n getHasScrollableContent(scrollableContentRef.current.parentElement),\n );\n }\n };\n\n // If the window is resized, we may need to re-determine if the scrollable container has overflow\n // Setup a ResizeObserver to know if the size of the scrollableContent changes\n let resizeObserverDebounceTimer: ReturnType<typeof requestAnimationFrame>;\n if (!resizeObserverRef.current) {\n resizeObserverRef.current = new ResizeObserver(() => {\n cancelAnimationFrame(resizeObserverDebounceTimer);\n resizeObserverDebounceTimer = requestAnimationFrame(\n updateIsContentScrollable,\n );\n });\n }\n\n if (resizeObserverRef.current && scrollableContentRef.current) {\n // Observe the <ul> itself (in case it changes size due to the content expanding)\n resizeObserverRef.current.observe(scrollableContentRef.current);\n if (scrollableContentRef.current.parentElement) {\n // ALSO observe the parent (<SideNavScrollableContainer>) in case the window resizes\n resizeObserverRef.current.observe(\n scrollableContentRef.current.parentElement,\n );\n }\n }\n\n // Determine if the scrollable container has overflow or not on load\n updateIsContentScrollable();\n\n // Finally, we only want to have the border on the bottom of the header iff the user has scrolled\n // the scrollable container\n if (!intersectionObserverRef.current && scrollableContentRef.current) {\n intersectionObserverRef.current = new IntersectionObserver(\n (entries) => {\n // If isIntersecting is true, then we're at the top of the scroll container\n // If isIntersecting is false, some scrolling has occurred.\n // The entries must be sorted by time and we only really need to look at the latest one\n const isIntersecting = entries\n .slice()\n .sort((a, b) => a.time - b.time)\n .at(0)?.isIntersecting;\n setHasContentScrolled(!isIntersecting);\n },\n {\n root: scrollableContentRef.current.parentElement,\n threshold: 1.0,\n },\n );\n }\n\n if (intersectionObserverRef.current && scrollableContentRef.current) {\n const ulElement = scrollableContentRef.current;\n const [liElement] = Array.from(ulElement?.children || []);\n\n if (liElement) {\n intersectionObserverRef.current.observe(liElement);\n }\n }\n\n // Cleanup when unmounted:\n return () => {\n if (resizeObserverRef.current) {\n resizeObserverRef.current.disconnect();\n resizeObserverRef.current = null;\n }\n if (intersectionObserverRef.current) {\n intersectionObserverRef.current.disconnect();\n intersectionObserverRef.current = null;\n }\n cancelAnimationFrame(resizeObserverDebounceTimer); // Ensure timer is cleared on component unmount\n };\n }, [sideNavItemsList]);\n\n const scrollIntoViewRef = useRef<HTMLLIElement>(null);\n /**\n * Look through the sideNavItems and determine which is the first node\n * with isSelected. This should be the node we set a ref on in order to\n * call scrollIntoView in the effect\n */\n const firstSideNavItemIdWithIsSelected = useMemo(() => {\n const flattenedItems = sideNavItemsList.flatMap((sideNavItem) =>\n sideNavItem.nestedNavItems\n ? [sideNavItem, ...sideNavItem.nestedNavItems]\n : sideNavItem,\n );\n const firstItemWithIsSelected = flattenedItems.find(\n (sideNavItem) => sideNavItem.isSelected,\n );\n return firstItemWithIsSelected?.id;\n }, [sideNavItemsList]);\n /**\n * Once we've rendered and if we have an item to scroll to, do the scroll action.\n * This must rely on checking firstSideNavItemIdWithIsSelected or it will not run\n * once the actual ref is populated.\n */\n useEffect(() => {\n if (firstSideNavItemIdWithIsSelected && scrollIntoViewRef.current) {\n scrollIntoViewRef.current.scrollIntoView();\n }\n }, [firstSideNavItemIdWithIsSelected]);\n\n /**\n * We only want to put a ref on a node iff it is the first selected node.\n * This function returns the ref only if the ID provided matches the first\n * selected node, otherwise returns undefined (so that the node has no ref)\n */\n const getRefIfThisIsFirstNodeWithIsSelected = useCallback(\n (itemId: string) =>\n itemId === firstSideNavItemIdWithIsSelected\n ? scrollIntoViewRef\n : undefined,\n [firstSideNavItemIdWithIsSelected],\n );\n\n const sideNavItemContentProviderValue = useMemo(\n () => ({ isCompact, depth: 1 }),\n [isCompact],\n );\n\n const setSelectedItem = useCallback(\n (selectedItemId: string) => {\n const updatedSideNavItems = sideNavItemsList.map((item) => {\n if (item.id === selectedItemId) {\n item.isSelected = true;\n } else if (item.isSelected) {\n delete item.isSelected;\n }\n\n return item.nestedNavItems\n ? {\n ...item,\n nestedNavItems: item.nestedNavItems.map((childItem) => {\n if (childItem.id === selectedItemId) {\n childItem.isSelected = true;\n } else if (childItem.isSelected) {\n delete childItem.isSelected;\n }\n return childItem;\n }),\n }\n : item;\n });\n updateSideNavItemsList(updatedSideNavItems);\n\n if (isCollapsed || isObtrusive) {\n if (isCollapsible) {\n uiShellContext?.closeSideNavMenu();\n } else {\n onCollapse?.();\n }\n }\n },\n [\n isCollapsed,\n isCollapsible,\n isObtrusive,\n onCollapse,\n sideNavItemsList,\n uiShellContext,\n ],\n );\n\n const processedSideNavItems = useMemo(() => {\n return sideNavItemsList?.map((item) => ({\n ...item,\n childNavItems: item.nestedNavItems?.map((childProps) => ({\n id: childProps.id,\n isSelected: childProps.isSelected,\n isDisabled: childProps.isDisabled,\n isSortable: childProps.isSortable,\n navItem: (\n <SideNavItemContentContext.Provider\n key={childProps.id}\n value={{\n ...sideNavItemContentProviderValue,\n depth: 2,\n isSortable: item.isSortable,\n }}\n >\n <SideNavItemContent\n {...childProps}\n onItemSelected={setSelectedItem}\n scrollRef={getRefIfThisIsFirstNodeWithIsSelected(childProps.id)}\n translate={childProps.translate}\n />\n </SideNavItemContentContext.Provider>\n ),\n })),\n }));\n }, [\n getRefIfThisIsFirstNodeWithIsSelected,\n setSelectedItem,\n sideNavItemContentProviderValue,\n sideNavItemsList,\n ]);\n\n const sideNavExpandClickHandler = useCallback(() => {\n setIsSideNavCollapsed((isSideNavCollapsed) => {\n if (isSideNavCollapsed) {\n onExpand?.();\n } else {\n onCollapse?.();\n }\n\n return !isSideNavCollapsed;\n });\n }, [onCollapse, onExpand, setIsSideNavCollapsed]);\n\n const sideNavExpandKeyHandler = useCallback<\n KeyboardEventHandler<HTMLButtonElement>\n >(\n (event) => {\n if (event?.key === \"Enter\" || event?.code === \"Space\") {\n event.preventDefault();\n sideNavExpandClickHandler();\n }\n },\n [sideNavExpandClickHandler],\n );\n\n useEffect(() => {\n const unsubscribe = uiShellContext?.subscribeToCloseSideNavMenu(() => {\n onCollapse?.();\n setIsSideNavCollapsed(true);\n });\n\n return () => {\n unsubscribe?.();\n };\n }, [onCollapse, setIsSideNavCollapsed, uiShellContext]);\n\n const setSortedItems = useCallback(\n (\n parentId: string,\n activeId: UniqueIdentifier,\n activeIndex: number,\n overIndex: number,\n ) => {\n const sortedSideNavItems = sideNavItemsList.map((item) =>\n item.id === parentId && item.nestedNavItems\n ? {\n ...item,\n nestedNavItems: arrayMove(\n item.nestedNavItems,\n activeIndex,\n overIndex,\n ),\n }\n : item,\n );\n updateSideNavItemsList(sortedSideNavItems);\n onSort?.(sortedSideNavItems, parentId, activeId, activeIndex, overIndex);\n },\n [onSort, sideNavItemsList],\n );\n\n const onSideNavToggleButtonHighlight = useCallback<\n NonNullable<SideNavToggleButtonProps[\"onHighlight\"]>\n >((isHighlighted) => {\n setIsSideNavToggleHighlighted(isHighlighted);\n }, []);\n\n return (\n <StyledSideNavContainer\n aria-label={t(\"navigation.label\")}\n backgroundColor={uiShellContext?.sideNavBackgroundColor}\n hasNeighboringContent={hasNeighboringContent}\n id=\"side-nav-expandable\"\n isAppContentWhiteBackground={\n uiShellContext?.appBackgroundColor ===\n odysseyDesignTokens.HueNeutralWhite\n }\n isSideNavCollapsed={isSideNavCollapsed}\n isSideNavToggleHighlighted={isSideNavToggleHighlighted}\n odysseyDesignTokens={odysseyDesignTokens}\n ref={sideNavRef}\n >\n {isCollapsible && (\n <StyledSideNavToggleButtonContainer\n hasNeighboringContent={hasNeighboringContent}\n isSideNavCollapsed={isSideNavCollapsed}\n isSideNavToggleHighlighted={isSideNavToggleHighlighted}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <SideNavToggleButton\n clickAreaPadding={\n isSideNavCollapsed && !hasNeighboringContent\n ? SIDE_NAV_TOGGLE_ICON_SIZE / 2\n : 0\n }\n ariaControls=\"side-nav-expandable\"\n isSideNavCollapsed={isSideNavCollapsed}\n onClick={sideNavExpandClickHandler}\n onHighlight={onSideNavToggleButtonHighlight}\n onKeyDown={sideNavExpandKeyHandler}\n />\n </StyledSideNavToggleButtonContainer>\n )}\n\n <OdysseyThemeProvider>\n <StyledCollapsibleContent\n data-se=\"collapsible-region\"\n isSideNavCollapsed={isSideNavCollapsed}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <StyledOpacityTransitionContainer\n isSideNavCollapsed={isSideNavCollapsed}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {appName || isLoading || logoProps ? (\n <StyledSideNavHeaderContainer\n hasContentScrolled={hasContentScrolled}\n odysseyDesignTokens={odysseyDesignTokens}\n borderColor={uiShellContext?.sideNavContrastColors?.fontColor}\n >\n {isLoading && !appName && !logoProps ? (\n <SideNavHeader isLoading={isLoading} />\n ) : (\n <SideNavHeader\n appName={appName}\n isLoading={isLoading}\n logoProps={logoProps}\n />\n )}\n </StyledSideNavHeaderContainer>\n ) : (\n <div />\n )}\n\n <StyledSideNavScrollableContainer\n odysseyDesignTokens={odysseyDesignTokens}\n data-se=\"scrollable-region\"\n >\n <StyledSideNavListContainer\n role=\"none\"\n ref={scrollableContentRef}\n >\n {isLoading\n ? Array(6)\n .fill(null)\n .map((_, index) => <LoadingItem key={index} />)\n : processedSideNavItems?.map((item) => {\n const {\n childNavItems,\n href,\n id,\n isDefaultExpanded,\n isDisabled,\n isExpanded,\n isSectionHeader,\n isSortable,\n label,\n startIcon,\n } = item;\n\n if (isSectionHeader) {\n return (\n <ErrorBoundary fallback={blankElement} key={id}>\n <StyledSectionHeaderContainer\n contrastFontColor={\n uiShellContext?.sideNavContrastColors?.fontColor\n }\n id={id}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <Overline component=\"h3\">{label}</Overline>\n </StyledSectionHeaderContainer>\n </ErrorBoundary>\n );\n } else if (childNavItems) {\n const nestedChildren = (\n <StyledSideNavListContainer role=\"presentation\">\n {isSortable ? (\n <SortableList\n parentId={item.id}\n items={childNavItems}\n onChange={setSortedItems}\n renderItem={(sortableItem) => (\n <SortableList.Item\n id={sortableItem.id}\n isDisabled={sortableItem.isDisabled}\n isSelected={sortableItem.isSelected}\n isSortable={sortableItem.isSortable}\n >\n {sortableItem.navItem}\n </SortableList.Item>\n )}\n />\n ) : (\n childNavItems.map((item) => item.navItem)\n )}\n </StyledSideNavListContainer>\n );\n\n return href ? (\n <ErrorBoundary fallback={blankElement} key={id}>\n <SideNavItemContent\n {...item}\n href={href}\n onItemSelected={setSelectedItem}\n scrollRef={getRefIfThisIsFirstNodeWithIsSelected(\n item.id,\n )}\n startIcon={item.startIcon}\n />\n\n <StyledSideNavListItem\n id={`${id}-items`}\n odysseyDesignTokens={odysseyDesignTokens}\n disabled={isDisabled}\n aria-disabled={isDisabled}\n >\n {nestedChildren}\n </StyledSideNavListItem>\n </ErrorBoundary>\n ) : (\n <ErrorBoundary fallback={blankElement} key={id}>\n <StyledSideNavListItem\n id={id}\n odysseyDesignTokens={odysseyDesignTokens}\n disabled={isDisabled}\n aria-disabled={isDisabled}\n >\n <NavAccordion\n label={label}\n isCompact={isCompact}\n isDefaultExpanded={isDefaultExpanded}\n isExpanded={isExpanded}\n startIcon={startIcon}\n isDisabled={isDisabled}\n >\n {nestedChildren}\n </NavAccordion>\n </StyledSideNavListItem>\n </ErrorBoundary>\n );\n } else {\n return (\n <ErrorBoundary fallback={blankElement} key={item.id}>\n <SideNavItemContentContext.Provider\n value={sideNavItemContentProviderValue}\n >\n <SideNavItemContent\n {...item}\n onItemSelected={setSelectedItem}\n scrollRef={getRefIfThisIsFirstNodeWithIsSelected(\n item.id,\n )}\n startIcon={item.startIcon}\n />\n </SideNavItemContentContext.Provider>\n </ErrorBoundary>\n );\n }\n })}\n </StyledSideNavListContainer>\n {!isLoading && footerItems && !hasCustomFooter && (\n <StyledSideNavFooter\n odysseyDesignTokens={odysseyDesignTokens}\n sideNavBackgroundColor={\n uiShellContext?.sideNavBackgroundColor\n }\n >\n <StyledSideNavFooterItemsContainer\n odysseyDesignTokens={odysseyDesignTokens}\n sideNavContrastColors={\n uiShellContext?.sideNavContrastColors\n }\n >\n <SideNavFooterContent footerItems={footerItems} />\n </StyledSideNavFooterItemsContainer>\n </StyledSideNavFooter>\n )}\n </StyledSideNavScrollableContainer>\n {!isLoading && !footerItems && hasCustomFooter && (\n <StyledPersistentSideNavFooter\n isContentScrollable={isContentScrollable}\n odysseyDesignTokens={odysseyDesignTokens}\n sideNavBackgroundColor={uiShellContext?.sideNavBackgroundColor}\n >\n {footerComponent}\n </StyledPersistentSideNavFooter>\n )}\n </StyledOpacityTransitionContainer>\n </StyledCollapsibleContent>\n </OdysseyThemeProvider>\n </StyledSideNavContainer>\n );\n};\n\nconst MemoizedSideNav = memo(SideNav);\nMemoizedSideNav.displayName = \"SideNav\";\n\nexport { MemoizedSideNav as SideNav };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -38,7 +38,6 @@ const StyledAppContainer = (0, _styled.default)("div", {
|
|
|
38
38
|
}) => ({
|
|
39
39
|
backgroundColor: appBackgroundColor,
|
|
40
40
|
gridArea: "app-content",
|
|
41
|
-
pointerEvents: "none",
|
|
42
41
|
position: "relative"
|
|
43
42
|
}));
|
|
44
43
|
const StyledAppSwitcherContainer = (0, _styled.default)("div")({
|