Фундамент прототипа · для групп G1–G7

Справочник компонентов

Всё общее — живьём и на реальных данных из #lib/data. Внизу — переключатель стадий сценария, выключатель модуля банка и самопроверка данных. Сигнатуры — подписи у каждого блока.

Цвет

Основная кнопка чернильная. Красная нить — только нить, клеймо, подсветка сценария, ховер ссылок, ошибки. Синий — только модуль финансового партнёра.

--paper
· стена

--wall
· витрина

--backdrop
· под фото

--line
· линии

--line-strong
· поля, узлы

--ink
· текст, кнопки

--ink-2
· вторичный

--ink-3
· мета

--black
· тёмные секции

--on-black
· текст на чёрном

--thread
· красная нить

--thread-ink
· нажатие

--thread-tint
· ореол

--thread-on-black
· нить на чёрном

--linen
· суровая нить

--bank
· модуль банка

--bank-tint
· фон блока банка

--bank-line
· граница банка

--ok
· одобрено

--wait
· на проверке

Типографика · Medeo

Витрина говорит антиквой: --font-serif — Medeo Serif, только Regular 400, только от 22px, плотный трекинг. Сервис — гротеском: --font-sans — Medeo Sans, переменная насыщенность 100–900 и оптический размер 14–32 (подстраивается сам). Шрифты локальные, static/fonts/medeo.

.d1 · serif 400 · 44→112Наследие, которое работает
.d2 · serif 400 · 36→72Национальная коллекция
.d3 · serif 400 · 28→46Отобрать лучшее. Объединить лучших.
.d4 · serif 400 · 22→30Край полотенца «Северный сад»
.h1 · sans 600 · 28→42Реестр соглашений
.h2 · sans 600 · 22→28Деловые запросы
.h3 · sans 600 · 20Мануфактура «Берег»
.h4 · sans 600 · 16Ищем мастеров кружевоплетения

.lead · 17→20Платформа продолжает форумы Росконгресса: знакомство на форуме превращается в деловой запрос, соглашение со статусом и новый продукт.

body · 16 · 400Плету на коклюшках с 2009 года, с 2018-го веду мастерскую: шесть кружевниц, сцепная техника, собственные сколки.

.small · 14Контакты раскрываются после принятия запроса.

.meta · 13Костромская область, Кострома · 28 октября 2026

.micro · 12 — минимум · 520Публикация согласована сторонами

.num · serif 400 · 56 / 40248
300Душа России400Душа России500Душа России600Душа России700Душа России800Душа России italicДуша России

Кнопки и ссылки

Классы на нативных элементах. Высота 44 (lg 52, sm 36 — только на десктопе). Нажатие — scale(.97). Без стрелок «→» в подписях. Загрузка — class:is-loading.

Варианты .btn .btn--primary | --secondary | --ghost | --bank · disabled · .is-loading

Размеры и на чёрном .btn--lg | --sm | --block · .btn--inv · .link-more

Смотреть коллекцию Вся коллекция

Ссылки .link · .link-more · .btn.btn--secondary.more

Текст со ссылкой на реестр внутри абзаца.

Реестр соглашений

Иконки <Icon name size="s|m" />

searcharrow-rightarrow-up-rightcheckclosechevron-downusercalendarmap-pinclocklockeyedownloadplusfiltermenuinfo

Чипы, теги, клеймо, аватар

Капс — только в метке вида запроса. Клеймо — знак кураторской проверки. Аватар — монограмма: у людей и организаций нет фотографий.

Чипы <Chips options label bind:value | param="type" | multiple bind:values tone="bank" scroll />

Выбрано: все · цели: working. Режим param — чипы-ссылки ?type=…, только на страницах без пререндера.

Теги и метки .tag --outline --new --later --bank --ok --wait · .req-kind --seek --offer · .status .dot

КружевомеждународноеНовое далее · этап IVфинансовый партнёр ОдобреноНа проверке ИщуПредлагаю На проверке у оператора Принят брендом

