@progress/kendo-angular-tooltip 24.2.2 → 25.0.0-develop.12

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.
@@ -3,13 +3,13 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as i0 from '@angular/core';
6
- import { forwardRef, Input, Directive, Optional, isDevMode, EventEmitter, HostBinding, ContentChild, ViewChild, Output, Component, ElementRef, Injectable, InjectionToken, Inject, NgModule } from '@angular/core';
6
+ import { forwardRef, Input, Directive, Optional, isDevMode, EventEmitter, signal, afterNextRender, HostBinding, ContentChild, ViewChild, Output, ChangeDetectionStrategy, Component, ElementRef, ChangeDetectorRef, Injectable, InjectionToken, Inject, NgModule } from '@angular/core';
7
7
  import * as i1 from '@progress/kendo-angular-l10n';
8
8
  import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
9
9
  import { PreventableEvent, focusableSelector, Keys, isDocumentAvailable, closest, hasObservers, ResizeBatchService } from '@progress/kendo-angular-common';
10
10
  import * as i1$1 from '@progress/kendo-angular-popup';
11
11
  import { PopupService } from '@progress/kendo-angular-popup';
12
- import { take, auditTime, filter } from 'rxjs/operators';
12
+ import { auditTime, take, filter } from 'rxjs/operators';
13
13
  import { Subscription, BehaviorSubject, Subject, combineLatest, fromEvent } from 'rxjs';
14
14
  import { validatePackage } from '@progress/kendo-licensing';
15
15
  import { NgStyle, NgClass, NgTemplateOutlet } from '@angular/common';
@@ -29,15 +29,15 @@ class LocalizedMessagesDirective extends ComponentMessages {
29
29
  super();
30
30
  this.service = service;
31
31
  }
32
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
33
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: LocalizedMessagesDirective, isStandalone: true, selector: "[kendoTooltipLocalizedMessages]", inputs: { closeTitle: "closeTitle" }, providers: [
32
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
33
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: LocalizedMessagesDirective, isStandalone: true, selector: "[kendoTooltipLocalizedMessages]", inputs: { closeTitle: "closeTitle" }, providers: [
34
34
  {
35
35
  provide: ComponentMessages,
36
36
  useExisting: forwardRef(() => LocalizedMessagesDirective)
37
37
  }
38
38
  ], usesInheritance: true, ngImport: i0 });
39
39
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
41
41
  type: Directive,
42
42
  args: [{
43
43
  providers: [
@@ -302,8 +302,8 @@ const packageMetadata = {
302
302
  productName: 'Kendo UI for Angular',
303
303
  productCode: 'KENDOUIANGULAR',
304
304
  productCodes: ['KENDOUIANGULAR'],
305
- publishDate: 1783511555,
306
- version: '24.2.2',
305
+ publishDate: 1785317908,
306
+ version: '25.0.0-develop.12',
307
307
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
308
308
  };
309
309
 
@@ -327,10 +327,10 @@ class PopoverTitleTemplateDirective {
327
327
  constructor(templateRef) {
328
328
  this.templateRef = templateRef;
329
329
  }
330
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PopoverTitleTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
331
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: PopoverTitleTemplateDirective, isStandalone: true, selector: "[kendoPopoverTitleTemplate]", ngImport: i0 });
330
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverTitleTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
331
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: PopoverTitleTemplateDirective, isStandalone: true, selector: "[kendoPopoverTitleTemplate]", ngImport: i0 });
332
332
  }
