@progress/kendo-angular-map 0.1.1 → 0.2.0-dev.202206170624

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.
Files changed (42) hide show
  1. package/bundles/kendo-angular-map.umd.js +1 -1
  2. package/common/collection-item.component.d.ts +1 -0
  3. package/common/collection.service.d.ts +1 -0
  4. package/common/has-parent.d.ts +8 -0
  5. package/esm2015/common/collection-item.component.js +1 -0
  6. package/esm2015/common/collection.component.js +5 -1
  7. package/esm2015/common/has-parent.js +14 -0
  8. package/esm2015/main.js +2 -0
  9. package/esm2015/map.component.js +74 -4
  10. package/esm2015/map.directives.js +12 -4
  11. package/esm2015/map.module.js +18 -10
  12. package/esm2015/package-metadata.js +1 -1
  13. package/esm2015/tooltip/base-tooltip.js +90 -0
  14. package/esm2015/tooltip/body-factory.js +14 -0
  15. package/esm2015/tooltip/bubble-tooltip-template.directive.js +32 -0
  16. package/esm2015/tooltip/bubble-tooltip.component.js +38 -0
  17. package/esm2015/tooltip/marker-tooltip-template.directive.js +31 -0
  18. package/esm2015/tooltip/marker-tooltip.component.js +38 -0
  19. package/esm2015/tooltip/popup-settings.interface.js +5 -0
  20. package/esm2015/tooltip/shape-tooltip-template.directive.js +31 -0
  21. package/esm2015/tooltip/shape-tooltip.component.js +38 -0
  22. package/esm2015/tooltip/tooltip-popup.component.js +114 -0
  23. package/esm2015/tooltip/tooltip-template.service.js +29 -0
  24. package/esm2015/tooltip.js +11 -0
  25. package/fesm2015/kendo-angular-map.js +487 -14
  26. package/main.d.ts +2 -0
  27. package/map.component.d.ts +22 -3
  28. package/map.directives.d.ts +2 -1
  29. package/map.module.d.ts +18 -10
  30. package/package.json +7 -7
  31. package/tooltip/base-tooltip.d.ts +31 -0
  32. package/tooltip/body-factory.d.ts +9 -0
  33. package/tooltip/bubble-tooltip-template.directive.d.ts +23 -0
  34. package/tooltip/bubble-tooltip.component.d.ts +24 -0
  35. package/tooltip/marker-tooltip-template.directive.d.ts +22 -0
  36. package/tooltip/marker-tooltip.component.d.ts +24 -0
  37. package/tooltip/popup-settings.interface.d.ts +18 -0
  38. package/tooltip/shape-tooltip-template.directive.d.ts +22 -0
  39. package/tooltip/shape-tooltip.component.d.ts +24 -0
  40. package/tooltip/tooltip-popup.component.d.ts +37 -0
  41. package/tooltip/tooltip-template.service.d.ts +16 -0
  42. package/tooltip.d.ts +11 -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"),require("@angular/platform-browser"),require("@progress/kendo-angular-common"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-charts"),require("@progress/kendo-licensing"),require("rxjs/operators"),require("@angular/common")):"function"==typeof define&&define.amd?define("KendoAngularMap",["exports","@angular/core","rxjs","@angular/platform-browser","@progress/kendo-angular-common","@progress/kendo-angular-l10n","@progress/kendo-charts","@progress/kendo-licensing","rxjs/operators","@angular/common"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoAngularMap={},e.ng.core,e.rxjs,e.ng.platformBrowser,e.KendoAngularCommon,e.KendoAngularL10N,e.KendoCharts,e.KendoLicensing,e.rxjs.operators,e.ng.common)}(this,function(e,s,t,n,r,o,i,L,j,a){"use strict";function c(n){if(n&&n.__esModule)return n;var r=Object.create(null);return n&&Object.keys(n).forEach(function(e){var t;"default"!==e&&(t=Object.getOwnPropertyDescriptor(n,e),Object.defineProperty(r,e,t.get?t:{enumerable:!0,get:function(){return n[e]}}))}),r.default=n,Object.freeze(r)}var p=c(s),u=c(n),n=c(r),l=c(o),m=function(e,t){return(m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function h(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}m(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}Object.create;function A(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||0<t--)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}Object.create;var Z=function(e,t){this.key=e,this.value=t},y=(g.prototype.initSource=function(){this.changes=this.source.asObservable()},g.prototype.push=function(e){this.store=e,this.next()},g.prototype.notify=function(e){this.set(e.key,e.value),this.next()},g.prototype.set=function(e,t){for(var n=this.store,r=e.split("."),o=r.shift();0<r.length;)n=n[o]=n[o]||{},o=r.shift();n[o]=t},g.prototype.next=function(){var e=this;this.ngZone.runOutsideAngular(function(){e.source.next(e.store)})},g);function g(e){this.ngZone=e,this.store={},this.source=new t.BehaviorSubject({}),this.initSource()}y.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:y,deps:[{token:p.NgZone}],target:p.ɵɵFactoryTarget.Injectable}),y.ɵprov=p.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:y}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:y,decorators:[{type:s.Injectable}],ctorParameters:function(){return[{type:p.NgZone}]}});var N=function(e,t){this.sender=e,this.options=t},d=(_.prototype.notify=function(e){this.source.next(e)},_);function _(){this.source=new t.Subject,this.itemChanges=this.source.asObservable()}function v(e,t){for(var n in e){var r;e.hasOwnProperty(n)&&(void 0===(r=e[n].currentValue)?delete t[n]:t[n]=r)}}function K(e){var t,n={};for(t in e)e.hasOwnProperty(t)&&(n[t]=new s.SimpleChange(null,e[t],!1));return n}d.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:d,deps:[],target:p.ɵɵFactoryTarget.Injectable}),d.ɵprov=p.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:d}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:d,decorators:[{type:s.Injectable}],ctorParameters:function(){return[]}});C.prototype.ngOnChanges=function(e){var t=this.configurationService.store;v(e,t),this.configurationService.push(t)},C.prototype.notifyChanges=function(e){this.ngOnChanges(K(e))},C.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},C.prototype.notify=function(){this.collectionService&&this.collectionService.notify(new N(this,this.options))};var f=C;function C(e,t){var n=this;this.configurationService=e,this.collectionService=t,this.options={},this.subscription=e.changes.subscribe(function(e){n.options=e,n.notify()})}f.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:f,deps:[{token:y},{token:d}],target:p.ɵɵFactoryTarget.Directive}),f.ɵdir=p.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:f,usesOnChanges:!0,ngImport:p}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:f,decorators:[{type:s.Directive}],ctorParameters:function(){return[{type:y},{type:d}]}});I.prototype.ngOnDestroy=function(){this.store=void 0,this.notify()},I.prototype.ngOnChanges=function(e){v(e,this.store),this.notify()},I.prototype.notifyChanges=function(e){this.ngOnChanges(K(e))},I.prototype.markAsVisible=function(){this.store.visible=!0,this.notify()},I.prototype.notify=function(){this.configurationService.notify(new Z(this.configKey,this.store))};var D=I;function I(e,t){if(this.configKey=e,this.configurationService=t,this.store={},void 0===e)throw new Error("Configuration key not set")}D.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:D,deps:"invalid",target:p.ɵɵFactoryTarget.Directive}),D.ɵdir=p.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:D,usesOnChanges:!0,ngImport:p}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:D,decorators:[{type:s.Directive}],ctorParameters:function(){return[{type:void 0},{type:y}]}});h(k,q=D),Object.defineProperty(k.prototype,"layerTooltipTemplateRef",{get:function(){return this.layerTooltipTemplate},enumerable:!1,configurable:!0});var q,D=k;function k(e){var t=q.call(this,"tooltip",e)||this;return t.configurationService=e,t}D.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:D,deps:[{token:y}],target:p.ɵɵFactoryTarget.Component}),D.ɵcmp=p.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:D,selector:"kendo-map-layer-tooltip",queries:[{propertyName:"layerTooltipTemplate",first:!0,predicate:s.TemplateRef,descendants:!0}],usesInheritance:!0,ngImport:p,template:"",isInline:!0,changeDetection:p.ChangeDetectionStrategy.OnPush}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:D,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,selector:"kendo-map-layer-tooltip",template:""}]}],ctorParameters:function(){return[{type:y}]},propDecorators:{layerTooltipTemplate:[{type:s.ContentChild,args:[s.TemplateRef,{static:!1}]}]}});h(E,b=f),E.prototype.ngOnChanges=function(e){this.configurationService.store.type=this.type;var t=e.attribution;t&&this.sanitizer&&(t.currentValue=this.sanitizer.sanitize(s.SecurityContext.HTML,t.currentValue)),b.prototype.ngOnChanges.call(this,e)},Object.defineProperty(E.prototype,"layerTooltipTemplateRef",{get:function(){if(this.layerTooltip)return this.layerTooltip.layerTooltipTemplateRef},enumerable:!1,configurable:!0});var b,f=E;function E(e,t,n,r){var o=b.call(this,t,n)||this;return o.type=e,o.configurationService=t,o.collectionService=n,o.sanitizer=r,o}f.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:f,deps:"invalid",target:p.ɵɵFactoryTarget.Directive}),f.ɵdir=p.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:f,inputs:{attribution:"attribution",extent:"extent",maxZoom:"maxZoom",minZoom:"minZoom",opacity:"opacity",zIndex:"zIndex"},queries:[{propertyName:"layerTooltip",first:!0,predicate:D,descendants:!0}],usesInheritance:!0,usesOnChanges:!0,ngImport:p}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:f,decorators:[{type:s.Directive}],ctorParameters:function(){return[{type:void 0},{type:y},{type:d},{type:u.DomSanitizer}]},propDecorators:{attribution:[{type:s.Input}],extent:[{type:s.Input}],maxZoom:[{type:s.Input}],minZoom:[{type:s.Input}],opacity:[{type:s.Input}],zIndex:[{type:s.Input}],layerTooltip:[{type:s.ContentChild,args:[D,{static:!1}]}]}});h(U,B=f);var B,S=U;function U(e,t,n){var r=B.call(this,"bubble",e,t,n)||this;return r.configurationService=e,r.collectionService=t,r.sanitizer=n,r}S.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:S,deps:[{token:y},{token:d},{token:u.DomSanitizer}],target:p.ɵɵFactoryTarget.Component}),S.ɵcmp=p.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:S,selector:"kendo-map-bubble-layer",inputs:{data:"data",locationField:"locationField",valueField:"valueField",symbol:"symbol",style:"style",maxSize:"maxSize",minSize:"minSize"},providers:[y,{provide:f,useExisting:s.forwardRef(function(){return S})}],usesInheritance:!0,ngImport:p,template:"",isInline:!0,changeDetection:p.ChangeDetectionStrategy.OnPush}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:S,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,providers:[y,{provide:f,useExisting:s.forwardRef(function(){return S})}],selector:"kendo-map-bubble-layer",template:""}]}],ctorParameters:function(){return[{type:y},{type:d},{type:u.DomSanitizer}]},propDecorators:{data:[{type:s.Input}],locationField:[{type:s.Input}],valueField:[{type:s.Input}],symbol:[{type:s.Input}],style:[{type:s.Input}],maxSize:[{type:s.Input}],minSize:[{type:s.Input}]}});h(G,H=i.InstanceObserver);var H,X=G;function G(e){e=H.call(this,e)||this;return e.handlerMap={hideTooltip:"onHideTooltip",init:"onInit",render:"onRender",showTooltip:"onShowTooltip"},e}var Q,z=function(e){this.sender=e},J=(z.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:z,deps:"invalid",target:p.ɵɵFactoryTarget.Directive}),z.ɵdir=p.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:z,ngImport:p}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:z,decorators:[{type:s.Directive}],ctorParameters:function(){return[{type:void 0}]}}),h(W,Q=z),W);function W(e,t){return Q.call(this,t)||this}h(ee,Y=z);var Y,$=ee;function ee(e,t){t=Y.call(this,t)||this;return t.location=e.location,t.originalEvent=e.originalEvent,t}h(re,te=z);var te,ne=re;function re(e,t){t=te.call(this,t)||this;return t.marker=e.marker,t.layer=e.layer,t}h(ae,oe=z);var oe,ie=ae;function ae(e,t){t=oe.call(this,t)||this;return t.marker=e.marker,t.layer=e.layer,t}h(w,se=z),w.prototype.preventDefault=function(){this.prevented=!0},w.prototype.isDefaultPrevented=function(){return this.prevented};var se,O=w;function w(){var e=se.apply(this,function(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||((r=r||Array.prototype.slice.call(t,0,o))[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}([],A(arguments)))||this;return e.prevented=!1,e}O.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:O,deps:null,target:p.ɵɵFactoryTarget.Directive}),O.ɵdir=p.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:O,usesInheritance:!0,ngImport:p}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:O,decorators:[{type:s.Directive}]});h(ue,ce=O);var ce,pe=ue;function ue(e,t){t=ce.call(this,t)||this;return t.marker=e.marker,t.layer=e.layer,t}h(he,le=z);var le,me=he;function he(e,t){t=le.call(this,t)||this;return t.origin=e.origin,t.center=e.center,t.originalEvent=e.originalEvent,t}h(de,ye=z);var ye,ge=de;function de(e,t){t=ye.call(this,t)||this;return t.origin=e.origin,t.center=e.center,t.originalEvent=e.originalEvent,t}h(Ce,ve=z);var ve,fe=Ce;function Ce(e,t){return ve.call(this,t)||this}h(ke,De=z);var De,Ie=ke;function ke(e,t){t=De.call(this,t)||this;return t.layer=e.layer,t.shape=e.shape,t.originalEvent=e.originalEvent,t}h(Se,be=z);var be,Ee=Se;function Se(e,t){t=be.call(this,t)||this;return t.layer=e.layer,t.shape=e.shape,t.dataItem=e.shape.dataItem,t.location=e.shape.location,t}h(we,ze=z);var ze,Oe=we;function we(e,t){t=ze.call(this,t)||this;return t.dataItem=e.dataItem,t.layer=e.layer,t.group=e.group,t.properties=e.properties,t}h(Fe,Ve=z);var Ve,Te=Fe;function Fe(e,t){t=Ve.call(this,t)||this;return t.layer=e.layer,t.shape=e.shape,t.originalEvent=e.originalEvent,t}h(Re,Me=z);var Me,Pe=Re;function Re(e,t){t=Me.call(this,t)||this;return t.layer=e.layer,t.shape=e.shape,t.originalEvent=e.originalEvent,t}h(Le,xe=z);var xe,z=Le;function Le(e,t){t=xe.call(this,t)||this;return t.originalEvent=e.originalEvent,t}h(Ae,je=O);var je,O=Ae;function Ae(e,t){t=je.call(this,t)||this;return t.originalEvent=e.originalEvent,t}var Ze={beforeReset:J,click:$,markerActivate:ne,markerClick:ie,markerCreated:pe,panEnd:me,pan:ge,reset:fe,shapeClick:Ie,shapeCreated:Ee,shapeFeatureCreated:Oe,shapeMouseEnter:Te,shapeMouseLeave:Pe,zoomEnd:z,zoomStart:O},V=(Ne.prototype.create=function(e,t,n){if(Ze[e])return new Ze[e](t,n)},Ne);function Ne(){}var _e={name:"@progress/kendo-angular-map",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1651750442,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"},T=(F.prototype.ngAfterViewInit=function(){var e=this;this.setDirection(),this.initConfig(),this.subscriptions=this.localizationService.changes.subscribe(function(){return e.setDirection()})},F.prototype.ngAfterViewChecked=function(){var e=this;this.instance&&this.autoResize&&this.ngZone.runOutsideAngular(function(){clearTimeout(e.resizeTimeout),e.resizeTimeout=setTimeout(function(){e.resize()},0)})},F.prototype.ngOnChanges=function(e){var t=this.configurationService.store;v(e,t),t.popupSettings=null,this.configurationService.push(t)},F.prototype.resize=function(){this.instance},F.prototype.onResize=function(){this.autoResize&&this.resize()},Object.defineProperty(F.prototype,"canRender",{get:function(){return r.isDocumentAvailable()&&Boolean(this.surfaceElement)},enumerable:!1,configurable:!0}),Object.defineProperty(F.prototype,"autoResize",{get:function(){return 0<this.resizeRateLimit},enumerable:!1,configurable:!0}),F.prototype.init=function(){var e,t;this.canRender&&(e=this.surfaceElement.nativeElement,t=new X(this),this.createInstance(e,t))},F.prototype.initConfig=function(){var t=this;r.isDocumentAvailable()&&this.ngZone.runOutsideAngular(function(){t.optionsChange=t.configurationService.changes.pipe(j.tap(function(e){t.options=e})).subscribe(function(){t.instance?t.instance.setOptions(t.options):t.init()})})},F.prototype.createInstance=function(e,t){this.instance=new i.Map(e,this.options,this.theme,{observer:t,rtl:this.rtl,sender:this})},F.prototype.activeEmitter=function(e){e=this["click"===e?"mapClick":e];if(e&&e.emit&&r.hasObservers(e))return e},F.prototype.trigger=function(e,t){var n,r=this.activeEmitter(e);if(r)return n=this.instanceEventService.create(e,t,this),this.run(function(){r.emit(n)}),n.isDefaultPrevented&&n.isDefaultPrevented()},F.prototype.run=function(e,t,n){(t=void 0===t?!0:t)?(n&&this.changeDetector.markForCheck(),this.ngZone.run(e)):(e(),n&&this.detectChanges())},F.prototype.detectChanges=function(){this.destroyed||this.changeDetector.detectChanges()},F.prototype.setDirection=function(){this.rtl=this.isRTL,this.element&&this.renderer.setAttribute(this.element.nativeElement,"dir",this.rtl?"rtl":"ltr")},Object.defineProperty(F.prototype,"isRTL",{get:function(){return Boolean(this.localizationService.rtl)},enumerable:!1,configurable:!0}),F);function F(e,t,n,r,o,i,a){this.configurationService=e,this.instanceEventService=t,this.element=n,this.localizationService=r,this.changeDetector=o,this.ngZone=i,this.renderer=a,this.resizeRateLimit=10,this.zoom=3,this.beforeReset=new s.EventEmitter,this.mapClick=new s.EventEmitter,this.markerActivate=new s.EventEmitter,this.markerClick=new s.EventEmitter,this.markerCreated=new s.EventEmitter,this.panEnd=new s.EventEmitter,this.pan=new s.EventEmitter,this.reset=new s.EventEmitter,this.shapeClick=new s.EventEmitter,this.shapeCreated=new s.EventEmitter,this.shapeFeatureCreated=new s.EventEmitter,this.shapeMouseEnter=new s.EventEmitter,this.shapeMouseLeave=new s.EventEmitter,this.zoomStart=new s.EventEmitter,this.zoomEnd=new s.EventEmitter,this.theme=null,this.rtl=!1,L.validatePackage(_e)}T.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:T,deps:[{token:y},{token:V},{token:p.ElementRef},{token:l.LocalizationService},{token:p.ChangeDetectorRef},{token:p.NgZone},{token:p.Renderer2}],target:p.ɵɵFactoryTarget.Component}),T.ɵcmp=p.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:T,selector:"kendo-map",inputs:{resizeRateLimit:"resizeRateLimit",center:"center",controls:"controls",minZoom:"minZoom",maxZoom:"maxZoom",minSize:"minSize",pannable:"pannable",wraparound:"wraparound",zoom:"zoom",zoomable:"zoomable"},outputs:{beforeReset:"beforeReset",mapClick:"mapClick",markerActivate:"markerActivate",markerClick:"markerClick",markerCreated:"markerCreated",panEnd:"panEnd",pan:"pan",reset:"reset",shapeClick:"shapeClick",shapeCreated:"shapeCreated",shapeFeatureCreated:"shapeFeatureCreated",shapeMouseEnter:"shapeMouseEnter",shapeMouseLeave:"shapeMouseLeave",zoomStart:"zoomStart",zoomEnd:"zoomEnd"},providers:[y,V,o.LocalizationService,{provide:o.L10N_PREFIX,useValue:"kendo.map"}],viewQueries:[{propertyName:"surfaceElement",first:!0,predicate:["surface"],descendants:!0,static:!0}],exportAs:["kendoChart"],usesOnChanges:!0,ngImport:p,template:'\n <div #surface></div>\n <kendo-resize-sensor (resize)="onResize()" [rateLimit]="resizeRateLimit"></kendo-resize-sensor>\n ',isInline:!0,components:[{type:n.ResizeSensorComponent,selector:"kendo-resize-sensor",inputs:["rateLimit"],outputs:["resize"]}],changeDetection:p.ChangeDetectionStrategy.OnPush}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:T,decorators:[{type:s.Component,args:[{selector:"kendo-map",changeDetection:s.ChangeDetectionStrategy.OnPush,exportAs:"kendoChart",providers:[y,V,o.LocalizationService,{provide:o.L10N_PREFIX,useValue:"kendo.map"}],template:'\n <div #surface></div>\n <kendo-resize-sensor (resize)="onResize()" [rateLimit]="resizeRateLimit"></kendo-resize-sensor>\n '}]}],ctorParameters:function(){return[{type:y},{type:V},{type:p.ElementRef},{type:l.LocalizationService},{type:p.ChangeDetectorRef},{type:p.NgZone},{type:p.Renderer2}]},propDecorators:{resizeRateLimit:[{type:s.Input}],center:[{type:s.Input}],controls:[{type:s.Input}],minZoom:[{type:s.Input}],maxZoom:[{type:s.Input}],minSize:[{type:s.Input}],pannable:[{type:s.Input}],wraparound:[{type:s.Input}],zoom:[{type:s.Input}],zoomable:[{type:s.Input}],beforeReset:[{type:s.Output}],mapClick:[{type:s.Output}],markerActivate:[{type:s.Output}],markerClick:[{type:s.Output}],markerCreated:[{type:s.Output}],panEnd:[{type:s.Output}],pan:[{type:s.Output}],reset:[{type:s.Output}],shapeClick:[{type:s.Output}],shapeCreated:[{type:s.Output}],shapeFeatureCreated:[{type:s.Output}],shapeMouseEnter:[{type:s.Output}],shapeMouseLeave:[{type:s.Output}],zoomStart:[{type:s.Output}],zoomEnd:[{type:s.Output}],surfaceElement:[{type:s.ViewChild,args:["surface",{static:!0}]}]}});M.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},M.prototype.ngAfterContentInit=function(){var e=this;this.readItems(),this.children.changes.subscribe(function(){return e.readItems()})},M.prototype.processChanges=function(e){var t;!this.children||(t=this.children.toArray().indexOf(e.sender))<0||(this.items[t]=e.options,this.change())},M.prototype.readItems=function(){this.items=this.children.map(function(e){return e.options}),this.change()},M.prototype.change=function(){this.configurationService.notify(new Z(this.configKey,0===this.items.length?void 0:this.items))};n=M;function M(e,t,n){var r=this;this.configKey=e,this.configurationService=t,this.collectionService=n,this.items=[],this.subscription=n.itemChanges.subscribe(function(e){return r.processChanges(e)})}n.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:n,deps:"invalid",target:p.ɵɵFactoryTarget.Directive}),n.ɵdir=p.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:n,ngImport:p}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:n,decorators:[{type:s.Directive}],ctorParameters:function(){return[{type:void 0},{type:y},{type:d}]}});h(qe,Ke=n);var Ke,o=qe;function qe(e,t){var n=Ke.call(this,"layers",e,t)||this;return n.configurationService=e,n.collectionService=t,n}o.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:o,deps:[{token:y},{token:d}],target:p.ɵɵFactoryTarget.Component}),o.ɵcmp=p.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:o,selector:"kendo-map-layers",providers:[d],queries:[{propertyName:"children",predicate:f}],usesInheritance:!0,ngImport:p,template:"",isInline:!0,changeDetection:p.ChangeDetectionStrategy.OnPush}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:o,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,providers:[d],selector:"kendo-map-layers",template:""}]}],ctorParameters:function(){return[{type:y},{type:d}]},propDecorators:{children:[{type:s.ContentChildren,args:[f]}]}});h(Ue,Be=f);var Be,P=Ue;function Ue(e,t,n){var r=Be.call(this,"marker",e,t,n)||this;return r.configurationService=e,r.collectionService=t,r.sanitizer=n,r}P.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:P,deps:[{token:y},{token:d},{token:u.DomSanitizer}],target:p.ɵɵFactoryTarget.Component}),P.ɵcmp=p.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:P,selector:"kendo-map-marker-layer",inputs:{data:"data",locationField:"locationField",titleField:"titleField",shape:"shape"},providers:[y,{provide:f,useExisting:s.forwardRef(function(){return P})}],usesInheritance:!0,ngImport:p,template:"",isInline:!0,changeDetection:p.ChangeDetectionStrategy.OnPush}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:P,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,providers:[y,{provide:f,useExisting:s.forwardRef(function(){return P})}],selector:"kendo-map-marker-layer",template:""}]}],ctorParameters:function(){return[{type:y},{type:d},{type:u.DomSanitizer}]},propDecorators:{data:[{type:s.Input}],locationField:[{type:s.Input}],titleField:[{type:s.Input}],shape:[{type:s.Input}]}});h(Xe,He=f);var He,R=Xe;function Xe(e,t,n){var r=He.call(this,"shape",e,t,n)||this;return r.configurationService=e,r.collectionService=t,r.sanitizer=n,r}R.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:R,deps:[{token:y},{token:d},{token:u.DomSanitizer}],target:p.ɵɵFactoryTarget.Component}),R.ɵcmp=p.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:R,selector:"kendo-map-shape-layer",inputs:{data:"data",style:"style"},providers:[y,{provide:f,useExisting:s.forwardRef(function(){return R})}],usesInheritance:!0,ngImport:p,template:"",isInline:!0,changeDetection:p.ChangeDetectionStrategy.OnPush}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:R,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,providers:[y,{provide:f,useExisting:s.forwardRef(function(){return R})}],selector:"kendo-map-shape-layer",template:""}]}],ctorParameters:function(){return[{type:y},{type:d},{type:u.DomSanitizer}]},propDecorators:{data:[{type:s.Input}],style:[{type:s.Input}]}});h(Qe,Ge=f);var Ge,x=Qe;function Qe(e,t,n){var r=Ge.call(this,"tile",e,t,n)||this;return r.configurationService=e,r.collectionService=t,r.sanitizer=n,r}x.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:x,deps:[{token:y},{token:d},{token:u.DomSanitizer}],target:p.ɵɵFactoryTarget.Component}),x.ɵcmp=p.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:x,selector:"kendo-map-tile-layer",inputs:{tileSize:"tileSize",subdomains:"subdomains",urlTemplate:"urlTemplate"},providers:[y,{provide:f,useExisting:s.forwardRef(function(){return x})}],usesInheritance:!0,ngImport:p,template:"",isInline:!0,changeDetection:p.ChangeDetectionStrategy.OnPush}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:x,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,providers:[y,{provide:f,useExisting:s.forwardRef(function(){return x})}],selector:"kendo-map-tile-layer",template:""}]}],ctorParameters:function(){return[{type:y},{type:d},{type:u.DomSanitizer}]},propDecorators:{tileSize:[{type:s.Input}],subdomains:[{type:s.Input}],urlTemplate:[{type:s.Input}]}});n=[T,o,S,P,R,x,D],f=function(){};f.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:f,deps:[],target:p.ɵɵFactoryTarget.NgModule}),f.ɵmod=p.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:f,declarations:[T,o,S,P,R,x,D],imports:[a.CommonModule,r.ResizeSensorModule],exports:[T,o,S,P,R,x,D]}),f.ɵinj=p.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:f,imports:[[a.CommonModule,r.ResizeSensorModule]]}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:f,decorators:[{type:s.NgModule,args:[{declarations:[n],imports:[a.CommonModule,r.ResizeSensorModule],exports:[n]}]}]}),Object.defineProperty(e,"Extent",{enumerable:!0,get:function(){return i.Extent}}),Object.defineProperty(e,"Location",{enumerable:!0,get:function(){return i.Location}}),e.BeforeResetEvent=J,e.BubbleLayerComponent=S,e.LayerTooltipComponent=D,e.LayersComponent=o,e.MapClickEvent=$,e.MapComponent=T,e.MapModule=f,e.MarkerActivateEvent=ne,e.MarkerClickEvent=ie,e.MarkerCreatedEvent=pe,e.MarkerLayerComponent=P,e.PanEndEvent=me,e.PanEvent=ge,e.ResetEvent=fe,e.ShapeClickEvent=Ie,e.ShapeCreatedEvent=Ee,e.ShapeFeatureCreatedEvent=Oe,e.ShapeLayerComponent=R,e.ShapeMouseEnterEvent=Te,e.ShapeMouseLeaveEvent=Pe,e.TileLayerComponent=x,e.ZoomEndEvent=z,e.ZoomStartEvent=O,Object.defineProperty(e,"__esModule",{value:!0})});
5
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs"),require("@angular/platform-browser"),require("@progress/kendo-angular-common"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-charts"),require("@progress/kendo-licensing"),require("rxjs/operators"),require("@progress/kendo-angular-popup"),require("@angular/common"),require("@progress/kendo-angular-tooltip")):"function"==typeof define&&define.amd?define("KendoAngularMap",["exports","@angular/core","rxjs","@angular/platform-browser","@progress/kendo-angular-common","@progress/kendo-angular-l10n","@progress/kendo-charts","@progress/kendo-licensing","rxjs/operators","@progress/kendo-angular-popup","@angular/common","@progress/kendo-angular-tooltip"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoAngularMap={},e.ng.core,e.rxjs,e.ng.platformBrowser,e.KendoAngularCommon,e.KendoAngularL10N,e.KendoCharts,e.KendoLicensing,e.rxjs.operators,e.i1,e.ng.common,e.kendoAngularTooltip)}(this,function(e,s,L,t,n,r,j,A,N,o,Z,_){"use strict";function i(n){if(n&&n.__esModule)return n;var r=Object.create(null);return n&&Object.keys(n).forEach(function(e){var t;"default"!==e&&(t=Object.getOwnPropertyDescriptor(n,e),Object.defineProperty(r,e,t.get?t:{enumerable:!0,get:function(){return n[e]}}))}),r.default=n,Object.freeze(r)}var a=i(s),p=i(t),t=i(n),c=i(r),q=i(o),l=i(Z),K=function(e,t){return(K=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}K(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}Object.create;function B(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||0<t--)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}Object.create;var U=function(e,t){this.key=e,this.value=t},m=(g.prototype.initSource=function(){this.changes=this.source.asObservable()},g.prototype.push=function(e){this.store=e,this.next()},g.prototype.notify=function(e){this.set(e.key,e.value),this.next()},g.prototype.set=function(e,t){for(var n=this.store,r=e.split("."),o=r.shift();0<r.length;)n=n[o]=n[o]||{},o=r.shift();n[o]=t},g.prototype.next=function(){var e=this;this.ngZone.runOutsideAngular(function(){e.source.next(e.store)})},g);function g(e){this.ngZone=e,this.store={},this.source=new L.BehaviorSubject({}),this.initSource()}m.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:m,deps:[{token:a.NgZone}],target:a.ɵɵFactoryTarget.Injectable}),m.ɵprov=a.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:m}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:m,decorators:[{type:s.Injectable}],ctorParameters:function(){return[{type:a.NgZone}]}});var H=function(e,t){this.sender=e,this.options=t},y=(Q.prototype.notify=function(e){this.source.next(e)},Q);function Q(){this.source=new L.Subject,this.itemChanges=this.source.asObservable()}function X(e,t){for(var n in e){var r;e.hasOwnProperty(n)&&(void 0===(r=e[n].currentValue)?delete t[n]:t[n]=r)}}function $(e){var t,n={};for(t in e)e.hasOwnProperty(t)&&(n[t]=new s.SimpleChange(null,e[t],!1));return n}y.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:y,deps:[],target:a.ɵɵFactoryTarget.Injectable}),y.ɵprov=a.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:y}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:y,decorators:[{type:s.Injectable}],ctorParameters:function(){return[]}});d.prototype.ngOnChanges=function(e){var t=this.configurationService.store;X(e,t),this.configurationService.push(t)},d.prototype.notifyChanges=function(e){this.ngOnChanges($(e))},d.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},d.prototype.notify=function(){this.collectionService&&this.collectionService.notify(new H(this,this.options))};var h=d;function d(e,t){var n=this;this.configurationService=e,this.collectionService=t,this.index=-1,this.options={},this.subscription=e.changes.subscribe(function(e){n.options=e,n.notify()})}h.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:h,deps:[{token:m},{token:y}],target:a.ɵɵFactoryTarget.Directive}),h.ɵdir=a.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:h,usesOnChanges:!0,ngImport:a}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:h,decorators:[{type:s.Directive}],ctorParameters:function(){return[{type:m},{type:y}]}});f.prototype.ngOnDestroy=function(){this.store=void 0,this.notify()},f.prototype.ngOnChanges=function(e){X(e,this.store),this.notify()},f.prototype.notifyChanges=function(e){this.ngOnChanges($(e))},f.prototype.markAsVisible=function(){this.store.visible=!0,this.notify()},f.prototype.notify=function(){this.configurationService.notify(new U(this.configKey,this.store))};var v=f;function f(e,t){if(this.configKey=e,this.configurationService=t,this.store={},void 0===e)throw new Error("Configuration key not set")}v.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:v,deps:"invalid",target:a.ɵɵFactoryTarget.Directive}),v.ɵdir=a.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:v,usesOnChanges:!0,ngImport:a}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:v,decorators:[{type:s.Directive}],ctorParameters:function(){return[{type:void 0},{type:m}]}});u(J,G=v),Object.defineProperty(J.prototype,"layerTooltipTemplateRef",{get:function(){return this.layerTooltipTemplate},enumerable:!1,configurable:!0});var G,C=J;function J(e){var t=G.call(this,"tooltip",e)||this;return t.configurationService=e,t}C.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:C,deps:[{token:m}],target:a.ɵɵFactoryTarget.Component}),C.ɵcmp=a.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:C,selector:"kendo-map-layer-tooltip",queries:[{propertyName:"layerTooltipTemplate",first:!0,predicate:s.TemplateRef,descendants:!0}],usesInheritance:!0,ngImport:a,template:"",isInline:!0,changeDetection:a.ChangeDetectionStrategy.OnPush}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:C,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,selector:"kendo-map-layer-tooltip",template:""}]}],ctorParameters:function(){return[{type:m}]},propDecorators:{layerTooltipTemplate:[{type:s.ContentChild,args:[s.TemplateRef,{static:!1}]}]}});u(Y,W=h),Y.prototype.ngOnChanges=function(e){this.configurationService.store.type=this.type;var t=e.attribution;t&&this.sanitizer&&(t.currentValue=this.sanitizer.sanitize(s.SecurityContext.HTML,t.currentValue)),W.prototype.ngOnChanges.call(this,e)},Object.defineProperty(Y.prototype,"layerTooltipTemplateRef",{get:function(){if(this.layerTooltip)return this.layerTooltip.layerTooltipTemplateRef},enumerable:!1,configurable:!0});var W,D=Y;function Y(e,t,n,r){var o=W.call(this,t,n)||this;return o.type=e,o.configurationService=t,o.collectionService=n,o.sanitizer=r,o}D.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:D,deps:"invalid",target:a.ɵɵFactoryTarget.Directive}),D.ɵdir=a.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:D,inputs:{attribution:"attribution",extent:"extent",maxZoom:"maxZoom",minZoom:"minZoom",opacity:"opacity",zIndex:"zIndex"},queries:[{propertyName:"layerTooltip",first:!0,predicate:C,descendants:!0}],usesInheritance:!0,usesOnChanges:!0,ngImport:a}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:D,decorators:[{type:s.Directive}],ctorParameters:function(){return[{type:void 0},{type:m},{type:y},{type:p.DomSanitizer}]},propDecorators:{attribution:[{type:s.Input}],extent:[{type:s.Input}],maxZoom:[{type:s.Input}],minZoom:[{type:s.Input}],opacity:[{type:s.Input}],zIndex:[{type:s.Input}],layerTooltip:[{type:s.ContentChild,args:[C,{static:!1}]}]}});u(te,ee=D);var ee,I=te;function te(e,t,n){var r=ee.call(this,"bubble",e,t,n)||this;return r.configurationService=e,r.collectionService=t,r.sanitizer=n,r}function ne(e,t){for(var n=e;n&&n!==t;)n=n.parentNode;return!!n}I.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:I,deps:[{token:m},{token:y},{token:p.DomSanitizer}],target:a.ɵɵFactoryTarget.Component}),I.ɵcmp=a.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:I,selector:"kendo-map-bubble-layer",inputs:{data:"data",locationField:"locationField",valueField:"valueField",symbol:"symbol",style:"style",maxSize:"maxSize",minSize:"minSize"},providers:[m,{provide:D,useExisting:s.forwardRef(function(){return I})}],usesInheritance:!0,ngImport:a,template:"",isInline:!0,changeDetection:a.ChangeDetectionStrategy.OnPush}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:I,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,providers:[m,{provide:D,useExisting:s.forwardRef(function(){return I})}],selector:"kendo-map-bubble-layer",template:""}]}],ctorParameters:function(){return[{type:m},{type:y},{type:p.DomSanitizer}]},propDecorators:{data:[{type:s.Input}],locationField:[{type:s.Input}],valueField:[{type:s.Input}],symbol:[{type:s.Input}],style:[{type:s.Input}],maxSize:[{type:s.Input}],minSize:[{type:s.Input}]}});u(ie,re=j.InstanceObserver);var re,oe=ie;function ie(e){e=re.call(this,e)||this;return e.handlerMap={hideTooltip:"onHideTooltip",init:"onInit",render:"onRender",showTooltip:"onShowTooltip"},e}var ae,h=function(e){this.sender=e},se=(h.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:h,deps:"invalid",target:a.ɵɵFactoryTarget.Directive}),h.ɵdir=a.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:h,ngImport:a}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:h,decorators:[{type:s.Directive}],ctorParameters:function(){return[{type:void 0}]}}),u(pe,ae=h),pe);function pe(e,t){return ae.call(this,t)||this}u(ue,ce=h);var ce,le=ue;function ue(e,t){t=ce.call(this,t)||this;return t.location=e.location,t.originalEvent=e.originalEvent,t}u(ye,me=h);var me,ge=ye;function ye(e,t){t=me.call(this,t)||this;return t.marker=e.marker,t.layer=e.layer,t}u(ve,he=h);var he,de=ve;function ve(e,t){t=he.call(this,t)||this;return t.marker=e.marker,t.layer=e.layer,t}u(Ce,fe=h),Ce.prototype.preventDefault=function(){this.prevented=!0},Ce.prototype.isDefaultPrevented=function(){return this.prevented};var fe,k=Ce;function Ce(){var e=fe.apply(this,function(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||((r=r||Array.prototype.slice.call(t,0,o))[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}([],B(arguments)))||this;return e.prevented=!1,e}k.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:k,deps:null,target:a.ɵɵFactoryTarget.Directive}),k.ɵdir=a.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:k,usesInheritance:!0,ngImport:a}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:k,decorators:[{type:s.Directive}]});u(ke,De=k);var De,Ie=ke;function ke(e,t){t=De.call(this,t)||this;return t.marker=e.marker,t.layer=e.layer,t}u(Te,be=h);var be,Se=Te;function Te(e,t){t=be.call(this,t)||this;return t.origin=e.origin,t.center=e.center,t.originalEvent=e.originalEvent,t}u(ze,Ee=h);var Ee,Oe=ze;function ze(e,t){t=Ee.call(this,t)||this;return t.origin=e.origin,t.center=e.center,t.originalEvent=e.originalEvent,t}u(Me,Re=h);var Re,Ve=Me;function Me(e,t){return Re.call(this,t)||this}u(Pe,we=h);var we,Fe=Pe;function Pe(e,t){t=we.call(this,t)||this;return t.layer=e.layer,t.shape=e.shape,t.originalEvent=e.originalEvent,t}u(je,xe=h);var xe,Le=je;function je(e,t){t=xe.call(this,t)||this;return t.layer=e.layer,t.shape=e.shape,t.dataItem=e.shape.dataItem,t.location=e.shape.location,t}u(Ze,Ae=h);var Ae,Ne=Ze;function Ze(e,t){t=Ae.call(this,t)||this;return t.dataItem=e.dataItem,t.layer=e.layer,t.group=e.group,t.properties=e.properties,t}u(Ke,_e=h);var _e,qe=Ke;function Ke(e,t){t=_e.call(this,t)||this;return t.layer=e.layer,t.shape=e.shape,t.originalEvent=e.originalEvent,t}u(He,Be=h);var Be,Ue=He;function He(e,t){t=Be.call(this,t)||this;return t.layer=e.layer,t.shape=e.shape,t.originalEvent=e.originalEvent,t}u(Xe,Qe=h);var Qe,h=Xe;function Xe(e,t){t=Qe.call(this,t)||this;return t.originalEvent=e.originalEvent,t}u(Ge,$e=k);var $e,k=Ge;function Ge(e,t){t=$e.call(this,t)||this;return t.originalEvent=e.originalEvent,t}var Je={beforeReset:se,click:le,markerActivate:ge,markerClick:de,markerCreated:Ie,panEnd:Se,pan:Oe,reset:Ve,shapeClick:Fe,shapeCreated:Le,shapeFeatureCreated:Ne,shapeMouseEnter:qe,shapeMouseLeave:Ue,zoomEnd:h,zoomStart:k},We=(Ye.prototype.create=function(e,t,n){if(Je[e])return new Je[e](t,n)},Ye);function Ye(){}var et={name:"@progress/kendo-angular-map",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1655447052,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"},tt={horizontal:"fit",vertical:"fit"},b=(Object.defineProperty(S.prototype,"active",{get:function(){return null!==this.popupRef},enumerable:!1,configurable:!0}),S.prototype.show=function(e){e=this.position(e.anchor);this.popupRef?this.popupRef.popup.instance.offset=e:(this.popupRef=this.popupService.open(Object.assign({offset:e,popupAlign:{vertical:"bottom",horizontal:"center"},animate:this.animate,content:this.templateRef,collision:tt,positionMode:"absolute"},this.popupSettings)),this.localizationService.rtl&&this.popupRef.popupElement.setAttribute("dir","rtl"),this.onInit())},S.prototype.hide=function(){this.popupRef&&(this.popupRef.close(),this.popupRef=null)},S.prototype.onInit=function(){},S.prototype.ngOnDestroy=function(){this.hide()},S.prototype.position=function(e){if(!this.popupSettings||!this.popupSettings.appendTo)return e;var t=this.popupSettings.appendTo.element.nativeElement,n=t.getBoundingClientRect(),t=this.scrollOffset(t),r=t.scrollLeft,t=t.scrollTop;return{left:e.left-n.left-r,top:e.top-n.top-t}},S.prototype.scrollOffset=function(e){if(!e)return null;for(var t=e.scrollLeft,n=e.scrollTop,r=e.parentElement;r;)t+=r.scrollLeft,n+=r.scrollTop,r=r.parentElement;return{scrollLeft:t,scrollTop:n}},S);function S(e,t){this.popupService=e,this.localizationService=t,this.animate=!0,this.style={position:"relative"},this.popupRef=null}function nt(){if(n.isDocumentAvailable())return new s.ElementRef(document.body)}b.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:b,deps:[{token:q.PopupService},{token:c.LocalizationService}],target:a.ɵɵFactoryTarget.Directive}),b.ɵdir=a.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:b,ngImport:a}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:b,decorators:[{type:s.Directive}],ctorParameters:function(){return[{type:q.PopupService},{type:c.LocalizationService}]}});rt.prototype.registerTemplate=function(e,t){-1<e&&(this.templates[e]=t)},rt.prototype.getTemplate=function(e){if(-1<e)return this.templates[e]};var T=rt;function rt(){this.templates=[]}T.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:T,deps:[],target:a.ɵɵFactoryTarget.Injectable}),T.ɵprov=a.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:T}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:T,decorators:[{type:s.Injectable}]});u(E,ot=b),E.prototype.show=function(e){var t;this.tooltipTemplateRef=this.templateService.getTemplate(e.layerIndex),this.tooltipTemplateRef&&(this.popupClasses=Object.assign(((t={"k-tooltip":!0,"k-map-tooltip":!0})[e.className]=Boolean(e.className),t),this.classNames),this.tooltipContext=e,ot.prototype.show.call(this,e))},E.prototype.containsElement=function(e){if(this.popupRef)return ne(e,this.popupRef.popupElement)},E.prototype.onInit=function(){var t=this;this.ngZone.runOutsideAngular(function(){t.mouseleaveSubscription=t.popupRef.popupElement.addEventListener("mouseleave",function(e){t.leave.emit(e)})}),this.popupRef.popupElement.classList.add(this.wrapperClass)},E.prototype.hide=function(){this.mouseleaveSubscription&&(this.mouseleaveSubscription(),this.mouseleaveSubscription=null),this.tooltipTemplateRef=null,ot.prototype.hide.call(this)};var ot,b=E;function E(e,t,n,r){var o=ot.call(this,e,n)||this;return o.popupService=e,o.templateService=t,o.localizationService=n,o.ngZone=r,o.tooltipContext={},o.animate=!0,o.wrapperClass="k-tooltip-wrapper",o.leave=new s.EventEmitter,o.popupClasses={},o}b.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:b,deps:[{token:q.PopupService},{token:T},{token:c.LocalizationService},{token:a.NgZone}],target:a.ɵɵFactoryTarget.Component}),b.ɵcmp=a.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:b,selector:"kendo-map-tooltip-popup",inputs:{animate:"animate",classNames:"classNames",popupSettings:"popupSettings",wrapperClass:"wrapperClass"},outputs:{leave:"leave"},providers:[o.PopupService,{provide:o.POPUP_CONTAINER,useFactory:nt}],viewQueries:[{propertyName:"templateRef",first:!0,predicate:["content"],descendants:!0,static:!0}],usesInheritance:!0,ngImport:a,template:'\n <ng-template #content>\n <div [ngClass]="popupClasses" [ngStyle]="style">\n <div class="k-tooltip-content">\n <ng-template [ngTemplateOutlet]="tooltipTemplateRef"\n [ngTemplateOutletContext]="tooltipContext">\n </ng-template>\n </div>\n </div>\n </ng-template>\n ',isInline:!0,directives:[{type:l.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:l.NgStyle,selector:"[ngStyle]",inputs:["ngStyle"]},{type:l.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}]}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:b,decorators:[{type:s.Component,args:[{providers:[o.PopupService,{provide:o.POPUP_CONTAINER,useFactory:nt}],selector:"kendo-map-tooltip-popup",template:'\n <ng-template #content>\n <div [ngClass]="popupClasses" [ngStyle]="style">\n <div class="k-tooltip-content">\n <ng-template [ngTemplateOutlet]="tooltipTemplateRef"\n [ngTemplateOutletContext]="tooltipContext">\n </ng-template>\n </div>\n </div>\n </ng-template>\n '}]}],ctorParameters:function(){return[{type:q.PopupService},{type:T},{type:c.LocalizationService},{type:a.NgZone}]},propDecorators:{templateRef:[{type:s.ViewChild,args:["content",{static:!0}]}],animate:[{type:s.Input}],classNames:[{type:s.Input}],popupSettings:[{type:s.Input}],wrapperClass:[{type:s.Input}],leave:[{type:s.Output}]}});O.prototype.ngAfterViewInit=function(){var t=this;this.canRender&&this.ngZone.runOutsideAngular(function(){var e=t.renderer.listen(t.surfaceElement.nativeElement,"mouseleave",t.mapMouseleave.bind(t));t.domSubscriptions=function(){e()}}),this.setDirection(),this.initConfig(),this.subscriptions=this.localizationService.changes.subscribe(function(){return t.setDirection()})},O.prototype.ngAfterViewChecked=function(){var e=this;this.instance&&this.autoResize&&this.ngZone.runOutsideAngular(function(){clearTimeout(e.resizeTimeout),e.resizeTimeout=setTimeout(function(){e.resize()},0)})},O.prototype.ngOnChanges=function(e){var t=this.configurationService.store;X(e,t),t.popupSettings=null,this.configurationService.push(t)},O.prototype.ngOnDestroy=function(){this.destroyed=!0,this.optionsChange&&this.optionsChange.unsubscribe(),this.domSubscriptions&&(this.domSubscriptions(),this.domSubscriptions=null),this.instance&&(this.instance.destroy(),this.instance=null),this.subscriptions&&this.subscriptions.unsubscribe()},O.prototype.resize=function(){this.instance},O.prototype.onResize=function(){this.autoResize&&this.resize()},Object.defineProperty(O.prototype,"canRender",{get:function(){return n.isDocumentAvailable()&&Boolean(this.surfaceElement)},enumerable:!1,configurable:!0}),Object.defineProperty(O.prototype,"autoResize",{get:function(){return 0<this.resizeRateLimit},enumerable:!1,configurable:!0}),O.prototype.init=function(){var e,t;this.canRender&&(e=this.surfaceElement.nativeElement,t=new oe(this),this.createInstance(e,t))},O.prototype.initConfig=function(){var t=this;n.isDocumentAvailable()&&this.ngZone.runOutsideAngular(function(){t.optionsChange=t.configurationService.changes.pipe(N.tap(function(e){t.options=e})).subscribe(function(){t.instance?t.instance.setOptions(t.options):t.init()})})},O.prototype.createInstance=function(e,t){this.instance=new j.Map(e,this.options,this.theme,{observer:t,rtl:this.rtl,sender:this})},O.prototype.activeEmitter=function(e){e=this["click"===e?"mapClick":e];if(e&&e.emit&&n.hasObservers(e))return e},O.prototype.trigger=function(e,t){var n,r=this.activeEmitter(e);if(r)return n=this.instanceEventService.create(e,t,this),this.run(function(){r.emit(n)}),n.isDefaultPrevented&&n.isDefaultPrevented()},O.prototype.run=function(e,t,n){(t=void 0===t?!0:t)?(n&&this.changeDetector.markForCheck(),this.ngZone.run(e)):(e(),n&&this.detectChanges())},O.prototype.detectChanges=function(){this.destroyed||this.changeDetector.detectChanges()},O.prototype.setDirection=function(){this.rtl=this.isRTL,this.element&&this.renderer.setAttribute(this.element.nativeElement,"dir",this.rtl?"rtl":"ltr")},Object.defineProperty(O.prototype,"isRTL",{get:function(){return Boolean(this.localizationService.rtl)},enumerable:!1,configurable:!0}),O.prototype.onShowTooltip=function(e){var t=this;this.run(function(){t.tooltipInstance.show(e)},!0,!0)},O.prototype.onHideTooltip=function(){var e=this;this.run(function(){e.tooltipInstance.hide()},!0,!0)},O.prototype.tooltipMouseleave=function(e){var e=e.relatedTarget,t=this.element.nativeElement;!this.instance||e&&ne(e,t)||this.tooltipInstance.hide()},O.prototype.mapMouseleave=function(e){var e=e.relatedTarget,t=this.element.nativeElement;!this.instance||e&&(this.tooltipInstance.containsElement(e)||ne(e,t))||this.tooltipInstance.hide()};l=O;function O(e,t,n,r,o,i,a){this.configurationService=e,this.instanceEventService=t,this.element=n,this.localizationService=r,this.changeDetector=o,this.ngZone=i,this.renderer=a,this.resizeRateLimit=10,this.zoom=3,this.beforeReset=new s.EventEmitter,this.mapClick=new s.EventEmitter,this.markerActivate=new s.EventEmitter,this.markerClick=new s.EventEmitter,this.markerCreated=new s.EventEmitter,this.panEnd=new s.EventEmitter,this.pan=new s.EventEmitter,this.reset=new s.EventEmitter,this.shapeClick=new s.EventEmitter,this.shapeCreated=new s.EventEmitter,this.shapeFeatureCreated=new s.EventEmitter,this.shapeMouseEnter=new s.EventEmitter,this.shapeMouseLeave=new s.EventEmitter,this.zoomStart=new s.EventEmitter,this.zoomEnd=new s.EventEmitter,this.theme=null,this.rtl=!1,A.validatePackage(et)}l.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:l,deps:[{token:m},{token:We},{token:a.ElementRef},{token:c.LocalizationService},{token:a.ChangeDetectorRef},{token:a.NgZone},{token:a.Renderer2}],target:a.ɵɵFactoryTarget.Component}),l.ɵcmp=a.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:l,selector:"kendo-map",inputs:{resizeRateLimit:"resizeRateLimit",center:"center",controls:"controls",minZoom:"minZoom",maxZoom:"maxZoom",minSize:"minSize",pannable:"pannable",popupSettings:"popupSettings",wraparound:"wraparound",zoom:"zoom",zoomable:"zoomable"},outputs:{beforeReset:"beforeReset",mapClick:"mapClick",markerActivate:"markerActivate",markerClick:"markerClick",markerCreated:"markerCreated",panEnd:"panEnd",pan:"pan",reset:"reset",shapeClick:"shapeClick",shapeCreated:"shapeCreated",shapeFeatureCreated:"shapeFeatureCreated",shapeMouseEnter:"shapeMouseEnter",shapeMouseLeave:"shapeMouseLeave",zoomStart:"zoomStart",zoomEnd:"zoomEnd"},providers:[m,We,r.LocalizationService,T,{provide:r.L10N_PREFIX,useValue:"kendo.map"}],viewQueries:[{propertyName:"surfaceElement",first:!0,predicate:["surface"],descendants:!0,static:!0},{propertyName:"tooltipInstance",first:!0,predicate:b,descendants:!0,static:!0}],exportAs:["kendoChart"],usesOnChanges:!0,ngImport:a,template:'\n <div #surface></div>\n <kendo-map-tooltip-popup (leave)="tooltipMouseleave($event)" [popupSettings]="popupSettings">\n </kendo-map-tooltip-popup>\n <kendo-resize-sensor (resize)="onResize()" [rateLimit]="resizeRateLimit"></kendo-resize-sensor>\n ',isInline:!0,components:[{type:b,selector:"kendo-map-tooltip-popup",inputs:["animate","classNames","popupSettings","wrapperClass"],outputs:["leave"]},{type:t.ResizeSensorComponent,selector:"kendo-resize-sensor",inputs:["rateLimit"],outputs:["resize"]}],changeDetection:a.ChangeDetectionStrategy.OnPush}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:l,decorators:[{type:s.Component,args:[{selector:"kendo-map",changeDetection:s.ChangeDetectionStrategy.OnPush,exportAs:"kendoChart",providers:[m,We,r.LocalizationService,T,{provide:r.L10N_PREFIX,useValue:"kendo.map"}],template:'\n <div #surface></div>\n <kendo-map-tooltip-popup (leave)="tooltipMouseleave($event)" [popupSettings]="popupSettings">\n </kendo-map-tooltip-popup>\n <kendo-resize-sensor (resize)="onResize()" [rateLimit]="resizeRateLimit"></kendo-resize-sensor>\n '}]}],ctorParameters:function(){return[{type:m},{type:We},{type:a.ElementRef},{type:c.LocalizationService},{type:a.ChangeDetectorRef},{type:a.NgZone},{type:a.Renderer2}]},propDecorators:{resizeRateLimit:[{type:s.Input}],center:[{type:s.Input}],controls:[{type:s.Input}],minZoom:[{type:s.Input}],maxZoom:[{type:s.Input}],minSize:[{type:s.Input}],pannable:[{type:s.Input}],popupSettings:[{type:s.Input}],wraparound:[{type:s.Input}],zoom:[{type:s.Input}],zoomable:[{type:s.Input}],beforeReset:[{type:s.Output}],mapClick:[{type:s.Output}],markerActivate:[{type:s.Output}],markerClick:[{type:s.Output}],markerCreated:[{type:s.Output}],panEnd:[{type:s.Output}],pan:[{type:s.Output}],reset:[{type:s.Output}],shapeClick:[{type:s.Output}],shapeCreated:[{type:s.Output}],shapeFeatureCreated:[{type:s.Output}],shapeMouseEnter:[{type:s.Output}],shapeMouseLeave:[{type:s.Output}],zoomStart:[{type:s.Output}],zoomEnd:[{type:s.Output}],surfaceElement:[{type:s.ViewChild,args:["surface",{static:!0}]}],tooltipInstance:[{type:s.ViewChild,args:[b,{static:!0}]}]}});z.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},z.prototype.ngAfterContentInit=function(){var e=this;this.readItems(),this.children.changes.subscribe(function(){return e.readItems()})},z.prototype.processChanges=function(e){var t;!this.children||(t=this.children.toArray().indexOf(e.sender))<0||(this.items[t]=e.options,e.sender.index=t,this.change())},z.prototype.readItems=function(){this.items=this.children.map(function(e,t){return e.index=t,e.options}),this.change()},z.prototype.change=function(){this.configurationService.notify(new U(this.configKey,0===this.items.length?void 0:this.items))};o=z;function z(e,t,n){var r=this;this.configKey=e,this.configurationService=t,this.collectionService=n,this.items=[],this.subscription=n.itemChanges.subscribe(function(e){return r.processChanges(e)})}o.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:o,deps:"invalid",target:a.ɵɵFactoryTarget.Directive}),o.ɵdir=a.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:o,ngImport:a}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:o,decorators:[{type:s.Directive}],ctorParameters:function(){return[{type:void 0},{type:m},{type:y}]}});u(at,it=o);var it,t=at;function at(e,t){var n=it.call(this,"layers",e,t)||this;return n.configurationService=e,n.collectionService=t,n}t.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:t,deps:[{token:m},{token:y}],target:a.ɵɵFactoryTarget.Component}),t.ɵcmp=a.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:t,selector:"kendo-map-layers",providers:[y],queries:[{propertyName:"children",predicate:D}],usesInheritance:!0,ngImport:a,template:"",isInline:!0,changeDetection:a.ChangeDetectionStrategy.OnPush}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:t,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,providers:[y],selector:"kendo-map-layers",template:""}]}],ctorParameters:function(){return[{type:m},{type:y}]},propDecorators:{children:[{type:s.ContentChildren,args:[D]}]}});u(pt,st=D);var st,R=pt;function pt(e,t,n){var r=st.call(this,"marker",e,t,n)||this;return r.configurationService=e,r.collectionService=t,r.sanitizer=n,r}R.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:R,deps:[{token:m},{token:y},{token:p.DomSanitizer}],target:a.ɵɵFactoryTarget.Component}),R.ɵcmp=a.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:R,selector:"kendo-map-marker-layer",inputs:{data:"data",locationField:"locationField",titleField:"titleField",shape:"shape"},providers:[m,{provide:D,useExisting:s.forwardRef(function(){return R})}],usesInheritance:!0,ngImport:a,template:"",isInline:!0,changeDetection:a.ChangeDetectionStrategy.OnPush}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:R,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,providers:[m,{provide:D,useExisting:s.forwardRef(function(){return R})}],selector:"kendo-map-marker-layer",template:""}]}],ctorParameters:function(){return[{type:m},{type:y},{type:p.DomSanitizer}]},propDecorators:{data:[{type:s.Input}],locationField:[{type:s.Input}],titleField:[{type:s.Input}],shape:[{type:s.Input}]}});u(lt,ct=D);var ct,V=lt;function lt(e,t,n){var r=ct.call(this,"shape",e,t,n)||this;return r.configurationService=e,r.collectionService=t,r.sanitizer=n,r}V.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:V,deps:[{token:m},{token:y},{token:p.DomSanitizer}],target:a.ɵɵFactoryTarget.Component}),V.ɵcmp=a.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:V,selector:"kendo-map-shape-layer",inputs:{data:"data",style:"style"},providers:[m,{provide:D,useExisting:s.forwardRef(function(){return V})}],usesInheritance:!0,ngImport:a,template:"",isInline:!0,changeDetection:a.ChangeDetectionStrategy.OnPush}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:V,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,providers:[m,{provide:D,useExisting:s.forwardRef(function(){return V})}],selector:"kendo-map-shape-layer",template:""}]}],ctorParameters:function(){return[{type:m},{type:y},{type:p.DomSanitizer}]},propDecorators:{data:[{type:s.Input}],style:[{type:s.Input}]}});u(mt,ut=D);var ut,M=mt;function mt(e,t,n){var r=ut.call(this,"tile",e,t,n)||this;return r.configurationService=e,r.collectionService=t,r.sanitizer=n,r}M.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:M,deps:[{token:m},{token:y},{token:p.DomSanitizer}],target:a.ɵɵFactoryTarget.Component}),M.ɵcmp=a.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:M,selector:"kendo-map-tile-layer",inputs:{tileSize:"tileSize",subdomains:"subdomains",urlTemplate:"urlTemplate"},providers:[m,{provide:D,useExisting:s.forwardRef(function(){return M})}],usesInheritance:!0,ngImport:a,template:"",isInline:!0,changeDetection:a.ChangeDetectionStrategy.OnPush}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:M,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,providers:[m,{provide:D,useExisting:s.forwardRef(function(){return M})}],selector:"kendo-map-tile-layer",template:""}]}],ctorParameters:function(){return[{type:m},{type:y},{type:p.DomSanitizer}]},propDecorators:{tileSize:[{type:s.Input}],subdomains:[{type:s.Input}],urlTemplate:[{type:s.Input}]}});var gt,r=function(e){this.templateRef=e},o=(r.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:r,deps:[{token:a.TemplateRef,optional:!0}],target:a.ɵɵFactoryTarget.Directive}),r.ɵdir=a.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:r,selector:"[kendoMapBubbleTooltipTemplate]",ngImport:a}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:r,decorators:[{type:s.Directive,args:[{selector:"[kendoMapBubbleTooltipTemplate]"}]}],ctorParameters:function(){return[{type:a.TemplateRef,decorators:[{type:s.Optional}]}]}}),function(e){this.templateRef=e}),w=(o.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:o,deps:[{token:a.TemplateRef,optional:!0}],target:a.ɵɵFactoryTarget.Directive}),o.ɵdir=a.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:o,selector:"[kendoMapMarkerTooltipTemplate]",ngImport:a}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:o,decorators:[{type:s.Directive,args:[{selector:"[kendoMapMarkerTooltipTemplate]"}]}],ctorParameters:function(){return[{type:a.TemplateRef,decorators:[{type:s.Optional}]}]}}),function(e){this.templateRef=e}),F=(w.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:w,deps:[{token:a.TemplateRef,optional:!0}],target:a.ɵɵFactoryTarget.Directive}),w.ɵdir=a.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:w,selector:"[kendoMapShapeTooltipTemplate]",ngImport:a}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:w,decorators:[{type:s.Directive,args:[{selector:"[kendoMapShapeTooltipTemplate]"}]}],ctorParameters:function(){return[{type:a.TemplateRef,decorators:[{type:s.Optional}]}]}}),u(yt,gt=v),yt.prototype.ngAfterContentChecked=function(){var e;this.templateService.registerTemplate(this.layer.index,null==(e=this.bubbleTooltipTemplate)?void 0:e.templateRef)},yt);function yt(e,t,n){var r=gt.call(this,"tooltip",e)||this;return r.configurationService=e,r.templateService=t,r.layer=n,r}F.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:F,deps:[{token:m},{token:T},{token:D}],target:a.ɵɵFactoryTarget.Component}),F.ɵcmp=a.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:F,selector:"kendo-map-bubble-layer-tooltip",queries:[{propertyName:"bubbleTooltipTemplate",first:!0,predicate:r,descendants:!0}],usesInheritance:!0,ngImport:a,template:"",isInline:!0}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:F,decorators:[{type:s.Component,args:[{selector:"kendo-map-bubble-layer-tooltip",template:""}]}],ctorParameters:function(){return[{type:m},{type:T},{type:D}]},propDecorators:{bubbleTooltipTemplate:[{type:s.ContentChild,args:[r,{static:!1}]}]}});u(dt,ht=v),dt.prototype.ngAfterContentChecked=function(){var e;this.templateService.registerTemplate(this.layer.index,null==(e=this.markerTooltipTemplate)?void 0:e.templateRef)};var ht,P=dt;function dt(e,t,n){var r=ht.call(this,"tooltip",e)||this;return r.configurationService=e,r.templateService=t,r.layer=n,r}P.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:P,deps:[{token:m},{token:T},{token:D}],target:a.ɵɵFactoryTarget.Component}),P.ɵcmp=a.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:P,selector:"kendo-map-marker-layer-tooltip",queries:[{propertyName:"markerTooltipTemplate",first:!0,predicate:o,descendants:!0}],usesInheritance:!0,ngImport:a,template:"",isInline:!0}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:P,decorators:[{type:s.Component,args:[{selector:"kendo-map-marker-layer-tooltip",template:""}]}],ctorParameters:function(){return[{type:m},{type:T},{type:D}]},propDecorators:{markerTooltipTemplate:[{type:s.ContentChild,args:[o,{static:!1}]}]}});u(ft,vt=v),ft.prototype.ngAfterContentChecked=function(){var e;this.templateService.registerTemplate(this.layer.index,null==(e=this.shapeTooltipTemplate)?void 0:e.templateRef)};var vt,v=ft;function ft(e,t,n){var r=vt.call(this,"tooltip",e)||this;return r.configurationService=e,r.templateService=t,r.layer=n,r}v.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:v,deps:[{token:m},{token:T},{token:D}],target:a.ɵɵFactoryTarget.Component}),v.ɵcmp=a.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:v,selector:"kendo-map-shape-layer-tooltip",queries:[{propertyName:"shapeTooltipTemplate",first:!0,predicate:w,descendants:!0}],usesInheritance:!0,ngImport:a,template:"",isInline:!0}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:v,decorators:[{type:s.Component,args:[{selector:"kendo-map-shape-layer-tooltip",template:""}]}],ctorParameters:function(){return[{type:m},{type:T},{type:D}]},propDecorators:{shapeTooltipTemplate:[{type:s.ContentChild,args:[w,{static:!1}]}]}});var Ct=[I,F,r,C,t,l,R,P,o,V,v,w,M,b],x=function(){};x.ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:x,deps:[],target:a.ɵɵFactoryTarget.NgModule}),x.ɵmod=a.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:x,declarations:[I,F,r,C,t,l,R,P,o,V,v,w,M,b],imports:[Z.CommonModule,_.TooltipsModule,n.ResizeSensorModule],exports:[I,F,r,C,t,l,R,P,o,V,v,w,M,b]}),x.ɵinj=a.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:x,imports:[[Z.CommonModule,_.TooltipsModule,n.ResizeSensorModule]]}),a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:a,type:x,decorators:[{type:s.NgModule,args:[{declarations:[Ct],imports:[Z.CommonModule,_.TooltipsModule,n.ResizeSensorModule],exports:[Ct]}]}]}),Object.defineProperty(e,"Extent",{enumerable:!0,get:function(){return j.Extent}}),Object.defineProperty(e,"Location",{enumerable:!0,get:function(){return j.Location}}),e.BeforeResetEvent=se,e.BubbleLayerComponent=I,e.BubbleTooltipComponent=F,e.BubbleTooltipTemplateDirective=r,e.LayerTooltipComponent=C,e.LayersComponent=t,e.MapClickEvent=le,e.MapComponent=l,e.MapModule=x,e.MarkerActivateEvent=ge,e.MarkerClickEvent=de,e.MarkerCreatedEvent=Ie,e.MarkerLayerComponent=R,e.MarkerTooltipComponent=P,e.MarkerTooltipTemplateDirective=o,e.PanEndEvent=Se,e.PanEvent=Oe,e.ResetEvent=Ve,e.ShapeClickEvent=Fe,e.ShapeCreatedEvent=Le,e.ShapeFeatureCreatedEvent=Ne,e.ShapeLayerComponent=V,e.ShapeMouseEnterEvent=qe,e.ShapeMouseLeaveEvent=Ue,e.ShapeTooltipComponent=v,e.ShapeTooltipTemplateDirective=w,e.TileLayerComponent=M,e.TooltipPopupComponent=b,e.ZoomEndEvent=h,e.ZoomStartEvent=k,e.bodyFactory=nt,Object.defineProperty(e,"__esModule",{value:!0})});
@@ -14,6 +14,7 @@ export declare abstract class CollectionItemComponent implements Item, OnChanges
14
14
  protected configurationService: ConfigurationService;
15
15
  protected collectionService: CollectionService;
16
16
  protected subscription: Subscription;
17
+ index: number;
17
18
  options: any;
18
19
  constructor(configurationService: ConfigurationService, collectionService: CollectionService);
19
20
  ngOnChanges(changes: {
@@ -8,6 +8,7 @@ import * as i0 from "@angular/core";
8
8
  * @hidden
9
9
  */
10
10
  export interface Item {
11
+ index: number;
11
12
  options: any;
12
13
  }
13
14
  /**
@@ -0,0 +1,8 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ /**
6
+ * @hidden
7
+ */
8
+ export declare function hasParent(element: any, parent: any): boolean;
@@ -16,6 +16,7 @@ export class CollectionItemComponent {
16
16
  constructor(configurationService, collectionService) {
17
17
  this.configurationService = configurationService;
18
18
  this.collectionService = collectionService;
19
+ this.index = -1;
19
20
  this.options = {};
20
21
  this.subscription = configurationService.changes.subscribe(store => {
21
22
  this.options = store;
@@ -34,10 +34,14 @@ export class CollectionComponent {
34
34
  return;
35
35
  }
36
36
  this.items[index] = changes.options;
37
+ changes.sender.index = index;
37
38
  this.change();
38
39
  }
39
40
  readItems() {
40
- this.items = this.children.map(s => s.options);
41
+ this.items = this.children.map((item, index) => {
42
+ item.index = index;
43
+ return item.options;
44
+ });
41
45
  this.change();
42
46
  }
43
47
  change() {
@@ -0,0 +1,14 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ /**
6
+ * @hidden
7
+ */
8
+ export function hasParent(element, parent) {
9
+ let current = element;
10
+ while (current && current !== parent) {
11
+ current = current.parentNode;
12
+ }
13
+ return current ? true : false;
14
+ }
package/esm2015/main.js CHANGED
@@ -11,4 +11,6 @@ export { TileLayerComponent } from './map/tile-layer.component';
11
11
  export { LayersComponent } from './map/layers.component';
12
12
  export { LayerTooltipComponent } from './map/layer/tooltip.component';
13
13
  export * from './events';
14
+ export * from './tooltip';
15
+ export { bodyFactory } from './tooltip/body-factory';
14
16
  export { Location, Extent } from '@progress/kendo-charts';
@@ -10,14 +10,18 @@ import { validatePackage } from '@progress/kendo-licensing';
10
10
  import { tap } from 'rxjs/operators';
11
11
  import { ConfigurationService } from './common/configuration.service';
12
12
  import { copyChanges } from './common/copy-changes';
13
+ import { hasParent } from './common/has-parent';
13
14
  import { MapInstanceObserver } from './common/map-instance-observer';
14
15
  import { InstanceEventService } from './events/instance-event.service';
15
16
  import { packageMetadata } from './package-metadata';
17
+ import { TooltipPopupComponent } from './tooltip/tooltip-popup.component';
18
+ import { TooltipTemplateService } from './tooltip/tooltip-template.service';
16
19
  import * as i0 from "@angular/core";
17
20
  import * as i1 from "./common/configuration.service";
18
21
  import * as i2 from "./events/instance-event.service";
19
22
  import * as i3 from "@progress/kendo-angular-l10n";
20
- import * as i4 from "@progress/kendo-angular-common";
23
+ import * as i4 from "./tooltip/tooltip-popup.component";
24
+ import * as i5 from "@progress/kendo-angular-common";
21
25
  /**
22
26
  * A sample component
23
27
  */
@@ -142,6 +146,14 @@ export class MapComponent {
142
146
  validatePackage(packageMetadata);
143
147
  }
144
148
  ngAfterViewInit() {
149
+ if (this.canRender) {
150
+ this.ngZone.runOutsideAngular(() => {
151
+ const mapMouseleave = this.renderer.listen(this.surfaceElement.nativeElement, 'mouseleave', this.mapMouseleave.bind(this));
152
+ this.domSubscriptions = () => {
153
+ mapMouseleave();
154
+ };
155
+ });
156
+ }
145
157
  this.setDirection();
146
158
  this.initConfig();
147
159
  this.subscriptions = this.localizationService.changes.subscribe(() => this.setDirection());
@@ -162,6 +174,23 @@ export class MapComponent {
162
174
  store.popupSettings = null;
163
175
  this.configurationService.push(store);
164
176
  }
177
+ ngOnDestroy() {
178
+ this.destroyed = true;
179
+ if (this.optionsChange) {
180
+ this.optionsChange.unsubscribe();
181
+ }
182
+ if (this.domSubscriptions) {
183
+ this.domSubscriptions();
184
+ this.domSubscriptions = null;
185
+ }
186
+ if (this.instance) {
187
+ this.instance.destroy();
188
+ this.instance = null;
189
+ }
190
+ if (this.subscriptions) {
191
+ this.subscriptions.unsubscribe();
192
+ }
193
+ }
165
194
  /**
166
195
  * Detects the size of the container and redraws the Map.
167
196
  * Resizing is automatic unless you set the `resizeRateLimit` option to `0`.
@@ -263,20 +292,53 @@ export class MapComponent {
263
292
  get isRTL() {
264
293
  return Boolean(this.localizationService.rtl);
265
294
  }
295
+ onShowTooltip(e) {
296
+ this.run(() => {
297
+ this.tooltipInstance.show(e);
298
+ }, true, true);
299
+ }
300
+ onHideTooltip() {
301
+ this.run(() => {
302
+ this.tooltipInstance.hide();
303
+ }, true, true);
304
+ }
305
+ /**
306
+ * @hidden
307
+ */
308
+ tooltipMouseleave(e) {
309
+ const relatedTarget = e.relatedTarget;
310
+ const chartElement = this.element.nativeElement;
311
+ if (this.instance && (!relatedTarget || !hasParent(relatedTarget, chartElement))) {
312
+ this.tooltipInstance.hide();
313
+ }
314
+ }
315
+ /**
316
+ * @hidden
317
+ */
318
+ mapMouseleave(e) {
319
+ const relatedTarget = e.relatedTarget;
320
+ const chartElement = this.element.nativeElement;
321
+ if (this.instance && (!relatedTarget || !(this.tooltipInstance.containsElement(relatedTarget) || hasParent(relatedTarget, chartElement)))) {
322
+ this.tooltipInstance.hide();
323
+ }
324
+ }
266
325
  }
267
326
  MapComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MapComponent, deps: [{ token: i1.ConfigurationService }, { token: i2.InstanceEventService }, { token: i0.ElementRef }, { token: i3.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
268
- MapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: MapComponent, selector: "kendo-map", inputs: { resizeRateLimit: "resizeRateLimit", center: "center", controls: "controls", minZoom: "minZoom", maxZoom: "maxZoom", minSize: "minSize", pannable: "pannable", wraparound: "wraparound", zoom: "zoom", zoomable: "zoomable" }, outputs: { beforeReset: "beforeReset", mapClick: "mapClick", markerActivate: "markerActivate", markerClick: "markerClick", markerCreated: "markerCreated", panEnd: "panEnd", pan: "pan", reset: "reset", shapeClick: "shapeClick", shapeCreated: "shapeCreated", shapeFeatureCreated: "shapeFeatureCreated", shapeMouseEnter: "shapeMouseEnter", shapeMouseLeave: "shapeMouseLeave", zoomStart: "zoomStart", zoomEnd: "zoomEnd" }, providers: [
327
+ MapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: MapComponent, selector: "kendo-map", inputs: { resizeRateLimit: "resizeRateLimit", center: "center", controls: "controls", minZoom: "minZoom", maxZoom: "maxZoom", minSize: "minSize", pannable: "pannable", popupSettings: "popupSettings", wraparound: "wraparound", zoom: "zoom", zoomable: "zoomable" }, outputs: { beforeReset: "beforeReset", mapClick: "mapClick", markerActivate: "markerActivate", markerClick: "markerClick", markerCreated: "markerCreated", panEnd: "panEnd", pan: "pan", reset: "reset", shapeClick: "shapeClick", shapeCreated: "shapeCreated", shapeFeatureCreated: "shapeFeatureCreated", shapeMouseEnter: "shapeMouseEnter", shapeMouseLeave: "shapeMouseLeave", zoomStart: "zoomStart", zoomEnd: "zoomEnd" }, providers: [
269
328
  ConfigurationService,
270
329
  InstanceEventService,
271
330
  LocalizationService,
331
+ TooltipTemplateService,
272
332
  {
273
333
  provide: L10N_PREFIX,
274
334
  useValue: 'kendo.map'
275
335
  }
276
- ], viewQueries: [{ propertyName: "surfaceElement", first: true, predicate: ["surface"], descendants: true, static: true }], exportAs: ["kendoChart"], usesOnChanges: true, ngImport: i0, template: `
336
+ ], viewQueries: [{ propertyName: "surfaceElement", first: true, predicate: ["surface"], descendants: true, static: true }, { propertyName: "tooltipInstance", first: true, predicate: TooltipPopupComponent, descendants: true, static: true }], exportAs: ["kendoChart"], usesOnChanges: true, ngImport: i0, template: `
277
337
  <div #surface></div>
338
+ <kendo-map-tooltip-popup (leave)="tooltipMouseleave($event)" [popupSettings]="popupSettings">
339
+ </kendo-map-tooltip-popup>
278
340
  <kendo-resize-sensor (resize)="onResize()" [rateLimit]="resizeRateLimit"></kendo-resize-sensor>
279
- `, isInline: true, components: [{ type: i4.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
341
+ `, isInline: true, components: [{ type: i4.TooltipPopupComponent, selector: "kendo-map-tooltip-popup", inputs: ["animate", "classNames", "popupSettings", "wrapperClass"], outputs: ["leave"] }, { type: i5.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
280
342
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MapComponent, decorators: [{
281
343
  type: Component,
282
344
  args: [{
@@ -287,6 +349,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
287
349
  ConfigurationService,
288
350
  InstanceEventService,
289
351
  LocalizationService,
352
+ TooltipTemplateService,
290
353
  {
291
354
  provide: L10N_PREFIX,
292
355
  useValue: 'kendo.map'
@@ -294,6 +357,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
294
357
  ],
295
358
  template: `
296
359
  <div #surface></div>
360
+ <kendo-map-tooltip-popup (leave)="tooltipMouseleave($event)" [popupSettings]="popupSettings">
361
+ </kendo-map-tooltip-popup>
297
362
  <kendo-resize-sensor (resize)="onResize()" [rateLimit]="resizeRateLimit"></kendo-resize-sensor>
298
363
  `
299
364
  }]
@@ -311,6 +376,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
311
376
  type: Input
312
377
  }], pannable: [{
313
378
  type: Input
379
+ }], popupSettings: [{
380
+ type: Input
314
381
  }], wraparound: [{
315
382
  type: Input
316
383
  }], zoom: [{
@@ -350,4 +417,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
350
417
  }], surfaceElement: [{
351
418
  type: ViewChild,
352
419
  args: ['surface', { static: true }]
420
+ }], tooltipInstance: [{
421
+ type: ViewChild,
422
+ args: [TooltipPopupComponent, { static: true }]
353
423
  }] } });
@@ -9,17 +9,25 @@ import { LayersComponent } from './map/layers.component';
9
9
  import { MarkerLayerComponent } from './map/marker-layer.component';
10
10
  import { ShapeLayerComponent } from './map/shape-layer.component';
11
11
  import { TileLayerComponent } from './map/tile-layer.component';
12
+ import { BubbleTooltipComponent, BubbleTooltipTemplateDirective, MarkerTooltipComponent, MarkerTooltipTemplateDirective, ShapeTooltipComponent, ShapeTooltipTemplateDirective, TooltipPopupComponent } from './tooltip';
12
13
  // Re-exports
13
- export { MapComponent, LayersComponent, BubbleLayerComponent, MarkerLayerComponent, ShapeLayerComponent, TileLayerComponent, LayerTooltipComponent };
14
+ export { BubbleLayerComponent, BubbleTooltipComponent, BubbleTooltipTemplateDirective, LayersComponent, LayerTooltipComponent, MapComponent, MarkerLayerComponent, MarkerTooltipComponent, MarkerTooltipTemplateDirective, ShapeLayerComponent, ShapeTooltipComponent, ShapeTooltipTemplateDirective, TileLayerComponent, TooltipPopupComponent };
14
15
  /**
15
16
  * @hidden
16
17
  */
17
18
  export const MAP_DIRECTIVES = [
18
- MapComponent,
19
- LayersComponent,
20
19
  BubbleLayerComponent,
20
+ BubbleTooltipComponent,
21
+ BubbleTooltipTemplateDirective,
22
+ LayerTooltipComponent,
23
+ LayersComponent,
24
+ MapComponent,
21
25
  MarkerLayerComponent,
26
+ MarkerTooltipComponent,
27
+ MarkerTooltipTemplateDirective,
22
28
  ShapeLayerComponent,
29
+ ShapeTooltipComponent,
30
+ ShapeTooltipTemplateDirective,
23
31
  TileLayerComponent,
24
- LayerTooltipComponent
32
+ TooltipPopupComponent
25
33
  ];
@@ -5,28 +5,36 @@
5
5
  import { CommonModule } from '@angular/common';
6
6
  import { NgModule } from '@angular/core';
7
7
  import { ResizeSensorModule } from '@progress/kendo-angular-common';
8
+ import { TooltipsModule } from '@progress/kendo-angular-tooltip';
8
9
  import { MAP_DIRECTIVES } from './map.directives';
9
10
  import * as i0 from "@angular/core";
10
- import * as i1 from "./map.component";
11
- import * as i2 from "./map/layers.component";
12
- import * as i3 from "./map/bubble-layer.component";
13
- import * as i4 from "./map/marker-layer.component";
14
- import * as i5 from "./map/shape-layer.component";
15
- import * as i6 from "./map/tile-layer.component";
16
- import * as i7 from "./map/layer/tooltip.component";
11
+ import * as i1 from "./map/bubble-layer.component";
12
+ import * as i2 from "./tooltip/bubble-tooltip.component";
13
+ import * as i3 from "./tooltip/bubble-tooltip-template.directive";
14
+ import * as i4 from "./map/layer/tooltip.component";
15
+ import * as i5 from "./map/layers.component";
16
+ import * as i6 from "./map.component";
17
+ import * as i7 from "./map/marker-layer.component";
18
+ import * as i8 from "./tooltip/marker-tooltip.component";
19
+ import * as i9 from "./tooltip/marker-tooltip-template.directive";
20
+ import * as i10 from "./map/shape-layer.component";
21
+ import * as i11 from "./tooltip/shape-tooltip.component";
22
+ import * as i12 from "./tooltip/shape-tooltip-template.directive";
23
+ import * as i13 from "./map/tile-layer.component";
24
+ import * as i14 from "./tooltip/tooltip-popup.component";
17
25
  /**
18
26
  * Sample module
19
27
  */
20
28
  export class MapModule {
21
29
  }
22
30
  MapModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
23
- MapModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MapModule, declarations: [i1.MapComponent, i2.LayersComponent, i3.BubbleLayerComponent, i4.MarkerLayerComponent, i5.ShapeLayerComponent, i6.TileLayerComponent, i7.LayerTooltipComponent], imports: [CommonModule, ResizeSensorModule], exports: [i1.MapComponent, i2.LayersComponent, i3.BubbleLayerComponent, i4.MarkerLayerComponent, i5.ShapeLayerComponent, i6.TileLayerComponent, i7.LayerTooltipComponent] });
24
- MapModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MapModule, imports: [[CommonModule, ResizeSensorModule]] });
31
+ MapModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MapModule, declarations: [i1.BubbleLayerComponent, i2.BubbleTooltipComponent, i3.BubbleTooltipTemplateDirective, i4.LayerTooltipComponent, i5.LayersComponent, i6.MapComponent, i7.MarkerLayerComponent, i8.MarkerTooltipComponent, i9.MarkerTooltipTemplateDirective, i10.ShapeLayerComponent, i11.ShapeTooltipComponent, i12.ShapeTooltipTemplateDirective, i13.TileLayerComponent, i14.TooltipPopupComponent], imports: [CommonModule, TooltipsModule, ResizeSensorModule], exports: [i1.BubbleLayerComponent, i2.BubbleTooltipComponent, i3.BubbleTooltipTemplateDirective, i4.LayerTooltipComponent, i5.LayersComponent, i6.MapComponent, i7.MarkerLayerComponent, i8.MarkerTooltipComponent, i9.MarkerTooltipTemplateDirective, i10.ShapeLayerComponent, i11.ShapeTooltipComponent, i12.ShapeTooltipTemplateDirective, i13.TileLayerComponent, i14.TooltipPopupComponent] });
32
+ MapModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MapModule, imports: [[CommonModule, TooltipsModule, ResizeSensorModule]] });
25
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MapModule, decorators: [{
26
34
  type: NgModule,
27
35
  args: [{
28
36
  declarations: [MAP_DIRECTIVES],
29
- imports: [CommonModule, ResizeSensorModule],
37
+ imports: [CommonModule, TooltipsModule, ResizeSensorModule],
30
38
  exports: [MAP_DIRECTIVES]
31
39
  }]
32
40
  }] });
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-map',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1651750442,
12
+ publishDate: 1655447052,
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
  };
