Blazorme.Split
26.9.14
dotnet add package Blazorme.Split --version 26.9.14
NuGet\Install-Package Blazorme.Split -Version 26.9.14
<PackageReference Include="Blazorme.Split" Version="26.9.14" />
<PackageVersion Include="Blazorme.Split" Version="26.9.14" />
<PackageReference Include="Blazorme.Split" />
paket add Blazorme.Split --version 26.9.14
#r "nuget: Blazorme.Split, 26.9.14"
#:package Blazorme.Split@26.9.14
#addin nuget:?package=Blazorme.Split&version=26.9.14
#tool nuget:?package=Blazorme.Split&version=26.9.14
Blazorme.Split
Split component library for Blazor apps. The library provides resizeable split views (panes).
Requires .NET 10. Earlier versions targeted netstandard2.1 and net5.0, which are no longer supported.
Use DemoApp as a reference for your implementation.
Implementation
Currently the library interops by using the split.js package: GitHub, jsdelivr
Installation
- Install NuGet package:
Install-Package Blazorme.Split
- Using:
In _Imports.razor add:
@using Blazorme
- JS reference:
None required. Since 26.9.8 the package ships Split.js and loads it on demand, so there is
nothing to add to index.html or _Host.cshtml.
Earlier versions required a CDN script tag, and omitting it failed at runtime with a JS interop error. If your app still has it that remains harmless: the loader skips loading when the global is already defined.
The bundled component and its licence are listed in THIRD-PARTY-NOTICES.txt inside the package.
Usage
In your Blazor page, add the top level Split entry and SplitPane sub-entires to form the split view. Here is a simple example:
<div class="container-fluid border border-primary" style="width: 100%; height: 600px">
<Split>
<SplitPane SizeInPercentage="20" MinSize="0">
One
</SplitPane>
<SplitPane SizeInPercentage="50" MinSize="0">
Two
</SplitPane>
<SplitPane SizeInPercentage="30" MinSize="0">
Three
</SplitPane>
</Split>
</div>
Parameters
public enum SplitDirection
{
Horizontal,
Vertical
}
public enum SplitGutterAlign
{
Center,
Start,
End,
}
Split
| Parameter | Type | Default | Description |
|---|---|---|---|
| DefaultMinSize | int | 100 | Minimum size of each pane in pixels. It will be used if min size is not specified in SplitPane. |
| ExpandToMin | bool | false | Grow initial sizes to min size. |
| GutterSize | int | 10 | Gutter size in pixels. |
| GutterAlign | SplitGutterAlign | SplitGutterAlign.Center | Gutter alignment between elements. |
| GutterColor | string | "#cfcfcf" | Gutter color in HTML hex string. |
| SnapOffset | int | 30 | Snap to min size offset in pixels. |
| DragInterval | int | 1 | Number of pixels to drag. |
| Direction | SplitDirection | SplitDirection.Horizontal | Direction to split, horizontal or vertical. |
| Cursor | string | "col-resize" or "row-resize" depending on direction | Cursor to display while dragging. |
SplitPane
| Parameter | Type | Default | Description |
|---|---|---|---|
| SizeInPercentage | int | 0 | Pane size in percentage. |
| MinSize | int? | null | Minimum size of the pane in pixels. |
Example
From demo app:
<div class="container-fluid border border-primary" style="width: 100%; height: 600px">
<Split GutterSize="5">
<SplitPane SizeInPercentage="20" MinSize="0">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In vel ullamcorper ipsum, at blandit leo. Sed egestas est tellus, nec rutrum leo ultricies vitae. Praesent scelerisque libero in lacus gravida, a ultrices tortor rutrum. Donec et justo nibh. Nulla congue volutpat sapien, eu pretium sapien porttitor id. Vivamus sit amet aliquet libero. Vestibulum sit amet ex pharetra, dapibus enim nec, ullamcorper metus. Integer pellentesque aliquam aliquet.
</SplitPane>
<SplitPane SizeInPercentage="50" MinSize="0">
<Split Direction=@SplitDirection.Vertical GutterSize="5">
<SplitPane MinSize="0">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In vel ullamcorper ipsum, at blandit leo. Sed egestas est tellus, nec rutrum leo ultricies vitae. Praesent scelerisque libero in lacus gravida, a ultrices tortor rutrum. Donec et justo nibh. Nulla congue volutpat sapien, eu pretium sapien porttitor id. Vivamus sit amet aliquet libero. Vestibulum sit amet ex pharetra, dapibus enim nec, ullamcorper metus. Integer pellentesque aliquam aliquet.
</SplitPane>
<SplitPane MinSize="0">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In vel ullamcorper ipsum, at blandit leo. Sed egestas est tellus, nec rutrum leo ultricies vitae. Praesent scelerisque libero in lacus gravida, a ultrices tortor rutrum. Donec et justo nibh. Nulla congue volutpat sapien, eu pretium sapien porttitor id. Vivamus sit amet aliquet libero. Vestibulum sit amet ex pharetra, dapibus enim nec, ullamcorper metus. Integer pellentesque aliquam aliquet.
</SplitPane>
</Split>
</SplitPane>
<SplitPane SizeInPercentage="30" MinSize="0">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In vel ullamcorper ipsum, at blandit leo. Sed egestas est tellus, nec rutrum leo ultricies vitae. Praesent scelerisque libero in lacus gravida, a ultrices tortor rutrum. Donec et justo nibh. Nulla congue volutpat sapien, eu pretium sapien porttitor id. Vivamus sit amet aliquet libero. Vestibulum sit amet ex pharetra, dapibus enim nec, ullamcorper metus. Integer pellentesque aliquam aliquet.
</SplitPane>
</Split>
</div>
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
-
net10.0
- Microsoft.AspNetCore.Components (>= 10.0.11)
- Microsoft.AspNetCore.Components.Web (>= 10.0.11)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Updates the bundled Split.js from 1.6.0 to 1.6.5. No advisories applied to either version; this simply stops shipping a five-year-old build.
See THIRD-PARTY-NOTICES.txt for the bundled component and its licence.