{"version":3,"file":"index.cjs","sources":["../../../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import * as RadixDialog from '@radix-ui/react-dialog';\nimport { Button, ButtonProps } from '@/components/Button';\nimport { Icon } from '@/components/Icon';\nimport { Spacer } from '@/components/Spacer';\nimport { CrossButton } from '@/components/CrossButton';\nimport { cn, cva } from '@/lib/cva';\nimport { DialogContentProps, DialogProps, DialogTriggerProps } from './Dialog.types';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\nimport styles from './Dialog.module.css';\n\nexport const Dialog = ({ children, ...props }: DialogProps) => {\n  return <RadixDialog.Root {...props}>{children}</RadixDialog.Root>;\n};\n\nconst DialogTrigger = ({\n  children,\n  asChild,\n  className,\n  ...props\n}: DialogTriggerProps) => {\n  return (\n    <RadixDialog.Trigger\n      asChild={asChild}\n      className={asChild ? className : cn(styles.trigger, className)}\n      {...props}\n    >\n      {children}\n    </RadixDialog.Trigger>\n  );\n};\n\nDialogTrigger.displayName = 'DialogTrigger';\nDialog.Trigger = DialogTrigger;\n\nconst DialogClose = ({ label = 'Close', type = 'secondary', ...props }: ButtonProps) => (\n  <RadixDialog.Close asChild>\n    <Button\n      type={type}\n      label={label}\n      {...props}\n    />\n  </RadixDialog.Close>\n);\n\nDialogClose.displayName = 'DialogClose';\nDialog.Close = DialogClose;\n\nconst contentAreaVariants = cva(styles.content, {\n  variants: {\n    reducePadding: {\n      true: styles['content_reduce-padding'],\n    },\n  },\n});\n\nconst titleAreaVariants = cva(styles['title-area'], {\n  variants: {\n    onlyClose: {\n      true: styles['title-area_only-close'],\n    },\n  },\n});\n\nconst CloseButton = ({ onClose }: { onClose?: () => void }) => (\n  <RadixDialog.Close asChild>\n    <CrossButton onClick={onClose}>\n      <Icon\n        name=\"cross\"\n        size=\"lg\"\n      />\n    </CrossButton>\n  </RadixDialog.Close>\n);\n\nconst DialogContent = ({\n  title,\n  description,\n  children,\n  showClose,\n  onClose,\n  forceMount,\n  container,\n  showOverlay = true,\n  reducePadding = false,\n  className,\n  ...props\n}: DialogContentProps) => {\n  const portalContainer = useResolvedPortalContainer(container);\n\n  return (\n    <RadixDialog.Portal\n      forceMount={forceMount}\n      container={portalContainer}\n    >\n      {showOverlay && <RadixDialog.Overlay className={styles.overlay} />}\n      <RadixDialog.Content\n        data-testid=\"click-dialog-contentarea\"\n        {...props}\n        className={cn(contentAreaVariants({ reducePadding }), className)}\n      >\n        {(title || showClose) && (\n          <>\n            <div className={cn(titleAreaVariants({ onlyClose: !!showClose && !title }))}>\n              {title && (\n                <RadixDialog.Title\n                  data-testid=\"click-dialog-title\"\n                  className={styles.title}\n                >\n                  {title}\n                </RadixDialog.Title>\n              )}\n              {showClose && (\n                <CloseButton\n                  data-testid=\"click-dialog-close\"\n                  onClose={onClose}\n                />\n              )}\n            </div>\n            <Spacer size=\"sm\" />\n          </>\n        )}\n        {description ? (\n          <RadixDialog.Description className={styles.description}>\n            {description}\n          </RadixDialog.Description>\n        ) : (\n          <RadixDialog.Description hidden />\n        )}\n        {children}\n      </RadixDialog.Content>\n    </RadixDialog.Portal>\n  );\n};\n\nDialogContent.displayName = 'DialogContent';\nDialog.Content = DialogContent;\n"],"names":["RadixDialog","jsx","cn","styles","Button","cva","CrossButton","Icon","useResolvedPortalContainer","jsxs","Fragment","Spacer"],"mappings":"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"}