Conversation
…to feat/components
…/, fields/, and layout/ folders
…DE-MA/FormKit-UI into feat/components
…40+ countries, flagcdn.com flags)
… with client-side validation
…max/step config options
There was a problem hiding this comment.
Pull request overview
Refactors the FormKit UI codebase toward a Component–Hook–Model (CHM) architecture and introduces a framework-free core/ layer, while replacing legacy components/adapters with new field/layout/form implementations and tests.
Changes:
- Added
src/core/utilities (types, validation, conditionals, grid, i18n, errors) with new unit tests and coverage tooling. - Introduced new field/layout/form components (DynamicForm internals, standardized Field* components) and removed legacy components/adapters/errors modules.
- Added/updated changesets and package scripts/deps for coverage reporting.
Reviewed changes
Copilot reviewed 92 out of 128 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| src/hooks/tests/useAsyncValidation.test.ts | Adds tests for async validation behavior (debounce/abort/error handling). |
| src/hooks/FormKitContext.ts | Introduces shared React context + hook under hooks layer. |
| src/errors/types.ts | Removes legacy error type definitions module. |
| src/errors/index.ts | Removes legacy errors barrel export. |
| src/errors/errorFormatters.ts | Removes legacy error formatting utilities. |
| src/core/validator.ts | Adds framework-free validation helpers (Zod mapping, sync/field validation, emptiness check). |
| src/core/types.ts | Adds framework-free core types/constants (FieldType, values, validation mode, debounce consts). |
| src/core/schema-helpers.ts | Adds helpers to create/merge Zod schemas. |
| src/core/index.ts | Adds barrel exports for the core module. |
| src/core/i18n.ts | Adds framework-free translation types + lookup/interpolation utility. |
| src/core/grid.ts | Adds grid class generation utilities (responsive Tailwind helpers). |
| src/core/errors.ts | Adds framework-free custom error classes. |
| src/core/conditional.ts | Adds conditional visibility evaluation utilities. |
| src/core/tests/validator.test.ts | Adds tests for validator utilities. |
| src/core/tests/schema-helpers.test.ts | Adds tests for schema helpers. |
| src/core/tests/grid.test.ts | Adds tests for grid helpers. |
| src/core/tests/conditional.test.ts | Adds tests for conditional logic. |
| src/components/layout/index.ts | Adds layout barrel exports. |
| src/components/layout/tests/FormSection.test.tsx | Adds tests for FormSection layout + grid behavior. |
| src/components/layout/FormSection.tsx | Adds section rendering with fieldset/legend and grid/colSpan support. |
| src/components/layout/FormActions.tsx | Adds standardized action buttons with i18n + loading state. |
| src/components/layout/FieldLabel.tsx | Adds standardized label/legend component with required indicator + i18n. |
| src/components/layout/FieldGroup.tsx | Adds field grouping component using fieldset/legend. |
| src/components/layout/FieldError.tsx | Adds standardized accessible field error rendering. |
| src/components/index.ts | Reworks component exports into CHM modules and re-exports provider/context hook. |
| src/components/form/index.ts | Adds form module barrel exports. |
| src/components/form/FormStepper.tsx | Adds stepper UI for wizard mode with accessibility attributes. |
| src/components/form/DynamicFormStep.tsx | Adds per-step rendering wrapper for wizard mode. |
| src/components/fields/index.ts | Adds fields module barrel exports. |
| src/components/fields/tests/TimeField.test.tsx | Adds tests for TimeField behavior/a11y. |
| src/components/fields/tests/TagsField.test.tsx | Adds tests for TagsField add/remove/limits behavior. |
| src/components/fields/tests/SliderField.test.tsx | Adds tests for SliderField behavior and a11y attrs. |
| src/components/fields/tests/RatingField.test.tsx | Adds tests for RatingField interactions + keyboard support. |
| src/components/fields/tests/RangeSliderField.test.tsx | Adds tests for RangeSliderField behavior. |
| src/components/fields/tests/PhoneField.test.tsx | Adds tests for PhoneField interactions and structure. |
| src/components/fields/tests/PasswordField.test.tsx | Adds tests for PasswordField toggle + a11y. |
| src/components/fields/tests/OTPField.test.tsx | Adds tests for OTPField input/paste/navigation. |
| src/components/fields/tests/MultiSelectField.test.tsx | Adds tests for MultiSelectField interactions and a11y. |
| src/components/fields/tests/DateTimeField.test.tsx | Adds tests for DateTimeField behavior/a11y. |
| src/components/fields/TextareaField.tsx | Adds new textarea field implementation using FormKit context. |
| src/components/fields/TextField.tsx | Adds new text/email/number input field implementation. |
| src/components/fields/TagsField.tsx | Adds tags input with limits/duplicates/paste support. |
| src/components/fields/SwitchField.tsx | Adds switch field implementation with role="switch". |
| src/components/fields/SliderField.tsx | Adds range slider field with optional numeric input. |
| src/components/fields/RatingField.tsx | Adds rating field with stars, half-step, and keyboard controls. |
| src/components/fields/RadioGroupField.tsx | Adds radio group field using fieldset/legend + radiogroup. |
| src/components/fields/PasswordField.tsx | Adds password field with show/hide toggle and improved styling. |
| src/components/fields/OTPField.tsx | Adds OTP input field with focus management and paste support. |
| src/components/fields/FileField.tsx | Adds file upload field with type/size validation and i18n hints. |
| src/components/fields/Field.tsx | Adds field router (type-based rendering + conditional visibility). |
| src/components/fields/CheckboxField.tsx | Adds checkbox field with custom visuals + hidden native input. |
| src/components/context/index.ts | Adds context module barrel exports. |
| src/components/context/I18nContext.tsx | Adds i18n provider/context with deep-merge support. |
| src/components/context/FormKitContext.tsx | Adds provider component bridging to hooks/FormKitContext. |
| src/components/tests/ErrorMessage.test.tsx | Removes tests for legacy ErrorMessage component. |
| src/components/Textarea.tsx | Removes legacy Textarea component. |
| src/components/Select.tsx | Removes legacy Select component. |
| src/components/RadioGroup.tsx | Removes legacy RadioGroup component. |
| src/components/Input.tsx | Removes legacy Input component. |
| src/components/FormField.tsx | Removes legacy FormField wrapper component. |
| src/components/ErrorMessage.tsx | Removes legacy ErrorMessage component. |
| src/components/Checkbox.tsx | Removes legacy Checkbox component. |
| src/adapters/zod.ts | Removes legacy Zod adapter. |
| src/adapters/react-hook-form.ts | Removes legacy React Hook Form adapter. |
| src/adapters/index.ts | Removes legacy adapters barrel export. |
| src/adapters/tests/zod.test.ts | Removes tests for legacy Zod adapter. |
| package.json | Adds Vitest coverage dependency and test:cov script. |
| .changeset/instructions-refactor.md | Adds changeset describing refactor + testing/coverage claims. |
| .changeset/improved-field-styles.md | Adds changeset describing style improvements. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 94 out of 128 changed files in this pull request and generated 7 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
* add core type system and remove placeholders * add field helper utilities with 35 tests * add 15 core validators with 51 tests * add error formatters and adapters with 35 tests * add useFormField hook with 26 test * add useValidation hook with 20 tests * add useFieldError hook with 25 tests * add Input component with validation, accessibility, and comprehensive tests * add Textarea component with auto-resize, character counter, and 36 tests * add Select component with single/multi selection support and 32 tests * add Checkbox component with indeterminate state support and 31 tests * add RadioGroup component with keyboard navigation and 37 tests * add FormField wrapper component with flexible layout and 28 tests * add ErrorMessage component with severity levels and 26 tests * add Zod adapter for schema validation integration with 28 tests * add React Hook Form adapter with component-specific helpers and 38 tests * add Field Generator with dynamic component creation and 36 tests * add Tailwind base styles to all form components * rename postcss.config.js to postcss.config.cjs for ESM compatibility * remove duplicate postcss.config.js to resolve ESM build error * restore custom error and auto-resize classes for test compatibility with Tailwind styles * restore formkit-textarea-count-over class for character count over limit in Textarea * ensure autoDismiss cancels previous timer in useFieldError for correct error state handling * enhance accessibility with sr-only labels and aria-live on error messages * add responsive design utilities to form components * configure Tailwind v4 CSS build and package exports * ops : updated workflows * polish component states with hover, focus, and disabled styles * docs: addded copilot instructions file * add useForm hook and FormContext for form state management * add Form wrapper component with submit handling * export Form, useForm, and FormContext from package * increase timeout for autoDismiss test stability * add PasswordInput component with visibility toggle and strength meter * add NumberInput component with increment buttons and formatting * add DatePicker component with calendar popup * add PhoneInput component with country code selection * feat: add FileInput component with drag-and-drop and preview * feat: add ColorPicker component with swatches and RGB/HSL inputs * feat: add Switch component with toggle states and customization * chore: standardize workflows and ci/cd - Fix SONAR_PROJECT_KEY (critical bug fix) - Add dependabot.yml for dependency management - Add sonarqube_mcp.instructions.md - Remove push trigger from pr-validation - Standardize branch triggers and Actions versions - Pin SonarQube actions to commit SHA * ops: added sonarqube_mcp-instructions * chore: standardize npm scripts (lint, format, typecheck, test, build, clean, verify, prepublishOnly) * chore: added config files for eslint and prettier * refactor: restrict public API to DynamicForm export only * refactor: restructure codebase to CHM architecture with core/, models/, fields/, and layout/ folders * chore: remove legacy code and consolidate to CHM architecture * docs: add standardized instruction files structure - Add comprehensive instruction files in .github/instructions/ - Includes copilot, testing, bugfix, features, general guidelines - Standardize documentation across all repositories * refactor: move instruction files to .github/instructions/ - Remove deprecated instruction files from .github/ root - Consolidate all docs in .github/instructions/ directory - Improve documentation organization * feat(testing): add test suite achieving 80%+ coverage (192 tests) * docs: enhance JSDoc for FieldType and ConditionalOperator, add changeset * refactor: fix layer import rules and component default exports * style: add field components with improved styling * restore the checkbox field * restore the password field * feat: add PhoneField with country selector and countries.json data (240+ countries, flagcdn.com flags) * password field style adjustments * feat(FileField): add accept, maxFileSize, and multiple config options with client-side validation * adjust radio and checkbox fields styles * adjust szitch field styles * feat: add SliderField with range input, editable value sync, and min/max/step config options * feat: add RangeSliderField with dual-thumb slider and editable from/to inputs * feat: add OTPField with configurable length and Full paste support * feat: add TagsField with multi-tag input, paste support, and configurable limits * feat: add RatingField with star rating, half-star support, and keyboard navigation * feat: add TimeField with step interval * feat: add DateTimeField with combined date and time input * test: add comprehensive tests for new field components * fix: unify checkbox styles across components * feat: add MultiSelectField with search, tags, and keyboard navigation * fix: remove focus styles from rating field * feat: update SelectField to use custom dropdown with search matching MultiSelectField style * fix: update field and form tests * feat: update time, date and dateTime fields styles to have custom dropdowns and pickers * fix: adjust select and multi select fields styles * fix: update dropdowns and pickers positioning and style across components * feat: add responsive measures to form fields * feat: update OTP field styles to support mobile layout * feat(i18n): add internationalization with English and French locale support * feat(form): automatically scroll to first invalid field and focus it on submit * ops: UPDATED publish workflow and dependabot PR limits * feat(ArrayField): refactor to reuse Field components via scoped context * feat: add translation content for Array field and optional params * refactor: remove unused config param * feat(layout): add grid-based layout system with sections and responsive columns * fix(ArrayField): enable per-field Zod validation and error display for nested fields * ops (ci): standardize publish validation and dependabot across all packages - Replace git tag --list strategy with package.json-driven tag validation in all 16 publish workflows; use git rev-parse to verify the exact tag exists rather than guessing the latest repo-wide tag - Update error guidance to reflect feat/** → develop → master flow - Standardize dependabot to npm-only, grouped, monthly cadence across all 16 packages; remove github-actions ecosystem updates - Add missing dependabot.yml to AuthKit-UI, ChartKit-UI, HealthKit, HooksKit, paymentkit, StorageKit * security: added CODEOWNER file for branches security \\ * ops: updated release check workflow * refactore and remove duplicate logic * address and fix the Sonar annotated findings * ops: updated relese check workflow# * ci: update release check workflow * ops: updated release check strategy * fix: formatting issues * Refactore (#2) * polish component states with hover, focus, and disabled styles * add useForm hook and FormContext for form state management * add Form wrapper component with submit handling * export Form, useForm, and FormContext from package * increase timeout for autoDismiss test stability * add PasswordInput component with visibility toggle and strength meter * add NumberInput component with increment buttons and formatting * add DatePicker component with calendar popup * add PhoneInput component with country code selection * feat: add FileInput component with drag-and-drop and preview * feat: add ColorPicker component with swatches and RGB/HSL inputs * feat: add Switch component with toggle states and customization * refactor: restrict public API to DynamicForm export only * refactor: restructure codebase to CHM architecture with core/, models/, fields/, and layout/ folders * chore: remove legacy code and consolidate to CHM architecture * feat(testing): add test suite achieving 80%+ coverage (192 tests) * docs: enhance JSDoc for FieldType and ConditionalOperator, add changeset * refactor: fix layer import rules and component default exports * style: add field components with improved styling * restore the checkbox field * restore the password field * feat: add PhoneField with country selector and countries.json data (240+ countries, flagcdn.com flags) * password field style adjustments * feat(FileField): add accept, maxFileSize, and multiple config options with client-side validation * adjust radio and checkbox fields styles * adjust szitch field styles * feat: add SliderField with range input, editable value sync, and min/max/step config options * feat: add RangeSliderField with dual-thumb slider and editable from/to inputs * feat: add OTPField with configurable length and Full paste support * feat: add TagsField with multi-tag input, paste support, and configurable limits * feat: add RatingField with star rating, half-star support, and keyboard navigation * feat: add TimeField with step interval * feat: add DateTimeField with combined date and time input * test: add comprehensive tests for new field components * fix: unify checkbox styles across components * feat: add MultiSelectField with search, tags, and keyboard navigation * fix: remove focus styles from rating field * feat: update SelectField to use custom dropdown with search matching MultiSelectField style * fix: update field and form tests * feat: update time, date and dateTime fields styles to have custom dropdowns and pickers * fix: adjust select and multi select fields styles * fix: update dropdowns and pickers positioning and style across components * feat: add responsive measures to form fields * feat: update OTP field styles to support mobile layout * feat(i18n): add internationalization with English and French locale support * feat(form): automatically scroll to first invalid field and focus it on submit * feat(ArrayField): refactor to reuse Field components via scoped context * feat: add translation content for Array field and optional params * refactor: remove unused config param * feat(layout): add grid-based layout system with sections and responsive columns * fix(ArrayField): enable per-field Zod validation and error display for nested fields * refactore and remove duplicate logic * address and fix the Sonar annotated findings * fix: formatting issues --------- Co-authored-by: Zaiidmo <zaiidmoumnii@gmail.com> * chore(deps): dedupe coverage plugin dependency * test(coverage): add high-impact branch tests for form fields and i18n/actions * ops: updated unit tests directory for sonar analysis * chore(changeset): remove improved field styles entry * chore(changeset): remove instructions refactor entry * chore(changeset): add consolidated first release notes * ci(sonar): update release check configuration * docs(readme): refresh first release documentation * chore(lockfile): sync dependency lock changes * fix(fields): improve array field interaction behavior * fix(fields): improve date field accessibility * fix(fields): improve date-time field accessibility * fix(fields): improve multi-select interaction semantics * fix(fields): improve time field accessibility * test(fields): extend time field interaction coverage * 0.0.0 * 0.0.1 * fix(fields): guard focused option access in multiselect keyboard selection * fix: adjust input z placement in array field (#5) --------- Co-authored-by: Zaiidmo <zaiidmoumnii@gmail.com>
* add core type system and remove placeholders * add field helper utilities with 35 tests * add 15 core validators with 51 tests * add error formatters and adapters with 35 tests * add useFormField hook with 26 test * add useValidation hook with 20 tests * add useFieldError hook with 25 tests * add Input component with validation, accessibility, and comprehensive tests * add Textarea component with auto-resize, character counter, and 36 tests * add Select component with single/multi selection support and 32 tests * add Checkbox component with indeterminate state support and 31 tests * add RadioGroup component with keyboard navigation and 37 tests * add FormField wrapper component with flexible layout and 28 tests * add ErrorMessage component with severity levels and 26 tests * add Zod adapter for schema validation integration with 28 tests * add React Hook Form adapter with component-specific helpers and 38 tests * add Field Generator with dynamic component creation and 36 tests * add Tailwind base styles to all form components * rename postcss.config.js to postcss.config.cjs for ESM compatibility * remove duplicate postcss.config.js to resolve ESM build error * restore custom error and auto-resize classes for test compatibility with Tailwind styles * restore formkit-textarea-count-over class for character count over limit in Textarea * ensure autoDismiss cancels previous timer in useFieldError for correct error state handling * enhance accessibility with sr-only labels and aria-live on error messages * add responsive design utilities to form components * configure Tailwind v4 CSS build and package exports * ops : updated workflows * polish component states with hover, focus, and disabled styles * docs: addded copilot instructions file * add useForm hook and FormContext for form state management * add Form wrapper component with submit handling * export Form, useForm, and FormContext from package * increase timeout for autoDismiss test stability * add PasswordInput component with visibility toggle and strength meter * add NumberInput component with increment buttons and formatting * add DatePicker component with calendar popup * add PhoneInput component with country code selection * feat: add FileInput component with drag-and-drop and preview * feat: add ColorPicker component with swatches and RGB/HSL inputs * feat: add Switch component with toggle states and customization * chore: standardize workflows and ci/cd - Fix SONAR_PROJECT_KEY (critical bug fix) - Add dependabot.yml for dependency management - Add sonarqube_mcp.instructions.md - Remove push trigger from pr-validation - Standardize branch triggers and Actions versions - Pin SonarQube actions to commit SHA * ops: added sonarqube_mcp-instructions * chore: standardize npm scripts (lint, format, typecheck, test, build, clean, verify, prepublishOnly) * chore: added config files for eslint and prettier * refactor: restrict public API to DynamicForm export only * refactor: restructure codebase to CHM architecture with core/, models/, fields/, and layout/ folders * chore: remove legacy code and consolidate to CHM architecture * docs: add standardized instruction files structure - Add comprehensive instruction files in .github/instructions/ - Includes copilot, testing, bugfix, features, general guidelines - Standardize documentation across all repositories * refactor: move instruction files to .github/instructions/ - Remove deprecated instruction files from .github/ root - Consolidate all docs in .github/instructions/ directory - Improve documentation organization * feat(testing): add test suite achieving 80%+ coverage (192 tests) * docs: enhance JSDoc for FieldType and ConditionalOperator, add changeset * refactor: fix layer import rules and component default exports * style: add field components with improved styling * restore the checkbox field * restore the password field * feat: add PhoneField with country selector and countries.json data (240+ countries, flagcdn.com flags) * password field style adjustments * feat(FileField): add accept, maxFileSize, and multiple config options with client-side validation * adjust radio and checkbox fields styles * adjust szitch field styles * feat: add SliderField with range input, editable value sync, and min/max/step config options * feat: add RangeSliderField with dual-thumb slider and editable from/to inputs * feat: add OTPField with configurable length and Full paste support * feat: add TagsField with multi-tag input, paste support, and configurable limits * feat: add RatingField with star rating, half-star support, and keyboard navigation * feat: add TimeField with step interval * feat: add DateTimeField with combined date and time input * test: add comprehensive tests for new field components * fix: unify checkbox styles across components * feat: add MultiSelectField with search, tags, and keyboard navigation * fix: remove focus styles from rating field * feat: update SelectField to use custom dropdown with search matching MultiSelectField style * fix: update field and form tests * feat: update time, date and dateTime fields styles to have custom dropdowns and pickers * fix: adjust select and multi select fields styles * fix: update dropdowns and pickers positioning and style across components * feat: add responsive measures to form fields * feat: update OTP field styles to support mobile layout * feat(i18n): add internationalization with English and French locale support * feat(form): automatically scroll to first invalid field and focus it on submit * ops: UPDATED publish workflow and dependabot PR limits * feat(ArrayField): refactor to reuse Field components via scoped context * feat: add translation content for Array field and optional params * refactor: remove unused config param * feat(layout): add grid-based layout system with sections and responsive columns * fix(ArrayField): enable per-field Zod validation and error display for nested fields * ops (ci): standardize publish validation and dependabot across all packages - Replace git tag --list strategy with package.json-driven tag validation in all 16 publish workflows; use git rev-parse to verify the exact tag exists rather than guessing the latest repo-wide tag - Update error guidance to reflect feat/** → develop → master flow - Standardize dependabot to npm-only, grouped, monthly cadence across all 16 packages; remove github-actions ecosystem updates - Add missing dependabot.yml to AuthKit-UI, ChartKit-UI, HealthKit, HooksKit, paymentkit, StorageKit * security: added CODEOWNER file for branches security \\ * ops: updated release check workflow * refactore and remove duplicate logic * address and fix the Sonar annotated findings * ops: updated relese check workflow# * ci: update release check workflow * ops: updated release check strategy * fix: formatting issues * Refactore (#2) * polish component states with hover, focus, and disabled styles * add useForm hook and FormContext for form state management * add Form wrapper component with submit handling * export Form, useForm, and FormContext from package * increase timeout for autoDismiss test stability * add PasswordInput component with visibility toggle and strength meter * add NumberInput component with increment buttons and formatting * add DatePicker component with calendar popup * add PhoneInput component with country code selection * feat: add FileInput component with drag-and-drop and preview * feat: add ColorPicker component with swatches and RGB/HSL inputs * feat: add Switch component with toggle states and customization * refactor: restrict public API to DynamicForm export only * refactor: restructure codebase to CHM architecture with core/, models/, fields/, and layout/ folders * chore: remove legacy code and consolidate to CHM architecture * feat(testing): add test suite achieving 80%+ coverage (192 tests) * docs: enhance JSDoc for FieldType and ConditionalOperator, add changeset * refactor: fix layer import rules and component default exports * style: add field components with improved styling * restore the checkbox field * restore the password field * feat: add PhoneField with country selector and countries.json data (240+ countries, flagcdn.com flags) * password field style adjustments * feat(FileField): add accept, maxFileSize, and multiple config options with client-side validation * adjust radio and checkbox fields styles * adjust szitch field styles * feat: add SliderField with range input, editable value sync, and min/max/step config options * feat: add RangeSliderField with dual-thumb slider and editable from/to inputs * feat: add OTPField with configurable length and Full paste support * feat: add TagsField with multi-tag input, paste support, and configurable limits * feat: add RatingField with star rating, half-star support, and keyboard navigation * feat: add TimeField with step interval * feat: add DateTimeField with combined date and time input * test: add comprehensive tests for new field components * fix: unify checkbox styles across components * feat: add MultiSelectField with search, tags, and keyboard navigation * fix: remove focus styles from rating field * feat: update SelectField to use custom dropdown with search matching MultiSelectField style * fix: update field and form tests * feat: update time, date and dateTime fields styles to have custom dropdowns and pickers * fix: adjust select and multi select fields styles * fix: update dropdowns and pickers positioning and style across components * feat: add responsive measures to form fields * feat: update OTP field styles to support mobile layout * feat(i18n): add internationalization with English and French locale support * feat(form): automatically scroll to first invalid field and focus it on submit * feat(ArrayField): refactor to reuse Field components via scoped context * feat: add translation content for Array field and optional params * refactor: remove unused config param * feat(layout): add grid-based layout system with sections and responsive columns * fix(ArrayField): enable per-field Zod validation and error display for nested fields * refactore and remove duplicate logic * address and fix the Sonar annotated findings * fix: formatting issues --------- Co-authored-by: Zaiidmo <zaiidmoumnii@gmail.com> * chore(deps): dedupe coverage plugin dependency * test(coverage): add high-impact branch tests for form fields and i18n/actions * ops: updated unit tests directory for sonar analysis * chore(changeset): remove improved field styles entry * chore(changeset): remove instructions refactor entry * chore(changeset): add consolidated first release notes * ci(sonar): update release check configuration * docs(readme): refresh first release documentation * chore(lockfile): sync dependency lock changes * fix(fields): improve array field interaction behavior * fix(fields): improve date field accessibility * fix(fields): improve date-time field accessibility * fix(fields): improve multi-select interaction semantics * fix(fields): improve time field accessibility * test(fields): extend time field interaction coverage * 0.0.0 * 0.0.1 * fix(fields): guard focused option access in multiselect keyboard selection * fix: adjust input z placement in array field (#5) --------- Co-authored-by: omaima <workemailoumaima@gmail.com>
* add core type system and remove placeholders * add field helper utilities with 35 tests * add 15 core validators with 51 tests * add error formatters and adapters with 35 tests * add useFormField hook with 26 test * add useValidation hook with 20 tests * add useFieldError hook with 25 tests * add Input component with validation, accessibility, and comprehensive tests * add Textarea component with auto-resize, character counter, and 36 tests * add Select component with single/multi selection support and 32 tests * add Checkbox component with indeterminate state support and 31 tests * add RadioGroup component with keyboard navigation and 37 tests * add FormField wrapper component with flexible layout and 28 tests * add ErrorMessage component with severity levels and 26 tests * add Zod adapter for schema validation integration with 28 tests * add React Hook Form adapter with component-specific helpers and 38 tests * add Field Generator with dynamic component creation and 36 tests * add Tailwind base styles to all form components * rename postcss.config.js to postcss.config.cjs for ESM compatibility * remove duplicate postcss.config.js to resolve ESM build error * restore custom error and auto-resize classes for test compatibility with Tailwind styles * restore formkit-textarea-count-over class for character count over limit in Textarea * ensure autoDismiss cancels previous timer in useFieldError for correct error state handling * enhance accessibility with sr-only labels and aria-live on error messages * add responsive design utilities to form components * configure Tailwind v4 CSS build and package exports * ops : updated workflows * polish component states with hover, focus, and disabled styles * docs: addded copilot instructions file * add useForm hook and FormContext for form state management * add Form wrapper component with submit handling * export Form, useForm, and FormContext from package * increase timeout for autoDismiss test stability * add PasswordInput component with visibility toggle and strength meter * add NumberInput component with increment buttons and formatting * add DatePicker component with calendar popup * add PhoneInput component with country code selection * feat: add FileInput component with drag-and-drop and preview * feat: add ColorPicker component with swatches and RGB/HSL inputs * feat: add Switch component with toggle states and customization * chore: standardize workflows and ci/cd - Fix SONAR_PROJECT_KEY (critical bug fix) - Add dependabot.yml for dependency management - Add sonarqube_mcp.instructions.md - Remove push trigger from pr-validation - Standardize branch triggers and Actions versions - Pin SonarQube actions to commit SHA * ops: added sonarqube_mcp-instructions * chore: standardize npm scripts (lint, format, typecheck, test, build, clean, verify, prepublishOnly) * chore: added config files for eslint and prettier * refactor: restrict public API to DynamicForm export only * refactor: restructure codebase to CHM architecture with core/, models/, fields/, and layout/ folders * chore: remove legacy code and consolidate to CHM architecture * docs: add standardized instruction files structure - Add comprehensive instruction files in .github/instructions/ - Includes copilot, testing, bugfix, features, general guidelines - Standardize documentation across all repositories * refactor: move instruction files to .github/instructions/ - Remove deprecated instruction files from .github/ root - Consolidate all docs in .github/instructions/ directory - Improve documentation organization * feat(testing): add test suite achieving 80%+ coverage (192 tests) * docs: enhance JSDoc for FieldType and ConditionalOperator, add changeset * refactor: fix layer import rules and component default exports * style: add field components with improved styling * restore the checkbox field * restore the password field * feat: add PhoneField with country selector and countries.json data (240+ countries, flagcdn.com flags) * password field style adjustments * feat(FileField): add accept, maxFileSize, and multiple config options with client-side validation * adjust radio and checkbox fields styles * adjust szitch field styles * feat: add SliderField with range input, editable value sync, and min/max/step config options * feat: add RangeSliderField with dual-thumb slider and editable from/to inputs * feat: add OTPField with configurable length and Full paste support * feat: add TagsField with multi-tag input, paste support, and configurable limits * feat: add RatingField with star rating, half-star support, and keyboard navigation * feat: add TimeField with step interval * feat: add DateTimeField with combined date and time input * test: add comprehensive tests for new field components * fix: unify checkbox styles across components * feat: add MultiSelectField with search, tags, and keyboard navigation * fix: remove focus styles from rating field * feat: update SelectField to use custom dropdown with search matching MultiSelectField style * fix: update field and form tests * feat: update time, date and dateTime fields styles to have custom dropdowns and pickers * fix: adjust select and multi select fields styles * fix: update dropdowns and pickers positioning and style across components * feat: add responsive measures to form fields * feat: update OTP field styles to support mobile layout * feat(i18n): add internationalization with English and French locale support * feat(form): automatically scroll to first invalid field and focus it on submit * ops: UPDATED publish workflow and dependabot PR limits * feat(ArrayField): refactor to reuse Field components via scoped context * feat: add translation content for Array field and optional params * refactor: remove unused config param * feat(layout): add grid-based layout system with sections and responsive columns * fix(ArrayField): enable per-field Zod validation and error display for nested fields * ops (ci): standardize publish validation and dependabot across all packages - Replace git tag --list strategy with package.json-driven tag validation in all 16 publish workflows; use git rev-parse to verify the exact tag exists rather than guessing the latest repo-wide tag - Update error guidance to reflect feat/** → develop → master flow - Standardize dependabot to npm-only, grouped, monthly cadence across all 16 packages; remove github-actions ecosystem updates - Add missing dependabot.yml to AuthKit-UI, ChartKit-UI, HealthKit, HooksKit, paymentkit, StorageKit * security: added CODEOWNER file for branches security \\ * ops: updated release check workflow * refactore and remove duplicate logic * address and fix the Sonar annotated findings * ops: updated relese check workflow# * ci: update release check workflow * ops: updated release check strategy * fix: formatting issues * Refactore (#2) * polish component states with hover, focus, and disabled styles * add useForm hook and FormContext for form state management * add Form wrapper component with submit handling * export Form, useForm, and FormContext from package * increase timeout for autoDismiss test stability * add PasswordInput component with visibility toggle and strength meter * add NumberInput component with increment buttons and formatting * add DatePicker component with calendar popup * add PhoneInput component with country code selection * feat: add FileInput component with drag-and-drop and preview * feat: add ColorPicker component with swatches and RGB/HSL inputs * feat: add Switch component with toggle states and customization * refactor: restrict public API to DynamicForm export only * refactor: restructure codebase to CHM architecture with core/, models/, fields/, and layout/ folders * chore: remove legacy code and consolidate to CHM architecture * feat(testing): add test suite achieving 80%+ coverage (192 tests) * docs: enhance JSDoc for FieldType and ConditionalOperator, add changeset * refactor: fix layer import rules and component default exports * style: add field components with improved styling * restore the checkbox field * restore the password field * feat: add PhoneField with country selector and countries.json data (240+ countries, flagcdn.com flags) * password field style adjustments * feat(FileField): add accept, maxFileSize, and multiple config options with client-side validation * adjust radio and checkbox fields styles * adjust szitch field styles * feat: add SliderField with range input, editable value sync, and min/max/step config options * feat: add RangeSliderField with dual-thumb slider and editable from/to inputs * feat: add OTPField with configurable length and Full paste support * feat: add TagsField with multi-tag input, paste support, and configurable limits * feat: add RatingField with star rating, half-star support, and keyboard navigation * feat: add TimeField with step interval * feat: add DateTimeField with combined date and time input * test: add comprehensive tests for new field components * fix: unify checkbox styles across components * feat: add MultiSelectField with search, tags, and keyboard navigation * fix: remove focus styles from rating field * feat: update SelectField to use custom dropdown with search matching MultiSelectField style * fix: update field and form tests * feat: update time, date and dateTime fields styles to have custom dropdowns and pickers * fix: adjust select and multi select fields styles * fix: update dropdowns and pickers positioning and style across components * feat: add responsive measures to form fields * feat: update OTP field styles to support mobile layout * feat(i18n): add internationalization with English and French locale support * feat(form): automatically scroll to first invalid field and focus it on submit * feat(ArrayField): refactor to reuse Field components via scoped context * feat: add translation content for Array field and optional params * refactor: remove unused config param * feat(layout): add grid-based layout system with sections and responsive columns * fix(ArrayField): enable per-field Zod validation and error display for nested fields * refactore and remove duplicate logic * address and fix the Sonar annotated findings * fix: formatting issues --------- Co-authored-by: Zaiidmo <zaiidmoumnii@gmail.com> * chore(deps): dedupe coverage plugin dependency * test(coverage): add high-impact branch tests for form fields and i18n/actions * ops: updated unit tests directory for sonar analysis * chore(changeset): remove improved field styles entry * chore(changeset): remove instructions refactor entry * chore(changeset): add consolidated first release notes * ci(sonar): update release check configuration * docs(readme): refresh first release documentation * chore(lockfile): sync dependency lock changes * fix(fields): improve array field interaction behavior * fix(fields): improve date field accessibility * fix(fields): improve date-time field accessibility * fix(fields): improve multi-select interaction semantics * fix(fields): improve time field accessibility * test(fields): extend time field interaction coverage * 0.0.0 * 0.0.1 * fix(fields): guard focused option access in multiselect keyboard selection * fix: adjust input z placement in array field (#5) * chore: updated repository url in package.json --------- Co-authored-by: omaima <workemailoumaima@gmail.com>
* add core type system and remove placeholders * add field helper utilities with 35 tests * add 15 core validators with 51 tests * add error formatters and adapters with 35 tests * add useFormField hook with 26 test * add useValidation hook with 20 tests * add useFieldError hook with 25 tests * add Input component with validation, accessibility, and comprehensive tests * add Textarea component with auto-resize, character counter, and 36 tests * add Select component with single/multi selection support and 32 tests * add Checkbox component with indeterminate state support and 31 tests * add RadioGroup component with keyboard navigation and 37 tests * add FormField wrapper component with flexible layout and 28 tests * add ErrorMessage component with severity levels and 26 tests * add Zod adapter for schema validation integration with 28 tests * add React Hook Form adapter with component-specific helpers and 38 tests * add Field Generator with dynamic component creation and 36 tests * add Tailwind base styles to all form components * rename postcss.config.js to postcss.config.cjs for ESM compatibility * remove duplicate postcss.config.js to resolve ESM build error * restore custom error and auto-resize classes for test compatibility with Tailwind styles * restore formkit-textarea-count-over class for character count over limit in Textarea * ensure autoDismiss cancels previous timer in useFieldError for correct error state handling * enhance accessibility with sr-only labels and aria-live on error messages * add responsive design utilities to form components * configure Tailwind v4 CSS build and package exports * ops : updated workflows * polish component states with hover, focus, and disabled styles * docs: addded copilot instructions file * add useForm hook and FormContext for form state management * add Form wrapper component with submit handling * export Form, useForm, and FormContext from package * increase timeout for autoDismiss test stability * add PasswordInput component with visibility toggle and strength meter * add NumberInput component with increment buttons and formatting * add DatePicker component with calendar popup * add PhoneInput component with country code selection * feat: add FileInput component with drag-and-drop and preview * feat: add ColorPicker component with swatches and RGB/HSL inputs * feat: add Switch component with toggle states and customization * chore: standardize workflows and ci/cd - Fix SONAR_PROJECT_KEY (critical bug fix) - Add dependabot.yml for dependency management - Add sonarqube_mcp.instructions.md - Remove push trigger from pr-validation - Standardize branch triggers and Actions versions - Pin SonarQube actions to commit SHA * ops: added sonarqube_mcp-instructions * chore: standardize npm scripts (lint, format, typecheck, test, build, clean, verify, prepublishOnly) * chore: added config files for eslint and prettier * refactor: restrict public API to DynamicForm export only * refactor: restructure codebase to CHM architecture with core/, models/, fields/, and layout/ folders * chore: remove legacy code and consolidate to CHM architecture * docs: add standardized instruction files structure - Add comprehensive instruction files in .github/instructions/ - Includes copilot, testing, bugfix, features, general guidelines - Standardize documentation across all repositories * refactor: move instruction files to .github/instructions/ - Remove deprecated instruction files from .github/ root - Consolidate all docs in .github/instructions/ directory - Improve documentation organization * feat(testing): add test suite achieving 80%+ coverage (192 tests) * docs: enhance JSDoc for FieldType and ConditionalOperator, add changeset * refactor: fix layer import rules and component default exports * style: add field components with improved styling * restore the checkbox field * restore the password field * feat: add PhoneField with country selector and countries.json data (240+ countries, flagcdn.com flags) * password field style adjustments * feat(FileField): add accept, maxFileSize, and multiple config options with client-side validation * adjust radio and checkbox fields styles * adjust szitch field styles * feat: add SliderField with range input, editable value sync, and min/max/step config options * feat: add RangeSliderField with dual-thumb slider and editable from/to inputs * feat: add OTPField with configurable length and Full paste support * feat: add TagsField with multi-tag input, paste support, and configurable limits * feat: add RatingField with star rating, half-star support, and keyboard navigation * feat: add TimeField with step interval * feat: add DateTimeField with combined date and time input * test: add comprehensive tests for new field components * fix: unify checkbox styles across components * feat: add MultiSelectField with search, tags, and keyboard navigation * fix: remove focus styles from rating field * feat: update SelectField to use custom dropdown with search matching MultiSelectField style * fix: update field and form tests * feat: update time, date and dateTime fields styles to have custom dropdowns and pickers * fix: adjust select and multi select fields styles * fix: update dropdowns and pickers positioning and style across components * feat: add responsive measures to form fields * feat: update OTP field styles to support mobile layout * feat(i18n): add internationalization with English and French locale support * feat(form): automatically scroll to first invalid field and focus it on submit * ops: UPDATED publish workflow and dependabot PR limits * feat(ArrayField): refactor to reuse Field components via scoped context * feat: add translation content for Array field and optional params * refactor: remove unused config param * feat(layout): add grid-based layout system with sections and responsive columns * fix(ArrayField): enable per-field Zod validation and error display for nested fields * ops (ci): standardize publish validation and dependabot across all packages - Replace git tag --list strategy with package.json-driven tag validation in all 16 publish workflows; use git rev-parse to verify the exact tag exists rather than guessing the latest repo-wide tag - Update error guidance to reflect feat/** → develop → master flow - Standardize dependabot to npm-only, grouped, monthly cadence across all 16 packages; remove github-actions ecosystem updates - Add missing dependabot.yml to AuthKit-UI, ChartKit-UI, HealthKit, HooksKit, paymentkit, StorageKit * security: added CODEOWNER file for branches security \\ * ops: updated release check workflow * refactore and remove duplicate logic * address and fix the Sonar annotated findings * ops: updated relese check workflow# * ci: update release check workflow * ops: updated release check strategy * fix: formatting issues * Refactore (#2) * polish component states with hover, focus, and disabled styles * add useForm hook and FormContext for form state management * add Form wrapper component with submit handling * export Form, useForm, and FormContext from package * increase timeout for autoDismiss test stability * add PasswordInput component with visibility toggle and strength meter * add NumberInput component with increment buttons and formatting * add DatePicker component with calendar popup * add PhoneInput component with country code selection * feat: add FileInput component with drag-and-drop and preview * feat: add ColorPicker component with swatches and RGB/HSL inputs * feat: add Switch component with toggle states and customization * refactor: restrict public API to DynamicForm export only * refactor: restructure codebase to CHM architecture with core/, models/, fields/, and layout/ folders * chore: remove legacy code and consolidate to CHM architecture * feat(testing): add test suite achieving 80%+ coverage (192 tests) * docs: enhance JSDoc for FieldType and ConditionalOperator, add changeset * refactor: fix layer import rules and component default exports * style: add field components with improved styling * restore the checkbox field * restore the password field * feat: add PhoneField with country selector and countries.json data (240+ countries, flagcdn.com flags) * password field style adjustments * feat(FileField): add accept, maxFileSize, and multiple config options with client-side validation * adjust radio and checkbox fields styles * adjust szitch field styles * feat: add SliderField with range input, editable value sync, and min/max/step config options * feat: add RangeSliderField with dual-thumb slider and editable from/to inputs * feat: add OTPField with configurable length and Full paste support * feat: add TagsField with multi-tag input, paste support, and configurable limits * feat: add RatingField with star rating, half-star support, and keyboard navigation * feat: add TimeField with step interval * feat: add DateTimeField with combined date and time input * test: add comprehensive tests for new field components * fix: unify checkbox styles across components * feat: add MultiSelectField with search, tags, and keyboard navigation * fix: remove focus styles from rating field * feat: update SelectField to use custom dropdown with search matching MultiSelectField style * fix: update field and form tests * feat: update time, date and dateTime fields styles to have custom dropdowns and pickers * fix: adjust select and multi select fields styles * fix: update dropdowns and pickers positioning and style across components * feat: add responsive measures to form fields * feat: update OTP field styles to support mobile layout * feat(i18n): add internationalization with English and French locale support * feat(form): automatically scroll to first invalid field and focus it on submit * feat(ArrayField): refactor to reuse Field components via scoped context * feat: add translation content for Array field and optional params * refactor: remove unused config param * feat(layout): add grid-based layout system with sections and responsive columns * fix(ArrayField): enable per-field Zod validation and error display for nested fields * refactore and remove duplicate logic * address and fix the Sonar annotated findings * fix: formatting issues --------- Co-authored-by: Zaiidmo <zaiidmoumnii@gmail.com> * chore(deps): dedupe coverage plugin dependency * test(coverage): add high-impact branch tests for form fields and i18n/actions * ops: updated unit tests directory for sonar analysis * chore(changeset): remove improved field styles entry * chore(changeset): remove instructions refactor entry * chore(changeset): add consolidated first release notes * ci(sonar): update release check configuration * docs(readme): refresh first release documentation * chore(lockfile): sync dependency lock changes * fix(fields): improve array field interaction behavior * fix(fields): improve date field accessibility * fix(fields): improve date-time field accessibility * fix(fields): improve multi-select interaction semantics * fix(fields): improve time field accessibility * test(fields): extend time field interaction coverage * 0.0.0 * 0.0.1 * fix(fields): guard focused option access in multiselect keyboard selection * fix: adjust input z placement in array field (#5) * chore: updated repository url in package.json * 0.0.2 --------- Co-authored-by: omaima <workemailoumaima@gmail.com>
* add core type system and remove placeholders * add field helper utilities with 35 tests * add 15 core validators with 51 tests * add error formatters and adapters with 35 tests * add useFormField hook with 26 test * add useValidation hook with 20 tests * add useFieldError hook with 25 tests * add Input component with validation, accessibility, and comprehensive tests * add Textarea component with auto-resize, character counter, and 36 tests * add Select component with single/multi selection support and 32 tests * add Checkbox component with indeterminate state support and 31 tests * add RadioGroup component with keyboard navigation and 37 tests * add FormField wrapper component with flexible layout and 28 tests * add ErrorMessage component with severity levels and 26 tests * add Zod adapter for schema validation integration with 28 tests * add React Hook Form adapter with component-specific helpers and 38 tests * add Field Generator with dynamic component creation and 36 tests * add Tailwind base styles to all form components * rename postcss.config.js to postcss.config.cjs for ESM compatibility * remove duplicate postcss.config.js to resolve ESM build error * restore custom error and auto-resize classes for test compatibility with Tailwind styles * restore formkit-textarea-count-over class for character count over limit in Textarea * ensure autoDismiss cancels previous timer in useFieldError for correct error state handling * enhance accessibility with sr-only labels and aria-live on error messages * add responsive design utilities to form components * configure Tailwind v4 CSS build and package exports * ops : updated workflows * polish component states with hover, focus, and disabled styles * docs: addded copilot instructions file * add useForm hook and FormContext for form state management * add Form wrapper component with submit handling * export Form, useForm, and FormContext from package * increase timeout for autoDismiss test stability * add PasswordInput component with visibility toggle and strength meter * add NumberInput component with increment buttons and formatting * add DatePicker component with calendar popup * add PhoneInput component with country code selection * feat: add FileInput component with drag-and-drop and preview * feat: add ColorPicker component with swatches and RGB/HSL inputs * feat: add Switch component with toggle states and customization * chore: standardize workflows and ci/cd - Fix SONAR_PROJECT_KEY (critical bug fix) - Add dependabot.yml for dependency management - Add sonarqube_mcp.instructions.md - Remove push trigger from pr-validation - Standardize branch triggers and Actions versions - Pin SonarQube actions to commit SHA * ops: added sonarqube_mcp-instructions * chore: standardize npm scripts (lint, format, typecheck, test, build, clean, verify, prepublishOnly) * chore: added config files for eslint and prettier * refactor: restrict public API to DynamicForm export only * refactor: restructure codebase to CHM architecture with core/, models/, fields/, and layout/ folders * chore: remove legacy code and consolidate to CHM architecture * docs: add standardized instruction files structure - Add comprehensive instruction files in .github/instructions/ - Includes copilot, testing, bugfix, features, general guidelines - Standardize documentation across all repositories * refactor: move instruction files to .github/instructions/ - Remove deprecated instruction files from .github/ root - Consolidate all docs in .github/instructions/ directory - Improve documentation organization * feat(testing): add test suite achieving 80%+ coverage (192 tests) * docs: enhance JSDoc for FieldType and ConditionalOperator, add changeset * refactor: fix layer import rules and component default exports * style: add field components with improved styling * restore the checkbox field * restore the password field * feat: add PhoneField with country selector and countries.json data (240+ countries, flagcdn.com flags) * password field style adjustments * feat(FileField): add accept, maxFileSize, and multiple config options with client-side validation * adjust radio and checkbox fields styles * adjust szitch field styles * feat: add SliderField with range input, editable value sync, and min/max/step config options * feat: add RangeSliderField with dual-thumb slider and editable from/to inputs * feat: add OTPField with configurable length and Full paste support * feat: add TagsField with multi-tag input, paste support, and configurable limits * feat: add RatingField with star rating, half-star support, and keyboard navigation * feat: add TimeField with step interval * feat: add DateTimeField with combined date and time input * test: add comprehensive tests for new field components * fix: unify checkbox styles across components * feat: add MultiSelectField with search, tags, and keyboard navigation * fix: remove focus styles from rating field * feat: update SelectField to use custom dropdown with search matching MultiSelectField style * fix: update field and form tests * feat: update time, date and dateTime fields styles to have custom dropdowns and pickers * fix: adjust select and multi select fields styles * fix: update dropdowns and pickers positioning and style across components * feat: add responsive measures to form fields * feat: update OTP field styles to support mobile layout * feat(i18n): add internationalization with English and French locale support * feat(form): automatically scroll to first invalid field and focus it on submit * ops: UPDATED publish workflow and dependabot PR limits * feat(ArrayField): refactor to reuse Field components via scoped context * feat: add translation content for Array field and optional params * refactor: remove unused config param * feat(layout): add grid-based layout system with sections and responsive columns * fix(ArrayField): enable per-field Zod validation and error display for nested fields * ops (ci): standardize publish validation and dependabot across all packages - Replace git tag --list strategy with package.json-driven tag validation in all 16 publish workflows; use git rev-parse to verify the exact tag exists rather than guessing the latest repo-wide tag - Update error guidance to reflect feat/** → develop → master flow - Standardize dependabot to npm-only, grouped, monthly cadence across all 16 packages; remove github-actions ecosystem updates - Add missing dependabot.yml to AuthKit-UI, ChartKit-UI, HealthKit, HooksKit, paymentkit, StorageKit * security: added CODEOWNER file for branches security \\ * ops: updated release check workflow * refactore and remove duplicate logic * address and fix the Sonar annotated findings * ops: updated relese check workflow# * ci: update release check workflow * ops: updated release check strategy * fix: formatting issues * Refactore (#2) * polish component states with hover, focus, and disabled styles * add useForm hook and FormContext for form state management * add Form wrapper component with submit handling * export Form, useForm, and FormContext from package * increase timeout for autoDismiss test stability * add PasswordInput component with visibility toggle and strength meter * add NumberInput component with increment buttons and formatting * add DatePicker component with calendar popup * add PhoneInput component with country code selection * feat: add FileInput component with drag-and-drop and preview * feat: add ColorPicker component with swatches and RGB/HSL inputs * feat: add Switch component with toggle states and customization * refactor: restrict public API to DynamicForm export only * refactor: restructure codebase to CHM architecture with core/, models/, fields/, and layout/ folders * chore: remove legacy code and consolidate to CHM architecture * feat(testing): add test suite achieving 80%+ coverage (192 tests) * docs: enhance JSDoc for FieldType and ConditionalOperator, add changeset * refactor: fix layer import rules and component default exports * style: add field components with improved styling * restore the checkbox field * restore the password field * feat: add PhoneField with country selector and countries.json data (240+ countries, flagcdn.com flags) * password field style adjustments * feat(FileField): add accept, maxFileSize, and multiple config options with client-side validation * adjust radio and checkbox fields styles * adjust szitch field styles * feat: add SliderField with range input, editable value sync, and min/max/step config options * feat: add RangeSliderField with dual-thumb slider and editable from/to inputs * feat: add OTPField with configurable length and Full paste support * feat: add TagsField with multi-tag input, paste support, and configurable limits * feat: add RatingField with star rating, half-star support, and keyboard navigation * feat: add TimeField with step interval * feat: add DateTimeField with combined date and time input * test: add comprehensive tests for new field components * fix: unify checkbox styles across components * feat: add MultiSelectField with search, tags, and keyboard navigation * fix: remove focus styles from rating field * feat: update SelectField to use custom dropdown with search matching MultiSelectField style * fix: update field and form tests * feat: update time, date and dateTime fields styles to have custom dropdowns and pickers * fix: adjust select and multi select fields styles * fix: update dropdowns and pickers positioning and style across components * feat: add responsive measures to form fields * feat: update OTP field styles to support mobile layout * feat(i18n): add internationalization with English and French locale support * feat(form): automatically scroll to first invalid field and focus it on submit * feat(ArrayField): refactor to reuse Field components via scoped context * feat: add translation content for Array field and optional params * refactor: remove unused config param * feat(layout): add grid-based layout system with sections and responsive columns * fix(ArrayField): enable per-field Zod validation and error display for nested fields * refactore and remove duplicate logic * address and fix the Sonar annotated findings * fix: formatting issues --------- Co-authored-by: Zaiidmo <zaiidmoumnii@gmail.com> * chore(deps): dedupe coverage plugin dependency * test(coverage): add high-impact branch tests for form fields and i18n/actions * ops: updated unit tests directory for sonar analysis * chore(changeset): remove improved field styles entry * chore(changeset): remove instructions refactor entry * chore(changeset): add consolidated first release notes * ci(sonar): update release check configuration * docs(readme): refresh first release documentation * chore(lockfile): sync dependency lock changes * fix(fields): improve array field interaction behavior * fix(fields): improve date field accessibility * fix(fields): improve date-time field accessibility * fix(fields): improve multi-select interaction semantics * fix(fields): improve time field accessibility * test(fields): extend time field interaction coverage * 0.0.0 * 0.0.1 * fix(fields): guard focused option access in multiselect keyboard selection * fix: adjust input z placement in array field (#5) * chore: updated repository url in package.json * 0.0.2 --------- Co-authored-by: omaima <workemailoumaima@gmail.com>
* add core type system and remove placeholders * add field helper utilities with 35 tests * add 15 core validators with 51 tests * add error formatters and adapters with 35 tests * add useFormField hook with 26 test * add useValidation hook with 20 tests * add useFieldError hook with 25 tests * add Input component with validation, accessibility, and comprehensive tests * add Textarea component with auto-resize, character counter, and 36 tests * add Select component with single/multi selection support and 32 tests * add Checkbox component with indeterminate state support and 31 tests * add RadioGroup component with keyboard navigation and 37 tests * add FormField wrapper component with flexible layout and 28 tests * add ErrorMessage component with severity levels and 26 tests * add Zod adapter for schema validation integration with 28 tests * add React Hook Form adapter with component-specific helpers and 38 tests * add Field Generator with dynamic component creation and 36 tests * add Tailwind base styles to all form components * rename postcss.config.js to postcss.config.cjs for ESM compatibility * remove duplicate postcss.config.js to resolve ESM build error * restore custom error and auto-resize classes for test compatibility with Tailwind styles * restore formkit-textarea-count-over class for character count over limit in Textarea * ensure autoDismiss cancels previous timer in useFieldError for correct error state handling * enhance accessibility with sr-only labels and aria-live on error messages * add responsive design utilities to form components * configure Tailwind v4 CSS build and package exports * ops : updated workflows * polish component states with hover, focus, and disabled styles * docs: addded copilot instructions file * add useForm hook and FormContext for form state management * add Form wrapper component with submit handling * export Form, useForm, and FormContext from package * increase timeout for autoDismiss test stability * add PasswordInput component with visibility toggle and strength meter * add NumberInput component with increment buttons and formatting * add DatePicker component with calendar popup * add PhoneInput component with country code selection * feat: add FileInput component with drag-and-drop and preview * feat: add ColorPicker component with swatches and RGB/HSL inputs * feat: add Switch component with toggle states and customization * chore: standardize workflows and ci/cd - Fix SONAR_PROJECT_KEY (critical bug fix) - Add dependabot.yml for dependency management - Add sonarqube_mcp.instructions.md - Remove push trigger from pr-validation - Standardize branch triggers and Actions versions - Pin SonarQube actions to commit SHA * ops: added sonarqube_mcp-instructions * chore: standardize npm scripts (lint, format, typecheck, test, build, clean, verify, prepublishOnly) * chore: added config files for eslint and prettier * refactor: restrict public API to DynamicForm export only * refactor: restructure codebase to CHM architecture with core/, models/, fields/, and layout/ folders * chore: remove legacy code and consolidate to CHM architecture * docs: add standardized instruction files structure - Add comprehensive instruction files in .github/instructions/ - Includes copilot, testing, bugfix, features, general guidelines - Standardize documentation across all repositories * refactor: move instruction files to .github/instructions/ - Remove deprecated instruction files from .github/ root - Consolidate all docs in .github/instructions/ directory - Improve documentation organization * feat(testing): add test suite achieving 80%+ coverage (192 tests) * docs: enhance JSDoc for FieldType and ConditionalOperator, add changeset * refactor: fix layer import rules and component default exports * style: add field components with improved styling * restore the checkbox field * restore the password field * feat: add PhoneField with country selector and countries.json data (240+ countries, flagcdn.com flags) * password field style adjustments * feat(FileField): add accept, maxFileSize, and multiple config options with client-side validation * adjust radio and checkbox fields styles * adjust szitch field styles * feat: add SliderField with range input, editable value sync, and min/max/step config options * feat: add RangeSliderField with dual-thumb slider and editable from/to inputs * feat: add OTPField with configurable length and Full paste support * feat: add TagsField with multi-tag input, paste support, and configurable limits * feat: add RatingField with star rating, half-star support, and keyboard navigation * feat: add TimeField with step interval * feat: add DateTimeField with combined date and time input * test: add comprehensive tests for new field components * fix: unify checkbox styles across components * feat: add MultiSelectField with search, tags, and keyboard navigation * fix: remove focus styles from rating field * feat: update SelectField to use custom dropdown with search matching MultiSelectField style * fix: update field and form tests * feat: update time, date and dateTime fields styles to have custom dropdowns and pickers * fix: adjust select and multi select fields styles * fix: update dropdowns and pickers positioning and style across components * feat: add responsive measures to form fields * feat: update OTP field styles to support mobile layout * feat(i18n): add internationalization with English and French locale support * feat(form): automatically scroll to first invalid field and focus it on submit * ops: UPDATED publish workflow and dependabot PR limits * feat(ArrayField): refactor to reuse Field components via scoped context * feat: add translation content for Array field and optional params * refactor: remove unused config param * feat(layout): add grid-based layout system with sections and responsive columns * fix(ArrayField): enable per-field Zod validation and error display for nested fields * ops (ci): standardize publish validation and dependabot across all packages - Replace git tag --list strategy with package.json-driven tag validation in all 16 publish workflows; use git rev-parse to verify the exact tag exists rather than guessing the latest repo-wide tag - Update error guidance to reflect feat/** → develop → master flow - Standardize dependabot to npm-only, grouped, monthly cadence across all 16 packages; remove github-actions ecosystem updates - Add missing dependabot.yml to AuthKit-UI, ChartKit-UI, HealthKit, HooksKit, paymentkit, StorageKit * security: added CODEOWNER file for branches security \\ * ops: updated release check workflow * refactore and remove duplicate logic * address and fix the Sonar annotated findings * ops: updated relese check workflow# * ci: update release check workflow * ops: updated release check strategy * fix: formatting issues * Refactore (#2) * polish component states with hover, focus, and disabled styles * add useForm hook and FormContext for form state management * add Form wrapper component with submit handling * export Form, useForm, and FormContext from package * increase timeout for autoDismiss test stability * add PasswordInput component with visibility toggle and strength meter * add NumberInput component with increment buttons and formatting * add DatePicker component with calendar popup * add PhoneInput component with country code selection * feat: add FileInput component with drag-and-drop and preview * feat: add ColorPicker component with swatches and RGB/HSL inputs * feat: add Switch component with toggle states and customization * refactor: restrict public API to DynamicForm export only * refactor: restructure codebase to CHM architecture with core/, models/, fields/, and layout/ folders * chore: remove legacy code and consolidate to CHM architecture * feat(testing): add test suite achieving 80%+ coverage (192 tests) * docs: enhance JSDoc for FieldType and ConditionalOperator, add changeset * refactor: fix layer import rules and component default exports * style: add field components with improved styling * restore the checkbox field * restore the password field * feat: add PhoneField with country selector and countries.json data (240+ countries, flagcdn.com flags) * password field style adjustments * feat(FileField): add accept, maxFileSize, and multiple config options with client-side validation * adjust radio and checkbox fields styles * adjust szitch field styles * feat: add SliderField with range input, editable value sync, and min/max/step config options * feat: add RangeSliderField with dual-thumb slider and editable from/to inputs * feat: add OTPField with configurable length and Full paste support * feat: add TagsField with multi-tag input, paste support, and configurable limits * feat: add RatingField with star rating, half-star support, and keyboard navigation * feat: add TimeField with step interval * feat: add DateTimeField with combined date and time input * test: add comprehensive tests for new field components * fix: unify checkbox styles across components * feat: add MultiSelectField with search, tags, and keyboard navigation * fix: remove focus styles from rating field * feat: update SelectField to use custom dropdown with search matching MultiSelectField style * fix: update field and form tests * feat: update time, date and dateTime fields styles to have custom dropdowns and pickers * fix: adjust select and multi select fields styles * fix: update dropdowns and pickers positioning and style across components * feat: add responsive measures to form fields * feat: update OTP field styles to support mobile layout * feat(i18n): add internationalization with English and French locale support * feat(form): automatically scroll to first invalid field and focus it on submit * feat(ArrayField): refactor to reuse Field components via scoped context * feat: add translation content for Array field and optional params * refactor: remove unused config param * feat(layout): add grid-based layout system with sections and responsive columns * fix(ArrayField): enable per-field Zod validation and error display for nested fields * refactore and remove duplicate logic * address and fix the Sonar annotated findings * fix: formatting issues --------- Co-authored-by: Zaiidmo <zaiidmoumnii@gmail.com> * chore(deps): dedupe coverage plugin dependency * test(coverage): add high-impact branch tests for form fields and i18n/actions * ops: updated unit tests directory for sonar analysis * chore(changeset): remove improved field styles entry * chore(changeset): remove instructions refactor entry * chore(changeset): add consolidated first release notes * ci(sonar): update release check configuration * docs(readme): refresh first release documentation * chore(lockfile): sync dependency lock changes * fix(fields): improve array field interaction behavior * fix(fields): improve date field accessibility * fix(fields): improve date-time field accessibility * fix(fields): improve multi-select interaction semantics * fix(fields): improve time field accessibility * test(fields): extend time field interaction coverage * 0.0.0 * 0.0.1 * fix(fields): guard focused option access in multiselect keyboard selection * fix: adjust input z placement in array field (#5) * chore: updated repository url in package.json * 0.0.2 * FIX: Repo url in package json * fix(publish): correct repository url to CISCODE-MA org for npm provenance * FIX: Repo url in package json --------- Co-authored-by: omaima <workemailoumaima@gmail.com>




No description provided.