@koobiq/components 21.0.1 → 21.1.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/badge/_badge-theme.scss +31 -0
- package/breadcrumbs/breadcrumbs.scss +5 -1
- package/checkbox/_checkbox-theme.scss +0 -17
- package/checkbox/checkbox-tokens.scss +0 -4
- package/code-block/_code-block-theme.scss +7 -6
- package/code-block/code-block-tokens.scss +8 -4
- package/code-block/code-block.scss +54 -32
- package/content-panel/content-panel-header.scss +2 -3
- package/content-panel/content-panel.scss +3 -0
- package/core/selection/pseudo-checkbox/pseudo-checkbox-tokens.scss +0 -2
- package/fesm2022/koobiq-components-accordion.mjs +4 -4
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-actions-panel.mjs +10 -2
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-app-switcher.mjs +1 -1
- package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +2 -2
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +2 -2
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +18 -8
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-clamped-text.mjs +78 -10
- package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +63 -379
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-content-panel.mjs +4 -4
- package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +300 -37
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +151 -60
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-divider.mjs +3 -3
- package/fesm2022/koobiq-components-divider.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +3 -3
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +17 -8
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +115 -36
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-flag.mjs +3 -3
- package/fesm2022/koobiq-components-flag.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +90 -27
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +2 -2
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +19 -2
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +76 -17
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +1 -1
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +3 -3
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +86 -25
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-notification-center.mjs +4 -4
- package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +116 -38
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +86 -7
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +41 -19
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-search-expandable.mjs +29 -17
- package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +49 -12
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +198 -186
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +49 -25
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +30 -11
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +1 -1
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +28 -11
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +2 -2
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +71 -16
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +2 -2
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +2 -2
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +25 -9
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +90 -17
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-top-bar.mjs +27 -7
- package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +4 -4
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +71 -27
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/file-upload/_file-upload-theme.scss +0 -12
- package/file-upload/file-upload-tokens.scss +0 -1
- package/file-upload/file-upload.scss +0 -1
- package/filter-bar/_filter-bar-theme.scss +7 -8
- package/filter-bar/filter-bar.scss +0 -1
- package/filter-bar/pipes/base-pipe.scss +36 -2
- package/filter-bar/pipes/pipe-multi-tree-select.scss +27 -0
- package/form-field/_fieldset-theme.scss +2 -7
- package/form-field/_form-field-theme.scss +9 -22
- package/form-field/_hint-theme.scss +20 -0
- package/form-field/fieldset-tokens.scss +0 -1
- package/form-field/fieldset.scss +0 -3
- package/form-field/form-field-tokens.scss +1 -1
- package/form-field/form-field.scss +9 -0
- package/form-field/hint-tokens.scss +3 -0
- package/modal/modal.scss +2 -0
- package/navbar/_navbar-item_vertical.scss +48 -2
- package/navbar/_navbar-theme.scss +11 -3
- package/navbar/navbar-item.scss +17 -0
- package/navbar/navbar-tokens.scss +3 -0
- package/package.json +4 -4
- package/popover/popover.scss +1 -1
- package/radio/_radio-theme.scss +0 -30
- package/radio/radio-tokens.scss +0 -2
- package/schematics/migrations/deprecated-icons/README.md +21 -5
- package/schematics/migrations/deprecated-icons/index.cjs +8 -22
- package/schematics/migrations/deprecated-icons/schema.json +1 -1
- package/schematics/migrations/icons-replacement/README.md +16 -2
- package/schematics/migrations/icons-replacement/index.cjs +18 -16
- package/schematics/migrations/icons-replacement/schema.json +12 -3
- package/schematics/migrations/new-icons-pack/README.md +37 -25
- package/schematics/migrations/new-icons-pack/index.cjs +22 -32
- package/schematics/migrations/new-icons-pack/replacement.json +2 -14
- package/schematics/migrations/new-icons-pack/schema.json +3 -3
- package/schematics/ng-add/index.cjs +4 -4
- package/schematics/utils/custom-data.cjs +64 -0
- package/schematics/utils/icon-migration.cjs +9 -3
- package/schematics/utils/messages.cjs +4 -0
- package/schematics/utils/package-config.cjs +19 -0
- package/select/select.scss +7 -0
- package/tabs/_tabs-common.scss +23 -0
- package/textarea/textarea-tokens.scss +4 -1
- package/toast/toast.component.scss +1 -0
- package/toggle/_toggle-theme.scss +0 -17
- package/tooltip/tooltip.scss +1 -1
- package/top-bar/top-bar-tokens.scss +1 -0
- package/top-bar/top-bar.scss +10 -0
- package/types/koobiq-components-accordion.d.ts +25 -0
- package/types/koobiq-components-button-toggle.d.ts +6 -0
- package/types/koobiq-components-checkbox.d.ts +30 -0
- package/types/koobiq-components-clamped-text.d.ts +16 -3
- package/types/koobiq-components-code-block.d.ts +17 -3
- package/types/koobiq-components-core.d.ts +226 -13
- package/types/koobiq-components-datepicker.d.ts +28 -1
- package/types/koobiq-components-divider.d.ts +28 -10
- package/types/koobiq-components-dropdown.d.ts +19 -0
- package/types/koobiq-components-filter-bar.d.ts +77 -4
- package/types/koobiq-components-flag.d.ts +18 -0
- package/types/koobiq-components-form-field.d.ts +87 -6
- package/types/koobiq-components-icon.d.ts +15 -0
- package/types/koobiq-components-inline-edit.d.ts +8 -1
- package/types/koobiq-components-input.d.ts +22 -3
- package/types/koobiq-components-list.d.ts +6 -0
- package/types/koobiq-components-modal.d.ts +7 -0
- package/types/koobiq-components-navbar.d.ts +71 -7
- package/types/koobiq-components-notification-center.d.ts +13 -0
- package/types/koobiq-components-overflow-items.d.ts +26 -2
- package/types/koobiq-components-popover.d.ts +38 -3
- package/types/koobiq-components-radio.d.ts +30 -0
- package/types/koobiq-components-search-expandable.d.ts +10 -0
- package/types/koobiq-components-select.d.ts +36 -4
- package/types/koobiq-components-sidepanel.d.ts +52 -1
- package/types/koobiq-components-splitter.d.ts +13 -4
- package/types/koobiq-components-tabs.d.ts +4 -0
- package/types/koobiq-components-tags.d.ts +6 -0
- package/types/koobiq-components-textarea.d.ts +9 -2
- package/types/koobiq-components-timepicker.d.ts +15 -0
- package/types/koobiq-components-toggle.d.ts +30 -0
- package/types/koobiq-components-tooltip.d.ts +55 -10
- package/types/koobiq-components-top-bar.d.ts +11 -3
- package/types/koobiq-components-tree-select.d.ts +12 -0
- package/types/koobiq-components-tree.d.ts +37 -2
|
@@ -14,8 +14,9 @@ type KbqSplitterOrientation = 'horizontal' | 'vertical';
|
|
|
14
14
|
*/
|
|
15
15
|
type KbqSplitterAppearance = 'divider' | 'transparent' | 'handle';
|
|
16
16
|
/**
|
|
17
|
-
* Size of a splitter panel: a number of pixels, a `<number>px` string,
|
|
18
|
-
*
|
|
17
|
+
* Size of a splitter panel: a number of pixels, a `<number>px` string, a `<number>%` share of the splitter's own
|
|
18
|
+
* size along the resize axis, or a `<number>vw` / `<number>vh` share of the viewport's width / height. A size in
|
|
19
|
+
* any other unit is ignored.
|
|
19
20
|
*/
|
|
20
21
|
type KbqSplitterSize = number | string;
|
|
21
22
|
/**
|
|
@@ -122,8 +123,8 @@ declare class KbqSplitterPanel implements KbqSplitterPanelRef {
|
|
|
122
123
|
*/
|
|
123
124
|
readonly id: InputSignal<string>;
|
|
124
125
|
/**
|
|
125
|
-
* Size the panel starts at, in pixels (`240`, `'240px'`)
|
|
126
|
-
* Panels that leave it unset share whatever the sized ones did not claim.
|
|
126
|
+
* Size the panel starts at, in pixels (`240`, `'240px'`), as a share of the splitter (`'30%'`) or as a share
|
|
127
|
+
* of the viewport (`'30vw'`, `'30vh'`). Panels that leave it unset share whatever the sized ones did not claim.
|
|
127
128
|
*/
|
|
128
129
|
readonly size: InputSignal<KbqSplitterSize | undefined>;
|
|
129
130
|
/** Smallest size the panel may be dragged to. Defaults to `0`. */
|
|
@@ -231,6 +232,7 @@ declare class KbqSplitter implements KbqSplitterGroup {
|
|
|
231
232
|
private readonly platform;
|
|
232
233
|
private readonly window;
|
|
233
234
|
private readonly resizeObserver;
|
|
235
|
+
private readonly viewportRuler;
|
|
234
236
|
private readonly directionality;
|
|
235
237
|
private readonly options;
|
|
236
238
|
/** Direction the panels are laid out in. */
|
|
@@ -255,6 +257,11 @@ declare class KbqSplitter implements KbqSplitterGroup {
|
|
|
255
257
|
protected readonly dragging: Signal<boolean>;
|
|
256
258
|
/** Splitter size along the resize axis, in pixels; `0` until the first measurement. */
|
|
257
259
|
private readonly containerSize;
|
|
260
|
+
/**
|
|
261
|
+
* Viewport size `vw` and `vh` resolve against, in pixels. Known from the start rather than after the first render:
|
|
262
|
+
* tracks resolved against a zero viewport would be what a nested splitter measures itself in.
|
|
263
|
+
*/
|
|
264
|
+
private readonly viewportSize;
|
|
258
265
|
/** Sizes and layout captured when the drag began; every move is measured against these, so clamping cannot drift. */
|
|
259
266
|
private dragSnapshot;
|
|
260
267
|
private readonly rtl;
|
|
@@ -324,6 +331,8 @@ declare class KbqSplitter implements KbqSplitterGroup {
|
|
|
324
331
|
handleSeparatorKeydown(index: number, event: KeyboardEvent): void;
|
|
325
332
|
/** @docs-private */
|
|
326
333
|
handleSeparatorDblClick(index: number): void;
|
|
334
|
+
/** Resolves a size in the units a panel understands into pixels, with `total` as the splitter's own size. */
|
|
335
|
+
private resolveSize;
|
|
327
336
|
/**
|
|
328
337
|
* Whether the panels are still the ones the drag was measured against.
|
|
329
338
|
*
|
|
@@ -60,6 +60,10 @@ declare abstract class KbqPaginatedTabHeader implements OnChanges, AfterContentC
|
|
|
60
60
|
disableScrollAfter: boolean;
|
|
61
61
|
/** Whether the tab list can be scrolled more towards the beginning of the tab label list. */
|
|
62
62
|
disableScrollBefore: boolean;
|
|
63
|
+
/** @docs-private */
|
|
64
|
+
protected overflowBefore: boolean;
|
|
65
|
+
/** @docs-private */
|
|
66
|
+
protected overflowAfter: boolean;
|
|
63
67
|
/**
|
|
64
68
|
* Whether pagination should be disabled. This can be used to avoid unnecessary
|
|
65
69
|
* layout recalculations if it's known that pagination won't be required.
|
|
@@ -241,6 +241,12 @@ declare class KbqTag extends KbqColorDirective implements IFocusableOption, OnCh
|
|
|
241
241
|
set disabled(value: boolean);
|
|
242
242
|
private readonly _disabled;
|
|
243
243
|
private readonly disabledState;
|
|
244
|
+
/**
|
|
245
|
+
* Value of the `disabled` attribute.
|
|
246
|
+
*
|
|
247
|
+
* @docs-private
|
|
248
|
+
*/
|
|
249
|
+
protected readonly disabledAttribute: _angular_core.Signal<true | null>;
|
|
244
250
|
/**
|
|
245
251
|
* Whether the tag is draggable.
|
|
246
252
|
*
|
|
@@ -64,6 +64,11 @@ declare class KbqTextarea implements KbqFormFieldControl<any>, OnInit, DoCheck,
|
|
|
64
64
|
* @docs-private
|
|
65
65
|
*/
|
|
66
66
|
readonly disabled: _angular_core.Signal<boolean>;
|
|
67
|
+
/**
|
|
68
|
+
* Whether the textarea is read-only: its value can be selected and copied, but not changed. A read-only
|
|
69
|
+
* textarea shows no placeholder. Defaults to `false`.
|
|
70
|
+
*/
|
|
71
|
+
readonly readonly: _angular_core.InputSignalWithTransform<boolean, string | boolean | null | undefined>;
|
|
67
72
|
/** @docs-private */
|
|
68
73
|
readonly idInput: _angular_core.InputSignal<string | undefined>;
|
|
69
74
|
/**
|
|
@@ -127,8 +132,10 @@ declare class KbqTextarea implements KbqFormFieldControl<any>, OnInit, DoCheck,
|
|
|
127
132
|
private valueAccessor;
|
|
128
133
|
/** Measured once the textarea has been rendered; the growth arithmetic is in terms of these. */
|
|
129
134
|
private readonly lineHeight;
|
|
130
|
-
private readonly
|
|
135
|
+
private readonly verticalPadding;
|
|
131
136
|
private readonly rowsCount;
|
|
137
|
+
/** The `min-height` growth wrote last, so that turning growth off removes it and keeps a consumer's own. */
|
|
138
|
+
private grownMinHeight;
|
|
132
139
|
constructor();
|
|
133
140
|
ngOnInit(): void;
|
|
134
141
|
ngDoCheck(): void;
|
|
@@ -166,7 +173,7 @@ declare class KbqTextarea implements KbqFormFieldControl<any>, OnInit, DoCheck,
|
|
|
166
173
|
protected isBadInput(): boolean;
|
|
167
174
|
private isEmpty;
|
|
168
175
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTextarea, never>;
|
|
169
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTextarea, "textarea[kbqTextarea]", ["kbqTextarea"], { "canGrow": { "alias": "canGrow"; "required": false; "isSignal": true; }; "maxRows": { "alias": "maxRows"; "required": false; "isSignal": true; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "idInput": { "alias": "id"; "required": false; "isSignal": true; }; "placeholderInput": { "alias": "placeholder"; "required": false; "isSignal": true; }; "freeRowsHeight": { "alias": "freeRowsHeight"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "valueInput": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.KbqNativeScrollbar; inputs: {}; outputs: {}; }]>;
|
|
176
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTextarea, "textarea[kbqTextarea]", ["kbqTextarea"], { "canGrow": { "alias": "canGrow"; "required": false; "isSignal": true; }; "maxRows": { "alias": "maxRows"; "required": false; "isSignal": true; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "idInput": { "alias": "id"; "required": false; "isSignal": true; }; "placeholderInput": { "alias": "placeholder"; "required": false; "isSignal": true; }; "freeRowsHeight": { "alias": "freeRowsHeight"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "valueInput": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.KbqNativeScrollbar; inputs: {}; outputs: {}; }]>;
|
|
170
177
|
}
|
|
171
178
|
|
|
172
179
|
declare class KbqTextareaModule {
|
|
@@ -139,6 +139,12 @@ declare class KbqTimepicker<D> implements KbqFormFieldControl<D>, ControlValueAc
|
|
|
139
139
|
get timeFormatPlaceholder(): string;
|
|
140
140
|
private readonly validator;
|
|
141
141
|
private lastValueValid;
|
|
142
|
+
/**
|
|
143
|
+
* Whether a drag started in this field, so that its drop here is the field's own text.
|
|
144
|
+
*
|
|
145
|
+
* @docs-private
|
|
146
|
+
*/
|
|
147
|
+
protected draggingOwnText: boolean;
|
|
142
148
|
private control?;
|
|
143
149
|
private separator;
|
|
144
150
|
/** Start of the part a caret key selects on a timer, until the selection lands there. */
|
|
@@ -154,6 +160,13 @@ declare class KbqTimepicker<D> implements KbqFormFieldControl<D>, ControlValueAc
|
|
|
154
160
|
focusChanged(isFocused: boolean): void;
|
|
155
161
|
onBlur(): void;
|
|
156
162
|
onPaste($event: any): void;
|
|
163
|
+
/**
|
|
164
|
+
* Takes dropped text the way a paste is taken. The browser would insert it at the pointer, with no event
|
|
165
|
+
* the parsing listens to.
|
|
166
|
+
*
|
|
167
|
+
* @docs-private
|
|
168
|
+
*/
|
|
169
|
+
protected onDrop(event: DragEvent): void;
|
|
157
170
|
onInput: () => void;
|
|
158
171
|
/**
|
|
159
172
|
* Implemented as part of KbqFormFieldControl.
|
|
@@ -168,6 +181,8 @@ declare class KbqTimepicker<D> implements KbqFormFieldControl<D>, ControlValueAc
|
|
|
168
181
|
registerOnChange(fn: (value: D) => void): void;
|
|
169
182
|
registerOnTouched(fn: () => void): void;
|
|
170
183
|
setDisabledState(isDisabled: boolean): void;
|
|
184
|
+
/** Takes a pasted or dropped text as the whole value; one that is not a time is rejected as a letter key is. */
|
|
185
|
+
private replaceText;
|
|
171
186
|
private formatUserPaste;
|
|
172
187
|
private formatUserInput;
|
|
173
188
|
private replaceSymbols;
|
|
@@ -34,6 +34,18 @@ declare class KbqToggleComponent extends KbqColorDirective implements OnChanges,
|
|
|
34
34
|
readonly errorStateMatcher: _angular_core.InputSignal<ErrorStateMatcher | undefined>;
|
|
35
35
|
/** Error text projected into the toggle. */
|
|
36
36
|
private readonly error;
|
|
37
|
+
/**
|
|
38
|
+
* Whether the projected `kbq-error` is shown. Without one, nothing is rendered under the label.
|
|
39
|
+
*
|
|
40
|
+
* @docs-private
|
|
41
|
+
*/
|
|
42
|
+
protected readonly showError: Signal<boolean>;
|
|
43
|
+
/**
|
|
44
|
+
* Value of `aria-invalid` of the native input: set whenever the toggle is painted as invalid.
|
|
45
|
+
*
|
|
46
|
+
* @docs-private
|
|
47
|
+
*/
|
|
48
|
+
protected readonly ariaInvalid: Signal<"true" | null>;
|
|
37
49
|
readonly big: _angular_core.InputSignal<boolean>;
|
|
38
50
|
readonly inputElement: Signal<ElementRef<HTMLInputElement>>;
|
|
39
51
|
readonly labelPosition: _angular_core.InputSignal<ToggleLabelPositionType>;
|
|
@@ -103,6 +115,24 @@ declare class KbqToggleComponent extends KbqColorDirective implements OnChanges,
|
|
|
103
115
|
onInputClick(event: MouseEvent): void;
|
|
104
116
|
/** Id of the element wrapping the projected hint, referenced by the input's `aria-describedby`. */
|
|
105
117
|
protected get hintId(): string;
|
|
118
|
+
/**
|
|
119
|
+
* Id of the element wrapping the projected `kbq-error`.
|
|
120
|
+
*
|
|
121
|
+
* @docs-private
|
|
122
|
+
*/
|
|
123
|
+
protected get errorId(): string;
|
|
124
|
+
/**
|
|
125
|
+
* Id of the label text, which names the native input unless `aria-label` or `aria-labelledby` is given.
|
|
126
|
+
*
|
|
127
|
+
* @docs-private
|
|
128
|
+
*/
|
|
129
|
+
protected get labelId(): string;
|
|
130
|
+
/**
|
|
131
|
+
* The error, while it is shown, and the hint, in the order a form field gives them.
|
|
132
|
+
*
|
|
133
|
+
* @docs-private
|
|
134
|
+
*/
|
|
135
|
+
protected get ariaDescribedBy(): string;
|
|
106
136
|
/** A native checkbox only reacts to Space, so Enter is forwarded to it manually. */
|
|
107
137
|
protected onEnterKeydown(event: Event): void;
|
|
108
138
|
private setTransitionCheckState;
|
|
@@ -1,11 +1,33 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken,
|
|
2
|
+
import { InjectionToken, AfterViewInit, ElementRef, OnChanges, OnDestroy, InputSignal, Renderer2, WritableSignal, TemplateRef, EventEmitter, SimpleChanges, Type } from '@angular/core';
|
|
3
3
|
import * as rxjs from 'rxjs';
|
|
4
4
|
import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';
|
|
5
5
|
import { BooleanInput } from '@angular/cdk/coercion';
|
|
6
6
|
import { ScrollStrategy, Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';
|
|
7
7
|
import { KbqPopUp, KbqEnumValues, KbqPopUpTrigger, KbqParentPopup, KbqPopUpPlacementValues, KbqComponentColors } from '@koobiq/components/core';
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* Default options inherited by every tooltip in the token's scope. A bound input still wins: `kbqTooltipOffset`
|
|
11
|
+
* overrides `offset`, and a binding that changes to `undefined` restores the inherited value.
|
|
12
|
+
*/
|
|
13
|
+
interface KbqTooltipDefaultOptions {
|
|
14
|
+
/**
|
|
15
|
+
* Distance in pixels between the tooltip and its trigger, used while `kbqTooltipOffset` is not bound.
|
|
16
|
+
* `null` keeps the gap of the stylesheet.
|
|
17
|
+
*/
|
|
18
|
+
readonly offset?: number | null;
|
|
19
|
+
/** Extra CSS class applied to the tooltip's overlay panel. */
|
|
20
|
+
readonly panelClass?: string | string[];
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Default options for the tooltips in the token's scope. Provided in root with an empty-object factory, so
|
|
24
|
+
* behavior stays unchanged unless a component tree — e.g. a navbar, so its items' tooltips inherit the
|
|
25
|
+
* horizontal-navbar panel class and a zero offset — provides its own values.
|
|
26
|
+
*
|
|
27
|
+
* @docs-private
|
|
28
|
+
*/
|
|
29
|
+
declare const KBQ_TOOLTIP_DEFAULT_OPTIONS: InjectionToken<KbqTooltipDefaultOptions>;
|
|
30
|
+
|
|
9
31
|
/**
|
|
10
32
|
* Default value of the `kbqTooltipSingleInstance` input. Provide `false` at the application level to
|
|
11
33
|
* globally disable the "only one tooltip is visible at a time" behavior.
|
|
@@ -100,9 +122,10 @@ declare class KbqTooltipDelayTracker {
|
|
|
100
122
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqTooltipDelayTracker, never>;
|
|
101
123
|
static ɵprov: i0.ɵɵInjectableDeclaration<KbqTooltipDelayTracker>;
|
|
102
124
|
}
|
|
103
|
-
declare class KbqTooltipComponent extends KbqPopUp {
|
|
125
|
+
declare class KbqTooltipComponent extends KbqPopUp implements AfterViewInit {
|
|
104
126
|
private readonly delayTracker;
|
|
105
127
|
prefix: string;
|
|
128
|
+
protected arrowCenterInset: number;
|
|
106
129
|
/**
|
|
107
130
|
* Id rendered on the tooltip element; the trigger points its `aria-describedby` at it.
|
|
108
131
|
*
|
|
@@ -115,6 +138,9 @@ declare class KbqTooltipComponent extends KbqPopUp {
|
|
|
115
138
|
private readonly tooltipElement;
|
|
116
139
|
/** The tooltip panel, which the base pop-up measures and decorates instead of the host. */
|
|
117
140
|
get elementRef(): ElementRef<HTMLElement>;
|
|
141
|
+
ngAfterViewInit(): void;
|
|
142
|
+
/** Recalculates from the settled geometry: the entrance starts from `scale(0)`, an empty measurement box. */
|
|
143
|
+
protected afterShowAnimation(): void;
|
|
118
144
|
show(delay: number): void;
|
|
119
145
|
/**
|
|
120
146
|
* Applies `offset` as the gap between the tooltip and its trigger. Called both on show and whenever the
|
|
@@ -153,6 +179,11 @@ declare class KbqTooltipTrigger extends KbqPopUpTrigger<KbqTooltipComponent> imp
|
|
|
153
179
|
/** Registry holding the single tooltip that is currently visible. */
|
|
154
180
|
private readonly tooltipRegistry;
|
|
155
181
|
private readonly injectedScrollStrategy;
|
|
182
|
+
/**
|
|
183
|
+
* Default options inherited from the token's scope: the initial `offset` and the overlay `panelClass`,
|
|
184
|
+
* and the value a `kbqTooltipOffset` binding changed to `undefined` restores.
|
|
185
|
+
*/
|
|
186
|
+
private readonly defaultOptions;
|
|
156
187
|
/**
|
|
157
188
|
* Per-instance override for the scroll strategy, taking precedence over `KBQ_TOOLTIP_SCROLL_STRATEGY`
|
|
158
189
|
* when set. An input rather than a DI override so it applies to this tooltip instance only, without
|
|
@@ -290,8 +321,15 @@ declare class KbqTooltipTrigger extends KbqPopUpTrigger<KbqTooltipComponent> imp
|
|
|
290
321
|
/** Input (`kbqTooltipArrow`) — whether to render the tooltip's arrow/pointer. Defaults to `false`. */
|
|
291
322
|
arrow: boolean;
|
|
292
323
|
/**
|
|
293
|
-
* Input (`
|
|
294
|
-
*
|
|
324
|
+
* Input (`kbqTooltipArrowCentered`) — centers the arrow on the trigger while preserving the panel placement.
|
|
325
|
+
* Requires a visible arrow. Defaults to `false`.
|
|
326
|
+
*/
|
|
327
|
+
arrowCentered: boolean;
|
|
328
|
+
/**
|
|
329
|
+
* Input (`kbqTooltipOffset`) — distance in pixels between the tooltip and its trigger. `null` keeps
|
|
330
|
+
* the gap of the stylesheet. Defaults to the `offset` of {@link KBQ_TOOLTIP_DEFAULT_OPTIONS}, when a
|
|
331
|
+
* provider in scope set one. Inside a provider scope such as the navbar's, `null`/`undefined` restores
|
|
332
|
+
* that inherited default.
|
|
295
333
|
*/
|
|
296
334
|
offset: number | null;
|
|
297
335
|
/** Output (`kbqPlacementChange`) that emits the new placement whenever the tooltip repositions. */
|
|
@@ -321,9 +359,9 @@ declare class KbqTooltipTrigger extends KbqPopUpTrigger<KbqTooltipComponent> imp
|
|
|
321
359
|
*/
|
|
322
360
|
header: string | TemplateRef<unknown>;
|
|
323
361
|
/**
|
|
324
|
-
* Hands each bound input to its member, and pushes a later change of `modifier`, `header`, `arrow
|
|
325
|
-
* `offset` — plain fields — into an open tooltip, which would otherwise show stale data
|
|
326
|
-
* show/hide cycle.
|
|
362
|
+
* Hands each bound input to its member, and pushes a later change of `modifier`, `header`, `arrow`,
|
|
363
|
+
* `arrowCentered` or `offset` — plain fields — into an open tooltip, which would otherwise show stale data
|
|
364
|
+
* until the next show/hide cycle.
|
|
327
365
|
*/
|
|
328
366
|
ngOnChanges(changes: SimpleChanges): void;
|
|
329
367
|
/**
|
|
@@ -390,6 +428,8 @@ declare class KbqTooltipTrigger extends KbqPopUpTrigger<KbqTooltipComponent> imp
|
|
|
390
428
|
/** @docs-private */
|
|
391
429
|
readonly arrowInput: i0.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
|
|
392
430
|
/** @docs-private */
|
|
431
|
+
readonly arrowCenteredInput: i0.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
|
|
432
|
+
/** @docs-private */
|
|
393
433
|
readonly offsetInput: i0.InputSignalWithTransform<number | undefined, string | number | null | undefined>;
|
|
394
434
|
/** @docs-private */
|
|
395
435
|
readonly disabledInput: i0.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
|
|
@@ -576,6 +616,11 @@ declare class KbqTooltipTrigger extends KbqPopUpTrigger<KbqTooltipComponent> imp
|
|
|
576
616
|
width: number;
|
|
577
617
|
height: number;
|
|
578
618
|
};
|
|
619
|
+
/** @docs-private */
|
|
620
|
+
protected getOriginCenter(): {
|
|
621
|
+
x: number;
|
|
622
|
+
y: number;
|
|
623
|
+
};
|
|
579
624
|
/**
|
|
580
625
|
* Rectangle the tooltip is anchored to: the caret or selection of the field — spanning the whole field
|
|
581
626
|
* vertically when it anchors to the field — or the host element's box when the caret cannot be located or
|
|
@@ -597,7 +642,7 @@ declare class KbqTooltipTrigger extends KbqPopUpTrigger<KbqTooltipComponent> imp
|
|
|
597
642
|
/** @docs-private */
|
|
598
643
|
protected applyRelativeToPointer(): void;
|
|
599
644
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqTooltipTrigger, never>;
|
|
600
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTooltipTrigger, "[kbqTooltip]", ["kbqTooltip"], { "scrollStrategyOverride": { "alias": "kbqTooltipScrollStrategy"; "required": false; "isSignal": true; }; "forDisabledComponent": { "alias": "forDisabledComponent"; "required": false; "isSignal": true; }; "ignoreTooltipPointerEvents": { "alias": "ignoreTooltipPointerEvents"; "required": false; "isSignal": true; }; "singleInstance": { "alias": "kbqTooltipSingleInstance"; "required": false; "isSignal": true; }; "triggerInput": { "alias": "kbqTrigger"; "required": false; "isSignal": true; }; "hideWithTimeoutInput": { "alias": "hideWithTimeout"; "required": false; "isSignal": true; }; "enterDelayInput": { "alias": "kbqEnterDelay"; "required": false; "isSignal": true; }; "leaveDelayInput": { "alias": "kbqLeaveDelay"; "required": false; "isSignal": true; }; "relativeToPointerInput": { "alias": "kbqRelativeToPointer"; "required": false; "isSignal": true; }; "relativeToCaretInput": { "alias": "kbqRelativeToCaret"; "required": false; "isSignal": true; }; "relativeToCaretVerticalInput": { "alias": "kbqRelativeToCaretVertical"; "required": false; "isSignal": true; }; "contentInput": { "alias": "kbqTooltip"; "required": false; "isSignal": true; }; "headerInput": { "alias": "kbqTooltipHeader"; "required": false; "isSignal": true; }; "modifierInput": { "alias": "kbqTooltipModifier"; "required": false; "isSignal": true; }; "contextInput": { "alias": "kbqTooltipContext"; "required": false; "isSignal": true; }; "customClassInput": { "alias": "kbqTooltipClass"; "required": false; "isSignal": true; }; "colorInput": { "alias": "kbqTooltipColor"; "required": false; "isSignal": true; }; "arrowInput": { "alias": "kbqTooltipArrow"; "required": false; "isSignal": true; }; "offsetInput": { "alias": "kbqTooltipOffset"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "kbqTooltipDisabled"; "required": false; "isSignal": true; }; "tooltipPlacementPriorityInput": { "alias": "kbqPlacementPriority"; "required": false; "isSignal": true; }; "tooltipPlacementInput": { "alias": "kbqPlacement"; "required": false; "isSignal": true; }; "tooltipVisibleInput": { "alias": "kbqVisible"; "required": false; "isSignal": true; }; }, { "placementChangeOutput": "kbqPlacementChange"; "visibleChangeOutput": "kbqVisibleChange"; }, never, never, true, never>;
|
|
645
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTooltipTrigger, "[kbqTooltip]", ["kbqTooltip"], { "scrollStrategyOverride": { "alias": "kbqTooltipScrollStrategy"; "required": false; "isSignal": true; }; "forDisabledComponent": { "alias": "forDisabledComponent"; "required": false; "isSignal": true; }; "ignoreTooltipPointerEvents": { "alias": "ignoreTooltipPointerEvents"; "required": false; "isSignal": true; }; "singleInstance": { "alias": "kbqTooltipSingleInstance"; "required": false; "isSignal": true; }; "triggerInput": { "alias": "kbqTrigger"; "required": false; "isSignal": true; }; "hideWithTimeoutInput": { "alias": "hideWithTimeout"; "required": false; "isSignal": true; }; "enterDelayInput": { "alias": "kbqEnterDelay"; "required": false; "isSignal": true; }; "leaveDelayInput": { "alias": "kbqLeaveDelay"; "required": false; "isSignal": true; }; "relativeToPointerInput": { "alias": "kbqRelativeToPointer"; "required": false; "isSignal": true; }; "relativeToCaretInput": { "alias": "kbqRelativeToCaret"; "required": false; "isSignal": true; }; "relativeToCaretVerticalInput": { "alias": "kbqRelativeToCaretVertical"; "required": false; "isSignal": true; }; "contentInput": { "alias": "kbqTooltip"; "required": false; "isSignal": true; }; "headerInput": { "alias": "kbqTooltipHeader"; "required": false; "isSignal": true; }; "modifierInput": { "alias": "kbqTooltipModifier"; "required": false; "isSignal": true; }; "contextInput": { "alias": "kbqTooltipContext"; "required": false; "isSignal": true; }; "customClassInput": { "alias": "kbqTooltipClass"; "required": false; "isSignal": true; }; "colorInput": { "alias": "kbqTooltipColor"; "required": false; "isSignal": true; }; "arrowInput": { "alias": "kbqTooltipArrow"; "required": false; "isSignal": true; }; "arrowCenteredInput": { "alias": "kbqTooltipArrowCentered"; "required": false; "isSignal": true; }; "offsetInput": { "alias": "kbqTooltipOffset"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "kbqTooltipDisabled"; "required": false; "isSignal": true; }; "tooltipPlacementPriorityInput": { "alias": "kbqPlacementPriority"; "required": false; "isSignal": true; }; "tooltipPlacementInput": { "alias": "kbqPlacement"; "required": false; "isSignal": true; }; "tooltipVisibleInput": { "alias": "kbqVisible"; "required": false; "isSignal": true; }; }, { "placementChangeOutput": "kbqPlacementChange"; "visibleChangeOutput": "kbqVisibleChange"; }, never, never, true, never>;
|
|
601
646
|
}
|
|
602
647
|
|
|
603
648
|
declare class KbqToolTipModule {
|
|
@@ -606,5 +651,5 @@ declare class KbqToolTipModule {
|
|
|
606
651
|
static ɵinj: i0.ɵɵInjectorDeclaration<KbqToolTipModule>;
|
|
607
652
|
}
|
|
608
653
|
|
|
609
|
-
export { KBQ_TOOLTIP_INSTANT_SHOW_WINDOW, KBQ_TOOLTIP_OPEN_TIME, KBQ_TOOLTIP_OPEN_TIME_PROVIDER, KBQ_TOOLTIP_SCROLL_STRATEGY, KBQ_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER, KBQ_TOOLTIP_SINGLE_INSTANCE_DEFAULT, KbqToolTipModule, KbqTooltipComponent, KbqTooltipDelayTracker, KbqTooltipRegistry, KbqTooltipTrigger, MIN_TIME_FOR_DELAY, TooltipModifier, kbqTooltipScrollStrategyFactory };
|
|
610
|
-
export type { KbqCaretVerticalAnchor, KbqExclusiveTooltip };
|
|
654
|
+
export { KBQ_TOOLTIP_DEFAULT_OPTIONS, KBQ_TOOLTIP_INSTANT_SHOW_WINDOW, KBQ_TOOLTIP_OPEN_TIME, KBQ_TOOLTIP_OPEN_TIME_PROVIDER, KBQ_TOOLTIP_SCROLL_STRATEGY, KBQ_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER, KBQ_TOOLTIP_SINGLE_INSTANCE_DEFAULT, KbqToolTipModule, KbqTooltipComponent, KbqTooltipDelayTracker, KbqTooltipRegistry, KbqTooltipTrigger, MIN_TIME_FOR_DELAY, TooltipModifier, kbqTooltipScrollStrategyFactory };
|
|
655
|
+
export type { KbqCaretVerticalAnchor, KbqExclusiveTooltip, KbqTooltipDefaultOptions };
|
|
@@ -19,6 +19,14 @@ declare class KbqTopBarContainer {
|
|
|
19
19
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqTopBarContainer, never>;
|
|
20
20
|
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTopBarContainer, "[kbqTopBarContainer]", never, { "placement": { "alias": "placement"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Marks the page title of `kbq-top-bar` and sizes it like `size="big"` breadcrumbs, so the bar keeps
|
|
24
|
+
* its height and the text its baseline when a page swaps the trail for a title.
|
|
25
|
+
*/
|
|
26
|
+
declare class KbqTopBarTitle {
|
|
27
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KbqTopBarTitle, never>;
|
|
28
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTopBarTitle, "[kbqTopBarTitle]", never, {}, {}, never, never, true, never>;
|
|
29
|
+
}
|
|
22
30
|
/**
|
|
23
31
|
* Toolbar row for the top of a page or a panel. It expects two `[kbqTopBarContainer]` slots —
|
|
24
32
|
* `placement="start"` and `placement="end"` — with an optional `[kbqTopBarSpacer]` between them.
|
|
@@ -50,12 +58,12 @@ declare class KbqTopBar {
|
|
|
50
58
|
|
|
51
59
|
/**
|
|
52
60
|
* Kept for applications that still declare NgModules. Standalone code imports `KbqTopBar`,
|
|
53
|
-
* `KbqTopBarContainer` and `
|
|
61
|
+
* `KbqTopBarContainer`, `KbqTopBarSpacer` and `KbqTopBarTitle` directly instead.
|
|
54
62
|
*/
|
|
55
63
|
declare class KbqTopBarModule {
|
|
56
64
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqTopBarModule, never>;
|
|
57
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<KbqTopBarModule, never, [typeof KbqTopBar, typeof KbqTopBarContainer, typeof KbqTopBarSpacer], [typeof KbqTopBar, typeof KbqTopBarContainer, typeof KbqTopBarSpacer]>;
|
|
65
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<KbqTopBarModule, never, [typeof KbqTopBar, typeof KbqTopBarContainer, typeof KbqTopBarSpacer, typeof KbqTopBarTitle], [typeof KbqTopBar, typeof KbqTopBarContainer, typeof KbqTopBarSpacer, typeof KbqTopBarTitle]>;
|
|
58
66
|
static ɵinj: i0.ɵɵInjectorDeclaration<KbqTopBarModule>;
|
|
59
67
|
}
|
|
60
68
|
|
|
61
|
-
export { KbqTopBar, KbqTopBarContainer, KbqTopBarModule, KbqTopBarSpacer };
|
|
69
|
+
export { KbqTopBar, KbqTopBarContainer, KbqTopBarModule, KbqTopBarSpacer, KbqTopBarTitle };
|
|
@@ -269,6 +269,12 @@ declare class KbqTreeSelect<T = any, K = T> extends KbqAbstractSelect implements
|
|
|
269
269
|
* control.
|
|
270
270
|
*/
|
|
271
271
|
readonly ariaLabelledby: InputSignal<string | null>;
|
|
272
|
+
/**
|
|
273
|
+
* Id of the element that names the control: its own `aria-labelledby`, or else the form-field label.
|
|
274
|
+
*
|
|
275
|
+
* @docs-private
|
|
276
|
+
*/
|
|
277
|
+
protected readonly resolvedAriaLabelledby: _angular_core.Signal<string | null>;
|
|
272
278
|
/** Object used to control when error messages are shown. */
|
|
273
279
|
readonly errorStateMatcher: InputSignal<ErrorStateMatcher | undefined>;
|
|
274
280
|
/**
|
|
@@ -343,6 +349,12 @@ declare class KbqTreeSelect<T = any, K = T> extends KbqAbstractSelect implements
|
|
|
343
349
|
private readonly resolvedTabIndex;
|
|
344
350
|
private readonly resolvedAriaLabel;
|
|
345
351
|
/** @docs-private */
|
|
352
|
+
protected readonly disabledAttribute: _angular_core.Signal<true | null>;
|
|
353
|
+
/** @docs-private */
|
|
354
|
+
protected readonly disabledClass: _angular_core.Signal<boolean>;
|
|
355
|
+
/** @docs-private */
|
|
356
|
+
protected readonly invalidClass: _angular_core.Signal<boolean>;
|
|
357
|
+
/** @docs-private */
|
|
346
358
|
readonly selectAllHandlerInput: _angular_core.InputSignalWithTransform<((event: KeyboardEvent, select: KbqTreeSelect<T, K>) => void) | undefined, ((event: KeyboardEvent, select: KbqTreeSelect<T, K>) => void) | undefined>;
|
|
347
359
|
/**
|
|
348
360
|
* Function for handling the combination Ctrl + A (select all). By default, the internal handler is used.
|
|
@@ -27,8 +27,17 @@ interface TreeControl<T, K = T> {
|
|
|
27
27
|
/** The expansion model: the keys of the expanded data nodes, which are the nodes themselves by default. */
|
|
28
28
|
expansionModel: SelectionModel<K>;
|
|
29
29
|
filterModel: SelectionModel<T>;
|
|
30
|
+
/** The query of the active filter, or `null` when no filter is active. */
|
|
31
|
+
readonly filterQuery: string | null;
|
|
32
|
+
/** Whether a filter is active: the filter model holds at least one node, or a query is set. */
|
|
33
|
+
readonly hasActiveFilter: boolean;
|
|
30
34
|
/** Gives the key a data node is expanded by. Without it the node object is its own key. */
|
|
31
35
|
trackBy?: (dataNode: T) => K;
|
|
36
|
+
/**
|
|
37
|
+
* Stream with the filter query or result. Published for backward compatibility.
|
|
38
|
+
*
|
|
39
|
+
* @deprecated Use `filterQuery` for the query string and `filterModel` for the filter state. Will be removed in 22.0.0.
|
|
40
|
+
*/
|
|
32
41
|
filterValue: BehaviorSubject<T[] | string | null>;
|
|
33
42
|
/** Get depth of a given data node, return the level number. This is for flat tree node. */
|
|
34
43
|
getLevel(dataNode: T): number;
|
|
@@ -74,7 +83,19 @@ declare abstract class BaseTreeControl<T, K = T> implements TreeControl<T, K> {
|
|
|
74
83
|
*/
|
|
75
84
|
trackBy?: (dataNode: T) => K;
|
|
76
85
|
filterModel: SelectionModel<T>;
|
|
86
|
+
/**
|
|
87
|
+
* Stream with the filter query or result. Published for backward compatibility.
|
|
88
|
+
*
|
|
89
|
+
* @deprecated Use `filterQuery` for the query string and `filterModel` for the filter state. Will be removed in 22.0.0.
|
|
90
|
+
*/
|
|
77
91
|
filterValue: BehaviorSubject<string | T[] | null>;
|
|
92
|
+
/**
|
|
93
|
+
* The query of the active filter, or `null` when no filter is active. Defaults to `null`.
|
|
94
|
+
* Set by `FlatTreeControl.applyFilter`; stays `null` on controls without filtering, such as `NestedTreeControl`.
|
|
95
|
+
*/
|
|
96
|
+
filterQuery: string | null;
|
|
97
|
+
/** Whether a filter is active: the filter model holds at least one node, or a query is set. */
|
|
98
|
+
get hasActiveFilter(): boolean;
|
|
78
99
|
/** Get depth of a given data node, return the level number. This is for flat tree node. */
|
|
79
100
|
getLevel: (dataNode: T) => number;
|
|
80
101
|
/**
|
|
@@ -115,13 +136,15 @@ interface FlatTreeControlFilter<T> {
|
|
|
115
136
|
}
|
|
116
137
|
/**
|
|
117
138
|
* Default first stage of the filter pipeline: keeps the nodes whose view value matches the query.
|
|
139
|
+
* An optional `matches` predicate keeps a node matched by anything else, e.g. by another field.
|
|
118
140
|
*
|
|
119
141
|
* @docs-private
|
|
120
142
|
*/
|
|
121
143
|
declare class FilterByViewValue<T, K = T> implements FlatTreeControlFilter<T> {
|
|
122
144
|
private control;
|
|
145
|
+
private matches?;
|
|
123
146
|
result: T[];
|
|
124
|
-
constructor(control: FlatTreeControl<T, K
|
|
147
|
+
constructor(control: FlatTreeControl<T, K>, matches?: ((node: T, query: string | null) => boolean) | undefined);
|
|
125
148
|
handle(value: string | null): T[];
|
|
126
149
|
}
|
|
127
150
|
/**
|
|
@@ -208,6 +231,15 @@ declare class FlatTreeControl<T, K = T> extends BaseTreeControl<T, K> {
|
|
|
208
231
|
*/
|
|
209
232
|
getParents(node: T, result?: T[]): T[];
|
|
210
233
|
hasValue(value: string): T | undefined;
|
|
234
|
+
/** Filters nodes by a query and expands the ancestors of every match. An empty string resets the filter. */
|
|
235
|
+
applyFilter(value?: string | null): void;
|
|
236
|
+
/** Clears the active filter and restores the expansion state saved before filtering. */
|
|
237
|
+
resetFilter(): void;
|
|
238
|
+
/**
|
|
239
|
+
* Filters nodes by a query and expands the ancestors of every match.
|
|
240
|
+
*
|
|
241
|
+
* @deprecated Use `applyFilter` instead. Will be removed in 22.0.0.
|
|
242
|
+
*/
|
|
211
243
|
filterNodes(value?: string | null): void;
|
|
212
244
|
private updateFilterValue;
|
|
213
245
|
private saveExpansionState;
|
|
@@ -745,6 +777,8 @@ declare class KbqTreeOption<T = any> extends KbqTreeNode<T> implements OnInit, A
|
|
|
745
777
|
set value(value: any);
|
|
746
778
|
private _value;
|
|
747
779
|
/** @docs-private */
|
|
780
|
+
readonly viewValueInput: _angular_core.InputSignal<string | undefined>;
|
|
781
|
+
/** @docs-private */
|
|
748
782
|
readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, string | boolean | null | undefined>;
|
|
749
783
|
/** Whether the option is disabled: through its own input, the tree, or the tree control's `isDisabled`. */
|
|
750
784
|
get disabled(): boolean;
|
|
@@ -794,6 +828,7 @@ declare class KbqTreeOption<T = any> extends KbqTreeNode<T> implements OnInit, A
|
|
|
794
828
|
private readonly selectedState;
|
|
795
829
|
get id(): string;
|
|
796
830
|
private _id;
|
|
831
|
+
/** The displayed value used by type-ahead. Falls back to the text of the option. */
|
|
797
832
|
get viewValue(): string;
|
|
798
833
|
get hasFocus(): boolean;
|
|
799
834
|
set hasFocus(value: boolean);
|
|
@@ -867,7 +902,7 @@ declare class KbqTreeOption<T = any> extends KbqTreeNode<T> implements OnInit, A
|
|
|
867
902
|
private toAriaChecked;
|
|
868
903
|
private resolvePredicates;
|
|
869
904
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeOption<any>, never>;
|
|
870
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqTreeOption<any>, "kbq-tree-option", ["kbqTreeOption"], { "checkboxThirdState": { "alias": "checkboxThirdState"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "selectAllRow": { "alias": "selectAllRow"; "required": false; "isSignal": true; }; "showCheckboxInput": { "alias": "showCheckbox"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "onSelectionChange": "onSelectionChange"; }, ["toggleElementDirective", "toggleElementComponent", "pseudoCheckbox", "actionButton", "tooltipTriggerQuery", "dropdownTriggerQuery"], ["kbq-tree-node-toggle, [kbq-tree-node-toggle], [kbqTreeNodeToggle]", "kbq-pseudo-checkbox", "kbq-checkbox", "[kbq-icon]", "kbq-progress-spinner", "*", "kbq-option-action"], true, never>;
|
|
905
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqTreeOption<any>, "kbq-tree-option", ["kbqTreeOption"], { "checkboxThirdState": { "alias": "checkboxThirdState"; "required": false; "isSignal": true; }; "viewValueInput": { "alias": "viewValue"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "selectAllRow": { "alias": "selectAllRow"; "required": false; "isSignal": true; }; "showCheckboxInput": { "alias": "showCheckbox"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "onSelectionChange": "onSelectionChange"; }, ["toggleElementDirective", "toggleElementComponent", "pseudoCheckbox", "actionButton", "tooltipTriggerQuery", "dropdownTriggerQuery"], ["kbq-tree-node-toggle, [kbq-tree-node-toggle], [kbqTreeNodeToggle]", "kbq-pseudo-checkbox", "kbq-checkbox", "[kbq-icon]", "kbq-progress-spinner", "*", "kbq-option-action"], true, never>;
|
|
871
906
|
}
|
|
872
907
|
|
|
873
908
|
declare const KBQ_SELECTION_TREE_VALUE_ACCESSOR: Provider;
|