MicroClub Dialog
mcoli-ui-registry/mc-dialogFreeComponent
A dialog component for MicroClub UI
Live preview
live · rendered by the registry
Rendered by mcoli-ui-registry on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://mcoli-ui.microclub.info/r/mc-dialog.jsonSource
1'use client';23import * as React from 'react';4import { Dialog as DialogPrimitive } from '@base-ui/react/dialog';5import { XIcon } from 'lucide-react';67import { cn } from '@/lib/utils';8import { McButton } from '@/registry/ui/mc-button';910function McDialog({ ...props }: DialogPrimitive.Root.Props) {11 return <DialogPrimitive.Root data-slot="dialog" {...props} />;12}1314function McDialogTrigger({ ...props }: DialogPrimitive.Trigger.Props) {15 return <DialogPrimitive.Trigger data-slot="dialog-trigger" {...props} />;16}1718function McDialogPortal({ ...props }: DialogPrimitive.Portal.Props) {19 return <DialogPrimitive.Portal data-slot="dialog-portal" {...props} />;20}2122function McDialogClose({ ...props }: DialogPrimitive.Close.Props) {23 return <DialogPrimitive.Close data-slot="dialog-close" {...props} />;24}2526function McDialogOverlay({ className, ...props }: DialogPrimitive.Backdrop.Props) {27 return (28 <DialogPrimitive.Backdrop29 data-slot="dialog-overlay"30 className={cn(31 'fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0',32 className33 )}34 {...props}35 />36 );37}3839function McDialogContent({40 className,41 children,42 showCloseButton = true,43 ...props44}: DialogPrimitive.Popup.Props & {45 showCloseButton?: boolean;46}) {47 return (48 <McDialogPortal>49 <McDialogOverlay />50 <DialogPrimitive.Popup51 data-slot="dialog-content"52 className={cn(53 'fixed top-1/2 left-1/2 z-50 grid w-[min(423px,calc(100%-2rem))] gap-4 rounded-lg border bg-popover p-6 text-sm text-popover-foreground opacity-100 -translate-x-1/2 -translate-y-1/2 duration-100 outline-none sm:min-h-[344px] data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95',54 className55 )}56 {...props}57 >58 {children}59 {showCloseButton && (60 <DialogPrimitive.Close61 data-slot="dialog-close"62 render={63 <McButton64 variant="tertiary"65 className="absolute top-2 right-2 !bg-transparent text-muted-foreground shadow-none hover:!bg-transparent hover:text-foreground active:text-foreground focus:outline-none focus-visible:ring-0 focus-visible:ring-transparent focus-visible:shadow-none"66 size="sm"67 icon="only"68// … truncated
What it pulls in
npm packages
Files it writes
More from mcoli-ui-registry
All 42 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| MicroClub Accordionmc-accordion | mcoli-ui-registry | Components | Free | 2 deps | |
| MicroClub Alertmc-alert | mcoli-ui-registry | Components | Free | 1 dep | |
| MicroClub Alert Dialogmc-alert-dialog | mcoli-ui-registry | Components | Free | 1 dep | |
| MicroClub Avatarmc-avatar | mcoli-ui-registry | Components | Free | 1 dep | |
| MicroClub Badgemc-badge | mcoli-ui-registry | Components | Free | 1 dep | |
| MicroClub Breadcrumbmc-breadcrumb | mcoli-ui-registry | Components | Free | 2 deps | |
| MicroClub Buttonmc-button | mcoli-ui-registry | Components | Free | 2 deps | |
| MicroClub Calendarmc-calendar | mcoli-ui-registry | Components | Free | 3 deps |
