Skip to content

@jayoncode/form-intelligent API


@jayoncode/form-intelligent API

Classes

FormModuleHost<TValues>

Defined in: core/form-module-host.ts:30

Type Parameters

Type Parameter
TValues extends Record<string, unknown>

Constructors

Constructor
ts
new FormModuleHost<TValues>(
   form: FormInstance<TValues>, 
   config: ResolvedFormConfig<TValues>, 
   events: FormEventBus, 
pluginRegistry: PluginRegistry<TValues>): FormModuleHost<TValues>;

Defined in: core/form-module-host.ts:35

Parameters
ParameterType
formFormInstance<TValues>
configResolvedFormConfig<TValues>
eventsFormEventBus
pluginRegistryPluginRegistry<TValues>
Returns

FormModuleHost<TValues>

Methods

register()
ts
register(module: FormModule<TValues>): void;

Defined in: core/form-module-host.ts:42

Parameters
ParameterType
moduleFormModule<TValues>
Returns

void

registerPlugin()
ts
registerPlugin(plugin: FormPlugin<TValues>, order: number): void;

Defined in: core/form-module-host.ts:52

Parameters
ParameterType
pluginFormPlugin<TValues>
ordernumber
Returns

void

has()
ts
has(id: string): boolean;

Defined in: core/form-module-host.ts:56

Parameters
ParameterType
idstring
Returns

boolean

start()
ts
start(): void;

Defined in: core/form-module-host.ts:60

Returns

void

destroy()
ts
destroy(): void;

Defined in: core/form-module-host.ts:71

Returns

void


FormModuleRegistry<TValues>

Defined in: core/module-registry.ts:10

Type Parameters

Type Parameter
TValues extends Record<string, unknown>

Constructors

Constructor
ts
new FormModuleRegistry<TValues>(): FormModuleRegistry<TValues>;
Returns

FormModuleRegistry<TValues>

Methods

register()
ts
register(module: FormModule<TValues>): void;

Defined in: core/module-registry.ts:14

Parameters
ParameterType
moduleFormModule<TValues>
Returns

void

unregister()
ts
unregister(id: string): boolean;

Defined in: core/module-registry.ts:26

Parameters
ParameterType
idstring
Returns

boolean

has()
ts
has(id: string): boolean;

Defined in: core/module-registry.ts:30

Parameters
ParameterType
idstring
Returns

boolean

size()
ts
size(): number;

Defined in: core/module-registry.ts:34

Returns

number

list()
ts
list(): readonly FormModule<TValues>[];

Defined in: core/module-registry.ts:38

Returns

readonly FormModule<TValues>[]

initializeAll()
ts
initializeAll(context: FormModuleContext<TValues>): void;

Defined in: core/module-registry.ts:42

Parameters
ParameterType
contextFormModuleContext<TValues>
Returns

void

startAll()
ts
startAll(context: FormModuleContext<TValues>): void;

Defined in: core/module-registry.ts:48

Parameters
ParameterType
contextFormModuleContext<TValues>
Returns

void

stopAll()
ts
stopAll(context: FormModuleContext<TValues>): void;

Defined in: core/module-registry.ts:54

Parameters
ParameterType
contextFormModuleContext<TValues>
Returns

void

destroyAll()
ts
destroyAll(context: FormModuleContext<TValues>): void;

Defined in: core/module-registry.ts:60

Parameters
ParameterType
contextFormModuleContext<TValues>
Returns

void


FormIntelligentError

Defined in: errors/index.ts:11

Extends

  • Error

Extended by

Constructors

Constructor
ts
new FormIntelligentError(
   message: string, 
   code: FormErrorCode, 
   options: FormErrorOptions): FormIntelligentError;

Defined in: errors/index.ts:15

Parameters
ParameterType
messagestring
codeFormErrorCode
optionsFormErrorOptions
Returns

FormIntelligentError

Overrides
ts
Error.constructor

Properties

PropertyModifierTypeDefined in
codereadonlyFormErrorCodeerrors/index.ts:12
detailsreadonlyundefined | Readonly<PlainObject>errors/index.ts:13

ValidationError

Defined in: errors/index.ts:23

Extends

Constructors

Constructor
ts
new ValidationError(message: string, options: FormErrorOptions): ValidationError;

Defined in: errors/index.ts:24

Parameters
ParameterType
messagestring
optionsFormErrorOptions
Returns

ValidationError

Overrides

FormIntelligentError.constructor

Properties

PropertyModifierTypeInherited fromDefined in
codereadonlyFormErrorCodeFormIntelligentError.codeerrors/index.ts:12
detailsreadonlyundefined | Readonly<PlainObject>FormIntelligentError.detailserrors/index.ts:13

SubmitError

Defined in: errors/index.ts:30

Extends

Constructors

Constructor
ts
new SubmitError(message: string, options: FormErrorOptions): SubmitError;

Defined in: errors/index.ts:31

Parameters
ParameterType
messagestring
optionsFormErrorOptions
Returns

SubmitError

Overrides

FormIntelligentError.constructor

Properties

PropertyModifierTypeInherited fromDefined in
codereadonlyFormErrorCodeFormIntelligentError.codeerrors/index.ts:12
detailsreadonlyundefined | Readonly<PlainObject>FormIntelligentError.detailserrors/index.ts:13

WorkflowError

Defined in: errors/index.ts:37

Extends

Constructors

Constructor
ts
new WorkflowError(message: string, options: FormErrorOptions): WorkflowError;

Defined in: errors/index.ts:38

Parameters
ParameterType
messagestring
optionsFormErrorOptions
Returns

WorkflowError

Overrides

FormIntelligentError.constructor

Properties

PropertyModifierTypeInherited fromDefined in
codereadonlyFormErrorCodeFormIntelligentError.codeerrors/index.ts:12
detailsreadonlyundefined | Readonly<PlainObject>FormIntelligentError.detailserrors/index.ts:13

ConfigurationError

Defined in: errors/index.ts:44

Extends

Constructors

Constructor
ts
new ConfigurationError(message: string, options: FormErrorOptions): ConfigurationError;

Defined in: errors/index.ts:45

Parameters
ParameterType
messagestring
optionsFormErrorOptions
Returns

ConfigurationError

