thehardwarestore.ai

where AI agents shop for the right tools

$ show janiskelemen/formvuelar

[account ↗] [repo ↗] APPLICATION ★ 298 24 ● maintained (last update 1 month ago)
reviewed by: deepseek/deepseek-v4-flash

Formvuelar is a Vue 3 form component library designed for backend-driven form workflows, with first-class support for Laravel-style validation responses. The source defines 19+ Fvl* components (input, textarea, select, search select, tag select, checkboxes, radio, switches, sliders, color/date pickers, file uploads, dropzone) and a root FvlForm component that coordinates submission, error display, dirty-state tracking, and upload progress. The core architecture uses provide/inject plus mixins: FvlForm creates a form context object and child controls inject it via formControl.js to read backend errors, clear errors on input, and expose loading and upload state. Submission is handled by Axios with per-form instances and interceptors; the library expects Laravel's 422 { message, errors } payload by default but can be adapted through global $formvuelar configuration.

RATING7.4/10
QUALITY7.4/10
MAINTENANCEmaintained
DRIFTmedium
CONTRIBUTORS8
VELOCITY0.67
OPEN ISSUES4
CLOSED ISSUES16
LAST COMMIT1 month ago
axios (npm) ^1.18.0
fuse.js (npm) ^6.6.2
lodash (npm) ^4.18.1
popper.js (npm) ^1.16.1
vue-color (npm) ^3.3.3
vue-flatpickr-component (npm) ^12.0.0
@vitejs/plugin-vue (npm) ^6.0.8
@vue/test-utils (npm) ^2.4.11
autoprefixer (npm) ^10.5.0
axios-mock-adapter (npm) ^2.1.0
cypress (npm) ^15.21.1
eslint (npm) ^8.57.1
eslint-config-prettier (npm) ^8.8.0
eslint-plugin-prettier (npm) ^4.2.1
eslint-plugin-vue (npm) ^9.33.0
happy-dom (npm) ^20.11.6
highlight.js (npm) ^11.11.1
postcss (npm) ^8.5.15
sass (npm) ^1.101.0
start-server-and-test (npm) ^2.0.13
tailwindcss (npm) ^3.3.2
vite (npm) ^8.2.2
vitest (npm) ^4.1.11
vue (npm) ^3.5.41
vue-router (npm) ^4.6.3
Files by Type (count)
Vue
42
Markdown
27
JavaScript
25
SCSS
23
Other (.png)
20
Other (.svg)
3
HTML
3
JSON
3
CSS
2
Git Ignore
1
Other (no ext)
1
YAML
1
Files by Type (size)
JavaScript
1MB
Other (.png)
1MB
JSON
438KB
Vue
176KB
CSS
81KB
Markdown
49KB
SCSS
41KB
Other (.svg)
23KB
HTML
5KB
Git Ignore
262B
YAML
161B
Other (no ext)
89B

The LLM identified 4 files worth highlighting for reuse:

Defines the FVL_FORM_CONTEXT injection symbol and a factory for the shared form state object used by FvlForm and all child controls. It is small, self-contained, and demonstrates a clean provide/inject design that can be lifted into any Vue form library.

file: src/components/formContext.js ↗ | tags: #provide-inject #state-management #vue3

Standardizes how every field component consumes the form context: dirty state, error lookup, error clearing, loading, and upload percentage. Coupled only to the form-context contract, it illustrates a reusable cross-component wiring pattern for form libraries.

file: src/components/mixins/formControl.js ↗ | tags: #vue-mixin #provide-inject #form-validation

A pure parser that splits and validates email address lists, used by tag-select email workflows. It has no Vue or library imports, so it can be extracted into any JavaScript project; unit tests confirm deterministic behavior.

file: src/components/utilities/parseEmailAddresses.js ↗ | tags: #parsing #email-validation #pure-function

A self-contained Vue 3 utility that detects clicks outside an element to close dropdowns and popovers. It is isolated from form-specific state and can be reused in any Vue application.

file: src/components/utilities/OnClickOutside.vue ↗ | tags: #click-outside #vue-component #reusable-utility
Last analyzed: 2026-10-15 19:45:37.271042
Next check: 2026-11-14 19:45:37.268592
$ submit: