@koobiq/components 19.7.0 → 19.8.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 (150) hide show
  1. package/accordion/accordion-content.directive.d.ts +1 -0
  2. package/autocomplete/autocomplete-trigger.directive.d.ts +2 -1
  3. package/autocomplete/autocomplete.component.d.ts +7 -1
  4. package/code-block/_code-block-theme.scss +1 -10
  5. package/code-block/code-block-highlight.d.ts +61 -7
  6. package/code-block/code-block-tokens.scss +5 -10
  7. package/code-block/code-block.d.ts +10 -1
  8. package/code-block/code-block.scss +8 -7
  9. package/core/forms/forms-tokens.scss +1 -1
  10. package/core/option/option.d.ts +2 -1
  11. package/core/styles/common/_groups-mixins.scss +2 -2
  12. package/core/styles/common/_groups.scss +6 -6
  13. package/dropdown/dropdown-item.scss +9 -6
  14. package/dropdown/dropdown-tokens.scss +1 -1
  15. package/dropdown/dropdown-trigger.directive.d.ts +8 -1
  16. package/dropdown/dropdown.component.d.ts +6 -6
  17. package/dropdown/dropdown.scss +1 -1
  18. package/dropdown/dropdown.types.d.ts +19 -7
  19. package/fesm2022/koobiq-components-accordion.mjs +32 -29
  20. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  21. package/fesm2022/koobiq-components-actions-panel.mjs +10 -10
  22. package/fesm2022/koobiq-components-alert.mjs +16 -16
  23. package/fesm2022/koobiq-components-app-switcher.mjs +25 -25
  24. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  25. package/fesm2022/koobiq-components-autocomplete.mjs +35 -23
  26. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  27. package/fesm2022/koobiq-components-badge.mjs +13 -13
  28. package/fesm2022/koobiq-components-breadcrumbs.mjs +25 -25
  29. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  30. package/fesm2022/koobiq-components-button-toggle.mjs +10 -10
  31. package/fesm2022/koobiq-components-button.mjs +19 -19
  32. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  33. package/fesm2022/koobiq-components-checkbox.mjs +10 -10
  34. package/fesm2022/koobiq-components-clamped-text.mjs +13 -13
  35. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  36. package/fesm2022/koobiq-components-code-block.mjs +118 -46
  37. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  38. package/fesm2022/koobiq-components-content-panel.mjs +28 -28
  39. package/fesm2022/koobiq-components-core.mjs +219 -220
  40. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  41. package/fesm2022/koobiq-components-datepicker.mjs +37 -42
  42. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  43. package/fesm2022/koobiq-components-divider.mjs +7 -7
  44. package/fesm2022/koobiq-components-dl.mjs +13 -13
  45. package/fesm2022/koobiq-components-dropdown.mjs +69 -38
  46. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  47. package/fesm2022/koobiq-components-dynamic-translation.mjs +13 -13
  48. package/fesm2022/koobiq-components-ellipsis-center.mjs +7 -7
  49. package/fesm2022/koobiq-components-empty-state.mjs +19 -19
  50. package/fesm2022/koobiq-components-file-upload.mjs +39 -39
  51. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  52. package/fesm2022/koobiq-components-filter-bar.mjs +85 -85
  53. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  54. package/fesm2022/koobiq-components-form-field.mjs +83 -81
  55. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  56. package/fesm2022/koobiq-components-icon.mjs +343 -21
  57. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  58. package/fesm2022/koobiq-components-inline-edit.mjs +19 -17
  59. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  60. package/fesm2022/koobiq-components-input.mjs +22 -22
  61. package/fesm2022/koobiq-components-link.mjs +7 -7
  62. package/fesm2022/koobiq-components-list.mjs +19 -19
  63. package/fesm2022/koobiq-components-loader-overlay.mjs +16 -16
  64. package/fesm2022/koobiq-components-markdown.mjs +10 -10
  65. package/fesm2022/koobiq-components-modal.mjs +28 -28
  66. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  67. package/fesm2022/koobiq-components-navbar-ic.mjs +40 -40
  68. package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -1
  69. package/fesm2022/koobiq-components-navbar.mjs +82 -56
  70. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  71. package/fesm2022/koobiq-components-notification-center.mjs +16 -16
  72. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  73. package/fesm2022/koobiq-components-overflow-items.mjs +16 -16
  74. package/fesm2022/koobiq-components-popover.mjs +18 -18
  75. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  76. package/fesm2022/koobiq-components-progress-bar.mjs +13 -13
  77. package/fesm2022/koobiq-components-progress-spinner.mjs +13 -13
  78. package/fesm2022/koobiq-components-radio.mjs +10 -10
  79. package/fesm2022/koobiq-components-resizer.mjs +10 -10
  80. package/fesm2022/koobiq-components-risk-level.mjs +7 -7
  81. package/fesm2022/koobiq-components-scrollbar.mjs +12 -12
  82. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  83. package/fesm2022/koobiq-components-search-expandable.mjs +7 -7
  84. package/fesm2022/koobiq-components-select.mjs +129 -64
  85. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-sidebar.mjs +13 -13
  87. package/fesm2022/koobiq-components-sidepanel.mjs +28 -28
  88. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  89. package/fesm2022/koobiq-components-skeleton.mjs +10 -10
  90. package/fesm2022/koobiq-components-split-button.mjs +7 -7
  91. package/fesm2022/koobiq-components-splitter.mjs +16 -16
  92. package/fesm2022/koobiq-components-table.mjs +10 -10
  93. package/fesm2022/koobiq-components-tabs.mjs +52 -52
  94. package/fesm2022/koobiq-components-tags.mjs +38 -31
  95. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-textarea.mjs +7 -7
  97. package/fesm2022/koobiq-components-time-range.mjs +22 -22
  98. package/fesm2022/koobiq-components-timepicker.mjs +11 -26
  99. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-timezone.mjs +58 -37
  101. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-title.mjs +7 -7
  103. package/fesm2022/koobiq-components-toast.mjs +58 -39
  104. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  105. package/fesm2022/koobiq-components-toggle.mjs +7 -7
  106. package/fesm2022/koobiq-components-tooltip.mjs +16 -16
  107. package/fesm2022/koobiq-components-top-bar.mjs +17 -25
  108. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  109. package/fesm2022/koobiq-components-tree-select.mjs +14 -8
  110. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  111. package/fesm2022/koobiq-components-tree.mjs +74 -39
  112. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  113. package/fesm2022/koobiq-components-username.mjs +28 -28
  114. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  115. package/file-upload/multiple-file-upload.component.scss +6 -0
  116. package/file-upload/single-file-upload.component.scss +6 -0
  117. package/form-field/_form-field-theme.scss +9 -4
  118. package/form-field/fieldset-tokens.scss +1 -0
  119. package/form-field/fieldset.scss +1 -0
  120. package/form-field/form-field-tokens.scss +1 -0
  121. package/form-field/password-toggle.scss +1 -1
  122. package/icon/icon-button.scss +5 -0
  123. package/icon/icon-item.scss +5 -0
  124. package/icon/icon-registry-providers.d.ts +34 -0
  125. package/icon/icon-registry.d.ts +50 -0
  126. package/icon/icon.component.d.ts +16 -3
  127. package/icon/icon.scss +7 -0
  128. package/icon/public-api.d.ts +2 -0
  129. package/inline-edit/inline-edit.d.ts +3 -1
  130. package/inline-edit/inline-edit.scss +1 -11
  131. package/link/_link-theme.scss +9 -2
  132. package/navbar/_navbar-theme.scss +0 -4
  133. package/navbar/navbar-brand.component.d.ts +3 -1
  134. package/navbar/navbar-item.component.d.ts +1 -0
  135. package/navbar/navbar.component.d.ts +1 -0
  136. package/package.json +4 -4
  137. package/popover/popover.scss +3 -3
  138. package/prebuilt-themes/dark-theme.css +1 -1
  139. package/prebuilt-themes/light-theme.css +1 -1
  140. package/prebuilt-themes/theme.css +1 -1
  141. package/schematics/ng-add/index.js +4 -4
  142. package/scrollbar/scrollbar-tokens.scss +1 -1
  143. package/select/select-option.directive.d.ts +9 -10
  144. package/select/select.component.d.ts +42 -3
  145. package/timepicker/timepicker.directive.d.ts +1 -0
  146. package/timezone/timezone-option.directive.d.ts +12 -9
  147. package/toast/toast.service.d.ts +5 -3
  148. package/top-bar/top-bar.d.ts +0 -7
  149. package/top-bar/top-bar.scss +3 -9
  150. package/tree/tree-selection.component.d.ts +7 -0
