{"version":3,"file":"index.cjs","sources":["../../../../src/components/Flyout/Flyout.tsx"],"sourcesContent":["import { CSSProperties, ReactNode, useMemo } from 'react';\nimport { useTheme } from '@/theme/ThemeContext';\nimport {\n  Dialog,\n  DialogClose,\n  DialogContent,\n  DialogDescription,\n  DialogOverlay,\n  DialogPortal,\n  DialogTitle,\n  DialogTrigger,\n} from '@radix-ui/react-dialog';\nimport { Button } from '@/components/Button';\nimport type { ButtonProps } from '@/components/Button';\nimport { CodeBlock } from '@/components/CodeBlock';\nimport { Container } from '@/components/Container';\nimport type { ContainerProps } from '@/components/Container';\nimport { Icon } from '@/components/Icon';\nimport { Separator } from '@/components/Separator';\nimport { Spacer } from '@/components/Spacer';\nimport { CrossButton } from '@/components/CrossButton';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\nimport { cn, cva } from '@/lib/cva';\nimport styles from './Flyout.module.css';\nimport type {\n  FlyoutProps,\n  FlyoutTriggerProps,\n  FlyoutContentProps,\n  FlyoutHeaderProps,\n  FlyoutFooterProps,\n  FlyoutType,\n} from './Flyout.types';\n\nexport const Flyout = ({ modal = false, ...props }: FlyoutProps) => {\n  return (\n    <Dialog\n      modal={modal}\n      {...props}\n    />\n  );\n};\n\nconst Trigger = ({ children, ...props }: FlyoutTriggerProps) => {\n  return (\n    <DialogTrigger asChild>\n      <div {...props}>{children}</div>\n    </DialogTrigger>\n  );\n};\nTrigger.displayName = 'Flyout.Trigger';\nFlyout.Trigger = Trigger;\n\nconst contentVariants = cva(styles.content, {\n  variants: {\n    type: {\n      default: styles.content_type_default,\n      inline: styles.content_type_inline,\n    },\n    strategy: {\n      relative: styles.content_strategy_relative,\n      absolute: styles.content_strategy_absolute,\n      fixed: styles.content_strategy_fixed,\n    },\n    align: {\n      start: styles.content_align_start,\n      end: styles.content_align_end,\n    },\n    hasShadow: {\n      true: '',\n      false: styles['content_no-shadow'],\n    },\n  },\n  defaultVariants: {\n    type: 'default',\n    align: 'end',\n    hasShadow: true,\n  },\n});\n\nconst Content = ({\n  showOverlay = false,\n  children,\n  container,\n  strategy = 'relative',\n  size = 'default',\n  type = 'default',\n  closeOnInteractOutside = false,\n  width,\n  align = 'end',\n  hasShadow = true,\n  onInteractOutside,\n  className,\n  style,\n  ...props\n}: FlyoutContentProps) => {\n  const portalContainer = useResolvedPortalContainer(container);\n  const theme = useTheme();\n\n  const mergedStyle = useMemo(() => {\n    // Resolve the default width from the typed theme so an invalid `size`\n    // fails at compile time, rather than silently emitting a non-existent\n    // CSS variable. A non-empty `width` prop always wins; `||` (matching the\n    // pre-migration styled version) also falls back on an empty-string width.\n    const resolvedWidth = width || theme.click.flyout.size[size].width;\n\n    return {\n      '--flyout-width': resolvedWidth,\n      ...style,\n    } as CSSProperties;\n  }, [width, size, style, theme]);\n\n  return (\n    <DialogPortal container={portalContainer}>\n      {showOverlay && <DialogOverlay className=\"DialogOverlay\" />}\n      <DialogContent\n        onInteractOutside={e => {\n          if (!closeOnInteractOutside) {\n            e.preventDefault();\n          }\n          if (typeof onInteractOutside === 'function') {\n            onInteractOutside(e);\n          }\n        }}\n        {...props}\n        style={mergedStyle}\n        className={cn(contentVariants({ type, strategy, align, hasShadow }), className)}\n      >\n        {children}\n      </DialogContent>\n    </DialogPortal>\n  );\n};\nContent.displayName = 'Flyout.Content';\nFlyout.Content = Content;\n\nconst elementVariants = cva(styles.element, {\n  variants: {\n    type: {\n      default: styles.element_type_default,\n      inline: styles.element_type_inline,\n    },\n  },\n  defaultVariants: {\n    type: 'default',\n  },\n});\n\ninterface ElementProps extends Omit<\n  ContainerProps,\n  'component' | 'padding' | 'gap' | 'orientation'\n> {\n  type?: FlyoutType;\n  className?: string;\n}\n\nconst Element = ({ type, className, ...props }: ElementProps) => (\n  <Container\n    orientation=\"vertical\"\n    padding=\"none\"\n    gap=\"none\"\n    {...props}\n    className={cn(elementVariants({ type }), className)}\n  />\n);\n\nElement.displayName = 'Flyout.Element';\nFlyout.Element = Element;\n\nconst headerVariants = cva(styles.header, {\n  variants: {\n    type: {\n      default: styles.header_type_default,\n      inline: styles.header_type_inline,\n    },\n  },\n  defaultVariants: {\n    type: 'default',\n  },\n});\n\nconst titleVariants = cva(styles.title, {\n  variants: {\n    type: {\n      default: styles.title_type_default,\n      inline: styles.title_type_inline,\n    },\n  },\n  defaultVariants: {\n    type: 'default',\n  },\n});\n\nconst descriptionVariants = cva(styles.description, {\n  variants: {\n    type: {\n      default: styles.description_type_default,\n      inline: styles.description_type_inline,\n    },\n  },\n  defaultVariants: {\n    type: 'default',\n  },\n});\n\nconst Header = ({\n  title,\n  description,\n  type,\n  children,\n  showClose = true,\n  showSeparator = true,\n  className,\n  ...props\n}: FlyoutHeaderProps) => {\n  if (children) {\n    return (\n      <div className={styles.container}>\n        <Container\n          justifyContent=\"space-between\"\n          alignItems=\"start\"\n          padding=\"none\"\n          gap=\"none\"\n          fillWidth={false}\n          isResponsive={false}\n          {...props}\n          className={cn(headerVariants({ type }), className)}\n        >\n          <Container\n            padding=\"none\"\n            gap=\"none\"\n            orientation=\"vertical\"\n            grow=\"1\"\n          >\n            {children}\n          </Container>\n          {showClose && (\n            <DialogClose asChild>\n              <CrossButton data-testid=\"flyout-header-close-btn\">\n                <Icon\n                  name=\"cross\"\n                  size={type === 'inline' ? 'md' : 'lg'}\n                />\n              </CrossButton>\n            </DialogClose>\n          )}\n        </Container>\n        {showSeparator && (\n          <Separator\n            data-testid=\"flyout-header-separator\"\n            size=\"lg\"\n          />\n        )}\n      </div>\n    );\n  }\n\n  return (\n    <div className={styles.container}>\n      <Container\n        justifyContent=\"space-between\"\n        alignItems=\"start\"\n        fillWidth={false}\n        isResponsive={false}\n        {...props}\n        className={cn(headerVariants({ type }), className)}\n      >\n        <Container\n          padding=\"none\"\n          gap=\"none\"\n          orientation=\"vertical\"\n          grow=\"1\"\n        >\n          <DialogTitle className={cn(titleVariants({ type }))}>{title}</DialogTitle>\n          {description && (\n            <DialogDescription className={cn(descriptionVariants({ type }))}>\n              {description}\n            </DialogDescription>\n          )}\n        </Container>\n        {showClose && (\n          <DialogClose asChild>\n            <CrossButton data-testid=\"flyout-header-close-btn\">\n              <Icon\n                name=\"cross\"\n                size={type === 'inline' ? 'md' : 'lg'}\n              />\n            </CrossButton>\n          </DialogClose>\n        )}\n      </Container>\n      {showSeparator && (\n        <Separator\n          data-testid=\"flyout-header-separator\"\n          size=\"lg\"\n        />\n      )}\n    </div>\n  );\n};\nHeader.displayName = 'Flyout.Header';\nFlyout.Header = Header;\n\ntype FlyoutAlign = 'default' | 'top';\n\nconst bodyVariants = cva(styles.body, {\n  variants: {\n    align: {\n      default: styles.body_align_default,\n      top: styles.body_align_top,\n    },\n  },\n  defaultVariants: {\n    align: 'default',\n  },\n});\n\ninterface BodyProps extends ContainerProps {\n  align?: FlyoutAlign;\n  className?: string;\n}\n\nconst Body = ({ align, className, ...props }: BodyProps) => (\n  <Container\n    overflow=\"auto\"\n    orientation=\"vertical\"\n    grow=\"1\"\n    {...props}\n    className={cn(bodyVariants({ align }), className)}\n  />\n);\n\nBody.displayName = 'Flyout.Body';\nFlyout.Body = Body;\n\nconst footerVariants = cva(styles.footer, {\n  variants: {\n    type: {\n      default: styles.footer_type_default,\n      inline: styles.footer_type_inline,\n    },\n  },\n  defaultVariants: {\n    type: 'default',\n  },\n});\n\ninterface FlyoutButtonProps extends Omit<ButtonProps, 'children'> {\n  children?: never;\n}\n\nconst FlyoutClose = ({\n  children,\n  ...props\n}: FlyoutButtonProps | { children?: ReactNode }) => {\n  return (\n    <DialogClose asChild>\n      {children ?? (\n        <Button\n          type=\"secondary\"\n          {...props}\n        />\n      )}\n    </DialogClose>\n  );\n};\nFlyoutClose.displayName = 'Flyout.Close';\nFlyout.Close = FlyoutClose;\n\nconst Footer = ({ type, className, ...props }: FlyoutFooterProps) => {\n  return (\n    <Container\n      gap=\"none\"\n      orientation=\"vertical\"\n      alignItems=\"end\"\n      className={styles['footer-container']}\n    >\n      <Separator size=\"xs\" />\n      <Container\n        justifyContent=\"end\"\n        gap=\"none\"\n        padding=\"none\"\n        isResponsive={false}\n        wrap=\"wrap\"\n        {...props}\n        className={cn(footerVariants({ type }), className)}\n      />\n    </Container>\n  );\n};\nFooter.displayName = 'Flyout.Footer';\nFlyout.Footer = Footer;\n\ninterface FlyoutCodeBlockProps extends ContainerProps {\n  language?: string;\n  statement: string;\n  showLineNumbers?: boolean;\n  showWrapButton?: boolean;\n  wrapLines?: boolean;\n  onCopy?: (value: string) => void | Promise<void>;\n  onCopyError?: (error: string) => void | Promise<void>;\n}\nconst FlyoutCodeBlock = ({\n  statement,\n  language,\n  wrapLines,\n  showLineNumbers,\n  showWrapButton,\n  onCopy,\n  onCopyError,\n  className,\n  ...props\n}: FlyoutCodeBlockProps & ElementProps) => {\n  return (\n    <Element\n      fillHeight\n      {...props}\n    >\n      <CodeBlock\n        className={cn(styles['code-block'], className)}\n        wrapLines={wrapLines}\n        language={language}\n        showLineNumbers={showLineNumbers}\n        showWrapButton={showWrapButton}\n        onCopy={onCopy}\n        onCopyError={onCopyError}\n      >\n        {statement}\n      </CodeBlock>\n      <Spacer size=\"xs\" />\n    </Element>\n  );\n};\n\nFlyout.CodeBlock = FlyoutCodeBlock;\n"],"names":["jsx","Dialog","DialogTrigger","cva","styles","useResolvedPortalContainer","useTheme","useMemo","jsxs","DialogPortal","DialogOverlay","DialogContent","cn","Container","DialogClose","CrossButton","Icon","Separator","DialogTitle","DialogDescription","Button","CodeBlock","Spacer"],"mappings":"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"}