@koobiq/components 19.1.0 → 19.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.
Files changed (128) hide show
  1. package/app-switcher/app-switcher.d.ts +7 -1
  2. package/core/locales/en-US.d.ts +0 -4
  3. package/core/locales/es-LA.d.ts +0 -4
  4. package/core/locales/locale-service.d.ts +0 -20
  5. package/core/locales/pt-BR.d.ts +0 -4
  6. package/core/locales/ru-RU.d.ts +0 -4
  7. package/core/locales/tk-TM.d.ts +0 -4
  8. package/core/locales/types.d.ts +0 -4
  9. package/core/styles/common/_animation.scss +2 -1
  10. package/core/utils/utils.d.ts +4 -0
  11. package/datepicker/datepicker-input.directive.d.ts +6 -1
  12. package/dropdown/dropdown.scss +3 -1
  13. package/fesm2022/koobiq-components-accordion.mjs +34 -34
  14. package/fesm2022/koobiq-components-actions-panel.mjs +10 -10
  15. package/fesm2022/koobiq-components-alert.mjs +16 -16
  16. package/fesm2022/koobiq-components-app-switcher.mjs +60 -33
  17. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  18. package/fesm2022/koobiq-components-autocomplete.mjs +13 -13
  19. package/fesm2022/koobiq-components-badge.mjs +13 -13
  20. package/fesm2022/koobiq-components-breadcrumbs.mjs +25 -25
  21. package/fesm2022/koobiq-components-button-toggle.mjs +10 -10
  22. package/fesm2022/koobiq-components-button.mjs +15 -15
  23. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  24. package/fesm2022/koobiq-components-checkbox.mjs +10 -10
  25. package/fesm2022/koobiq-components-clamped-text.mjs +7 -7
  26. package/fesm2022/koobiq-components-code-block.mjs +10 -10
  27. package/fesm2022/koobiq-components-content-panel.mjs +28 -28
  28. package/fesm2022/koobiq-components-core.mjs +237 -251
  29. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  30. package/fesm2022/koobiq-components-datepicker.mjs +49 -42
  31. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  32. package/fesm2022/koobiq-components-divider.mjs +7 -7
  33. package/fesm2022/koobiq-components-dl.mjs +13 -13
  34. package/fesm2022/koobiq-components-dropdown.mjs +23 -22
  35. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  36. package/fesm2022/koobiq-components-dynamic-translation.mjs +13 -13
  37. package/fesm2022/koobiq-components-ellipsis-center.mjs +7 -7
  38. package/fesm2022/koobiq-components-empty-state.mjs +19 -19
  39. package/fesm2022/koobiq-components-file-upload.mjs +501 -74
  40. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  41. package/fesm2022/koobiq-components-filter-bar.mjs +155 -95
  42. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  43. package/fesm2022/koobiq-components-form-field.mjs +56 -56
  44. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  45. package/fesm2022/koobiq-components-icon.mjs +13 -13
  46. package/fesm2022/koobiq-components-inline-edit.mjs +18 -18
  47. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  48. package/fesm2022/koobiq-components-input.mjs +22 -22
  49. package/fesm2022/koobiq-components-link.mjs +7 -7
  50. package/fesm2022/koobiq-components-list.mjs +19 -19
  51. package/fesm2022/koobiq-components-loader-overlay.mjs +16 -16
  52. package/fesm2022/koobiq-components-markdown.mjs +10 -10
  53. package/fesm2022/koobiq-components-modal.mjs +28 -28
  54. package/fesm2022/koobiq-components-navbar-ic.mjs +34 -34
  55. package/fesm2022/koobiq-components-navbar.mjs +49 -49
  56. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  57. package/fesm2022/koobiq-components-notification-center.mjs +16 -16
  58. package/fesm2022/koobiq-components-overflow-items.mjs +16 -16
  59. package/fesm2022/koobiq-components-popover.mjs +22 -18
  60. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  61. package/fesm2022/koobiq-components-progress-bar.mjs +13 -13
  62. package/fesm2022/koobiq-components-progress-spinner.mjs +13 -13
  63. package/fesm2022/koobiq-components-radio.mjs +10 -10
  64. package/fesm2022/koobiq-components-resizer.mjs +10 -10
  65. package/fesm2022/koobiq-components-risk-level.mjs +7 -7
  66. package/fesm2022/koobiq-components-scrollbar.mjs +10 -10
  67. package/fesm2022/koobiq-components-search-expandable.mjs +7 -7
  68. package/fesm2022/koobiq-components-select.mjs +15 -14
  69. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  70. package/fesm2022/koobiq-components-sidebar.mjs +13 -13
  71. package/fesm2022/koobiq-components-sidepanel.mjs +26 -26
  72. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  73. package/fesm2022/koobiq-components-skeleton.mjs +37 -0
  74. package/fesm2022/koobiq-components-skeleton.mjs.map +1 -0
  75. package/fesm2022/koobiq-components-split-button.mjs +7 -7
  76. package/fesm2022/koobiq-components-splitter.mjs +16 -16
  77. package/fesm2022/koobiq-components-table.mjs +10 -10
  78. package/fesm2022/koobiq-components-tabs.mjs +52 -52
  79. package/fesm2022/koobiq-components-tags.mjs +29 -28
  80. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  81. package/fesm2022/koobiq-components-textarea.mjs +7 -7
  82. package/fesm2022/koobiq-components-time-range.mjs +22 -22
  83. package/fesm2022/koobiq-components-timepicker.mjs +10 -10
  84. package/fesm2022/koobiq-components-timezone.mjs +22 -22
  85. package/fesm2022/koobiq-components-title.mjs +9 -9
  86. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  87. package/fesm2022/koobiq-components-toast.mjs +16 -16
  88. package/fesm2022/koobiq-components-toggle.mjs +9 -9
  89. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  90. package/fesm2022/koobiq-components-tooltip.mjs +16 -16
  91. package/fesm2022/koobiq-components-top-bar.mjs +13 -13
  92. package/fesm2022/koobiq-components-tree-select.mjs +11 -26
  93. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-tree.mjs +61 -51
  95. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-username.mjs +28 -28
  97. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  98. package/file-upload/_file-upload-theme.scss +0 -256
  99. package/file-upload/dropzone.d.ts +147 -0
  100. package/file-upload/dropzone.scss +57 -0
  101. package/file-upload/file-upload-tokens.scss +25 -18
  102. package/file-upload/file-upload.d.ts +3 -0
  103. package/file-upload/file-upload.scss +8 -4
  104. package/file-upload/multiple-file-upload.component.d.ts +13 -7
  105. package/file-upload/multiple-file-upload.component.scss +209 -91
  106. package/file-upload/primitives/file-drop.d.ts +24 -6
  107. package/file-upload/public-api.d.ts +1 -0
  108. package/file-upload/single-file-upload.component.d.ts +11 -2
  109. package/file-upload/single-file-upload.component.scss +117 -36
  110. package/filter-bar/filter-bar-button.d.ts +5 -0
  111. package/filter-bar/filters.d.ts +38 -6
  112. package/inline-edit/inline-edit.d.ts +2 -2
  113. package/inline-edit/inline-edit.scss +1 -1
  114. package/navbar/_navbar-item_vertical.scss +8 -0
  115. package/navbar/navbar-brand.scss +2 -2
  116. package/package.json +9 -4
  117. package/popover/_popover-theme.scss +1 -1
  118. package/popover/popover.component.d.ts +3 -1
  119. package/schematics/ng-add/index.js +2 -2
  120. package/select/select.component.d.ts +2 -1
  121. package/skeleton/index.d.ts +2 -0
  122. package/skeleton/module.d.ts +7 -0
  123. package/skeleton/skeleton.d.ts +8 -0
  124. package/skeleton/skeleton.scss +41 -0
  125. package/tree/_tree-theme.scss +11 -5
  126. package/tree/tree-option.scss +1 -0
  127. package/tree/tree-selection.component.d.ts +2 -1
  128. package/tree-select/tree-select.component.d.ts +2 -1