@@ -1,11 +1,11 @@
1
1
  import { Directionality } from '@angular/cdk/bidi';
2
2
  import { SelectionModel } from '@angular/cdk/collections';
3
3
  import { CdkConnectedOverlay, CdkOverlayOrigin, ConnectedPosition, OverlayContainer } from '@angular/cdk/overlay';
4
- import { CdkVirtualForOf } from '@angular/cdk/scrolling';
4
+ import { CdkVirtualForOf, CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
5
5
  import { AfterContentInit, ChangeDetectorRef, DestroyRef, DoCheck, ElementRef, EventEmitter, InjectionToken, NgZone, OnDestroy, OnInit, Provider, QueryList, Renderer2, TemplateRef } from '@angular/core';
6
6
  import { ControlValueAccessor, FormGroupDirective, NgControl, NgForm } from '@angular/forms';
7
7
  import { ActiveDescendantKeyManager } from '@koobiq/cdk/a11y';
8
- import { CanUpdateErrorState, ErrorStateMatcher, KbqAbstractSelect, KbqComponentColors, KbqLocaleService, KbqOptgroup, KbqOption, KbqOptionBase, KbqOptionSelectionChange, KbqSelectMatcher, KbqSelectSearch, KbqSelectSearchEmptyResult, KbqSelectTrigger } from '@koobiq/components/core';
8
+ import { CanUpdateErrorState, ErrorStateMatcher, KbqAbstractSelect, KbqComponentColors, KbqLocaleService, KbqOptgroup, KbqOption, KbqOptionBase, KbqOptionSelectionChange, KbqSelectMatcher, KbqSelectSearch, KbqSelectSearchEmptyResult, KbqSelectTrigger, KbqVirtualOption } from '@koobiq/components/core';
9
9
  import { KbqCleaner, KbqFormField, KbqFormFieldControl } from '@koobiq/components/form-field';
10
10
  import { KbqTag } from '@koobiq/components/tags';
11
11
  import { Observable, Subject } from 'rxjs';
@@ -156,6 +156,8 @@ export declare class KbqSelect extends KbqAbstractSelect implements AfterContent
156
156
  footer?: ElementRef;
157
157
  /** Reference to the CDK virtual scroll directive for virtual scrolling support. */
158
158
  cdkVirtualForOf?: CdkVirtualForOf<any>;
159
+ /** Reference to the CDK virtual scroll viewport for tracking scroll position in virtual mode. */
160
+ virtualScrollViewport?: CdkVirtualScrollViewport;
159
161
  /** Query list of tags displayed in multiple selection mode. */
160
162
  tags: QueryList<KbqTag>;
161
163
  /** User-supplied override of the trigger element for custom rendering. */
@@ -230,6 +232,13 @@ export declare class KbqSelect extends KbqAbstractSelect implements AfterContent
230
232
  * @docs-private
231
233
  */
232
234
  readonly valueChange: EventEmitter<any>;
235
+ /**
236
+ * Distance in pixels from the bottom of the options panel at which `scrolledToBottom` fires.
237
+ * Default `0` — emits only when the panel is fully scrolled to the bottom.
238
+ */
239
+ scrolledToBottomOffset: number;
240
+ /** Emits when the options panel is scrolled to (or within `scrolledToBottomOffset` of) the bottom. */
241
+ readonly scrolledToBottom: EventEmitter<void>;
233
242
  /**
234
243
  * Whether the overlay should have a backdrop.
235
244
  * When true, clicking the backdrop will close the select.
@@ -266,6 +275,20 @@ export declare class KbqSelect extends KbqAbstractSelect implements AfterContent
266
275
  */
267
276
  get compareWith(): (o1: any, o2: any) => boolean;
268
277
  set compareWith(fn: (o1: any, o2: any) => boolean);
278
+ /**
279
+ * Factory used to construct a `KbqVirtualOption` for selected values whose
280
+ * `KbqOption` is not currently rendered (e.g. virtual scroll out of viewport,
281
+ * programmatically set initial value, `showPreselectedValues`).
282
+ *
283
+ * Required when option values are objects so the trigger (and tags in
284
+ * multiple mode) can render a human-readable label. Also lets consumers
285
+ * customise per-value `disabled` state or any future `KbqVirtualOption`
286
+ * fields without adding new `@Input`s.
287
+ *
288
+ * Defaults to `new KbqVirtualOption(value, this.disabled)`, which is correct
289
+ * for primitive values where `value` itself is the display label.
290
+ */
291
+ virtualOptionFactory?: (value: any) => KbqVirtualOption;
269
292
  /**
270
293
  * Function for handling the Ctrl + A (select all) keyboard combination.
271
294
  * By default, the internal handler selects all options.
@@ -341,6 +364,8 @@ export declare class KbqSelect extends KbqAbstractSelect implements AfterContent
341
364
  get multiSelection(): boolean;
342
365
  /** Subscription to the close event of the overlay. */
343
366
  private closeSubscription;
367
+ /** Subscription to the options panel scroll event used by `scrolledToBottom`. */
368
+ private scrollSubscription;
344
369
  /** The scroll position of the overlay panel, calculated to center the selected option. */
345
370
  private scrollTop;
346
371
  /** Unique id for this input. Auto-incremented for each instance. */
@@ -507,6 +532,13 @@ export declare class KbqSelect extends KbqAbstractSelect implements AfterContent
507
532
  private getHeightOfOptionsContainer;
508
533
  /** Updates the keyboard manager scroll size based on options container height. */
509
534
  private updateScrollSize;
535
+ /**
536
+ * Subscribes to scroll events of the options panel and emits `scrolledToBottom`
537
+ * when the panel reaches `scrolledToBottomOffset` pixels from the bottom.
538
+ * Re-subscribes on every panel attach; auto-unsubscribes when the panel closes
539
+ * or the component is destroyed.
540
+ */
541
+ private subscribeToScrolledToBottom;
510
542
  /** Calculates the total width of all selected items in the matcher. */
511
543
  private getTotalItemsWidthInMatcher;
512
544
  /**
@@ -541,6 +573,12 @@ export declare class KbqSelect extends KbqAbstractSelect implements AfterContent
541
573
  * @returns Option that has the corresponding value.
542
574
  */
543
575
  private selectValue;
576
+ /**
577
+ * Single entry point for building a `KbqVirtualOption` from a raw value.
578
+ * Uses the consumer-provided `virtualOptionFactory` when set, otherwise
579
+ * wraps the raw value with the select's current `disabled` state.
580
+ */
581
+ private createVirtualOption;
544
582
  /** Sets up a key manager to listen to keyboard events on the overlay panel. */
545
583
  private initKeyManager;
546
584
  /** Drops current option subscriptions and IDs and resets from scratch. */
@@ -579,8 +617,9 @@ export declare class KbqSelect extends KbqAbstractSelect implements AfterContent
579
617
  /** Removes the dropdown class from the overlay container when select closes. */
580
618
  private removeClassFromOverlayContainer;
581
619
  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; }]>;
