@progress/kendo-angular-tooltip 4.0.4-dev.202211170814 → 4.1.0-dev.202211240854

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.
@@ -2,4 +2,4 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs/operators"),require("rxjs"),require("@progress/kendo-licensing"),require("@progress/kendo-angular-l10n"),require("@angular/common"),require("@progress/kendo-angular-popup"),require("@progress/kendo-angular-common")):"function"==typeof define&&define.amd?define("KendoAngularTooltip",["exports","@angular/core","rxjs/operators","rxjs","@progress/kendo-licensing","@progress/kendo-angular-l10n","@angular/common","@progress/kendo-angular-popup","@progress/kendo-angular-common"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoAngularTooltip={},e.ng.core,e.rxjs.operators,e.rxjs,e.KendoLicensing,e.KendoAngularL10N,e.ng.common,e.KendoAngularPopup,e.KendoAngularCommon)}(this,function(e,p,a,l,x,t,o,n,s){"use strict";function i(o){var n;return o&&o.__esModule?o:(n=Object.create(null),o&&Object.keys(o).forEach(function(e){var t;"default"!==e&&(t=Object.getOwnPropertyDescriptor(o,e),Object.defineProperty(n,e,t.get?t:{enumerable:!0,get:function(){return o[e]}}))}),n.default=o,Object.freeze(n))}var r=i(p),c=i(t),u=i(o),h=i(n),j={name:"@progress/kendo-angular-tooltip",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1668672854,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"},H=new p.InjectionToken("kendo-ui-tooltip-settings"),d=function(){};function N(e,t){var o={},n={},i={};switch(e){case"top":o={horizontal:"center",vertical:"top"},n={horizontal:"center",vertical:"bottom"},i={horizontal:0,vertical:t};break;case"bottom":o={horizontal:"center",vertical:"bottom"},n={horizontal:"center",vertical:"top"},i={horizontal:0,vertical:t};break;case"right":o={horizontal:"right",vertical:"center"},n={horizontal:"left",vertical:"center"},i={horizontal:t,vertical:0};break;case"left":o={horizontal:"left",vertical:"center"},n={horizontal:"right",vertical:"center"},i={horizontal:t,vertical:0}}return{anchorAlign:o,popupAlign:n,popupMargin:i}}function F(e){return 9===e.nodeType}function g(e,t){if(e.closest)return e.closest(t);for(var o=Element.prototype.matches?function(e,t){return e.matches(t)}:function(e,t){return e.msMatchesSelector(t)},n=e;n&&!F(n);){if(o(n,t))return n;n=n.parentNode}}function z(e,t){return e&&!F(e)&&(e.contains?e.contains(t):e.compareDocumentPosition&&e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)}d.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:d,deps:[],target:r.ɵɵFactoryTarget.Injectable}),d.ɵprov=r.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:d}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:d,decorators:[{type:p.Injectable}],ctorParameters:function(){return[]}});function Z(e,t,o){e=e.getBoundingClientRect();return e[t]+e[o]/2}function B(e,t){return-1!==e.indexOf(t)}var W=function(e,t){return(W=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(e,t){e.__proto__=t}:function(e,t){for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}))(e,t)};function f(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function o(){this.constructor=e}W(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}Object.create;function m(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||0<t--)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s}function v(e,t,o){if(o||2===arguments.length)for(var n,i=0,r=t.length;i<r;i++)!n&&i in t||((n=n||Array.prototype.slice.call(t,0,i))[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))}Object.create;f(q,$=t.ComponentMessages);var $,y=q;function q(e){var t=$.call(this)||this;return t.service=e,t}y.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:y,deps:[{token:c.LocalizationService}],target:r.ɵɵFactoryTarget.Directive}),y.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:y,selector:"[kendoTooltipLocalizedMessages]",inputs:{closeTitle:"closeTitle"},providers:[{provide:t.ComponentMessages,useExisting:p.forwardRef(function(){return y})}],usesInheritance:!0,ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:y,decorators:[{type:p.Directive,args:[{providers:[{provide:t.ComponentMessages,useExisting:p.forwardRef(function(){return y})}],selector:"[kendoTooltipLocalizedMessages]"}]}],ctorParameters:function(){return[{type:c.LocalizationService}]},propDecorators:{closeTitle:[{type:p.Input}]}});Object.defineProperty(T.prototype,"cssClasses",{get:function(){return"k-widget k-tooltip"},enumerable:!1,configurable:!0}),Object.defineProperty(T.prototype,"className",{get:function(){return this.closable},enumerable:!1,configurable:!0}),Object.defineProperty(T.prototype,"cssPosition",{get:function(){return"relative"},enumerable:!1,configurable:!0}),T.prototype.ngOnInit=function(){var t=this;this.dynamicRTLSubscription=this.localizationService.changes.subscribe(function(e){e=e.rtl;return t.direction=e?"rtl":"ltr"})},T.prototype.ngOnDestroy=function(){this.dynamicRTLSubscription&&this.dynamicRTLSubscription.unsubscribe()},Object.defineProperty(T.prototype,"closeButtonTitle",{get:function(){return this.closeTitle||this.localizationService.get("closeTitle")},enumerable:!1,configurable:!0}),T.prototype.calloutPositionClass=function(){return{top:"k-callout-s",left:"k-callout-e",bottom:"k-callout-n",right:"k-callout-w"}[this.position]},T.prototype.onCloseClick=function(e){e.preventDefault(),this.close.emit()},T.prototype.updateCalloutPosition=function(e,t){var o,n,i,r,s,p,a;this.callout&&(p=(n="top"===e||"bottom"===e)?"width":"height",s=n?"left":"top",n=n?"marginLeft":"marginTop",i=(o=this.content.nativeElement.querySelector(".k-callout")).getBoundingClientRect()[p],r=Z(this.anchor.nativeElement,s,p),s=Z(this.content.nativeElement,s,p),(1<(p=Math.abs(s-r))||0===p||0===Math.round(p))&&(o.style[n]=-(s-r+i/2)+"px"),a=this.calloutStyles(e,i,t),Object.keys(a).forEach(function(e){o.style[e]=a[e]}))};var b=T;function T(e,t){this.content=e,this.localizationService=t,this.close=new p.EventEmitter,this.tooltipWidth=null,this.tooltipHeight=null,this.callout=!0,this.calloutStyles=function(e,t,o){var n={},i="top"===e||"bottom"===e;return o?("top"===e?n.bottom="unset":"bottom"===e?n.top="unset":"left"===e?n.right="unset":"right"===e&&(n.left="unset"),n[e]=-t+"px",n.transform=i?"rotateX(180deg)":"rotateY(180deg)"):n.transform=i?"rotateX(0deg)":"rotateY(0deg)",n},this.direction=t.rtl?"rtl":"ltr"}b.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:b,deps:[{token:r.ElementRef},{token:c.LocalizationService}],target:r.ɵɵFactoryTarget.Component}),b.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:b,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","class.k-tooltip-closable":"this.className","style.position":"this.cssPosition","style.width.px":"this.tooltipWidth","style.height.px":"this.tooltipHeight"}},providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.tooltip"}],ngImport:r,template:'\n <ng-container kendoTooltipLocalizedMessages\n i18n-closeTitle="kendo.tooltip.closeTitle|The title of the close button"\n closeTitle="Close"\n >\n </ng-container>\n\n <div class="k-tooltip-content">\n <div class="k-tooltip-title" *ngIf="titleTemplate">\n <ng-template\n [ngIf]="titleTemplate"\n [ngTemplateOutlet]="titleTemplate"\n [ngTemplateOutletContext]="{ $implicit: anchor, anchor: anchor }">\n </ng-template>\n </div>\n\n <ng-template\n [ngIf]="templateRef"\n [ngTemplateOutlet]="templateRef"\n [ngTemplateOutletContext]="{ $implicit: anchor, anchor: anchor }">\n </ng-template>\n <ng-template\n [ngIf]="templateString">\n {{ templateString }}\n </ng-template>\n </div>\n\n <div *ngIf="closable" class="k-tooltip-button" (click)="onCloseClick($event)">\n <a href="#" class="k-icon k-i-x" [attr.title]="closeButtonTitle"></a>\n </div>\n\n <div class="k-callout" *ngIf="callout" [ngClass]="calloutPositionClass()"></div>\n ',isInline:!0,directives:[{type:y,selector:"[kendoTooltipLocalizedMessages]",inputs:["closeTitle"]},{type:u.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:u.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]},{type:u.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]}]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:b,decorators:[{type:p.Component,args:[{selector:"kendo-tooltip",template:'\n <ng-container kendoTooltipLocalizedMessages\n i18n-closeTitle="kendo.tooltip.closeTitle|The title of the close button"\n closeTitle="Close"\n >\n </ng-container>\n\n <div class="k-tooltip-content">\n <div class="k-tooltip-title" *ngIf="titleTemplate">\n <ng-template\n [ngIf]="titleTemplate"\n [ngTemplateOutlet]="titleTemplate"\n [ngTemplateOutletContext]="{ $implicit: anchor, anchor: anchor }">\n </ng-template>\n </div>\n\n <ng-template\n [ngIf]="templateRef"\n [ngTemplateOutlet]="templateRef"\n [ngTemplateOutletContext]="{ $implicit: anchor, anchor: anchor }">\n </ng-template>\n <ng-template\n [ngIf]="templateString">\n {{ templateString }}\n </ng-template>\n </div>\n\n <div *ngIf="closable" class="k-tooltip-button" (click)="onCloseClick($event)">\n <a href="#" class="k-icon k-i-x" [attr.title]="closeButtonTitle"></a>\n </div>\n\n <div class="k-callout" *ngIf="callout" [ngClass]="calloutPositionClass()"></div>\n ',providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.tooltip"}]}]}],ctorParameters:function(){return[{type:r.ElementRef},{type:c.LocalizationService}]},propDecorators:{direction:[{type:p.HostBinding,args:["attr.dir"]}],close:[{type:p.Output}],cssClasses:[{type:p.HostBinding,args:["class"]}],className:[{type:p.HostBinding,args:["class.k-tooltip-closable"]}],cssPosition:[{type:p.HostBinding,args:["style.position"]}],tooltipWidth:[{type:p.HostBinding,args:["style.width.px"]},{type:p.Input}],tooltipHeight:[{type:p.HostBinding,args:["style.height.px"]},{type:p.Input}],titleTemplate:[{type:p.Input}],anchor:[{type:p.Input}],closable:[{type:p.Input}],templateRef:[{type:p.Input}],templateString:[{type:p.Input}]}});Object.defineProperty(I.prototype,"tooltipTemplate",{get:function(){return this.template},set:function(e){this.template=e},enumerable:!1,configurable:!0}),I.prototype.show=function(e){var t=this;this.popupRef||(e instanceof Element&&(e={nativeElement:e}),this.anchor=e,"hover"===this.showOn?this.popupRef||(clearTimeout(this.showTimeout),this.showTimeout=setTimeout(function(){return t.showContent(t.anchor)},this.showAfter)):(this.hideElementTitle(this.anchor),this.showContent(this.anchor)))},I.prototype.hide=function(){clearTimeout(this.showTimeout);var e=this.anchor&&this.anchor.nativeElement;e&&e.getAttribute("data-title")&&(!e.getAttribute("title")&&e.hasAttribute("title")&&e.setAttribute("title",e.getAttribute("data-title")),e.setAttribute("data-title","")),this.popupMouseOutSubscription&&this.popupMouseOutSubscription.unsubscribe(),this.closeClickSubscription&&this.closeClickSubscription.unsubscribe(),this.closePopup()},I.prototype.toggle=function(e,t){var o=this.anchor&&this.anchor.nativeElement;o!==(e=e instanceof Element?{nativeElement:e}:e).nativeElement&&this.hide(),o===e.nativeElement&&"click"===this.showOn&&this.hide(),(t=void 0===t?!this.popupRef:t)?this.show(e):this.hide()},I.prototype.ngOnInit=function(){void 0===this.showOn&&(this.showOn="hover"),this.verifyProperties()},I.prototype.ngOnChanges=function(e){e.showOn&&this.subscribeClick()},I.prototype.ngAfterViewChecked=function(){this.popupRef&&this.anchor&&!function(e,t){for(;e&&e!==t;)e=e.parentNode;return e}(this.anchor.nativeElement||this.anchor,this.tooltipWrapper.nativeElement)&&(this.anchor=null,this.hide())},I.prototype.ngOnDestroy=function(){this.hide(),this.template=null,this.anchorTitleSubscription.unsubscribe(),this.mouseOverSubscription.unsubscribe(),this.mouseOutSubscription.unsubscribe(),this.mouseClickSubscription&&this.mouseClickSubscription.unsubscribe(),this.popupPositionChangeSubscription&&this.popupPositionChangeSubscription.unsubscribe(),this.popupMouseOutSubscription&&this.popupMouseOutSubscription.unsubscribe()},I.prototype.showContent=function(e){var t=this;(e.nativeElement.getAttribute("data-title")||this.template)&&(this.ngZone.run(function(){t.openPopup(e),t.bindContent(t.popupRef.content,e)}),this.popupRef.popupAnchorViewportLeave.pipe(a.take(1)).subscribe(function(){return t.hide()}))},I.prototype.bindContent=function(e,t){var o=this,e=e.instance;this.closeClickSubscription=e.close.subscribe(function(){o.hide()}),this.template?e.templateRef=this.template:e.templateString=this.anchor.nativeElement.getAttribute("data-title"),this.titleTemplate&&(e.titleTemplate=this.titleTemplate),e.closeTitle=this.closeTitle,e.anchor=t,e.callout=this.callout,e.closable=this.closable,e.position=this.position,e.tooltipWidth=this.tooltipWidth,e.tooltipHeight=this.tooltipHeight,this.popupRef.content.changeDetectorRef.detectChanges()},I.prototype.hideElementTitle=function(e){e=e.nativeElement;e.getAttribute("title")&&(e.setAttribute("data-title",e.getAttribute("title")),e.setAttribute("title",""))},I.prototype.openPopup=function(e){var t=this,o=N(this.position,this.offset),n=o.anchorAlign,i=o.popupAlign,o=o.popupMargin,r=(this.popupRef=this.popupService.open({anchor:e,anchorAlign:n,animate:!1,content:b,collision:(e=this.collision,n=this.position,e||("top"===n||"bottom"===n?{horizontal:"fit",vertical:"flip"}:{horizontal:"flip",vertical:"fit"})),margin:o,popupAlign:i,popupClass:"k-popup-transparent"}),this.renderer.addClass(this.popupRef.popupElement,"k-tooltip-wrapper"),this.tooltipClass&&this.renderer.addClass(this.popupRef.popupElement,this.tooltipClass),this.popupRef.content.instance);r.callout&&(this.popupPositionChangeSubscription=this.popupRef.popupPositionChange.subscribe(function(e){e=e.flip,e=!0===e.horizontal||!0===e.vertical;r.updateCalloutPosition(t.position,e)})),"hover"===this.showOn&&this.ngZone.runOutsideAngular(function(){var e=t.popupRef.popupElement;t.popupMouseOutSubscription=l.fromEvent(e,"mouseout").subscribe(function(e){return t.onMouseOut(e)})})},I.prototype.closePopup=function(){this.popupRef&&(this.popupRef.close(),this.popupRef=null),this.popupPositionChangeSubscription&&this.popupPositionChangeSubscription.unsubscribe()},I.prototype.subscribeClick=function(){var t=this;this.mouseClickSubscription&&this.mouseClickSubscription.unsubscribe(),"click"===this.showOn&&(this.mouseClickSubscription=l.fromEvent(document,"click").pipe(a.filter(function(){return""!==t.filter})).subscribe(function(e){return t.onMouseClick(e,t.tooltipWrapper.nativeElement)}))},I.prototype.onMouseClick=function(e,t){var e=e.target,o=g(e,this.filter),n=this.popupRef&&this.popupRef.popupElement;if(n){if(n.contains(e))return;if(this.closable)return}t.contains(e)&&o?this.toggle(o,!0):n&&this.hide()},I.prototype.onMouseOver=function(e){e=g(e.target,this.filter);"hover"===this.showOn&&e&&this.toggle(e,!0)},I.prototype.onMouseOut=function(e){var t;"hover"!==this.showOn||this.closable||(t=this.popupRef&&this.popupRef.popupElement,(e=e.relatedTarget)&&this.anchor&&z(this.anchor.nativeElement,e))||e&&z(t,e)||this.hide()},I.prototype.verifyProperties=function(){if(p.isDevMode()){if(!B(this.validPositions,this.position))throw new Error("Invalid value provided for position property.The available options are 'top', 'bottom', 'left', or 'right'.");if(!B(this.validShowOptions,this.showOn))throw new Error("Invalid value provided for showOn property.The available options are 'hover' or 'none'.")}};var k=I;function I(e,t,o,n,i,r){var s=this;this.tooltipWrapper=e,this.ngZone=t,this.renderer=o,this.popupService=n,this.filter="[title]",this.position="top",this.showAfter=100,this.callout=!0,this.closable=!1,this.offset=6,this.anchor=null,this.validPositions=["top","bottom","right","left"],this.validShowOptions=["hover","click","none"],x.validatePackage(j),Object.assign(this,i,r),this.ngZone.runOutsideAngular(function(){var e=s.tooltipWrapper.nativeElement;s.anchorTitleSubscription=l.fromEvent(e,"mouseover").pipe(a.filter(function(){return""!==s.filter})).subscribe(function(e){e=g(e.target,s.filter);e&&s.hideElementTitle({nativeElement:e})}),s.mouseOverSubscription=l.fromEvent(e,"mouseover").pipe(a.filter(function(){return""!==s.filter})).subscribe(function(e){return s.onMouseOver(e)}),s.mouseOutSubscription=l.fromEvent(e,"mouseout").subscribe(function(e){return s.onMouseOut(e)})})}k.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:k,deps:[{token:r.ElementRef},{token:r.NgZone},{token:r.Renderer2},{token:h.PopupService},{token:d,optional:!0},{token:H,optional:!0}],target:r.ɵɵFactoryTarget.Directive}),k.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:k,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",collision:"collision",closeTitle:"closeTitle",tooltipTemplate:"tooltipTemplate"},exportAs:["kendoTooltip"],usesOnChanges:!0,ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:k,decorators:[{type:p.Directive,args:[{selector:"[kendoTooltip]",exportAs:"kendoTooltip"}]}],ctorParameters:function(){return[{type:r.ElementRef},{type:r.NgZone},{type:r.Renderer2},{type:h.PopupService},{type:d,decorators:[{type:p.Optional}]},{type:d,decorators:[{type:p.Optional},{type:p.Inject,args:[H]}]}]},propDecorators:{filter:[{type:p.Input}],position:[{type:p.Input}],titleTemplate:[{type:p.Input}],showOn:[{type:p.Input}],showAfter:[{type:p.Input}],callout:[{type:p.Input}],closable:[{type:p.Input}],offset:[{type:p.Input}],tooltipWidth:[{type:p.Input}],tooltipHeight:[{type:p.Input}],tooltipClass:[{type:p.Input}],collision:[{type:p.Input}],closeTitle:[{type:p.Input}],tooltipTemplate:[{type:p.Input}]}});var K="Invalid value provided for the 'popover' property. The accepted data types are 'PopoverComponent' or 'PopoverFn'.",U="templateData must be a function, but received",X="Invalid value provided for the 'showOn' property. The available options are 'click', 'hover', 'focus' or 'none'.",O=function(e){this.templateRef=e},C=(O.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:O,deps:[{token:r.TemplateRef,optional:!0}],target:r.ɵɵFactoryTarget.Directive}),O.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:O,selector:"[kendoPopoverTitleTemplate]",ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:O,decorators:[{type:p.Directive,args:[{selector:"[kendoPopoverTitleTemplate]"}]}],ctorParameters:function(){return[{type:r.TemplateRef,decorators:[{type:p.Optional}]}]}}),function(e){this.templateRef=e}),P=(C.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:C,deps:[{token:r.TemplateRef,optional:!0}],target:r.ɵɵFactoryTarget.Directive}),C.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:C,selector:"[kendoPopoverBodyTemplate]",ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:C,decorators:[{type:p.Directive,args:[{selector:"[kendoPopoverBodyTemplate]"}]}],ctorParameters:function(){return[{type:r.TemplateRef,decorators:[{type:p.Optional}]}]}}),function(e){this.templateRef=e}),w=(P.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:P,deps:[{token:r.TemplateRef,optional:!0}],target:r.ɵɵFactoryTarget.Directive}),P.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:P,selector:"[kendoPopoverActionsTemplate]",ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:P,decorators:[{type:p.Directive,args:[{selector:"[kendoPopoverActionsTemplate]"}]}],ctorParameters:function(){return[{type:r.TemplateRef,decorators:[{type:p.Optional}]}]}}),Object.defineProperty(E.prototype,"offset",{get:function(){return this.callout?14+this._offset:this._offset},set:function(e){this._offset=e},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"width",{get:function(){return this._width},set:function(e){this._width="number"==typeof e?e+"px":e},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"height",{get:function(){return this._height},set:function(e){this._height="number"==typeof e?e+"px":e},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"templateData",{get:function(){return this._templateData},set:function(e){if(p.isDevMode&&"function"!=typeof e)throw new Error(U+" "+JSON.stringify(e)+".");this._templateData=e},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"isHidden",{get:function(){return!this.visible},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"hasAttributeHidden",{get:function(){return!this.visible},enumerable:!1,configurable:!0}),E.prototype.ngOnInit=function(){var t=this;this.subs.add(this.localization.changes.subscribe(function(e){e=e.rtl;t.direction=e?"rtl":"ltr"}))},E.prototype.ngOnDestroy=function(){this.subs.unsubscribe()},E.prototype.getCalloutPosition=function(){switch(this.position){case"top":return{"k-callout-s":!0};case"bottom":return{"k-callout-n":!0};case"left":return{"k-callout-e":!0};case"right":return{"k-callout-w":!0};default:return{"k-callout-s":!0}}},E);function E(e){this.localization=e,this.position="right",this.callout=!0,this.animation=!1,this.visible=!1,this.show=new p.EventEmitter,this.shown=new p.EventEmitter,this.hide=new p.EventEmitter,this.hidden=new p.EventEmitter,this._width="auto",this._height="auto",this._offset=6,this.subs=new l.Subscription,this._templateData=function(){return null},x.validatePackage(j)}w.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:w,deps:[{token:c.LocalizationService}],target:r.ɵɵFactoryTarget.Component}),w.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:w,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"},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:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.popover"}],queries:[{propertyName:"titleTemplate",first:!0,predicate:O,descendants:!0},{propertyName:"bodyTemplate",first:!0,predicate:C,descendants:!0},{propertyName:"actionsTemplate",first:!0,predicate:P,descendants:!0}],ngImport:r,template:'\n <div *ngIf="visible" role="tooltip" class="k-popover" [ngStyle]="{\'width\': width, \'height\': height}">\n <div class="k-popover-callout" [ngClass]="getCalloutPosition()" *ngIf="callout"></div>\n\n <div class="k-popover-inner" *ngIf="callout; else noCallout">\n <ng-container *ngTemplateOutlet="noCallout"></ng-container>\n </div>\n\n <ng-template #noCallout>\n <div *ngIf="titleTemplate || title" class="k-popover-header">\n <ng-template *ngIf="titleTemplate"\n [ngTemplateOutlet]="titleTemplate?.templateRef"\n [ngTemplateOutletContext]="{ $implicit: anchor, data: contextData }">\n </ng-template>\n <ng-container *ngIf="title && !titleTemplate">\n {{ title }}\n </ng-container>\n </div>\n\n <div *ngIf="bodyTemplate || body" class="k-popover-body">\n <ng-template *ngIf="bodyTemplate"\n [ngTemplateOutlet]="bodyTemplate?.templateRef"\n [ngTemplateOutletContext]="{ $implicit: anchor, data: contextData }">\n </ng-template>\n <ng-container *ngIf="body && !bodyTemplate">\n {{ body }}\n </ng-container>\n </div>\n\n <div *ngIf="actionsTemplate" class="k-popover-actions k-actions k-hstack k-justify-content-between">\n <ng-template *ngIf="actionsTemplate"\n [ngTemplateOutlet]="actionsTemplate?.templateRef"\n [ngTemplateOutletContext]="{ $implicit: anchor, data: contextData }">\n </ng-template>\n </div>\n </ng-template>\n </div>\n ',isInline:!0,directives:[{type:u.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:u.NgStyle,selector:"[ngStyle]",inputs:["ngStyle"]},{type:u.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:u.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:w,decorators:[{type:p.Component,args:[{selector:"kendo-popover",providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.popover"}],template:'\n <div *ngIf="visible" role="tooltip" class="k-popover" [ngStyle]="{\'width\': width, \'height\': height}">\n <div class="k-popover-callout" [ngClass]="getCalloutPosition()" *ngIf="callout"></div>\n\n <div class="k-popover-inner" *ngIf="callout; else noCallout">\n <ng-container *ngTemplateOutlet="noCallout"></ng-container>\n </div>\n\n <ng-template #noCallout>\n <div *ngIf="titleTemplate || title" class="k-popover-header">\n <ng-template *ngIf="titleTemplate"\n [ngTemplateOutlet]="titleTemplate?.templateRef"\n [ngTemplateOutletContext]="{ $implicit: anchor, data: contextData }">\n </ng-template>\n <ng-container *ngIf="title && !titleTemplate">\n {{ title }}\n </ng-container>\n </div>\n\n <div *ngIf="bodyTemplate || body" class="k-popover-body">\n <ng-template *ngIf="bodyTemplate"\n [ngTemplateOutlet]="bodyTemplate?.templateRef"\n [ngTemplateOutletContext]="{ $implicit: anchor, data: contextData }">\n </ng-template>\n <ng-container *ngIf="body && !bodyTemplate">\n {{ body }}\n </ng-container>\n </div>\n\n <div *ngIf="actionsTemplate" class="k-popover-actions k-actions k-hstack k-justify-content-between">\n <ng-template *ngIf="actionsTemplate"\n [ngTemplateOutlet]="actionsTemplate?.templateRef"\n [ngTemplateOutletContext]="{ $implicit: anchor, data: contextData }">\n </ng-template>\n </div>\n </ng-template>\n </div>\n '}]}],ctorParameters:function(){return[{type:c.LocalizationService}]},propDecorators:{position:[{type:p.Input}],offset:[{type:p.Input}],width:[{type:p.Input}],height:[{type:p.Input}],direction:[{type:p.HostBinding,args:["attr.dir"]}],title:[{type:p.Input}],subtitle:[{type:p.Input}],body:[{type:p.Input}],callout:[{type:p.Input}],animation:[{type:p.Input}],templateData:[{type:p.Input}],isHidden:[{type:p.HostBinding,args:["class.k-hidden"]}],hasAttributeHidden:[{type:p.HostBinding,args:["attr.aria-hidden"]}],show:[{type:p.Output}],shown:[{type:p.Output}],hide:[{type:p.Output}],hidden:[{type:p.Output}],titleTemplate:[{type:p.ContentChild,args:[O,{static:!1}]}],bodyTemplate:[{type:p.ContentChild,args:[C,{static:!1}]}],actionsTemplate:[{type:p.ContentChild,args:[P,{static:!1}]}],_width:[{type:p.HostBinding,args:["style.width"]}],_height:[{type:p.HostBinding,args:["style.height"]}]}});f(J,Y=s.PreventableEvent);var Y,G=J;function J(e){var t=Y.call(this)||this;return t.anchor=e,t}f(te,Q=s.PreventableEvent);var Q,ee=te;function te(e,t){var o=Q.call(this)||this;return o.anchor=e,o.popover=t,o}var oe=function(e,t){this.anchor=e,this.popover=t},ne=function(e){this.anchor=e},ie=["hover","click","none","focus"],u=(Object.defineProperty(S.prototype,"popover",{get:function(){return this._popover},set:function(e){if(e instanceof w||"function"==typeof e)this._popover=e;else if(p.isDevMode)throw new Error(K)},enumerable:!1,configurable:!0}),Object.defineProperty(S.prototype,"showOn",{get:function(){return this._showOn},set:function(e){if(p.isDevMode&&!B(ie,e))throw new Error(X);this._showOn=e},enumerable:!1,configurable:!0}),S.prototype.ngAfterViewInit=function(){var e=this;s.isDocumentAvailable()&&this.ngZone.runOutsideAngular(function(){switch(e.showOn){case"hover":e.subscribeToEvents([{name:"mouseenter",handler:e.mouseenterHandler},{name:"mouseleave",handler:e.mouseleaveHandler}]);break;case"focus":e.subscribeToEvents([{name:"focus",handler:e.focusHandler},{name:"blur",handler:e.blurHandler}]);break;case"click":e.subscribeClick()}})},S.prototype.ngOnDestroy=function(){this.closePopup(),this.disposeHoverOverListener&&this.disposeHoverOverListener(),this.disposeHoverOutListener&&this.disposeHoverOutListener(),this.disposeClickListener&&this.disposeClickListener(),this._focusInsideSub&&this._focusInsideSub.unsubscribe(),this._hideSub&&this._hideSub.unsubscribe(),this.subs&&this.subs.unsubscribe(),this._popupOpenSub&&this._popupOpenSub.unsubscribe(),this._popupCloseSub&&this._popupCloseSub.unsubscribe()},S.prototype.hide=function(){this.closePopup()},S.prototype.closePopup=function(){this.popupRef&&(this.popupRef.close(),this.popupRef=null,this.disposePopupHoverOutListener&&this.disposePopupHoverOutListener(),this.disposePopupHoverInListener&&this.disposePopupHoverInListener(),this.disposePopupFocusOutListener)&&this.disposePopupFocusOutListener()},S.prototype.openPopup=function(e){var t=e instanceof p.ElementRef?e.nativeElement:e,o=this.popover instanceof w?this.popover:this.popover(t),n=N(o.position,o.offset),i=n.anchorAlign,r=n.popupAlign,n=n.popupMargin,s=o.animation;this.popupRef=this.popupService.open({anchor:{nativeElement:t},animate:s,content:w,popupAlign:r,anchorAlign:i,margin:n,popupClass:"k-popup-transparent",collision:{horizontal:"fit",vertical:"fit"}}),this.applySettings(this.popupRef.content,o,e),this.monitorPopup(),this.initializeCompletionEvents(o,t)},S.prototype.isPrevented=function(e,t){var o=this.popover instanceof w?this.popover:this.popover(e);return this.initializeEvents(o,void 0,t,e).isDefaultPrevented()},S.prototype.monitorPopup=function(){var t=this;"hover"===this.showOn&&this.ngZone.runOutsideAngular(function(){var e=t.popupRef.popupElement;t.disposePopupHoverInListener=t.renderer.listen(e,"mouseenter",function(e){t.ngZone.run(function(e){return t._popoverService.emitPopoverState(!0)})}),t.disposePopupHoverOutListener=t.renderer.listen(e,"mouseleave",function(e){t.ngZone.run(function(e){return t._popoverService.emitPopoverState(!1)})})}),"focus"===this.showOn&&this.ngZone.runOutsideAngular(function(){var e=t.popupRef.popupElement;t.disposePopupFocusOutListener=t.renderer.listen(e,"focusout",function(e){s.closest(e.relatedTarget,function(e){return e.classList&&e.classList.contains("k-popover")})||t.ngZone.run(function(e){return t._popoverService.emitFocusInsidePopover(!1)})})})},S.prototype.applySettings=function(e,t,o){e=e.instance,o=o instanceof p.ElementRef?o.nativeElement:o;e.visible=!0,e.anchor=o,e.position=t.position,e.offset=t.offset,e.width=t.width,e.height=t.height,e.title=t.title,e.body=t.body,e.callout=t.callout,e.animation=t.animation,e.contextData=t.templateData(o),e.titleTemplate=t.titleTemplate,e.bodyTemplate=t.bodyTemplate,e.actionsTemplate=t.actionsTemplate,this.popupRef.content.changeDetectorRef.detectChanges()},S.prototype.initializeEvents=function(e,t,o,n){return o?(t=new G(n),this.shouldEmitEvent(!!this.popupRef,"show",e)&&this.ngZone.run(function(){return e.show.emit(t)})):(t=new ee(n,this.popupRef),this.shouldEmitEvent(!!this.popupRef,"hide",e)&&this.ngZone.run(function(){return e.hide.emit(t)})),t},S.prototype.initializeCompletionEvents=function(o,n){var t=this;this.shouldEmitCompletionEvents("shown",o)&&this.popupRef.popupOpen.subscribe(function(){var e=new oe(n,t.popupRef);o.shown.emit(e)}),this.shouldEmitCompletionEvents("hidden",o)&&this.popupRef.popupClose.subscribe(function(){t.ngZone.run(function(e){var t=new ne(n);o.hidden.emit(t)})})},S.prototype.shouldEmitEvent=function(e,t,o){return!!("show"===t&&!e&&s.hasObservers(o[t])||"hide"===t&&e&&s.hasObservers(o[t]))},S.prototype.shouldEmitCompletionEvents=function(e,t){return!!(s.hasObservers(t[e])&&!this._popupOpenSub||s.hasObservers(t[e])&&!this._popupCloseSub)},S);function S(e,t,o){this.ngZone=e,this.popupService=t,this.renderer=o,this.subs=new l.Subscription,this._showOn="click"}u.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:u,deps:[{token:r.NgZone},{token:h.PopupService},{token:r.Renderer2}],target:r.ɵɵFactoryTarget.Directive}),u.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:u,inputs:{popover:"popover",showOn:"showOn"},ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:u,decorators:[{type:p.Directive,args:[{}]}],ctorParameters:function(){return[{type:r.NgZone},{type:h.PopupService},{type:r.Renderer2}]},propDecorators:{popover:[{type:p.Input}],showOn:[{type:p.Input}]}});R.prototype.ngOnDestroy=function(){this.subs.unsubscribe()},Object.defineProperty(R.prototype,"isPopoverHovered",{get:function(){return this._pointerOverPopup.asObservable()},enumerable:!1,configurable:!0}),R.prototype.emitPopoverState=function(t){var o=this;this.ngZone.run(function(e){return o._pointerOverPopup.next(t)})},Object.defineProperty(R.prototype,"isAnchorHovered",{get:function(){return this._pointerOverAnchor.asObservable()},enumerable:!1,configurable:!0}),R.prototype.emitAnchorState=function(t,e){var o=this;this._isOrigin=this.originAnchor===e,this.currentAnchor=e,t&&(this.originAnchor=e),this.ngZone.run(function(e){return o._pointerOverAnchor.next(t)})},Object.defineProperty(R.prototype,"isFocusInsidePopover",{get:function(){return this._focusInsidePopover.asObservable()},enumerable:!1,configurable:!0}),R.prototype.emitFocusInsidePopover=function(t){var o=this;this.ngZone.run(function(e){return o._focusInsidePopover.next(t)}),this._focusInsidePopover.next(null)},Object.defineProperty(R.prototype,"hidePopover",{get:function(){return this._hidePopover.asObservable()},enumerable:!1,configurable:!0}),R.prototype.monitor=function(){var o=this;this.subs.add(l.combineLatest(this.isPopoverHovered,this.isAnchorHovered).pipe(a.auditTime(20)).subscribe(function(e){var e=m(e,2),t=e[0],e=e[1];o._hidePopover.next([t,e,o._isOrigin,o.currentAnchor])}))};var D=R;function R(e){this.ngZone=e,this._pointerOverPopup=new l.BehaviorSubject(null),this._pointerOverAnchor=new l.BehaviorSubject(null),this._focusInsidePopover=new l.BehaviorSubject(null),this._hidePopover=new l.Subject,this.subs=new l.Subscription,this.monitor()}D.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:D,deps:[{token:r.NgZone}],target:r.ɵɵFactoryTarget.Injectable}),D.ɵprov=r.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:D}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:D,decorators:[{type:p.Injectable}],ctorParameters:function(){return[{type:r.NgZone}]}});f(A,re=u),A.prototype.show=function(e){var t=this;this.popupRef||(this.ngZone.run(function(){t.openPopup(e)}),this.popupRef.popupAnchorViewportLeave.pipe(a.take(1)).subscribe(function(){return t.hide()}))},A.prototype.toggle=function(e){var t=this.popupRef&&this.popupRef.content.instance.anchor;this.popupRef&&(this.hide(),t===e)||this.show(e)},A.prototype.subscribeClick=function(){var o=this;this.disposeClickListener&&this.disposeClickListener(),this.disposeClickListener=this.renderer.listen(document,"click",function(e){var t=g(e.target,o.filter);o.clickHandler(t,e)})},A.prototype.subscribeToEvents=function(o){var n=this;Array.from(document.querySelectorAll(this.filter)).forEach(function(t){n.subs.add(n.renderer.listen(t,o[0].name,function(){n.popoverService.emitAnchorState(!0,t),o[0].handler(t)})),n.subs.add(n.renderer.listen(t,o[1].name,function(e){n.popoverService.emitAnchorState(!1,null),o[1].handler({anchor:t,domEvent:e})}))})},A.prototype.clickHandler=function(t,e){var o=!!s.closest(e.target,function(e){return e.classList&&e.classList.contains("k-popup")}),n=this.popupRef&&this.popupRef.content.instance.anchor,e=!!s.closest(e.target,function(e){return e===(n||t)});"click"!==this.showOn||o||this.popupRef&&e||(!t&&this.popupRef?this.controlVisibility(t,!1):e?this.controlVisibility(t,!0):this.popupRef&&(this.controlVisibility(t,!1),this.controlVisibility(t,!0)))},A.prototype.controlVisibility=function(e,t){this.isPrevented(e,t)||(t?this.show(e):this.hide())};var re,t=A;function A(e,t,o,n,i){var r=re.call(this,t,o,n)||this;return r.wrapperEl=e,r.ngZone=t,r.popupService=o,r.renderer=n,r.popoverService=i,r.mouseenterHandler=function(e){r.controlVisibility(e,!0)},r.mouseleaveHandler=function(e){e=e.anchor;r.isPrevented(e,!1)||r._hideSub||(r._hideSub=r.popoverService.hidePopover.subscribe(function(e){var e=m(e,4),t=e[0],o=e[2],e=e[3];t||o||(r.hide(),!o&&e&&r.show(e))}))},r.focusHandler=function(e){r.controlVisibility(e,!0)},r.blurHandler=function(e){var t,o=e.anchor,e=e.domEvent;r.isPrevented(o,!1)||((t=!!s.closest(e.relatedTarget,function(e){return e.classList&&e.classList.contains("k-popover")}))||r.hide(),r._focusInsideSub)||(r._focusInsideSub=r.popoverService.isFocusInsidePopover.pipe(a.filter(function(e){return null!==e})).subscribe(function(e){e||t||r.hide()}))},r._popoverService=r.popoverService,r}t.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:t,deps:[{token:r.ElementRef},{token:r.NgZone},{token:h.PopupService},{token:r.Renderer2},{token:D}],target:r.ɵɵFactoryTarget.Directive}),t.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:t,selector:"[kendoPopoverContainer]",inputs:{filter:"filter"},providers:[D],exportAs:["kendoPopoverContainer"],usesInheritance:!0,ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:t,decorators:[{type:p.Directive,args:[{selector:"[kendoPopoverContainer]",exportAs:"kendoPopoverContainer",providers:[D]}]}],ctorParameters:function(){return[{type:r.ElementRef},{type:r.NgZone},{type:h.PopupService},{type:r.Renderer2},{type:D}]},propDecorators:{filter:[{type:p.Input}]}});f(_,se=u),_.prototype.show=function(){var e=this;this.popupRef||(this.ngZone.run(function(){e.openPopup(e.hostEl)}),this.popupRef.popupAnchorViewportLeave.pipe(a.take(1)).subscribe(function(){return e.hide()}))},_.prototype.toggle=function(){this.popupRef?this.hide():this.show()},_.prototype.subscribeToEvents=function(t){var o=this;this.subs.add(this.renderer.listen(this.hostEl.nativeElement,t[0].name,function(){o.popoverService.emitAnchorState(!0,o.hostEl.nativeElement),t[0].handler()})),this.subs.add(this.renderer.listen(this.hostEl.nativeElement,t[1].name,function(e){o.popoverService.emitAnchorState(!1,null),t[1].handler({domEvent:e})}))},_.prototype.subscribeClick=function(){var t=this;this.disposeClickListener&&this.disposeClickListener(),this.disposeClickListener=this.renderer.listen(document,"click",function(e){t.onClick(e)})},_.prototype.onClick=function(e){var t=this,o=!!s.closest(e.target,function(e){return e.classList&&e.classList.contains("k-popup")}),e=!!s.closest(e.target,function(e){return e===t.hostEl.nativeElement});o||this.popupRef&&e||(e?this.controlVisibility(this.hostEl.nativeElement,!0):this.controlVisibility(this.hostEl.nativeElement,!1))},_.prototype.controlVisibility=function(e,t){this.isPrevented(e,t)||(t?this.show():this.hide())};var se,u=_;function _(e,t,o,n,i){var r=se.call(this,t,o,n)||this;return r.hostEl=e,r.ngZone=t,r.popupService=o,r.renderer=n,r.popoverService=i,r.mouseenterHandler=function(){r.controlVisibility(r.hostEl.nativeElement,!0)},r.mouseleaveHandler=function(){r.isPrevented(r.hostEl.nativeElement,!1)||r._hideSub||(r._hideSub=r.popoverService.hidePopover.subscribe(function(e){var e=m(e,2),t=e[0],e=e[1];t||e||r.hide()}))},r.focusHandler=function(){r.controlVisibility(r.hostEl.nativeElement,!0)},r.blurHandler=function(e){e=e.domEvent;r.isPrevented(r.hostEl.nativeElement,!1)||(s.closest(e.relatedTarget,function(e){return e.classList&&e.classList.contains("k-popover")})||r.hide(),r._focusInsideSub)||(r._focusInsideSub=r.popoverService.isFocusInsidePopover.pipe(a.filter(function(e){return null!==e})).subscribe(function(e){e||r.hide()}))},r._popoverService=r.popoverService,r}u.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:u,deps:[{token:r.ElementRef},{token:r.NgZone},{token:h.PopupService},{token:r.Renderer2},{token:D}],target:r.ɵɵFactoryTarget.Directive}),u.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:u,selector:"[kendoPopoverAnchor]",providers:[D],exportAs:["kendoPopoverAnchor"],usesInheritance:!0,ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:u,decorators:[{type:p.Directive,args:[{selector:"[kendoPopoverAnchor]",exportAs:"kendoPopoverAnchor",providers:[D]}]}],ctorParameters:function(){return[{type:r.ElementRef},{type:r.NgZone},{type:h.PopupService},{type:r.Renderer2},{type:D}]}});var M=[k,b,y],V=[n.PopupModule],L=function(){},V=(L.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:L,deps:[],target:r.ɵɵFactoryTarget.NgModule}),L.ɵmod=r.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:L,declarations:[k,b,y],imports:[o.CommonModule,n.PopupModule],exports:[k,b,y]}),L.ɵinj=r.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:L,imports:[v([o.CommonModule],m(V))]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:L,decorators:[{type:p.NgModule,args:[{declarations:[M],entryComponents:[b],imports:v([o.CommonModule],m(V)),exports:[M]}]}]}),[P,C,O,u,t]),M=function(){},V=(M.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:M,deps:[],target:r.ɵɵFactoryTarget.NgModule}),M.ɵmod=r.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:M,declarations:[P,C,O,u,t,w],imports:[o.CommonModule,n.PopupModule],exports:[P,C,O,u,t,w]}),M.ɵinj=r.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:M,imports:[[o.CommonModule,n.PopupModule]]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:M,decorators:[{type:p.NgModule,args:[{declarations:v(v([],m(V)),[w]),entryComponents:[w],exports:v(v([],m(V)),[w]),imports:[o.CommonModule,n.PopupModule]}]}]}),function(){});V.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:V,deps:[],target:r.ɵɵFactoryTarget.NgModule}),V.ɵmod=r.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:V,exports:[L,M]}),V.ɵinj=r.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:V,imports:[L,M]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:V,decorators:[{type:p.NgModule,args:[{exports:[L,M]}]}]}),e.LocalizedMessagesDirective=y,e.PopoverActionsTemplateDirective=P,e.PopoverAnchorDirective=u,e.PopoverBodyTemplateDirective=C,e.PopoverComponent=w,e.PopoverContainerDirective=t,e.PopoverHiddenEvent=ne,e.PopoverHideEvent=ee,e.PopoverModule=M,e.PopoverShowEvent=G,e.PopoverShownEvent=oe,e.PopoverTitleTemplateDirective=O,e.TOOLTIP_SETTINGS=H,e.TooltipContentComponent=b,e.TooltipDirective=k,e.TooltipModule=L,e.TooltipSettings=d,e.TooltipsModule=V,Object.defineProperty(e,"__esModule",{value:!0})});
5
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs/operators"),require("rxjs"),require("@progress/kendo-licensing"),require("@progress/kendo-angular-l10n"),require("@angular/common"),require("@progress/kendo-angular-common"),require("@progress/kendo-angular-popup")):"function"==typeof define&&define.amd?define("KendoAngularTooltip",["exports","@angular/core","rxjs/operators","rxjs","@progress/kendo-licensing","@progress/kendo-angular-l10n","@angular/common","@progress/kendo-angular-common","@progress/kendo-angular-popup"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoAngularTooltip={},e.ng.core,e.rxjs.operators,e.rxjs,e.KendoLicensing,e.KendoAngularL10N,e.ng.common,e.KendoAngularCommon,e.KendoAngularPopup)}(this,function(e,p,a,l,x,t,o,s,n){"use strict";function i(o){var n;return o&&o.__esModule?o:(n=Object.create(null),o&&Object.keys(o).forEach(function(e){var t;"default"!==e&&(t=Object.getOwnPropertyDescriptor(o,e),Object.defineProperty(n,e,t.get?t:{enumerable:!0,get:function(){return o[e]}}))}),n.default=o,Object.freeze(n))}var r=i(p),c=i(t),u=i(o),h=i(n),H={name:"@progress/kendo-angular-tooltip",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1669280051,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"},j=new p.InjectionToken("kendo-ui-tooltip-settings"),d=function(){},N=(d.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:d,deps:[],target:r.ɵɵFactoryTarget.Injectable}),d.ɵprov=r.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:d}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:d,decorators:[{type:p.Injectable}],ctorParameters:function(){return[]}}),0);function F(e,t){var o={},n={},i={};switch(e){case"top":o={horizontal:"center",vertical:"top"},n={horizontal:"center",vertical:"bottom"},i={horizontal:0,vertical:t};break;case"bottom":o={horizontal:"center",vertical:"bottom"},n={horizontal:"center",vertical:"top"},i={horizontal:0,vertical:t};break;case"right":o={horizontal:"right",vertical:"center"},n={horizontal:"left",vertical:"center"},i={horizontal:t,vertical:0};break;case"left":o={horizontal:"left",vertical:"center"},n={horizontal:"right",vertical:"center"},i={horizontal:t,vertical:0}}return{anchorAlign:o,popupAlign:n,popupMargin:i}}function z(e){return 9===e.nodeType}function g(e,t){if(e.closest)return e.closest(t);for(var o=Element.prototype.matches?function(e,t){return e.matches(t)}:function(e,t){return e.msMatchesSelector(t)},n=e;n&&!z(n);){if(o(n,t))return n;n=n.parentNode}}function Z(e,t){return e&&!z(e)&&(e.contains?e.contains(t):e.compareDocumentPosition&&e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)}function B(e,t,o){e=e.getBoundingClientRect();return e[t]+e[o]/2}function W(e,t){return-1!==e.indexOf(t)}var K=function(e,t){return(K=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(e,t){e.__proto__=t}:function(e,t){for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}))(e,t)};function f(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function o(){this.constructor=e}K(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}Object.create;function m(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||0<t--)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s}function v(e,t,o){if(o||2===arguments.length)for(var n,i=0,r=t.length;i<r;i++)!n&&i in t||((n=n||Array.prototype.slice.call(t,0,i))[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))}Object.create;f(q,$=t.ComponentMessages);var $,y=q;function q(e){var t=$.call(this)||this;return t.service=e,t}y.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:y,deps:[{token:c.LocalizationService}],target:r.ɵɵFactoryTarget.Directive}),y.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:y,selector:"[kendoTooltipLocalizedMessages]",inputs:{closeTitle:"closeTitle"},providers:[{provide:t.ComponentMessages,useExisting:p.forwardRef(function(){return y})}],usesInheritance:!0,ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:y,decorators:[{type:p.Directive,args:[{providers:[{provide:t.ComponentMessages,useExisting:p.forwardRef(function(){return y})}],selector:"[kendoTooltipLocalizedMessages]"}]}],ctorParameters:function(){return[{type:c.LocalizationService}]},propDecorators:{closeTitle:[{type:p.Input}]}});Object.defineProperty(T.prototype,"cssClasses",{get:function(){return"k-tooltip"},enumerable:!1,configurable:!0}),Object.defineProperty(T.prototype,"hostId",{get:function(){return this.tooltipId},enumerable:!1,configurable:!0}),Object.defineProperty(T.prototype,"className",{get:function(){return this.closable},enumerable:!1,configurable:!0}),Object.defineProperty(T.prototype,"cssPosition",{get:function(){return"relative"},enumerable:!1,configurable:!0}),T.prototype.ngOnInit=function(){var t=this;this.tooltipId="tooltip-"+ ++N,this.dynamicRTLSubscription=this.localizationService.changes.subscribe(function(e){e=e.rtl;return t.direction=e?"rtl":"ltr"})},T.prototype.ngOnDestroy=function(){this.dynamicRTLSubscription&&this.dynamicRTLSubscription.unsubscribe()},Object.defineProperty(T.prototype,"closeButtonTitle",{get:function(){return this.closeTitle||this.localizationService.get("closeTitle")},enumerable:!1,configurable:!0}),T.prototype.calloutPositionClass=function(){return{top:"k-callout-s",left:"k-callout-e",bottom:"k-callout-n",right:"k-callout-w"}[this.position]},T.prototype.onCloseClick=function(e){e.preventDefault(),this.close.emit()},T.prototype.updateCalloutPosition=function(e,t){var o,n,i,r,s,p,a;this.callout&&(p=(n="top"===e||"bottom"===e)?"width":"height",s=n?"left":"top",n=n?"marginLeft":"marginTop",i=(o=this.content.nativeElement.querySelector(".k-callout")).getBoundingClientRect()[p],r=B(this.anchor.nativeElement,s,p),s=B(this.content.nativeElement,s,p),(1<(p=Math.abs(s-r))||0===p||0===Math.round(p))&&(o.style[n]=-(s-r+i/2)+"px"),a=this.calloutStyles(e,i,t),Object.keys(a).forEach(function(e){o.style[e]=a[e]}))};var b=T;function T(e,t){this.content=e,this.localizationService=t,this.close=new p.EventEmitter,this.hostRole="tooltip",this.tooltipWidth=null,this.tooltipHeight=null,this.callout=!0,this.calloutStyles=function(e,t,o){var n={},i="top"===e||"bottom"===e;return o?("top"===e?n.bottom="unset":"bottom"===e?n.top="unset":"left"===e?n.right="unset":"right"===e&&(n.left="unset"),n[e]=-t+"px",n.transform=i?"rotateX(180deg)":"rotateY(180deg)"):n.transform=i?"rotateX(0deg)":"rotateY(0deg)",n},this.direction=t.rtl?"rtl":"ltr"}b.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:b,deps:[{token:r.ElementRef},{token:c.LocalizationService}],target:r.ɵɵFactoryTarget.Component}),b.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:b,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:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.tooltip"}],ngImport:r,template:'\n <ng-container kendoTooltipLocalizedMessages\n i18n-closeTitle="kendo.tooltip.closeTitle|The title of the close button"\n closeTitle="Close"\n >\n </ng-container>\n\n <div class="k-tooltip-content">\n <div class="k-tooltip-title" *ngIf="titleTemplate">\n <ng-template\n [ngIf]="titleTemplate"\n [ngTemplateOutlet]="titleTemplate"\n [ngTemplateOutletContext]="{ $implicit: anchor, anchor: anchor }">\n </ng-template>\n </div>\n\n <ng-template\n [ngIf]="templateRef"\n [ngTemplateOutlet]="templateRef"\n [ngTemplateOutletContext]="{ $implicit: anchor, anchor: anchor }">\n </ng-template>\n <ng-template\n [ngIf]="templateString">\n {{ templateString }}\n </ng-template>\n </div>\n\n <div *ngIf="closable" [attr.aria-hidden]="true" class="k-tooltip-button" (click)="onCloseClick($event)">\n <a href="#" class="k-icon k-i-x" [attr.title]="closeButtonTitle"></a>\n </div>\n\n <div class="k-callout" *ngIf="callout" [ngClass]="calloutPositionClass()"></div>\n ',isInline:!0,directives:[{type:y,selector:"[kendoTooltipLocalizedMessages]",inputs:["closeTitle"]},{type:u.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:u.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]},{type:u.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]}]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:b,decorators:[{type:p.Component,args:[{selector:"kendo-tooltip",template:'\n <ng-container kendoTooltipLocalizedMessages\n i18n-closeTitle="kendo.tooltip.closeTitle|The title of the close button"\n closeTitle="Close"\n >\n </ng-container>\n\n <div class="k-tooltip-content">\n <div class="k-tooltip-title" *ngIf="titleTemplate">\n <ng-template\n [ngIf]="titleTemplate"\n [ngTemplateOutlet]="titleTemplate"\n [ngTemplateOutletContext]="{ $implicit: anchor, anchor: anchor }">\n </ng-template>\n </div>\n\n <ng-template\n [ngIf]="templateRef"\n [ngTemplateOutlet]="templateRef"\n [ngTemplateOutletContext]="{ $implicit: anchor, anchor: anchor }">\n </ng-template>\n <ng-template\n [ngIf]="templateString">\n {{ templateString }}\n </ng-template>\n </div>\n\n <div *ngIf="closable" [attr.aria-hidden]="true" class="k-tooltip-button" (click)="onCloseClick($event)">\n <a href="#" class="k-icon k-i-x" [attr.title]="closeButtonTitle"></a>\n </div>\n\n <div class="k-callout" *ngIf="callout" [ngClass]="calloutPositionClass()"></div>\n ',providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.tooltip"}]}]}],ctorParameters:function(){return[{type:r.ElementRef},{type:c.LocalizationService}]},propDecorators:{direction:[{type:p.HostBinding,args:["attr.dir"]}],close:[{type:p.Output}],cssClasses:[{type:p.HostBinding,args:["class"]}],hostRole:[{type:p.HostBinding,args:["attr.role"]}],hostId:[{type:p.HostBinding,args:["attr.id"]}],className:[{type:p.HostBinding,args:["class.k-tooltip-closable"]}],cssPosition:[{type:p.HostBinding,args:["style.position"]}],tooltipWidth:[{type:p.HostBinding,args:["style.width.px"]},{type:p.Input}],tooltipHeight:[{type:p.HostBinding,args:["style.height.px"]},{type:p.Input}],titleTemplate:[{type:p.Input}],anchor:[{type:p.Input}],closable:[{type:p.Input}],templateRef:[{type:p.Input}],templateString:[{type:p.Input}]}});Object.defineProperty(I.prototype,"tooltipTemplate",{get:function(){return this.template},set:function(e){this.template=e},enumerable:!1,configurable:!0}),I.prototype.show=function(e){var t=this;this.popupRef||(e instanceof Element&&(e={nativeElement:e}),this.anchor=e,"hover"===this.showOn?this.popupRef||(clearTimeout(this.showTimeout),this.showTimeout=setTimeout(function(){return t.showContent(t.anchor)},this.showAfter)):(this.hideElementTitle(this.anchor),this.showContent(this.anchor)))},I.prototype.hide=function(){clearTimeout(this.showTimeout);var e=this.anchor&&this.anchor.nativeElement;e&&e.getAttribute("data-title")&&(!e.getAttribute("title")&&e.hasAttribute("title")&&e.setAttribute("title",e.getAttribute("data-title")),e.setAttribute("data-title","")),this.popupMouseOutSubscription&&this.popupMouseOutSubscription.unsubscribe(),this.closeClickSubscription&&this.closeClickSubscription.unsubscribe(),this.closePopup()},I.prototype.toggle=function(e,t){var o=this.anchor&&this.anchor.nativeElement;o!==(e=e instanceof Element?{nativeElement:e}:e).nativeElement&&this.hide(),o===e.nativeElement&&"click"===this.showOn&&this.hide(),(t=void 0===t?!this.popupRef:t)?this.show(e):this.hide()},I.prototype.ngOnInit=function(){var t=this;void 0===this.showOn&&(this.showOn="hover"),this.keyboardNavigationSubscription.add(this.renderer.listen(this.tooltipWrapper.nativeElement,"keydown",function(e){return t.onKeyDown(e)})),this.verifyProperties()},I.prototype.ngOnChanges=function(e){e.showOn&&this.subscribeClick()},I.prototype.ngAfterViewChecked=function(){this.popupRef&&this.anchor&&!function(e,t){for(;e&&e!==t;)e=e.parentNode;return e}(this.anchor.nativeElement||this.anchor,this.tooltipWrapper.nativeElement)&&(this.anchor=null,this.hide())},I.prototype.ngOnDestroy=function(){this.hide(),this.template=null,this.anchorTitleSubscription.unsubscribe(),this.mouseOverSubscription.unsubscribe(),this.mouseOutSubscription.unsubscribe(),this.keyboardNavigationSubscription.unsubscribe(),this.mouseClickSubscription&&this.mouseClickSubscription.unsubscribe(),this.popupPositionChangeSubscription&&this.popupPositionChangeSubscription.unsubscribe(),this.popupMouseOutSubscription&&this.popupMouseOutSubscription.unsubscribe()},I.prototype.showContent=function(e){var t=this;(e.nativeElement.getAttribute("data-title")||this.template)&&(this.ngZone.run(function(){t.openPopup(e),t.bindContent(t.popupRef.content,e)}),this.popupRef.popupAnchorViewportLeave.pipe(a.take(1)).subscribe(function(){return t.hide()}))},I.prototype.bindContent=function(e,t){var o=this,e=e.instance;this.closeClickSubscription=e.close.subscribe(function(){o.hide()}),this.template?e.templateRef=this.template:e.templateString=this.anchor.nativeElement.getAttribute("data-title"),this.titleTemplate&&(e.titleTemplate=this.titleTemplate),e.closeTitle=this.closeTitle,e.anchor=t,e.callout=this.callout,e.closable=this.closable,e.position=this.position,e.tooltipWidth=this.tooltipWidth,e.tooltipHeight=this.tooltipHeight,this.popupRef.content.changeDetectorRef.detectChanges()},I.prototype.hideElementTitle=function(e){e=e.nativeElement;e.getAttribute("title")&&(e.setAttribute("data-title",e.getAttribute("title")),e.setAttribute("title",""))},I.prototype.openPopup=function(e){var t,o=this,n=F(this.position,this.offset),i=n.anchorAlign,r=n.popupAlign,n=n.popupMargin,s=(this.popupRef=this.popupService.open({anchor:e,anchorAlign:i,animate:!1,content:b,collision:(i=this.collision,t=this.position,i||("top"===t||"bottom"===t?{horizontal:"fit",vertical:"flip"}:{horizontal:"flip",vertical:"fit"})),margin:n,popupAlign:r,popupClass:"k-popup-transparent"}),this.renderer.addClass(this.popupRef.popupElement,"k-tooltip-wrapper"),this.tooltipClass&&this.renderer.addClass(this.popupRef.popupElement,this.tooltipClass),this.popupRef.content.instance);e&&this.renderer.setAttribute(e.nativeElement,"aria-labelledby",s.tooltipId),s.callout&&(this.popupPositionChangeSubscription=this.popupRef.popupPositionChange.subscribe(function(e){e=e.flip,e=!0===e.horizontal||!0===e.vertical;s.updateCalloutPosition(o.position,e)})),"hover"===this.showOn&&this.ngZone.runOutsideAngular(function(){var e=o.popupRef.popupElement;o.popupMouseOutSubscription=l.fromEvent(e,"mouseout").subscribe(function(e){return o.onMouseOut(e)})})},I.prototype.closePopup=function(){this.popupRef&&(this.anchor&&this.renderer.removeAttribute(this.anchor.nativeElement,"aria-labelledby"),this.popupRef.close(),this.popupRef=null),this.popupPositionChangeSubscription&&this.popupPositionChangeSubscription.unsubscribe()},I.prototype.subscribeClick=function(){var t=this;this.mouseClickSubscription&&this.mouseClickSubscription.unsubscribe(),"click"===this.showOn&&(this.mouseClickSubscription=l.fromEvent(document,"click").pipe(a.filter(function(){return""!==t.filter})).subscribe(function(e){return t.onMouseClick(e,t.tooltipWrapper.nativeElement)}))},I.prototype.onMouseClick=function(e,t){var e=e.target,o=g(e,this.filter),n=this.popupRef&&this.popupRef.popupElement;if(n){if(n.contains(e))return;if(this.closable)return}t.contains(e)&&o?this.toggle(o,!0):n&&this.hide()},I.prototype.onKeyDown=function(e){var t=e.keyCode,e=e.target,o=this.popupRef.content.location.nativeElement.getAttribute("id"),n=e.getAttribute("aria-labelledby");this.popupRef&&t===s.Keys.Escape&&this.canCloseTooltip(e,o,n)&&this.closePopup()},I.prototype.canCloseTooltip=function(e,t,o){var t=t===o,o=g(e,this.filter),n=e===document.activeElement;return this.tooltipWrapper.nativeElement.contains(e)&&o&&n&&t},I.prototype.onMouseOver=function(e){e=g(e.target,this.filter);"hover"===this.showOn&&e&&this.toggle(e,!0)},I.prototype.onMouseOut=function(e){var t;"hover"!==this.showOn||this.closable||(t=this.popupRef&&this.popupRef.popupElement,(e=e.relatedTarget)&&this.anchor&&Z(this.anchor.nativeElement,e))||e&&Z(t,e)||this.hide()},I.prototype.verifyProperties=function(){if(p.isDevMode()){if(!W(this.validPositions,this.position))throw new Error("Invalid value provided for position property.The available options are 'top', 'bottom', 'left', or 'right'.");if(!W(this.validShowOptions,this.showOn))throw new Error("Invalid value provided for showOn property.The available options are 'hover' or 'none'.")}};var k=I;function I(e,t,o,n,i,r){var s=this;this.tooltipWrapper=e,this.ngZone=t,this.renderer=o,this.popupService=n,this.filter="[title]",this.position="top",this.showAfter=100,this.callout=!0,this.closable=!1,this.offset=6,this.anchor=null,this.keyboardNavigationSubscription=new l.Subscription,this.validPositions=["top","bottom","right","left"],this.validShowOptions=["hover","click","none"],x.validatePackage(H),Object.assign(this,i,r),this.ngZone.runOutsideAngular(function(){var e=s.tooltipWrapper.nativeElement;s.anchorTitleSubscription=l.fromEvent(e,"mouseover").pipe(a.filter(function(){return""!==s.filter})).subscribe(function(e){e=g(e.target,s.filter);e&&s.hideElementTitle({nativeElement:e})}),s.mouseOverSubscription=l.fromEvent(e,"mouseover").pipe(a.filter(function(){return""!==s.filter})).subscribe(function(e){return s.onMouseOver(e)}),s.mouseOutSubscription=l.fromEvent(e,"mouseout").subscribe(function(e){return s.onMouseOut(e)})})}k.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:k,deps:[{token:r.ElementRef},{token:r.NgZone},{token:r.Renderer2},{token:h.PopupService},{token:d,optional:!0},{token:j,optional:!0}],target:r.ɵɵFactoryTarget.Directive}),k.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:k,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",collision:"collision",closeTitle:"closeTitle",tooltipTemplate:"tooltipTemplate"},exportAs:["kendoTooltip"],usesOnChanges:!0,ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:k,decorators:[{type:p.Directive,args:[{selector:"[kendoTooltip]",exportAs:"kendoTooltip"}]}],ctorParameters:function(){return[{type:r.ElementRef},{type:r.NgZone},{type:r.Renderer2},{type:h.PopupService},{type:d,decorators:[{type:p.Optional}]},{type:d,decorators:[{type:p.Optional},{type:p.Inject,args:[j]}]}]},propDecorators:{filter:[{type:p.Input}],position:[{type:p.Input}],titleTemplate:[{type:p.Input}],showOn:[{type:p.Input}],showAfter:[{type:p.Input}],callout:[{type:p.Input}],closable:[{type:p.Input}],offset:[{type:p.Input}],tooltipWidth:[{type:p.Input}],tooltipHeight:[{type:p.Input}],tooltipClass:[{type:p.Input}],collision:[{type:p.Input}],closeTitle:[{type:p.Input}],tooltipTemplate:[{type:p.Input}]}});var U="Invalid value provided for the 'popover' property. The accepted data types are 'PopoverComponent' or 'PopoverFn'.",X="templateData must be a function, but received",Y="Invalid value provided for the 'showOn' property. The available options are 'click', 'hover', 'focus' or 'none'.",O=function(e){this.templateRef=e},C=(O.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:O,deps:[{token:r.TemplateRef,optional:!0}],target:r.ɵɵFactoryTarget.Directive}),O.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:O,selector:"[kendoPopoverTitleTemplate]",ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:O,decorators:[{type:p.Directive,args:[{selector:"[kendoPopoverTitleTemplate]"}]}],ctorParameters:function(){return[{type:r.TemplateRef,decorators:[{type:p.Optional}]}]}}),function(e){this.templateRef=e}),P=(C.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:C,deps:[{token:r.TemplateRef,optional:!0}],target:r.ɵɵFactoryTarget.Directive}),C.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:C,selector:"[kendoPopoverBodyTemplate]",ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:C,decorators:[{type:p.Directive,args:[{selector:"[kendoPopoverBodyTemplate]"}]}],ctorParameters:function(){return[{type:r.TemplateRef,decorators:[{type:p.Optional}]}]}}),function(e){this.templateRef=e}),E=(P.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:P,deps:[{token:r.TemplateRef,optional:!0}],target:r.ɵɵFactoryTarget.Directive}),P.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:P,selector:"[kendoPopoverActionsTemplate]",ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:P,decorators:[{type:p.Directive,args:[{selector:"[kendoPopoverActionsTemplate]"}]}],ctorParameters:function(){return[{type:r.TemplateRef,decorators:[{type:p.Optional}]}]}}),Object.defineProperty(w.prototype,"offset",{get:function(){return this.callout?14+this._offset:this._offset},set:function(e){this._offset=e},enumerable:!1,configurable:!0}),Object.defineProperty(w.prototype,"width",{get:function(){return this._width},set:function(e){this._width="number"==typeof e?e+"px":e},enumerable:!1,configurable:!0}),Object.defineProperty(w.prototype,"height",{get:function(){return this._height},set:function(e){this._height="number"==typeof e?e+"px":e},enumerable:!1,configurable:!0}),Object.defineProperty(w.prototype,"templateData",{get:function(){return this._templateData},set:function(e){if(p.isDevMode&&"function"!=typeof e)throw new Error(X+" "+JSON.stringify(e)+".");this._templateData=e},enumerable:!1,configurable:!0}),Object.defineProperty(w.prototype,"isHidden",{get:function(){return!this.visible},enumerable:!1,configurable:!0}),Object.defineProperty(w.prototype,"hasAttributeHidden",{get:function(){return!this.visible},enumerable:!1,configurable:!0}),w.prototype.ngOnInit=function(){var t=this;this.subs.add(this.localization.changes.subscribe(function(e){e=e.rtl;t.direction=e?"rtl":"ltr"}))},w.prototype.ngOnDestroy=function(){this.subs.unsubscribe()},w.prototype.getCalloutPosition=function(){switch(this.position){case"top":return{"k-callout-s":!0};case"bottom":return{"k-callout-n":!0};case"left":return{"k-callout-e":!0};case"right":return{"k-callout-w":!0};default:return{"k-callout-s":!0}}},w);function w(e){this.localization=e,this.position="right",this.callout=!0,this.animation=!1,this.visible=!1,this.show=new p.EventEmitter,this.shown=new p.EventEmitter,this.hide=new p.EventEmitter,this.hidden=new p.EventEmitter,this._width="auto",this._height="auto",this._offset=6,this.subs=new l.Subscription,this._templateData=function(){return null},x.validatePackage(H)}E.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:E,deps:[{token:c.LocalizationService}],target:r.ɵɵFactoryTarget.Component}),E.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:E,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"},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:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.popover"}],queries:[{propertyName:"titleTemplate",first:!0,predicate:O,descendants:!0},{propertyName:"bodyTemplate",first:!0,predicate:C,descendants:!0},{propertyName:"actionsTemplate",first:!0,predicate:P,descendants:!0}],ngImport:r,template:'\n <div *ngIf="visible" role="tooltip" class="k-popover" [ngStyle]="{\'width\': width, \'height\': height}">\n <div class="k-popover-callout" [ngClass]="getCalloutPosition()" *ngIf="callout"></div>\n\n <div class="k-popover-inner" *ngIf="callout; else noCallout">\n <ng-container *ngTemplateOutlet="noCallout"></ng-container>\n </div>\n\n <ng-template #noCallout>\n <div *ngIf="titleTemplate || title" class="k-popover-header">\n <ng-template *ngIf="titleTemplate"\n [ngTemplateOutlet]="titleTemplate?.templateRef"\n [ngTemplateOutletContext]="{ $implicit: anchor, data: contextData }">\n </ng-template>\n <ng-container *ngIf="title && !titleTemplate">\n {{ title }}\n </ng-container>\n </div>\n\n <div *ngIf="bodyTemplate || body" class="k-popover-body">\n <ng-template *ngIf="bodyTemplate"\n [ngTemplateOutlet]="bodyTemplate?.templateRef"\n [ngTemplateOutletContext]="{ $implicit: anchor, data: contextData }">\n </ng-template>\n <ng-container *ngIf="body && !bodyTemplate">\n {{ body }}\n </ng-container>\n </div>\n\n <div *ngIf="actionsTemplate" class="k-popover-actions k-actions k-hstack k-justify-content-between">\n <ng-template *ngIf="actionsTemplate"\n [ngTemplateOutlet]="actionsTemplate?.templateRef"\n [ngTemplateOutletContext]="{ $implicit: anchor, data: contextData }">\n </ng-template>\n </div>\n </ng-template>\n </div>\n ',isInline:!0,directives:[{type:u.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:u.NgStyle,selector:"[ngStyle]",inputs:["ngStyle"]},{type:u.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:u.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:E,decorators:[{type:p.Component,args:[{selector:"kendo-popover",providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.popover"}],template:'\n <div *ngIf="visible" role="tooltip" class="k-popover" [ngStyle]="{\'width\': width, \'height\': height}">\n <div class="k-popover-callout" [ngClass]="getCalloutPosition()" *ngIf="callout"></div>\n\n <div class="k-popover-inner" *ngIf="callout; else noCallout">\n <ng-container *ngTemplateOutlet="noCallout"></ng-container>\n </div>\n\n <ng-template #noCallout>\n <div *ngIf="titleTemplate || title" class="k-popover-header">\n <ng-template *ngIf="titleTemplate"\n [ngTemplateOutlet]="titleTemplate?.templateRef"\n [ngTemplateOutletContext]="{ $implicit: anchor, data: contextData }">\n </ng-template>\n <ng-container *ngIf="title && !titleTemplate">\n {{ title }}\n </ng-container>\n </div>\n\n <div *ngIf="bodyTemplate || body" class="k-popover-body">\n <ng-template *ngIf="bodyTemplate"\n [ngTemplateOutlet]="bodyTemplate?.templateRef"\n [ngTemplateOutletContext]="{ $implicit: anchor, data: contextData }">\n </ng-template>\n <ng-container *ngIf="body && !bodyTemplate">\n {{ body }}\n </ng-container>\n </div>\n\n <div *ngIf="actionsTemplate" class="k-popover-actions k-actions k-hstack k-justify-content-between">\n <ng-template *ngIf="actionsTemplate"\n [ngTemplateOutlet]="actionsTemplate?.templateRef"\n [ngTemplateOutletContext]="{ $implicit: anchor, data: contextData }">\n </ng-template>\n </div>\n </ng-template>\n </div>\n '}]}],ctorParameters:function(){return[{type:c.LocalizationService}]},propDecorators:{position:[{type:p.Input}],offset:[{type:p.Input}],width:[{type:p.Input}],height:[{type:p.Input}],direction:[{type:p.HostBinding,args:["attr.dir"]}],title:[{type:p.Input}],subtitle:[{type:p.Input}],body:[{type:p.Input}],callout:[{type:p.Input}],animation:[{type:p.Input}],templateData:[{type:p.Input}],isHidden:[{type:p.HostBinding,args:["class.k-hidden"]}],hasAttributeHidden:[{type:p.HostBinding,args:["attr.aria-hidden"]}],show:[{type:p.Output}],shown:[{type:p.Output}],hide:[{type:p.Output}],hidden:[{type:p.Output}],titleTemplate:[{type:p.ContentChild,args:[O,{static:!1}]}],bodyTemplate:[{type:p.ContentChild,args:[C,{static:!1}]}],actionsTemplate:[{type:p.ContentChild,args:[P,{static:!1}]}],_width:[{type:p.HostBinding,args:["style.width"]}],_height:[{type:p.HostBinding,args:["style.height"]}]}});f(Q,G=s.PreventableEvent);var G,J=Q;function Q(e){var t=G.call(this)||this;return t.anchor=e,t}f(oe,ee=s.PreventableEvent);var ee,te=oe;function oe(e,t){var o=ee.call(this)||this;return o.anchor=e,o.popover=t,o}var ne=function(e,t){this.anchor=e,this.popover=t},ie=function(e){this.anchor=e},re=["hover","click","none","focus"],u=(Object.defineProperty(S.prototype,"popover",{get:function(){return this._popover},set:function(e){if(e instanceof E||"function"==typeof e)this._popover=e;else if(p.isDevMode)throw new Error(U)},enumerable:!1,configurable:!0}),Object.defineProperty(S.prototype,"showOn",{get:function(){return this._showOn},set:function(e){if(p.isDevMode&&!W(re,e))throw new Error(Y);this._showOn=e},enumerable:!1,configurable:!0}),S.prototype.ngAfterViewInit=function(){var e=this;s.isDocumentAvailable()&&this.ngZone.runOutsideAngular(function(){switch(e.showOn){case"hover":e.subscribeToEvents([{name:"mouseenter",handler:e.mouseenterHandler},{name:"mouseleave",handler:e.mouseleaveHandler}]);break;case"focus":e.subscribeToEvents([{name:"focus",handler:e.focusHandler},{name:"blur",handler:e.blurHandler}]);break;case"click":e.subscribeClick()}})},S.prototype.ngOnDestroy=function(){this.closePopup(),this.disposeHoverOverListener&&this.disposeHoverOverListener(),this.disposeHoverOutListener&&this.disposeHoverOutListener(),this.disposeClickListener&&this.disposeClickListener(),this._focusInsideSub&&this._focusInsideSub.unsubscribe(),this._hideSub&&this._hideSub.unsubscribe(),this.subs&&this.subs.unsubscribe(),this._popupOpenSub&&this._popupOpenSub.unsubscribe(),this._popupCloseSub&&this._popupCloseSub.unsubscribe()},S.prototype.hide=function(){this.closePopup()},S.prototype.closePopup=function(){this.popupRef&&(this.popupRef.close(),this.popupRef=null,this.disposePopupHoverOutListener&&this.disposePopupHoverOutListener(),this.disposePopupHoverInListener&&this.disposePopupHoverInListener(),this.disposePopupFocusOutListener)&&this.disposePopupFocusOutListener()},S.prototype.openPopup=function(e){var t=e instanceof p.ElementRef?e.nativeElement:e,o=this.popover instanceof E?this.popover:this.popover(t),n=F(o.position,o.offset),i=n.anchorAlign,r=n.popupAlign,n=n.popupMargin,s=o.animation;this.popupRef=this.popupService.open({anchor:{nativeElement:t},animate:s,content:E,popupAlign:r,anchorAlign:i,margin:n,popupClass:"k-popup-transparent",collision:{horizontal:"fit",vertical:"fit"}}),this.applySettings(this.popupRef.content,o,e),this.monitorPopup(),this.initializeCompletionEvents(o,t)},S.prototype.isPrevented=function(e,t){var o=this.popover instanceof E?this.popover:this.popover(e);return this.initializeEvents(o,void 0,t,e).isDefaultPrevented()},S.prototype.monitorPopup=function(){var t=this;"hover"===this.showOn&&this.ngZone.runOutsideAngular(function(){var e=t.popupRef.popupElement;t.disposePopupHoverInListener=t.renderer.listen(e,"mouseenter",function(e){t.ngZone.run(function(e){return t._popoverService.emitPopoverState(!0)})}),t.disposePopupHoverOutListener=t.renderer.listen(e,"mouseleave",function(e){t.ngZone.run(function(e){return t._popoverService.emitPopoverState(!1)})})}),"focus"===this.showOn&&this.ngZone.runOutsideAngular(function(){var e=t.popupRef.popupElement;t.disposePopupFocusOutListener=t.renderer.listen(e,"focusout",function(e){s.closest(e.relatedTarget,function(e){return e.classList&&e.classList.contains("k-popover")})||t.ngZone.run(function(e){return t._popoverService.emitFocusInsidePopover(!1)})})})},S.prototype.applySettings=function(e,t,o){e=e.instance,o=o instanceof p.ElementRef?o.nativeElement:o;e.visible=!0,e.anchor=o,e.position=t.position,e.offset=t.offset,e.width=t.width,e.height=t.height,e.title=t.title,e.body=t.body,e.callout=t.callout,e.animation=t.animation,e.contextData=t.templateData(o),e.titleTemplate=t.titleTemplate,e.bodyTemplate=t.bodyTemplate,e.actionsTemplate=t.actionsTemplate,this.popupRef.content.changeDetectorRef.detectChanges()},S.prototype.initializeEvents=function(e,t,o,n){return o?(t=new J(n),this.shouldEmitEvent(!!this.popupRef,"show",e)&&this.ngZone.run(function(){return e.show.emit(t)})):(t=new te(n,this.popupRef),this.shouldEmitEvent(!!this.popupRef,"hide",e)&&this.ngZone.run(function(){return e.hide.emit(t)})),t},S.prototype.initializeCompletionEvents=function(o,n){var t=this;this.shouldEmitCompletionEvents("shown",o)&&this.popupRef.popupOpen.subscribe(function(){var e=new ne(n,t.popupRef);o.shown.emit(e)}),this.shouldEmitCompletionEvents("hidden",o)&&this.popupRef.popupClose.subscribe(function(){t.ngZone.run(function(e){var t=new ie(n);o.hidden.emit(t)})})},S.prototype.shouldEmitEvent=function(e,t,o){return!!("show"===t&&!e&&s.hasObservers(o[t])||"hide"===t&&e&&s.hasObservers(o[t]))},S.prototype.shouldEmitCompletionEvents=function(e,t){return!!(s.hasObservers(t[e])&&!this._popupOpenSub||s.hasObservers(t[e])&&!this._popupCloseSub)},S);function S(e,t,o){this.ngZone=e,this.popupService=t,this.renderer=o,this.subs=new l.Subscription,this._showOn="click"}u.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:u,deps:[{token:r.NgZone},{token:h.PopupService},{token:r.Renderer2}],target:r.ɵɵFactoryTarget.Directive}),u.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:u,inputs:{popover:"popover",showOn:"showOn"},ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:u,decorators:[{type:p.Directive,args:[{}]}],ctorParameters:function(){return[{type:r.NgZone},{type:h.PopupService},{type:r.Renderer2}]},propDecorators:{popover:[{type:p.Input}],showOn:[{type:p.Input}]}});R.prototype.ngOnDestroy=function(){this.subs.unsubscribe()},Object.defineProperty(R.prototype,"isPopoverHovered",{get:function(){return this._pointerOverPopup.asObservable()},enumerable:!1,configurable:!0}),R.prototype.emitPopoverState=function(t){var o=this;this.ngZone.run(function(e){return o._pointerOverPopup.next(t)})},Object.defineProperty(R.prototype,"isAnchorHovered",{get:function(){return this._pointerOverAnchor.asObservable()},enumerable:!1,configurable:!0}),R.prototype.emitAnchorState=function(t,e){var o=this;this._isOrigin=this.originAnchor===e,this.currentAnchor=e,t&&(this.originAnchor=e),this.ngZone.run(function(e){return o._pointerOverAnchor.next(t)})},Object.defineProperty(R.prototype,"isFocusInsidePopover",{get:function(){return this._focusInsidePopover.asObservable()},enumerable:!1,configurable:!0}),R.prototype.emitFocusInsidePopover=function(t){var o=this;this.ngZone.run(function(e){return o._focusInsidePopover.next(t)}),this._focusInsidePopover.next(null)},Object.defineProperty(R.prototype,"hidePopover",{get:function(){return this._hidePopover.asObservable()},enumerable:!1,configurable:!0}),R.prototype.monitor=function(){var o=this;this.subs.add(l.combineLatest(this.isPopoverHovered,this.isAnchorHovered).pipe(a.auditTime(20)).subscribe(function(e){var e=m(e,2),t=e[0],e=e[1];o._hidePopover.next([t,e,o._isOrigin,o.currentAnchor])}))};var D=R;function R(e){this.ngZone=e,this._pointerOverPopup=new l.BehaviorSubject(null),this._pointerOverAnchor=new l.BehaviorSubject(null),this._focusInsidePopover=new l.BehaviorSubject(null),this._hidePopover=new l.Subject,this.subs=new l.Subscription,this.monitor()}D.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:D,deps:[{token:r.NgZone}],target:r.ɵɵFactoryTarget.Injectable}),D.ɵprov=r.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:D}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:D,decorators:[{type:p.Injectable}],ctorParameters:function(){return[{type:r.NgZone}]}});f(A,se=u),A.prototype.show=function(e){var t=this;this.popupRef||(this.ngZone.run(function(){t.openPopup(e)}),this.popupRef.popupAnchorViewportLeave.pipe(a.take(1)).subscribe(function(){return t.hide()}))},A.prototype.toggle=function(e){var t=this.popupRef&&this.popupRef.content.instance.anchor;this.popupRef&&(this.hide(),t===e)||this.show(e)},A.prototype.subscribeClick=function(){var o=this;this.disposeClickListener&&this.disposeClickListener(),this.disposeClickListener=this.renderer.listen(document,"click",function(e){var t=g(e.target,o.filter);o.clickHandler(t,e)})},A.prototype.subscribeToEvents=function(o){var n=this;Array.from(document.querySelectorAll(this.filter)).forEach(function(t){n.subs.add(n.renderer.listen(t,o[0].name,function(){n.popoverService.emitAnchorState(!0,t),o[0].handler(t)})),n.subs.add(n.renderer.listen(t,o[1].name,function(e){n.popoverService.emitAnchorState(!1,null),o[1].handler({anchor:t,domEvent:e})}))})},A.prototype.clickHandler=function(t,e){var o=!!s.closest(e.target,function(e){return e.classList&&e.classList.contains("k-popup")}),n=this.popupRef&&this.popupRef.content.instance.anchor,e=!!s.closest(e.target,function(e){return e===(n||t)});"click"!==this.showOn||o||this.popupRef&&e||(!t&&this.popupRef?this.controlVisibility(t,!1):e?this.controlVisibility(t,!0):this.popupRef&&(this.controlVisibility(t,!1),this.controlVisibility(t,!0)))},A.prototype.controlVisibility=function(e,t){this.isPrevented(e,t)||(t?this.show(e):this.hide())};var se,t=A;function A(e,t,o,n,i){var r=se.call(this,t,o,n)||this;return r.wrapperEl=e,r.ngZone=t,r.popupService=o,r.renderer=n,r.popoverService=i,r.mouseenterHandler=function(e){r.controlVisibility(e,!0)},r.mouseleaveHandler=function(e){e=e.anchor;r.isPrevented(e,!1)||r._hideSub||(r._hideSub=r.popoverService.hidePopover.subscribe(function(e){var e=m(e,4),t=e[0],o=e[2],e=e[3];t||o||(r.hide(),!o&&e&&r.show(e))}))},r.focusHandler=function(e){r.controlVisibility(e,!0)},r.blurHandler=function(e){var t,o=e.anchor,e=e.domEvent;r.isPrevented(o,!1)||((t=!!s.closest(e.relatedTarget,function(e){return e.classList&&e.classList.contains("k-popover")}))||r.hide(),r._focusInsideSub)||(r._focusInsideSub=r.popoverService.isFocusInsidePopover.pipe(a.filter(function(e){return null!==e})).subscribe(function(e){e||t||r.hide()}))},r._popoverService=r.popoverService,r}t.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:t,deps:[{token:r.ElementRef},{token:r.NgZone},{token:h.PopupService},{token:r.Renderer2},{token:D}],target:r.ɵɵFactoryTarget.Directive}),t.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:t,selector:"[kendoPopoverContainer]",inputs:{filter:"filter"},providers:[D],exportAs:["kendoPopoverContainer"],usesInheritance:!0,ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:t,decorators:[{type:p.Directive,args:[{selector:"[kendoPopoverContainer]",exportAs:"kendoPopoverContainer",providers:[D]}]}],ctorParameters:function(){return[{type:r.ElementRef},{type:r.NgZone},{type:h.PopupService},{type:r.Renderer2},{type:D}]},propDecorators:{filter:[{type:p.Input}]}});f(_,pe=u),_.prototype.show=function(){var e=this;this.popupRef||(this.ngZone.run(function(){e.openPopup(e.hostEl)}),this.popupRef.popupAnchorViewportLeave.pipe(a.take(1)).subscribe(function(){return e.hide()}))},_.prototype.toggle=function(){this.popupRef?this.hide():this.show()},_.prototype.subscribeToEvents=function(t){var o=this;this.subs.add(this.renderer.listen(this.hostEl.nativeElement,t[0].name,function(){o.popoverService.emitAnchorState(!0,o.hostEl.nativeElement),t[0].handler()})),this.subs.add(this.renderer.listen(this.hostEl.nativeElement,t[1].name,function(e){o.popoverService.emitAnchorState(!1,null),t[1].handler({domEvent:e})}))},_.prototype.subscribeClick=function(){var t=this;this.disposeClickListener&&this.disposeClickListener(),this.disposeClickListener=this.renderer.listen(document,"click",function(e){t.onClick(e)})},_.prototype.onClick=function(e){var t=this,o=!!s.closest(e.target,function(e){return e.classList&&e.classList.contains("k-popup")}),e=!!s.closest(e.target,function(e){return e===t.hostEl.nativeElement});o||this.popupRef&&e||(e?this.controlVisibility(this.hostEl.nativeElement,!0):this.controlVisibility(this.hostEl.nativeElement,!1))},_.prototype.controlVisibility=function(e,t){this.isPrevented(e,t)||(t?this.show():this.hide())};var pe,u=_;function _(e,t,o,n,i){var r=pe.call(this,t,o,n)||this;return r.hostEl=e,r.ngZone=t,r.popupService=o,r.renderer=n,r.popoverService=i,r.mouseenterHandler=function(){r.controlVisibility(r.hostEl.nativeElement,!0)},r.mouseleaveHandler=function(){r.isPrevented(r.hostEl.nativeElement,!1)||r._hideSub||(r._hideSub=r.popoverService.hidePopover.subscribe(function(e){var e=m(e,2),t=e[0],e=e[1];t||e||r.hide()}))},r.focusHandler=function(){r.controlVisibility(r.hostEl.nativeElement,!0)},r.blurHandler=function(e){e=e.domEvent;r.isPrevented(r.hostEl.nativeElement,!1)||(s.closest(e.relatedTarget,function(e){return e.classList&&e.classList.contains("k-popover")})||r.hide(),r._focusInsideSub)||(r._focusInsideSub=r.popoverService.isFocusInsidePopover.pipe(a.filter(function(e){return null!==e})).subscribe(function(e){e||r.hide()}))},r._popoverService=r.popoverService,r}u.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:u,deps:[{token:r.ElementRef},{token:r.NgZone},{token:h.PopupService},{token:r.Renderer2},{token:D}],target:r.ɵɵFactoryTarget.Directive}),u.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:u,selector:"[kendoPopoverAnchor]",providers:[D],exportAs:["kendoPopoverAnchor"],usesInheritance:!0,ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:u,decorators:[{type:p.Directive,args:[{selector:"[kendoPopoverAnchor]",exportAs:"kendoPopoverAnchor",providers:[D]}]}],ctorParameters:function(){return[{type:r.ElementRef},{type:r.NgZone},{type:h.PopupService},{type:r.Renderer2},{type:D}]}});var M=[k,b,y],V=[n.PopupModule],L=function(){},V=(L.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:L,deps:[],target:r.ɵɵFactoryTarget.NgModule}),L.ɵmod=r.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:L,declarations:[k,b,y],imports:[o.CommonModule,n.PopupModule],exports:[k,b,y]}),L.ɵinj=r.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:L,imports:[v([o.CommonModule],m(V))]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:L,decorators:[{type:p.NgModule,args:[{declarations:[M],entryComponents:[b],imports:v([o.CommonModule],m(V)),exports:[M]}]}]}),[P,C,O,u,t]),M=function(){},V=(M.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:M,deps:[],target:r.ɵɵFactoryTarget.NgModule}),M.ɵmod=r.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:M,declarations:[P,C,O,u,t,E],imports:[o.CommonModule,n.PopupModule],exports:[P,C,O,u,t,E]}),M.ɵinj=r.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:M,imports:[[o.CommonModule,n.PopupModule]]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:M,decorators:[{type:p.NgModule,args:[{declarations:v(v([],m(V)),[E]),entryComponents:[E],exports:v(v([],m(V)),[E]),imports:[o.CommonModule,n.PopupModule]}]}]}),function(){});V.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:V,deps:[],target:r.ɵɵFactoryTarget.NgModule}),V.ɵmod=r.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:V,exports:[L,M]}),V.ɵinj=r.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:V,imports:[L,M]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:V,decorators:[{type:p.NgModule,args:[{exports:[L,M]}]}]}),e.LocalizedMessagesDirective=y,e.PopoverActionsTemplateDirective=P,e.PopoverAnchorDirective=u,e.PopoverBodyTemplateDirective=C,e.PopoverComponent=E,e.PopoverContainerDirective=t,e.PopoverHiddenEvent=ie,e.PopoverHideEvent=te,e.PopoverModule=M,e.PopoverShowEvent=J,e.PopoverShownEvent=ne,e.PopoverTitleTemplateDirective=O,e.TOOLTIP_SETTINGS=j,e.TooltipContentComponent=b,e.TooltipDirective=k,e.TooltipModule=L,e.TooltipSettings=d,e.TooltipsModule=V,Object.defineProperty(e,"__esModule",{value:!0})});
@@ -15,14 +15,14 @@ export class LocalizedMessagesDirective extends ComponentMessages {
15
15
  this.service = service;
16
16
  }
