BitBlazor is a UI library that provides accessible, reusable Blazor components styled with Bootstrap Italia.
The goal is to offer a comprehensive set of components for .NET 9 applications, following accessibility best practices and the official Bootstrap Italia design system.
- Accessible Blazor components
- Styled with Bootstrap Italia
- .NET 9+ support
- Comprehensive documentation
Requires .NET 9+.
Install via NuGet:
dotnet add package BitBlazorOnce the package is installed, simply add the reference to the Bootstrap Italia CSS included in the head section of your project:
<head>
<!-- other css imports -->
<link rel="stylesheet" href="_content/BitBlazor/bootstrap-italia/css/bootstrap-italia.min.css" />
<!-- optional: include Bootstrap Italia default fonts (Titillium Web, Lora, Roboto Mono) -->
<link rel="stylesheet" href="_content/BitBlazor/css/fonts.css" />
</head>No JavaScript setup is required. Components that need Bootstrap Italia JavaScript (currently BitTooltip and BitPopover) load the bundled copy on demand, only when first rendered.
- Render modes: works in interactive render modes (Server, WebAssembly, Auto). In static SSR pages the components render their content but no tooltip/popover is attached, because it requires JS interop.
- Supported version: Bootstrap Italia
2.18.x, the version shipped with the package. The JavaScript and the CSS must be the same version. - Bring your own copy: if the page already provides Bootstrap Italia JavaScript (
window.bootstrap), BitBlazor reuses it instead of loading its own. Any version other than the supported one logs aconsole.warnand is used at your own risk. The host<script>must be classic and synchronous (nodefer,asyncortype="module") and placed beforeblazor.web.js/blazor.webassembly.js, inApp.razororindex.html(not in a page or layout). - Content Security Policy: the bundle is loaded with a dynamic
import(), soscript-srcmust allow'self'(or'strict-dynamic'). Nonce-only policies block it; in that case load the bundle yourself with a nonced<script>as described above.
Comprehensive documentation can be found in the docs folder.
A Storybook for the library is available here.
The storybook website is made using the project Blazing Story by @jsakamoto.
For the development plan and component list, see ROADMAP.md.
See the CHANGELOG.md file to keep track of all the project's releases.
Contributions are always welcome!
If you have any issues, feedback, or feature requests, please see the CONTRIBUTING file.
The project is released under MIT license.