@rt-tools/ui-kit-v2 0.19.1 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/rt-tools-ui-kit-v2-core.mjs +61 -1
- package/fesm2022/rt-tools-ui-kit-v2-core.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-dynamic-selector.mjs +129 -18
- package/fesm2022/rt-tools-ui-kit-v2-dynamic-selector.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-empty-state.mjs +2 -2
- package/fesm2022/rt-tools-ui-kit-v2-empty-state.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-icon.mjs +28 -11
- package/fesm2022/rt-tools-ui-kit-v2-icon.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-input-number.mjs +4 -3
- package/fesm2022/rt-tools-ui-kit-v2-input-number.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-input.mjs +4 -3
- package/fesm2022/rt-tools-ui-kit-v2-input.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs +100 -19
- package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-thread-list.mjs +15 -9
- package/fesm2022/rt-tools-ui-kit-v2-thread-list.mjs.map +1 -1
- package/package.json +1 -1
- package/rt-tools-ui-kit-v2-0.21.0.tgz +0 -0
- package/src/assets/icons-material/history.fill.svg +5 -0
- package/src/assets/icons-material/history.svg +5 -0
- package/src/assets/icons-material/window-minimize.fill.svg +5 -0
- package/src/assets/icons-material/window-minimize.svg +5 -0
- package/src/lib/components/dynamic-selector/CONTEXT.md +24 -3
- package/src/lib/components/dynamic-selector/dynamic-input/rt-dynamic-input.component.scss +4 -5
- package/src/lib/components/dynamic-selector/list/rt-dynamic-selector-list.component.scss +50 -6
- package/src/lib/components/dynamic-selector/popup/rt-dynamic-selector-popup-options.scss +108 -0
- package/src/lib/components/dynamic-selector/popup/rt-dynamic-selector-popup.component.scss +28 -23
- package/src/lib/components/dynamic-selector/rt-dynamic-selector.component.scss +4 -5
- package/src/lib/components/empty-state/CONTEXT.md +3 -1
- package/src/lib/components/empty-state/rt-empty-state.component.scss +9 -5
- package/src/lib/components/icon/CONTEXT.md +7 -0
- package/src/lib/components/input/rt-input.component.scss +17 -0
- package/src/lib/components/input-number/rt-input-number.component.scss +15 -0
- package/src/lib/components/markdown-text/CONTEXT.md +3 -0
- package/src/lib/components/thread-list/CONTEXT.md +3 -1
- package/src/rich-editor/lib/components/ai-chat/CONTEXT.md +15 -0
- package/src/rich-editor/lib/components/ai-chat/copy/rt-ai-chat-copy.component.scss +5 -0
- package/src/rich-editor/lib/components/ai-chat/rt-ai-chat.component.scss +8 -1
- package/types/rt-tools-ui-kit-v2-core.d.ts +81 -5
- package/types/rt-tools-ui-kit-v2-dynamic-selector.d.ts +45 -3
- package/types/rt-tools-ui-kit-v2-icon.d.ts +14 -3
- package/types/rt-tools-ui-kit-v2-rich-editor.d.ts +23 -6
- package/types/rt-tools-ui-kit-v2-thread-list.d.ts +13 -8
- package/rt-tools-ui-kit-v2-0.19.1.tgz +0 -0
|
@@ -13,16 +13,25 @@ declare namespace IRtDynamicSelector {
|
|
|
13
13
|
type SelectAllState = 'none' | 'some' | 'all';
|
|
14
14
|
/** Как выбирает всплывающий список: один пункт переключателем или несколько флажками. */
|
|
15
15
|
type Mode = 'single' | 'multi';
|
|
16
|
+
/** Регистр подписи кнопки: как есть, каждое слово с заглавной или вся заглавными. */
|
|
17
|
+
type LabelCase = 'none' | 'title' | 'upper';
|
|
16
18
|
/** Строки всплывающего выбора: отмеченные раньше над разделителем и найденные под ним. */
|
|
17
19
|
interface PopupRows<T> {
|
|
18
20
|
readonly ticked: ReadonlyArray<T>;
|
|
19
21
|
readonly found: ReadonlyArray<T>;
|
|
20
22
|
}
|
|
23
|
+
/** Кусок подписи пункта: совпал ли он со словом поиска. */
|
|
24
|
+
interface MatchPart {
|
|
25
|
+
readonly text: string;
|
|
26
|
+
readonly matched: boolean;
|
|
27
|
+
}
|
|
21
28
|
/** Строка всплывающего выбора, готовая для разметки. */
|
|
22
29
|
interface PopupRow<T> {
|
|
23
30
|
readonly entity: T;
|
|
24
31
|
readonly key: unknown;
|
|
25
32
|
readonly label: string;
|
|
33
|
+
/** Подпись по кускам; без подсветки поиска — один кусок без отметки. */
|
|
34
|
+
readonly parts: ReadonlyArray<MatchPart>;
|
|
26
35
|
readonly ticked: boolean;
|
|
27
36
|
/** Под строкой стоит разделитель. */
|
|
28
37
|
readonly separated: boolean;
|
|
@@ -233,6 +242,7 @@ declare const RT_DYNAMIC_SELECTOR_SEARCH_DEBOUNCE: number;
|
|
|
233
242
|
declare class RtDynamicSelectorPopupComponent<TEntity extends object> implements OnInit {
|
|
234
243
|
#private;
|
|
235
244
|
protected readonly searchLabel: Signal<string>;
|
|
245
|
+
protected readonly searchField: Signal<ElementRef<HTMLElement> | undefined>;
|
|
236
246
|
protected readonly selectAllLabel: Signal<string>;
|
|
237
247
|
protected readonly multiLabel: Signal<string>;
|
|
238
248
|
protected readonly multiHintLabel: Signal<string>;
|
|
@@ -240,9 +250,13 @@ declare class RtDynamicSelectorPopupComponent<TEntity extends object> implements
|
|
|
240
250
|
/** Подпись пустого результата: своя у приложения, иначе словарь кита. */
|
|
241
251
|
protected readonly emptyText: Signal<string>;
|
|
242
252
|
protected readonly cancelLabel: Signal<string>;
|
|
243
|
-
protected readonly
|
|
253
|
+
protected readonly applyKitLabel: Signal<string>;
|
|
254
|
+
/** Подпись кнопки применения: своя у приложения, иначе словарь кита, — в заданном регистре. */
|
|
255
|
+
protected readonly applyText: Signal<string>;
|
|
244
256
|
/** Отмеченные ключи — ещё не применённые. */
|
|
245
257
|
protected readonly ticked: WritableSignal<unknown[]>;
|
|
258
|
+
/** Отметки на минуту последней смены запроса: только они стоят над разделителем, отмеченное потом — на месте. */
|
|
259
|
+
protected readonly raised: WritableSignal<unknown[]>;
|
|
246
260
|
protected readonly query: WritableSignal<string>;
|
|
247
261
|
/** Выбор нескольких включён: без него простое нажатие оставляет одну отметку. */
|
|
248
262
|
protected readonly isMultiOn: WritableSignal<boolean>;
|
|
@@ -252,6 +266,8 @@ declare class RtDynamicSelectorPopupComponent<TEntity extends object> implements
|
|
|
252
266
|
protected readonly visibleKeys: Signal<unknown[]>;
|
|
253
267
|
/** Строки для разметки: отмеченные раньше над разделителем, найденные — под ним. */
|
|
254
268
|
protected readonly rowItems: Signal<IRtDynamicSelector.PopupRow<TEntity>[]>;
|
|
269
|
+
/** Подпись выбора одной записи рисует окно, а не кнопка: без переноса и при подсветке поиска. */
|
|
270
|
+
protected readonly ownLabel: Signal<boolean>;
|
|
255
271
|
protected readonly hasRows: Signal<boolean>;
|
|
256
272
|
protected readonly selectAllState: Signal<IRtDynamicSelector.SelectAllState>;
|
|
257
273
|
protected readonly isSingle: Signal<boolean>;
|
|
@@ -264,6 +280,8 @@ declare class RtDynamicSelectorPopupComponent<TEntity extends object> implements
|
|
|
264
280
|
readonly entities: InputSignal<ReadonlyArray<TEntity>>;
|
|
265
281
|
readonly keyExp: InputSignal<keyof TEntity & string>;
|
|
266
282
|
readonly displayExp: InputSignal<keyof TEntity & string>;
|
|
283
|
+
/** Подпись записи для строки, пункта окна и поиска; не задана — поле `displayExp`. */
|
|
284
|
+
readonly displayWith: InputSignal<((entity: TEntity) => string) | null>;
|
|
267
285
|
readonly mode: InputSignal<IRtDynamicSelector.Mode>;
|
|
268
286
|
readonly multiToggleShown: InputSignalWithTransform<boolean, unknown>;
|
|
269
287
|
readonly selectAllShown: InputSignalWithTransform<boolean, unknown>;
|
|
@@ -278,8 +296,20 @@ declare class RtDynamicSelectorPopupComponent<TEntity extends object> implements
|
|
|
278
296
|
readonly searchTerm: InputSignal<string>;
|
|
279
297
|
/** Вид поля поиска — тот же вход, что у поля кита. */
|
|
280
298
|
readonly searchAppearance: InputSignal<IRtInput.Appearance>;
|
|
299
|
+
/** Шаг скругления поля поиска; null — скругление самого поля. */
|
|
300
|
+
readonly searchRadius: InputSignal<TRtRadius | null>;
|
|
281
301
|
/** Подпись пустого результата поиска; пустая строка оставляет подпись кита. */
|
|
282
302
|
readonly emptyResultsText: InputSignal<string>;
|
|
303
|
+
/** Подпись кнопки применения; пустая строка оставляет подпись кита. */
|
|
304
|
+
readonly applyLabel: InputSignal<string>;
|
|
305
|
+
/** Регистр подписи кнопки применения; `none` оставляет её как есть. */
|
|
306
|
+
readonly applyLabelCase: InputSignal<IRtDynamicSelector.LabelCase>;
|
|
307
|
+
/** Поле поиска получает фокус при открытии окна; по умолчанию фокус остаётся там, где был. */
|
|
308
|
+
readonly autofocusSearch: InputSignalWithTransform<boolean, unknown>;
|
|
309
|
+
/** Подпись пункта переносится; `false` ведёт её одной строкой с многоточием и подсказкой при обрезке. */
|
|
310
|
+
readonly titleWrap: InputSignalWithTransform<boolean, unknown>;
|
|
311
|
+
/** Символы подписи пункта, совпавшие со словами поиска, выделены. */
|
|
312
|
+
readonly highlightSearch: InputSignalWithTransform<boolean, unknown>;
|
|
283
313
|
/** Применённые ключи в порядке отметок. */
|
|
284
314
|
readonly applied: OutputEmitterRef<unknown[]>;
|
|
285
315
|
readonly cancelled: OutputEmitterRef<void>;
|
|
@@ -298,7 +328,7 @@ declare class RtDynamicSelectorPopupComponent<TEntity extends object> implements
|
|
|
298
328
|
protected onApply(): void;
|
|
299
329
|
protected onCancel(): void;
|
|
300
330
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtDynamicSelectorPopupComponent<any>, never>;
|
|
301
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtDynamicSelectorPopupComponent<any>, "rt-dynamic-selector-popup", never, { "entities": { "alias": "entities"; "required": false; "isSignal": true; }; "keyExp": { "alias": "keyExp"; "required": true; "isSignal": true; }; "displayExp": { "alias": "displayExp"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "multiToggleShown": { "alias": "multiToggleShown"; "required": false; "isSignal": true; }; "selectAllShown": { "alias": "selectAllShown"; "required": false; "isSignal": true; }; "localSearch": { "alias": "localSearch"; "required": false; "isSignal": true; }; "lazyLoad": { "alias": "lazyLoad"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "fetching": { "alias": "fetching"; "required": false; "isSignal": true; }; "pinnedKeys": { "alias": "pinnedKeys"; "required": false; "isSignal": true; }; "navigateTitle": { "alias": "navigateTitle"; "required": false; "isSignal": true; }; "navigateLink": { "alias": "navigateLink"; "required": false; "isSignal": true; }; "searchTerm": { "alias": "searchTerm"; "required": false; "isSignal": true; }; "searchAppearance": { "alias": "searchAppearance"; "required": false; "isSignal": true; }; "emptyResultsText": { "alias": "emptyResultsText"; "required": false; "isSignal": true; }; }, { "applied": "applied"; "cancelled": "cancelled"; "searchChange": "searchChange"; "loadMore": "loadMore"; "temporaryChoiceChange": "temporaryChoiceChange"; }, never, never, true, never>;
|
|
331
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtDynamicSelectorPopupComponent<any>, "rt-dynamic-selector-popup", never, { "entities": { "alias": "entities"; "required": false; "isSignal": true; }; "keyExp": { "alias": "keyExp"; "required": true; "isSignal": true; }; "displayExp": { "alias": "displayExp"; "required": true; "isSignal": true; }; "displayWith": { "alias": "displayWith"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "multiToggleShown": { "alias": "multiToggleShown"; "required": false; "isSignal": true; }; "selectAllShown": { "alias": "selectAllShown"; "required": false; "isSignal": true; }; "localSearch": { "alias": "localSearch"; "required": false; "isSignal": true; }; "lazyLoad": { "alias": "lazyLoad"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "fetching": { "alias": "fetching"; "required": false; "isSignal": true; }; "pinnedKeys": { "alias": "pinnedKeys"; "required": false; "isSignal": true; }; "navigateTitle": { "alias": "navigateTitle"; "required": false; "isSignal": true; }; "navigateLink": { "alias": "navigateLink"; "required": false; "isSignal": true; }; "searchTerm": { "alias": "searchTerm"; "required": false; "isSignal": true; }; "searchAppearance": { "alias": "searchAppearance"; "required": false; "isSignal": true; }; "searchRadius": { "alias": "searchRadius"; "required": false; "isSignal": true; }; "emptyResultsText": { "alias": "emptyResultsText"; "required": false; "isSignal": true; }; "applyLabel": { "alias": "applyLabel"; "required": false; "isSignal": true; }; "applyLabelCase": { "alias": "applyLabelCase"; "required": false; "isSignal": true; }; "autofocusSearch": { "alias": "autofocusSearch"; "required": false; "isSignal": true; }; "titleWrap": { "alias": "titleWrap"; "required": false; "isSignal": true; }; "highlightSearch": { "alias": "highlightSearch"; "required": false; "isSignal": true; }; }, { "applied": "applied"; "cancelled": "cancelled"; "searchChange": "searchChange"; "loadMore": "loadMore"; "temporaryChoiceChange": "temporaryChoiceChange"; }, never, never, true, never>;
|
|
302
332
|
}
|
|
303
333
|
|
|
304
334
|
/**
|
|
@@ -340,6 +370,8 @@ declare class RtDynamicSelectorComponent<TEntity extends object> extends RtFormC
|
|
|
340
370
|
readonly entities: InputSignal<ReadonlyArray<TEntity>>;
|
|
341
371
|
readonly keyExp: InputSignal<keyof TEntity & string>;
|
|
342
372
|
readonly displayExp: InputSignal<keyof TEntity & string>;
|
|
373
|
+
/** Подпись записи для строки, пункта окна и поиска; не задана — поле `displayExp`. */
|
|
374
|
+
readonly displayWith: InputSignal<((entity: TEntity) => string) | null>;
|
|
343
375
|
readonly mode: InputSignal<IRtDynamicSelector.Mode>;
|
|
344
376
|
/** Название кнопки добавления; пустое — «Add» из словаря кита. */
|
|
345
377
|
readonly buttonTitle: InputSignal<string>;
|
|
@@ -378,8 +410,18 @@ declare class RtDynamicSelectorComponent<TEntity extends object> extends RtFormC
|
|
|
378
410
|
readonly titleWrap: InputSignalWithTransform<boolean, unknown>;
|
|
379
411
|
/** Вид поля поиска в окне выбора. */
|
|
380
412
|
readonly searchAppearance: InputSignal<IRtInput.Appearance>;
|
|
413
|
+
/** Шаг скругления поля поиска в окне выбора; null — скругление самого поля. */
|
|
414
|
+
readonly searchRadius: InputSignal<TRtRadius | null>;
|
|
415
|
+
/** Символы подписи пункта окна выбора, совпавшие со словами поиска, выделены. */
|
|
416
|
+
readonly highlightSearch: InputSignalWithTransform<boolean, unknown>;
|
|
381
417
|
/** Подпись пустого результата поиска; пустая строка оставляет подпись кита. */
|
|
382
418
|
readonly emptyResultsText: InputSignal<string>;
|
|
419
|
+
/** Подпись кнопки применения в окне выбора; пустая строка оставляет подпись кита. */
|
|
420
|
+
readonly applyLabel: InputSignal<string>;
|
|
421
|
+
/** Регистр подписи кнопки применения; `none` оставляет её как есть. */
|
|
422
|
+
readonly applyLabelCase: InputSignal<IRtDynamicSelector.LabelCase>;
|
|
423
|
+
/** Поле поиска получает фокус при открытии окна выбора. */
|
|
424
|
+
readonly autofocusSearch: InputSignalWithTransform<boolean, unknown>;
|
|
383
425
|
readonly multiToggleShown: InputSignalWithTransform<boolean, unknown>;
|
|
384
426
|
readonly selectAllShown: InputSignalWithTransform<boolean, unknown>;
|
|
385
427
|
readonly localSearch: InputSignalWithTransform<boolean, unknown>;
|
|
@@ -417,7 +459,7 @@ declare class RtDynamicSelectorComponent<TEntity extends object> extends RtFormC
|
|
|
417
459
|
protected getEmptyValue(): unknown[];
|
|
418
460
|
protected focusAfterClear(): void;
|
|
419
461
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtDynamicSelectorComponent<any>, never>;
|
|
420
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtDynamicSelectorComponent<any>, "rt-dynamic-selector", never, { "entities": { "alias": "entities"; "required": false; "isSignal": true; }; "keyExp": { "alias": "keyExp"; "required": true; "isSignal": true; }; "displayExp": { "alias": "displayExp"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "buttonTitle": { "alias": "buttonTitle"; "required": false; "isSignal": true; }; "addShown": { "alias": "addShown"; "required": false; "isSignal": true; }; "removeShown": { "alias": "removeShown"; "required": false; "isSignal": true; }; "listActionsShown": { "alias": "listActionsShown"; "required": false; "isSignal": true; }; "extraChanged": { "alias": "extraChanged"; "required": false; "isSignal": true; }; "searchTerm": { "alias": "searchTerm"; "required": false; "isSignal": true; }; "readonlyKeys": { "alias": "readonlyKeys"; "required": false; "isSignal": true; }; "pinnedKeys": { "alias": "pinnedKeys"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "buttonRadius": { "alias": "buttonRadius"; "required": false; "isSignal": true; }; "invitation": { "alias": "invitation"; "required": false; "isSignal": true; }; "invitationIcon": { "alias": "invitationIcon"; "required": false; "isSignal": true; }; "invitationGlyph": { "alias": "invitationGlyph"; "required": false; "isSignal": true; }; "invitationDescription": { "alias": "invitationDescription"; "required": false; "isSignal": true; }; "invitationButtonIcon": { "alias": "invitationButtonIcon"; "required": false; "isSignal": true; }; "invitationButtonAppearance": { "alias": "invitationButtonAppearance"; "required": false; "isSignal": true; }; "clearIcon": { "alias": "clearIcon"; "required": false; "isSignal": true; }; "titleWrap": { "alias": "titleWrap"; "required": false; "isSignal": true; }; "searchAppearance": { "alias": "searchAppearance"; "required": false; "isSignal": true; }; "emptyResultsText": { "alias": "emptyResultsText"; "required": false; "isSignal": true; }; "multiToggleShown": { "alias": "multiToggleShown"; "required": false; "isSignal": true; }; "selectAllShown": { "alias": "selectAllShown"; "required": false; "isSignal": true; }; "localSearch": { "alias": "localSearch"; "required": false; "isSignal": true; }; "lazyLoad": { "alias": "lazyLoad"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "fetching": { "alias": "fetching"; "required": false; "isSignal": true; }; "navigateTitle": { "alias": "navigateTitle"; "required": false; "isSignal": true; }; "navigateLink": { "alias": "navigateLink"; "required": false; "isSignal": true; }; "sortFn": { "alias": "sortFn"; "required": false; "isSignal": true; }; "chosenEntities": { "alias": "chosenEntities"; "required": false; "isSignal": true; }; }, { "chosenEntities": "chosenEntitiesChange"; "selectionChange": "selectionChange"; "listReset": "listReset"; "listCleared": "listCleared"; "popupOpenChange": "popupOpenChange"; "searchChange": "searchChange"; "loadMore": "loadMore"; "temporaryChoiceChange": "temporaryChoiceChange"; }, ["rowTitle", "rowControls"], never, true, never>;
|
|
462
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtDynamicSelectorComponent<any>, "rt-dynamic-selector", never, { "entities": { "alias": "entities"; "required": false; "isSignal": true; }; "keyExp": { "alias": "keyExp"; "required": true; "isSignal": true; }; "displayExp": { "alias": "displayExp"; "required": true; "isSignal": true; }; "displayWith": { "alias": "displayWith"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "buttonTitle": { "alias": "buttonTitle"; "required": false; "isSignal": true; }; "addShown": { "alias": "addShown"; "required": false; "isSignal": true; }; "removeShown": { "alias": "removeShown"; "required": false; "isSignal": true; }; "listActionsShown": { "alias": "listActionsShown"; "required": false; "isSignal": true; }; "extraChanged": { "alias": "extraChanged"; "required": false; "isSignal": true; }; "searchTerm": { "alias": "searchTerm"; "required": false; "isSignal": true; }; "readonlyKeys": { "alias": "readonlyKeys"; "required": false; "isSignal": true; }; "pinnedKeys": { "alias": "pinnedKeys"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "buttonRadius": { "alias": "buttonRadius"; "required": false; "isSignal": true; }; "invitation": { "alias": "invitation"; "required": false; "isSignal": true; }; "invitationIcon": { "alias": "invitationIcon"; "required": false; "isSignal": true; }; "invitationGlyph": { "alias": "invitationGlyph"; "required": false; "isSignal": true; }; "invitationDescription": { "alias": "invitationDescription"; "required": false; "isSignal": true; }; "invitationButtonIcon": { "alias": "invitationButtonIcon"; "required": false; "isSignal": true; }; "invitationButtonAppearance": { "alias": "invitationButtonAppearance"; "required": false; "isSignal": true; }; "clearIcon": { "alias": "clearIcon"; "required": false; "isSignal": true; }; "titleWrap": { "alias": "titleWrap"; "required": false; "isSignal": true; }; "searchAppearance": { "alias": "searchAppearance"; "required": false; "isSignal": true; }; "searchRadius": { "alias": "searchRadius"; "required": false; "isSignal": true; }; "highlightSearch": { "alias": "highlightSearch"; "required": false; "isSignal": true; }; "emptyResultsText": { "alias": "emptyResultsText"; "required": false; "isSignal": true; }; "applyLabel": { "alias": "applyLabel"; "required": false; "isSignal": true; }; "applyLabelCase": { "alias": "applyLabelCase"; "required": false; "isSignal": true; }; "autofocusSearch": { "alias": "autofocusSearch"; "required": false; "isSignal": true; }; "multiToggleShown": { "alias": "multiToggleShown"; "required": false; "isSignal": true; }; "selectAllShown": { "alias": "selectAllShown"; "required": false; "isSignal": true; }; "localSearch": { "alias": "localSearch"; "required": false; "isSignal": true; }; "lazyLoad": { "alias": "lazyLoad"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "fetching": { "alias": "fetching"; "required": false; "isSignal": true; }; "navigateTitle": { "alias": "navigateTitle"; "required": false; "isSignal": true; }; "navigateLink": { "alias": "navigateLink"; "required": false; "isSignal": true; }; "sortFn": { "alias": "sortFn"; "required": false; "isSignal": true; }; "chosenEntities": { "alias": "chosenEntities"; "required": false; "isSignal": true; }; }, { "chosenEntities": "chosenEntitiesChange"; "selectionChange": "selectionChange"; "listReset": "listReset"; "listCleared": "listCleared"; "popupOpenChange": "popupOpenChange"; "searchChange": "searchChange"; "loadMore": "loadMore"; "temporaryChoiceChange": "temporaryChoiceChange"; }, ["rowTitle", "rowControls"], never, true, never>;
|
|
421
463
|
}
|
|
422
464
|
|
|
423
465
|
export { IRtDynamicSelector, RT_DYNAMIC_SELECTOR_SEARCH_DEBOUNCE, RtDynamicInputComponent, RtDynamicSelectorComponent, RtDynamicSelectorListComponent, RtDynamicSelectorPopupComponent, RtDynamicSelectorRowControlsDirective, RtDynamicSelectorRowTitleDirective };
|
|
@@ -64,7 +64,9 @@ declare function materialPairOf(glyph: string | null | undefined): IRtIcon.Name
|
|
|
64
64
|
* Чем рисуется значок: своим рисунком кита или лигатурой шрифта Material.
|
|
65
65
|
*
|
|
66
66
|
* Имя кита выигрывает у имени Material, если названы оба. Имя Material по способу `map-first`
|
|
67
|
-
* берёт пару из перечня, а без пары — шрифт; по способу `font` — шрифт сразу.
|
|
67
|
+
* берёт пару из перечня, а без пары — шрифт; по способу `font` — шрифт сразу. Имя кита, которое шрифт
|
|
68
|
+
* нарисовать не может (`ico-plus`, `docBox`), и по способу `font` рисуется рисунком кита: иначе в
|
|
69
|
+
* значке стоит текст имени. Имя кита, совпавшее с лигатурой (`search`), по `font` — шрифт. Материальный рисунок
|
|
68
70
|
* для пары выбирает уже сам значок по признаку набора над собой: это не дело разбора.
|
|
69
71
|
*
|
|
70
72
|
* `null` — значку нечего рисовать.
|
|
@@ -151,7 +153,16 @@ declare const RT_ICON_SYMBOL_ID_PREFIX: string;
|
|
|
151
153
|
declare const RT_ICON_MATERIAL_SYMBOL_ID_PREFIX: string;
|
|
152
154
|
/** Префикс `id` залитых рисунков материального набора: у имени их два, и `id` у каждого свой. */
|
|
153
155
|
declare const RT_ICON_MATERIAL_FILL_SYMBOL_ID_PREFIX: string;
|
|
154
|
-
/**
|
|
156
|
+
/**
|
|
157
|
+
* Атрибут, который переключает только набор рисунков значков: токенов набора оформления он не
|
|
158
|
+
* несёт. Ставится на контейнер со значением `'material'` там, где значки нужны материальные, а
|
|
159
|
+
* остальной вид — свой.
|
|
160
|
+
*/
|
|
161
|
+
declare const RT_ICON_PRESET_ATTRIBUTE: string;
|
|
162
|
+
/**
|
|
163
|
+
* Селекторы, которыми страница объявляет материальный набор значков: признак набора оформления
|
|
164
|
+
* и признак одних значков. Стили читают только первые два — токены под третьим не меняются.
|
|
165
|
+
*/
|
|
155
166
|
declare const RT_ICON_MATERIAL_PRESET_SELECTOR: string;
|
|
156
167
|
|
|
157
168
|
/**
|
|
@@ -242,5 +253,5 @@ declare const iconMaterialMap: readonly IRtIconMaterialEntry[];
|
|
|
242
253
|
*/
|
|
243
254
|
declare const iconMaterialDrawn: ReadonlySet<IRtIcon.Name>;
|
|
244
255
|
|
|
245
|
-
export { CATEGORY_ORDER, ICON_CATEGORY_RULES, RT_ICONS_BASE_URL, RT_ICONS_MATERIAL_BASE_URL, RT_ICON_GLYPH_STRATEGY, RT_ICON_MATERIAL_FILL_SYMBOL_ID_PREFIX, RT_ICON_MATERIAL_PRESET_SELECTOR, RT_ICON_MATERIAL_SYMBOL_ID_PREFIX, RT_ICON_SPRITE_ID, RT_ICON_SYMBOL_ID_PREFIX, RtIconComponent, RtIconFontService, RtIconRegistry, categoryOf, iconMaterialDrawn, iconMaterialMap, isKitIconName, materialPairOf, provideRtIcons, resolveIconGlyph };
|
|
256
|
+
export { CATEGORY_ORDER, ICON_CATEGORY_RULES, RT_ICONS_BASE_URL, RT_ICONS_MATERIAL_BASE_URL, RT_ICON_GLYPH_STRATEGY, RT_ICON_MATERIAL_FILL_SYMBOL_ID_PREFIX, RT_ICON_MATERIAL_PRESET_SELECTOR, RT_ICON_MATERIAL_SYMBOL_ID_PREFIX, RT_ICON_PRESET_ATTRIBUTE, RT_ICON_SPRITE_ID, RT_ICON_SYMBOL_ID_PREFIX, RtIconComponent, RtIconFontService, RtIconRegistry, categoryOf, iconMaterialDrawn, iconMaterialMap, isKitIconName, materialPairOf, provideRtIcons, resolveIconGlyph };
|
|
246
257
|
export type { IRtIconMaterialEntry, IRtIconsOptions, TIconCategory };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { AfterViewInit, OnDestroy, Signal, ElementRef, WritableSignal, InputSignal, OutputEmitterRef, InputSignalWithTransform, ModelSignal, TemplateRef, PipeTransform } from '@angular/core';
|
|
3
|
-
import { RtFormControlBase, IQuillDelta, TRtKitLabelMap, IRtAiRunStatus, IRtTimeline, IRtThreadList, IRtSideMenu } from '@rt-tools/ui-kit-v2';
|
|
3
|
+
import { RtFormControlBase, IQuillDelta, TRtKitLabelMap, IRtAiRunStatus, IRtTimeline, IRtIcon, IRtThreadList, IRtSideMenu } from '@rt-tools/ui-kit-v2';
|
|
4
4
|
import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
|
|
5
5
|
import { FormGroup, FormControl } from '@angular/forms';
|
|
6
6
|
|
|
@@ -633,6 +633,8 @@ declare class RtAiChatComponent {
|
|
|
633
633
|
protected readonly emptyTitleText: Signal<string>;
|
|
634
634
|
protected readonly emptyDescriptionText: Signal<string>;
|
|
635
635
|
protected readonly disclaimerText: Signal<string>;
|
|
636
|
+
/** Значение признака одних значков на шапке: только материальный набор, свой — без признака. */
|
|
637
|
+
protected readonly headerIconSign: Signal<IRtIcon.Preset | null>;
|
|
636
638
|
protected readonly hasThreads: Signal<boolean>;
|
|
637
639
|
/** Список бесед стоит колонкой слева: на весь экран, когда беседы есть. */
|
|
638
640
|
protected readonly isThreadColumn: Signal<boolean>;
|
|
@@ -668,10 +670,20 @@ declare class RtAiChatComponent {
|
|
|
668
670
|
readonly threadsLoading: InputSignalWithTransform<boolean, BooleanInput>;
|
|
669
671
|
readonly threadsFetching: InputSignalWithTransform<boolean, BooleanInput>;
|
|
670
672
|
readonly threadsHasMore: InputSignalWithTransform<boolean, BooleanInput>;
|
|
673
|
+
/** Значки декоративных строк-превью пустого списка бесед, по строке на значок. */
|
|
674
|
+
readonly emptyPreviewIcons: InputSignal<readonly IRtIcon.Name[]>;
|
|
671
675
|
/** Кнопка «Full screen» в шапке. */
|
|
672
676
|
readonly fullScreenable: InputSignalWithTransform<boolean, BooleanInput>;
|
|
673
677
|
/** Кнопка закрытия в шапке. */
|
|
674
678
|
readonly closable: InputSignalWithTransform<boolean, BooleanInput>;
|
|
679
|
+
/** Кнопка копирования текста под вопросом и в строке действий ответа. */
|
|
680
|
+
readonly copyable: InputSignalWithTransform<boolean, BooleanInput>;
|
|
681
|
+
/**
|
|
682
|
+
* Набор рисунков значков шапки. `'material'` ставит на шапку признак одних значков
|
|
683
|
+
* `data-rt-icon-preset`: значки рисуются материальным набором, токены и остальной вид — свои.
|
|
684
|
+
* Признак значок читает после первой отрисовки, поэтому вход задаётся до неё. Дефолт `'base'`.
|
|
685
|
+
*/
|
|
686
|
+
readonly headerIconPreset: InputSignal<IRtIcon.Preset>;
|
|
675
687
|
/** Черновик в поле сообщения. */
|
|
676
688
|
readonly draft: ModelSignal<string>;
|
|
677
689
|
/** Список бесед открыт на месте ленты. */
|
|
@@ -703,25 +715,30 @@ declare class RtAiChatComponent {
|
|
|
703
715
|
protected onSearchThreads(query: string): void;
|
|
704
716
|
protected onSelectThread(id: IRtThreadList.TRowId): void;
|
|
705
717
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtAiChatComponent, never>;
|
|
706
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtAiChatComponent, "rt-ai-chat", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "messages": { "alias": "messages"; "required": false; "isSignal": true; }; "suggestions": { "alias": "suggestions"; "required": false; "isSignal": true; }; "emptyTitle": { "alias": "emptyTitle"; "required": false; "isSignal": true; }; "emptyDescription": { "alias": "emptyDescription"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disclaimer": { "alias": "disclaimer"; "required": false; "isSignal": true; }; "sending": { "alias": "sending"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "threads": { "alias": "threads"; "required": false; "isSignal": true; }; "activeThreadId": { "alias": "activeThreadId"; "required": false; "isSignal": true; }; "threadsLoading": { "alias": "threadsLoading"; "required": false; "isSignal": true; }; "threadsFetching": { "alias": "threadsFetching"; "required": false; "isSignal": true; }; "threadsHasMore": { "alias": "threadsHasMore"; "required": false; "isSignal": true; }; "fullScreenable": { "alias": "fullScreenable"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; "draft": { "alias": "draft"; "required": false; "isSignal": true; }; "threadsOpen": { "alias": "threadsOpen"; "required": false; "isSignal": true; }; "fullScreen": { "alias": "fullScreen"; "required": false; "isSignal": true; }; }, { "draft": "draftChange"; "threadsOpen": "threadsOpenChange"; "fullScreen": "fullScreenChange"; "send": "send"; "stop": "stop"; "retry": "retry"; "newThread": "newThread"; "closed": "closed"; "selectThread": "selectThread"; "deleteThread": "deleteThread"; "searchThreads": "searchThreads"; "loadMoreThreads": "loadMoreThreads"; "feedbackChange": "feedbackChange"; }, ["extraTemplate"], never, true, never>;
|
|
718
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtAiChatComponent, "rt-ai-chat", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "messages": { "alias": "messages"; "required": false; "isSignal": true; }; "suggestions": { "alias": "suggestions"; "required": false; "isSignal": true; }; "emptyTitle": { "alias": "emptyTitle"; "required": false; "isSignal": true; }; "emptyDescription": { "alias": "emptyDescription"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disclaimer": { "alias": "disclaimer"; "required": false; "isSignal": true; }; "sending": { "alias": "sending"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "threads": { "alias": "threads"; "required": false; "isSignal": true; }; "activeThreadId": { "alias": "activeThreadId"; "required": false; "isSignal": true; }; "threadsLoading": { "alias": "threadsLoading"; "required": false; "isSignal": true; }; "threadsFetching": { "alias": "threadsFetching"; "required": false; "isSignal": true; }; "threadsHasMore": { "alias": "threadsHasMore"; "required": false; "isSignal": true; }; "emptyPreviewIcons": { "alias": "emptyPreviewIcons"; "required": false; "isSignal": true; }; "fullScreenable": { "alias": "fullScreenable"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; "copyable": { "alias": "copyable"; "required": false; "isSignal": true; }; "headerIconPreset": { "alias": "headerIconPreset"; "required": false; "isSignal": true; }; "draft": { "alias": "draft"; "required": false; "isSignal": true; }; "threadsOpen": { "alias": "threadsOpen"; "required": false; "isSignal": true; }; "fullScreen": { "alias": "fullScreen"; "required": false; "isSignal": true; }; }, { "draft": "draftChange"; "threadsOpen": "threadsOpenChange"; "fullScreen": "fullScreenChange"; "send": "send"; "stop": "stop"; "retry": "retry"; "newThread": "newThread"; "closed": "closed"; "selectThread": "selectThread"; "deleteThread": "deleteThread"; "searchThreads": "searchThreads"; "loadMoreThreads": "loadMoreThreads"; "feedbackChange": "feedbackChange"; }, ["extraTemplate"], never, true, never>;
|
|
707
719
|
}
|
|
708
720
|
|
|
709
721
|
/**
|
|
710
|
-
* Ответ ассистента в ленте `rt-ai-chat`: ход работы, текст в markdown, вложения приложения и
|
|
711
|
-
*
|
|
722
|
+
* Ответ ассистента в ленте `rt-ai-chat`: ход работы, текст в markdown, вложения приложения и строка
|
|
723
|
+
* действий — копирование и оценка. Строка появляется, когда текст дописан.
|
|
712
724
|
*/
|
|
713
725
|
declare class RtAiChatAnswerComponent {
|
|
714
726
|
protected readonly t: Signal<TRtKitLabelMap>;
|
|
715
|
-
|
|
727
|
+
/** Текст дописан: строка действий с копированием и оценкой. */
|
|
728
|
+
protected readonly isWritten: Signal<boolean>;
|
|
729
|
+
/** Что копирует кнопка: видимый текст ответа без знаков разметки — без хода работы и вложений. */
|
|
730
|
+
protected readonly plainText: Signal<string>;
|
|
716
731
|
readonly message: InputSignal<IRtAiChat.Message>;
|
|
717
732
|
/** Шаблон вложений ответа; `null` — вложений нет. */
|
|
718
733
|
readonly extra: InputSignal<TemplateRef<IRtAiChat.ExtraContext> | null>;
|
|
734
|
+
/** Кнопка копирования текста первой в строке действий. */
|
|
735
|
+
readonly copyable: InputSignalWithTransform<boolean, BooleanInput>;
|
|
719
736
|
/** Шаги хода работы раскрыты. */
|
|
720
737
|
readonly expanded: ModelSignal<boolean>;
|
|
721
738
|
/** Нажата оценка; повторное нажатие той же снимает её — решает родитель. */
|
|
722
739
|
readonly feedbackChange: OutputEmitterRef<Exclude<IRtAiChat.Feedback, null>>;
|
|
723
740
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtAiChatAnswerComponent, never>;
|
|
724
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtAiChatAnswerComponent, "rt-ai-chat-answer", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; "extra": { "alias": "extra"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; }, { "expanded": "expandedChange"; "feedbackChange": "feedbackChange"; }, never, never, true, never>;
|
|
741
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtAiChatAnswerComponent, "rt-ai-chat-answer", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; "extra": { "alias": "extra"; "required": false; "isSignal": true; }; "copyable": { "alias": "copyable"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; }, { "expanded": "expandedChange"; "feedbackChange": "feedbackChange"; }, never, never, true, never>;
|
|
725
742
|
}
|
|
726
743
|
|
|
727
744
|
/** Ключ текстовой расшифровки иконки статуса сообщения. */
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { TemplateRef, InputSignal, OnInit, Signal, InputSignalWithTransform, OutputEmitterRef } from '@angular/core';
|
|
3
3
|
import { FormControl } from '@angular/forms';
|
|
4
|
-
import {
|
|
4
|
+
import { IRtIcon, TRtKitLabelMap } from '@rt-tools/ui-kit-v2/core';
|
|
5
5
|
import * as i1 from '@rt-tools/ui-kit-v2/radius';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Модель `<rt-thread-list>`: один корневой неймспейс с префиксом `I`.
|
|
9
9
|
*/
|
|
10
|
+
|
|
10
11
|
declare namespace IRtThreadList {
|
|
11
12
|
/** Номер строки: список ведёт записи и с числовым ключом, и со строковым. */
|
|
12
13
|
type TRowId = number | string;
|
|
@@ -27,6 +28,12 @@ declare namespace IRtThreadList {
|
|
|
27
28
|
interface RowContext<TRow extends Row> {
|
|
28
29
|
$implicit: TRow;
|
|
29
30
|
}
|
|
31
|
+
/** Декоративная строка-превью пустого состояния. */
|
|
32
|
+
interface PreviewRow {
|
|
33
|
+
id: number;
|
|
34
|
+
icon: IRtIcon.Name;
|
|
35
|
+
offset: boolean;
|
|
36
|
+
}
|
|
30
37
|
}
|
|
31
38
|
|
|
32
39
|
/**
|
|
@@ -90,12 +97,8 @@ declare class RtThreadListComponent<TRow extends IRtThreadList.Row> implements O
|
|
|
90
97
|
protected readonly searchPlaceholderText: Signal<string>;
|
|
91
98
|
protected readonly emptyTitle: Signal<string>;
|
|
92
99
|
protected readonly skeletonRows: number[];
|
|
93
|
-
/** Декоративные строки-превью
|
|
94
|
-
protected readonly emptyPreviewRows: readonly
|
|
95
|
-
id: number;
|
|
96
|
-
icon: IRtIcon.Name;
|
|
97
|
-
offset: boolean;
|
|
98
|
-
}[];
|
|
100
|
+
/** Декоративные строки-превью пустого состояния: значок строки из `emptyPreviewIcons`, каждая вторая сдвинута. */
|
|
101
|
+
protected readonly emptyPreviewRows: Signal<readonly IRtThreadList.PreviewRow[]>;
|
|
99
102
|
protected readonly searchControl: FormControl<string>;
|
|
100
103
|
protected readonly rowTemplate: Signal<RtThreadListRowDirective<TRow> | undefined>;
|
|
101
104
|
protected readonly rowActionsTemplate: Signal<RtThreadListRowActionsDirective<TRow> | undefined>;
|
|
@@ -106,6 +109,8 @@ declare class RtThreadListComponent<TRow extends IRtThreadList.Row> implements O
|
|
|
106
109
|
/** Пусто — берётся переведённая подпись по умолчанию */
|
|
107
110
|
readonly searchPlaceholder: InputSignal<string>;
|
|
108
111
|
readonly emptyText: InputSignal<string>;
|
|
112
|
+
/** Значки декоративных строк-превью пустого состояния, по строке на значок */
|
|
113
|
+
readonly emptyPreviewIcons: InputSignal<readonly IRtIcon.Name[]>;
|
|
109
114
|
readonly loading: InputSignalWithTransform<boolean, boolean | string>;
|
|
110
115
|
readonly fetching: InputSignalWithTransform<boolean, boolean | string>;
|
|
111
116
|
readonly hasMore: InputSignalWithTransform<boolean, boolean | string>;
|
|
@@ -118,7 +123,7 @@ declare class RtThreadListComponent<TRow extends IRtThreadList.Row> implements O
|
|
|
118
123
|
protected onSelect(id: IRtThreadList.TRowId, event: MouseEvent): void;
|
|
119
124
|
protected onLoadMore(): void;
|
|
120
125
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtThreadListComponent<any>, never>;
|
|
121
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtThreadListComponent<any>, "rt-thread-list", never, { "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "activeId": { "alias": "activeId"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "fetching": { "alias": "fetching"; "required": false; "isSignal": true; }; "hasMore": { "alias": "hasMore"; "required": false; "isSignal": true; }; "filtersActive": { "alias": "filtersActive"; "required": false; "isSignal": true; }; }, { "selectRow": "selectRow"; "openInNewTab": "openInNewTab"; "searchChange": "searchChange"; "loadMore": "loadMore"; }, ["rowTemplate", "rowActionsTemplate", "filtersTemplate", "searchTemplate"], never, true, [{ directive: typeof i1.RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
|
|
126
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtThreadListComponent<any>, "rt-thread-list", never, { "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "activeId": { "alias": "activeId"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "emptyPreviewIcons": { "alias": "emptyPreviewIcons"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "fetching": { "alias": "fetching"; "required": false; "isSignal": true; }; "hasMore": { "alias": "hasMore"; "required": false; "isSignal": true; }; "filtersActive": { "alias": "filtersActive"; "required": false; "isSignal": true; }; }, { "selectRow": "selectRow"; "openInNewTab": "openInNewTab"; "searchChange": "searchChange"; "loadMore": "loadMore"; }, ["rowTemplate", "rowActionsTemplate", "filtersTemplate", "searchTemplate"], never, true, [{ directive: typeof i1.RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
|
|
122
127
|
}
|
|
123
128
|
|
|
124
129
|
export { IRtThreadList, RtThreadListComponent, RtThreadListFiltersDirective, RtThreadListRowActionsDirective, RtThreadListRowDirective, RtThreadListSearchDirective };
|
|
Binary file
|