Клеймо, аватар, крошки, метка .hallmark · <Avatar participant size=32|44|72|120 /> · <Breadcrumb items /> · <PrototypeMarker />

Профиль проверен · 2026В коллекции с 2026Публикация согласована сторонами
Кружеводалее · этап IV Прототип VIEWVIEWVIEW

Карточки

Лишние атрибуты уходят на корневой элемент — так вешается цель сценария: <ParticipantCard participant={p} {...target('s3')} />. Фото без скруглений, фон контейнера = фон снимка, волосная граница без тени.

Деловой запрос <div class="req-list"> + <RequestRow request href? /> (href=null — не ссылка)

Соглашение: строка реестра <div class="agr-list"> + <AgreementRow agreement badge? />

В реестре — 8 из 47: visible(agreements) и kpi().agreements.total.

Соглашение: карточка <AgreementCard agreement />

Медиа <Media image size? fit="contain|cover" blend? eager? class? /> · <Img image size? alt? eager? />

Конец полотенца, кружево, Россия, XVIII–XIX вв.

Край полотенца «Северный сад»

Лён, коклюшечное сцепное плетение

Мария Белозёрова, Вологодская область

ДР-К-0031 · 2025

Чашка с блюдцем, Санкт-Петербург, 1881–1917

Чайная пара «Пион»

Фарфор, надглазурная роспись, золочение

Фарфоровая мануфактура «Охта», Санкт-Петербург

ДР-К-0024 · 2026

fit="cover" — обложка

Шахматы, кость, конец XVIII — начало XIX в.

bone-chess — не шире 340px

Нить, мини-нить, KPI

Статус — формой узла: пройден — залит, текущий — кольцо с ореолом, будущий — пустой. Узел банка — ромб; при выключенном модуле он скрывается вместе с шагом, нить остаётся целой. Полная нить уже 600px становится вертикальной.

Полная <Thread steps variant="full" stagger /> · steps: { title, note?, state, bank?, href? }[]

  1. Подписано ноябрь 2026
  2. Финансовая экспертиза Финансовый партнёр
  3. В работе декабрь 2026 — май 2027
  4. Результат июнь 2027, ПМЭФ-2027
stagger — узлы заполняются по очереди, 200 мс

Вертикальная и на чёрном variant="vertical" · .on-black

  1. Проверка оператором до одного рабочего дня
  2. Доставка адресату
  3. Ответ в вашем кабинете
  1. Отобрать лучшее кураторский отбор
  2. Объединить лучших запросы и соглашения
  3. Создать новое продукты и рынки

Мини-нить <MiniThread status="signed|active|result" />

Подписано В работе Результат

KPI и полоса .kpi .kpi__label .num .kpi__sub · <AgreementsBar counts? links? /> — цифры только из kpi()

Активные участники248из 41 регионов
Деловые запросы117за всё время

Вкладки и фильтры

<Tabs tabs label bind:value | hash | param="view" panel />: tabs — { id, label, count?, step? }[], кнопка вкладки получает id="tab-<id>", рисуется только активная панель, стрелки клавиатуры. Фильтр по демо-данным — обычный $derived.

Вкладки hash — синхронизация с #tab-<id>

3 июня, 15:00 — Питч-сессия мастеров: двенадцать мастерских — двенадцать запросов к брендам.

Фильтр Chips bind:value · select bind:value · input bind:value · .empty

Найдено: 12 участников

Поля формы

Поле 48px, ошибка — красная граница после взаимодействия (:user-invalid) и текст .field__error. Отправка — demoSubmit({ step? }): проверка required → «Отправляем…» 600 мс → form.done, шаг засчитан.

Вид запроса
Коротко: что ищете или предлагаете
Проверьте адрес почты
Кто увидит

Вход перед формой <LoginGate title>…</LoginGate>

Запросы отправляют участники платформы

Модалки, тосты, уведомления, блоки

