Forms and flows¶
14 components in the coalitionkit/v0_9 catalog.
AcceptanceForm¶
Doors: wide, compact.
States: pending, acknowledged, accepted.
Events: decide(charter) owner-signed, leave.
| Prop | Type | Notes |
|---|---|---|
charter |
id | ref |
consequence |
string | string |
decision_deadline |
datetime | ISO 8601; after it the decision is closed (deadline_exceeded) |
diff |
array | [{rule, before, after}] |
subject |
subject | {kind, id, revision}: the revision-bound subject of the decision |
AvailabilityGrid¶
Doors: wide, compact.
States: empty, painted, imported.
Events: availability.paint, availability.import.
| Prop | Type | Notes |
|---|---|---|
days |
array | [] |
slots |
array | per day |
source |
enum | manual|calendar |
ConsentSeal¶
Doors: wide, compact.
States: idle, holding, sealed, cancelled.
Events: decide | commit (owner-signed).
| Prop | Type | Notes |
|---|---|---|
decision_deadline |
datetime | ISO 8601; after it the decision is closed (deadline_exceeded) |
holdMs |
number | 1200 |
subject |
subject | {kind, id, revision}: the revision-bound subject of the decision |
summary |
string | string |
DocumentShare¶
Doors: wide, compact.
States: masked, editing, shared.
Events: evidence.share(masks).
| Prop | Type | Notes |
|---|---|---|
document |
id | vault ref |
masks |
array | [{region|field, by}] |
purpose |
string | string |
preview |
object | Viewer-safe document title and projected rows; hidden values must be omitted. |
FeedbackForm¶
Doors: wide, compact.
States: draft, saved.
Events: feedback.save.
| Prop | Type | Notes |
|---|---|---|
audience |
scope | me|coalition|pack authors |
questions |
array | [{kind: choice|scale|text}] |
Form¶
Doors: wide, compact, voice, message.
States: empty, filling, invalid, submitting, sent.
Events: form.submit(values), form.later.
| Prop | Type | Notes |
|---|---|---|
fields |
array | [{id, kind: text|number|money|datetime|choice|multi|bool|place|file, label, required, private: no|answer-only|vault, help}] |
submit_event |
string | message type |
title |
string | string |
description |
string | Explanation above the fields. |
scope |
string | Submission audience label. |
submit_label |
string | Submit button label. |
presentation |
enum | Field layout or voice read-back presentation. |
conversation |
array | Viewer-safe voice turns; private answers must be omitted. |
show_schema |
boolean | Display the field schema alongside the rendered form. |
LimitField¶
Doors: wide, compact.
States: set, asked.
Events: limit.change.
| Prop | Type | Notes |
|---|---|---|
limits |
array | values are read from the local vault, never sent in the tree |
queries |
array | [{question, answer, asker, time}] |
shared_values |
object | Explicitly shared display values keyed by limit id. Private limit values are never included. |
NeedForm¶
Doors: wide, compact, voice.
States: draft, checking, published.
Events: coalition.need.
| Prop | Type | Notes |
|---|---|---|
audience |
scope | scope |
constraints |
array | [{kind, value}] |
quantity |
number | int |
text |
string | string |
OfferForm¶
Doors: wide, compact, voice.
States: draft, published, withdrawn.
Events: coalition.offer.
| Prop | Type | Notes |
|---|---|---|
conditions |
array | [] |
cost |
object | {amount, kind: quote|estimate} |
expires |
datetime | ISO? |
target |
enum | need|task |
what |
string | string |
target_label |
string | Human-readable target context. |
scope |
string | Audience label. |
OwnerSign¶
Doors: wide, compact.
States: ready, signing, signed, failed closed.
Events: sign.confirm.
| Prop | Type | Notes |
|---|---|---|
answer |
enum | bool|choice |
decision_deadline |
datetime | ISO 8601; after it the decision is closed (deadline_exceeded) |
kid |
id | owner key |
method |
enum | passkey|hosted key |
subject |
subject | {kind, id, revision}: the revision-bound subject of the decision |
answer_label |
string | Display label for the selected answer; does not authorize a decision. |
subject_label |
string | Human-readable subject label. |
device_label |
string | Device display label. |
Receipt¶
Doors: wide, compact, message.
States: recorded.
Events: receipt.verify, decide.change.
| Prop | Type | Notes |
|---|---|---|
decision_deadline |
datetime | ISO 8601; after it the decision is closed (deadline_exceeded) |
hash |
string | hex |
receipt |
object | host-signed |
remaining |
array | [participant] |
seq |
number | int |
subject |
subject | {kind, id, revision}: the revision-bound subject of the decision |
ReviewStep¶
Doors: wide, compact.
States: ready, blocked.
Events: wizard.finish, wizard.edit(step), wizard.back.
| Prop | Type | Notes |
|---|---|---|
notice |
string | string |
precheck |
object | steward verdict |
sections |
array | [{label, summary, editStep}] |
ValidationSummary¶
Doors: wide, compact.
States: shown.
Events: field.focus(id).
| Prop | Type | Notes |
|---|---|---|
errors |
array | [{field, text}] |
Wizard¶
Doors: wide, compact.
States: step, saving, done.
Events: wizard.next, wizard.back, wizard.finish.
| Prop | Type | Notes |
|---|---|---|
canSkip |
boolean | bool |
current |
id | id |
draft |
object | host-saved |
steps |
array | [{id, label, fields|components}] |