17
17
  }
18
- LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
19
- LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: LocalizedMessagesDirective, selector: "[kendoTooltipLocalizedMessages]", inputs: { closeTitle: "closeTitle" }, providers: [
18
+ LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
19
+ LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: LocalizedMessagesDirective, selector: "[kendoTooltipLocalizedMessages]", inputs: { closeTitle: "closeTitle" }, providers: [
20
20
  {
21
21
  provide: ComponentMessages,
22
22
  useExisting: forwardRef(() => LocalizedMessagesDirective)
23
23
  }
24
24
  ], usesInheritance: true, ngImport: i0 });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
26
26
  type: Directive,
27
27
  args: [{
28
28
  providers: [
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-tooltip',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1668672854,
12
+ publishDate: 1669280051,
13
13
  version: '',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
15
15
  };
@@ -140,9 +140,9 @@ export class PopoverAnchorDirective extends PopoverDirectivesBase {
140
140
  }
141
141
  }
142
142
  }
143
- PopoverAnchorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverAnchorDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.PopupService }, { token: i0.Renderer2 }, { token: i2.PopoverService }], target: i0.ɵɵFactoryTarget.Directive });
144
- PopoverAnchorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: PopoverAnchorDirective, selector: "[kendoPopoverAnchor]", providers: [PopoverService], exportAs: ["kendoPopoverAnchor"], usesInheritance: true, ngImport: i0 });
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverAnchorDirective, decorators: [{
143
+ PopoverAnchorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverAnchorDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.PopupService }, { token: i0.Renderer2 }, { token: i2.PopoverService }], target: i0.ɵɵFactoryTarget.Directive });
144
+ PopoverAnchorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: PopoverAnchorDirective, selector: "[kendoPopoverAnchor]", providers: [PopoverService], exportAs: ["kendoPopoverAnchor"], usesInheritance: true, ngImport: i0 });
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverAnchorDirective, decorators: [{
146
146
  type: Directive,
147
147
  args: [{
148
148
  selector: '[kendoPopoverAnchor]',
@@ -163,9 +163,9 @@ export class PopoverContainerDirective extends PopoverDirectivesBase {
163
163
  }
164
164
  }
165
165
  }
166
- PopoverContainerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverContainerDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.PopupService }, { token: i0.Renderer2 }, { token: i2.PopoverService }], target: i0.ɵɵFactoryTarget.Directive });
167
- PopoverContainerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: PopoverContainerDirective, selector: "[kendoPopoverContainer]", inputs: { filter: "filter" }, providers: [PopoverService], exportAs: ["kendoPopoverContainer"], usesInheritance: true, ngImport: i0 });
168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverContainerDirective, decorators: [{
166
+ PopoverContainerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverContainerDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.PopupService }, { token: i0.Renderer2 }, { token: i2.PopoverService }], target: i0.ɵɵFactoryTarget.Directive });
167
+ PopoverContainerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: PopoverContainerDirective, selector: "[kendoPopoverContainer]", inputs: { filter: "filter" }, providers: [PopoverService], exportAs: ["kendoPopoverContainer"], usesInheritance: true, ngImport: i0 });
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverContainerDirective, decorators: [{
169
169
  type: Directive,
170
170
  args: [{
171
171
  selector: '[kendoPopoverContainer]',
@@ -270,9 +270,9 @@ export class PopoverDirectivesBase {
270
270
  return false;
271
271
  }
272
272
  }
273
- PopoverDirectivesBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverDirectivesBase, deps: [{ token: i0.NgZone }, { token: i1.PopupService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
274
- PopoverDirectivesBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: PopoverDirectivesBase, inputs: { popover: "popover", showOn: "showOn" }, ngImport: i0 });
275
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverDirectivesBase, decorators: [{
273
+ PopoverDirectivesBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverDirectivesBase, deps: [{ token: i0.NgZone }, { token: i1.PopupService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
274
+ PopoverDirectivesBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: PopoverDirectivesBase, inputs: { popover: "popover", showOn: "showOn" }, ngImport: i0 });
275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverDirectivesBase, decorators: [{
276
276
  type: Directive,
277
277
  args: [{}]
278
278
  }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.PopupService }, { type: i0.Renderer2 }]; }, propDecorators: { popover: [{
@@ -176,8 +176,8 @@ export class PopoverComponent {
176
176
  }
177
177
  }
178
178
  }
179
- PopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
180
- PopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PopoverComponent, 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" }, 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: [
179
+ PopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
180
+ PopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PopoverComponent, 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" }, 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: [
181
181
  LocalizationService,
182
182
  {
183
183
  provide: L10N_PREFIX,
@@ -221,7 +221,7 @@ PopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
221
221
  </ng-template>
222
222
  </div>
223
223
  `, isInline: true, directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
224
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverComponent, decorators: [{
224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverComponent, decorators: [{
225
225
  type: Component,
226
226
  args: [{
227
227
  selector: 'kendo-popover',
@@ -60,8 +60,8 @@ export class PopoverService {
60
60
  }));
61
61
  }
62
62
  }
63
- PopoverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
64
- PopoverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverService });
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverService, decorators: [{
63
+ PopoverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
64
+ PopoverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverService });
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverService, decorators: [{
66
66
  type: Injectable
67
67
  }], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
@@ -15,9 +15,9 @@ export class PopoverActionsTemplateDirective {
15
15
  this.templateRef = templateRef;
16
16
  }
17
17
  }
18
- PopoverActionsTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverActionsTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
19
- PopoverActionsTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: PopoverActionsTemplateDirective, selector: "[kendoPopoverActionsTemplate]", ngImport: i0 });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverActionsTemplateDirective, decorators: [{
18
+ PopoverActionsTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverActionsTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
19
+ PopoverActionsTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: PopoverActionsTemplateDirective, selector: "[kendoPopoverActionsTemplate]", ngImport: i0 });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverActionsTemplateDirective, decorators: [{
21
21
  type: Directive,
22
22
  args: [{
23
23
  selector: '[kendoPopoverActionsTemplate]'
@@ -15,9 +15,9 @@ export class PopoverBodyTemplateDirective {
15
15
  this.templateRef = templateRef;
16
16
  }
17
17
  }
18
- PopoverBodyTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverBodyTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
19
- PopoverBodyTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: PopoverBodyTemplateDirective, selector: "[kendoPopoverBodyTemplate]", ngImport: i0 });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverBodyTemplateDirective, decorators: [{
18
+ PopoverBodyTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverBodyTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
19
+ PopoverBodyTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: PopoverBodyTemplateDirective, selector: "[kendoPopoverBodyTemplate]", ngImport: i0 });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverBodyTemplateDirective, decorators: [{
21
21
  type: Directive,
22
22
  args: [{
23
23
  selector: '[kendoPopoverBodyTemplate]'
@@ -15,9 +15,9 @@ export class PopoverTitleTemplateDirective {
15
15
  this.templateRef = templateRef;
16
16
  }
17
17
  }
18
- PopoverTitleTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverTitleTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
19
- PopoverTitleTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: PopoverTitleTemplateDirective, selector: "[kendoPopoverTitleTemplate]", ngImport: i0 });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverTitleTemplateDirective, decorators: [{
18
+ PopoverTitleTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverTitleTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
19
+ PopoverTitleTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: PopoverTitleTemplateDirective, selector: "[kendoPopoverTitleTemplate]", ngImport: i0 });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverTitleTemplateDirective, decorators: [{
21
21
  type: Directive,
22
22
  args: [{
23
23
  selector: '[kendoPopoverTitleTemplate]'
@@ -46,8 +46,8 @@ const DIRECTIVES = [
46
46
  */
47
47
  export class PopoverModule {
48
48
  }
49
- PopoverModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
50
- PopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverModule, declarations: [PopoverActionsTemplateDirective,
49
+ PopoverModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
50
+ PopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverModule, declarations: [PopoverActionsTemplateDirective,
51
51
  PopoverBodyTemplateDirective,
52
52
  PopoverTitleTemplateDirective,
53
53
  PopoverAnchorDirective,
@@ -57,11 +57,11 @@ PopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
57
57
  PopoverTitleTemplateDirective,
58
58
  PopoverAnchorDirective,
59
59
  PopoverContainerDirective, PopoverComponent] });
60
- PopoverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverModule, imports: [[
60
+ PopoverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverModule, imports: [[
61
61
  CommonModule,
62
62
  PopupModule
63
63
  ]] });
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverModule, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverModule, decorators: [{
65
65
  type: NgModule,
66
66
  args: [{
67
67
  declarations: [
@@ -4,7 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Component, HostBinding, Input, Output, EventEmitter } from '@angular/core';
6
6
  import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
7
- import { getCenterOffset } from '../utils';
7
+ import { getCenterOffset, getId } from '../utils';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@progress/kendo-angular-l10n";
10
10
  import * as i2 from "../localization/localized-messages.directive";
@@ -17,6 +17,7 @@ export class TooltipContentComponent {
17
17
  this.content = content;
18
18
  this.localizationService = localizationService;
19
19
  this.close = new EventEmitter();
20
+ this.hostRole = 'tooltip';
20
21
  this.tooltipWidth = null;
21
22
  this.tooltipHeight = null;
22
23
  this.callout = true;
@@ -48,7 +49,10 @@ export class TooltipContentComponent {
48
49
  this.direction = localizationService.rtl ? 'rtl' : 'ltr';
49
50
  }
50
51
  get cssClasses() {
51
- return 'k-widget k-tooltip';
52
+ return 'k-tooltip';
53
+ }
54
+ get hostId() {
55
+ return this.tooltipId;
52
56
  }
53
57
  get className() {
54
58
  return this.closable;
@@ -57,6 +61,7 @@ export class TooltipContentComponent {
57
61
  return 'relative';
58
62
  }
59
63
  ngOnInit() {
64
+ this.tooltipId = getId('tooltip');
60
65
  this.dynamicRTLSubscription = this.localizationService.changes
61
66
  .subscribe(({ rtl }) => this.direction = rtl ? 'rtl' : 'ltr');
62
67
  }
@@ -103,8 +108,8 @@ export class TooltipContentComponent {
103
108
  });
104
109
  }
105
110
  }
106
- TooltipContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipContentComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
107
- TooltipContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TooltipContentComponent, 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", "class.k-tooltip-closable": "this.className", "style.position": "this.cssPosition", "style.width.px": "this.tooltipWidth", "style.height.px": "this.tooltipHeight" } }, providers: [
111
+ TooltipContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipContentComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
112
+ TooltipContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TooltipContentComponent, 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: [
108
113
  LocalizationService,
109
114
  {
110
115
  provide: L10N_PREFIX,
@@ -137,13 +142,13 @@ TooltipContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
137
142
  </ng-template>
138
143
  </div>
139
144
 
140
- <div *ngIf="closable" class="k-tooltip-button" (click)="onCloseClick($event)">
145
+ <div *ngIf="closable" [attr.aria-hidden]="true" class="k-tooltip-button" (click)="onCloseClick($event)">
141
146
  <a href="#" class="k-icon k-i-x" [attr.title]="closeButtonTitle"></a>
142
147
  </div>
143
148
 
144
149
  <div class="k-callout" *ngIf="callout" [ngClass]="calloutPositionClass()"></div>
145
150
  `, isInline: true, directives: [{ type: i2.LocalizedMessagesDirective, selector: "[kendoTooltipLocalizedMessages]", inputs: ["closeTitle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipContentComponent, decorators: [{
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipContentComponent, decorators: [{
147
152
  type: Component,
148
153
  args: [{
149
154
  selector: 'kendo-tooltip',
@@ -174,7 +179,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
174
179
  </ng-template>
175
180
  </div>
176
181
 
177
- <div *ngIf="closable" class="k-tooltip-button" (click)="onCloseClick($event)">
182
+ <div *ngIf="closable" [attr.aria-hidden]="true" class="k-tooltip-button" (click)="onCloseClick($event)">
178
183
  <a href="#" class="k-icon k-i-x" [attr.title]="closeButtonTitle"></a>
179
184
  </div>
180
185
 
@@ -196,6 +201,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
196
201
  }], cssClasses: [{
197
202
  type: HostBinding,
198
203
  args: ['class']
204
+ }], hostRole: [{
205
+ type: HostBinding,
206
+ args: ['attr.role']
207
+ }], hostId: [{
208
+ type: HostBinding,
209
+ args: ['attr.id']
199
210
  }], className: [{
200
211
  type: HostBinding,
201
212
  args: ['class.k-tooltip-closable']
@@ -4,12 +4,13 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Directive, Input, Optional, Inject, isDevMode } from '@angular/core';
6
6
  import { take, filter } from 'rxjs/operators';
7
- import { fromEvent } from 'rxjs';
7
+ import { fromEvent, Subscription } from 'rxjs';
8
8
  import { validatePackage } from '@progress/kendo-licensing';
9
9
  import { packageMetadata } from '../package-metadata';
10
10
  import { TOOLTIP_SETTINGS } from './tooltip.settings';
11
11
  import { TooltipContentComponent } from '../tooltip/tooltip.content.component';
12
12
  import { align, closestBySelector, contains, containsItem, collision, hasParent } from '../utils';
13
+ import { Keys } from '@progress/kendo-angular-common';
13
14
  import * as i0 from "@angular/core";
14
15
  import * as i1 from "@progress/kendo-angular-popup";
15
16
  import * as i2 from "./tooltip.settings";
@@ -76,6 +77,7 @@ export class TooltipDirective {
76
77
  */
77
78
  this.offset = 6;
78
79
  this.anchor = null;
80
+ this.keyboardNavigationSubscription = new Subscription();
79
81
  this.validPositions = ['top', 'bottom', 'right', 'left'];
80
82
  this.validShowOptions = ['hover', 'click', 'none'];
81
83
  validatePackage(packageMetadata);
@@ -183,6 +185,7 @@ export class TooltipDirective {
183
185
  if (this.showOn === undefined) {
184
186
  this.showOn = 'hover';
185
187
  }
188
+ this.keyboardNavigationSubscription.add(this.renderer.listen(this.tooltipWrapper.nativeElement, 'keydown', event => this.onKeyDown(event)));
186
189
  this.verifyProperties();
187
190
  }
188
191
  ngOnChanges(changes) {
@@ -206,6 +209,7 @@ export class TooltipDirective {
206
209
  this.anchorTitleSubscription.unsubscribe();
207
210
  this.mouseOverSubscription.unsubscribe();
208
211
  this.mouseOutSubscription.unsubscribe();
212
+ this.keyboardNavigationSubscription.unsubscribe();
209
213
  if (this.mouseClickSubscription) {
210
214
  this.mouseClickSubscription.unsubscribe();
211
215
  }
@@ -279,6 +283,9 @@ export class TooltipDirective {
279
283
  this.renderer.addClass(this.popupRef.popupElement, this.tooltipClass);
280
284
  }
281
285
  const popupInstance = this.popupRef.content.instance;
286
+ if (anchorRef) {
287
+ this.renderer.setAttribute(anchorRef.nativeElement, 'aria-labelledby', popupInstance.tooltipId);
288
+ }
282
289
  if (popupInstance.callout) {
283
290
  this.popupPositionChangeSubscription = this.popupRef.popupPositionChange
284
291
  .subscribe(({ flip }) => {
@@ -296,6 +303,9 @@ export class TooltipDirective {
296
303
  }
297
304
  closePopup() {
298
305
  if (this.popupRef) {
306
+ if (this.anchor) {
307
+ this.renderer.removeAttribute(this.anchor.nativeElement, 'aria-labelledby');
308
+ }
299
309
  this.popupRef.close();
300
310
  this.popupRef = null;
301
311
  }
@@ -332,6 +342,24 @@ export class TooltipDirective {
332
342
  this.hide();
333
343
  }
334
344
  }
345
+ onKeyDown(event) {
346
+ const keyCode = event.keyCode;
347
+ const target = event.target;
348
+ const tooltipId = this.popupRef.content.location.nativeElement.getAttribute('id');
349
+ const anchorLabelledBy = target.getAttribute('aria-labelledby');
350
+ if (this.popupRef) {
351
+ if (keyCode === Keys.Escape && this.canCloseTooltip(target, tooltipId, anchorLabelledBy)) {
352
+ this.closePopup();
353
+ }
354
+ }
355
+ }
356
+ canCloseTooltip(target, tooltipId, anchorLabelledBy) {
357
+ const isIdEqualsLabel = tooltipId === anchorLabelledBy;
358
+ const filterElement = closestBySelector(target, this.filter);
359
+ const isTargetFocused = target === document.activeElement;
360
+ const isTargetInsideWrapper = this.tooltipWrapper.nativeElement.contains(target);
361
+ return isTargetInsideWrapper && filterElement && isTargetFocused && isIdEqualsLabel;
362
+ }
335
363
  onMouseOver(e) {
336
364
  const filterElement = closestBySelector(e.target, this.filter);
337
365
  if (this.showOn !== 'hover') {
@@ -370,9 +398,9 @@ export class TooltipDirective {
370
398
  }
371
399
  }
372
400
  }
373
- TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.PopupService }, { token: i2.TooltipSettings, optional: true }, { token: TOOLTIP_SETTINGS, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
374
- TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TooltipDirective, 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", collision: "collision", closeTitle: "closeTitle", tooltipTemplate: "tooltipTemplate" }, exportAs: ["kendoTooltip"], usesOnChanges: true, ngImport: i0 });
375
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipDirective, decorators: [{
401
+ TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.PopupService }, { token: i2.TooltipSettings, optional: true }, { token: TOOLTIP_SETTINGS, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
402
+ TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TooltipDirective, 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", collision: "collision", closeTitle: "closeTitle", tooltipTemplate: "tooltipTemplate" }, exportAs: ["kendoTooltip"], usesOnChanges: true, ngImport: i0 });
403
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipDirective, decorators: [{
376
404
  type: Directive,
377
405
  args: [{
378
406
  selector: '[kendoTooltip]',
@@ -41,8 +41,8 @@ export class TooltipSettings {
41
41
  */
42
42
  constructor() { }
43
43
  }
44
- TooltipSettings.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipSettings, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
45
- TooltipSettings.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipSettings });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipSettings, decorators: [{
44
+ TooltipSettings.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipSettings, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
45
+ TooltipSettings.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipSettings });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipSettings, decorators: [{
47
47
  type: Injectable
48
48
  }], ctorParameters: function () { return []; } });
@@ -43,10 +43,10 @@ const COMPONENT_MODULES = [PopupModule];
43
43
  */
44
44
  export class TooltipModule {
45
45
  }
46
- TooltipModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
47
- TooltipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipModule, declarations: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective], imports: [CommonModule, PopupModule], exports: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective] });
48
- TooltipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipModule, imports: [[CommonModule, ...COMPONENT_MODULES]] });
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipModule, decorators: [{
46
+ TooltipModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
47
+ TooltipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipModule, declarations: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective], imports: [CommonModule, PopupModule], exports: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective] });
48
+ TooltipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipModule, imports: [[CommonModule, ...COMPONENT_MODULES]] });
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipModule, decorators: [{
50
50
  type: NgModule,
51
51
  args: [{
52
52
  declarations: [COMPONENT_DIRECTIVES],
@@ -34,10 +34,10 @@ import * as i0 from "@angular/core";
34
34
  */
35
35
  export class TooltipsModule {
36
36
  }
37
- TooltipsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
38
- TooltipsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipsModule, exports: [TooltipModule, PopoverModule] });
39
- TooltipsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipsModule, imports: [TooltipModule, PopoverModule] });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipsModule, decorators: [{
37
+ TooltipsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
38
+ TooltipsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipsModule, exports: [TooltipModule, PopoverModule] });
39
+ TooltipsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipsModule, imports: [TooltipModule, PopoverModule] });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipsModule, decorators: [{
41
41
  type: NgModule,
42
42
  args: [{
43
43
  exports: [TooltipModule, PopoverModule]
package/esm2015/utils.js CHANGED
@@ -2,6 +2,16 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
+ /**
6
+ * @hidden
7
+ */
8
+ let idx = 0;
9
+ /**
10
+ * @hidden
11
+ */
12
+ export const getId = (prefix) => {
13
+ return `${prefix}-${++idx}`;
14
+ };
5
15
  /**
6
16
  * @hidden
7
17
  */
@@ -5,15 +5,15 @@
5
5
  import * as i0 from '@angular/core';
6
6
  import { InjectionToken, Injectable, forwardRef, Directive, Input, EventEmitter, Component, HostBinding, Output, isDevMode, Optional, Inject, ContentChild, ElementRef, NgModule } from '@angular/core';
7
7
  import { filter, take, auditTime } from 'rxjs/operators';
8
- import { fromEvent, Subscription, BehaviorSubject, Subject, combineLatest } from 'rxjs';
8
+ import { Subscription, fromEvent, BehaviorSubject, Subject, combineLatest } from 'rxjs';
9
9
  import { validatePackage } from '@progress/kendo-licensing';
10
10
  import * as i1 from '@progress/kendo-angular-l10n';
11
11
  import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
12
12
  import * as i2 from '@angular/common';
13
13
  import { CommonModule } from '@angular/common';
14
+ import { Keys, PreventableEvent, isDocumentAvailable, closest, hasObservers } from '@progress/kendo-angular-common';
14
15
  import * as i1$1 from '@progress/kendo-angular-popup';
15
16
  import { PopupModule } from '@progress/kendo-angular-popup';
16
- import { PreventableEvent, isDocumentAvailable, closest, hasObservers } from '@progress/kendo-angular-common';
17
17
 
18
18
  /**
19
19
  * @hidden
@@ -22,7 +22,7 @@ const packageMetadata = {
22
22
  name: '@progress/kendo-angular-tooltip',
23
23
  productName: 'Kendo UI for Angular',
24
24
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
25
- publishDate: 1668672854,
25
+ publishDate: 1669280051,
26
26
  version: '',
27
27
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
28
28
  };
@@ -64,12 +64,22 @@ class TooltipSettings {
64
64
  */
65
65
  constructor() { }
66
66
  }
67
- TooltipSettings.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipSettings, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
68
- TooltipSettings.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipSettings });
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipSettings, decorators: [{
67
+ TooltipSettings.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipSettings, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
68
+ TooltipSettings.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipSettings });
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipSettings, decorators: [{
70
70
  type: Injectable
71
71
  }], ctorParameters: function () { return []; } });
72
72
 
73
+ /**
74
+ * @hidden
75
+ */
76
+ let idx = 0;
77
+ /**
78
+ * @hidden
79
+ */
80
+ const getId = (prefix) => {
81
+ return `${prefix}-${++idx}`;
82
+ };
73
83
  /**
74
84
  * @hidden
75
85
  */
@@ -188,14 +198,14 @@ class LocalizedMessagesDirective extends ComponentMessages {
188
198
  this.service = service;
189
199
  }
190
200
  }
191
- LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
192
- LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: LocalizedMessagesDirective, selector: "[kendoTooltipLocalizedMessages]", inputs: { closeTitle: "closeTitle" }, providers: [
201
+ LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
202
+ LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: LocalizedMessagesDirective, selector: "[kendoTooltipLocalizedMessages]", inputs: { closeTitle: "closeTitle" }, providers: [
193
203
  {
194
204
  provide: ComponentMessages,
195
205
  useExisting: forwardRef(() => LocalizedMessagesDirective)
196
206
  }
197
207
  ], usesInheritance: true, ngImport: i0 });
198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
199
209
  type: Directive,
200
210
  args: [{
201
211
  providers: [
@@ -218,6 +228,7 @@ class TooltipContentComponent {
218
228
  this.content = content;
219
229
  this.localizationService = localizationService;
220
230
  this.close = new EventEmitter();
231
+ this.hostRole = 'tooltip';
221
232
  this.tooltipWidth = null;
222
233
  this.tooltipHeight = null;
223
234
  this.callout = true;
@@ -249,7 +260,10 @@ class TooltipContentComponent {
249
260
  this.direction = localizationService.rtl ? 'rtl' : 'ltr';
250
261
  }
251
262
  get cssClasses() {
252
- return 'k-widget k-tooltip';
263
+ return 'k-tooltip';
264
+ }
265
+ get hostId() {
266
+ return this.tooltipId;
253
267
  }
254
268
  get className() {
255
269
  return this.closable;
@@ -258,6 +272,7 @@ class TooltipContentComponent {
258
272
  return 'relative';
259
273
  }
260
274
  ngOnInit() {
275
+ this.tooltipId = getId('tooltip');
261
276
  this.dynamicRTLSubscription = this.localizationService.changes
262
277
  .subscribe(({ rtl }) => this.direction = rtl ? 'rtl' : 'ltr');
263
278
  }
@@ -304,8 +319,8 @@ class TooltipContentComponent {
304
319
  });
305
320
  }
306
321
  }
307
- TooltipContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipContentComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
308
- TooltipContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TooltipContentComponent, 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", "class.k-tooltip-closable": "this.className", "style.position": "this.cssPosition", "style.width.px": "this.tooltipWidth", "style.height.px": "this.tooltipHeight" } }, providers: [
322
+ TooltipContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipContentComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
323
+ TooltipContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TooltipContentComponent, 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: [
309
324
  LocalizationService,
310
325
  {
311
326
  provide: L10N_PREFIX,
@@ -338,13 +353,13 @@ TooltipContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
338
353
  </ng-template>
339
354
  </div>
340
355
 
341
- <div *ngIf="closable" class="k-tooltip-button" (click)="onCloseClick($event)">
356
+ <div *ngIf="closable" [attr.aria-hidden]="true" class="k-tooltip-button" (click)="onCloseClick($event)">
342
357
  <a href="#" class="k-icon k-i-x" [attr.title]="closeButtonTitle"></a>
343
358
  </div>
344
359
 
345
360
  <div class="k-callout" *ngIf="callout" [ngClass]="calloutPositionClass()"></div>
346
361
  `, isInline: true, directives: [{ type: LocalizedMessagesDirective, selector: "[kendoTooltipLocalizedMessages]", inputs: ["closeTitle"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
347
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipContentComponent, decorators: [{
362
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipContentComponent, decorators: [{
348
363
  type: Component,
349
364
  args: [{
350
365
  selector: 'kendo-tooltip',
@@ -375,7 +390,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
375
390
  </ng-template>
376
391
  </div>
377
392
 
378
- <div *ngIf="closable" class="k-tooltip-button" (click)="onCloseClick($event)">
393
+ <div *ngIf="closable" [attr.aria-hidden]="true" class="k-tooltip-button" (click)="onCloseClick($event)">
379
394
  <a href="#" class="k-icon k-i-x" [attr.title]="closeButtonTitle"></a>
380
395
  </div>
381
396
 
@@ -397,6 +412,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
397
412
  }], cssClasses: [{
398
413
  type: HostBinding,
399
414
  args: ['class']
415
+ }], hostRole: [{
416
+ type: HostBinding,
417
+ args: ['attr.role']
418
+ }], hostId: [{
419
+ type: HostBinding,
420
+ args: ['attr.id']
400
421
  }], className: [{
401
422
  type: HostBinding,
402
423
  args: ['class.k-tooltip-closable']
@@ -488,6 +509,7 @@ class TooltipDirective {
488
509
  */
489
510
  this.offset = 6;
490
511
  this.anchor = null;
512
+ this.keyboardNavigationSubscription = new Subscription();
491
513
  this.validPositions = ['top', 'bottom', 'right', 'left'];
492
514
  this.validShowOptions = ['hover', 'click', 'none'];
493
515
  validatePackage(packageMetadata);
@@ -595,6 +617,7 @@ class TooltipDirective {
595
617
  if (this.showOn === undefined) {
596
618
  this.showOn = 'hover';
597
619
  }
620
+ this.keyboardNavigationSubscription.add(this.renderer.listen(this.tooltipWrapper.nativeElement, 'keydown', event => this.onKeyDown(event)));
598
621
  this.verifyProperties();
599
622
  }
600
623
  ngOnChanges(changes) {
@@ -618,6 +641,7 @@ class TooltipDirective {
618
641
  this.anchorTitleSubscription.unsubscribe();
619
642
  this.mouseOverSubscription.unsubscribe();
620
643
  this.mouseOutSubscription.unsubscribe();
644
+ this.keyboardNavigationSubscription.unsubscribe();
621
645
  if (this.mouseClickSubscription) {
622
646
  this.mouseClickSubscription.unsubscribe();
623
647
  }
@@ -691,6 +715,9 @@ class TooltipDirective {
691
715
  this.renderer.addClass(this.popupRef.popupElement, this.tooltipClass);
692
716
  }
693
717
  const popupInstance = this.popupRef.content.instance;
718
+ if (anchorRef) {
719
+ this.renderer.setAttribute(anchorRef.nativeElement, 'aria-labelledby', popupInstance.tooltipId);
720
+ }
694
721
  if (popupInstance.callout) {
695
722
  this.popupPositionChangeSubscription = this.popupRef.popupPositionChange
696
723
  .subscribe(({ flip }) => {
@@ -708,6 +735,9 @@ class TooltipDirective {
708
735
  }
709
736
  closePopup() {
710
737
  if (this.popupRef) {
738
+ if (this.anchor) {
739
+ this.renderer.removeAttribute(this.anchor.nativeElement, 'aria-labelledby');
740
+ }
711
741
  this.popupRef.close();
712
742
  this.popupRef = null;
713
743
  }
@@ -744,6 +774,24 @@ class TooltipDirective {
744
774
  this.hide();
745
775
  }
746
776
  }
777
+ onKeyDown(event) {
778
+ const keyCode = event.keyCode;
779
+ const target = event.target;
780
+ const tooltipId = this.popupRef.content.location.nativeElement.getAttribute('id');
781
+ const anchorLabelledBy = target.getAttribute('aria-labelledby');
782
+ if (this.popupRef) {
783
+ if (keyCode === Keys.Escape && this.canCloseTooltip(target, tooltipId, anchorLabelledBy)) {
784
+ this.closePopup();
785
+ }
786
+ }
787
+ }
788
+ canCloseTooltip(target, tooltipId, anchorLabelledBy) {
789
+ const isIdEqualsLabel = tooltipId === anchorLabelledBy;
790
+ const filterElement = closestBySelector(target, this.filter);
791
+ const isTargetFocused = target === document.activeElement;
792
+ const isTargetInsideWrapper = this.tooltipWrapper.nativeElement.contains(target);
793
+ return isTargetInsideWrapper && filterElement && isTargetFocused && isIdEqualsLabel;
794
+ }
747
795
  onMouseOver(e) {
748
796
  const filterElement = closestBySelector(e.target, this.filter);
749
797
  if (this.showOn !== 'hover') {
@@ -782,9 +830,9 @@ class TooltipDirective {
782
830
  }
783
831
  }
784
832
  }
785
- TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", 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 });
786
- TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TooltipDirective, 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", collision: "collision", closeTitle: "closeTitle", tooltipTemplate: "tooltipTemplate" }, exportAs: ["kendoTooltip"], usesOnChanges: true, ngImport: i0 });
787
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipDirective, decorators: [{
833
+ TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", 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 });
834
+ TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TooltipDirective, 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", collision: "collision", closeTitle: "closeTitle", tooltipTemplate: "tooltipTemplate" }, exportAs: ["kendoTooltip"], usesOnChanges: true, ngImport: i0 });
835
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipDirective, decorators: [{
788
836
  type: Directive,
789
837
  args: [{
790
838
  selector: '[kendoTooltip]',
@@ -847,9 +895,9 @@ class PopoverTitleTemplateDirective {
847
895
  this.templateRef = templateRef;
848
896
  }
849
897
  }
850
- PopoverTitleTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverTitleTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
851
- PopoverTitleTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: PopoverTitleTemplateDirective, selector: "[kendoPopoverTitleTemplate]", ngImport: i0 });
852
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverTitleTemplateDirective, decorators: [{
898
+ PopoverTitleTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverTitleTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
899
+ PopoverTitleTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: PopoverTitleTemplateDirective, selector: "[kendoPopoverTitleTemplate]", ngImport: i0 });
900
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverTitleTemplateDirective, decorators: [{
853
901
  type: Directive,
854
902
  args: [{
855
903
  selector: '[kendoPopoverTitleTemplate]'
@@ -869,9 +917,9 @@ class PopoverBodyTemplateDirective {
869
917
  this.templateRef = templateRef;
870
918
  }
871
919
  }
872
- PopoverBodyTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverBodyTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
873
- PopoverBodyTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: PopoverBodyTemplateDirective, selector: "[kendoPopoverBodyTemplate]", ngImport: i0 });
874
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverBodyTemplateDirective, decorators: [{
920
+ PopoverBodyTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverBodyTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
921
+ PopoverBodyTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: PopoverBodyTemplateDirective, selector: "[kendoPopoverBodyTemplate]", ngImport: i0 });
922
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverBodyTemplateDirective, decorators: [{
875
923
  type: Directive,
876
924
  args: [{
877
925
  selector: '[kendoPopoverBodyTemplate]'
@@ -891,9 +939,9 @@ class PopoverActionsTemplateDirective {
891
939
  this.templateRef = templateRef;
892
940
  }
893
941
  }
894
- PopoverActionsTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverActionsTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
895
- PopoverActionsTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: PopoverActionsTemplateDirective, selector: "[kendoPopoverActionsTemplate]", ngImport: i0 });
896
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverActionsTemplateDirective, decorators: [{
942
+ PopoverActionsTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverActionsTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
943
+ PopoverActionsTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: PopoverActionsTemplateDirective, selector: "[kendoPopoverActionsTemplate]", ngImport: i0 });
944
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverActionsTemplateDirective, decorators: [{
897
945
  type: Directive,
898
946
  args: [{
899
947
  selector: '[kendoPopoverActionsTemplate]'
@@ -1064,8 +1112,8 @@ class PopoverComponent {
1064
1112
  }
1065
1113
  }
1066
1114
  }
1067
- PopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
1068
- PopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PopoverComponent, 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" }, 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: [
1115
+ PopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
1116
+ PopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PopoverComponent, 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" }, 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: [
1069
1117
  LocalizationService,
1070
1118
  {
1071
1119
  provide: L10N_PREFIX,
@@ -1109,7 +1157,7 @@ PopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
1109
1157
  </ng-template>
1110
1158
  </div>
1111
1159
  `, isInline: true, directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
1112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverComponent, decorators: [{
1160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverComponent, decorators: [{
1113
1161
  type: Component,
1114
1162
  args: [{
1115
1163
  selector: 'kendo-popover',
@@ -1533,9 +1581,9 @@ class PopoverDirectivesBase {
1533
1581
  return false;
1534
1582
  }
1535
1583
  }
1536
- PopoverDirectivesBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverDirectivesBase, deps: [{ token: i0.NgZone }, { token: i1$1.PopupService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
1537
- PopoverDirectivesBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: PopoverDirectivesBase, inputs: { popover: "popover", showOn: "showOn" }, ngImport: i0 });
1538
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverDirectivesBase, decorators: [{
1584
+ PopoverDirectivesBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverDirectivesBase, deps: [{ token: i0.NgZone }, { token: i1$1.PopupService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
1585
+ PopoverDirectivesBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: PopoverDirectivesBase, inputs: { popover: "popover", showOn: "showOn" }, ngImport: i0 });
1586
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverDirectivesBase, decorators: [{
1539
1587
  type: Directive,
1540
1588
  args: [{}]
1541
1589
  }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1$1.PopupService }, { type: i0.Renderer2 }]; }, propDecorators: { popover: [{
@@ -1598,9 +1646,9 @@ class PopoverService {
1598
1646
  }));
1599
1647
  }
1600
1648
  }
1601
- PopoverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
1602
- PopoverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverService });
1603
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverService, decorators: [{
1649
+ PopoverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
1650
+ PopoverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverService });
1651
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverService, decorators: [{
1604
1652
  type: Injectable
1605
1653
  }], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
1606
1654
 
@@ -1756,9 +1804,9 @@ class PopoverContainerDirective extends PopoverDirectivesBase {
1756
1804
  }
1757
1805
  }
1758
1806
  }
1759
- PopoverContainerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverContainerDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1$1.PopupService }, { token: i0.Renderer2 }, { token: PopoverService }], target: i0.ɵɵFactoryTarget.Directive });
1760
- PopoverContainerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: PopoverContainerDirective, selector: "[kendoPopoverContainer]", inputs: { filter: "filter" }, providers: [PopoverService], exportAs: ["kendoPopoverContainer"], usesInheritance: true, ngImport: i0 });
1761
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverContainerDirective, decorators: [{
1807
+ PopoverContainerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverContainerDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1$1.PopupService }, { token: i0.Renderer2 }, { token: PopoverService }], target: i0.ɵɵFactoryTarget.Directive });
1808
+ PopoverContainerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: PopoverContainerDirective, selector: "[kendoPopoverContainer]", inputs: { filter: "filter" }, providers: [PopoverService], exportAs: ["kendoPopoverContainer"], usesInheritance: true, ngImport: i0 });
1809
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverContainerDirective, decorators: [{
1762
1810
  type: Directive,
1763
1811
  args: [{
1764
1812
  selector: '[kendoPopoverContainer]',
@@ -1899,9 +1947,9 @@ class PopoverAnchorDirective extends PopoverDirectivesBase {
1899
1947
  }
1900
1948
  }
1901
1949
  }
1902
- PopoverAnchorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverAnchorDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1$1.PopupService }, { token: i0.Renderer2 }, { token: PopoverService }], target: i0.ɵɵFactoryTarget.Directive });
1903
- PopoverAnchorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: PopoverAnchorDirective, selector: "[kendoPopoverAnchor]", providers: [PopoverService], exportAs: ["kendoPopoverAnchor"], usesInheritance: true, ngImport: i0 });
1904
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverAnchorDirective, decorators: [{
1950
+ PopoverAnchorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverAnchorDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1$1.PopupService }, { token: i0.Renderer2 }, { token: PopoverService }], target: i0.ɵɵFactoryTarget.Directive });
1951
+ PopoverAnchorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: PopoverAnchorDirective, selector: "[kendoPopoverAnchor]", providers: [PopoverService], exportAs: ["kendoPopoverAnchor"], usesInheritance: true, ngImport: i0 });
1952
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverAnchorDirective, decorators: [{
1905
1953
  type: Directive,
1906
1954
  args: [{
1907
1955
  selector: '[kendoPopoverAnchor]',
@@ -1944,10 +1992,10 @@ const COMPONENT_MODULES = [PopupModule];
1944
1992
  */
1945
1993
  class TooltipModule {
1946
1994
  }
1947
- TooltipModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1948
- TooltipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipModule, declarations: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective], imports: [CommonModule, PopupModule], exports: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective] });
1949
- TooltipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipModule, imports: [[CommonModule, ...COMPONENT_MODULES]] });
1950
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipModule, decorators: [{
1995
+ TooltipModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1996
+ TooltipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipModule, declarations: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective], imports: [CommonModule, PopupModule], exports: [TooltipDirective, TooltipContentComponent, LocalizedMessagesDirective] });
1997
+ TooltipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipModule, imports: [[CommonModule, ...COMPONENT_MODULES]] });
1998
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipModule, decorators: [{
1951
1999
  type: NgModule,
1952
2000
  args: [{
1953
2001
  declarations: [COMPONENT_DIRECTIVES],
@@ -1991,8 +2039,8 @@ const DIRECTIVES = [
1991
2039
  */
1992
2040
  class PopoverModule {
1993
2041
  }
1994
- PopoverModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1995
- PopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverModule, declarations: [PopoverActionsTemplateDirective,
2042
+ PopoverModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2043
+ PopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverModule, declarations: [PopoverActionsTemplateDirective,
1996
2044
  PopoverBodyTemplateDirective,
1997
2045
  PopoverTitleTemplateDirective,
1998
2046
  PopoverAnchorDirective,
@@ -2002,11 +2050,11 @@ PopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
2002
2050
  PopoverTitleTemplateDirective,
2003
2051
  PopoverAnchorDirective,
2004
2052
  PopoverContainerDirective, PopoverComponent] });
2005
- PopoverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverModule, imports: [[
2053
+ PopoverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverModule, imports: [[
2006
2054
  CommonModule,
2007
2055
  PopupModule
2008
2056
  ]] });
2009
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverModule, decorators: [{
2057
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopoverModule, decorators: [{
2010
2058
  type: NgModule,
2011
2059
  args: [{
2012
2060
  declarations: [
@@ -2050,10 +2098,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
2050
2098
  */
2051
2099
  class TooltipsModule {
2052
2100
  }
2053
- TooltipsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2054
- TooltipsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipsModule, exports: [TooltipModule, PopoverModule] });
2055
- TooltipsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipsModule, imports: [TooltipModule, PopoverModule] });
2056
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TooltipsModule, decorators: [{
2101
+ TooltipsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2102
+ TooltipsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipsModule, exports: [TooltipModule, PopoverModule] });
2103
+ TooltipsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipsModule, imports: [TooltipModule, PopoverModule] });
2104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipsModule, decorators: [{
2057
2105
  type: NgModule,
2058
2106
  args: [{
2059
2107
  exports: [TooltipModule, PopoverModule]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-tooltip",
3
- "version": "4.0.4-dev.202211170814",
3
+ "version": "4.1.0-dev.202211240854",
4
4
  "description": "Kendo UI Tooltip for Angular - A highly customizable and easily themeable tooltip from the creators developers trust for professional Angular components.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -18,6 +18,8 @@ export declare class TooltipContentComponent {
18
18
  direction: string;
19
19
  close: EventEmitter<any>;
20
20
  get cssClasses(): string;
21
+ hostRole: string;
22
+ get hostId(): string;
21
23
  get className(): boolean;
22
24
  get cssPosition(): string;
23
25
  tooltipWidth: number;
@@ -30,6 +32,10 @@ export declare class TooltipContentComponent {
30
32
  closeTitle: string;
31
33
  callout: boolean;
32
34
  position: string;
35
+ /**
36
+ * @hidden
37
+ */
38
+ tooltipId: string;
33
39
  private dynamicRTLSubscription;
34
40
  constructor(content: ElementRef, localizationService: LocalizationService);
35
41
  ngOnInit(): void;
@@ -120,6 +120,7 @@ export declare class TooltipDirective implements OnDestroy, OnChanges, AfterView
120
120
  private anchorTitleSubscription;
121
121
  private popupPositionChangeSubscription;
122
122
  private popupMouseOutSubscription;
123
+ private keyboardNavigationSubscription;
123
124
  private closeClickSubscription;
124
125
  private validPositions;
125
126
  private validShowOptions;
@@ -152,6 +153,8 @@ export declare class TooltipDirective implements OnDestroy, OnChanges, AfterView
152
153
  private closePopup;
153
154
  private subscribeClick;
154
155
  private onMouseClick;
156
+ private onKeyDown;
157
+ private canCloseTooltip;
155
158
  private onMouseOver;
156
159
  private onMouseOut;
157
160
  private verifyProperties;
package/utils.d.ts CHANGED
@@ -4,6 +4,10 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Position } from './models/position.type';
6
6
  import { Collision } from '@progress/kendo-angular-popup';
7
+ /**
8
+ * @hidden
9
+ */
10
+ export declare const getId: (prefix: string) => string;
7
11
  /**
8
12
  * @hidden
9
13
  */