You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|**icon**|`string`| optional | Icon name (lucide icon key) |
324
324
|**type**|`string`| optional | Override cell renderer type (rare) |
325
+
|**readonly**|`boolean`| optional | Render this chip read-only — suppresses inline editing on the highlight card. Use for hook/automation-maintained columns that must not be hand-edited from the record header. |
325
326
326
327
---
327
328
@@ -334,7 +335,7 @@ Type: `string`
334
335
335
336
| Property | Type | Required | Description |
336
337
| :--- | :--- | :--- | :--- |
337
-
|**fields**|`string \| { name: string; label?: string; icon?: string; type?: string}[]`| ✅ | Key fields to highlight (1-7 fields max, typically displayed as prominent cards). Each item may be a bare field name or `{name, label?, icon?, type?}` for inline overrides. |
338
+
|**fields**|`string \| { name: string; label?: string; icon?: string; type?: string; … }[]`| ✅ | Key fields to highlight (1-7 fields max, typically displayed as prominent cards). Each item may be a bare field name or `{name, label?, icon?, type?, readonly?}` for inline overrides. |
icon: z.string().optional().describe('Icon name (lucide icon key)'),
225
225
type: z.string().optional().describe('Override cell renderer type (rare)'),
226
+
// #5176 — declared because it is already enforced: the renderer's
227
+
// HeaderHighlight gate refuses inline editing on a chip carrying it. Kept
228
+
// as a declared key (ADR-0049 enforce-or-remove, satisfied on arrival)
229
+
// rather than an undeclared key the renderer happens to honour — an
230
+
// undeclared key is silently stripped here, which turns a machine-owned
231
+
// column editable again with no diagnostic anywhere.
232
+
readonly: z.boolean().optional().describe('Render this chip read-only — suppresses inline editing on the highlight card. Use for hook/automation-maintained columns that must not be hand-edited from the record header.'),
226
233
}),
227
-
]).describe('Highlight field: bare name, or {name,label?,icon?,type?}');
234
+
]).describe('Highlight field: bare name, or {name,label?,icon?,type?,readonly?}');
228
235
229
236
exportconstRecordHighlightsProps=z.object({
230
-
fields: z.array(RecordHighlightsField).min(1).max(7).describe('Key fields to highlight (1-7 fields max, typically displayed as prominent cards). Each item may be a bare field name or {name, label?, icon?, type?} for inline overrides.'),
237
+
fields: z.array(RecordHighlightsField).min(1).max(7).describe('Key fields to highlight (1-7 fields max, typically displayed as prominent cards). Each item may be a bare field name or {name, label?, icon?, type?, readonly?} for inline overrides.'),
231
238
layout: z.enum(['horizontal','vertical']).default('horizontal').describe('Layout orientation for highlight fields'),
0 commit comments