Detail Config
Type: FluiKitDetailConfig.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
enabled | boolean | No | Enables detail rendering. |
mode | "inline" | "modal" | "drawer" | "page" | No | Detail surface. |
title | string | No | Detail title. |
fields | FluiKitDetailFieldInput[] | No | Detail field definitions. |
width | string | No | Surface width. |
grid | FluiKitGridConfig | No | Detail grid config. |
className | string | No | Detail class name. |
Detail field
Type: FluiKitDetailFieldConfig.
| Property | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Field key. |
label | string | No | Display label. |
valueFrom | string | No | Source path. |
type | FluiKitTableColumnType | FluiKitFieldType | No | Value type. |
renderer | string | No | Registry renderer key. |
className | string | No | Field class name. |
Nothing renders if enabled is false. Each field's value resolves from field.valueFrom, falling back to field.key. When field.renderer resolves in registry.renderers, it takes priority over the built-in formatting; otherwise values fall back to - for empty, Yes/No for boolean, a pretty-printed JSON block for objects, and the string form otherwise.
Example
TS
detail: {
enabled: true,
mode: "drawer",
fields: [
"name",
"email",
{ key: "status", label: "Status", renderer: "StatusBadge" }
]
}