Государственные услуги · Новый ресурс

Дизайн-система Poncho.

Изучите сетку Bootstrap 3 в Poncho, семантические цвета действий и полностью кликабельные панели услуг на примере работающего каталога мероприятий.

Руководство OpenDesign8 глав21 справочная записьАвторское руководство по приложению
01

Предпросмотр интерфейса дизайн-системы Poncho

Фильтруйте сетку нативных панелей, открывайте подробности и возвращайтесь к выбранному мероприятию.

Просмотреть мероприятия сообществаОткрыть полный пример
ar-poncho 2.0.320 + Bootstrap 3.4.1 CSS; Arial/Georgia в качестве резервных шрифтов и исходное поведение фильтра. · Справочник по реализации
02

Справочник по дизайну дизайн-системы Poncho

ar-poncho 2.0.320 CSS и Bootstrap 3.4.1; вычисленные значения проверены при ширине 1440, 768 и 390px. Резервные шрифты указаны явно.

Опубликованная типографика CSS

Источник
Название / правилоЗначение / конфигурацияПрименение
Package inspectedar-poncho 2.0.320Не используйте устаревший баннер v0.3.3 как указание версии пакета.
Font documentationLora headings / Montserrat bodyАктуальная страница типографики и импорт шрифта CSS; в старом README репозитория по-прежнему указан Encode Sans.
Body16px / 1.42857143; weight 500Проверено с Bootstrap 3.4.1 и Poncho; в локальном предпросмотре используется Arial.
H12.5rem = 40px / 44pxЗаголовок предпросмотра на мобильных устройствах остаётся размером 40px.
H2 / H32rem / 1.75remБазовые стили заголовков; для панелей действуют правила, которые их переопределяют.
Panel H320px / 26pxКонтекст компонента, измеренный на нативной CSS.
Lead18px / 1.2; weight 500Короткое вступление, а не заголовок.

Роли цветов

Источник
Название / правилоЗначение / конфигурацияПрименение
--primary #242C4FОсновной цвет ссылки/действия — тёмно-синий.
--secondary#45658D Вторичный синий.
--success#2e7d33 Роль основного действия/успешного завершения; не произвольное украшение.
--danger#c62828 Роль опасного действия или ошибки.
--warning#E7BA61 Роль привлечения внимания; контраст текста всё ещё нужно проверить.
--gray-base#333333 Основной цвет текста.
--gray-lighter#f2f2f2 Светлая нейтральная поверхность.

Размеры сетки и компонентов

Источник
Название / правилоЗначение / конфигурацияПрименение
Grid12 columns; 30px gutterBootstrap 3.4.1: внутренний отступ каждой стороны колонки — 15px.
Breakpoints768 / 992 / 1200pxsm, md, lg; col-sm-4 формирует три колонки при ширине от 768px.
Containers750 / 970 / 1170pxНа соответствующих точках перехода; ниже 768px ширина становится резиновой.
Panel body15px 20pxПереопределение компонента Poncho.
Panel radius / spacing10px / 30px bottom marginНативная CSS, использованная в этом примере.
Button16px; 8px 20px padding; 3px border; 30px radiusСкруглённое оформление действий Poncho; это не геометрия по умолчанию Bootstrap.
Section spacing30px default; 20px small; 40px largeПравила для section, section-sm и section-lg.
03

Полное руководство по дизайн-системе Poncho

Практическое руководство по выбору, применению и оценке этой системы для реального интерфейса.

DESIGN-poncho.md

Подробные рекомендации, отправная точка для реализации и ссылки на источники.

Скачать руководство

Версия и зависимости дизайн-системы Poncho

Система Bootstrap 3

Poncho добавляет стили государственных сервисов Аргентины поверх Bootstrap 3.4.1. На странице установки также упоминается экспериментальное направление Bootstrap 4; это не означает совместимость классов Bootstrap 5 с опубликованными примерами. В этом материале зафиксированы ar-poncho 2.0.320 и Bootstrap 3.4.1, чтобы можно было одновременно изучить устройство панелей и адаптивное поведение.

Из этого руководства OpenDesign

