@rt-tools/ui-kit-v2 0.34.3 → 0.34.5
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.
- package/fesm2022/rt-tools-ui-kit-v2-action-bar.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-action-bar.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-aside.mjs +78 -10
- package/fesm2022/rt-tools-ui-kit-v2-aside.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-autocomplete.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-autocomplete.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-button.mjs +18 -9
- package/fesm2022/rt-tools-ui-kit-v2-button.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-calendar.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-calendar.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-confirm-popover.mjs +2 -2
- package/fesm2022/rt-tools-ui-kit-v2-confirm-popover.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-copy-value.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-copy-value.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-core.mjs +4 -1
- package/fesm2022/rt-tools-ui-kit-v2-core.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-counter.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-counter.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-data-list.mjs +4 -0
- package/fesm2022/rt-tools-ui-kit-v2-data-list.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-data-table.mjs +4 -0
- package/fesm2022/rt-tools-ui-kit-v2-data-table.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-date-picker.mjs +4 -0
- package/fesm2022/rt-tools-ui-kit-v2-date-picker.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-date-range.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-date-range.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-dialog.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-dialog.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-dynamic-list.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-dynamic-list.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-dynamic-selector.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-dynamic-selector.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-file-card.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-file-card.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-header.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-header.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-icon-button.mjs +103 -6
- package/fesm2022/rt-tools-ui-kit-v2-icon-button.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-image-upload.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-image-upload.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-inline-edit.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-inline-edit.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-input-number.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-input-number.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-input.mjs +6 -1
- package/fesm2022/rt-tools-ui-kit-v2-input.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-menu.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-menu.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-message.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-message.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-multiselect.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-multiselect.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-pagination.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-pagination.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-pdf-viewer.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-pdf-viewer.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-photo-viewer.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-photo-viewer.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs +10 -0
- package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-select.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-select.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-side-menu.mjs +6 -0
- package/fesm2022/rt-tools-ui-kit-v2-side-menu.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-speed-menu.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-speed-menu.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-table.mjs +8 -0
- package/fesm2022/rt-tools-ui-kit-v2-table.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-tag.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-tag.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-theme-toggle.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-theme-toggle.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-thread-list.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-thread-list.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-toast.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-toast.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-workspace-details.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-workspace-details.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-workspace.mjs +2 -0
- package/fesm2022/rt-tools-ui-kit-v2-workspace.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/components/aside/footer/rt-aside-footer.component.scss +3 -1
- package/src/lib/components/aside/unsaved-dialog/rt-aside-unsaved-dialog.component.scss +10 -3
- package/src/lib/components/icon-button/CONTEXT.md +32 -16
- package/src/lib/components/icon-button/rt-icon-button.component.scss +17 -9
- package/src/lib/components/input/CONTEXT.md +6 -0
- package/src/styles/_form.scss +14 -1
- package/styles/tokens.css +13 -1
- package/types/rt-tools-ui-kit-v2-aside.d.ts +17 -7
- package/types/rt-tools-ui-kit-v2-button.d.ts +6 -1
- package/types/rt-tools-ui-kit-v2-core.d.ts +18 -0
- package/types/rt-tools-ui-kit-v2-icon-button.d.ts +38 -2
- package/types/rt-tools-ui-kit-v2-input.d.ts +2 -0
package/styles/tokens.css
CHANGED
|
@@ -7454,11 +7454,14 @@ html.rt-theme-dark.rt-preset-material {
|
|
|
7454
7454
|
}
|
|
7455
7455
|
.rt-form {
|
|
7456
7456
|
/* Строка контрола: один ряд колонки. Поле занимает строку целиком — иначе каждый
|
|
7457
|
-
потребитель дописывает ширину сам. Зазор строки разводит элементы в ряду.
|
|
7457
|
+
потребитель дописывает ширину сам. Зазор строки разводит элементы в ряду. Строка
|
|
7458
|
+
переносит элементы: две кнопки с длинными подписями на узкой панели иначе не встают
|
|
7459
|
+
в ряд, и вторая выходит за край. */
|
|
7458
7460
|
}
|
|
7459
7461
|
.rt-form__control-item {
|
|
7460
7462
|
display: flex;
|
|
7461
7463
|
width: 100%;
|
|
7464
|
+
flex-wrap: wrap;
|
|
7462
7465
|
align-items: center;
|
|
7463
7466
|
justify-content: flex-start;
|
|
7464
7467
|
gap: var(--rt-space-xl);
|
|
@@ -7644,6 +7647,15 @@ html.rt-theme-dark.rt-preset-material {
|
|
|
7644
7647
|
gap: var(--rt-space-md);
|
|
7645
7648
|
}
|
|
7646
7649
|
}
|
|
7650
|
+
/* На узком экране строка из одних кнопок встаёт столбиком, кнопки во всю ширину, порядок
|
|
7651
|
+
прежний. Порог ниже порога панели: на 768 точках кнопки ещё стоят в ряд. Строка с полем
|
|
7652
|
+
рядом с кнопкой сюда не попадает и переносится общим правилом. */
|
|
7653
|
+
@media (width <= 480px) {
|
|
7654
|
+
.rt-form__control-item:has(> .rt-button):not(:has(> :not(.rt-button))) {
|
|
7655
|
+
flex-direction: column;
|
|
7656
|
+
align-items: stretch;
|
|
7657
|
+
}
|
|
7658
|
+
}
|
|
7647
7659
|
}
|
|
7648
7660
|
@layer rt-kit.components {
|
|
7649
7661
|
.rt-button {
|
|
@@ -5,6 +5,7 @@ import { ComponentType, OverlayRef } from "@angular/cdk/overlay";
|
|
|
5
5
|
import { Observable, Subject } from "rxjs";
|
|
6
6
|
import { IRtIcon, TRtKitLabelMap, TRtRadius } from "@rt-tools/ui-kit-v2/core";
|
|
7
7
|
import { IRtTag } from "@rt-tools/ui-kit-v2/tag";
|
|
8
|
+
import { RtButtonDirective } from "@rt-tools/ui-kit-v2/button";
|
|
8
9
|
/**
|
|
9
10
|
* Варианты ширины side-sheet:
|
|
10
11
|
* - `sm` — 400px (`--rt-aside-width-sm`)
|
|
@@ -400,12 +401,17 @@ export declare class RtAsideHeaderComponent {
|
|
|
400
401
|
}
|
|
401
402
|
/**
|
|
402
403
|
* Footer-слот для композиции внутри `<rt-aside>`. Две зоны через именованные
|
|
403
|
-
* слоты: `[asideDismiss]` (слева —
|
|
404
|
-
*
|
|
405
|
-
*
|
|
406
|
-
*
|
|
404
|
+
* слоты: `[asideDismiss]` (слева — «Закрыть») и `[asidePrimary]` (справа —
|
|
405
|
+
* единственный позитивный глагол: Сохранить / Отправить / Опубликовать, если
|
|
406
|
+
* есть). Раскладка `justify-content: space-between`, кнопки стоят в одну строку
|
|
407
|
+
* на любой ширине. Доменные/деструктивные действия в футер не кладём — они
|
|
407
408
|
* проецируются иконками в `<rt-aside-header>` слот `[asideActions]`.
|
|
408
409
|
*
|
|
410
|
+
* Вид кнопок задаёт подвал, а не разметка потребителя: «Закрыть» в рамке темы
|
|
411
|
+
* secondary, позитивный глагол залитый и без значка. На телефоне первая кнопка
|
|
412
|
+
* подписана коротко — «Закрыть» из подписей кита. Кнопка может стоять в слоте
|
|
413
|
+
* не сама, а внутри обёртки с атрибутом слота: так ставят подсказку на кнопку.
|
|
414
|
+
*
|
|
409
415
|
* Только две именованные зоны — безатрибутный контент НЕ проецируется (контент
|
|
410
416
|
* без `asideDismiss`/`asidePrimary` не отрендерится).
|
|
411
417
|
*
|
|
@@ -414,14 +420,18 @@ export declare class RtAsideHeaderComponent {
|
|
|
414
420
|
* @example
|
|
415
421
|
* \`\`\`html
|
|
416
422
|
* <rt-aside-footer>
|
|
417
|
-
* <button rtButton asideDismiss
|
|
418
|
-
* <button rtButton asidePrimary
|
|
423
|
+
* <button rtButton asideDismiss label="Закрыть и не сохранять" (click)="onClose()"></button>
|
|
424
|
+
* <button rtButton asidePrimary label="Сохранить" (click)="save()"></button>
|
|
419
425
|
* </rt-aside-footer>
|
|
420
426
|
* \`\`\`
|
|
421
427
|
*/
|
|
422
428
|
export declare class RtAsideFooterComponent {
|
|
429
|
+
#private;
|
|
430
|
+
protected readonly buttons: Signal<readonly RtButtonDirective[]>;
|
|
431
|
+
protected readonly hosts: Signal<readonly ElementRef<HTMLElement>[]>;
|
|
432
|
+
constructor();
|
|
423
433
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtAsideFooterComponent, never>;
|
|
424
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtAsideFooterComponent, "rt-aside-footer", never, {}, {},
|
|
434
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtAsideFooterComponent, "rt-aside-footer", never, {}, {}, ["buttons", "hosts"], ["[asideDismiss]", "[asidePrimary]"], true, never>;
|
|
425
435
|
}
|
|
426
436
|
/**
|
|
427
437
|
* Блок ошибки запроса боковой панели: надпись и кнопка, которая кладёт в буфер обмена время и
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BooleanInput } from "@angular/cdk/coercion";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import { InputSignal, InputSignalWithTransform, Signal } from "@angular/core";
|
|
3
|
+
import { InputSignal, InputSignalWithTransform, Signal, WritableSignal } from "@angular/core";
|
|
4
4
|
import { IButton } from "@rt-tools/ui-kit-v2/core";
|
|
5
5
|
import * as i1 from "@rt-tools/ui-kit-v2/ripple";
|
|
6
6
|
import * as i2 from "@rt-tools/ui-kit-v2/radius";
|
|
@@ -24,6 +24,11 @@ import * as i2 from "@rt-tools/ui-kit-v2/radius";
|
|
|
24
24
|
export declare class RtButtonDirective {
|
|
25
25
|
#private;
|
|
26
26
|
protected readonly isIconOnly: Signal<boolean>;
|
|
27
|
+
/**
|
|
28
|
+
* Вид, который задаёт место кнопки: слот подвала панели. Пишет его хозяин места, а не
|
|
29
|
+
* приложение, — входы кнопки при этом не трогаются и вернутся, когда место вид снимет.
|
|
30
|
+
*/
|
|
31
|
+
readonly placeLook: WritableSignal<IButton.PlaceLook | null>;
|
|
27
32
|
/** Текстовый лейбл кнопки. Если null — кнопка только с иконкой. */
|
|
28
33
|
readonly label: InputSignal<string | null>;
|
|
29
34
|
/**
|
|
@@ -23,6 +23,17 @@ export declare namespace IButton {
|
|
|
23
23
|
* невидимы, но держат ширину кнопки, а спиннер стоит по центру.
|
|
24
24
|
*/
|
|
25
25
|
type LoadingLabel = 'keep' | 'hide';
|
|
26
|
+
/**
|
|
27
|
+
* Вид, который кнопке задаёт место, где она стоит, — например слот подвала панели. Названное
|
|
28
|
+
* здесь сильнее входов кнопки, неназванное берётся из входов. `icon: null` снимает значок,
|
|
29
|
+
* `label` подменяет подпись.
|
|
30
|
+
*/
|
|
31
|
+
interface PlaceLook {
|
|
32
|
+
readonly theme?: Theme;
|
|
33
|
+
readonly appearance?: Appearance;
|
|
34
|
+
readonly icon?: null;
|
|
35
|
+
readonly label?: string;
|
|
36
|
+
}
|
|
26
37
|
}
|
|
27
38
|
/** Вид колонки: решает, чем рисуется значение ячейки. */
|
|
28
39
|
export declare enum ERtDataTableColumnType {
|
|
@@ -1044,6 +1055,8 @@ export declare function rtSearchWords(query: string): string[];
|
|
|
1044
1055
|
export declare function rtSearchMatches(text: string, query: string): boolean;
|
|
1045
1056
|
/** Порог узкого вида — тот же, что у `$rt-bp-lg` в стилях кита. */
|
|
1046
1057
|
export declare const RT_NARROW_WIDTH: number;
|
|
1058
|
+
/** Порог телефона — тот же, что у `$rt-bp-sm` в стилях кита. */
|
|
1059
|
+
export declare const RT_PHONE_WIDTH: number;
|
|
1047
1060
|
/**
|
|
1048
1061
|
* Узок ли вид. Ширина места страницы решает, когда место объявлено; без него решает окно.
|
|
1049
1062
|
*/
|
|
@@ -1067,6 +1080,11 @@ export declare class BreakpointsService {
|
|
|
1067
1080
|
* `initialValue: false` — на SSR/CSR до первого matchMedia рендерим desktop-вариант.
|
|
1068
1081
|
*/
|
|
1069
1082
|
readonly viewportNarrow: Signal<boolean>;
|
|
1083
|
+
/**
|
|
1084
|
+
* Окно телефона (≤480px). На нём то, что на экране шире стоит в строку, встаёт короче или
|
|
1085
|
+
* столбиком: подпись первой кнопки подвала панели. `initialValue: false` — как у узкого окна.
|
|
1086
|
+
*/
|
|
1087
|
+
readonly phone: Signal<boolean>;
|
|
1070
1088
|
/**
|
|
1071
1089
|
* Узкий вид (≤1080px) — единый порог для компонентов, которые на узком месте подменяют
|
|
1072
1090
|
* развёрнутый контрол на компактный (напр. `rt-filter-control`: сегменты → `rt-select`).
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BooleanInput, NumberInput } from "@angular/cdk/coercion";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import { InputSignal, InputSignalWithTransform, OutputEmitterRef, Signal } from "@angular/core";
|
|
3
|
+
import { ElementRef, InputSignal, InputSignalWithTransform, OutputEmitterRef, Signal } from "@angular/core";
|
|
4
|
+
import { RouterLink } from "@angular/router";
|
|
4
5
|
import { IRtIcon } from "@rt-tools/ui-kit-v2/core";
|
|
5
6
|
import * as i1 from "@rt-tools/ui-kit-v2/radius";
|
|
6
7
|
/**
|
|
@@ -19,11 +20,14 @@ export declare namespace IRtIconButton {
|
|
|
19
20
|
type Size = '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
20
21
|
/** HTML-тип нативного `<button>`. */
|
|
21
22
|
type Type = 'button' | 'submit';
|
|
23
|
+
/** Какую панель открывает кнопка — значения `aria-haspopup`. */
|
|
24
|
+
type HasPopup = 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';
|
|
22
25
|
}
|
|
23
26
|
/**
|
|
24
27
|
* Универсальная icon-only кнопка кита.
|
|
25
28
|
*
|
|
26
|
-
* Рендерит свой собственный `<button type="...">` внутри template (НЕ host-button)
|
|
29
|
+
* Рендерит свой собственный `<button type="...">` внутри template (НЕ host-button), а с входом
|
|
30
|
+
* `link` — ссылку `<a>` с тем же видом: её можно открыть в новой вкладке, и скринридер называет её ссылкой.
|
|
27
31
|
* Все цвета и размеры — через семантические `--rt-*` токены; геометрия квадрата
|
|
28
32
|
* берётся из `--rt-icon-button-size`, а без него — из шага `size`. Свойство, заданное на теге
|
|
29
33
|
* `<rt-icon-button>` или выше, доходит до кнопки; так же и `--rt-icon-button-bg`.
|
|
@@ -44,6 +48,14 @@ export declare class RtIconButtonComponent {
|
|
|
44
48
|
* должна остаться большой — в неё целятся пальцем.
|
|
45
49
|
*/
|
|
46
50
|
protected readonly resolvedIconSize: Signal<IRtIcon.Size>;
|
|
51
|
+
protected readonly buttonEl: Signal<ElementRef<HTMLButtonElement> | undefined>;
|
|
52
|
+
protected readonly linkEl: Signal<ElementRef<HTMLAnchorElement> | undefined>;
|
|
53
|
+
/** Компонент рисует ссылку: задан `link`. */
|
|
54
|
+
protected readonly isLink: Signal<boolean>;
|
|
55
|
+
/** Адрес ссылки: у недоступной или загружающейся его нет, и ссылка никуда не ведёт. */
|
|
56
|
+
protected readonly linkTarget: Signal<RouterLink['routerLink']>;
|
|
57
|
+
/** Недоступная ссылка выпадает из порядка Tab, как отключённая кнопка. */
|
|
58
|
+
protected readonly linkTabIndex: Signal<number>;
|
|
47
59
|
/** Кнопка отключена, если установлен disabled ИЛИ loading. */
|
|
48
60
|
protected readonly isDisabled: Signal<boolean>;
|
|
49
61
|
/**
|
|
@@ -110,10 +122,24 @@ export declare class RtIconButtonComponent {
|
|
|
110
122
|
* кнопка ничего не раскрывает, и атрибута нет.
|
|
111
123
|
*/
|
|
112
124
|
readonly expanded: InputSignal<boolean | null>;
|
|
125
|
+
/**
|
|
126
|
+
* Какую панель открывает кнопка — превращается в `aria-haspopup`: `'menu'` у кнопки, которая
|
|
127
|
+
* раскрывает меню. `null` — атрибута нет.
|
|
128
|
+
*/
|
|
129
|
+
readonly ariaHaspopup: InputSignal<IRtIconButton.HasPopup | null>;
|
|
130
|
+
/**
|
|
131
|
+
* Команды маршрута приложения, как у `routerLink`. Задан — компонент рисует ссылку `<a href>` с тем
|
|
132
|
+
* же видом, подсказкой и рябью: Ctrl/Cmd-click, Shift-click, средняя кнопка и контекстное меню
|
|
133
|
+
* браузера открывают её в новой вкладке или окне. `type`, `active` и `aria-pressed` у ссылки не
|
|
134
|
+
* пишутся. `null` — обычная кнопка.
|
|
135
|
+
*/
|
|
136
|
+
readonly link: InputSignal<RouterLink['routerLink']>;
|
|
113
137
|
/** Бейдж-индикатор (dot top-right через BEM-модификатор). */
|
|
114
138
|
readonly indicator: InputSignalWithTransform<boolean, BooleanInput>;
|
|
115
139
|
/** Эмиттит MouseEvent при клике (только когда не disabled и не loading). */
|
|
116
140
|
readonly clicked: OutputEmitterRef<MouseEvent>;
|
|
141
|
+
/** Фокусирует кнопку или ссылку внутри — например, когда закрылось меню, которое она открыла. */
|
|
142
|
+
focus(options?: FocusOptions): void;
|
|
117
143
|
protected onClick(event: MouseEvent): void;
|
|
118
144
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtIconButtonComponent, never>;
|
|
119
145
|
static ɵcmp: i0.ɵɵComponentDeclaration<RtIconButtonComponent, "rt-icon-button", never, {
|
|
@@ -197,6 +223,16 @@ export declare class RtIconButtonComponent {
|
|
|
197
223
|
"required": false;
|
|
198
224
|
"isSignal": true;
|
|
199
225
|
};
|
|
226
|
+
"ariaHaspopup": {
|
|
227
|
+
"alias": "ariaHaspopup";
|
|
228
|
+
"required": false;
|
|
229
|
+
"isSignal": true;
|
|
230
|
+
};
|
|
231
|
+
"link": {
|
|
232
|
+
"alias": "link";
|
|
233
|
+
"required": false;
|
|
234
|
+
"isSignal": true;
|
|
235
|
+
};
|
|
200
236
|
"indicator": {
|
|
201
237
|
"alias": "indicator";
|
|
202
238
|
"required": false;
|
|
@@ -84,6 +84,8 @@ export declare class RtInputComponent extends RtFormControlBase<string> {
|
|
|
84
84
|
* Поэтому расхождение с полем пишется в него сразу.
|
|
85
85
|
*/
|
|
86
86
|
writeValue(value: string | null): void;
|
|
87
|
+
/** Фокусирует поле ввода внутри — например, поиск, когда открылась его панель. */
|
|
88
|
+
focus(options?: FocusOptions): void;
|
|
87
89
|
protected getEmptyValue(): string;
|
|
88
90
|
protected focusAfterClear(): void;
|
|
89
91
|
/**
|