Overrides

FormIntelligentError.constructor

Properties

PropertyModifierTypeInherited fromDefined in
codereadonlyFormErrorCodeFormIntelligentError.codeerrors/index.ts:12
detailsreadonlyundefined | Readonly<PlainObject>FormIntelligentError.detailserrors/index.ts:13

Interfaces

FrameworkAdapter<TValues>

Defined in: adapters/framework-adapter.ts:7

Contract for framework UI adapters (React, Vue, Angular, Svelte, …). Implementations ship in separate packages — never required by core.

Type Parameters

Type ParameterDefault type
TValues extends Record<string, unknown>Record<string, unknown>

Properties

PropertyModifierTypeDefined in
namereadonlystringadapters/framework-adapter.ts:10

Methods

connect()
ts
connect(form: FormInstance<TValues>): void | () => void;

Defined in: adapters/framework-adapter.ts:15

Bind framework lifecycle / reactivity to a form instance. Return a cleanup that disconnects subscriptions and effects.

Parameters
ParameterType
formFormInstance<TValues>
Returns

void | () => void


PersistenceAdapter<TValues>

Defined in: adapters/persistence-adapter.ts:5

Persist form values for drafts and autosave. Implementations may be sync (localStorage) or async (IndexedDB, remote).

Type Parameters

Type ParameterDefault type
TValues extends Record<string, unknown>Record<string, unknown>

Properties

PropertyModifierTypeDefined in
name?readonlystringadapters/persistence-adapter.ts:8

Methods

load()
ts
load(key: string): null | TValues | Promise<null | TValues>;

Defined in: adapters/persistence-adapter.ts:9

Parameters
ParameterType
keystring
Returns

null | TValues | Promise<null | TValues>

save()
ts
save(key: string, values: TValues): void | Promise<void>;

Defined in: adapters/persistence-adapter.ts:10

Parameters
ParameterType
keystring
valuesTValues
Returns

void | Promise<void>

clear()
ts
clear(key: string): void | Promise<void>;

Defined in: adapters/persistence-adapter.ts:11

Parameters
ParameterType
keystring
Returns

void | Promise<void>


SyncPersistenceAdapter<TValues>

Defined in: adapters/persistence-adapter.ts:18

Sync persistence surface used by draft workflow today. Compatible with PersistenceAdapter when methods are synchronous.

Type Parameters

Type ParameterDefault type
TValues extends Record<string, unknown>Record<string, unknown>

Properties

PropertyModifierTypeDefined in
name?readonlystringadapters/persistence-adapter.ts:21

Methods

load()
ts
load(key: string): null | TValues;

Defined in: adapters/persistence-adapter.ts:22

Parameters
ParameterType
keystring
Returns

null | TValues

save()
ts
save(key: string, values: TValues): void;

Defined in: adapters/persistence-adapter.ts:23

Parameters
ParameterType
keystring
valuesTValues
Returns

void

clear()
ts
clear(key: string): void;

Defined in: adapters/persistence-adapter.ts:24

Parameters
ParameterType
keystring
Returns

void


SchemaAdapter<TValues>

Defined in: adapters/schema-adapter.ts:6

Bridge any validation library into Form Intelligent. Schema adapters are optional — core never depends on Zod/Yup/etc. Error keys are field paths (dot notation).

Type Parameters

Type ParameterDefault type
TValues extends Record<string, unknown>Record<string, unknown>

Properties

PropertyModifierTypeDefined in
name?readonlystringadapters/schema-adapter.ts:7

Methods

validate()
ts
validate(values: TValues): 
  | Readonly<Record<string, string>>
| Promise<Readonly<Record<string, string>>>;

Defined in: adapters/schema-adapter.ts:8

Parameters
ParameterType
valuesTValues
Returns

| Readonly<Record<string, string>> | Promise<Readonly<Record<string, string>>>


SubmitTransportAdapter<TValues, TResult>

Defined in: adapters/submit-transport-adapter.ts:7

Transport layer for form submission (fetch, GraphQL, custom API clients). Keep UI frameworks out of this interface — values + meta only.

Type Parameters

Type ParameterDefault type
TValues extends Record<string, unknown>Record<string, unknown>
TResultunknown

Properties

PropertyModifierTypeDefined in
name?readonlystringadapters/submit-transport-adapter.ts:11

Methods

submit()
ts
submit(values: TValues, meta?: SubmitMeta): TResult | Promise<TResult>;

Defined in: adapters/submit-transport-adapter.ts:12

Parameters
ParameterType
valuesTValues
meta?SubmitMeta
Returns

TResult | Promise<TResult>


FormModuleContext<TValues>

Defined in: core/module-types.ts:5

Type Parameters

Type Parameter
TValues extends Record<string, unknown>

Properties

PropertyModifierTypeDefined in
formreadonlyFormInstance<TValues>core/module-types.ts:6
configreadonlyResolvedFormConfig<TValues>core/module-types.ts:7
eventsreadonlyFormEventBuscore/module-types.ts:8

Methods

registerCleanup()
ts
registerCleanup(cleanup: () => void): void;

Defined in: core/module-types.ts:9

Parameters
ParameterType
cleanup() => void
Returns

void


FormModule<TValues>

Defined in: core/module-types.ts:12

Type Parameters

Type ParameterDefault type
TValues extends Record<string, unknown>Record<string, unknown>

Properties

PropertyModifierTypeDefined in
idreadonlystringcore/module-types.ts:13
order?readonlynumbercore/module-types.ts:14

Methods

initialize()?
ts
optional initialize(context: FormModuleContext<TValues>): void;

Defined in: core/module-types.ts:15

Parameters
ParameterType
contextFormModuleContext<TValues>
Returns

void

start()?
ts
optional start(context: FormModuleContext<TValues>): void;

Defined in: core/module-types.ts:16

Parameters
ParameterType
contextFormModuleContext<TValues>
Returns

void

stop()?
ts
optional stop(context: FormModuleContext<TValues>): void;

Defined in: core/module-types.ts:17

Parameters
ParameterType
contextFormModuleContext<TValues>
Returns

void

destroy()?
ts
optional destroy(context: FormModuleContext<TValues>): void;

Defined in: core/module-types.ts:18

