Lyo.Web.Components
1.0.0
dotnet add package Lyo.Web.Components --version 1.0.0
NuGet\Install-Package Lyo.Web.Components -Version 1.0.0
<PackageReference Include="Lyo.Web.Components" Version="1.0.0" />
<PackageVersion Include="Lyo.Web.Components" Version="1.0.0" />
<PackageReference Include="Lyo.Web.Components" />
paket add Lyo.Web.Components --version 1.0.0
#r "nuget: Lyo.Web.Components, 1.0.0"
#:package Lyo.Web.Components@1.0.0
#addin nuget:?package=Lyo.Web.Components&version=1.0.0
#tool nuget:?package=Lyo.Web.Components&version=1.0.0
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>— wrapsMudDataGridwith an opt-in feature toolbar driven byLyoDataGridFeatureFlags: bulk export (CSV / XLSX / PDF), bulk delete, column-visibility menu, refresh, query-builder integration, and per-grid persisted state. Backed byLyoDataGridStateandColumnVisibilityBinderso layouts survive reloads viaBlazored.LocalStorage.LyoDataGridProjected<T>— variant for grids whose rows are projected from a query (sparse / wide datasets). UsesLyoTypedProjectedColumn,LyoProjectedColumn, andProjectedColumnRegistry/ProjectedValueHelperto 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 forLyo.Query.Modelsfilter trees:QueryNodeEditor,QueryNodeEditorPanel,QueryNodeEditorItem, andQueryFilterComponentfor the per-condition row. Comparison operators are constrained perFilterPropertyTypevia the internalExtensions.GetAvailableComparisonOperators, withIn/NotInflagged throughIsMultiValueComparisonOperator. - Query request builder (
QueryRequestBuilder/) — full-form editor for aProjectionQueryReq:IncludeList,SelectList,SortByList,KeysList,ComputedFieldsList,StartAmountFields, andQueryReqFormplus the umbrellaQueryRequestBuildercomponent 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 asChangeTrackingFormso 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 CSSmax-widthon the chip (e.g.100%ormin(100%,12rem)) so chips stay inside narrow columns; combine withChipFileNameMaxLength.
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 byLyoSelectOption.ChipInput/LyoChipInput— chip-style multi-value input (tags / emails / freeform).UniqueValueSelector/UniqueValueSelector— selector that loads distinct values for a column via theSpUniqueValueCountshape (used by grid filters).ParamOptions/LyoParameterOptionsSelect— MudSelect from definition parameterOptionsJSON (static items or root/Query) or pipeAllowedValues, with{{SiblingKey}}live input binding.ParamOptions/LyoParameterOptionsEditor— edits static key/label lists or rootQueryReqviaQueryRootFormfor theOptionscolumn.Validation/LyoValidationWrapper— wraps a field with consistent validation message rendering.LyoDataGrid/LyoDataGridProjected— data grids with filtering, bulk actions, and composable export viaLyo.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). UsesLyo.Common.Identifiers.IdResultPanel+IdEntry— supporting result display.
Other top-level pieces
ClientStore—Blazored.LocalStorage-backed key/value store used by the grid + form state binders.LyoElementRoot— wraps a component and computes its DOM id fromElementId+ a default, normalising the segment throughElementIdSegmentNormalizer.GridRootElementIdandComponentTypeElementIdprovide well-known prefixes (DataGrid, etc.).IJsInterop/JsInterop— small JS bridge for clipboard / focus operations.LyoResultErrorFormatter— rendersLyo.Resulterrors 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.LocalStorage4.5.0— (direct, third-party)MudBlazor9.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.Cryptography2.6.2— (transitive, third-party, netstandard2.0)Konscious.Security.Cryptography.Argon21.3.1— (transitive, third-party)Microsoft.Bcl.AsyncInterfaces10.0.5— (transitive, microsoft, netstandard2.0)Microsoft.Extensions.Configuration.Binder10.0.5— (transitive, microsoft)Microsoft.Extensions.DependencyInjection.Abstractions10.0.5— (transitive, microsoft, net10.0, netstandard2.0)Microsoft.Extensions.Hosting.Abstractions10.0.5— (transitive, microsoft)Microsoft.Extensions.Http10.0.5— (transitive, microsoft)Microsoft.Extensions.Logging.Abstractions10.0.5— (transitive, microsoft)Microsoft.Extensions.Options.ConfigurationExtensions10.0.5— (transitive, microsoft)System.Buffers4.6.1— (transitive, microsoft, netstandard2.0)System.ComponentModel.Annotations5.0.0— (transitive, microsoft)System.IO.Hashing10.0.5— (transitive, microsoft, net10.0)System.Memory4.6.3— (transitive, microsoft, netstandard2.0)System.Text.Json10.0.5— (transitive, microsoft, netstandard2.0)System.Threading.Tasks.Extensions4.6.3— (transitive, microsoft, netstandard2.0)
| 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
- Blazored.LocalStorage (>= 4.5.0)
- Lyo.Api.Client (>= 1.0.0)
- Lyo.Common (>= 1.0.0)
- Lyo.DataTable.Models (>= 1.0.0)
- Lyo.Encryption (>= 1.0.0)
- Lyo.IO.Temp (>= 1.0.0)
- Lyo.Query.Models (>= 1.0.0)
- Lyo.Result (>= 1.0.0)
- Lyo.Validation (>= 1.0.0)
- MudBlazor (>= 9.3.0 && < 10.0.0)
NuGet packages (19)
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.FileStorage.Web.Components
Reusable Blazor components for file storage workbenches: upload/save, DEK/KEK migration and rotation, metadata grid, keystore tools. |
|
|
Lyo.Pdf.Web.Components
Reusable Blazor components for PDF workbenches, annotation helpers, and HTML to PDF workflows. |
|
|
Lyo.Endato.Web.Components
Reusable Blazor components for Endato person search and contact enrichment workbench UI. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 104 | 8/16/2026 |