@@ -1,12 +1,21 @@
1
- import { EventEmitter, OnInit } from '@angular/core';
1
+ import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';
2
+ import { DestroyRef, ElementRef, EventEmitter, OnInit } from '@angular/core';
2
3
  import { FormControl, UntypedFormControl } from '@angular/forms';
3
- import { KbqButtonStyles } from '@koobiq/components/button';
4
+ import { KbqButton, KbqButtonStyles } from '@koobiq/components/button';
4
5
  import { KbqComponentColors, PopUpPlacements, PopUpSizes } from '@koobiq/components/core';
6
+ import { KbqDropdownTrigger } from '@koobiq/components/dropdown';
7
+ import { KbqPopoverTrigger } from '@koobiq/components/popover';
5
8
  import { Observable } from 'rxjs';
6
9
  import { KbqFilterBar } from './filter-bar';
7
10
  import { KbqFilter, KbqSaveFilterError, KbqSaveFilterEvent } from './filter-bar.types';
8
11
  import * as i0 from "@angular/core";
9
12
  export declare class KbqFilters implements OnInit {
13
+ /** @docs-private */
14
+ protected readonly elementRef: ElementRef<any>;
15
+ /** @docs-private */
16
+ protected readonly destroyRef: DestroyRef;
17
+ /** @docs-private */
18
+ protected readonly focusMonitor: FocusMonitor;
10
19
  /** @docs-private */
11
20
  protected readonly placements: typeof PopUpPlacements;
12
21
  /** @docs-private */
@@ -17,9 +26,18 @@ export declare class KbqFilters implements OnInit {
17
26
  protected readonly filterBar: KbqFilterBar;
18
27
  /** @docs-private */
19
28
  private readonly changeDetectorRef;
20
- private button;
21
- private popover;
22
- private dropdown;
29
+ /** @docs-private */
30
+ protected mainButton: KbqButton;
31
+ /** @docs-private */
32
+ protected saveNewFilterButton: KbqButton;
33
+ /** @docs-private */
34
+ protected filterActionsButton: KbqButton;
35
+ /** @docs-private */
36
+ protected popover: KbqPopoverTrigger;
37
+ /** @docs-private */
38
+ protected dropdown: KbqDropdownTrigger;
39
+ /** @docs-private */
40
+ protected filterActionsDropdown: KbqDropdownTrigger;
23
41
  private search;
24
42
  private newFilterName;
25
43
  private saveFilterButton;
@@ -29,6 +47,8 @@ export declare class KbqFilters implements OnInit {
29
47
  filteredOptions: Observable<KbqFilter[]>;
30
48
  /** @docs-private */
31
49
  popoverSize: PopUpSizes;
50
+ /** @docs-private */
51
+ popoverOffset: number;
32
52
  /** new filter name for saving */
33
53
  filterName: FormControl<string | null>;
34
54
  /** true if saving a new filter, false if saving changes in filter */
@@ -54,6 +74,8 @@ export declare class KbqFilters implements OnInit {
54
74
  get popoverHeader(): string;
55
75
  /** Component state. true if opened dropdown or popup */
56
76
  get opened(): boolean;
77
+ /** Component state. true if opened dropdown or popup of filterActions */
78
+ get filterActionsOpened(): boolean;
57
79
  /** Selected filter */
58
80
  get filter(): KbqFilter | null;
59
81
  /** Component state. True if 'filters' input contains no elements. */
@@ -61,8 +83,15 @@ export declare class KbqFilters implements OnInit {
61
83
  /** localized data
62
84
  * @docs-private */
63
85
  get localeData(): any;
86
+ /** Current focus origin state.
87
+ * @docs-private */
88
+ get focusOrigin(): FocusOrigin;
89
+ private _focusOrigin;
90
+ private focusedElementBeforeOpen;
64
91
  constructor();
65
92
  ngOnInit(): void;
93
+ /** @docs-private */
94
+ focusedElementBeforeIs(button: KbqButton): boolean;
66
95
  selectFilter(filter: KbqFilter): void;
67
96
  saveChanges(): void;
68
97
  saveAsNew(event?: Event): void;
@@ -71,7 +100,9 @@ export declare class KbqFilters implements OnInit {
71
100
  preparePopover(): void;
72
101
  openSaveAsNewFilterPopover(): void;
73
102
  openChangeFilterNamePopover(): void;
74
- closePopover: () => void;
103
+ /** @docs-private */
104
+ saveFocusedElement(button?: KbqButton): void;
105
+ closePopover: (restoreFocus?: boolean) => void;
75
106
  /** @docs-private */
76
107
  stopEventPropagation(event: Event): void;
77
108
  /** @docs-private */
@@ -79,6 +110,7 @@ export declare class KbqFilters implements OnInit {
79
110
  /** @docs-private */
80
111
  onDropdownOpen(): void;
81
112
  resetFilterChanges(): void;
113
+ removeFilter(): void;
82
114
  /** Hide the popup and restore focus.
83
115
  * Use this method in the onSave, onSaveAsNew, or onChangeFilter events after the data has been successfully saved. */
84
116
  filterSavedSuccessfully(): void;
@@ -108,8 +108,8 @@ export declare class KbqInlineEdit {
108
108
  protected readonly colors: typeof KbqComponentColors;
109
109
  private initialValue;
110
110
  constructor();
111
- /** @docs-private */
112
- protected toggleMode(): void;
111
+ /** Manually switch mode */
112
+ toggleMode(): void;
113
113
  /** @docs-private */
114
114
  protected onClick(event: Event): void;
115
115
  /** @docs-private */
@@ -100,7 +100,7 @@
100
100
  @include _inline-edit-typography();
101
101
 
102
102
  &:not(.kbq-inline-edit_with-label) {
103
- --kbq-inline-edit-padding-horizontal: calc(var(--kbq-size-m) - var(--kbq-size-border-width));
103
+ --kbq-inline-edit-padding-horizontal: var(--kbq-size-m);
104
104
  }
105
105
 
106
106
  &.kbq-inline-edit_with-label {
@@ -31,6 +31,14 @@
31
31
  top: var(--kbq-size-s);
32
32
  bottom: 0;
33
33
  }
34
+
35
+ & + .kbq-navbar-brand.kbq-vertical {
36
+ padding: var(--kbq-size-xxs) var(--kbq-size-m) var(--kbq-size-m);
37
+
38
+ &:after {
39
+ top: 0;
40
+ }
41
+ }
34
42
  }
35
43
 
36
44
  &.kbq-expanded {
@@ -54,10 +54,10 @@ a.kbq-navbar-brand {
54
54
  flex-direction: row;
55
55
  align-items: center;
56
56
 
57
- padding: var(--kbq-size-xxs) var(--kbq-size-m) var(--kbq-size-m);
57
+ padding: var(--kbq-size-m);
58
58
 
59
59
  &:after {
60
- top: 0;
60
+ top: var(--kbq-size-s);
61
61
  right: var(--kbq-size-s);
62
62
  bottom: var(--kbq-size-s);
63
63
  left: var(--kbq-size-s);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koobiq/components",
3
- "version": "19.1.0",
3
+ "version": "19.3.0",
4
4
  "description": "koobiq",
5
5
  "repository": {
6
6
  "type": "git",
@@ -21,12 +21,13 @@
21
21
  },
22
22
  "homepage": "https://github.com/koobiq/angular-components#readme",
23
23
  "peerDependencies": {
24
+ "@angular/animations": "^19.0.0",
24
25
  "@angular/cdk": "^19.0.0",
25
26
  "@angular/core": "^19.0.0",
26
27
  "@angular/forms": "^19.0.0",
27
- "@koobiq/cdk": "19.1.0",
28
- "@koobiq/angular-moment-adapter": "19.1.0",
29
- "@koobiq/angular-luxon-adapter": "19.1.0",
28
+ "@koobiq/cdk": "19.3.0",
29
+ "@koobiq/angular-moment-adapter": "19.3.0",
30
+ "@koobiq/angular-luxon-adapter": "19.3.0",
30
31
  "@koobiq/date-formatter": "^3.2.3",
31
32
  "@koobiq/icons": "^11.1.3",
32
33
  "@koobiq/tokens-builder": "3.11.0",
@@ -249,6 +250,10 @@
249
250
  "types": "./sidepanel/index.d.ts",
250
251
  "default": "./fesm2022/koobiq-components-sidepanel.mjs"
251
252
  },
253
+ "./skeleton": {
254
+ "types": "./skeleton/index.d.ts",
255
+ "default": "./fesm2022/koobiq-components-skeleton.mjs"
256
+ },
252
257
  "./split-button": {
253
258
  "types": "./split-button/index.d.ts",
254
259
  "default": "./fesm2022/koobiq-components-split-button.mjs"
@@ -18,7 +18,7 @@
18
18
  background: var(--kbq-popover-container-background);
19
19
  }
20
20
 
21
- .kbq-popover__close {
21
+ .kbq-popover__close.kbq-popover__close_background-overlay-inverse {
22
22
  background-color: var(--kbq-background-overlay-inverse);
23
23
  }
24
24
 
@@ -1,6 +1,6 @@
1
1
  import { CdkTrapFocus } from '@angular/cdk/a11y';
2
2
  import { CdkScrollable, Overlay, OverlayConfig, ScrollStrategy } from '@angular/cdk/overlay';
3
- import { AfterContentInit, AfterViewInit, ElementRef, EventEmitter, InjectionToken, OnInit, TemplateRef, Type } from '@angular/core';
3
+ import { AfterContentInit, AfterViewInit, DestroyRef, ElementRef, EventEmitter, InjectionToken, OnInit, TemplateRef, Type } from '@angular/core';
4
4
  import { KbqComponentColors, KbqPopUp, KbqPopUpPlacementValues, KbqPopUpSizeValues, KbqPopUpTrigger, KbqStickToWindowPlacementValues } from '@koobiq/components/core';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare const defaultOffsetYWithArrow = 8;
@@ -94,6 +94,8 @@ export declare class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverCompone
94
94
  set closeOnScroll(value: boolean);
95
95
  private _closeOnScroll;
96
96
  get hasClickTrigger(): boolean;
97
+ /** @docs-private */
98
+ get instanceDestroyRef(): DestroyRef;
97
99
  backdropClass: string;
98
100
  arrow: boolean;
99
101
  offset: number | null;
@@ -27,8 +27,8 @@ function ngAdd(options) {
27
27
  }
28
28
  // Installing dependencies
29
29
  utils_packageConfig.addPackageToPackageJson(tree, '@angular/cdk', "^19.2.19");
30
- utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/cdk', "^19.1.0");
31
- utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/angular-luxon-adapter', "^19.1.0");
30
+ utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/cdk', "^19.3.0");
31
+ utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/angular-luxon-adapter', "^19.3.0");
32
32
  utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/date-formatter', "^3.4.0");
33
33
  utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/date-adapter', "^3.4.0");
34
34
  utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/icons', "^11.2.0");
@@ -249,8 +249,9 @@ export declare class KbqSelect extends KbqAbstractSelect implements AfterContent
249
249
  get focused(): boolean;
250
250
  set focused(value: boolean);
251
251
  panelOpen: boolean;
252
+ /** true if virtual scrolling is used. */
253
+ withVirtualScroll: boolean;
252
254
  private _focused;
253
- private withVirtualScroll;
254
255
  get isEmptySearchResult(): boolean;
255
256
  get canShowCleaner(): boolean;
256
257
  get selected(): KbqOptionBase | KbqOptionBase[];
@@ -0,0 +1,2 @@
1
+ export * from './module';
2
+ export * from './skeleton';
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./skeleton";
3
+ export declare class KbqSkeletonModule {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqSkeletonModule, never>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KbqSkeletonModule, never, [typeof i1.KbqSkeleton], [typeof i1.KbqSkeleton]>;
6
+ static ɵinj: i0.ɵɵInjectorDeclaration<KbqSkeletonModule>;
7
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Component representing a skeleton placeholder.
4
+ */
5
+ export declare class KbqSkeleton {
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqSkeleton, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqSkeleton, "kbq-skeleton", ["kbqSkeleton"], {}, {}, never, never, true, never>;
8
+ }
@@ -0,0 +1,41 @@
1
+ @keyframes wave {
2
+ from {
3
+ transform: translateX(calc(var(--kbq-skeleton-wave-width) * -1));
4
+ }
5
+
6
+ to {
7
+ transform: translateX(100vw);
8
+ }
9
+ }
10
+
11
+ .kbq-skeleton {
12
+ --kbq-skeleton-min-height: var(--kbq-size-l);
13
+ --kbq-skeleton-animation-duration: 1.2s;
14
+ --kbq-skeleton-border-radius: var(--kbq-size-xxs);
15
+ --kbq-skeleton-wave-width: 100px;
16
+
17
+ position: relative;
18
+ display: flex;
19
+ min-height: var(--kbq-skeleton-min-height);
20
+ border-radius: var(--kbq-skeleton-border-radius);
21
+ background-color: var(--kbq-skeleton-background);
22
+ overflow: hidden;
23
+ clip-path: inset(0);
24
+ user-select: none;
25
+ pointer-events: none;
26
+
27
+ &::after {
28
+ content: '';
29
+ position: fixed;
30
+ inset-block: 0;
31
+ left: calc(var(--kbq-skeleton-wave-width) * -1);
32
+ width: var(--kbq-skeleton-wave-width);
33
+ background: linear-gradient(
34
+ 90deg,
35
+ var(--kbq-skeleton-animation-wave-start) 0%,
36
+ var(--kbq-skeleton-animation-wave-center) 50%,
37
+ var(--kbq-skeleton-animation-wave-end) 100%
38
+ );
39
+ animation: wave var(--kbq-skeleton-animation-duration) ease-in infinite;
40
+ }
41
+ }
@@ -37,11 +37,13 @@
37
37
 
38
38
  &:not(.kbq-disabled) {
39
39
  &:hover,
40
+ &.kbq-hovered,
40
41
  &.kbq-action-button-focused {
41
42
  @include kbq-tree-option(states-hover);
42
43
  }
43
44
 
44
- &:active {
45
+ &:active,
46
+ &.kbq-active {
45
47
  --kbq-option-background: var(--kbq-tree-states-active-container-background);
46
48
 
47
49
  background: var(--kbq-tree-states-active-container-background);
@@ -50,11 +52,13 @@
50
52
  &.kbq-selected {
51
53
  @include kbq-tree-option(states-selected);
52
54
 
53
- &:hover {
55
+ &:hover,
56
+ &.kbq-hovered {
54
57
  @include kbq-tree-option(states-selected-hover);
55
58
  }
56
59
 
57
- &:active {
60
+ &:active,
61
+ &.kbq-active {
58
62
  --kbq-option-background: var(--kbq-tree-states-selected-active-container-background);
59
63
 
60
64
  background: var(--kbq-tree-states-selected-active-container-background);
@@ -65,11 +69,13 @@
65
69
  &.kbq-tree-option_multiple.kbq-selected {
66
70
  background: var(--kbq-tree-multiple-states-selected-container-background);
67
71
 
68
- &:hover {
72
+ &:hover,
73
+ &.kbq-hovered {
69
74
  background: var(--kbq-tree-multiple-states-selected-hover-container-background);
70
75
  }
71
76
 
72
- &:active {
77
+ &:active,
78
+ &.kbq-active {
73
79
  background: var(--kbq-tree-multiple-states-selected-active-container-background);
74
80
  }
75
81
  }
@@ -58,6 +58,7 @@
58
58
  cursor: pointer;
59
59
 
60
60
  &:hover,
61
+ &.kbq-hovered,
61
62
  &.kbq-action-button-focused {
62
63
  & .kbq-action-container {
63
64
  display: flex;
@@ -40,7 +40,8 @@ export declare class KbqTreeNavigationChange<T> {
40
40
  export declare class KbqTreeSelectionChange<T> {
41
41
  source: KbqTreeSelection;
42
42
  option: T;
43
- constructor(source: KbqTreeSelection, option: T);
43
+ options?: T[] | undefined;
44
+ constructor(source: KbqTreeSelection, option: T, options?: T[] | undefined);
44
45
  }
45
46
  interface SelectionModelOption {
46
47
  id: number | string;
@@ -64,7 +64,8 @@ export declare class KbqTreeSelectChange {
64
64
  source: KbqTreeSelect;
65
65
  value: any;
66
66
  isUserInput: boolean;
67
- constructor(source: KbqTreeSelect, value: any, isUserInput?: boolean);
67
+ values?: unknown[] | undefined;
68
+ constructor(source: KbqTreeSelect, value: any, isUserInput?: boolean, values?: unknown[] | undefined);
68
69
  }
69
70
  export declare class KbqTreeSelect extends KbqAbstractSelect implements AfterContentInit, AfterViewInit, OnDestroy, OnInit, DoCheck, ControlValueAccessor, KbqFormFieldControl<KbqTreeOption>, CanUpdateErrorState {
70
71
  elementRef: ElementRef<HTMLElement>;