На баннере CSS указано v0.3.3, хотя установлен пакет версии 2.0.320. Ориентируйтесь на манифест пакета и lockfile, а не только на баннер. В независимом предпросмотре для панелей, кнопок и сетки используются нативные элементы CSS; фильтрация мероприятий реализована в исходном коде JavaScript и не является компонентом поиска Poncho.

Прочитать вспомогательную спецификацию

Типографика и источники дизайн-системы Poncho

Разрешение противоречий в сведениях о шрифтах

В актуальной документации по типографике для заголовков указан Lora, а для основного текста — Montserrat. Загруженная таблица стилей импортирует эти семейства, но также содержит устаревшие объявления Encode Sans. В README репозитория с инструкциями по настройке по-прежнему рекомендуется Encode Sans. Это реальное несоответствие версий и источников; перед миграцией в рабочую среду необходимо проверить итоговый каскад выбранного релиза, а не исходить из предположения, что все исторические упоминания описывают единую тему.

В предпросмотре явно заданы резервные шрифты Arial и Georgia, а внешний импорт шрифтов удалён для надёжной работы без подключения к сети. Нативная типографика остаётся видимой: размер основного текста — 16px, H1 — 40px, вводного текста — 18px. Для заголовков панелей задан отдельный размер 20px, поэтому применение к карточке базового масштаба H3 изменит компонент.

Прочитать вспомогательную спецификацию

Цвет и иерархия действий в дизайн-системе Poncho

Выбирайте действие по его смыслу

В документации по кнопкам различаются стандартные действия-ссылки, вторичные ссылки, одно основное или успешное действие и деструктивные действия. btn-primary — обычное выразительное действие в стиле ссылки; btn-link подходит для вторичных действий. btn-success обозначает основное действие для перехода к следующему шагу, и рекомендации ограничивают его использование одной кнопкой на странице. btn-danger предназначен для деструктивных или необратимых действий.

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

  • btn-primary: обычное выразительное действие; не размещайте конкурирующие с ним кнопки в одной группе действий.
  • btn-link: вторичное или информационное действие, например сброс фильтра.
  • btn-success / btn-danger: используйте только для действий, соответствующих их документированному назначению.

Прочитать вспомогательную спецификацию

Сетка и интервалы дизайн-системы Poncho

Продуманно используйте унаследованную сетку

Bootstrap 3 использует 12-колоночную сетку с промежутками 30px. Отступы колонок по 15px уравновешиваются строкой. При ширине от 768px col-sm-4 делит три панели мероприятий на равные части; ниже этого значения они располагаются на всю ширину. На документированных точках перехода ширина контейнеров меняется на 750px, 970px и 1170px.

Poncho добавляет собственные интервалы компонентов: у содержимого панели отступы составляют 15px по вертикали и 20px по горизонтали, а нижний внешний отступ панели — 30px. Радиус кнопок — 30px, ширина границы — 3px, внутренние отступы — 8px и 20px. Эти значения объясняют, чем страница визуально отличается от страницы Bootstrap без изменений; не заменяйте их универсальной темой со скруглёнными карточками.

Прочитать вспомогательную спецификацию

Анатомия кликабельной панели дизайн-системы Poncho

Одна карточка — одно место назначения

В официальных примерах панелей весь элемент обёрнут ссылкой; внутри размещён panel-body, содержащий заголовок и вспомогательный текст. Так компактная запись каталога превращается в единый переход. Не вкладывайте в эту ссылку другие ссылки или кнопки: это создаст конфликтующие интерактивные области.

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

html
<div class="row">
  <div class="col-sm-4">
    <a class="panel panel-default" href="/activities/repair-cafe/">
      <div class="panel-body">
        <h3>Repair café</h3>
        <p class="text-muted">Skills · Saturday, 10:00</p>
      </div>
    </a>
  </div>
</div>

Справочник по коду

Прочитать вспомогательную спецификацию

Фильтрация и локальное состояние дизайн-системы Poncho

Настоящий фильтр, а не декоративные метки

У списка выбора типа мероприятия есть явная метка и три категории. При изменении выбора скрываются обёртки несовпадающих панелей, а сообщение о состоянии обновляется и показывает новое количество. Оно описывает число видимых мероприятий, а не общее количество регистраций или доступность. Сброс возвращает все три мероприятия и переводит фокус обратно на фильтр.

