UI-библиотека

01РАЗРАБОТЧИКАМ · UI-БИБЛИОТЕКА

Библиотека компонентов

Интерфейс скила собирается из готовых блоков. Карточки, переключатели, галереи и формы — прямо в чате. Каждый блок — это data-атрибут: разметили в drawer.html, виджет собрал компонент сам.

01

Компонентов
карточки, выбор, ввод, медиа

02

Событий
на хосте дроера

03

Строк CSS
только Tailwind и data-атрибуты

04

Наблюдатель
MutationObserver ловит динамику

02КАТАЛОГ · КОМПОНЕНТЫ

Компоненты из коробки

Разметили — виджет собрал. Компоненты объявляются data-атрибутами и обрабатываются через MutationObserver: работают и в статичной разметке, и при создании из JS. Пользовательские события приходят на хост дроера.

data-card · data-card-horizontal

Карточки

Вертикальная с фото сверху или горизонтальная в стиле app-store: заголовок, текст, круглая или скруглённая иконка.

data-radio-switch

Радио-переключатель

Пилюля с анимированным маркером на N опций. Блокируется классом radio-switch--disabled.

data-select-grid

Сетка выбора

Кликабельные ячейки в 2–3 колонки: метка, значение, подпись. Одна активная за раз.

data-select-list

Список выбора

Строки с заголовком и описанием — для взаимоисключающего варианта в одну колонку.

data-suggest-input

Автоподсказка

Поле с выпадающими подсказками через suggest-прокси бэкенда. Список в потоке — толкает контент вниз.

input-wrapper · input-field

Инпут и таблица

Готовые классы поля ввода и Tailwind-сетка результатов — gap создаёт визуальные разделители.

data-emoji-rate

Эмодзи-оценка

Три анимированных смайла — плохо, нормально, отлично. Для быстрой обратной связи и отзывов.

data-action

Кнопки действий

Ссылка с авто-иконкой бренда (Telegram, WhatsApp, звонок) или callback с иконкой из набора Heroicons.

data-gallery

Галерея

Сетка превью с лайтбоксом Fancybox. Ссылки — прямые или через ассеты бандла {{asset:…}}.

data-detail-list

Список деталей

Карточка-итог: строки «метка → значение» с разделителями. Для подтверждения заявки перед отправкой.

data-file-upload

Загрузка файлов

Дропзона для фото и видео с заливкой в объектное хранилище по presigned-URL.

03БИБЛИОТЕКА · В ЦИФРАХ

Согласовано в системе

Стили изолированы в Shadow DOM. Пишете только Tailwind, цвет бренда приходит утилитами skill-primary, а высоты полей и переключателей заранее подогнаны друг под друга.

01

Утилит skill-primary
text, bg, ring, border, fill

02

Высота контролов
ввод и выбор согласованы

03

Лимит ассета
PNG, JPG, WebP, SVG, GIF

04

Файлов в бандле
заливка в хранилище сама

06ПЕСОЧНИЦА · ПРАВИЛА

Скилы живут в песочнице

Изоляция
Стили в Shadow DOM
Только Tailwind
Без своего CSS
Аргументы дроера
DOM, данные, параметры
Хелперы API
Языки, заявки, e-mail
Опасный JS
Отклоняется валидатором
Внешние вызовы
Через прокси виджета
07FAQ · РАЗРАБОТЧИКАМ

Вопросы разработчиков

Data-атрибутом в drawer.html: <div data-radio-switch data-options="…">. Виджет обрабатывает его через MutationObserver — работает и при статичной разметке, и при создании из JS.

ЗАЯВКА

Расскажите, что нужно

ПОРТФЕЛЬ ПО ТИПАМПО ГОДАМ

Проекты по типам растут год к году

MVPРедизайнAIПоддержкаВсего

MVP, редизайн, AI и поддержка — накопительно

СИЛЬНЫЕ СТОРОНЫПРОФИЛЬ

Профиль студии по ключевым осям

Скорость, качество, прозрачность, инженерия

ЭТАПЫ ПРОЕКТАДИНАМИКА

Ресёрч, дизайн и разработка идут внахлёст

Параллельные потоки — не водопад