Bit.Bortable
11.0.0-pre-10
dotnet add package Bit.Bortable --version 11.0.0-pre-10
NuGet\Install-Package Bit.Bortable -Version 11.0.0-pre-10
<PackageReference Include="Bit.Bortable" Version="11.0.0-pre-10" />
<PackageVersion Include="Bit.Bortable" Version="11.0.0-pre-10" />
<PackageReference Include="Bit.Bortable" />
paket add Bit.Bortable --version 11.0.0-pre-10
#r "nuget: Bit.Bortable, 11.0.0-pre-10"
#:package Bit.Bortable@11.0.0-pre-10
#addin nuget:?package=Bit.Bortable&version=11.0.0-pre-10&prerelease
#tool nuget:?package=Bit.Bortable&version=11.0.0-pre-10&prerelease
Bit.Bortable
A Blazor-native drag-and-drop sortable list, inspired by SortableJS: reorder the items of a list, or drag them between lists that share a group. The sorting engine is written in C# and runs on the browser's own HTML5 drag events; a small JavaScript module only measures the pointer against the items, installs drag handles and plays the slide animations - there is no JavaScript sortable library underneath.
Quick start
dotnet add package Bit.Bortable
// Program.cs (both projects of a Blazor Web App)
builder.Services.AddBitBortableServices();
@* _Imports.razor *@
@using Bit.Bortable
Link the stylesheet from your host page (App.razor or index.html); it is not injected for you. The script
module, _content/Bit.Bortable/bit-bortable.js, is imported by the component on demand.
<link rel="stylesheet" href="_content/Bit.Bortable/bit-bortable.css" />
<Bortable @bind-Items="_todo" TItem="string" Group="board">
<ItemTemplate Context="item">@item</ItemTemplate>
</Bortable>
<Bortable @bind-Items="_done" TItem="string" Group="board" OnAdd='e => Console.WriteLine($"done: {e.Item}")'>
<ItemTemplate Context="item">@item</ItemTemplate>
</Bortable>
@code {
// Changed in place, and ItemsChanged is raised once per drag for each list that changed.
private IList<string> _todo = new List<string> { "Write the spec", "Review the PR" };
private IList<string> _done = new List<string> { "Set up CI" };
}
Features
- Live reordering while dragging, with FLIP slide animations.
- Lists that share a
Groupexchange items, with a placeholder previewing where the item will land. Move,CloneandNonepull modes, and per-listPut,SortandDisabled.- The SortableJS swap thresholds:
SwapThreshold,InvertSwap,InvertedSwapThresholdandDirection. - Swap mode (the Swap plugin) and multi-drag (the MultiDrag plugin).
- Drag handles, filters for locked items, and per-item classes that follow an item between lists.
- Vertical lists, horizontal strips, grids and nested lists.
@bind-Itemsand the SortableJS lifecycle events:OnStart,OnEnd,OnAdd,OnRemove,OnUpdate,OnSortandOnChange.- Theming of the drag states through
--bit-bortable-*CSS custom properties. - Blazor WebAssembly, Server, Web App (including prerendering) and Hybrid on .NET 8, 9 and 10.
For AI agents
The demo site hosts an MCP server at https://bortable.bitplatform.dev/mcp (also served through
https://bitplatform.dev/mcp) that answers from the shipped library: its API, its guide, its stylesheet and the
demo's working pages, and it can run a drag over lists you describe and report what it did.
Documentation
The full guide - sorting, shared lists and cloning, nested lists, handles and filters, swap mode, multi-drag, events, styling, hosting models, how it works and a SortableJS mapping - is in the Bortable README. See it running at bortable.bitplatform.dev.
| Product | Versions 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 is compatible. 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 is compatible. 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. net11.0 is compatible. |
-
net10.0
- Microsoft.AspNetCore.Components.Web (>= 10.0.0 && < 11.0.0)
-
net11.0
- Microsoft.AspNetCore.Components.Web (>= 11.0.0-rc.1.26425.128 && < 12.0.0)
-
net8.0
- Microsoft.AspNetCore.Components.Web (>= 8.0.0 && < 9.0.0)
-
net9.0
- Microsoft.AspNetCore.Components.Web (>= 9.0.0 && < 10.0.0)
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 |
|---|---|---|
| 11.0.0-pre-10 | 0 | 10/20/2026 |