Dakik// Bits
Dakik.co.uk
All bits

// Overlays

Dialog

A dialog for displaying content.

// Rendering preview…

// Install

npx shadcn@latest add @dakik/dialog

// Usage

1import { Dialog, DialogTrigger, DialogOverlay, DialogPositioner } from "@/components/ui/dialog";
2
3<Dialog />

// Code

1"use client";
2
3import { Dialog as ArkDialog, useDialogContext } from "@ark-ui/react/dialog";
4import { ark } from "@ark-ui/react/factory";
5import { Portal } from "@ark-ui/react/portal";
6import { XIcon } from "lucide-react";
7import React from "react";
8import { tv, type VariantProps } from "tailwind-variants";
9import { cn } from "@/lib/utils";
10import { Button } from "@/registry/react/components/button";
11import { ScrollArea } from "@/registry/react/components/scroll-area";
12
13export const useDialog = useDialogContext;
14
15interface DialogContextProps {
16 /**
17 * Used internally to show or hide overlay
18 *
19 * @default true
20 */
21 modal?: boolean;
22}
23
24const DialogContext = React.createContext({} as DialogContextProps);
25
26export const Dialog = (props: React.ComponentProps<typeof ArkDialog.Root>) => {
27 const {
28 modal = true,

// Dependencies