{"version":3,"file":"sidebar-leading-visual.cjs","sources":["../../../components/sidebar/sidebar-leading-visual.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'class-variance-authority';\nimport { ComponentProps, ReactNode } from 'react';\nimport { Avatar } from '../avatar';\nimport { Flex } from '../flex';\nimport styles from './sidebar.module.css';\n\ninterface SidebarLeadingVisualProps {\n  leadingIcon?: ReactNode;\n  fallbackText?: string;\n  className?: string;\n  render?: ComponentProps<typeof Flex>['render'];\n}\n\nfunction AvatarContainer({\n  children,\n  className,\n  render\n}: {\n  children: ReactNode;\n  className?: string;\n  render?: ComponentProps<typeof Flex>['render'];\n}) {\n  return (\n    <Flex\n      align='center'\n      gap={3}\n      className={cx(styles['nav-leading-icon'], className)}\n      aria-hidden='true'\n      data-slot='sidebar-leading-icon'\n      render={render}\n    >\n      {children}\n    </Flex>\n  );\n}\n\nexport function SidebarLeadingVisual({\n  leadingIcon,\n  fallbackText,\n  className,\n  render\n}: SidebarLeadingVisualProps) {\n  if (leadingIcon) {\n    return (\n      <AvatarContainer className={className} render={render}>\n        {leadingIcon}\n      </AvatarContainer>\n    );\n  }\n\n  if (fallbackText && fallbackText.length > 0) {\n    return (\n      <AvatarContainer className={className} render={render}>\n        <Avatar\n          size={1}\n          variant='soft'\n          color='neutral'\n          fallback={fallbackText[0].toUpperCase()}\n          className={styles['nav-fallback-avatar']}\n        />\n      </AvatarContainer>\n    );\n  }\n\n  return null;\n}\n"],"names":[],"mappings":";;;;;;;;;AAeA;AASE;AAYF;AAEM;;AAOF;;;;;AAqBF;AACF;;"}