@@ -0,0 +1,90 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Directive } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@progress/kendo-angular-popup";
8
+ import * as i2 from "@progress/kendo-angular-l10n";
9
+ const POSITION_MODE = 'absolute';
10
+ const COLLISION = { horizontal: "fit", vertical: "fit" };
11
+ /**
12
+ * @hidden
13
+ */
14
+ export class BaseTooltip {
15
+ constructor(popupService, localizationService) {
16
+ this.popupService = popupService;
17
+ this.localizationService = localizationService;
18
+ this.animate = true;
19
+ this.style = {
20
+ position: 'relative'
21
+ };
22
+ this.popupRef = null;
23
+ }
24
+ get active() {
25
+ return this.popupRef !== null;
26
+ }
27
+ show(e) {
28
+ const offset = this.position(e.anchor);
29
+ if (!this.popupRef) {
30
+ this.popupRef = this.popupService.open(Object.assign({
31
+ offset: offset,
32
+ popupAlign: { vertical: 'bottom', horizontal: 'center' },
33
+ animate: this.animate,
34
+ content: this.templateRef,
35
+ collision: COLLISION,
36
+ positionMode: POSITION_MODE
37
+ }, this.popupSettings));
38
+ if (this.localizationService.rtl) {
39
+ this.popupRef.popupElement.setAttribute('dir', 'rtl');
40
+ }
41
+ this.onInit();
42
+ }
43
+ else {
44
+ const popup = this.popupRef.popup.instance;
45
+ popup.offset = offset;
46
+ }
47
+ }
48
+ hide() {
49
+ if (this.popupRef) {
50
+ this.popupRef.close();
51
+ this.popupRef = null;
52
+ }
53
+ }
54
+ onInit() {
55
+ }
56
+ ngOnDestroy() {
57
+ this.hide();
58
+ }
59
+ position(offset) {
60
+ if (!this.popupSettings || !this.popupSettings.appendTo) {
61
+ return offset;
62
+ }
63
+ const appendTo = this.popupSettings.appendTo.element.nativeElement;
64
+ const bbox = appendTo.getBoundingClientRect();
65
+ const { scrollLeft, scrollTop } = this.scrollOffset(appendTo);
66
+ return {
67
+ left: offset.left - bbox.left - scrollLeft,
68
+ top: offset.top - bbox.top - scrollTop
69
+ };
70
+ }
71
+ scrollOffset(element) {
72
+ if (!element) {
73
+ return null;
74
+ }
75
+ let scrollLeft = element.scrollLeft;
76
+ let scrollTop = element.scrollTop;
77
+ let parent = element.parentElement;
78
+ while (parent) {
79
+ scrollLeft += parent.scrollLeft;
80
+ scrollTop += parent.scrollTop;
81
+ parent = parent.parentElement;
82
+ }
83
+ return { scrollLeft, scrollTop };
84
+ }
85
+ }
86
+ BaseTooltip.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BaseTooltip, deps: [{ token: i1.PopupService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
87
+ BaseTooltip.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: BaseTooltip, ngImport: i0 });
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BaseTooltip, decorators: [{
89
+ type: Directive
90
+ }], ctorParameters: function () { return [{ type: i1.PopupService }, { type: i2.LocalizationService }]; } });
@@ -0,0 +1,14 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { ElementRef } from '@angular/core';
6
+ import { isDocumentAvailable } from '@progress/kendo-angular-common';
7
+ /**
8
+ * @hidden
9
+ */
10
+ export function bodyFactory() {
11
+ if (isDocumentAvailable()) {
12
+ return new ElementRef(document.body);
13
+ }
14
+ }
@@ -0,0 +1,32 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Directive, Optional } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * A directive that sets a [template]({{ site.data.urls.angular['templatesyntax'] }})
9
+ * within the `<kendo-map-tooltip>` component for the Map
10
+ * [Bubble layer tooltip]({% slug bubble_layers_map %}#toc-tooltip).
11
+ *
12
+ * The available inputs for the bubble tooltip template are:
13
+ * * `dataItem: any`&mdash;The original data item used to create the bubble.
14
+ * * `layerIndex: number`&mdash;The index of the layer for the tooltip.
15
+ * * `location: Location`&mdash;The location of the bubble.
16
+ * * `value: number`&mdash;The value of the bubble.
17
+ */
18
+ export class BubbleTooltipTemplateDirective {
19
+ constructor(templateRef) {
20
+ this.templateRef = templateRef;
21
+ }
22
+ }
23
+ BubbleTooltipTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BubbleTooltipTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
24
+ BubbleTooltipTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: BubbleTooltipTemplateDirective, selector: "[kendoMapBubbleTooltipTemplate]", ngImport: i0 });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BubbleTooltipTemplateDirective, decorators: [{
26
+ type: Directive,
27
+ args: [{
28
+ selector: '[kendoMapBubbleTooltipTemplate]'
29
+ }]
30
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
31
+ type: Optional
32
+ }] }]; } });