Orbyss.Blazor.MudBlazor.JsonForms 1.0.0

dotnet add package Orbyss.Blazor.MudBlazor.JsonForms --version 1.0.0
                    
NuGet\Install-Package Orbyss.Blazor.MudBlazor.JsonForms -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Orbyss.Blazor.MudBlazor.JsonForms" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Orbyss.Blazor.MudBlazor.JsonForms" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Orbyss.Blazor.MudBlazor.JsonForms" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Orbyss.Blazor.MudBlazor.JsonForms --version 1.0.0
                    
#r "nuget: Orbyss.Blazor.MudBlazor.JsonForms, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Orbyss.Blazor.MudBlazor.JsonForms@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Orbyss.Blazor.MudBlazor.JsonForms&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Orbyss.Blazor.MudBlazor.JsonForms&version=1.0.0
                    
Install as a Cake Tool

πŸ“¦ Orbyss.Blazor.MudBlazor.JsonForms

A full-featured MudBlazor-based UI renderer for Orbyss.Blazor.JsonForms.
This package brings the power of MudBlazor components to schema-driven forms using the jsonforms.io standard.

All you need to generate your JSON forms are:

  • JSON Schema – defines the data structure (types, constraints, etc.)
  • UI Schema – controls layout and per-control options
  • Translation Schema – handles localization, labels, and error messages

The package is meant to support all functionality that is also natively supported by jsonforms.io, but not all functionality could be tested and implemented.
Please β€” if any functionality is not working as expected β€” either open an issue, or fork the repo and create a PR.
This is an open source project. Together we can make it better, faster.

If you notice anything that is not working as you expect, please either let us know, or implement your own components (see Orbyss.Blazor.JsonForms README for how to do that).

Important Note: This project is an independent Blazor-based implementation and is not affiliated with or supported by the jsonforms.io team. Please direct all support requests for this package to the Orbyss.io team, not jsonforms.io.


🎯 What is this?

This package implements the IFormComponentInstanceProvider interface for MudBlazor β€” plugging directly into the Orbyss.Blazor.JsonForms core form engine.

βœ… You don’t need to write your own component provider
βœ… Just install this NuGet package and use <JsonForm ... /> as normal
βœ… Make sure to either inject MudFormComponentInstanceProvider in your DI container, or pass a fresh instance as parameter to
<JsonForm ComponentInstanceProvider=@provider ... >


🧱 Components Rendered with MudBlazor

All form controls are implemented using MudBlazor components:

  • βœ… MudTextField, MudSelect, MudSwitch, MudDatePicker, etc.
  • βœ… Supports layout controls like Grid, Columns, Lists, Buttons, and Stepper Navigation
  • βœ… Fully compatible with cascading properties: Language, Disabled, ReadOnly
  • βœ… Custom UI behavior via options in your UI schema

πŸš€ Quickstart

dotnet add package Orbyss.Blazor.MudBlazor.JsonForms

1️⃣ Add CSS & JS to index.html

<link href="_content/MudBlazor/MudBlazor.min.css?v=@(MudBlazor.Metadata.Version)" rel="stylesheet" />
<link href="_content/CodeBeam.MudBlazor.Extensions/MudExtensions.min.css" rel="stylesheet" />

<script src="_content/MudBlazor/MudBlazor.min.js?v=@(MudBlazor.Metadata.Version)"></script>
<script src="_content/CodeBeam.MudBlazor.Extensions/mudExtensions.min.js"></script>

2️⃣ Register MudBlazor and JsonForms in MauiProgram.cs

builder.Services.AddMudServices();
builder.Services.AddMudExtensions();

// Optionally configure JsonForms with custom component settings:
var instanceProviderOptions = new MudFormComponentInstanceProviderOptions
{
    ConfigureButton = (@default, type, form) =>
    {
        @default.Size = Size.Medium;

        if (type == Orbyss.Blazor.JsonForms.FormButtonType.Submit)
        {
            @default.EndIcon = Icons.Material.Filled.Send;
        }

        return @default;
    },

    ConfigureDropdownInput = (@default, control) =>
    {
        @default.Searchable = true;
        @default.SearchCaseSensitive = false;
        @default.SearchOperator = DropdownSearchOperator.Contains;

        return @default;
    }
};
builder.Services.AddMudBlazorJsonForms(instanceProviderOptions);

βš™οΈ Customization

You can override the default behavior by subclassing the MudFormComponentInstanceProvider:

public class CustomProvider : MudFormComponentInstanceProvider
{
    public override InputFormComponentInstanceBase GetInputField(IJsonFormContext context, FormControlContext control)
    {
        if (control.Interpretation.JsonPath == "$.properties.mySpecialField") 
            return new MyCustomInputInstance();

        return base.GetInputField(context, control);
    }
}

This lets you hook into form rendering at the component level for specific fields.


πŸ”„ Under the hood: Powered by 3 schemas

Like all Orbyss JSON Forms integrations, this renderer works using:

Schema Purpose
JSON Schema Defines data structure (types, constraints, etc.)
UI Schema Controls layout, per-control options, rules
Translation Schema Manages localization, labels, error messages

All schema interactions are fully supported.


🧩 Other UI Options

Prefer a different component library? Try:


πŸ“„ License

MIT License
Β© Orbyss.io



🀝 Contributing

This project is open source and contributions are welcome!

Whether it's bug fixes, improvements, documentation, or ideas β€” we encourage developers to get involved.
Just fork the repo, create a branch, and open a pull request.

We follow standard .NET open-source conventions:

  • Write clean, readable code
  • Keep PRs focused and descriptive
  • Open issues for larger features or discussions

No formal contribution guidelines β€” just be constructive and respectful.


⭐️ Found this useful? Give us a star and help spread the word!

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 124 8/13/2025

**Release: 13 August, 2025**

 Initial release of the MudBlazor renderer for Orbyss.Blazor.JsonForms.
 This package aims to support all functionality natively available in jsonforms.io, though not all features have been tested or implemented yet.
 Please report any issues or contribute improvements via pull requests.