Skip to content

Entrypoints & subpaths

Tree-shakeable imports for @jayoncode/form-intelligence. Prefer the narrowest entry that exports what you need.

Previous: Capabilities · Next: Validation

Playground

Sandbox — explore features live; import paths below apply in app code.

Quick rule

NeedImport from
createForm, when, validators, most instance APIs@jayoncode/form-intelligence (main)
Phone/currency masks, formatSlug, trim, composeFormatters@jayoncode/form-intelligence/format
DevTools inspector@jayoncode/form-intelligence/devtools
Derived UI projection (showError, canSubmit, status, …)@jayoncode/form-intelligence/ui
CAPTCHA Security Stage (captcha, providers)@jayoncode/form-intelligence/captcha
Browser-lifecycle / keyboard plugins@jayoncode/form-intelligence/plugins
Error helpers (toNormalizedErrors, …)@jayoncode/form-intelligence/validation

Main-entry phone / currency are validators (phone(), currency(opts?) — “is this valid?”).
Formatter masks use a format* prefix on /format only (formatPhone, formatCurrency, … — “mask while typing”).
trim stays trim. See Formatters and Validation.

Subpath map

ImportUse forAlso on main?
@jayoncode/form-intelligencecreateForm, when, validators, calculate, dependencies, transform/presentation/middleware helpers, createFormController, computeFieldAria
…/validationPipeline helpers, mergeValidatorsByKind, matchesField, requiredWhen, re-exported validators — Validation (HTML constraints attach via core DOM, not a subpath)Validators yes; helpers prefer this path
…/formatFormatters / parsers (formatPhone, formatSlug, formatCreditCard, …), advanced (formatForDisplay, FormatterRegistry)No (validators like phone() stay on main)
…/ruleswhen, evaluateFormRules, runDependencyRules, runCalculations, rule typeswhen also on main; prefer form rules for apps — Rules → evaluateFormRules
…/workflowLow-level autosave/draft/wizard internalsPrefer createForm({ workflow })
…/draftDraft storage primitives, createIndexedDbDraftStorageWorkflow → IndexedDB draftsPrefer workflow.draft
…/wizardWizard graph helpers (getStepGraph, listVisibleStepIds, …) — Workflow → wizard graph helpersPrefer workflow.wizard
…/submissionSubmit orchestrator / offline queue classes, evaluateSubmissionGuard, Security Stage API — SubmissionPrefer form.submit() + workflow.offlineQueue
…/offlineOffline module servicePrefer workflow config
…/historyHistory stack primitivesPrefer form.undo() / form.redo()
…/stateStore / selectors (selectValues, selectFieldValue, …) — State → selectorsPrefer form.state
…/fieldsField registry / array helpers (pushArrayItem, removeArrayItem, …) — State → array field helpersPrefer form.field() / form.pushField()
…/pluginscreateBrowserLifecyclePlugin, createKeyboardPlugin, pluginAsModule, …Plugins: this path
…/devtoolsenableFormDevTools, getFormDevToolsDevTools: this path only
…/uiDerived UI projection: ui(), createUiProjection, showError, canSubmit, status, explain()UI projection → free helpersProjection: this path
…/captchaCAPTCHA Security Stage: captcha(), turnstile(), recaptcha(), hcaptcha(), mockCaptcha()CAPTCHA: this path only
…/analyticsFormAnalyticsTracker, createAnalyticsPluginIntegrations → analytics module APIPrefer workflow.analytics
…/adaptersAdapter types, createFormControllerController also on main
…/dependencyDependency engine, detectDependencyCyclesdependencies also on main
…/transformInbound transform pipeline helpers (createTransformPipeline, runTransformInbound, TRANSFORM_INBOUND_ORDER)Also on main
…/presentationField UI / presentation helpersAlso on main
…/middlewareMiddleware pipeline / stages (composeMiddleware, runMiddlewareChain, MiddlewarePipeline)Also on main / plugins
…/accessibilitycomputeFieldAriaAlso on main

Instance API vs low-level import

Most apps only need:

ts
import { createForm, when, required, email } from "@jayoncode/form-intelligence";

Use subpaths when you want an explicit dependency, a slimmer entry, or symbols that are not on main (formatters, DevTools, lifecycle plugins).

JOC — headless @jayoncode/* TypeScript libraries. Docs sync from package source via TypeDoc and sync scripts.