@rt-tools/ui-kit-v2 0.39.0 → 0.39.2

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 (88) hide show
  1. package/fesm2022/rt-tools-ui-kit-v2-aside.mjs +4 -4
  2. package/fesm2022/rt-tools-ui-kit-v2-aside.mjs.map +1 -1
  3. package/fesm2022/rt-tools-ui-kit-v2-autocomplete.mjs +2 -2
  4. package/fesm2022/rt-tools-ui-kit-v2-autocomplete.mjs.map +1 -1
  5. package/fesm2022/rt-tools-ui-kit-v2-core.mjs +14 -0
  6. package/fesm2022/rt-tools-ui-kit-v2-core.mjs.map +1 -1
  7. package/fesm2022/rt-tools-ui-kit-v2-data-list.mjs +5 -5
  8. package/fesm2022/rt-tools-ui-kit-v2-data-list.mjs.map +1 -1
  9. package/fesm2022/rt-tools-ui-kit-v2-data-table.mjs +48 -45
  10. package/fesm2022/rt-tools-ui-kit-v2-data-table.mjs.map +1 -1
  11. package/fesm2022/rt-tools-ui-kit-v2-date-picker.mjs +62 -9
  12. package/fesm2022/rt-tools-ui-kit-v2-date-picker.mjs.map +1 -1
  13. package/fesm2022/rt-tools-ui-kit-v2-date-range.mjs +93 -12
  14. package/fesm2022/rt-tools-ui-kit-v2-date-range.mjs.map +1 -1
  15. package/fesm2022/rt-tools-ui-kit-v2-detail-list.mjs +2 -2
  16. package/fesm2022/rt-tools-ui-kit-v2-detail-list.mjs.map +1 -1
  17. package/fesm2022/rt-tools-ui-kit-v2-field.mjs +2 -2
  18. package/fesm2022/rt-tools-ui-kit-v2-field.mjs.map +1 -1
  19. package/fesm2022/rt-tools-ui-kit-v2-form-control.mjs +4 -1
  20. package/fesm2022/rt-tools-ui-kit-v2-form-control.mjs.map +1 -1
  21. package/fesm2022/rt-tools-ui-kit-v2-icon.mjs +10 -0
  22. package/fesm2022/rt-tools-ui-kit-v2-icon.mjs.map +1 -1
  23. package/fesm2022/rt-tools-ui-kit-v2-input-number.mjs +76 -5
  24. package/fesm2022/rt-tools-ui-kit-v2-input-number.mjs.map +1 -1
  25. package/fesm2022/rt-tools-ui-kit-v2-input.mjs +2 -2
  26. package/fesm2022/rt-tools-ui-kit-v2-message.mjs +3 -3
  27. package/fesm2022/rt-tools-ui-kit-v2-message.mjs.map +1 -1
  28. package/fesm2022/rt-tools-ui-kit-v2-multiselect.mjs +4 -4
  29. package/fesm2022/rt-tools-ui-kit-v2-multiselect.mjs.map +1 -1
  30. package/fesm2022/rt-tools-ui-kit-v2-stat-tile.mjs +37 -16
  31. package/fesm2022/rt-tools-ui-kit-v2-stat-tile.mjs.map +1 -1
  32. package/fesm2022/rt-tools-ui-kit-v2-table-core.mjs +101 -0
  33. package/fesm2022/rt-tools-ui-kit-v2-table-core.mjs.map +1 -0
  34. package/fesm2022/rt-tools-ui-kit-v2-table.mjs +130 -42
  35. package/fesm2022/rt-tools-ui-kit-v2-table.mjs.map +1 -1
  36. package/fesm2022/rt-tools-ui-kit-v2-tabs.mjs +41 -4
  37. package/fesm2022/rt-tools-ui-kit-v2-tabs.mjs.map +1 -1
  38. package/fesm2022/rt-tools-ui-kit-v2-workspace-details.mjs +2 -0
  39. package/fesm2022/rt-tools-ui-kit-v2-workspace-details.mjs.map +1 -1
  40. package/package.json +5 -1
  41. package/src/assets/icons-material/bookmark.fill.svg +5 -0
  42. package/src/assets/icons-material/bookmark.svg +5 -0
  43. package/src/assets/icons-material/flag.fill.svg +3 -0
  44. package/src/assets/icons-material/flag.svg +5 -0
  45. package/src/lib/components/aside/footer/CONTEXT.md +27 -0
  46. package/src/lib/components/aside/footer/rt-aside-footer.component.scss +8 -3
  47. package/src/lib/components/aside/header/rt-aside-header.component.scss +11 -3
  48. package/src/lib/components/button/rt-button.directive.scss +5 -1
  49. package/src/lib/components/data-table/CONTEXT.md +8 -2
  50. package/src/lib/components/date-picker/panel/rt-date-panel.component.scss +51 -2
  51. package/src/lib/components/date-range/panel/rt-date-range-panel.component.scss +95 -2
  52. package/src/lib/components/detail-list/CONTEXT.md +3 -0
  53. package/src/lib/components/detail-list/rt-detail-row.component.scss +1 -0
  54. package/src/lib/components/field/CONTEXT.md +4 -2
  55. package/src/lib/components/field/rt-field.component.scss +14 -0
  56. package/src/lib/components/form-control/CONTEXT.md +13 -8
  57. package/src/lib/components/input/rt-input.component.scss +4 -0
  58. package/src/lib/components/input-number/CONTEXT.md +8 -0
  59. package/src/lib/components/input-number/rt-input-number.component.scss +50 -0
  60. package/src/lib/components/message/CONTEXT.md +1 -1
  61. package/src/lib/components/message/rt-message.component.scss +2 -1
  62. package/src/lib/components/multiselect/rt-multiselect.component.scss +21 -0
  63. package/src/lib/components/service-block/stories/component/test-service-block-panel.component.scss +29 -0
  64. package/src/lib/components/stat-tile/CONTEXT.md +11 -6
  65. package/src/lib/components/stat-tile/rt-stat-tile.component.scss +21 -0
  66. package/src/lib/components/stat-tile/stories/component/test-stat-tile-matrix.component.scss +15 -0
  67. package/src/lib/components/table/CONTEXT.md +23 -0
  68. package/src/lib/components/table/copy-cell/CONTEXT.md +32 -0
  69. package/src/lib/components/table/copy-cell/rt-copy-cell.component.scss +26 -0
  70. package/src/lib/components/table/rt-table.component.scss +77 -22
  71. package/src/lib/components/table/stories/component/test-table-pinned.component.scss +76 -0
  72. package/src/lib/components/tabs/CONTEXT.md +18 -16
  73. package/src/lib/components/tabs/rt-tabs.component.scss +25 -1
  74. package/src/styles/_form.scss +10 -0
  75. package/src/styles/_primitives.scss +2 -0
  76. package/src/styles/_semantic.scss +11 -1
  77. package/src/styles/_theme-dark.scss +2 -0
  78. package/styles/tokens.css +95 -9
  79. package/types/rt-tools-ui-kit-v2-core.d.ts +28 -5
  80. package/types/rt-tools-ui-kit-v2-data-table.d.ts +23 -9
  81. package/types/rt-tools-ui-kit-v2-date-picker.d.ts +14 -0
  82. package/types/rt-tools-ui-kit-v2-form-control.d.ts +2 -2
  83. package/types/rt-tools-ui-kit-v2-input-number.d.ts +30 -2
  84. package/types/rt-tools-ui-kit-v2-message.d.ts +1 -1
  85. package/types/rt-tools-ui-kit-v2-stat-tile.d.ts +29 -6
  86. package/types/rt-tools-ui-kit-v2-table-core.d.ts +76 -0
  87. package/types/rt-tools-ui-kit-v2-table.d.ts +52 -18
  88. package/types/rt-tools-ui-kit-v2-tabs.d.ts +26 -0
@@ -1,6 +1,6 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import { EnvironmentProviders, InjectionToken, InputSignal, InputSignalWithTransform, OnDestroy, OutputEmitterRef, PipeTransform, Signal, Type, WritableSignal } from "@angular/core";
3
- import { FormControl } from "@angular/forms";
3
+ import { FormControl as FormControl$1 } from "@angular/forms";
4
4
  import { IFilterModel, ISortModel, TFilterOperatorType } from "@rt-tools/utils";
5
5
  import { MonoTypeOperatorFunction, Observable } from "rxjs";
6
6
  /**
@@ -152,9 +152,9 @@ export declare namespace IRtDataTable {
152
152
  columns: Array<IRtDataTable.Column<T>>;
153
153
  }
154
154
  interface Form<T> {
155
- isVerticalScrollbarShown: FormControl<boolean>;
156
- isHorizontalScrollbarShown: FormControl<boolean>;
157
- columns: FormControl<(keyof T)[]>;
155
+ isVerticalScrollbarShown: FormControl$1<boolean>;
156
+ isHorizontalScrollbarShown: FormControl$1<boolean>;
157
+ columns: FormControl$1<(keyof T)[]>;
158
158
  }
159
159
  }
160
160
  }
@@ -400,9 +400,18 @@ export declare namespace IRtKitConfig {
400
400
  /** Задержка показа при наведении, мс. Умолчание кита — 300. */
401
401
  showDelay?: number;
402
402
  }
403
+ /**
404
+ * Умолчания полей общей базы: ввода, автокомплита, числа, дат, выбора и прочих. Вход на поле
405
+ * перебивает их.
406
+ */
407
+ interface FormControl {
408
+ /** Доходит ли крестик очистки по Tab. Умолчание кита — не доходит. */
409
+ clearTabbable?: boolean;
410
+ }
403
411
  /** Умолчания по узлам: каждое действует на одну семью и перебивает общее. */
