@rt-tools/ui-kit-v2 0.13.0 → 0.14.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 (69) hide show
  1. package/README.md +25 -5
  2. package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs +45 -9
  3. package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs.map +1 -1
  4. package/fesm2022/rt-tools-ui-kit-v2.mjs +2265 -664
  5. package/fesm2022/rt-tools-ui-kit-v2.mjs.map +1 -1
  6. package/package.json +1 -1
  7. package/rt-tools-ui-kit-v2-0.14.0.tgz +0 -0
  8. package/src/lib/components/CONTEXT.md +1 -1
  9. package/src/lib/components/action-bar/rt-action-bar.component.scss +5 -0
  10. package/src/lib/components/autocomplete/rt-autocomplete.component.scss +8 -1
  11. package/src/lib/components/bottom-sheet/rt-bottom-sheet.component.scss +5 -0
  12. package/src/lib/components/button/CONTEXT.md +1 -1
  13. package/src/lib/components/button/rt-button.directive.scss +5 -7
  14. package/src/lib/components/calendar/CONTEXT.md +16 -2
  15. package/src/lib/components/calendar/rt-calendar.component.scss +81 -4
  16. package/src/lib/components/card/rt-card.component.scss +5 -0
  17. package/src/lib/components/checkbox/rt-checkbox.component.scss +11 -0
  18. package/src/lib/components/data-list/settings/rt-data-list-settings-aside.component.scss +1 -1
  19. package/src/lib/components/data-list/toolbar/rt-data-list-toolbar.component.scss +1 -1
  20. package/src/lib/components/data-table/cell/rt-data-table-cell.component.scss +1 -1
  21. package/src/lib/components/data-table/filter-cell/rt-data-table-filter-cell.component.scss +1 -1
  22. package/src/lib/components/data-table/rt-data-table.component.scss +1 -1
  23. package/src/lib/components/date-picker/CONTEXT.md +33 -14
  24. package/src/lib/components/date-picker/panel/rt-date-panel.component.scss +155 -0
  25. package/src/lib/components/date-picker/rt-date-picker.component.scss +18 -2
  26. package/src/lib/components/date-range/CONTEXT.md +53 -0
  27. package/src/lib/components/date-range/panel/rt-date-range-panel.component.scss +103 -0
  28. package/src/lib/components/date-range/rt-date-range.component.scss +120 -0
  29. package/src/lib/components/dialog/rt-dialog.component.scss +5 -0
  30. package/src/lib/components/empty-state/rt-empty-state.component.scss +5 -0
  31. package/src/lib/components/file-card/rt-file-card.component.scss +5 -0
  32. package/src/lib/components/file-drop/rt-file-drop.component.scss +5 -0
  33. package/src/lib/components/header/rt-header.component.scss +5 -0
  34. package/src/lib/components/icon-button/CONTEXT.md +1 -1
  35. package/src/lib/components/icon-button/rt-icon-button.component.scss +9 -29
  36. package/src/lib/components/input/rt-input.component.scss +7 -1
  37. package/src/lib/components/input-number/rt-input-number.component.scss +7 -1
  38. package/src/lib/components/markdown-text/rt-markdown-text.component.scss +5 -0
  39. package/src/lib/components/menu/rt-menu-item.component.scss +5 -0
  40. package/src/lib/components/message/rt-message.component.scss +5 -0
  41. package/src/lib/components/money-list/rt-money-list.component.scss +5 -0
  42. package/src/lib/components/multiselect/CONTEXT.md +12 -5
  43. package/src/lib/components/multiselect/rt-multiselect.component.scss +32 -1
  44. package/src/lib/components/note/rt-note.component.scss +5 -0
  45. package/src/lib/components/notifications-bell/rt-notifications-bell.component.scss +5 -0
  46. package/src/lib/components/pagination/rt-pagination.component.scss +6 -1
  47. package/src/lib/components/radio-button/rt-radio-button.component.scss +5 -0
  48. package/src/lib/components/section-nav/rt-section-nav.component.scss +5 -0
  49. package/src/lib/components/select/CONTEXT.md +10 -7
  50. package/src/lib/components/select/rt-select.component.scss +36 -1
  51. package/src/lib/components/skeleton/CONTEXT.md +14 -16
  52. package/src/lib/components/skeleton/rt-skeleton.component.scss +7 -1
  53. package/src/lib/components/skeleton-wrapper/CONTEXT.md +6 -6
  54. package/src/lib/components/split-button/rt-split-button.component.scss +6 -0
  55. package/src/lib/components/stepper/rt-stepper.component.scss +5 -0
  56. package/src/lib/components/table/rt-table.component.scss +12 -0
  57. package/src/lib/components/tag/CONTEXT.md +14 -15
  58. package/src/lib/components/tag/rt-tag.component.scss +6 -30
  59. package/src/lib/components/textarea/rt-textarea.component.scss +8 -1
  60. package/src/lib/components/thread-list/rt-thread-list.component.scss +5 -0
  61. package/src/lib/components/toggle-button-group/rt-toggle-button-group.component.scss +7 -6
  62. package/src/lib/components/toggle-switch/rt-toggle-switch.component.scss +5 -0
  63. package/src/rich-editor/lib/components/message-composer/CONTEXT.md +11 -1
  64. package/src/rich-editor/lib/components/message-composer/rt-message-composer.component.scss +78 -34
  65. package/src/styles/_mixins.scss +39 -0
  66. package/styles/tokens.css +30 -5
  67. package/types/rt-tools-ui-kit-v2-rich-editor.d.ts +11 -5
  68. package/types/rt-tools-ui-kit-v2.d.ts +394 -109
  69. package/rt-tools-ui-kit-v2-0.13.0.tgz +0 -0
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { WritableSignal, InputSignal, Signal, OutputEmitterRef, Renderer2, InjectionToken, EnvironmentProviders, PipeTransform, InputSignalWithTransform, OnInit, OnDestroy, TemplateRef, ElementRef, DestroyRef, AfterViewChecked, AfterContentInit, ModelSignal, AfterViewInit } from '@angular/core';
2
+ import { WritableSignal, InputSignal, InjectionToken, Signal, OutputEmitterRef, Renderer2, EnvironmentProviders, PipeTransform, InputSignalWithTransform, OnInit, OnDestroy, TemplateRef, ElementRef, DestroyRef, AfterViewChecked, AfterContentInit, ModelSignal, AfterViewInit } from '@angular/core';
3
3
  import { OverlayRef, ComponentType, CdkConnectedOverlay, CdkOverlayOrigin, ConnectedPosition } from '@angular/cdk/overlay';
4
4
  import { Observable, MonoTypeOperatorFunction } from 'rxjs';
5
5
  import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