При смене категории открытая карточка с подробностями закрывается, чтобы содержимое уже скрытого мероприятия не оставалось несвязанным с результатами. Открытие панели не меняет фильтр. Эти правила намеренно просты, но достаточно полны, чтобы проверить связь между элементами управления, результатами и подробностями.

  1. Выберите «Искусство» и убедитесь, что остался только мастер-класс по печатной графике.
  2. Откройте мероприятие и изучите его описание, затем вернитесь к той же панели.
  3. Сбросьте фильтр и убедитесь, что снова отображаются все три мероприятия.

Прочитать вспомогательную спецификацию

Дизайн-система Poncho Структура дизайна-системы: клавиатура и содержимое

Не копируйте визуальное состояние отключения без соответствующего поведения

В официальной таблице кнопок показан класс CSS для отключённого состояния. Настоящей кнопке HTML, которую нужно отключить, также требуется атрибут disabled: одного класса недостаточно, чтобы предотвратить активацию с клавиатуры. Для ссылок определите, ведут ли они по-прежнему к действительному адресу, вместо того чтобы считать стиль отключения полноценной моделью взаимодействия.

Используйте один H1 и последовательную иерархию заголовков. В этом каталоге внутри панелей используются H3, поскольку раскрытые подробности образуют раздел H2. Если отдельный список расположен без промежуточного раздела, подберите уровни заголовков в соответствии с реальной структурой документа. Библиотеки декоративных значков необязательны и здесь не используются: текстовые подписи описывают каждое действие.

Прочитать вспомогательную спецификацию

Poncho Настройка нативной дизайн-системы и область применения

Подключайте только те слои, которые использует пример

Подключите Bootstrap CSS перед Poncho CSS, чтобы тема переопределяла базовые настройки. Для базовой сетки и панелей не нужны Bootstrap JavaScript или jQuery. Если приложение добавляет интерактивные компоненты Bootstrap, подключите совместимую версию jQuery перед Bootstrap 3.4.1 JavaScript и протестируйте используемые компоненты.

Это устаревший стек зависимостей с чётко определёнными границами совместимости. Установка современной версии Bootstrap рядом с ним не является стратегией миграции. Различайте повторное использование кода по лицензии MIT репозитория, с одной стороны, и государственную айдентику, официальные логотипы и лицензию на содержимое, указанную на государственных страницах, — с другой. В предварительном просмотре представлены вымышленные мероприятия сообщества; он не претендует на статус сервиса правительства Аргентины.

Прочитать вспомогательную спецификацию

Poncho Примеры компонентов дизайн-системы

Навигация по всей панели

Одна ссылка охватывает содержимое панели; не вкладывайте в неё другие интерактивные элементы.

html
<div class="row">
  <div class="col-sm-4">
    <a class="panel panel-default" href="/activities/repair-cafe/">
      <div class="panel-body">
        <h3>Repair café</h3>
        <p class="text-muted">Skills · Saturday, 10:00</p>
      </div>
    </a>
  </div>
</div>

Справочник по коду

Полный каталог мероприятий

Нативные панели Poncho, работающий фильтр по категориям и просмотр подробностей с возвратом фокуса.

