@fayz-ai/forms
The forms bounded context: templates, filled documents and the forms a person must have before being attended — the rules, where they are stored, and the store over them.
Status: beta — extracted from @fayz-ai/plugin-forms, which still exports every name it had and keeps the screens and the migrations. Pre-1.0: minor APIs may change before 1.0.
Shaped as docs/platform/PATTERNS.md describes. There is no entry file: each module is imported by its path.
Install
npm install @fayz-ai/forms
Modules
| Import | What it holds |
|---|---|
@fayz-ai/forms/domain/* | types and pure rules: template, document, requirement |
@fayz-ai/forms/data/provider | FormsDataProvider, the repository port |
@fayz-ai/forms/data/supabase | createSupabaseFormsProvider, getPersonFormRequirements — with data/tables, the only modules that name a table |
@fayz-ai/forms/data/mock | createMockFormsProvider, the same contract in memory |
@fayz-ai/forms/store | createFormsStore, createSafeFormsProvider |
@fayz-ai/forms/views/zones | FORMS_ZONES and their props: where another plugin renders a forms screen with a WidgetSlot |
import { WidgetSlot } from '@fayz-ai/admin'
import { FORMS_ZONES } from '@fayz-ai/forms/views/zones'
<WidgetSlot zone={FORMS_ZONES.personChecklist} personId={clientId} onFill={setFilling} />
The zones are filled by @fayz-ai/plugin-forms (createCustomFormsPlugin()). An app that does not mount it gets an empty zone.
Words used here are defined in GLOSSARY.md.