@rt-tools/ui-kit-v2 0.38.0 → 0.39.1

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 (89) hide show
  1. package/fesm2022/rt-tools-ui-kit-v2-aside.mjs +45 -7
  2. package/fesm2022/rt-tools-ui-kit-v2-aside.mjs.map +1 -1
  3. package/fesm2022/rt-tools-ui-kit-v2-autocomplete.mjs +2 -2
  4. package/fesm2022/rt-tools-ui-kit-v2-autocomplete.mjs.map +1 -1
  5. package/fesm2022/rt-tools-ui-kit-v2-core.mjs +3 -0
  6. package/fesm2022/rt-tools-ui-kit-v2-core.mjs.map +1 -1
  7. package/fesm2022/rt-tools-ui-kit-v2-data-list.mjs +10 -7
  8. package/fesm2022/rt-tools-ui-kit-v2-data-list.mjs.map +1 -1
  9. package/fesm2022/rt-tools-ui-kit-v2-data-table.mjs +45 -44
  10. package/fesm2022/rt-tools-ui-kit-v2-data-table.mjs.map +1 -1
  11. package/fesm2022/rt-tools-ui-kit-v2-date-picker.mjs +2 -2
  12. package/fesm2022/rt-tools-ui-kit-v2-date-picker.mjs.map +1 -1
  13. package/fesm2022/rt-tools-ui-kit-v2-date-range.mjs +2 -2
  14. package/fesm2022/rt-tools-ui-kit-v2-date-range.mjs.map +1 -1
  15. package/fesm2022/rt-tools-ui-kit-v2-field.mjs +2 -2
  16. package/fesm2022/rt-tools-ui-kit-v2-field.mjs.map +1 -1
  17. package/fesm2022/rt-tools-ui-kit-v2-form-control.mjs +4 -1
  18. package/fesm2022/rt-tools-ui-kit-v2-form-control.mjs.map +1 -1
  19. package/fesm2022/rt-tools-ui-kit-v2-icon.mjs +10 -0
  20. package/fesm2022/rt-tools-ui-kit-v2-icon.mjs.map +1 -1
  21. package/fesm2022/rt-tools-ui-kit-v2-input-number.mjs +2 -2
  22. package/fesm2022/rt-tools-ui-kit-v2-input-number.mjs.map +1 -1
  23. package/fesm2022/rt-tools-ui-kit-v2-input.mjs +2 -2
  24. package/fesm2022/rt-tools-ui-kit-v2-message.mjs +3 -3
  25. package/fesm2022/rt-tools-ui-kit-v2-message.mjs.map +1 -1
  26. package/fesm2022/rt-tools-ui-kit-v2-multiselect.mjs +4 -4
  27. package/fesm2022/rt-tools-ui-kit-v2-multiselect.mjs.map +1 -1
  28. package/fesm2022/rt-tools-ui-kit-v2-page-header.mjs +2 -2
  29. package/fesm2022/rt-tools-ui-kit-v2-page-header.mjs.map +1 -1
  30. package/fesm2022/rt-tools-ui-kit-v2-popover.mjs +22 -6
  31. package/fesm2022/rt-tools-ui-kit-v2-popover.mjs.map +1 -1
  32. package/fesm2022/rt-tools-ui-kit-v2-profile-menu.mjs +9 -5
  33. package/fesm2022/rt-tools-ui-kit-v2-profile-menu.mjs.map +1 -1
  34. package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs +2 -1
  35. package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs.map +1 -1
  36. package/fesm2022/rt-tools-ui-kit-v2-table-core.mjs +101 -0
  37. package/fesm2022/rt-tools-ui-kit-v2-table-core.mjs.map +1 -0
  38. package/fesm2022/rt-tools-ui-kit-v2-table.mjs +39 -38
  39. package/fesm2022/rt-tools-ui-kit-v2-table.mjs.map +1 -1
  40. package/fesm2022/rt-tools-ui-kit-v2-tabs.mjs +41 -4
  41. package/fesm2022/rt-tools-ui-kit-v2-tabs.mjs.map +1 -1
  42. package/fesm2022/rt-tools-ui-kit-v2-toolbar.mjs +342 -17
  43. package/fesm2022/rt-tools-ui-kit-v2-toolbar.mjs.map +1 -1
  44. package/fesm2022/rt-tools-ui-kit-v2-workspace-details.mjs +2 -0
  45. package/fesm2022/rt-tools-ui-kit-v2-workspace-details.mjs.map +1 -1
  46. package/package.json +5 -1
  47. package/src/assets/icons-material/bookmark.fill.svg +5 -0
  48. package/src/assets/icons-material/bookmark.svg +5 -0
  49. package/src/assets/icons-material/flag.fill.svg +3 -0
  50. package/src/assets/icons-material/flag.svg +5 -0
  51. package/src/lib/components/aside/CONTEXT.md +4 -1
  52. package/src/lib/components/aside/footer/CONTEXT.md +27 -0
  53. package/src/lib/components/aside/footer/rt-aside-footer.component.scss +8 -3
  54. package/src/lib/components/aside/header/rt-aside-header.component.scss +15 -4
  55. package/src/lib/components/button/rt-button.directive.scss +5 -1
  56. package/src/lib/components/data-table/CONTEXT.md +8 -2
  57. package/src/lib/components/field/CONTEXT.md +4 -2
  58. package/src/lib/components/field/rt-field.component.scss +14 -0
  59. package/src/lib/components/form-control/CONTEXT.md +13 -8
  60. package/src/lib/components/input/rt-input.component.scss +4 -0
  61. package/src/lib/components/message/CONTEXT.md +1 -1
  62. package/src/lib/components/message/rt-message.component.scss +2 -1
  63. package/src/lib/components/multiselect/rt-multiselect.component.scss +21 -0
  64. package/src/lib/components/popover/CONTEXT.md +3 -0
  65. package/src/lib/components/profile-menu/CONTEXT.md +4 -0
  66. package/src/lib/components/profile-menu/rt-profile-menu.component.scss +11 -0
  67. package/src/lib/components/service-block/stories/component/test-service-block-panel.component.scss +29 -0
  68. package/src/lib/components/table/CONTEXT.md +3 -0
  69. package/src/lib/components/table/copy-cell/CONTEXT.md +32 -0
  70. package/src/lib/components/table/copy-cell/rt-copy-cell.component.scss +26 -0
  71. package/src/lib/components/tabs/CONTEXT.md +19 -16
  72. package/src/lib/components/tabs/rt-tabs.component.scss +25 -1
  73. package/src/lib/components/toolbar/CONTEXT.md +21 -4
  74. package/src/lib/components/toolbar/filters-aside/rt-toolbar-filters-aside.component.scss +22 -0
  75. package/src/lib/components/toolbar/rt-toolbar.component.scss +12 -0
  76. package/src/styles/_form.scss +10 -0
  77. package/src/styles/_semantic.scss +2 -1
  78. package/styles/tokens.css +29 -9
  79. package/types/rt-tools-ui-kit-v2-aside.d.ts +21 -2
  80. package/types/rt-tools-ui-kit-v2-core.d.ts +21 -5
  81. package/types/rt-tools-ui-kit-v2-data-table.d.ts +23 -9
  82. package/types/rt-tools-ui-kit-v2-form-control.d.ts +2 -2
  83. package/types/rt-tools-ui-kit-v2-message.d.ts +1 -1
  84. package/types/rt-tools-ui-kit-v2-popover.d.ts +3 -1
  85. package/types/rt-tools-ui-kit-v2-profile-menu.d.ts +6 -1
  86. package/types/rt-tools-ui-kit-v2-table-core.d.ts +76 -0
  87. package/types/rt-tools-ui-kit-v2-table.d.ts +21 -18
  88. package/types/rt-tools-ui-kit-v2-tabs.d.ts +26 -0
  89. package/types/rt-tools-ui-kit-v2-toolbar.d.ts +79 -2
