GMOSGlassMorphism OS UI
+7 999 120-24-06
+7 999 120-24-06
Страницы
Компоненты
Паттерны
Документация

Живой автокаталог GMOS-компонентов

Эта страница собирается из structured catalog в packages/vue/src/data/gmosComponentCatalog.ts. Каждый элемент обязан иметь контракт, текст применения, код и live-preview.

Contract-firstRegistry-firstКод + результат
foundation

Основа

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

TokenФундамент

Дизайн-токены

tokens.css

Цвета, spacing, radius, shadows, typography, z-index, motion.

Подключаются пакетом `@gmos-ui/tokens` и не переопределяются локально в проектах.

import '@gmos-ui/vue/style.css'

:root {
  --gmos-container-width: 1600px;
}
OrganismГотово

Shell приложения

GmosShell

active, basePath, containerWidth, слот страницы и общий overlay-контур.

Оборачивает GMOS-страницу, подключает header, sidebar, тему, lightbox и modal host.

<GmosShell active="docs" container-width="1600px">
  <GmosDocsPage />
</GmosShell>
HeaderSidebarSlot
OrganismГотово

Главная навигация

GmosHeader

active, basePath, theme, события toggleTheme/openLightbox/openRequest.

Не хранит бизнес-логику, только навигацию, тему и запуск общих overlay-компонентов.

<GmosHeader
  active="docs"
  base-path="/gmos-ui"
  theme="light"
  @open-lightbox="openLightbox"
/>
GGMOSDocs
controls

Атомы управления

Минимальные интерактивные части интерфейса со всеми состояниями.

AtomГотово

Кнопки

Button

primary, glass, quiet, danger, success, warning, loading, disabled.

Команды, CTA, подтверждения и опасные действия.

<button class="button button--primary" type="button">
  <GmosIcon name="sparkles" />
  <span>Главная</span>
</button>
AtomГотово

Иконка-кнопка

IconButton

variant, aria-label, disabled, active.

Компактные действия в toolbar, input, modal, lightbox и таблицах.

<button class="icon-button icon-button--glass" type="button" aria-label="Настройки">
  <GmosIcon name="settings" />
</button>
AtomГотово

Поля ввода

Input

text, phone, email, password, date, number, mask, validation state.

Формы, фильтры, поиск, заявки и настройки.

<label class="field field--success">
  <span class="field__label">Email</span>
  <span class="input-shell">
    <GmosIcon name="mail" />
    <input type="email" value="hello@gmos.dev" />
  </span>
</label>
AtomГотово

Переключатель

Switch

checked, unchecked, hover, focus, disabled.

Бинарные настройки без локальных кастомных чекбоксов.

<label class="switch">
  <input v-model="enabled" type="checkbox" />
  <span class="switch__track" :class="{ 'is-checked': enabled }"><span /></span>
  <span>ИИ-помощник</span>
</label>
AtomГотово

Сегментированный выбор

Segmented

items, selected, aria group, hover, active.

Переключение режима, периода, плотности и фильтров.

<div class="segmented" role="group" aria-label="Период">
  <button class="is-selected" type="button">День</button>
  <button type="button">Неделя</button>
</div>
AtomГотово

Select

SelectAtom

options, selected, open, option state.

Выбор темы, режима, статуса и других перечислений.

<div class="select-atom is-open">
  <button class="select-atom__button" type="button">
    <span>Ночная Windows</span>
    <GmosIcon name="chevron-down" />
  </button>
</div>
overlays

Оверлеи

Поверхности поверх страницы: modal, lightbox, меню, backdrop и z-index.

OrganismГотово

Лайтбокс-галерея

GmosLightboxGallery

items, autoBind, open(index), close(), next(), prev(), swipe, keyboard.

Все `img` внутри GMOS shell открываются по клику, если явно не стоит `data-gmos-lightbox="off"`.

<GmosLightboxGallery :items="galleryItems" auto-bind />

<img src="/image.webp" alt="Превью" />
Превью лайтбокса GMOS
Клик откроет lightbox
OrganismГотово

Модалка заявки

GmosRequestModal

open(), close(), поля заявки, basic validation, submitted state.

Универсальная форма заявки без бизнес-логики отправки.

<GmosRequestModal ref="requestModal" />

<button class="button button--primary" @click="requestModal.open()">
  Открыть модалку
</button>
Заявка GMOS
MoleculeГотово

Меню и dropdown

Dropdown/Menu

trigger, nested items, active item, compact mode, viewport-safe width.

Навигация, context menu и action menu.

<button class="menu-item" type="button">
  <GmosIcon name="pencil" />
  Переименовать
</button>
data

Данные и навигация

Таблицы, вкладки, пагинация, статусы и карточки данных.

MoleculeГотово

Вкладки

Tabs

items, selected, icon, label, keyboard-ready markup.

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

<nav class="tabs" aria-label="Вкладки">
  <button class="is-selected" type="button">Обзор</button>
  <button type="button">Метрики</button>
</nav>
MoleculeГотово

Пагинация

Pagination

pages, selected, prev, next.

Таблицы, списки, каталоги и журналы.

<div class="pagination" aria-label="Пагинация">
  <button type="button">1</button>
  <button class="is-selected" type="button">2</button>
</div>
MoleculeГотово

Атомы таблиц

TableAtoms

row, header cell, numeric cell, copy action, resize handle, status cell.

База для будущего полноценного DataTable.

<div class="table-strip" role="table">
  <div class="table-strip__row">
    <span class="table-cell">ООО Север</span>
    <span class="table-cell table-cell--numeric">128 400 ₽</span>
  </div>
</div>
ООО Север128 400 ₽
OrganismПлан

Список объектов/диалогов

GmosThreadList

id, title, subtitle, meta, icon, badge, active, actions.

Чат, CRM, проекты, файлы и любые списки с активным элементом.

<GmosThreadList :items="threads" active-id="main" />
Главный диалогПроект
media

Медиа и файлы

Изображения, загрузки, превью, fallback и файловые действия.

AtomГотово

Изображение/превью

ImageFrame

src, alt, caption, loading, lightbox opt-out.

По умолчанию кликабельное изображение открывается через `GmosLightboxGallery`.

<figure class="media-frame">
  <div class="media-thumb">
    <img src="/preview.webp" alt="Превью" />
  </div>
  <figcaption class="caption-atom">Компоненты</figcaption>
</figure>
Превью компонента ImageFrame
Компоненты
AtomГотово

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

UploadAtom

idle, hover, progress, empty, fallback.

База для file uploader и drag-and-drop зон.

<span class="upload-atom">
  <GmosIcon name="upload" />
  Загрузить файл
</span>
Загрузить файл
OrganismПлан

Карусель

Carousel

items, activeIndex, swipe, autoplay, controls.

Галереи, product media, onboarding и showcase блоки.

<GmosCarousel :items="media" swipe controls />
Roadmap

Атомы для полного UI-kit

Это базовый список атомов, который стоит довести до production-ready состояния: props, состояния, keyboard/focus, темы, документация и smoke-проверки.

Avatar Badge Breadcrumb Button CalendarDay Checkbox ColorSwatch CopyButton Divider Icon IconButton Input Kbd Link Loader Logo MediaAction MenuItem OTPInput PaginationButton PasswordToggle Progress Radio Range ResizeHandle SelectOption Skeleton SizeChip Spinner StatusDot Switch TabButton Tag Textarea TimeChip ToastIcon Tooltip UploadProgress ValidationIcon