{"version":3,"file":"side-panel.cjs","sources":["../../../components/side-panel/side-panel.tsx"],"sourcesContent":["import { cva, cx, VariantProps } from 'class-variance-authority';\nimport { ComponentProps, Fragment, ReactNode, useId } from 'react';\nimport { Flex } from '../flex';\nimport { Text } from '../text';\nimport styles from './side-panel.module.css';\n\nconst sidePanelRoot = cva(styles['side-panel'], {\n  variants: {\n    side: {\n      left: styles['side-panel-left'],\n      right: styles['side-panel-right']\n    }\n  },\n  defaultVariants: {\n    side: 'right'\n  }\n});\n\ninterface SidePanelProps\n  extends ComponentProps<'aside'>,\n    VariantProps<typeof sidePanelRoot> {}\n\nconst SidePanelRoot = ({\n  side = 'right',\n  className,\n  ...props\n}: SidePanelProps) => {\n  return (\n    <aside\n      className={sidePanelRoot({ side, className })}\n      data-slot='side-panel'\n      {...props}\n    />\n  );\n};\n\nSidePanelRoot.displayName = 'SidePanel';\n\ninterface SidePanelHeaderProps extends ComponentProps<'div'> {\n  title: string;\n  icon?: ReactNode;\n  actions?: Array<ReactNode>;\n  description?: string;\n  titleId?: string;\n}\n\nconst SidePanelHeader = ({\n  title,\n  icon,\n  actions = [],\n  description,\n  titleId,\n  ...props\n}: SidePanelHeaderProps) => {\n  const generatedId = useId();\n  const headingId = titleId ?? generatedId;\n  return (\n    <div\n      className={styles['side-panel-header']}\n      data-slot='side-panel-header'\n      {...props}\n    >\n      <Flex\n        gap={3}\n        justify='between'\n        align='center'\n        data-slot='side-panel-header-content'\n      >\n        <Flex gap={3} data-slot='side-panel-title-group'>\n          {icon}\n          <Text\n            id={headingId}\n            render={<h2 />}\n            size='large'\n            weight='medium'\n            data-slot='side-panel-title'\n          >\n            {title}\n          </Text>\n        </Flex>\n        <Flex gap={3} data-slot='side-panel-actions'>\n          {actions?.map((action, index) => (\n            <Fragment key={index}>{action}</Fragment>\n          ))}\n        </Flex>\n      </Flex>\n      {description ? (\n        <Text size='small' data-slot='side-panel-description'>\n          {description}\n        </Text>\n      ) : null}\n    </div>\n  );\n};\n\nSidePanelHeader.displayName = 'SidePanel.Header';\n\ninterface SidePanelSectionProps extends ComponentProps<'div'> {}\n\nconst SidePanelSection = ({ className, ...props }: SidePanelSectionProps) => {\n  return (\n    <div\n      className={cx(styles['side-panel-section'], className)}\n      data-slot='side-panel-section'\n      {...props}\n    />\n  );\n};\n\nSidePanelSection.displayName = 'SidePanel.Section';\n\nexport const SidePanel = Object.assign(SidePanelRoot, {\n  Header: SidePanelHeader,\n  Section: SidePanelSection\n});\n"],"names":["cva","styles","_jsx","useId","_jsxs","Flex","Text","Fragment","cx"],"mappings":"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"}