FormState

API / @publicodes/forms / FormState

type FormState<RuleName> = object;

Defined in: formBuilder.ts:36

Represents the complete state of a multi-page form.

This object encapsulates all data needed to track a user’s progress through a form, including their answers, the form structure, and navigation state.

Remarks

This state should be stored in your application and made reactive using your framework’s state management (React useState, Vue $state, Svelte stores, etc.). All form operations return a new state object that should replace the previous one.

Example

// In React
const [formState, setFormState] = useState<FormState<string>>(
  FormBuilder.newState()
)

// In Vue
const formState = ref(FormBuilder.newState())

Type Parameters

Type ParameterDescription
RuleName extends stringThe type of rule names used in the form

Properties

currentPageIndex

currentPageIndex: number;

Defined in: formBuilder.ts:40


lastAnswered

lastAnswered: RuleName | null;

Defined in: formBuilder.ts:42


nextPages

nextPages: FormPages<RuleName>;

Defined in: formBuilder.ts:41


pages

pages: FormPages<RuleName>;

Defined in: formBuilder.ts:39


situation

situation: Situation<RuleName>;

Defined in: formBuilder.ts:37


targets

targets: RuleName[];

Defined in: formBuilder.ts:38