@okta/odyssey-react-mui 1.36.0 → 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.
Files changed (83) hide show
  1. package/README.md +8 -3
  2. package/dist/cjs/Pagination/Pagination.cjs +1 -1
  3. package/dist/cjs/Pagination/Pagination.cjs.map +1 -1
  4. package/dist/cjs/Pagination/usePagination.cjs +3 -1
  5. package/dist/cjs/Pagination/usePagination.cjs.map +1 -1
  6. package/dist/cjs/labs/DataView/TableLayoutContent.cjs +3 -3
  7. package/dist/cjs/labs/DataView/TableLayoutContent.cjs.map +1 -1
  8. package/dist/cjs/labs/PageTemplate/DocumentationLink.cjs +41 -0
  9. package/dist/cjs/labs/PageTemplate/DocumentationLink.cjs.map +1 -0
  10. package/dist/cjs/labs/PageTemplate/PageTemplate.cjs +22 -8
  11. package/dist/cjs/labs/PageTemplate/PageTemplate.cjs.map +1 -1
  12. package/dist/cjs/properties/ts/odyssey-react-mui.cjs +1 -0
  13. package/dist/cjs/properties/ts/odyssey-react-mui.cjs.map +1 -1
  14. package/dist/cjs/ui-shell/InnerAppContainer.cjs +1 -0
  15. package/dist/cjs/ui-shell/InnerAppContainer.cjs.map +1 -1
  16. package/dist/cjs/ui-shell/NarrowUiShellContent.cjs +3 -3
  17. package/dist/cjs/ui-shell/NarrowUiShellContent.cjs.map +1 -1
  18. package/dist/cjs/ui-shell/SideNav/SideNav.cjs +67 -51
  19. package/dist/cjs/ui-shell/SideNav/SideNav.cjs.map +1 -1
  20. package/dist/cjs/ui-shell/SideNav/types.cjs.map +1 -1
  21. package/dist/cjs/ui-shell/WideUiShellContent.cjs +0 -1
  22. package/dist/cjs/ui-shell/WideUiShellContent.cjs.map +1 -1
  23. package/dist/cjs/ui-shell/renderUiShell.cjs +12 -0
  24. package/dist/cjs/ui-shell/renderUiShell.cjs.map +1 -1
  25. package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs +19 -0
  26. package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs.map +1 -0
  27. package/dist/cjs/web-component/renderReactInWebComponent.cjs +53 -19
  28. package/dist/cjs/web-component/renderReactInWebComponent.cjs.map +1 -1
  29. package/dist/esm/Pagination/Pagination.js +1 -1
  30. package/dist/esm/Pagination/Pagination.js.map +1 -1
  31. package/dist/esm/Pagination/usePagination.js +3 -1
  32. package/dist/esm/Pagination/usePagination.js.map +1 -1
  33. package/dist/esm/labs/DataView/TableLayoutContent.js +3 -3
  34. package/dist/esm/labs/DataView/TableLayoutContent.js.map +1 -1
  35. package/dist/esm/labs/PageTemplate/DocumentationLink.js +35 -0
  36. package/dist/esm/labs/PageTemplate/DocumentationLink.js.map +1 -0
  37. package/dist/esm/labs/PageTemplate/PageTemplate.js +22 -8
  38. package/dist/esm/labs/PageTemplate/PageTemplate.js.map +1 -1
  39. package/dist/esm/properties/ts/odyssey-react-mui.js +1 -0
  40. package/dist/esm/properties/ts/odyssey-react-mui.js.map +1 -1
  41. package/dist/esm/ui-shell/InnerAppContainer.js +1 -0
  42. package/dist/esm/ui-shell/InnerAppContainer.js.map +1 -1
  43. package/dist/esm/ui-shell/NarrowUiShellContent.js +3 -3
  44. package/dist/esm/ui-shell/NarrowUiShellContent.js.map +1 -1
  45. package/dist/esm/ui-shell/SideNav/SideNav.js +67 -51
  46. package/dist/esm/ui-shell/SideNav/SideNav.js.map +1 -1
  47. package/dist/esm/ui-shell/SideNav/types.js.map +1 -1
  48. package/dist/esm/ui-shell/WideUiShellContent.js +0 -1
  49. package/dist/esm/ui-shell/WideUiShellContent.js.map +1 -1
  50. package/dist/esm/ui-shell/renderUiShell.js +12 -0
  51. package/dist/esm/ui-shell/renderUiShell.js.map +1 -1
  52. package/dist/esm/web-component/odysseyWebComponentVersion.generated.js +12 -0
  53. package/dist/esm/web-component/odysseyWebComponentVersion.generated.js.map +1 -0
  54. package/dist/esm/web-component/renderReactInWebComponent.js +49 -17
  55. package/dist/esm/web-component/renderReactInWebComponent.js.map +1 -1
  56. package/dist/index.cjs +1 -1
  57. package/dist/index.mjs +1 -1
  58. package/dist/index.scss +1 -1
  59. package/dist/tsconfig.production.tsbuildinfo +1 -1
  60. package/dist/tsconfig.tsbuildinfo +1 -1
  61. package/dist/types/OdysseyTranslationProvider.d.ts +1 -1
  62. package/dist/types/OdysseyTranslationProvider.d.ts.map +1 -1
  63. package/dist/types/Pagination/usePagination.d.ts.map +1 -1
  64. package/dist/types/i18n.d.ts +1 -0
  65. package/dist/types/i18n.d.ts.map +1 -1
  66. package/dist/types/labs/PageTemplate/DocumentationLink.d.ts +34 -0
  67. package/dist/types/labs/PageTemplate/DocumentationLink.d.ts.map +1 -0
  68. package/dist/types/labs/PageTemplate/PageTemplate.d.ts.map +1 -1
  69. package/dist/types/properties/ts/odyssey-react-mui.d.ts +1 -0
  70. package/dist/types/properties/ts/odyssey-react-mui.d.ts.map +1 -1
  71. package/dist/types/ui-shell/InnerAppContainer.d.ts.map +1 -1
  72. package/dist/types/ui-shell/NarrowUiShellContent.d.ts.map +1 -1
  73. package/dist/types/ui-shell/SideNav/SideNav.d.ts.map +1 -1
  74. package/dist/types/ui-shell/SideNav/types.d.ts +13 -4
  75. package/dist/types/ui-shell/SideNav/types.d.ts.map +1 -1
  76. package/dist/types/ui-shell/WideUiShellContent.d.ts.map +1 -1
  77. package/dist/types/ui-shell/renderUiShell.d.ts +20 -5
  78. package/dist/types/ui-shell/renderUiShell.d.ts.map +1 -1
  79. package/dist/types/web-component/odysseyWebComponentVersion.generated.d.ts +19 -0
  80. package/dist/types/web-component/odysseyWebComponentVersion.generated.d.ts.map +1 -0
  81. package/dist/types/web-component/renderReactInWebComponent.d.ts +29 -7
  82. package/dist/types/web-component/renderReactInWebComponent.d.ts.map +1 -1
  83. package/package.json +5 -4
@@ -13,7 +13,7 @@
13
13
  import styled from "@emotion/styled";
14
14
  import { memo } from "react";
15
15
  import { DocumentationIcon } from "../../icons.generated/index.js";
16
- import { Link } from "../../Link.js";
16
+ import { DocumentationLink } from "./DocumentationLink.js";
17
17
  import { useOdysseyDesignTokens } from "../../OdysseyDesignTokensContext.js";
18
18
  import { Heading4, Subordinate } from "../../Typography.js";
19
19
  import { useHasUiShell } from "../../ui-shell/useHasUiShell.js";
@@ -29,12 +29,22 @@ const TemplateContainer = styled("div", {
29
29
  marginInline: isFullWidth && !hasUiShell ? odysseyDesignTokens.Spacing6 : "auto",
30
30
  padding: hasUiShell ? 0 : odysseyDesignTokens.Spacing6
31
31
  }));
