s-m-r-t
Open the s-m-r-t source on GitHub Switch to dark color scheme
← All UI components

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 described
labelstringNoNot described
onmove(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) => void
  • onmove(intent: ProjectBoardMoveIntent) => void | Promise<void>
  • onrefresh() => void | Promise<void>

Examples and explanation