{"version":3,"sources":["../components/ui/dialog.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport { Dialog as DialogPrimitive } from 'radix-ui';\n\nimport { cn } from '../../utils/ui';\nimport { Button } from './button';\nimport { XIcon } from 'lucide-react';\n\nfunction Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n  return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\nfunction DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n  return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n  return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>) {\n  return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nfunction DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n  return (\n    <DialogPrimitive.Overlay\n      data-slot=\"dialog-overlay\"\n      className={cn(\n        'data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 isolate z-50',\n        className,\n      )}\n      {...props}\n    />\n  );\n}\n\nfunction DialogContent({\n  className,\n  children,\n  showCloseButton = true,\n  ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n  showCloseButton?: boolean;\n}) {\n  return (\n    <DialogPortal>\n      <DialogOverlay />\n      <DialogPrimitive.Content\n        data-slot=\"dialog-content\"\n        aria-describedby={props['aria-describedby'] || undefined}\n        className={cn(\n          'bg-background data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 ring-foreground/10 grid max-w-[calc(100%-2rem)] gap-4 rounded-xl p-4 text-sm ring-1 duration-100 sm:max-w-sm fixed top-1/2 left-1/2 z-50 w-full -translate-x-1/2 -translate-y-1/2 outline-none',\n          className,\n        )}\n        {...props}\n      >\n        {children}\n        {showCloseButton && (\n          <DialogPrimitive.Close data-slot=\"dialog-close\" asChild>\n            <Button variant=\"ghost\" className=\"absolute top-2 right-2\" size=\"icon-sm\">\n              <XIcon />\n              <span className=\"sr-only\">Close</span>\n            </Button>\n          </DialogPrimitive.Close>\n        )}\n      </DialogPrimitive.Content>\n    </DialogPortal>\n  );\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n  return <div data-slot=\"dialog-header\" className={cn('gap-2 flex flex-col', className)} {...props} />;\n}\n\nfunction DialogFooter({\n  className,\n  showCloseButton = false,\n  children,\n  ...props\n}: React.ComponentProps<'div'> & {\n  showCloseButton?: boolean;\n}) {\n  return (\n    <div\n      data-slot=\"dialog-footer\"\n      className={cn(\n        'bg-muted/50 -mx-4 -mb-4 rounded-b-xl border-t p-4 flex flex-col-reverse gap-2 sm:flex-row sm:justify-end',\n        className,\n      )}\n      {...props}\n    >\n      {children}\n      {showCloseButton && (\n        <DialogPrimitive.Close asChild>\n          <Button variant=\"secondary\">Close</Button>\n        </DialogPrimitive.Close>\n      )}\n    </div>\n  );\n}\n\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n  return (\n    <DialogPrimitive.Title\n      data-slot=\"dialog-title\"\n      className={cn('text-base leading-none font-medium cn-font-heading', className)}\n      {...props}\n    />\n  );\n}\n\nfunction DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>) {\n  return (\n    <DialogPrimitive.Description\n      data-slot=\"dialog-description\"\n      className={cn(\n        'text-muted-foreground *:[a]:hover:text-foreground text-sm *:[a]:underline *:[a]:underline-offset-3',\n        className,\n      )}\n      {...props}\n    />\n  );\n}\n\nexport {\n  Dialog,\n  DialogClose,\n  DialogContent,\n  DialogDescription,\n  DialogFooter,\n  DialogHeader,\n  DialogOverlay,\n  DialogPortal,\n  DialogTitle,\n  DialogTrigger,\n};\n"],"mappings":"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","names":[]}