32
- const TemplateHeader = styled("div")(() => ({
32
+ const TemplateHeader = styled("div", {
33
+ shouldForwardProp: prop => prop !== "odysseyDesignTokens"
34
+ })(({
35
+ odysseyDesignTokens
36
+ }) => ({
33
37
  display: "flex",
34
- alignItems: "flex-end",
35
- justifyContent: "space-between"
38
+ alignItems: "flex-start",
39
+ justifyContent: "space-between",
40
+ gap: odysseyDesignTokens.Spacing4
36
41
  }));
37
- const TemplateHeaderPrimaryContent = styled("div")(() => ({
42
+ const TemplateHeaderPrimaryContent = styled("div", {
43
+ shouldForwardProp: prop => prop !== "odysseyDesignTokens"
44
+ })(({
45
+ odysseyDesignTokens
46
+ }) => ({
47
+ maxWidth: odysseyDesignTokens.TypographyLineLengthMax,
38
48
  [".MuiTypography-root:last-child"]: {
39
49
  marginBlockEnd: "0"
40
50
  }
@@ -47,9 +57,10 @@ const TemplateHeaderSecondaryContent = styled("div", {
47
57
  alignItems: "flex-end",
48
58
  display: "flex",
49
59
  flexDirection: "column",
50
- gap: odysseyDesignTokens.Spacing2,
60
+ gap: odysseyDesignTokens.Spacing4,
51
61
  minHeight: odysseyDesignTokens.Spacing7,
52
- justifyContent: "center"
62
+ justifyContent: "center",
63
+ whiteSpace: "nowrap"
53
64
  }));
54
65
  const TemplateHeaderButtons = styled("div", {
55
66
  shouldForwardProp: prop => prop !== "odysseyDesignTokens"
@@ -112,7 +123,9 @@ const PageTemplate = ({
112
123
  isFullWidth: isFullWidth,
113
124
  odysseyDesignTokens: odysseyDesignTokens,
114
125
  children: [_jsxs(TemplateHeader, {
126
+ odysseyDesignTokens: odysseyDesignTokens,
115
127
  children: [_jsxs(TemplateHeaderPrimaryContent, {
128
+ odysseyDesignTokens: odysseyDesignTokens,
116
129
  children: [title && _jsx(Heading4, {
117
130
  children: title
118
131
  }), description && _jsx(Subordinate, {
@@ -120,9 +133,10 @@ const PageTemplate = ({
120
133
  })]
121
134
  }), _jsxs(TemplateHeaderSecondaryContent, {
122
135
  odysseyDesignTokens: odysseyDesignTokens,
123
- children: [documentationLink && _jsx(Link, {
136
+ children: [documentationLink && _jsx(DocumentationLink, {
124
137
  href: documentationLink,
125
138
  icon: _jsx(DocumentationIcon, {}),
139
+ target: "_blank",
126
140
  children: documentationText
127
141
  }), (primaryCallToActionComponent || secondaryCallToActionComponent || tertiaryCallToActionComponent) && _jsxs(TemplateHeaderButtons, {
128
142
  odysseyDesignTokens: odysseyDesignTokens,
@@ -1 +1 @@
1
- {"version":3,"file":"PageTemplate.js","names":["styled","memo","DocumentationIcon","Link","useOdysseyDesignTokens","Heading4","Subordinate","useHasUiShell","jsx","_jsx","jsxs","_jsxs","TemplateContainer","shouldForwardProp","prop","hasUiShell","isFullWidth","odysseyDesignTokens","maxWidth","Spacing6","marginInline","padding","TemplateHeader","display","alignItems","justifyContent","TemplateHeaderPrimaryContent","marginBlockEnd","TemplateHeaderSecondaryContent","flexDirection","gap","Spacing2","minHeight","Spacing7","TemplateHeaderButtons","TemplateContent","includes","isDrawerOpen","drawerVariant","gridTemplateColumns","gridGap","Spacing4","marginBlock","animation","PageTemplate","children","description","documentationLink","documentationText","drawer","primaryCallToActionComponent","secondaryCallToActionComponent","tertiaryCallToActionComponent","title","isOpen","variant","props","href","icon","MemoizedPageTemplate","displayName"],"sources":["../../../../src/labs/PageTemplate/PageTemplate.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-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 { memo, ReactElement, ReactNode } from \"react\";\n\nimport { DrawerProps } from \"../../Drawer.js\";\nimport { DocumentationIcon } from \"../../icons.generated/index.js\";\nimport { Link } from \"../../Link.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { Heading4, Subordinate } from \"../../Typography.js\";\nimport { useHasUiShell } from \"../../ui-shell/useHasUiShell.js\";\n\nexport type PageTemplateProps = {\n /**\n * The title of the layout to be situated in the layout header\n */\n title?: string;\n /**\n * A supplementary description to be situated in the layout header\n */\n description?: string;\n /**\n * The destination for a documentation `Link` to be situated in the layout header\n */\n documentationLink?: string;\n /**\n * The text for a documentation `Link` to be situated in the layout header\n */\n documentationText?: string;\n /**\n * An optional `Drawer` object. Can be of variant 'temporary' or 'persistent'.\n */\n drawer?: ReactElement<DrawerProps>;\n /**\n * An optional `Button` object to be situated in the layout header. Should almost always be of variant `primary`.\n */\n primaryCallToActionComponent?: ReactElement;\n /**\n * An optional `Button` object to be situated in the layout header, alongside the `callToActionPrimaryComponent`.\n */\n secondaryCallToActionComponent?: ReactElement;\n /**\n * An optional `Button` object to be situated in the layout header, alongside the other two `callToAction` components.\n */\n tertiaryCallToActionComponent?: ReactElement;\n /**\n * The content of the layout. May be a `string` or any other `ReactNode` or array of `ReactNode`s. Will often be `Grid` objects.\n */\n children?: ReactNode;\n /**\n * When set to `true`, the layout expands past its max width of 1440px and spans the entire available screen width.\n */\n isFullWidth?: boolean;\n};\n\ntype TemplateContentProps = {\n odysseyDesignTokens: DesignTokens;\n isDrawerOpen?: boolean;\n drawerVariant?: string;\n};\n\nconst TemplateContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"hasUiShell\" &&\n prop !== \"isFullWidth\",\n})<{\n hasUiShell: boolean;\n isFullWidth: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ hasUiShell, isFullWidth, odysseyDesignTokens }) => ({\n maxWidth: isFullWidth\n ? \"100%\"\n : `calc(1440px + ${odysseyDesignTokens.Spacing6} + ${odysseyDesignTokens.Spacing6})`,\n marginInline:\n isFullWidth && !hasUiShell ? odysseyDesignTokens.Spacing6 : \"auto\",\n padding: hasUiShell ? 0 : odysseyDesignTokens.Spacing6,\n}));\n\nconst TemplateHeader = styled(\"div\")(() => ({\n display: \"flex\",\n alignItems: \"flex-end\",\n justifyContent: \"space-between\",\n}));\n\nconst TemplateHeaderPrimaryContent = styled(\"div\")(() => ({\n [\".MuiTypography-root:last-child\"]: {\n marginBlockEnd: \"0\",\n },\n}));\n\nconst TemplateHeaderSecondaryContent = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n alignItems: \"flex-end\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: odysseyDesignTokens.Spacing2,\n minHeight: odysseyDesignTokens.Spacing7,\n justifyContent: \"center\",\n}));\n\nconst TemplateHeaderButtons = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst TemplateContent = styled(\"div\", {\n shouldForwardProp: (prop) =>\n ![\"odysseyDesignTokens\", \"isDrawerOpen\", \"drawerVariant\"].includes(prop),\n})<TemplateContentProps>(\n ({ odysseyDesignTokens, isDrawerOpen, drawerVariant }) => ({\n \"@keyframes animate-drawer-open\": {\n \"0%\": {\n gridTemplateColumns: \"minmax(0, 1fr) 0\",\n },\n \"100%\": {\n gridTemplateColumns: \"minmax(0, 1fr) 360px\",\n },\n },\n \"@keyframes animate-drawer-close\": {\n \"0%\": {\n gridTemplateColumns: \"minmax(0, 1fr) 360px\",\n },\n \"100%\": {\n gridTemplateColumns: \"minmax(0, 1fr) 0\",\n },\n },\n display: \"grid\",\n gridGap:\n drawerVariant === \"persistent\" && !isDrawerOpen\n ? 0\n : odysseyDesignTokens.Spacing4,\n gap:\n drawerVariant === \"persistent\" && !isDrawerOpen\n ? 0\n : odysseyDesignTokens.Spacing4,\n marginBlock: odysseyDesignTokens.Spacing4,\n gridTemplateColumns:\n drawerVariant === \"persistent\"\n ? isDrawerOpen\n ? \"minmax(0, 1fr) 360px\"\n : \"minmax(0, 1fr) 0\"\n : \"minmax(0, 1fr)\",\n animation:\n drawerVariant === \"persistent\" && isDrawerOpen\n ? \"animate-drawer-open 225ms cubic-bezier(0, 0, 0.2, 1)\"\n : \"animate-drawer-close 225ms cubic-bezier(0, 0, 0.2, 1)\",\n }),\n);\n\nconst PageTemplate = ({\n children,\n description,\n documentationLink,\n documentationText,\n drawer,\n isFullWidth = false,\n primaryCallToActionComponent,\n secondaryCallToActionComponent,\n tertiaryCallToActionComponent,\n title,\n}: PageTemplateProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { isOpen: isDrawerOpen, variant: drawerVariant } = drawer?.props ?? {};\n\n const hasUiShell = useHasUiShell();\n\n return (\n <TemplateContainer\n hasUiShell={hasUiShell}\n isFullWidth={isFullWidth}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <TemplateHeader>\n <TemplateHeaderPrimaryContent>\n {title && <Heading4>{title}</Heading4>}\n {description && <Subordinate>{description}</Subordinate>}\n </TemplateHeaderPrimaryContent>\n\n <TemplateHeaderSecondaryContent\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {documentationLink && (\n <Link href={documentationLink} icon={<DocumentationIcon />}>\n {documentationText}\n </Link>\n )}\n {(primaryCallToActionComponent ||\n secondaryCallToActionComponent ||\n tertiaryCallToActionComponent) && (\n <TemplateHeaderButtons odysseyDesignTokens={odysseyDesignTokens}>\n {tertiaryCallToActionComponent}\n {secondaryCallToActionComponent}\n {primaryCallToActionComponent}\n </TemplateHeaderButtons>\n )}\n </TemplateHeaderSecondaryContent>\n </TemplateHeader>\n <TemplateContent\n odysseyDesignTokens={odysseyDesignTokens}\n isDrawerOpen={isDrawerOpen}\n drawerVariant={drawerVariant}\n >\n {children}\n {drawer}\n </TemplateContent>\n </TemplateContainer>\n );\n};\n\nconst MemoizedPageTemplate = memo(PageTemplate);\nMemoizedPageTemplate.displayName = \"PageTemplate\";\n\nexport { MemoizedPageTemplate as PageTemplate };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PageTemplate.js","names":["styled","memo","DocumentationIcon","DocumentationLink","useOdysseyDesignTokens","Heading4","Subordinate","useHasUiShell","jsx","_jsx","jsxs","_jsxs","TemplateContainer","shouldForwardProp","prop","hasUiShell","isFullWidth","odysseyDesignTokens","maxWidth","Spacing6","marginInline","padding","TemplateHeader","display","alignItems","justifyContent","gap","Spacing4","TemplateHeaderPrimaryContent","TypographyLineLengthMax","marginBlockEnd","TemplateHeaderSecondaryContent","flexDirection","minHeight","Spacing7","whiteSpace","TemplateHeaderButtons","Spacing2","TemplateContent","includes","isDrawerOpen","drawerVariant","gridTemplateColumns","gridGap","marginBlock","animation","PageTemplate","children","description","documentationLink","documentationText","drawer","primaryCallToActionComponent","secondaryCallToActionComponent","tertiaryCallToActionComponent","title","isOpen","variant","props","href","icon","target","MemoizedPageTemplate","displayName"],"sources":["../../../../src/labs/PageTemplate/PageTemplate.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-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 { memo, ReactElement, ReactNode } from \"react\";\n\nimport { DrawerProps } from \"../../Drawer.js\";\nimport { DocumentationIcon } from \"../../icons.generated/index.js\";\nimport { DocumentationLink } from \"./DocumentationLink.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { Heading4, Subordinate } from \"../../Typography.js\";\nimport { useHasUiShell } from \"../../ui-shell/useHasUiShell.js\";\n\nexport type PageTemplateProps = {\n /**\n * The title of the layout to be situated in the layout header\n */\n title?: string;\n /**\n * A supplementary description to be situated in the layout header\n */\n description?: string;\n /**\n * The destination for a documentation `Link` to be situated in the layout header\n */\n documentationLink?: string;\n /**\n * The text for a documentation `Link` to be situated in the layout header\n */\n documentationText?: string;\n /**\n * An optional `Drawer` object. Can be of variant 'temporary' or 'persistent'.\n */\n drawer?: ReactElement<DrawerProps>;\n /**\n * An optional `Button` object to be situated in the layout header. Should almost always be of variant `primary`.\n */\n primaryCallToActionComponent?: ReactElement;\n /**\n * An optional `Button` object to be situated in the layout header, alongside the `callToActionPrimaryComponent`.\n */\n secondaryCallToActionComponent?: ReactElement;\n /**\n * An optional `Button` object to be situated in the layout header, alongside the other two `callToAction` components.\n */\n tertiaryCallToActionComponent?: ReactElement;\n /**\n * The content of the layout. May be a `string` or any other `ReactNode` or array of `ReactNode`s. Will often be `Grid` objects.\n */\n children?: ReactNode;\n /**\n * When set to `true`, the layout expands past its max width of 1440px and spans the entire available screen width.\n */\n isFullWidth?: boolean;\n};\n\ntype TemplateContentProps = {\n odysseyDesignTokens: DesignTokens;\n isDrawerOpen?: boolean;\n drawerVariant?: string;\n};\n\nconst TemplateContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"hasUiShell\" &&\n prop !== \"isFullWidth\",\n})<{\n hasUiShell: boolean;\n isFullWidth: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ hasUiShell, isFullWidth, odysseyDesignTokens }) => ({\n maxWidth: isFullWidth\n ? \"100%\"\n : `calc(1440px + ${odysseyDesignTokens.Spacing6} + ${odysseyDesignTokens.Spacing6})`,\n marginInline:\n isFullWidth && !hasUiShell ? odysseyDesignTokens.Spacing6 : \"auto\",\n padding: hasUiShell ? 0 : odysseyDesignTokens.Spacing6,\n}));\n\nconst TemplateHeader = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"flex-start\",\n justifyContent: \"space-between\",\n gap: odysseyDesignTokens.Spacing4,\n}));\n\nconst TemplateHeaderPrimaryContent = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n maxWidth: odysseyDesignTokens.TypographyLineLengthMax,\n [\".MuiTypography-root:last-child\"]: {\n marginBlockEnd: \"0\",\n },\n}));\n\nconst TemplateHeaderSecondaryContent = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n alignItems: \"flex-end\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: odysseyDesignTokens.Spacing4,\n minHeight: odysseyDesignTokens.Spacing7,\n justifyContent: \"center\",\n whiteSpace: \"nowrap\",\n}));\n\nconst TemplateHeaderButtons = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst TemplateContent = styled(\"div\", {\n shouldForwardProp: (prop) =>\n ![\"odysseyDesignTokens\", \"isDrawerOpen\", \"drawerVariant\"].includes(prop),\n})<TemplateContentProps>(\n ({ odysseyDesignTokens, isDrawerOpen, drawerVariant }) => ({\n \"@keyframes animate-drawer-open\": {\n \"0%\": {\n gridTemplateColumns: \"minmax(0, 1fr) 0\",\n },\n \"100%\": {\n gridTemplateColumns: \"minmax(0, 1fr) 360px\",\n },\n },\n \"@keyframes animate-drawer-close\": {\n \"0%\": {\n gridTemplateColumns: \"minmax(0, 1fr) 360px\",\n },\n \"100%\": {\n gridTemplateColumns: \"minmax(0, 1fr) 0\",\n },\n },\n display: \"grid\",\n gridGap:\n drawerVariant === \"persistent\" && !isDrawerOpen\n ? 0\n : odysseyDesignTokens.Spacing4,\n gap:\n drawerVariant === \"persistent\" && !isDrawerOpen\n ? 0\n : odysseyDesignTokens.Spacing4,\n marginBlock: odysseyDesignTokens.Spacing4,\n gridTemplateColumns:\n drawerVariant === \"persistent\"\n ? isDrawerOpen\n ? \"minmax(0, 1fr) 360px\"\n : \"minmax(0, 1fr) 0\"\n : \"minmax(0, 1fr)\",\n animation:\n drawerVariant === \"persistent\" && isDrawerOpen\n ? \"animate-drawer-open 225ms cubic-bezier(0, 0, 0.2, 1)\"\n : \"animate-drawer-close 225ms cubic-bezier(0, 0, 0.2, 1)\",\n }),\n);\n\nconst PageTemplate = ({\n children,\n description,\n documentationLink,\n documentationText,\n drawer,\n isFullWidth = false,\n primaryCallToActionComponent,\n secondaryCallToActionComponent,\n tertiaryCallToActionComponent,\n title,\n}: PageTemplateProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { isOpen: isDrawerOpen, variant: drawerVariant } = drawer?.props ?? {};\n\n const hasUiShell = useHasUiShell();\n\n return (\n <TemplateContainer\n hasUiShell={hasUiShell}\n isFullWidth={isFullWidth}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <TemplateHeader odysseyDesignTokens={odysseyDesignTokens}>\n <TemplateHeaderPrimaryContent odysseyDesignTokens={odysseyDesignTokens}>\n {title && <Heading4>{title}</Heading4>}\n {description && <Subordinate>{description}</Subordinate>}\n </TemplateHeaderPrimaryContent>\n\n <TemplateHeaderSecondaryContent\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {documentationLink && (\n <DocumentationLink\n href={documentationLink}\n icon={<DocumentationIcon />}\n target=\"_blank\"\n >\n {documentationText}\n </DocumentationLink>\n )}\n {(primaryCallToActionComponent ||\n secondaryCallToActionComponent ||\n tertiaryCallToActionComponent) && (\n <TemplateHeaderButtons odysseyDesignTokens={odysseyDesignTokens}>\n {tertiaryCallToActionComponent}\n {secondaryCallToActionComponent}\n {primaryCallToActionComponent}\n </TemplateHeaderButtons>\n )}\n </TemplateHeaderSecondaryContent>\n </TemplateHeader>\n <TemplateContent\n odysseyDesignTokens={odysseyDesignTokens}\n isDrawerOpen={isDrawerOpen}\n drawerVariant={drawerVariant}\n >\n {children}\n {drawer}\n </TemplateContent>\n </TemplateContainer>\n );\n};\n\nconst MemoizedPageTemplate = memo(PageTemplate);\nMemoizedPageTemplate.displayName = \"PageTemplate\";\n\nexport { MemoizedPageTemplate as PageTemplate };\n"],"mappings":"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","ignoreList":[]}
@@ -114,6 +114,7 @@ export const translation = {
114
114
  "pagination.rowsperpage": "Rows per page",
115
115
  "pagination.rowswithtotal": "{{firstRow}}-{{lastRow}} of {{totalRows}} rows",
116
116
  "pagination.rowswithouttotal": "{{firstRow}}-{{lastRow}} rows",
117
+ "pagination.totalrows": "{{totalRows}} rows",
117
118
  "table.actions.selectall": "Select all",
118
119
  "table.actions.selectnone": "Select none",
119
120
  "table.actions.selectsome": "{{selectedRowCount}} selected",
@@ -1 +1 @@
1
- {"version":3,"file":"odyssey-react-mui.js","names":["translation"],"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.js","names":["translation"],"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":[]}
@@ -16,6 +16,7 @@ import { UI_SHELL_BASE_Z_INDEX } from "./uiShellSharedConstants.js";
16
16
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
17
17
  const StyledAppContainerShadowShared = styled("div")({
18
18
  left: 0,
19
+ pointerEvents: "none",
19
20
  position: "absolute",
20
21
  top: 0,
21
22
  width: "100%",
@@ -1 +1 @@
1
- {"version":3,"file":"InnerAppContainer.js","names":["styled","memo","UI_SHELL_BASE_Z_INDEX","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","StyledAppContainerShadowShared","left","position","top","width","zIndex","StyledAppContainerShadow1","background","height","StyledAppContainerShadow2","StyledAppContainerShadow3","InnerAppContainer","isContentScrolled","children","MemoizedInnerAppContainer","displayName"],"sources":["../../../src/ui-shell/InnerAppContainer.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2025-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 { memo } from \"react\";\nimport { UI_SHELL_BASE_Z_INDEX } from \"./uiShellSharedConstants.js\";\n\n// Shared styles for fake inset shadow. Not rendered anywhere.\nconst StyledAppContainerShadowShared = styled(\"div\")({\n left: 0,\n position: \"absolute\",\n top: 0,\n width: \"100%\",\n zIndex: UI_SHELL_BASE_Z_INDEX,\n});\n\nexport const StyledAppContainerShadow1 = styled(StyledAppContainerShadowShared)(\n {\n background: `linear-gradient(\n to bottom,\n rgba(39, 39, 39, 0.08) 0%,\n transparent 100%\n )`,\n height: \"4px\",\n },\n);\n\nexport const StyledAppContainerShadow2 = styled(StyledAppContainerShadowShared)(\n {\n background: `linear-gradient(\n to bottom,\n rgba(39, 39, 39, 0.01) 0%,\n transparent 100%\n )`,\n height: \"6px\",\n },\n);\n\nexport const StyledAppContainerShadow3 = styled(StyledAppContainerShadowShared)(\n {\n background: `linear-gradient(\n to bottom,\n rgba(39, 39, 39, 0.05) 0%,\n transparent 100%\n )`,\n height: \"15px\",\n },\n);\n\nexport type InnerAppContainerProps = {\n isContentScrolled: boolean;\n};\n\nconst InnerAppContainer = ({ isContentScrolled }: InnerAppContainerProps) =>\n isContentScrolled ? (\n <>\n <StyledAppContainerShadow1 />\n <StyledAppContainerShadow2 />\n <StyledAppContainerShadow3 />\n </>\n ) : null;\n\nconst MemoizedInnerAppContainer = memo(InnerAppContainer);\nMemoizedInnerAppContainer.displayName = \"InnerAppContainer\";\n\nexport { MemoizedInnerAppContainer as InnerAppContainer };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAASC,IAAI,QAAQ,OAAO;AAC5B,SAASC,qBAAqB,QAAQ,6BAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAGpE,MAAMC,8BAA8B,GAAGT,MAAM,CAAC,KAAK,CAAC,CAAC;EACnDU,IAAI,EAAE,CAAC;EACPC,QAAQ,EAAE,UAAU;EACpBC,GAAG,EAAE,CAAC;EACNC,KAAK,EAAE,MAAM;EACbC,MAAM,EAAEZ;AACV,CAAC,CAAC;AAEF,OAAO,MAAMa,yBAAyB,GAAGf,MAAM,CAACS,8BAA8B,CAAC,CAC7E;EACEO,UAAU,EAAE;AAChB;AACA;AACA;AACA,MAAM;EACFC,MAAM,EAAE;AACV,CACF,CAAC;AAED,OAAO,MAAMC,yBAAyB,GAAGlB,MAAM,CAACS,8BAA8B,CAAC,CAC7E;EACEO,UAAU,EAAE;AAChB;AACA;AACA;AACA,MAAM;EACFC,MAAM,EAAE;AACV,CACF,CAAC;AAED,OAAO,MAAME,yBAAyB,GAAGnB,MAAM,CAACS,8BAA8B,CAAC,CAC7E;EACEO,UAAU,EAAE;AAChB;AACA;AACA;AACA,MAAM;EACFC,MAAM,EAAE;AACV,CACF,CAAC;AAMD,MAAMG,iBAAiB,GAAGA,CAAC;EAAEC;AAA0C,CAAC,KACtEA,iBAAiB,GACfb,KAAA,CAAAF,SAAA;EAAAgB,QAAA,GACElB,IAAA,CAACW,yBAAyB,IAAE,CAAC,EAC7BX,IAAA,CAACc,yBAAyB,IAAE,CAAC,EAC7Bd,IAAA,CAACe,yBAAyB,IAAE,CAAC;AAAA,CAC7B,CAAC,GACD,IAAI;AAEV,MAAMI,yBAAyB,GAAGtB,IAAI,CAACmB,iBAAiB,CAAC;AACzDG,yBAAyB,CAACC,WAAW,GAAG,mBAAmB;AAE3D,SAASD,yBAAyB,IAAIH,iBAAiB","ignoreList":[]}
1
+ {"version":3,"file":"InnerAppContainer.js","names":["styled","memo","UI_SHELL_BASE_Z_INDEX","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","StyledAppContainerShadowShared","left","pointerEvents","position","top","width","zIndex","StyledAppContainerShadow1","background","height","StyledAppContainerShadow2","StyledAppContainerShadow3","InnerAppContainer","isContentScrolled","children","MemoizedInnerAppContainer","displayName"],"sources":["../../../src/ui-shell/InnerAppContainer.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2025-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 { memo } from \"react\";\nimport { UI_SHELL_BASE_Z_INDEX } from \"./uiShellSharedConstants.js\";\n\n// Shared styles for fake inset shadow. Not rendered anywhere.\nconst StyledAppContainerShadowShared = styled(\"div\")({\n left: 0,\n pointerEvents: \"none\",\n position: \"absolute\",\n top: 0,\n width: \"100%\",\n zIndex: UI_SHELL_BASE_Z_INDEX,\n});\n\nexport const StyledAppContainerShadow1 = styled(StyledAppContainerShadowShared)(\n {\n background: `linear-gradient(\n to bottom,\n rgba(39, 39, 39, 0.08) 0%,\n transparent 100%\n )`,\n height: \"4px\",\n },\n);\n\nexport const StyledAppContainerShadow2 = styled(StyledAppContainerShadowShared)(\n {\n background: `linear-gradient(\n to bottom,\n rgba(39, 39, 39, 0.01) 0%,\n transparent 100%\n )`,\n height: \"6px\",\n },\n);\n\nexport const StyledAppContainerShadow3 = styled(StyledAppContainerShadowShared)(\n {\n background: `linear-gradient(\n to bottom,\n rgba(39, 39, 39, 0.05) 0%,\n transparent 100%\n )`,\n height: \"15px\",\n },\n);\n\nexport type InnerAppContainerProps = {\n isContentScrolled: boolean;\n};\n\nconst InnerAppContainer = ({ isContentScrolled }: InnerAppContainerProps) =>\n isContentScrolled ? (\n <>\n <StyledAppContainerShadow1 />\n <StyledAppContainerShadow2 />\n <StyledAppContainerShadow3 />\n </>\n ) : null;\n\nconst MemoizedInnerAppContainer = memo(InnerAppContainer);\nMemoizedInnerAppContainer.displayName = \"InnerAppContainer\";\n\nexport { MemoizedInnerAppContainer as InnerAppContainer };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAASC,IAAI,QAAQ,OAAO;AAC5B,SAASC,qBAAqB,QAAQ,6BAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAGpE,MAAMC,8BAA8B,GAAGT,MAAM,CAAC,KAAK,CAAC,CAAC;EACnDU,IAAI,EAAE,CAAC;EACPC,aAAa,EAAE,MAAM;EACrBC,QAAQ,EAAE,UAAU;EACpBC,GAAG,EAAE,CAAC;EACNC,KAAK,EAAE,MAAM;EACbC,MAAM,EAAEb;AACV,CAAC,CAAC;AAEF,OAAO,MAAMc,yBAAyB,GAAGhB,MAAM,CAACS,8BAA8B,CAAC,CAC7E;EACEQ,UAAU,EAAE;AAChB;AACA;AACA;AACA,MAAM;EACFC,MAAM,EAAE;AACV,CACF,CAAC;AAED,OAAO,MAAMC,yBAAyB,GAAGnB,MAAM,CAACS,8BAA8B,CAAC,CAC7E;EACEQ,UAAU,EAAE;AAChB;AACA;AACA;AACA,MAAM;EACFC,MAAM,EAAE;AACV,CACF,CAAC;AAED,OAAO,MAAME,yBAAyB,GAAGpB,MAAM,CAACS,8BAA8B,CAAC,CAC7E;EACEQ,UAAU,EAAE;AAChB;AACA;AACA;AACA,MAAM;EACFC,MAAM,EAAE;AACV,CACF,CAAC;AAMD,MAAMG,iBAAiB,GAAGA,CAAC;EAAEC;AAA0C,CAAC,KACtEA,iBAAiB,GACfd,KAAA,CAAAF,SAAA;EAAAiB,QAAA,GACEnB,IAAA,CAACY,yBAAyB,IAAE,CAAC,EAC7BZ,IAAA,CAACe,yBAAyB,IAAE,CAAC,EAC7Bf,IAAA,CAACgB,yBAAyB,IAAE,CAAC;AAAA,CAC7B,CAAC,GACD,IAAI;AAEV,MAAMI,yBAAyB,GAAGvB,IAAI,CAACoB,iBAAiB,CAAC;AACzDG,yBAAyB,CAACC,WAAW,GAAG,mBAAmB;AAE3D,SAASD,yBAAyB,IAAIH,iBAAiB","ignoreList":[]}
@@ -39,7 +39,6 @@ const StyledAppContentArea = styled("div")({
39
39
  gridTemplateColumns: "auto 1fr auto",
40
40
  gridTemplateRows: "1fr",
41
41
  height: "100%",
42
- pointerEvents: "none",
43
42
  width: "100%"
44
43
  });
45
44
  const StyledAppContainer = styled("div", {
@@ -48,8 +47,8 @@ const StyledAppContainer = styled("div", {
48
47
  appBackgroundColor
49
48
  }) => ({
50
49
  backgroundColor: appBackgroundColor,
51
- height: "100%",
52
50
  gridArea: "app-container",
51
+ height: "100%",
53
52
  overflow: "hidden",
54
53
  width: "100%"
55
54
  }));
@@ -324,7 +323,8 @@ const NarrowUiShellContent = ({
324
323
  }),
325
324
  isCollapsed: false,
326
325
  isCollapsible: false,
327
- isObtrusive: true
326
+ isObtrusive: true,
327
+ onCollapse: closeSideMenus
328
328
  })
329
329
  })
330
330
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"NarrowUiShellContent.js","names":["styled","memo","useCallback","useEffect","useRef","useState","ErrorBoundary","Button","CloseIcon","MoreIcon","InnerAppContainer","useOdysseyDesignTokens","SideNav","SideNavLogo","HamburgerMenuIcon","useUiShellContext","emptySideNavItems","SIDE_NAV_WIDTH","TOP_NAV_HEIGHT","UI_SHELL_BASE_Z_INDEX","useScrollState","useMatchAppElementToUiShellAppArea","hexToRgb","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","StyledAppContentArea","gridArea","position","display","gridGap","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","height","pointerEvents","width","StyledAppContainer","shouldForwardProp","prop","appBackgroundColor","backgroundColor","overflow","StyledBannersContainer","zIndex","StyledLeftSideContainer","isOpen","overflowY","StyledRightSideContainer","odysseyDesignTokens","HueNeutralWhite","maxWidth","right","StyledMenuLogo","alignItems","gap","Spacing3","StyledLogoContainer","paddingBlock","Spacing4","maxHeight","StyledPageOverlay","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","uiShellContext","sideNavContainerRef","topNavContainerRef","uiShellAppAreaRef","isLeftSideMenuOpen","setIsLeftSideMenuOpen","isRightSideMenuOpen","setIsRightSideMenuOpen","closeSideMenus","unsubscribeFromCloseRightSideMenu","subscribeToCloseRightSideMenu","unsubscribeFromSideNavItemClicked","subscribeToCloseSideNavMenu","toggleLeftSideMenu","toggleRightSideMenu","parentContainerRef","paddingMode","uiShellResizableRefs","children","onClick","ref","banners","includes","fallback","sideNavBackgroundColor","isCollapsible","isCollapsed","startIcon","testId","variant","isLoading","_Skeleton","logoProps","rightSideMenu","topNavLeftSide","sideNavItems","appName","hasCustomFooter","sideNavFooter","footerComponent","footerItems","isObtrusive","tabIndex","MemoizedNarrowUiShellContent","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 pointerEvents: \"none\",\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 height: \"100%\",\n gridArea: \"app-container\",\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.js","names":["styled","memo","useCallback","useEffect","useRef","useState","ErrorBoundary","Button","CloseIcon","MoreIcon","InnerAppContainer","useOdysseyDesignTokens","SideNav","SideNavLogo","HamburgerMenuIcon","useUiShellContext","emptySideNavItems","SIDE_NAV_WIDTH","TOP_NAV_HEIGHT","UI_SHELL_BASE_Z_INDEX","useScrollState","useMatchAppElementToUiShellAppArea","hexToRgb","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","StyledAppContentArea","gridArea","position","display","gridGap","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","height","width","StyledAppContainer","shouldForwardProp","prop","appBackgroundColor","backgroundColor","overflow","StyledBannersContainer","zIndex","StyledLeftSideContainer","isOpen","overflowY","StyledRightSideContainer","odysseyDesignTokens","HueNeutralWhite","maxWidth","right","StyledMenuLogo","alignItems","gap","Spacing3","StyledLogoContainer","paddingBlock","Spacing4","maxHeight","StyledPageOverlay","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","uiShellContext","sideNavContainerRef","topNavContainerRef","uiShellAppAreaRef","isLeftSideMenuOpen","setIsLeftSideMenuOpen","isRightSideMenuOpen","setIsRightSideMenuOpen","closeSideMenus","unsubscribeFromCloseRightSideMenu","subscribeToCloseRightSideMenu","unsubscribeFromSideNavItemClicked","subscribeToCloseSideNavMenu","toggleLeftSideMenu","toggleRightSideMenu","parentContainerRef","paddingMode","uiShellResizableRefs","children","onClick","ref","banners","includes","fallback","sideNavBackgroundColor","isCollapsible","isCollapsed","startIcon","testId","variant","isLoading","_Skeleton","logoProps","rightSideMenu","topNavLeftSide","sideNavItems","appName","hasCustomFooter","sideNavFooter","footerComponent","footerItems","isObtrusive","onCollapse","tabIndex","MemoizedNarrowUiShellContent","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":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,MAAM,MAAM,iBAAiB;AAEpC,SAEEC,IAAI,EACJC,WAAW,EACXC,SAAS,EACTC,MAAM,EACNC,QAAQ,QACH,OAAO;AACd,SAASC,aAAa,QAAQ,sBAAsB;AAEpD,SAASC,MAAM,QAAQ,sBAAsB;AAE7C,SAASC,SAAS,QAAQ,6BAA6B;AACvD,SAASC,QAAQ,QAAQ,4BAA4B;AACrD,SAASC,iBAAiB,QAAQ,wBAAwB;AAC1D,SAEEC,sBAAsB,QACjB,kCAAkC;AACzC,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,iBAAiB,QAAQ,+BAA+B;AACjE,SAAwBC,iBAAiB,QAAQ,sBAAsB;AAKvE,SACEC,iBAAiB,EACjBC,cAAc,EACdC,cAAc,EACdC,qBAAqB,QAChB,6BAA6B;AACpC,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SAASC,kCAAkC,QAAQ,yCAAyC;AAC5F,SAASC,QAAQ,QAAQ,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAE1C,MAAMC,oBAAoB,GAAG7B,MAAM,CAAC,KAAK,CAAC,CAAC;EACzC8B,QAAQ,EAAE,aAAa;EACvBC,QAAQ,EAAE,UAAU;EACpBC,OAAO,EAAE,MAAM;EACfC,OAAO,EAAE,CAAC;EACVC,iBAAiB,EAAE;AACrB;AACA,GAAG;EACDC,mBAAmB,EAAE,eAAe;EACpCC,gBAAgB,EAAE,KAAK;EACvBC,MAAM,EAAE,MAAM;EACdC,KAAK,EAAE;AACT,CAAC,CAAC;AAEF,MAAMC,kBAAkB,GAAGvC,MAAM,CAAC,KAAK,EAAE;EACvCwC,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,oBAAoB,IAAIA,IAAI,KAAK;AAC9C,CAAC,CAAC,CAEC,CAAC;EAAEC;AAAmB,CAAC,MAAM;EAC9BC,eAAe,EAAED,kBAAkB;EACnCZ,QAAQ,EAAE,eAAe;EACzBO,MAAM,EAAE,MAAM;EACdO,QAAQ,EAAE,QAAQ;EAClBN,KAAK,EAAE;AACT,CAAC,CAAC,CAAC;AAEH,MAAMO,sBAAsB,GAAG7C,MAAM,CAAC,KAAK,CAAC,CAAC;EAC3C8B,QAAQ,EAAE,SAAS;EACnBgB,MAAM,EAAE3B;AACV,CAAC,CAAC;AAEF,MAAM4B,uBAAuB,GAAG/C,MAAM,CAAC,KAAK,EAAE;EAC5CwC,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAEC,CAAC;EAAEO;AAAO,CAAC,MAAM;EAClBhB,OAAO,EAAEgB,MAAM,GAAG,OAAO,GAAG,MAAM;EAClCX,MAAM,EAAE,MAAM;EACdP,QAAQ,EAAE,WAAW;EACrBmB,SAAS,EAAE,MAAM;EACjBlB,QAAQ,EAAE,UAAU;EACpBe,MAAM,EAAE3B;AACV,CAAC,CAAC,CAAC;AAEH,MAAM+B,wBAAwB,GAAGlD,MAAM,CAAC,KAAK,EAAE;EAC7CwC,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK;AAClC,CAAC,CAAC,CAGC,CAAC;EAAEO,MAAM;EAAEG;AAAoB,CAAC,MAAM;EACvCR,eAAe,EAAEQ,mBAAmB,CAACC,eAAe;EACpDpB,OAAO,EAAEgB,MAAM,GAAG,OAAO,GAAG,MAAM;EAClClB,QAAQ,EAAE,YAAY;EACtBO,MAAM,EAAE,MAAM;EACdgB,QAAQ,EAAEpC,cAAc;EACxBgC,SAAS,EAAE,MAAM;EACjBlB,QAAQ,EAAE,UAAU;EACpBuB,KAAK,EAAE,CAAC;EACRhB,KAAK,EAAErB,cAAc;EACrB6B,MAAM,EAAE3B;AACV,CAAC,CAAC,CAAC;AAEH,MAAMoC,cAAc,GAAGvD,MAAM,CAAC,KAAK,EAAE;EACnCwC,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAEC,CAAC;EAAEU;AAAoB,CAAC,MAAM;EAC/BK,UAAU,EAAE,QAAQ;EACpBxB,OAAO,EAAE,aAAa;EACtByB,GAAG,EAAEN,mBAAmB,CAACO;AAC3B,CAAC,CAAC,CAAC;AAEH,MAAMC,mBAAmB,GAAG3D,MAAM,CAAC,KAAK,EAAE;EACxCwC,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAEC,CAAC;EAAEU;AAAoB,CAAC,MAAM;EAC/Bd,MAAM,EAAEnB,cAAc;EACtB0C,YAAY,EAAET,mBAAmB,CAACU,QAAQ;EAE1C,UAAU,EAAE;IACVC,SAAS,EAAE,MAAM;IACjBxB,KAAK,EAAE,MAAM;IACbe,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC,CAAC;AAEH,MAAMU,iBAAiB,GAAG/D,MAAM,CAAC,KAAK,EAAE;EACtCwC,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAEC,CAAC;EAAEU;AAAoB,CAAC,MAAM;EAC/BR,eAAe,EAAErB,QAAQ,CACvB6B,mBAAmB,CAACa,aACtB,CAAC,CAACC,iBAAiB,CAACC,OAAO,CAAC,cAAc,EAAE,gBAAgB,CAAC;EAC7DpC,QAAQ,EAAE,aAAa;EACvBO,MAAM,EAAE,OAAO;EACf8B,IAAI,EAAE,CAAC;EACPpC,QAAQ,EAAE,UAAU;EACpBqC,GAAG,EAAE,CAAC;EACN9B,KAAK,EAAE,OAAO;EACdQ,MAAM,EAAE3B;AACV,CAAC,CAAC,CAAC;AAEH,MAAMkD,sBAAsB,GAAGrE,MAAM,CAAC,KAAK,CAAC,CAAC;EAC3CqC,MAAM,EAAE;AACV,CAAC,CAAC;AAEF,MAAMiC,sBAAsB,GAAGtE,MAAM,CAAC,KAAK,EAAE;EAC3CwC,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAEC,CAAC;EAAEU;AAAoB,CAAC,MAAM;EAC/BR,eAAe,EAAEQ,mBAAmB,CAACoB,YAAY;EACjDvC,OAAO,EAAE,MAAM;EACfC,OAAO,EAAE,CAAC;EACVC,iBAAiB,EAAE;AACrB;AACA;AACA;AACA,GAAG;EACDC,mBAAmB,EAAE,KAAK;EAC1BC,gBAAgB,EAAE,eAAe;EACjCC,MAAM,EAAE,OAAO;EACfO,QAAQ,EAAE,QAAQ;EAClBN,KAAK,EAAE;AACT,CAAC,CAAC,CAAC;AAEH,MAAMkC,YAAY,GAAGxE,MAAM,CAAC,KAAK,EAAE;EACjCwC,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAC9BA,IAAI,KAAK,mBAAmB,IAC5BA,IAAI,KAAK;AACb,CAAC,CAAC,CAIC,CAAC;EAAEU,mBAAmB;EAAEsB,iBAAiB;EAAEC;AAAsB,CAAC,MAAM;EACzElB,UAAU,EAAE,SAAS;EACrBb,eAAe,EAAEQ,mBAAmB,CAACC,eAAe,IAAIsB,qBAAqB;EAC7EC,SAAS,EAAEF,iBAAiB,GAAGtB,mBAAmB,CAACyB,WAAW,GAAGC,SAAS;EAC1EC,QAAQ,EAAE,qBAAqB;EAC/B9C,OAAO,EAAE,MAAM;EACf+C,aAAa,EAAE,QAAQ;EACvBjD,QAAQ,EAAE,SAAS;EACnBO,MAAM,EAAE,MAAM;EACd2C,cAAc,EAAE,QAAQ;EACxBjD,QAAQ,EAAE,UAAU;EACpBkD,UAAU,EAAE,cAAc9B,mBAAmB,CAAC+B,sBAAsB,IAAI/B,mBAAmB,CAACgC,oBAAoB,EAAE;EAClHrC,MAAM,EAAE3B;AACV,CAAC,CAAC,CAAC;AAEH,MAAMiE,gBAAgB,GAAGpF,MAAM,CAAC,KAAK,EAAE;EACrCwC,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAAIA,IAAI,KAAK;AAC/C,CAAC,CAAC,CAGC,CAAC;EAAEU,mBAAmB;EAAEuB;AAAsB,CAAC,MAAM;EACtDlB,UAAU,EAAE,QAAQ;EACpBxB,OAAO,EAAE,MAAM;EACfyB,GAAG,EAAEN,mBAAmB,CAACO,QAAQ;EACjCrB,MAAM,EAAE,MAAM;EACd2C,cAAc,EAAE,eAAe;EAC/BlB,SAAS,EAAE5C,cAAc;EACzBmE,SAAS,EAAEnE,cAAc;EACzB0C,YAAY,EAAET,mBAAmB,CAACmC,QAAQ;EAC1CC,aAAa,EAAEpC,mBAAmB,CAACO,QAAQ;EAC3CuB,UAAU,EAAE,cAAc9B,mBAAmB,CAAC+B,sBAAsB,IAAI/B,mBAAmB,CAACgC,oBAAoB,EAAE;EAElH,IAAIT,qBAAqB,KAAKvB,mBAAmB,CAACC,eAAe,IAC9D;IACCoC,iBAAiB,EAAErC,mBAAmB,CAACsC,aAAa;IACpDC,iBAAiB,EAAEvC,mBAAmB,CAACwC,eAAe;IACtDC,iBAAiB,EAAEzC,mBAAmB,CAAC0C;EACzC,CAAmB;AACvB,CAAC,CAAC,CAAC;AAEH,MAAMC,kBAAkB,GAAG9F,MAAM,CAAC,KAAK,EAAE;EACvCwC,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAEC,CAAC;EAAEU;AAAoB,CAAC,MAAM;EAC/BS,YAAY,EAAET,mBAAmB,CAACmC,QAAQ;EAC1CC,aAAa,EAAEpC,mBAAmB,CAACO;AACrC,CAAC,CAAC,CAAC;AAMH,MAAMqC,oBAAoB,GAAGA,CAAC;EAC5BC,UAAU;EACVC,uBAAuB;EACvBC,4BAA4B,GAAG,IAAI;EACnCC,sBAAsB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC;EAC7DC,OAAO,GAAGC,OAAO,CAACC,KAAK;EACvBC,kBAAkB;EAClBC,YAAY;EACZC;AACyB,CAAC,KAAK;EAC/B,MAAMtD,mBAAmB,GAAGxC,sBAAsB,CAAC,CAAC;EACpD,MAAM+F,cAAc,GAAG3F,iBAAiB,CAAC,CAAC;EAE1C,MAAM;IAAE0D;EAAkB,CAAC,GAAGrD,cAAc,CAAC4E,UAAU,CAAC;EAExD,MAAMW,mBAAmB,GAAGvG,MAAM,CAAiB,IAAI,CAAC;EACxD,MAAMwG,kBAAkB,GAAGxG,MAAM,CAAiB,IAAI,CAAC;EACvD,MAAMyG,iBAAiB,GAAGzG,MAAM,CAAiB,IAAI,CAAC;EAEtD,MAAM,CAAC0G,kBAAkB,EAAEC,qBAAqB,CAAC,GAAG1G,QAAQ,CAAC,KAAK,CAAC;EACnE,MAAM,CAAC2G,mBAAmB,EAAEC,sBAAsB,CAAC,GAAG5G,QAAQ,CAAC,KAAK,CAAC;EAErE,MAAM6G,cAAc,GAAGhH,WAAW,CAAC,MAAM;IACvC6G,qBAAqB,CAAC,KAAK,CAAC;IAC5BE,sBAAsB,CAAC,KAAK,CAAC;EAC/B,CAAC,EAAE,EAAE,CAAC;EAEN9G,SAAS,CAAC,MAAM;IACd,MAAMgH,iCAAiC,GACrCT,cAAc,EAAEU,6BAA6B,CAAC,MAAM;MAClDF,cAAc,CAAC,CAAC;IAClB,CAAC,CAAC;IAEJ,MAAMG,iCAAiC,GACrCX,cAAc,EAAEY,2BAA2B,CAAC,MAAM;MAChDJ,cAAc,CAAC,CAAC;IAClB,CAAC,CAAC;IAEJ,OAAO,MAAM;MACXC,iCAAiC,GAAG,CAAC;MACrCE,iCAAiC,GAAG,CAAC;IACvC,CAAC;EACH,CAAC,EAAE,CAACH,cAAc,EAAER,cAAc,CAAC,CAAC;EAEpC,MAAMa,kBAAkB,GAAGrH,WAAW,CAAC,MAAM;IAC3C+G,sBAAsB,CAAC,KAAK,CAAC;IAC7BF,qBAAqB,CAAED,kBAAkB,IAAK,CAACA,kBAAkB,CAAC;EACpE,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMU,mBAAmB,GAAGtH,WAAW,CAAC,MAAM;IAC5C6G,qBAAqB,CAAC,KAAK,CAAC;IAC5BE,sBAAsB,CAAED,mBAAmB,IAAK,CAACA,mBAAmB,CAAC;EACvE,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM;IAAES;EAAmB,CAAC,GAAGpG,kCAAkC,CAAC;IAChE2E,UAAU;IACVC,uBAAuB;IACvByB,WAAW,EAAExB,4BAA4B,GAAG,SAAS,GAAG,MAAM;IAC9DW,iBAAiB;IACjBc,oBAAoB,EAAE,CACpBhB,mBAAmB,EACnBC,kBAAkB,EAClBC,iBAAiB;EAErB,CAAC,CAAC;EAEF,OACEnF,KAAA,CAAAE,SAAA;IAAAgG,QAAA,GACG,CAACd,kBAAkB,IAAIE,mBAAmB,KACzCxF,IAAA,CAACuC,iBAAiB;MAChBZ,mBAAmB,EAAEA,mBAAoB;MACzC0E,OAAO,EAAEX;IAAe,CACzB,CACF,EAEDxF,KAAA,CAAC4C,sBAAsB;MACrBnB,mBAAmB,EAAEA,mBAAoB;MACzC2E,GAAG,EAAEL,kBAAmB;MAAAG,QAAA,GAExBpG,IAAA,CAACqB,sBAAsB;QAAA+E,QAAA,EACpBrB,kBAAkB,EAAEwB;MAAO,CACN,CAAC,EAExB,CAAC5B,sBAAsB,EAAE6B,QAAQ,CAAC,QAAQ,CAAC,IAAIvB,WAAW,KACzDjF,IAAA,CAAClB,aAAa;QAAC2H,QAAQ,EAAE,IAAK;QAAC7B,OAAO,EAAEA,OAAQ;QAAAwB,QAAA,EAC9ClG,KAAA,CAAC8C,YAAY;UACXC,iBAAiB,EAAEA,iBAAkB;UACrCtB,mBAAmB,EAAEA,mBAAoB;UACzCuB,qBAAqB,EAAEgC,cAAc,EAAEhC,qBAAsB;UAAAkD,QAAA,GAE7DlG,KAAA,CAAC0D,gBAAgB;YACfjC,mBAAmB,EAAEA,mBAAoB;YACzCuB,qBAAqB,EAAEgC,cAAc,EAAEwB,sBAAuB;YAAAN,QAAA,GAE9DlG,KAAA,CAAC6B,cAAc;cAACJ,mBAAmB,EAAEA,mBAAoB;cAAAyE,QAAA,GACtD,CAACpB,YAAY,EAAE2B,aAAa,IAC3B,CAAC3B,YAAY,EAAE4B,WAAW,KAC1B5G,IAAA,CAACjB,MAAM;gBACLsH,OAAO,EAAEN,kBAAmB;gBAC5Bc,SAAS,EAAE7G,IAAA,CAACV,iBAAiB,IAAE,CAAE;gBACjCwH,MAAM,EAAC,oBAAoB;gBAC3BC,OAAO,EAAC;cAAU,CACnB,CACF,EAED/G,IAAA,CAACmC,mBAAmB;gBAClBR,mBAAmB,EAAEA,mBAAoB;gBAAAyE,QAAA,EAExCpB,YAAY,EAAEgC,SAAS,GAEtBhH,IAAA,CAAAiH,SAAA;kBAAUF,OAAO,EAAC,SAAS;kBAAClG,MAAM,EAAE,EAAG;kBAACC,KAAK,EAAE;gBAAG,CAAE,CAAC,GAErDd,IAAA,CAACX,WAAW;kBAAA,GAAK2F,YAAY,EAAEkC;gBAAS,CAAG;cAC5C,CACkB,CAAC;YAAA,CACR,CAAC,EAEhBnC,kBAAkB,EAAEoC,aAAa,IAChCnH,IAAA,CAACjB,MAAM;cACLsH,OAAO,EAAEL,mBAAoB;cAC7Ba,SAAS,EACPrB,mBAAmB,GAAGxF,IAAA,CAAChB,SAAS,IAAE,CAAC,GAAGgB,IAAA,CAACf,QAAQ,IAAE,CAClD;cACD6H,MAAM,EAAC,wBAAwB;cAC/BC,OAAO,EAAC;YAAU,CACnB,CACF;UAAA,CACe,CAAC,EAElBhC,kBAAkB,EAAEqC,cAAc,IACjCpH,IAAA,CAACsE,kBAAkB;YAAC3C,mBAAmB,EAAEA,mBAAoB;YAAAyE,QAAA,EAC1DrB,kBAAkB,EAAEqC;UAAc,CACjB,CACrB;QAAA,CACW;MAAC,CACF,CAChB,EAEDlH,KAAA,CAACG,oBAAoB;QAAA+F,QAAA,GACnBlG,KAAA,CAACqB,uBAAuB;UAACC,MAAM,EAAE8D,kBAAmB;UAAAc,QAAA,GAGhDzB,sBAAsB,EAAE6B,QAAQ,CAAC,SAAS,CAAC,IACzCxB,YAAY,KAAK3B,SAAS,IACxBrD,IAAA,CAAClB,aAAa;YAAC2H,QAAQ,EAAE,IAAK;YAAC7B,OAAO,EAAEA,OAAQ;YAAAwB,QAAA,EAC9CpG,IAAA,CAACZ,OAAO;cAAC4H,SAAS;cAACK,YAAY,EAAE7H;YAAkB,CAAE;UAAC,CACzC,CAChB,EAGJwF,YAAY,IACXhF,IAAA,CAAClB,aAAa;YAAC2H,QAAQ,EAAE,IAAK;YAAC7B,OAAO,EAAEA,OAAQ;YAAAwB,QAAA,EAC9CpG,IAAA,CAAC6C,sBAAsB;cAAAuD,QAAA,EACrBpG,IAAA,CAACZ,OAAO;gBAEJ,GAAG;kBACD,GAAG4F,YAAY;kBAEfsC,OAAO,EAAEjE,SAAS;kBAClB6D,SAAS,EAAE7D;gBACb,CAAC;gBACD,IAAI2B,YAAY,CAACuC,eAAe,IAChCxC,kBAAkB,EAAEyC,aAAa,GAC7B;kBACEC,eAAe,EAAE1C,kBAAkB,CAACyC,aAAa;kBACjDE,WAAW,EAAErE,SAAS;kBACtBkE,eAAe,EAAEvC,YAAY,CAACuC;gBAChC,CAAC,GACD;kBACEG,WAAW,EAAE1C,YAAY,CAAC0C,WAAW;kBACrCH,eAAe,EAAE;gBACnB,CAAC,CAAC;gBAERX,WAAW,EAAE,KAAM;gBACnBD,aAAa,EAAE,KAAM;gBACrBgB,WAAW;gBACXC,UAAU,EAAElC;cAAe,CAC5B;YAAC,CACoB;UAAC,CACZ,CAChB;QAAA,CACsB,CAAC,EAE1B1F,IAAA,CAAC0B,wBAAwB;UACvBF,MAAM,EAAEgE,mBAAoB;UAC5B7D,mBAAmB,EAAEA,mBAAoB;UAAAyE,QAAA,EAEzCpG,IAAA,CAAC6C,sBAAsB;YAAAuD,QAAA,EACpBrB,kBAAkB,EAAEoC;UAAa,CACZ;QAAC,CACD,CAAC,EAE3BnH,IAAA,CAACe,kBAAkB;UACjBG,kBAAkB,EAAEgE,cAAc,EAAEhE,kBAAmB;UACvD2G,QAAQ,EAAE,CAAE;UACZvB,GAAG,EAAEjB,iBAAkB;UAAAe,QAAA,EAEvBpG,IAAA,CAACd,iBAAiB;YAAC+D,iBAAiB,EAAEA;UAAkB,CAAE;QAAC,CACzC,CAAC;MAAA,CACD,CAAC;IAAA,CACD,CAAC;EAAA,CACzB,CAAC;AAEP,CAAC;AAED,MAAM6E,4BAA4B,GAAGrJ,IAAI,CAAC8F,oBAAoB,CAAC;AAC/DuD,4BAA4B,CAACC,WAAW,GAAG,sBAAsB;AAEjE,SAASD,4BAA4B,IAAIvD,oBAAoB","ignoreList":[]}
@@ -145,7 +145,8 @@ const StyledSideNavListContainer = styled("ul")(() => ({
145
145
  padding: 0,
146
146
  listStyle: "none",
147
147
  listStyleType: "none",
148
- margin: 0
148
+ margin: 0,
149
+ width: "100%"
149
150
  }));
150
151
  const StyledSideNavScrollableContainer = styled("div", {
151
152
  shouldForwardProp: prop => prop !== "odysseyDesignTokens"
@@ -309,10 +310,6 @@ const SideNav = ({
309
310
  onMount,
310
311
  onUpdate
311
312
  });
312
- console.log({
313
- isCollapsed,
314
- isSideNavCollapsed
315
- });
316
313
  useEffect(() => {
317
314
  const updateIsContentScrollable = () => {
318
315
  if (scrollableContentRef.current && scrollableContentRef.current.parentElement) {
@@ -398,35 +395,37 @@ const SideNav = ({
398
395
  });
399
396
  updateSideNavItemsList(updatedSideNavItems);
400
397
  if (isCollapsed || isObtrusive) {
401
- uiShellContext?.closeSideNavMenu();
398
+ if (isCollapsible) {
399
+ uiShellContext?.closeSideNavMenu();
400
+ } else {
401
+ onCollapse?.();
402
+ }
402
403
  }
403
- }, [isCollapsed, isObtrusive, sideNavItemsList, uiShellContext]);
404
+ }, [isCollapsed, isCollapsible, isObtrusive, onCollapse, sideNavItemsList, uiShellContext]);
404
405
  const processedSideNavItems = useMemo(() => {
405
406
  return sideNavItemsList?.map(item => ({
406
407
  ...item,
407
- childNavItems: item.nestedNavItems?.map(childProps => {
408
- return {
409
- id: childProps.id,
410
- isSelected: childProps.isSelected,
411
- isDisabled: childProps.isDisabled,
412
- isSortable: childProps.isSortable,
413
- navItem: _jsx(SideNavItemContentContext.Provider, {
414
- value: {
415
- ...sideNavItemContentProviderValue,
416
- depth: 2,
417
- isSortable: item.isSortable
418
- },
419
- children: _jsx(SideNavItemContent, {
420
- ...childProps,
421
- scrollRef: getRefIfThisIsFirstNodeWithIsSelected(childProps.id),
422
- onItemSelected: setSelectedItem,
423
- translate: childProps.translate
424
- })
425
- }, childProps.id)
426
- };
427
- })
408
+ childNavItems: item.nestedNavItems?.map(childProps => ({
409
+ id: childProps.id,
410
+ isSelected: childProps.isSelected,
411
+ isDisabled: childProps.isDisabled,
412
+ isSortable: childProps.isSortable,
413
+ navItem: _jsx(SideNavItemContentContext.Provider, {
414
+ value: {
415
+ ...sideNavItemContentProviderValue,
416
+ depth: 2,
417
+ isSortable: item.isSortable
418
+ },
419
+ children: _jsx(SideNavItemContent, {
420
+ ...childProps,
421
+ onItemSelected: setSelectedItem,
422
+ scrollRef: getRefIfThisIsFirstNodeWithIsSelected(childProps.id),
423
+ translate: childProps.translate
424
+ })
425
+ }, childProps.id)
426
+ }))
428
427
  }));
429
- }, [getRefIfThisIsFirstNodeWithIsSelected, sideNavItemsList, sideNavItemContentProviderValue, setSelectedItem]);
428
+ }, [getRefIfThisIsFirstNodeWithIsSelected, setSelectedItem, sideNavItemContentProviderValue, sideNavItemsList]);
430
429
  const sideNavExpandClickHandler = useCallback(() => {
431
430
  setIsSideNavCollapsed(isSideNavCollapsed => {
432
431
  if (isSideNavCollapsed) {
@@ -513,15 +512,16 @@ const SideNav = ({
513
512
  ref: scrollableContentRef,
514
513
  children: isLoading ? Array(6).fill(null).map((_, index) => _jsx(LoadingItem, {}, index)) : processedSideNavItems?.map(item => {
515
514
  const {
516
- id,
517
- label,
518
- isSectionHeader,
519
- startIcon,
520
515
  childNavItems,
521
- isSortable,
516
+ href,
517
+ id,
522
518
  isDefaultExpanded,
523
519
  isDisabled,
524
- isExpanded
520
+ isExpanded,
521
+ isSectionHeader,
522
+ isSortable,
523
+ label,
524
+ startIcon
525
525
  } = item;
526
526
  if (isSectionHeader) {
527
527
  return _jsx(ErrorBoundary, {
@@ -537,7 +537,37 @@ const SideNav = ({
537
537
  })
538
538
  }, id);
539
539
  } else if (childNavItems) {
540
- return _jsx(ErrorBoundary, {
540
+ const nestedChildren = _jsx(StyledSideNavListContainer, {
541
+ role: "presentation",
542
+ children: isSortable ? _jsx(SortableList, {
543
+ parentId: item.id,
544
+ items: childNavItems,
545
+ onChange: setSortedItems,
546
+ renderItem: sortableItem => _jsx(SortableList.Item, {
547
+ id: sortableItem.id,
548
+ isDisabled: sortableItem.isDisabled,
549
+ isSelected: sortableItem.isSelected,
550
+ isSortable: sortableItem.isSortable,
551
+ children: sortableItem.navItem
552
+ })
553
+ }) : childNavItems.map(item => item.navItem)
554
+ });
555
+ return href ? _jsxs(ErrorBoundary, {
556
+ fallback: blankElement,
557
+ children: [_jsx(SideNavItemContent, {
558
+ ...item,
559
+ href: href,
560
+ onItemSelected: setSelectedItem,
561
+ scrollRef: getRefIfThisIsFirstNodeWithIsSelected(item.id),
562
+ startIcon: item.startIcon
563
+ }), _jsx(StyledSideNavListItem, {
564
+ id: `${id}-items`,
565
+ odysseyDesignTokens: odysseyDesignTokens,
566
+ disabled: isDisabled,
567
+ "aria-disabled": isDisabled,
568
+ children: nestedChildren
569
+ })]
570
+ }, id) : _jsx(ErrorBoundary, {
541
571
  fallback: blankElement,
542
572
  children: _jsx(StyledSideNavListItem, {
543
573
  id: id,
@@ -551,21 +581,7 @@ const SideNav = ({
551
581
  isExpanded: isExpanded,
552
582
  startIcon: startIcon,
553
583
  isDisabled: isDisabled,
554
- children: _jsx(StyledSideNavListContainer, {
555
- role: "none",
556
- children: isSortable ? _jsx(SortableList, {
557
- parentId: item.id,
558
- items: childNavItems,
559
- onChange: setSortedItems,
560
- renderItem: sortableItem => _jsx(SortableList.Item, {
561
- id: sortableItem.id,
562
- isDisabled: sortableItem.isDisabled,
563
- isSelected: sortableItem.isSelected,
564
- isSortable: sortableItem.isSortable,
565
- children: sortableItem.navItem
566
- })
567
- }) : childNavItems.map(item => item.navItem)
568
- })
584
+ children: nestedChildren
569
585
  })
570
586
  })
571
587
  }, id);