Skip to content

๐Ÿ“ The Vue.js framework for building tailored, accessible, and high-quality forms with full control and flexibility.

License

Notifications You must be signed in to change notification settings

formwerkjs/formwerk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Formwerk Logo

NPM Version NPM Downloads Documentation Discord GitHub Actions Workflow Status GitHub Sponsors License Follow us on BlueSky Follow us on X (formerly Twitter)

Formwerk

Formwerk is a Vue.js framework that simplifies forms by providing a comprehensive suite of composables for building accessible, high-quality, and scalable form components.

Unlike other libraries, Formwerk deliberately excludes UI components, recognizing that design needs vary across projects. Instead, it provides a rock-solid foundation of accessibility, validation, state management, and interaction patterns that work seamlessly with your custom styling. This separation allows you to maintain complete creative control while ensuring your forms meet the highest standards of functionality and user experience.

With Formwerk as your foundation, you get high-quality form capabilities without compromising on flexibility. Whether you're creating a design system or a standalone application, Formwerk handles the intricate details of forms, empowering you to create forms that are delightful to use.

โœจ Features

  • ๐Ÿ“ฆ Comprehensive: Ready-made composables for all common form elements.
  • โ™ฟ Accessible: ARIA compliant with full keyboard navigation and semantic markup.
  • ๐ŸŒ i18n Ready: Built-in internationalization with RTL and number formatting support.
  • ๐Ÿ”Œ Headless Architecture: Build form components with complete control over markup and styling.
  • โœ… Form Validation: Native HTML5 and Standard Schema libraries support.
  • ๐ŸŽจ Styling Agnostic: Works with any CSS framework or plain CSS.
  • ๐ŸŽฎ Built-in Behaviors: Native-like keyboard interactions and focus management.
  • ๐Ÿ— Organization: Form groups and repeatable field arrays.
  • โšก SSR Ready: Full support for Server Side Rendering environments.
  • ๐Ÿ”„ State Management: Automatic form state and value tracking.
  • ๐ŸŒณ Tree-shakable: Only include the composables you actually use.
  • ๐ŸŽฏ Type Safe: Full TypeScript support with generic typing.

๐Ÿ“š Documentation

You can find the documentation and demos here.

๐Ÿค Contributing

You can contribute to Formwerk by reporting bugs, suggesting features, or submitting code changes. If you wish to submit code changes, please first discuss the change you wish to make via GitHub issues, Discord, or any other method.

You can visit the contributing guide for more information on how to contribute to Formwerk and how to get started.

๐Ÿ“ Credits

Formwerk takes great inspiration from multiple projects in the ecosystem, most notably:

โš–๏ธ License

Formwerk is licensed under the MIT License. See the LICENSE file for details.

Sponsor this project

 

Packages

No packages published

Languages