BoundSlotValue
The value shape a binding holds after bind-time normalization: `SlotValue` for every kind except a RECORD list, whose bound rows are always the declared-fields row (`RowValue`) — row normalization keeps the editor-stamped `id` plus each DECLARED field and drops everything else, so a whole-row-baked slot's projection-only fields (which `SlotValue` types on the raw slot value) never survive into a binding.
The value shape a binding holds after bind-time normalization: SlotValue
for every kind except a RECORD list, whose bound rows are always the
declared-fields row (RowValue) — row normalization keeps the
editor-stamped id plus each DECLARED field and drops everything else, so a
whole-row-baked slot’s projection-only fields (which SlotValue types on
the raw slot value) never survive into a binding. Read those off the raw
prop, never off a binding’s value.
Import from @homepages/template-kit.
Signature
Section titled “Signature”export type BoundSlotValue<D> = D extends { type: "list"; fields: infer I;} ? RowValue<I>[] : SlotValue<D>;