Components

Enum Option Editor

Enum Option Editor component.

Client Only

Installation

pnpm dlx @docyrus/cli add @docyrus/ui-enum-option-editor
Required Packages(1 package)
pnpm add @tanstack/react-query
UI Primitives(11 components)
npx shadcn@latest add alert badge button dialog input label popover scroll-area separator sortable switch

Usage

import {
  EnumOptionEditor,
  EnumOptionEditorDialog
} from "@docyrus/ui/components/enum-option-editor";
import type {
  EnumEditorOption,
  EnumOptionOrigin,
  EnumOptionInput,
  EnumOptionEditorProps,
  EnumOptionEditorDialogProps,
  DocyrusEnumOptionEditorProps,
  UseDocyrusEnumEditorPermissionOptions
} from "@docyrus/ui/components/enum-option-editor";

<EnumOptionEditor
  value={...}
  disabled
  onChange={() => {}}
/>

API Reference

PropTypeDefault
valuestring | undefined—
disabledboolean—
onChange(value: string | undefined) => void—
classNamestring—

Components

ComponentDescription
EnumOptionEditorPublic export
EnumOptionEditorDialogPublic export
ADMINInternal — docyrus-enum-option-editor.tsx
ARCHITECTInternal — docyrus-enum-option-editor.tsx
DocyrusEnumOptionEditorInternal — docyrus-enum-option-editor.tsx

Type Exports

TypeDescription
EnumEditorOption—
EnumOptionOrigin—
EnumOptionInput—
EnumOptionEditorProps—
EnumOptionEditorDialogProps—
DocyrusEnumOptionEditorProps—
UseDocyrusEnumEditorPermissionOptions—

Type Reference

EnumEditorOption

FieldTypeDescription
originEnumOptionOrigin—
isCustomizedboolean—

EnumOptionOrigin

"custom" | "inherited"

EnumOptionInput

FieldTypeDescription
namestring—
slugstring—
colorstring—
iconstring—
descriptionstring—
activeboolean—
parentstring—

EnumOptionEditorProps

FieldTypeDescription
optionsEnumEditorOption[]—
onCreateOption(input: EnumOptionInput) => Promise<EnumEditorOption> | EnumEditorOption—
onUpdateOption(id: string, patch: Partial<EnumOptionInput>) => Promise<void> | void—
onDeleteOption(id: string) => Promise<void> | void—
onRevertOption(id: string) => Promise<void> | void—
onReorder(orderedIds: string[]) => Promise<void> | void—
readOnlyboolean—
allowCreateboolean—
allowDeleteboolean—
allowReorderboolean—
noticeTextstring—
emptyTextstring—
classNamestring—

EnumOptionEditorDialogProps

FieldTypeDescription
triggerReactNode—
openboolean—
onOpenChange(open: boolean) => void—
titlestring—
descriptionstring—
disabledboolean—

DocyrusEnumOptionEditorProps

FieldTypeDescription
clientRestApiClient—
appIdstring—
dataSourceIdstring—
fieldIdstring—
fieldNamestring—
triggerReactNode—
openboolean—
onOpenChange(open: boolean) => void—
onChanged() => void—
disabledboolean—
titlestring—

UseDocyrusEnumEditorPermissionOptions

FieldTypeDescription
enabledboolean—
adminRoleIdsArray<string>—
meEndpointstring—

On this page