{"version":3,"file":"SideNavItemLinkContent.cjs","names":["_styled","_interopRequireDefault","require","_react","_Badge","_Box","_OdysseyDesignTokensContext","_Status","_jsxRuntime","e","__esModule","default","SideNavItemLabelContainer","styled","shouldForwardProp","prop","odysseyDesignTokens","isIconVisible","width","marginInlineStart","Spacing3","alignItems","display","fontSize","TypographySizeBody","overflowWrap","SideNavItemLinkContent","count","label","startIcon","endIcon","severity","statusLabel","translate","useOdysseyDesignTokens","sideNavItemContentStyles","useMemo","gap","Spacing1","Spacing2","jsxs","Fragment","children","Boolean","jsx","Box","sx","Status","Badge","badgeContent","MemoizedSideNavItemLinkContent","exports","memo","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavItemLinkContent.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, ReactNode, useMemo } from \"react\";\n\nimport type { SideNavItem } from \"./types.js\";\n\nimport { Badge } from \"../../Badge.js\";\nimport { Box } from \"../../Box.js\";\nimport {\n  type DesignTokens,\n  useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { Status } from \"../../Status.js\";\n\nconst SideNavItemLabelContainer = styled(\"div\", {\n  shouldForwardProp: (prop) =>\n    prop !== \"odysseyDesignTokens\" && prop !== \"isIconVisible\",\n})<{\n  isIconVisible: boolean;\n  odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens, isIconVisible }) => ({\n  width: \"100%\",\n  marginInlineStart: isIconVisible ? odysseyDesignTokens.Spacing3 : 0,\n  alignItems: \"center\",\n  display: \"flex\",\n  fontSize: odysseyDesignTokens.TypographySizeBody,\n  overflowWrap: \"anywhere\", // New way to do `wordBreak: \"break-word\"`. Source: https://developer.mozilla.org/en-US/docs/Web/CSS/word-break#break-word\n}));\n\nconst SideNavItemLinkContent = ({\n  count,\n  label,\n  startIcon,\n  endIcon,\n  severity,\n  statusLabel,\n  translate,\n}: Pick<\n  SideNavItem,\n  | \"count\"\n  | \"label\"\n  | \"startIcon\"\n  | \"endIcon\"\n  | \"severity\"\n  | \"statusLabel\"\n  | \"translate\"\n>): ReactNode => {\n  const odysseyDesignTokens = useOdysseyDesignTokens();\n\n  const sideNavItemContentStyles = useMemo(\n    () => ({\n      alignItems: \"center\",\n      display: \"flex\",\n      gap: odysseyDesignTokens.Spacing1,\n      marginInlineStart: odysseyDesignTokens.Spacing2,\n    }),\n    [odysseyDesignTokens],\n  );\n\n  return (\n    <>\n      {startIcon && startIcon}\n      <SideNavItemLabelContainer\n        isIconVisible={Boolean(startIcon)}\n        odysseyDesignTokens={odysseyDesignTokens}\n        translate={translate}\n      >\n        {label}\n        {!count && severity && (\n          <Box sx={sideNavItemContentStyles}>\n            {severity && (\n              <Status label={statusLabel || \"\"} severity={severity} />\n            )}\n          </Box>\n        )}\n        {!severity && count && (\n          <Box sx={sideNavItemContentStyles}>\n            {count && <Badge badgeContent={count} />}\n          </Box>\n        )}\n      </SideNavItemLabelContainer>\n      {endIcon && endIcon}\n    </>\n  );\n};\nconst MemoizedSideNavItemLinkContent = memo(SideNavItemLinkContent);\nMemoizedSideNavItemLinkContent.displayName = \"SideNavItemLinkContent\";\n\nexport { MemoizedSideNavItemLinkContent as SideNavItemLinkContent };\n"],"mappings":"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","ignoreList":[]}