Installation
Peer Dependencies
The Material UI renderer set requires the following peer dependencies:Usage
Import and register the Material renderers and cells with JSON Forms:Available Renderers
Control Renderers
Control renderers handle individual form inputs:- MaterialArrayControlRenderer - Array input with add/remove functionality
- MaterialBooleanControl - Checkbox for boolean values
- MaterialBooleanToggleControl - Toggle switch for boolean values
- MaterialNativeControl - Native HTML control fallback
- MaterialEnumControl - Select dropdown for enum values
- MaterialIntegerControl - Integer number input
- MaterialNumberControl - Decimal number input
- MaterialTextControl - Text input field
- MaterialDateTimeControl - Date and time picker
- MaterialDateControl - Date picker
- MaterialTimeControl - Time picker
- MaterialSliderControl - Slider for numeric ranges
- MaterialRadioGroupControl - Radio button group
- MaterialOneOfRadioGroupControl - Radio group for oneOf schemas
- MaterialOneOfEnumControl - Select for oneOf with enum
- MaterialAnyOfStringOrEnumControl - Control for anyOf string/enum schemas
Layout Renderers
Layout renderers organize form structure:- MaterialGroupLayout - Groups elements with optional label
- MaterialHorizontalLayout - Arranges elements horizontally
- MaterialVerticalLayout - Arranges elements vertically (default)
- MaterialCategorizationLayout - Tab-based categorization
- MaterialCategorizationStepperLayout - Stepper-based categorization
- MaterialArrayLayout - Array layout with Material styling
Complex Renderers
Complex renderers handle advanced schema features:- MaterialObjectRenderer - Nested object structures
- MaterialAllOfRenderer - AllOf schema composition
- MaterialAnyOfRenderer - AnyOf schema alternatives
- MaterialOneOfRenderer - OneOf schema selection
- MaterialEnumArrayRenderer - Array of enum values with checkboxes
Additional Renderers
- MaterialLabelRenderer - Displays label elements
- MaterialListWithDetailRenderer - Master-detail view for arrays
Available Cells
Cells are used within table or array layouts:- MaterialBooleanCell - Boolean checkbox cell
- MaterialBooleanToggleCell - Boolean toggle cell
- MaterialDateCell - Date picker cell
- MaterialEnumCell - Enum select cell
- MaterialIntegerCell - Integer input cell
- MaterialNumberCell - Number input cell
- MaterialNumberFormatCell - Formatted number cell
- MaterialOneOfEnumCell - OneOf enum select cell
- MaterialTextCell - Text input cell
- MaterialTimeCell - Time picker cell
Unwrapped Components
The package also exports unwrapped versions of components that can be used independently:Customization
You can customize Material renderers by:- Using MUI Theme - Apply your Material UI theme to style all renderers
- Custom Renderers - Create custom renderers that extend the Material renderers
- Custom Testers - Override default testers to change when renderers are applied