LoreSoft.Blazor.Controls
11.2.0
See the version list below for details.
dotnet add package LoreSoft.Blazor.Controls --version 11.2.0
NuGet\Install-Package LoreSoft.Blazor.Controls -Version 11.2.0
<PackageReference Include="LoreSoft.Blazor.Controls" Version="11.2.0" />
<PackageVersion Include="LoreSoft.Blazor.Controls" Version="11.2.0" />
<PackageReference Include="LoreSoft.Blazor.Controls" />
paket add LoreSoft.Blazor.Controls --version 11.2.0
#r "nuget: LoreSoft.Blazor.Controls, 11.2.0"
#:package LoreSoft.Blazor.Controls@11.2.0
#addin nuget:?package=LoreSoft.Blazor.Controls&version=11.2.0
#tool nuget:?package=LoreSoft.Blazor.Controls&version=11.2.0
Overview
The LoreSoft Blazor Controls project contains a collection of Blazor user controls.
- Demo: https://blazor.loresoft.com/
- NuGet: https://nuget.org/packages/LoreSoft.Blazor.Controls
- Source: https://github.com/loresoft/LoreSoft.Blazor.Controls
Installing
The LoreSoft.Blazor.Controls library is available on nuget.org via package name LoreSoft.Blazor.Controls.
To install LoreSoft.Blazor.Controls, run the following command in the Package Manager Console
Install-Package LoreSoft.Blazor.Controls
Setup
To use, you need to include the following CSS and JS files in your index.html (Blazor WebAssembly) or _Host.cshtml (Blazor Server).
In the head tag add the following CSS.
<link rel="stylesheet" href="_content/LoreSoft.Blazor.Controls/BlazorControls.css" />
Typeahead Features
- Searching data by supplying a search function
- Template for search result, selected value, and footer
- Debounce support for smoother search
- Character limit before searching
- Multiselect support
- Built in form validation support
Typeahead Properties
Required
- Value - Bind to
Valuein single selection mode. Mutually exclusive toValuesproperty. - Values - Bind to
Valuesin multiple selection mode. Mutually exclusive toValueproperty. - SearchMethod - The method used to return search result
Optional
- AllowClear - Allow the selected value to be cleared
- ConvertMethod - The method used to convert search result type to the value type
- Debounce - Time to wait, in milliseconds, after last key press before starting a search
- Items - The initial list of items to show when there isn't any search text
- MinimumLength - Minimum number of characters before starting a search
- Placeholder - The placeholder text to show when nothing is selected
Templates
- ResultTemplate - User defined template for displaying a result in the results list
- SelectedTemplate - User defined template for displaying the selected item(s)
- NoRecordsTemplate - Template for when no items are found
- FooterTemplate - Template displayed at the end of the results list
- LoadingTemplate - Template displayed while searching
Typeahead Examples
Basic Example
State selection dropdown. Bind to Value property for single selection mode.
<Typeahead SearchMethod="@SearchState"
Items="Data.StateList"
@bind-Value="@SelectedState"
Placeholder="State">
<SelectedTemplate Context="state">
@state.Name
</SelectedTemplate>
<ResultTemplate Context="state">
@state.Name
</ResultTemplate>
</Typeahead>
@code {
public StateLocation SelectedState { get; set; }
public Task<IEnumerable<StateLocation>> SearchState(string searchText)
{
var result = Data.StateList
.Where(x => x.Name.ToLower().Contains(searchText.ToLower()))
.ToList();
return Task.FromResult<IEnumerable<StateLocation>>(result);
}
}
Multiselect Example
When you want to be able to select multiple results. Bind to the Values property. The target property must be type IList<T>.
<Typeahead SearchMethod="@SearchPeople"
Items="Data.PersonList"
@bind-Values="@SelectedPeople"
Placeholder="Owners">
<SelectedTemplate Context="person">
@person.FullName
</SelectedTemplate>
<ResultTemplate Context="person">
@person.FullName
</ResultTemplate>
</Typeahead>
@code {
public IList<Person> SelectedPeople;
public Task<IEnumerable<Person>> SearchPeople(string searchText)
{
var result = Data.PersonList
.Where(x => x.FullName.ToLower().Contains(searchText.ToLower()))
.ToList();
return Task.FromResult<IEnumerable<Person>>(result);
}
}
GitHub Repository Search
Use Octokit to search for a GitHub repository.
<Typeahead SearchMethod="@SearchGithub"
@bind-Value="@SelectedRepository"
Placeholder="Repository"
MinimumLength="3">
<SelectedTemplate Context="repo">
@repo.FullName
</SelectedTemplate>
<ResultTemplate Context="repo">
<div class="github-repository clearfix">
<div class="github-avatar"><img src="@repo.Owner.AvatarUrl"></div>
<div class="github-meta">
<div class="github-title">@repo.FullName</div>
<div class="github-description">@repo.Description</div>
<div class="github-statistics">
<div class="github-forks"><i class="fa fa-flash"></i> @repo.ForksCount Forks</div>
<div class="github-stargazers"><i class="fa fa-star"></i> @repo.StargazersCount Stars</div>
<div class="github-watchers"><i class="fa fa-eye"></i> @repo.SubscribersCount Watchers</div>
</div>
</div>
</div>
</ResultTemplate>
</Typeahead>
@inject IGitHubClient GitHubClient;
@code {
public Repository SelectedRepository { get; set; }
public async Task<IEnumerable<Repository>> SearchGithub(string searchText)
{
var request = new SearchRepositoriesRequest(searchText);
var result = await GitHubClient.Search.SearchRepo(request);
return result.Items;
}
}
| 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 was computed. 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. |
-
net8.0
- Microsoft.AspNetCore.Components.Web (>= 8.0.17)
- System.Linq.Dynamic.Core (>= 1.6.6)
-
net9.0
- Microsoft.AspNetCore.Components.Web (>= 9.0.6)
- System.Linq.Dynamic.Core (>= 1.6.6)
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 |
|---|---|---|
| 13.4.2 | 173 | 1/6/2026 |
| 13.4.1 | 107 | 1/4/2026 |
| 13.4.0 | 92 | 1/3/2026 |
| 13.3.2 | 101 | 1/2/2026 |
| 13.3.1 | 391 | 12/13/2025 |
| 13.2.1 | 569 | 12/8/2025 |
| 13.2.0 | 425 | 12/8/2025 |
| 13.1.1 | 697 | 12/1/2025 |
| 13.1.0 | 353 | 11/30/2025 |
| 13.0.0 | 494 | 11/13/2025 |
| 12.2.8 | 405 | 11/4/2025 |
| 12.2.6 | 240 | 11/1/2025 |
| 12.2.5 | 137 | 11/1/2025 |
| 12.2.4 | 141 | 11/1/2025 |
| 12.2.3 | 227 | 10/31/2025 |
| 12.2.2 | 314 | 10/22/2025 |
| 12.2.1 | 281 | 10/19/2025 |
| 12.2.0 | 184 | 10/19/2025 |
| 12.2.0-beta.1 | 134 | 10/15/2025 |
| 12.1.2 | 253 | 10/6/2025 |
| 12.1.1 | 190 | 10/5/2025 |
| 12.1.0 | 141 | 10/3/2025 |
| 12.0.1 | 187 | 10/3/2025 |
| 12.0.0 | 186 | 10/3/2025 |
| 12.0.0-beta.2 | 137 | 10/3/2025 |
| 12.0.0-beta.1 | 140 | 10/2/2025 |
| 11.6.1 | 397 | 9/19/2025 |
| 11.6.0 | 319 | 9/18/2025 |
| 11.5.1 | 311 | 9/5/2025 |
| 11.5.0 | 393 | 8/28/2025 |
| 11.4.1 | 263 | 7/30/2025 |
| 11.4.0 | 160 | 7/29/2025 |
| 11.3.7 | 156 | 7/29/2025 |
| 11.3.6 | 164 | 7/28/2025 |
| 11.3.5 | 228 | 7/26/2025 |
| 11.3.4 | 418 | 7/21/2025 |
| 11.3.3 | 202 | 7/5/2025 |
| 11.3.2 | 205 | 7/3/2025 |
| 11.3.1 | 278 | 7/2/2025 |
| 11.3.0 | 200 | 7/2/2025 |
| 11.2.0 | 200 | 7/1/2025 |
| 11.1.0 | 1,050 | 5/8/2025 |
| 11.0.0 | 664 | 4/7/2025 |
| 10.2.4 | 295 | 3/27/2025 |
| 10.2.3 | 228 | 3/26/2025 |
| 10.2.2 | 567 | 3/24/2025 |
| 10.2.1 | 545 | 3/24/2025 |
| 10.2.0 | 1,988 | 3/17/2025 |
| 10.1.1 | 1,675 | 11/18/2024 |
| 10.1.0 | 164 | 11/18/2024 |
| 10.0.0 | 241 | 11/13/2024 |
| 9.9.0 | 401 | 10/27/2024 |
| 9.8.8 | 1,764 | 8/28/2024 |
| 9.8.7 | 255 | 8/20/2024 |
| 9.8.6 | 401 | 8/19/2024 |
| 9.8.5 | 196 | 8/19/2024 |
| 9.8.4 | 197 | 8/18/2024 |
| 9.8.3 | 211 | 8/18/2024 |
| 9.8.2 | 229 | 8/18/2024 |
| 9.8.1 | 200 | 8/16/2024 |
| 9.8.0 | 207 | 8/16/2024 |
| 9.7.9 | 186 | 8/15/2024 |
| 9.7.8 | 240 | 8/14/2024 |
| 9.7.7 | 213 | 8/13/2024 |
| 9.7.6 | 156 | 8/2/2024 |
| 9.7.5 | 159 | 8/1/2024 |
| 9.7.4 | 258 | 7/30/2024 |
| 9.7.3 | 1,099 | 6/10/2024 |
| 9.7.2 | 220 | 6/1/2024 |
| 9.7.1 | 217 | 6/1/2024 |
| 9.7.0 | 183 | 5/31/2024 |
| 9.6.1 | 220 | 5/25/2024 |
| 9.6.0 | 198 | 5/25/2024 |
| 9.5.0 | 402 | 4/26/2024 |
| 9.4.1 | 3,288 | 4/12/2024 |
| 9.4.0 | 219 | 4/12/2024 |
| 9.3.0 | 200 | 4/12/2024 |
| 9.2.0 | 774 | 3/2/2024 |
| 9.1.0 | 644 | 1/14/2024 |
| 9.0.2 | 1,157 | 12/4/2023 |
| 9.0.1 | 251 | 12/4/2023 |
| 9.0.0 | 218 | 12/4/2023 |
| 8.0.0 | 6,560 | 12/28/2022 |
| 7.0.0 | 12,434 | 11/10/2021 |
| 6.7.0 | 4,736 | 10/23/2021 |
| 6.6.3 | 524 | 10/21/2021 |
| 6.6.2 | 1,632 | 7/28/2021 |
| 6.6.1 | 1,212 | 5/15/2021 |
| 6.6.0 | 580 | 5/15/2021 |
| 6.5.0.156 | 1,178 | 4/9/2021 |
| 6.2.0.139 | 1,373 | 3/24/2021 |
| 6.1.0.137 | 573 | 3/24/2021 |
| 6.0.0.128 | 695 | 3/14/2021 |
| 5.0.0.116 | 665 | 2/25/2021 |
| 4.1.0.114 | 7,163 | 2/15/2021 |
| 4.0.0.84 | 11,624 | 11/16/2020 |
| 3.5.0.27 | 12,408 | 6/4/2020 |
| 3.0.0.61 | 5,890 | 1/24/2020 |
| 3.0.0.52 | 1,068 | 1/2/2020 |
| 3.0.0.51 | 689 | 1/2/2020 |
| 3.0.0.49 | 683 | 1/2/2020 |
| 2.1.0.40 | 829 | 12/20/2019 |
| 2.1.0.39 | 907 | 12/18/2019 |
| 2.1.0.38 | 3,550 | 12/5/2019 |
| 2.1.0.29 | 1,357 | 10/3/2019 |
| 2.0.0.28 | 727 | 9/23/2019 |
| 2.0.0.27 | 506 | 9/19/2019 |
| 2.0.0.21 | 472 | 9/17/2019 |
| 2.0.0.20 | 498 | 9/6/2019 |
| 2.0.0.14 | 527 | 8/23/2019 |
| 2.0.0.13 | 483 | 8/19/2019 |
| 2.0.0.9 | 495 | 8/16/2019 |
| 1.0.0.8 | 512 | 8/14/2019 |
| 1.0.0.6 | 488 | 8/7/2019 |
| 1.0.0.5 | 500 | 8/7/2019 |
| 1.0.0.4 | 513 | 8/6/2019 |