Installation
Peer Dependencies
The Vanilla renderer set requires the following peer dependencies:Usage
Import and register the Vanilla renderers and cells with JSON Forms:Available Renderers
Control Renderers
Control renderers handle individual form inputs:- InputControl - General input control for text, numbers, dates, etc.
- RadioGroupControl - Radio button group for enum values
- OneOfRadioGroupControl - Radio group for oneOf schemas
Layout Renderers
Layout renderers organize form structure:- VerticalLayout - Arranges elements vertically (default)
- HorizontalLayout - Arranges elements horizontally
- GroupLayout - Groups elements with optional label
Complex Renderers
Complex renderers handle advanced features:- ArrayControl - Array input with add/remove functionality
- TableArrayControl - Array displayed as a table
- Categorization - Tab-based or accordion categorization
- LabelRenderer - Displays label elements
Available Cells
Cells are used within table or array layouts:- BooleanCell - Checkbox for boolean values
- DateCell - Date input cell
- DateTimeCell - Date and time input cell
- EnumCell - Select dropdown cell for enum values
- IntegerCell - Integer number input cell
- NumberCell - Decimal number input cell
- OneOfEnumCell - Select cell for oneOf with enum
- SliderCell - Slider input cell
- TextAreaCell - Multi-line text input cell
- TextCell - Single-line text input cell
- TimeCell - Time input cell
Styling
The Vanilla renderers use CSS classes that you can style according to your needs. Each renderer applies semantic class names:Example CSS Classes
Custom Styling with CSS Frameworks
The Vanilla renderers work well with CSS frameworks like Tailwind CSS, Bootstrap, or custom CSS:Example with Tailwind CSS
Advantages
The Vanilla renderer set offers several advantages:- Lightweight - Minimal dependencies, smaller bundle size
- Flexible Styling - Complete control over appearance with CSS
- Framework Agnostic - Works with any CSS framework or custom styles
- Simple - Straightforward HTML structure, easy to understand and debug
- Accessible - Uses semantic HTML elements
Customization
You can customize Vanilla renderers by:- CSS Styling - Apply custom CSS to override default styles
- Custom Renderers - Create custom renderers that extend the Vanilla renderers
- Custom Testers - Override default testers to change when renderers are applied