Components

Create Record Dialog

Create Record Dialog component with multiple variants and sizes.

Client Only

Installation

pnpm dlx @docyrus/cli add @docyrus/ui-create-record-dialog
Required Packages(3 packages)
pnpm add radix-ui @types/react @types/react-dom
UI Primitives(6 components)
npx shadcn@latest add button command dialog dropdown-menu popover switch

Usage

import {
  CreateRecordDialog
} from "@docyrus/ui/components/create-record-dialog";

<CreateRecordDialog
  open
  onOpenChange={() => {}}
  headerIcon={...}
  headerLabel="..."
  headerFields={SelectorFieldConfig[]}
  subjectPlaceholder="..."
  descriptionPlaceholder="..."
  descriptionExpanded
  footerFields={SelectorFieldConfig[]}
  footerToggles={FooterToggleConfig[]}
  mentionTriggers={MentionTriggerConfig[]}
  onMentionSelect={() => {}}
  aiActions={AiAction[]}
  enableCreateMore
  createMoreResetKeys={string[]}
  onSubmit={() => {}}
  isPending
  saveLabel="..."
  cancelLabel="..."
  createMoreLabel="..."
  addDescriptionLabel="..."
  dialogTitle="..."
/>

API Reference

PropTypeDefault
openboolean—
onOpenChange(open: boolean) => void—
headerIconReactNode—
headerLabelstring—
headerFieldsSelectorFieldConfig[]—
subjectPlaceholderstring—
descriptionPlaceholderstring—
descriptionExpandedboolean—
footerFieldsSelectorFieldConfig[]—
footerTogglesFooterToggleConfig[]—
mentionTriggersMentionTriggerConfig[]—
onMentionSelect(selection: MentionSelection) => void—
aiActionsAiAction[]—
enableCreateMoreboolean—
createMoreResetKeysstring[]—
onSubmit(data: CreateRecordFormData) => void | Promise<void>—
isPendingboolean—
saveLabelstring—
cancelLabelstring—
createMoreLabelstring—
addDescriptionLabelstring—
dialogTitlestring—
classNamestring—

On this page