Parameters
ParameterType
contextFormModuleContext<TValues>
Returns

void


FieldUiState

Defined in: engines/workflow/types.ts:3

Properties

PropertyTypeDefined in
visiblebooleanengines/workflow/types.ts:4
disabledbooleanengines/workflow/types.ts:5
requiredundefined | booleanengines/workflow/types.ts:6

FormUiState

Defined in: engines/workflow/types.ts:9

Properties

PropertyModifierTypeDefined in
submitDisabledreadonlybooleanengines/workflow/types.ts:10

FieldOption

Defined in: engines/workflow/types.ts:13

Properties

PropertyModifierTypeDefined in
labelreadonlystringengines/workflow/types.ts:14
valuereadonlystringengines/workflow/types.ts:15

RuleContext<TValues>

Defined in: engines/workflow/types.ts:18

Type Parameters

Type Parameter
TValues extends Record<string, unknown>

Properties

PropertyModifierTypeDefined in
valuesreadonlyTValuesengines/workflow/types.ts:19

Methods

show()
ts
show(...paths: readonly string[]): void;

Defined in: engines/workflow/types.ts:20

Parameters
ParameterType
...pathsreadonly string[]
Returns

void

hide()
ts
hide(...paths: readonly string[]): void;

Defined in: engines/workflow/types.ts:21

Parameters
ParameterType
...pathsreadonly string[]
Returns

void

require()
ts
require(...paths: readonly string[]): void;

Defined in: engines/workflow/types.ts:22

Parameters
ParameterType
...pathsreadonly string[]
Returns

void

optional()
ts
optional(...paths: readonly string[]): void;

Defined in: engines/workflow/types.ts:23

Parameters
ParameterType
...pathsreadonly string[]
Returns

void

enable()
ts
enable(...paths: readonly string[]): void;

Defined in: engines/workflow/types.ts:24

Parameters
ParameterType
...pathsreadonly string[]
Returns

void

disable()
ts
disable(...paths: readonly string[]): void;

Defined in: engines/workflow/types.ts:25

Parameters
ParameterType
...pathsreadonly string[]
Returns

void

disableSubmit()
ts
disableSubmit(): void;

Defined in: engines/workflow/types.ts:26

Returns

void

enableSubmit()
ts
enableSubmit(): void;

Defined in: engines/workflow/types.ts:27

Returns

void

setValue()
ts
setValue(path: string, value: unknown): void;

Defined in: engines/workflow/types.ts:28

Parameters
ParameterType
pathstring
valueunknown
Returns

void


FormRuleDefinition<TValues>

Defined in: engines/workflow/types.ts:31

Type Parameters

Type ParameterDefault type
TValues extends Record<string, unknown>Record<string, unknown>

Properties

PropertyModifierTypeDefined in
watchreadonlystringengines/workflow/types.ts:34
equals?readonlyunknownengines/workflow/types.ts:35
notEquals?readonlyunknownengines/workflow/types.ts:36
greaterThan?readonlynumberengines/workflow/types.ts:37
lessThan?readonlynumberengines/workflow/types.ts:38
show?readonlyreadonly string[]engines/workflow/types.ts:39
hide?readonlyreadonly string[]engines/workflow/types.ts:40
require?readonlyreadonly string[]engines/workflow/types.ts:41
optional?readonlyreadonly string[]engines/workflow/types.ts:42
enable?readonlyreadonly string[]engines/workflow/types.ts:43
disable?readonlyreadonly string[]engines/workflow/types.ts:44
disableSubmit?readonlybooleanengines/workflow/types.ts:45
changes?readonly(value: unknown, values: TValues) => | readonly FieldOption[] | Promise<readonly FieldOption[]>engines/workflow/types.ts:46
populate?readonlystringengines/workflow/types.ts:50
then?readonly(context: RuleContext<TValues>) => voidengines/workflow/types.ts:51

WizardStep

Defined in: engines/workflow/types.ts:56

Properties

PropertyModifierTypeDefined in
idreadonlystringengines/workflow/types.ts:57
fields?readonlyreadonly string[]engines/workflow/types.ts:58
validate?readonlybooleanengines/workflow/types.ts:59

WizardConfig

Defined in: engines/workflow/types.ts:62

Properties

PropertyModifierTypeDefined in
stepsreadonlyreadonly WizardStep[]engines/workflow/types.ts:63
initialStep?readonlynumberengines/workflow/types.ts:64

CalculateOptions<TValues>

Defined in: engines/workflow/types.ts:67

Type Parameters

Type Parameter
TValues extends Record<string, unknown>

Properties

PropertyModifierTypeDefined in
deps?readonlyreadonly string[]engines/workflow/types.ts:68
markDirty?readonlybooleanengines/workflow/types.ts:69
computereadonly(context: { values: TValues; }) => unknownengines/workflow/types.ts:70

FieldMetaState

Defined in: types/index.ts:3

Properties

PropertyModifierTypeDefined in
isValidatingreadonlybooleantypes/index.ts:4
label?readonlystringtypes/index.ts:5
description?readonlystringtypes/index.ts:6
hidden?readonlybooleantypes/index.ts:7

ValidationFormAccessor<TValues>

Defined in: types/index.ts:58

Type Parameters

Type Parameter
TValues extends Record<string, unknown>

Methods

get()
ts
get(path: string): unknown;

Defined in: types/index.ts:59

Parameters
ParameterType
pathstring
Returns

unknown

values()
ts
values(): TValues;

Defined in: types/index.ts:60

Returns

TValues


ValidationContext<TValues>

Defined in: types/index.ts:63

Type Parameters

Type Parameter
TValues extends Record<string, unknown>

Properties

PropertyModifierTypeDefined in
valuesreadonlyTValuestypes/index.ts:64
pathreadonlystringtypes/index.ts:65
formreadonlyValidationFormAccessor<TValues>types/index.ts:66

CustomFieldValidatorContext<TValues>

Defined in: types/index.ts:80

Type Parameters

Type Parameter
TValues extends Record<string, unknown>

Properties

PropertyModifierTypeDefined in
valuereadonlyunknowntypes/index.ts:81
pathreadonlystringtypes/index.ts:82
formreadonlyValidationFormAccessor<TValues>types/index.ts:83

