Skip to content

Community Edition

QForm Builder Community is the free and publishable base of the project. It must remain easy to install, clearly documented and stable enough to serve as a foundation for NFZ Studio or an existing Nuxt 4 application.

Goal

Community provides the common runtime contract:

  • visual form editing;
  • runtime rendering;
  • secure JSON schema import/export;
  • public custom configuration-panel registry;
  • multi-instance support;
  • local autosave;
  • advanced conditions and validation;
  • shared Theme Builder and light/dark rendering;
  • public form-template registry;
  • Nuxt Layer packaging;
  • VitePress documentation.

Included features

txt
FormBuilder
FormViewer
Quasar/FormKit adapters
Pinia stores
multi-instance builder-id
schema + values v-model
save/reset/submit events
advanced recursive conditions
steps/pages validation and reordering
advanced validation and public rule registry
Theme Builder and light/dark rendering
form-template registry and public application API
GitHub Pages documentation workflow

Phase 1 public foundation

The Community edition now includes the complete Phase 1 public contract:

  • config-panels for typed host-defined settings panels;
  • toolbar import from pasted JSON or a .json file;
  • clipboard and downloadable JSON export;
  • schema sanitization against prototype pollution, event attributes, unsafe URLs and executable HTML;
  • a documented NFZ forms persistence pattern with optimistic versioning.

Steps/pages support includes reordering, duplication, guarded deletion, visible validation status and forward-navigation blocking while the current step is invalid.

Community also includes typed FormKit rules, guarded regex patterns, field-level messages, reactive cross-field comparisons and a public sync/async rule registry. Zod/Feathers server validation remains the responsibility of the host application.

Community includes four localized form templates and the public templates / template-mode registry contract. Host applications can replace or extend the built-in registry, while append mode rewrites name collisions, conditions, cross-field validation targets and initial values.

vue
<FormBuilder
  builder-id="community-builder"
  v-model:schema="schema"
  v-model:values="values"
  autosave
  @save="saveForm"
/>
vue
<FormViewer
  :form-fields="schema"
  v-model="values"
  @submit="submitForm"
/>

Public types

ts
import type {
  FormBuilderSchema,
  FormBuilderValues,
  FormBuilderSavePayload,
  FormBuilderPublicApi,
  QFormBuilderTemplateRegistry,
  QFormBuilderTemplateApplyEvent,
} from '@vevedh/qform-builder-layer/types'

What remains internal

The following pieces are implementation details and should not be treated as a stable public API:

txt
internal store shape
low-level drag-and-drop composables
settings drawer internals
private serialization details
playground routes

Best practices

  • Keep Community focused on the stable base.
  • Do not include Pro-only code in the Community package.
  • Keep the published npm package small and predictable.
  • Run the release checklist before publishing.

See Advanced validation for the complete contract.

See Form templates for the registry, replace/append modes and merge guarantees.

Community accessibility

Community includes keyboard workflows for the catalog, canvas and tree, live regions, focus restoration and the automated axe gate. Extensions can use useFormBuilderAccessibility() to announce an action or focus a field without accessing the internal store.

See Accessibility, keyboard support and axe auditing.

QForm Builder — Nuxt 4, Quasar and FormKit layer for dynamic forms.