feat: Sidebar + SidebarToggle, адаптивность компонентов (0.2.0)

This commit is contained in:
Тимур Городецкий
2026-08-14 10:35:42 +05:00
parent e65805379e
commit c72f93e359
38 changed files with 985 additions and 14 deletions
+17
View File
@@ -96,7 +96,24 @@ DecisionPanel, ApprovalMatrix, DepartmentPicker, ProjectPicker.
- Пикеры — возможно позже РАЗДЕЛИТЬ: презентационный UI (ui-kit) + data-обёртка (проект).
- Логику согласования — возможно в отдельный пакет @tnsu/approval (или @tnsu/sp-core). На будущее.
### Адаптивность (жёсткое требование) — базовый проход СДЕЛАН
Часть DoD каждого компонента. Основа: в tokens.scss брейкпоинты
`$bp-xs:350 / $bp-sm:640 / $bp-md:768 / $bp-lg:1024 / $bp-xl:1280` + миксины `below()`/`above()`.
Проход по компонентам (в 0.2.0):
- FormGrid / CollapseSection — 2 колонки → 1 на < sm (через below($bp-sm)).
- TextInput/TextArea/Select — сделаны резиновыми (width:100% + box-sizing) — раньше зависели
от глобального стиля портала.
- FormCard — padding 32→18 на < sm.
- FormActions — кнопки в столбец на всю ширину на < sm (поля согласованы с FormCard 18px).
- ConfirmDialog — уже адаптивна (overlay padding + max-width).
- Sidebar — рейл ↔ выезжающий drawer + SidebarToggle (бургер, виден только < md).
- Мелкие (Alert, Icon, Toggle, Button, AttachmentList, FileDropzone, PrintButton) — уже резиновые.
ItemsTable→скролл сделаем вместе с обобщением в DataTable.
### Группа 4 — навигация / app shell (ФАЗА 2)
- [СДЕЛАНО, не опубликовано] Sidebar — обобщён (items/brand пропсами, id=string) +
адаптивный: десктоп-рейл со сворачиванием, < 768px — выезжающий drawer + затемнение
(mobileOpen/onMobileClose, бургер рисует родитель). Собирается, в index экспортирован.
Tabs (из CategoryTabs), Breadcrumbs (новый), Sidebar (из SideNav), AppLayout (из RequestPortal),
Drawer(?). Сначала «расцепить» от роутинга портала → сделать controlled
(items + activeId + onSelect), потом переносить. Даёт новым приложениям готовую оболочку.