FieldSchemaConfig

Defined in: types/index.ts:90

Properties

PropertyModifierTypeDefined in
type?readonlyBuiltInFieldTypetypes/index.ts:91
required?readonlybooleantypes/index.ts:92
email?readonlybooleantypes/index.ts:93
password?readonlybooleantypes/index.ts:94
url?readonlybooleantypes/index.ts:95
minLength?readonlynumbertypes/index.ts:96
validate?readonlyFieldValidateRulestypes/index.ts:97
validators?readonlyreadonly CustomFieldValidator<Record<string, unknown>>[]types/index.ts:98
format?readonly| Formatter | "phone" | "currency" | "slug" | "philippine-phone" | "credit-card"types/index.ts:99

FieldOptions<TValues>

Defined in: types/index.ts:111

Type Parameters

Type Parameter
TValues extends Record<string, unknown>

Properties

PropertyModifierTypeDefined in
defaultValue?readonlyunknowntypes/index.ts:112
validators?readonlyreadonly Validator<TValues>[]types/index.ts:113
validateOn?readonlyValidationModetypes/index.ts:114
dependsOn?readonlyreadonly string[]types/index.ts:115
format?readonlyFormattertypes/index.ts:116
parse?readonlyParsertypes/index.ts:117
formatOnDisplay?readonlybooleantypes/index.ts:118
parseOnInput?readonlybooleantypes/index.ts:119
label?readonlystringtypes/index.ts:120
description?readonlystringtypes/index.ts:121
hidden?readonlybooleantypes/index.ts:122
metadata?readonlyReadonly<Record<string, unknown>>types/index.ts:123

FieldHandle<_TValues>

Defined in: types/index.ts:126

Type Parameters

Type Parameter
_TValues extends Record<string, unknown>

Properties

PropertyModifierTypeDefined in
pathreadonlystringtypes/index.ts:127
valuereadonlyunknowntypes/index.ts:128
errorreadonlyundefined | stringtypes/index.ts:129
touchedreadonlybooleantypes/index.ts:130
dirtyreadonlybooleantypes/index.ts:131
visitedreadonlybooleantypes/index.ts:132

Methods

setValue()
ts
setValue(value: unknown): void;

Defined in: types/index.ts:133

Parameters
ParameterType
valueunknown
Returns

void

setTouched()
ts
setTouched(touched?: boolean): void;

Defined in: types/index.ts:134

Parameters
ParameterType
touched?boolean
Returns

void

setVisited()
ts
setVisited(visited?: boolean): void;

Defined in: types/index.ts:135

Parameters
ParameterType
visited?boolean
Returns

void

validate()
ts
validate(): Promise<boolean>;

Defined in: types/index.ts:136

Returns

Promise<boolean>

bind()
ts
bind(): FieldBinding;

Defined in: types/index.ts:137

Returns

FieldBinding


FieldBinding

Defined in: types/index.ts:140

Properties

PropertyModifierTypeDefined in
namereadonlystringtypes/index.ts:141
valuereadonlyunknowntypes/index.ts:142
onChangereadonly(value: unknown) => voidtypes/index.ts:143
onBlurreadonly() => voidtypes/index.ts:144
onFocusreadonly() => voidtypes/index.ts:145

AutosaveConfig

Defined in: types/index.ts:152

Properties

PropertyModifierTypeDefined in
enabled?readonlybooleantypes/index.ts:153
debounceMs?readonlynumbertypes/index.ts:154
onSavereadonly(values: Record<string, unknown>) => void | Promise<void>types/index.ts:155

DraftConfig

Defined in: types/index.ts:158

Properties

PropertyModifierTypeDefined in
enabled?readonlybooleantypes/index.ts:159
storageKey?readonlystringtypes/index.ts:160
storage?readonlyDraftStorageKindtypes/index.ts:161
adapter?readonlyDraftStorageAdaptertypes/index.ts:162
onRestore?readonly(values: Record<string, unknown>) => voidtypes/index.ts:163
promptOnRestore?readonlybooleantypes/index.ts:164
onRestorePrompt?readonly(values: Record<string, unknown>) => booleantypes/index.ts:165

AnalyticsConfig

Defined in: types/index.ts:168

Properties

PropertyModifierTypeDefined in
enabled?readonlybooleantypes/index.ts:169

OfflineQueueConfig

Defined in: types/index.ts:172

Properties

PropertyModifierTypeDefined in
enabled?readonlybooleantypes/index.ts:173
storageKey?readonlystringtypes/index.ts:174

KeyboardShortcutConfig

Defined in: types/index.ts:177

Properties

PropertyModifierTypeDefined in
comboreadonlystringtypes/index.ts:178
actionreadonly"submit" | "saveDraft" | "undo" | "redo"types/index.ts:179

WorkflowConfig

Defined in: types/index.ts:182

Properties

PropertyModifierTypeDefined in
autosave?readonlyAutosaveConfigtypes/index.ts:183
draft?readonlyDraftConfigtypes/index.ts:184
wizard?readonlyWizardConfigtypes/index.ts:185
analytics?readonlyAnalyticsConfigtypes/index.ts:186
offlineQueue?readonlyOfflineQueueConfigtypes/index.ts:187
keyboard?readonlyreadonly KeyboardShortcutConfig[]types/index.ts:188

SubmissionQueueState

Defined in: types/index.ts:191

Properties

PropertyModifierTypeDefined in
pendingreadonlynumbertypes/index.ts:192
flushingreadonlybooleantypes/index.ts:193

FormAnalyticsSnapshot

Defined in: types/index.ts:196

Properties

PropertyModifierTypeDefined in
startedAtreadonlynumbertypes/index.ts:197
completedAtreadonlynull | numbertypes/index.ts:198
errorCountreadonlynumbertypes/index.ts:199
errorsByFieldreadonlyReadonly<Record<FieldPath, number>>types/index.ts:200
abandonedAtreadonlynull | numbertypes/index.ts:201
currentStepreadonlynumbertypes/index.ts:202
fieldViewsreadonlyReadonly<Record<FieldPath, number>>types/index.ts:203
dropOffFieldreadonlynull | stringtypes/index.ts:204

SetValueOptions

Defined in: types/index.ts:207

