FormKit-UI is a reusable React + TypeScript form library that provides ready-to-use field components, form orchestration helpers, and hooks for building complex forms quickly.
- Rich field set: text, textarea, select, multiselect, date, time, datetime, phone, file, OTP, slider, range slider, tags, rating, checkbox, switch
- Dynamic form rendering with schema-driven configuration
- Built-in i18n support (
en,fr) with custom translation overrides - Validation helpers and conditional field rendering
- ESM + CJS + types output for package consumers
npm install @ciscode/ui-form-kitPeer dependencies:
react >= 18react-dom >= 18
src/componentsUI fields, form container, layout primitives, and contextssrc/hooksreusable hooks (useFormKit,useFormContext,useI18n, etc.)src/corecore helpers (validators, conditional logic, i18n utilities)src/localestranslation dictionariessrc/modelstype models and configuration contractssrc/index.tspublic API surface
Local quality gates expected before merge:
npm run lintnpm run typechecknpm run test:covnpm run build
Coverage thresholds are enforced in Vitest:
- statements: 80%
- branches: 80%
- functions: 80%
- lines: 80%
npm run cleanremove build and coverage artifactsnpm run buildbuild package output and bundled stylesnpm run lintrun ESLintnpm run typecheckrun TypeScript checksnpm testrun Vitestnpm run test:covrun tests with coverage thresholdsnpm run verifyrun lint + typecheck + coveragenpm run format/npm run format:writerun Prettiernpx changesetcreate a changeset
- Work from feature branches off
develop - Merge into
develop - Add changesets for user-facing changes
- Promote
developtomaster - Publish tagged versions