Components

Editable Value

Inline editable field with display/edit mode switching, popover auto-open, and change tracking.

Client Only

Installation

pnpm dlx @docyrus/cli add @docyrus/ui-editable-value
UI Primitives(1 component)
npx shadcn@latest add button

Usage

import {
  EditableValue
} from "@docyrus/ui/components/editable-value";

<EditableValue
  variant="default"
  size="sm"
  field={...}
  value={...}
  onValueChange={() => {}}
  onCompanionChange={() => {}}
  record={...}
  enumOptions={EnumOption[]}
  form={...}
  disabled
  readOnly
  showActions
  explicitSave
  editing
  onEditingChange={() => {}}
  trackChanges
  changed
  appSlug="..."
  dataSourceSlug="..."
/>

Variants

VariantDescription
defaultDefault style
ghostGhost variant

Sizes

SizeDescription
smSmall — min-h-7 px-1.5 py-0.5 text-xs
defaultDefault — min-h-9 px-2 py-1 text-sm
lgLarge — min-h-11 px-3 py-1.5 text-base

API Reference

PropTypeDefault
variant"default" | "ghost""default"
size"sm" | "default" | "lg""default"
fieldIField—
valueunknown—
onValueChange(value: unknown) => void—
onCompanionChange(changes: Record<string, unknown>) => void—
recordRecord<string, unknown>—
enumOptionsArray<EnumOption>—
formany—
disabledboolean—
readOnlyboolean—
showActionsboolean—
explicitSaveboolean—
editingboolean—
onEditingChange(editing: boolean) => void—
trackChangesboolean—
changedboolean—
editHint"progressive" | "visible""progressive"
appSlugstring—
dataSourceSlugstring—
classNamestring—

On this page