Properties

PropertyModifierTypeDefined in
recordHistory?readonlybooleantypes/index.ts:208
markDirty?readonlybooleantypes/index.ts:209

SubmitOptions

Defined in: types/index.ts:212

Properties

PropertyModifierTypeDefined in
preventDoubleSubmit?readonlybooleantypes/index.ts:213
includeDiff?readonlybooleantypes/index.ts:214
retry?readonlynumber | RetryPolicytypes/index.ts:215

FormChangeRecord

Defined in: types/index.ts:220

Properties

PropertyModifierTypeDefined in
pathreadonlystringtypes/index.ts:221
typereadonlyFormChangeTypetypes/index.ts:222
previous?readonlyunknowntypes/index.ts:223
current?readonlyunknowntypes/index.ts:224

FormDiffMetadata

Defined in: types/index.ts:227

Properties

PropertyModifierTypeDefined in
durationMsreadonlynumbertypes/index.ts:228
changeCountreadonlynumbertypes/index.ts:229
addedCountreadonlynumbertypes/index.ts:230
removedCountreadonlynumbertypes/index.ts:231
changedCountreadonlynumbertypes/index.ts:232
unchangedCountreadonlynumbertypes/index.ts:233

FormDiffResult

Defined in: types/index.ts:236

Properties

PropertyModifierTypeDefined in
changesreadonlyreadonly FormChangeRecord[]types/index.ts:237
hasChangesreadonlybooleantypes/index.ts:238
metadatareadonlyFormDiffMetadatatypes/index.ts:239

FormDiffOptions

Defined in: types/index.ts:242

Properties

PropertyModifierTypeDefined in
maxDepth?readonlynumbertypes/index.ts:243
includeUnchanged?readonlybooleantypes/index.ts:244
treatUndefinedAsMissing?readonlybooleantypes/index.ts:245

SubmitMeta

Defined in: types/index.ts:248

Properties

PropertyModifierTypeDefined in
changedFields?readonlyreadonly string[]types/index.ts:249
diff?readonlyFormDiffResulttypes/index.ts:250
signal?readonlyAbortSignaltypes/index.ts:251

ValidateOptions

Defined in: types/index.ts:254

Properties

PropertyModifierTypeDefined in
paths?readonlyreadonly string[]types/index.ts:255
mode?readonlyValidationModetypes/index.ts:256

ResetOptions<TValues>

Defined in: types/index.ts:259

Type Parameters

Type Parameter
TValues extends Record<string, unknown>

Properties

PropertyModifierTypeDefined in
values?readonlyPartial<TValues>types/index.ts:260
keepDirty?readonlybooleantypes/index.ts:261

FormConfig<TValues>

Defined in: types/index.ts:264

Type Parameters

Type Parameter
TValues extends Record<string, unknown>

Properties

PropertyModifierTypeDefined in
initialValues?readonlyTValuestypes/index.ts:265
target?readonlystring | HTMLElementtypes/index.ts:266
form?readonlystring | HTMLElementtypes/index.ts:267
schema?readonly| SchemaAdapter<Record<string, unknown>> | Partial<Record<string, FieldSchemaDefinition>>types/index.ts:268
onSubmit?readonly(values: TValues, meta?: SubmitMeta) => void | Promise<void>types/index.ts:269
onSubmitError?readonly(error: unknown) => voidtypes/index.ts:270
validateOn?readonlyValidationModetypes/index.ts:271
validators?readonlyPartial<Record<string, | Validator<TValues> | readonly Validator<TValues>[]>>types/index.ts:272
crossFieldValidators?readonlyreadonly CrossFieldRule<TValues>[]types/index.ts:275
formValidators?readonlyreadonly CrossFieldValidator<TValues>[]types/index.ts:276
workflow?readonlyWorkflowConfigtypes/index.ts:277
autoSave?readonlyAutosaveConfig & { every?: string; }types/index.ts:278
wizard?readonlyboolean | WizardConfigtypes/index.ts:279
rules?readonlyreadonly FormRuleDefinition<TValues>[]types/index.ts:280

FieldState

Defined in: types/index.ts:283

Properties

PropertyModifierTypeDefined in
touchedreadonlybooleantypes/index.ts:284
dirtyreadonlybooleantypes/index.ts:285
visitedreadonlybooleantypes/index.ts:286
changedreadonlybooleantypes/index.ts:287

FormState<TValues>

Defined in: types/index.ts:290

Type Parameters

Type Parameter
TValues extends Record<string, unknown>

Properties

PropertyModifierTypeDefined in
valuesreadonlyTValuestypes/index.ts:291
errorsreadonlyReadonly<Record<FieldPath, string>>types/index.ts:292
touchedreadonlyReadonly<Record<FieldPath, boolean>>types/index.ts:293
dirtyreadonlyReadonly<Record<FieldPath, boolean>>types/index.ts:294
visitedreadonlyReadonly<Record<FieldPath, boolean>>types/index.ts:295
changedreadonlyReadonly<Record<FieldPath, boolean>>types/index.ts:296
isSubmittingreadonlybooleantypes/index.ts:297
isValidatingreadonlybooleantypes/index.ts:298
isValidreadonlybooleantypes/index.ts:299
isDirtyreadonlybooleantypes/index.ts:300
isChangedreadonlybooleantypes/index.ts:301
submitCountreadonlynumbertypes/index.ts:302
workflowreadonlyWorkflowStatetypes/index.ts:303
fieldUireadonlyFieldUiMaptypes/index.ts:304
formUireadonlyFormUiStatetypes/index.ts:305
fieldMetareadonlyReadonly<Record<FieldPath, FieldMetaState>>types/index.ts:306
fieldOptionsreadonlyReadonly<Record<FieldPath, readonly FieldOption[]>>types/index.ts:307
submissionQueuereadonlySubmissionQueueStatetypes/index.ts:308

WorkflowState

Defined in: types/index.ts:311

Properties

PropertyModifierTypeDefined in
currentStepreadonlynumbertypes/index.ts:312
totalStepsreadonlynumbertypes/index.ts:313
canGoNextreadonlybooleantypes/index.ts:314
canGoPrevreadonlybooleantypes/index.ts:315
progressreadonlynumbertypes/index.ts:316
isAutosavingreadonlybooleantypes/index.ts:317
lastAutosaveAtreadonlynull | numbertypes/index.ts:318

