8.4 KiB
Raw Blame History

Компоненты

Матрица «задача → компонент»

Задача Рекомендуемый компонент Не использовать
Отображение текста Text, Heading MUI Typography напрямую
Ссылка Link MUI Link напрямую
Действие Button, IconButton MUI Button напрямую
Ввод текста TextField MUI TextField напрямую
Выбор из списка Select MUI Select напрямую
Выбор опции Checkbox MUI Checkbox напрямую
Контейнер/фон Surface MUI Paper напрямую
Карточка Card MUI Card напрямую
Ярлык/тег Chip MUI Chip напрямую
Бейдж Badge MUI Badge напрямую
Уведомление Alert MUI Alert напрямую
Модальное окно Dialog MUI Dialog напрямую
Загрузка скелета Skeleton MUI Skeleton напрямую
Индикатор прогресса Progress MUI CircularProgress / LinearProgress напрямую
Финансовое значение Money, Metric, PriceChange сырое число
Таблица DataTable MUI Table напрямую
Поле формы FormField ручная связка label + helperText
Панель фильтров FilterBar ручная вёрстка фильтров
Пустое состояние EmptyState ручная вёрстка
Ошибка ErrorState ручная вёрстка
Загрузка LoadingState ручная вёрстка

Каталог компонентов

Text

Отображение текста с заданным семантическим размером.

Свойство Тип По умолчанию
variant 'body1' | 'body2' | 'caption' | 'overline' 'body1'
color 'primary' | 'secondary' | 'disabled' | 'inverse' 'primary'

Heading

Заголовок.

Свойство Тип По умолчанию
variant 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' 'h3'

Ссылка. Под капотом MUI Link с цветом color.action.primary.

Свойство Тип По умолчанию
href string
underline 'none' | 'hover' | 'always' 'hover'

Button

Кнопка действия. Обёртка MUI Button.

Свойство Тип По умолчанию
variant 'primary' | 'secondary' | 'danger' 'primary'
size 'sm' | 'md' | 'lg' 'md'
loading boolean false

IconButton

Кнопка-иконка. Требует label (aria-label).

Свойство Тип По умолчанию
label string
size 'sm' | 'md' 'md'

TextField

Текстовое поле ввода.

Свойство Тип По умолчанию
size 'sm' | 'md' 'md'
fullWidth boolean true

Select

Выпадающий список.

Свойство Тип По умолчанию
size 'sm' | 'md' 'md'
fullWidth boolean true

Checkbox

Чекбокс.

Свойство Тип По умолчанию
label string

Surface

Базовый контейнер с фоном и скруглением.

Свойство Тип По умолчанию
variant 'default' | 'subtle' | 'raised' 'default'

Card

Карточка. Поверхность с тенью.

Свойство Тип По умолчанию
padding 'sm' | 'md' | 'lg' 'md'

Chip

Компактный элемент для отображения тега или статуса.

Свойство Тип По умолчанию
variant 'filled' | 'outlined' 'filled'
color 'default' | 'info' | 'success' | 'warning' | 'error' 'default'

Badge

Бейдж с числовым или текстовым значением.

Свойство Тип По умолчанию
variant 'dot' | 'standard' 'standard'
color 'info' | 'success' | 'warning' | 'error' 'info'

Alert

Уведомление. Использует role="alert".

Свойство Тип По умолчанию
severity 'info' | 'success' | 'warning' | 'error' 'info'
title string

Dialog

Модальное окно. Требует title, содержит focus trap, закрывается по Escape.

Свойство Тип По умолчанию
open boolean
title string
onClose () => void

Skeleton

Скелетон загрузки. aria-hidden по умолчанию.

Свойство Тип По умолчанию
width string | number '100%'
height string | number 20

Progress

Индикатор прогресса. Поддерживает indeterminate-режим с aria-busy.

Свойство Тип По умолчанию
variant 'determinate' | 'indeterminate' 'indeterminate'
value number (0100) 0

DataTable

Таблица данных на основе TanStack Table.

Свойство Тип По умолчанию
columns ColumnDef<T>[]
data T[]
caption string
density 'balanced' | 'compact' 'balanced'

Money

Финансовое значение с форматированием через Intl.NumberFormat.

Свойство Тип По умолчанию
value number
currency string 'RUB'
locale string 'ru-RU'

Metric

Метрика: лейбл + значение + опционально supporting/trend.

Свойство Тип По умолчанию
label string
value ReactNode
supporting ReactNode
trend 'up' | 'down' | 'neutral'

PriceChange

Изменение цены. Использует текстовое направление (не только цвет).

Свойство Тип По умолчанию
value number
percent number
variant 'absolute' | 'percent' | 'both' 'both'

FormField

Обёртка для поля формы: label + helperText + error.

Свойство Тип По умолчанию
label string
error string
helperText string

FilterBar

Панель фильтров с responsive-обёрткой.

Свойство Тип По умолчанию
children ReactNode

EmptyState

Пустое состояние. Требует title.

Свойство Тип По умолчанию
title string
description string
action ReactNode

ErrorState

Состояние ошибки. Требует title.

Свойство Тип По умолчанию
title string
description string
onRetry () => void

LoadingState

Состояние загрузки. aria-live="polite".

Свойство Тип По умолчанию
title string