Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/bitblazor-codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ on:
- cron: '0 0 1,15 * *'

env:
NET_VERSION: '9.x'
NET_VERSION: '10.x'

jobs:
analyze:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/bitblazor-stories.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ env:
AZURE_WEBAPP_NAME: bitblazor-stories
AZURE_WEBAPP_PACKAGE_PATH: stories/BitBlazor.Stories/published
CONFIGURATION: Release
DOTNET_CORE_VERSION: 9.0.x
DOTNET_CORE_VERSION: 10.x
WORKING_DIRECTORY: stories/BitBlazor.Stories
jobs:
build:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/bitblazor-testrunner.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 9.x
dotnet-version: 10.x

- name: Restore dependencies
run: dotnet restore $SOLUTION
Expand Down
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,22 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.2.2] - 2026-01-16

### Added

#### Form Components
- [x] **Toggle** - BitToggle component for toggle/switch input with ToggleViewMode enumeration
- [x] **Checkbox** - BitCheckbox component for checkbox selection
- [x] **Radio** - Radio button components including:
- [x] BitRadio - Individual radio button component
- [x] BitRadioGroup - Group multiple radio buttons together

#### Documentation
- [x] Toggle documentation
- [x] Checkbox documentation
- [x] Radio documentation

## [0.2.1] - 2025-11-21

### Added
Expand Down
3 changes: 2 additions & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@ BitBlazor provides a comprehensive set of ready-to-use UI components that follow

## Library Structure

The library is organized into two main namespaces:
The library is organized into these namespaces:

- **`BitBlazor.Components`**: Core UI components
- **`BitBlazor.Form`**: Form components with validation support
- **`BitBlazor.Utilities`**: Utilities and support components

## Available Components
Expand Down
4 changes: 2 additions & 2 deletions src/BitBlazor/BitBlazor.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<Title>BitBlazor</Title>
<Description>BitBlazor is a UI library project that provides accessible, reusable Blazor components styled with Bootstrap Italia</Description>
<Authors>Alberto Mori</Authors>
<Version>0.2.1</Version>
<Version>0.2.2</Version>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://github.com/albx/bitblazor</RepositoryUrl>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
Expand All @@ -24,7 +24,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="9.0.10" />
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="9.0.12" />
</ItemGroup>

