JoinRpg.Common.WebComponents
2026.9.680
dotnet add package JoinRpg.Common.WebComponents --version 2026.9.680
NuGet\Install-Package JoinRpg.Common.WebComponents -Version 2026.9.680
<PackageReference Include="JoinRpg.Common.WebComponents" Version="2026.9.680" />
<PackageVersion Include="JoinRpg.Common.WebComponents" Version="2026.9.680" />
<PackageReference Include="JoinRpg.Common.WebComponents" />
paket add JoinRpg.Common.WebComponents --version 2026.9.680
#r "nuget: JoinRpg.Common.WebComponents, 2026.9.680"
#:package JoinRpg.Common.WebComponents@2026.9.680
#addin nuget:?package=JoinRpg.Common.WebComponents&version=2026.9.680
#tool nuget:?package=JoinRpg.Common.WebComponents&version=2026.9.680
JoinRpg.Common.WebComponents
Blazor-компоненты joinrpg.ru: кнопки, поля ввода, диалоги, панели, таблицы, подсказки, иконки, ссылки на пользователей. Все компоненты с примерами — в каталоге components.joinrpg.ru.
dotnet add package JoinRpg.Common.WebComponents
Нужен net10.0, JoinRpg.Common.PrimitiveTypes придёт зависимостью. Сайт — только в корне
домена: иконки и скрипты диалогов грузятся по /_content/....
Подключение
Пространство имён: в Blazor —
@using JoinRpg.Common.WebComponentsв_Imports.razor; в Razor Pages — в_ViewImports.cshtml, а компонент рендерится через<component type="typeof(JoinIcon)" render-mode="Static" ... />.Статический CSS пакета — в layout, одной ссылкой (scoped-бандл подключается отдельно, как обычно). Включает общую палитру вариаций (
--join-variation-*, без неёJoinBadge,JoinButton,JoinCollapsePanel,JoinDropdownButton,JoinPanelтеряют фон) и иконки:<link rel="stylesheet" href="_content/JoinRpg.Common.WebComponents/css/join-components.css" />css/roboto.css— дляPrintableBadge(бейджи печатаются Roboto) или если сайту нужен этот шрифт.css/variations.cssиcss/join-icons.cssостаются отдельными файлами, если нужен только один из них.Скрипт (подсказки
Tooltip, менюJoinDropdownButtonи его обёрткиJoinDotsMenu,TypedDropdownButton,TypedSelector, раскрытиеJoinCollapsePanel). Blazor загружает его сам при старте интерактивного рантайма; на странице из одних статических компонентов добавьте тег. Адрес — тот же, что у Blazor: с MapStaticAssets~/в.cshtmlи@Assets[...]вApp.razor, иначе на странице с островом модуль выполнится дважды.<script src="~/_content/JoinRpg.Common.WebComponents/JoinRpg.Common.WebComponents.lib.module.js" type="module"></script>JoinAdminAuthorizeView— обёртка надAuthorizeView: нужныAddCascadingAuthenticationState(), а в WebAssembly ещёAddAuthorizationCore()иAuthenticationStateProvider.
Стили
Bootstrap 3 пакет не приносит. На его CSS рассчитаны JoinPanelWithList,
таблицы, FormRow и поля ввода (list-group, table, form-group,
col-md-*, form-control, help-block, control-label). Без Bootstrap (и его JS) обходятся
JoinPanel, JoinButton, JoinBadge, JoinCollapsePanel, JoinAlert (и рендерящие его JoinLoadingMessage и JoinErrorMessage),
JoinInputNumber, JoinTextInput, Tooltip, TypedSelector, JoinDropdownButton и его обёртки JoinDotsMenu и
TypedDropdownButton, JoinDialog.
Что зарегистрировать у себя
IUriLocator<UserLinkViewModel>(IUriLocator<T>— из PrimitiveTypes) — ссылка на профиль пользователя. Обязателен дляUserLinkиJoinUserLinkEditor: они получают его через@inject.IUserLinkResolveClient— превращает введённую строку (ссылку на профиль, id, vk, telegram, email) в пользователя дляJoinUserLinkEditor; не нашли — киньте исключение с текстом для пользователя. Необязателен: без него редактор работает как обычное текстовое поле.IMoveClient— сохраняет новый порядок элементов. Обязателен, если на странице естьJoinMoveControl: компонент получает его через@inject.AddJoinRpgWebComponents()регистрируетSelectorListCache— нужен своим обёрткам надTypedSelector, которые его берут: без кэша N одинаковых селекторов делают N запросов. Компонентам пакета он не нужен.
| 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
- JoinRpg.Common.PrimitiveTypes (>= 2026.9.680)
- Microsoft.AspNetCore.Components (>= 10.0.14)
- Microsoft.AspNetCore.Components.Authorization (>= 10.0.14)
- Microsoft.AspNetCore.Components.Web (>= 10.0.14)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.14)
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 |
|---|---|---|
| 2026.9.680 | 304 | 11/8/2026 |
| 2026.9.668 | 157 | 11/8/2026 |
| 2026.9.651 | 206 | 11/7/2026 |
| 2026.9.533 | 680 | 10/29/2026 |
| 2026.9.438 | 216 | 10/27/2026 |
| 2026.9.363 | 109 | 10/22/2026 |
| 2026.9.217 | 194 | 10/16/2026 |
| 2026.8.421 | 287 | 10/4/2026 |
| 2026.8.383 | 130 | 10/4/2026 |
| 2026.8.256 | 149 | 9/29/2026 |
| 2026.8.12 | 331 | 9/6/2026 |
| 2026.8.0 | 154 | 9/2/2026 |
| 2026.7.34 | 144 | 8/26/2026 |
| 2026.7.32 | 153 | 8/26/2026 |
| 2026.7.14 | 148 | 8/24/2026 |
| 2026.7.10 | 176 | 8/23/2026 |