@rt-tools/ui-kit-v2 0.41.0 → 0.43.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 (56) hide show
  1. package/fesm2022/rt-tools-ui-kit-v2-calendar.mjs +4 -4
  2. package/fesm2022/rt-tools-ui-kit-v2-calendar.mjs.map +1 -1
  3. package/fesm2022/rt-tools-ui-kit-v2-core.mjs +22 -0
  4. package/fesm2022/rt-tools-ui-kit-v2-core.mjs.map +1 -1
  5. package/fesm2022/rt-tools-ui-kit-v2-date-picker.mjs +155 -100
  6. package/fesm2022/rt-tools-ui-kit-v2-date-picker.mjs.map +1 -1
  7. package/fesm2022/rt-tools-ui-kit-v2-date-range.mjs +2 -2
  8. package/fesm2022/rt-tools-ui-kit-v2-date-range.mjs.map +1 -1
  9. package/fesm2022/rt-tools-ui-kit-v2-page-header.mjs +1778 -18
  10. package/fesm2022/rt-tools-ui-kit-v2-page-header.mjs.map +1 -1
  11. package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs +22 -5
  12. package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs.map +1 -1
  13. package/fesm2022/rt-tools-ui-kit-v2-stepper.mjs +34 -11
  14. package/fesm2022/rt-tools-ui-kit-v2-stepper.mjs.map +1 -1
  15. package/fesm2022/rt-tools-ui-kit-v2-tabs.mjs +725 -47
  16. package/fesm2022/rt-tools-ui-kit-v2-tabs.mjs.map +1 -1
  17. package/fesm2022/rt-tools-ui-kit-v2-workspace-details.mjs +6 -0
  18. package/fesm2022/rt-tools-ui-kit-v2-workspace-details.mjs.map +1 -1
  19. package/fesm2022/rt-tools-ui-kit-v2-workspace.mjs +217 -6
  20. package/fesm2022/rt-tools-ui-kit-v2-workspace.mjs.map +1 -1
  21. package/package.json +1 -1
  22. package/src/lib/components/calendar/CONTEXT.md +4 -2
  23. package/src/lib/components/calendar/rt-calendar.component.scss +29 -2
  24. package/src/lib/components/date-picker/CONTEXT.md +5 -0
  25. package/src/lib/components/date-picker/panel/CONTEXT.md +42 -0
  26. package/src/lib/components/date-picker/panel/rt-date-panel.component.scss +55 -2
  27. package/src/lib/components/page-header/CONTEXT.md +35 -1
  28. package/src/lib/components/page-header/bar/rt-page-bar.component.scss +161 -0
  29. package/src/lib/components/page-header/rail/rt-page-actions.component.scss +115 -0
  30. package/src/lib/components/page-header/rail/rt-page-phone-menu.component.scss +129 -0
  31. package/src/lib/components/page-header/rail/rt-page-rail.component.scss +281 -0
  32. package/src/lib/components/page-header/rail/rt-page-user.component.scss +76 -0
  33. package/src/lib/components/page-header/rt-page-header.component.scss +5 -0
  34. package/src/lib/components/page-header/stories/component/test-page-header-vertical.component.scss +72 -0
  35. package/src/lib/components/page-header/stories/component/test-page-table.component.scss +81 -0
  36. package/src/lib/components/page-header/user/rt-page-header-user.component.scss +6 -0
  37. package/src/lib/components/stepper/CONTEXT.md +34 -2
  38. package/src/lib/components/stepper/rt-stepper.component.scss +62 -43
  39. package/src/lib/components/tabs/CONTEXT.md +30 -1
  40. package/src/lib/components/tabs/rt-tabs-arrows.scss +140 -0
  41. package/src/lib/components/tabs/rt-tabs-more-menu.scss +126 -0
  42. package/src/lib/components/tabs/rt-tabs-more.component.scss +29 -0
  43. package/src/lib/components/tabs/rt-tabs.component.scss +18 -61
  44. package/src/lib/components/workspace/CONTEXT.md +11 -1
  45. package/src/lib/components/workspace/rt-workspace.component.scss +51 -3
  46. package/src/rich-editor/lib/components/chat/CONTEXT.md +12 -2
  47. package/src/rich-editor/lib/components/chat/rt-chat-messenger.scss +9 -3
  48. package/src/rich-editor/lib/components/chat/rt-chat-translation.scss +92 -0
  49. package/types/rt-tools-ui-kit-v2-calendar.d.ts +13 -1
  50. package/types/rt-tools-ui-kit-v2-core.d.ts +9 -1
  51. package/types/rt-tools-ui-kit-v2-date-picker.d.ts +157 -5
  52. package/types/rt-tools-ui-kit-v2-page-header.d.ts +202 -2
  53. package/types/rt-tools-ui-kit-v2-rich-editor.d.ts +25 -0
  54. package/types/rt-tools-ui-kit-v2-stepper.d.ts +20 -6
  55. package/types/rt-tools-ui-kit-v2-tabs.d.ts +120 -1
  56. package/types/rt-tools-ui-kit-v2-workspace.d.ts +33 -1
