Projects · Components
ProjectBoard
A controlled project board is movable only with an authoritative refresh.Public export
typescript
import { ProjectBoard } from '@happyvertical/smrt-projects/svelte';- Import path
@happyvertical/smrt-projects/svelte- Props
- 7
- Props described
- 5 of 7
- Bindable state
- 0
- Callback events
- 3
- Verified release
- 0.44.0
Props
NameTypeRequiredDescription
projectIdstringYesProvider project identity, forwarded only to the injected move action.statusesreadonly ProjectStatus[]YesCanonical, ordered provider statuses. Their supplied order is preserved.itemsreadonly ProjectItem[]YesAuthoritative provider items; this adapter never reorders them locally.onselect(item: ProjectItem) => voidNoNot describedlabelstringNoNot describedonmove(intent: ProjectBoardMoveIntent) => void | Promise<void>NoBrowser-safe mutation boundary. Its consumer attaches authorization in a server action before it calls ProjectBoardService.onrefresh() => void | Promise<void>NoRequired reconciliation of controlled cards after every move attempt.Bindable state
This component has no bindable public state.
Callback events
onselect(item: ProjectItem) => voidonmove(intent: ProjectBoardMoveIntent) => void | Promise<void>onrefresh() => void | Promise<void>