@koobiq/components 18.29.0 → 18.31.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.
Files changed (137) hide show
  1. package/code-block/_code-block-theme.scss +4 -12
  2. package/code-block/code-block-tokens.scss +3 -2
  3. package/code-block/code-block.scss +41 -10
  4. package/core/common-behaviors/error-state.d.ts +18 -0
  5. package/core/common-behaviors/index.d.ts +1 -1
  6. package/core/formatters/filesize/size.d.ts +19 -3
  7. package/core/forms/validators.d.ts +13 -0
  8. package/core/option/_option-theme.scss +24 -2
  9. package/core/pop-up/pop-up-trigger.d.ts +3 -4
  10. package/core/pop-up/pop-up.d.ts +2 -1
  11. package/core/select/common.d.ts +3 -3
  12. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +1 -1
  13. package/datepicker/datepicker-input.directive.d.ts +14 -5
  14. package/datepicker/datepicker-module.d.ts +1 -1
  15. package/datepicker/datepicker-toggle.component.d.ts +22 -0
  16. package/datepicker/datepicker-toggle.scss +6 -0
  17. package/ellipsis-center/ellipsis-center.directive.d.ts +8 -2
  18. package/esm2022/actions-panel/actions-panel-container.mjs +2 -2
  19. package/esm2022/code-block/code-block.mjs +6 -3
  20. package/esm2022/core/common-behaviors/error-state.mjs +28 -1
  21. package/esm2022/core/common-behaviors/index.mjs +2 -2
  22. package/esm2022/core/formatters/filesize/formatter.mjs +6 -9
  23. package/esm2022/core/formatters/filesize/size.mjs +15 -17
  24. package/esm2022/core/forms/validators.mjs +22 -1
  25. package/esm2022/core/option/option.mjs +2 -2
  26. package/esm2022/core/pop-up/pop-up-trigger.mjs +19 -10
  27. package/esm2022/core/pop-up/pop-up.mjs +6 -2
  28. package/esm2022/core/select/common.mjs +6 -4
  29. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  30. package/esm2022/core/version.mjs +2 -2
  31. package/esm2022/datepicker/calendar-header.component.mjs +1 -1
  32. package/esm2022/datepicker/datepicker-input.directive.mjs +66 -6
  33. package/esm2022/datepicker/datepicker-module.mjs +8 -3
  34. package/esm2022/datepicker/datepicker-toggle.component.mjs +94 -10
  35. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  36. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +14 -4
  37. package/esm2022/file-upload/file-upload.mjs +2 -1
  38. package/esm2022/file-upload/multiple-file-upload.component.mjs +21 -7
  39. package/esm2022/file-upload/single-file-upload.component.mjs +16 -7
  40. package/esm2022/filter-bar/filter-bar.mjs +11 -3
  41. package/esm2022/filter-bar/filter-bar.types.mjs +1 -1
  42. package/esm2022/filter-bar/filter-search.mjs +2 -2
  43. package/esm2022/filter-bar/filters.mjs +2 -2
  44. package/esm2022/filter-bar/pipe-add.mjs +2 -2
  45. package/esm2022/filter-bar/pipes/pipe-button.mjs +1 -1
  46. package/esm2022/filter-bar/pipes/pipe-date.mjs +2 -2
  47. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +2 -2
  48. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +29 -9
  49. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +30 -10
  50. package/esm2022/filter-bar/pipes/pipe-select.mjs +2 -2
  51. package/esm2022/filter-bar/pipes/pipe-text.mjs +2 -2
  52. package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +2 -2
  53. package/esm2022/form-field/form-field.mjs +8 -8
  54. package/esm2022/form-field/stepper.mjs +20 -4
  55. package/esm2022/icon/icon-button.component.mjs +2 -2
  56. package/esm2022/list/list-selection.component.mjs +5 -4
  57. package/esm2022/list/list.component.mjs +2 -2
  58. package/esm2022/overflow-items/overflow-items.mjs +43 -70
  59. package/esm2022/popover/popover.component.mjs +10 -4
  60. package/esm2022/select/select.component.mjs +34 -17
  61. package/esm2022/tabs/tab-group.component.mjs +1 -1
  62. package/esm2022/timezone/timezone-option.component.mjs +2 -2
  63. package/esm2022/timezone/timezone-select.component.mjs +2 -2
  64. package/esm2022/tooltip/tooltip.component.mjs +12 -3
  65. package/esm2022/top-bar/top-bar.mjs +2 -2
  66. package/esm2022/tree/toggle.mjs +2 -2
  67. package/esm2022/tree/tree-option.component.mjs +5 -4
  68. package/esm2022/tree/tree-selection.component.mjs +2 -2
  69. package/esm2022/tree/tree.mjs +2 -2
  70. package/esm2022/tree-select/tree-select.component.mjs +32 -13
  71. package/fesm2022/koobiq-components-actions-panel.mjs +1 -1
  72. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  73. package/fesm2022/koobiq-components-code-block.mjs +5 -2
  74. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  75. package/fesm2022/koobiq-components-core.mjs +99 -41
  76. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  77. package/fesm2022/koobiq-components-datepicker.mjs +159 -11
  78. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  79. package/fesm2022/koobiq-components-dropdown.mjs +2 -2
  80. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  81. package/fesm2022/koobiq-components-ellipsis-center.mjs +13 -3
  82. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  83. package/fesm2022/koobiq-components-file-upload.mjs +32 -10
  84. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  85. package/fesm2022/koobiq-components-filter-bar.mjs +75 -27
  86. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  87. package/fesm2022/koobiq-components-form-field.mjs +25 -10
  88. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  89. package/fesm2022/koobiq-components-icon.mjs +2 -2
  90. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  91. package/fesm2022/koobiq-components-list.mjs +6 -5
  92. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  93. package/fesm2022/koobiq-components-overflow-items.mjs +42 -69
  94. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  95. package/fesm2022/koobiq-components-popover.mjs +9 -3
  96. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  97. package/fesm2022/koobiq-components-select.mjs +33 -16
  98. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  99. package/fesm2022/koobiq-components-tabs.mjs +1 -1
  100. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  101. package/fesm2022/koobiq-components-timezone.mjs +4 -4
  102. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  103. package/fesm2022/koobiq-components-tooltip.mjs +11 -2
  104. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  105. package/fesm2022/koobiq-components-top-bar.mjs +2 -2
  106. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  107. package/fesm2022/koobiq-components-tree-select.mjs +31 -12
  108. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  109. package/fesm2022/koobiq-components-tree.mjs +10 -9
  110. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  111. package/file-upload/_file-upload-theme.scss +38 -22
  112. package/file-upload/file-upload-tokens.scss +37 -14
  113. package/file-upload/file-upload.d.ts +1 -0
  114. package/file-upload/multiple-file-upload.component.d.ts +12 -5
  115. package/file-upload/multiple-file-upload.component.scss +66 -69
  116. package/file-upload/single-file-upload.component.d.ts +7 -1
  117. package/file-upload/single-file-upload.component.scss +8 -0
  118. package/filter-bar/filter-bar.d.ts +7 -1
  119. package/filter-bar/filter-bar.types.d.ts +5 -0
  120. package/filter-bar/pipes/pipe-multi-select.d.ts +5 -1
  121. package/filter-bar/pipes/pipe-multi-tree-select.d.ts +5 -1
  122. package/form-field/form-field.d.ts +3 -1
  123. package/form-field/stepper.d.ts +15 -1
  124. package/icon/_icon-button-theme.scss +67 -85
  125. package/list/_list-theme.scss +24 -2
  126. package/list/list-tokens.scss +5 -0
  127. package/overflow-items/overflow-items.d.ts +16 -25
  128. package/package.json +6 -6
  129. package/popover/popover.component.d.ts +4 -2
  130. package/schematics/ng-add/index.js +5 -5
  131. package/select/select.component.d.ts +8 -1
  132. package/tooltip/tooltip.component.d.ts +8 -1
  133. package/top-bar/top-bar.scss +1 -0
  134. package/tree/_tree-theme.scss +30 -7
  135. package/tree/tree-option.scss +5 -2
  136. package/tree/tree-tokens.scss +5 -0
  137. package/tree-select/tree-select.component.d.ts +8 -1