<ItemGroup>
Expand Down
6 changes: 3 additions & 3 deletions stories/BitBlazor.Stories/BitBlazor.Stories.csproj
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<MD2RazorDefaultBaseClass>global::BlazingStory.Internals.Pages.MarkdownPageBase</MD2RazorDefaultBaseClass>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="BlazingStory" Version="1.0.0-preview.62" />
<PackageReference Include="BlazingStory.McpServer" Version="1.0.0-preview.62" />
<PackageReference Include="BlazingStory" Version="1.0.0-preview.65" />
<PackageReference Include="BlazingStory.McpServer" Version="1.0.0-preview.65" />
<PackageReference Include="MD2RazorGenerator" Version="1.2.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
Expand Down
6 changes: 3 additions & 3 deletions tests/BitBlazor.Test/BitBlazor.Test.csproj
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
<Project Sdk="Microsoft.NET.Sdk.Razor">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="bunit" Version="1.40.0" />
<PackageReference Include="bunit" Version="2.5.3" />
<PackageReference Include="coverlet.collector" Version="6.0.4">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
<PrivateAssets>all</PrivateAssets>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ public class BitAlertTest
[Fact]
public void BitAlert_Should_Call_OnClose_Event_When_Close_Button_Is_Clicked()
{
using var ctx = new TestContext();
using var ctx = new BunitContext();

bool closingAlert = false;
Action onAlertClose = () => closingAlert = true;

var component = ctx.RenderComponent<BitAlert>(
var component = ctx.Render<BitAlert>(
parameters => parameters
.Add(a => a.Type, AlertType.Primary)
.Add(a => a.ChildContent, "Dismissible alert")
Expand All @@ -29,12 +29,12 @@ public void BitAlert_Should_Call_OnClose_Event_When_Close_Button_Is_Clicked()
[Fact]
public void BitAlert_Should_Call_OnClosed_Event_When_Close_Button_Is_Clicked()
{
using var ctx = new TestContext();
using var ctx = new BunitContext();

bool closedAlert = false;
Action onAlertClosed = () => closedAlert = true;

var component = ctx.RenderComponent<BitAlert>(
var component = ctx.Render<BitAlert>(
parameters => parameters
.Add(a => a.Type, AlertType.Primary)
.Add(a => a.ChildContent, "Dismissible alert")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@inherits TestContext
@inherits BunitContext

@code {
[Theory]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@inherits TestContext
@inherits BunitContext

@code {
[Fact]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@inherits TestContext
@inherits BunitContext

@code {
[Theory]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@inherits TestContext
@inherits BunitContext

@code {
[Theory]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ public class BitButtonTest
[Fact]
public void BitButton_Should_Call_OnClick_When_Clicked()
{
using var ctx = new TestContext();
using var ctx = new BunitContext();

// Arrange
var clicked = false;
Action onClickHandler = () => clicked = true;

// Act
var component = ctx.RenderComponent<BitButton>(
var component = ctx.Render<BitButton>(
parameters => parameters
.Add(p => p.ChildContent, "Click Me")
.Add(p => p.Color, Color.Primary)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@inherits TestContext
@inherits BunitContext

@code
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@inherits TestContext
@inherits BunitContext

@code {
[Fact]
Expand Down
12 changes: 6 additions & 6 deletions tests/BitBlazor.Test/Form/Checkbox/BitCheckboxTest.Behaviors.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ public void BitCheckbox_Should_Change_Value_Correctly()
{
bool value = false;

using var ctx = new TestContext();
using var ctx = new BunitContext();

var component = ctx.RenderComponent<BitCheckbox>(parameters => parameters
var component = ctx.Render<BitCheckbox>(parameters => parameters
.Add(p => p.Label, "label")
.Add(p => p.Id, "test-checkbox")
.Bind(p => p.Value, value, v => value = v));
Expand All @@ -28,9 +28,9 @@ public void BitCheckbox_Should_Add_Checked_Attribute_When_Value_Is_Changed_To_Tr
{
bool value = false;

using var ctx = new TestContext();
using var ctx = new BunitContext();

var component = ctx.RenderComponent<BitCheckbox>(parameters => parameters
var component = ctx.Render<BitCheckbox>(parameters => parameters
.Add(p => p.Label, "label")
.Add(p => p.Id, "test-checkbox")
.Bind(p => p.Value, value, v => value = v));
Expand All @@ -46,9 +46,9 @@ public void BitCheckbox_Should_Remove_Checked_Attribute_When_Value_Is_Changed_To
{
bool value = true;

using var ctx = new TestContext();
using var ctx = new BunitContext();

var component = ctx.RenderComponent<BitCheckbox>(parameters => parameters
var component = ctx.Render<BitCheckbox>(parameters => parameters
.Add(p => p.Label, "label")
.Add(p => p.Id, "test-checkbox")
.Bind(p => p.Value, value, v => value = v));
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@inherits TestContext
@inherits BunitContext

@code {
[Fact]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ public void BitDatepicker_Should_Set_Datetime_Value_Correctly()
{
DateTime? value = null;

using var ctx = new TestContext();
var component = ctx.RenderComponent<BitDatepicker<DateTime?>>(parameters => parameters
using var ctx = new BunitContext();
var component = ctx.Render<BitDatepicker<DateTime?>>(parameters => parameters
.Add(p => p.Label, "Label")
.Add(p => p.Id, "test-datepicker")
.Bind(p => p.Value, value, v => value = v));
Expand Down Expand Up @@ -47,8 +47,8 @@ public void BitDatepicker_Should_Set_Dateonly_Value_Correctly()
{
DateOnly? value = null;

using var ctx = new TestContext();
var component = ctx.RenderComponent<BitDatepicker<DateOnly?>>(parameters => parameters
using var ctx = new BunitContext();
var component = ctx.Render<BitDatepicker<DateOnly?>>(parameters => parameters
.Add(p => p.Label, "Label")
.Add(p => p.Id, "test-datepicker")
.Bind(p => p.Value, value, v => value = v));
Expand All @@ -71,11 +71,11 @@ public void BitDatepicker_Should_Throw_NotSupportedException_If_Specified_Type_I
{
string? value = null;

using var ctx = new TestContext();
using var ctx = new BunitContext();

var ex = Assert.Throws<NotSupportedException>(() =>
{
ctx.RenderComponent<BitDatepicker<string?>>(parameters => parameters
ctx.Render<BitDatepicker<string?>>(parameters => parameters
.Add(p => p.Label, "Label")
.Add(p => p.Id, "test-datepicker")
.Bind(p => p.Value, value, v => value = v));
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@inherits TestContext
@inherits BunitContext

@code {
[Fact]
Expand Down
Loading
Loading