@koobiq/components 20.1.0 → 20.3.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/accordion/_accordion-theme.scss +6 -2
- package/accordion/accordion-tokens.scss +3 -0
- package/accordion/{accordion-trigger.component.scss → accordion-trigger.scss} +10 -0
- package/accordion/accordion.scss +71 -0
- package/accordion/index.d.ts +264 -121
- package/actions-panel/index.d.ts +25 -13
- package/alert/_alert-theme.scss +14 -0
- package/alert/alert.component.scss +24 -13
- package/alert/index.d.ts +63 -29
- package/app-switcher/app-switcher-dropdown-app.scss +7 -5
- package/app-switcher/app-switcher-dropdown-site.scss +6 -4
- package/app-switcher/index.d.ts +41 -4
- package/app-switcher/kbq-app-switcher-list-item.scss +6 -8
- package/autocomplete/autocomplete.scss +2 -1
- package/autocomplete/index.d.ts +58 -37
- package/badge/index.d.ts +2 -3
- package/breadcrumbs/index.d.ts +1 -1
- package/button/index.d.ts +2 -2
- package/button-toggle/button-toggle-tokens.scss +2 -0
- package/button-toggle/button-toggle.scss +9 -0
- package/button-toggle/index.d.ts +5 -0
- package/checkbox/index.d.ts +33 -29
- package/clamped-text/index.d.ts +3 -2
- package/code-block/index.d.ts +24 -19
- package/content-panel/index.d.ts +1 -1
- package/core/index.d.ts +1217 -186
- package/core/option/_action-container-mixins.scss +28 -0
- package/core/option/_option-theme.scss +24 -0
- package/core/option/action.scss +7 -0
- package/core/styles/_core.scss +2 -0
- package/core/styles/_koobiq-theme.scss +2 -0
- package/core/styles/_tokens.scss +1 -0
- package/core/styles/common/_animation.scss +31 -24
- package/core/styles/common/_connected-overlay.scss +39 -0
- package/core/styles/common/_select.scss +19 -2
- package/core/styles/common/_tokens.scss +0 -9
- package/core/styles/theming/_index.scss +0 -1
- package/core/styles/theming/_theming.scss +34 -5
- package/datepicker/index.d.ts +46 -15
- package/dl/dl.scss +26 -0
- package/dl/index.d.ts +8 -1
- package/dropdown/_dropdown-theme.scss +28 -2
- package/dropdown/dropdown-item.scss +29 -0
- package/dropdown/dropdown-tokens.scss +2 -1
- package/dropdown/dropdown.scss +16 -1
- package/dropdown/index.d.ts +331 -17
- package/dynamic-translation/index.d.ts +1 -1
- package/fesm2022/koobiq-components-accordion.mjs +480 -317
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-actions-panel.mjs +57 -46
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-alert.mjs +98 -58
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-app-switcher.mjs +233 -38
- package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
- package/fesm2022/koobiq-components-autocomplete.mjs +89 -52
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +18 -17
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +25 -25
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +17 -12
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +25 -25
- package/fesm2022/koobiq-components-checkbox.mjs +69 -92
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-clamped-text.mjs +18 -13
- package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +56 -69
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-content-panel.mjs +29 -29
- package/fesm2022/koobiq-components-core.mjs +2485 -735
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +168 -126
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-divider.mjs +7 -7
- package/fesm2022/koobiq-components-dl.mjs +23 -15
- package/fesm2022/koobiq-components-dl.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +814 -136
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-dynamic-translation.mjs +13 -13
- package/fesm2022/koobiq-components-ellipsis-center.mjs +7 -7
- package/fesm2022/koobiq-components-empty-state.mjs +19 -19
- package/fesm2022/koobiq-components-file-upload.mjs +74 -42
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +783 -199
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-flag.mjs +7 -7
- package/fesm2022/koobiq-components-form-field.mjs +350 -162
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +52 -25
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +175 -28
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +41 -24
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-link.mjs +8 -8
- package/fesm2022/koobiq-components-list.mjs +657 -143
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +16 -16
- package/fesm2022/koobiq-components-markdown.mjs +14 -11
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +59 -35
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +177 -67
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-notification-center.mjs +40 -24
- package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +16 -17
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +31 -21
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-bar.mjs +13 -13
- package/fesm2022/koobiq-components-progress-spinner.mjs +13 -13
- package/fesm2022/koobiq-components-radio.mjs +10 -10
- package/fesm2022/koobiq-components-resizer.mjs +33 -14
- package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
- package/fesm2022/koobiq-components-scrollbar.mjs +10 -10
- package/fesm2022/koobiq-components-search-expandable.mjs +49 -14
- package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +450 -146
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +14 -14
- package/fesm2022/koobiq-components-sidepanel.mjs +26 -26
- package/fesm2022/koobiq-components-skeleton.mjs +10 -10
- package/fesm2022/koobiq-components-split-button.mjs +10 -17
- package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +17 -17
- package/fesm2022/koobiq-components-table.mjs +15 -13
- package/fesm2022/koobiq-components-table.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +80 -68
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +283 -122
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +13 -8
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +29 -24
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +61 -30
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +77 -42
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +7 -7
- package/fesm2022/koobiq-components-toast.mjs +51 -26
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +72 -64
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +219 -28
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-top-bar.mjs +13 -13
- package/fesm2022/koobiq-components-tree-select.mjs +222 -80
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +302 -81
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/fesm2022/koobiq-components-username.mjs +27 -27
- package/file-upload/index.d.ts +25 -6
- package/file-upload/multiple-file-upload.component.scss +14 -0
- package/filter-bar/_filter-bar-theme.scss +0 -10
- package/filter-bar/filter-bar-tokens.scss +3 -0
- package/filter-bar/filters.scss +3 -2
- package/filter-bar/index.d.ts +281 -9
- package/filter-bar/pipes/base-pipe.scss +0 -11
- package/filter-bar/pipes/pipe-input.scss +10 -0
- package/filter-bar/pipes/pipe-multi-tree-select.scss +0 -6
- package/filter-bar/pipes/pipe-multiselect.scss +0 -6
- package/filter-bar/pipes/pipe-tree-select.scss +0 -6
- package/form-field/_form-field-theme.scss +76 -20
- package/form-field/fieldset.scss +10 -0
- package/form-field/form-field-tokens.scss +15 -1
- package/form-field/form-field.scss +15 -19
- package/form-field/index.d.ts +147 -65
- package/icon/icon-button.scss +3 -1
- package/icon/index.d.ts +45 -7
- package/inline-edit/index.d.ts +57 -4
- package/inline-edit/inline-edit.scss +10 -0
- package/input/index.d.ts +17 -2
- package/list/_list-theme.scss +42 -10
- package/list/index.d.ts +326 -79
- package/list/list-tokens.scss +43 -8
- package/list/list.scss +186 -12
- package/markdown/index.d.ts +1 -1
- package/modal/index.d.ts +21 -4
- package/modal/modal-tokens.scss +1 -1
- package/navbar/_navbar-item_vertical.scss +7 -5
- package/navbar/index.d.ts +54 -5
- package/navbar/navbar-brand.scss +23 -7
- package/navbar/vertical-navbar.scss +6 -0
- package/notification-center/index.d.ts +2 -1
- package/notification-center/notification-item.scss +6 -0
- package/package.json +3 -6
- package/popover/index.d.ts +2 -2
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/prebuilt-themes/theme.css +1 -1
- package/resizer/index.d.ts +12 -0
- package/schematics/collection.json +10 -0
- package/schematics/migrations/alert-signals/README.md +64 -0
- package/schematics/migrations/alert-signals/data.js +70 -0
- package/schematics/migrations/alert-signals/index.js +350 -0
- package/schematics/migrations/alert-signals/schema.json +20 -0
- package/schematics/migrations/autocomplete-panel-width-auto/README.md +68 -0
- package/schematics/migrations/autocomplete-panel-width-auto/index.js +70 -0
- package/schematics/migrations/autocomplete-panel-width-auto/schema.json +15 -0
- package/schematics/migrations/deprecated-icons/README.md +29 -4
- package/schematics/migrations/deprecated-icons/data.js +7 -0
- package/schematics/migrations/deprecated-icons/index.js +62 -35
- package/schematics/migrations/filter-bar-signals/README.md +1 -1
- package/schematics/migrations/new-icons-pack/README.md +37 -2
- package/schematics/migrations/new-icons-pack/data.js +8 -0
- package/schematics/migrations/new-icons-pack/index.js +144 -53
- package/schematics/migrations.json +11 -1
- package/schematics/ng-add/index.js +3 -3
- package/schematics/utils/angular-parsing.js +41 -14
- package/schematics/utils/ast.js +31 -0
- package/schematics/utils/icon-migration.js +530 -0
- package/schematics/utils/typescript.js +44 -0
- package/scrollbar/index.d.ts +1 -1
- package/search-expandable/index.d.ts +3 -0
- package/select/index.d.ts +212 -40
- package/select/select-tokens.scss +0 -1
- package/select/select.scss +0 -2
- package/splitter/index.d.ts +1 -1
- package/table/_table-theme.scss +4 -0
- package/table/index.d.ts +2 -1
- package/table/table.scss +8 -0
- package/tabs/_tabs-common.scss +60 -31
- package/tabs/_tabs-theme.scss +12 -0
- package/tabs/index.d.ts +2 -2
- package/tabs/tab-header.scss +14 -0
- package/tabs/tab-nav-bar.scss +4 -0
- package/tabs/tabs-tokens.scss +1 -0
- package/tags/index.d.ts +128 -29
- package/textarea/index.d.ts +5 -0
- package/time-range/index.d.ts +1 -1
- package/timepicker/index.d.ts +4 -0
- package/timezone/index.d.ts +10 -8
- package/toast/index.d.ts +26 -3
- package/toggle/index.d.ts +34 -14
- package/tooltip/index.d.ts +119 -7
- package/tree/_tree-theme.scss +25 -5
- package/tree/index.d.ts +71 -3
- package/tree/tree-option.scss +2 -8
- package/tree-select/_tree-select-theme.scss +22 -0
- package/tree-select/index.d.ts +127 -36
- package/accordion/accordion.component.scss +0 -50
- package/core/styles/_tokens.kbq.import.scss +0 -4
- package/core/styles/theming/_components-theming.scss +0 -1927
- package/filter-bar/pipes/pipe-select.scss +0 -5
- package/overflow-items/overflow-items.scss +0 -20
package/tree-select/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { InjectionToken,
|
|
2
|
+
import { InjectionToken, AfterContentInit, AfterViewInit, OnDestroy, OnInit, DoCheck, ElementRef, ChangeDetectorRef, QueryList, TemplateRef, EventEmitter, Provider } from '@angular/core';
|
|
3
3
|
import * as _angular_cdk_overlay_module_d from '@angular/cdk/overlay-module.d';
|
|
4
4
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
5
5
|
import * as i1 from '@angular/cdk/overlay';
|
|
6
6
|
import { ConnectedPosition, CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
|
7
7
|
import { ControlValueAccessor, NgForm, FormGroupDirective, NgControl } from '@angular/forms';
|
|
8
8
|
import * as i5 from '@koobiq/components/core';
|
|
9
|
-
import { KbqAbstractSelect, CanUpdateErrorState, ErrorStateMatcher, KbqSelectTrigger, KbqSelectMatcher, KbqSelectSearch, KbqSelectAllEvent, KbqComponentColors } from '@koobiq/components/core';
|
|
9
|
+
import { KbqPanelWidth, KbqPanelMinWidth, KbqPanelMaxWidth, KbqPanelMaxHeight, KbqAbstractSelect, CanUpdateErrorState, KbqSiblingPopup, ErrorStateMatcher, KbqSelectTrigger, KbqSelectMatcher, KbqSelectSearch, KbqSelectAllEvent, KbqComponentColors } from '@koobiq/components/core';
|
|
10
10
|
import * as i9 from '@koobiq/components/form-field';
|
|
11
11
|
import { KbqFormFieldControl, KbqCleaner } from '@koobiq/components/form-field';
|
|
12
12
|
import * as i4 from '@koobiq/components/tags';
|
|
@@ -24,19 +24,32 @@ type KbqTreeSelectTriggerValue = {
|
|
|
24
24
|
value: string;
|
|
25
25
|
viewValue: string;
|
|
26
26
|
};
|
|
27
|
-
/**
|
|
28
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Tree select panel width type.
|
|
29
|
+
* @deprecated Use `KbqPanelWidth` from `@koobiq/components/core` instead.
|
|
30
|
+
*/
|
|
31
|
+
type KbqTreeSelectPanelWidth = KbqPanelWidth;
|
|
29
32
|
/** Options for the `kbq-tree-select` that can be configured using the `KBQ_TREE_SELECT_OPTIONS` injection token. */
|
|
30
33
|
type KbqTreeSelectOptions = Partial<{
|
|
31
34
|
/**
|
|
32
35
|
* Width of the panel. If set to `auto`, the panel will match the trigger width.
|
|
33
36
|
* If set to null or an empty string, the panel will grow to match the longest option's text.
|
|
34
37
|
*/
|
|
35
|
-
panelWidth:
|
|
38
|
+
panelWidth: KbqPanelWidth;
|
|
36
39
|
/**
|
|
37
40
|
* Minimum width of the panel. If minWidth is larger than window width or property set to null, it will be ignored.
|
|
38
41
|
*/
|
|
39
|
-
panelMinWidth:
|
|
42
|
+
panelMinWidth: KbqPanelMinWidth;
|
|
43
|
+
/**
|
|
44
|
+
* Maximum width of the panel. Caps growth by content only — it never overrides the trigger width or an
|
|
45
|
+
* explicit `panelWidth`. If null, the `--kbq-panel-size-width-max` token applies.
|
|
46
|
+
*/
|
|
47
|
+
panelMaxWidth: KbqPanelMaxWidth;
|
|
48
|
+
/**
|
|
49
|
+
* Maximum height of the panel's scrollable option list. Does not include the search field or the
|
|
50
|
+
* footer. If null, the `--kbq-select-panel-size-max-height` token applies.
|
|
51
|
+
*/
|
|
52
|
+
panelMaxHeight: KbqPanelMaxHeight;
|
|
40
53
|
/**
|
|
41
54
|
* Whether to enable hiding search by default if options is less than minimum.
|
|
42
55
|
*
|
|
@@ -52,11 +65,21 @@ declare const KBQ_TREE_SELECT_OPTIONS: InjectionToken<Partial<{
|
|
|
52
65
|
* Width of the panel. If set to `auto`, the panel will match the trigger width.
|
|
53
66
|
* If set to null or an empty string, the panel will grow to match the longest option's text.
|
|
54
67
|
*/
|
|
55
|
-
panelWidth:
|
|
68
|
+
panelWidth: KbqPanelWidth;
|
|
56
69
|
/**
|
|
57
70
|
* Minimum width of the panel. If minWidth is larger than window width or property set to null, it will be ignored.
|
|
58
71
|
*/
|
|
59
|
-
panelMinWidth:
|
|
72
|
+
panelMinWidth: KbqPanelMinWidth;
|
|
73
|
+
/**
|
|
74
|
+
* Maximum width of the panel. Caps growth by content only — it never overrides the trigger width or an
|
|
75
|
+
* explicit `panelWidth`. If null, the `--kbq-panel-size-width-max` token applies.
|
|
76
|
+
*/
|
|
77
|
+
panelMaxWidth: KbqPanelMaxWidth;
|
|
78
|
+
/**
|
|
79
|
+
* Maximum height of the panel's scrollable option list. Does not include the search field or the
|
|
80
|
+
* footer. If null, the `--kbq-select-panel-size-max-height` token applies.
|
|
81
|
+
*/
|
|
82
|
+
panelMaxHeight: KbqPanelMaxHeight;
|
|
60
83
|
/**
|
|
61
84
|
* Whether to enable hiding search by default if options is less than minimum.
|
|
62
85
|
*
|
|
@@ -76,7 +99,7 @@ declare class KbqTreeSelectChange {
|
|
|
76
99
|
values?: unknown[] | undefined;
|
|
77
100
|
constructor(source: KbqTreeSelect, value: any, isUserInput?: boolean, values?: unknown[] | undefined);
|
|
78
101
|
}
|
|
79
|
-
declare class KbqTreeSelect extends KbqAbstractSelect implements AfterContentInit, AfterViewInit, OnDestroy, OnInit, DoCheck, ControlValueAccessor, KbqFormFieldControl<KbqTreeOption>, CanUpdateErrorState {
|
|
102
|
+
declare class KbqTreeSelect extends KbqAbstractSelect implements AfterContentInit, AfterViewInit, OnDestroy, OnInit, DoCheck, ControlValueAccessor, KbqFormFieldControl<KbqTreeOption>, CanUpdateErrorState, KbqSiblingPopup {
|
|
80
103
|
elementRef: ElementRef<HTMLElement>;
|
|
81
104
|
readonly changeDetectorRef: ChangeDetectorRef;
|
|
82
105
|
private readonly ngZone;
|
|
@@ -115,16 +138,25 @@ declare class KbqTreeSelect extends KbqAbstractSelect implements AfterContentIni
|
|
|
115
138
|
/** Strategy that will be used to handle scrolling while the select panel is open. */
|
|
116
139
|
scrollStrategy: _angular_cdk_overlay_module_d.ScrollStrategy;
|
|
117
140
|
/**
|
|
118
|
-
* The y-offset of the overlay panel in relation to the trigger
|
|
119
|
-
*
|
|
120
|
-
*
|
|
141
|
+
* The y-offset of the overlay panel in relation to the trigger.
|
|
142
|
+
*
|
|
143
|
+
* @deprecated noop. The trigger↔panel gap is now controlled by the `--kbq-connected-overlay-gap` CSS
|
|
144
|
+
* variable (transparent padding inside the pane via the `kbq-connected-overlay_below/_above` panel
|
|
145
|
+
* classes), not by a physical overlay offset — so setting this has no effect. Will be removed in 21.0.0.
|
|
121
146
|
*/
|
|
122
147
|
offsetY: number;
|
|
123
148
|
/**
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
*
|
|
149
|
+
* Minimum space to keep between the overlay and the viewport edge.
|
|
150
|
+
* At least `defaultOffsetY` so CDK's fit check — which runs before the `kbq-connected-overlay_below/_above`
|
|
151
|
+
* gap padding is applied to the pane — stays conservative enough to absorb that padding instead of
|
|
152
|
+
* letting the panel overflow the viewport by the size of the gap.
|
|
153
|
+
*/
|
|
154
|
+
protected readonly viewportMargin: number;
|
|
155
|
+
/**
|
|
156
|
+
* Opens the panel below the trigger, falling back to above it when it does not fit.
|
|
157
|
+
*
|
|
158
|
+
* A third position is appended at runtime by `updatePanelAnchor`: a multiline trigger that has grown
|
|
159
|
+
* taller than the panel gets it anchored to its first row and drawn over the rest of it.
|
|
128
160
|
*/
|
|
129
161
|
positions: ConnectedPosition[];
|
|
130
162
|
options: QueryList<KbqTreeOption>;
|
|
@@ -132,9 +164,16 @@ declare class KbqTreeSelect extends KbqAbstractSelect implements AfterContentIni
|
|
|
132
164
|
* Trigger - is a clickable field to open select dropdown panel
|
|
133
165
|
*/
|
|
134
166
|
readonly trigger: _angular_core.Signal<ElementRef<any>>;
|
|
135
|
-
|
|
167
|
+
/** Reference to the overlay panel element. */
|
|
168
|
+
readonly panel: _angular_core.Signal<ElementRef<any> | undefined>;
|
|
169
|
+
/** Scrollable option list inside the panel. */
|
|
170
|
+
protected readonly optionsContainer: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
|
|
136
171
|
overlayDir: CdkConnectedOverlay;
|
|
137
172
|
tags: QueryList<KbqTag>;
|
|
173
|
+
/**
|
|
174
|
+
* Reference to the optional cleaner element for clearing selection.
|
|
175
|
+
* @docs-private
|
|
176
|
+
*/
|
|
138
177
|
readonly cleaner: _angular_core.Signal<KbqCleaner | undefined>;
|
|
139
178
|
/** User-supplied override of the trigger element. */
|
|
140
179
|
readonly customTrigger: _angular_core.Signal<KbqSelectTrigger | undefined>;
|
|
@@ -143,7 +182,12 @@ declare class KbqTreeSelect extends KbqAbstractSelect implements AfterContentIni
|
|
|
143
182
|
readonly tree: _angular_core.Signal<KbqTreeSelection | undefined>;
|
|
144
183
|
readonly search: _angular_core.Signal<KbqSelectSearch | undefined>;
|
|
145
184
|
hiddenItemsText: string;
|
|
146
|
-
/**
|
|
185
|
+
/**
|
|
186
|
+
* Event emitted when the select panel has been toggled.
|
|
187
|
+
* Also serves as the `openedChange` member of the `KbqSiblingPopup` contract — a tooltip sharing
|
|
188
|
+
* this element's host reacts to it, so its emission timing (gated on `panelDoneAnimatingStream`, see
|
|
189
|
+
* `ngOnInit`) matters beyond this output's original consumers.
|
|
190
|
+
*/
|
|
147
191
|
readonly openedChange: EventEmitter<boolean>;
|
|
148
192
|
/** Event emitted when the select has been opened. */
|
|
149
193
|
readonly openedStream: Observable<void>;
|
|
@@ -152,8 +196,8 @@ declare class KbqTreeSelect extends KbqAbstractSelect implements AfterContentIni
|
|
|
152
196
|
/** Event emitted when the selected value has been changed by the user. */
|
|
153
197
|
readonly selectionChange: _angular_core.OutputEmitterRef<KbqTreeSelectChange>;
|
|
154
198
|
/**
|
|
155
|
-
* Event emitted
|
|
156
|
-
*
|
|
199
|
+
* Event emitted whenever the tree's `selectAllOptions()` runs — a click on the `selectAll` master
|
|
200
|
+
* checkbox, the Ctrl/Cmd + A shortcut, or a custom `selectAllHandler` that delegates to it.
|
|
157
201
|
*/
|
|
158
202
|
readonly onSelectAll: _angular_core.OutputEmitterRef<KbqSelectAllEvent<KbqTreeOption, KbqTreeSelect>>;
|
|
159
203
|
/**
|
|
@@ -196,6 +240,15 @@ declare class KbqTreeSelect extends KbqAbstractSelect implements AfterContentIni
|
|
|
196
240
|
private _autoSelect;
|
|
197
241
|
/** When `true`, a repeated Ctrl/Cmd+A deselects all options. Off by default (Ctrl+A only selects). */
|
|
198
242
|
readonly selectAllToggle: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
243
|
+
/**
|
|
244
|
+
* Whether to render the "select all" master checkbox above the tree. Multiple selection only.
|
|
245
|
+
*
|
|
246
|
+
* The row acts on the nodes the user can actually toggle — enabled and selectable. Without a search
|
|
247
|
+
* query that covers the whole data set, collapsed branches included; while a query is active it
|
|
248
|
+
* covers only the matches. Enabling it also makes Ctrl/Cmd + A a two-way toggle, so the shortcut and
|
|
249
|
+
* the checkbox never disagree (`selectAllToggle` is implied).
|
|
250
|
+
*/
|
|
251
|
+
readonly selectAll: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
199
252
|
get value(): any;
|
|
200
253
|
get id(): string;
|
|
201
254
|
set id(value: string);
|
|
@@ -222,22 +275,39 @@ declare class KbqTreeSelect extends KbqAbstractSelect implements AfterContentIni
|
|
|
222
275
|
/** Whether multiple choice is enabled or not. True if multiple or multiline */
|
|
223
276
|
get multiSelection(): boolean;
|
|
224
277
|
private _focused;
|
|
225
|
-
/** Width of the overlay panel. */
|
|
226
|
-
protected overlayWidth: string | number;
|
|
227
|
-
/** Min width of the overlay panel. */
|
|
228
|
-
protected overlayMinWidth: string | number;
|
|
229
278
|
/**
|
|
230
279
|
* Minimum width of the panel.
|
|
231
280
|
* If minWidth is larger than window width, it will be ignored.
|
|
232
281
|
*/
|
|
233
|
-
readonly panelMinWidth: _angular_core.InputSignalWithTransform<
|
|
282
|
+
readonly panelMinWidth: _angular_core.InputSignalWithTransform<KbqPanelMinWidth, unknown>;
|
|
234
283
|
/** Origin for the overlay panel. */
|
|
235
284
|
protected overlayOrigin?: CdkOverlayOrigin | ElementRef;
|
|
236
285
|
/**
|
|
237
|
-
* Width of the panel. If set to `auto`, the panel will match the trigger width
|
|
238
|
-
* If set to null or an empty string, the panel will grow to match the
|
|
286
|
+
* Width of the panel. If set to `auto`, the panel will match the trigger width, but will never be
|
|
287
|
+
* narrower than `panelMinWidth`. If set to null or an empty string, the panel will grow to match the
|
|
288
|
+
* longest option's text. Any other value is used as an exact width, and `panelMinWidth` is not applied.
|
|
289
|
+
*/
|
|
290
|
+
readonly panelWidth: _angular_core.InputSignal<KbqPanelWidth>;
|
|
291
|
+
/**
|
|
292
|
+
* Maximum width of the panel in pixels. Caps how far the panel grows with its content — it never makes
|
|
293
|
+
* the panel narrower than the trigger, and never clamps an explicit `panelWidth`.
|
|
294
|
+
* When null, the `--kbq-panel-size-width-max` token applies.
|
|
295
|
+
*/
|
|
296
|
+
readonly panelMaxWidth: _angular_core.InputSignalWithTransform<KbqPanelMaxWidth, unknown>;
|
|
297
|
+
/**
|
|
298
|
+
* Maximum height of the panel's scrollable option list, in pixels. Applied as the
|
|
299
|
+
* `--kbq-select-panel-size-max-height` custom property on the panel.
|
|
300
|
+
*
|
|
301
|
+
* The search field and the footer sit outside the scrollable area and add to the panel's total height.
|
|
302
|
+
* When null, the token default (256px) applies.
|
|
239
303
|
*/
|
|
240
|
-
readonly
|
|
304
|
+
readonly panelMaxHeight: _angular_core.InputSignalWithTransform<KbqPanelMaxHeight, unknown>;
|
|
305
|
+
/**
|
|
306
|
+
* `panelMaxHeight` rendered as a CSS length for the `--kbq-select-panel-size-max-height` token.
|
|
307
|
+
* A non-finite value (e.g. `null`) leaves the stylesheet default in place.
|
|
308
|
+
* @docs-private
|
|
309
|
+
*/
|
|
310
|
+
protected readonly panelMaxHeightToken: _angular_core.Signal<string | null>;
|
|
241
311
|
/**
|
|
242
312
|
* Controls when the search functionality is displayed based on the number of available options.
|
|
243
313
|
*
|
|
@@ -248,6 +318,12 @@ declare class KbqTreeSelect extends KbqAbstractSelect implements AfterContentIni
|
|
|
248
318
|
get searchMinOptionsThreshold(): number | undefined;
|
|
249
319
|
private _searchMinOptionsThreshold;
|
|
250
320
|
get panelOpen(): boolean;
|
|
321
|
+
/** Whether the overlay panel is currently on screen. Part of the `KbqSiblingPopup` contract. */
|
|
322
|
+
get isAttached(): boolean;
|
|
323
|
+
/**
|
|
324
|
+
* Whether the cleaner (clear button) should be shown.
|
|
325
|
+
* @docs-private
|
|
326
|
+
*/
|
|
251
327
|
get canShowCleaner(): boolean;
|
|
252
328
|
/** @docs-private */
|
|
253
329
|
get colorForState(): KbqComponentColors;
|
|
@@ -256,13 +332,12 @@ declare class KbqTreeSelect extends KbqAbstractSelect implements AfterContentIni
|
|
|
256
332
|
private closeSubscription;
|
|
257
333
|
private _panelOpen;
|
|
258
334
|
private originalOnKeyDown;
|
|
259
|
-
/** The scroll
|
|
335
|
+
/** The scroll offset the panel is restored to when it attaches — the list always opens at the top. */
|
|
260
336
|
private scrollTop;
|
|
261
337
|
/** Unique id for this input. */
|
|
262
338
|
private readonly uid;
|
|
263
339
|
private tempValues;
|
|
264
340
|
private readonly destroyRef;
|
|
265
|
-
private readonly window;
|
|
266
341
|
constructor();
|
|
267
342
|
ngOnInit(): void;
|
|
268
343
|
ngDoCheck(): void;
|
|
@@ -271,7 +346,17 @@ declare class KbqTreeSelect extends KbqAbstractSelect implements AfterContentIni
|
|
|
271
346
|
ngOnDestroy(): void;
|
|
272
347
|
updateErrorState(): void;
|
|
273
348
|
hiddenItemsTextFormatter(hiddenItemsText: string, hiddenItems: number): string;
|
|
274
|
-
|
|
349
|
+
/**
|
|
350
|
+
* Clears the current selection.
|
|
351
|
+
* @docs-private
|
|
352
|
+
*/
|
|
353
|
+
clear(): void;
|
|
354
|
+
/**
|
|
355
|
+
* Clears the current selection.
|
|
356
|
+
* @deprecated Activate the projected `KbqCleaner` instead.
|
|
357
|
+
* @docs-private
|
|
358
|
+
*/
|
|
359
|
+
clearValue(event: Event): void;
|
|
275
360
|
/** `View -> model callback called when value changes` */
|
|
276
361
|
onChange: (value: any) => void;
|
|
277
362
|
/** `View -> model callback called when select has been touched` */
|
|
@@ -326,6 +411,9 @@ declare class KbqTreeSelect extends KbqAbstractSelect implements AfterContentIni
|
|
|
326
411
|
onBlur(): void;
|
|
327
412
|
/** Callback that is invoked when the overlay panel has been attached. */
|
|
328
413
|
onAttached(): void;
|
|
414
|
+
/** Element the overlay is positioned and sized against. */
|
|
415
|
+
protected getOverlayOriginElement(): HTMLElement | undefined;
|
|
416
|
+
protected isPanelOpen(): boolean;
|
|
329
417
|
/** Returns the theme to be used on the panel. */
|
|
330
418
|
getPanelTheme(): string;
|
|
331
419
|
/** Returns the full set of classes for the panel: base class, theme and custom `panelClass`. */
|
|
@@ -340,16 +428,20 @@ declare class KbqTreeSelect extends KbqAbstractSelect implements AfterContentIni
|
|
|
340
428
|
onRemoveSelectedOption(selectedOption: any, $event: any): void;
|
|
341
429
|
calculateHiddenItems: () => void;
|
|
342
430
|
triggerKeydownHandler(event: KeyboardEvent): void;
|
|
343
|
-
panelKeydownHandler(event: KeyboardEvent):
|
|
431
|
+
panelKeydownHandler(event: KeyboardEvent): void;
|
|
344
432
|
/** @docs-private */
|
|
345
433
|
protected shouldShowSearch(): boolean;
|
|
346
434
|
private updateLocaleParams;
|
|
347
435
|
private closingActions;
|
|
348
436
|
private getTotalItemsWidthInMatcher;
|
|
349
437
|
private getTotalVisibleItems;
|
|
350
|
-
/** Gets how wide the overlay panel should be. */
|
|
351
|
-
private getOverlayWidth;
|
|
352
438
|
private buildTriggerClone;
|
|
439
|
+
/**
|
|
440
|
+
* Width of a single `kbq-tag` in the matcher, including margins and the inter-tag gap.
|
|
441
|
+
*
|
|
442
|
+
* Tags are `border-box` and carry horizontal padding, which `getComputedStyle().width` — always
|
|
443
|
+
* the used content-box width — leaves out. See the twin in `KbqSelect`.
|
|
444
|
+
*/
|
|
353
445
|
private getItemWidth;
|
|
354
446
|
private refreshTriggerValues;
|
|
355
447
|
/**
|
|
@@ -365,11 +457,10 @@ declare class KbqTreeSelect extends KbqAbstractSelect implements AfterContentIni
|
|
|
365
457
|
* the first item instead.
|
|
366
458
|
*/
|
|
367
459
|
private highlightCorrectOption;
|
|
368
|
-
/** Scrolls the active option into view. */
|
|
369
460
|
private scrollActiveOptionIntoView;
|
|
370
461
|
private subscribeOnSearchChanges;
|
|
371
462
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeSelect, never>;
|
|
372
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqTreeSelect, "kbq-tree-select", ["kbqTreeSelect"], { "hiddenItemsText": { "alias": "hiddenItemsText"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "backdropClass": { "alias": "backdropClass"; "required": false; "isSignal": true; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "sortComparator": { "alias": "sortComparator"; "required": false; "isSignal": true; }; "multiline": { "alias": "multiline"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "autoSelect": { "alias": "autoSelect"; "required": false; }; "selectAllToggle": { "alias": "selectAllToggle"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "selectAllHandler": { "alias": "selectAllHandler"; "required": false; }; "panelMinWidth": { "alias": "panelMinWidth"; "required": false; "isSignal": true; }; "panelWidth": { "alias": "panelWidth"; "required": false; "isSignal": true; }; "searchMinOptionsThreshold": { "alias": "searchMinOptionsThreshold"; "required": false; }; "hiddenItemsTextFormatter": { "alias": "hiddenItemsTextFormatter"; "required": false; }; }, { "openedChange": "openedChange"; "openedStream": "opened"; "closedStream": "closed"; "selectionChange": "selectionChange"; "onSelectAll": "onSelectAll"; "valueChange": "valueChange"; }, ["cleaner", "customTrigger", "customMatcher", "customTagTemplateRef", "tree", "search"], ["kbq-select-matcher, [kbq-select-matcher]", "kbq-select-trigger, [kbq-select-trigger]", "kbq-cleaner", "[kbqSelectSearch]", "[kbq-select-search-empty-result]", "kbq-tree-selection", "kbq-select-footer,[kbq-tree-select-footer]"], true, never>;
|
|
463
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqTreeSelect, "kbq-tree-select", ["kbqTreeSelect"], { "hiddenItemsText": { "alias": "hiddenItemsText"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "backdropClass": { "alias": "backdropClass"; "required": false; "isSignal": true; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "sortComparator": { "alias": "sortComparator"; "required": false; "isSignal": true; }; "multiline": { "alias": "multiline"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "autoSelect": { "alias": "autoSelect"; "required": false; }; "selectAllToggle": { "alias": "selectAllToggle"; "required": false; "isSignal": true; }; "selectAll": { "alias": "selectAll"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "selectAllHandler": { "alias": "selectAllHandler"; "required": false; }; "panelMinWidth": { "alias": "panelMinWidth"; "required": false; "isSignal": true; }; "panelWidth": { "alias": "panelWidth"; "required": false; "isSignal": true; }; "panelMaxWidth": { "alias": "panelMaxWidth"; "required": false; "isSignal": true; }; "panelMaxHeight": { "alias": "panelMaxHeight"; "required": false; "isSignal": true; }; "searchMinOptionsThreshold": { "alias": "searchMinOptionsThreshold"; "required": false; }; "hiddenItemsTextFormatter": { "alias": "hiddenItemsTextFormatter"; "required": false; }; }, { "openedChange": "openedChange"; "openedStream": "opened"; "closedStream": "closed"; "selectionChange": "selectionChange"; "onSelectAll": "onSelectAll"; "valueChange": "valueChange"; }, ["cleaner", "customTrigger", "customMatcher", "customTagTemplateRef", "tree", "search"], ["kbq-select-matcher, [kbq-select-matcher]", "kbq-select-trigger, [kbq-select-trigger]", "kbq-cleaner", "[kbqSelectSearch]", "[kbq-select-search-empty-result]", "kbq-tree-selection", "kbq-select-footer,[kbq-tree-select-footer]"], true, never>;
|
|
373
464
|
static ngAcceptInputType_multiple: unknown;
|
|
374
465
|
static ngAcceptInputType_disabled: unknown;
|
|
375
466
|
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
@use './accordion-theme' as *;
|
|
2
|
-
|
|
3
|
-
.kbq-accordion {
|
|
4
|
-
display: block;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
.kbq-accordion-item {
|
|
8
|
-
box-sizing: border-box;
|
|
9
|
-
display: block;
|
|
10
|
-
|
|
11
|
-
border-width: 2px;
|
|
12
|
-
border-style: solid;
|
|
13
|
-
border-color: transparent;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.kbq-accordion-header {
|
|
17
|
-
display: flex;
|
|
18
|
-
|
|
19
|
-
height: var(--kbq-accordion-size-item-header-height);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.kbq-accordion-content {
|
|
23
|
-
display: block;
|
|
24
|
-
overflow: hidden;
|
|
25
|
-
|
|
26
|
-
& > p {
|
|
27
|
-
margin: unset;
|
|
28
|
-
padding: var(--kbq-accordion-size-item-content-padding);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
&[data-state='open'] {
|
|
32
|
-
transition: height 300ms ease-out;
|
|
33
|
-
height: var(--radix-accordion-content-height);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
&[data-state='closed'] {
|
|
37
|
-
transition: height 300ms ease-out;
|
|
38
|
-
height: 0;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
@media (prefers-reduced-motion: reduce) {
|
|
42
|
-
&[data-state='open'],
|
|
43
|
-
&[data-state='closed'] {
|
|
44
|
-
transition: none;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
@include kbq-accordion-theme();
|
|
50
|
-
@include kbq-accordion-typography();
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
@import '../../../../node_modules/@koobiq/design-tokens/web/variables';
|
|
2
|
-
@import '../../../../node_modules/@koobiq/design-tokens/web/palette';
|
|
3
|
-
@import '../../../../node_modules/@koobiq/design-tokens/web/typography';
|
|
4
|
-
@import '../../../../node_modules/@koobiq/design-tokens/web/md-typography';
|