CurrentPageElements

API / @publicodes/forms / CurrentPageElements

type CurrentPageElements<RuleName> = object;

Defined in: formBuilder.ts:129

Creates and manages multi-page forms based on Publicodes rules.

FormBuilder provides a complete solution for building dynamic, multi-step forms that adapt to user input. It handles:

  • Form state management
  • Page navigation and pagination
  • Field validation and dependencies
  • Progressive disclosure of relevant fields

Type Parameters

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

Type declaration

NameTypeDefined in
elementsEvaluatedFormElement<RuleName> & FormPageElementProp[]formBuilder.ts:131
title?stringformBuilder.ts:130

Example

// Create a form builder
const engine = new Engine(rules)
const formBuilder = new FormBuilder({ engine })

// Initialize form state
let state = FormBuilder.newState()
state = formBuilder.start(state, 'target . rule')

// Handle user input
state = formBuilder.handleInputChange(state, 'user . age', 25)

// Navigate between pages
state = formBuilder.goToNextPage(state)