UNPKG

trellis

Version:

Agentic State Engine — event-sourced causal graph with branching, decision traces, and realtime sync for AI-native applications

45 lines 1.64 kB
/** * Kanban Svelte — `createKanbanStore` store-contract bindings * (ADR 0034 wedge 13). * * Import from `trellis/kanban/svelte`: * * const board = createKanbanStore({ data, columns, groupFields, groupFieldId }); * // {#each $board.state.columns as col (col.id)} * // {col.title} · {col.count} * // {#each col.cards as card (card.id)} * // {card.cells.title} * // {/each} * // {/each} * * No dependency on the svelte package — only the store contract, so it * works across Svelte 4/5 (see `src/svelte/stores.ts`). * * @module trellis/kanban/svelte */ import type { KanbanConfig, KanbanState, UseKanbanReturn } from '../core/index.js'; /** Accept either a config (fresh core) or an existing core (shared mount). */ export type KanbanInput<T> = KanbanConfig<T> | UseKanbanReturn<T>; export interface KanbanStore<T> { /** Full board state (auto-subscribable). */ state: { subscribe(run: (value: KanbanState) => void): () => void; }; /** Derived: can undo (auto-subscribable). */ canUndo: { subscribe(run: (value: boolean) => void): () => void; }; /** Derived: can redo (auto-subscribable). */ canRedo: { subscribe(run: (value: boolean) => void): () => void; }; actions: UseKanbanReturn<T>['actions']; /** Raw core (framework-free) for advanced use. */ core: UseKanbanReturn<T>; } /** * Create a store-contract board from a config or an existing core; * actions mutate the shared core. */ export declare function createKanbanStore<T extends object>(input: KanbanInput<T>): KanbanStore<T>; //# sourceMappingURL=index.d.ts.map