@sberbusiness/triplex-next-mcp-server 0.36.0-beta0 → 1.41.0-beta
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/bundle/components/AlertContext.md +268 -0
- package/bundle/components/Button.md +5 -2
- package/bundle/components/ButtonDropdown.md +9 -1
- package/bundle/components/ButtonDropdownExtended.md +422 -0
- package/bundle/components/ButtonIcon.md +7 -1
- package/bundle/components/Calendar.md +183 -368
- package/bundle/components/Caption.md +291 -0
- package/bundle/components/Chip.md +310 -314
- package/bundle/components/CodeText.md +197 -0
- package/bundle/components/Col.md +311 -162
- package/bundle/components/CollapsibleTree.md +6 -3
- package/bundle/components/CollapsibleTreeExtended.md +6 -2
- package/bundle/components/Dropdown.md +748 -346
- package/bundle/components/FormField.md +468 -232
- package/bundle/components/IconWrapper.md +142 -89
- package/bundle/components/Island.md +221 -129
- package/bundle/components/KeyDownListener.md +215 -102
- package/bundle/components/LightBox.md +2252 -233
- package/bundle/components/List.md +26 -1
- package/bundle/components/ListActionItem.md +157 -0
- package/bundle/components/ListItem.md +34 -9
- package/bundle/components/ListItemSelectable.md +2 -2
- package/bundle/components/ListMaster.md +4 -5
- package/bundle/components/ListTableItem.md +391 -0
- package/bundle/components/LoaderMiddle.md +265 -0
- package/bundle/components/LoaderScreen.md +178 -81
- package/bundle/components/Notification.md +21 -21
- package/bundle/components/Page.md +1 -0
- package/bundle/components/Portal.md +131 -67
- package/bundle/components/Row.md +171 -69
- package/bundle/components/Text.md +320 -0
- package/bundle/components/TextField.md +364 -97
- package/bundle/components/ThemeProvider.md +305 -117
- package/bundle/components/Title.md +296 -0
- package/bundle/components/Tooltip.md +421 -181
- package/bundle/guides/commits.md +126 -24
- package/bundle/guides/context.md +1 -1
- package/bundle/guides/tests.md +42 -0
- package/bundle/manifest.json +109 -23
- package/bundle/release-notes/1.37.0.mdx +42 -1
- package/bundle/release-notes/1.38.0.mdx +36 -0
- package/bundle/release-notes/1.39.0.mdx +66 -0
- package/bundle/release-notes/1.40.0.mdx +27 -0
- package/bundle/release-notes/1.41.0.mdx +83 -0
- package/bundle/release-notes/1.42.0.mdx +7 -0
- package/package.json +1 -1
package/bundle/guides/commits.md
CHANGED
|
@@ -2,22 +2,41 @@
|
|
|
2
2
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
+
## Задачи и тикеты
|
|
6
|
+
|
|
7
|
+
Задачи ведутся в Linear, команда `TRI` (https://linear.app/triplex-next).
|
|
8
|
+
Номер задачи `TRI-XXX` — обязательный префикс веток и коммитов: по нему
|
|
9
|
+
GitHub-интеграция Linear линкует PR и двигает статусы задачи
|
|
10
|
+
(ветка → In Progress, PR → In Review, merge → Done).
|
|
11
|
+
|
|
12
|
+
**Legacy:** исторические ветки и коммиты используют префикс `TRIPLEX-XXX`.
|
|
13
|
+
Существующие не переименовываем; всё новое — только `TRI-XXX`.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
5
17
|
## Именование веток
|
|
6
18
|
|
|
7
|
-
**Формат:** `
|
|
19
|
+
**Формат:** `TRI-XXX-короткое-описание`
|
|
8
20
|
|
|
9
21
|
- Строчные буквы, слова через дефис.
|
|
10
|
-
- Всегда начинается с номера
|
|
22
|
+
- Всегда начинается с номера задачи Linear.
|
|
11
23
|
|
|
12
24
|
```text
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
25
|
+
TRI-12-add-badge-component
|
|
26
|
+
TRI-15-fix-button-focus-style
|
|
27
|
+
TRI-21-alert-ai-ready
|
|
16
28
|
```
|
|
17
29
|
|
|
18
30
|
**Исключения:**
|
|
19
|
-
- Релизная ветка: `
|
|
20
|
-
|
|
31
|
+
- Релизная ветка: `prerelease-X.Y.Z` (например, `prerelease-1.40.0`) — в неё
|
|
32
|
+
собираются фиксы релиза и бамп версии, PR идёт в `main`
|
|
33
|
+
- Перелитие main → release-0: выполняется человеком без отдельной ветки,
|
|
34
|
+
прямым мержем
|
|
35
|
+
|
|
36
|
+
Исключение касается только **имени ветки**. Коммиты внутри неё подчиняются
|
|
37
|
+
общему правилу `TRI-XXX`: на релиз заводится задача Linear, её номер идёт
|
|
38
|
+
префиксом (`TRI-XXX Подготовка релиза 1.40.0`). Legacy-префикс `TRIPLEX-0`
|
|
39
|
+
для новых релизов не используется.
|
|
21
40
|
|
|
22
41
|
---
|
|
23
42
|
|
|
@@ -28,29 +47,41 @@ TRIPLEX-912-fix-button-focus-style
|
|
|
28
47
|
| `main` | React 18 | `1.xx` | Основная ветка разработки |
|
|
29
48
|
| `release-0` | React 17 | `0.xx` | Поддержка React 17, синхронизируется с main |
|
|
30
49
|
|
|
31
|
-
**Правило:** все фича-ветки создаются от `main`. Изменения попадают в `release-0` через
|
|
50
|
+
**Правило:** все фича-ветки создаются от `main`. Изменения попадают в `release-0` через перелитие. Агент не должен создавать ветки от `release-0` и не должен мерджить в неё напрямую.
|
|
51
|
+
|
|
52
|
+
**Перелитие делает человек, не агент.** Мерж `main` → `release-0` идёт
|
|
53
|
+
напрямую, без PR, с разрешением конфликтов React 17-адаптаций — это ручной
|
|
54
|
+
шаг мейнтейнера в конце спринта. Правила разрешения конфликтов и регламент
|
|
55
|
+
подготовки описаны в `.agents/skills/release-react17/SKILL.md` и
|
|
56
|
+
`docs/human/release.md`. Прямой push в `release-0` проверяется CI:
|
|
57
|
+
`ci.yml` триггерится на `push: branches: [release-0]`.
|
|
58
|
+
|
|
59
|
+
**Единственное исключение для агента** — релизный коммит `release-react17`
|
|
60
|
+
(бамп версии + release notes): он тоже пушится в `release-0` напрямую, без
|
|
61
|
+
PR. Прогон CI на него стартует, но дождаться его нельзя — GitHub Release
|
|
62
|
+
создаётся сразу после push. Поэтому исключение компенсируется обязательными
|
|
63
|
+
локальными гейтами (`tsc`, `test-unit`, `build`).
|
|
32
64
|
|
|
33
65
|
---
|
|
34
66
|
|
|
35
67
|
## Формат коммитов
|
|
36
68
|
|
|
37
|
-
**Формат:** `
|
|
69
|
+
**Формат:** `TRI-XXX Краткое описание`
|
|
38
70
|
|
|
39
71
|
```text
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
TRIPLEX-912 Исправить стиль фокуса для Button в теме Link
|
|
72
|
+
TRI-12 Добавить компонент Badge с темами и размерами
|
|
73
|
+
TRI-15 Исправить стиль фокуса для Button в теме Link
|
|
43
74
|
```
|
|
44
75
|
|
|
45
76
|
Если нужно уточнение — добавляй через двоеточие:
|
|
46
77
|
|
|
47
78
|
```text
|
|
48
|
-
|
|
49
|
-
|
|
79
|
+
TRI-12 Badge: добавить тему DANGER и размер SM
|
|
80
|
+
TRI-21 Alert: AI refactoring + unit-тесты
|
|
50
81
|
```
|
|
51
82
|
|
|
52
83
|
**Правила:**
|
|
53
|
-
- Все коммиты в ветке начинаются с одного номера
|
|
84
|
+
- Все коммиты в ветке начинаются с одного номера задачи.
|
|
54
85
|
- Первая строка — не длиннее 72 символов.
|
|
55
86
|
- Тело коммита опционально (для сложных изменений).
|
|
56
87
|
- Язык: русский или английский — не смешивать в одном коммите.
|
|
@@ -99,30 +130,101 @@ npx prettier --write src/components/Button/Button.tsx
|
|
|
99
130
|
|
|
100
131
|
## Когда коммитить и пушить
|
|
101
132
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
133
|
+
**Вне задачи Linear агент не создаёт коммиты и не пушит самостоятельно.**
|
|
134
|
+
После завершения работы — остановиться и показать результат разработчику.
|
|
135
|
+
Коммит и пуш — только по явной просьбе.
|
|
136
|
+
|
|
137
|
+
**Исключение — работа по задаче Linear.** Если работа ведётся в ветке задачи
|
|
138
|
+
`TRI-XXX-...` (взятой через skill `take-task`), агент после завершения работ
|
|
139
|
+
и зелёного ревью (`change-reviewer`) **без подтверждения**:
|
|
140
|
+
|
|
141
|
+
1. делает коммит по конвенциям этого файла (skill `commit-component`);
|
|
142
|
+
2. пушит ветку;
|
|
143
|
+
3. создаёт PR (см. «PR-воркфлоу»);
|
|
144
|
+
4. если менялись stories или визуал компонентов — обновляет baseline-скриншоты
|
|
145
|
+
через skill `update-visual-baselines` (CI-workflow «Update Visual
|
|
146
|
+
Snapshots» + чистка orphan-скриншотов);
|
|
147
|
+
5. запускает skill `finish-task` — комментарий-резюме публикуется в задачу
|
|
148
|
+
без подтверждения, проверяется линковка PR;
|
|
149
|
+
6. запускает агента `pr-reviewer` — независимое ревью PR «с чистого листа»
|
|
150
|
+
с комментариями в GitHub (только COMMENT, вердикт и мерж за человеком).
|
|
151
|
+
|
|
152
|
+
Гейты остаются обязательными и в автоматическом режиме — при любом из них
|
|
153
|
+
остановиться и спросить разработчика:
|
|
154
|
+
|
|
155
|
+
- упавшие проверки (tsc / vitest / eslint);
|
|
156
|
+
- изменение публичного поведения без записи в release notes;
|
|
157
|
+
- блокеры от `change-reviewer`;
|
|
158
|
+
- подозрительные/посторонние файлы в `git status`.
|
|
105
159
|
|
|
106
160
|
---
|
|
107
161
|
|
|
108
|
-
##
|
|
162
|
+
## GitHub-операции от аккаунта бота
|
|
109
163
|
|
|
110
|
-
|
|
164
|
+
Автоматические GitHub-операции (создание PR, комментарии в PR, запуск
|
|
165
|
+
workflow, авторство коммитов автофинала) выполняются от отдельного
|
|
166
|
+
machine-аккаунта, если у разработчика задан его токен:
|
|
111
167
|
|
|
112
168
|
```bash
|
|
113
|
-
|
|
169
|
+
# fine-grained PAT бота: contents:write, pull-requests:write, actions:write
|
|
170
|
+
export TRIPLEX_BOT_GH_TOKEN=... # в ~/.zshenv (не ~/.zshrc — агент работает
|
|
171
|
+
# в неинтерактивном shell), НЕ в репозитории
|
|
114
172
|
```
|
|
115
173
|
|
|
116
|
-
|
|
174
|
+
**Паттерн для агентов** — в начале Bash-вызова с командами `gh`:
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
if [ -n "$TRIPLEX_BOT_GH_TOKEN" ]; then export GH_TOKEN="$TRIPLEX_BOT_GH_TOKEN"; fi
|
|
178
|
+
gh pr create ... # выполнится от бота; без токена — от разработчика (fallback)
|
|
179
|
+
```
|
|
117
180
|
|
|
118
|
-
|
|
181
|
+
**Авторство коммитов автофинала** (identity бота выводится из токена,
|
|
182
|
+
дополнительные переменные не нужны):
|
|
119
183
|
|
|
120
184
|
```bash
|
|
185
|
+
if [ -n "$TRIPLEX_BOT_GH_TOKEN" ]; then
|
|
186
|
+
BOT_LOGIN=$(GH_TOKEN="$TRIPLEX_BOT_GH_TOKEN" gh api user -q .login)
|
|
187
|
+
BOT_EMAIL=$(GH_TOKEN="$TRIPLEX_BOT_GH_TOKEN" gh api user -q '"\(.id)+\(.login)@users.noreply.github.com"')
|
|
188
|
+
git -c user.name="$BOT_LOGIN" -c user.email="$BOT_EMAIL" commit -m "..."
|
|
189
|
+
else
|
|
190
|
+
git commit -m "..."
|
|
191
|
+
fi
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Правила:
|
|
195
|
+
|
|
196
|
+
- Токен нигде не печатать, не логировать и не коммитить; в репозитории
|
|
197
|
+
он не хранится ни в каком виде.
|
|
198
|
+
- `git push` остаётся по SSH разработчика — авторство коммита и аккаунт
|
|
199
|
+
пушащего могут различаться, это нормально.
|
|
200
|
+
- Проверка «кто я» перед автофиналом: `gh api user -q .login`
|
|
201
|
+
(с учётом паттерна выше) — чтобы в отчёте было видно, от чьего имени
|
|
202
|
+
созданы PR/комментарии.
|
|
203
|
+
- Действия в Linear выполняются от сессии разработчика — бот на них
|
|
204
|
+
не распространяется.
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## PR-воркфлоу
|
|
209
|
+
|
|
210
|
+
**Работа по задаче Linear:** после коммита агент сам пушит ветку и создаёт PR:
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
git push -u origin TRI-XXX-feature-name
|
|
121
214
|
gh pr create \
|
|
122
|
-
--title "
|
|
215
|
+
--title "TRI-XXX Краткое описание" \
|
|
123
216
|
--body "## Что сделано\n- ...\n\n## Как проверить\n- ..."
|
|
124
217
|
```
|
|
125
218
|
|
|
219
|
+
После создания PR финал продолжается автоматически: skill
|
|
220
|
+
`update-visual-baselines` (если менялись stories/визуал) и skill
|
|
221
|
+
`finish-task` — комментарий-резюме в задаче Linear и проверка линковки PR
|
|
222
|
+
(GitHub-интеграция Linear подхватит PR по `TRI-XXX` в имени ветки).
|
|
223
|
+
|
|
224
|
+
**Вне задачи Linear:** агент пушит ветку и создаёт PR только по явной просьбе
|
|
225
|
+
разработчика; по умолчанию PR открывает разработчик через GitHub UI или
|
|
226
|
+
`gh pr create`.
|
|
227
|
+
|
|
126
228
|
---
|
|
127
229
|
|
|
128
230
|
## Release notes
|
package/bundle/guides/context.md
CHANGED
|
@@ -267,7 +267,7 @@ AI-агента.
|
|
|
267
267
|
|
|
268
268
|
| Создаём AI.md | Описываем в родителе |
|
|
269
269
|
|---|---|
|
|
270
|
-
| `List`, `ListItem`, `
|
|
270
|
+
| `List`, `ListItem`, `ListActionItem`, `ListTableItem`, `ListItemSelectable`, `ListItemControlsButton`, `ListItemControlsButtonDropdown`, `ListSortable`, `ListSortableItem` | `ListItemControls`, `ListItemContent`, `ListEmptyState`, `ListItemLoading`, `ListItemTailLeft`, `ListItemTailRight`, `ListSortableItemTarget`, `ListSortableItemControls` |
|
|
271
271
|
|
|
272
272
|
В ROADMAP-таблице каждый AI.md-достойный компонент идёт отдельной строкой —
|
|
273
273
|
так считается прогресс покрытия и видны субкомпоненты с собственным API.
|
package/bundle/guides/tests.md
CHANGED
|
@@ -38,6 +38,48 @@ src/components/{ComponentName}/__tests__/{ComponentName}.test.tsx
|
|
|
38
38
|
|
|
39
39
|
Один файл на компонент. Если компонент имеет субкомпоненты (ButtonIcon, ButtonDropdown), тесты субкомпонентов — в отдельных файлах той же локальной папки тестов.
|
|
40
40
|
|
|
41
|
+
### Импорты `vitest` — только в `*.test.ts` / `*.test.tsx` ⚠️
|
|
42
|
+
|
|
43
|
+
**Правило:** `import ... from "vitest"` (а также `@testing-library/*`, `storybook/test`)
|
|
44
|
+
допустим **исключительно** в файлах с постфиксом `.test.ts` / `.test.tsx`,
|
|
45
|
+
в `vitest.setup.ts` и в `test-utils/`. Нигде больше.
|
|
46
|
+
|
|
47
|
+
Причина — сборка. `vite.config.ts` строит entry-точку из **каждого** файла
|
|
48
|
+
`src/**/*.{ts,tsx}`, кроме исключённых глобом. Любой файл внутри `src/`, который
|
|
49
|
+
импортирует `vitest` и не подпадает под исключения, попадает в бандл, а вместе с
|
|
50
|
+
ним vitest уезжает в общий чанк `vendor` — тот самый, который тянут почти все
|
|
51
|
+
компоненты. Потребитель падает на старте:
|
|
52
|
+
|
|
53
|
+
```text
|
|
54
|
+
Uncaught Error: Vitest failed to access its internal state.
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Именно это произошло в 1.39.0 из-за файла `src/components/Carousel/__tests__/utils.ts`
|
|
58
|
+
(хелпер без постфикса `.test`). Чанк `vendor` вырос с 640 KB до 1.28 MB.
|
|
59
|
+
|
|
60
|
+
**Общие тестовые хелперы** (моки `ResizeObserver`, фейковые `Touch`, подмена
|
|
61
|
+
размеров элементов и т.п.) кладём в `test-utils/` в корне репозитория — вне `src/`,
|
|
62
|
+
поэтому сборка их физически не видит:
|
|
63
|
+
|
|
64
|
+
```typescript
|
|
65
|
+
// ✅ src/components/Carousel/__tests__/CarouselRoot.test.tsx
|
|
66
|
+
import { getResizeCallback, mockElementSize } from "../../../../test-utils/dom";
|
|
67
|
+
|
|
68
|
+
// ❌ src/components/Carousel/__tests__/utils.ts — станет entry-точкой сборки
|
|
69
|
+
import { vi } from "vitest";
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Не называй хелпер `utils.ts` рядом с `utils.test.tsx`: `__tests__/utils.test.tsx` —
|
|
73
|
+
это **тесты для `../utils.ts`** компонента, а не тесты хелпера. Хелперы нельзя
|
|
74
|
+
класть и в сам `*.test.tsx`-файл: при импорте из другого теста его `describe`
|
|
75
|
+
зарегистрируется повторно и тесты прогонятся несколько раз.
|
|
76
|
+
|
|
77
|
+
Страховка на уровне сборки: `npm run build` запускает `scripts/checkBundleSize.js`
|
|
78
|
+
и падает, если в `dist` превышен один из двух лимитов — **700 KB на отдельный
|
|
79
|
+
JS-файл** (ловит распухший `vendor`: всё из `node_modules` сливается в него
|
|
80
|
+
единственным чанком) или **2000 KB суммарно по всем JS-файлам** (ловит утечку
|
|
81
|
+
кода мимо `node_modules` и медленный рост множества мелких файлов).
|
|
82
|
+
|
|
41
83
|
### Импорты
|
|
42
84
|
|
|
43
85
|
```typescript
|
package/bundle/manifest.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"triplexVersion": "1.
|
|
4
|
-
"generatedAt": "2026-
|
|
3
|
+
"triplexVersion": "1.41.0",
|
|
4
|
+
"generatedAt": "2026-08-07T11:02:25.745Z",
|
|
5
5
|
"components": [
|
|
6
6
|
{
|
|
7
7
|
"name": "AbstractTree",
|
|
@@ -21,6 +21,12 @@
|
|
|
21
21
|
"file": "components/Alert.md",
|
|
22
22
|
"ai_ready": true
|
|
23
23
|
},
|
|
24
|
+
{
|
|
25
|
+
"name": "AlertContext",
|
|
26
|
+
"path": "src/components/Alert/AlertContext-ai.md",
|
|
27
|
+
"file": "components/AlertContext.md",
|
|
28
|
+
"ai_ready": true
|
|
29
|
+
},
|
|
24
30
|
{
|
|
25
31
|
"name": "Amount",
|
|
26
32
|
"path": "src/components/Amount/Amount-AI.md",
|
|
@@ -69,6 +75,12 @@
|
|
|
69
75
|
"file": "components/ButtonDropdown.md",
|
|
70
76
|
"ai_ready": true
|
|
71
77
|
},
|
|
78
|
+
{
|
|
79
|
+
"name": "ButtonDropdownExtended",
|
|
80
|
+
"path": "src/components/Button/ButtonDropdownExtended-ai.md",
|
|
81
|
+
"file": "components/ButtonDropdownExtended.md",
|
|
82
|
+
"ai_ready": true
|
|
83
|
+
},
|
|
72
84
|
{
|
|
73
85
|
"name": "ButtonIcon",
|
|
74
86
|
"path": "src/components/Button/ButtonIcon-ai.md",
|
|
@@ -77,16 +89,29 @@
|
|
|
77
89
|
},
|
|
78
90
|
{
|
|
79
91
|
"name": "Calendar",
|
|
80
|
-
"path": "src/components/Calendar/Calendar-
|
|
92
|
+
"path": "src/components/Calendar/Calendar-ai.md",
|
|
81
93
|
"file": "components/Calendar.md",
|
|
82
94
|
"ai_ready": true
|
|
83
95
|
},
|
|
96
|
+
{
|
|
97
|
+
"name": "Caption",
|
|
98
|
+
"path": "src/components/Typography/Caption-ai.md",
|
|
99
|
+
"file": "components/Caption.md",
|
|
100
|
+
"ai_ready": true
|
|
101
|
+
},
|
|
84
102
|
{
|
|
85
103
|
"name": "Card",
|
|
86
104
|
"path": "src/components/Card/Card-AI.md",
|
|
87
105
|
"file": "components/Card.md",
|
|
88
106
|
"ai_ready": true
|
|
89
107
|
},
|
|
108
|
+
{
|
|
109
|
+
"name": "Carousel",
|
|
110
|
+
"path": "src/components/Carousel",
|
|
111
|
+
"file": null,
|
|
112
|
+
"ai_ready": false,
|
|
113
|
+
"storiesPath": "stories/Carousel/Carousel.stories.tsx"
|
|
114
|
+
},
|
|
90
115
|
{
|
|
91
116
|
"name": "CarouselExtended",
|
|
92
117
|
"path": "src/components/CarouselExtended/CarouselExtended-AI.md",
|
|
@@ -125,7 +150,7 @@
|
|
|
125
150
|
},
|
|
126
151
|
{
|
|
127
152
|
"name": "Chip",
|
|
128
|
-
"path": "src/components/Chip/Chip-
|
|
153
|
+
"path": "src/components/Chip/Chip-ai.md",
|
|
129
154
|
"file": "components/Chip.md",
|
|
130
155
|
"ai_ready": true
|
|
131
156
|
},
|
|
@@ -135,9 +160,15 @@
|
|
|
135
160
|
"file": "components/ChipGroup.md",
|
|
136
161
|
"ai_ready": true
|
|
137
162
|
},
|
|
163
|
+
{
|
|
164
|
+
"name": "CodeText",
|
|
165
|
+
"path": "src/components/Typography/CodeText-ai.md",
|
|
166
|
+
"file": "components/CodeText.md",
|
|
167
|
+
"ai_ready": true
|
|
168
|
+
},
|
|
138
169
|
{
|
|
139
170
|
"name": "Col",
|
|
140
|
-
"path": "src/components/Col/Col-
|
|
171
|
+
"path": "src/components/Col/Col-ai.md",
|
|
141
172
|
"file": "components/Col.md",
|
|
142
173
|
"ai_ready": true
|
|
143
174
|
},
|
|
@@ -197,7 +228,7 @@
|
|
|
197
228
|
},
|
|
198
229
|
{
|
|
199
230
|
"name": "Dropdown",
|
|
200
|
-
"path": "src/components/Dropdown/Dropdown-
|
|
231
|
+
"path": "src/components/Dropdown/Dropdown-ai.md",
|
|
201
232
|
"file": "components/Dropdown.md",
|
|
202
233
|
"ai_ready": true
|
|
203
234
|
},
|
|
@@ -240,7 +271,7 @@
|
|
|
240
271
|
},
|
|
241
272
|
{
|
|
242
273
|
"name": "FormField",
|
|
243
|
-
"path": "src/components/FormField/FormField-
|
|
274
|
+
"path": "src/components/FormField/FormField-ai.md",
|
|
244
275
|
"file": "components/FormField.md",
|
|
245
276
|
"ai_ready": true
|
|
246
277
|
},
|
|
@@ -276,7 +307,7 @@
|
|
|
276
307
|
},
|
|
277
308
|
{
|
|
278
309
|
"name": "IconWrapper",
|
|
279
|
-
"path": "src/components/IconWrapper/IconWrapper-
|
|
310
|
+
"path": "src/components/IconWrapper/IconWrapper-ai.md",
|
|
280
311
|
"file": "components/IconWrapper.md",
|
|
281
312
|
"ai_ready": true
|
|
282
313
|
},
|
|
@@ -294,7 +325,7 @@
|
|
|
294
325
|
},
|
|
295
326
|
{
|
|
296
327
|
"name": "Island",
|
|
297
|
-
"path": "src/components/Island/Island-
|
|
328
|
+
"path": "src/components/Island/Island-ai.md",
|
|
298
329
|
"file": "components/Island.md",
|
|
299
330
|
"ai_ready": true
|
|
300
331
|
},
|
|
@@ -312,13 +343,13 @@
|
|
|
312
343
|
},
|
|
313
344
|
{
|
|
314
345
|
"name": "KeyDownListener",
|
|
315
|
-
"path": "src/components/KeyDownListener/KeyDownListener-
|
|
346
|
+
"path": "src/components/KeyDownListener/KeyDownListener-ai.md",
|
|
316
347
|
"file": "components/KeyDownListener.md",
|
|
317
348
|
"ai_ready": true
|
|
318
349
|
},
|
|
319
350
|
{
|
|
320
351
|
"name": "LightBox",
|
|
321
|
-
"path": "src/components/LightBox/LightBox-
|
|
352
|
+
"path": "src/components/LightBox/LightBox-ai.md",
|
|
322
353
|
"file": "components/LightBox.md",
|
|
323
354
|
"ai_ready": true
|
|
324
355
|
},
|
|
@@ -334,6 +365,12 @@
|
|
|
334
365
|
"file": "components/List.md",
|
|
335
366
|
"ai_ready": true
|
|
336
367
|
},
|
|
368
|
+
{
|
|
369
|
+
"name": "ListActionItem",
|
|
370
|
+
"path": "src/components/List/ListActionItem-ai.md",
|
|
371
|
+
"file": "components/ListActionItem.md",
|
|
372
|
+
"ai_ready": true
|
|
373
|
+
},
|
|
337
374
|
{
|
|
338
375
|
"name": "ListItem",
|
|
339
376
|
"path": "src/components/List/ListItem-ai.md",
|
|
@@ -358,12 +395,6 @@
|
|
|
358
395
|
"file": "components/ListItemSelectable.md",
|
|
359
396
|
"ai_ready": true
|
|
360
397
|
},
|
|
361
|
-
{
|
|
362
|
-
"name": "ListItemTable",
|
|
363
|
-
"path": "src/components/List/ListItemTable-ai.md",
|
|
364
|
-
"file": "components/ListItemTable.md",
|
|
365
|
-
"ai_ready": true
|
|
366
|
-
},
|
|
367
398
|
{
|
|
368
399
|
"name": "ListMaster",
|
|
369
400
|
"path": "src/components/ListMaster/ListMaster-ai.md",
|
|
@@ -394,15 +425,27 @@
|
|
|
394
425
|
"file": "components/ListSortableItem.md",
|
|
395
426
|
"ai_ready": true
|
|
396
427
|
},
|
|
428
|
+
{
|
|
429
|
+
"name": "ListTableItem",
|
|
430
|
+
"path": "src/components/List/ListTableItem-ai.md",
|
|
431
|
+
"file": "components/ListTableItem.md",
|
|
432
|
+
"ai_ready": true
|
|
433
|
+
},
|
|
397
434
|
{
|
|
398
435
|
"name": "Loader",
|
|
399
436
|
"path": "src/components/Loader/Loader-AI.md",
|
|
400
437
|
"file": "components/Loader.md",
|
|
401
438
|
"ai_ready": true
|
|
402
439
|
},
|
|
440
|
+
{
|
|
441
|
+
"name": "LoaderMiddle",
|
|
442
|
+
"path": "src/components/Loader/LoaderMiddle-ai.md",
|
|
443
|
+
"file": "components/LoaderMiddle.md",
|
|
444
|
+
"ai_ready": true
|
|
445
|
+
},
|
|
403
446
|
{
|
|
404
447
|
"name": "LoaderScreen",
|
|
405
|
-
"path": "src/components/LoaderScreen/LoaderScreen-
|
|
448
|
+
"path": "src/components/LoaderScreen/LoaderScreen-ai.md",
|
|
406
449
|
"file": "components/LoaderScreen.md",
|
|
407
450
|
"ai_ready": true
|
|
408
451
|
},
|
|
@@ -493,7 +536,7 @@
|
|
|
493
536
|
},
|
|
494
537
|
{
|
|
495
538
|
"name": "Portal",
|
|
496
|
-
"path": "src/components/Portal/Portal-
|
|
539
|
+
"path": "src/components/Portal/Portal-ai.md",
|
|
497
540
|
"file": "components/Portal.md",
|
|
498
541
|
"ai_ready": true
|
|
499
542
|
},
|
|
@@ -505,7 +548,7 @@
|
|
|
505
548
|
},
|
|
506
549
|
{
|
|
507
550
|
"name": "Row",
|
|
508
|
-
"path": "src/components/Row/Row-
|
|
551
|
+
"path": "src/components/Row/Row-ai.md",
|
|
509
552
|
"file": "components/Row.md",
|
|
510
553
|
"ai_ready": true
|
|
511
554
|
},
|
|
@@ -647,6 +690,12 @@
|
|
|
647
690
|
"file": "components/TagGroup.md",
|
|
648
691
|
"ai_ready": true
|
|
649
692
|
},
|
|
693
|
+
{
|
|
694
|
+
"name": "Text",
|
|
695
|
+
"path": "src/components/Typography/Text-ai.md",
|
|
696
|
+
"file": "components/Text.md",
|
|
697
|
+
"ai_ready": true
|
|
698
|
+
},
|
|
650
699
|
{
|
|
651
700
|
"name": "TextareaField",
|
|
652
701
|
"path": "src/components/TextareaField/TextareaField-AI.md",
|
|
@@ -655,19 +704,25 @@
|
|
|
655
704
|
},
|
|
656
705
|
{
|
|
657
706
|
"name": "TextField",
|
|
658
|
-
"path": "src/components/TextField/TextField-
|
|
707
|
+
"path": "src/components/TextField/TextField-ai.md",
|
|
659
708
|
"file": "components/TextField.md",
|
|
660
709
|
"ai_ready": true
|
|
661
710
|
},
|
|
662
711
|
{
|
|
663
712
|
"name": "ThemeProvider",
|
|
664
|
-
"path": "src/components/ThemeProvider/ThemeProvider-
|
|
713
|
+
"path": "src/components/ThemeProvider/ThemeProvider-ai.md",
|
|
665
714
|
"file": "components/ThemeProvider.md",
|
|
666
715
|
"ai_ready": true
|
|
667
716
|
},
|
|
717
|
+
{
|
|
718
|
+
"name": "Title",
|
|
719
|
+
"path": "src/components/Typography/Title-ai.md",
|
|
720
|
+
"file": "components/Title.md",
|
|
721
|
+
"ai_ready": true
|
|
722
|
+
},
|
|
668
723
|
{
|
|
669
724
|
"name": "Tooltip",
|
|
670
|
-
"path": "src/components/Tooltip/Tooltip-
|
|
725
|
+
"path": "src/components/Tooltip/Tooltip-ai.md",
|
|
671
726
|
"file": "components/Tooltip.md",
|
|
672
727
|
"ai_ready": true
|
|
673
728
|
},
|
|
@@ -717,6 +772,12 @@
|
|
|
717
772
|
"ai_ready": false,
|
|
718
773
|
"storiesPath": null
|
|
719
774
|
},
|
|
775
|
+
{
|
|
776
|
+
"name": "ListItemTable",
|
|
777
|
+
"path": "src/components/List/ListItemTable-ai.md",
|
|
778
|
+
"file": "components/ListItemTable.md",
|
|
779
|
+
"ai_ready": true
|
|
780
|
+
},
|
|
720
781
|
{
|
|
721
782
|
"name": "CollapsableTree",
|
|
722
783
|
"path": "src/components/CollapsableTree/CollapsableTree-AI.md",
|
|
@@ -927,11 +988,36 @@
|
|
|
927
988
|
"file": "release-notes/1.37.0.mdx",
|
|
928
989
|
"path": "stories/release-notes/v1/1.37.0.mdx"
|
|
929
990
|
},
|
|
991
|
+
{
|
|
992
|
+
"version": "1.38.0",
|
|
993
|
+
"file": "release-notes/1.38.0.mdx",
|
|
994
|
+
"path": "stories/release-notes/v1/1.38.0.mdx"
|
|
995
|
+
},
|
|
996
|
+
{
|
|
997
|
+
"version": "1.39.0",
|
|
998
|
+
"file": "release-notes/1.39.0.mdx",
|
|
999
|
+
"path": "stories/release-notes/v1/1.39.0.mdx"
|
|
1000
|
+
},
|
|
930
1001
|
{
|
|
931
1002
|
"version": "1.4.0",
|
|
932
1003
|
"file": "release-notes/1.4.0.mdx",
|
|
933
1004
|
"path": "stories/release-notes/v1/1.4.0.mdx"
|
|
934
1005
|
},
|
|
1006
|
+
{
|
|
1007
|
+
"version": "1.40.0",
|
|
1008
|
+
"file": "release-notes/1.40.0.mdx",
|
|
1009
|
+
"path": "stories/release-notes/v1/1.40.0.mdx"
|
|
1010
|
+
},
|
|
1011
|
+
{
|
|
1012
|
+
"version": "1.41.0",
|
|
1013
|
+
"file": "release-notes/1.41.0.mdx",
|
|
1014
|
+
"path": "stories/release-notes/v1/1.41.0.mdx"
|
|
1015
|
+
},
|
|
1016
|
+
{
|
|
1017
|
+
"version": "1.42.0",
|
|
1018
|
+
"file": "release-notes/1.42.0.mdx",
|
|
1019
|
+
"path": "stories/release-notes/v1/1.42.0.mdx"
|
|
1020
|
+
},
|
|
935
1021
|
{
|
|
936
1022
|
"version": "1.5.0",
|
|
937
1023
|
"file": "release-notes/1.5.0.mdx",
|
|
@@ -4,8 +4,19 @@ import { Meta, Title, Heading } from "@storybook/addon-docs/blocks";
|
|
|
4
4
|
|
|
5
5
|
<Title>v1.37.0</Title>
|
|
6
6
|
|
|
7
|
+
<Heading>Ломающие изменения</Heading>
|
|
8
|
+
|
|
9
|
+
**FormFieldMaskedInput**
|
|
10
|
+
|
|
11
|
+
- Удалено свойство `error`.
|
|
12
|
+
- Теперь `className` пробрасывается в корневой элемент, вместо дублирования на двух внутренних узлах.
|
|
13
|
+
|
|
7
14
|
<Heading>Изменения</Heading>
|
|
8
15
|
|
|
16
|
+
**ButtonDropdown**
|
|
17
|
+
|
|
18
|
+
- Добавлено свойство `dropdownAttributes` — позволяет передавать HTML-атрибуты и data-атрибуты в `Dropdown`.
|
|
19
|
+
|
|
9
20
|
**CollapsibleTree**
|
|
10
21
|
|
|
11
22
|
- Добавлено свойство `disabled` для узла-ветки (`ICollapsibleTreeNodeBranch`) — узел не раскрывается, шеврон отображается приглушённым цветом. Для приглушённого текста передайте `type={EFontType.DISABLED}` в `CollapsibleTreeNodeLabel`.
|
|
@@ -15,12 +26,42 @@ import { Meta, Title, Heading } from "@storybook/addon-docs/blocks";
|
|
|
15
26
|
|
|
16
27
|
**DateRange**
|
|
17
28
|
|
|
18
|
-
- Исправлены размеры
|
|
29
|
+
- Исправлены размеры разделителя.
|
|
30
|
+
|
|
31
|
+
**DateField / MonthYearField**
|
|
32
|
+
|
|
33
|
+
- Теперь `Dropdown` октрывается по нажатию мыши, а не клику.
|
|
34
|
+
- Исправлено отображение плейсхолдера-маски `FormFieldMaskedInput` в заголовке `Dropdown`.
|
|
35
|
+
|
|
36
|
+
**FormFieldInput**
|
|
37
|
+
|
|
38
|
+
- Исправлено вертикальное выравнивание текста в размере `SM`.
|
|
39
|
+
|
|
40
|
+
**FormFieldMaskedInput**
|
|
41
|
+
|
|
42
|
+
- Исправлен баг с визуальным утолщением шрифта при наличии значения в поле ввода.
|
|
43
|
+
|
|
44
|
+
**HeaderPage**
|
|
45
|
+
|
|
46
|
+
- Исправлено расположение `Page.Header.Tabs.Controls`
|
|
19
47
|
|
|
20
48
|
**Link**
|
|
21
49
|
|
|
22
50
|
- При `target="_blank"` автоматически добавляется `rel="noopener"` (защита от reverse tabnabbing). Явно переданный потребителем `rel` сохраняется.
|
|
23
51
|
|
|
52
|
+
**SelectField**
|
|
53
|
+
|
|
54
|
+
- Добавлено свойство `dropdownProps` — позволяет передавать свойства и data-атрибуты в `Dropdown`.
|
|
55
|
+
- Исправлено свойство `dropdownListItemClassName` — ранее оно не передавалось в элементы выпадающего списка и игнорировалось.
|
|
56
|
+
|
|
57
|
+
**TableBasic**
|
|
58
|
+
|
|
59
|
+
- Максимальная высота `TableBasicSettingsBody` изменена с `372px` на `302px`.
|
|
60
|
+
|
|
61
|
+
**TextField / MaskedField**
|
|
62
|
+
|
|
63
|
+
- Компонент переписан на `forwardRef`.
|
|
64
|
+
|
|
24
65
|
**ThemeProvider**
|
|
25
66
|
|
|
26
67
|
- Предупреждение о неподдержке динамической темы при SSR выводится через `console.warn` вместо `console.log`.
|