silverstripe-webpack/app/client/dist/js/app_Site.Controllers.MapElementController.js
2023-11-18 04:05:26 +02:00

2 lines
46 KiB
JavaScript

/*! For license information please see app_Site.Controllers.MapElementController.js.LICENSE.txt */
!function(){"use strict";var t={4949:function(t){function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}t.exports=function equal(t,r){if(t===r)return!0;if(t&&r&&"object"==_typeof(t)&&"object"==_typeof(r)){if(t.constructor!==r.constructor)return!1;var o,a,i;if(Array.isArray(t)){if((o=t.length)!=r.length)return!1;for(a=o;0!==a--;)if(!equal(t[a],r[a]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((o=(i=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(a=o;0!==a--;)if(!Object.prototype.hasOwnProperty.call(r,i[a]))return!1;for(a=o;0!==a--;){var l=i[a];if(!equal(t[l],r[l]))return!1}return!0}return t!==t&&r!==r}}},r={};function __webpack_require__(o){var a=r[o];if(void 0!==a)return a.exports;var i=r[o]={exports:{}};return t[o](i,i.exports,__webpack_require__),i.exports}__webpack_require__.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return __webpack_require__.d(r,{a:r}),r},__webpack_require__.d=function(t,r){for(var o in r)__webpack_require__.o(r,o)&&!__webpack_require__.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:r[o]})},__webpack_require__.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},function(){var t="ajax-load",r="load-ready",o="map-loaded",a="map-api-loaded",i="map-marker-click",l="map-popup-close",u=__webpack_require__(4949),c=__webpack_require__.n(u);function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}function _slicedToArray(t,r){return function _arrayWithHoles(t){if(Array.isArray(t))return t}(t)||function _iterableToArrayLimit(t,r){var o=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=o){var a,i,l,u,c=[],p=!0,m=!1;try{if(l=(o=o.call(t)).next,0===r){if(Object(o)!==o)return;p=!1}else for(;!(p=(a=l.call(o)).done)&&(c.push(a.value),c.length!==r);p=!0);}catch(t){m=!0,i=t}finally{try{if(!p&&null!=o.return&&(u=o.return(),Object(u)!==u))return}finally{if(m)throw i}}return c}}(t,r)||function _unsupportedIterableToArray(t,r){if(!t)return;if("string"===typeof t)return _arrayLikeToArray(t,r);var o=Object.prototype.toString.call(t).slice(8,-1);"Object"===o&&t.constructor&&(o=t.constructor.name);if("Map"===o||"Set"===o)return Array.from(t);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return _arrayLikeToArray(t,r)}(t,r)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(t,r){(null==r||r>t.length)&&(r=t.length);for(var o=0,a=new Array(r);o<r;o++)a[o]=t[o];return a}function _defineProperties(t,r){for(var o=0;o<r.length;o++){var a=r[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,(i=a.key,l=void 0,l=function _toPrimitive(t,r){if("object"!==_typeof(t)||null===t)return t;var o=t[Symbol.toPrimitive];if(void 0!==o){var a=o.call(t,r||"default");if("object"!==_typeof(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(i,"string"),"symbol"===_typeof(l)?l:String(l)),a)}var i,l}var p=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],m=function(){function KDBush(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:64,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Float64Array,a=arguments.length>3?arguments[3]:void 0;if(function _classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,KDBush),isNaN(t)||t<0)throw new Error("Unpexpected numItems value: ".concat(t,"."));this.numItems=+t,this.nodeSize=Math.min(Math.max(+r,2),65535),this.ArrayType=o,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;var i=p.indexOf(this.ArrayType),l=2*t*this.ArrayType.BYTES_PER_ELEMENT,u=t*this.IndexArrayType.BYTES_PER_ELEMENT,c=(8-u%8)%8;if(i<0)throw new Error("Unexpected typed array class: ".concat(o,"."));a&&a instanceof ArrayBuffer?(this.data=a,this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+u+c,2*t),this._pos=2*t,this._finished=!0):(this.data=new ArrayBuffer(8+l+u+c),this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+u+c,2*t),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+i]),new Uint16Array(this.data,2,1)[0]=r,new Uint32Array(this.data,4,1)[0]=t)}return function _createClass(t,r,o){return r&&_defineProperties(t.prototype,r),o&&_defineProperties(t,o),Object.defineProperty(t,"prototype",{writable:!1}),t}(KDBush,[{key:"add",value:function add(t,r){var o=this._pos>>1;return this.ids[o]=o,this.coords[this._pos++]=t,this.coords[this._pos++]=r,o}},{key:"finish",value:function finish(){var t=this._pos>>1;if(t!==this.numItems)throw new Error("Added ".concat(t," items when expected ").concat(this.numItems,"."));return sort(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}},{key:"range",value:function range(t,r,o,a){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");for(var i=this.ids,l=this.coords,u=this.nodeSize,c=[0,i.length-1,0],p=[];c.length;){var m=c.pop()||0,d=c.pop()||0,y=c.pop()||0;if(d-y<=u)for(var h=y;h<=d;h++){var g=l[2*h],v=l[2*h+1];g>=t&&g<=o&&v>=r&&v<=a&&p.push(i[h])}else{var _=y+d>>1,b=l[2*_],k=l[2*_+1];b>=t&&b<=o&&k>=r&&k<=a&&p.push(i[_]),(0===m?t<=b:r<=k)&&(c.push(y),c.push(_-1),c.push(1-m)),(0===m?o>=b:a>=k)&&(c.push(_+1),c.push(d),c.push(1-m))}}return p}},{key:"within",value:function within(t,r,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");for(var a=this.ids,i=this.coords,l=this.nodeSize,u=[0,a.length-1,0],c=[],p=o*o;u.length;){var m=u.pop()||0,d=u.pop()||0,y=u.pop()||0;if(d-y<=l)for(var h=y;h<=d;h++)sqDist(i[2*h],i[2*h+1],t,r)<=p&&c.push(a[h]);else{var g=y+d>>1,v=i[2*g],_=i[2*g+1];sqDist(v,_,t,r)<=p&&c.push(a[g]),(0===m?t-o<=v:r-o<=_)&&(u.push(y),u.push(g-1),u.push(1-m)),(0===m?t+o>=v:r+o>=_)&&(u.push(g+1),u.push(d),u.push(1-m))}}return c}}],[{key:"from",value:function from(t){if(!(t instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");var r=_slicedToArray(new Uint8Array(t,0,2),2),o=r[0],a=r[1];if(219!==o)throw new Error("Data does not appear to be in a KDBush format.");var i=a>>4;if(1!==i)throw new Error("Got v".concat(i," data when expected v").concat(1,"."));var l=p[15&a];if(!l)throw new Error("Unrecognized array type.");var u=_slicedToArray(new Uint16Array(t,2,1),1)[0];return new KDBush(_slicedToArray(new Uint32Array(t,4,1),1)[0],u,l,t)}}]),KDBush}();function sort(t,r,o,a,i,l){if(!(i-a<=o)){var u=a+i>>1;kdbush_select(t,r,u,a,i,l),sort(t,r,o,a,u-1,1-l),sort(t,r,o,u+1,i,1-l)}}function kdbush_select(t,r,o,a,i,l){for(;i>a;){if(i-a>600){var u=i-a+1,c=o-a+1,p=Math.log(u),m=.5*Math.exp(2*p/3),d=.5*Math.sqrt(p*m*(u-m)/u)*(c-u/2<0?-1:1);kdbush_select(t,r,o,Math.max(a,Math.floor(o-c*m/u+d)),Math.min(i,Math.floor(o+(u-c)*m/u+d)),l)}var y=r[2*o+l],h=a,g=i;for(swapItem(t,r,a,o),r[2*i+l]>y&&swapItem(t,r,a,i);h<g;){for(swapItem(t,r,h,g),h++,g--;r[2*h+l]<y;)h++;for(;r[2*g+l]>y;)g--}r[2*a+l]===y?swapItem(t,r,a,g):swapItem(t,r,++g,i),g<=o&&(a=g+1),o<=g&&(i=g-1)}}function swapItem(t,r,o,a){swap(t,o,a),swap(r,2*o,2*a),swap(r,2*o+1,2*a+1)}function swap(t,r,o){var a=t[r];t[r]=t[o],t[o]=a}function sqDist(t,r,o,a){var i=t-o,l=r-a;return i*i+l*l}function supercluster_typeof(t){return supercluster_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},supercluster_typeof(t)}function _createForOfIteratorHelper(t,r){var o="undefined"!==typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!o){if(Array.isArray(t)||(o=supercluster_unsupportedIterableToArray(t))||r&&t&&"number"===typeof t.length){o&&(t=o);var a=0,i=function F(){};return{s:i,n:function n(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function e(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,u=!0,c=!1;return{s:function s(){o=o.call(t)},n:function n(){var t=o.next();return u=t.done,t},e:function e(t){c=!0,l=t},f:function f(){try{u||null==o.return||o.return()}finally{if(c)throw l}}}}function supercluster_slicedToArray(t,r){return function supercluster_arrayWithHoles(t){if(Array.isArray(t))return t}(t)||function supercluster_iterableToArrayLimit(t,r){var o=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=o){var a,i,l,u,c=[],p=!0,m=!1;try{if(l=(o=o.call(t)).next,0===r){if(Object(o)!==o)return;p=!1}else for(;!(p=(a=l.call(o)).done)&&(c.push(a.value),c.length!==r);p=!0);}catch(t){m=!0,i=t}finally{try{if(!p&&null!=o.return&&(u=o.return(),Object(u)!==u))return}finally{if(m)throw i}}return c}}(t,r)||supercluster_unsupportedIterableToArray(t,r)||function supercluster_nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function supercluster_unsupportedIterableToArray(t,r){if(t){if("string"===typeof t)return supercluster_arrayLikeToArray(t,r);var o=Object.prototype.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?supercluster_arrayLikeToArray(t,r):void 0}}function supercluster_arrayLikeToArray(t,r){(null==r||r>t.length)&&(r=t.length);for(var o=0,a=new Array(r);o<r;o++)a[o]=t[o];return a}function supercluster_defineProperties(t,r){for(var o=0;o<r.length;o++){var a=r[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,(i=a.key,l=void 0,l=function supercluster_toPrimitive(t,r){if("object"!==supercluster_typeof(t)||null===t)return t;var o=t[Symbol.toPrimitive];if(void 0!==o){var a=o.call(t,r||"default");if("object"!==supercluster_typeof(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(i,"string"),"symbol"===supercluster_typeof(l)?l:String(l)),a)}var i,l}var d,y={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function map(t){return t}},h=Math.fround||(d=new Float32Array(1),function(t){return d[0]=+t,d[0]}),g=3,v=5,_=6,b=function(){function Supercluster(t){!function supercluster_classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,Supercluster),this.options=Object.assign(Object.create(y),t),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}return function supercluster_createClass(t,r,o){return r&&supercluster_defineProperties(t.prototype,r),o&&supercluster_defineProperties(t,o),Object.defineProperty(t,"prototype",{writable:!1}),t}(Supercluster,[{key:"load",value:function load(t){var r=this.options,o=r.log,a=r.minZoom,i=r.maxZoom;o&&console.time("total time");var l="prepare ".concat(t.length," points");o&&console.time(l),this.points=t;for(var u=[],c=0;c<t.length;c++){var p=t[c];if(p.geometry){var m=supercluster_slicedToArray(p.geometry.coordinates,2),d=m[0],y=m[1],g=h(lngX(d)),v=h(latY(y));u.push(g,v,1/0,c,-1,1),this.options.reduce&&u.push(0)}}var _=this.trees[i+1]=this._createTree(u);o&&console.timeEnd(l);for(var b=i;b>=a;b--){var k=+Date.now();_=this.trees[b]=this._createTree(this._cluster(_,b)),o&&console.log("z%d: %d clusters in %dms",b,_.numItems,+Date.now()-k)}return o&&console.timeEnd("total time"),this}},{key:"getClusters",value:function getClusters(t,r){var o=((t[0]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,t[1])),i=180===t[2]?180:((t[2]+180)%360+360)%360-180,l=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)o=-180,i=180;else if(o>i){var u=this.getClusters([o,a,180,l],r),c=this.getClusters([-180,a,i,l],r);return u.concat(c)}var p,m=this.trees[this._limitZoom(r)],d=m.range(lngX(o),latY(l),lngX(i),latY(a)),y=m.data,h=[],_=_createForOfIteratorHelper(d);try{for(_.s();!(p=_.n()).done;){var b=p.value,k=this.stride*b;h.push(y[k+v]>1?getClusterJSON(y,k,this.clusterProps):this.points[y[k+g]])}}catch(w){_.e(w)}finally{_.f()}return h}},{key:"getChildren",value:function getChildren(t){var r=this._getOriginId(t),o=this._getOriginZoom(t),a="No cluster with the specified id.",i=this.trees[o];if(!i)throw new Error(a);var l=i.data;if(r*this.stride>=l.length)throw new Error(a);var u,c=this.options.radius/(this.options.extent*Math.pow(2,o-1)),p=l[r*this.stride],m=l[r*this.stride+1],d=[],y=_createForOfIteratorHelper(i.within(p,m,c));try{for(y.s();!(u=y.n()).done;){var h=u.value*this.stride;l[h+4]===t&&d.push(l[h+v]>1?getClusterJSON(l,h,this.clusterProps):this.points[l[h+g]])}}catch(_){y.e(_)}finally{y.f()}if(0===d.length)throw new Error(a);return d}},{key:"getLeaves",value:function getLeaves(t,r,o){r=r||10,o=o||0;var a=[];return this._appendLeaves(a,t,r,o,0),a}},{key:"getTile",value:function getTile(t,r,o){var a=this.trees[this._limitZoom(t)],i=Math.pow(2,t),l=this.options,u=l.extent,c=l.radius/u,p=(o-c)/i,m=(o+1+c)/i,d={features:[]};return this._addTileFeatures(a.range((r-c)/i,p,(r+1+c)/i,m),a.data,r,o,i,d),0===r&&this._addTileFeatures(a.range(1-c/i,p,1,m),a.data,i,o,i,d),r===i-1&&this._addTileFeatures(a.range(0,p,c/i,m),a.data,-1,o,i,d),d.features.length?d:null}},{key:"getClusterExpansionZoom",value:function getClusterExpansionZoom(t){for(var r=this._getOriginZoom(t)-1;r<=this.options.maxZoom;){var o=this.getChildren(t);if(r++,1!==o.length)break;t=o[0].properties.cluster_id}return r}},{key:"_appendLeaves",value:function _appendLeaves(t,r,o,a,i){var l,u=_createForOfIteratorHelper(this.getChildren(r));try{for(u.s();!(l=u.n()).done;){var c=l.value,p=c.properties;if(p&&p.cluster?i+p.point_count<=a?i+=p.point_count:i=this._appendLeaves(t,p.cluster_id,o,a,i):i<a?i++:t.push(c),t.length===o)break}}catch(m){u.e(m)}finally{u.f()}return i}},{key:"_createTree",value:function _createTree(t){for(var r=new m(t.length/this.stride|0,this.options.nodeSize,Float32Array),o=0;o<t.length;o+=this.stride)r.add(t[o],t[o+1]);return r.finish(),r.data=t,r}},{key:"_addTileFeatures",value:function _addTileFeatures(t,r,o,a,i,l){var u,c=_createForOfIteratorHelper(t);try{for(c.s();!(u=c.n()).done;){var p=u.value*this.stride,m=r[p+v]>1,d=void 0,y=void 0,h=void 0;if(m)d=getClusterProperties(r,p,this.clusterProps),y=r[p],h=r[p+1];else{var _=this.points[r[p+g]];d=_.properties;var b=supercluster_slicedToArray(_.geometry.coordinates,2),k=b[0],w=b[1];y=lngX(k),h=latY(w)}var x={type:1,geometry:[[Math.round(this.options.extent*(y*i-o)),Math.round(this.options.extent*(h*i-a))]],tags:d},M=void 0;void 0!==(M=m||this.options.generateId?r[p+g]:this.points[r[p+g]].id)&&(x.id=M),l.features.push(x)}}catch(C){c.e(C)}finally{c.f()}}},{key:"_limitZoom",value:function _limitZoom(t){return Math.max(this.options.minZoom,Math.min(Math.floor(+t),this.options.maxZoom+1))}},{key:"_cluster",value:function _cluster(t,r){for(var o=this.options,a=o.radius,i=o.extent,l=o.reduce,u=o.minPoints,c=a/(i*Math.pow(2,r)),p=t.data,m=[],d=this.stride,y=0;y<p.length;y+=d)if(!(p[y+2]<=r)){p[y+2]=r;var h,g=p[y],_=p[y+1],b=t.within(p[y],p[y+1],c),k=p[y+v],w=k,x=_createForOfIteratorHelper(b);try{for(x.s();!(h=x.n()).done;){var M=h.value*d;p[M+2]>r&&(w+=p[M+v])}}catch(U){x.e(U)}finally{x.f()}if(w>k&&w>=u){var C,P=g*k,A=_*k,O=void 0,S=-1,I=((y/d|0)<<5)+(r+1)+this.points.length,T=_createForOfIteratorHelper(b);try{for(T.s();!(C=T.n()).done;){var E=C.value*d;if(!(p[E+2]<=r)){p[E+2]=r;var j=p[E+v];P+=p[E]*j,A+=p[E+1]*j,p[E+4]=I,l&&(O||(O=this._map(p,y,!0),S=this.clusterProps.length,this.clusterProps.push(O)),l(O,this._map(p,E)))}}}catch(U){T.e(U)}finally{T.f()}p[y+4]=I,m.push(P/w,A/w,1/0,I,-1,w),l&&m.push(S)}else{for(var L=0;L<d;L++)m.push(p[y+L]);if(w>1){var D,N=_createForOfIteratorHelper(b);try{for(N.s();!(D=N.n()).done;){var R=D.value*d;if(!(p[R+2]<=r)){p[R+2]=r;for(var Z=0;Z<d;Z++)m.push(p[R+Z])}}}catch(U){N.e(U)}finally{N.f()}}}}return m}},{key:"_getOriginId",value:function _getOriginId(t){return t-this.points.length>>5}},{key:"_getOriginZoom",value:function _getOriginZoom(t){return(t-this.points.length)%32}},{key:"_map",value:function _map(t,r,o){if(t[r+v]>1){var a=this.clusterProps[t[r+_]];return o?Object.assign({},a):a}var i=this.points[t[r+g]].properties,l=this.options.map(i);return o&&l===i?Object.assign({},l):l}}]),Supercluster}();function getClusterJSON(t,r,o){return{type:"Feature",id:t[r+g],properties:getClusterProperties(t,r,o),geometry:{type:"Point",coordinates:[(l=t[r],360*(l-.5)),(a=t[r+1],i=(180-360*a)*Math.PI/180,360*Math.atan(Math.exp(i))/Math.PI-90)]}};var a,i,l}function getClusterProperties(t,r,o){var a=t[r+v],i=a>=1e4?"".concat(Math.round(a/1e3),"k"):a>=1e3?"".concat(Math.round(a/100)/10,"k"):a,l=t[r+_],u=-1===l?{}:Object.assign({},o[l]);return Object.assign(u,{cluster:!0,cluster_id:t[r+g],point_count:a,point_count_abbreviated:i})}function lngX(t){return t/360+.5}function latY(t){var r=Math.sin(t*Math.PI/180),o=.5-.25*Math.log((1+r)/(1-r))/Math.PI;return o<0?0:o>1?1:o}function index_esm_slicedToArray(t,r){return function index_esm_arrayWithHoles(t){if(Array.isArray(t))return t}(t)||function index_esm_iterableToArrayLimit(t,r){var o=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=o){var a,i,l,u,c=[],p=!0,m=!1;try{if(l=(o=o.call(t)).next,0===r){if(Object(o)!==o)return;p=!1}else for(;!(p=(a=l.call(o)).done)&&(c.push(a.value),c.length!==r);p=!0);}catch(t){m=!0,i=t}finally{try{if(!p&&null!=o.return&&(u=o.return(),Object(u)!==u))return}finally{if(m)throw i}}return c}}(t,r)||index_esm_unsupportedIterableToArray(t,r)||function index_esm_nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _toConsumableArray(t){return function _arrayWithoutHoles(t){if(Array.isArray(t))return index_esm_arrayLikeToArray(t)}(t)||function _iterableToArray(t){if("undefined"!==typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||index_esm_unsupportedIterableToArray(t)||function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _inherits(t,r){if("function"!==typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&_setPrototypeOf(t,r)}function _setPrototypeOf(t,r){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(t,r){return t.__proto__=r,t},_setPrototypeOf(t,r)}function _createSuper(t){var r=function _isNativeReflectConstruct(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function _createSuperInternal(){var o,a=_getPrototypeOf(t);if(r){var i=_getPrototypeOf(this).constructor;o=Reflect.construct(a,arguments,i)}else o=a.apply(this,arguments);return function _possibleConstructorReturn(t,r){if(r&&("object"===index_esm_typeof(r)||"function"===typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return function _assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(this,o)}}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function _getPrototypeOf(t){return t.__proto__||Object.getPrototypeOf(t)},_getPrototypeOf(t)}function index_esm_createForOfIteratorHelper(t,r){var o="undefined"!==typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!o){if(Array.isArray(t)||(o=index_esm_unsupportedIterableToArray(t))||r&&t&&"number"===typeof t.length){o&&(t=o);var a=0,i=function F(){};return{s:i,n:function n(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function e(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,u=!0,c=!1;return{s:function s(){o=o.call(t)},n:function n(){var t=o.next();return u=t.done,t},e:function e(t){c=!0,l=t},f:function f(){try{u||null==o.return||o.return()}finally{if(c)throw l}}}}function index_esm_unsupportedIterableToArray(t,r){if(t){if("string"===typeof t)return index_esm_arrayLikeToArray(t,r);var o=Object.prototype.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?index_esm_arrayLikeToArray(t,r):void 0}}function index_esm_arrayLikeToArray(t,r){(null==r||r>t.length)&&(r=t.length);for(var o=0,a=new Array(r);o<r;o++)a[o]=t[o];return a}function index_esm_typeof(t){return index_esm_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},index_esm_typeof(t)}function index_esm_classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}function index_esm_defineProperties(t,r){for(var o=0;o<r.length;o++){var a=r[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,(i=a.key,l=void 0,l=function index_esm_toPrimitive(t,r){if("object"!==index_esm_typeof(t)||null===t)return t;var o=t[Symbol.toPrimitive];if(void 0!==o){var a=o.call(t,r||"default");if("object"!==index_esm_typeof(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(i,"string"),"symbol"===index_esm_typeof(l)?l:String(l)),a)}var i,l}function index_esm_createClass(t,r,o){return r&&index_esm_defineProperties(t.prototype,r),o&&index_esm_defineProperties(t,o),Object.defineProperty(t,"prototype",{writable:!1}),t}function __rest(t,r){var o={};for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&r.indexOf(a)<0&&(o[a]=t[a]);if(null!=t&&"function"===typeof Object.getOwnPropertySymbols){var i=0;for(a=Object.getOwnPropertySymbols(t);i<a.length;i++)r.indexOf(a[i])<0&&Object.prototype.propertyIsEnumerable.call(t,a[i])&&(o[a[i]]=t[a[i]])}return o}var k=function(){function MarkerUtils(){index_esm_classCallCheck(this,MarkerUtils)}return index_esm_createClass(MarkerUtils,null,[{key:"isAdvancedMarkerAvailable",value:function isAdvancedMarkerAvailable(t){return google.maps.marker&&!0===t.getMapCapabilities().isAdvancedMarkersAvailable}},{key:"isAdvancedMarker",value:function isAdvancedMarker(t){return google.maps.marker&&t instanceof google.maps.marker.AdvancedMarkerElement}},{key:"setMap",value:function setMap(t,r){this.isAdvancedMarker(t)?t.map=r:t.setMap(r)}},{key:"getPosition",value:function getPosition(t){if(this.isAdvancedMarker(t)){if(t.position){if(t.position instanceof google.maps.LatLng)return t.position;if(t.position.lat&&t.position.lng)return new google.maps.LatLng(t.position.lat,t.position.lng)}return new google.maps.LatLng(null)}return t.getPosition()}},{key:"getVisible",value:function getVisible(t){return!!this.isAdvancedMarker(t)||t.getVisible()}}]),MarkerUtils}(),w=function(){function Cluster(t){var r=t.markers,o=t.position;index_esm_classCallCheck(this,Cluster),this.markers=r,o&&(o instanceof google.maps.LatLng?this._position=o:this._position=new google.maps.LatLng(o))}return index_esm_createClass(Cluster,[{key:"bounds",get:function get(){if(0!==this.markers.length||this._position){var t,r=new google.maps.LatLngBounds(this._position,this._position),o=index_esm_createForOfIteratorHelper(this.markers);try{for(o.s();!(t=o.n()).done;){var a=t.value;r.extend(k.getPosition(a))}}catch(i){o.e(i)}finally{o.f()}return r}}},{key:"position",get:function get(){return this._position||this.bounds.getCenter()}},{key:"count",get:function get(){return this.markers.filter((function(t){return k.getVisible(t)})).length}},{key:"push",value:function push(t){this.markers.push(t)}},{key:"delete",value:function _delete(){this.marker&&(k.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}}]),Cluster}(),x=function(){function AbstractAlgorithm(t){var r=t.maxZoom,o=void 0===r?16:r;index_esm_classCallCheck(this,AbstractAlgorithm),this.maxZoom=o}return index_esm_createClass(AbstractAlgorithm,[{key:"noop",value:function noop(t){var r=t.markers;return M(r)}}]),AbstractAlgorithm}(),M=function _noop(t){return t.map((function(t){return new w({position:k.getPosition(t),markers:[t]})}))},C=function(t){_inherits(SuperClusterAlgorithm,t);var r=_createSuper(SuperClusterAlgorithm);function SuperClusterAlgorithm(t){var o;index_esm_classCallCheck(this,SuperClusterAlgorithm);var a=t.maxZoom,i=t.radius,l=void 0===i?60:i,u=__rest(t,["maxZoom","radius"]);return(o=r.call(this,{maxZoom:a})).state={zoom:-1},o.superCluster=new b(Object.assign({maxZoom:o.maxZoom,radius:l},u)),o}return index_esm_createClass(SuperClusterAlgorithm,[{key:"calculate",value:function calculate(t){var r=!1,o={zoom:t.map.getZoom()};if(!c()(t.markers,this.markers)){r=!0,this.markers=_toConsumableArray(t.markers);var a=this.markers.map((function(t){var r=k.getPosition(t);return{type:"Feature",geometry:{type:"Point",coordinates:[r.lng(),r.lat()]},properties:{marker:t}}}));this.superCluster.load(a)}return r||(this.state.zoom<=this.maxZoom||o.zoom<=this.maxZoom)&&(r=!c()(this.state,o)),this.state=o,r&&(this.clusters=this.cluster(t)),{clusters:this.clusters,changed:r}}},{key:"cluster",value:function cluster(t){var r=this,o=t.map;return this.superCluster.getClusters([-180,-90,180,90],Math.round(o.getZoom())).map((function(t){return r.transformCluster(t)}))}},{key:"transformCluster",value:function transformCluster(t){var r=index_esm_slicedToArray(t.geometry.coordinates,2),o=r[0],a=r[1],i=t.properties;if(i.cluster)return new w({markers:this.superCluster.getLeaves(i.cluster_id,1/0).map((function(t){return t.properties.marker})),position:{lat:a,lng:o}});var l=i.marker;return new w({markers:[l],position:k.getPosition(l)})}}]),SuperClusterAlgorithm}(x),P=index_esm_createClass((function ClusterStats(t,r){index_esm_classCallCheck(this,ClusterStats),this.markers={sum:t.length};var o=r.map((function(t){return t.count})),a=o.reduce((function(t,r){return t+r}),0);this.clusters={count:r.length,markers:{mean:a/r.length,sum:a,min:Math.min.apply(Math,_toConsumableArray(o)),max:Math.max.apply(Math,_toConsumableArray(o))}}})),A=function(){function DefaultRenderer(){index_esm_classCallCheck(this,DefaultRenderer)}return index_esm_createClass(DefaultRenderer,[{key:"render",value:function render(t,r,o){var a=t.count,i=t.position,l=a>Math.max(10,r.clusters.markers.mean)?"#ff0000":"#0000ff",u='<svg fill="'.concat(l,'" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240" width="50" height="50">\n<circle cx="120" cy="120" opacity=".6" r="70" />\n<circle cx="120" cy="120" opacity=".3" r="90" />\n<circle cx="120" cy="120" opacity=".2" r="110" />\n<text x="50%" y="50%" style="fill:#fff" text-anchor="middle" font-size="50" dominant-baseline="middle" font-family="roboto,arial,sans-serif">').concat(a,"</text>\n</svg>"),c="Cluster of ".concat(a," markers"),p=Number(google.maps.Marker.MAX_ZINDEX)+a;if(k.isAdvancedMarkerAvailable(o)){var m=(new DOMParser).parseFromString(u,"image/svg+xml").documentElement;m.setAttribute("transform","translate(0 25)");var d={map:o,position:i,zIndex:p,title:c,content:m};return new google.maps.marker.AdvancedMarkerElement(d)}var y={position:i,zIndex:p,title:c,icon:{url:"data:image/svg+xml;base64,".concat(btoa(u)),anchor:new google.maps.Point(25,25)}};return new google.maps.Marker(y)}}]),DefaultRenderer}();var O,S=index_esm_createClass((function OverlayViewSafe(){index_esm_classCallCheck(this,OverlayViewSafe),function extend(t,r){for(var o in r.prototype)t.prototype[o]=r.prototype[o]}(OverlayViewSafe,google.maps.OverlayView)}));!function(t){t.CLUSTERING_BEGIN="clusteringbegin",t.CLUSTERING_END="clusteringend",t.CLUSTER_CLICK="click"}(O||(O={}));var I=function defaultOnClusterClickHandler(t,r,o){o.fitBounds(r.bounds)},T=function(t){_inherits(MarkerClusterer,t);var r=_createSuper(MarkerClusterer);function MarkerClusterer(t){var o,a=t.map,i=t.markers,l=void 0===i?[]:i,u=t.algorithmOptions,c=void 0===u?{}:u,p=t.algorithm,m=void 0===p?new C(c):p,d=t.renderer,y=void 0===d?new A:d,h=t.onClusterClick,g=void 0===h?I:h;return index_esm_classCallCheck(this,MarkerClusterer),(o=r.call(this)).markers=_toConsumableArray(l),o.clusters=[],o.algorithm=m,o.renderer=y,o.onClusterClick=g,a&&o.setMap(a),o}return index_esm_createClass(MarkerClusterer,[{key:"addMarker",value:function addMarker(t,r){this.markers.includes(t)||(this.markers.push(t),r||this.render())}},{key:"addMarkers",value:function addMarkers(t,r){var o=this;t.forEach((function(t){o.addMarker(t,!0)})),r||this.render()}},{key:"removeMarker",value:function removeMarker(t,r){var o=this.markers.indexOf(t);return-1!==o&&(k.setMap(t,null),this.markers.splice(o,1),r||this.render(),!0)}},{key:"removeMarkers",value:function removeMarkers(t,r){var o=this,a=!1;return t.forEach((function(t){a=o.removeMarker(t,!0)||a})),a&&!r&&this.render(),a}},{key:"clearMarkers",value:function clearMarkers(t){this.markers.length=0,t||this.render()}},{key:"render",value:function render(){var t=this.getMap();if(t instanceof google.maps.Map&&t.getProjection()){google.maps.event.trigger(this,O.CLUSTERING_BEGIN,this);var r=this.algorithm.calculate({markers:this.markers,map:t,mapCanvasProjection:this.getProjection()}),o=r.clusters,a=r.changed;if(a||void 0==a){var i,l=new Set,u=index_esm_createForOfIteratorHelper(o);try{for(u.s();!(i=u.n()).done;){var c=i.value;1==c.markers.length&&l.add(c.markers[0])}}catch(h){u.e(h)}finally{u.f()}var p,m=[],d=index_esm_createForOfIteratorHelper(this.clusters);try{for(d.s();!(p=d.n()).done;){var y=p.value;null!=y.marker&&(1==y.markers.length?l.has(y.marker)||k.setMap(y.marker,null):m.push(y.marker))}}catch(h){d.e(h)}finally{d.f()}this.clusters=o,this.renderClusters(),requestAnimationFrame((function(){return m.forEach((function(t){return k.setMap(t,null)}))}))}google.maps.event.trigger(this,O.CLUSTERING_END,this)}}},{key:"onAdd",value:function onAdd(){this.idleListener=this.getMap().addListener("idle",this.render.bind(this)),this.render()}},{key:"onRemove",value:function onRemove(){google.maps.event.removeListener(this.idleListener),this.reset()}},{key:"reset",value:function reset(){this.markers.forEach((function(t){return k.setMap(t,null)})),this.clusters.forEach((function(t){return t.delete()})),this.clusters=[]}},{key:"renderClusters",value:function renderClusters(){var t=this,r=new P(this.markers,this.clusters),o=this.getMap();this.clusters.forEach((function(a){1===a.markers.length?a.marker=a.markers[0]:(a.marker=t.renderer.render(a,r,o),a.markers.forEach((function(t){return k.setMap(t,null)})),t.onClusterClick&&a.marker.addListener("click",(function(r){google.maps.event.trigger(t,O.CLUSTER_CLICK,a),t.onClusterClick(r,a,o)}))),k.setMap(a.marker,o)}))}}]),MarkerClusterer}(S);function map_google_marker_typeof(t){return map_google_marker_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},map_google_marker_typeof(t)}function map_google_marker_defineProperties(t,r){for(var o=0;o<r.length;o++){var a=r[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,(i=a.key,l=void 0,l=function map_google_marker_toPrimitive(t,r){if("object"!==map_google_marker_typeof(t)||null===t)return t;var o=t[Symbol.toPrimitive];if(void 0!==o){var a=o.call(t,r||"default");if("object"!==map_google_marker_typeof(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(i,"string"),"symbol"===map_google_marker_typeof(l)?l:String(l)),a)}var i,l}function map_google_marker_setPrototypeOf(t,r){return map_google_marker_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(t,r){return t.__proto__=r,t},map_google_marker_setPrototypeOf(t,r)}function map_google_marker_createSuper(t){var r=function map_google_marker_isNativeReflectConstruct(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function _createSuperInternal(){var o,a=map_google_marker_getPrototypeOf(t);if(r){var i=map_google_marker_getPrototypeOf(this).constructor;o=Reflect.construct(a,arguments,i)}else o=a.apply(this,arguments);return function map_google_marker_possibleConstructorReturn(t,r){if(r&&("object"===map_google_marker_typeof(r)||"function"===typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return map_google_marker_assertThisInitialized(t)}(this,o)}}function map_google_marker_assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function map_google_marker_getPrototypeOf(t){return map_google_marker_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function _getPrototypeOf(t){return t.__proto__||Object.getPrototypeOf(t)},map_google_marker_getPrototypeOf(t)}var E={init:function init(){return function(t){!function map_google_marker_inherits(t,r){if("function"!==typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&map_google_marker_setPrototypeOf(t,r)}(GoogleMapsHtmlOverlay,window.google.maps.OverlayView);var r=map_google_marker_createSuper(GoogleMapsHtmlOverlay);function GoogleMapsHtmlOverlay(t){var o;!function map_google_marker_classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,GoogleMapsHtmlOverlay);var a=map_google_marker_assertThisInitialized(o=r.call(this));return a.ownerMap=t.map,a.position=t.position,a.html=t.html?t.html:'<div class="mapboxgl-marker"><i class="marker-icon fas fa-map-marker-alt"></i></div>',a.divClass=t.divClass,a.align=t.align,a.isDebugMode=t.debug,a.onClick=t.onClick,a.onMouseOver=t.onMouseOver,a.isBoolean=function(t){return"boolean"===typeof t},a.isNotUndefined=function(t){return"undefined"!==typeof t},a.hasContent=function(t){return t.length>0},a.isString=function(t){return"string"===typeof t},a.isFunction=function(t){return"function"===typeof t},o}return function map_google_marker_createClass(t,r,o){return r&&map_google_marker_defineProperties(t.prototype,r),o&&map_google_marker_defineProperties(t,o),Object.defineProperty(t,"prototype",{writable:!1}),t}(GoogleMapsHtmlOverlay,[{key:"onAdd",value:function onAdd(){var t=this;t.div=document.createElement("div"),t.div.style.position="absolute",t.isNotUndefined(t.divClass)&&t.hasContent(t.divClass)&&(t.div.className=t.divClass),t.isNotUndefined(t.html)&&t.hasContent(t.html)&&t.isString(t.html)&&(t.div.innerHTML=t.html),t.isBoolean(t.isDebugMode)&&t.isDebugMode&&(t.div.className="debug-mode",t.div.innerHTML='<div style="height: 10px; width: 10px; background: red; border-radius: 100%;"></div><div style="position: absolute; top: 5px; padding: 5px; width: 130px; text-align: center; font-size: 18px; text-transform: uppercase; font-weight: bolder; background: red; color: white; font-family: Arial;">Debug mode</div>',t.div.setAttribute("style","position: absolute;border: 5px dashed red;height: 150px;width: 150px;display: flex;justify-content: center;align-items: center;")),t.getPanes().overlayMouseTarget.appendChild(t.div),t.div.addEventListener("click",(function(r){window.google.maps.event.trigger(t,"click"),t.isFunction(t.onClick)&&t.onClick(),r.stopPropagation()})),t.div.addEventListener("mouseover",(function(r){window.google.maps.event.trigger(t,"mouseover"),t.isFunction(t.onMouseOver)&&t.onMouseOver(),r.stopPropagation()}))}},{key:"draw",value:function draw(){var t=this,r=document.querySelector(".popup");r.length||(r=t.div);var o=t.getProjection();if(!o)return console.log("GoogleMapsHtmlOverlay: current map is missing"),null;var a=o.fromLatLngToDivPixel(t.getPosition()),i={y:void 0,x:void 0},l=r.offsetWidth,u=r.offsetHeight;switch(Array.isArray(t.align)?t.align.join(" "):""){case"left top":i.y=u,i.x=l;break;case"left center":i.y=u/2,i.x=l;break;case"left bottom":i.y=0,i.x=l;break;case"center top":i.y=u,i.x=l/2;break;case"center center":default:i.y=u/2,i.x=l/2;break;case"center bottom":i.y=0,i.x=l/2;break;case"right top":i.y=u,i.x=0;break;case"right center":i.y=u/2,i.x=0;break;case"right bottom":i.y=0,i.x=0}t.div.style.top="".concat(a.y-i.y,"px"),t.div.style.left="".concat(a.x-i.x,"px")}},{key:"getPosition",value:function getPosition(){return new window.google.maps.LatLng(this.position)}},{key:"getDiv",value:function getDiv(){return this.div}},{key:"setPosition",value:function setPosition(t,r){var o=this;o.position=t,o.align=r,o.draw()}},{key:"remove",value:function remove(){this.setMap(null),this.div.remove()}},{key:"getDraggable",value:function getDraggable(){return!1}}]),GoogleMapsHtmlOverlay}()}};function map_google_typeof(t){return map_google_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},map_google_typeof(t)}function map_google_defineProperties(t,r){for(var o=0;o<r.length;o++){var a=r[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,(i=a.key,l=void 0,l=function map_google_toPrimitive(t,r){if("object"!==map_google_typeof(t)||null===t)return t;var o=t[Symbol.toPrimitive];if(void 0!==o){var a=o.call(t,r||"default");if("object"!==map_google_typeof(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(i,"string"),"symbol"===map_google_typeof(l)?l:String(l)),a)}var i,l}var j=function(t){var r=function(){function GoogleMapsDriver(){!function map_google_classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,GoogleMapsDriver)}return function map_google_createClass(t,r,o){return r&&map_google_defineProperties(t.prototype,r),o&&map_google_defineProperties(t,o),Object.defineProperty(t,"prototype",{writable:!1}),t}(GoogleMapsDriver,[{key:"getName",value:function getName(){return"GoogleMapsDriver"}},{key:"init",value:function init(r){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],a=this;a.el=r,a.config=o,a.markers=[],t["init".concat(a.getName())]=function(){a.googleApiLoaded()};var i=document.createElement("script");i.src="https://maps.googleapis.com/maps/api/js?key=".concat(o.key,"&callback=init").concat(a.getName()),i.async=!0,i.defer=!0,document.head.appendChild(i)}},{key:"googleApiLoaded",value:function googleApiLoaded(){var r=this,o=r.el,i=r.config,l=o.querySelector(".mapAPI-map"),u=i.mapZoom&&"0"!==i.mapZoom?parseInt(i.mapZoom):10,c=i.center&&","!==i.center?{lat:i.center[1],lng:i.center[0]}:{lat:0,lng:0},p=i.style?i.style:null;console.log("".concat(r.getName(),": API is loaded")),r.MarkerUI=E.init(),r.map=new t.google.maps.Map(l,{zoom:u,center:c,fullscreenControl:!0,styles:p}),r.default_zoom=u,l.classList.add("mapboxgl-map"),r.popup=new r.MarkerUI({map:r.map,align:["center","top"],divClass:"mapboxgl-popup popup mapboxgl-popup-anchor-bottom d-none",html:'<div class="mapboxgl-popup-tip"></div><div class="mapboxgl-popup-content"><div class="mapboxgl-popup-close-button" type="button" aria-label="Close popup">\xd7</div><div class="html"></div></div>'}),r.popup.setMap(r.map),r.geocoder=new t.google.maps.Geocoder,r.cluster=new T(r.map,null,{styles:[{width:30,height:30,className:"mapboxgl-cluster"}]}),o.dispatchEvent(new Event(a))}},{key:"addMarker",value:function addMarker(t,r){var o=this,a={lat:t[1],lng:t[0]},l=new o.MarkerUI({position:a,map:o.map,align:["center","top"],html:'<div class="mapboxgl-marker"><div id="Marker'.concat(r.id,'" data-id="').concat(r.id,'" class="marker">').concat(r.icon,"</div></div>"),onClick:function onClick(){var t=document.querySelector("#Marker".concat(r.id));o.showPopup(a,r.content),t.dispatchEvent(new Event(i))}});return o.markers.push(l),o.cluster.addMarker(l),l.setMap(o.map),l}},{key:"showPopup",value:function showPopup(t,r){var o=this,a=o.popup.getDiv();o.config.flyToMarker&&(o.map.setCenter(t),o.config.noZoom||o.map.setZoom(18)),a.style.opacity="0",a.classList.remove("d-none"),a.querySelector(".mapboxgl-popup-content .html").innerHTML=r,a.querySelector(".mapboxgl-popup-close-button").addEventListener("click",(function(t){t.preventDefault(),o.hidePopup()})),o.popup.setPosition(t,["center","top"]),a.style.opacity="1",a.style["margin-top"]="-1rem"}},{key:"hidePopup",value:function hidePopup(){var t=this;t.popup.getDiv().classList.add("d-none"),t.config.noRestoreBounds&&!t.config.flyToBounds||t.restoreBounds(),t.el.dispatchEvent(new Event(l))}},{key:"geocode",value:function geocode(t,r){var o=this;o.geocoder.geocode({address:t},(function(t,a){if("OK"===a)return"function"===typeof r&&r(t),t;console.error("".concat(o.getName(),": Geocode was not successful for the following reason: ").concat(a))}))}},{key:"reverseGeocode",value:function reverseGeocode(t,r){var o=this;o.geocoder.geocode({location:latlng},(function(t,a){if("OK"===a)return"function"===typeof r&&r(t),t;console.error("".concat(o.getName(),": Reverse Geocoding was not successful for the following reason: ").concat(a))}))}},{key:"addGeoJson",value:function addGeoJson(r){var o=this,a=JSON.parse(r.geojson),i=new t.google.maps.LatLngBounds;a.features.forEach((function(t){var a=t.id,l=t.geometry.coordinates,u=t.properties.content;o.addMarker(l,{id:a,content:u,icon:t.icon,flyToMarker:r.flyToMarker}),i.extend({lat:parseFloat(l[1]),lng:parseFloat(l[0])})})),o.markers.length>1?o.map.fitBounds(i,{padding:30}):o.markers[0]&&o.map.setCenter(o.markers[0].getPosition()),o.default_bounds=i,o.default_zoom=o.map.getZoom()}},{key:"getMap",value:function getMap(){return this.map}},{key:"getPopup",value:function getPopup(){return this.popup}},{key:"restoreBounds",value:function restoreBounds(){var t=this;t.default_bounds&&t.markers.length>1?t.map.fitBounds(t.default_bounds,{padding:30}):(t.markers[0]&&t.map.setCenter(t.markers[0].getPosition()),t.restoreZoom())}},{key:"restoreZoom",value:function restoreZoom(){this.map.setZoom(this.default_zoom)}}]),GoogleMapsDriver}();return r}(window),L={ENVS:["xs","sm","md","lg","xl","xxl","xxxl"],MAP_DRIVER:j};function map_api_typeof(t){return map_api_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},map_api_typeof(t)}function map_api_defineProperties(t,r){for(var o=0;o<r.length;o++){var a=r[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,(i=a.key,l=void 0,l=function map_api_toPrimitive(t,r){if("object"!==map_api_typeof(t)||null===t)return t;var o=t[Symbol.toPrimitive];if(void 0!==o){var a=o.call(t,r||"default");if("object"!==map_api_typeof(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(i,"string"),"symbol"===map_api_typeof(l)?l:String(l)),a)}var i,l}!function(i){var l="js-mapapi",u=L.MAP_DRIVER,c=function(){function MapAPI(t){!function map_api_classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,MapAPI);var r=this,o=new u,i=document.querySelector("body"),c=t.dataset;c.lng?c.lng:i.dataset["default-lng"],c.lat?c.lat:i.dataset["default-lat"];c.icon||(c.icon='<i class="fas fa-map-marker-alt"></i>'),console.log("".concat(l,": init ").concat(o.getName(),"...")),r.drv=o,r.el=t,r.config=c,o.init(t,c),t.addEventListener(a,(function(){r.addMarkers()}))}return function map_api_createClass(t,r,o){return r&&map_api_defineProperties(t.prototype,r),o&&map_api_defineProperties(t,o),Object.defineProperty(t,"prototype",{writable:!1}),t}(MapAPI,[{key:"getMap",value:function getMap(){return this.map}},{key:"dispose",value:function dispose(){this.el=null,this.el.classList.remove("".concat(l,"-active"))}},{key:"addMarkers",value:function addMarkers(){console.log("".concat(l,": addMarkers"));var t=this,r=t.el,a=t.drv,i=t.config;if(t.map=a.getMap(),i.geojson)console.log("".concat(l,": setting up geocode data")),a.addGeoJson(i);else if(i.address)console.log(i.address),console.log("".concat(l,": setting up address marker")),a.geocode(i.address,(function(r){console.log(r);var o=parseFloat(r[0].geometry.location.lat()),u=parseFloat(r[0].geometry.location.lng());console.log("".concat(l,": setting up single lat/lng marker lat: ").concat(o," lng: ").concat(u," #1")),a.addMarker([u,o],i),t.map.setCenter({lat:o,lng:u})}));else if(i.lat&&i.lng){var u=parseFloat(i.lat),c=parseFloat(i.lng);console.log("".concat(l,": setting up single lat/lng marker lat: ").concat(u," lng: ").concat(c," #2")),a.addMarker([c,u],i),t.map.setCenter({lat:u,lng:c})}r.classList.add("".concat(l,"-active")),r.dispatchEvent(new Event(o)),console.log("".concat(l,": Map is loaded"))}}]),MapAPI}(),p=function init(){console.log("".concat(l,": init")),document.querySelectorAll(".".concat(l)).forEach((function(t,r){new c(t)}))};i.addEventListener("".concat(r),p),i.addEventListener("".concat(t),p)}(window)}()}();