@coreui/angular-pro 5.0.0-alpha.5 → 5.0.0-alpha.6

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.
@@ -1,15 +1,15 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive, Input, ElementRef, inject, Renderer2, booleanAttribute, NgModule, HostBinding, Injectable, Component, EventEmitter, Output, ContentChildren, HostListener, RendererFactory2, DestroyRef, Pipe, signal, computed, numberAttribute, ViewChildren, Inject, ViewChild, forwardRef, Optional, ContentChild, ChangeDetectionStrategy, NgZone, effect, PLATFORM_ID, TemplateRef, ViewContainerRef } from '@angular/core';
2
+ import { Directive, Input, ElementRef, inject, Renderer2, booleanAttribute, NgModule, HostBinding, Injectable, Component, EventEmitter, Output, ContentChildren, HostListener, RendererFactory2, DestroyRef, Pipe, signal, computed, numberAttribute, ViewChildren, PLATFORM_ID, Inject, ViewChild, forwardRef, Optional, ContentChild, ChangeDetectionStrategy, NgZone, effect, TemplateRef, ViewContainerRef } from '@angular/core';
3
3
  import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
4
4
  import * as i3 from '@angular/common';
5
- import { NgTemplateOutlet, NgIf, NgClass, DOCUMENT, NgForOf, AsyncPipe, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, CommonModule, formatDate, I18nPluralPipe, isPlatformBrowser, JsonPipe } from '@angular/common';
5
+ import { NgTemplateOutlet, NgIf, NgClass, DOCUMENT, NgForOf, AsyncPipe, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, isPlatformServer, CommonModule, formatDate, I18nPluralPipe, isPlatformBrowser, JsonPipe } from '@angular/common';
6
6
  import * as i1 from '@angular/animations';
7
7
  import { animate, animation, style, useAnimation, state, transition, trigger, query, group } from '@angular/animations';
8
- import { Subject, BehaviorSubject, Observable, fromEvent, withLatestFrom, zipWith, skip, distinctUntilChanged as distinctUntilChanged$1, map as map$1, debounceTime as debounceTime$1 } from 'rxjs';
8
+ import { Subject, BehaviorSubject, Observable, fromEvent, skip, distinctUntilChanged as distinctUntilChanged$1, map as map$1, debounceTime as debounceTime$1 } from 'rxjs';
9
9
  import * as i1$1 from '@angular/router';
10
10
  import { RouterModule, NavigationEnd, RouterLink } from '@angular/router';
11
11
  import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';
12
- import { filter, tap, distinctUntilChanged, take, debounceTime, map, delay, combineLatestWith } from 'rxjs/operators';
12
+ import { filter, tap, distinctUntilChanged, take, finalize, withLatestFrom, zipWith, debounceTime, map, delay, combineLatestWith } from 'rxjs/operators';
13
13
  import * as i1$2 from '@angular/cdk/a11y';
14
14
  import { FocusMonitor, A11yModule, FocusKeyManager } from '@angular/cdk/a11y';
15
15
  import * as i1$3 from '@angular/forms';
@@ -1376,7 +1376,7 @@ class BackdropService {
1376
1376
  get #scrollbarWidth() {
1377
1377
  // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
1378
1378
  const documentWidth = this.#document.documentElement.clientWidth;
1379
- const scrollbarWidth = Math.abs((window?.innerWidth ?? documentWidth) - documentWidth);
1379
+ const scrollbarWidth = Math.abs((this.#document.defaultView?.innerWidth ?? documentWidth) - documentWidth);
1380
1380
  return `${scrollbarWidth}px`;
1381
1381
  }
1382
1382
  setBackdrop(type = 'modal') {
@@ -3957,34 +3957,50 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
3957
3957
 
3958
3958
  class IntersectionService {
3959
3959
  constructor() {
3960
- this.intersecting = new BehaviorSubject(false);
3961
- this.intersecting$ = this.intersecting.asObservable();
3960
+ this.platformId = inject(PLATFORM_ID);
3961
+ this.#intersecting = new BehaviorSubject({ isIntersecting: false });
3962
+ this.intersecting$ = this.#intersecting.asObservable();
3962
3963
  this.defaultObserverOptions = {
3963
3964
  root: null,
3964
3965
  rootMargin: '0px',
3965
3966
  threshold: 0.2
3966
3967
  };
3968
+ this.hostElementRefs = new Map();
3967
3969
  }
3970
+ #intersecting;
3968
3971
  createIntersectionObserver(hostElement, observerOptions = this.defaultObserverOptions) {
3972
+ if (isPlatformServer(this.platformId)) {
3973
+ this.#intersecting.next({ isIntersecting: true, hostElement });
3974
+ return;
3975
+ }
3969
3976
  const options = { ...this.defaultObserverOptions, ...observerOptions };
3970
- this.hostElement = hostElement;
3971
3977
  const handleIntersect = (entries, observer) => {
3972
3978
  entries.forEach((entry) => {
3973
- this.intersecting.next(entry.isIntersecting);
3979
+ this.#intersecting.next({ isIntersecting: entry.isIntersecting, hostElement });
3974
3980
  });
3975
3981
  };
3976
- this.intersectionObserver = new IntersectionObserver(handleIntersect, options);
3977
- this.intersectionObserver.observe(hostElement.nativeElement);
3982
+ this.hostElementRefs.set(hostElement, new IntersectionObserver(handleIntersect, options));
3983
+ this.hostElementRefs.get(hostElement)?.observe(hostElement.nativeElement);
3984
+ }
3985
+ unobserve(elementRef) {
3986
+ this.hostElementRefs.get(elementRef)?.unobserve(elementRef.nativeElement);
3987
+ this.hostElementRefs.set(elementRef, null);
3988
+ this.hostElementRefs.delete(elementRef);
3978
3989
  }
3979
3990
  ngOnDestroy() {
3980
- this.intersectionObserver?.unobserve(this.hostElement?.nativeElement);
3991
+ this.hostElementRefs.forEach((observer, elementRef) => {
3992
+ observer?.unobserve(elementRef.nativeElement);
3993
+ });
3981
3994
  }
3982
3995
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IntersectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3983
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IntersectionService }); }
3996
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IntersectionService, providedIn: 'root' }); }
3984
3997
  }
3985
3998
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IntersectionService, decorators: [{
3986
- type: Injectable
3987
- }], ctorParameters: () => [] });
3999
+ type: Injectable,
4000
+ args: [{
4001
+ providedIn: 'root'
4002
+ }]
4003
+ }] });
3988
4004
 
3989
4005
  class ListenersService {
3990
4006
  constructor(renderer) {
@@ -4025,6 +4041,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
4025
4041
  type: Injectable
4026
4042
  }], ctorParameters: () => [{ type: i0.Renderer2 }] });
4027
4043
 