404
412
  interface Components {
405
413
  button?: Button;
414
+ formControl?: FormControl;
406
415
  aside?: Aside;
407
416
  dataTable?: DataTable;
408
417
  dataList?: DataList;
@@ -619,6 +628,7 @@ export declare const RT_KIT_LABELS_EN: {
619
628
  readonly uiChangeAgent: "Change agent";
620
629
  readonly uiChooseFile: "Choose file";
621
630
  readonly uiChooseMonth: "Choose month and year";
631
+ readonly uiChooseYear: "Choose year";
622
632
  readonly uiClear: "Clear";
623
633
  readonly uiClearFilters: "Clear filters";
624
634
  readonly uiClearSelection: "Clear selection";
@@ -650,6 +660,7 @@ export declare const RT_KIT_LABELS_EN: {
650
660
  readonly uiDaysMany: string;
651
661
  readonly uiDaysOne: "{{count}} day";
652
662
  readonly uiDaysOther: string;
663
+ readonly uiDecrease: "Decrease";
653
664
  readonly uiDetails: "Details";
654
665
  readonly uiDiscardChanges: "Discard Changes";
655
666
  readonly uiDone: "Done";
@@ -695,6 +706,7 @@ export declare const RT_KIT_LABELS_EN: {
695
706
  readonly uiImageUploadChoose: "Choose file";
696
707
  readonly uiImageUploadDrop: "Drag and drop an image here or";
697
708
  readonly uiImageUploadImage: "Current image";
709
+ readonly uiIncrease: "Increase";
698
710
  readonly uiInviteUser: "Invite user";
699
711
  readonly uiItemsPerPage: "Items per page";
700
712
  readonly uiLast30Days: "Last 30 days";
@@ -714,6 +726,7 @@ export declare const RT_KIT_LABELS_EN: {
714
726
  readonly uiNextMonth: "Next month";
715
727
  readonly uiNextPage: "Next page";
716
728
  readonly uiNextYear: "Next year";
729
+ readonly uiNextYears: "Next 12 years";
717
730
  readonly uiNightGridAria: "Occupancy grid";
718
731
  readonly uiNoData: "No data yet";
719
732
  readonly uiNoOptions: "No options";
@@ -724,16 +737,20 @@ export declare const RT_KIT_LABELS_EN: {
724
737
  readonly uiOpenCalendar: "Open the calendar";
725
738
  readonly uiPageOf: "Page {{page}} of {{last}}";
726
739
  readonly uiPagination: "Pagination";
740
+ readonly uiPercentagePoints: "{{value}} pp";
727
741
  readonly uiPerPage: "Items per page:";
728
742
  readonly uiPeriod: "Period";
729
743
  readonly uiPickAgent: "Select an agent";
730
744
  readonly uiPickAnotherAgent: "Select a different agent";
731
745
  readonly uiPickEndDate: "Pick the end date";
746
+ readonly uiPickMonth: "choose a month";
732
747
  readonly uiPickStartDate: "Pick the start date";
733
748
  readonly uiPickTransition: "Select a transition";
749
+ readonly uiPickYear: "choose a year";
734
750
  readonly uiPrevMonth: "Previous month";
735
751
  readonly uiPrevPage: "Previous page";
736
752
  readonly uiPrevYear: "Previous year";
753
+ readonly uiPrevYears: "Previous 12 years";
737
754
  readonly uiProfile: "Profile";
738
755
  readonly uiQuickRanges: "Quick ranges";
739
756
  readonly uiRangeEmpty: "0 of 0";
@@ -1331,6 +1348,12 @@ export declare enum ERtStorageKeys {
1331
1348
  Theme = "rt.theme",
1332
1349
  /** Префикс, а не полный ключ: итоговый вид — `rt.table.columns.<tableId>`. */
1333
1350
  TableColumnsPrefix = "rt.table.columns.",
1351
+ /**
1352
+ * Префикс настроек `rt-data-table`: итоговый вид — `rt.data-table.config.<ключ приложения>`.
1353
+ * Свой, а не `TableColumnsPrefix`: форма записи другая, и один ключ на обе таблицы дал бы
1354
+ * одной прочитать чужое.
1355
+ */
1356
+ DataTableConfigPrefix = "rt.data-table.config.",
1334
1357
  /** Настройки боковых меню: один объект, в нём каждое меню под своим номером. */
1335
1358
  SideMenu = "rt.side-menu"
1336
1359
  }
@@ -1420,7 +1443,7 @@ export declare class RtInfiniteScrollDirective implements OnDestroy {
1420
1443
  }, never, never, true, never>;
1421
1444
  }
1422
1445
  /** The name of a styling property the kit declares itself. */
1423
- export type TRtDesignTokenName = '--rt-amber-400' | '--rt-border-width-medium' | '--rt-border-width-thick' | '--rt-border-width-thin' | '--rt-bp-lg' | '--rt-bp-md' | '--rt-bp-sm' | '--rt-bp-xl' | '--rt-brand-100' | '--rt-brand-200' | '--rt-brand-300' | '--rt-brand-400' | '--rt-brand-50' | '--rt-brand-500' | '--rt-brand-600' | '--rt-brand-700' | '--rt-brand-800' | '--rt-brand-900' | '--rt-brand-950' | '--rt-btn-tint-active' | '--rt-btn-tint-hover' | '--rt-charcoal-700' | '--rt-charcoal-800' | '--rt-charcoal-900' | '--rt-charcoal-950' | '--rt-charcoal-border' | '--rt-charcoal-border-strong' | '--rt-chat-bubble-date' | '--rt-chat-bubble-in-author' | '--rt-chat-bubble-in-bg' | '--rt-chat-bubble-own-author' | '--rt-chat-bubble-own-bg' | '--rt-chat-status-read' | '--rt-color-action-danger' | '--rt-color-action-danger-active' | '--rt-color-action-danger-hover' | '--rt-color-action-danger-on-surface' | '--rt-color-action-disabled' | '--rt-color-action-info' | '--rt-color-action-info-active' | '--rt-color-action-info-hover' | '--rt-color-action-info-on-surface' | '--rt-color-action-on-danger' | '--rt-color-action-on-disabled' | '--rt-color-action-on-info' | '--rt-color-action-on-primary' | '--rt-color-action-on-secondary' | '--rt-color-action-on-success' | '--rt-color-action-on-warning' | '--rt-color-action-primary' | '--rt-color-action-primary-active' | '--rt-color-action-primary-hover' | '--rt-color-action-primary-on-surface' | '--rt-color-action-primary-soft' | '--rt-color-action-primary-subtle' | '--rt-color-action-secondary' | '--rt-color-action-secondary-active' | '--rt-color-action-secondary-hover' | '--rt-color-action-secondary-on-surface' | '--rt-color-action-success' | '--rt-color-action-success-active' | '--rt-color-action-success-hover' | '--rt-color-action-success-on-surface' | '--rt-color-action-warning' | '--rt-color-action-warning-active' | '--rt-color-action-warning-hover' | '--rt-color-action-warning-on-surface' | '--rt-color-bg-hover' | '--rt-color-bg-inverse' | '--rt-color-bg-nav' | '--rt-color-bg-overlay' | '--rt-color-bg-page' | '--rt-color-bg-page-auth' | '--rt-color-bg-subtle' | '--rt-color-bg-surface' | '--rt-color-bg-surface-auth-card' | '--rt-color-bg-surface-subtle' | '--rt-color-bg-surface-subtle-2' | '--rt-color-border-default' | '--rt-color-border-focus' | '--rt-color-border-strong' | '--rt-color-border-subtle' | '--rt-color-field-fill-underline' | '--rt-color-service-logo-bg' | '--rt-color-service-logo-mark' | '--rt-color-skeleton-base' | '--rt-color-skeleton-wave' | '--rt-color-state-danger' | '--rt-color-state-danger-bg' | '--rt-color-state-error-text' | '--rt-color-state-info' | '--rt-color-state-info-bg' | '--rt-color-state-success' | '--rt-color-state-success-bg' | '--rt-color-state-success-text' | '--rt-color-state-warning' | '--rt-color-state-warning-bg' | '--rt-color-state-warning-text' | '--rt-color-stepper-current' | '--rt-color-stepper-current-subtle' | '--rt-color-stepper-progress' | '--rt-color-stepper-track' | '--rt-color-table-head-bg' | '--rt-color-text-disabled' | '--rt-color-text-inverse' | '--rt-color-text-link' | '--rt-color-text-link-hover' | '--rt-color-text-muted' | '--rt-color-text-primary' | '--rt-control-height-2xl' | '--rt-control-height-lg' | '--rt-control-height-md' | '--rt-control-height-sm' | '--rt-control-height-xl' | '--rt-control-max-width' | '--rt-control-panel-max-height' | '--rt-control-textarea-min-height-lg' | '--rt-control-textarea-min-height-md' | '--rt-control-textarea-min-height-sm' | '--rt-counter-gap' | '--rt-counter-row-color-border' | '--rt-counter-row-gap' | '--rt-counter-row-hint-color' | '--rt-counter-row-hint-font-size' | '--rt-counter-row-label-color' | '--rt-counter-row-label-font-size' | '--rt-counter-row-padding-y' | '--rt-counter-value-color' | '--rt-counter-value-font-size' | '--rt-counter-value-min-width' | '--rt-danger-50' | '--rt-danger-500' | '--rt-danger-600' | '--rt-danger-700' | '--rt-duration-base' | '--rt-duration-fast' | '--rt-duration-slow' | '--rt-duration-slower' | '--rt-field-error-color' | '--rt-field-error-font-size' | '--rt-field-gap' | '--rt-field-hint-color' | '--rt-field-hint-font-size' | '--rt-field-label-color' | '--rt-field-label-font-size' | '--rt-field-label-font-weight' | '--rt-field-label-help-gap' | '--rt-field-messages-line-height' | '--rt-field-messages-padding-top' | '--rt-field-required-color' | '--rt-field-required-gap' | '--rt-field-value-color' | '--rt-field-value-empty-color' | '--rt-field-value-font-size' | '--rt-focus-ring-color' | '--rt-focus-ring-color-danger' | '--rt-focus-ring-offset' | '--rt-focus-ring-width' | '--rt-font-family-mono' | '--rt-font-family-sans' | '--rt-font-weight-bold' | '--rt-font-weight-medium' | '--rt-font-weight-regular' | '--rt-font-weight-semibold' | '--rt-gray-350' | '--rt-icon-button-color-bg-hover' | '--rt-icon-button-disabled-color' | '--rt-icon-button-disabled-fill' | '--rt-icon-button-disabled-opacity' | '--rt-info-50' | '--rt-info-500' | '--rt-info-600' | '--rt-info-700' | '--rt-input-border-width' | '--rt-input-caret-color' | '--rt-input-clear-bg' | '--rt-input-clear-bg-hover' | '--rt-input-clear-color' | '--rt-input-clear-icon-size' | '--rt-input-clear-offset-end' | '--rt-input-clear-offset-start' | '--rt-input-clear-radius' | '--rt-input-clear-size' | '--rt-input-color-bg' | '--rt-input-color-bg-disabled' | '--rt-input-color-bg-hover' | '--rt-input-color-border' | '--rt-input-color-border-disabled' | '--rt-input-color-border-error' | '--rt-input-color-border-focus' | '--rt-input-color-placeholder-disabled' | '--rt-input-color-text' | '--rt-input-color-text-disabled' | '--rt-input-color-text-placeholder' | '--rt-input-disabled-field-opacity' | '--rt-input-disabled-opacity' | '--rt-input-fill-color-bg-disabled' | '--rt-input-fill-edge' | '--rt-input-fill-focus-shadow' | '--rt-input-fill-focus-shadow-error' | '--rt-input-focus-outline-offset' | '--rt-input-focus-shadow' | '--rt-input-focus-shadow-error' | '--rt-input-font-size' | '--rt-input-gap' | '--rt-input-height' | '--rt-input-height-lg' | '--rt-input-height-md' | '--rt-input-height-sm' | '--rt-input-icon-color' | '--rt-input-icon-size' | '--rt-input-line-height' | '--rt-input-max-width' | '--rt-input-min-width' | '--rt-input-padding-x' | '--rt-input-padding-y' | '--rt-input-panel-max-height' | '--rt-input-radius' | '--rt-input-transition' | '--rt-leading-none' | '--rt-leading-normal' | '--rt-leading-relaxed' | '--rt-leading-snug' | '--rt-leading-tight' | '--rt-letter-spacing-wide' | '--rt-list-action-color' | '--rt-list-action-color-bg-hover' | '--rt-list-action-color-hover' | '--rt-list-action-divider-height' | '--rt-list-action-gap' | '--rt-list-action-icon-size' | '--rt-list-action-radius' | '--rt-list-action-shadow' | '--rt-list-action-shadow-hover' | '--rt-list-content-padding-bottom' | '--rt-list-copy-button-bg' | '--rt-list-copy-button-bg-hover' | '--rt-list-copy-button-color' | '--rt-list-copy-button-radius' | '--rt-list-copy-button-size' | '--rt-list-empty-icon-size' | '--rt-list-empty-icon-wrap-bg' | '--rt-list-empty-icon-wrap-size' | '--rt-list-empty-title-size' | '--rt-list-empty-title-weight' | '--rt-list-filter-line-height' | '--rt-list-placeholder-grow' | '--rt-list-placeholder-min-height' | '--rt-list-search-color-bg' | '--rt-list-search-color-border' | '--rt-list-search-color-placeholder' | '--rt-list-search-font-size' | '--rt-list-search-gap' | '--rt-list-search-height' | '--rt-list-search-icon-color' | '--rt-list-search-icon-size' | '--rt-list-search-padding-x' | '--rt-list-search-radius' | '--rt-list-search-width' | '--rt-list-selector-label-color' | '--rt-list-settings-icon-color' | '--rt-list-settings-item-bg' | '--rt-list-settings-item-radius' | '--rt-list-table-button-radius' | '--rt-list-table-button-size' | '--rt-list-table-head-divider-color' | '--rt-list-table-icon-color' | '--rt-list-table-icon-size' | '--rt-list-toolbar-gap' | '--rt-list-toolbar-padding-bottom' | '--rt-list-toolbar-padding-top' | '--rt-mat-blue-100' | '--rt-mat-blue-20' | '--rt-mat-blue-40' | '--rt-mat-blue-60' | '--rt-mat-blue-80' | '--rt-mat-blue-active' | '--rt-mat-blue-hover' | '--rt-mat-dark-10' | '--rt-mat-dark-20' | '--rt-mat-dark-30' | '--rt-mat-dark-40' | '--rt-mat-green-10' | '--rt-mat-green-100' | '--rt-mat-green-120' | '--rt-mat-green-20' | '--rt-mat-green-40' | '--rt-mat-green-60' | '--rt-mat-green-80' | '--rt-mat-green-active' | '--rt-mat-green-hover' | '--rt-mat-menu-min-width' | '--rt-mat-menu-sm-icon-size' | '--rt-mat-menu-sm-item-height' | '--rt-mat-navy-100' | '--rt-mat-neutral-0' | '--rt-mat-neutral-10' | '--rt-mat-neutral-100' | '--rt-mat-neutral-15' | '--rt-mat-neutral-20' | '--rt-mat-neutral-25' | '--rt-mat-neutral-30' | '--rt-mat-neutral-35' | '--rt-mat-neutral-40' | '--rt-mat-neutral-5' | '--rt-mat-neutral-60' | '--rt-mat-neutral-70' | '--rt-mat-neutral-80' | '--rt-mat-neutral-active' | '--rt-mat-neutral-hover' | '--rt-mat-orange-10' | '--rt-mat-orange-100' | '--rt-mat-orange-20' | '--rt-mat-orange-40' | '--rt-mat-orange-5' | '--rt-mat-orange-60' | '--rt-mat-orange-70' | '--rt-mat-orange-80' | '--rt-mat-orange-active' | '--rt-mat-orange-hover' | '--rt-mat-overlay-black-32' | '--rt-mat-overlay-black-4' | '--rt-mat-overlay-blue-24' | '--rt-mat-overlay-blue-8' | '--rt-mat-radius-4' | '--rt-mat-radius-5' | '--rt-mat-red-10' | '--rt-mat-red-100' | '--rt-mat-red-20' | '--rt-mat-red-40' | '--rt-mat-red-60' | '--rt-mat-red-80' | '--rt-mat-red-active' | '--rt-mat-red-hover' | '--rt-mat-shadow-fab' | '--rt-mat-shadow-fab-hover' | '--rt-mat-shadow-level-2' | '--rt-mat-yellow-100' | '--rt-mist-50' | '--rt-nav-caret-size' | '--rt-nav-color-disabled' | '--rt-nav-color-focus' | '--rt-nav-header-color-bg' | '--rt-nav-header-padding' | '--rt-nav-item-color' | '--rt-nav-item-color-bg' | '--rt-nav-item-color-bg-active' | '--rt-nav-item-color-border' | '--rt-nav-item-color-caret' | '--rt-nav-item-color-hover' | '--rt-nav-item-color-pressed' | '--rt-nav-item-content-gap' | '--rt-nav-item-font-size' | '--rt-nav-item-font-weight' | '--rt-nav-item-gap' | '--rt-nav-item-height' | '--rt-nav-item-line-height' | '--rt-nav-item-padding' | '--rt-nav-marker-color' | '--rt-nav-marker-size' | '--rt-nav-panel-color-bg' | '--rt-nav-panel-color-border' | '--rt-nav-panel-column-gap' | '--rt-nav-panel-column-width' | '--rt-nav-panel-columns' | '--rt-nav-panel-group-color' | '--rt-nav-panel-group-content-gap' | '--rt-nav-panel-group-font-size' | '--rt-nav-panel-group-font-weight' | '--rt-nav-panel-group-gap' | '--rt-nav-panel-item-color' | '--rt-nav-panel-item-color-active' | '--rt-nav-panel-item-color-bg-active' | '--rt-nav-panel-item-color-bg-hover' | '--rt-nav-panel-item-content-gap' | '--rt-nav-panel-item-font-size' | '--rt-nav-panel-item-font-weight' | '--rt-nav-panel-item-gap' | '--rt-nav-panel-item-height' | '--rt-nav-panel-item-padding' | '--rt-nav-panel-padding' | '--rt-nav-panel-padding-y' | '--rt-nav-panel-shadow' | '--rt-navy-600' | '--rt-navy-900' | '--rt-neutral-0' | '--rt-neutral-100' | '--rt-neutral-200' | '--rt-neutral-300' | '--rt-neutral-400' | '--rt-neutral-50' | '--rt-neutral-500' | '--rt-neutral-600' | '--rt-neutral-700' | '--rt-neutral-800' | '--rt-neutral-900' | '--rt-neutral-950' | '--rt-opacity-disabled' | '--rt-overlay-amber-16' | '--rt-overlay-black-4' | '--rt-overlay-black-50' | '--rt-overlay-black-8' | '--rt-overlay-brand-24' | '--rt-overlay-brand-8' | '--rt-overlay-danger-16' | '--rt-overlay-menu-bg' | '--rt-overlay-menu-current-bg' | '--rt-overlay-menu-danger-color' | '--rt-overlay-menu-danger-label-color' | '--rt-overlay-menu-item-icon-size' | '--rt-overlay-menu-item-min-height' | '--rt-overlay-menu-item-padding-x' | '--rt-overlay-menu-item-padding-y' | '--rt-overlay-menu-item-weight' | '--rt-overlay-menu-min-width' | '--rt-overlay-menu-padding-y' | '--rt-overlay-menu-radius' | '--rt-overlay-menu-shadow' | '--rt-overlay-menu-sm-item-icon-size' | '--rt-overlay-menu-sm-item-min-height' | '--rt-overlay-navy-70' | '--rt-overlay-select-check-display' | '--rt-overlay-select-option-font-size' | '--rt-overlay-select-option-min-height' | '--rt-overlay-select-panel-border-width' | '--rt-overlay-select-radius' | '--rt-overlay-select-selected-bg' | '--rt-overlay-select-selected-weight' | '--rt-overlay-select-shadow' | '--rt-overlay-tooltip-radius' | '--rt-overlay-tooltip-shadow' | '--rt-overlay-white-25' | '--rt-overlay-white-4' | '--rt-overlay-white-40' | '--rt-overlay-white-50' | '--rt-overlay-white-8' | '--rt-pagination-arrow-color' | '--rt-pagination-arrow-radius' | '--rt-pagination-arrow-shadow' | '--rt-pagination-arrow-size' | '--rt-pagination-box-color-border' | '--rt-pagination-box-color-text' | '--rt-pagination-box-current-color-bg' | '--rt-pagination-box-current-color-border' | '--rt-pagination-box-current-color-text' | '--rt-pagination-box-current-font-weight' | '--rt-pagination-box-radius' | '--rt-pagination-box-size' | '--rt-pagination-field-color-bg' | '--rt-pagination-field-color-border' | '--rt-pagination-field-color-text' | '--rt-pagination-field-height' | '--rt-pagination-field-padding-x' | '--rt-pagination-field-radius' | '--rt-pagination-gap' | '--rt-pagination-justify' | '--rt-pagination-nav-gap' | '--rt-pagination-padding-x' | '--rt-pagination-padding-y' | '--rt-pagination-per-page-gap' | '--rt-pagination-per-page-label-white-space' | '--rt-pagination-range-display' | '--rt-profile-avatar-border-width' | '--rt-profile-avatar-font-size' | '--rt-profile-avatar-radius' | '--rt-profile-avatar-size' | '--rt-profile-item-content-gap' | '--rt-profile-item-font-size' | '--rt-profile-item-font-weight' | '--rt-profile-item-padding-y' | '--rt-profile-item-radius' | '--rt-profile-menu-border-width' | '--rt-profile-menu-min-width' | '--rt-profile-menu-padding' | '--rt-profile-menu-radius' | '--rt-profile-menu-shadow' | '--rt-profile-row-inset' | '--rt-profile-theme-icon-padding' | '--rt-profile-theme-icon-radius' | '--rt-radius-2xl' | '--rt-radius-control' | '--rt-radius-full' | '--rt-radius-lg' | '--rt-radius-md' | '--rt-radius-ms' | '--rt-radius-none' | '--rt-radius-sm' | '--rt-radius-xl' | '--rt-radius-xs' | '--rt-shadow-card' | '--rt-shadow-card-soft' | '--rt-shadow-dialog' | '--rt-shadow-focus-ring' | '--rt-shadow-focus-ring-danger' | '--rt-shadow-lg' | '--rt-shadow-md' | '--rt-shadow-nav-panel' | '--rt-shadow-none' | '--rt-shadow-profile-menu' | '--rt-shadow-service-logo-lg' | '--rt-shadow-service-logo-md' | '--rt-shadow-service-logo-sm' | '--rt-shadow-service-logo-xs' | '--rt-shadow-sm' | '--rt-shadow-status-dot' | '--rt-shadow-step-indicator' | '--rt-shadow-xl' | '--rt-size-1' | '--rt-size-10' | '--rt-size-100' | '--rt-size-12' | '--rt-size-16' | '--rt-size-2' | '--rt-size-20' | '--rt-size-24' | '--rt-size-3' | '--rt-size-30' | '--rt-size-4' | '--rt-size-40' | '--rt-size-5' | '--rt-size-6' | '--rt-size-60' | '--rt-size-64' | '--rt-size-8' | '--rt-slate-300' | '--rt-space-0' | '--rt-space-0-5' | '--rt-space-1' | '--rt-space-10' | '--rt-space-12' | '--rt-space-16' | '--rt-space-2' | '--rt-space-20' | '--rt-space-24' | '--rt-space-2xl' | '--rt-space-2xs' | '--rt-space-3xl' | '--rt-space-4' | '--rt-space-5' | '--rt-space-6' | '--rt-space-8' | '--rt-space-lg' | '--rt-space-md' | '--rt-space-sm' | '--rt-space-xl' | '--rt-space-xs' | '--rt-success-100' | '--rt-success-400' | '--rt-success-50' | '--rt-success-500' | '--rt-success-600' | '--rt-success-700' | '--rt-tabs-indicator-duration' | '--rt-tabs-indicator-easing' | '--rt-tabs-panel-duration' | '--rt-tabs-panel-easing' | '--rt-tabs-scroll-duration' | '--rt-tabs-scroll-easing' | '--rt-text-2xl' | '--rt-text-2xs' | '--rt-text-3xl' | '--rt-text-3xs' | '--rt-text-4xl' | '--rt-text-base' | '--rt-text-lg' | '--rt-text-md' | '--rt-text-sm' | '--rt-text-xl' | '--rt-text-xs' | '--rt-textarea-line-height' | '--rt-textarea-min-height' | '--rt-textarea-min-height-lg' | '--rt-textarea-min-height-md' | '--rt-textarea-min-height-sm' | '--rt-textarea-padding-y' | '--rt-toggle-chip-color-bg-selected' | '--rt-toggle-chip-color-border' | '--rt-toggle-chip-color-text' | '--rt-toggle-color-border' | '--rt-toggle-color-icon' | '--rt-toggle-color-thumb' | '--rt-toggle-color-track' | '--rt-toggle-color-track-on' | '--rt-toggle-shadow-border' | '--rt-toggle-shadow-thumb' | '--rt-warning-50' | '--rt-warning-500' | '--rt-warning-600' | '--rt-warning-700' | '--rt-yellow-400' | '--rt-z-base' | '--rt-z-dropdown' | '--rt-z-fixed' | '--rt-z-modal' | '--rt-z-modal-backdrop' | '--rt-z-popover' | '--rt-z-sticky' | '--rt-z-tooltip';
1446
+ export type TRtDesignTokenName = '--rt-amber-400' | '--rt-border-width-medium' | '--rt-border-width-thick' | '--rt-border-width-thin' | '--rt-bp-lg' | '--rt-bp-md' | '--rt-bp-sm' | '--rt-bp-xl' | '--rt-brand-100' | '--rt-brand-200' | '--rt-brand-300' | '--rt-brand-400' | '--rt-brand-50' | '--rt-brand-500' | '--rt-brand-600' | '--rt-brand-700' | '--rt-brand-800' | '--rt-brand-900' | '--rt-brand-950' | '--rt-btn-tint-active' | '--rt-btn-tint-hover' | '--rt-charcoal-700' | '--rt-charcoal-800' | '--rt-charcoal-900' | '--rt-charcoal-950' | '--rt-charcoal-border' | '--rt-charcoal-border-strong' | '--rt-chat-bubble-date' | '--rt-chat-bubble-in-author' | '--rt-chat-bubble-in-bg' | '--rt-chat-bubble-own-author' | '--rt-chat-bubble-own-bg' | '--rt-chat-status-read' | '--rt-color-action-danger' | '--rt-color-action-danger-active' | '--rt-color-action-danger-hover' | '--rt-color-action-danger-on-surface' | '--rt-color-action-disabled' | '--rt-color-action-info' | '--rt-color-action-info-active' | '--rt-color-action-info-hover' | '--rt-color-action-info-on-surface' | '--rt-color-action-on-danger' | '--rt-color-action-on-disabled' | '--rt-color-action-on-info' | '--rt-color-action-on-primary' | '--rt-color-action-on-secondary' | '--rt-color-action-on-success' | '--rt-color-action-on-warning' | '--rt-color-action-primary' | '--rt-color-action-primary-active' | '--rt-color-action-primary-hover' | '--rt-color-action-primary-on-surface' | '--rt-color-action-primary-soft' | '--rt-color-action-primary-subtle' | '--rt-color-action-secondary' | '--rt-color-action-secondary-active' | '--rt-color-action-secondary-hover' | '--rt-color-action-secondary-on-surface' | '--rt-color-action-success' | '--rt-color-action-success-active' | '--rt-color-action-success-hover' | '--rt-color-action-success-on-surface' | '--rt-color-action-warning' | '--rt-color-action-warning-active' | '--rt-color-action-warning-hover' | '--rt-color-action-warning-on-surface' | '--rt-color-bg-hover' | '--rt-color-bg-inverse' | '--rt-color-bg-nav' | '--rt-color-bg-overlay' | '--rt-color-bg-page' | '--rt-color-bg-page-auth' | '--rt-color-bg-subtle' | '--rt-color-bg-surface' | '--rt-color-bg-surface-auth-card' | '--rt-color-bg-surface-subtle' | '--rt-color-bg-surface-subtle-2' | '--rt-color-border-default' | '--rt-color-border-focus' | '--rt-color-border-strong' | '--rt-color-border-subtle' | '--rt-color-field-fill-underline' | '--rt-color-service-logo-bg' | '--rt-color-service-logo-mark' | '--rt-color-skeleton-base' | '--rt-color-skeleton-wave' | '--rt-color-state-danger' | '--rt-color-state-danger-bg' | '--rt-color-state-error-text' | '--rt-color-state-info' | '--rt-color-state-info-bg' | '--rt-color-state-success' | '--rt-color-state-success-bg' | '--rt-color-state-success-text' | '--rt-color-state-warning' | '--rt-color-state-warning-bg' | '--rt-color-state-warning-text' | '--rt-color-stepper-current' | '--rt-color-stepper-current-subtle' | '--rt-color-stepper-progress' | '--rt-color-stepper-track' | '--rt-color-table-bg' | '--rt-color-table-head-bg' | '--rt-color-table-pinned-shadow' | '--rt-color-text-disabled' | '--rt-color-text-inverse' | '--rt-color-text-link' | '--rt-color-text-link-hover' | '--rt-color-text-muted' | '--rt-color-text-primary' | '--rt-control-height-2xl' | '--rt-control-height-lg' | '--rt-control-height-md' | '--rt-control-height-sm' | '--rt-control-height-xl' | '--rt-control-max-width' | '--rt-control-panel-max-height' | '--rt-control-textarea-min-height-lg' | '--rt-control-textarea-min-height-md' | '--rt-control-textarea-min-height-sm' | '--rt-counter-gap' | '--rt-counter-row-color-border' | '--rt-counter-row-gap' | '--rt-counter-row-hint-color' | '--rt-counter-row-hint-font-size' | '--rt-counter-row-label-color' | '--rt-counter-row-label-font-size' | '--rt-counter-row-padding-y' | '--rt-counter-value-color' | '--rt-counter-value-font-size' | '--rt-counter-value-min-width' | '--rt-danger-50' | '--rt-danger-500' | '--rt-danger-600' | '--rt-danger-700' | '--rt-duration-base' | '--rt-duration-fast' | '--rt-duration-slow' | '--rt-duration-slower' | '--rt-field-error-color' | '--rt-field-error-font-size' | '--rt-field-gap' | '--rt-field-hint-color' | '--rt-field-hint-font-size' | '--rt-field-label-color' | '--rt-field-label-font-size' | '--rt-field-label-font-weight' | '--rt-field-label-help-gap' | '--rt-field-label-line-height' | '--rt-field-messages-line-height' | '--rt-field-messages-padding-top' | '--rt-field-required-color' | '--rt-field-required-gap' | '--rt-field-value-color' | '--rt-field-value-empty-color' | '--rt-field-value-font-size' | '--rt-focus-ring-color' | '--rt-focus-ring-color-danger' | '--rt-focus-ring-offset' | '--rt-focus-ring-width' | '--rt-font-family-mono' | '--rt-font-family-sans' | '--rt-font-weight-bold' | '--rt-font-weight-medium' | '--rt-font-weight-regular' | '--rt-font-weight-semibold' | '--rt-gray-350' | '--rt-icon-button-color-bg-hover' | '--rt-icon-button-disabled-color' | '--rt-icon-button-disabled-fill' | '--rt-icon-button-disabled-opacity' | '--rt-info-50' | '--rt-info-500' | '--rt-info-600' | '--rt-info-700' | '--rt-input-border-width' | '--rt-input-caret-color' | '--rt-input-clear-bg' | '--rt-input-clear-bg-hover' | '--rt-input-clear-color' | '--rt-input-clear-icon-size' | '--rt-input-clear-offset-end' | '--rt-input-clear-offset-start' | '--rt-input-clear-radius' | '--rt-input-clear-size' | '--rt-input-color-bg' | '--rt-input-color-bg-disabled' | '--rt-input-color-bg-hover' | '--rt-input-color-border' | '--rt-input-color-border-disabled' | '--rt-input-color-border-error' | '--rt-input-color-border-focus' | '--rt-input-color-placeholder-disabled' | '--rt-input-color-text' | '--rt-input-color-text-disabled' | '--rt-input-color-text-placeholder' | '--rt-input-disabled-field-opacity' | '--rt-input-disabled-opacity' | '--rt-input-fill-color-bg-disabled' | '--rt-input-fill-edge' | '--rt-input-fill-focus-shadow' | '--rt-input-fill-focus-shadow-error' | '--rt-input-focus-outline-offset' | '--rt-input-focus-shadow' | '--rt-input-focus-shadow-error' | '--rt-input-font-size' | '--rt-input-gap' | '--rt-input-height' | '--rt-input-height-lg' | '--rt-input-height-md' | '--rt-input-height-sm' | '--rt-input-icon-color' | '--rt-input-icon-size' | '--rt-input-line-height' | '--rt-input-max-width' | '--rt-input-min-width' | '--rt-input-padding-x' | '--rt-input-padding-y' | '--rt-input-panel-max-height' | '--rt-input-radius' | '--rt-input-transition' | '--rt-leading-none' | '--rt-leading-normal' | '--rt-leading-relaxed' | '--rt-leading-snug' | '--rt-leading-tight' | '--rt-letter-spacing-wide' | '--rt-list-action-color' | '--rt-list-action-color-bg-hover' | '--rt-list-action-color-hover' | '--rt-list-action-divider-height' | '--rt-list-action-gap' | '--rt-list-action-icon-size' | '--rt-list-action-radius' | '--rt-list-action-shadow' | '--rt-list-action-shadow-hover' | '--rt-list-content-padding-bottom' | '--rt-list-copy-button-bg' | '--rt-list-copy-button-bg-hover' | '--rt-list-copy-button-color' | '--rt-list-copy-button-radius' | '--rt-list-copy-button-size' | '--rt-list-empty-icon-size' | '--rt-list-empty-icon-wrap-bg' | '--rt-list-empty-icon-wrap-size' | '--rt-list-empty-title-size' | '--rt-list-empty-title-weight' | '--rt-list-filter-line-height' | '--rt-list-placeholder-grow' | '--rt-list-placeholder-min-height' | '--rt-list-search-color-bg' | '--rt-list-search-color-border' | '--rt-list-search-color-placeholder' | '--rt-list-search-font-size' | '--rt-list-search-gap' | '--rt-list-search-height' | '--rt-list-search-icon-color' | '--rt-list-search-icon-size' | '--rt-list-search-padding-x' | '--rt-list-search-radius' | '--rt-list-search-width' | '--rt-list-selector-label-color' | '--rt-list-settings-icon-color' | '--rt-list-settings-item-bg' | '--rt-list-settings-item-radius' | '--rt-list-table-button-radius' | '--rt-list-table-button-size' | '--rt-list-table-head-divider-color' | '--rt-list-table-icon-color' | '--rt-list-table-icon-size' | '--rt-list-toolbar-gap' | '--rt-list-toolbar-padding-bottom' | '--rt-list-toolbar-padding-top' | '--rt-mat-blue-100' | '--rt-mat-blue-20' | '--rt-mat-blue-40' | '--rt-mat-blue-60' | '--rt-mat-blue-80' | '--rt-mat-blue-active' | '--rt-mat-blue-hover' | '--rt-mat-dark-10' | '--rt-mat-dark-20' | '--rt-mat-dark-30' | '--rt-mat-dark-40' | '--rt-mat-green-10' | '--rt-mat-green-100' | '--rt-mat-green-120' | '--rt-mat-green-20' | '--rt-mat-green-40' | '--rt-mat-green-60' | '--rt-mat-green-80' | '--rt-mat-green-active' | '--rt-mat-green-hover' | '--rt-mat-menu-min-width' | '--rt-mat-menu-sm-icon-size' | '--rt-mat-menu-sm-item-height' | '--rt-mat-navy-100' | '--rt-mat-neutral-0' | '--rt-mat-neutral-10' | '--rt-mat-neutral-100' | '--rt-mat-neutral-15' | '--rt-mat-neutral-20' | '--rt-mat-neutral-25' | '--rt-mat-neutral-30' | '--rt-mat-neutral-35' | '--rt-mat-neutral-40' | '--rt-mat-neutral-5' | '--rt-mat-neutral-60' | '--rt-mat-neutral-70' | '--rt-mat-neutral-80' | '--rt-mat-neutral-active' | '--rt-mat-neutral-hover' | '--rt-mat-orange-10' | '--rt-mat-orange-100' | '--rt-mat-orange-20' | '--rt-mat-orange-40' | '--rt-mat-orange-5' | '--rt-mat-orange-60' | '--rt-mat-orange-70' | '--rt-mat-orange-80' | '--rt-mat-orange-active' | '--rt-mat-orange-hover' | '--rt-mat-overlay-black-32' | '--rt-mat-overlay-black-4' | '--rt-mat-overlay-blue-24' | '--rt-mat-overlay-blue-8' | '--rt-mat-radius-4' | '--rt-mat-radius-5' | '--rt-mat-red-10' | '--rt-mat-red-100' | '--rt-mat-red-20' | '--rt-mat-red-40' | '--rt-mat-red-60' | '--rt-mat-red-80' | '--rt-mat-red-active' | '--rt-mat-red-hover' | '--rt-mat-shadow-fab' | '--rt-mat-shadow-fab-hover' | '--rt-mat-shadow-level-2' | '--rt-mat-yellow-100' | '--rt-mist-50' | '--rt-nav-caret-size' | '--rt-nav-color-disabled' | '--rt-nav-color-focus' | '--rt-nav-header-color-bg' | '--rt-nav-header-padding' | '--rt-nav-item-color' | '--rt-nav-item-color-bg' | '--rt-nav-item-color-bg-active' | '--rt-nav-item-color-border' | '--rt-nav-item-color-caret' | '--rt-nav-item-color-hover' | '--rt-nav-item-color-pressed' | '--rt-nav-item-content-gap' | '--rt-nav-item-font-size' | '--rt-nav-item-font-weight' | '--rt-nav-item-gap' | '--rt-nav-item-height' | '--rt-nav-item-line-height' | '--rt-nav-item-padding' | '--rt-nav-marker-color' | '--rt-nav-marker-size' | '--rt-nav-panel-color-bg' | '--rt-nav-panel-color-border' | '--rt-nav-panel-column-gap' | '--rt-nav-panel-column-width' | '--rt-nav-panel-columns' | '--rt-nav-panel-group-color' | '--rt-nav-panel-group-content-gap' | '--rt-nav-panel-group-font-size' | '--rt-nav-panel-group-font-weight' | '--rt-nav-panel-group-gap' | '--rt-nav-panel-item-color' | '--rt-nav-panel-item-color-active' | '--rt-nav-panel-item-color-bg-active' | '--rt-nav-panel-item-color-bg-hover' | '--rt-nav-panel-item-content-gap' | '--rt-nav-panel-item-font-size' | '--rt-nav-panel-item-font-weight' | '--rt-nav-panel-item-gap' | '--rt-nav-panel-item-height' | '--rt-nav-panel-item-padding' | '--rt-nav-panel-padding' | '--rt-nav-panel-padding-y' | '--rt-nav-panel-shadow' | '--rt-navy-600' | '--rt-navy-900' | '--rt-neutral-0' | '--rt-neutral-100' | '--rt-neutral-200' | '--rt-neutral-300' | '--rt-neutral-400' | '--rt-neutral-50' | '--rt-neutral-500' | '--rt-neutral-600' | '--rt-neutral-700' | '--rt-neutral-800' | '--rt-neutral-900' | '--rt-neutral-950' | '--rt-opacity-disabled' | '--rt-overlay-amber-16' | '--rt-overlay-black-16' | '--rt-overlay-black-4' | '--rt-overlay-black-50' | '--rt-overlay-black-64' | '--rt-overlay-black-8' | '--rt-overlay-brand-24' | '--rt-overlay-brand-8' | '--rt-overlay-danger-16' | '--rt-overlay-menu-bg' | '--rt-overlay-menu-current-bg' | '--rt-overlay-menu-danger-color' | '--rt-overlay-menu-danger-label-color' | '--rt-overlay-menu-item-icon-size' | '--rt-overlay-menu-item-min-height' | '--rt-overlay-menu-item-padding-x' | '--rt-overlay-menu-item-padding-y' | '--rt-overlay-menu-item-weight' | '--rt-overlay-menu-min-width' | '--rt-overlay-menu-padding-y' | '--rt-overlay-menu-radius' | '--rt-overlay-menu-shadow' | '--rt-overlay-menu-sm-item-icon-size' | '--rt-overlay-menu-sm-item-min-height' | '--rt-overlay-navy-70' | '--rt-overlay-select-check-display' | '--rt-overlay-select-option-font-size' | '--rt-overlay-select-option-min-height' | '--rt-overlay-select-panel-border-width' | '--rt-overlay-select-radius' | '--rt-overlay-select-selected-bg' | '--rt-overlay-select-selected-weight' | '--rt-overlay-select-shadow' | '--rt-overlay-tooltip-radius' | '--rt-overlay-tooltip-shadow' | '--rt-overlay-white-25' | '--rt-overlay-white-4' | '--rt-overlay-white-40' | '--rt-overlay-white-50' | '--rt-overlay-white-8' | '--rt-pagination-arrow-color' | '--rt-pagination-arrow-radius' | '--rt-pagination-arrow-shadow' | '--rt-pagination-arrow-size' | '--rt-pagination-box-color-border' | '--rt-pagination-box-color-text' | '--rt-pagination-box-current-color-bg' | '--rt-pagination-box-current-color-border' | '--rt-pagination-box-current-color-text' | '--rt-pagination-box-current-font-weight' | '--rt-pagination-box-radius' | '--rt-pagination-box-size' | '--rt-pagination-field-color-bg' | '--rt-pagination-field-color-border' | '--rt-pagination-field-color-text' | '--rt-pagination-field-height' | '--rt-pagination-field-padding-x' | '--rt-pagination-field-radius' | '--rt-pagination-gap' | '--rt-pagination-justify' | '--rt-pagination-nav-gap' | '--rt-pagination-padding-x' | '--rt-pagination-padding-y' | '--rt-pagination-per-page-gap' | '--rt-pagination-per-page-label-white-space' | '--rt-pagination-range-display' | '--rt-profile-avatar-border-width' | '--rt-profile-avatar-font-size' | '--rt-profile-avatar-radius' | '--rt-profile-avatar-size' | '--rt-profile-item-content-gap' | '--rt-profile-item-font-size' | '--rt-profile-item-font-weight' | '--rt-profile-item-padding-y' | '--rt-profile-item-radius' | '--rt-profile-menu-border-width' | '--rt-profile-menu-min-width' | '--rt-profile-menu-padding' | '--rt-profile-menu-radius' | '--rt-profile-menu-shadow' | '--rt-profile-row-inset' | '--rt-profile-theme-icon-padding' | '--rt-profile-theme-icon-radius' | '--rt-radius-2xl' | '--rt-radius-control' | '--rt-radius-full' | '--rt-radius-lg' | '--rt-radius-md' | '--rt-radius-ms' | '--rt-radius-none' | '--rt-radius-sm' | '--rt-radius-xl' | '--rt-radius-xs' | '--rt-shadow-card' | '--rt-shadow-card-soft' | '--rt-shadow-dialog' | '--rt-shadow-focus-ring' | '--rt-shadow-focus-ring-danger' | '--rt-shadow-lg' | '--rt-shadow-md' | '--rt-shadow-nav-panel' | '--rt-shadow-none' | '--rt-shadow-profile-menu' | '--rt-shadow-service-logo-lg' | '--rt-shadow-service-logo-md' | '--rt-shadow-service-logo-sm' | '--rt-shadow-service-logo-xs' | '--rt-shadow-sm' | '--rt-shadow-status-dot' | '--rt-shadow-step-indicator' | '--rt-shadow-xl' | '--rt-size-1' | '--rt-size-10' | '--rt-size-100' | '--rt-size-12' | '--rt-size-16' | '--rt-size-2' | '--rt-size-20' | '--rt-size-24' | '--rt-size-3' | '--rt-size-30' | '--rt-size-4' | '--rt-size-40' | '--rt-size-5' | '--rt-size-6' | '--rt-size-60' | '--rt-size-64' | '--rt-size-8' | '--rt-slate-300' | '--rt-space-0' | '--rt-space-0-5' | '--rt-space-1' | '--rt-space-10' | '--rt-space-12' | '--rt-space-16' | '--rt-space-2' | '--rt-space-20' | '--rt-space-24' | '--rt-space-2xl' | '--rt-space-2xs' | '--rt-space-3xl' | '--rt-space-4' | '--rt-space-5' | '--rt-space-6' | '--rt-space-8' | '--rt-space-lg' | '--rt-space-md' | '--rt-space-sm' | '--rt-space-xl' | '--rt-space-xs' | '--rt-success-100' | '--rt-success-400' | '--rt-success-50' | '--rt-success-500' | '--rt-success-600' | '--rt-success-700' | '--rt-tabs-indicator-duration' | '--rt-tabs-indicator-easing' | '--rt-tabs-panel-duration' | '--rt-tabs-panel-easing' | '--rt-tabs-scroll-duration' | '--rt-tabs-scroll-easing' | '--rt-text-2xl' | '--rt-text-2xs' | '--rt-text-3xl' | '--rt-text-3xs' | '--rt-text-4xl' | '--rt-text-base' | '--rt-text-lg' | '--rt-text-md' | '--rt-text-sm' | '--rt-text-xl' | '--rt-text-xs' | '--rt-textarea-line-height' | '--rt-textarea-min-height' | '--rt-textarea-min-height-lg' | '--rt-textarea-min-height-md' | '--rt-textarea-min-height-sm' | '--rt-textarea-padding-y' | '--rt-toggle-chip-color-bg-selected' | '--rt-toggle-chip-color-border' | '--rt-toggle-chip-color-text' | '--rt-toggle-color-border' | '--rt-toggle-color-icon' | '--rt-toggle-color-thumb' | '--rt-toggle-color-track' | '--rt-toggle-color-track-on' | '--rt-toggle-shadow-border' | '--rt-toggle-shadow-thumb' | '--rt-warning-50' | '--rt-warning-500' | '--rt-warning-600' | '--rt-warning-700' | '--rt-yellow-400' | '--rt-z-base' | '--rt-z-dropdown' | '--rt-z-fixed' | '--rt-z-modal' | '--rt-z-modal-backdrop' | '--rt-z-popover' | '--rt-z-sticky' | '--rt-z-tooltip';
1424
1447
  /** The name of a consumer's handle — a property the kit deliberately does not declare. */
1425
1448
  export type TRtConsumerHandleName = '--rt-action-bar-action-bg-hover' | '--rt-action-bar-action-color-danger' | '--rt-action-bar-action-focus-shadow' | '--rt-action-bar-action-font-size' | '--rt-action-bar-action-height' | '--rt-action-bar-action-padding-block' | '--rt-action-bar-action-padding-inline' | '--rt-action-bar-action-radius' | '--rt-action-bar-action-weight' | '--rt-action-bar-bg' | '--rt-action-bar-close-icon-size' | '--rt-action-bar-close-size' | '--rt-action-bar-color' | '--rt-action-bar-counter-font-size' | '--rt-action-bar-counter-weight' | '--rt-action-bar-font-size' | '--rt-action-bar-gap' | '--rt-action-bar-holder-bottom' | '--rt-action-bar-holder-enter-duration' | '--rt-action-bar-holder-inline' | '--rt-action-bar-holder-leave-duration' | '--rt-action-bar-icon-gap' | '--rt-action-bar-icon-size' | '--rt-action-bar-menu-bg' | '--rt-action-bar-menu-color' | '--rt-action-bar-menu-gap' | '--rt-action-bar-menu-item-font-size' | '--rt-action-bar-menu-padding' | '--rt-action-bar-menu-radius' | '--rt-action-bar-menu-shadow' | '--rt-action-bar-padding' | '--rt-action-bar-radius' | '--rt-action-bar-shadow' | '--rt-aside-bg' | '--rt-aside-content-inset' | '--rt-aside-error-margin-block' | '--rt-aside-footer-gap' | '--rt-aside-footer-inset' | '--rt-aside-footer-justify' | '--rt-aside-footer-margin' | '--rt-aside-header-back-icon-size' | '--rt-aside-header-back-size' | '--rt-aside-header-gap' | '--rt-aside-header-inset' | '--rt-aside-header-min-height' | '--rt-aside-header-subtitle-size' | '--rt-aside-header-title-leading' | '--rt-aside-header-title-size' | '--rt-aside-header-title-weight' | '--rt-aside-width' | '--rt-bottom-sheet-max-height' | '--rt-data-table-scrollbar-color' | '--rt-data-table-scrollbar-horizontal-height' | '--rt-data-table-scrollbar-vertical-width' | '--rt-data-table-scrollbar-width' | '--rt-dialog-bg' | '--rt-dialog-border' | '--rt-dialog-content-max-height' | '--rt-dialog-content-padding' | '--rt-dialog-footer-border' | '--rt-dialog-footer-padding' | '--rt-dialog-header-border' | '--rt-dialog-header-padding' | '--rt-dialog-title-font-size' | '--rt-dialog-title-transform' | '--rt-dialog-title-weight' | '--rt-dialog-width' | '--rt-dynamic-selector-list-actions-gap' | '--rt-dynamic-selector-list-actions-offset' | '--rt-dynamic-selector-list-actions-padding-end' | '--rt-dynamic-selector-list-add-color' | '--rt-dynamic-selector-list-controls-divider-color' | '--rt-dynamic-selector-list-controls-divider-width' | '--rt-dynamic-selector-list-controls-gap' | '--rt-dynamic-selector-list-handle-padding-end' | '--rt-dynamic-selector-list-handle-padding-start' | '--rt-dynamic-selector-list-row-padding-end' | '--rt-dynamic-selector-list-title-gap' | '--rt-dynamic-selector-popup-bg' | '--rt-dynamic-selector-popup-border-width' | '--rt-dynamic-selector-popup-button-font-size' | '--rt-dynamic-selector-popup-button-height' | '--rt-dynamic-selector-popup-empty-gap' | '--rt-dynamic-selector-popup-empty-icon-size' | '--rt-dynamic-selector-popup-empty-icon-wrap-bg' | '--rt-dynamic-selector-popup-empty-text-color' | '--rt-dynamic-selector-popup-empty-text-size' | '--rt-dynamic-selector-popup-empty-text-weight' | '--rt-dynamic-selector-popup-foot-border-width' | '--rt-dynamic-selector-popup-foot-padding' | '--rt-dynamic-selector-popup-highlight-bg' | '--rt-dynamic-selector-popup-highlight-color' | '--rt-dynamic-selector-popup-highlight-radius' | '--rt-dynamic-selector-popup-highlight-weight' | '--rt-dynamic-selector-popup-max-height' | '--rt-dynamic-selector-popup-min-height' | '--rt-dynamic-selector-popup-nav-color' | '--rt-dynamic-selector-popup-option-line-height' | '--rt-dynamic-selector-popup-option-min-height' | '--rt-dynamic-selector-popup-padding' | '--rt-dynamic-selector-popup-radius' | '--rt-dynamic-selector-popup-shadow' | '--rt-dynamic-selector-popup-width' | '--rt-expansion-panel-body-box-sizing' | '--rt-expansion-panel-body-font-size' | '--rt-expansion-panel-body-line-height' | '--rt-fab-small-container-color' | '--rt-field-filled-container-color' | '--rt-field-label-letter-spacing' | '--rt-header-content-max-width' | '--rt-header-height' | '--rt-icon-button-bg' | '--rt-icon-button-bg-hover' | '--rt-icon-button-size' | '--rt-icon-color-danger' | '--rt-icon-color-disabled' | '--rt-icon-color-info' | '--rt-icon-color-inverse' | '--rt-icon-color-muted' | '--rt-icon-color-primary' | '--rt-icon-color-success' | '--rt-icon-color-warning' | '--rt-icon-glyph-font' | '--rt-icon-glyph-grade' | '--rt-icon-glyph-opsz' | '--rt-icon-glyph-weight' | '--rt-icon-step-2xl' | '--rt-icon-step-3xl' | '--rt-icon-step-4xl' | '--rt-icon-step-lg' | '--rt-icon-step-md' | '--rt-icon-step-sm' | '--rt-icon-step-xl' | '--rt-icon-step-xs' | '--rt-input-density' | '--rt-input-height-app' | '--rt-input-letter-spacing' | '--rt-logo-tagline' | '--rt-logo-tagline-dark' | '--rt-logo-wordmark' | '--rt-logo-wordmark-dark' | '--rt-menu-container-color' | '--rt-option-selected-state-layer-color' | '--rt-page-header-bg' | '--rt-pagination-field-font-size' | '--rt-side-menu-sub-item-letter-spacing' | '--rt-sys-error' | '--rt-sys-error-container' | '--rt-sys-inverse-on-surface' | '--rt-sys-inverse-surface' | '--rt-sys-level2' | '--rt-sys-level3' | '--rt-sys-level4' | '--rt-sys-on-primary' | '--rt-sys-on-primary-container' | '--rt-sys-on-secondary-container' | '--rt-sys-on-surface' | '--rt-sys-on-surface-variant' | '--rt-sys-outline' | '--rt-sys-outline-variant' | '--rt-sys-primary' | '--rt-sys-primary-container' | '--rt-sys-primary-fixed-dim' | '--rt-sys-secondary-container' | '--rt-sys-surface' | '--rt-sys-surface-container-lowest' | '--rt-sys-surface-variant' | '--rt-table-actions-bg' | '--rt-tag-color-bg' | '--rt-tag-color-border' | '--rt-tag-color-text' | '--rt-tag-letter-spacing' | '--rt-tag-padding-block' | '--rt-tag-padding-inline' | '--rt-toast-action-color' | '--rt-toast-bg' | '--rt-toast-border-color' | '--rt-toast-close-color' | '--rt-toast-color' | '--rt-toast-filled-danger-bg' | '--rt-toast-filled-danger-border-color' | '--rt-toast-filled-danger-color' | '--rt-toast-filled-info-bg' | '--rt-toast-filled-info-border-color' | '--rt-toast-filled-info-color' | '--rt-toast-filled-success-bg' | '--rt-toast-filled-success-border-color' | '--rt-toast-filled-success-color' | '--rt-toast-filled-warning-bg' | '--rt-toast-filled-warning-border-color' | '--rt-toast-filled-warning-color' | '--rt-toast-icon-color' | '--rt-toast-progress-color' | '--rt-toast-progress-height' | '--rt-workspace-aside-size' | '--rt-workspace-list-size';
1426
1449
  /** All the styling properties declared by the kit. */
@@ -3,6 +3,7 @@ import * as i0 from "@angular/core";
3
3
  import { AfterViewChecked, ElementRef, InjectionToken, InputSignal, InputSignalWithTransform, OnInit, OutputEmitterRef, Signal, TemplateRef, WritableSignal } from "@angular/core";
4
4
  import { BooleanInput } from "@angular/cdk/coercion";
5
5
  import { SafeStyle } from "@angular/platform-browser";
6
+ import { TRtAriaSort, TRtFilterValue } from "@rt-tools/ui-kit-v2/table-core";
6
7
  import { IFilterModel, ISortModel, TFilterOperatorType, TListSortOrderType, TNullable } from "@rt-tools/utils";
7
8
  import { IRtSelect } from "@rt-tools/ui-kit-v2/select";
8
9
  /** Значение ячейки: как его отдала запись или как его переделала колонка. */
@@ -21,6 +22,11 @@ export declare function dataTableCopyButtonSide(column: IRtDataTable.Column<unkn
21
22
  * перечнем молча, и одно имя рисовалось бы в двух местах двумя рисунками.
22
23
  */
23
24
  export declare function dataTableIconName(glyph: string): IRtIcon.Name | null;
25
+ /**
26
+ * Ключ, под которым таблица держит настройки: префикс кита и ключ, данный приложением.
27
+ * Запись под одним ключом приложения — старая: её оставил первый кит или прежняя версия этого.
28
+ */
29
+ export declare function dataTableConfigKeyOf(storageKey: string): string;
24
30
  /**
25
31
  * Порядок имён колонок для сверки двух наборов.
26
32
  *
@@ -32,8 +38,9 @@ export declare function comparePropNames(a: PropertyKey | undefined, b: Property
32
38
  /**
33
39
  * Настройки таблицы в хранилище браузера: порядок и видимость столбцов, полосы прокрутки.
34
40
  *
35
- * Перенесено из первого кита как есть: ключ — тот, что дало приложение, форма записи — та же.
36
- * Поэтому настройки, сохранённые таблицей первого кита, читаются здесь без переделки.
41
+ * Форма записи — первого кита. Ключ — кита: `dataTableConfigKeyOf`. Старая запись под одним
42
+ * ключом приложения читается, когда под ключом кита пусто, и копируется под него; сама она остаётся,
43
+ * потому что её может читать таблица первого кита в том же приложении.
37
44
  */
38
45
  export declare class RtDataTableConfigService<ENTITY_TYPE> {
39
46
  #private;
@@ -50,6 +57,10 @@ export declare class RtDataTableConfigService<ENTITY_TYPE> {
50
57
  constructor();
51
58
  initConfig(storageKey: string, config: Array<IRtDataTable.Column<ENTITY_TYPE>>): void;
52
59
  updateConfig(storageKey: string, config: IRtDataTable.Config.Data<ENTITY_TYPE>): void;
60
+ /**
61
+ * Снимает обе записи: оставленная старая скопировалась бы обратно при следующем открытии.
62
+ * Начатое чтение гасится первым: его поздняя копия встала бы за снятием и вернула сброшенное.
63
+ */
53
64
  deleteConfig(storageKey: string): void;
54
65
  static ɵfac: i0.ɵɵFactoryDeclaration<RtDataTableConfigService<any>, never>;
55
66
  static ɵprov: i0.ɵɵInjectableDeclaration<any>;
@@ -211,14 +222,17 @@ export declare class RtDataTableCellComponent<T = Record<string, unknown>> {
211
222
  }, {}, never, never, true, never>;
212
223
  }
213
224
  /**
214
- * Какой порядок просит нажатие на шапку — как в первом ките: по возрастанию, а после возрастания
215
- * по убыванию. Снятия порядка нет: после убывания снова возрастание.
225
+ * Какой порядок просит нажатие на шапку — как в первом ките, круг `repeats` ядра таблиц: по
226
+ * возрастанию, а после возрастания по убыванию. Снятия порядка нет: после убывания снова возрастание.
227
+ *
228
+ * `propertyName` — нажатая колонка: порядок по другой колонке, даже возрастающий, просит у неё
229
+ * возрастание. Без неё колонкой считается та, по которой порядок уже стоит, — так звали раньше.
216
230
  */
217
- export declare function dataTableNextSortOrder(current: TNullable<ISortModel<string>>): TListSortOrderType;
231
+ export declare function dataTableNextSortOrder(current: TNullable<ISortModel<string>>, propertyName?: string): TListSortOrderType;
218
232
  /** Порядок таблицы сейчас стоит по этой колонке. */
219
233
  export declare function dataTableSortActive(sort: TNullable<ISortModel<string>>, current: TNullable<ISortModel<string>>): boolean;
220
234
  /** Значение `aria-sort` шапки: скринридер называет порядок колонки, а не только её имя. */
221
- export type TRtDataTableAriaSort = 'ascending' | 'descending' | 'none';
235
+ export type TRtDataTableAriaSort = TRtAriaSort;
222
236
  /**
223
237
  * `aria-sort` сортируемой колонки: порядок по ней, если он стоит по ней, иначе `none`. Колонке
224
238
  * без сортировки атрибут не положен вовсе — `null` снимает его.
@@ -290,7 +304,7 @@ export declare class RtDataTableHeaderCellComponent<T = Record<string, unknown>>
290
304
  }, never, never, true, never>;
291
305
  }
292
306
  /** Значение отбора в том виде, в каком его отдаёт приложению первый кит. */
293
- export type TRtDataTableFilterValue = string | number | boolean;
307
+ export type TRtDataTableFilterValue = TRtFilterValue;
294
308
  /**
295
309
  * Значок вида сравнения — имя первого кита; набор кита рисует его по перечню соответствий.
296
310
  * «Начинается с» и «заканчивается на» первый кит объявлял, но значка и пункта меню им не давал.
@@ -303,8 +317,8 @@ export declare function dataTableDefaultOperator(operator: TFilterOperatorType |
303
317
  /** Условие колонки из набора приложения, а без него — пустое условие с видом по умолчанию. */
304
318
  export declare function dataTableColumnFilter<KEY extends string>(filters: ReadonlyArray<IFilterModel<KEY>>, propertyName: KEY, defaultOperator: TFilterOperatorType): IFilterModel<KEY>;
305
319
  /**
306
- * Набор условий после смены значения колонки; `null` — приложению сообщать нечего.
307
- * Пустое значение снимает условие колонки, значение на колонке без условия добавляет его.
320
+ * Набор условий после смены значения колонки — по ядру таблиц в режиме `falsy`; `null` — приложению
321
+ * сообщать нечего. Любое ложное значение снимает условие колонки, как в первом ките.
308
322
  */
309
323
  export declare function dataTableFiltersWithValue<KEY extends string>(filters: ReadonlyArray<IFilterModel<KEY>>, current: IFilterModel<KEY>, value: TRtDataTableFilterValue): IFilterModel<KEY>[] | null;
310
324
  /** Набор условий после смены вида сравнения; `null` — ни условия, ни значения, спрашивать нечего. */
@@ -42,6 +42,12 @@ export declare namespace IRtDatePicker {
42
42
  label: string;
43
43
  disabled: boolean;
44
44
  }
45
+ /** Ячейка выбора года: `key` — `YYYY`. */
46
+ interface YearCell {
47
+ key: string;
48
+ label: string;
49
+ disabled: boolean;
50
+ }
45
51
  /** Момент, разобранный на день `YYYY-MM-DD` и время `HH:mm`. */
46
52
  interface Moment {
47
53
  day: string;
@@ -184,6 +190,14 @@ export declare function rtDateMonth(month: string, ctx: IRtDatePicker.MonthConte
184
190
  export declare function rtDateWeekdays(locale: string): string[];
185
191
  /** Двенадцать месяцев года для выбора месяца; месяц за границей выключен. */
186
192
  export declare function rtDateMonths(year: number, locale: string, min: string | null, max: string | null): IRtDatePicker.MonthCell[];
193
+ /** Лет в одном блоке сетки годов. */
194
+ export declare const RT_DATE_YEAR_SPAN: number;
195
+ /** Первый год блока из двенадцати лет, в котором лежит `year`. */
196
+ export declare function rtDateYearSpanStart(year: number): number;
197
+ /** Двенадцать лет блока, начиная со `start`; год за границей выключен. */
198
+ export declare function rtDateYears(start: number, min: string | null, max: string | null): IRtDatePicker.YearCell[];
199
+ /** Можно ли листать блок лет на `delta` блоков: в соседнем блоке есть хоть один год внутри границ. */
200
+ export declare function rtDateCanPageYears(start: number, delta: number, min: string | null, max: string | null): boolean;
187
201
  /** Колонки часов и минут: минуты идут с шагом, время за границей выключено. */
188
202
  export declare function rtDateTimeColumns(ctx: IRtDatePicker.TimeContext): IRtDatePicker.TimeColumns;
189
203
  /**
@@ -27,8 +27,8 @@ export declare abstract class RtFormControlBase<TValue> implements ControlValueA
27
27
  readonly ariaLabel: InputSignal<string | null>;
28
28
  readonly clearable: InputSignalWithTransform<boolean, BooleanInput>;
29
29
  /**
30
- * Ставит крестик очистки в порядок обхода по Tab. По умолчанию `false`: крестик достаётся мышью,
31
- * а Tab идёт от поля к полю, как прежде. Учитывают его поле ввода и выбор из списка.
30
+ * Ставит крестик очистки в порядок обхода по Tab. Умолчание — `formControl.clearTabbable` из
31
+ * настроек кита, без него `false`: крестик достаётся мышью, а Tab идёт от поля к полю.
32
32
  */
33
33
  readonly clearTabbable: InputSignalWithTransform<boolean, BooleanInput>;
34
34
  /**
@@ -24,8 +24,14 @@ export declare class RtInputNumberComponent extends RtFormControlBase<number | n
24
24
  protected readonly fieldEl: Signal<ElementRef<HTMLInputElement> | undefined>;
25
25
  protected readonly displayValue: WritableSignal<string>;
26
26
  protected readonly hasValue: Signal<boolean>;
27
- /** Вид рамки: `outline` — рамка со всех сторон, `fill` — залитое поле с чертой снизу. */
27
+ /** Значок стрелки: в поле `sm` он 10 px, как в макете, в остальных — ступень `xs` (12 px). */
28
+ protected readonly stepIconSize: Signal<IRtIcon.SizeInput>;
29
+ /** Шаг вверх возможен, пока значение не дошло до `max`; пустое поле шагает всегда. */
30
+ protected readonly canStepUp: Signal<boolean>;
31
+ /** Шаг вниз возможен, пока значение не дошло до `min`. */
32
+ protected readonly canStepDown: Signal<boolean>;
28
33
  readonly fieldLabelInside: boolean;
34
+ /** Вид рамки: `outline` — рамка со всех сторон, `fill` — залитое поле с чертой снизу. */
29
35
  readonly appearance: InputSignal<IRtInput.Appearance>;
30
36
  readonly displayText: Signal<string>;
31
37
  readonly iconLeft: InputSignal<IRtIcon.Name | null>;
@@ -41,6 +47,10 @@ export declare class RtInputNumberComponent extends RtFormControlBase<number | n
41
47
  * год, номер дома, код. У года разделитель превращает `2026` в `2 026`.
42
48
  */
43
49
  readonly grouped: InputSignalWithTransform<boolean, BooleanInput>;
50
+ /** Сколько прибавляет и вычитает одна стрелка или клавиша «вверх» и «вниз». */
51
+ readonly step: InputSignal<number>;
52
+ /** Показывать ли стрелки шага справа в поле. Клавиши шагают и без них. */
53
+ readonly stepper: InputSignalWithTransform<boolean, BooleanInput>;
44
54
  writeValue(value: number | null): void;
45
55
  protected getEmptyValue(): number | null;
46
56
  protected focusAfterClear(): void;
@@ -49,7 +59,8 @@ export declare class RtInputNumberComponent extends RtFormControlBase<number | n
49
59
  * по этой зоне сам по себе не фокусирует поле. Перехватываем mousedown и
50
60
  * переводим фокус в input — но только если клик не пришёлся на само поле
51
61
  * (там нужно нативное позиционирование курсора) и не на интерактивный
52
- * постфикс (крестик-очистка со своим обработчиком).
62
+ * постфикс (крестик-очистка со своим обработчиком). Стрелки шага фокус не
63
+ * забирают: нажатие на них оставляет его в поле, как в макете.
53
64
  */
54
65
  protected onHostMousedown(event: MouseEvent): void;
55
66
  /**
@@ -60,6 +71,13 @@ export declare class RtInputNumberComponent extends RtFormControlBase<number | n
60
71
  protected clearValue(): void;
61
72
  protected onInput(event: Event): void;
62
73
  protected onBlur(): void;
74
+ /**
75
+ * Шаг стрелкой: `1` — вверх, `-1` — вниз. Стрелка к достигнутой границе и
76
+ * выключенное поле не шагают. Значение уходит в форму сразу, как при наборе.
77
+ */
78
+ protected stepBy(direction: 1 | -1): void;
79
+ /** Клавиши «вверх» и «вниз» шагают, как стрелки, и не двигают каретку в край текста. */
80
+ protected onKeydown(event: KeyboardEvent): void;
63
81
  static ɵfac: i0.ɵɵFactoryDeclaration<RtInputNumberComponent, never>;
64
82
  static ɵcmp: i0.ɵɵComponentDeclaration<RtInputNumberComponent, "rt-input-number", never, {
65
83
  "appearance": {
@@ -107,6 +125,16 @@ export declare class RtInputNumberComponent extends RtFormControlBase<number | n
107
125
  "required": false;
108
126
  "isSignal": true;
109
127
  };
128
+ "step": {
129
+ "alias": "step";
130
+ "required": false;
131
+ "isSignal": true;
132
+ };
133
+ "stepper": {
134
+ "alias": "stepper";
135
+ "required": false;
136
+ "isSignal": true;
137
+ };
110
138
  }, {}, never, never, true, [{
111
139
  directive: typeof i1.RtRadiusDirective;
112
140
  inputs: {
@@ -18,7 +18,7 @@ import * as i1 from "@rt-tools/ui-kit-v2/radius";
18
18
  * директивы `rtBlock` / `rtElem` / `rtMod` из `@rt-tools/core`.
19
19
  *
20
20
  * Default icon по severity:
21
- * - `info` → `ico-info`
21
+ * - `info` → `info-circle`
22
22
  * - `success` → `check`
23
23
  * - `warning` → `ico-warning`
24
24
  * - `danger` → `ico-error`
@@ -1,5 +1,6 @@
1
+ import { BooleanInput } from "@angular/cdk/coercion";
1
2
  import * as i0 from "@angular/core";
2
- import { InputSignal, Signal } from "@angular/core";
3
+ import { InputSignal, InputSignalWithTransform, Signal } from "@angular/core";
3
4
  import { IRtIcon, TRtKitLabelMap } from "@rt-tools/ui-kit-v2/core";
4
5
  /**
5
6
  * Контракты `rt-stat-tile` — KPI-плитка с базой сравнения.
@@ -9,16 +10,23 @@ import { IRtIcon, TRtKitLabelMap } from "@rt-tools/ui-kit-v2/core";
9
10
  export declare namespace IRtStatTile {
10
11
  /** Направление изменения — определяет цвет и иконку строки дельты. */
11
12
  type Direction = 'up' | 'down' | 'flat' | 'unknown';
13
+ /**
14
+ * Единица изменения: проценты к базе или процентные пункты — разница двух
15
+ * долей (занятость с 68 % до 78 % выросла на 10 п.п., а не на 15 %).
16
+ */
17
+ type Unit = 'percent' | 'points';
12
18
  /**
13
19
  * Изменение к одной базе сравнения.
14
20
  *
15
- * - `percent` — уже посчитанное изменение в процентах; `null` означает
16
- * «база нулевая или данных нет», и плитка рисует «—», а не «+100 %».
21
+ * - `percent` — уже посчитанное изменение в единицах `unit`; `null` означает
22
+ * «база нулевая или данных нет», и строка не рисуется вовсе.
23
+ * - `unit` — единица числа, по умолчанию проценты.
17
24
  * - `label` — подпись базы («к прошлому периоду», «к прошлому году»).
18
25
  * - `baseline` — необязательное «было X» той же строкой.
19
26
  */
20
27
  interface Delta {
21
28
  readonly percent: number | null;
29
+ readonly unit?: Unit;
22
30
  readonly label: string;
23
31
  readonly baseline?: string;
24
32
  }
@@ -40,17 +48,22 @@ interface IDeltaRow {
40
48
  * готовыми строками, `percent` — посчитанным числом. Так плитка не знает ни про
41
49
  * валюты, ни про методику метрик и остаётся общей для любого домена.
42
50
  *
43
- * Нулевая база показывается как «—»: «+100 %» от нуля вводит в заблуждение, а
44
- * «∞» нечитаемо.
51
+ * Строка с неизвестной базой не рисуется: «+100 %» от нуля вводит в
52
+ * заблуждение, а «—» рядом с цифрой читается как поломка.
53
+ *
54
+ * Цвет строки говорит, хорошо изменение или плохо, а стрелка — только знак
55
+ * числа: у метрики, где рост хуже (отмены, потерянная выручка), рост красный и
56
+ * со стрелкой вверх.
45
57
  */
46
58
  export declare class RtStatTileComponent {
47
59
  #private;
60
+ /** Подписи кита для шаблона — приставка годового чипа. */
61
+ protected readonly t: Signal<TRtKitLabelMap>;
48
62
  /**
49
63
  * Дельта к предыдущему периоду — рядом со значением. Пустая база (`percent`
50
64
  * = null) не рисуется вовсе: «—» рядом с цифрой читается как поломка, а не
51
65
  * как «сравнивать не с чем».
52
66
  */
53
- protected readonly t: Signal<TRtKitLabelMap>;
54
67
  protected readonly primaryDelta: Signal<IDeltaRow | null>;
55
68
  /** Годовое сравнение — отдельным компактным чипом, без слов в строке. */
56
69
  protected readonly yearDelta: Signal<IDeltaRow | null>;
@@ -72,6 +85,11 @@ export declare class RtStatTileComponent {
72
85
  readonly deltaSecondary: InputSignal<IRtStatTile.Delta | null>;
73
86
  /** Пояснение методики — нативный title на иконке подсказки. */
74
87
  readonly hint: InputSignal<string | null>;
88
+ /**
89
+ * Рост метрики плох для владельца (отмены, потерянная выручка): рост обеих
90
+ * строк красный, падение зелёное. Стрелка по-прежнему показывает знак числа.
91
+ */
92
+ readonly growthIsWorse: InputSignalWithTransform<boolean, BooleanInput>;
75
93
  static ɵfac: i0.ɵɵFactoryDeclaration<RtStatTileComponent, never>;
76
94
  static ɵcmp: i0.ɵɵComponentDeclaration<RtStatTileComponent, "rt-stat-tile", never, {
77
95
  "label": {
@@ -104,6 +122,11 @@ export declare class RtStatTileComponent {
104
122
  "required": false;
105
123
  "isSignal": true;
106
124
  };
125
+ "growthIsWorse": {
126
+ "alias": "growthIsWorse";
127
+ "required": false;
128
+ "isSignal": true;
129
+ };
107
130
  }, {}, never, never, true, never>;
108
131
  }
109
132
  export {};
@@ -0,0 +1,76 @@
1
+ import { IFilterModel, ISortModel, TFilterOperatorType, TListSortOrderType, TNullable } from "@rt-tools/utils";
2
+ /** Значение условия в том виде, в каком оно хранится и сверяется. Одно для обеих таблиц. */
3
+ export type TRtFilterValue = string | number | boolean;
4
+ /**
5
+ * Какие значения поля снимают условие колонки.
6
+ *
7
+ * `empty-string` — только пустая строка; `0` и `false` остаются значениями, так ведёт себя `rt-table`.
8
+ * `falsy` — любое ложное значение, как в первом ките; так ведёт себя `rt-data-table`.
9
+ */
10
+ export type TRtFilterEmptyMode = 'empty-string' | 'falsy';
11
+ /** Снимает ли это значение условие колонки при режиме таблицы. */
12
+ export declare function rtIsEmptyFilterValue(value: unknown, mode: TRtFilterEmptyMode): boolean;
13
+ /** Условие по этой колонке из набора либо `null`, когда колонка ничего не отбирает. */
14
+ export declare function rtFilterOf<KEY extends string>(filters: ReadonlyArray<IFilterModel<KEY>>, propertyName: KEY): IFilterModel<KEY> | null;
15
+ /**
16
+ * Набор условий после перемены значения по одной колонке.
17
+ *
18
+ * Пустое по режиму значение снимает колонку с отбора, а не уходит пустым условием: условие без
19
+ * значения просит потребителя ответить «подходит всё», и потребитель, прочитавший его буквально, не
20
+ * вернёт ни одной строки.
21
+ *
22
+ * Возвращает прежний набор тем же объектом, когда менять нечего: по этому признаку таблица и решает,
23
+ * сообщать ли наружу.
24
+ */
25
+ export declare function rtFiltersWithValue<KEY extends string>(filters: ReadonlyArray<IFilterModel<KEY>>, propertyName: KEY, operatorType: TFilterOperatorType, value: TRtFilterValue, mode: TRtFilterEmptyMode): ReadonlyArray<IFilterModel<KEY>>;
26
+ /**
27
+ * Набор условий после перемены вида сравнения по одной колонке.
28
+ *
29
+ * Колонка с условием меняет в нём вид сравнения. Колонка без условия, но с набранным значением,
30
+ * получает условие; без значения отбирать нечего, и набор не меняется — наружу ничего не уходит.
31
+ */
32
+ export declare function rtFiltersWithOperator<KEY extends string>(filters: ReadonlyArray<IFilterModel<KEY>>, propertyName: KEY, operatorType: TFilterOperatorType, value: IFilterModel<KEY>['value'], mode: TRtFilterEmptyMode): ReadonlyArray<IFilterModel<KEY>>;
33
+ /** Ключи записей списка. */
34
+ export declare function rtKeysOf<ENTITY_TYPE, KEY extends keyof ENTITY_TYPE>(entities: ReadonlyArray<ENTITY_TYPE>, keyExp: KEY): Array<ENTITY_TYPE[KEY]>;
35
+ /** Записи страницы, добавленные к отмеченным; повторов не будет. */
36
+ export declare function rtWithPageEntities<ENTITY_TYPE, KEY extends keyof ENTITY_TYPE>(selected: ReadonlyArray<ENTITY_TYPE>, page: ReadonlyArray<ENTITY_TYPE>, keyExp: KEY): ENTITY_TYPE[];
37
+ /** Отмеченные без записей страницы. */
38
+ export declare function rtWithoutPageEntities<ENTITY_TYPE, KEY extends keyof ENTITY_TYPE>(selected: ReadonlyArray<ENTITY_TYPE>, page: ReadonlyArray<ENTITY_TYPE>, keyExp: KEY): ENTITY_TYPE[];
39
+ /** Отмеченные после отметки или снятия одной записи. */
40
+ export declare function rtWithEntity<ENTITY_TYPE, KEY extends keyof ENTITY_TYPE>(selected: ReadonlyArray<ENTITY_TYPE>, entity: ENTITY_TYPE, checked: boolean, keyExp: KEY): ENTITY_TYPE[];
41
+ /** Хоть одна запись страницы отмечена. */
42
+ export declare function rtAnyOnPage<ENTITY_TYPE, KEY extends keyof ENTITY_TYPE>(page: ReadonlyArray<ENTITY_TYPE>, selectedKeys: ReadonlyArray<ENTITY_TYPE[KEY]>, keyExp: KEY): boolean;
43
+ /** Отмечены все записи страницы; пустая страница у первого кита считается отмеченной целиком. */
44
+ export declare function rtAllOnPage<ENTITY_TYPE, KEY extends keyof ENTITY_TYPE>(page: ReadonlyArray<ENTITY_TYPE>, selectedKeys: ReadonlyArray<ENTITY_TYPE[KEY]>, keyExp: KEY): boolean;
45
+ /** Записи первой страницы, чьи ключи названы приложением как отмеченные заранее. */
46
+ export declare function rtPresetEntities<ENTITY_TYPE, KEY extends keyof ENTITY_TYPE>(entities: ReadonlyArray<ENTITY_TYPE>, keys: ReadonlyArray<ENTITY_TYPE[KEY]>, keyExp: KEY): ENTITY_TYPE[];
47
+ /** Отметки после смены страницы под «отметить все»: пришедшие строки отмечаются, кроме исключённых. */
48
+ export declare function rtSelectedAfterPage<ENTITY_TYPE, KEY extends keyof ENTITY_TYPE>(selected: ReadonlyArray<ENTITY_TYPE>, page: ReadonlyArray<ENTITY_TYPE>, excluded: ReadonlyArray<ENTITY_TYPE>, keyExp: KEY): ENTITY_TYPE[];
49
+ /** Исключения после отметки или снятия одной записи под «отметить все». */
50
+ export declare function rtExcludedAfterEntity<ENTITY_TYPE, KEY extends keyof ENTITY_TYPE>(excluded: ReadonlyArray<ENTITY_TYPE>, entity: ENTITY_TYPE, checked: boolean, keyExp: KEY): ENTITY_TYPE[];
51
+ /** Исключения после отметки всей страницы под «отметить все»: её записи уходят из исключений. */
52
+ export declare function rtExcludedAfterPageMarked<ENTITY_TYPE, KEY extends keyof ENTITY_TYPE>(excluded: ReadonlyArray<ENTITY_TYPE>, page: ReadonlyArray<ENTITY_TYPE>, keyExp: KEY): ENTITY_TYPE[];
53
+ /** Исключения после снятия всей страницы под «отметить все»: её записи становятся исключениями. */
54
+ export declare function rtExcludedAfterPageUnmarked<ENTITY_TYPE, KEY extends keyof ENTITY_TYPE>(excluded: ReadonlyArray<ENTITY_TYPE>, page: ReadonlyArray<ENTITY_TYPE>, keyExp: KEY): ENTITY_TYPE[];
55
+ /** Значение атрибута `aria-sort` шапки: направление либо его отсутствие. Одно для обеих таблиц. */
56
+ export type TRtAriaSort = 'ascending' | 'descending' | 'none';
57
+ /**
58
+ * Что просит нажатие на шапку после убывания.
59
+ *
60
+ * `clears` — порядок снимается: по возрастанию → по убыванию → без порядка, так ведёт себя `rt-table`.
61
+ * `repeats` — снова по возрастанию, как в первом ките; так ведёт себя `rt-data-table`.
62
+ */
63
+ export type TRtSortCycle = 'clears' | 'repeats';
64
+ /** Порядок стоит по этой колонке. */
65
+ export declare function rtIsSortedBy(current: TNullable<ISortModel<string>>, propertyName: TNullable<string>): boolean;
66
+ /** Направление порядка по этой колонке либо `null`, когда порядок стоит по другой или не стоит вовсе. */
67
+ export declare function rtSortDirectionOf(current: TNullable<ISortModel<string>>, propertyName: string): TListSortOrderType | null;
68
+ /**
69
+ * Следующий порядок после нажатия на шапку колонки.
70
+ *
71
+ * Оба круга смотрят на нажатую колонку: другая колонка встаёт по возрастанию, та, что идёт по
72
+ * возрастанию, — по убыванию. Круги расходятся только после убывания.
73
+ */
74
+ export declare function rtNextSort(current: TNullable<ISortModel<string>>, propertyName: string, cycle: TRtSortCycle): ISortModel<string> | null;
75
+ /** Значение `aria-sort` шапки: скринридер называет порядок колонки, а не только её имя. */
76
+ export declare function rtAriaSortOf(current: TNullable<ISortModel<string>>, propertyName: string): TRtAriaSort;