@progress/kendo-angular-tooltip 25.0.0-develop.2 → 25.0.0-develop.20

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
- import { PreventableEvent, focusableSelector, Keys, isDocumentAvailable, closest, hasObservers, ResizeBatchService } from '@progress/kendo-angular-common';
9
+ import { PreventableEvent, focusableSelector, Keys, isDocumentAvailable, closest, hasObservers, provideComponentName, 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: "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: [
32
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
33
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.26", 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: "20.3.25", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", 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: 1783688607,
306
- version: '25.0.0-develop.2',
305
+ publishDate: 1785763371,
306
+ version: '25.0.0-develop.20',
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: "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 });
330
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", 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.26", type: PopoverTitleTemplateDirective, isStandalone: true, selector: "[kendoPopoverTitleTemplate]", ngImport: i0 });
332
332
  }
333
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverTitleTemplateDirective, decorators: [{
333
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", 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: "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 });
363
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", 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.26", type: PopoverBodyTemplateDirective, isStandalone: true, selector: "[kendoPopoverBodyTemplate]", ngImport: i0 });
365
365
  }
366
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverBodyTemplateDirective, decorators: [{
366
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", 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: "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 });
396
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", 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.26", type: PopoverActionsTemplateDirective, isStandalone: true, selector: "[kendoPopoverActionsTemplate]", ngImport: i0 });
398
398
  }
399
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverActionsTemplateDirective, decorators: [{
399
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", 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: "20.3.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: "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: [
729
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", 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.26", 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: "20.3.25", ngImport: i0, type: PopoverComponent, decorators: [{
826
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", 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: "20.3.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: "20.3.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: "20.3.25", type: PopoverDirectivesBase, isStandalone: true, inputs: { popover: "popover", showOn: "showOn" }, ngImport: i0 });
1293
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", 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.26", type: PopoverDirectivesBase, isStandalone: true, inputs: { popover: "popover", showOn: "showOn" }, ngImport: i0 });
1243
1295
  }
1244
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverDirectivesBase, decorators: [{
1296
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", 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: "20.3.25", ngImport: i0, type: PopoverService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
1311
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverService });
1362
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: PopoverService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
1363
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: PopoverService });
1312
1364
  }
1313
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverService, decorators: [{
1365
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", 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: "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 });
1463
- 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 });
1514
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", 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.26", 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: "20.3.25", ngImport: i0, type: PopoverAnchorDirective, decorators: [{
1517
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", 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: "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 });
1637
- 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 });
1688
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", 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.26", 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: "20.3.25", ngImport: i0, type: PopoverContainerDirective, decorators: [{
1691
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", 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: "20.3.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,13 +1872,14 @@ 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: "20.3.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: "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: [
1875
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", 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.26", 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,
1783
1880
  useValue: 'kendo.tooltip'
1784
- }
1881
+ },
1882
+ provideComponentName('tooltip')
1785
1883
  ], ngImport: i0, template: `
1786
1884
  <ng-container kendoTooltipLocalizedMessages
1787
1885
  i18n-closeTitle="kendo.tooltip.closeTitle|The title of the close button"
@@ -1825,9 +1923,9 @@ class TooltipContentComponent {
1825
1923
  @if (callout) {
1826
1924
  <div class="k-callout" [ngClass]="calloutPositionClass()"></div>
1827
1925
  }
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"] }] });
1926
+ `, 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
1927
  }
1830
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipContentComponent, decorators: [{
1928
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: TooltipContentComponent, decorators: [{
1831
1929
  type: Component,
1832
1930
  args: [{
1833
1931
  selector: 'kendo-tooltip',
@@ -1880,12 +1978,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
1880
1978
  {
1881
1979
  provide: L10N_PREFIX,
1882
1980
  useValue: 'kendo.tooltip'
1883
- }
1981
+ },
1982
+ provideComponentName('tooltip')
1884
1983
  ],
1885
1984
  standalone: true,
1985
+ changeDetection: ChangeDetectionStrategy.OnPush,
1886
1986
  imports: [LocalizedMessagesDirective, NgTemplateOutlet, IconWrapperComponent, NgClass]
1887
1987
  }]
1888
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.LocalizationService }], propDecorators: { direction: [{
1988
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }], propDecorators: { direction: [{
1889
1989
  type: HostBinding,
1890
1990
  args: ['attr.dir']
1891
1991
  }], close: [{
@@ -1984,10 +2084,10 @@ class TooltipSettings {
1984
2084
  * @hidden
1985
2085
  */
1986
2086
  constructor() { }
1987
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipSettings, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1988
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipSettings });
2087
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: TooltipSettings, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2088
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: TooltipSettings });
1989
2089
  }