FormInstance<TValues>

Defined in: types/index.ts:325

Type Parameters

Type Parameter
TValues extends Record<string, unknown>

Properties

PropertyModifierTypeDescriptionDefined in
idreadonlystring-types/index.ts:326
refreadonlyFormRef-types/index.ts:327
statereadonlyFormState<TValues>Current form snapshot — same as getFormState().types/index.ts:346
workflowpublic{ next: Promise<boolean>; prev: void; goTo: Promise<boolean>; }-types/index.ts:376
workflow.nextpublicPromise<boolean>-types/index.ts:377
workflow.prevpublicvoid-types/index.ts:378
workflow.goTopublicPromise<boolean>-types/index.ts:379

Methods

field()
ts
field(path: string, options?: FieldOptions<TValues>): FieldHandle<TValues>;

Defined in: types/index.ts:328

Parameters
ParameterType
pathstring
options?FieldOptions<TValues>
Returns

FieldHandle<TValues>

pushField()
ts
pushField(arrayPath: string, item?: unknown): string;

Defined in: types/index.ts:329

Parameters
ParameterType
arrayPathstring
item?unknown
Returns

string

removeField()
ts
removeField(arrayPath: string, index: number): void;

Defined in: types/index.ts:330

Parameters
ParameterType
arrayPathstring
indexnumber
Returns

void

insertField()
ts
insertField(
   arrayPath: string, 
   index: number, 
   item?: unknown): string;

Defined in: types/index.ts:331

Parameters
ParameterType
arrayPathstring
indexnumber
item?unknown
Returns

string

submit()
ts
submit(options?: SubmitOptions): Promise<boolean>;

Defined in: types/index.ts:332

Parameters
ParameterType
options?SubmitOptions
Returns

Promise<boolean>

cancelSubmit()
ts
cancelSubmit(): void;

Defined in: types/index.ts:333

Returns

void

reset()
ts
reset(options?: ResetOptions<TValues>): void;

Defined in: types/index.ts:334

Parameters
ParameterType
options?ResetOptions<TValues>
Returns

void

validate()
ts
validate(options?: ValidateOptions): Promise<boolean>;

Defined in: types/index.ts:335

Parameters
ParameterType
options?ValidateOptions
Returns

Promise<boolean>

values()
Call Signature
ts
values(): TValues;

Defined in: types/index.ts:336

Returns

TValues

Call Signature
ts
values(path: string): unknown;

Defined in: types/index.ts:337

Parameters
ParameterType
pathstring
Returns

unknown

get()
ts
get(path: string): unknown;

Defined in: types/index.ts:338

Parameters
ParameterType
pathstring
Returns

unknown

errors()
ts
errors(path?: string): undefined | string | Readonly<Record<string, string>>;

Defined in: types/index.ts:339

Parameters
ParameterType
path?string
Returns

undefined | string | Readonly<Record<string, string>>

setValue()
ts
setValue(
   path: string, 
   value: unknown, 
   options?: SetValueOptions): void;

Defined in: types/index.ts:340

Parameters
ParameterType
pathstring
valueunknown
options?SetValueOptions
Returns

void

setError()
ts
setError(path: string, message: string): void;

Defined in: types/index.ts:341

Parameters
ParameterType
pathstring
messagestring
Returns

void

clearErrors()
ts
clearErrors(path?: string): void;

Defined in: types/index.ts:342

Parameters
ParameterType
path?string
Returns

void

getFieldState()
ts
getFieldState(path: string): FieldState;

Defined in: types/index.ts:343

Parameters
ParameterType
pathstring
Returns

FieldState

getFieldMeta()
ts
getFieldMeta(path: string): FieldMetaState;

Defined in: types/index.ts:344

Parameters
ParameterType
pathstring
Returns

FieldMetaState

getFormState()
ts
getFormState(): FormState<TValues>;

Defined in: types/index.ts:347

Returns

FormState<TValues>

getSnapshot()
ts
getSnapshot(): FormState<TValues>;

Defined in: types/index.ts:349

For useSyncExternalStore(form.subscribe, form.getSnapshot).

Returns

FormState<TValues>

getValues()
ts
getValues(): TValues;

Defined in: types/index.ts:350

Returns

TValues

getErrors()
ts
getErrors(): Readonly<Record<FieldPath, string>>;

Defined in: types/index.ts:351

Returns

Readonly<Record<FieldPath, string>>

isValid()
ts
isValid(): boolean;

Defined in: types/index.ts:352

Returns

boolean

isSubmitting()
ts
isSubmitting(): boolean;

Defined in: types/index.ts:353

Returns

boolean

isDirty()
ts
isDirty(): boolean;

Defined in: types/index.ts:354

Returns

boolean

changedFields()
ts
changedFields(): readonly string[];

Defined in: types/index.ts:355

Returns

readonly string[]

changedSinceSubmitFields()
ts
changedSinceSubmitFields(): readonly string[];

Defined in: types/index.ts:356

Returns

readonly string[]

diffFromDefaults()
ts
diffFromDefaults(options?: FormDiffOptions): Promise<FormDiffResult>;

Defined in: types/index.ts:357

Parameters
ParameterType
options?FormDiffOptions
Returns

Promise<FormDiffResult>

diffFrom()
ts
diffFrom(baseline: Record<string, unknown>, options?: FormDiffOptions): Promise<FormDiffResult>;

Defined in: types/index.ts:358

Parameters
ParameterType
baselineRecord<string, unknown>
options?FormDiffOptions
Returns

Promise<FormDiffResult>

when()
ts
when(field: string): WhenRuleBuilder<TValues>;

Defined in: types/index.ts:359

Parameters
ParameterType
fieldstring
Returns

WhenRuleBuilder<TValues>

calculate()
ts
calculate(path: string, options: 
  | CalculateOptions<TValues>
  | (context: {
  values: TValues;
}) => unknown): void;

Defined in: types/index.ts:360

Parameters
ParameterType
pathstring
options| CalculateOptions<TValues> | (context: { values: TValues; }) => unknown
Returns

void

saveDraft()
ts
saveDraft(): void;

