Компоненты макетов
Этот документ предоставляет справочник по API и паттерны построения для компонентов макетов в@ui8kit/core. Компоненты макетов организуют множество UI-компонентов в полноценные структуры приложений, таких как панели управления, целевые страницы и административные панели.
Для базовых примитивных компонентов макета (Grid, Flex, Stack) см. Базовые компоненты. Для паттернов композиции UI-компонентов см. UI-компоненты. Для общих лучших практик по построению макетов см. Лучшие практики.
Обзор
Библиотека предоставляет три специализированных компонента макета, которые составляют примитивы и UI-компоненты в шаблоны приложений:
Эти макеты находятся на уровне 3 архитектуры и строятся на основе примитивов уровня 1 (Block, Box, Grid, Container) и UI-компонентов уровня 2 (Card, Button, Text, Title).
Источники: src/layouts/DashLayout.tsx src/layouts/LayoutBlock.tsx src/layouts/SplitBlock.tsx README.md147-168
Взаимосвязи компонентов
DashLayout
Компонент макета панели управления с изменяемой боковой панелью, навигационной панелью и основной областью контента. Построен наreact-resizable-panels для функциональности изменения размера панелей.
Свойства DashLayout
Подкомпонент Navbar
<nav> с атрибутом data-role="dash-navbar".
Реализация: src/layouts/DashLayout.tsx34-49
Подкомпонент Sidebar
<aside>. Оборачивает дочерние элементы в Stack макет с опциональным заголовком.
Реализация: src/layouts/DashLayout.tsx14-25
Структура панелей
Паттерн импорта
LayoutBlock
Гибкий компонент секции контента, поддерживающий три режима макета: grid, flex и stack. Включает систему хуков контента для настраиваемого рендеринга и презентеры по умолчанию для распространенных паттернов.Свойства LayoutBlock
Режимы макета
Система хуков контента
Источники: src/layouts/LayoutBlock.tsx23-30 src/layouts/LayoutBlock.tsx229-254
Рендереры элементов по умолчанию
Паттерн импорта
SplitBlock
Компонент двухколоночного разделенного макета для героических секций и демонстрации функций. Поддерживает позиционирование медиа слева/справа и опциональную обертку в контейнер.Свойства SplitBlock
Режимы макета
Система хуков контента
Паттерн импорта
Паттерны построения по сценариям использования
Целевые страницы
Целевые страницы обычно комбинируют множество компонентовLayoutBlock и SplitBlock для героических секций, функций и призывов к действию.
Панели управления
Панели управления используютDashLayout как основной контейнер с изменяемой боковой панелью для навигации.
Веб-сайты
Многостраничные веб-сайты составляют секцииLayoutBlock с различными режимами макета для разнообразных типов контента.
Административные панели
Административные панели расширяют паттерн панели управления с макетами форм и интерфейсами управления данными.Распространенные паттерны композиции
Конфигурации адаптивной сетки
Источники: src/layouts/LayoutBlock.tsx280-324
Композиция хуков контента
Вложенная композиция макетов
Атрибуты данных для таргетинга
Компоненты макета включают атрибутыdata-class и data-role для согласованного таргетинга DOM:
Источники: src/layouts/DashLayout.tsx18-48 src/layouts/LayoutBlock.tsx320-345 src/layouts/SplitBlock.tsx129