RK Registry
shadcn-регистр переиспользуемых блоков. Превью блоков →
Установка блока:
npx shadcn@latest add https://shadcn-registry.roskvartal.ru/r/rk-<name>.json
rk-activity-feedregistry:uiЛента активности с относительным временем (использует rk-format-date) и пустым состоянием.
/r/rk-activity-feed.jsonrk-app-sidebarregistry:blockRkAppSidebar: навигация и группы, поиск организаций, пользователь, выход, обратная связь и возврат задаются свойствами. Без запросов и встроенной маршрутизации. AppSidebar сохранён как совместимое имя. Поддерживает рекурсивные подменю через children и начальное раскрытие defaultOpen.
/r/rk-app-sidebar.jsonrk-attribute-rowregistry:uiСтрока «лейбл — значение» для панелей атрибутов: RkAttributeRow / RkAttributeText / RkAttributeBadge.
/r/rk-attribute-row.jsonrk-attribute-value-rowregistry:uiГотовая строка «лейбл — текстовое значение» поверх RkAttributeRow.
/r/rk-attribute-value-row.jsonrk-avatarregistry:uiАватар с fallback на инициалы: next/image с unoptimized, сброс ошибки загрузки через adjust-state-during-render.
/r/rk-avatar.jsonrk-cardregistry:uiКарточка РосКвартал: RkCard / RkCardHeader / RkCardHeading / RkCardTitle / RkCardSubtitle / RkCardActions / RkCardContent.
/r/rk-card.jsonrk-cookie-bannerregistry:componentБаннер согласия на cookie (РосКвартал): запись consent-куки на корневой домен, скрытие через useSyncExternalStore.
/r/rk-cookie-banner.jsonrk-emptyregistry:uiПустое состояние: Empty / EmptyHeader / EmptyMedia / EmptyTitle / EmptyDescription / EmptyContent.
/r/rk-empty.jsonrk-fa-icon-mapregistry:libРезолвер FontAwesome-классов в disds-иконки: resolveFaIcon(faClass). Завязан на disds-иконки.
/r/rk-fa-icon-map.jsonrk-fieldregistry:componentКомпозиция полей формы: Field / FieldLabel / FieldDescription / FieldError / FieldGroup / FieldSet.
/r/rk-field.jsonrk-filtersregistry:blockУправляемые визуальные компоненты фильтров: панель, таблетки, операторы, значения, календарь, пресеты и итог списка. Данные, одиночный/множественный выбор и подгрузку задаёт потребитель. Даты — календарные дни YYYY-MM-DD.
/r/rk-filters.jsonrk-format-dateregistry:libФорматирование дат/времени на русском (relative, deadline, duration, month, quarter). Без внешних зависимостей.
/r/rk-format-date.jsonrk-help-menuregistry:blockМеню помощи для сайдбара: кнопка-триггер, dropdown и модалка обратной связи. Отправку обращения приложение прокидывает через onSubmitFeedback (API не зашит).
/r/rk-help-menu.jsonrk-input-groupregistry:uiГруппа инпута с аддонами/кнопками/текстом: InputGroup / InputGroupAddon / InputGroupButton / InputGroupText / InputGroupInput / InputGroupTextarea.
/r/rk-input-group.jsonrk-list-item-cardregistry:uiУниверсальный элемент списка: заголовок, подписи, дата, состояние, иконка и дополнительные области. Нажатие доступно с клавиатуры.
/r/rk-list-item-card.jsonrk-member-rowregistry:uiСтрока участника со RkAvatar (аватар + имя/подпись).
/r/rk-member-row.jsonrk-org-contextregistry:libХранение выбранной организации (orgId) в localStorage: getOrgId / setOrgId / clearOrgId.
/r/rk-org-context.jsonrk-portal-outletregistry:uiОдна точка вывода ReactNode на приложение: RkPortalOutlet / sendToRkPortalOutlet / clearRkPortalOutlet. Один активный узел на модуль; серверный снимок пуст.
/r/rk-portal-outlet.jsonrk-result-cardregistry:uiУниверсальная карточка результата: заголовок, описание, дата, иконка, метка состояния и содержимое задаются снаружи.
/r/rk-result-card.jsonrk-scrollbar-providerregistry:uiОверлей-скроллбар поверх контента (drag-to-scroll, авто-скрытие). Делегирует события на document; стили .scrollbar-thumb ставятся вместе с блоком.
/r/rk-scrollbar-provider.jsonrk-sonnerregistry:uiОбёртка над sonner-тостером с темой (next-themes) и disds-иконками статусов.
/r/rk-sonner.jsonrk-spinnerregistry:uiСпиннер на disds-иконке CircleNotch (анимация вращения).
/r/rk-spinner.jsonrk-status-badgeregistry:uiGeneric-бейдж статуса: label + опциональная иконка/цвет через props (домен не зашит). Для тикетов совмещать с rk-ticket-status.
/r/rk-status-badge.jsonrk-ticket-statusregistry:libДоменный маппинг статусов тикета РосКвартал → лейбл/цвет/иконка (TICKET_STATUS_CONFIG). Завязан на disds-иконки.
/r/rk-ticket-status.jsonrk-ticket-typeregistry:libДоменный маппинг типов/видов тикета (TICKET_TYPE_CONFIG, TICKET_KIND_CONFIG) → лейбл/цвет/иконка. Завязан на disds-иконки.
/r/rk-ticket-type.jsonrk-use-mobileregistry:hookХук детекта мобильного вьюпорта через useSyncExternalStore (breakpoint 768px).
/r/rk-use-mobile.json