Lyo.Web.Components 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Lyo.Web.Components --version 1.0.0
                    
NuGet\Install-Package Lyo.Web.Components -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="Lyo.Web.Components" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Lyo.Web.Components" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Lyo.Web.Components" />
                    
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 Lyo.Web.Components --version 1.0.0
                    
#r "nuget: Lyo.Web.Components, 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 Lyo.Web.Components@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=Lyo.Web.Components&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Lyo.Web.Components&version=1.0.0
                    
Install as a Cake Tool

Lyo.Web.Components

Blazor / MudBlazor component library for the Lyo web UI. Provides the data-grid + query-builder stack, change-tracking form, file upload, rich-text editor, JSON editor, text-diff viewer, identifier workbench, and several smaller inputs. Targets net10.0 (Razor SDK) and depends on Blazored.LocalStorage and MudBlazor >= 9.3.

Every visual component participates in the LyoElementRoot element-id scheme, so each rendered control gets a deterministic DOM id derived from the component's ElementId parameter — useful for testing and analytics.

Data grid (DataGrid/)

  • LyoDataGrid<T> — wraps MudDataGrid with an opt-in feature toolbar driven by LyoDataGridFeatureFlags: bulk export (CSV / XLSX / PDF), bulk delete, column-visibility menu, refresh, query-builder integration, and per-grid persisted state. Backed by LyoDataGridState and ColumnVisibilityBinder so layouts survive reloads via Blazored.LocalStorage.
  • LyoDataGridProjected<T> — variant for grids whose rows are projected from a query (sparse / wide datasets). Uses LyoTypedProjectedColumn, LyoProjectedColumn, and ProjectedColumnRegistry / ProjectedValueHelper to look up values without strongly-typed properties.
  • LyoPropertyColumn — column wrapper that integrates with the query builder for filtering / sorting metadata.
  • FilterChipLabel + ChipLabelHelper — chip-style filter readouts shown above the grid.

Query builder UI

  • Query node editor (QueryNodeEditor/) — visual builder for Lyo.Query.Models filter trees: QueryNodeEditor, QueryNodeEditorPanel, QueryNodeEditorItem, and QueryFilterComponent for the per-condition row. Comparison operators are constrained per FilterPropertyType via the internal Extensions.GetAvailableComparisonOperators, with In / NotIn flagged through IsMultiValueComparisonOperator.
  • Query request builder (QueryRequestBuilder/) — full-form editor for a ProjectionQueryReq: IncludeList, SelectList, SortByList, KeysList, ComputedFieldsList, StartAmountFields, and QueryReqForm plus the umbrella QueryRequestBuilder component that renders the live query score.

Forms (Form/)

  • LyoForm<TModel>EditForm-based change-tracking form. Renders Save/Reset actions, summarises pending property changes plus create/update/delete operations for collection-bound children, and cascades itself as ChangeTrackingForm so nested inputs can register themselves.
  • LyoFormInput — change-tracked single-value input that participates in the cascaded form.
  • LyoNullableTextField — text field with explicit nullable semantics for the change tracker.

Rich text editor (RichTextEditor/)

  • LyoRichTextEditor — MudBlazor-styled rich-text editor (Quill-derived) with full toolbar.
  • LyoRichTextEditorController — controller object for programmatic interactions (get/set HTML, focus, format).
  • LyoRichTextEditorToolbarState — toolbar state model for synchronising buttons.

JSON editor (JsonEditor/)

  • JsonEditor — read/write JSON editor with JS interop (JsonEditorJsInterop).
  • JsonTreeView — collapsible tree viewer for inspecting JSON payloads.

Text diff viewer (TextDiff/)

  • LyoTextDiffViewer — side-by-side / unified text diff with theming-aware styling.

File upload (FileUpload/)

LyoFileUpload wraps MudFileUpload with optional drag-and-drop, progress chips, and temp-file streaming via Lyo.IO.Temp. Internal state lives in LyoFileUploadState; the chip vs. list layout is selected by ClientFileDisplayMode. For long file names in tight layouts:

  • ChipFileNameMaxLength — Short label inside each completed chip (prefix…ext); full name in a tooltip when truncated.
  • ChipMaxWidthCss — Optional CSS max-width on the chip (e.g. 100% or min(100%,12rem)) so chips stay inside narrow columns; combine with ChipFileNameMaxLength.

Completed chips always render the shortened display name (not the raw full name when under the max length), so truncation stays consistent in both chip layouts.

Inputs

  • CheckSelect/LyoCheckSelect — multi-select dropdown backed by LyoSelectOption.
  • ChipInput/LyoChipInput — chip-style multi-value input (tags / emails / freeform).
  • UniqueValueSelector/UniqueValueSelector — selector that loads distinct values for a column via the SpUniqueValueCount shape (used by grid filters).
  • ParamOptions/LyoParameterOptionsSelect — MudSelect from definition parameter Options JSON (static items or root /Query) or pipe AllowedValues, with {{SiblingKey}} live input binding.
  • ParamOptions/LyoParameterOptionsEditor — edits static key/label lists or root QueryReq via QueryRootForm for the Options column.
  • Validation/LyoValidationWrapper — wraps a field with consistent validation message rendering.
  • LyoDataGrid / LyoDataGridProjected — data grids with filtering, bulk actions, and composable export via Lyo.Web.Components.Export.
  • JsonViewDialog + LyoElementRoot — utility dialog and the element-id root used by every component.

