Data & collections
Collection-heavy templates: KanbanPage (drag-and-drop board), CalendarPage (month/week/agenda), DocumentPage (a viewer with a facts aside) and MapPage (a full-bleed map with an optional results rail) composed into whole-page recipes.
Kanban and Calendar are client recipes (they own board / view state); Document and Map are server-safe shells that keep the heavy pdf.js / maplibre islands in caller-passed slots.
KanbanPage
A drag-and-drop board page: columns of cards over the ReportLayout, with optimistic move handling and per-column counts/footers.
Adoption Pipeline
Inbox
2- Maria Riverahigh
Luna · Beagle mix
· due Jun 30 - Daniel Okaforlow
Biscuit · Hound
· due Jul 3
Vetting
1- Grace Chenmed
Maple · Lab mix
· due Jun 29
Foster
2- Elena Novakhome visit
Scout · Beagle
· since Jun 12 - Theo Banksmed
Juniper · Terrier
· since Jun 18
Adopted
1- Carmen Floresclosed
Pepper · Beagle mix
· Jun 21
- columns (required)
- Columns → cards, forwarded to the controlled <KanbanBoard>.
- onMove / resetSignal
- onMove fires when a card settles in a new home (persist / mirror back into columns); bump resetSignal to snap the optimistic order back on a rejected move.
- showCounts / columnFooter / renderCard
- Per-column count Badge, per-column footer slot, and a card render override. Client recipe — it owns the board's drag state.
CalendarPage
A scheduling page: the STD <Calendar> over the ReportLayout with month / week / agenda views and event selection.
Events
June 2026
- events (required)
- The full event set forwarded to <Calendar> (each view filters its own window).
- view / cursor
- defaultView (uncontrolled, default 'month'), or drive externally with controlled view + onViewChange / cursor + onCursorChange.
- onSelectEvent
- Fires on event click / Enter in any view. Client recipe — it owns view + cursor state.
DocumentPage
A document reader page: a full-height viewer with a metadata/facts aside and a provenance footer, over the DocumentLayout.
Vet Record — Bella
Provenance: uploaded via the foster portal on Jun 24, 2026 · SHA-256 a3f1…9c0e · last verified by Dr. Lena Ortiz, DVM.
- viewer (required)
- The document viewer / preview slot — caller-built, e.g. a next/dynamic({ ssr: false }) <DocumentViewer src workerSrc /> island. → DocumentLayout viewer.
- aside / asideWidth
- Metadata / facts rail (a DefGrid / MetadataPanel of provenance); asideWidth default 320px.
- footer
- Provenance / closing actions. Server-safe shell; the pdf.js island rides the viewer slot.
MapPage
A geospatial page: a full-bleed map with an optional results/filters rail and toolbar, over the server-safe ListDetailLayout.
Coverage
Service area
- map (required)
- The full-bleed map — a caller-passed client island (<MapView height='100%'><MapMarkers /></MapView>). Keeps maplibre / WebGL OUT of this server recipe.
- list / listWidth / listEnd
- Optional results/filters rail beside the map (→ ListDetailLayout.list, default 360px; listEnd moves it trailing). Omit for a full-bleed map.
- toolbar / footer
- Optional toolbar above and footer below the map. Server-safe shell.