1990
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipSettings, decorators: [{
2090
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: TooltipSettings, decorators: [{
1991
2091
  type: Injectable
1992
2092
  }], ctorParameters: () => [] });
1993
2093
 
@@ -2007,46 +2107,82 @@ class TooltipDirective {
2007
2107
  ngZone;
2008
2108
  renderer;
2009
2109
  popupService;
2110
+ injector;
2010
2111
  /**
2011
2112
  * Specifies a selector for elements within a container that display a tooltip
2012
2113
  * ([see example](https://www.telerik.com/kendo-angular-ui/components/tooltips/tooltip/anchor-elements)). The possible values include any
2013
2114
  * DOM `selector`.
2014
2115
  * @default '[title]'
2015
2116
  */
2016
- filter = '[title]';
2117
+ set filter(value) {
2118
+ this._filter.set(value);
2119
+ }
2120
+ get filter() {
2121
+ return this._filter();
2122
+ }
2017
2123
  /**
2018
2124
  * Specifies the position of the Tooltip relative to the
2019
2125
  * anchor element ([see example](https://www.telerik.com/kendo-angular-ui/components/tooltips/tooltip/positioning)).
2020
2126
  *
2021
2127
  * @default 'top'
2022
2128
  */
2023
- position = 'top';
2129
+ set position(value) {
2130
+ this._position.set(value);
2131
+ }
2132
+ get position() {
2133
+ return this._position();
2134
+ }
2024
2135
  /**
2025
2136
  * Sets the template for the tooltip header title. [See example](https://www.telerik.com/kendo-angular-ui/components/tooltips/tooltip/anchor-elements).
2026
2137
  */
2027
- titleTemplate;
2138
+ set titleTemplate(value) {
2139
+ this._titleTemplate.set(value);
2140
+ }
2141
+ get titleTemplate() {
2142
+ return this._titleTemplate();
2143
+ }
2028
2144
  /**
2029
2145
  * Specifies the mouse action that triggers the Tooltip to show. [See example](https://www.telerik.com/kendo-angular-ui/components/tooltips/tooltip/opening).
2030
2146
  */
2031
- showOn;
2147
+ set showOn(value) {
2148
+ this._showOn.set(value);
2149
+ }
2150
+ get showOn() {
2151
+ return this._showOn();
2152
+ }
2032
2153
  /**
2033
2154
  * Specifies the delay in milliseconds before the Tooltip is shown.
2034
2155
  *
2035
2156
  * @default 100
2036
2157
  */
2037
- showAfter = 100;
2158
+ set showAfter(value) {
2159
+ this._showAfter.set(value);
2160
+ }
2161
+ get showAfter() {
2162
+ return this._showAfter();
2163
+ }
2038
2164
  /**
2039
2165
  * Determines if the Tooltip displays a callout arrow.
2040
2166
  *
2041
2167
  * @default true
2042
2168
  */
2043
- callout = true;
2169
+ set callout(value) {
2170
+ this._callout.set(value);
2171
+ }
2172
+ get callout() {
2173
+ return this._callout();
2174
+ }
2044
2175
  /**
2045
2176
  * Determines if the Tooltip displays a **Close** button. [See example](https://www.telerik.com/kendo-angular-ui/components/tooltips/tooltip/closable-tooltip).
2046
2177
  *
2047
2178
  * @default false
2048
2179
  */
2049
- closable = false;
2180
+ set closable(value) {
2181
+ this._closable.set(value);
2182
+ }
2183
+ get closable() {
2184
+ return this._closable();
2185
+ }
2050
2186
  /**
2051
2187
  * Specifies the offset in pixels between the Tooltip and the anchor.
2052
2188
  * If the `callout` property is set to `true`, the offset is rendered from the callout arrow.
@@ -2054,37 +2190,77 @@ class TooltipDirective {
2054
2190
  *
2055
2191
  * @default 6
2056
2192
  */
2057
- offset = 6;
2193
+ set offset(value) {
2194
+ this._offset.set(value);
2195
+ }
2196
+ get offset() {
2197
+ return this._offset();
2198
+ }
2058
2199
  /**
2059
2200
  * Sets the width of the Tooltip. [See example](https://www.telerik.com/kendo-angular-ui/components/tooltips/tooltip/anchor-elements).
2060
2201
  */
2061
- tooltipWidth;
2202
+ set tooltipWidth(value) {
2203
+ this._tooltipWidth.set(value);
2204
+ }
2205
+ get tooltipWidth() {
2206
+ return this._tooltipWidth();
2207
+ }
2062
2208
  /**
2063
2209
  * Sets the height of the Tooltip.
2064
2210
  */
2065
- tooltipHeight;
2211
+ set tooltipHeight(value) {
2212
+ this._tooltipHeight.set(value);
2213
+ }
2214
+ get tooltipHeight() {
2215
+ return this._tooltipHeight();
2216
+ }
2066
2217
  /**
2067
2218
  * Sets a CSS class for the Tooltip.
2068
2219
  */
2069
- tooltipClass;
2220
+ set tooltipClass(value) {
2221
+ this._tooltipClass.set(value);
2222
+ }
2223
+ get tooltipClass() {
2224
+ return this._tooltipClass();
2225
+ }
2070
2226
  /**
2071
2227
  * Specifies the theme color of the Tooltip.
2072
2228
  * The theme color applies the corresponding `k-tooltip-{tooltipThemeColor}` class to the Tooltip element.
2073
2229
  */
2074
- tooltipThemeColor;
2230
+ set tooltipThemeColor(value) {
2231
+ this._tooltipThemeColor.set(value);
2232
+ }
2233
+ get tooltipThemeColor() {
2234
+ return this._tooltipThemeColor();
2235
+ }
2075
2236
  /**
2076
2237
  * @hidden
2077
2238
  * Specifies a CSS class that will be added to the kendo-tooltip element.
2078
2239
  */
2079
- tooltipContentClass;
2240
+ set tooltipContentClass(value) {
2241
+ this._tooltipContentClass.set(value);
2242
+ }
2243
+ get tooltipContentClass() {
2244
+ return this._tooltipContentClass();
2245
+ }
2080
2246
  /**
2081
2247
  * Provides screen boundary detection when the Тooltip is shown.
2082
2248
  */
2083
- collision;
2249
+ set collision(value) {
2250
+ this._collision.set(value);
2251
+ }
2252
+ get collision() {
2253
+ return this._collision();
2254
+ }
2084
2255
  /**
2085
2256
  * Sets the title of the **Close** button.
2086
2257
  */
2087
- closeTitle;
2258
+ set closeTitle(value) {
2259
+ this._closeTitle.set(value);
2260
+ }
2261
+ get closeTitle() {
2262
+ return this._closeTitle();
2263
+ }
2088
2264
  /**
2089
2265
  * Sets a custom content template for the Tooltip.
2090
2266
  * The template is rendered inside the Tooltip content area. [See example](https://www.telerik.com/kendo-angular-ui/components/tooltips/tooltip/templates).
@@ -2096,7 +2272,12 @@ class TooltipDirective {
2096
2272
  return this.template;
2097
2273
  }
2098
2274
  popupRef;
2099
- template;
2275
+ set template(value) {
2276
+ this._tooltipTemplate.set(value);
2277
+ }
2278
+ get template() {
2279
+ return this._tooltipTemplate();
2280
+ }
2100
2281
  showTimeout;
2101
2282
  anchor = null;
2102
2283
  mouseOverSubscription;
@@ -2109,11 +2290,28 @@ class TooltipDirective {
2109
2290
  closeClickSubscription;
2110
2291
  validPositions = ['top', 'bottom', 'right', 'left'];
2111
2292
  validShowOptions = ['hover', 'click', 'none'];
2112
- constructor(tooltipWrapper, ngZone, renderer, popupService, settings, legacySettings) {
2293
+ _filter = signal('[title]', ...(ngDevMode ? [{ debugName: "_filter" }] : []));
2294
+ _position = signal('top', ...(ngDevMode ? [{ debugName: "_position" }] : []));
2295
+ _titleTemplate = signal(null, ...(ngDevMode ? [{ debugName: "_titleTemplate" }] : []));
2296
+ _showOn = signal(undefined, ...(ngDevMode ? [{ debugName: "_showOn" }] : []));
2297
+ _showAfter = signal(100, ...(ngDevMode ? [{ debugName: "_showAfter" }] : []));
2298
+ _callout = signal(true, ...(ngDevMode ? [{ debugName: "_callout" }] : []));
2299
+ _closable = signal(false, ...(ngDevMode ? [{ debugName: "_closable" }] : []));
2300
+ _offset = signal(6, ...(ngDevMode ? [{ debugName: "_offset" }] : []));
2301
+ _tooltipWidth = signal(null, ...(ngDevMode ? [{ debugName: "_tooltipWidth" }] : []));
2302
+ _tooltipHeight = signal(null, ...(ngDevMode ? [{ debugName: "_tooltipHeight" }] : []));
2303
+ _closeTitle = signal(null, ...(ngDevMode ? [{ debugName: "_closeTitle" }] : []));
2304
+ _tooltipTemplate = signal(null, ...(ngDevMode ? [{ debugName: "_tooltipTemplate" }] : []));
2305
+ _tooltipClass = signal(null, ...(ngDevMode ? [{ debugName: "_tooltipClass" }] : []));
2306
+ _tooltipThemeColor = signal(null, ...(ngDevMode ? [{ debugName: "_tooltipThemeColor" }] : []));
2307
+ _tooltipContentClass = signal(null, ...(ngDevMode ? [{ debugName: "_tooltipContentClass" }] : []));
2308
+ _collision = signal(null, ...(ngDevMode ? [{ debugName: "_collision" }] : []));
2309
+ constructor(tooltipWrapper, ngZone, renderer, popupService, injector, settings, legacySettings) {
2113
2310
  this.tooltipWrapper = tooltipWrapper;
2114
2311
  this.ngZone = ngZone;
2115
2312
  this.renderer = renderer;
2116
2313
  this.popupService = popupService;
2314
+ this.injector = injector;
2117
2315
  validatePackage(packageMetadata);
2118
2316
  Object.assign(this, settings, legacySettings);
2119
2317
  this.ngZone.runOutsideAngular(() => {
@@ -2162,12 +2360,12 @@ class TooltipDirective {
2162
2360
  */
2163
2361
  hide() {
2164
2362
  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'));
2363
+ const anchor = this.anchor?.nativeElement;
2364
+ if (anchor?.getAttribute('data-title')) {
2365
+ if (!anchor?.getAttribute('title') && anchor?.hasAttribute('title')) {
2366
+ anchor?.setAttribute('title', anchor?.getAttribute('data-title'));
2169
2367
  }
2170
- anchor.setAttribute('data-title', '');
2368
+ anchor?.setAttribute('data-title', '');
2171
2369
  }
2172
2370
  if (this.popupMouseOutSubscription) {
2173
2371
  this.popupMouseOutSubscription.unsubscribe();
@@ -2183,7 +2381,7 @@ class TooltipDirective {
2183
2381
  * @param show - Optional. Boolean. Specifies if the Tooltip is rendered.
2184
2382
  */
2185
2383
  toggle(anchor, show) {
2186
- const previousAnchor = this.anchor && this.anchor.nativeElement;
2384
+ const previousAnchor = this.anchor?.nativeElement;
2187
2385
  if (anchor instanceof Element) {
2188
2386
  anchor = { nativeElement: anchor };
2189
2387
  }
@@ -2219,11 +2417,13 @@ class TooltipDirective {
2219
2417
  if (!this.popupRef) {
2220
2418
  return;
2221
2419
  }
2222
- if (this.anchor &&
2223
- !hasParent(this.anchor.nativeElement || this.anchor, this.tooltipWrapper.nativeElement)) {
2224
- this.anchor = null;
2225
- this.hide();
2226
- }
2420
+ afterNextRender(() => {
2421
+ if (this.anchor &&
2422
+ !hasParent(this.anchor?.nativeElement || this.anchor, this.tooltipWrapper.nativeElement)) {
2423
+ this.anchor = null;
2424
+ this.hide();
2425
+ }
2426
+ }, { injector: this.injector });
2227
2427
  }
2228
2428
  ngOnDestroy() {
2229
2429
  this.hide();
@@ -2261,7 +2461,7 @@ class TooltipDirective {
2261
2461
  this.hide();
2262
2462
  });
2263
2463
  if (!this.template) {
2264
- content.templateString = this.anchor.nativeElement.getAttribute('data-title');
2464
+ content.templateString = this.anchor?.nativeElement.getAttribute('data-title');
2265
2465
  }
2266
2466
  else {
2267
2467
  content.templateRef = this.template;
@@ -2311,7 +2511,7 @@ class TooltipDirective {
2311
2511
  }
2312
2512
  const popupInstance = this.popupRef.content.instance;
2313
2513
  if (anchorRef) {
2314
- this.renderer.setAttribute(anchorRef.nativeElement, 'aria-labelledby', popupInstance.tooltipId);
2514
+ this.renderer.setAttribute(anchorRef.nativeElement, 'aria-describedby', popupInstance.tooltipId);
2315
2515
  }
2316
2516
  if (popupInstance.callout) {
2317
2517
  this.popupPositionChangeSubscription = this.popupRef.popupPositionChange
@@ -2331,7 +2531,7 @@ class TooltipDirective {
2331
2531
  closePopup() {
2332
2532
  if (this.popupRef) {
2333
2533
  if (this.anchor) {
2334
- this.renderer.removeAttribute(this.anchor.nativeElement, 'aria-labelledby');
2534
+ this.renderer.removeAttribute(this.anchor?.nativeElement, 'aria-describedby');
2335
2535
  }
2336
2536
  this.popupRef.close();
2337
2537
  this.popupRef = null;
@@ -2374,14 +2574,14 @@ class TooltipDirective {
2374
2574
  const target = event.target;
2375
2575
  if (this.popupRef) {
2376
2576
  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)) {
2577
+ const anchorDescribedBy = target.getAttribute('aria-describedby');
2578
+ if (keyCode === Keys.Escape && this.canCloseTooltip(target, tooltipId, anchorDescribedBy)) {
2379
2579
  this.closePopup();
2380
2580
  }
2381
2581
  }
2382
2582
  }
2383
- canCloseTooltip(target, tooltipId, anchorLabelledBy) {
2384
- const isIdEqualsLabel = tooltipId === anchorLabelledBy;
2583
+ canCloseTooltip(target, tooltipId, anchorDescribedBy) {
2584
+ const isIdEqualsLabel = tooltipId === anchorDescribedBy;
2385
2585
  const filterElement = closestBySelector(target, this.filter);
2386
2586
  const isTargetFocused = target === document.activeElement;
2387
2587
  const isTargetInsideWrapper = this.tooltipWrapper.nativeElement.contains(target);
@@ -2405,7 +2605,7 @@ class TooltipDirective {
2405
2605
  }
2406
2606
  const popup = this.popupRef && this.popupRef.popupElement;
2407
2607
  const relatedTarget = e.relatedTarget;
2408
- if (relatedTarget && this.anchor && contains(this.anchor.nativeElement, relatedTarget)) {
2608
+ if (relatedTarget && this.anchor && contains(this.anchor?.nativeElement, relatedTarget)) {
2409
2609
  return;
2410
2610
  }
2411
2611
  if (relatedTarget && contains(popup, relatedTarget)) {
@@ -2424,17 +2624,17 @@ class TooltipDirective {
2424
2624
  throw new Error(`Invalid value provided for showOn property.The available options are 'hover' or 'none'.`);
2425
2625
  }
2426
2626
  }
2427
- 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: TooltipSettings, optional: true }, { token: TOOLTIP_SETTINGS, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
2428
- 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 });
2627
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", 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 });
2628
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.26", 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
2629
  }
2430
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipDirective, decorators: [{
2630
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: TooltipDirective, decorators: [{
2431
2631
  type: Directive,
2432
2632
  args: [{
2433
2633
  selector: '[kendoTooltip]',
2434
2634
  exportAs: 'kendoTooltip',
2435
2635
  standalone: true
2436
2636
  }]
2437
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1$1.PopupService }, { type: TooltipSettings, decorators: [{
2637
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1$1.PopupService }, { type: i0.Injector }, { type: TooltipSettings, decorators: [{
2438
2638
  type: Optional
2439
2639
  }] }, { type: TooltipSettings, decorators: [{
2440
2640
  type: Optional
@@ -2583,11 +2783,11 @@ const KENDO_TOOLTIPS = [
2583
2783
  * ```
2584
2784
  */
2585
2785
  class TooltipModule {
2586
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2587
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: TooltipModule, imports: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective], exports: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective] });
2588
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipModule, providers: [PopupService, ResizeBatchService, IconsService], imports: [TooltipContentComponent] });
2786
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: TooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2787
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.26", ngImport: i0, type: TooltipModule, imports: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective], exports: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective] });
2788
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: TooltipModule, providers: [PopupService, ResizeBatchService, IconsService], imports: [TooltipContentComponent] });
2589
2789
  }
2590
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipModule, decorators: [{
2790
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: TooltipModule, decorators: [{
2591
2791
  type: NgModule,
2592
2792
  args: [{
2593
2793
  imports: [...KENDO_TOOLTIP],
@@ -2616,11 +2816,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
2616
2816
  * ```
2617
2817
  */
2618
2818
  class PopoverModule {
2619
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2620
- 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] });
2621
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverModule, providers: [PopupService, ResizeBatchService] });
2819
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: PopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2820
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.26", ngImport: i0, type: PopoverModule, imports: [PopoverComponent, PopoverActionsTemplateDirective, PopoverBodyTemplateDirective, PopoverTitleTemplateDirective, PopoverAnchorDirective, PopoverContainerDirective], exports: [PopoverComponent, PopoverActionsTemplateDirective, PopoverBodyTemplateDirective, PopoverTitleTemplateDirective, PopoverAnchorDirective, PopoverContainerDirective] });
2821
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: PopoverModule, providers: [PopupService, ResizeBatchService] });
2622
2822
  }
2623
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopoverModule, decorators: [{
2823
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: PopoverModule, decorators: [{
2624
2824
  type: NgModule,
2625
2825
  args: [{
2626
2826
  exports: [...KENDO_POPOVER],
@@ -2649,11 +2849,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
2649
2849
  * ```
2650
2850
  */
2651
2851
  class TooltipsModule {
2652
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2653
- 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] });
2654
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipsModule, providers: [PopupService, ResizeBatchService, IconsService], imports: [TooltipContentComponent] });
2852
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: TooltipsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2853
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.26", ngImport: i0, type: TooltipsModule, imports: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective, PopoverComponent, PopoverActionsTemplateDirective, PopoverBodyTemplateDirective, PopoverTitleTemplateDirective, PopoverAnchorDirective, PopoverContainerDirective], exports: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective, PopoverComponent, PopoverActionsTemplateDirective, PopoverBodyTemplateDirective, PopoverTitleTemplateDirective, PopoverAnchorDirective, PopoverContainerDirective] });
2854
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: TooltipsModule, providers: [PopupService, ResizeBatchService, IconsService], imports: [TooltipContentComponent] });
2655
2855
  }
2656
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipsModule, decorators: [{
2856
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: TooltipsModule, decorators: [{
2657
2857
  type: NgModule,
2658
2858
  args: [{
2659
2859
  imports: [...KENDO_TOOLTIPS],