Introduction
Installation
Next.jsViteLaravelReact RouterRemixAstroTanStack StartTanStack RouterManual InstallationMCP
All componentsTheme
FieldFormInputText FieldTextareaSearch FieldInput OTPNumber FieldNumber FormatSliderCheckboxSwitchRadioSelectCombo BoxList BoxChoice BoxMulti SelectToken FieldNewTag FieldTag GroupCalendarDate FieldDate PickerDate Range PickerRange CalendarTime FieldColor PickerColor FieldColor AreaColor SliderColor SwatchColor Swatch PickerColor ThumbColor WheelDrop ZoneFile Trigger
ButtonButton GroupToggleToggle GroupPreskok Auth Button
EditorHeadingLinkTextKeyboard
CardContainerGrid ListResizableTableTreeSeparatorDescription ListScroll AreaShow MoreToolbar
BreadcrumbsNavbarPaginationTabsSidebar
DialogModalDrawerPopoverPreview TriggerNewSheetTooltipContext MenuDropdownCommandCommand MenuDisclosureMenu
ToastProgress BarProgress CircleMeterLoaderSkeletonNoteBadge
Chart (helpers)Area ChartBar ChartLine ChartPie ChartExperimental ChartsNewExperimental Radial ChartNewExperimental Radar ChartNewBar ListTracker
Async ImageAvatarCarouselPreskok Icon
Popups

Dialog

Modal dialog with header, body, and footer composition.

View as MarkdownAsk ChatGPT

Installation

npx shadcn@latest add @preskok/dialog

Usage

import {
  Dialog,
  DialogBody,
  DialogFooter,
  DialogHeader,
  DialogTrigger,
} from "@/components/ui/preskok-ui/dialog"

export function Example() {
  return (
    <DialogTrigger>
      <button>Open dialog</button>
      <Dialog>
        <DialogHeader title="Dialog title" description="Optional description" />
        <DialogBody>Content</DialogBody>
        <DialogFooter>
          <button slot="close">Close</button>
        </DialogFooter>
      </Dialog>
    </DialogTrigger>
  )
}

Components

  • Dialog: root
  • DialogTrigger, DialogHeader, DialogBody, DialogFooter

Sidebar

A composable, themeable, and customizable React Aria sidebar.

Modal

A modal dialog component with overlay and blur effects.

On this page

Installation
Usage
Components

Dialog title

Optional description

Content inside the dialog.