<Modal bind:open title variant="dialog|menu|lightbox" onclose? footer? head?> — нативный <dialog>: Esc и клик по подложке закрывают. Глобальные модалки — data-modal-open="login|apply" или openModal(). Тост — toast(text, { action }) или data-toast="…".

Триггеры

Ссылка с data-needs-auth

Уведомления .notice --ok --wait --bank

Были на форуме? Ваш профиль уже готов
Запрос № ЗП-2026-118 на проверке у оператора — обычно до одного рабочего дня.
Мануфактура «Берег» приняла ваш запрос. Можно оформить соглашение.
Финансовый партнёрОценка финансовой потребности: оборотное финансирование — маршрут к продукту.

Блок финансового партнёра {#if modules.bank} .bank-block {:else} замена {/if}

Акселератор национальных брендов · набор 2027

12 недель, 30 мест, демо-день на ПМЭФ-2027

Заявки — до 1 марта 2027.

Финансовый партнёр — ПСБ

Оценка финансовой потребности

Три вопроса — и маршрут к продукту банка или эксперту.

Продукты и условия определяет банк.

Пустое состояние, прототипная заметка, таблица .empty · .proto-note · .table-wrap .table

Запросов пока нет

Откликнитесь на запрос или разместите свой.

Прототип

Прошло полгода. Пилотная партия и серия готовы.

ФорумВ спискеПрофилей созданоПриглашенийВошли
ПМЭФ-202664646441
ВЭФ-202638383822
Форум объединённых культур52404017

Стадии сценария, вход, модуль банка

Переключатели меняют общее состояние (сохраняется в localStorage — его увидят все страницы). В разметке: {#if scenario.stage >= 4}, {#if session.auth}, {#if modules.bank}; списки — visible(list).

Стадия
шаг 0 из 12 · гость / начало
Вход
Модуль банка
Сброс

Видно на стадиях 0–1 — scenario.stage <= 1

Гость — session.auth, session.me

Модуль банка включён — modules.bank

Решения оператора: нет · профили ФОК: не созданы — demo.queue, demo.fokCreated

KPI по текущей стадии kpi()

{
 "participants": 248,
 "byType": {
  "master": 96,
  "brand": 54,
  "maker": 38,
  "region": 27,
  "expert": 21,
  "foreign": 12
 },
 "requests": 117,
 "agreements": {
  "total": 47,
  "signed": 18,
  "active": 20,
  "result": 9,
  "international": 6
 },
 "accelerator": 64,
 "regions": 41,
 "foreign": 12,
 "foreignCountries": 7,
 "bank": {
  "assessments": 22,
  "toProduct": 13,
  "toExpert": 9,
  "submitted": 16,
  "agreements": 47
 }
}

Цели сценария {...target('sN')}

Следующая цель подсвечивается обводкой и пульсом (html[data-next]), клик по ней засчитывает шаг; target('s5', { manual: true }) — только подсветка, шаг завершает demoSubmit({ step: 's5' }). С data-needs-auth шаг засчитывается после входа. Ниже — все двенадцать в демо-области data-step-demo: «Дальше» в доке их не ищет, но клик засчитывает.

<ForumTicket forum={pmef} {...target('s1')} />                      // s1–s3, s6, s7, s9, s11, s12 — клик засчитывает
<a href="/requests/new?to=bereg&re=r-bereg-lace" data-needs-auth {...target('s4')}>Откликнуться</a>
<button type="submit" {...target('s5', { manual: true })}>Отправить запрос</button>   // s5, s8, s10 — завершает форма
<button data-scenario-start>Пройти сценарий участника</button>

Самопроверка данных check()

Все id, на которые ссылаются запросы, соглашения, изделия, форумы и шаги сценария, существуют; ключи изображений есть в манифесте; файлы загружаются.

OK · {"participants":12,"requests":12,"forums":5,"agreements":9,"items":9,"images":19,"steps":12}
Файлы изображений: проверяются…
Прототип VIEWVIEW