@progress/kendo-angular-tooltip 4.0.4 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/kendo-angular-tooltip.umd.js +1 -1
- package/esm2015/localization/localized-messages.directive.js +3 -3
- package/esm2015/package-metadata.js +1 -1
- package/esm2015/popover/anchor.directive.js +3 -3
- package/esm2015/popover/container.directive.js +3 -3
- package/esm2015/popover/directives-base.js +3 -3
- package/esm2015/popover/popover.component.js +3 -3
- package/esm2015/popover/popover.service.js +3 -3
- package/esm2015/popover/template-directives/actions-template.directive.js +3 -3
- package/esm2015/popover/template-directives/body-template.directive.js +3 -3
- package/esm2015/popover/template-directives/title-template.directive.js +3 -3
- package/esm2015/popover.module.js +4 -4
- package/esm2015/tooltip/tooltip.content.component.js +18 -7
- package/esm2015/tooltip/tooltip.directive.js +32 -4
- package/esm2015/tooltip/tooltip.settings.js +3 -3
- package/esm2015/tooltip.module.js +4 -4
- package/esm2015/tooltips.module.js +4 -4
- package/esm2015/utils.js +10 -0
- package/fesm2015/kendo-angular-tooltip.js +102 -54
- package/package.json +1 -1
- package/tooltip/tooltip.content.component.d.ts +6 -0
- package/tooltip/tooltip.directive.d.ts +3 -0
- package/utils.d.ts +4 -0
|
@@ -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:1668698941,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:1669715559,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.
|
|
19
|
-
LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
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:
|
|
12
|
+
publishDate: 1669715559,
|
|
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.
|
|
144
|
-
PopoverAnchorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
145
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
167
|
-
PopoverContainerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
168
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
274
|
-
PopoverDirectivesBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
275
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
180
|
-
PopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
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.
|
|
64
|
-
PopoverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
19
|
-
PopoverActionsTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
19
|
-
PopoverBodyTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
19
|
-
PopoverTitleTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
50
|
-
PopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
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.
|
|
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-
|
|
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.
|
|
107
|
-
TooltipContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
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.
|
|
374
|
-
TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
375
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
45
|
-
TooltipSettings.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
47
|
-
TooltipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
48
|
-
TooltipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
38
|
-
TooltipsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
39
|
-
TooltipsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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 {
|
|
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:
|
|
25
|
+
publishDate: 1669715559,
|
|
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.
|
|
68
|
-
TooltipSettings.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
192
|
-
LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
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-
|
|
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.
|
|
308
|
-
TooltipContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
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.
|
|
786
|
-
TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
787
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
851
|
-
PopoverTitleTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
852
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
873
|
-
PopoverBodyTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
874
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
895
|
-
PopoverActionsTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
896
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
1068
|
-
PopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
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.
|
|
1537
|
-
PopoverDirectivesBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
1538
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
1602
|
-
PopoverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
1603
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
1760
|
-
PopoverContainerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
1761
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
1903
|
-
PopoverAnchorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
1904
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
1948
|
-
TooltipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
1949
|
-
TooltipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
1950
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
1995
|
-
PopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
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.
|
|
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.
|
|
2054
|
-
TooltipsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
2055
|
-
TooltipsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
2056
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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
|
|
3
|
+
"version": "4.1.0",
|
|
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
|
*/
|