333
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PopoverTitleTemplateDirective, decorators: [{
333
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverTitleTemplateDirective, decorators: [{
334
334
  type: Directive,
335
335
  args: [{
336
336
  selector: '[kendoPopoverTitleTemplate]',
@@ -360,10 +360,10 @@ class PopoverBodyTemplateDirective {
360
360
  constructor(templateRef) {
361
361
  this.templateRef = templateRef;
362
362
  }
363
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PopoverBodyTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
364
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: PopoverBodyTemplateDirective, isStandalone: true, selector: "[kendoPopoverBodyTemplate]", ngImport: i0 });
363
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverBodyTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
364
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: PopoverBodyTemplateDirective, isStandalone: true, selector: "[kendoPopoverBodyTemplate]", ngImport: i0 });
365
365
  }
366
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PopoverBodyTemplateDirective, decorators: [{
366
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverBodyTemplateDirective, decorators: [{
367
367
  type: Directive,
368
368
  args: [{
369
369
  selector: '[kendoPopoverBodyTemplate]',
@@ -393,10 +393,10 @@ class PopoverActionsTemplateDirective {
393
393
  constructor(templateRef) {
394
394
  this.templateRef = templateRef;
395
395
  }
396
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PopoverActionsTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
397
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: PopoverActionsTemplateDirective, isStandalone: true, selector: "[kendoPopoverActionsTemplate]", ngImport: i0 });
396
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverActionsTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
397
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: PopoverActionsTemplateDirective, isStandalone: true, selector: "[kendoPopoverActionsTemplate]", ngImport: i0 });
398
398
  }
399
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PopoverActionsTemplateDirective, decorators: [{
399
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverActionsTemplateDirective, decorators: [{
400
400
  type: Directive,
401
401
  args: [{
402
402
  selector: '[kendoPopoverActionsTemplate]',
@@ -423,7 +423,6 @@ class PopoverComponent {
423
423
  localization;
424
424
  renderer;
425
425
  element;
426
- zone;
427
426
  /**
428
427
  * @hidden
429
428
  */
@@ -433,20 +432,25 @@ class PopoverComponent {
433
432
  *
434
433
  * @default 'right'
435
434
  */
436
- position = 'right';
435
+ set position(value) {
436
+ this._position.set(value);
437
+ }
438
+ get position() {
439
+ return this._position();
440
+ }
437
441
  /**
438
442
  * Specifies the distance from the Popover to its anchor element in pixels.
439
443
  *
440
444
  * @default 6
441
445
  */
442
446
  set offset(value) {
443
- this._offset = value;
447
+ this._offset.set(value);
444
448
  }
445
449
  get offset() {
446
450
  const calloutBuffer = 14;
447
451
  return this.callout
448
- ? calloutBuffer + this._offset
449
- : this._offset;
452
+ ? calloutBuffer + this._offset()
453
+ : this._offset();
450
454
  }
451
455
  /**
452
456
  * Determines the width of the Popover. Numeric values are treated as pixels.
@@ -454,10 +458,10 @@ class PopoverComponent {
454
458
  * @default 'auto'
455
459
  */
456
460
  set width(value) {
457
- this._width = typeof value === 'number' ? `${value}px` : value;
461
+ this._widthValue.set(typeof value === 'number' ? `${value}px` : value);
458
462
  }
459
463
  get width() {
460
- return this._width;
464
+ return this._widthValue();
461
465
  }
462
466
  /**
463
467
  * Determines the height of the Popover. Numeric values are treated as pixels.
@@ -465,10 +469,10 @@ class PopoverComponent {
465
469
  * @default 'auto'
466
470
  */
467
471
  set height(value) {
468
- this._height = typeof value === 'number' ? `${value}px` : value;
472
+ this._heightValue.set(typeof value === 'number' ? `${value}px` : value);
469
473
  }
470
474
  get height() {
471
- return this._height;
475
+ return this._heightValue();
472
476
  }
473
477
  /**
474
478
  * @hidden
@@ -477,24 +481,44 @@ class PopoverComponent {
477
481
  /**
478
482
  * Specifies the main header text of the Popover. If a `titleTemplate` is provided, it takes precedence.
479
483
  */
480
- title;
484
+ set title(value) {
485
+ this._title.set(value);
486
+ }
487
+ get title() {
488
+ return this._title();
489
+ }
481
490
  /**
482
491
  * @hidden
483
492
  * Specifies the secondary header text of the Popover.
484
493
  *
485
494
  * If a `titleTemplate` is provided it would take precedence over the subtitle.
486
495
  */
487
- subtitle;
496
+ set subtitle(value) {
497
+ this._subtitle.set(value);
498
+ }
499
+ get subtitle() {
500
+ return this._subtitle();
501
+ }
488
502
  /**
489
503
  * Represents the text rendered in the Popover body section. If a `bodyTemplate` is provided, it takes precedence.
490
504
  */
491
- body;
505
+ set body(value) {
506
+ this._body.set(value);
507
+ }
508
+ get body() {
509
+ return this._body();
510
+ }
492
511
  /**
493
512
  * Determines whether a callout is rendered along the Popover. [See example](https://www.telerik.com/kendo-angular-ui/components/tooltips/popover/callout).
494
513
  *
495
514
  * @default true
496
515
  */
497
- callout = true;
516
+ set callout(value) {
517
+ this._callout.set(value);
518
+ }
519
+ get callout() {
520
+ return this._callout();
521
+ }
498
522
  /**
499
523
  * Enables and configures the Popover animation. [See example](https://www.telerik.com/kendo-angular-ui/components/tooltips/popover/animations).
500
524
  *
@@ -502,7 +526,12 @@ class PopoverComponent {
502
526
  *
503
527
  * @default false
504
528
  */
505
- animation = false;
529
+ set animation(value) {
530
+ this._animation.set(value);
531
+ }
532
+ get animation() {
533
+ return this._animation();
534
+ }
506
535
  /**
507
536
  * Defines a callback function that returns custom data for the Popover templates.
508
537
  * The function exposes the `anchor` element as an argument and returns an object that can be used in the templates. [See example](https://www.telerik.com/kendo-angular-ui/components/tooltips/popover/templates#passing-data-to-templates).
@@ -511,16 +540,21 @@ class PopoverComponent {
511
540
  if (isDevMode && typeof fn !== 'function') {
512
541
  throw new Error(`${ERRORS.templateData} ${JSON.stringify(fn)}.`);
513
542
  }
514
- this._templateData = fn;
543
+ this._templateData.set(fn);
515
544
  }
516
545
  get templateData() {
517
- return this._templateData;
546
+ return this._templateData();
518
547
  }
519
548
  /**
520
549
  * @hidden
521
550
  * Determines the visibility of the Popover.
522
551
  */
523
- visible = false;
552
+ get visible() {
553
+ return this._visible();
554
+ }
555
+ set visible(value) {
556
+ this._visible.set(value);
557
+ }
524
558
  /**
525
559
  * @hidden
526
560
  */
@@ -584,32 +618,38 @@ class PopoverComponent {
584
618
  /**
585
619
  * @hidden
586
620
  */
587
- _width = 'auto';
621
+ get _width() {
622
+ return this._widthValue();
623
+ }
588
624
  /**
589
625
  * @hidden
590
626
  */
591
- _height = 'auto';
627
+ get _height() {
628
+ return this._heightValue();
629
+ }
592
630
  /**
593
631
  * @hidden
594
632
  */
595
633
  popoverId = '';
596
- _offset = 6;
634
+ _position = signal('right', ...(ngDevMode ? [{ debugName: "_position" }] : []));
635
+ _offset = signal(6, ...(ngDevMode ? [{ debugName: "_offset" }] : []));
636
+ _widthValue = signal('auto', ...(ngDevMode ? [{ debugName: "_widthValue" }] : []));
637
+ _heightValue = signal('auto', ...(ngDevMode ? [{ debugName: "_heightValue" }] : []));
638
+ _title = signal(undefined, ...(ngDevMode ? [{ debugName: "_title" }] : []));
639
+ _subtitle = signal(undefined, ...(ngDevMode ? [{ debugName: "_subtitle" }] : []));
640
+ _body = signal(undefined, ...(ngDevMode ? [{ debugName: "_body" }] : []));
641
+ _callout = signal(true, ...(ngDevMode ? [{ debugName: "_callout" }] : []));
642
+ _animation = signal(false, ...(ngDevMode ? [{ debugName: "_animation" }] : []));
643
+ _templateData = signal(() => null, ...(ngDevMode ? [{ debugName: "_templateData" }] : []));
644
+ _visible = signal(false, ...(ngDevMode ? [{ debugName: "_visible" }] : []));
597
645
  subs = new Subscription();
598
- constructor(localization, renderer, element, zone) {
646
+ constructor(localization, renderer, element) {
599
647
  this.localization = localization;
600
648
  this.renderer = renderer;
601
649
  this.element = element;
602
- this.zone = zone;
603
650
  validatePackage(packageMetadata);
604
- }
605
- ngOnInit() {
606
- this.popoverId = getId('k-popover');
607
- this.subs.add(this.localization.changes.subscribe(({ rtl }) => { this.direction = rtl ? 'rtl' : 'ltr'; }));
608
- this.subs.add(this.renderer.listen(this.element.nativeElement, 'keydown', event => this.onKeyDown(event)));
609
- }
610
- ngAfterViewInit() {
611
- this.zone.onStable.pipe(take(1)).subscribe(() => {
612
- if (this.visible) {
651
+ afterNextRender(() => {
652
+ if (this.visible && this.popoverWrapper) {
613
653
  const wrapper = this.popoverWrapper.nativeElement;
614
654
  const focusablePopoverChildren = getAllFocusableChildren(wrapper);
615
655
  if (focusablePopoverChildren.length > 0) {
@@ -619,6 +659,11 @@ class PopoverComponent {
619
659
  }
620
660
  });
621
661
  }
662
+ ngOnInit() {
663
+ this.popoverId = getId('k-popover');
664
+ this.subs.add(this.localization.changes.subscribe(({ rtl }) => { this.direction = rtl ? 'rtl' : 'ltr'; }));
665
+ this.subs.add(this.renderer.listen(this.element.nativeElement, 'keydown', event => this.onKeyDown(event)));
666
+ }
622
667
  ngOnDestroy() {
623
668
  this.subs.unsubscribe();
624
669
  }
@@ -647,7 +692,6 @@ class PopoverComponent {
647
692
  this.closeOnKeyDown.emit();
648
693
  }
649
694
  }
650
- _templateData = () => null;
651
695
  keepFocusWithinComponent(target, event) {
652
696
  const wrapper = this.popoverWrapper.nativeElement;
653
697
  const [firstFocusable, lastFocusable] = getFirstAndLastFocusable(wrapper);
@@ -682,8 +726,8 @@ class PopoverComponent {
682
726
  this.renderer.setAttribute(wrapper, 'id', this.popoverId);
683
727
  this.renderer.setAttribute(wrapper, 'role', focusablePopoverChildren.length > 0 ? 'dialog' : 'tooltip');
684
728
  }
685
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PopoverComponent, deps: [{ token: i1.LocalizationService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
686
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: PopoverComponent, isStandalone: true, selector: "kendo-popover", inputs: { position: "position", offset: "offset", width: "width", height: "height", title: "title", subtitle: "subtitle", body: "body", callout: "callout", animation: "animation", templateData: "templateData" }, outputs: { show: "show", shown: "shown", hide: "hide", hidden: "hidden", closeOnKeyDown: "closeOnKeyDown" }, host: { properties: { "attr.dir": "this.direction", "class.k-hidden": "this.isHidden", "attr.aria-hidden": "this.hasAttributeHidden", "style.width": "this._width", "style.height": "this._height" } }, providers: [
729
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverComponent, deps: [{ token: i1.LocalizationService }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
730
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: PopoverComponent, isStandalone: true, selector: "kendo-popover", inputs: { position: "position", offset: "offset", width: "width", height: "height", title: "title", subtitle: "subtitle", body: "body", callout: "callout", animation: "animation", templateData: "templateData" }, outputs: { show: "show", shown: "shown", hide: "hide", hidden: "hidden", closeOnKeyDown: "closeOnKeyDown" }, host: { properties: { "attr.dir": "this.direction", "class.k-hidden": "this.isHidden", "attr.aria-hidden": "this.hasAttributeHidden", "style.width": "this._width", "style.height": "this._height" } }, providers: [
687
731
  LocalizationService,
688
732
  {
689
733
  provide: L10N_PREFIX,
@@ -777,9 +821,9 @@ class PopoverComponent {
777
821
  </ng-template>
778
822
  </div>
779
823
  }
780
- `, isInline: true, dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
824
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
781
825
  }
782
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PopoverComponent, decorators: [{
826
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverComponent, decorators: [{
783
827
  type: Component,
784
828
  args: [{
785
829
  selector: 'kendo-popover',
@@ -880,9 +924,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
880
924
  }
881
925
  `,
882
926
  standalone: true,
927
+ changeDetection: ChangeDetectionStrategy.OnPush,
883
928
  imports: [NgStyle, NgClass, NgTemplateOutlet]
884
929
  }]
885
- }], ctorParameters: () => [{ type: i1.LocalizationService }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { position: [{
930
+ }], ctorParameters: () => [{ type: i1.LocalizationService }, { type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { position: [{
886
931
  type: Input
887
932
  }], offset: [{
888
933
  type: Input
@@ -961,7 +1006,7 @@ class PopoverDirectivesBase {
961
1006
  */
962
1007
  set popover(value) {
963
1008
  if (value instanceof PopoverComponent || typeof value === `function`) {
964
- this._popover = value;
1009
+ this._popover.set(value);
965
1010
  }
966
1011
  else {
967
1012
  if (isDevMode) {
@@ -970,7 +1015,7 @@ class PopoverDirectivesBase {
970
1015
  }
971
1016
  }
972
1017
  get popover() {
973
- return this._popover;
1018
+ return this._popover();
974
1019
  }
975
1020
  /**
976
1021
  * Specifies the mouse action that triggers the popover to show. [See example](https://www.telerik.com/kendo-angular-ui/components/tooltips/popover/programmatic-control).
@@ -979,10 +1024,10 @@ class PopoverDirectivesBase {
979
1024
  if (isDevMode && !containsItem(validShowOptions, value)) {
980
1025
  throw new Error(ERRORS.showOn);
981
1026
  }
982
- this._showOn = value;
1027
+ this._showOn.set(value);
983
1028
  }
984
1029
  get showOn() {
985
- return this._showOn;
1030
+ return this._showOn();
986
1031
  }
987
1032
  /**
988
1033
  * @hidden
@@ -999,8 +1044,8 @@ class PopoverDirectivesBase {
999
1044
  _popoverService;
1000
1045
  _hideSub;
1001
1046
  _focusInsideSub;
1002
- _popover;
1003
- _showOn = 'click';
1047
+ _popover = signal(null, ...(ngDevMode ? [{ debugName: "_popover" }] : []));
1048
+ _showOn = signal('click', ...(ngDevMode ? [{ debugName: "_showOn" }] : []));
1004
1049
  _popupOpenSub;
1005
1050
  _popupCloseSub;
1006
1051
  _popupSubs;
@@ -1091,7 +1136,14 @@ class PopoverDirectivesBase {
1091
1136
  });
1092
1137
  const popupInstance = this.popupRef.content.instance;
1093
1138
  // Avoid adding the default k-popup class which leads to visual and rendering discrepancies
1094
- this.popupRef && (this.popupRef.popup.instance.renderDefaultClass = false);
1139
+ if (this.popupRef) {
1140
+ this.popupRef.popup.instance.renderDefaultClass = false;
1141
+ // Use the popup component's own CDRef (not ComponentRef.changeDetectorRef which wraps
1142
+ // the root/host lView). PopupComponent uses OnPush, so detectChanges() on the root lView
1143
+ // skips the component's template. The component's injector returns a CDRef that wraps
1144
+ // the component's template lView directly, ensuring the renderDefaultClass binding updates.
1145
+ this.popupRef.popup.injector.get(ChangeDetectorRef).detectChanges();
1146
+ }
1095
1147
  this._popupSubs = new Subscription();
1096
1148
  if (anchor) {
1097
1149
  this._popupSubs.add(this.renderer.listen(this.anchor, 'keydown', event => this.onKeyDown(event)));
@@ -1238,10 +1290,10 @@ class PopoverDirectivesBase {
1238
1290
  }
1239
1291
  return false;
1240
1292
  }
1241
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PopoverDirectivesBase, deps: [{ token: i0.NgZone }, { token: i1$1.PopupService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
1242
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: PopoverDirectivesBase, isStandalone: true, inputs: { popover: "popover", showOn: "showOn" }, ngImport: i0 });
1293
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverDirectivesBase, deps: [{ token: i0.NgZone }, { token: i1$1.PopupService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
1294
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: PopoverDirectivesBase, isStandalone: true, inputs: { popover: "popover", showOn: "showOn" }, ngImport: i0 });
1243
1295
  }
1244
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PopoverDirectivesBase, decorators: [{
1296
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverDirectivesBase, decorators: [{
1245
1297
  type: Directive,
1246
1298
  args: [{}]
1247
1299
  }], ctorParameters: () => [{ type: i0.NgZone }, { type: i1$1.PopupService }, { type: i0.Renderer2 }], propDecorators: { popover: [{
@@ -1307,10 +1359,10 @@ class PopoverService {
1307
1359
  this._hidePopover.next([isPopoverHovered, isAnchorHovered, this._isOrigin, this.currentAnchor]);
1308
1360
  }));
1309
1361
  }
1310
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PopoverService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
1311
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PopoverService });
1362
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
1363
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverService });
1312
1364
  }
1313
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PopoverService, decorators: [{
1365
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverService, decorators: [{
1314
1366
  type: Injectable
1315
1367
  }], ctorParameters: () => [{ type: i0.NgZone }] });
1316
1368
 
@@ -1459,10 +1511,10 @@ class PopoverAnchorDirective extends PopoverDirectivesBase {
1459
1511
  this.hide();
1460
1512
  }
1461
1513
  }
1462
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PopoverAnchorDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1$1.PopupService }, { token: i0.Renderer2 }, { token: PopoverService }], target: i0.ɵɵFactoryTarget.Directive });
1463
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: PopoverAnchorDirective, isStandalone: true, selector: "[kendoPopoverAnchor]", providers: [PopoverService], exportAs: ["kendoPopoverAnchor"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
1514
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverAnchorDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1$1.PopupService }, { token: i0.Renderer2 }, { token: PopoverService }], target: i0.ɵɵFactoryTarget.Directive });
1515
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: PopoverAnchorDirective, isStandalone: true, selector: "[kendoPopoverAnchor]", providers: [PopoverService], exportAs: ["kendoPopoverAnchor"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
1464
1516
  }
1465
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PopoverAnchorDirective, decorators: [{
1517
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverAnchorDirective, decorators: [{
1466
1518
  type: Directive,
1467
1519
  args: [{
1468
1520
  selector: '[kendoPopoverAnchor]',
@@ -1633,10 +1685,10 @@ class PopoverContainerDirective extends PopoverDirectivesBase {
1633
1685
  this.hide();
1634
1686
  }
1635
1687
  }
1636
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PopoverContainerDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1$1.PopupService }, { token: i0.Renderer2 }, { token: PopoverService }], target: i0.ɵɵFactoryTarget.Directive });
1637
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: PopoverContainerDirective, isStandalone: true, selector: "[kendoPopoverContainer]", inputs: { filter: "filter" }, providers: [PopoverService], exportAs: ["kendoPopoverContainer"], usesInheritance: true, ngImport: i0 });
1688
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverContainerDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1$1.PopupService }, { token: i0.Renderer2 }, { token: PopoverService }], target: i0.ɵɵFactoryTarget.Directive });
1689
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: PopoverContainerDirective, isStandalone: true, selector: "[kendoPopoverContainer]", inputs: { filter: "filter" }, providers: [PopoverService], exportAs: ["kendoPopoverContainer"], usesInheritance: true, ngImport: i0 });
1638
1690
  }
1639
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PopoverContainerDirective, decorators: [{
1691
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverContainerDirective, decorators: [{
1640
1692
  type: Directive,
1641
1693
  args: [{
1642
1694
  selector: '[kendoPopoverContainer]',
@@ -1654,6 +1706,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
1654
1706
  class TooltipContentComponent {
1655
1707
  content;
1656
1708
  localizationService;
1709
+ cdr;
1657
1710
  /**
1658
1711
  * @hidden
1659
1712
  */
@@ -1676,24 +1729,67 @@ class TooltipContentComponent {
1676
1729
  get cssPosition() {
1677
1730
  return 'relative';
1678
1731
  }
1679
- tooltipWidth = null;
1680
- tooltipHeight = null;
1681
- titleTemplate;
1682
- anchor;
1683
- closable;
1684
- templateRef;
1685
- templateString;
1732
+ set tooltipWidth(value) {
1733
+ this._tooltipWidth.set(value);
1734
+ }
1735
+ get tooltipWidth() {
1736
+ return this._tooltipWidth();
1737
+ }
1738
+ set tooltipHeight(value) {
1739
+ this._tooltipHeight.set(value);
1740
+ }
1741
+ get tooltipHeight() {
1742
+ return this._tooltipHeight();
1743
+ }
1744
+ set titleTemplate(value) {
1745
+ this._titleTemplate.set(value);
1746
+ }
1747
+ get titleTemplate() {
1748
+ return this._titleTemplate();
1749
+ }
1750
+ set anchor(value) {
1751
+ this._anchor.set(value);
1752
+ }
1753
+ get anchor() {
1754
+ return this._anchor();
1755
+ }
1756
+ set closable(value) {
1757
+ this._closable.set(value);
1758
+ }
1759
+ get closable() {
1760
+ return this._closable();
1761
+ }
1762
+ set templateRef(value) {
1763
+ this._templateRef.set(value);
1764
+ }
1765
+ get templateRef() {
1766
+ return this._templateRef();
1767
+ }
1768
+ set templateString(value) {
1769
+ this._templateString.set(value);
1770
+ }
1771
+ get templateString() {
1772
+ return this._templateString();
1773
+ }
1686
1774
  closeTitle;
1687
1775
  callout = true;
1688
1776
  position;
1777
+ _tooltipWidth = signal(null, ...(ngDevMode ? [{ debugName: "_tooltipWidth" }] : []));
1778
+ _tooltipHeight = signal(null, ...(ngDevMode ? [{ debugName: "_tooltipHeight" }] : []));
1779
+ _titleTemplate = signal(null, ...(ngDevMode ? [{ debugName: "_titleTemplate" }] : []));
1780
+ _templateString = signal(null, ...(ngDevMode ? [{ debugName: "_templateString" }] : []));
1781
+ _templateRef = signal(null, ...(ngDevMode ? [{ debugName: "_templateRef" }] : []));
1782
+ _anchor = signal(null, ...(ngDevMode ? [{ debugName: "_anchor" }] : []));
1783
+ _closable = signal(false, ...(ngDevMode ? [{ debugName: "_closable" }] : []));
1689
1784
  /**
1690
1785
  * @hidden
1691
1786
  */
1692
1787
  tooltipId;
1693
1788
  dynamicRTLSubscription;
1694
- constructor(content, localizationService) {
1789
+ constructor(content, localizationService, cdr) {
1695
1790
  this.content = content;
1696
1791
  this.localizationService = localizationService;
1792
+ this.cdr = cdr;
1697
1793
  this.direction = localizationService.rtl ? 'rtl' : 'ltr';
1698
1794
  }
1699
1795
  ngOnInit() {
@@ -1742,6 +1838,7 @@ class TooltipContentComponent {
1742
1838
  Object.keys(calloutStyles).forEach((style) => {
1743
1839
  callout.style[style] = calloutStyles[style];
1744
1840
  });
1841
+ this.cdr.markForCheck();
1745
1842
  }
1746
1843
  calloutStyles = (position, calloutSize, isFlip) => {
1747
1844
  const styles = {};
@@ -1775,8 +1872,8 @@ class TooltipContentComponent {
1775
1872
  styles.transform = isVertical ? `rotateX(${flipDeg})` : `rotateY(${flipDeg})`;
1776
1873
  return styles;
1777
1874
  };
1778
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TooltipContentComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
1779
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: TooltipContentComponent, isStandalone: true, selector: "kendo-tooltip", inputs: { tooltipWidth: "tooltipWidth", tooltipHeight: "tooltipHeight", titleTemplate: "titleTemplate", anchor: "anchor", closable: "closable", templateRef: "templateRef", templateString: "templateString" }, outputs: { close: "close" }, host: { properties: { "attr.dir": "this.direction", "class": "this.cssClasses", "attr.role": "this.hostRole", "attr.id": "this.hostId", "class.k-tooltip-closable": "this.className", "style.position": "this.cssPosition", "style.width.px": "this.tooltipWidth", "style.height.px": "this.tooltipHeight" } }, providers: [
1875
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipContentComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1876
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: TooltipContentComponent, isStandalone: true, selector: "kendo-tooltip", inputs: { tooltipWidth: "tooltipWidth", tooltipHeight: "tooltipHeight", titleTemplate: "titleTemplate", anchor: "anchor", closable: "closable", templateRef: "templateRef", templateString: "templateString" }, outputs: { close: "close" }, host: { properties: { "attr.dir": "this.direction", "class": "this.cssClasses", "attr.role": "this.hostRole", "attr.id": "this.hostId", "class.k-tooltip-closable": "this.className", "style.position": "this.cssPosition", "style.width.px": "this.tooltipWidth", "style.height.px": "this.tooltipHeight" } }, providers: [
1780
1877
  LocalizationService,
1781
1878
  {
1782
1879
  provide: L10N_PREFIX,
@@ -1825,9 +1922,9 @@ class TooltipContentComponent {
1825
1922
  @if (callout) {
1826
1923
  <div class="k-callout" [ngClass]="calloutPositionClass()"></div>
1827
1924
  }
1828
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoTooltipLocalizedMessages]", inputs: ["closeTitle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
1925
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoTooltipLocalizedMessages]", inputs: ["closeTitle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1829
1926
  }
1830
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TooltipContentComponent, decorators: [{
1927
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipContentComponent, decorators: [{
1831
1928
  type: Component,
1832
1929
  args: [{
1833
1930
  selector: 'kendo-tooltip',
@@ -1883,9 +1980,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
1883
1980
  }
1884
1981
  ],
1885
1982
  standalone: true,
1983
+ changeDetection: ChangeDetectionStrategy.OnPush,
1886
1984
  imports: [LocalizedMessagesDirective, NgTemplateOutlet, IconWrapperComponent, NgClass]
1887
1985
  }]
1888
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.LocalizationService }], propDecorators: { direction: [{
1986
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }], propDecorators: { direction: [{
1889
1987
  type: HostBinding,
1890
1988
  args: ['attr.dir']
1891
1989
  }], close: [{
@@ -1984,10 +2082,10 @@ class TooltipSettings {
1984
2082
  * @hidden
1985
2083
  */
1986
2084
  constructor() { }
1987
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TooltipSettings, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1988
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TooltipSettings });
2085
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipSettings, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2086
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipSettings });
1989
2087
  }
1990
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TooltipSettings, decorators: [{
2088
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipSettings, decorators: [{
1991
2089
  type: Injectable
1992
2090
  }], ctorParameters: () => [] });
1993
2091
 
@@ -2007,46 +2105,82 @@ class TooltipDirective {
2007
2105
  ngZone;
2008
2106
  renderer;
2009
2107
  popupService;
2108
+ injector;
2010
2109
  /**
2011
2110
  * Specifies a selector for elements within a container that display a tooltip
2012
2111
  * ([see example](https://www.telerik.com/kendo-angular-ui/components/tooltips/tooltip/anchor-elements)). The possible values include any
2013
2112
  * DOM `selector`.
2014
2113
  * @default '[title]'
2015
2114
  */
2016
- filter = '[title]';
2115
+ set filter(value) {
2116
+ this._filter.set(value);
2117
+ }
2118
+ get filter() {
2119
+ return this._filter();
2120
+ }
2017
2121
  /**
2018
2122
  * Specifies the position of the Tooltip relative to the
2019
2123
  * anchor element ([see example](https://www.telerik.com/kendo-angular-ui/components/tooltips/tooltip/positioning)).
2020
2124
  *
2021
2125
  * @default 'top'
2022
2126
  */
2023
- position = 'top';
2127
+ set position(value) {
2128
+ this._position.set(value);
2129
+ }
2130
+ get position() {
2131
+ return this._position();
2132
+ }
2024
2133
  /**
2025
2134
  * Sets the template for the tooltip header title. [See example](https://www.telerik.com/kendo-angular-ui/components/tooltips/tooltip/anchor-elements).
2026
2135
  */
2027
- titleTemplate;
2136
+ set titleTemplate(value) {
2137
+ this._titleTemplate.set(value);
2138
+ }
2139
+ get titleTemplate() {
2140
+ return this._titleTemplate();
2141
+ }
2028
2142
  /**
2029
2143
  * Specifies the mouse action that triggers the Tooltip to show. [See example](https://www.telerik.com/kendo-angular-ui/components/tooltips/tooltip/opening).
2030
2144
  */
2031
- showOn;
2145
+ set showOn(value) {
2146
+ this._showOn.set(value);
2147
+ }
2148
+ get showOn() {
2149
+ return this._showOn();
2150
+ }
2032
2151
  /**
2033
2152
  * Specifies the delay in milliseconds before the Tooltip is shown.
2034
2153
  *
2035
2154
  * @default 100
2036
2155
  */
2037
- showAfter = 100;
2156
+ set showAfter(value) {
2157
+ this._showAfter.set(value);
2158
+ }
2159
+ get showAfter() {
2160
+ return this._showAfter();
2161
+ }
2038
2162
  /**
2039
2163
  * Determines if the Tooltip displays a callout arrow.
2040
2164
  *
2041
2165
  * @default true
2042
2166
  */
2043
- callout = true;
2167
+ set callout(value) {
2168
+ this._callout.set(value);
2169
+ }
2170
+ get callout() {
2171
+ return this._callout();
2172
+ }
2044
2173
  /**
2045
2174
  * Determines if the Tooltip displays a **Close** button. [See example](https://www.telerik.com/kendo-angular-ui/components/tooltips/tooltip/closable-tooltip).
2046
2175
  *
2047
2176
  * @default false
2048
2177
  */
2049
- closable = false;
2178
+ set closable(value) {
2179
+ this._closable.set(value);
2180
+ }
2181
+ get closable() {
2182
+ return this._closable();
2183
+ }
2050
2184
  /**
2051
2185
  * Specifies the offset in pixels between the Tooltip and the anchor.
2052
2186
  * If the `callout` property is set to `true`, the offset is rendered from the callout arrow.
@@ -2054,37 +2188,77 @@ class TooltipDirective {
2054
2188
  *
2055
2189
  * @default 6
2056
2190
  */
2057
- offset = 6;
2191
+ set offset(value) {
2192
+ this._offset.set(value);
2193
+ }
2194
+ get offset() {
2195
+ return this._offset();
2196
+ }
2058
2197
  /**
2059
2198
  * Sets the width of the Tooltip. [See example](https://www.telerik.com/kendo-angular-ui/components/tooltips/tooltip/anchor-elements).
2060
2199
  */
2061
- tooltipWidth;
2200
+ set tooltipWidth(value) {
2201
+ this._tooltipWidth.set(value);
2202
+ }
2203
+ get tooltipWidth() {
2204
+ return this._tooltipWidth();
2205
+ }
2062
2206
  /**
2063
2207
  * Sets the height of the Tooltip.
2064
2208
  */
2065
- tooltipHeight;
2209
+ set tooltipHeight(value) {
2210
+ this._tooltipHeight.set(value);
2211
+ }
2212
+ get tooltipHeight() {
2213
+ return this._tooltipHeight();
2214
+ }
2066
2215
  /**
2067
2216
  * Sets a CSS class for the Tooltip.
2068
2217
  */
2069
- tooltipClass;
2218
+ set tooltipClass(value) {
2219
+ this._tooltipClass.set(value);
2220
+ }
2221
+ get tooltipClass() {
2222
+ return this._tooltipClass();
2223
+ }
2070
2224
  /**
2071
2225
  * Specifies the theme color of the Tooltip.
2072
2226
  * The theme color applies the corresponding `k-tooltip-{tooltipThemeColor}` class to the Tooltip element.
2073
2227
  */
2074
- tooltipThemeColor;
2228
+ set tooltipThemeColor(value) {
2229
+ this._tooltipThemeColor.set(value);
2230
+ }
2231
+ get tooltipThemeColor() {
2232
+ return this._tooltipThemeColor();
2233
+ }
2075
2234
  /**
2076
2235
  * @hidden
2077
2236
  * Specifies a CSS class that will be added to the kendo-tooltip element.
2078
2237
  */
2079
- tooltipContentClass;
2238
+ set tooltipContentClass(value) {
2239
+ this._tooltipContentClass.set(value);
2240
+ }
2241
+ get tooltipContentClass() {
2242
+ return this._tooltipContentClass();
2243
+ }
2080
2244
  /**
2081
2245
  * Provides screen boundary detection when the Тooltip is shown.
2082
2246
  */
2083
- collision;
2247
+ set collision(value) {
2248
+ this._collision.set(value);
2249
+ }
2250
+ get collision() {
2251
+ return this._collision();
2252
+ }
2084
2253
  /**
2085
2254
  * Sets the title of the **Close** button.
2086
2255
  */
2087
- closeTitle;
2256
+ set closeTitle(value) {
2257
+ this._closeTitle.set(value);
2258
+ }
2259
+ get closeTitle() {
2260
+ return this._closeTitle();
2261
+ }
2088
2262
  /**
2089
2263
  * Sets a custom content template for the Tooltip.
2090
2264
  * The template is rendered inside the Tooltip content area. [See example](https://www.telerik.com/kendo-angular-ui/components/tooltips/tooltip/templates).
@@ -2096,7 +2270,12 @@ class TooltipDirective {
2096
2270
  return this.template;
2097
2271
  }
2098
2272
  popupRef;
2099
- template;
2273
+ set template(value) {
2274
+ this._tooltipTemplate.set(value);
2275
+ }
2276
+ get template() {
2277
+ return this._tooltipTemplate();
2278
+ }
2100
2279
  showTimeout;
2101
2280
  anchor = null;
2102
2281
  mouseOverSubscription;
@@ -2109,11 +2288,28 @@ class TooltipDirective {
2109
2288
  closeClickSubscription;
2110
2289
  validPositions = ['top', 'bottom', 'right', 'left'];
2111
2290
  validShowOptions = ['hover', 'click', 'none'];
2112
- constructor(tooltipWrapper, ngZone, renderer, popupService, settings, legacySettings) {
2291
+ _filter = signal('[title]', ...(ngDevMode ? [{ debugName: "_filter" }] : []));
2292
+ _position = signal('top', ...(ngDevMode ? [{ debugName: "_position" }] : []));
2293
+ _titleTemplate = signal(null, ...(ngDevMode ? [{ debugName: "_titleTemplate" }] : []));
2294
+ _showOn = signal(undefined, ...(ngDevMode ? [{ debugName: "_showOn" }] : []));
2295
+ _showAfter = signal(100, ...(ngDevMode ? [{ debugName: "_showAfter" }] : []));
2296
+ _callout = signal(true, ...(ngDevMode ? [{ debugName: "_callout" }] : []));
2297
+ _closable = signal(false, ...(ngDevMode ? [{ debugName: "_closable" }] : []));
2298
+ _offset = signal(6, ...(ngDevMode ? [{ debugName: "_offset" }] : []));
2299
+ _tooltipWidth = signal(null, ...(ngDevMode ? [{ debugName: "_tooltipWidth" }] : []));
2300
+ _tooltipHeight = signal(null, ...(ngDevMode ? [{ debugName: "_tooltipHeight" }] : []));
2301
+ _closeTitle = signal(null, ...(ngDevMode ? [{ debugName: "_closeTitle" }] : []));
2302
+ _tooltipTemplate = signal(null, ...(ngDevMode ? [{ debugName: "_tooltipTemplate" }] : []));
2303
+ _tooltipClass = signal(null, ...(ngDevMode ? [{ debugName: "_tooltipClass" }] : []));
2304
+ _tooltipThemeColor = signal(null, ...(ngDevMode ? [{ debugName: "_tooltipThemeColor" }] : []));
2305
+ _tooltipContentClass = signal(null, ...(ngDevMode ? [{ debugName: "_tooltipContentClass" }] : []));
2306
+ _collision = signal(null, ...(ngDevMode ? [{ debugName: "_collision" }] : []));
2307
+ constructor(tooltipWrapper, ngZone, renderer, popupService, injector, settings, legacySettings) {
2113
2308
  this.tooltipWrapper = tooltipWrapper;
2114
2309
  this.ngZone = ngZone;
2115
2310
  this.renderer = renderer;
2116
2311
  this.popupService = popupService;
2312
+ this.injector = injector;
2117
2313
  validatePackage(packageMetadata);
2118
2314
  Object.assign(this, settings, legacySettings);
2119
2315
  this.ngZone.runOutsideAngular(() => {
@@ -2162,12 +2358,12 @@ class TooltipDirective {
2162
2358
  */
2163
2359
  hide() {
2164
2360
  clearTimeout(this.showTimeout);
2165
- const anchor = this.anchor && this.anchor.nativeElement;
2166
- if (anchor && anchor.getAttribute('data-title')) {
2167
- if (!anchor.getAttribute('title') && anchor.hasAttribute('title')) {
2168
- anchor.setAttribute('title', anchor.getAttribute('data-title'));
2361
+ const anchor = this.anchor?.nativeElement;
2362
+ if (anchor?.getAttribute('data-title')) {
2363
+ if (!anchor?.getAttribute('title') && anchor?.hasAttribute('title')) {
2364
+ anchor?.setAttribute('title', anchor?.getAttribute('data-title'));
2169
2365
  }
2170
- anchor.setAttribute('data-title', '');
2366
+ anchor?.setAttribute('data-title', '');
2171
2367
  }
2172
2368
  if (this.popupMouseOutSubscription) {
2173
2369
  this.popupMouseOutSubscription.unsubscribe();
@@ -2183,7 +2379,7 @@ class TooltipDirective {
2183
2379
  * @param show - Optional. Boolean. Specifies if the Tooltip is rendered.
2184
2380
  */
2185
2381
  toggle(anchor, show) {
2186
- const previousAnchor = this.anchor && this.anchor.nativeElement;
2382
+ const previousAnchor = this.anchor?.nativeElement;
2187
2383
  if (anchor instanceof Element) {
2188
2384
  anchor = { nativeElement: anchor };
2189
2385
  }
@@ -2219,11 +2415,13 @@ class TooltipDirective {
2219
2415
  if (!this.popupRef) {
2220
2416
  return;
2221
2417
  }
2222
- if (this.anchor &&
2223
- !hasParent(this.anchor.nativeElement || this.anchor, this.tooltipWrapper.nativeElement)) {
2224
- this.anchor = null;
2225
- this.hide();
2226
- }
2418
+ afterNextRender(() => {
2419
+ if (this.anchor &&
2420
+ !hasParent(this.anchor?.nativeElement || this.anchor, this.tooltipWrapper.nativeElement)) {
2421
+ this.anchor = null;
2422
+ this.hide();
2423
+ }
2424
+ }, { injector: this.injector });
2227
2425
  }
2228
2426
  ngOnDestroy() {
2229
2427
  this.hide();
@@ -2261,7 +2459,7 @@ class TooltipDirective {
2261
2459
  this.hide();
2262
2460
  });
2263
2461
  if (!this.template) {
2264
- content.templateString = this.anchor.nativeElement.getAttribute('data-title');
2462
+ content.templateString = this.anchor?.nativeElement.getAttribute('data-title');
2265
2463
  }
2266
2464
  else {
2267
2465
  content.templateRef = this.template;
@@ -2311,7 +2509,7 @@ class TooltipDirective {
2311
2509
  }
2312
2510
  const popupInstance = this.popupRef.content.instance;
2313
2511
  if (anchorRef) {
2314
- this.renderer.setAttribute(anchorRef.nativeElement, 'aria-labelledby', popupInstance.tooltipId);
2512
+ this.renderer.setAttribute(anchorRef.nativeElement, 'aria-describedby', popupInstance.tooltipId);
2315
2513
  }
2316
2514
  if (popupInstance.callout) {
2317
2515
  this.popupPositionChangeSubscription = this.popupRef.popupPositionChange
@@ -2331,7 +2529,7 @@ class TooltipDirective {
2331
2529
  closePopup() {
2332
2530
  if (this.popupRef) {
2333
2531
  if (this.anchor) {
2334
- this.renderer.removeAttribute(this.anchor.nativeElement, 'aria-labelledby');
2532
+ this.renderer.removeAttribute(this.anchor?.nativeElement, 'aria-describedby');
2335
2533
  }
2336
2534
  this.popupRef.close();
2337
2535
  this.popupRef = null;
@@ -2374,14 +2572,14 @@ class TooltipDirective {
2374
2572
  const target = event.target;
2375
2573
  if (this.popupRef) {
2376
2574
  const tooltipId = this.popupRef.content.location.nativeElement.getAttribute('id');
2377
- const anchorLabelledBy = target.getAttribute('aria-labelledby');
2378
- if (keyCode === Keys.Escape && this.canCloseTooltip(target, tooltipId, anchorLabelledBy)) {
2575
+ const anchorDescribedBy = target.getAttribute('aria-describedby');
2576
+ if (keyCode === Keys.Escape && this.canCloseTooltip(target, tooltipId, anchorDescribedBy)) {
2379
2577
  this.closePopup();
2380
2578
  }
2381
2579
  }
2382
2580
  }
2383
- canCloseTooltip(target, tooltipId, anchorLabelledBy) {
2384
- const isIdEqualsLabel = tooltipId === anchorLabelledBy;
2581
+ canCloseTooltip(target, tooltipId, anchorDescribedBy) {
2582
+ const isIdEqualsLabel = tooltipId === anchorDescribedBy;
2385
2583
  const filterElement = closestBySelector(target, this.filter);
2386
2584
  const isTargetFocused = target === document.activeElement;
2387
2585
  const isTargetInsideWrapper = this.tooltipWrapper.nativeElement.contains(target);
@@ -2405,7 +2603,7 @@ class TooltipDirective {
2405
2603
  }
2406
2604
  const popup = this.popupRef && this.popupRef.popupElement;
2407
2605
  const relatedTarget = e.relatedTarget;
2408
- if (relatedTarget && this.anchor && contains(this.anchor.nativeElement, relatedTarget)) {
2606
+ if (relatedTarget && this.anchor && contains(this.anchor?.nativeElement, relatedTarget)) {
2409
2607
  return;
2410
2608
  }
2411
2609
  if (relatedTarget && contains(popup, relatedTarget)) {
@@ -2424,17 +2622,17 @@ class TooltipDirective {
2424
2622
  throw new Error(`Invalid value provided for showOn property.The available options are 'hover' or 'none'.`);
2425
2623
  }
2426
2624
  }
2427
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1$1.PopupService }, { token: TooltipSettings, optional: true }, { token: TOOLTIP_SETTINGS, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
2428
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: TooltipDirective, isStandalone: true, selector: "[kendoTooltip]", inputs: { filter: "filter", position: "position", titleTemplate: "titleTemplate", showOn: "showOn", showAfter: "showAfter", callout: "callout", closable: "closable", offset: "offset", tooltipWidth: "tooltipWidth", tooltipHeight: "tooltipHeight", tooltipClass: "tooltipClass", tooltipThemeColor: "tooltipThemeColor", tooltipContentClass: "tooltipContentClass", collision: "collision", closeTitle: "closeTitle", tooltipTemplate: "tooltipTemplate" }, exportAs: ["kendoTooltip"], usesOnChanges: true, ngImport: i0 });
2625
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1$1.PopupService }, { token: i0.Injector }, { token: TooltipSettings, optional: true }, { token: TOOLTIP_SETTINGS, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
2626
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: TooltipDirective, isStandalone: true, selector: "[kendoTooltip]", inputs: { filter: "filter", position: "position", titleTemplate: "titleTemplate", showOn: "showOn", showAfter: "showAfter", callout: "callout", closable: "closable", offset: "offset", tooltipWidth: "tooltipWidth", tooltipHeight: "tooltipHeight", tooltipClass: "tooltipClass", tooltipThemeColor: "tooltipThemeColor", tooltipContentClass: "tooltipContentClass", collision: "collision", closeTitle: "closeTitle", tooltipTemplate: "tooltipTemplate" }, exportAs: ["kendoTooltip"], usesOnChanges: true, ngImport: i0 });
2429
2627
  }
2430
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TooltipDirective, decorators: [{
2628
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipDirective, decorators: [{
2431
2629
  type: Directive,
2432
2630
  args: [{
2433
2631
  selector: '[kendoTooltip]',
2434
2632
  exportAs: 'kendoTooltip',
2435
2633
  standalone: true
2436
2634
  }]
2437
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1$1.PopupService }, { type: TooltipSettings, decorators: [{
2635
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1$1.PopupService }, { type: i0.Injector }, { type: TooltipSettings, decorators: [{
2438
2636
  type: Optional
2439
2637
  }] }, { type: TooltipSettings, decorators: [{
2440
2638
  type: Optional
@@ -2583,11 +2781,11 @@ const KENDO_TOOLTIPS = [
2583
2781
  * ```
2584
2782
  */
2585
2783
  class TooltipModule {
2586
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2587
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.25", ngImport: i0, type: TooltipModule, imports: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective], exports: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective] });
2588
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TooltipModule, providers: [PopupService, ResizeBatchService, IconsService], imports: [TooltipContentComponent] });
2784
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2785
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: TooltipModule, imports: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective], exports: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective] });
2786
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipModule, providers: [PopupService, ResizeBatchService, IconsService], imports: [TooltipContentComponent] });
2589
2787
  }
2590
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TooltipModule, decorators: [{
2788
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipModule, decorators: [{
2591
2789
  type: NgModule,
2592
2790
  args: [{
2593
2791
  imports: [...KENDO_TOOLTIP],
@@ -2616,11 +2814,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
2616
2814
  * ```
2617
2815
  */
2618
2816
  class PopoverModule {
2619
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2620
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.25", ngImport: i0, type: PopoverModule, imports: [PopoverComponent, PopoverActionsTemplateDirective, PopoverBodyTemplateDirective, PopoverTitleTemplateDirective, PopoverAnchorDirective, PopoverContainerDirective], exports: [PopoverComponent, PopoverActionsTemplateDirective, PopoverBodyTemplateDirective, PopoverTitleTemplateDirective, PopoverAnchorDirective, PopoverContainerDirective] });
2621
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PopoverModule, providers: [PopupService, ResizeBatchService] });
2817
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2818
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: PopoverModule, imports: [PopoverComponent, PopoverActionsTemplateDirective, PopoverBodyTemplateDirective, PopoverTitleTemplateDirective, PopoverAnchorDirective, PopoverContainerDirective], exports: [PopoverComponent, PopoverActionsTemplateDirective, PopoverBodyTemplateDirective, PopoverTitleTemplateDirective, PopoverAnchorDirective, PopoverContainerDirective] });
2819
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverModule, providers: [PopupService, ResizeBatchService] });
2622
2820
  }
2623
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PopoverModule, decorators: [{
2821
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverModule, decorators: [{
2624
2822
  type: NgModule,
2625
2823
  args: [{
2626
2824
  exports: [...KENDO_POPOVER],
@@ -2649,11 +2847,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
2649
2847
  * ```
2650
2848
  */
2651
2849
  class TooltipsModule {
2652
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TooltipsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2653
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.25", ngImport: i0, type: TooltipsModule, imports: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective, PopoverComponent, PopoverActionsTemplateDirective, PopoverBodyTemplateDirective, PopoverTitleTemplateDirective, PopoverAnchorDirective, PopoverContainerDirective], exports: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective, PopoverComponent, PopoverActionsTemplateDirective, PopoverBodyTemplateDirective, PopoverTitleTemplateDirective, PopoverAnchorDirective, PopoverContainerDirective] });
2654
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TooltipsModule, providers: [PopupService, ResizeBatchService, IconsService], imports: [TooltipContentComponent] });
2850
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2851
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: TooltipsModule, imports: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective, PopoverComponent, PopoverActionsTemplateDirective, PopoverBodyTemplateDirective, PopoverTitleTemplateDirective, PopoverAnchorDirective, PopoverContainerDirective], exports: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective, PopoverComponent, PopoverActionsTemplateDirective, PopoverBodyTemplateDirective, PopoverTitleTemplateDirective, PopoverAnchorDirective, PopoverContainerDirective] });
2852
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipsModule, providers: [PopupService, ResizeBatchService, IconsService], imports: [TooltipContentComponent] });
2655
2853
  }
2656
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TooltipsModule, decorators: [{
2854
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipsModule, decorators: [{
2657
2855
  type: NgModule,
2658
2856
  args: [{
2659
2857
  imports: [...KENDO_TOOLTIPS],