@@ -116,6 +116,51 @@ declare namespace IRtActionBar {
116
116
  */
117
117
  declare const RT_ACTION_BAR_LEAVE_MS: number;
118
118
 
119
+ /** Один шаг шкалы скругления. Значения шагов лежат в токенах `--rt-radius-<шаг>`. */
120
+ type TRtRadius = 'none' | 'xs' | 'sm' | 'ms' | 'md' | 'lg' | 'xl' | '2xl' | 'full';
121
+ /** Шаги скругления кита — вся шкала, от квадрата до полного круга, по порядку. */
122
+ declare const RT_RADIUS_STEPS: readonly TRtRadius[];
123
+ /**
124
+ * Шаг, который компонент берёт, когда вход скругления пуст.
125
+ *
126
+ * Большинству компонентов он не нужен: их скругление по умолчанию стоит в их
127
+ * собственных стилях. Токен нужен тому, у кого умолчание задаёт приложение, —
128
+ * кнопке, чья настройка кита называет шаг для всех кнопок сразу.
129
+ */
130
+ declare const RT_RADIUS_DEFAULT: InjectionToken<TRtRadius | null>;
131
+
132
+ /**
133
+ * Вход скругления, один на весь кит. Компонент с поверхностью берёт его
134
+ * хост-директивой, и у всех он называется одинаково — `radius`.
135
+ *
136
+ * Шаг ложится на хост атрибутом `data-rt-radius`, а не наследуемым свойством:
137
+ * свойство протекло бы в каждый вложенный компонент, и скруглённая карточка
138
+ * скруглила бы все кнопки в себе. Атрибут читают только правила своего хоста.
139
+ *
140
+ * Пустой вход атрибута не пишет: компонент остаётся со своим скруглением по
141
+ * умолчанию из собственных стилей.
142
+ *
143
+ * @example
144
+ * ```ts
145
+ * @Component({
146
+ * selector: 'rt-card',
147
+ * hostDirectives: [{ directive: RtRadiusDirective, inputs: ['radius'] }],
148
+ * })
149
+ * ```
150
+ * ```html
151
+ * <rt-card radius="none">…</rt-card>
152
+ * ```
153
+ */
154
+ declare class RtRadiusDirective {
155
+ #private;
156
+ /** Шаг шкалы. Пусто — скругление компонента по умолчанию. */
157
+ readonly radius: InputSignal<TRtRadius | null | undefined>;
158
+ /** Шаг на хосте: названный входом, иначе умолчание хоста, если оно задано. */
159
+ readonly step: Signal<TRtRadius | null>;
160
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtRadiusDirective, never>;
161
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtRadiusDirective, "[rtRadius]", never, { "radius": { "alias": "radius"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
162
+ }
163
+
119
164
  /** Действие вместе с готовой записью модификаторов: шаблон методов не зовёт. */
120
165
  interface IActionView {
121
166
  readonly action: IRtActionBar.Action;
@@ -155,7 +200,7 @@ declare class RtActionBarComponent {
155
200
  protected onAction(action: IRtActionBar.Action): void;
156
201
  protected onClose(): void;
157
202
  static ɵfac: i0.ɵɵFactoryDeclaration<RtActionBarComponent, never>;
158
- static ɵcmp: i0.ɵɵComponentDeclaration<RtActionBarComponent, "rt-action-bar", never, { "config": { "alias": "config"; "required": true; "isSignal": true; }; }, { "actionRun": "actionRun"; "closed": "closed"; }, never, never, true, never>;
203
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtActionBarComponent, "rt-action-bar", never, { "config": { "alias": "config"; "required": true; "isSignal": true; }; }, { "actionRun": "actionRun"; "closed": "closed"; }, never, never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
159
204
  }
160
205
 
161
206
  /**
@@ -389,21 +434,6 @@ declare class RtAsideService {
389
434
  */
390
435
  declare const RT_ASIDE_DATA: InjectionToken<unknown>;
391
436
 
392
- /**
393
- * Английские подписи кита — умолчание, а не локализация.
394
- *
395
- * Кит рисует часть текста сам: кнопки диалогов, тексты ошибок поля, расшифровки
396
- * иконок для скринридера. Своего языка у него нет и быть не может — его знает
397
- * приложение и отдаёт функцией-переводчиком (`provideRtKitLabels`). Этот набор
398
- * стоит под ней умолчанием, чтобы кит без единой настройки не рисовал пустоты:
399
- * среди ключей много `aria`-подписей, и пустая там означает кнопку без имени
400
- * для скринридера.
401
- *
402
- * Набор задаёт и **перечень ключей**: `TRtKitLabelKey` выводится отсюда, поэтому
403
- * опечатка в ключе не доживает до рантайма.
404
- *
405
- * Места вида `{{name}}` заполняются параметрами — их принимает `rtKitLabel()`.
406
- */
407
437
  declare const RT_KIT_LABELS_EN: {
408
438
  readonly bottomSheetClose: "Close";
409
439
  readonly chatAttachAria: "Attach a file";
@@ -411,6 +441,7 @@ declare const RT_KIT_LABELS_EN: {
411
441
  readonly chatAttachmentFallback: "Attachment";
412
442
  readonly chatCollapse: "Collapse chat";
413
443
  readonly chatComposerAria: "Message input";
444
+ readonly chatComposerHint: "Enter to send, Shift + Enter for a new line";
414
445
  readonly chatDeleteAria: "Delete message";
415
446
  readonly chatDeleteTooltip: "Delete";
416
447
  readonly chatDropOverlay: "Drop the files to attach them to your message";
@@ -468,6 +499,7 @@ declare const RT_KIT_LABELS_EN: {
468
499
  readonly photoViewerPrev: "Previous photo";
469
500
  readonly themeToggleLabel: "Switch theme";
470
501
  readonly uiActions: "Actions";
502
+ readonly uiApply: "Apply";
471
503
  readonly uiAuditEmptyHint: "Deal events will appear here — stage changes and other actions.";
472
504
  readonly uiBack: "Back";
473
505
  readonly uiBackToList: "Back to list";
@@ -475,6 +507,7 @@ declare const RT_KIT_LABELS_EN: {
475
507
  readonly uiCancel: "Cancel";
476
508
  readonly uiChangeAgent: "Change agent";
477
509
  readonly uiChooseFile: "Choose file";
510
+ readonly uiChooseMonth: "Choose month and year";
478
511
  readonly uiClear: "Clear";
479
512
  readonly uiClearFilters: "Clear filters";
480
513
  readonly uiClose: "Close";
@@ -489,11 +522,18 @@ declare const RT_KIT_LABELS_EN: {
489
522
  readonly uiCopied: "Copied";
490
523
  readonly uiCopy: "Copy";
491
524
  readonly uiCurrentStage: "Current stage";
525
+ readonly uiDate: "Date";
526
+ readonly uiDaysFew: string;
527
+ readonly uiDaysMany: string;
528
+ readonly uiDaysOne: "{{count}} day";
529
+ readonly uiDaysOther: string;
492
530
  readonly uiDetails: "Details";
493
531
  readonly uiDiscardChanges: "Discard Changes";
532
+ readonly uiDone: "Done";
494
533
  readonly uiDownload: "Download";
495
534
  readonly uiDownloadFile: "Download: {{name}}";
496
535
  readonly uiDragColumn: "Drag column";
536
+ readonly uiExpand: "Expand";
497
537
  readonly uiFileDropOverlay: "Drop the files to attach them";
498
538
  readonly uiFilterChoose: "Choose";
499
539
  readonly uiFilterContains: "Contains";
@@ -511,38 +551,54 @@ declare const RT_KIT_LABELS_EN: {
511
551
  readonly uiHidePassword: "Hide password";
512
552
  readonly uiHint: "Hint";
513
553
  readonly uiHistory: "History";
554
+ readonly uiHours: "Hours";
514
555
  readonly uiInviteUser: "Invite user";
515
556
  readonly uiItemsPerPage: "Items per page";
557
+ readonly uiLast30Days: "Last 30 days";
558
+ readonly uiLast7Days: "Last 7 days";
559
+ readonly uiLastMonth: "Last month";
516
560
  readonly uiLiveOnSite: "On the site now";
517
561
  readonly uiLoadMore: "Load more";
518
562
  readonly uiMainNav: "Main navigation";
563
+ readonly uiMinutes: "Minutes";
519
564
  readonly uiMore: "More";
520
565
  readonly uiMoreActions: "More actions";
521
566
  readonly uiMoveStage: "Move";
522
567
  readonly uiMoveStageAria: "Move stage";
523
568
  readonly uiNavMenu: "Navigation menu";
524
569
  readonly uiNavUnread: "Unread";
570
+ readonly uiNextMonth: "Next month";
525
571
  readonly uiNextPage: "Next page";
572
+ readonly uiNextYear: "Next year";
526
573
  readonly uiNightGridAria: "Occupancy grid";
527
574
  readonly uiNoData: "No data yet";
528
575
  readonly uiNoOptions: "No options";
529
576
  readonly uiNoRows: "No data";
530
577
  readonly uiNothingFound: "Nothing found";
531
578
  readonly uiNotifications: "Notifications";
579
+ readonly uiNow: "Now";
580
+ readonly uiOpenCalendar: "Open the calendar";
532
581
  readonly uiPageOf: "Page {{page}} of {{last}}";
533
582
  readonly uiPagination: "Pagination";
534
583
  readonly uiPerPage: "Items per page:";
584
+ readonly uiPeriod: "Period";
535
585
  readonly uiPickAgent: "Select an agent";
536
586
  readonly uiPickAnotherAgent: "Select a different agent";
587
+ readonly uiPickEndDate: "Pick the end date";
588
+ readonly uiPickStartDate: "Pick the start date";
537
589
  readonly uiPickTransition: "Select a transition";
590
+ readonly uiPrevMonth: "Previous month";
538
591
  readonly uiPrevPage: "Previous page";
592
+ readonly uiPrevYear: "Previous year";
539
593
  readonly uiProfile: "Profile";
594
+ readonly uiQuickRanges: "Quick ranges";
540
595
  readonly uiRangeEmpty: "0 of 0";
541
596
  readonly uiRangeOf: "{{from}}–{{to}} of {{total}}";
542
597
  readonly uiRemove: "Delete";
543
598
  readonly uiRename: "Rename";
544
599
  readonly uiReplace: "Replace";
545
600
  readonly uiReplaceAgentTitle: "Replace agent";
601
+ readonly uiReset: "Reset";
546
602
  readonly uiResetDefaults: "Reset to defaults";
547
603
  readonly uiResizeDetails: "Resize details pane";
548
604
  readonly uiResizeList: "Resize list pane";
@@ -557,6 +613,11 @@ declare const RT_KIT_LABELS_EN: {
557
613
  readonly uiSelectValues: "Select values";
558
614
  readonly uiSelectedCount: "Selected: {{count}}";
559
615
  readonly uiSelectedOf: "Selected: {{count}} of {{total}}";
616
+ readonly uiShapeDay: "dd";
617
+ readonly uiShapeHour: "hh";
618
+ readonly uiShapeMinute: "mm";
619
+ readonly uiShapeMonth: "mm";
620
+ readonly uiShapeYear: "yyyy";
560
621
  readonly uiShow: "Show";
561
622
  readonly uiShowColumn: "Show column";
562
623
  readonly uiShowDetails: "Show details";
@@ -567,8 +628,11 @@ declare const RT_KIT_LABELS_EN: {
567
628
  readonly uiTabInvalid: "This tab contains errors";
568
629
  readonly uiTargetStage: "Target stage";
569
630
  readonly uiTargetStageRequired: "Select a target stage.";
631
+ readonly uiThisMonth: "This month";
570
632
  readonly uiThreadListEmptyHint: "New threads will appear here.";
633
+ readonly uiTime: "Time";
571
634
  readonly uiToList: "To list";
635
+ readonly uiToday: "Today";
572
636
  readonly uiUnsavedDiscard: "Close without saving";
573
637
  readonly uiUnsavedMessage: "The panel has edits that have not been saved yet. Choose what to do with them.";
574
638
  readonly uiUnsavedSave: "Save and close";
@@ -576,6 +640,7 @@ declare const RT_KIT_LABELS_EN: {
576
640
  readonly uiUnsavedTitle: "Unsaved changes";
577
641
  readonly uiWelcomeAria: "Welcome message for a new user";
578
642
  readonly uiYearOverYear: "YoY";
643
+ readonly uiYesterday: "Yesterday";
579
644
  };
580
645
 
581
646
  /**
@@ -846,7 +911,7 @@ declare class RtIconRegistry {
846
911
  /**
847
912
  * Контракты `rt-tag` — status pill компонент.
848
913
  * Один корневой неймспейс с префиксом `I`, внутри литеральные union'ы
849
- * для severity / shape, используемые как контракт `input()` сигналов компонента
914
+ * для severity / size / appearance, используемые как контракт `input()` сигналов компонента
850
915
  * и в `argTypes` Storybook.
851
916
  */
852
917
  declare namespace IRtTag {
@@ -857,16 +922,8 @@ declare namespace IRtTag {
857
922
  * размер, каким метка рисовалась до появления ступеней, так что вид без входа не меняется.
858
923
  */
859
924
  type Size = 'sm' | 'md' | 'lg';
860
- /** Форма tag'а: pill (rounded) или square (small radius). */
861
- type Shape = 'pill' | 'square';
862
925
  /** Вид заливки: solid (фон палитры) или outlined (прозрачный фон + рамка цвета палитры). */
863
926
  type Appearance = 'solid' | 'outlined';
864
- /**
865
- * Явное скругление углов поверх `shape`. `null` (дефолт) — радиус берётся
866
- * из `shape`; заданное значение переопределяет. Значения — подмножество
867
- * шкалы `--rt-radius-*`.
868
- */
869
- type Radius = 'none' | 'sm' | 'md' | 'lg' | 'full';
870
927
  }
871
928
 
872
929
  /**
@@ -883,10 +940,8 @@ declare namespace IRtAsideHeader {
883
940
  severity?: IRtTag.Severity;
884
941
  /** Вид заливки. Дефолт потребления — `solid`. */
885
942
  appearance?: IRtTag.Appearance;
886
- /** Форма. Дефолт потребления — `pill`. */
887
- shape?: IRtTag.Shape;
888
- /** Переопределение скругления поверх `shape`. */
889
- radius?: IRtTag.Radius | null;
943
+ /** Шаг скругления метки. Пусто — `md`. */
944
+ radius?: TRtRadius | null;
890
945
  /** Префикс-иконка. */
891
946
  icon?: IRtIcon.Name | null;
892
947
  /**
@@ -1242,7 +1297,7 @@ declare class RtAutocompleteComponent<TItem> extends RtFormControlBase<TItem | n
1242
1297
  protected onSelect(item: TItem): void;
1243
1298
  protected onInputKeydown(event: KeyboardEvent): void;
1244
1299
  static ɵfac: i0.ɵɵFactoryDeclaration<RtAutocompleteComponent<any>, never>;
1245
- static ɵcmp: i0.ɵɵComponentDeclaration<RtAutocompleteComponent<any>, "rt-autocomplete", never, { "suggestions": { "alias": "suggestions"; "required": false; "isSignal": true; }; "displayWith": { "alias": "displayWith"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "iconLeft": { "alias": "iconLeft"; "required": false; "isSignal": true; }; "openOnFocus": { "alias": "openOnFocus"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; }, { "complete": "complete"; "itemSelect": "itemSelect"; }, never, never, true, never>;
1300
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtAutocompleteComponent<any>, "rt-autocomplete", never, { "suggestions": { "alias": "suggestions"; "required": false; "isSignal": true; }; "displayWith": { "alias": "displayWith"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "iconLeft": { "alias": "iconLeft"; "required": false; "isSignal": true; }; "openOnFocus": { "alias": "openOnFocus"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; }, { "complete": "complete"; "itemSelect": "itemSelect"; }, never, never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
1246
1301
  }
1247
1302
 
1248
1303
  /**
@@ -1292,7 +1347,7 @@ declare class RtBottomSheetComponent {
1292
1347
  protected onDragStart(event: PointerEvent): void;
1293
1348
  protected dismiss(): void;
1294
1349
  static ɵfac: i0.ɵɵFactoryDeclaration<RtBottomSheetComponent, never>;
1295
- static ɵcmp: i0.ɵɵComponentDeclaration<RtBottomSheetComponent, "rt-bottom-sheet", never, { "open": { "alias": "open"; "required": true; "isSignal": true; }; }, { "openChange": "openChange"; }, never, ["[sheetHeader]", "*"], true, never>;
1350
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtBottomSheetComponent, "rt-bottom-sheet", never, { "open": { "alias": "open"; "required": true; "isSignal": true; }; }, { "openChange": "openChange"; }, never, ["[sheetHeader]", "*"], true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
1296
1351
  }
1297
1352
 
1298
1353
  /**
@@ -1378,8 +1433,6 @@ declare class RtButtonDirective {
1378
1433
  readonly appearance: InputSignal<IButton.Appearance>;
1379
1434
  /** Размер. Умолчание — из настроек кита. */
1380
1435
  readonly size: InputSignal<IButton.Size>;
1381
- /** Скруглённые углы (умолчание — из настроек кита; без них квадратная, с radius из --rt-btn-radius). */
1382
- readonly rounded: InputSignalWithTransform<boolean, BooleanInput>;
1383
1436
  /** Состояние загрузки: показывает спиннер вместо иконки, блокирует клики. */
1384
1437
  readonly loading: InputSignalWithTransform<boolean, BooleanInput>;
1385
1438
  /** Кастомный CSS-класс иконки в loading. Если null — встроенный CSS-спиннер. */
@@ -1404,7 +1457,7 @@ declare class RtButtonDirective {
1404
1457
  protected get ariaPressed(): string | null;
1405
1458
  protected get hostClasses(): Record<string, boolean>;
1406
1459
  static ɵfac: i0.ɵɵFactoryDeclaration<RtButtonDirective, never>;
1407
- static ɵdir: i0.ɵɵDirectiveDeclaration<RtButtonDirective, "button[rtButton], a[rtButton]", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconPos": { "alias": "iconPos"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingIcon": { "alias": "loadingIcon"; "required": false; "isSignal": true; }; "pressed": { "alias": "pressed"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof RtRippleDirective; inputs: { "rippleDisabled": "rippleDisabled"; }; outputs: {}; }]>;
1460
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtButtonDirective, "button[rtButton], a[rtButton]", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconPos": { "alias": "iconPos"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingIcon": { "alias": "loadingIcon"; "required": false; "isSignal": true; }; "pressed": { "alias": "pressed"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof RtRippleDirective; inputs: { "rippleDisabled": "rippleDisabled"; }; outputs: {}; }, { directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
1408
1461
  }
1409
1462
 
1410
1463
  /**
@@ -1422,7 +1475,9 @@ declare enum ERtCalendarDayState {
1422
1475
  Blocked = "blocked",
1423
1476
  Start = "start",
1424
1477
  End = "end",
1425
- InRange = "in-range"
1478
+ InRange = "in-range",
1479
+ /** Выбранный день одиночного выбора — залит. */
1480
+ Chosen = "chosen"
1426
1481
  }
1427
1482
  declare namespace IRtCalendar {
1428
1483
  /** View-модель дня. `key` — стабильный ключ (ISO-дата). */
@@ -1433,6 +1488,13 @@ declare namespace IRtCalendar {
1433
1488
  sublabel: string;
1434
1489
  state: ERtCalendarDayState;
1435
1490
  disabled: boolean;
1491
+ /** Сегодняшний день — обведён рамкой поверх любого состояния. */
1492
+ today?: boolean;
1493
+ }
1494
+ /** Клавиша сетки, нажатая на дне. */
1495
+ interface GridKey {
1496
+ key: string;
1497
+ day: Day;
1436
1498
  }
1437
1499
  /** View-модель месяца: подпись, пустые ячейки до первого дня, дни. */
1438
1500
  interface Month {
@@ -1444,7 +1506,15 @@ declare namespace IRtCalendar {
1444
1506
  }
1445
1507
 
1446
1508
  declare class RtCalendarComponent {
1509
+ #private;
1447
1510
  protected readonly sublabelSkeletonHeight: string;
1511
+ protected readonly chosenState: ERtCalendarDayState;
1512
+ protected readonly dayButtons: Signal<readonly ElementRef<HTMLButtonElement>[]>;
1513
+ /**
1514
+ * День, что стоит в порядке обхода Tab в режиме сетки: `activeKey`, иначе выбранный, иначе
1515
+ * сегодняшний, иначе первый доступный. Вне режима сетки — `null`, и каждый день обходится Tab.
1516
+ */
1517
+ protected readonly rovingKey: Signal<string | null>;
1448
1518
  readonly months: InputSignal<readonly IRtCalendar.Month[]>;
1449
1519
  readonly weekdayLabels: InputSignal<readonly string[]>;
1450
1520
  readonly canPrev: InputSignalWithTransform<boolean, BooleanInput>;
@@ -1453,12 +1523,31 @@ declare class RtCalendarComponent {
1453
1523
  readonly prevAriaLabel: InputSignal<string>;
1454
1524
  readonly nextAriaLabel: InputSignal<string>;
1455
1525
  readonly sublabelsLoading: InputSignalWithTransform<boolean, BooleanInput>;
1526
+ /**
1527
+ * Режим сетки: один день в обходе Tab, клавиши стрелок, PageUp/PageDown, Home и End уходят
1528
+ * наружу событием `gridKey`, а фокус встаёт на `activeKey`. Выключен — поведение прежнее.
1529
+ */
1530
+ readonly grid: InputSignalWithTransform<boolean, BooleanInput>;
1531
+ /** День с фокусом в режиме сетки, ключ `YYYY-MM-DD`; его ставит consumer по `gridKey`. */
1532
+ readonly activeKey: InputSignal<string | null>;
1533
+ /** Заголовок месяца — кнопка, что шлёт `titleClick`: так consumer открывает выбор месяца. */
1534
+ readonly titleAction: InputSignalWithTransform<boolean, BooleanInput>;
1535
+ /** Заголовок первого месяца стоит в шапке между стрелками, а не над сеткой. */
1536
+ readonly headerTitle: InputSignalWithTransform<boolean, BooleanInput>;
1456
1537
  readonly prevMonth: OutputEmitterRef<void>;
1457
1538
  readonly nextMonth: OutputEmitterRef<void>;
1458
1539
  readonly dayClick: OutputEmitterRef<IRtCalendar.Day>;
1540
+ /** Клавиша сетки на дне: куда перевести фокус, решает consumer. */
1541
+ readonly gridKey: OutputEmitterRef<IRtCalendar.GridKey>;
1542
+ readonly titleClick: OutputEmitterRef<IRtCalendar.Month>;
1543
+ /** День под указателем или с фокусом; `null` — указатель ушёл с месяцев. По нему рисуется будущий диапазон. */
1544
+ readonly dayHover: OutputEmitterRef<IRtCalendar.Day | null>;
1545
+ constructor();
1546
+ protected onDayKey(event: KeyboardEvent, day: IRtCalendar.Day): void;
1547
+ protected onDayHover(day: IRtCalendar.Day): void;
1459
1548
  protected onDayClick(day: IRtCalendar.Day): void;
1460
1549
  static ɵfac: i0.ɵɵFactoryDeclaration<RtCalendarComponent, never>;
1461
- static ɵcmp: i0.ɵɵComponentDeclaration<RtCalendarComponent, "rt-calendar", never, { "months": { "alias": "months"; "required": true; "isSignal": true; }; "weekdayLabels": { "alias": "weekdayLabels"; "required": true; "isSignal": true; }; "canPrev": { "alias": "canPrev"; "required": false; "isSignal": true; }; "canNext": { "alias": "canNext"; "required": false; "isSignal": true; }; "prevAriaLabel": { "alias": "prevAriaLabel"; "required": false; "isSignal": true; }; "nextAriaLabel": { "alias": "nextAriaLabel"; "required": false; "isSignal": true; }; "sublabelsLoading": { "alias": "sublabelsLoading"; "required": false; "isSignal": true; }; }, { "prevMonth": "prevMonth"; "nextMonth": "nextMonth"; "dayClick": "dayClick"; }, never, ["[calendarHint]", "*"], true, never>;
1550
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtCalendarComponent, "rt-calendar", never, { "months": { "alias": "months"; "required": true; "isSignal": true; }; "weekdayLabels": { "alias": "weekdayLabels"; "required": true; "isSignal": true; }; "canPrev": { "alias": "canPrev"; "required": false; "isSignal": true; }; "canNext": { "alias": "canNext"; "required": false; "isSignal": true; }; "prevAriaLabel": { "alias": "prevAriaLabel"; "required": false; "isSignal": true; }; "nextAriaLabel": { "alias": "nextAriaLabel"; "required": false; "isSignal": true; }; "sublabelsLoading": { "alias": "sublabelsLoading"; "required": false; "isSignal": true; }; "grid": { "alias": "grid"; "required": false; "isSignal": true; }; "activeKey": { "alias": "activeKey"; "required": false; "isSignal": true; }; "titleAction": { "alias": "titleAction"; "required": false; "isSignal": true; }; "headerTitle": { "alias": "headerTitle"; "required": false; "isSignal": true; }; }, { "prevMonth": "prevMonth"; "nextMonth": "nextMonth"; "dayClick": "dayClick"; "gridKey": "gridKey"; "titleClick": "titleClick"; "dayHover": "dayHover"; }, never, ["[calendarHint]", "*"], true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
1462
1551
  }
1463
1552
 
1464
1553
  /**
@@ -1490,7 +1579,7 @@ declare class RtCardComponent {
1490
1579
  protected onClick(event: MouseEvent): void;
1491
1580
  protected onKeyActivate(event: Event): void;
1492
1581
  static ɵfac: i0.ɵɵFactoryDeclaration<RtCardComponent, never>;
1493
- static ɵcmp: i0.ɵɵComponentDeclaration<RtCardComponent, "rt-card", never, { "header": { "alias": "header"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; }, { "cardClick": "cardClick"; }, never, ["[rtCardHeader]", "*", "[rtCardFooter]"], true, never>;
1582
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtCardComponent, "rt-card", never, { "header": { "alias": "header"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; }, { "cardClick": "cardClick"; }, never, ["[rtCardHeader]", "*", "[rtCardFooter]"], true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
1494
1583
  }
1495
1584
 
1496
1585
  /**
@@ -1529,7 +1618,7 @@ declare class RtCheckboxComponent implements ControlValueAccessor {
1529
1618
  setDisabledState(disabled: boolean): void;
1530
1619
  protected toggle(): void;
1531
1620
  static ɵfac: i0.ɵɵFactoryDeclaration<RtCheckboxComponent, never>;
1532
- static ɵcmp: i0.ɵɵComponentDeclaration<RtCheckboxComponent, "rt-checkbox", never, { "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
1621
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtCheckboxComponent, "rt-checkbox", never, { "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
1533
1622
  }
1534
1623
 
1535
1624
  declare class RtCollapsibleTextComponent implements OnDestroy {
@@ -3056,6 +3145,23 @@ declare namespace IRtSelect {
3056
3145
  label: string;
3057
3146
  value: TValue;
3058
3147
  disabled?: boolean;
3148
+ /** Дети опции того же вида. Хотя бы одна опция с детьми делает список деревом. */
3149
+ children?: ReadonlyArray<Option<TValue>>;
3150
+ }
3151
+ /** Видимая строка дерева: опция, её уровень и то, ветка ли она и раскрыта ли. */
3152
+ interface Row<TValue> {
3153
+ readonly option: Option<TValue>;
3154
+ readonly level: number;
3155
+ readonly branch: boolean;
3156
+ readonly open: boolean;
3157
+ readonly parent: TValue | null;
3158
+ }
3159
+ /** Сколько включённых листьев ветки выбрано: все, часть или ни одного. */
3160
+ type TBranchState = 'all' | 'some' | 'none';
3161
+ /** Что делать по боковой стрелке: какую ветку переключить и куда увести подсветку. */
3162
+ interface SideKeyAnswer<TValue> {
3163
+ readonly toggle: TValue | null;
3164
+ readonly index: number;
3059
3165
  }
3060
3166
  /**
3061
3167
  * Что кит отдаёт своей разметке указателя. Три значения и не больше: большее привязало бы
@@ -3184,37 +3290,213 @@ declare class RtDataTableSelectorsDirective<ENTITY_TYPE extends Record<string, u
3184
3290
 
3185
3291
  /** Контракт rt-date-picker. */
3186
3292
  declare namespace IRtDatePicker {
3187
- /** Тип нативного date-инпута. */
3293
+ /** Тип значения: дата, время или дата со временем. */
3188
3294
  type Type = 'date' | 'datetime-local' | 'time';
3295
+ /** Часть даты в тексте поля. */
3296
+ type DatePart = 'day' | 'month' | 'year';
3297
+ /** Как дата пишется в тексте поля по локали: порядок частей и знак между ними. */
3298
+ interface TextLayout {
3299
+ order: readonly DatePart[];
3300
+ separator: string;
3301
+ }
3302
+ /** Буквы подсказки формы текста: `дд`, `мм`, `гггг`, `чч`, `мм` под русскими метками. */
3303
+ interface ShapeLetters {
3304
+ day: string;
3305
+ month: string;
3306
+ year: string;
3307
+ hour: string;
3308
+ minute: string;
3309
+ }
3310
+ /** Ячейка колонки часов или минут. */
3311
+ interface TimeCell {
3312
+ value: number;
3313
+ label: string;
3314
+ disabled: boolean;
3315
+ }
3316
+ /** Колонки времени панели. */
3317
+ interface TimeColumns {
3318
+ hours: readonly TimeCell[];
3319
+ minutes: readonly TimeCell[];
3320
+ }
3321
+ /** Ячейка выбора месяца: `key` — `YYYY-MM`. */
3322
+ interface MonthCell {
3323
+ key: string;
3324
+ label: string;
3325
+ disabled: boolean;
3326
+ }
3327
+ /** Момент, разобранный на день `YYYY-MM-DD` и время `HH:mm`. */
3328
+ interface Moment {
3329
+ day: string;
3330
+ time: string;
3331
+ }
3332
+ /** Что месяц панели знает о выборе и границах. */
3333
+ interface MonthContext {
3334
+ locale: string;
3335
+ today: string;
3336
+ chosen: string | null;
3337
+ min: string | null;
3338
+ max: string | null;
3339
+ }
3340
+ /** Что колонки времени знают о выбранном дне и границах. */
3341
+ interface TimeContext {
3342
+ step: number;
3343
+ hour: number | null;
3344
+ day: string | null;
3345
+ min: string | null;
3346
+ max: string | null;
3347
+ }
3189
3348
  }
3190
3349
 
3191
3350
  /**
3192
- * Date/time picker на нативном `<input type="date"|"datetime-local"|"time">`,
3193
- * визуально и по токенам идентичный rt-input (host — box `--rt-input-*`, input —
3194
- * прозрачный `__field`). Календарь/часы — нативные браузерные (без сторонних
3195
- * библиотек). CVA через общий `RtFormControlBase`: clearable, авто-подсветка
3196
- * invalid, read-only представление (значение форматируется через Intl).
3351
+ * Поле даты, времени или даты со временем со своей панелью кита, визуально и по токенам
3352
+ * идентичное rt-input (host — box `--rt-input-*`, input — прозрачный `__field`). Кнопка в конце
3353
+ * поля открывает `rt-date-panel`: на широком экране в поповере, на узком — в нижней шторке.
3354
+ * CVA через общий `RtFormControlBase`: clearable, авто-подсветка invalid, read-only
3355
+ * представление (значение форматируется через Intl).
3197
3356
  *
3198
- * `value` — ISO-строка, которую отдаёт нативный input (`YYYY-MM-DD`,
3199
- * `YYYY-MM-DDTHH:mm`, `HH:mm`).
3357
+ * `value` — строка формы нативного input'а (`YYYY-MM-DD`, `YYYY-MM-DDTHH:mm`, `HH:mm`). Текст в
3358
+ * поле — дата в порядке языка интерфейса (`01.08.2026` под `ru`), время `HH:mm`; набирается так же,
3359
+ * вставленная форма значения тоже читается. Нечитаемый или лежащий за границами текст оставляет
3360
+ * значение прежним и помечает поле ошибкой.
3200
3361
  */
3201
3362
  declare class RtDatePickerComponent extends RtFormControlBase<string> {
3202
3363
  #private;
3203
3364
  protected readonly t: Signal<TRtKitLabelMap>;
3365
+ /** Узкий экран: панель открывается в нижней шторке, а не в поповере. */
3366
+ protected readonly narrow: Signal<boolean>;
3204
3367
  protected readonly fieldEl: Signal<ElementRef<HTMLInputElement> | undefined>;
3368
+ protected readonly popover: Signal<RtPopoverDirective | undefined>;
3369
+ /** Набранный текст не читается как значение в границах: поле помечено ошибкой. */
3370
+ protected readonly textInvalid: WritableSignal<boolean>;
3371
+ protected readonly sheetOpen: WritableSignal<boolean>;
3372
+ /** Подсказка формы текста буквами кита: `дд.мм.гггг` под русскими метками. */
3373
+ protected readonly shape: Signal<string>;
3374
+ /**
3375
+ * Текст в поле — значение в порядке языка интерфейса. Не строку форма кладёт мимо контракта
3376
+ * (например `Date`), и поле показывает её пустой, как показывало браузерное.
3377
+ */
3378
+ protected readonly text: Signal<string>;
3379
+ protected readonly openIcon: Signal<IRtIcon.Name>;
3205
3380
  protected readonly hasValue: Signal<boolean>;
3381
+ /**
3382
+ * Ширина поля в знаках — по длине формы значения. Без неё текстовое поле берёт от браузера
3383
+ * двадцать знаков и в строке отборов потребителя занимает место вдвое шире значения.
3384
+ */
3385
+ protected readonly fieldSize: Signal<number>;
3386
+ /** Подсказка обрезается многоточием в узком поле, поэтому шаблон целиком виден при наведении. */
3387
+ protected readonly shapeTitle: Signal<string | null>;
3206
3388
  /** Вид рамки: `outline` — рамка со всех сторон, `fill` — залитое поле с чертой снизу. */
3207
3389
  readonly appearance: InputSignal<IRtInput.Appearance>;
3208
3390
  readonly displayText: Signal<string>;
3209
3391
  readonly type: InputSignal<IRtDatePicker.Type>;
3210
3392
  readonly min: InputSignal<string | null>;
3211
3393
  readonly max: InputSignal<string | null>;
3394
+ /** Шаг колонки минут в панели. */
3395
+ readonly minuteStep: InputSignalWithTransform<number, NumberInput>;
3396
+ /** Значение из формы снимает ошибку набора: в поле теперь стоит оно. */
3397
+ writeValue(value: string | null): void;
3212
3398
  protected getEmptyValue(): string;
3213
3399
  protected focusAfterClear(): void;
3214
- protected onInput(event: Event): void;
3400
+ protected clearValue(): void;
3401
+ /** Набор текста: значение меняется, только когда текст читается как значение в границах. */
3402
+ protected onTyped(event: Event): void;
3403
+ /** Кнопка в конце поля: на узком экране открывает шторку, на широком поповер открывает сам. */
3404
+ protected openPanel(): void;
3405
+ protected closePanel(): void;
3406
+ protected onPicked(value: string): void;
3215
3407
  protected onBlur(): void;
3216
3408
  static ɵfac: i0.ɵɵFactoryDeclaration<RtDatePickerComponent, never>;
3217
- static ɵcmp: i0.ɵɵComponentDeclaration<RtDatePickerComponent, "rt-date-picker", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
3409
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtDatePickerComponent, "rt-date-picker", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
3410
+ }
3411
+
3412
+ /** Быстрый вариант диапазона в панели поля. */
3413
+ declare enum ERtDateRangePreset {
3414
+ Today = "today",
3415
+ Yesterday = "yesterday",
3416
+ Last7 = "last-7",
3417
+ Last30 = "last-30",
3418
+ ThisMonth = "this-month",
3419
+ LastMonth = "last-month"
3420
+ }
3421
+ /** Контракт rt-date-range. */
3422
+ declare namespace IRtDateRange {
3423
+ /** Значение поля: первый и последний день периода `YYYY-MM-DD`, оба включены, `start <= end`. */
3424
+ interface Value {
3425
+ start: string;
3426
+ end: string;
3427
+ }
3428
+ /** Быстрый вариант в панели: его диапазон и выключен ли он границами. */
3429
+ interface PresetCell {
3430
+ preset: ERtDateRangePreset;
3431
+ range: Value;
3432
+ disabled: boolean;
3433
+ }
3434
+ /** Что месяц панели знает о черновике, наведении и границах. */
3435
+ interface MonthContext {
3436
+ locale: string;
3437
+ today: string;
3438
+ start: string | null;
3439
+ end: string | null;
3440
+ /** День под указателем, пока выбрано только начало: до него рисуется будущий диапазон. */
3441
+ hover: string | null;
3442
+ min: string | null;
3443
+ max: string | null;
3444
+ }
3445
+ /** Форма числа дней по правилам множественного числа локали. */
3446
+ type Plural = 'one' | 'few' | 'many' | 'other';
3447
+ }
3448
+
3449
+ /**
3450
+ * Поле диапазона дат со своей панелью кита, визуально и по токенам идентичное rt-input (host — box
3451
+ * `--rt-input-*`, input — прозрачный `__field`). Кнопка в конце поля открывает
3452
+ * `rt-date-range-panel`: на широком экране в поповере, на узком — в нижней шторке. CVA через общий
3453
+ * `RtFormControlBase`: clearable, авто-подсветка invalid, read-only представление.
3454
+ *
3455
+ * `value` — пара дней `{ start, end }` в форме `YYYY-MM-DD` или `null`. Текст в поле — две даты в
3456
+ * порядке языка интерфейса через тире (`12.10.2026 — 15.10.2026` под `ru`); набирается так же.
3457
+ * Нечитаемый или лежащий за границами текст оставляет значение прежним и помечает поле ошибкой.
3458
+ */
3459
+ declare class RtDateRangeComponent extends RtFormControlBase<IRtDateRange.Value | null> {
3460
+ #private;
3461
+ protected readonly t: Signal<TRtKitLabelMap>;
3462
+ /** Узкий экран: панель открывается в нижней шторке, а не в поповере. */
3463
+ protected readonly narrow: Signal<boolean>;
3464
+ protected readonly fieldEl: Signal<ElementRef<HTMLInputElement> | undefined>;
3465
+ protected readonly popover: Signal<RtPopoverDirective | undefined>;
3466
+ /** Набранный текст не читается как диапазон в границах: поле помечено ошибкой. */
3467
+ protected readonly textInvalid: WritableSignal<boolean>;
3468
+ protected readonly sheetOpen: WritableSignal<boolean>;
3469
+ /** Подсказка формы текста буквами кита: `дд.мм.гггг — дд.мм.гггг` под русскими метками. */
3470
+ protected readonly shape: Signal<string>;
3471
+ /** Значение, прочитанное из формы: не пара дней по порядку поле показывает пустой. */
3472
+ protected readonly range: Signal<IRtDateRange.Value | null>;
3473
+ protected readonly text: Signal<string>;
3474
+ protected readonly hasValue: Signal<boolean>;
3475
+ /** Ширина поля в знаках — по длине формы значения, как у поля даты. */
3476
+ protected readonly fieldSize: Signal<number>;
3477
+ /** Подсказка обрезается многоточием в узком поле, поэтому шаблон целиком виден при наведении. */
3478
+ protected readonly shapeTitle: Signal<string | null>;
3479
+ /** Вид рамки: `outline` — рамка со всех сторон, `fill` — залитое поле с чертой снизу. */
3480
+ readonly appearance: InputSignal<IRtInput.Appearance>;
3481
+ readonly displayText: Signal<string>;
3482
+ /** Первый допустимый день `YYYY-MM-DD`. */
3483
+ readonly min: InputSignal<string | null>;
3484
+ /** Последний допустимый день `YYYY-MM-DD`. */
3485
+ readonly max: InputSignal<string | null>;
3486
+ /** Значение из формы снимает ошибку набора: в поле теперь стоит оно. */
3487
+ writeValue(value: IRtDateRange.Value | null): void;
3488
+ protected getEmptyValue(): IRtDateRange.Value | null;
3489
+ protected focusAfterClear(): void;
3490
+ protected clearValue(): void;
3491
+ /** Набор текста: значение меняется, только когда текст читается как диапазон в границах. */
3492
+ protected onTyped(event: Event): void;
3493
+ /** Кнопка в конце поля: на узком экране открывает шторку, на широком поповер открывает сам. */
3494
+ protected openPanel(): void;
3495
+ protected closePanel(): void;
3496
+ protected onPicked(value: IRtDateRange.Value): void;
3497
+ protected onBlur(): void;
3498
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtDateRangeComponent, never>;
3499
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtDateRangeComponent, "rt-date-range", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
3218
3500
  }
3219
3501
 
3220
3502
  /**
@@ -3286,7 +3568,7 @@ declare class RtDialogComponent {
3286
3568
  /** ARIA-label для dialog-обёртки (если нет видимого заголовка). */
3287
3569
  readonly ariaLabel: InputSignal<string | null>;
3288
3570
  static ɵfac: i0.ɵɵFactoryDeclaration<RtDialogComponent, never>;
3289
- static ɵcmp: i0.ɵɵComponentDeclaration<RtDialogComponent, "rt-dialog", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
3571
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtDialogComponent, "rt-dialog", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
3290
3572
  }
3291
3573
 
3292
3574
  /**
@@ -3638,7 +3920,7 @@ declare class RtEmptyStateComponent {
3638
3920
  readonly title: InputSignal<string>;
3639
3921
  readonly description: InputSignal<string | null>;
3640
3922
  static ɵfac: i0.ɵɵFactoryDeclaration<RtEmptyStateComponent, never>;
3641
- static ɵcmp: i0.ɵɵComponentDeclaration<RtEmptyStateComponent, "rt-empty-state", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; }, {}, never, ["[rtEmptyIllustration]", "*"], true, never>;
3923
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtEmptyStateComponent, "rt-empty-state", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; }, {}, never, ["[rtEmptyIllustration]", "*"], true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
3642
3924
  }
3643
3925
 
3644
3926
  /**
@@ -3711,7 +3993,7 @@ declare class RtFieldComponent implements AfterContentInit {
3711
3993
 
3712
3994
  /**
3713
3995
  * Модель `<rt-icon-button>`: один корневой неймспейс с префиксом `I`.
3714
- * Внутри — литеральные union-типы для variant / size / shape / type, чтобы:
3996
+ * Внутри — литеральные union-типы для variant / size / type, чтобы:
3715
3997
  * - использовать как контракт `input()` сигналов компонента;
3716
3998
  * - переиспользовать в `argTypes` Storybook.
3717
3999
  */
@@ -3720,14 +4002,6 @@ declare namespace IRtIconButton {
3720
4002
  type Variant = 'primary' | 'secondary' | 'ghost' | 'danger' | 'success' | 'warning';
3721
4003
  /** Размер квадрата кнопки. Маппинг на пиксели — в SCSS (`--rt-icon-button-size`). */
3722
4004
  type Size = 'sm' | 'md' | 'lg' | 'xl' | '2xl';
3723
- /**
3724
- * Форма границы кнопки, от скруглённого квадрата к кругу.
3725
- * Промежуточные ступени делят расстояние от квадрата до круга на три равные части,
3726
- * а не задаются своей долей стороны: кнопка бывает от 32 до 64 пикселей, а радиус
3727
- * квадрата на всех один — доля, взятая сама по себе, сливается с ним на одних
3728
- * размерах и отрывается на других.
3729
- */
3730
- type Shape = 'square' | 'rounded-sm' | 'rounded-lg' | 'circle';
3731
4005
  /** HTML-тип нативного `<button>`. */
3732
4006
  type Type = 'button' | 'submit';
3733
4007
  }
@@ -3806,7 +4080,7 @@ declare class RtFileCardComponent {
3806
4080
  protected onRemove(): void;
3807
4081
  protected onRename(): void;
3808
4082
  static ɵfac: i0.ɵɵFactoryDeclaration<RtFileCardComponent, never>;
3809
- static ɵcmp: i0.ɵɵComponentDeclaration<RtFileCardComponent, "rt-file-card", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "sizeBytes": { "alias": "sizeBytes"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "showDownload": { "alias": "showDownload"; "required": false; "isSignal": true; }; "showRemove": { "alias": "showRemove"; "required": false; "isSignal": true; }; "showRename": { "alias": "showRename"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "download": "download"; "removed": "removed"; "rename": "rename"; }, never, never, true, never>;
4083
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtFileCardComponent, "rt-file-card", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "sizeBytes": { "alias": "sizeBytes"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "showDownload": { "alias": "showDownload"; "required": false; "isSignal": true; }; "showRemove": { "alias": "showRemove"; "required": false; "isSignal": true; }; "showRename": { "alias": "showRename"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "download": "download"; "removed": "removed"; "rename": "rename"; }, never, never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
3810
4084
  }
3811
4085
 
3812
4086
  /**
@@ -3904,7 +4178,7 @@ declare class RtFileDropComponent {
3904
4178
  protected onDragLeave(event: DragEvent): void;
3905
4179
  protected onDrop(event: DragEvent): void;
3906
4180
  static ɵfac: i0.ɵɵFactoryDeclaration<RtFileDropComponent, never>;
3907
- static ɵcmp: i0.ɵɵComponentDeclaration<RtFileDropComponent, "rt-file-drop", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "overlayLabel": { "alias": "overlayLabel"; "required": false; "isSignal": true; }; "zones": { "alias": "zones"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; }, { "filesDropped": "filesDropped"; "zoneFilesDropped": "zoneFilesDropped"; "draggingChange": "draggingChange"; }, never, ["*"], true, never>;
4181
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtFileDropComponent, "rt-file-drop", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "overlayLabel": { "alias": "overlayLabel"; "required": false; "isSignal": true; }; "zones": { "alias": "zones"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; }, { "filesDropped": "filesDropped"; "zoneFilesDropped": "zoneFilesDropped"; "draggingChange": "draggingChange"; }, never, ["*"], true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
3908
4182
  }
3909
4183
 
3910
4184
  /**
@@ -4055,7 +4329,7 @@ declare class RtHeaderComponent {
4055
4329
  protected onInviteClick(): void;
4056
4330
  protected onProfileClick(): void;
4057
4331
  static ɵfac: i0.ɵɵFactoryDeclaration<RtHeaderComponent, never>;
4058
- static ɵcmp: i0.ɵɵComponentDeclaration<RtHeaderComponent, "rt-header", never, { "canGoBack": { "alias": "canGoBack"; "required": false; "isSignal": true; }; "showInvite": { "alias": "showInvite"; "required": false; "isSignal": true; }; }, { "backClick": "backClick"; "inviteClick": "inviteClick"; "profileClick": "profileClick"; }, never, ["[rtHeaderBell]"], true, never>;
4332
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtHeaderComponent, "rt-header", never, { "canGoBack": { "alias": "canGoBack"; "required": false; "isSignal": true; }; "showInvite": { "alias": "showInvite"; "required": false; "isSignal": true; }; }, { "backClick": "backClick"; "inviteClick": "inviteClick"; "profileClick": "profileClick"; }, never, ["[rtHeaderBell]"], true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
4059
4333
  }
4060
4334
 
4061
4335
  /**
@@ -4112,8 +4386,6 @@ declare class RtIconButtonComponent {
4112
4386
  readonly size: InputSignal<IRtIconButton.Size>;
4113
4387
  /** Размер иконки; пусто — берётся от размера кнопки. */
4114
4388
  readonly iconSize: InputSignal<IRtIcon.Size | null>;
4115
- /** Форма (круг или скруглённый квадрат). */
4116
- readonly shape: InputSignal<IRtIconButton.Shape>;
4117
4389
  /** HTML-type для нативного `<button>`. */
4118
4390
  readonly type: InputSignal<IRtIconButton.Type>;
4119
4391
  /**
@@ -4139,7 +4411,7 @@ declare class RtIconButtonComponent {
4139
4411
  readonly clicked: OutputEmitterRef<MouseEvent>;
4140
4412
  protected onClick(event: MouseEvent): void;
4141
4413
  static ɵfac: i0.ɵɵFactoryDeclaration<RtIconButtonComponent, never>;
4142
- static ɵcmp: i0.ɵɵComponentDeclaration<RtIconButtonComponent, "rt-icon-button", never, { "icon": { "alias": "icon"; "required": true; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": true; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "iconColor": { "alias": "iconColor"; "required": false; "isSignal": true; }; "iconFill": { "alias": "iconFill"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "iconSize": { "alias": "iconSize"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "indicator": { "alias": "indicator"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, true, never>;
4414
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtIconButtonComponent, "rt-icon-button", never, { "icon": { "alias": "icon"; "required": true; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": true; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "iconColor": { "alias": "iconColor"; "required": false; "isSignal": true; }; "iconFill": { "alias": "iconFill"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "iconSize": { "alias": "iconSize"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "indicator": { "alias": "indicator"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
4143
4415
  }
4144
4416
 
4145
4417
  declare class RtInfoItemComponent {
@@ -4193,7 +4465,7 @@ declare class RtInputComponent extends RtFormControlBase<string> {
4193
4465
  protected onBlur(): void;
4194
4466
  protected togglePassword(): void;
4195
4467
  static ɵfac: i0.ɵɵFactoryDeclaration<RtInputComponent, never>;
4196
- static ɵcmp: i0.ɵɵComponentDeclaration<RtInputComponent, "rt-input", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "iconLeft": { "alias": "iconLeft"; "required": false; "isSignal": true; }; "iconRight": { "alias": "iconRight"; "required": false; "isSignal": true; }; "passwordToggle": { "alias": "passwordToggle"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
4468
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtInputComponent, "rt-input", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "iconLeft": { "alias": "iconLeft"; "required": false; "isSignal": true; }; "iconRight": { "alias": "iconRight"; "required": false; "isSignal": true; }; "passwordToggle": { "alias": "passwordToggle"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
4197
4469
  }
4198
4470
 
4199
4471
  /**
@@ -4252,7 +4524,7 @@ declare class RtInputNumberComponent extends RtFormControlBase<number | null> {
4252
4524
  protected onInput(event: Event): void;
4253
4525
  protected onBlur(): void;
4254
4526
  static ɵfac: i0.ɵɵFactoryDeclaration<RtInputNumberComponent, never>;
4255
- static ɵcmp: i0.ɵɵComponentDeclaration<RtInputNumberComponent, "rt-input-number", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "iconLeft": { "alias": "iconLeft"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "minFractionDigits": { "alias": "minFractionDigits"; "required": false; "isSignal": true; }; "maxFractionDigits": { "alias": "maxFractionDigits"; "required": false; "isSignal": true; }; "grouped": { "alias": "grouped"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
4527
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtInputNumberComponent, "rt-input-number", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "iconLeft": { "alias": "iconLeft"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "minFractionDigits": { "alias": "minFractionDigits"; "required": false; "isSignal": true; }; "maxFractionDigits": { "alias": "maxFractionDigits"; "required": false; "isSignal": true; }; "grouped": { "alias": "grouped"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
4256
4528
  }
4257
4529
 
4258
4530
  /**
@@ -4419,7 +4691,7 @@ declare class RtMarkdownTextComponent {
4419
4691
  protected readonly blocks: Signal<readonly IRtMarkdownBlockNode[]>;
4420
4692
  readonly text: InputSignal<string | null>;
4421
4693
  static ɵfac: i0.ɵɵFactoryDeclaration<RtMarkdownTextComponent, never>;
4422
- static ɵcmp: i0.ɵɵComponentDeclaration<RtMarkdownTextComponent, "rt-markdown-text", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
4694
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtMarkdownTextComponent, "rt-markdown-text", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
4423
4695
  }
4424
4696
 
4425
4697
  /**
@@ -4566,7 +4838,7 @@ declare class RtMenuItemComponent {
4566
4838
  protected onActivate(event: Event): void;
4567
4839
  protected onKey(event: Event): void;
4568
4840
  static ɵfac: i0.ɵɵFactoryDeclaration<RtMenuItemComponent, never>;
4569
- static ɵcmp: i0.ɵɵComponentDeclaration<RtMenuItemComponent, "rt-menu-item", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "danger": { "alias": "danger"; "required": false; "isSignal": true; }; "success": { "alias": "success"; "required": false; "isSignal": true; }; "glyph": { "alias": "glyph"; "required": false; "isSignal": true; }; "current": { "alias": "current"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "confirmMessage": { "alias": "confirmMessage"; "required": false; "isSignal": true; }; "confirmTitle": { "alias": "confirmTitle"; "required": false; "isSignal": true; }; "confirmLabel": { "alias": "confirmLabel"; "required": false; "isSignal": true; }; "confirmCancelLabel": { "alias": "confirmCancelLabel"; "required": false; "isSignal": true; }; "confirmTone": { "alias": "confirmTone"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, never, never, true, [{ directive: typeof RtTooltipDirective; inputs: { "rtTooltip": "tooltip"; }; outputs: {}; }]>;
4841
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtMenuItemComponent, "rt-menu-item", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "danger": { "alias": "danger"; "required": false; "isSignal": true; }; "success": { "alias": "success"; "required": false; "isSignal": true; }; "glyph": { "alias": "glyph"; "required": false; "isSignal": true; }; "current": { "alias": "current"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "confirmMessage": { "alias": "confirmMessage"; "required": false; "isSignal": true; }; "confirmTitle": { "alias": "confirmTitle"; "required": false; "isSignal": true; }; "confirmLabel": { "alias": "confirmLabel"; "required": false; "isSignal": true; }; "confirmCancelLabel": { "alias": "confirmCancelLabel"; "required": false; "isSignal": true; }; "confirmTone": { "alias": "confirmTone"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, never, never, true, [{ directive: typeof RtTooltipDirective; inputs: { "rtTooltip": "tooltip"; }; outputs: {}; }, { directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
4570
4842
  }
4571
4843
 
4572
4844
  /**
@@ -4680,7 +4952,7 @@ declare class RtMessageComponent {
4680
4952
  readonly closed: OutputEmitterRef<void>;
4681
4953
  protected onClose(): void;
4682
4954
  static ɵfac: i0.ɵɵFactoryDeclaration<RtMessageComponent, never>;
4683
- static ɵcmp: i0.ɵɵComponentDeclaration<RtMessageComponent, "rt-message", never, { "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "hideIcon": { "alias": "hideIcon"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, never, ["*"], true, never>;
4955
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtMessageComponent, "rt-message", never, { "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "hideIcon": { "alias": "hideIcon"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, never, ["*"], true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
4684
4956
  }
4685
4957
 
4686
4958
  /**
@@ -4693,7 +4965,7 @@ declare class RtMessageComponent {
4693
4965
  */
4694
4966
  declare class RtMoneyListComponent {
4695
4967
  static ɵfac: i0.ɵɵFactoryDeclaration<RtMoneyListComponent, never>;
4696
- static ɵcmp: i0.ɵɵComponentDeclaration<RtMoneyListComponent, "rt-money-list", never, {}, {}, never, ["*"], true, never>;
4968
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtMoneyListComponent, "rt-money-list", never, {}, {}, never, ["*"], true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
4697
4969
  }
4698
4970
 
4699
4971
  /**
@@ -4757,6 +5029,14 @@ declare class RtMultiselectComponent<TValue> extends RtFormControlBase<ReadonlyA
4757
5029
  protected readonly popover: Signal<RtPopoverDirective>;
4758
5030
  protected readonly triggerEl: Signal<ElementRef<HTMLButtonElement> | undefined>;
4759
5031
  protected readonly activeIndex: WritableSignal<number>;
5032
+ /** Раскрытые ветки дерева. Живут, пока открыта панель: при открытии раскрыты ветки над выбранным. */
5033
+ protected readonly openBranches: WritableSignal<ReadonlySet<TValue>>;
5034
+ /** Дерево ли список: тогда у строк есть место под стрелку и отступ по уровню. */
5035
+ protected readonly isTree: Signal<boolean>;
5036
+ /** Видимые строки: плоский список — как прежде, дерево — по раскрытым веткам. */
5037
+ protected readonly rows: Signal<ReadonlyArray<IRtSelect.Row<TValue>>>;
5038
+ /** Флажок каждой строки: у листа — выбран ли он, у ветки — выведен из её включённых листьев. */
5039
+ protected readonly rowChecks: Signal<ReadonlyArray<IRtSelect.TBranchState>>;
4760
5040
  protected readonly isOpen: Signal<boolean>;
4761
5041
  /** Идентификатор подсвеченной опции — тот же, что уходит в `aria-activedescendant`. */
4762
5042
  protected readonly activeOptionId: Signal<string | null>;
@@ -4775,6 +5055,8 @@ declare class RtMultiselectComponent<TValue> extends RtFormControlBase<ReadonlyA
4775
5055
  /** Пусто — берётся переведённая подпись по умолчанию */
4776
5056
  readonly placeholder: InputSignal<string>;
4777
5057
  readonly maxChips: InputSignal<number>;
5058
+ /** Иконка слева в указателе — та же, что у `rt-select`: перед подсказкой или чипами. */
5059
+ readonly iconLeft: InputSignal<IRtIcon.Name | null>;
4778
5060
  /**
4779
5061
  * Чем мерится панель. По умолчанию она не уже кнопки и дальше растёт по содержимому:
4780
5062
  * со своим указателем кнопка бывает узкой, и панель по её ширине давила бы содержимое.
@@ -4796,12 +5078,18 @@ declare class RtMultiselectComponent<TValue> extends RtFormControlBase<ReadonlyA
4796
5078
  protected focusAfterClear(): void;
4797
5079
  protected labelOf(value: TValue): string;
4798
5080
  protected isSelected(value: TValue): boolean;
5081
+ protected onOpened(): void;
5082
+ protected toggleBranch(event: Event, value: TValue): void;
4799
5083
  protected onClosed(): void;
5084
+ /**
5085
+ * Лист переключается сам. Ветка выбирает все свои включённые листья или снимает их, когда
5086
+ * выбраны все; своё значение ветки в выбор не пишется.
5087
+ */
4800
5088
  protected toggleOption(opt: IRtSelect.Option<TValue>): void;
4801
5089
  protected removeChip(value: TValue, event: MouseEvent): void;
4802
5090
  protected onTriggerKeydown(event: KeyboardEvent): void;
4803
5091
  static ɵfac: i0.ɵɵFactoryDeclaration<RtMultiselectComponent<any>, never>;
4804
- static ɵcmp: i0.ɵɵComponentDeclaration<RtMultiselectComponent<any>, "rt-multiselect", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "maxChips": { "alias": "maxChips"; "required": false; "isSignal": true; }; "panelWidth": { "alias": "panelWidth"; "required": false; "isSignal": true; }; "panelMaxHeight": { "alias": "panelMaxHeight"; "required": false; "isSignal": true; }; }, {}, ["triggerTpl"], never, true, never>;
5092
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtMultiselectComponent<any>, "rt-multiselect", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "maxChips": { "alias": "maxChips"; "required": false; "isSignal": true; }; "iconLeft": { "alias": "iconLeft"; "required": false; "isSignal": true; }; "panelWidth": { "alias": "panelWidth"; "required": false; "isSignal": true; }; "panelMaxHeight": { "alias": "panelMaxHeight"; "required": false; "isSignal": true; }; }, {}, ["triggerTpl"], never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
4805
5093
  }
4806
5094
 
4807
5095
  /**
@@ -4981,7 +5269,7 @@ declare class RtDeltaViewComponent {
4981
5269
  */
4982
5270
  declare class RtNoteComponent {
4983
5271
  static ɵfac: i0.ɵɵFactoryDeclaration<RtNoteComponent, never>;
4984
- static ɵcmp: i0.ɵɵComponentDeclaration<RtNoteComponent, "rt-note", never, {}, {}, never, ["*"], true, never>;
5272
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtNoteComponent, "rt-note", never, {}, {}, never, ["*"], true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
4985
5273
  }
4986
5274
 
4987
5275
  /**
@@ -4999,7 +5287,7 @@ declare class RtNotificationsBellComponent {
4999
5287
  readonly clicked: OutputEmitterRef<void>;
5000
5288
  protected onClick(): void;
5001
5289
  static ɵfac: i0.ɵɵFactoryDeclaration<RtNotificationsBellComponent, never>;
5002
- static ɵcmp: i0.ɵɵComponentDeclaration<RtNotificationsBellComponent, "rt-notifications-bell", never, { "unread": { "alias": "unread"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "unreadLabel": { "alias": "unreadLabel"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, true, never>;
5290
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtNotificationsBellComponent, "rt-notifications-bell", never, { "unread": { "alias": "unread"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "unreadLabel": { "alias": "unreadLabel"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
5003
5291
  }
5004
5292
 
5005
5293
  declare namespace IRtPageHeader {
@@ -5314,7 +5602,7 @@ declare class RtPaginationComponent {
5314
5602
  goTo(pageNumber: number): void;
5315
5603
  protected onPerPage(value: number | null): void;
5316
5604
  static ɵfac: i0.ɵɵFactoryDeclaration<RtPaginationComponent, never>;
5317
- static ɵcmp: i0.ɵɵComponentDeclaration<RtPaginationComponent, "rt-pagination", never, { "pageModel": { "alias": "pageModel"; "required": true; "isSignal": true; }; "perPageOptions": { "alias": "perPageOptions"; "required": false; "isSignal": true; }; "prevIcon": { "alias": "prevIcon"; "required": false; "isSignal": true; }; "nextIcon": { "alias": "nextIcon"; "required": false; "isSignal": true; }; "numbering": { "alias": "numbering"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; "perPageChange": "perPageChange"; }, never, never, true, never>;
5605
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtPaginationComponent, "rt-pagination", never, { "pageModel": { "alias": "pageModel"; "required": true; "isSignal": true; }; "perPageOptions": { "alias": "perPageOptions"; "required": false; "isSignal": true; }; "prevIcon": { "alias": "prevIcon"; "required": false; "isSignal": true; }; "nextIcon": { "alias": "nextIcon"; "required": false; "isSignal": true; }; "numbering": { "alias": "numbering"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; "perPageChange": "perPageChange"; }, never, never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
5318
5606
  }
5319
5607
 
5320
5608
  /**
@@ -5368,7 +5656,7 @@ declare class RtRadioButtonComponent implements ControlValueAccessor {
5368
5656
  protected onClick(event: MouseEvent): void;
5369
5657
  protected onKeydown(event: KeyboardEvent): void;
5370
5658
  static ɵfac: i0.ɵɵFactoryDeclaration<RtRadioButtonComponent, never>;
5371
- static ɵcmp: i0.ɵɵComponentDeclaration<RtRadioButtonComponent, "rt-radio-button", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "card": { "alias": "card"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "clickAction": "clickAction"; "checkedChange": "checkedChange"; }, never, never, true, never>;
5659
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtRadioButtonComponent, "rt-radio-button", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "card": { "alias": "card"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "clickAction": "clickAction"; "checkedChange": "checkedChange"; }, never, never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
5372
5660
  }
5373
5661
 
5374
5662
  declare namespace IRtSectionNav {
@@ -5385,7 +5673,7 @@ declare class RtSectionNavComponent {
5385
5673
  readonly itemSelect: OutputEmitterRef<string>;
5386
5674
  protected onSelect(item: IRtSectionNav.Item): void;
5387
5675
  static ɵfac: i0.ɵɵFactoryDeclaration<RtSectionNavComponent, never>;
5388
- static ɵcmp: i0.ɵɵComponentDeclaration<RtSectionNavComponent, "rt-section-nav", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; }, { "itemSelect": "itemSelect"; }, never, never, true, never>;
5676
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtSectionNavComponent, "rt-section-nav", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; }, { "itemSelect": "itemSelect"; }, never, never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
5389
5677
  }
5390
5678
 
5391
5679
  /**
@@ -5494,6 +5782,8 @@ declare class RtSelectComponent<TValue> extends RtFormControlBase<TValue | null>
5494
5782
  protected readonly triggerEl: Signal<ElementRef<HTMLButtonElement> | undefined>;
5495
5783
  protected readonly filterTerm: WritableSignal<string>;
5496
5784
  protected readonly activeIndex: WritableSignal<number>;
5785
+ /** Раскрытые ветки дерева. Живут, пока открыта панель: при открытии раскрыты ветки над выбранным. */
5786
+ protected readonly openBranches: WritableSignal<ReadonlySet<TValue>>;
5497
5787
  protected readonly isOpen: Signal<boolean>;
5498
5788
  /** Идентификатор подсвеченной опции — тот же, что уходит в `aria-activedescendant`. */
5499
5789
  protected readonly activeOptionId: Signal<string | null>;
@@ -5504,7 +5794,10 @@ declare class RtSelectComponent<TValue> extends RtFormControlBase<TValue | null>
5504
5794
  protected readonly triggerTpl: Signal<RtSelectTriggerDirective<TValue> | undefined>;
5505
5795
  protected readonly hasValue: Signal<boolean>;
5506
5796
  protected readonly selectedLabel: Signal<string>;
5507
- protected readonly filteredOptions: Signal<ReadonlyArray<IRtSelect.Option<TValue>>>;
5797
+ /** Дерево ли список: тогда у строк есть место под стрелку и отступ по уровню. */
5798
+ protected readonly isTree: Signal<boolean>;
5799
+ /** Видимые строки: плоский список — как прежде, дерево — по раскрытым веткам и поисковому слову. */
5800
+ protected readonly rows: Signal<ReadonlyArray<IRtSelect.Row<TValue>>>;
5508
5801
  /** Три значения, которые кит отдаёт своей разметке указателя, и не больше. */
5509
5802
  protected readonly triggerState: Signal<IRtSelect.TriggerState<TValue>>;
5510
5803
  /** Вид рамки: `outline` — рамка со всех сторон, `fill` — залитое поле с чертой снизу. */
@@ -5537,17 +5830,18 @@ declare class RtSelectComponent<TValue> extends RtFormControlBase<TValue | null>
5537
5830
  protected getEmptyValue(): TValue | null;
5538
5831
  protected focusAfterClear(): void;
5539
5832
  protected clear(event?: Event): void;
5833
+ protected onOpened(): void;
5834
+ protected toggleBranch(event: Event, value: TValue): void;
5540
5835
  protected onClosed(): void;
5541
5836
  protected select(opt: IRtSelect.Option<TValue>): void;
5542
5837
  protected setFilter(term: string): void;
5543
5838
  protected onTriggerKeydown(event: KeyboardEvent): void;
5544
5839
  static ɵfac: i0.ɵɵFactoryDeclaration<RtSelectComponent<any>, never>;
5545
- static ɵcmp: i0.ɵɵComponentDeclaration<RtSelectComponent<any>, "rt-select", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "iconLeft": { "alias": "iconLeft"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "panelWidth": { "alias": "panelWidth"; "required": false; "isSignal": true; }; "panelMaxHeight": { "alias": "panelMaxHeight"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, ["triggerTpl"], never, true, never>;
5840
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtSelectComponent<any>, "rt-select", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "iconLeft": { "alias": "iconLeft"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "panelWidth": { "alias": "panelWidth"; "required": false; "isSignal": true; }; "panelMaxHeight": { "alias": "panelMaxHeight"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, ["triggerTpl"], never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
5546
5841
  }
5547
5842
 
5548
5843
  type TRtSkeletonShape = 'rectangle' | 'circle' | 'square';
5549
5844
  type TRtSkeletonSize = 'sm' | 'md' | 'lg';
5550
- type TRtSkeletonRadius = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
5551
5845
  /**
5552
5846
  * Visual primitive для loading-state'а: серая полоска с shimmer-анимацией.
5553
5847
  *
@@ -5555,6 +5849,8 @@ type TRtSkeletonRadius = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
5555
5849
  * с input'ом `[isLoading]`. Wrapper решает что показать (skeleton или content),
5556
5850
  * этот компонент только рисует placeholder.
5557
5851
  *
5852
+ * Скругление прямоугольника и квадрата — шаг общего входа `radius`; круг остаётся кругом.
5853
+ *
5558
5854
  * Shimmer через background-position keyframes; `@media (prefers-reduced-motion)`
5559
5855
  * убирает анимацию для пользователей с reduced-motion preference.
5560
5856
  */
@@ -5564,13 +5860,6 @@ declare class RtSkeletonComponent {
5564
5860
  readonly size: InputSignal<TRtSkeletonSize>;
5565
5861
  readonly width: InputSignal<string>;
5566
5862
  readonly height: InputSignal<string>;
5567
- /**
5568
- * Скругление. `null` — «не задано»: прямоугольник берёт `xl`, квадрат —
5569
- * `sm` (пилюля из квадрата не квадрат). Умолчанием нельзя было держать сам
5570
- * `xl`: тогда явный `xl` неотличим от невыставленного, и квадрату
5571
- * приходилось прибивать `sm` жёстко — вход у него молча пропадал.
5572
- */
5573
- readonly borderRadius: InputSignal<TRtSkeletonRadius | null>;
5574
5863
  readonly animation: InputSignalWithTransform<boolean, BooleanInput>;
5575
5864
  protected get isRectangle(): boolean;
5576
5865
  protected get isCircle(): boolean;
@@ -5581,9 +5870,8 @@ declare class RtSkeletonComponent {
5581
5870
  protected get isAnimated(): boolean;
5582
5871
  protected get hostWidth(): string;
5583
5872
  protected get hostHeight(): string;
5584
- protected get hostBorderRadius(): string;
5585
5873
  static ɵfac: i0.ɵɵFactoryDeclaration<RtSkeletonComponent, never>;
5586
- static ɵcmp: i0.ɵɵComponentDeclaration<RtSkeletonComponent, "rt-skeleton", never, { "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "borderRadius": { "alias": "borderRadius"; "required": false; "isSignal": true; }; "animation": { "alias": "animation"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
5874
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtSkeletonComponent, "rt-skeleton", never, { "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "animation": { "alias": "animation"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
5587
5875
  }
5588
5876
 
5589
5877
  /**
@@ -5603,12 +5891,12 @@ declare class RtSkeletonWrapperComponent {
5603
5891
  readonly height: InputSignal<string>;
5604
5892
  readonly shape: InputSignal<TRtSkeletonShape>;
5605
5893
  readonly size: InputSignal<TRtSkeletonSize>;
5606
- /** Как у `rt-skeleton`: `null` — «по фигуре», а не «без скругления». */
5607
- readonly borderRadius: InputSignal<TRtSkeletonRadius | null>;
5894
+ /** Шаг скругления заглушки, передаётся в `rt-skeleton`. Пусто — скругление заглушки по умолчанию. */
5895
+ readonly radius: InputSignal<TRtRadius | null>;
5608
5896
  readonly animation: InputSignalWithTransform<boolean, BooleanInput>;
5609
5897
  readonly isLoading: InputSignalWithTransform<boolean, BooleanInput>;
5610
5898
  static ɵfac: i0.ɵɵFactoryDeclaration<RtSkeletonWrapperComponent, never>;
5611
- static ɵcmp: i0.ɵɵComponentDeclaration<RtSkeletonWrapperComponent, "rt-skeleton-wrapper", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "borderRadius": { "alias": "borderRadius"; "required": false; "isSignal": true; }; "animation": { "alias": "animation"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
5899
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtSkeletonWrapperComponent, "rt-skeleton-wrapper", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "animation": { "alias": "animation"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
5612
5900
  }
5613
5901
 
5614
5902
  /**
@@ -5708,7 +5996,7 @@ declare class RtSplitButtonComponent {
5708
5996
  protected onToggle(): void;
5709
5997
  protected onItem(item: IRtSplitButton.MenuItem): void;
5710
5998
  static ɵfac: i0.ɵɵFactoryDeclaration<RtSplitButtonComponent, never>;
5711
- static ɵcmp: i0.ɵɵComponentDeclaration<RtSplitButtonComponent, "rt-split-button", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "menuItems": { "alias": "menuItems"; "required": true; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "menuAriaLabel": { "alias": "menuAriaLabel"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "faceClick": "faceClick"; "itemSelect": "itemSelect"; }, never, never, true, never>;
5999
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtSplitButtonComponent, "rt-split-button", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "menuItems": { "alias": "menuItems"; "required": true; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "menuAriaLabel": { "alias": "menuAriaLabel"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "faceClick": "faceClick"; "itemSelect": "itemSelect"; }, never, never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
5712
6000
  }
5713
6001
 
5714
6002
  /**
@@ -5830,7 +6118,7 @@ declare class RtStepperComponent {
5830
6118
  readonly steps: InputSignal<readonly IRtStepper.Step[]>;
5831
6119
  readonly currentIndex: InputSignalWithTransform<number, number | string>;
5832
6120
  static ɵfac: i0.ɵɵFactoryDeclaration<RtStepperComponent, never>;
5833
- static ɵcmp: i0.ɵɵComponentDeclaration<RtStepperComponent, "rt-stepper", never, { "steps": { "alias": "steps"; "required": false; "isSignal": true; }; "currentIndex": { "alias": "currentIndex"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
6121
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtStepperComponent, "rt-stepper", never, { "steps": { "alias": "steps"; "required": false; "isSignal": true; }; "currentIndex": { "alias": "currentIndex"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
5834
6122
  }
5835
6123
 
5836
6124
  /** Значение для буфера: явная строка/число либо `null` (тогда берётся отображаемый текст). */
@@ -6271,7 +6559,7 @@ declare class RtTableComponent<TRow> extends CdkTable<TRow> {
6271
6559
  /** Возвращает текущий источник данных, сохранённый базовым CdkTable. */
6272
6560
  get dataSource(): CdkTableDataSourceInput<TRow>;
6273
6561
  static ɵfac: i0.ɵɵFactoryDeclaration<RtTableComponent<any>, never>;
6274
- static ɵcmp: i0.ɵɵComponentDeclaration<RtTableComponent<any>, "rt-table, table[rt-table]", ["rtTable"], { "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; "cards": { "alias": "cards"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "fetching": { "alias": "fetching"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "columnsConfig": { "alias": "columnsConfig"; "required": false; "isSignal": true; }; "tableId": { "alias": "tableId"; "required": false; "isSignal": true; }; "showRowActions": { "alias": "showRowActions"; "required": false; "isSignal": true; }; "rowHasActions": { "alias": "rowHasActions"; "required": false; "isSignal": true; }; "showFilters": { "alias": "showFilters"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "skeletonRows": { "alias": "skeletonRows"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "emptyIcon": { "alias": "emptyIcon"; "required": false; "isSignal": true; }; "emptyDescription": { "alias": "emptyDescription"; "required": false; "isSignal": true; }; }, { "filtersChange": "filtersChange"; "sortChange": "sortChange"; }, ["rowActions", "cardTemplate", "columnDefs", "emptyTemplate"], ["caption", "colgroup, col"], true, never>;
6562
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtTableComponent<any>, "rt-table, table[rt-table]", ["rtTable"], { "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; "cards": { "alias": "cards"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "fetching": { "alias": "fetching"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "columnsConfig": { "alias": "columnsConfig"; "required": false; "isSignal": true; }; "tableId": { "alias": "tableId"; "required": false; "isSignal": true; }; "showRowActions": { "alias": "showRowActions"; "required": false; "isSignal": true; }; "rowHasActions": { "alias": "rowHasActions"; "required": false; "isSignal": true; }; "showFilters": { "alias": "showFilters"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "skeletonRows": { "alias": "skeletonRows"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "emptyIcon": { "alias": "emptyIcon"; "required": false; "isSignal": true; }; "emptyDescription": { "alias": "emptyDescription"; "required": false; "isSignal": true; }; }, { "filtersChange": "filtersChange"; "sortChange": "sortChange"; }, ["rowActions", "cardTemplate", "columnDefs", "emptyTemplate"], ["caption", "colgroup, col"], true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
6275
6563
  }
6276
6564
 
6277
6565
  /**
@@ -6630,7 +6918,7 @@ declare class RtTabsComponent {
6630
6918
  /**
6631
6919
  * Status/label pill для отображения статусов и счётчиков.
6632
6920
  * Поддерживает 6 severity-вариантов (`info` / `success` / `warning` / `danger` /
6633
- * `secondary` / `neutral`), 2 формы (`pill` / `square`) и опциональный close-control
6921
+ * `secondary` / `neutral`), любой шаг скругления входом `radius` и опциональный close-control
6634
6922
  * (рендерит `rt-icon-button` с иконкой `ico-close` и emits `closed` MouseEvent).
6635
6923
  *
6636
6924
  * Все цвета — через семантические `--rt-color-state-*` токены; layout через
@@ -6655,12 +6943,8 @@ declare class RtTagComponent implements OnDestroy {
6655
6943
  * другой ступени, и ряд пилюль перестал бы выстраиваться.
6656
6944
  */
6657
6945
  readonly size: InputSignal<IRtTag.Size>;
6658
- /** Форма tag'а. По умолчанию `pill` (фуллскруглённый). */
6659
- readonly shape: InputSignal<IRtTag.Shape>;
6660
6946
  /** Вид заливки. По умолчанию `solid`; `outlined` — прозрачный фон + рамка. */
6661
6947
  readonly appearance: InputSignal<IRtTag.Appearance>;
6662
- /** Переопределение скругления поверх `shape`. `null` — радиус по `shape`. */
6663
- readonly radius: InputSignal<IRtTag.Radius | null>;
6664
6948
  /** Префикс-иконка слева от текста. `null` (дефолт) — без иконки. */
6665
6949
  readonly icon: InputSignal<IRtIcon.Name | null>;
6666
6950
  /** Суффикс-иконка справа от текста (напр. `external-link` у тега-ссылки). */
@@ -6673,7 +6957,7 @@ declare class RtTagComponent implements OnDestroy {
6673
6957
  ngOnDestroy(): void;
6674
6958
  protected onClose(event: MouseEvent): void;
6675
6959
  static ɵfac: i0.ɵɵFactoryDeclaration<RtTagComponent, never>;
6676
- static ɵcmp: i0.ɵɵComponentDeclaration<RtTagComponent, "rt-tag", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconEnd": { "alias": "iconEnd"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, never, never, true, never>;
6960
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtTagComponent, "rt-tag", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconEnd": { "alias": "iconEnd"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, never, never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
6677
6961
  }
6678
6962
 
6679
6963
  type TRtTextareaResize = 'none' | 'vertical';
@@ -6701,7 +6985,7 @@ declare class RtTextareaComponent extends RtFormControlBase<string> {
6701
6985
  protected onInput(event: Event): void;
6702
6986
  protected onBlur(): void;
6703
6987
  static ɵfac: i0.ɵɵFactoryDeclaration<RtTextareaComponent, never>;
6704
- static ɵcmp: i0.ɵɵComponentDeclaration<RtTextareaComponent, "rt-textarea", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "resize": { "alias": "resize"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
6988
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtTextareaComponent, "rt-textarea", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "resize": { "alias": "resize"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
6705
6989
  }
6706
6990
 
6707
6991
  /**
@@ -6843,7 +7127,7 @@ declare class RtThreadListComponent<TRow extends IRtThreadList.Row> implements O
6843
7127
  protected onSelect(id: IRtThreadList.TRowId, event: MouseEvent): void;
6844
7128
  protected onLoadMore(): void;
6845
7129
  static ɵfac: i0.ɵɵFactoryDeclaration<RtThreadListComponent<any>, never>;
6846
- static ɵcmp: i0.ɵɵComponentDeclaration<RtThreadListComponent<any>, "rt-thread-list", never, { "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "activeId": { "alias": "activeId"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "fetching": { "alias": "fetching"; "required": false; "isSignal": true; }; "hasMore": { "alias": "hasMore"; "required": false; "isSignal": true; }; "filtersActive": { "alias": "filtersActive"; "required": false; "isSignal": true; }; }, { "selectRow": "selectRow"; "openInNewTab": "openInNewTab"; "searchChange": "searchChange"; "loadMore": "loadMore"; }, ["rowTemplate", "filtersTemplate", "searchTemplate"], never, true, never>;
7130
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtThreadListComponent<any>, "rt-thread-list", never, { "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "activeId": { "alias": "activeId"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "fetching": { "alias": "fetching"; "required": false; "isSignal": true; }; "hasMore": { "alias": "hasMore"; "required": false; "isSignal": true; }; "filtersActive": { "alias": "filtersActive"; "required": false; "isSignal": true; }; }, { "selectRow": "selectRow"; "openInNewTab": "openInNewTab"; "searchChange": "searchChange"; "loadMore": "loadMore"; }, ["rowTemplate", "filtersTemplate", "searchTemplate"], never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
6847
7131
  }
6848
7132
 
6849
7133
  declare namespace IRtTimeline {
@@ -7244,7 +7528,7 @@ declare class RtToggleButtonGroupComponent<T = string> {
7244
7528
  readonly valuesChange: OutputEmitterRef<ReadonlyArray<T>>;
7245
7529
  protected onOptionClick(item: IRtToggleButtonGroup.Rendered<T>): void;
7246
7530
  static ɵfac: i0.ɵɵFactoryDeclaration<RtToggleButtonGroupComponent<any>, never>;
7247
- static ɵcmp: i0.ɵɵComponentDeclaration<RtToggleButtonGroupComponent<any>, "rt-toggle-button-group", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "values": { "alias": "values"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "valuesChange": "valuesChange"; }, never, never, true, never>;
7531
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtToggleButtonGroupComponent<any>, "rt-toggle-button-group", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "values": { "alias": "values"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "valuesChange": "valuesChange"; }, never, never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
7248
7532
  }
7249
7533
 
7250
7534
  /**
@@ -7308,7 +7592,7 @@ declare class RtToggleSwitchComponent implements ControlValueAccessor {
7308
7592
  setDisabledState(disabled: boolean): void;
7309
7593
  protected toggle(): void;
7310
7594
  static ɵfac: i0.ɵɵFactoryDeclaration<RtToggleSwitchComponent, never>;
7311
- static ɵcmp: i0.ɵɵComponentDeclaration<RtToggleSwitchComponent, "rt-toggle-switch", never, { "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "iconOff": { "alias": "iconOff"; "required": false; "isSignal": true; }; "iconOn": { "alias": "iconOn"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
7595
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtToggleSwitchComponent, "rt-toggle-switch", never, { "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "iconOff": { "alias": "iconOff"; "required": false; "isSignal": true; }; "iconOn": { "alias": "iconOn"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
7312
7596
  }
7313
7597
 
7314
7598
  /**
@@ -7673,7 +7957,8 @@ declare namespace IRtKitConfig {
7673
7957
  interface Button {
7674
7958
  appearance?: IButton.Appearance;
7675
7959
  size?: IButton.Size;
7676
- rounded?: boolean;
7960
+ /** Шаг скругления всех кнопок, пока на кнопке не назван свой. */
7961
+ radius?: TRtRadius;
7677
7962
  }
7678
7963
  /** Умолчания шторы. */
7679
7964
  interface Aside {
@@ -7778,5 +8063,5 @@ declare const RT_DESIGN_TOKEN_NAMES: readonly TRtDesignTokenName[];
7778
8063
  /** All the consumer's handles: the value comes from the application, until then the fallback works. */
7779
8064
  declare const RT_CONSUMER_HANDLE_NAMES: readonly TRtConsumerHandleName[];
7780
8065
 
7781
- export { BreakpointsService, CATEGORY_ORDER, DATA_LIST_PAGE_SIZES, DATA_TABLE_FILTER_MENU_OPERATORS, DATA_TABLE_FILTER_OPERATOR_GLYPHS, ERtCalendarDayState, ERtDataTableCellColor, ERtDataTableColumnType, ERtDataTableFilterType, ERtMarkdownBlock, ERtMarkdownInline, ERtStorageKeys, IButton, ICON_CATEGORY_RULES, INotification, IRtAccordion, IRtActionBar, IRtAsideHeader, IRtAutocomplete, IRtBarList, IRtCalendar, IRtConfirmPopover, IRtDataTable, IRtDatePicker, IRtDynamicList, IRtField, IRtFileCard, IRtFileDrop, IRtFileInput, IRtFilterControl, IRtIcon, IRtIconButton, IRtInput, IRtKitConfig, IRtLogo, IRtMenu, IRtNightGrid, IRtPageHeader, IRtPagination, IRtPhotoViewer, IRtPopover, IRtSectionNav, IRtSelect, IRtSpinner, IRtSplitButton, IRtStatTile, IRtStepper, IRtTable, IRtTabs, IRtTag, IRtThemeToggle, IRtThreadList, IRtTimeline, IRtToaster, IRtToggleButtonGroup, IRtToggleSwitch, IRtTooltip, IRtWelcomeDialog, IRtWorkspace, IRtWorkspaceDetails, ITheme, MessageBus, NotificationBus, RT_ACTION_BAR_LEAVE_MS, RT_ASIDE_DATA, RT_CONSUMER_HANDLE_NAMES, RT_COUNTER_DECREASE_KEY, RT_COUNTER_INCREASE_KEY, RT_DATA_TABLE_PRESET_FROM_HOST, RT_DATA_TABLE_ROW_HOST, RT_DATA_TABLE_STOP_ROW_CLICK_ATTRIBUTE, RT_DESIGN_TOKEN_NAMES, RT_DIALOG_DATA, RT_FIELD_DEFAULT_ERROR_KEYS, RT_FIELD_EMPTY_VALUE, RT_ICONS_BASE_URL, RT_ICONS_MATERIAL_BASE_URL, RT_ICON_MATERIAL_FILL_SYMBOL_ID_PREFIX, RT_ICON_MATERIAL_PRESET_SELECTOR, RT_ICON_MATERIAL_SYMBOL_ID_PREFIX, RT_ICON_SPRITE_ID, RT_ICON_SYMBOL_ID_PREFIX, RT_KIT_CONFIG, RT_KIT_LABELS, RT_KIT_LABELS_EN, RT_KIT_LOCALE, RT_KIT_TRANSLATOR, RT_MENU_SELECT_EVENT, RT_PRESET_MATERIAL_CLASS, RT_TABLE_ROW_ACTIONS_COLUMN, RT_TOASTER_GAP_PX, RtAccordionComponent, RtActionBarComponent, RtActionBarHolderComponent, RtActionBarService, RtAsideComponent, RtAsideFooterComponent, RtAsideHeaderComponent, RtAsideRef, RtAsideSectionComponent, RtAsideService, RtAutocompleteComponent, RtBarListComponent, RtBottomSheetComponent, RtButtonDirective, RtCalendarComponent, RtCardComponent, RtCheckboxComponent, RtCollapsibleTextComponent, RtConfirmDirective, RtConfirmPopoverComponent, RtContainerComponent, RtContainerContentDirective, RtContainerContentPanelDirective, RtContainerHeaderDirective, RtContainerLeftSidenavDirective, RtContainerLeftSidenavPanelDirective, RtContainerRightSidenavDirective, RtContainerRightSidenavPanelDirective, RtContainerStateService, RtContainerToolbarCenterDirective, RtContainerToolbarLeftDirective, RtContainerToolbarRightDirective, RtCopyCellComponent, RtCounterComponent, RtCounterRowComponent, RtDataListAdditionalRowActionsDirective, RtDataListComponent, RtDataListCustomCellsDirective, RtDataListRowActionsDirective, RtDataListSelectorsDirective, RtDataListSettingsAsideComponent, RtDataListToolbarActionsDirective, RtDataListToolbarComponent, RtDataListToolbarSelectorsDirective, RtDataTableAdditionalRowActionsDirective, RtDataTableCellComponent, RtDataTableComponent, RtDataTableConfigService, RtDataTableCustomCellsDirective, RtDataTableFilterCellComponent, RtDataTableHeaderCellComponent, RtDataTableIconDirective, RtDataTableRowActionsDirective, RtDataTableRowClickDirective, RtDataTableSelectorsDirective, RtDataTableStopRowClickDirective, RtDatePickerComponent, RtDayStampPipe, RtDeltaViewComponent, RtDetailListComponent, RtDetailRowComponent, RtDialogComponent, RtDialogFooterComponent, RtDialogHeaderComponent, RtDialogRef, RtDialogService, RtDownloadLinkComponent, RtDynamicListComponent, RtDynamicListToolbarActionsDirective, RtDynamicListToolbarSelectorsDirective, RtEmptyStateComponent, RtFieldComponent, RtFieldHintDirective, RtFileCardComponent, RtFileDropComponent, RtFileInputComponent, RtFileListComponent, RtFilterControlComponent, RtFormControlBase, RtHeaderComponent, RtIconButtonComponent, RtIconComponent, RtIconRegistry, RtInfiniteScrollDirective, RtInfoItemComponent, RtInputComponent, RtInputNumberComponent, RtKitLabelPipe, RtLiveBadgeComponent, RtLogoComponent, RtMarkdownTextComponent, RtMenuComponent, RtMenuItemComponent, RtMessageComponent, RtMoneyListComponent, RtMoneyRowComponent, RtMultiselectComponent, RtNightGridComponent, RtNoteComponent, RtNotificationsBellComponent, RtPageHeaderComponent, RtPaginationComponent, RtPhotoViewerComponent, RtPopoverDirective, RtRadioButtonComponent, RtRippleDirective, RtRouteAsideComponent, RtRowHasActionsPipe, RtScrollAreaComponent, RtScrollAreaContentDirective, RtScrollAreaFooterDirective, RtScrollAreaHeaderDirective, RtSectionNavComponent, RtSelectComponent, RtSelectTriggerDirective, RtSkeletonComponent, RtSkeletonWrapperComponent, RtSpinnerComponent, RtSplitButtonComponent, RtStatTileComponent, RtStepperComponent, RtTabDirective, RtTableCardDirective, RtTableComponent, RtTableFilterHeaderComponent, RtTableRowActionsDirective, RtTableRowDirective, RtTableSettingsAsideComponent, RtTableSettingsPanelComponent, RtTableSettingsRegistry, RtTableSortHeaderComponent, RtTabsComponent, RtTabsControlDirective, RtTagComponent, RtTextareaComponent, RtThemeScopeDirective, RtThemeToggleComponent, RtThreadListComponent, RtThreadListFiltersDirective, RtThreadListRowDirective, RtThreadListSearchDirective, RtTimelineComponent, RtToastComponent, RtToasterComponent, RtToggleButtonGroupComponent, RtToggleSwitchComponent, RtToolbarCenterDirective, RtToolbarComponent, RtToolbarLeftDirective, RtToolbarRightDirective, RtTooltipComponent, RtTooltipDirective, RtTruncateMiddlePipe, RtWelcomeDialogComponent, RtWorkspaceAsideDirective, RtWorkspaceCenterDirective, RtWorkspaceComponent, RtWorkspaceDesktopOnlyDirective, RtWorkspaceDetailsComponent, RtWorkspaceListDirective, SEARCH_DEBOUNCE_MS, ThemeService, ariaSortOf, breakNode, categoryOf, coerceQuillDeltaOutput, comparePropNames, dataListColumnsFromItems, dataListExcludedAfterEntity, dataListExcludedAfterPageMarked, dataListExcludedAfterPageUnmarked, dataListMoveItem, dataListPageAfterSizeChange, dataListPageCount, dataListPageSizes, dataListSelectedAfterPage, dataListSettingItems, dataListSettingsChanged, dataListToggleHidden, dataTableAllOnPage, dataTableAnyOnPage, dataTableAriaSort, dataTableCellText, dataTableCellValue, dataTableColumnFilter, dataTableCopyButtonSide, dataTableDayToIso, dataTableDefaultOperator, dataTableFiltersWithOperator, dataTableFiltersWithValue, dataTableIconName, dataTableIsoToDay, dataTableKeysOf, dataTableNextSortOrder, dataTablePresetEntities, dataTableSortActive, dataTableWithEntity, dataTableWithPageEntities, dataTableWithoutPageEntities, defaultColumnItems, deriveFileTitle, displayedColumnKeys, fileNameFromUrl, filterCellsOf, filterOf, filterValueOf, filtersWithOperator, filtersWithValue, formatFileSize, getFileTypeIcon, iconsName, indexFromParam, indexFromScroll, isColumnSortable, nextPhotoIndex, nextSort, normalizeQuillDelta, paramFromIndex, parseInline, parseMarkdown, provideRtIcons, provideRtKit, provideRtKitLabels, resolveColumns, rowHasAvailableActions, rtAsideUnsavedGuard, rtKitDefault, rtKitLabel, searchDebounce, shouldRenderPhoto, sortDirectionOf, startOperatorOf, withoutLockedHidden };
7782
- export type { IMessageBusEvent, IQuillDelta, IQuillDeltaAttributes, IQuillDeltaOp, IRtAsideConfig, IRtDataTableIconContext, IRtDataTableRowContext, IRtDataTableRowHost, IRtDialogConfig, IRtMarkdownBlockNode, IRtMarkdownInlineNode, IRtMarkdownListItem, IRtPicture, IRtPictureSource, IRtTableCardContext, IRtTableRowActionsContext, IRtTableSettingsRegistration, TIconCategory, TRtAsideContentLayout, TRtAsidePosition, TRtAsideSize, TRtConsumerHandleName, TRtDataTableAriaSort, TRtDataTableFilterValue, TRtDataTableFilters, TRtDesignTokenName, TRtDialogSize, TRtKitLabelKey, TRtKitLabelMap, TRtKitLabelParams, TRtKitTranslator, TRtSkeletonRadius, TRtSkeletonShape, TRtSkeletonSize, TRtTableAriaSort, TRtTableFilterInput, TRtTableFilterValue, TRtTextareaResize };
8066
+ export { BreakpointsService, CATEGORY_ORDER, DATA_LIST_PAGE_SIZES, DATA_TABLE_FILTER_MENU_OPERATORS, DATA_TABLE_FILTER_OPERATOR_GLYPHS, ERtCalendarDayState, ERtDataTableCellColor, ERtDataTableColumnType, ERtDataTableFilterType, ERtDateRangePreset, ERtMarkdownBlock, ERtMarkdownInline, ERtStorageKeys, IButton, ICON_CATEGORY_RULES, INotification, IRtAccordion, IRtActionBar, IRtAsideHeader, IRtAutocomplete, IRtBarList, IRtCalendar, IRtConfirmPopover, IRtDataTable, IRtDatePicker, IRtDateRange, IRtDynamicList, IRtField, IRtFileCard, IRtFileDrop, IRtFileInput, IRtFilterControl, IRtIcon, IRtIconButton, IRtInput, IRtKitConfig, IRtLogo, IRtMenu, IRtNightGrid, IRtPageHeader, IRtPagination, IRtPhotoViewer, IRtPopover, IRtSectionNav, IRtSelect, IRtSpinner, IRtSplitButton, IRtStatTile, IRtStepper, IRtTable, IRtTabs, IRtTag, IRtThemeToggle, IRtThreadList, IRtTimeline, IRtToaster, IRtToggleButtonGroup, IRtToggleSwitch, IRtTooltip, IRtWelcomeDialog, IRtWorkspace, IRtWorkspaceDetails, ITheme, MessageBus, NotificationBus, RT_ACTION_BAR_LEAVE_MS, RT_ASIDE_DATA, RT_CONSUMER_HANDLE_NAMES, RT_COUNTER_DECREASE_KEY, RT_COUNTER_INCREASE_KEY, RT_DATA_TABLE_PRESET_FROM_HOST, RT_DATA_TABLE_ROW_HOST, RT_DATA_TABLE_STOP_ROW_CLICK_ATTRIBUTE, RT_DESIGN_TOKEN_NAMES, RT_DIALOG_DATA, RT_FIELD_DEFAULT_ERROR_KEYS, RT_FIELD_EMPTY_VALUE, RT_ICONS_BASE_URL, RT_ICONS_MATERIAL_BASE_URL, RT_ICON_MATERIAL_FILL_SYMBOL_ID_PREFIX, RT_ICON_MATERIAL_PRESET_SELECTOR, RT_ICON_MATERIAL_SYMBOL_ID_PREFIX, RT_ICON_SPRITE_ID, RT_ICON_SYMBOL_ID_PREFIX, RT_KIT_CONFIG, RT_KIT_LABELS, RT_KIT_LABELS_EN, RT_KIT_LOCALE, RT_KIT_TRANSLATOR, RT_MENU_SELECT_EVENT, RT_PRESET_MATERIAL_CLASS, RT_RADIUS_DEFAULT, RT_RADIUS_STEPS, RT_TABLE_ROW_ACTIONS_COLUMN, RT_TOASTER_GAP_PX, RtAccordionComponent, RtActionBarComponent, RtActionBarHolderComponent, RtActionBarService, RtAsideComponent, RtAsideFooterComponent, RtAsideHeaderComponent, RtAsideRef, RtAsideSectionComponent, RtAsideService, RtAutocompleteComponent, RtBarListComponent, RtBottomSheetComponent, RtButtonDirective, RtCalendarComponent, RtCardComponent, RtCheckboxComponent, RtCollapsibleTextComponent, RtConfirmDirective, RtConfirmPopoverComponent, RtContainerComponent, RtContainerContentDirective, RtContainerContentPanelDirective, RtContainerHeaderDirective, RtContainerLeftSidenavDirective, RtContainerLeftSidenavPanelDirective, RtContainerRightSidenavDirective, RtContainerRightSidenavPanelDirective, RtContainerStateService, RtContainerToolbarCenterDirective, RtContainerToolbarLeftDirective, RtContainerToolbarRightDirective, RtCopyCellComponent, RtCounterComponent, RtCounterRowComponent, RtDataListAdditionalRowActionsDirective, RtDataListComponent, RtDataListCustomCellsDirective, RtDataListRowActionsDirective, RtDataListSelectorsDirective, RtDataListSettingsAsideComponent, RtDataListToolbarActionsDirective, RtDataListToolbarComponent, RtDataListToolbarSelectorsDirective, RtDataTableAdditionalRowActionsDirective, RtDataTableCellComponent, RtDataTableComponent, RtDataTableConfigService, RtDataTableCustomCellsDirective, RtDataTableFilterCellComponent, RtDataTableHeaderCellComponent, RtDataTableIconDirective, RtDataTableRowActionsDirective, RtDataTableRowClickDirective, RtDataTableSelectorsDirective, RtDataTableStopRowClickDirective, RtDatePickerComponent, RtDateRangeComponent, RtDayStampPipe, RtDeltaViewComponent, RtDetailListComponent, RtDetailRowComponent, RtDialogComponent, RtDialogFooterComponent, RtDialogHeaderComponent, RtDialogRef, RtDialogService, RtDownloadLinkComponent, RtDynamicListComponent, RtDynamicListToolbarActionsDirective, RtDynamicListToolbarSelectorsDirective, RtEmptyStateComponent, RtFieldComponent, RtFieldHintDirective, RtFileCardComponent, RtFileDropComponent, RtFileInputComponent, RtFileListComponent, RtFilterControlComponent, RtFormControlBase, RtHeaderComponent, RtIconButtonComponent, RtIconComponent, RtIconRegistry, RtInfiniteScrollDirective, RtInfoItemComponent, RtInputComponent, RtInputNumberComponent, RtKitLabelPipe, RtLiveBadgeComponent, RtLogoComponent, RtMarkdownTextComponent, RtMenuComponent, RtMenuItemComponent, RtMessageComponent, RtMoneyListComponent, RtMoneyRowComponent, RtMultiselectComponent, RtNightGridComponent, RtNoteComponent, RtNotificationsBellComponent, RtPageHeaderComponent, RtPaginationComponent, RtPhotoViewerComponent, RtPopoverDirective, RtRadioButtonComponent, RtRadiusDirective, RtRippleDirective, RtRouteAsideComponent, RtRowHasActionsPipe, RtScrollAreaComponent, RtScrollAreaContentDirective, RtScrollAreaFooterDirective, RtScrollAreaHeaderDirective, RtSectionNavComponent, RtSelectComponent, RtSelectTriggerDirective, RtSkeletonComponent, RtSkeletonWrapperComponent, RtSpinnerComponent, RtSplitButtonComponent, RtStatTileComponent, RtStepperComponent, RtTabDirective, RtTableCardDirective, RtTableComponent, RtTableFilterHeaderComponent, RtTableRowActionsDirective, RtTableRowDirective, RtTableSettingsAsideComponent, RtTableSettingsPanelComponent, RtTableSettingsRegistry, RtTableSortHeaderComponent, RtTabsComponent, RtTabsControlDirective, RtTagComponent, RtTextareaComponent, RtThemeScopeDirective, RtThemeToggleComponent, RtThreadListComponent, RtThreadListFiltersDirective, RtThreadListRowDirective, RtThreadListSearchDirective, RtTimelineComponent, RtToastComponent, RtToasterComponent, RtToggleButtonGroupComponent, RtToggleSwitchComponent, RtToolbarCenterDirective, RtToolbarComponent, RtToolbarLeftDirective, RtToolbarRightDirective, RtTooltipComponent, RtTooltipDirective, RtTruncateMiddlePipe, RtWelcomeDialogComponent, RtWorkspaceAsideDirective, RtWorkspaceCenterDirective, RtWorkspaceComponent, RtWorkspaceDesktopOnlyDirective, RtWorkspaceDetailsComponent, RtWorkspaceListDirective, SEARCH_DEBOUNCE_MS, ThemeService, ariaSortOf, breakNode, categoryOf, coerceQuillDeltaOutput, comparePropNames, dataListColumnsFromItems, dataListExcludedAfterEntity, dataListExcludedAfterPageMarked, dataListExcludedAfterPageUnmarked, dataListMoveItem, dataListPageAfterSizeChange, dataListPageCount, dataListPageSizes, dataListSelectedAfterPage, dataListSettingItems, dataListSettingsChanged, dataListToggleHidden, dataTableAllOnPage, dataTableAnyOnPage, dataTableAriaSort, dataTableCellText, dataTableCellValue, dataTableColumnFilter, dataTableCopyButtonSide, dataTableDayToIso, dataTableDefaultOperator, dataTableFiltersWithOperator, dataTableFiltersWithValue, dataTableIconName, dataTableIsoToDay, dataTableKeysOf, dataTableNextSortOrder, dataTablePresetEntities, dataTableSortActive, dataTableWithEntity, dataTableWithPageEntities, dataTableWithoutPageEntities, defaultColumnItems, deriveFileTitle, displayedColumnKeys, fileNameFromUrl, filterCellsOf, filterOf, filterValueOf, filtersWithOperator, filtersWithValue, formatFileSize, getFileTypeIcon, iconsName, indexFromParam, indexFromScroll, isColumnSortable, nextPhotoIndex, nextSort, normalizeQuillDelta, paramFromIndex, parseInline, parseMarkdown, provideRtIcons, provideRtKit, provideRtKitLabels, resolveColumns, rowHasAvailableActions, rtAsideUnsavedGuard, rtKitDefault, rtKitLabel, searchDebounce, shouldRenderPhoto, sortDirectionOf, startOperatorOf, withoutLockedHidden };
8067
+ export type { IMessageBusEvent, IQuillDelta, IQuillDeltaAttributes, IQuillDeltaOp, IRtAsideConfig, IRtDataTableIconContext, IRtDataTableRowContext, IRtDataTableRowHost, IRtDialogConfig, IRtMarkdownBlockNode, IRtMarkdownInlineNode, IRtMarkdownListItem, IRtPicture, IRtPictureSource, IRtTableCardContext, IRtTableRowActionsContext, IRtTableSettingsRegistration, TIconCategory, TRtAsideContentLayout, TRtAsidePosition, TRtAsideSize, TRtConsumerHandleName, TRtDataTableAriaSort, TRtDataTableFilterValue, TRtDataTableFilters, TRtDesignTokenName, TRtDialogSize, TRtKitLabelKey, TRtKitLabelMap, TRtKitLabelParams, TRtKitTranslator, TRtRadius, TRtSkeletonShape, TRtSkeletonSize, TRtTableAriaSort, TRtTableFilterInput, TRtTableFilterValue, TRtTextareaResize };