Skip to content

DynamicForms Vuetify Modal Form KitModal dialogs and programmatic form layouts for Vue 3 + Vuetify 3

One dialog on screen at a time, keyboard-friendly, and form layouts defined entirely in code

@dynamicforms/vuetify-modal-form-kit

Introduction

@dynamicforms/vuetify-modal-form-kit is a Vue 3 + Vuetify 3 library built around four design goals:

  1. Programmatic & template-based dialog API — open dialogs from code with a promise-based API (await modal.message(), await modal.yesNo()) and get the result back directly, without events or callbacks. Or declare dialogs in Vue templates with <df-modal>.
  2. One dialog on screen at a time — an internal stack ensures only one dialog is ever visible: opening a second dialog suspends the first (kept open but hidden) and shows the second on top; the first reappears once the second closes. The stack is module state, so there is one per page and every Vue app on it shares that one, and one view draws it: mount <modal-view> once — a second mounted view warns on the console and renders nothing.
  3. Programmatic form builder — a fluent FormBuilder API lets you define responsive Vuetify grid layouts entirely in TypeScript, with no template markup required.
  4. Keyboard shortcuts<Enter> confirms and <Esc> cancels the active dialog. A keystroke an overlay above the dialog answers - a select menu, a date picker - is that overlay's alone.

Next steps

Ready to get started? Check out the Getting Started guide or dive into the Examples for more detailed usage patterns. Coming from 0.6.x? The migration guide lists the breaking changes with before/after code.

Released under the MIT License.