582
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqSelect, "kbq-select", ["kbqSelect"], { "hiddenItemsText": { "alias": "hiddenItemsText"; "required": false; }; "showPreselectedValues": { "alias": "showPreselectedValues"; "required": false; }; "triggerValuesLimit": { "alias": "triggerValuesLimit"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "sortComparator": { "alias": "sortComparator"; "required": false; }; "multiline": { "alias": "multiline"; "required": false; }; "searchMinOptionsThreshold": { "alias": "searchMinOptionsThreshold"; "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"; "beforeOpened": "beforeOpened"; "openedStream": "opened"; "closedStream": "closed"; "selectionChange": "selectionChange"; "valueChange": "valueChange"; }, ["footer", "cdkVirtualForOf", "customTrigger", "customMatcher", "customTagTemplateRef", "cleaner", "search", "searchEmpty", "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]"], true, never>;
620
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqSelect, "kbq-select", ["kbqSelect"], { "hiddenItemsText": { "alias": "hiddenItemsText"; "required": false; }; "showPreselectedValues": { "alias": "showPreselectedValues"; "required": false; }; "triggerValuesLimit": { "alias": "triggerValuesLimit"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "sortComparator": { "alias": "sortComparator"; "required": false; }; "multiline": { "alias": "multiline"; "required": false; }; "searchMinOptionsThreshold": { "alias": "searchMinOptionsThreshold"; "required": false; }; "scrolledToBottomOffset": { "alias": "scrolledToBottomOffset"; "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; }; "virtualOptionFactory": { "alias": "virtualOptionFactory"; "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"; "beforeOpened": "beforeOpened"; "openedStream": "opened"; "closedStream": "closed"; "selectionChange": "selectionChange"; "valueChange": "valueChange"; "scrolledToBottom": "scrolledToBottom"; }, ["footer", "cdkVirtualForOf", "virtualScrollViewport", "customTrigger", "customMatcher", "customTagTemplateRef", "cleaner", "search", "searchEmpty", "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]"], true, never>;
583
621
  static ngAcceptInputType_multiline: unknown;
622
+ static ngAcceptInputType_scrolledToBottomOffset: unknown;
584
623
  static ngAcceptInputType_multiple: unknown;
585
624
  static ngAcceptInputType_panelMinWidth: unknown;
586
625
  static ngAcceptInputType_tabIndex: unknown;
@@ -86,6 +86,7 @@ export declare class KbqTimepicker<D> implements KbqFormFieldControl<D>, Control
86
86
  /** @docs-private */
87
87
  get errorState(): boolean;
88
88
  set errorState(value: boolean);
89
+ private readonly useLegacyValidation;
89
90
  private readonly uid;
90
91
  private readonly validator;
91
92
  private lastValueValid;
@@ -1,18 +1,21 @@
1
- import { AfterViewInit, ChangeDetectorRef, OnDestroy } from '@angular/core';
1
+ import { AfterViewInit, OnDestroy } from '@angular/core';
2
2
  import { KbqTooltipTrigger } from '@koobiq/components/tooltip';
3
- import { KbqTimezoneOption } from './timezone-option.component';
4
3
  import * as i0 from "@angular/core";
5
4
  export declare const TOOLTIP_VISIBLE_ROWS_COUNT = 3;
6
5
  export declare class KbqTimezoneOptionTooltip extends KbqTooltipTrigger implements AfterViewInit, OnDestroy {
7
- private changeDetectorRef;
8
- private option;
9
- private resizeObserver;
10
- private resizeObserverSubscription;
11
- constructor(changeDetectorRef: ChangeDetectorRef, option: KbqTimezoneOption);
6
+ private readonly option;
7
+ private readonly changeDetectorRef;
8
+ private readonly resizeObserver;
9
+ private readonly contentObserver;
10
+ private readonly debounceInterval;
11
+ private resizeSubscription;
12
+ private contentObserverSubscription;
13
+ private focusMonitorSubscription;
14
+ constructor();
12
15
  ngAfterViewInit(): void;
13
16
  ngOnDestroy(): void;
14
- onMouseEnter(): void;
15
- onMouseLeave(): void;
17
+ handleElementEnter(): void;
18
+ handleElementLeave(): void;
16
19
  private checkTooltipDisabled;
17
20
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqTimezoneOptionTooltip, never>;
18
21
  static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTimezoneOptionTooltip, "kbq-timezone-option", never, {}, {}, never, never, true, never>;
@@ -6,6 +6,7 @@ import { KbqToastComponent } from './toast.component';
6
6
  import { KbqToastConfig, KbqToastData } from './toast.type';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare const KBQ_TOAST_FACTORY: InjectionToken<typeof KbqToastComponent>;
9
+ /** Generic `T` is a type hint only; the runtime component comes from `KBQ_TOAST_FACTORY`. */
9
10
  export declare class KbqToastService<T extends KbqToastComponent = KbqToastComponent> implements OnDestroy {
10
11
  private overlay;
11
12
  private injector;
@@ -20,10 +21,11 @@ export declare class KbqToastService<T extends KbqToastComponent = KbqToastCompo
20
21
  readonly focused: BehaviorSubject<boolean>;
21
22
  readonly animation: BehaviorSubject<AnimationEvent | null>;
22
23
  timer: import("rxjs").Observable<number>;
23
- private containerInstance;
24
- private overlayRef;
25
- private portal;
24
+ private containerInstance?;
25
+ private overlayRef?;
26
+ private portal?;
26
27
  private timerSubscription;
28
+ private currentPosition?;
27
29
  private toastsDict;
28
30
  private templatesDict;
29
31
  constructor(overlay: Overlay, injector: Injector, overlayContainer: OverlayContainer, ngZone: NgZone, toastFactory: any, toastConfig: KbqToastConfig);
@@ -1,4 +1,3 @@
1
- import { KbqOverflowItems } from '@koobiq/components/overflow-items';
2
1
  import * as i0 from "@angular/core";
3
2
  export declare class KbqTopBarSpacer {
4
3
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqTopBarSpacer, never>;
@@ -12,12 +11,6 @@ export declare class KbqTopBarContainer {
12
11
  * Conditionally applies a CSS class based on the value
13
12
  */
14
13
  readonly placement: import("@angular/core").InputSignal<"start" | "end">;
15
- /**
16
- * Track if container has `KbqOverflowItems` directive assigned.
17
- * Used to replace `gap` with `margin` so `KbqOverflowItems` will calculate correct width on resize.
18
- * @docs-private
19
- */
20
- protected readonly overflowItems: KbqOverflowItems | null;
21
14
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqTopBarContainer, never>;
22
15
  static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTopBarContainer, "[kbqTopBarContainer]", never, { "placement": { "alias": "placement"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
23
16
  }
@@ -45,7 +45,7 @@
45
45
  }
46
46
 
47
47
  .kbq-top-bar-container {
48
- &:has(> .kbq-overflow-items) {
48
+ &:has(.kbq-overflow-items) {
49
49
  gap: unset;
50
50
  overflow: hidden;
51
51
  // reduce height added by overflow-items' padding
@@ -53,10 +53,6 @@
53
53
  margin-bottom: calc(-1 * var(--kbq-size-border-width));
54
54
  }
55
55
 
56
- .kbq-overflow-items {
57
- @include _overflow-items-margins;
58
- }
59
-
60
56
  &.kbq-top-bar-container__start {
61
57
  display: flex;
62
58
  gap: var(--kbq-top-bar-container-start-gap);
@@ -71,10 +67,8 @@
71
67
  justify-content: end;
72
68
  }
73
69
 
74
- &.kbq-top-bar-container__with-overflow-items {
75
- gap: unset;
76
- justify-content: unset;
77
-
70
+ &.kbq-overflow-items,
71
+ > .kbq-overflow-items {
78
72
  @include _overflow-items-margins;
79
73
  }
80
74
  }
@@ -69,6 +69,7 @@ export declare class KbqTreeSelection extends KbqTreeBase<any> implements Contro
69
69
  readonly onSelectAll: EventEmitter<KbqTreeSelectAllEvent<KbqTreeOption>>;
70
70
  readonly onCopy: EventEmitter<KbqTreeCopyEvent<KbqTreeOption>>;
71
71
  private sortedNodes;
72
+ private lastSyncedDataNodes;
72
73
  get autoSelect(): boolean;
73
74
  set autoSelect(value: boolean);
74
75
  private _autoSelect;
@@ -119,6 +120,12 @@ export declare class KbqTreeSelection extends KbqTreeBase<any> implements Contro
119
120
  */
120
121
  setDisabledState(isDisabled: boolean): void;
121
122
  setOptionsFromValues(values: any[]): void;
123
+ /**
124
+ * Rebinds orphan node references in selectionModel to current treeControl.dataNodes by value.
125
+ * Needed after dataSource.data is replaced — selectionModel holds references to old node
126
+ * objects, but options render with new ones, so toggle()/isSelected() break on identity.
127
+ */
128
+ private syncSelectionModelToDataNodes;
122
129
  getSelectedValues(): any[];
123
130
  getItemHeight(): number;
124
131
  setStateChildren(option: KbqTreeOption, state: boolean): void;