@@ -1,110 +1,92 @@
1
+ @use 'sass:map';
2
+
3
+ @mixin _kbq-icon-button-color($map) {
4
+ color: map.get($map, default);
5
+
6
+ &:hover {
7
+ color: map.get($map, hover);
8
+ }
9
+
10
+ &:active,
11
+ &.kbq-active {
12
+ color: map.get($map, active);
13
+ }
14
+
15
+ &.kbq-disabled {
16
+ color: map.get($map, disabled);
17
+ }
18
+ }
19
+
1
20
  @mixin kbq-icon-button-theme() {
2
21
  .kbq-icon-button {
3
22
  &:focus {
4
23
  outline: none;
5
24
  }
6
25
 
7
- // FIXME: move to unified mixin
8
26
  &.kbq-theme {
9
- color: var(--kbq-icon-button-theme-default);
10
-
11
- &:active,
12
- &.kbq-active {
13
- color: var(--kbq-icon-button-theme-states-active);
14
- }
15
-
16
- &:not(.kbq-disabled):hover {
17
- color: var(--kbq-icon-button-theme-states-hover);
18
- }
19
-
20
- &.kbq-disabled {
21
- color: var(--kbq-icon-button-theme-states-disabled);
22
- }
27
+ @include _kbq-icon-button-color(
28
+ (
29
+ default: var(--kbq-icon-button-theme-default),
30
+ hover: var(--kbq-icon-button-theme-states-hover),
31
+ active: var(--kbq-icon-button-theme-states-active),
32
+ disabled: var(--kbq-icon-button-theme-states-disabled)
33
+ )
34
+ );
23
35
  }
24
36
 
25
37
  &.kbq-contrast {
26
- color: var(--kbq-icon-button-contrast-default);
27
-
28
- &:active,
29
- &.kbq-active {
30
- color: var(--kbq-icon-button-contrast-states-active);
31
- }
32
-
33
- &:not(.kbq-disabled):hover {
34
- color: var(--kbq-icon-button-contrast-states-hover);
35
- }
36
-
37
- &.kbq-disabled {
38
- color: var(--kbq-icon-button-contrast-states-disabled);
39
- }
38
+ @include _kbq-icon-button-color(
39
+ (
40
+ default: var(--kbq-icon-button-contrast-default),
41
+ hover: var(--kbq-icon-button-contrast-states-hover),
42
+ active: var(--kbq-icon-button-contrast-states-active),
43
+ disabled: var(--kbq-icon-button-contrast-states-disabled)
44
+ )
45
+ );
40
46
  }
41
47
 
42
48
  &.kbq-contrast-fade {
43
- color: var(--kbq-icon-button-fade-contrast-default);
44
-
45
- &:active,
46
- &.kbq-active {
47
- color: var(--kbq-icon-button-fade-contrast-states-active);
48
- }
49
-
50
- &:not(.kbq-disabled):hover {
51
- color: var(--kbq-icon-button-fade-contrast-states-hover);
52
- }
53
-
54
- &.kbq-disabled {
55
- color: var(--kbq-icon-button-fade-contrast-states-disabled);
56
- }
49
+ @include _kbq-icon-button-color(
50
+ (
51
+ default: var(--kbq-icon-button-fade-contrast-default),
52
+ hover: var(--kbq-icon-button-fade-contrast-states-hover),
53
+ active: var(--kbq-icon-button-fade-contrast-states-active),
54
+ disabled: var(--kbq-icon-button-fade-contrast-states-disabled)
55
+ )
56
+ );
57
57
  }
58
58
 
59
59
  &.kbq-error {
60
- color: var(--kbq-icon-button-error-default);
61
-
62
- &:active,
63
- &.kbq-active {
64
- color: var(--kbq-icon-button-error-states-active);
65
- }
66
-
67
- &:not(.kbq-disabled):hover {
68
- color: var(--kbq-icon-button-error-states-hover);
69
- }
70
-
71
- &.kbq-disabled {
72
- color: var(--kbq-icon-button-error-states-disabled);
73
- }
60
+ @include _kbq-icon-button-color(
61
+ (
62
+ default: var(--kbq-icon-button-error-default),
63
+ hover: var(--kbq-icon-button-error-states-hover),
64
+ active: var(--kbq-icon-button-error-states-active),
65
+ disabled: var(--kbq-icon-button-error-states-disabled)
66
+ )
67
+ );
74
68
  }
75
69
 
76
70
  &.kbq-success {
77
- color: var(--kbq-icon-button-success-default);
78
-
79
- &:active,
80
- &.kbq-active {
81
- color: var(--kbq-icon-button-success-states-active);
82
- }
83
-
84
- &:not(.kbq-disabled):hover {
85
- color: var(--kbq-icon-button-success-states-hover);
86
- }
87
-
88
- &.kbq-disabled {
89
- color: var(--kbq-icon-button-success-states-disabled);
90
- }
71
+ @include _kbq-icon-button-color(
72
+ (
73
+ default: var(--kbq-icon-button-success-default),
74
+ hover: var(--kbq-icon-button-success-states-hover),
75
+ active: var(--kbq-icon-button-success-states-active),
76
+ disabled: var(--kbq-icon-button-success-states-disabled)
77
+ )
78
+ );
91
79
  }
92
80
 
93
81
  &.kbq-warning {
94
- color: var(--kbq-icon-button-warning-default);
95
-
96
- &:active,
97
- &.kbq-active {
98
- color: var(--kbq-icon-button-warning-states-active);
99
- }
100
-
101
- &:not(.kbq-disabled):hover {
102
- color: var(--kbq-icon-button-warning-states-hover);
103
- }
104
-
105
- &.kbq-disabled {
106
- color: var(--kbq-icon-button-warning-states-disabled);
107
- }
82
+ @include _kbq-icon-button-color(
83
+ (
84
+ default: var(--kbq-icon-button-warning-default),
85
+ hover: var(--kbq-icon-button-warning-states-hover),
86
+ active: var(--kbq-icon-button-warning-states-active),
87
+ disabled: var(--kbq-icon-button-warning-states-disabled)
88
+ )
89
+ );
108
90
  }
109
91
 
110
92
  &.cdk-keyboard-focused {
@@ -28,12 +28,20 @@
28
28
  @include _kbq-list-item(states-hover);
29
29
  }
30
30
 
31
- &.kbq-selected {
31
+ &:active:not(.kbq-disabled) {
32
+ @include _kbq-list-item(states-active);
33
+ }
34
+
35
+ &.kbq-selected:not(.kbq-disabled) {
32
36
  @include _kbq-list-item(states-selected);
33
37
 
34
- &:hover:not(.kbq-disabled) {
38
+ &:hover {
35
39
  @include _kbq-list-item(states-selected-hover);
36
40
  }
41
+
42
+ &:active {
43
+ @include _kbq-list-item(states-selected-active);
44
+ }
37
45
  }
38
46
 
39
47
  &.kbq-disabled {
@@ -41,6 +49,20 @@
41
49
  }
42
50
  }
43
51
 
52
+ .kbq-list-option.kbq-list-option_multiple {
53
+ &.kbq-selected:not(.kbq-disabled) {
54
+ @include _kbq-list-item(multiple-states-selected);
55
+
56
+ &:hover {
57
+ @include _kbq-list-item(multiple-states-selected-hover);
58
+ }
59
+
60
+ &:active {
61
+ @include _kbq-list-item(multiple-states-selected-active);
62
+ }
63
+ }
64
+ }
65
+
44
66
  .kbq-list-selection.cdk-keyboard-focused {
45
67
  & .kbq-list-option.kbq-focused {
46
68
  border-color: var(--kbq-list-states-focused-focus-outline-color);
@@ -5,14 +5,19 @@
5
5
  --kbq-list-default-icon-button-color: var(--kbq-icon-contrast-fade);
6
6
  --kbq-list-default-caption-color: var(--kbq-foreground-contrast-secondary);
7
7
  --kbq-list-states-hover-container-background: var(--kbq-states-background-transparent-hover);
8
+ --kbq-list-states-active-container-background: var(--kbq-states-background-transparent-active);
8
9
  --kbq-list-states-hover-text-color: var(--kbq-foreground-contrast);
9
10
  --kbq-list-states-hover-icon-color: var(--kbq-icon-contrast);
10
11
  --kbq-list-states-hover-icon-button-color: var(--kbq-icon-contrast-fade);
11
12
  --kbq-list-states-selected-container-background: var(--kbq-background-theme-less);
13
+ --kbq-list-multiple-states-selected-container-background: var(--kbq-background-contrast-less);
12
14
  --kbq-list-states-selected-text-color: var(--kbq-foreground-contrast);
13
15
  --kbq-list-states-selected-icon-color: var(--kbq-icon-contrast);
14
16
  --kbq-list-states-selected-icon-button-color: var(--kbq-icon-contrast-fade);
15
17
  --kbq-list-states-selected-hover-container-background: var(--kbq-states-background-theme-less-hover);
18
+ --kbq-list-multiple-states-selected-hover-container-background: var(--kbq-states-background-contrast-less-hover);
19
+ --kbq-list-states-selected-active-container-background: var(--kbq-states-background-theme-less-active);
20
+ --kbq-list-multiple-states-selected-active-container-background: var(--kbq-states-background-contrast-less-active);
16
21
  --kbq-list-states-selected-hover-text-color: var(--kbq-foreground-contrast);
17
22
  --kbq-list-states-selected-hover-icon-color: var(--kbq-icon-contrast);
18
23
  --kbq-list-states-selected-hover-icon-button-color: var(--kbq-icon-contrast-fade);
@@ -1,4 +1,3 @@
1
- import { ElementRef } from '@angular/core';
2
1
  import * as i0 from "@angular/core";
3
2
  /**
4
3
  * Manages the visibility of the element.
@@ -7,18 +6,14 @@ import * as i0 from "@angular/core";
7
6
  */
8
7
  export declare class ElementVisibilityManager {
9
8
  private readonly renderer;
10
- /**
11
- * Reference to the element.
12
- *
13
- * @docs-private
14
- */
15
- readonly elementRef: ElementRef<any>;
9
+ private readonly elementRef;
10
+ private readonly hiddenState;
16
11
  /**
17
12
  * Whether the element is hidden.
18
13
  *
19
14
  * @docs-private
20
15
  */
21
- readonly hidden: import("@angular/core").WritableSignal<boolean>;
16
+ readonly hidden: import("@angular/core").Signal<boolean>;
22
17
  /**
23
18
  * Hides the element.
24
19
  *
@@ -59,6 +54,10 @@ export declare class KbqOverflowItem extends ElementVisibilityManager {
59
54
  * @default false
60
55
  */
61
56
  readonly alwaysVisible: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
57
+ /**
58
+ * @docs-private
59
+ */
60
+ hide(): void;
62
61
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqOverflowItem, never>;
63
62
  static ɵdir: i0.ɵɵDirectiveDeclaration<KbqOverflowItem, "[kbqOverflowItem]", ["kbqOverflowItem"], { "id": { "alias": "kbqOverflowItem"; "required": true; "isSignal": true; }; "order": { "alias": "order"; "required": false; "isSignal": true; }; "alwaysVisible": { "alias": "alwaysVisible"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
64
63
  }
@@ -68,14 +67,10 @@ export declare class KbqOverflowItem extends ElementVisibilityManager {
68
67
  export declare class KbqOverflowItems {
69
68
  /**
70
69
  * `KbqOverflowItem` directive references.
71
- *
72
- * @docs-private
73
70
  */
74
71
  private readonly items;
75
72
  /**
76
73
  * `KbqOverflowItemsResult` directive reference.
77
- *
78
- * @docs-private
79
74
  */
80
75
  private readonly result;
81
76
  /**
@@ -104,31 +99,27 @@ export declare class KbqOverflowItems {
104
99
  private readonly document;
105
100
  constructor();
106
101
  /**
107
- * Returns a list of items sorted by their specified `order` value.
102
+ * Sort items by their `order` attribute.
108
103
  * If an item does not have an `order` defined, its index is used as a fallback.
109
- * This ensures a stable order while allowing custom positioning.
110
104
  */
111
- private getSortedItemsByOrder;
105
+ private sortItemsByOrder;
112
106
  /**
113
- * Calculates the visibility of items, based on the container width and `reverseOverflowOrder` property.
107
+ * Excludes items that have the `alwaysVisible` attribute.
114
108
  */
115
- private calculateItemsVisibility;
109
+ private excludeAlwaysVisibleItems;
116
110
  /**
117
- * Returns the width of the element including margins.
111
+ * Manages the visibility of items based on the available space in the container and returns the hidden items.
112
+ * Direction of hiding is determined by the `reverseOverflowOrder` attribute.
118
113
  */
119
- private getElementWidthWithMargins;
114
+ private getHiddenItems;
120
115
  /**
121
116
  * This method sets the necessary styles for the directive.
122
117
  */
123
118
  private setStyles;
124
119
  /**
125
- * Determines if the given item is hidden.
126
- */
127
- private isHiddenItem;
128
- /**
129
- * Returns the window object.
120
+ * Determines if the given element has a scrollbar.
130
121
  */
131
- private getWindow;
122
+ private readonly hasScrollbar;
132
123
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqOverflowItems, never>;
133
124
  static ɵdir: i0.ɵɵDirectiveDeclaration<KbqOverflowItems, "[kbqOverflowItems]", ["kbqOverflowItems"], { "reverseOverflowOrder": { "alias": "reverseOverflowOrder"; "required": false; "isSignal": true; }; "debounceTime": { "alias": "debounceTime"; "required": false; "isSignal": true; }; }, { "changes": "changes"; }, ["items", "result"], never, true, never>;
134
125
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koobiq/components",
3
- "version": "18.29.0",
3
+ "version": "18.31.0",
4
4
  "description": "koobiq",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,13 +24,13 @@
24
24
  "@angular/cdk": "^18.0.0",
25
25
  "@angular/core": "^18.0.0",
26
26
  "@angular/forms": "^18.0.0",
27
- "@koobiq/cdk": "18.29.0",
28
- "@koobiq/angular-moment-adapter": "18.29.0",
29
- "@koobiq/angular-luxon-adapter": "18.29.0",
27
+ "@koobiq/cdk": "18.31.0",
28
+ "@koobiq/angular-moment-adapter": "18.31.0",
29
+ "@koobiq/angular-luxon-adapter": "18.31.0",
30
30
  "@koobiq/date-formatter": "^3.2.3",
31
- "@koobiq/icons": "^10.1.0",
31
+ "@koobiq/icons": "^10.4.0",
32
32
  "@koobiq/tokens-builder": "3.11.0",
33
- "@koobiq/design-tokens": "3.13.2",
33
+ "@koobiq/design-tokens": "3.14.0",
34
34
  "@radix-ng/primitives": "^0.23.0"
35
35
  },
36
36
  "dependencies": {
@@ -14,7 +14,6 @@ export declare class KbqPopoverComponent extends KbqPopUp implements AfterViewIn
14
14
  elementRef: ElementRef;
15
15
  cdkTrapFocus: CdkTrapFocus;
16
16
  private debounceTime;
17
- private readonly destroyRef;
18
17
  isContentTopOverflow: boolean;
19
18
  isContentBottomOverflow: boolean;
20
19
  ngAfterViewInit(): void;
@@ -82,6 +81,8 @@ export declare class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverCompone
82
81
  backdropClass: string;
83
82
  arrow: boolean;
84
83
  offset: number | null;
84
+ /** Delay before closing in milliseconds. The default value for kbqTrigger=PopUpTriggers.Hover is 500 ms. */
85
+ leaveDelay: number;
85
86
  placementChange: EventEmitter<any>;
86
87
  visibleChange: EventEmitter<boolean>;
87
88
  protected originSelector: string;
@@ -98,7 +99,8 @@ export declare class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverCompone
98
99
  closingActions(): import("rxjs").Observable<void | CdkScrollable | MouseEvent>;
99
100
  private hideIfNotInViewPort;
100
101
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqPopoverTrigger, never>;
101
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqPopoverTrigger, "[kbqPopover]", ["kbqPopover"], { "popoverVisible": { "alias": "kbqPopoverVisible"; "required": false; }; "popoverPlacement": { "alias": "kbqPopoverPlacement"; "required": false; }; "popoverPlacementPriority": { "alias": "kbqPopoverPlacementPriority"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "header": { "alias": "kbqPopoverHeader"; "required": false; }; "content": { "alias": "kbqPopoverContent"; "required": false; }; "footer": { "alias": "kbqPopoverFooter"; "required": false; }; "disabled": { "alias": "kbqPopoverDisabled"; "required": false; }; "trigger": { "alias": "kbqTrigger"; "required": false; }; "size": { "alias": "kbqPopoverSize"; "required": false; }; "customClass": { "alias": "kbqPopoverClass"; "required": false; }; "hasCloseButton": { "alias": "hasCloseButton"; "required": false; }; "closeOnScroll": { "alias": "closeOnScroll"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "arrow": { "alias": "kbqPopoverArrow"; "required": false; }; "offset": { "alias": "kbqPopoverOffset"; "required": false; }; }, { "placementChange": "kbqPopoverPlacementChange"; "visibleChange": "kbqPopoverVisibleChange"; }, never, never, false, never>;
102
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqPopoverTrigger, "[kbqPopover]", ["kbqPopover"], { "popoverVisible": { "alias": "kbqPopoverVisible"; "required": false; }; "popoverPlacement": { "alias": "kbqPopoverPlacement"; "required": false; }; "popoverPlacementPriority": { "alias": "kbqPopoverPlacementPriority"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "header": { "alias": "kbqPopoverHeader"; "required": false; }; "content": { "alias": "kbqPopoverContent"; "required": false; }; "footer": { "alias": "kbqPopoverFooter"; "required": false; }; "disabled": { "alias": "kbqPopoverDisabled"; "required": false; }; "trigger": { "alias": "kbqTrigger"; "required": false; }; "size": { "alias": "kbqPopoverSize"; "required": false; }; "customClass": { "alias": "kbqPopoverClass"; "required": false; }; "hasCloseButton": { "alias": "hasCloseButton"; "required": false; }; "closeOnScroll": { "alias": "closeOnScroll"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "arrow": { "alias": "kbqPopoverArrow"; "required": false; }; "offset": { "alias": "kbqPopoverOffset"; "required": false; }; "leaveDelay": { "alias": "kbqLeaveDelay"; "required": false; }; }, { "placementChange": "kbqPopoverPlacementChange"; "visibleChange": "kbqPopoverVisibleChange"; }, never, never, false, never>;
102
103
  static ngAcceptInputType_arrow: unknown;
103
104
  static ngAcceptInputType_offset: unknown;
105
+ static ngAcceptInputType_leaveDelay: unknown;
104
106
  }
@@ -27,13 +27,13 @@ function ngAdd(options) {
27
27
  }
28
28
  // Installing dependencies
29
29
  utils_packageConfig.addPackageToPackageJson(tree, '@angular/cdk', "^18.2.14");
30
- utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/cdk', "^18.29.0");
31
- utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/angular-luxon-adapter', "^18.29.0");
30
+ utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/cdk', "^18.31.0");
31
+ utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/angular-luxon-adapter', "^18.31.0");
32
32
  utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/date-formatter', "^3.2.3");
33
33
  utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/date-adapter', "^3.2.3");
34
- utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/icons', "^10.1.0");
35
- utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/tokens-builder', "^3.13.2");
36
- utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/design-tokens', "^3.13.2");
34
+ utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/icons', "^10.4.0");
35
+ utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/tokens-builder', "^3.14.0");
36
+ utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/design-tokens', "^3.14.0");
37
37
  utils_packageConfig.addPackageToPackageJson(tree, '@messageformat/core', "^3.4.0");
38
38
  utils_packageConfig.addPackageToPackageJson(tree, '@radix-ng/primitives', "^0.23.0");
39
39
  utils_packageConfig.addPackageToPackageJson(tree, 'luxon', "^3.6.1");
@@ -165,6 +165,11 @@ export declare class KbqSelect extends KbqAbstractSelect implements AfterContent
165
165
  */
166
166
  get compareWith(): (o1: any, o2: any) => boolean;
167
167
  set compareWith(fn: (o1: any, o2: any) => boolean);
168
+ /**
169
+ * Function for handling the combination Ctrl + A (select all). By default, the internal handler is used.
170
+ */
171
+ get selectAllHandler(): (event: KeyboardEvent, select: KbqSelect) => void;
172
+ set selectAllHandler(fn: (event: KeyboardEvent, select: KbqSelect) => void);
168
173
  /**
169
174
  * Width of the panel. If set to `auto`, the panel will match the trigger width.
170
175
  * If set to null or an empty string, the panel will grow to match the longest option's text.
@@ -339,10 +344,12 @@ export declare class KbqSelect extends KbqAbstractSelect implements AfterContent
339
344
  private getOverlayWidth;
340
345
  /** Comparison function to specify which option is displayed. Defaults to object equality. */
341
346
  private _compareWith;
347
+ /** Function for handling the combination Ctrl + A (select all). By default, the internal handler is used. */
348
+ private _selectAllHandler;
342
349
  private getTotalVisibleItems;
343
350
  private buildTriggerClone;
344
351
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelect, [null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; host: true; }, { optional: true; self: true; }, null, { optional: true; }]>;
345
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqSelect, "kbq-select", ["kbqSelect"], { "hiddenItemsText": { "alias": "hiddenItemsText"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "sortComparator": { "alias": "sortComparator"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "panelMinWidth": { "alias": "panelMinWidth"; "required": false; }; "value": { "alias": "value"; "required": false; }; "id": { "alias": "id"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "hiddenItemsTextFormatter": { "alias": "hiddenItemsTextFormatter"; "required": false; }; }, { "openedChange": "openedChange"; "openedStream": "opened"; "closedStream": "closed"; "selectionChange": "selectionChange"; "valueChange": "valueChange"; }, ["footer", "cdkVirtualForOf", "customTrigger", "customMatcher", "customTagTemplateRef", "cleaner", "search", "options", "optionGroups"], ["kbq-select-matcher, [kbq-select-matcher]", "kbq-select-trigger, [kbq-select-trigger]", "kbq-cleaner", "[kbqSelectSearch]", "[kbq-select-search-empty-result]", "*", "kbq-select-footer,[kbq-select-footer]"], false, never>;
352
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqSelect, "kbq-select", ["kbqSelect"], { "hiddenItemsText": { "alias": "hiddenItemsText"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "sortComparator": { "alias": "sortComparator"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "selectAllHandler": { "alias": "selectAllHandler"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "panelMinWidth": { "alias": "panelMinWidth"; "required": false; }; "value": { "alias": "value"; "required": false; }; "id": { "alias": "id"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "hiddenItemsTextFormatter": { "alias": "hiddenItemsTextFormatter"; "required": false; }; }, { "openedChange": "openedChange"; "openedStream": "opened"; "closedStream": "closed"; "selectionChange": "selectionChange"; "valueChange": "valueChange"; }, ["footer", "cdkVirtualForOf", "customTrigger", "customMatcher", "customTagTemplateRef", "cleaner", "search", "options", "optionGroups"], ["kbq-select-matcher, [kbq-select-matcher]", "kbq-select-trigger, [kbq-select-trigger]", "kbq-cleaner", "[kbqSelectSearch]", "[kbq-select-search-empty-result]", "*", "kbq-select-footer,[kbq-select-footer]"], false, never>;
346
353
  static ngAcceptInputType_multiple: unknown;
347
354
  static ngAcceptInputType_panelMinWidth: unknown;
348
355
  static ngAcceptInputType_tabIndex: unknown;
@@ -42,6 +42,12 @@ export declare class KbqTooltipTrigger extends KbqPopUpTrigger<KbqTooltipCompone
42
42
  protected scrollStrategy: () => ScrollStrategy;
43
43
  protected parentPopup: KbqParentPopup | null;
44
44
  protected focusMonitor: FocusMonitor;
45
+ /**
46
+ * Changes hiding behavior. By default, tooltip is hidden on mouseleave from trigger.
47
+ * Setting hideWithTimeout to true will delay tooltip hiding and will not hide when the mouse moves from trigger
48
+ * to tooltip.
49
+ */
50
+ hideWithTimeout: boolean;
45
51
  get tooltipVisible(): boolean;
46
52
  set tooltipVisible(value: boolean);
47
53
  get tooltipPlacement(): PopUpPlacements;
@@ -96,7 +102,8 @@ export declare class KbqTooltipTrigger extends KbqPopUpTrigger<KbqTooltipCompone
96
102
  updateClassMap(newPlacement?: string): void;
97
103
  protected applyRelativeToPointer(): void;
98
104
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqTooltipTrigger, never>;
99
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTooltipTrigger, "[kbqTooltip]", ["kbqTooltip"], { "tooltipVisible": { "alias": "kbqVisible"; "required": false; }; "tooltipPlacement": { "alias": "kbqPlacement"; "required": false; }; "relativeToPointer": { "alias": "kbqRelativeToPointer"; "required": false; }; "tooltipPlacementPriority": { "alias": "kbqPlacementPriority"; "required": false; }; "content": { "alias": "kbqTooltip"; "required": false; }; "disabled": { "alias": "kbqTooltipDisabled"; "required": false; }; "enterDelay": { "alias": "kbqEnterDelay"; "required": false; }; "leaveDelay": { "alias": "kbqLeaveDelay"; "required": false; }; "trigger": { "alias": "kbqTrigger"; "required": false; }; "customClass": { "alias": "kbqTooltipClass"; "required": false; }; "context": { "alias": "kbqTooltipContext"; "required": false; }; "color": { "alias": "kbqTooltipColor"; "required": false; }; "arrow": { "alias": "kbqTooltipArrow"; "required": false; }; "offset": { "alias": "kbqTooltipOffset"; "required": false; }; }, { "placementChange": "kbqPlacementChange"; "visibleChange": "kbqVisibleChange"; }, never, never, true, never>;
105
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTooltipTrigger, "[kbqTooltip]", ["kbqTooltip"], { "hideWithTimeout": { "alias": "hideWithTimeout"; "required": false; }; "tooltipVisible": { "alias": "kbqVisible"; "required": false; }; "tooltipPlacement": { "alias": "kbqPlacement"; "required": false; }; "relativeToPointer": { "alias": "kbqRelativeToPointer"; "required": false; }; "tooltipPlacementPriority": { "alias": "kbqPlacementPriority"; "required": false; }; "content": { "alias": "kbqTooltip"; "required": false; }; "disabled": { "alias": "kbqTooltipDisabled"; "required": false; }; "enterDelay": { "alias": "kbqEnterDelay"; "required": false; }; "leaveDelay": { "alias": "kbqLeaveDelay"; "required": false; }; "trigger": { "alias": "kbqTrigger"; "required": false; }; "customClass": { "alias": "kbqTooltipClass"; "required": false; }; "context": { "alias": "kbqTooltipContext"; "required": false; }; "color": { "alias": "kbqTooltipColor"; "required": false; }; "arrow": { "alias": "kbqTooltipArrow"; "required": false; }; "offset": { "alias": "kbqTooltipOffset"; "required": false; }; }, { "placementChange": "kbqPlacementChange"; "visibleChange": "kbqVisibleChange"; }, never, never, true, never>;
106
+ static ngAcceptInputType_hideWithTimeout: unknown;
100
107
  static ngAcceptInputType_relativeToPointer: unknown;
101
108
  static ngAcceptInputType_arrow: unknown;
102
109
  static ngAcceptInputType_offset: unknown;
@@ -33,6 +33,7 @@
33
33
 
34
34
  .kbq-top-bar-container__with-overflow-items {
35
35
  gap: unset;
36
+ justify-content: unset;
36
37
  padding: 1px;
37
38
 
38
39
  > .kbq-overflow-item {
@@ -33,15 +33,38 @@
33
33
  .kbq-tree-option {
34
34
  @include kbq-tree-option(default);
35
35
 
36
- &:hover:not(.kbq-disabled) {
37
- @include kbq-tree-option(states-hover);
38
- }
36
+ &:not(.kbq-disabled) {
37
+ &:hover {
38
+ @include kbq-tree-option(states-hover);
39
+ }
40
+
41
+ &:active {
42
+ background: var(--kbq-tree-states-active-container-background);
43
+ }
44
+
45
+ &.kbq-selected {
46
+ @include kbq-tree-option(states-selected);
47
+
48
+ &:hover {
49
+ @include kbq-tree-option(states-selected-hover);
50
+ }
51
+
52
+ &:active {
53
+ background: var(--kbq-tree-states-selected-active-container-background);
54
+ }
55
+ }
56
+
57
+ &.kbq-checked:not(.kbq-selected),
58
+ &.kbq-tree-option_multiple.kbq-selected {
59
+ background: var(--kbq-tree-multiple-states-selected-container-background);
39
60
 
40
- &.kbq-selected {
41
- @include kbq-tree-option(states-selected);
61
+ &:hover {
62
+ background: var(--kbq-tree-multiple-states-selected-hover-container-background);
63
+ }
42
64
 
43
- &:hover:not(.kbq-disabled) {
44
- @include kbq-tree-option(states-selected-hover);
65
+ &:active {
66
+ background: var(--kbq-tree-multiple-states-selected-active-container-background);
67
+ }
45
68
  }
46
69
  }
47
70
 
@@ -70,12 +70,15 @@
70
70
  }
71
71
  }
72
72
 
73
- &:is(.kbq-selected, .kbq-focused, .kbq-active):has(+ :is(.kbq-selected, .kbq-focused, .kbq-active)) {
73
+ &:is(.kbq-checked, .kbq-selected, .kbq-focused, .kbq-active):has(
74
+ + :is(.kbq-checked, .kbq-selected, .kbq-focused, .kbq-active)
75
+ ) {
74
76
  border-bottom-left-radius: 0;
75
77
  border-bottom-right-radius: 0;
76
78
  }
77
79
 
78
- &:is(.kbq-selected, .kbq-focused, .kbq-active) + :is(.kbq-selected, .kbq-focused, .kbq-active) {
80
+ &:is(.kbq-checked, .kbq-selected, .kbq-focused, .kbq-active)
81
+ + :is(.kbq-checked, .kbq-selected, .kbq-focused, .kbq-active) {
79
82
  border-top-left-radius: 0;
80
83
  border-top-right-radius: 0;
81
84
  }
@@ -16,6 +16,7 @@
16
16
  --kbq-tree-default-action-button-color: var(--kbq-icon-contrast-fade);
17
17
  --kbq-tree-default-caption-color: var(--kbq-foreground-contrast-secondary);
18
18
  --kbq-tree-states-hover-container-background: var(--kbq-states-background-transparent-hover);
19
+ --kbq-tree-states-active-container-background: var(--kbq-states-background-transparent-active);
19
20
  --kbq-tree-states-hover-text-color: var(--kbq-foreground-contrast);
20
21
  --kbq-tree-states-hover-icon-color: var(--kbq-icon-contrast);
21
22
  --kbq-tree-states-hover-tree-toggle-color: var(--kbq-icon-contrast-fade);
@@ -23,12 +24,16 @@
23
24
  --kbq-tree-states-hover-caption-color: var(--kbq-foreground-contrast-secondary);
24
25
  --kbq-tree-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);
25
26
  --kbq-tree-states-selected-container-background: var(--kbq-background-theme-less);
27
+ --kbq-tree-multiple-states-selected-container-background: var(--kbq-background-contrast-less);
26
28
  --kbq-tree-states-selected-text-color: var(--kbq-foreground-contrast);
27
29
  --kbq-tree-states-selected-icon-color: var(--kbq-icon-contrast);
28
30
  --kbq-tree-states-selected-tree-toggle-color: var(--kbq-icon-contrast-fade);
29
31
  --kbq-tree-states-selected-action-button-color: var(--kbq-icon-contrast-fade);
30
32
  --kbq-tree-states-selected-caption-color: var(--kbq-foreground-contrast-secondary);
31
33
  --kbq-tree-states-selected-hover-container-background: var(--kbq-states-background-theme-less-hover);
34
+ --kbq-tree-states-selected-active-container-background: var(--kbq-states-background-theme-less-active);
35
+ --kbq-tree-multiple-states-selected-hover-container-background: var(--kbq-states-background-contrast-less-hover);
36
+ --kbq-tree-multiple-states-selected-active-container-background: var(--kbq-states-background-contrast-less-active);
32
37
  --kbq-tree-states-selected-hover-text-color: var(--kbq-foreground-contrast);
33
38
  --kbq-tree-states-selected-hover-icon-color: var(--kbq-icon-contrast);
34
39
  --kbq-tree-states-selected-hover-tree-toggle-color: var(--kbq-icon-contrast-fade);
@@ -164,6 +164,13 @@ export declare class KbqTreeSelect extends KbqAbstractSelect implements AfterCon
164
164
  get disabled(): boolean;
165
165
  set disabled(value: boolean);
166
166
  private _disabled;
167
+ /**
168
+ * Function for handling the combination Ctrl + A (select all). By default, the internal handler is used.
169
+ */
170
+ get selectAllHandler(): (event: KeyboardEvent, select: KbqTreeSelect) => void;
171
+ set selectAllHandler(fn: (event: KeyboardEvent, select: KbqTreeSelect) => void);
172
+ /** Function for handling the combination Ctrl + A (select all). By default, the internal handler is used. */
173
+ private _selectAllHandler;
167
174
  /** Whether the select is focused. */
168
175
  get focused(): boolean;
169
176
  set focused(value: boolean);
@@ -295,7 +302,7 @@ export declare class KbqTreeSelect extends KbqAbstractSelect implements AfterCon
295
302
  private scrollActiveOptionIntoView;
296
303
  private subscribeOnSearchChanges;
297
304
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqTreeSelect, [null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; host: true; }, { optional: true; self: true; }, { optional: true; }]>;
298
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqTreeSelect, "kbq-tree-select", ["kbqTreeSelect"], { "hiddenItemsText": { "alias": "hiddenItemsText"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "sortComparator": { "alias": "sortComparator"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "autoSelect": { "alias": "autoSelect"; "required": false; }; "id": { "alias": "id"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "hiddenItemsTextFormatter": { "alias": "hiddenItemsTextFormatter"; "required": false; }; }, { "openedChange": "openedChange"; "openedStream": "opened"; "closedStream": "closed"; "selectionChange": "selectionChange"; "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]"], false, never>;
305
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqTreeSelect, "kbq-tree-select", ["kbqTreeSelect"], { "hiddenItemsText": { "alias": "hiddenItemsText"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "sortComparator": { "alias": "sortComparator"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "autoSelect": { "alias": "autoSelect"; "required": false; }; "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; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "hiddenItemsTextFormatter": { "alias": "hiddenItemsTextFormatter"; "required": false; }; }, { "openedChange": "openedChange"; "openedStream": "opened"; "closedStream": "closed"; "selectionChange": "selectionChange"; "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]"], false, never>;
299
306
  static ngAcceptInputType_tabIndex: unknown;
300
307
  static ngAcceptInputType_disabled: unknown;
301
308
  }