Identifier workbench (Identifiers/)

  • IdWorkbench — interactive generator for GUID / KSUID / ULID / NanoID / Snowflake identifiers (V3 / V4 / V5 / V6 / V7 / COMB Postgres + SQL Server). Uses Lyo.Common.Identifiers.
  • IdResultPanel + IdEntry — supporting result display.

Other top-level pieces

  • ClientStoreBlazored.LocalStorage-backed key/value store used by the grid + form state binders.
  • LyoElementRoot — wraps a component and computes its DOM id from ElementId + a default, normalising the segment through ElementIdSegmentNormalizer. GridRootElementId and ComponentTypeElementId provide well-known prefixes (DataGrid, etc.).
  • IJsInterop / JsInterop — small JS bridge for clipboard / focus operations.
  • LyoResultErrorFormatter — renders Lyo.Result errors consistently across components.

Models (Models/)

  • FilterPropertyDefinition + FilterPropertyType — describe a queryable column (String, Number, Enum, DateTime, Bool, …) for the query builder and grid.
  • TimestampFormatEnum — display format used by grid cells.
  • BlazorUserInfo — current-user info shared via cascading values.
  • LocalBrowserFile / LocalBrowserFilePath — abstractions over uploaded browser files for the file upload component.

Internal helpers (Extensions)

Internal Extensions provides shared visual helpers — GetStatusColor(string), GetStatusIcon(string), GetIcon(FileTypeFlags), GetAvailableComparisonOperators(FilterPropertyType), and the IsMultiValueComparisonOperator extension on ComparisonOperatorEnum. These power the consistent status badges and operator menus used across the grid, query editor, and form.

Dependencies

Generated from ProjectReference / PackageReference (same model as docs/Lyo.ProjectGraph.html).

  • Lyo.Api.Client — (direct, lyo)
  • Lyo.Common — (direct, lyo)
  • Lyo.DataTable.Models — (direct, lyo)
  • Lyo.Encryption — (direct, lyo)
  • Lyo.IO.Temp — (direct, lyo)
  • Lyo.Query.Models — (direct, lyo)
  • Lyo.Result — (direct, lyo)
  • Lyo.Validation — (direct, lyo)
  • Blazored.LocalStorage 4.5.0 — (direct, third-party)
  • MudBlazor 9.3 — (direct, third-party)
  • Lyo.Api.Models — (transitive, lyo)
  • Lyo.DateAndTime — (transitive, lyo)
  • Lyo.Diagnostic — (transitive, lyo)
  • Lyo.Exceptions — (transitive, lyo)
  • Lyo.Hashing — (transitive, lyo)
  • Lyo.KeyStore — (transitive, lyo)
  • Lyo.Metrics — (transitive, lyo)
  • Lyo.PackageMetadata — (transitive, lyo)
  • Lyo.Streams — (transitive, lyo)
  • BouncyCastle.Cryptography 2.6.2 — (transitive, third-party, netstandard2.0)
  • Konscious.Security.Cryptography.Argon2 1.3.1 — (transitive, third-party)
  • Microsoft.Bcl.AsyncInterfaces 10.0.5 — (transitive, microsoft, netstandard2.0)
  • Microsoft.Extensions.Configuration.Binder 10.0.5 — (transitive, microsoft)
  • Microsoft.Extensions.DependencyInjection.Abstractions 10.0.5 — (transitive, microsoft, net10.0, netstandard2.0)
  • Microsoft.Extensions.Hosting.Abstractions 10.0.5 — (transitive, microsoft)
  • Microsoft.Extensions.Http 10.0.5 — (transitive, microsoft)
  • Microsoft.Extensions.Logging.Abstractions 10.0.5 — (transitive, microsoft)
  • Microsoft.Extensions.Options.ConfigurationExtensions 10.0.5 — (transitive, microsoft)
  • System.Buffers 4.6.1 — (transitive, microsoft, netstandard2.0)
  • System.ComponentModel.Annotations 5.0.0 — (transitive, microsoft)
  • System.IO.Hashing 10.0.5 — (transitive, microsoft, net10.0)
  • System.Memory 4.6.3 — (transitive, microsoft, netstandard2.0)
  • System.Text.Json 10.0.5 — (transitive, microsoft, netstandard2.0)
  • System.Threading.Tasks.Extensions 4.6.3 — (transitive, microsoft, netstandard2.0)
Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (24)

Showing the top 5 NuGet packages that depend on Lyo.Web.Components:

Package Downloads
Lyo.Web.Components.Export

Composable data grid export UI for Lyo.Web.Components (JSON export and shared column selector).

Lyo.Authentication.Web.Components

Host-agnostic Razor / MudBlazor pages for Lyo authentication: provider login, JWT debug workbench, and user profile (self + other). Pair with `Lyo.Authentication.Web.Components.Server` (BFF cookie flow) or `Lyo.Authentication.Web.Components.Wasm` (direct token flow).

Lyo.Query.Web.Components

Reusable Blazor components for query workbenches and query editing flows.

Lyo.Sms.Web.Components

Reusable Blazor components for provider-neutral SMS and MMS composition workflows.

Lyo.MessageQueue.RabbitMq.Web.Components

Reusable Blazor components for RabbitMQ-specific exchanges, bindings, and broker workbenches.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.10 32 8/22/2026
1.0.9 76 8/22/2026
1.0.8 47 8/22/2026
1.0.7 52 8/22/2026
1.0.6 194 8/20/2026
1.0.4 230 8/20/2026
1.0.3 221 8/19/2026
1.0.2 271 8/19/2026
1.0.1 317 8/18/2026
1.0.0 290 8/16/2026