Defined in: types/index.ts:364

Returns

void

undo()
ts
undo(): boolean;

Defined in: types/index.ts:365

Returns

boolean

redo()
ts
redo(): boolean;

Defined in: types/index.ts:366

Returns

boolean

getAnalytics()
ts
getAnalytics(): FormAnalyticsSnapshot;

Defined in: types/index.ts:367

Returns

FormAnalyticsSnapshot

flushOfflineQueue()
ts
flushOfflineQueue(): Promise<{
  flushed: number;
  failed: number;
}>;

Defined in: types/index.ts:368

Returns

Promise<{ flushed: number; failed: number; }>

use()
Call Signature
ts
use(plugin: FormPlugin<TValues>): void;

Defined in: types/index.ts:369

Parameters
ParameterType
pluginFormPlugin<TValues>
Returns

void

Call Signature
ts
use<TSelected>(selector: FormSelector<TValues, TSelected>): TSelected;

Defined in: types/index.ts:370

Type Parameters
Type Parameter
TSelected
Parameters
ParameterType
selectorFormSelector<TValues, TSelected>
Returns

TSelected

subscribe()
ts
subscribe(listener: () => void): () => void;

Defined in: types/index.ts:372

Advanced: reactive UI updates. Framework adapters call this internally.

Parameters
ParameterType
listener() => void
Returns
ts
(): void;
Returns

void

on()
ts
on(event: FormEvent, listener: () => void): () => void;

Defined in: types/index.ts:373

Parameters
ParameterType
eventFormEvent
listener() => void
Returns
ts
(): void;
Returns

void

destroy()
ts
destroy(): void;

Defined in: types/index.ts:374

Returns

void

registerPlugin()
ts
registerPlugin(plugin: FormPlugin<TValues>): void;

Defined in: types/index.ts:375

Parameters
ParameterType
pluginFormPlugin<TValues>
Returns

void


FormPluginSetupResult

Defined in: types/index.ts:383

Properties

PropertyModifierTypeDefined in
onDestroy?readonly() => voidtypes/index.ts:384

FormPlugin<TValues>

Defined in: types/index.ts:387

Type Parameters

Type ParameterDefault type
TValues extends Record<string, unknown>Record<string, unknown>

Properties

PropertyModifierTypeDefined in
namereadonlystringtypes/index.ts:388
order?readonlynumbertypes/index.ts:389

Methods

setup()
ts
setup(form: FormInstance<TValues>, api: FormPluginApi<TValues>): void | FormPluginSetupResult | () => void;

Defined in: types/index.ts:390

Parameters
ParameterType
formFormInstance<TValues>
apiFormPluginApi<TValues>
Returns

void | FormPluginSetupResult | () => void

Type Aliases

FieldUiMap

ts
type FieldUiMap = Readonly<Record<string, FieldUiState>>;

Defined in: engines/workflow/types.ts:54


FormatPreset

ts
type FormatPreset = "philippine-phone" | "credit-card" | "phone" | "currency" | "slug";

Defined in: format/presets.ts:12


Formatter()

ts
type Formatter = (value: unknown) => unknown;

Defined in: format/types.ts:1

Parameters

ParameterType
valueunknown

Returns

unknown


Parser()

ts
type Parser = (value: unknown) => unknown;

Defined in: format/types.ts:2

Parameters

ParameterType
valueunknown

Returns

unknown


FieldPath

ts
type FieldPath = string;

Defined in: types/index.ts:1


ValidationMode

ts
type ValidationMode = "onChange" | "onBlur" | "onSubmit" | "onTouched" | "all";

Defined in: types/index.ts:43


FormEvent

ts
type FormEvent = 
  | "change"
  | "blur"
  | "focus"
  | "reset"
  | "submit"
  | "validate"
  | "validated"
  | "autosave"
  | "draft";

Defined in: types/index.ts:45


ValidatorResult

ts
type ValidatorResult = true | false | string | undefined;

Defined in: types/index.ts:56


BuiltInFieldType

ts
type BuiltInFieldType = "text" | "email" | "password" | "url";

Defined in: types/index.ts:69


CustomFieldValidator()<TValues>

ts
type CustomFieldValidator<TValues> = (context: CustomFieldValidatorContext<TValues>) => 
  | ValidatorResult
| Promise<ValidatorResult>;

Defined in: types/index.ts:86

Type Parameters

Type ParameterDefault type
TValues extends Record<string, unknown>Record<string, unknown>

Parameters

ParameterType
contextCustomFieldValidatorContext<TValues>

Returns

| ValidatorResult | Promise<ValidatorResult>


FormRef()

ts
type FormRef = (element: HTMLFormElement | null) => void;

Defined in: types/index.ts:102

Parameters

ParameterType
elementHTMLFormElement | null

Returns

void


FieldSchemaDefinition

ts
type FieldSchemaDefinition = 
  | BuiltInFieldType
  | FieldSchemaConfig;

Defined in: types/index.ts:104


Validator()<TValues>

ts
type Validator<TValues> = (value: unknown, context: ValidationContext<TValues>) => 
  | ValidatorResult
| Promise<ValidatorResult>;

Defined in: types/index.ts:106

Type Parameters

Type ParameterDefault type
TValues extends Record<string, unknown>Record<string, unknown>

Parameters

ParameterType
valueunknown
contextValidationContext<TValues>

Returns

| ValidatorResult | Promise<ValidatorResult>


FormSelector()<TValues, TSelected>

ts
type FormSelector<TValues, TSelected> = (state: FormState<TValues>) => TSelected;

Defined in: types/index.ts:321

Type Parameters

Type Parameter
TValues extends Record<string, unknown>
TSelected

Parameters

ParameterType
stateFormState<TValues>

Returns

TSelected

Variables

email

ts
const email: Validator;

Defined in: validation/validators/email.ts:3


required

ts
const required: Validator;

Defined in: validation/validators/required.ts:3


url

ts
const url: Validator;

Defined in: validation/validators/url.ts:3

Functions

isFrameworkAdapter()

ts
function isFrameworkAdapter(value: unknown): value is FrameworkAdapter<Record<string, unknown>>;

Defined in: adapters/framework-adapter.ts:18

Parameters

