tot-ui-kit 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,72 @@
1
+ # @data-platform/ui-shell
2
+
3
+ Общий пакет с `Layout`, `ScMainMenu`, `MainMenuFull` и вспомогательными компонентами (`UpperMenu`, `PageLabel`).
4
+
5
+ ## Установка
6
+
7
+ Когда репозиторий используется как Yarn workspace:
8
+
9
+ ```bash
10
+ yarn workspace new-frontend add @data-platform/ui-shell
11
+ ```
12
+
13
+ Для внешних проектов пакет можно опубликовать в приватный npm-реестр и поставить через `yarn add @data-platform/ui-shell`.
14
+
15
+ ## Быстрый старт
16
+
17
+ ```tsx
18
+ import { Layout } from "@data-platform/ui-shell";
19
+ import { apiData } from "@/api/ApiData";
20
+
21
+ export const App = () => (
22
+ <Layout
23
+ menuProps={{
24
+ baseUrl: apiData.server,
25
+ menuId: "VKIIw4zpK-wnEuFag4GXO",
26
+ activeAppId: "sc",
27
+ systemTitle: "Центр установок",
28
+ }}
29
+ >
30
+ {/* контент страниц */}
31
+ </Layout>
32
+ );
33
+ ```
34
+
35
+ ## Основные пропсы
36
+
37
+ - `Layout`
38
+ - `menuProps` — любые пропсы `ScMainMenu` кроме `theme`/`layout`. Достаточно передать `baseUrl` или `apps`.
39
+ - `initialMenuLayout`, `initialTheme` — стартовое состояние меню.
40
+ - `headerTitle`, `headerSubtitle`, `upperMenuSlot`, `pageLabelSlot`, `footerLeft`, `footerRight` — кастомизация шапки/футера.
41
+ - `ScMainMenu`
42
+ - `baseUrl` + `menuId` (по умолчанию `VKIIw4zpK-wnEuFag4GXO`) или `dataUrl` — откуда забрать данные о приложениях.
43
+ - `apps` — можно передать готовый список вместо загрузки.
44
+ - `iconResolver` — функция, которая строит `AppDescriptor` из ответа бэка.
45
+ - `onLayoutChange`, `onThemeChange` — события переключения состояния меню.
46
+
47
+ ## Дальше
48
+
49
+ ## Публикация
50
+
51
+ ### Локальная проверка пакета
52
+ ```bash
53
+ cd packages/main-menu
54
+ yarn build # (если решим собирать dist)
55
+ yarn pack # создаёт tgz
56
+ ```
57
+
58
+ ### Публикация в приватный npm/ghcr
59
+ ```bash
60
+ cd packages/main-menu
61
+ yarn publish --tag next --access restricted
62
+ ```
63
+
64
+ > Перед публикацией обнови `version` и пропиши `npmrc` с токеном к реестру.
65
+
66
+ ## Чеклист тестирования
67
+ - `yarn workspace @data-platform/ui-shell run typecheck`
68
+ - `yarn workspace new-frontend run dev` — меню публичной версии подхватывается из пакета
69
+ - Проверить навигацию между пунктами, переключение темы/раскладки, кастомные слоты
70
+ - Проверить загрузку данных: `baseUrl` (mock-backend) и вариант с заранее переданным `apps`
71
+
72
+ # tot-ui-kit