UNPKG

fumadocs-openapi

Version:

Generate MDX docs for your OpenAPI spec

25 lines (24 loc) 2.72 kB
'use client'; import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import * as React from 'react'; import * as DialogPrimitive from '@radix-ui/react-dialog'; import { X } from '../../icons.js'; import { cn } from 'fumadocs-ui/utils/cn'; import { buttonVariants } from 'fumadocs-ui/components/ui/button'; const Dialog = DialogPrimitive.Root; const DialogTrigger = DialogPrimitive.Trigger; const DialogPortal = DialogPrimitive.Portal; const DialogClose = DialogPrimitive.Close; const DialogOverlay = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Overlay, { ref: ref, className: cn('fixed inset-0 z-50 bg-black/30 backdrop-blur-sm data-[state=open]:animate-fd-fade-in data-[state=closed]:animate-fd-fade-out', className), ...props }))); DialogOverlay.displayName = DialogPrimitive.Overlay.displayName; const DialogContent = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(DialogPortal, { children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Content, { ref: ref, className: cn('fixed left-1/2 top-1/2 z-50 flex flex-col gap-4 w-full max-w-lg -translate-x-1/2 -translate-y-1/2 border bg-fd-popover p-4 shadow-lg rounded-xl duration-200 data-[state=open]:animate-fd-dialog-in data-[state=closed]:animate-fd-dialog-out focus-visible:outline-none', className), ...props, children: [children, _jsx(DialogPrimitive.Close, { "aria-label": "Close", className: cn(buttonVariants({ size: 'icon-sm', color: 'ghost' }), 'absolute end-2 top-2 text-fd-muted-foreground/70'), children: _jsx(X, {}) })] })] }))); DialogContent.displayName = DialogPrimitive.Content.displayName; const DialogHeader = ({ className, ...props }) => (_jsx("div", { className: cn('flex flex-col gap-1.5 text-center sm:text-start', className), ...props })); DialogHeader.displayName = 'DialogHeader'; const DialogFooter = ({ className, ...props }) => (_jsx("div", { className: cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:gap-2', className), ...props })); DialogFooter.displayName = 'DialogFooter'; const DialogTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Title, { ref: ref, className: cn('text-lg font-semibold leading-none tracking-tight', className), ...props }))); DialogTitle.displayName = DialogPrimitive.Title.displayName; const DialogDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Description, { ref: ref, className: cn('text-sm text-fd-muted-foreground', className), ...props }))); DialogDescription.displayName = DialogPrimitive.Description.displayName; export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, };