Skip to content

Refactore#2

Merged
Zaiidmo merged 58 commits intodevelopfrom
refactore
Apr 6, 2026
Merged

Refactore#2
Zaiidmo merged 58 commits intodevelopfrom
refactore

Conversation

@Omaima33
Copy link
Copy Markdown
Contributor

No description provided.

@Omaima33 Omaima33 requested a review from a team as a code owner March 30, 2026 16:18
Copilot AI review requested due to automatic review settings March 30, 2026 16:18
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot AI review requested due to automatic review settings March 30, 2026 16:56
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@Omaima33 Omaima33 closed this Mar 30, 2026
@Omaima33 Omaima33 reopened this Mar 30, 2026
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Apr 6, 2026

Quality Gate Failed Quality Gate failed

Failed conditions
10.1% Duplication on New Code (required ≤ 3%)
B Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@Zaiidmo Zaiidmo merged commit 70971ee into develop Apr 6, 2026
1 of 2 checks passed
Zaiidmo added a commit that referenced this pull request Apr 6, 2026
* 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>
Zaiidmo added a commit that referenced this pull request Apr 6, 2026
* 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>
Zaiidmo added a commit that referenced this pull request Apr 6, 2026
* 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>
Zaiidmo added a commit that referenced this pull request Apr 6, 2026
* 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>
Zaiidmo added a commit that referenced this pull request Apr 6, 2026
* 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>
Zaiidmo added a commit that referenced this pull request Apr 6, 2026
* 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants