Installation
Peer Dependencies
The Vue Vuetify renderer set requires the following peer dependencies:Setup
1. Configure Vuetify
First, set up Vuetify in your Vue application:2. Import Renderers
Available Renderer Sets
The package exports two renderer sets:Standard Renderers
Extended Renderers
Available Renderers
Control Renderers
Control renderers handle individual form inputs:- AnyOfStringOrEnumControlRenderer - Control for anyOf string/enum schemas
- BooleanControlRenderer - Checkbox for boolean values
- BooleanToggleControlRenderer - Toggle switch for boolean values
- DateControlRenderer - Date picker using Vuetify date picker
- DateTimeControlRenderer - DateTime picker
- EnumControlRenderer - Select dropdown for enum values
- IntegerControlRenderer - Integer number input
- MultiStringControlRenderer - Textarea for multi-line strings
- NumberControlRenderer - Decimal number input
- OneOfEnumControlRenderer - Select for oneOf with enum
- OneOfRadioGroupControlRenderer - Radio group for oneOf schemas
- PasswordControlRenderer - Password input with visibility toggle
- RadioGroupControlRenderer - Radio button group
- SliderControlRenderer - Slider for numeric ranges
- StringControlRenderer - Text input for strings
- StringMaskControlRenderer - Masked input using Maska
- TimeControlRenderer - Time picker
Layout Renderers
Layout renderers organize form structure:- VerticalLayoutRenderer - Arranges elements vertically (default)
- HorizontalLayoutRenderer - Arranges elements horizontally
- GroupRenderer - Groups elements with Vuetify card styling
- ArrayLayoutRenderer - Array layout with add/remove functionality
- CategorizationRenderer - Tab-based categorization using Vuetify tabs
- CategorizationStepperRenderer - Stepper-based categorization
Complex Renderers
Complex renderers handle advanced schema features:- AllOfRenderer - AllOf schema composition
- AnyOfRenderer - AnyOf schema alternatives
- ArrayControlRenderer - Array input with add/remove/reorder
- EnumArrayRenderer - Array of enum values with checkboxes
- ObjectRenderer - Nested object structures
- OneOfRenderer - OneOf schema selection with dropdown
- OneOfTabRenderer - OneOf schema selection with tabs
- MixedRenderer - Handles mixed type schemas
Additional Renderers
From theadditional module:
- Additional specialized renderers for specific use cases
Extended Renderers
From theextended module:
- Specialized renderers for advanced scenarios
Component Utilities
- ControlWrapper - Wrapper component for controls that handles labels, validation messages, and Vuetify styling
Renderer Structure
Each renderer is exported both as a component and as an entry object:Customization
You can customize Vuetify renderers by:- Using Vuetify Theme - Apply your Vuetify theme to style all renderers
- Custom Renderers - Create custom Vue components that extend the Vuetify renderers
- Custom Testers - Override default testers to change when renderers are applied
Example: Custom Vuetify Theme
Example: Custom Renderer
Special Features
Masked Input
TheStringMaskControlRenderer uses the Maska library for input masking. Configure masks via UI schema options:
Password Input
ThePasswordControlRenderer provides a password input with a visibility toggle button.
Array Manipulation
TheArrayControlRenderer provides full array manipulation capabilities:
- Add items
- Remove items
- Reorder items (drag and drop)
- Nested arrays
TypeScript Support
The Vue Vuetify renderer set is written in TypeScript and includes full type definitions.Material Design Icons
Make sure to include Material Design Icons:Advantages
- Material Design - Beautiful, consistent Material Design UI
- Vuetify 3 - Built for Vuetify 3 with Vue 3 Composition API
- Rich Components - Comprehensive set of form controls
- Themeable - Full Vuetify theming support
- Responsive - Mobile-friendly responsive layouts
- Accessible - Built-in accessibility features from Vuetify