4044
+ class ClassToggleService {
4045
+ constructor(document, rendererFactory) {
4046
+ this.document = document;
4047
+ this.rendererFactory = rendererFactory;
4048
+ this.renderer = rendererFactory.createRenderer(null, null);
4049
+ }
4050
+ toggle(selector, className) {
4051
+ const element = document.querySelector(selector);
4052
+ if (element) {
4053
+ element.classList.contains(className) ?
4054
+ this.renderer.removeClass(element, className) :
4055
+ this.renderer.addClass(element, className);
4056
+ }
4057
+ }
4058
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClassToggleService, deps: [{ token: DOCUMENT }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
4059
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClassToggleService, providedIn: 'root' }); }
4060
+ }
4061
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClassToggleService, decorators: [{
4062
+ type: Injectable,
4063
+ args: [{
4064
+ providedIn: 'root'
4065
+ }]
4066
+ }], ctorParameters: () => [{ type: Document, decorators: [{
4067
+ type: Inject,
4068
+ args: [DOCUMENT]
4069
+ }] }, { type: i0.RendererFactory2 }] });
4070
+
4028
4071
  class CarouselService {
4029
4072
  constructor() {
4030
4073
  this.carouselIndex = new BehaviorSubject({});
@@ -4192,6 +4235,7 @@ class CarouselComponent {
4192
4235
  */
4193
4236
  this.itemChange = new EventEmitter();
4194
4237
  this.activeItemInterval = 0;
4238
+ this.#destroyRef = inject(DestroyRef);
4195
4239
  this._visible = true;
4196
4240
  Object.assign(this, config);
4197
4241
  }
@@ -4202,41 +4246,21 @@ class CarouselComponent {
4202
4246
  'carousel-fade': this.transition === 'crossfade'
4203
4247
  };
4204
4248
  }
4205
- get visible() {
4206
- return this._visible;
4207
- }
4208
- set visible(value) {
4209
- this._visible = value;
4210
- }
4249
+ #destroyRef;
4211
4250
  ngOnInit() {
4212
4251
  this.carouselStateSubscribe();
4213
4252
  }
4214
4253
  ngOnDestroy() {
4254
+ this.resetTimer();
4215
4255
  this.clearListeners();
4216
- this.carouselStateSubscribe(false);
4217
- this.intersectionServiceSubscribe(false);
4218
4256
  this.swipeSubscribe(false);
4219
4257
  }
4220
4258
  ngAfterContentInit() {
4221
- this.intersectionService.createIntersectionObserver(this.hostElement);
4222
4259
  this.intersectionServiceSubscribe();
4223
4260
  this.carouselState.state = { activeItemIndex: this.activeIndex, animate: this.animate };
4224
4261
  this.setListeners();
4225
4262
  this.swipeSubscribe();
4226
4263
  }
4227
- setTimer() {
4228
- const interval = this.activeItemInterval || 0;
4229
- this.resetTimer();
4230
- if (interval > 0) {
4231
- this.timerId = setTimeout(() => {
4232
- const nextIndex = this.carouselState.direction(this.direction);
4233
- this.carouselState.state = { activeItemIndex: nextIndex };
4234
- }, interval);
4235
- }
4236
- }
4237
- resetTimer() {
4238
- clearTimeout(this.timerId);
4239
- }
4240
4264
  setListeners() {
4241
4265
  const config = {
4242
4266
  hostElement: this.hostElement,
@@ -4253,39 +4277,56 @@ class CarouselComponent {
4253
4277
  clearListeners() {
4254
4278
  this.listenersService.clearListeners();
4255
4279
  }
4256
- carouselStateSubscribe(subscribe = true) {
4257
- if (subscribe) {
4258
- this.carouselIndexSubscription = this.carouselService.carouselIndex$.subscribe((nextItem) => {
4259
- if ('active' in nextItem) {
4260
- this.itemChange.emit(nextItem.active);
4261
- }
4262
- this.activeItemInterval = typeof nextItem.interval === 'number' && nextItem.interval > -1 ? nextItem.interval : this.interval;
4263
- const isLastItem = ((nextItem.active === nextItem.lastItemIndex) && this.direction === 'next') || ((nextItem.active === 0) && this.direction === 'prev');
4264
- !this.wrap && isLastItem ? this.resetTimer() : this.setTimer();
4265
- });
4266
- }
4267
- else {
4268
- this.carouselIndexSubscription?.unsubscribe();
4269
- }
4280
+ set visible(value) {
4281
+ this._visible = value;
4270
4282
  }
4271
- intersectionServiceSubscribe(subscribe = true) {
4272
- if (subscribe) {
4273
- this.intersectingSubscription = this.intersectionService.intersecting$.subscribe(isIntersecting => {
4274
- this.visible = isIntersecting;
4275
- isIntersecting ? this.setTimer() : this.resetTimer();
4276
- });
4277
- }
4278
- else {
4279
- this.intersectingSubscription?.unsubscribe();
4283
+ get visible() {
4284
+ return this._visible;
4285
+ }
4286
+ setTimer() {
4287
+ const interval = this.activeItemInterval || 0;
4288
+ this.resetTimer();
4289
+ if (interval > 0) {
4290
+ this.timerId = setTimeout(() => {
4291
+ const nextIndex = this.carouselState.direction(this.direction);
4292
+ this.carouselState.state = { activeItemIndex: nextIndex };
4293
+ }, interval);
4280
4294
  }
4281
4295
  }
4296
+ resetTimer() {
4297
+ clearTimeout(this.timerId);
4298
+ this.timerId = undefined;
4299
+ }
4300
+ carouselStateSubscribe() {
4301
+ this.carouselService.carouselIndex$
4302
+ .pipe(takeUntilDestroyed(this.#destroyRef))
4303
+ .subscribe((nextItem) => {
4304
+ if ('active' in nextItem) {
4305
+ this.itemChange.emit(nextItem.active);
4306
+ }
4307
+ this.activeItemInterval = typeof nextItem.interval === 'number' && nextItem.interval > -1 ? nextItem.interval : this.interval;
4308
+ const isLastItem = ((nextItem.active === nextItem.lastItemIndex) && this.direction === 'next') || ((nextItem.active === 0) && this.direction === 'prev');
4309
+ !this.wrap && isLastItem ? this.resetTimer() : this.setTimer();
4310
+ });
4311
+ }
4312
+ intersectionServiceSubscribe() {
4313
+ this.intersectionService.createIntersectionObserver(this.hostElement);
4314
+ this.intersectionService.intersecting$
4315
+ .pipe(filter(next => next.hostElement === this.hostElement), finalize(() => {
4316
+ this.intersectionService.unobserve(this.hostElement);
4317
+ }), takeUntilDestroyed(this.#destroyRef))
4318
+ .subscribe(next => {
4319
+ this.visible = next.isIntersecting;
4320
+ next.isIntersecting ? this.setTimer() : this.resetTimer();
4321
+ });
4322
+ }
4282
4323
  swipeSubscribe(subscribe = true) {
4283
4324
  if (this.touch && subscribe) {
4284
4325
  const carouselElement = this.hostElement.nativeElement;
4285
4326
  const touchStart$ = fromEvent(carouselElement, 'touchstart');
4286
4327
  const touchEnd$ = fromEvent(carouselElement, 'touchend');
4287
4328
  const touchMove$ = fromEvent(carouselElement, 'touchmove');
4288
- this.swipeSubscription = touchStart$.pipe(zipWith(touchEnd$.pipe(withLatestFrom(touchMove$))))
4329
+ this.swipeSubscription = touchStart$.pipe(zipWith(touchEnd$.pipe(withLatestFrom(touchMove$))), takeUntilDestroyed(this.#destroyRef))
4289
4330
  .subscribe(([touchstart, [touchend, touchmove]]) => {
4290
4331
  touchstart.stopPropagation();
4291
4332
  touchmove.stopPropagation();
@@ -4301,11 +4342,11 @@ class CarouselComponent {
4301
4342
  }
4302
4343
  }
4303
4344
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CarouselComponent, deps: [{ token: CarouselConfig }, { token: i0.ElementRef }, { token: CarouselService }, { token: CarouselState }, { token: IntersectionService }, { token: ListenersService }], target: i0.ɵɵFactoryTarget.Component }); }
4304
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: CarouselComponent, isStandalone: true, selector: "c-carousel", inputs: { activeIndex: "activeIndex", animate: "animate", direction: "direction", interval: "interval", pause: "pause", touch: "touch", transition: "transition", wrap: "wrap" }, outputs: { itemChange: "itemChange" }, host: { properties: { "class": "this.hostClasses" } }, providers: [CarouselService, CarouselState, CarouselConfig, IntersectionService, ListenersService], hostDirectives: [{ directive: ThemeDirective, inputs: ["dark", "dark"] }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}\n"] }); }
4345
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: CarouselComponent, isStandalone: true, selector: "c-carousel", inputs: { activeIndex: "activeIndex", animate: "animate", direction: "direction", interval: "interval", pause: "pause", touch: "touch", transition: "transition", wrap: "wrap" }, outputs: { itemChange: "itemChange" }, host: { properties: { "class": "this.hostClasses" } }, providers: [CarouselService, CarouselState, CarouselConfig, ListenersService], hostDirectives: [{ directive: ThemeDirective, inputs: ["dark", "dark"] }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}\n"] }); }
4305
4346
  }
4306
4347
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CarouselComponent, decorators: [{
4307
4348
  type: Component,
4308
- args: [{ selector: 'c-carousel', template: '<ng-content></ng-content>', providers: [CarouselService, CarouselState, CarouselConfig, IntersectionService, ListenersService], standalone: true, hostDirectives: [
4349
+ args: [{ selector: 'c-carousel', template: '<ng-content></ng-content>', providers: [CarouselService, CarouselState, CarouselConfig, ListenersService], standalone: true, hostDirectives: [
4309
4350
  { directive: ThemeDirective, inputs: ['dark'] }
4310
4351
  ], styles: [":host{display:block}\n"] }]
4311
4352
  }], ctorParameters: () => [{ type: CarouselConfig, decorators: [{
@@ -7897,7 +7938,7 @@ class DateRangePickerComponent {
7897
7938
  this.endDate = time ?? this.endDate;
7898
7939
  }
7899
7940
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DateRangePickerComponent, deps: [{ token: i1$4.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component }); }
7900
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.8", type: DateRangePickerComponent, isStandalone: true, selector: "c-date-range-picker", inputs: { dayFormat: "dayFormat", calendars: ["calendars", "calendars", numberAttribute], cleaner: ["cleaner", "cleaner", booleanAttribute], closeOnSelect: ["closeOnSelect", "closeOnSelect", booleanAttribute], format: "format", indicator: ["indicator", "indicator", booleanAttribute], inputDateFormat: "inputDateFormat", inputDateParse: "inputDateParse", inputReadOnly: ["inputReadOnly", "inputReadOnly", booleanAttribute], navYearFirst: ["navYearFirst", "navYearFirst", booleanAttribute], placeholder: "placeholder", ranges: "ranges", rangesButtonsColor: "rangesButtonsColor", rangesButtonsSize: "rangesButtonsSize", rangesButtonsVariant: "rangesButtonsVariant", separator: ["separator", "separator", booleanAttribute], size: "size", timepicker: ["timepicker", "timepicker", booleanAttribute], valid: "valid", visible: ["visible", "visible", booleanAttribute], startDate: "startDate", endDate: "endDate", calendarDate: "calendarDate", disabledDates: "disabledDates", firstDayOfWeek: ["firstDayOfWeek", "firstDayOfWeek", numberAttribute], locale: "locale", maxDate: "maxDate", minDate: "minDate", navigation: ["navigation", "navigation", booleanAttribute], range: ["range", "range", booleanAttribute], dateFilter: "dateFilter", disabled: ["disabled", "disabled", booleanAttribute], value: "value", weekdayFormat: "weekdayFormat", popperjsOptions: ["popperOptions", "popperjsOptions"], selectAdjacentDays: ["selectAdjacentDays", "selectAdjacentDays", booleanAttribute], showAdjacentDays: ["showAdjacentDays", "showAdjacentDays", booleanAttribute], selectionType: "selectionType", showWeekNumber: ["showWeekNumber", "showWeekNumber", booleanAttribute], weekNumbersLabel: "weekNumbersLabel" }, outputs: { valueChange: "valueChange", calendarCellHover: "calendarCellHover", calendarDateChange: "calendarDateChange", endDateChange: "endDateChange", startDateChange: "startDateChange" }, host: { listeners: { "blur": "onBlur()" } }, providers: [
7941
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.8", type: DateRangePickerComponent, isStandalone: true, selector: "c-date-range-picker", inputs: { dayFormat: "dayFormat", calendars: ["calendars", "calendars", numberAttribute], cleaner: ["cleaner", "cleaner", booleanAttribute], closeOnSelect: ["closeOnSelect", "closeOnSelect", booleanAttribute], format: "format", indicator: ["indicator", "indicator", booleanAttribute], inputDateFormat: "inputDateFormat", inputDateParse: "inputDateParse", inputReadOnly: ["inputReadOnly", "inputReadOnly", booleanAttribute], navYearFirst: ["navYearFirst", "navYearFirst", booleanAttribute], placeholder: "placeholder", ranges: "ranges", rangesButtonsColor: "rangesButtonsColor", rangesButtonsSize: "rangesButtonsSize", rangesButtonsVariant: "rangesButtonsVariant", separator: ["separator", "separator", booleanAttribute], size: "size", timepicker: ["timepicker", "timepicker", booleanAttribute], valid: "valid", visible: ["visible", "visible", booleanAttribute], startDate: "startDate", endDate: "endDate", calendarDate: "calendarDate", disabledDates: "disabledDates", firstDayOfWeek: ["firstDayOfWeek", "firstDayOfWeek", numberAttribute], locale: "locale", maxDate: "maxDate", minDate: "minDate", navigation: ["navigation", "navigation", booleanAttribute], range: ["range", "range", booleanAttribute], dateFilter: "dateFilter", disabled: ["disabled", "disabled", booleanAttribute], value: "value", weekdayFormat: "weekdayFormat", popperjsOptions: ["popperOptions", "popperjsOptions"], selectAdjacentDays: ["selectAdjacentDays", "selectAdjacentDays", booleanAttribute], showAdjacentDays: ["showAdjacentDays", "showAdjacentDays", booleanAttribute], selectionType: "selectionType", showWeekNumber: ["showWeekNumber", "showWeekNumber", booleanAttribute], weekNumbersLabel: "weekNumbersLabel" }, outputs: { valueChange: "valueChange", calendarCellHover: "calendarCellHover", calendarDateChange: "calendarDateChange", endDateChange: "endDateChange", startDateChange: "startDateChange" }, host: { listeners: { "focusout": "onBlur()" }, properties: { "class": "this.datePickerClasses" } }, providers: [
7901
7942
  {
7902
7943
  provide: NG_VALUE_ACCESSOR,
7903
7944
  useExisting: forwardRef(() => DateRangePickerComponent),
@@ -8048,7 +8089,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
8048
8089
  args: [TemplateIdDirective, { descendants: true }]
8049
8090
  }], onBlur: [{
8050
8091
  type: HostListener,
8051
- args: ['blur']
8092
+ args: ['focusout']
8093
+ }], datePickerClasses: [{
8094
+ type: HostBinding,
8095
+ args: ['class']
8052
8096
  }] } });
8053
8097
 
8054
8098
  class DateRangePickerModule {
@@ -9787,10 +9831,10 @@ const observeReferenceModifier = {
9787
9831
  instance.update();
9788
9832
  });
9789
9833
  // @ts-ignore
9790
- reference[RO_PROP].observe(reference);
9834
+ reference[RO_PROP]?.observe(reference);
9791
9835
  return () => {
9792
9836
  // @ts-ignore
9793
- reference[RO_PROP].disconnect();
9837
+ reference[RO_PROP]?.disconnect();
9794
9838
  // @ts-ignore
9795
9839
  delete reference[RO_PROP];
9796
9840
  };
@@ -9924,7 +9968,7 @@ class MultiSelectComponent {
9924
9968
  this.#value = [];
9925
9969
  /**
9926
9970
  * Emits valueChange
9927
- * @type T | T[]
9971
+ * @type TValue | TValue[]
9928
9972
  */
9929
9973
  this.valueChange = new EventEmitter();
9930
9974
  this._virtualScroller = false;
@@ -10066,7 +10110,7 @@ class MultiSelectComponent {
10066
10110
  }
10067
10111
  /**
10068
10112
  * Initial value of multi-select
10069
- * @type T | T[]
10113
+ * @type TValue | TValue[]
10070
10114
  */
10071
10115
  set value(value) {
10072
10116
  const newValue = Array.isArray(value) ? [...value] : [value];
@@ -10082,7 +10126,7 @@ class MultiSelectComponent {
10082
10126
  }
10083
10127
  get value() {
10084
10128
  const value = this.multiSelectService.selectionModel?.selected ?? [...this.#value];
10085
- return this.multiple ? [...value] : value;
10129
+ return this.multiple ? [...value] : value[0];
10086
10130
  }
10087
10131
  #value;
10088
10132
  /**
@@ -10729,8 +10773,8 @@ class MultiSelectComponent {
10729
10773
  this.scrollViewport = scrollViewport;
10730
10774
  const cdkVirtualScrollContentWrapper = this.scrollViewport.getElementRef().nativeElement?.firstElementChild;
10731
10775
  if (cdkVirtualScrollContentWrapper) {
10732
- const style = getComputedStyle(cdkVirtualScrollContentWrapper, null);
10733
- const padding = parseInt(style.getPropertyValue('padding-left') ?? '12px') * 3;
10776
+ const style = getComputedStyle(cdkVirtualScrollContentWrapper, null) ?? undefined;
10777
+ const padding = parseInt(style?.getPropertyValue('padding-left') ?? '12px') * 3;
10734
10778
  const observer = new MutationObserver((mutationRecords) => {
10735
10779
  mutationRecords.forEach(child => {
10736
10780
  child.addedNodes.forEach(node => {
@@ -10743,9 +10787,9 @@ class MultiSelectComponent {
10743
10787
  });
10744
10788
  });
10745
10789
  });
10746
- observer.observe(cdkVirtualScrollContentWrapper, { childList: true });
10790
+ observer?.observe(cdkVirtualScrollContentWrapper, { childList: true });
10747
10791
  this.#destroy$.subscribe(() => {
10748
- observer.disconnect();
10792
+ observer?.disconnect();
10749
10793
  });
10750
10794
  }
10751
10795
  }
@@ -11170,7 +11214,7 @@ class NavbarComponent {
11170
11214
  }
11171
11215
  get breakpoint() {
11172
11216
  if (typeof this.expand === 'string') {
11173
- return getComputedStyle(this.hostElement.nativeElement).getPropertyValue(`--cui-breakpoint-${this.expand}`);
11217
+ return getComputedStyle(this.hostElement.nativeElement)?.getPropertyValue(`--cui-breakpoint-${this.expand}`) ?? false;
11174
11218
  }
11175
11219
  return false;
11176
11220
  }
@@ -12067,7 +12111,7 @@ class OffcanvasComponent {
12067
12111
  }
12068
12112
  const element = this.document.documentElement;
12069
12113
  const responsiveBreakpoint = this.responsive;
12070
- const breakpointValue = getComputedStyle(element).getPropertyValue(`--cui-breakpoint-${responsiveBreakpoint.trim()}`) || false;
12114
+ const breakpointValue = getComputedStyle(element)?.getPropertyValue(`--cui-breakpoint-${responsiveBreakpoint.trim()}`) ?? false;
12071
12115
  return breakpointValue ? `${parseFloat(breakpointValue.trim()) - 0.02}px` : false;
12072
12116
  }
12073
12117
  animateStart(event) {
@@ -12166,7 +12210,7 @@ class OffcanvasComponent {
12166
12210
  }
12167
12211
  }
12168
12212
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: OffcanvasComponent, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: OffcanvasService }, { token: BackdropService }, { token: i1$4.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component }); }
12169
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.8", type: OffcanvasComponent, isStandalone: true, selector: "c-offcanvas", inputs: { backdrop: "backdrop", keyboard: ["keyboard", "keyboard", booleanAttribute], placement: "placement", responsive: "responsive", id: "id", role: "role", ariaModal: ["ariaModal", "ariaModal", booleanAttribute], scroll: ["scroll", "scroll", booleanAttribute], visible: ["visible", "visible", booleanAttribute] }, outputs: { visibleChange: "visibleChange" }, host: { listeners: { "@showHide.start": "animateStart($event)", "@showHide.done": "animateDone($event)", "document:keydown": "onKeyDownHandler($event)" }, properties: { "attr.role": "this.role", "attr.aria-modal": "this.ariaModal", "class": "this.hostClasses", "attr.aria-hidden": "this.ariaHidden", "attr.tabindex": "this.tabIndex", "@showHide": "this.animateTrigger" } }, exportAs: ["cOffcanvas"], hostDirectives: [{ directive: ThemeDirective, inputs: ["dark", "dark"] }], ngImport: i0, template: "<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n</div>\n\n", styles: [":host{display:none}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1$2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
12213
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.8", type: OffcanvasComponent, isStandalone: true, selector: "c-offcanvas", inputs: { backdrop: "backdrop", keyboard: ["keyboard", "keyboard", booleanAttribute], placement: "placement", responsive: "responsive", id: "id", role: "role", ariaModal: ["ariaModal", "ariaModal", booleanAttribute], scroll: ["scroll", "scroll", booleanAttribute], visible: ["visible", "visible", booleanAttribute] }, outputs: { visibleChange: "visibleChange" }, host: { attributes: { "ngSkipHydration": "true" }, listeners: { "@showHide.start": "animateStart($event)", "@showHide.done": "animateDone($event)", "document:keydown": "onKeyDownHandler($event)" }, properties: { "attr.role": "this.role", "attr.aria-modal": "this.ariaModal", "class": "this.hostClasses", "attr.aria-hidden": "this.ariaHidden", "attr.tabindex": "this.tabIndex", "@showHide": "this.animateTrigger" } }, exportAs: ["cOffcanvas"], hostDirectives: [{ directive: ThemeDirective, inputs: ["dark", "dark"] }], ngImport: i0, template: "<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n</div>\n\n", styles: [":host{display:none}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1$2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
12170
12214
  trigger('showHide', [
12171
12215
  state('visible', style({
12172
12216
  // visibility: 'visible'
@@ -12192,7 +12236,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
12192
12236
  ])
12193
12237
  ], exportAs: 'cOffcanvas', standalone: true, imports: [A11yModule], hostDirectives: [
12194
12238
  { directive: ThemeDirective, inputs: ['dark'] }
12195
- ], template: "<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n</div>\n\n", styles: [":host{display:none}\n"] }]
12239
+ ], host: { ngSkipHydration: 'true' }, template: "<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n</div>\n\n", styles: [":host{display:none}\n"] }]
12196
12240
  }], ctorParameters: () => [{ type: Document, decorators: [{
12197
12241
  type: Inject,
12198
12242
  args: [DOCUMENT]
@@ -12720,33 +12764,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
12720
12764
  args: ['class']
12721
12765
  }] } });
12722
12766
 
12723
- class ClassToggleService {
12724
- constructor(document, rendererFactory) {
12725
- this.document = document;
12726
- this.rendererFactory = rendererFactory;
12727
- this.renderer = rendererFactory.createRenderer(null, null);
12728
- }
12729
- toggle(selector, className) {
12730
- const element = document.querySelector(selector);
12731
- if (element) {
12732
- element.classList.contains(className) ?
12733
- this.renderer.removeClass(element, className) :
12734
- this.renderer.addClass(element, className);
12735
- }
12736
- }
12737
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClassToggleService, deps: [{ token: DOCUMENT }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
12738
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClassToggleService, providedIn: 'root' }); }
12739
- }
12740
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClassToggleService, decorators: [{
12741
- type: Injectable,
12742
- args: [{
12743
- providedIn: 'root'
12744
- }]
12745
- }], ctorParameters: () => [{ type: Document, decorators: [{
12746
- type: Inject,
12747
- args: [DOCUMENT]
12748
- }] }, { type: i0.RendererFactory2 }] });
12749
-
12750
12767
  class PopoverDirective {
12751
12768
  /**
12752
12769
  * Optional popper Options object, takes precedence over cPopoverPlacement prop
@@ -12771,6 +12788,7 @@ class PopoverDirective {
12771
12788
  get ariaDescribedBy() {
12772
12789
  return this.popoverId ? this.popoverId : null;
12773
12790
  }
12791
+ #destroyRef;
12774
12792
  constructor(document, renderer, hostElement, viewContainerRef, listenersService, changeDetectorRef, intersectionService) {
12775
12793
  this.document = document;
12776
12794
  this.renderer = renderer;
@@ -12804,9 +12822,9 @@ class PopoverDirective {
12804
12822
  }
12805
12823
  ]
12806
12824
  };
12825
+ this.#destroyRef = inject(DestroyRef);
12807
12826
  }
12808
12827
  ngAfterViewInit() {
12809
- this.intersectionService.createIntersectionObserver(this.hostElement);
12810
12828
  this.intersectionServiceSubscribe();
12811
12829
  }
12812
12830
  ngOnChanges(changes) {
@@ -12817,7 +12835,6 @@ class PopoverDirective {
12817
12835
  ngOnDestroy() {
12818
12836
  this.clearListeners();
12819
12837
  this.destroyPopoverElement();
12820
- this.intersectionServiceSubscribe(false);
12821
12838
  }
12822
12839
  ngOnInit() {
12823
12840
  this.setListeners();
@@ -12844,18 +12861,16 @@ class PopoverDirective {
12844
12861
  clearListeners() {
12845
12862
  this.listenersService.clearListeners();
12846
12863
  }
12847
- intersectionServiceSubscribe(subscribe = true) {
12848
- if (subscribe) {
12849
- this.intersectingSubscription = this.intersectionService.intersecting$
12850
- .pipe(debounceTime(100))
12851
- .subscribe(isIntersecting => {
12852
- this.visible = isIntersecting ? this.visible : false;
12853
- !this.visible && this.removePopoverElement();
12854
- });
12855
- }
12856
- else {
12857
- this.intersectingSubscription?.unsubscribe();
12858
- }
12864
+ intersectionServiceSubscribe() {
12865
+ this.intersectionService.createIntersectionObserver(this.hostElement);
12866
+ this.intersectionService.intersecting$
12867
+ .pipe(filter(next => next.hostElement === this.hostElement), debounceTime(100), finalize(() => {
12868
+ this.intersectionService.unobserve(this.hostElement);
12869
+ }), takeUntilDestroyed(this.#destroyRef))
12870
+ .subscribe(next => {
12871
+ this.visible = next.isIntersecting ? this.visible : false;
12872
+ !this.visible && this.removePopoverElement();
12873
+ });
12859
12874
  }
12860
12875
  getUID(prefix) {
12861
12876
  let uid = prefix ?? 'random-id';
@@ -12919,18 +12934,18 @@ class PopoverDirective {
12919
12934
  this.popoverRef.instance.id = undefined;
12920
12935
  this.changeDetectorRef.markForCheck();
12921
12936
  setTimeout(() => {
12922
- this.viewContainerRef.detach();
12937
+ this.viewContainerRef?.detach();
12923
12938
  }, 300);
12924
12939
  }
12925
12940
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PopoverDirective, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: ListenersService }, { token: i0.ChangeDetectorRef }, { token: IntersectionService }], target: i0.ɵɵFactoryTarget.Directive }); }
12926
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: PopoverDirective, isStandalone: true, selector: "[cPopover]", inputs: { content: ["cPopover", "content"], popperOptions: ["cPopoverOptions", "popperOptions"], placement: ["cPopoverPlacement", "placement"], trigger: ["cPopoverTrigger", "trigger"], visible: ["cPopoverVisible", "visible"] }, host: { properties: { "attr.aria-describedby": "this.ariaDescribedBy" } }, providers: [ListenersService, IntersectionService], exportAs: ["cPopover"], usesOnChanges: true, ngImport: i0 }); }
12941
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: PopoverDirective, isStandalone: true, selector: "[cPopover]", inputs: { content: ["cPopover", "content"], popperOptions: ["cPopoverOptions", "popperOptions"], placement: ["cPopoverPlacement", "placement"], trigger: ["cPopoverTrigger", "trigger"], visible: ["cPopoverVisible", "visible"] }, host: { properties: { "attr.aria-describedby": "this.ariaDescribedBy" } }, providers: [ListenersService], exportAs: ["cPopover"], usesOnChanges: true, ngImport: i0 }); }
12927
12942
  }
12928
12943
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PopoverDirective, decorators: [{
12929
12944
  type: Directive,
12930
12945
  args: [{
12931
12946
  selector: '[cPopover]',
12932
12947
  exportAs: 'cPopover',
12933
- providers: [ListenersService, IntersectionService],
12948
+ providers: [ListenersService],
12934
12949
  standalone: true
12935
12950
  }]
12936
12951
  }], ctorParameters: () => [{ type: Document, decorators: [{
@@ -13296,7 +13311,7 @@ class SidebarComponent {
13296
13311
  }
13297
13312
  this.state = {
13298
13313
  ...this.state,
13299
- ...newState,
13314
+ ...newState
13300
13315
  };
13301
13316
  this.state.mobile && this.state.visible
13302
13317
  ? this.backdropService.setBackdrop(this)
@@ -13307,9 +13322,8 @@ class SidebarComponent {
13307
13322
  }
13308
13323
  get getMobileBreakpoint() {
13309
13324
  const element = this.document.documentElement;
13310
- const mobileBreakpoint = getComputedStyle(element).getPropertyValue('--cui-mobile-breakpoint') ||
13311
- 'md';
13312
- const breakpointValue = getComputedStyle(element).getPropertyValue(`--cui-breakpoint-${mobileBreakpoint.trim()}`) || '768px';
13325
+ const mobileBreakpoint = this.document.defaultView?.getComputedStyle(element)?.getPropertyValue('--cui-mobile-breakpoint') ?? 'md';
13326
+ const breakpointValue = this.document.defaultView?.getComputedStyle(element)?.getPropertyValue(`--cui-breakpoint-${mobileBreakpoint.trim()}`) ?? '768px';
13313
13327
  return `${parseFloat(breakpointValue.trim()) - 0.02}px` || '767.98px';
13314
13328
  }
13315
13329
  constructor(document, renderer, breakpointObserver, sidebarService, backdropService) {
@@ -13324,12 +13338,12 @@ class SidebarComponent {
13324
13338
  this.#visible = false;
13325
13339
  this.#onMobile = false;
13326
13340
  this.state = {
13327
- sidebar: this,
13341
+ sidebar: this
13328
13342
  };
13329
13343
  this.#stateInitial = {
13330
13344
  narrow: false,
13331
13345
  visible: false,
13332
- unfoldable: false,
13346
+ unfoldable: false
13333
13347
  };
13334
13348
  /**
13335
13349
  * Place sidebar in non-static positions. [docs]
@@ -13356,7 +13370,7 @@ class SidebarComponent {
13356
13370
  [`sidebar-${this.size}`]: !!this.size,
13357
13371
  show: visible,
13358
13372
  // show: visible && this.#onMobile, //todo: check
13359
- hide: !visible,
13373
+ hide: !visible
13360
13374
  };
13361
13375
  }
13362
13376
  ngOnInit() {
@@ -13392,11 +13406,11 @@ class SidebarComponent {
13392
13406
  this.#stateInitial = {
13393
13407
  narrow: this.narrow,
13394
13408
  visible: this.visible,
13395
- unfoldable: this.unfoldable,
13409
+ unfoldable: this.unfoldable
13396
13410
  };
13397
13411
  this.sidebarService.toggle({
13398
13412
  ...this.#stateInitial,
13399
- sidebar: this,
13413
+ sidebar: this
13400
13414
  });
13401
13415
  }
13402
13416
  stateToggleSubscribe(subscribe = true) {
@@ -13425,7 +13439,7 @@ class SidebarComponent {
13425
13439
  mobile: isOnMobile,
13426
13440
  unfoldable: isUnfoldable,
13427
13441
  visible: isOnMobile ? !isOnMobile : this.#stateInitial.visible,
13428
- sidebar: this,
13442
+ sidebar: this
13429
13443
  });
13430
13444
  }
13431
13445
  });
@@ -16143,7 +16157,7 @@ class ToastComponent {
16143
16157
  this._visible = false;
16144
16158
  /**
16145
16159
  * Event emitted on visibility change. [docs]
16146
- * @type boolean
16160
+ * @type EventEmitter<boolean>
16147
16161
  */
16148
16162
  this.visibleChange = new EventEmitter();
16149
16163
  /**
@@ -16213,14 +16227,14 @@ class ToastComponent {
16213
16227
  setTimer() {
16214
16228
  this.clearTimer();
16215
16229
  if (this.autohide && this.visible) {
16216
- this.timerId = this.delay > 0 ? setTimeout(() => this.onClose(), this.delay) : null;
16230
+ this.timerId = this.delay > 0 ? setTimeout(() => this.onClose(), this.delay) : undefined;
16217
16231
  this.setClock();
16218
16232
  }
16219
16233
  }
16220
16234
  clearTimer() {
16221
16235
  this.clearClock();
16222
16236
  clearTimeout(this.timerId);
16223
- this.timerId = null;
16237
+ this.timerId = undefined;
16224
16238
  }
16225
16239
  onClose() {
16226
16240
  this.clearTimer();
@@ -16244,7 +16258,7 @@ class ToastComponent {
16244
16258
  clearClock() {
16245
16259
  clearTimeout(this.clockTimerId);
16246
16260
  clearInterval(this.clockId);
16247
- this.clockId = null;
16261
+ this.clockId = undefined;
16248
16262
  }
16249
16263
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ToastComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: ToasterService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
16250
16264
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ToastComponent, isStandalone: true, selector: "c-toast", inputs: { autohide: "autohide", color: "color", delay: "delay", fade: "fade", visible: "visible", index: "index" }, outputs: { visibleChange: "visibleChange", timer: "timer" }, host: { listeners: { "mouseover": "onMouseOver()", "mouseout": "onMouseOut()" }, properties: { "@.disabled": "this.animationDisabled", "@fadeInOut": "this.animateType", "class": "this.hostClasses" } }, exportAs: ["cToast"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block;overflow:hidden}\n"], animations: [
@@ -16676,6 +16690,7 @@ class TooltipDirective {
16676
16690
  get ariaDescribedBy() {
16677
16691
  return this.tooltipId ? this.tooltipId : null;
16678
16692
  }
16693
+ #destroyRef;
16679
16694
  constructor(document, renderer, hostElement, viewContainerRef, listenersService, changeDetectorRef, intersectionService) {
16680
16695
  this.document = document;
16681
16696
  this.renderer = renderer;
@@ -16709,9 +16724,9 @@ class TooltipDirective {
16709
16724
  }
16710
16725
  ]
16711
16726
  };
16727
+ this.#destroyRef = inject(DestroyRef);
16712
16728
  }
16713
16729
  ngAfterViewInit() {
16714
- this.intersectionService.createIntersectionObserver(this.hostElement);
16715
16730
  this.intersectionServiceSubscribe();
16716
16731
  }
16717
16732
  ngOnChanges(changes) {
@@ -16722,7 +16737,6 @@ class TooltipDirective {
16722
16737
  ngOnDestroy() {
16723
16738
  this.clearListeners();
16724
16739
  this.destroyTooltipElement();
16725
- this.intersectionServiceSubscribe(false);
16726
16740
  }
16727
16741
  ngOnInit() {
16728
16742
  this.setListeners();
@@ -16749,18 +16763,16 @@ class TooltipDirective {
16749
16763
  clearListeners() {
16750
16764
  this.listenersService.clearListeners();
16751
16765
  }
16752
- intersectionServiceSubscribe(subscribe = true) {
16753
- if (subscribe) {
16754
- this.intersectingSubscription = this.intersectionService.intersecting$
16755
- .pipe(debounceTime(100))
16756
- .subscribe(isIntersecting => {
16757
- this.visible = isIntersecting ? this.visible : false;
16758
- !this.visible && this.removeTooltipElement();
16759
- });
16760
- }
16761
- else {
16762
- this.intersectingSubscription?.unsubscribe();
16763
- }
16766
+ intersectionServiceSubscribe() {
16767
+ this.intersectionService.createIntersectionObserver(this.hostElement);
16768
+ this.intersectionService.intersecting$
16769
+ .pipe(filter(next => next.hostElement === this.hostElement), debounceTime(100), finalize(() => {
16770
+ this.intersectionService.unobserve(this.hostElement);
16771
+ }), takeUntilDestroyed(this.#destroyRef))
16772
+ .subscribe(next => {
16773
+ this.visible = next.isIntersecting ? this.visible : false;
16774
+ !this.visible && this.removeTooltipElement();
16775
+ });
16764
16776
  }
16765
16777
  getUID(prefix) {
16766
16778
  let uid = prefix ?? 'random-id';
@@ -17209,5 +17221,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
17209
17221
  * Generated bundle index. Do not edit.
17210
17222
  */
17211
17223
 
17212
- export { AccordionButtonDirective, AccordionComponent, AccordionItemComponent, AccordionModule, AlertComponent, AlertHeadingDirective, AlertLinkDirective, AlertModule, AlignDirective, AvatarComponent, AvatarModule, BackdropService, BadgeComponent, BadgeModule, BgColorDirective, BorderDirective, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbModule, BreadcrumbRouterComponent, BreadcrumbRouterService, BreakpointInfix, ButtonCloseDirective, ButtonDirective, ButtonGroupComponent, ButtonGroupModule, ButtonModule, ButtonToolbarComponent, CalendarComponent, CalendarModule, CalendarMonthComponent, CalendarNavigationComponent, CalloutComponent, CalloutModule, CardBodyComponent, CardComponent, CardFooterComponent, CardGroupComponent, CardHeaderActionsComponent, CardHeaderComponent, CardImgDirective, CardImgOverlayComponent, CardLinkDirective, CardModule, CardSubtitleDirective, CardTextDirective, CardTitleDirective, CarouselCaptionComponent, CarouselComponent, CarouselConfig, CarouselControlComponent, CarouselIndicatorsComponent, CarouselInnerComponent, CarouselItemComponent, CarouselModule, ClassToggleService, ColComponent, ColDirective, CollapseDirective, CollapseModule, ContainerComponent, DatePickerComponent, DatePickerModule, DateRangePickerComponent, DateRangePickerModule, DropdownCloseDirective, DropdownComponent, DropdownDividerDirective, DropdownHeaderDirective, DropdownItemDirective, DropdownItemPlainDirective, DropdownMenuDirective, DropdownModule, DropdownService, DropdownToggleDirective, ElementCoverComponent, ElementCoverModule, FooterComponent, FooterModule, FormCheckComponent, FormCheckInputDirective, FormCheckLabelDirective, FormControlDirective, FormDirective, FormFeedbackComponent, FormFloatingDirective, FormLabelDirective, FormModule, FormSelectDirective, FormTextDirective, GridModule, GutterDirective, HeaderBrandComponent, HeaderComponent, HeaderDividerComponent, HeaderModule, HeaderNavComponent, HeaderTextComponent, HeaderTogglerDirective, HtmlAttributesDirective, ImgDirective, ImgModule, InputGroupComponent, InputGroupTextDirective, IntersectionService, ListGroupDirective, ListGroupItemDirective, ListGroupModule, ListenersService, LoadingButtonComponent, LoadingButtonModule, ModalBodyComponent, ModalComponent, ModalContentComponent, ModalDialogComponent, ModalFooterComponent, ModalHeaderComponent, ModalModule, ModalService, ModalTitleDirective, ModalToggleDirective, MultiSelectComponent, MultiSelectModule, MultiSelectOptgroupComponent, MultiSelectOptgroupLabelComponent, MultiSelectOptionComponent, NavComponent, NavItemComponent, NavLinkDirective, NavModule, NavbarBrandDirective, NavbarComponent, NavbarModule, NavbarNavComponent, NavbarTextComponent, NavbarTogglerDirective, OffcanvasBodyComponent, OffcanvasComponent, OffcanvasHeaderComponent, OffcanvasModule, OffcanvasService, OffcanvasTitleDirective, OffcanvasToggleDirective, PageItemComponent, PageItemDirective, PageLinkDirective, PaginationComponent, PaginationModule, PlaceholderAnimationDirective, PlaceholderDirective, PlaceholderModule, PopoverComponent, PopoverDirective, PopoverModule, ProgressBarComponent, ProgressComponent, ProgressModule, RoundedDirective, RowComponent, RowDirective, SharedModule, SidebarBrandComponent, SidebarComponent, SidebarFooterComponent, SidebarHeaderComponent, SidebarModule, SidebarNavComponent, SidebarService, SidebarToggleDirective, SidebarTogglerComponent, SmartPaginationComponent, SmartPaginationModule, SmartTableComponent, SmartTableFilterComponent, SmartTableModule, SpinnerComponent, SpinnerModule, TabContentComponent, TabContentRefDirective, TabPaneComponent, TabService, TableActiveDirective, TableColorDirective, TableDirective, TableModule, TabsModule, TemplateIdDirective, TextColorDirective, ThemeDirective, TimePickerComponent, TimePickerModule, ToastBodyComponent, ToastCloseDirective, ToastComponent, ToastHeaderComponent, ToastModule, ToasterComponent, ToasterHostDirective, ToasterPlacement, ToasterService, TooltipComponent, TooltipDirective, TooltipModule, UtilitiesModule, WidgetModule, WidgetStatAComponent, WidgetStatBComponent, WidgetStatCComponent, WidgetStatDComponent, WidgetStatEComponent, WidgetStatFComponent };
17224
+ export { AccordionButtonDirective, AccordionComponent, AccordionItemComponent, AccordionModule, AlertComponent, AlertHeadingDirective, AlertLinkDirective, AlertModule, AlignDirective, AvatarComponent, AvatarModule, BackdropService, BadgeComponent, BadgeModule, BgColorDirective, BorderDirective, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbModule, BreadcrumbRouterComponent, BreadcrumbRouterService, BreakpointInfix, ButtonCloseDirective, ButtonDirective, ButtonGroupComponent, ButtonGroupModule, ButtonModule, ButtonToolbarComponent, CalendarComponent, CalendarModule, CalendarMonthComponent, CalendarNavigationComponent, CalloutComponent, CalloutModule, CardBodyComponent, CardComponent, CardFooterComponent, CardGroupComponent, CardHeaderActionsComponent, CardHeaderComponent, CardImgDirective, CardImgOverlayComponent, CardLinkDirective, CardModule, CardSubtitleDirective, CardTextDirective, CardTitleDirective, CarouselCaptionComponent, CarouselComponent, CarouselConfig, CarouselControlComponent, CarouselIndicatorsComponent, CarouselInnerComponent, CarouselItemComponent, CarouselModule, ClassToggleService, ColComponent, ColDirective, CollapseDirective, CollapseModule, ContainerComponent, DatePickerComponent, DatePickerModule, DateRangePickerComponent, DateRangePickerModule, DropdownCloseDirective, DropdownComponent, DropdownDividerDirective, DropdownHeaderDirective, DropdownItemDirective, DropdownItemPlainDirective, DropdownMenuDirective, DropdownModule, DropdownService, DropdownToggleDirective, ElementCoverComponent, ElementCoverModule, FooterComponent, FooterModule, FormCheckComponent, FormCheckInputDirective, FormCheckLabelDirective, FormControlDirective, FormDirective, FormFeedbackComponent, FormFloatingDirective, FormLabelDirective, FormModule, FormSelectDirective, FormTextDirective, GridModule, GutterDirective, HeaderBrandComponent, HeaderComponent, HeaderDividerComponent, HeaderModule, HeaderNavComponent, HeaderTextComponent, HeaderTogglerDirective, HtmlAttributesDirective, ImgDirective, ImgModule, InputGroupComponent, InputGroupTextDirective, IntersectionService, ListGroupDirective, ListGroupItemDirective, ListGroupModule, ListenersService, LoadingButtonComponent, LoadingButtonModule, ModalBodyComponent, ModalComponent, ModalContentComponent, ModalDialogComponent, ModalFooterComponent, ModalHeaderComponent, ModalModule, ModalService, ModalTitleDirective, ModalToggleDirective, MultiSelectComponent, MultiSelectModule, MultiSelectOptgroupComponent, MultiSelectOptgroupLabelComponent, MultiSelectOptionComponent, NavComponent, NavItemComponent, NavLinkDirective, NavModule, NavbarBrandDirective, NavbarComponent, NavbarModule, NavbarNavComponent, NavbarTextComponent, NavbarTogglerDirective, OffcanvasBodyComponent, OffcanvasComponent, OffcanvasHeaderComponent, OffcanvasModule, OffcanvasService, OffcanvasTitleDirective, OffcanvasToggleDirective, PageItemComponent, PageItemDirective, PageLinkDirective, PaginationComponent, PaginationModule, PlaceholderAnimationDirective, PlaceholderDirective, PlaceholderModule, PopoverComponent, PopoverDirective, PopoverModule, ProgressBarComponent, ProgressComponent, ProgressModule, RoundedDirective, RowComponent, RowDirective, SharedModule, SidebarBrandComponent, SidebarComponent, SidebarFooterComponent, SidebarHeaderComponent, SidebarModule, SidebarNavComponent, SidebarNavHelper, SidebarService, SidebarToggleDirective, SidebarTogglerComponent, SmartPaginationComponent, SmartPaginationModule, SmartTableComponent, SmartTableFilterComponent, SmartTableModule, SpinnerComponent, SpinnerModule, TabContentComponent, TabContentRefDirective, TabPaneComponent, TabService, TableActiveDirective, TableColorDirective, TableDirective, TableModule, TabsModule, TemplateIdDirective, TextColorDirective, ThemeDirective, TimePickerComponent, TimePickerModule, ToastBodyComponent, ToastCloseDirective, ToastComponent, ToastHeaderComponent, ToastModule, ToasterComponent, ToasterHostDirective, ToasterPlacement, ToasterService, TooltipComponent, TooltipDirective, TooltipModule, UtilitiesModule, WidgetModule, WidgetStatAComponent, WidgetStatBComponent, WidgetStatCComponent, WidgetStatDComponent, WidgetStatEComponent, WidgetStatFComponent };
17213
17225
  //# sourceMappingURL=coreui-angular-pro.mjs.map