ParameterType
valueunknown

Returns

value is FrameworkAdapter<Record<string, unknown>>


isPersistenceAdapter()

ts
function isPersistenceAdapter(value: unknown): value is PersistenceAdapter<Record<string, unknown>>;

Defined in: adapters/persistence-adapter.ts:27

Parameters

ParameterType
valueunknown

Returns

value is PersistenceAdapter<Record<string, unknown>>


isSchemaAdapter()

ts
function isSchemaAdapter(value: unknown): value is SchemaAdapter<Record<string, unknown>>;

Defined in: adapters/schema-adapter.ts:13

Parameters

ParameterType
valueunknown

Returns

value is SchemaAdapter<Record<string, unknown>>


isSubmitTransportAdapter()

ts
function isSubmitTransportAdapter(value: unknown): value is SubmitTransportAdapter<Record<string, unknown>, unknown>;

Defined in: adapters/submit-transport-adapter.ts:15

Parameters

ParameterType
valueunknown

Returns

value is SubmitTransportAdapter<Record<string, unknown>, unknown>


createForm()

ts
function createForm<TValues>(config: FormConfig<TValues>): FormInstance<TValues>;

Defined in: core/create-form.ts:1330

Create a form workflow instance. Pass target + schema to enhance native HTML, or initialValues for headless usage.

Type Parameters

Type Parameter
TValues extends Record<string, unknown>

Parameters

ParameterType
configFormConfig<TValues>

Returns

FormInstance<TValues>


pluginAsModule()

ts
function pluginAsModule<TValues>(
   plugin: FormPlugin<TValues>, 
   order: number, 
api?: FormPluginApi<TValues>): FormModule<TValues>;

Defined in: core/form-module-host.ts:11

Type Parameters

Type Parameter
TValues extends Record<string, unknown>

Parameters

ParameterType
pluginFormPlugin<TValues>
ordernumber
api?FormPluginApi<TValues>

Returns

FormModule<TValues>


when()

ts
function when<TValues>(field: string): WhenRuleBuilder<TValues>;

Defined in: engines/workflow/when.ts:138

Type Parameters

Type ParameterDefault type
TValues extends Record<string, unknown>Record<string, unknown>

Parameters

ParameterType
fieldstring

Returns

WhenRuleBuilder<TValues>


matchesField()

ts
function matchesField<TValues>(targetPath: string, message: string): Validator<TValues>;

Defined in: validation/cross-field.ts:17

Type Parameters

Type Parameter
TValues extends Record<string, unknown>

Parameters

ParameterTypeDefault value
targetPathstringundefined
messagestring"Values must match."

Returns

Validator<TValues>


requiredWhen()

ts
function requiredWhen<TValues>(
   sourcePath: string, 
   predicate: (value: unknown, context: ValidationContext<TValues>) => boolean, 
message: string): Validator<TValues>;

Defined in: validation/cross-field.ts:27

Type Parameters

Type Parameter
TValues extends Record<string, unknown>

Parameters

ParameterTypeDefault value
sourcePathstringundefined
predicate(value: unknown, context: ValidationContext<TValues>) => booleanundefined
messagestring"This field is required."

Returns

Validator<TValues>


runValidationPipeline()

ts
function runValidationPipeline<TValues>(input: ValidationPipelineInput<TValues>): Promise<Record<string, string>>;

Defined in: validation/pipeline.ts:22

Type Parameters

Type Parameter
TValues extends Record<string, unknown>

Parameters

ParameterType
inputValidationPipelineInput<TValues>

Returns

Promise<Record<string, string>>


currency()

ts
function currency(options: CurrencyValidatorOptions): Validator;

Defined in: validation/validators/currency.ts:9

Parameters

ParameterType
optionsCurrencyValidatorOptions

Returns

Validator


custom()

ts
function custom<TValues>(fn: CustomFieldValidator<TValues>): Validator<TValues>;

Defined in: validation/validators/custom.ts:9

Type Parameters

Type Parameter
TValues extends Record<string, unknown>

Parameters

ParameterType
fnCustomFieldValidator<TValues>

Returns

Validator<TValues>


asyncValidator()

ts
function asyncValidator<TValues>(fn: Validator<TValues>): AsyncValidator<TValues>;

Defined in: validation/validators/custom.ts:18

Type Parameters

Type Parameter
TValues extends Record<string, unknown>

Parameters

ParameterType
fnValidator<TValues>

Returns

AsyncValidator<TValues>


date()

ts
function date(options: DateValidatorOptions): Validator;

Defined in: validation/validators/date.ts:29

Parameters

ParameterType
optionsDateValidatorOptions

Returns

Validator


maxLength()

ts
function maxLength(max: number): Validator;

Defined in: validation/validators/max-length.ts:4

Parameters

ParameterType
maxnumber

Returns

Validator


minLength()

ts
function minLength(min: number): Validator;

Defined in: validation/validators/min-length.ts:4

Parameters

ParameterType
minnumber

Returns

Validator


number()

ts
function number(options: NumberValidatorOptions): Validator;

Defined in: validation/validators/number.ts:22

Parameters

ParameterType
optionsNumberValidatorOptions

Returns

Validator


min()

ts
function min(minimum: number): Validator;

Defined in: validation/validators/number.ts:50

Parameters

ParameterType
minimumnumber

Returns

Validator


max()

ts
function max(maximum: number): Validator;

Defined in: validation/validators/number.ts:69

Parameters

ParameterType
maximumnumber

Returns

Validator


password()

ts
function password(options: PasswordValidatorOptions): Validator;

Defined in: validation/validators/password.ts:11

Parameters

ParameterType
optionsPasswordValidatorOptions

Returns

Validator


phone()

ts
function phone(message: string): Validator;

Defined in: validation/validators/phone.ts:5

Parameters

ParameterTypeDefault value
messagestring"Enter a valid phone number."

Returns

Validator


regex()

ts
function regex(pattern: RegExp, message: string): Validator;

Defined in: validation/validators/regex.ts:4

Parameters

ParameterTypeDefault value
patternRegExpundefined
messagestring"Invalid format."

Returns

Validator

JOC is a JayOnCode monorepo of @jayoncode/* packages. Docs sync from source via TypeDoc and sync scripts.