@@ -11,6 +11,12 @@ export declare namespace IRtStepper {
11
11
  type Orientation = 'horizontal' | 'vertical';
12
12
  /** Состояние шага в вертикальном списке; `neutral` — у всех шагов, когда текущего нет. */
13
13
  type StepState = 'complete' | 'current' | 'upcoming' | 'neutral';
14
+ /** Отрезок полосы под подписью текущего шага: начало и ширина в процентах, выравнивание в нём. */
15
+ interface LabelSegment {
16
+ readonly start: number;
17
+ readonly size: number;
18
+ readonly anchor: 'start' | 'center' | 'end';
19
+ }
14
20
  /** Обстановка шаблона подписи: шаг и его номер с нуля. */
15
21
  interface LabelContext {
16
22
  readonly $implicit: Step;
@@ -47,8 +53,11 @@ interface IStepItem {
47
53
  * текущего шага. Шаги задаются через input `steps` (массив `IRtStepper.Step`
48
54
  * со связкой label + description), активный шаг — через `currentIndex`.
49
55
  *
50
- * Активная точка увеличена и подсвечивается янтарным; над ней висит подпись
51
- * текущего шага (тоже янтарная, выравнивается по краю на крайних шагах).
56
+ * Активная точка увеличена и подсвечивается янтарным; над ней стоит подпись
57
+ * текущего шага (тоже янтарная): по центру над точкой, на крайних шагах у края
58
+ * полосы, у среднего шага возле края — тоже у ближнего края. За полосу подпись не
59
+ * выходит, длинная переносится. Полоса тянется по ширине места, шагов сколько угодно;
60
+ * отступ точек от краёв задаёт приложение свойством `--rt-stepper-inset`.
52
61
  * Пройденные точки и заполненная часть полосы — progress-цвет; будущие точки
53
62
  * и трек — приглушённый цвет (в dark-теме оба ухода от яркого синего). Под
54
63
  * полосой — описание текущего шага, многоабзацное (`\n\n`). Сам список названий
@@ -79,11 +88,16 @@ export declare class RtStepperComponent {
79
88
  */
80
89
  protected readonly items: Signal<readonly IStepItem[]>;
81
90
  /**
82
- * Якорь подписи текущего шага: подпись висит над активной точкой и не должна
83
- * вылезать за края рельсы. Первый шаг — выравнивание по левому краю точки,
84
- * последний — по правому, остальные центрируются над точкой.
91
+ * Отрезок полосы под подписью текущего шага: подпись центрирована над точкой и не выходит за
92
+ * полосу, на первом шаге прижата к началу, на последнем к концу. Средний шаг, у которого над
93
+ * точкой меньше половины полосы, прижимается к ближнему краю. Считает чистая функция рядом.
94
+ */
95
+ protected readonly labelSegment: Signal<IRtStepper.LabelSegment>;
96
+ /**
97
+ * Состояние каждой точки по зажатому номеру — тому же, что у подписи и заполнения: при номере
98
+ * за пределами набора текущей становится последняя точка, а не ни одна.
85
99
  */
86
- protected readonly labelAnchor: Signal<'start' | 'center' | 'end'>;
100
+ protected readonly points: Signal<readonly IRtStepper.StepState[]>;
87
101
  /** Абзацы описания текущего шага: бэк отдаёт плоскую строку, делим по `\n\n`. */
88
102
  protected readonly descriptionParagraphs: Signal<readonly string[]>;
89
103
  readonly steps: InputSignal<readonly IRtStepper.Step[]>;
@@ -17,12 +17,57 @@ export declare namespace IRtTabs {
17
17
  * переводят фокус, а открывают Enter и Space.
18
18
  */
19
19
  type Activation = 'auto' | 'manual';
20
+ /** Что делать, когда вкладки не встают: прокручивать полосу (`scroll`) или уносить лишние в меню (`more`). */
21
+ type Overflow = 'scroll' | 'more';
22
+ /** У каких вкладок ряда виден крестик. */
23
+ type CloseOn = 'all' | 'selected';
24
+ /** Контекст шаблона меню вкладки: id вкладки, на которой нажали правую кнопку. */
25
+ interface ContextMenuContext {
26
+ readonly $implicit: Id;
27
+ }
28
+ /** Что нужно ряду от полосы. Тип вкладки — параметр: директива сама читает эту модель. */
29
+ interface MoreRowDeps<TAB> {
30
+ readonly enabled: Signal<boolean>;
31
+ readonly visible: Signal<readonly TAB[]>;
32
+ readonly selectedId: Signal<Id | null>;
33
+ readonly limit: Signal<number>;
34
+ }
35
+ /** Вкладка ряда с замеренной шириной: вход подбора ряда в режиме «Ещё». */
36
+ interface MoreSlot {
37
+ readonly id: Id;
38
+ readonly width: number;
39
+ readonly pinned: boolean;
40
+ }
41
+ /** Замеры полосы: всё, из чего подбирается ряд. */
42
+ interface MoreFit {
43
+ readonly slots: ReadonlyArray<MoreSlot>;
44
+ readonly selectedId: Id | null;
45
+ readonly moreWidth: number;
46
+ readonly available: number;
47
+ /** Сколько вкладок вместе с закреплёнными может стоять в ряду; без значения — сколько влезет. */
48
+ readonly limit?: number;
49
+ }
50
+ /** Видимость стрелок прокрутки у краёв полосы. */
51
+ interface RestShown {
52
+ readonly before: boolean;
53
+ readonly after: boolean;
54
+ }
55
+ /** Раскладка: ряд в порядке показа и вкладки меню в порядке объявления. */
56
+ interface MoreLayout {
57
+ readonly row: ReadonlyArray<Id>;
58
+ readonly more: ReadonlyArray<Id>;
59
+ }
20
60
  /**
21
61
  * Где стоят стрелки прокрутки переполненной полосы: `overlay` — поверх вкладок, только в ту
22
62
  * сторону, куда можно прокрутить; `inline` — обе в своих местах по краям, полоса между ними уже,
23
63
  * стрелка в сторону, куда прокручивать некуда, неактивна.
24
64
  */
25
65
  type ScrollArrows = 'overlay' | 'inline';
66
+ /**
67
+ * Вид стрелки прокрутки: `block` — квадрат во всю высоту полосы, базовый вид вкладок;
68
+ * `compact` — кнопка 24 со скруглением и тенью, под которой текст крайней вкладки гаснет.
69
+ */
70
+ type ArrowLook = 'block' | 'compact';
26
71
  /**
27
72
  * На сколько сдвигает полосу одно нажатие на стрелку: `fixed` — на 80 px, как прежде; `page` —
28
73
  * на видимую ширину, `third` — на её треть, как у Material.
@@ -105,6 +150,10 @@ export declare class RtTabDirective {
105
150
  readonly tooltip: InputSignal<string>;
106
151
  /** Вкладку можно закрыть: крестик в шапке и клавиша Delete поднимают `tabClose` у `rt-tabs`. */
107
152
  readonly closable: InputSignalWithTransform<boolean, BooleanInput>;
153
+ /** Закреплённая вкладка: в режиме «Ещё» стоит первой и в меню не уходит. */
154
+ readonly pinned: InputSignalWithTransform<boolean, BooleanInput>;
155
+ /** Пункты меню вкладки по правой кнопке. Нет шаблона — у вкладки остаётся меню браузера. */
156
+ readonly contextMenu: InputSignal<TemplateRef<IRtTabs.ContextMenuContext> | null>;
108
157
  /** Подсказка крестика закрываемой вкладки. Пусто — подсказки нет. */
109
158
  readonly closeTooltip: InputSignal<string>;
110
159
  /** Сторона подсказки крестика. Не задана — сторона подсказки по умолчанию. */
@@ -132,6 +181,8 @@ export declare class RtTabDirective {
132
181
  * Крестик — отдельная кнопка, и без имени диктор назвал бы её просто «кнопка».
133
182
  */
134
183
  readonly closeLabel: Signal<string>;
184
+ /** Какая иконка рисуется: своя, а у закреплённой без своей — кнопка закрепления. */
185
+ readonly shownIcon: Signal<IRtIcon.Name | null>;
135
186
  /** У вкладки есть иконка — по имени кита или по значку Material. */
136
187
  readonly hasIcon: Signal<boolean>;
137
188
  /** Бейдж стоит над иконкой: попросили `overlay`, бейдж есть и есть над чем стоять. */
@@ -225,6 +276,16 @@ export declare class RtTabDirective {
225
276
  "required": false;
226
277
  "isSignal": true;
227
278
  };
279
+ "pinned": {
280
+ "alias": "pinned";
281
+ "required": false;
282
+ "isSignal": true;
283
+ };
284
+ "contextMenu": {
285
+ "alias": "contextMenu";
286
+ "required": false;
287
+ "isSignal": true;
288
+ };
228
289
  "closeTooltip": {
229
290
  "alias": "closeTooltip";
230
291
  "required": false;
@@ -242,6 +303,8 @@ export declare class RtTabDirective {
242
303
  * `ease-in-out` и `cubic-bezier(…)`. Непонятное значение читается как `ease-out`.
243
304
  */
244
305
  declare function rtTabsEasing(value: string): (progress: number) => number;
306
+ /** Какие стрелки прокрутки видны у полосы: есть куда прокручивать назад и вперёд. */
307
+ declare function rtTabsRestShown(list: HTMLElement): IRtTabs.RestShown;
245
308
  /** Куда прокрутить полосу нажатием на стрелку: на шаг `step` от `from`, не дальше края. */
246
309
  declare function rtTabsPageTarget(list: HTMLElement, from: number, back: boolean, step: IRtTabs.ScrollStep): number;
247
310
  /**
@@ -261,6 +324,8 @@ declare class RtTabsScroller {
261
324
  constructor(win: Window | null, host: HTMLElement, list: () => ElementRef<HTMLElement> | undefined);
262
325
  /** Положение, от которого считать следующий шаг: цель идущей прокрутки или текущее. */
263
326
  from(): number;
327
+ /** Ставит полосу на цель: сразу (`instant`) или плавно. `null` — вкладка уже видна целиком. */
328
+ place(target: number | null, instant: boolean): void;
264
329
  /** Прокручивает полосу к `left`; новая прокрутка заменяет идущую. */
265
330
  to(left: number): void;
266
331
  /**
@@ -312,6 +377,26 @@ export declare class RtTabsControlDirective {
312
377
  };
313
378
  }, {}, never, never, true, never>;
314
379
  }
380
+ /** Сколько вкладок по умолчанию стоит в ряду режима «Ещё». */
381
+ declare const RT_TABS_MORE_LIMIT: number;
382
+ /** Модификатор полосы на время замера: растянутые вкладки сжимаются до своего содержимого. */
383
+ declare const RT_TABS_MEASURE_CLASS: string;
384
+ /**
385
+ * Ряд вкладок в режиме «Ещё»: замеряет полосу, отдаёт решение чистой функции и держит раскладку.
386
+ * Вкладка из меню остаётся в разметке, только скрытая: её ширину ряд читает при каждом пересчёте.
387
+ */
388
+ declare class RtTabsMoreRow {
389
+ #private;
390
+ /** Вкладки меню. */
391
+ readonly ids: Signal<ReadonlySet<IRtTabs.Id>>;
392
+ /** Место вкладки в ряду: порядок показа расходится с порядком объявления. */
393
+ readonly order: Signal<ReadonlyMap<IRtTabs.Id, number>>;
394
+ /** Вкладки меню в порядке объявления. */
395
+ readonly moreTabs: Signal<readonly RtTabDirective[]>;
396
+ /** Вкладки ряда в порядке показа: по ним ходят клавиши, и за ними едет полоса выбранной. */
397
+ readonly rowTabs: Signal<readonly RtTabDirective[]>;
398
+ constructor(win: Window | null, list: Signal<ElementRef<HTMLElement> | undefined>, deps: IRtTabs.MoreRowDeps<RtTabDirective>);
399
+ }
315
400
  /** Признак, по которому пользователь просит обходиться без движения. */
316
401
  declare const RT_TABS_REDUCED_MOTION: string;
317
402
  /** Куда сдвигается содержимое: к вкладке правее (`forward`) или левее (`backward`). */
@@ -457,11 +542,13 @@ export declare class RtTabsComponent {
457
542
  * асинхронную загрузку/смену набора вкладок.
458
543
  */
459
544
  protected readonly selectedId: Signal<IRtTabs.Id | null>;
545
+ /** Режим «Ещё» работает только в горизонтальной полосе. */
546
+ protected readonly moreMode: Signal<boolean>;
460
547
  /** Активная вкладка целиком (для рендера панели). */
461
548
  protected readonly activeTab: Signal<RtTabDirective | null>;
462
549
  /**
463
550
  * Вкладка в таб-порядке: та, на которую стрелками перевели фокус в ручном режиме, иначе
464
- * активная. Фокус на вкладке, которой больше нет или которая отключилась, не держится.
551
+ * активная. Фокус на вкладке, которой больше нет, которая отключилась или ушла в меню, не держится.
465
552
  */
466
553
  protected readonly focusId: Signal<IRtTabs.Id | null>;
467
554
  /** Видны ли стрелки прокрутки слева/справа (только горизонтальная полоса). */
@@ -472,6 +559,8 @@ export declare class RtTabsComponent {
472
559
  protected readonly tabListRef: Signal<ElementRef<HTMLElement> | undefined>;
473
560
  /** Смена панелей: прежняя уходит в сторону, обратную переходу, новая въезжает следом. */
474
561
  protected readonly panels: RtTabsPanels;
562
+ /** Ряд и меню режима «Ещё». */
563
+ protected readonly more: RtTabsMoreRow;
475
564
  /** Полоса выбранной вкладки: одна на всю полосу, переезжает при смене выбора. */
476
565
  protected readonly ink: RtTabsInk;
477
566
  /** Контролируемый активный id. `null` — компонент сам выбирает первую вкладку. */
@@ -482,6 +571,8 @@ export declare class RtTabsComponent {
482
571
  readonly stretch: InputSignalWithTransform<boolean, BooleanInput>;
483
572
  /** Плотные вкладки: отступ 8 по бокам, чтобы в узкую панель влезло больше вкладок */
484
573
  readonly dense: InputSignalWithTransform<boolean, BooleanInput>;
574
+ /** У каких вкладок ряда виден крестик. Строки меню «Ещё» его показывают всегда. */
575
+ readonly closeOn: InputSignal<IRtTabs.CloseOn>;
485
576
  /** Скроллить область контента при переполнении. */
486
577
  readonly contentScrollable: InputSignalWithTransform<boolean, BooleanInput>;
487
578
  /**
@@ -497,8 +588,14 @@ export declare class RtTabsComponent {
497
588
  readonly preserveContent: InputSignalWithTransform<boolean, BooleanInput>;
498
589
  /** Стрелки и Home/End открывают вкладку сразу (`auto`) или только переводят фокус (`manual`). */
499
590
  readonly activation: InputSignal<IRtTabs.Activation>;
591
+ /** Вкладки не встают: полоса прокручивается (`scroll`) или лишние уходят в меню «Ещё» (`more`). */
592
+ readonly overflow: InputSignal<IRtTabs.Overflow>;
593
+ /** Предел вкладок в ряду «Ещё» вместе с закреплёнными; выбранная из меню встаёт на место последней. */
594
+ readonly moreLimit: InputSignalWithTransform<number, unknown>;
500
595
  /** Стрелки прокрутки поверх вкладок (`overlay`) или в своих местах по краям полосы (`inline`). */
501
596
  readonly scrollArrows: InputSignal<IRtTabs.ScrollArrows>;
597
+ /** Вид стрелки: квадрат во всю высоту полосы (`block`) или компактная кнопка 24 (`compact`). */
598
+ readonly arrowLook: InputSignal<IRtTabs.ArrowLook>;
502
599
  /** Шаг нажатия на стрелку: 80 px (`fixed`), видимая ширина полосы (`page`) или её треть (`third`), как у Material. */
503
600
  readonly scrollStep: InputSignal<IRtTabs.ScrollStep>;
504
601
  /**
@@ -519,6 +616,8 @@ export declare class RtTabsComponent {
519
616
  protected selectTab(id: IRtTabs.Id): void;
520
617
  /** Крестик: нажатие не выбирает вкладку; фокус с крестика после закрытия уходит на вкладку, не на страницу. */
521
618
  protected onCloseClick(event: MouseEvent, tab: RtTabDirective): void;
619
+ /** Крестик строки меню: фокус остаётся на месте, выбор не меняется. */
620
+ protected onMoreClose(tab: RtTabDirective): void;
522
621
  /**
523
622
  * Навигация по вкладкам с клавиатуры. Шаг считается от вкладки в фокусе: в ручном режиме она
524
623
  * не совпадает с активной. Enter и Space ловит сама кнопка — они дают click и выбор.
@@ -552,6 +651,11 @@ export declare class RtTabsComponent {
552
651
  "required": false;
553
652
  "isSignal": true;
554
653
  };
654
+ "closeOn": {
655
+ "alias": "closeOn";
656
+ "required": false;
657
+ "isSignal": true;
658
+ };
555
659
  "contentScrollable": {
556
660
  "alias": "contentScrollable";
557
661
  "required": false;
@@ -572,11 +676,26 @@ export declare class RtTabsComponent {
572
676
  "required": false;
573
677
  "isSignal": true;
574
678
  };
679
+ "overflow": {
680
+ "alias": "overflow";
681
+ "required": false;
682
+ "isSignal": true;
683
+ };
684
+ "moreLimit": {
685
+ "alias": "moreLimit";
686
+ "required": false;
687
+ "isSignal": true;
688
+ };
575
689
  "scrollArrows": {
576
690
  "alias": "scrollArrows";
577
691
  "required": false;
578
692
  "isSignal": true;
579
693
  };
694
+ "arrowLook": {
695
+ "alias": "arrowLook";
696
+ "required": false;
697
+ "isSignal": true;
698
+ };
580
699
  "scrollStep": {
581
700
  "alias": "scrollStep";
582
701
  "required": false;
@@ -7,6 +7,8 @@ export declare namespace IRtWorkspace {
7
7
  interface PanelApi {
8
8
  asideCollapsed: Signal<boolean>;
9
9
  asideOpen: Signal<boolean>;
10
+ /** Панель сведений открывается поверх окна боковой панелью с затемнением */
11
+ asideOverlay: Signal<boolean>;
10
12
  toggleAsideCollapsed(): void;
11
13
  openAside(): void;
12
14
  closeAside(): void;
@@ -15,6 +17,12 @@ export declare namespace IRtWorkspace {
15
17
  interface SlotContext {
16
18
  $implicit: PanelApi;
17
19
  }
20
+ /** Что получает панель сведений, открытая поверх окна */
21
+ interface AsideOverlayData {
22
+ template: TemplateRef<SlotContext>;
23
+ context: SlotContext;
24
+ width: number;
25
+ }
18
26
  interface PersistedState {
19
27
  listWidth: number;
20
28
  asideWidth: number;
@@ -43,6 +51,8 @@ export declare class RtWorkspaceAsideDirective {
43
51
  static ɵfac: i0.ɵɵFactoryDeclaration<RtWorkspaceAsideDirective, never>;
44
52
  static ɵdir: i0.ɵɵDirectiveDeclaration<RtWorkspaceAsideDirective, "[rtWorkspaceAside]", never, {}, {}, never, never, true, never>;
45
53
  }
54
+ /** Что принимает вход порога: число, строка атрибута или `null` */
55
+ type TBreakpointInput = number | string | null;
46
56
  export declare class RtWorkspaceComponent implements IRtWorkspace.PanelApi {
47
57
  #private;
48
58
  protected readonly t: Signal<TRtKitLabelMap>;
@@ -51,6 +61,8 @@ export declare class RtWorkspaceComponent implements IRtWorkspace.PanelApi {
51
61
  protected readonly asideSlot: Signal<RtWorkspaceAsideDirective | undefined>;
52
62
  protected readonly resizing: Signal<boolean>;
53
63
  protected readonly slotContext: IRtWorkspace.SlotContext;
64
+ /** Одна колонка по порогу из входа; без входа вид держат стили, и здесь всегда `false` */
65
+ protected readonly singleColumn: Signal<boolean>;
54
66
  readonly storageKey: InputSignal<string | null>;
55
67
  readonly hasActive: InputSignalWithTransform<boolean, BooleanInput>;
56
68
  /** Колонки стоят отдельными карточками с зазором, без линий между ними */
@@ -62,7 +74,16 @@ export declare class RtWorkspaceComponent implements IRtWorkspace.PanelApi {
62
74
  readonly asideMaxWidth: InputSignalWithTransform<number, number | string>;
63
75
  readonly asideDefaultWidth: InputSignalWithTransform<number, number | string>;
64
76
  readonly centerMinWidth: InputSignalWithTransform<number, number | string>;
77
+ /**
78
+ * Порог одной колонки, пиксели места страницы. Без входа порог держат стили: 768. С входом
79
+ * выше порога список и середина стоят рядом, а панель сведений, которой не хватает места
80
+ * третьей колонкой, открывается поверх окна. Порог выше 1080 смысла не имеет.
81
+ */
82
+ readonly singleColumnBreakpoint: InputSignalWithTransform<number | null, TBreakpointInput>;
83
+ /** Ширина панели сведений, открытой поверх окна */
84
+ readonly asideOverlayWidth: InputSignalWithTransform<number, number | string>;
65
85
  readonly backClicked: OutputEmitterRef<void>;
86
+ readonly asideOverlay: Signal<boolean>;
66
87
  readonly listWidth: Signal<number>;
67
88
  readonly asideWidth: Signal<number>;
68
89
  readonly asideCollapsed: Signal<boolean>;
@@ -128,7 +149,18 @@ export declare class RtWorkspaceComponent implements IRtWorkspace.PanelApi {
128
149
  "required": false;
129
150
  "isSignal": true;
130
151
  };
152
+ "singleColumnBreakpoint": {
153
+ "alias": "singleColumnBreakpoint";
154
+ "required": false;
155
+ "isSignal": true;
156
+ };
157
+ "asideOverlayWidth": {
158
+ "alias": "asideOverlayWidth";
159
+ "required": false;
160
+ "isSignal": true;
161
+ };
131
162
  }, {
132
163
  "backClicked": "backClicked";
133
164
  }, ["listSlot", "centerSlot", "asideSlot"], never, true, never>;
134
- }
165
+ }
166
+ export {};