@rt-tools/ui-kit-v2 0.3.0 → 0.5.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.
Files changed (39) hide show
  1. package/README.md +25 -16
  2. package/fesm2022/rt-tools-ui-kit-v2.mjs +732 -1351
  3. package/fesm2022/rt-tools-ui-kit-v2.mjs.map +1 -1
  4. package/package.json +1 -2
  5. package/rt-tools-ui-kit-v2-0.5.0.tgz +0 -0
  6. package/src/lib/components/CONTEXT.md +1 -1
  7. package/src/lib/components/bar-list/CONTEXT.md +5 -5
  8. package/src/lib/components/button/rt-button.directive.scss +4 -0
  9. package/src/lib/components/checkbox/rt-checkbox.component.scss +6 -2
  10. package/src/lib/components/confirm-popover/CONTEXT.md +8 -8
  11. package/src/lib/components/container/CONTEXT.md +22 -0
  12. package/src/lib/components/dialog/footer/rt-dialog-footer.component.scss +20 -9
  13. package/src/lib/components/dialog/header/rt-dialog-header.component.scss +27 -15
  14. package/src/lib/components/download-link/CONTEXT.md +1 -1
  15. package/src/lib/components/download-link/rt-download-link.component.scss +13 -0
  16. package/src/lib/components/file-drop/CONTEXT.md +6 -6
  17. package/src/lib/components/file-input/CONTEXT.md +6 -6
  18. package/src/lib/components/live-badge/CONTEXT.md +5 -5
  19. package/src/lib/components/menu/CONTEXT.md +6 -6
  20. package/src/lib/components/message-composer/CONTEXT.md +10 -10
  21. package/src/lib/components/multiselect/CONTEXT.md +6 -6
  22. package/src/lib/components/night-grid/CONTEXT.md +4 -4
  23. package/src/lib/components/page-header/CONTEXT.md +7 -7
  24. package/src/lib/components/pagination/CONTEXT.md +1 -1
  25. package/src/lib/components/select/CONTEXT.md +8 -8
  26. package/src/lib/components/split-button/CONTEXT.md +7 -7
  27. package/src/lib/components/split-button/rt-split-button.component.scss +13 -0
  28. package/src/lib/components/stat-tile/CONTEXT.md +1 -1
  29. package/src/lib/components/table/CONTEXT.md +1 -1
  30. package/src/lib/components/table/sort-header/CONTEXT.md +40 -0
  31. package/src/lib/components/tabs/CONTEXT.md +14 -9
  32. package/src/lib/components/tag/CONTEXT.md +2 -2
  33. package/src/lib/components/theme-toggle/CONTEXT.md +1 -1
  34. package/src/lib/components/toast/CONTEXT.md +8 -0
  35. package/src/lib/components/toggle-switch/rt-toggle-switch.component.scss +6 -2
  36. package/src/styles/_semantic.scss +11 -2
  37. package/styles/tokens.css +12 -1
  38. package/types/rt-tools-ui-kit-v2.d.ts +324 -74
  39. package/rt-tools-ui-kit-v2-0.3.0.tgz +0 -0
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # @rt-tools/ui-kit-v2
2
2
 
3
- Набор компонентов Angular и дизайн-система к ним: шкалы оформления, светлая и тёмная темы,
4
- восемь языков подписей. Компоненты сигнальные и `OnPush`, разметка размечена BEM-директивами из
5
- `@rt-tools/core`, каждый интерактивный элемент несёт `qa-dataid`.
3
+ Набор компонентов Angular и дизайн-система к ним: шкалы оформления, светлая и тёмная темы.
4
+ Компоненты сигнальные и `OnPush`, разметка размечена BEM-директивами из `@rt-tools/core`,
5
+ каждый интерактивный элемент несёт `qa-dataid`.
6
6
 
7
7
  Пакет живёт рядом с `@rt-tools/ui-kit`, а не вместо него: селекторы (`rt-*` против `rtui-*`),
8
8
  свойства оформления и наборы компонентов у них не пересекаются, поэтому одно приложение может
@@ -11,7 +11,7 @@
11
11
  ## Установка
12
12
 
13
13
  ```bash
14
- pnpm add @rt-tools/ui-kit-v2 @rt-tools/core @rt-tools/utils @jsverse/transloco
14
+ pnpm add @rt-tools/ui-kit-v2 @rt-tools/core @rt-tools/utils
15
15
  ```
16
16
 
17
17
  `quill` нужен только тем, кто ставит `rt-rich-editor`: редактор грузит его динамически, и без
@@ -20,15 +20,10 @@ pnpm add @rt-tools/ui-kit-v2 @rt-tools/core @rt-tools/utils @jsverse/transloco
20
20
  ## Подключение
21
21
 
22
22
  ```typescript
23
- import { provideRtIcons, provideRtKitTranslations } from '@rt-tools/ui-kit-v2';
23
+ import { provideRtIcons } from '@rt-tools/ui-kit-v2';
24
24
 
25
25
  export const appConfig: ApplicationConfig = {
26
- providers: [
27
- provideHttpClient(),
28
- provideTransloco({ config, loader }),
29
- provideRtKitTranslations(),
30
- provideRtIcons(),
31
- ],
26
+ providers: [provideHttpClient(), provideRtIcons()],
32
27
  };
33
28
  ```
34
29
 
@@ -81,12 +76,26 @@ export const appConfig: ApplicationConfig = {
81
76
  **Среда исполнения** — `ThemeService` (тема на `<html data-theme>`, переживает перезагрузку),
82
77
  `BreakpointsService` (сигналы совпадения по ширине), `NotificationBus` (шина тостов).
83
78
 
84
- **Подписи** — 131 ключ в неймспейсе `rtKit` на восьми языках (en, ru, de, ko, th, hi, zh-Hans,
85
- zh-Hant); везут их `RT_KIT_TRANSLATIONS` и `provideRtKitTranslations()`. Свою подпись приложение
86
- кладёт поверх, передав словарь тем же провайдером; им же добавляется язык, которого в пакете нет.
79
+ **Подписи** — 131 ключ: кнопки диалогов, тексты ошибок поля, расшифровки иконок для
80
+ скринридера. Своего языка у кита нет и быть не может — его знает приложение.
87
81
 
88
- Читаются только языки, заявленные в `availableLangs` приложения: язык вне этого списка Transloco
89
- считает не языком, а именем скоупа, и подписи по нему не найдёт.
82
+ Без единой настройки кит рисует английский набор, вшитый умолчанием: пустая `aria`-подпись
83
+ означала бы кнопку без имени для скринридера, а это хуже чужого языка. Свои подписи приложение
84
+ отдаёт функцией-переводчиком:
85
+
86
+ ```typescript
87
+ import { provideRtKitLabels, RtKitLabelKey, RtKitLabelParams } from '@rt-tools/ui-kit-v2';
88
+
89
+ provideRtKitLabels({
90
+ translator: computed(() => (key: RtKitLabelKey, params?: RtKitLabelParams) => myDictionary(key, params)),
91
+ locale: myLocale, // Signal<string>; ею кит форматирует даты
92
+ });
93
+ ```
94
+
95
+ Способ доставки — дело приложения: Transloco, `$localize`, собственный словарь. Кит знает
96
+ только ключи (`RtKitLabelKey` — перечень выводится из английского набора, поэтому опечатка не
97
+ доживает до рантайма) и то, что на них отвечают готовой строкой: подстановки вида `{{name}}`
98
+ переводчик делает сам. Подпись, которой он не дал, берётся английской — поштучно, не набором.
90
99
 
91
100
  ## Свой логотип
92
101