html
<!doctype html><html lang="en"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Community activities</title><link rel="stylesheet" href="vendor/poncho-2.0.320/bootstrap.min.css"><link rel="stylesheet" href="vendor/poncho-2.0.320/poncho.min.css"><style>html,body{height:auto}body{padding:30px 0;font-family:Arial,sans-serif!important}h1,h2,h3{font-family:Georgia,serif!important}.container{max-width:100%}.panel{display:block}.filter{display:flex;gap:15px;flex-wrap:wrap;align-items:end;margin:30px 0}.filter>div{flex:1;min-width:180px}.panel:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #333;outline-offset:3px}#detail{border-left:5px solid var(--secondary);padding-left:20px;margin:25px 0}footer{font:14px/1.5 Arial;border-top:1px solid #ddd;padding-top:20px}[hidden]{display:none!important}</style><main class="container"><p class="text-muted">COMMUNITY PROGRAMME · INDEPENDENT EXAMPLE</p><h1>Find a local activity</h1><p class="lead">Browse practical sessions at the community centre.</p><div class="filter"><div><label for="category">Activity type</label><select id="category" class="form-control"><option value="all">All activities</option><option value="skills">Skills</option><option value="outdoors">Outdoors</option><option value="arts">Arts</option></select></div><button id="reset" class="btn btn-link" type="button">Reset filter</button></div><p id="count" role="status">3 activities</p><div class="row"><div class="col-sm-4" data-category="skills"><a class="panel panel-default" href="#detail" data-title="Repair café" data-copy="Bring one small household item to a supervised repair session. This demonstration does not reserve a place."><div class="panel-body"><h3>Repair café</h3><p class="text-muted">Skills · Saturday, 10:00</p></div></a></div><div class="col-sm-4" data-category="outdoors"><a class="panel panel-default" href="#detail" data-title="Community garden" data-copy="Meet at the garden gate for a planting session. Wear suitable footwear; tools are provided in this fictional programme."><div class="panel-body"><h3>Community garden</h3><p class="text-muted">Outdoors · Sunday, 09:30</p></div></a></div><div class="col-sm-4" data-category="arts"><a class="panel panel-default" href="#detail" data-title="Printmaking workshop" data-copy="Explore simple printing techniques in the studio. This local example has no registration service."><div class="panel-body"><h3>Printmaking workshop</h3><p class="text-muted">Arts · Tuesday, 16:00</p></div></a></div></div><section id="detail" hidden tabindex="-1"><h2 id="title"></h2><p id="copy"></p><button id="close" class="btn btn-primary">Back to activities</button></section><footer>Native Poncho 2.0.320 CSS with Bootstrap 3.4.1. Arial / Georgia fallbacks. Original activity data and filtering; no government identity or booking service.</footer></main><script>let opener;const select=document.querySelector('#category');function filter(){let n=0;document.querySelectorAll('[data-category]').forEach(x=>{x.hidden=select.value!=='all'&&x.dataset.category!==select.value;if(!x.hidden)n++});document.querySelector('#count').textContent=n+' activit'+(n===1?'y':'ies');document.querySelector('#detail').hidden=true}select.onchange=filter;document.querySelector('#reset').onclick=()=>{select.value='all';filter();select.focus()};document.querySelectorAll('[data-title]').forEach(a=>a.onclick=e=>{e.preventDefault();opener=a;document.querySelector('#title').textContent=a.dataset.title;document.querySelector('#copy').textContent=a.dataset.copy;document.querySelector('#detail').hidden=false;document.querySelector('#detail').focus()});document.querySelector('#close').onclick=()=>{document.querySelector('#detail').hidden=true;opener.focus()};</script></html>

Справочник по коду

04

Poncho Настройка агента дизайн-системы

Отправная точка для реализации

Настройка нативного CSS. Для этого предварительного просмотра не требуется Bootstrap JavaScript, поскольку логика фильтрации и просмотра подробностей реализована самостоятельно. ZIP-архив с полным рабочим примером в разделе «Источники» также содержит точные зависимости предварительного просмотра и полный документ. Распакуйте архив, выполните в этой папке команду python3 -m http.server 8080, затем откройте http://localhost:8080/poncho.html. Не открывайте примеры с модулями через file://.

bash
npm install [email protected] [email protected]
# Copy the following package assets into your site's public vendor directory:
# node_modules/bootstrap/dist/css/bootstrap.min.css
# node_modules/ar-poncho/dist/css/poncho.min.css
# Load Bootstrap first, then Poncho.
# Optional Bootstrap JS components also need jQuery before bootstrap.min.js.

Запрос для вашего проекта

Промпт для AI-агента
Используйте ar-poncho 2.0.320 с Bootstrap 3.4.1. Создайте доступный каталог на сетке из 12 колонок с карточками-панелями, каждая из которых обёрнута одной ссылкой. Сохраните цвета, отступы и радиусы нативных кнопок в соответствии с их назначением. Добавьте фильтрацию с подписями, счётчики результатов и возврат фокуса. Сверьте каскад шрифтов с зафиксированным пакетом; не смешивайте API Bootstrap 5 и не придумывайте подтверждение успешной регистрации.
05

Poncho Источники и область применения дизайн-системы

Самостоятельный пример OpenDesign с нативным CSS, не использующий государственную айдентику. В актуальной документации и старом README указаны разные семейства шрифтов; в этом предварительном просмотре используются зафиксированный CSS и явно заданный резервный шрифт.