{"version":3,"file":"SideNavHeader.cjs","names":["_styled","_interopRequireDefault","require","_react","_OdysseyDesignTokensContext","_Typography","_UiShellProvider","_UiShellLogo","_uiShellSharedConstants","_jsxRuntime","e","__esModule","default","SideNavHeaderContainer","styled","position","display","flexDirection","zIndex","UI_SHELL_BASE_Z_INDEX","SideNavLogoContainer","shouldForwardProp","prop","headerBackgroundColor","isSameBackgroundAsMain","odysseyDesignTokens","alignItems","height","TOP_NAV_HEIGHT","paddingBlock","Spacing4","paddingInline","Spacing5","backgroundColor","HueNeutralWhite","maxHeight","width","maxWidth","SideNavHeadingContainer","contrastFontColor","justifyContent","margin","color","SideNavHeader","appName","isLoading","logoProps","useOdysseyDesignTokens","uiShellContext","useUiShellContext","jsxs","children","jsx","sideNavBackgroundColor","_Skeleton2","variant","UiShellLogo","sideNavContrastColors","fontColor","Heading5","component","MemoizedSideNavHeader","exports","memo","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavHeader.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 { Skeleton } from \"@mui/material\";\nimport { memo } from \"react\";\n\nimport { ContrastColors } from \"../../createContrastColors.js\";\nimport {\n  type DesignTokens,\n  useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { Heading5 } from \"../../Typography.js\";\nimport {\n  UiShellColors,\n  useUiShellContext,\n} from \"../../ui-shell/UiShellProvider.js\";\nimport { UiShellLogo, UiShellLogoProps } from \"../UiShellLogo.js\";\nimport {\n  TOP_NAV_HEIGHT,\n  UI_SHELL_BASE_Z_INDEX,\n} from \"../uiShellSharedConstants.js\";\n\nconst SideNavHeaderContainer = styled(\"div\")({\n  position: \"relative\",\n  display: \"flex\",\n  flexDirection: \"column\",\n  zIndex: UI_SHELL_BASE_Z_INDEX,\n});\n\nconst SideNavLogoContainer = styled(\"div\", {\n  shouldForwardProp: (prop) =>\n    prop !== \"headerBackgroundColor\" &&\n    prop !== \"isSameBackgroundAsMain\" &&\n    prop !== \"odysseyDesignTokens\",\n})<{\n  headerBackgroundColor?: UiShellColors[\"sideNavBackgroundColor\"];\n  isSameBackgroundAsMain: UiShellLogoProps[\"isSameBackgroundAsMain\"];\n  odysseyDesignTokens: DesignTokens;\n}>(\n  ({ headerBackgroundColor, isSameBackgroundAsMain, odysseyDesignTokens }) => ({\n    display: \"flex\",\n    alignItems: \"center\",\n    height: TOP_NAV_HEIGHT,\n    paddingBlock: odysseyDesignTokens.Spacing4,\n    paddingInline: odysseyDesignTokens.Spacing5,\n    backgroundColor: isSameBackgroundAsMain\n      ? headerBackgroundColor\n      : odysseyDesignTokens.HueNeutralWhite,\n\n    \"svg, img\": {\n      maxHeight: \"100%\",\n      width: \"auto\",\n      maxWidth: \"100%\",\n    },\n  }),\n);\n\nconst SideNavHeadingContainer = styled(\"div\", {\n  shouldForwardProp: (prop) =>\n    prop !== \"odysseyDesignTokens\" && prop !== \"contrastFontColor\",\n})(\n  ({\n    contrastFontColor,\n    odysseyDesignTokens,\n  }: {\n    contrastFontColor: ContrastColors[\"fontColor\"];\n    odysseyDesignTokens: DesignTokens;\n  }) => ({\n    display: \"flex\",\n    justifyContent: \"space-between\",\n    alignItems: \"center\",\n    paddingBlock: odysseyDesignTokens.Spacing4,\n    paddingInline: odysseyDesignTokens.Spacing5,\n    width: \"100%\",\n\n    [\"& .MuiTypography-root\"]: {\n      margin: 0,\n      width: \"100%\",\n      color: contrastFontColor || \"inherit\",\n    },\n  }),\n);\n\nexport type SideNavHeaderProps = {\n  /**\n   * The app's name.\n   */\n  appName?: string;\n  /**\n   * If `true`, the side nav header renders skeleton placeholders while nav items are loading.\n   */\n  isLoading?: boolean;\n  /**\n   * Properties for displaying the logo image or passing a logo image component instead.\n   */\n  logoProps?: UiShellLogoProps;\n};\n\nconst SideNavHeader = ({\n  appName,\n  isLoading,\n  logoProps,\n}: SideNavHeaderProps) => {\n  const odysseyDesignTokens = useOdysseyDesignTokens();\n  const uiShellContext = useUiShellContext();\n\n  return (\n    <SideNavHeaderContainer>\n      <SideNavLogoContainer\n        data-se=\"sidenav-header-logo-container\"\n        headerBackgroundColor={uiShellContext?.sideNavBackgroundColor}\n        isSameBackgroundAsMain={logoProps?.isSameBackgroundAsMain}\n        odysseyDesignTokens={odysseyDesignTokens}\n      >\n        {isLoading ? (\n          //  The skeleton takes the hardcoded dimensions of the Okta logo\n          <Skeleton height={24} variant=\"rounded\" width={67} />\n        ) : (\n          <UiShellLogo {...logoProps} />\n        )}\n      </SideNavLogoContainer>\n\n      {appName && (\n        <SideNavHeadingContainer\n          contrastFontColor={uiShellContext?.sideNavContrastColors?.fontColor}\n          odysseyDesignTokens={odysseyDesignTokens}\n        >\n          <Heading5 component=\"h2\">\n            {isLoading ? <Skeleton /> : appName}\n          </Heading5>\n        </SideNavHeadingContainer>\n      )}\n    </SideNavHeaderContainer>\n  );\n};\n\nconst MemoizedSideNavHeader = memo(SideNavHeader);\nMemoizedSideNavHeader.displayName = \"SideNavHeader\";\n\nexport { MemoizedSideNavHeader as SideNavHeader };\n"],"mappings":"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","ignoreList":[]}