@@ -1,5 +1,19 @@
1
1
  import * as i0 from "@angular/core";
2
- import { InputSignalWithTransform, Signal, TemplateRef } from "@angular/core";
2
+ import { InputSignalWithTransform, OutputEmitterRef, Signal, TemplateRef } from "@angular/core";
3
+ export declare namespace IRtToolbar {
4
+ /** Где нарисован слот отборов: в полосе широкого экрана или в панели узкого. */
5
+ type TFiltersPlace = 'bar' | 'panel';
6
+ /** Контекст шаблона `rtToolbarFilters`: полю в панели нужна подпись над ним, полю в полосе — нет. */
7
+ interface IFiltersContext {
8
+ $implicit: TFiltersPlace;
9
+ }
10
+ /** Данные панели отборов: шаблон слота и два нажатия подвала. */
11
+ interface IFiltersPanelData {
12
+ template: TemplateRef<IFiltersContext>;
13
+ reset: () => void;
14
+ apply: () => void;
15
+ }
16
+ }
3
17
  /**
4
18
  * Маркер-директива для контента в левой секции тулбара.
5
19
  *
@@ -48,7 +62,35 @@ export declare class RtToolbarRightDirective {
48
62
  static ɵfac: i0.ɵɵFactoryDeclaration<RtToolbarRightDirective, never>;
49
63
  static ɵdir: i0.ɵɵDirectiveDeclaration<RtToolbarRightDirective, "[rtToolbarRight]", never, {}, {}, never, never, true, never>;
50
64
  }
65
+ /**
66
+ * Маркер-директива для отборов списка. На широком экране они стоят в левой секции после её
67
+ * содержимого, на узком — за кнопкой фильтров, которая открывает панель отборов. Контекст шаблона
68
+ * — место, где он нарисован: `bar` или `panel`.
69
+ *
70
+ * @example
71
+ * ```html
72
+ * <rt-toolbar [filtersActive]="hasFilter()" (filtersReset)="reset()">
73
+ * <ng-template rtToolbarFilters let-place>
74
+ * <rt-select [label]="place === 'panel' ? 'Статус' : null" … />
75
+ * </ng-template>
76
+ * </rt-toolbar>
77
+ * ```
78
+ */
79
+ export declare class RtToolbarFiltersDirective {
80
+ static ngTemplateContextGuard(_directive: RtToolbarFiltersDirective, context: unknown): context is IRtToolbar.IFiltersContext;
81
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtToolbarFiltersDirective, never>;
82
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtToolbarFiltersDirective, "[rtToolbarFilters]", never, {}, {}, never, never, true, never>;
83
+ }
51
84
  export declare class RtToolbarComponent {
85
+ #private;
86
+ protected readonly filtersLabel: Signal<string>;
87
+ /** Имя кнопки для скринридера: точку в углу он не видит, и включённый отбор назван словами. */
88
+ protected readonly filtersAriaLabel: Signal<string>;
89
+ protected readonly filtersTpl: Signal<TemplateRef<IRtToolbar.IFiltersContext> | undefined>;
90
+ /** Отборы ушли за кнопку: они объявлены, а место узкое. */
91
+ protected readonly collapsed: Signal<boolean>;
92
+ /** Отборы стоят в левой секции: они объявлены, а место широкое. */
93
+ protected readonly filtersInBar: Signal<boolean>;
52
94
  protected readonly leftTpl: Signal<TemplateRef<unknown> | undefined>;
53
95
  protected readonly centerTpl: Signal<TemplateRef<unknown> | undefined>;
54
96
  protected readonly rightTpl: Signal<TemplateRef<unknown> | undefined>;
@@ -58,6 +100,14 @@ export declare class RtToolbarComponent {
58
100
  * ≤768px, что для узкой шапки (напр. rt-chat) неверно.
59
101
  */
60
102
  readonly dense: InputSignalWithTransform<boolean, boolean | string>;
103
+ /** Включён хотя бы один отбор: кнопка фильтров узкого экрана несёт точку в углу значка. */
104
+ readonly filtersActive: InputSignalWithTransform<boolean, boolean | string>;
105
+ /** Нажата «Применить» панели отборов; панель после этого закрыта. */
106
+ readonly filtersApply: OutputEmitterRef<void>;
107
+ /** Нажата «Сбросить» панели отборов; панель остаётся открытой. */
108
+ readonly filtersReset: OutputEmitterRef<void>;
109
+ constructor();
110
+ protected openFilters(): void;
61
111
  static ɵfac: i0.ɵɵFactoryDeclaration<RtToolbarComponent, never>;
62
112
  static ɵcmp: i0.ɵɵComponentDeclaration<RtToolbarComponent, "rt-toolbar", never, {
63
113
  "dense": {
@@ -65,5 +115,32 @@ export declare class RtToolbarComponent {
65
115
  "required": false;
66
116
  "isSignal": true;
67
117
  };
68
- }, {}, ["leftTpl", "centerTpl", "rightTpl"], never, true, never>;
118
+ "filtersActive": {
119
+ "alias": "filtersActive";
120
+ "required": false;
121
+ "isSignal": true;
122
+ };
123
+ }, {
124
+ "filtersApply": "filtersApply";
125
+ "filtersReset": "filtersReset";
126
+ }, ["filtersTpl", "leftTpl", "centerTpl", "rightTpl"], never, true, never>;
127
+ }
128
+ /**
129
+ * Панель отборов полосы `rt-toolbar` на узком экране.
130
+ *
131
+ * Её поднимает кнопка фильтров полосы службой боковых панелей кита. В теле — слот
132
+ * `rtToolbarFilters` с контекстом `panel`; шапка — заголовок «Фильтры» и стрелка возврата, без
133
+ * надзаголовка и действий; подвал — «Сбросить» и «Применить» по краям. «Сбросить» сообщает о себе
134
+ * и оставляет панель открытой, «Применить» сообщает и закрывает, стрелка закрывает молча.
135
+ */
136
+ export declare class RtToolbarFiltersAsideComponent {
137
+ #private;
138
+ protected readonly data: IRtToolbar.IFiltersPanelData;
139
+ protected readonly title: Signal<string>;
140
+ protected readonly resetLabel: Signal<string>;
141
+ protected readonly applyLabel: Signal<string>;
142
+ protected onReset(): void;
143
+ protected onApply(): void;
144
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtToolbarFiltersAsideComponent, never>;
145
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtToolbarFiltersAsideComponent, "rt-toolbar-filters-aside", never, {}, {}, never, never, true, never>;
69
146
  }