diff --git a/assets/highlight.css b/assets/highlight.css index 620517c7..ef02e3d9 100644 --- a/assets/highlight.css +++ b/assets/highlight.css @@ -9,14 +9,14 @@ --dark-hl-3: #569CD6; --light-hl-4: #000000FF; --dark-hl-4: #D4D4D4; - --light-hl-5: #FF0000; + --light-hl-5: #E50000; --dark-hl-5: #9CDCFE; --light-hl-6: #0000FF; --dark-hl-6: #CE9178; - --light-hl-7: #AF00DB; - --dark-hl-7: #C586C0; - --light-hl-8: #A31515; - --dark-hl-8: #CE9178; + --light-hl-7: #A31515; + --dark-hl-7: #CE9178; + --light-hl-8: #AF00DB; + --dark-hl-8: #C586C0; --light-hl-9: #008000; --dark-hl-9: #6A9955; --light-hl-10: #0000FF; diff --git a/assets/main.js b/assets/main.js index abd0485a..932e185d 100644 --- a/assets/main.js +++ b/assets/main.js @@ -1,54 +1,58 @@ "use strict"; -"use strict";(()=>{var Qe=Object.create;var ae=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var Oe=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var _e=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Me=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ce(e))!Re.call(t,i)&&i!==n&&ae(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Qe(Oe(t)):{},Me(e||!t||!t.__esModule?ae(n,"default",{value:t,enumerable:!0}):n,t));var de=_e((ce,he)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var h=t.utils.clone(n)||{};h.position=[a,l],h.index=s.length,s.push(new t.Token(r.slice(a,o),h))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. -`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ou?h+=2:a==u&&(n+=r[l+1]*i[h+1],l+=2,h+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}if(s.str.length==0&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var h=s.str.charAt(0),m=s.str.charAt(1),v;m in s.node.edges?v=s.node.edges[m]:(v=new t.TokenSet,s.node.edges[m]=v),s.str.length==1&&(v.final=!0),i.push({node:v,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof ce=="object"?he.exports=n():e.lunr=n()}(this,function(){return t})})()});var le=[];function j(t,e){le.push({selector:e,constructor:t})}var Y=class{constructor(){this.createComponents(document.body)}createComponents(e){le.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r}),r.dataset.hasInstance=String(!0))})})}};var k=class{constructor(e){this.el=e.el}};var J=class{constructor(){this.listeners={}}addEventListener(e,n){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(n)}removeEventListener(e,n){if(!(e in this.listeners))return;let r=this.listeners[e];for(let i=0,s=r.length;i{let n=Date.now();return(...r)=>{n+e-Date.now()<0&&(t(...r),n=Date.now())}};var re=class extends J{constructor(){super();this.scrollTop=0;this.lastY=0;this.width=0;this.height=0;this.showToolbar=!0;this.toolbar=document.querySelector(".tsd-page-toolbar"),this.navigation=document.querySelector(".col-menu"),window.addEventListener("scroll",ne(()=>this.onScroll(),10)),window.addEventListener("resize",ne(()=>this.onResize(),10)),this.searchInput=document.querySelector("#tsd-search input"),this.searchInput&&this.searchInput.addEventListener("focus",()=>{this.hideShowToolbar()}),this.onResize(),this.onScroll()}triggerResize(){let n=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(n)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let n=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(n)}onScroll(){this.scrollTop=window.scrollY||0;let n=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(n),this.hideShowToolbar()}hideShowToolbar(){let n=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0||!!this.searchInput&&this.searchInput===document.activeElement,n!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.navigation?.classList.toggle("col-menu--hide")),this.lastY=this.scrollTop}},R=re;R.instance=new re;var X=class extends k{constructor(n){super(n);this.anchors=[];this.index=-1;R.instance.addEventListener("resize",()=>this.onResize()),R.instance.addEventListener("scroll",r=>this.onScroll(r)),this.createAnchors()}createAnchors(){let n=window.location.href;n.indexOf("#")!=-1&&(n=n.substring(0,n.indexOf("#"))),this.el.querySelectorAll("a").forEach(r=>{let i=r.href;if(i.indexOf("#")==-1||i.substring(0,n.length)!=n)return;let s=i.substring(i.indexOf("#")+1),o=document.querySelector("a.tsd-anchor[name="+s+"]"),a=r.parentNode;!o||!a||this.anchors.push({link:a,anchor:o,position:0})}),this.onResize()}onResize(){let n;for(let i=0,s=this.anchors.length;ii.position-s.position);let r=new CustomEvent("scroll",{detail:{scrollTop:R.instance.scrollTop}});this.onScroll(r)}onScroll(n){let r=n.detail.scrollTop+5,i=this.anchors,s=i.length-1,o=this.index;for(;o>-1&&i[o].position>r;)o-=1;for(;o-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=o,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var ue=(t,e=100)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout(()=>t(r),e)}};var me=De(de());function ve(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let n=document.querySelector("#tsd-search input"),r=document.querySelector("#tsd-search .results");if(!n||!r)throw new Error("The input field or the result list wrapper was not found");let i=!1;r.addEventListener("mousedown",()=>i=!0),r.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),n.addEventListener("focus",()=>t.classList.add("has-focus")),n.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Fe(t,r,n,s)}function Fe(t,e,n,r){n.addEventListener("input",ue(()=>{Ae(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ve(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?fe(e,-1):s.key==="ArrowDown"?fe(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function He(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=me.Index.load(window.searchData.index))}function Ae(t,e,n,r){if(He(r,t),!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s=i?r.index.search(`*${i}*`):[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o${pe(u.parent,i)}.${l}`);let h=document.createElement("li");h.classList.value=u.classes??"";let m=document.createElement("a");m.href=r.base+u.url,m.innerHTML=l,h.append(m),e.appendChild(h)}}function fe(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ve(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function pe(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ie(t.substring(s,o)),`${ie(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ie(t.substring(s))),i.join("")}var Ne={"&":"&","<":"<",">":">","'":"'",'"':"""};function ie(t){return t.replace(/[&<>"'"]/g,e=>Ne[e])}var F="mousedown",ye="mousemove",B="mouseup",Z={x:0,y:0},ge=!1,se=!1,je=!1,H=!1,xe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(xe?"is-mobile":"not-mobile");xe&&"ontouchstart"in document.documentElement&&(je=!0,F="touchstart",ye="touchmove",B="touchend");document.addEventListener(F,t=>{se=!0,H=!1;let e=F=="touchstart"?t.targetTouches[0]:t;Z.y=e.pageY||0,Z.x=e.pageX||0});document.addEventListener(ye,t=>{if(!!se&&!H){let e=F=="touchstart"?t.targetTouches[0]:t,n=Z.x-(e.pageX||0),r=Z.y-(e.pageY||0);H=Math.sqrt(n*n+r*r)>10}});document.addEventListener(B,()=>{se=!1});document.addEventListener("click",t=>{ge&&(t.preventDefault(),t.stopImmediatePropagation(),ge=!1)});var K=class extends k{constructor(n){super(n);this.className=this.el.dataset.toggle||"",this.el.addEventListener(B,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(F,r=>this.onDocumentPointerDown(r)),document.addEventListener(B,r=>this.onDocumentPointerUp(r))}setActive(n){if(this.active==n)return;this.active=n,document.documentElement.classList.toggle("has-"+this.className,n),this.el.classList.toggle("active",n);let r=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(r),setTimeout(()=>document.documentElement.classList.remove(r),500)}onPointerUp(n){H||(this.setActive(!0),n.preventDefault())}onDocumentPointerDown(n){if(this.active){if(n.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(n){if(!H&&this.active&&n.target.closest(".col-menu")){let r=n.target.closest("a");if(r){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),r.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var oe;try{oe=localStorage}catch{oe={getItem(){return null},setItem(){}}}var Q=oe;var Le=document.head.appendChild(document.createElement("style"));Le.dataset.for="filters";var ee=class extends k{constructor(n){super(n);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),Le.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } -`}fromLocalStorage(){let n=Q.getItem(this.key);return n?n==="true":this.el.checked}setLocalStorage(n){Q.setItem(this.key,n.toString()),this.value=n,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),document.querySelectorAll(".tsd-index-section").forEach(n=>{n.style.display="block";let r=Array.from(n.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);n.style.display=r?"none":"block"})}};var te=class extends k{constructor(n){super(n);this.calculateHeights(),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.textContent.replace(/\s+/g,"-").toLowerCase()}`,this.setLocalStorage(this.fromLocalStorage(),!0),this.summary.addEventListener("click",r=>this.toggleVisibility(r)),this.icon.style.transform=this.getIconRotation()}getIconRotation(n=this.el.open){return`rotate(${n?0:-90}deg)`}calculateHeights(){let n=this.el.open,{position:r,left:i}=this.el.style;this.el.style.position="fixed",this.el.style.left="-9999px",this.el.open=!0,this.expandedHeight=this.el.offsetHeight+"px",this.el.open=!1,this.collapsedHeight=this.el.offsetHeight+"px",this.el.open=n,this.el.style.height=n?this.expandedHeight:this.collapsedHeight,this.el.style.position=r,this.el.style.left=i}toggleVisibility(n){n.preventDefault(),this.el.style.overflow="hidden",this.el.open?this.collapse():this.expand()}expand(n=!0){this.el.open=!0,this.animate(this.collapsedHeight,this.expandedHeight,{opening:!0,duration:n?300:0})}collapse(n=!0){this.animate(this.expandedHeight,this.collapsedHeight,{opening:!1,duration:n?300:0})}animate(n,r,{opening:i,duration:s=300}){if(this.animation)return;let o={duration:s,easing:"ease"};this.animation=this.el.animate({height:[n,r]},o),this.icon.animate({transform:[this.icon.style.transform||this.getIconRotation(!i),this.getIconRotation(i)]},o).addEventListener("finish",()=>{this.icon.style.transform=this.getIconRotation(i)}),this.animation.addEventListener("finish",()=>this.animationEnd(i))}animationEnd(n){this.el.open=n,this.animation=void 0,this.el.style.height="auto",this.el.style.overflow="visible",this.setLocalStorage(n)}fromLocalStorage(){let n=Q.getItem(this.key);return n?n==="true":this.el.open}setLocalStorage(n,r=!1){this.fromLocalStorage()===n&&!r||(Q.setItem(this.key,n.toString()),this.el.open=n,this.handleValueChange(r))}handleValueChange(n=!1){this.fromLocalStorage()===this.el.open&&!n||(this.fromLocalStorage()?this.expand(!1):this.collapse(!1))}};function be(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,Ee(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),Ee(t.value)})}function Ee(t){document.documentElement.dataset.theme=t}ve();j(X,".menu-highlight");j(K,"a[data-toggle]");j(te,".tsd-index-accordion");j(ee,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("theme");Se&&be(Se);var Be=new Y;Object.defineProperty(window,"app",{value:Be});})(); -/*! - * lunr.Builder - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.Index - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.Pipeline - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.Set - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.TokenSet - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.Vector - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.stemmer - * Copyright (C) 2020 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - */ -/*! - * lunr.stopWordFilter - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.tokenizer - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.trimmer - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.utils - * Copyright (C) 2020 Oliver Nightingale - */ -/** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 - * Copyright (C) 2020 Oliver Nightingale - * @license MIT - */ +"use strict";(()=>{var be=Object.create;var re=Object.defineProperty;var Se=Object.getOwnPropertyDescriptor;var we=Object.getOwnPropertyNames;var Te=Object.getPrototypeOf,ke=Object.prototype.hasOwnProperty;var Qe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Pe=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of we(e))!ke.call(t,i)&&i!==r&&re(t,i,{get:()=>e[i],enumerable:!(n=Se(e,i))||n.enumerable});return t};var Ie=(t,e,r)=>(r=t!=null?be(Te(t)):{},Pe(e||!t||!t.__esModule?re(r,"default",{value:t,enumerable:!0}):r,t));var ae=Qe((se,oe)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var d=t.utils.clone(r)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(n.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(r+=n[u+1]*i[d+1],u+=2,d+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),y;m in s.node.edges?y=s.node.edges[m]:(y=new t.TokenSet,s.node.edges[m]=y),s.str.length==1&&(y.final=!0),i.push({node:y,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof se=="object"?oe.exports=r():e.lunr=r()}(this,function(){return t})})()});var ne=[];function G(t,e){ne.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){ne.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n,app:this}),n.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),r=e?.parentElement;for(;r&&!r.classList.contains(".tsd-navigation");)r instanceof HTMLDetailsElement&&e?.parentElement?.parentElement!==r&&(r.open=!0),r=r.parentElement;if(e){let n=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=n}}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let r=e.parentElement;for(;r&&r.tagName!=="SECTION";)r=r.parentElement;if(r&&r.offsetParent==null){this.alwaysVisibleMember=r,r.classList.add("always-visible");let n=document.createElement("p");n.classList.add("warning"),n.textContent="This member is normally hidden due to your filter settings.",r.prepend(n)}}};var ie=(t,e=100)=>{let r;return()=>{clearTimeout(r),r=setTimeout(()=>t(),e)}};var ce=Ie(ae());function de(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("tsd-search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Ce(t,n,r,s)}function Ce(t,e,r,n){r.addEventListener("input",ie(()=>{_e(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Re(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function Oe(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=ce.Index.load(window.searchData.index))}function _e(t,e,r,n){if(Oe(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=i?n.index.search(`*${i}*`):[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o${le(l.parent,i)}.${u}`);let d=document.createElement("li");d.classList.value=l.classes??"";let m=document.createElement("a");m.href=n.base+l.url,m.innerHTML=u,d.append(m),e.appendChild(d)}}function ue(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function Re(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function le(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+n.length))}`),s=o+n.length,o=r.indexOf(n,s);return i.push(K(t.substring(s))),i.join("")}var Fe={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>Fe[e])}var P=class{constructor(e){this.el=e.el,this.app=e.app}};var M="mousedown",fe="mousemove",N="mouseup",J={x:0,y:0},he=!1,ee=!1,Me=!1,D=!1,pe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(pe?"is-mobile":"not-mobile");pe&&"ontouchstart"in document.documentElement&&(Me=!0,M="touchstart",fe="touchmove",N="touchend");document.addEventListener(M,t=>{ee=!0,D=!1;let e=M=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=M=="touchstart"?t.targetTouches[0]:t,r=J.x-(e.pageX||0),n=J.y-(e.pageY||0);D=Math.sqrt(r*r+n*n)>10}});document.addEventListener(N,()=>{ee=!1});document.addEventListener("click",t=>{he&&(t.preventDefault(),t.stopImmediatePropagation(),he=!1)});var X=class extends P{constructor(r){super(r);this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(M,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(r){if(this.active==r)return;this.active=r,document.documentElement.classList.toggle("has-"+this.className,r),this.el.classList.toggle("active",r);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(r){D||(this.setActive(!0),r.preventDefault())}onDocumentPointerDown(r){if(this.active){if(r.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(r){if(!D&&this.active&&r.target.closest(".col-sidebar")){let n=r.target.closest("a");if(n){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),n.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var me=document.head.appendChild(document.createElement("style"));me.dataset.for="filters";var Y=class extends P{constructor(r){super(r);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),me.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`}fromLocalStorage(){let r=Q.getItem(this.key);return r?r==="true":this.el.checked}setLocalStorage(r){Q.setItem(this.key,r.toString()),this.value=r,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let n=Array.from(r.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);r.style.display=n?"none":"block"})}};var Z=class extends P{constructor(r){super(r);this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update()),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ve(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(t){document.documentElement.dataset.theme=t}addEventListener("load",()=>{de(),G(X,"a[data-toggle]"),G(Z,".tsd-index-accordion"),G(Y,".tsd-filter-item input[type=checkbox]");let t=document.getElementById("tsd-theme");t&&ve(t);let e=new U;Object.defineProperty(window,"app",{value:e})});})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/assets/search.js b/assets/search.js index 9812ca17..34df0d1c 100644 --- a/assets/search.js +++ b/assets/search.js @@ -1 +1 @@ -window.searchData = JSON.parse("{\"kinds\":{\"8\":\"Enumeration\",\"16\":\"Enumeration Member\",\"64\":\"Function\",\"128\":\"Class\",\"256\":\"Interface\",\"512\":\"Constructor\",\"1024\":\"Property\",\"2048\":\"Method\",\"65536\":\"Type literal\",\"262144\":\"Accessor\",\"4194304\":\"Type alias\"},\"rows\":[{\"kind\":256,\"name\":\"AlgorithmInput\",\"url\":\"interfaces/AlgorithmInput.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"map\",\"url\":\"interfaces/AlgorithmInput.html#map\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"AlgorithmInput\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"interfaces/AlgorithmInput.html#markers\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"AlgorithmInput\"},{\"kind\":1024,\"name\":\"mapCanvasProjection\",\"url\":\"interfaces/AlgorithmInput.html#mapCanvasProjection\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"AlgorithmInput\"},{\"kind\":256,\"name\":\"AlgorithmOutput\",\"url\":\"interfaces/AlgorithmOutput.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"clusters\",\"url\":\"interfaces/AlgorithmOutput.html#clusters\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"AlgorithmOutput\"},{\"kind\":1024,\"name\":\"changed\",\"url\":\"interfaces/AlgorithmOutput.html#changed\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"AlgorithmOutput\"},{\"kind\":256,\"name\":\"Algorithm\",\"url\":\"interfaces/Algorithm.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"calculate\",\"url\":\"interfaces/Algorithm.html#calculate\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Algorithm\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/Algorithm.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-interface\",\"parent\":\"Algorithm\"},{\"kind\":256,\"name\":\"AlgorithmOptions\",\"url\":\"interfaces/AlgorithmOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"maxZoom\",\"url\":\"interfaces/AlgorithmOptions.html#maxZoom\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"AlgorithmOptions\"},{\"kind\":256,\"name\":\"GridOptions\",\"url\":\"interfaces/GridOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"gridSize\",\"url\":\"interfaces/GridOptions.html#gridSize\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"GridOptions\"},{\"kind\":1024,\"name\":\"maxDistance\",\"url\":\"interfaces/GridOptions.html#maxDistance\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"GridOptions\"},{\"kind\":1024,\"name\":\"viewportPadding\",\"url\":\"interfaces/GridOptions.html#viewportPadding\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"GridOptions\"},{\"kind\":1024,\"name\":\"maxZoom\",\"url\":\"interfaces/GridOptions.html#maxZoom\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"GridOptions\"},{\"kind\":128,\"name\":\"GridAlgorithm\",\"url\":\"classes/GridAlgorithm.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/GridAlgorithm.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"GridAlgorithm\"},{\"kind\":1024,\"name\":\"gridSize\",\"url\":\"classes/GridAlgorithm.html#gridSize\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"kind\":1024,\"name\":\"maxDistance\",\"url\":\"classes/GridAlgorithm.html#maxDistance\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"kind\":1024,\"name\":\"clusters\",\"url\":\"classes/GridAlgorithm.html#clusters\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"kind\":1024,\"name\":\"state\",\"url\":\"classes/GridAlgorithm.html#state\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/GridAlgorithm.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"GridAlgorithm\"},{\"kind\":1024,\"name\":\"zoom\",\"url\":\"classes/GridAlgorithm.html#__type.zoom\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"GridAlgorithm.__type\"},{\"kind\":2048,\"name\":\"calculate\",\"url\":\"classes/GridAlgorithm.html#calculate\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"GridAlgorithm\"},{\"kind\":2048,\"name\":\"cluster\",\"url\":\"classes/GridAlgorithm.html#cluster\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"kind\":2048,\"name\":\"addToClosestCluster\",\"url\":\"classes/GridAlgorithm.html#addToClosestCluster\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"kind\":1024,\"name\":\"viewportPadding\",\"url\":\"classes/GridAlgorithm.html#viewportPadding\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"GridAlgorithm\"},{\"kind\":1024,\"name\":\"maxZoom\",\"url\":\"classes/GridAlgorithm.html#maxZoom\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"GridAlgorithm\"},{\"kind\":2048,\"name\":\"noop\",\"url\":\"classes/GridAlgorithm.html#noop\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"GridAlgorithm\"},{\"kind\":128,\"name\":\"NoopAlgorithm\",\"url\":\"classes/NoopAlgorithm.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NoopAlgorithm.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"NoopAlgorithm\"},{\"kind\":2048,\"name\":\"calculate\",\"url\":\"classes/NoopAlgorithm.html#calculate\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NoopAlgorithm\"},{\"kind\":2048,\"name\":\"cluster\",\"url\":\"classes/NoopAlgorithm.html#cluster\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"NoopAlgorithm\"},{\"kind\":1024,\"name\":\"maxZoom\",\"url\":\"classes/NoopAlgorithm.html#maxZoom\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"NoopAlgorithm\"},{\"kind\":2048,\"name\":\"noop\",\"url\":\"classes/NoopAlgorithm.html#noop\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"NoopAlgorithm\"},{\"kind\":4194304,\"name\":\"SuperClusterOptions\",\"url\":\"types/SuperClusterOptions.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":128,\"name\":\"SuperClusterAlgorithm\",\"url\":\"classes/SuperClusterAlgorithm.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/SuperClusterAlgorithm.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":1024,\"name\":\"superCluster\",\"url\":\"classes/SuperClusterAlgorithm.html#superCluster\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"classes/SuperClusterAlgorithm.html#markers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":1024,\"name\":\"clusters\",\"url\":\"classes/SuperClusterAlgorithm.html#clusters\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":1024,\"name\":\"state\",\"url\":\"classes/SuperClusterAlgorithm.html#state\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/SuperClusterAlgorithm.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":1024,\"name\":\"zoom\",\"url\":\"classes/SuperClusterAlgorithm.html#__type.zoom\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"SuperClusterAlgorithm.__type\"},{\"kind\":2048,\"name\":\"calculate\",\"url\":\"classes/SuperClusterAlgorithm.html#calculate\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":2048,\"name\":\"cluster\",\"url\":\"classes/SuperClusterAlgorithm.html#cluster\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":2048,\"name\":\"transformCluster\",\"url\":\"classes/SuperClusterAlgorithm.html#transformCluster\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":1024,\"name\":\"maxZoom\",\"url\":\"classes/SuperClusterAlgorithm.html#maxZoom\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":2048,\"name\":\"noop\",\"url\":\"classes/SuperClusterAlgorithm.html#noop\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":64,\"name\":\"filterMarkersToPaddedViewport\",\"url\":\"functions/filterMarkersToPaddedViewport.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"extendBoundsToPaddedViewport\",\"url\":\"functions/extendBoundsToPaddedViewport.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":256,\"name\":\"ClusterOptions\",\"url\":\"interfaces/ClusterOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"position\",\"url\":\"interfaces/ClusterOptions.html#position\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ClusterOptions\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"interfaces/ClusterOptions.html#markers\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ClusterOptions\"},{\"kind\":128,\"name\":\"Cluster\",\"url\":\"classes/Cluster.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Cluster.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"kind\":1024,\"name\":\"marker\",\"url\":\"classes/Cluster.html#marker\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"classes/Cluster.html#markers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"kind\":1024,\"name\":\"_position\",\"url\":\"classes/Cluster.html#_position\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"Cluster\"},{\"kind\":262144,\"name\":\"bounds\",\"url\":\"classes/Cluster.html#bounds\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"kind\":262144,\"name\":\"position\",\"url\":\"classes/Cluster.html#position\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"kind\":262144,\"name\":\"count\",\"url\":\"classes/Cluster.html#count\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"kind\":2048,\"name\":\"push\",\"url\":\"classes/Cluster.html#push\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"kind\":2048,\"name\":\"delete\",\"url\":\"classes/Cluster.html#delete\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"kind\":4194304,\"name\":\"onClusterClickHandler\",\"url\":\"types/onClusterClickHandler.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/onClusterClickHandler.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"onClusterClickHandler\"},{\"kind\":256,\"name\":\"MarkerClustererOptions\",\"url\":\"interfaces/MarkerClustererOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"interfaces/MarkerClustererOptions.html#markers\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"MarkerClustererOptions\"},{\"kind\":1024,\"name\":\"algorithm\",\"url\":\"interfaces/MarkerClustererOptions.html#algorithm\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"MarkerClustererOptions\"},{\"kind\":1024,\"name\":\"map\",\"url\":\"interfaces/MarkerClustererOptions.html#map\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"MarkerClustererOptions\"},{\"kind\":1024,\"name\":\"renderer\",\"url\":\"interfaces/MarkerClustererOptions.html#renderer\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"MarkerClustererOptions\"},{\"kind\":1024,\"name\":\"onClusterClick\",\"url\":\"interfaces/MarkerClustererOptions.html#onClusterClick\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"MarkerClustererOptions\"},{\"kind\":8,\"name\":\"MarkerClustererEvents\",\"url\":\"enums/MarkerClustererEvents.html\",\"classes\":\"tsd-kind-enum\"},{\"kind\":16,\"name\":\"CLUSTERING_BEGIN\",\"url\":\"enums/MarkerClustererEvents.html#CLUSTERING_BEGIN\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"MarkerClustererEvents\"},{\"kind\":16,\"name\":\"CLUSTERING_END\",\"url\":\"enums/MarkerClustererEvents.html#CLUSTERING_END\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"MarkerClustererEvents\"},{\"kind\":16,\"name\":\"CLUSTER_CLICK\",\"url\":\"enums/MarkerClustererEvents.html#CLUSTER_CLICK\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"MarkerClustererEvents\"},{\"kind\":64,\"name\":\"defaultOnClusterClickHandler\",\"url\":\"functions/defaultOnClusterClickHandler.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":128,\"name\":\"MarkerClusterer\",\"url\":\"classes/MarkerClusterer.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/MarkerClusterer.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"kind\":1024,\"name\":\"onClusterClick\",\"url\":\"classes/MarkerClusterer.html#onClusterClick\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"kind\":1024,\"name\":\"algorithm\",\"url\":\"classes/MarkerClusterer.html#algorithm\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":1024,\"name\":\"clusters\",\"url\":\"classes/MarkerClusterer.html#clusters\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"classes/MarkerClusterer.html#markers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":1024,\"name\":\"renderer\",\"url\":\"classes/MarkerClusterer.html#renderer\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":1024,\"name\":\"map\",\"url\":\"classes/MarkerClusterer.html#map\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":1024,\"name\":\"idleListener\",\"url\":\"classes/MarkerClusterer.html#idleListener\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"addMarker\",\"url\":\"classes/MarkerClusterer.html#addMarker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"addMarkers\",\"url\":\"classes/MarkerClusterer.html#addMarkers\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"removeMarker\",\"url\":\"classes/MarkerClusterer.html#removeMarker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"removeMarkers\",\"url\":\"classes/MarkerClusterer.html#removeMarkers\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"clearMarkers\",\"url\":\"classes/MarkerClusterer.html#clearMarkers\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"render\",\"url\":\"classes/MarkerClusterer.html#render\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"onAdd\",\"url\":\"classes/MarkerClusterer.html#onAdd\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"onRemove\",\"url\":\"classes/MarkerClusterer.html#onRemove\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"reset\",\"url\":\"classes/MarkerClusterer.html#reset\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"renderClusters\",\"url\":\"classes/MarkerClusterer.html#renderClusters\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":128,\"name\":\"ClusterStats\",\"url\":\"classes/ClusterStats.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ClusterStats.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"ClusterStats\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"classes/ClusterStats.html#markers-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ClusterStats\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/ClusterStats.html#__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"ClusterStats\"},{\"kind\":1024,\"name\":\"sum\",\"url\":\"classes/ClusterStats.html#__type-2.sum-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type\"},{\"kind\":1024,\"name\":\"clusters\",\"url\":\"classes/ClusterStats.html#clusters\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ClusterStats\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/ClusterStats.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"ClusterStats\"},{\"kind\":1024,\"name\":\"count\",\"url\":\"classes/ClusterStats.html#__type.count\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"classes/ClusterStats.html#__type.markers\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/ClusterStats.html#__type.__type-1\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type\"},{\"kind\":1024,\"name\":\"mean\",\"url\":\"classes/ClusterStats.html#__type.__type-1.mean\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type.__type\"},{\"kind\":1024,\"name\":\"sum\",\"url\":\"classes/ClusterStats.html#__type.__type-1.sum\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type.__type\"},{\"kind\":1024,\"name\":\"min\",\"url\":\"classes/ClusterStats.html#__type.__type-1.min\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type.__type\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"classes/ClusterStats.html#__type.__type-1.max\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type.__type\"},{\"kind\":256,\"name\":\"Renderer\",\"url\":\"interfaces/Renderer.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":2048,\"name\":\"render\",\"url\":\"interfaces/Renderer.html#render\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Renderer\"},{\"kind\":128,\"name\":\"DefaultRenderer\",\"url\":\"classes/DefaultRenderer.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DefaultRenderer.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"DefaultRenderer\"},{\"kind\":2048,\"name\":\"render\",\"url\":\"classes/DefaultRenderer.html#render\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DefaultRenderer\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,43.652]],[\"comment/0\",[]],[\"name/1\",[1,35.179]],[\"comment/1\",[]],[\"name/2\",[2,26.306]],[\"comment/2\",[]],[\"name/3\",[3,43.652]],[\"comment/3\",[]],[\"name/4\",[4,43.652]],[\"comment/4\",[]],[\"name/5\",[5,30.659]],[\"comment/5\",[]],[\"name/6\",[6,43.652]],[\"comment/6\",[]],[\"name/7\",[7,35.179]],[\"comment/7\",[]],[\"name/8\",[8,32.666]],[\"comment/8\",[]],[\"name/9\",[9,27.558]],[\"comment/9\",[]],[\"name/10\",[10,43.652]],[\"comment/10\",[]],[\"name/11\",[11,30.659]],[\"comment/11\",[]],[\"name/12\",[12,43.652]],[\"comment/12\",[]],[\"name/13\",[13,38.544]],[\"comment/13\",[]],[\"name/14\",[14,38.544]],[\"comment/14\",[]],[\"name/15\",[15,38.544]],[\"comment/15\",[]],[\"name/16\",[11,30.659]],[\"comment/16\",[]],[\"name/17\",[16,43.652]],[\"comment/17\",[]],[\"name/18\",[17,27.558]],[\"comment/18\",[]],[\"name/19\",[13,38.544]],[\"comment/19\",[]],[\"name/20\",[14,38.544]],[\"comment/20\",[]],[\"name/21\",[5,30.659]],[\"comment/21\",[]],[\"name/22\",[18,38.544]],[\"comment/22\",[]],[\"name/23\",[9,27.558]],[\"comment/23\",[]],[\"name/24\",[19,38.544]],[\"comment/24\",[]],[\"name/25\",[8,32.666]],[\"comment/25\",[]],[\"name/26\",[20,32.666]],[\"comment/26\",[]],[\"name/27\",[21,43.652]],[\"comment/27\",[]],[\"name/28\",[15,38.544]],[\"comment/28\",[]],[\"name/29\",[11,30.659]],[\"comment/29\",[]],[\"name/30\",[22,35.179]],[\"comment/30\",[]],[\"name/31\",[23,43.652]],[\"comment/31\",[]],[\"name/32\",[17,27.558]],[\"comment/32\",[]],[\"name/33\",[8,32.666]],[\"comment/33\",[]],[\"name/34\",[20,32.666]],[\"comment/34\",[]],[\"name/35\",[11,30.659]],[\"comment/35\",[]],[\"name/36\",[22,35.179]],[\"comment/36\",[]],[\"name/37\",[24,43.652]],[\"comment/37\",[]],[\"name/38\",[25,43.652]],[\"comment/38\",[]],[\"name/39\",[17,27.558]],[\"comment/39\",[]],[\"name/40\",[26,43.652]],[\"comment/40\",[]],[\"name/41\",[2,26.306]],[\"comment/41\",[]],[\"name/42\",[5,30.659]],[\"comment/42\",[]],[\"name/43\",[18,38.544]],[\"comment/43\",[]],[\"name/44\",[9,27.558]],[\"comment/44\",[]],[\"name/45\",[19,38.544]],[\"comment/45\",[]],[\"name/46\",[8,32.666]],[\"comment/46\",[]],[\"name/47\",[20,32.666]],[\"comment/47\",[]],[\"name/48\",[27,43.652]],[\"comment/48\",[]],[\"name/49\",[11,30.659]],[\"comment/49\",[]],[\"name/50\",[22,35.179]],[\"comment/50\",[]],[\"name/51\",[28,43.652]],[\"comment/51\",[]],[\"name/52\",[29,43.652]],[\"comment/52\",[]],[\"name/53\",[30,43.652]],[\"comment/53\",[]],[\"name/54\",[31,38.544]],[\"comment/54\",[]],[\"name/55\",[2,26.306]],[\"comment/55\",[]],[\"name/56\",[20,32.666]],[\"comment/56\",[]],[\"name/57\",[17,27.558]],[\"comment/57\",[]],[\"name/58\",[32,43.652]],[\"comment/58\",[]],[\"name/59\",[2,26.306]],[\"comment/59\",[]],[\"name/60\",[33,43.652]],[\"comment/60\",[]],[\"name/61\",[34,43.652]],[\"comment/61\",[]],[\"name/62\",[31,38.544]],[\"comment/62\",[]],[\"name/63\",[35,38.544]],[\"comment/63\",[]],[\"name/64\",[36,43.652]],[\"comment/64\",[]],[\"name/65\",[37,43.652]],[\"comment/65\",[]],[\"name/66\",[38,43.652]],[\"comment/66\",[]],[\"name/67\",[9,27.558]],[\"comment/67\",[]],[\"name/68\",[39,43.652]],[\"comment/68\",[]],[\"name/69\",[2,26.306]],[\"comment/69\",[]],[\"name/70\",[7,35.179]],[\"comment/70\",[]],[\"name/71\",[1,35.179]],[\"comment/71\",[]],[\"name/72\",[40,35.179]],[\"comment/72\",[]],[\"name/73\",[41,38.544]],[\"comment/73\",[]],[\"name/74\",[42,43.652]],[\"comment/74\",[]],[\"name/75\",[43,43.652]],[\"comment/75\",[]],[\"name/76\",[44,43.652]],[\"comment/76\",[]],[\"name/77\",[45,43.652]],[\"comment/77\",[]],[\"name/78\",[46,43.652]],[\"comment/78\",[]],[\"name/79\",[47,43.652]],[\"comment/79\",[]],[\"name/80\",[17,27.558]],[\"comment/80\",[]],[\"name/81\",[41,38.544]],[\"comment/81\",[]],[\"name/82\",[7,35.179]],[\"comment/82\",[]],[\"name/83\",[5,30.659]],[\"comment/83\",[]],[\"name/84\",[2,26.306]],[\"comment/84\",[]],[\"name/85\",[40,35.179]],[\"comment/85\",[]],[\"name/86\",[1,35.179]],[\"comment/86\",[]],[\"name/87\",[48,43.652]],[\"comment/87\",[]],[\"name/88\",[49,43.652]],[\"comment/88\",[]],[\"name/89\",[50,43.652]],[\"comment/89\",[]],[\"name/90\",[51,43.652]],[\"comment/90\",[]],[\"name/91\",[52,43.652]],[\"comment/91\",[]],[\"name/92\",[53,43.652]],[\"comment/92\",[]],[\"name/93\",[54,35.179]],[\"comment/93\",[]],[\"name/94\",[55,43.652]],[\"comment/94\",[]],[\"name/95\",[56,43.652]],[\"comment/95\",[]],[\"name/96\",[57,43.652]],[\"comment/96\",[]],[\"name/97\",[58,43.652]],[\"comment/97\",[]],[\"name/98\",[59,43.652]],[\"comment/98\",[]],[\"name/99\",[17,27.558]],[\"comment/99\",[]],[\"name/100\",[2,26.306]],[\"comment/100\",[]],[\"name/101\",[9,27.558]],[\"comment/101\",[]],[\"name/102\",[60,38.544]],[\"comment/102\",[]],[\"name/103\",[5,30.659]],[\"comment/103\",[]],[\"name/104\",[9,27.558]],[\"comment/104\",[]],[\"name/105\",[35,38.544]],[\"comment/105\",[]],[\"name/106\",[2,26.306]],[\"comment/106\",[]],[\"name/107\",[9,27.558]],[\"comment/107\",[]],[\"name/108\",[61,43.652]],[\"comment/108\",[]],[\"name/109\",[60,38.544]],[\"comment/109\",[]],[\"name/110\",[62,43.652]],[\"comment/110\",[]],[\"name/111\",[63,43.652]],[\"comment/111\",[]],[\"name/112\",[40,35.179]],[\"comment/112\",[]],[\"name/113\",[54,35.179]],[\"comment/113\",[]],[\"name/114\",[64,43.652]],[\"comment/114\",[]],[\"name/115\",[17,27.558]],[\"comment/115\",[]],[\"name/116\",[54,35.179]],[\"comment/116\",[]]],\"invertedIndex\":[[\"__type\",{\"_index\":9,\"name\":{\"9\":{},\"23\":{},\"44\":{},\"67\":{},\"101\":{},\"104\":{},\"107\":{}},\"comment\":{}}],[\"_position\",{\"_index\":33,\"name\":{\"60\":{}},\"comment\":{}}],[\"addmarker\",{\"_index\":49,\"name\":{\"88\":{}},\"comment\":{}}],[\"addmarkers\",{\"_index\":50,\"name\":{\"89\":{}},\"comment\":{}}],[\"addtoclosestcluster\",{\"_index\":21,\"name\":{\"27\":{}},\"comment\":{}}],[\"algorithm\",{\"_index\":7,\"name\":{\"7\":{},\"70\":{},\"82\":{}},\"comment\":{}}],[\"algorithminput\",{\"_index\":0,\"name\":{\"0\":{}},\"comment\":{}}],[\"algorithmoptions\",{\"_index\":10,\"name\":{\"10\":{}},\"comment\":{}}],[\"algorithmoutput\",{\"_index\":4,\"name\":{\"4\":{}},\"comment\":{}}],[\"bounds\",{\"_index\":34,\"name\":{\"61\":{}},\"comment\":{}}],[\"calculate\",{\"_index\":8,\"name\":{\"8\":{},\"25\":{},\"33\":{},\"46\":{}},\"comment\":{}}],[\"changed\",{\"_index\":6,\"name\":{\"6\":{}},\"comment\":{}}],[\"clearmarkers\",{\"_index\":53,\"name\":{\"92\":{}},\"comment\":{}}],[\"cluster\",{\"_index\":20,\"name\":{\"26\":{},\"34\":{},\"47\":{},\"56\":{}},\"comment\":{}}],[\"cluster_click\",{\"_index\":45,\"name\":{\"77\":{}},\"comment\":{}}],[\"clustering_begin\",{\"_index\":43,\"name\":{\"75\":{}},\"comment\":{}}],[\"clustering_end\",{\"_index\":44,\"name\":{\"76\":{}},\"comment\":{}}],[\"clusteroptions\",{\"_index\":30,\"name\":{\"53\":{}},\"comment\":{}}],[\"clusters\",{\"_index\":5,\"name\":{\"5\":{},\"21\":{},\"42\":{},\"83\":{},\"103\":{}},\"comment\":{}}],[\"clusterstats\",{\"_index\":59,\"name\":{\"98\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":17,\"name\":{\"18\":{},\"32\":{},\"39\":{},\"57\":{},\"80\":{},\"99\":{},\"115\":{}},\"comment\":{}}],[\"count\",{\"_index\":35,\"name\":{\"63\":{},\"105\":{}},\"comment\":{}}],[\"defaultonclusterclickhandler\",{\"_index\":46,\"name\":{\"78\":{}},\"comment\":{}}],[\"defaultrenderer\",{\"_index\":64,\"name\":{\"114\":{}},\"comment\":{}}],[\"delete\",{\"_index\":37,\"name\":{\"65\":{}},\"comment\":{}}],[\"extendboundstopaddedviewport\",{\"_index\":29,\"name\":{\"52\":{}},\"comment\":{}}],[\"filtermarkerstopaddedviewport\",{\"_index\":28,\"name\":{\"51\":{}},\"comment\":{}}],[\"gridalgorithm\",{\"_index\":16,\"name\":{\"17\":{}},\"comment\":{}}],[\"gridoptions\",{\"_index\":12,\"name\":{\"12\":{}},\"comment\":{}}],[\"gridsize\",{\"_index\":13,\"name\":{\"13\":{},\"19\":{}},\"comment\":{}}],[\"idlelistener\",{\"_index\":48,\"name\":{\"87\":{}},\"comment\":{}}],[\"map\",{\"_index\":1,\"name\":{\"1\":{},\"71\":{},\"86\":{}},\"comment\":{}}],[\"mapcanvasprojection\",{\"_index\":3,\"name\":{\"3\":{}},\"comment\":{}}],[\"marker\",{\"_index\":32,\"name\":{\"58\":{}},\"comment\":{}}],[\"markerclusterer\",{\"_index\":47,\"name\":{\"79\":{}},\"comment\":{}}],[\"markerclustererevents\",{\"_index\":42,\"name\":{\"74\":{}},\"comment\":{}}],[\"markerclustereroptions\",{\"_index\":39,\"name\":{\"68\":{}},\"comment\":{}}],[\"markers\",{\"_index\":2,\"name\":{\"2\":{},\"41\":{},\"55\":{},\"59\":{},\"69\":{},\"84\":{},\"100\":{},\"106\":{}},\"comment\":{}}],[\"max\",{\"_index\":63,\"name\":{\"111\":{}},\"comment\":{}}],[\"maxdistance\",{\"_index\":14,\"name\":{\"14\":{},\"20\":{}},\"comment\":{}}],[\"maxzoom\",{\"_index\":11,\"name\":{\"11\":{},\"16\":{},\"29\":{},\"35\":{},\"49\":{}},\"comment\":{}}],[\"mean\",{\"_index\":61,\"name\":{\"108\":{}},\"comment\":{}}],[\"min\",{\"_index\":62,\"name\":{\"110\":{}},\"comment\":{}}],[\"noop\",{\"_index\":22,\"name\":{\"30\":{},\"36\":{},\"50\":{}},\"comment\":{}}],[\"noopalgorithm\",{\"_index\":23,\"name\":{\"31\":{}},\"comment\":{}}],[\"onadd\",{\"_index\":55,\"name\":{\"94\":{}},\"comment\":{}}],[\"onclusterclick\",{\"_index\":41,\"name\":{\"73\":{},\"81\":{}},\"comment\":{}}],[\"onclusterclickhandler\",{\"_index\":38,\"name\":{\"66\":{}},\"comment\":{}}],[\"onremove\",{\"_index\":56,\"name\":{\"95\":{}},\"comment\":{}}],[\"position\",{\"_index\":31,\"name\":{\"54\":{},\"62\":{}},\"comment\":{}}],[\"push\",{\"_index\":36,\"name\":{\"64\":{}},\"comment\":{}}],[\"removemarker\",{\"_index\":51,\"name\":{\"90\":{}},\"comment\":{}}],[\"removemarkers\",{\"_index\":52,\"name\":{\"91\":{}},\"comment\":{}}],[\"render\",{\"_index\":54,\"name\":{\"93\":{},\"113\":{},\"116\":{}},\"comment\":{}}],[\"renderclusters\",{\"_index\":58,\"name\":{\"97\":{}},\"comment\":{}}],[\"renderer\",{\"_index\":40,\"name\":{\"72\":{},\"85\":{},\"112\":{}},\"comment\":{}}],[\"reset\",{\"_index\":57,\"name\":{\"96\":{}},\"comment\":{}}],[\"state\",{\"_index\":18,\"name\":{\"22\":{},\"43\":{}},\"comment\":{}}],[\"sum\",{\"_index\":60,\"name\":{\"102\":{},\"109\":{}},\"comment\":{}}],[\"supercluster\",{\"_index\":26,\"name\":{\"40\":{}},\"comment\":{}}],[\"superclusteralgorithm\",{\"_index\":25,\"name\":{\"38\":{}},\"comment\":{}}],[\"superclusteroptions\",{\"_index\":24,\"name\":{\"37\":{}},\"comment\":{}}],[\"transformcluster\",{\"_index\":27,\"name\":{\"48\":{}},\"comment\":{}}],[\"viewportpadding\",{\"_index\":15,\"name\":{\"15\":{},\"28\":{}},\"comment\":{}}],[\"zoom\",{\"_index\":19,\"name\":{\"24\":{},\"45\":{}},\"comment\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file +window.searchData = JSON.parse("{\"rows\":[{\"kind\":256,\"name\":\"AlgorithmInput\",\"url\":\"interfaces/AlgorithmInput.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"map\",\"url\":\"interfaces/AlgorithmInput.html#map\",\"classes\":\"\",\"parent\":\"AlgorithmInput\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"interfaces/AlgorithmInput.html#markers\",\"classes\":\"\",\"parent\":\"AlgorithmInput\"},{\"kind\":1024,\"name\":\"mapCanvasProjection\",\"url\":\"interfaces/AlgorithmInput.html#mapCanvasProjection\",\"classes\":\"\",\"parent\":\"AlgorithmInput\"},{\"kind\":256,\"name\":\"AlgorithmOutput\",\"url\":\"interfaces/AlgorithmOutput.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"clusters\",\"url\":\"interfaces/AlgorithmOutput.html#clusters\",\"classes\":\"\",\"parent\":\"AlgorithmOutput\"},{\"kind\":1024,\"name\":\"changed\",\"url\":\"interfaces/AlgorithmOutput.html#changed\",\"classes\":\"\",\"parent\":\"AlgorithmOutput\"},{\"kind\":256,\"name\":\"Algorithm\",\"url\":\"interfaces/Algorithm.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"calculate\",\"url\":\"interfaces/Algorithm.html#calculate\",\"classes\":\"\",\"parent\":\"Algorithm\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/Algorithm.html#calculate.__type\",\"classes\":\"\",\"parent\":\"Algorithm.calculate\"},{\"kind\":256,\"name\":\"AlgorithmOptions\",\"url\":\"interfaces/AlgorithmOptions.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"maxZoom\",\"url\":\"interfaces/AlgorithmOptions.html#maxZoom\",\"classes\":\"\",\"parent\":\"AlgorithmOptions\"},{\"kind\":256,\"name\":\"GridOptions\",\"url\":\"interfaces/GridOptions.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"gridSize\",\"url\":\"interfaces/GridOptions.html#gridSize\",\"classes\":\"\",\"parent\":\"GridOptions\"},{\"kind\":1024,\"name\":\"maxDistance\",\"url\":\"interfaces/GridOptions.html#maxDistance\",\"classes\":\"\",\"parent\":\"GridOptions\"},{\"kind\":1024,\"name\":\"viewportPadding\",\"url\":\"interfaces/GridOptions.html#viewportPadding\",\"classes\":\"tsd-is-inherited\",\"parent\":\"GridOptions\"},{\"kind\":1024,\"name\":\"maxZoom\",\"url\":\"interfaces/GridOptions.html#maxZoom\",\"classes\":\"tsd-is-inherited\",\"parent\":\"GridOptions\"},{\"kind\":128,\"name\":\"GridAlgorithm\",\"url\":\"classes/GridAlgorithm.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/GridAlgorithm.html#constructor\",\"classes\":\"\",\"parent\":\"GridAlgorithm\"},{\"kind\":1024,\"name\":\"gridSize\",\"url\":\"classes/GridAlgorithm.html#gridSize\",\"classes\":\"tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"kind\":1024,\"name\":\"maxDistance\",\"url\":\"classes/GridAlgorithm.html#maxDistance\",\"classes\":\"tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"kind\":1024,\"name\":\"clusters\",\"url\":\"classes/GridAlgorithm.html#clusters\",\"classes\":\"tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"kind\":1024,\"name\":\"state\",\"url\":\"classes/GridAlgorithm.html#state\",\"classes\":\"tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/GridAlgorithm.html#state.__type\",\"classes\":\"\",\"parent\":\"GridAlgorithm.state\"},{\"kind\":1024,\"name\":\"zoom\",\"url\":\"classes/GridAlgorithm.html#state.__type.zoom\",\"classes\":\"\",\"parent\":\"GridAlgorithm.state.__type\"},{\"kind\":2048,\"name\":\"calculate\",\"url\":\"classes/GridAlgorithm.html#calculate\",\"classes\":\"\",\"parent\":\"GridAlgorithm\"},{\"kind\":2048,\"name\":\"cluster\",\"url\":\"classes/GridAlgorithm.html#cluster\",\"classes\":\"tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"kind\":2048,\"name\":\"addToClosestCluster\",\"url\":\"classes/GridAlgorithm.html#addToClosestCluster\",\"classes\":\"tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"kind\":1024,\"name\":\"viewportPadding\",\"url\":\"classes/GridAlgorithm.html#viewportPadding\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"GridAlgorithm\"},{\"kind\":1024,\"name\":\"maxZoom\",\"url\":\"classes/GridAlgorithm.html#maxZoom\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"GridAlgorithm\"},{\"kind\":2048,\"name\":\"noop\",\"url\":\"classes/GridAlgorithm.html#noop\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"GridAlgorithm\"},{\"kind\":128,\"name\":\"NoopAlgorithm\",\"url\":\"classes/NoopAlgorithm.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NoopAlgorithm.html#constructor\",\"classes\":\"\",\"parent\":\"NoopAlgorithm\"},{\"kind\":2048,\"name\":\"calculate\",\"url\":\"classes/NoopAlgorithm.html#calculate\",\"classes\":\"\",\"parent\":\"NoopAlgorithm\"},{\"kind\":2048,\"name\":\"cluster\",\"url\":\"classes/NoopAlgorithm.html#cluster\",\"classes\":\"tsd-is-protected\",\"parent\":\"NoopAlgorithm\"},{\"kind\":1024,\"name\":\"maxZoom\",\"url\":\"classes/NoopAlgorithm.html#maxZoom\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"NoopAlgorithm\"},{\"kind\":2048,\"name\":\"noop\",\"url\":\"classes/NoopAlgorithm.html#noop\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"NoopAlgorithm\"},{\"kind\":4194304,\"name\":\"SuperClusterOptions\",\"url\":\"types/SuperClusterOptions.html\",\"classes\":\"\"},{\"kind\":128,\"name\":\"SuperClusterAlgorithm\",\"url\":\"classes/SuperClusterAlgorithm.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/SuperClusterAlgorithm.html#constructor\",\"classes\":\"\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":1024,\"name\":\"superCluster\",\"url\":\"classes/SuperClusterAlgorithm.html#superCluster\",\"classes\":\"tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"classes/SuperClusterAlgorithm.html#markers\",\"classes\":\"tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":1024,\"name\":\"clusters\",\"url\":\"classes/SuperClusterAlgorithm.html#clusters\",\"classes\":\"tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":1024,\"name\":\"state\",\"url\":\"classes/SuperClusterAlgorithm.html#state\",\"classes\":\"tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/SuperClusterAlgorithm.html#state.__type\",\"classes\":\"\",\"parent\":\"SuperClusterAlgorithm.state\"},{\"kind\":1024,\"name\":\"zoom\",\"url\":\"classes/SuperClusterAlgorithm.html#state.__type.zoom\",\"classes\":\"\",\"parent\":\"SuperClusterAlgorithm.state.__type\"},{\"kind\":2048,\"name\":\"calculate\",\"url\":\"classes/SuperClusterAlgorithm.html#calculate\",\"classes\":\"\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":2048,\"name\":\"cluster\",\"url\":\"classes/SuperClusterAlgorithm.html#cluster\",\"classes\":\"\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":2048,\"name\":\"transformCluster\",\"url\":\"classes/SuperClusterAlgorithm.html#transformCluster\",\"classes\":\"tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":1024,\"name\":\"maxZoom\",\"url\":\"classes/SuperClusterAlgorithm.html#maxZoom\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":2048,\"name\":\"noop\",\"url\":\"classes/SuperClusterAlgorithm.html#noop\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":64,\"name\":\"filterMarkersToPaddedViewport\",\"url\":\"functions/filterMarkersToPaddedViewport.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"extendBoundsToPaddedViewport\",\"url\":\"functions/extendBoundsToPaddedViewport.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"ClusterOptions\",\"url\":\"interfaces/ClusterOptions.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"position\",\"url\":\"interfaces/ClusterOptions.html#position\",\"classes\":\"\",\"parent\":\"ClusterOptions\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"interfaces/ClusterOptions.html#markers\",\"classes\":\"\",\"parent\":\"ClusterOptions\"},{\"kind\":128,\"name\":\"Cluster\",\"url\":\"classes/Cluster.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Cluster.html#constructor\",\"classes\":\"\",\"parent\":\"Cluster\"},{\"kind\":1024,\"name\":\"marker\",\"url\":\"classes/Cluster.html#marker\",\"classes\":\"\",\"parent\":\"Cluster\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"classes/Cluster.html#markers\",\"classes\":\"\",\"parent\":\"Cluster\"},{\"kind\":1024,\"name\":\"_position\",\"url\":\"classes/Cluster.html#_position\",\"classes\":\"tsd-is-protected\",\"parent\":\"Cluster\"},{\"kind\":262144,\"name\":\"bounds\",\"url\":\"classes/Cluster.html#bounds\",\"classes\":\"\",\"parent\":\"Cluster\"},{\"kind\":262144,\"name\":\"position\",\"url\":\"classes/Cluster.html#position\",\"classes\":\"\",\"parent\":\"Cluster\"},{\"kind\":262144,\"name\":\"count\",\"url\":\"classes/Cluster.html#count\",\"classes\":\"\",\"parent\":\"Cluster\"},{\"kind\":2048,\"name\":\"push\",\"url\":\"classes/Cluster.html#push\",\"classes\":\"\",\"parent\":\"Cluster\"},{\"kind\":2048,\"name\":\"delete\",\"url\":\"classes/Cluster.html#delete\",\"classes\":\"\",\"parent\":\"Cluster\"},{\"kind\":4194304,\"name\":\"onClusterClickHandler\",\"url\":\"types/onClusterClickHandler.html\",\"classes\":\"\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/onClusterClickHandler.html#__type\",\"classes\":\"\",\"parent\":\"onClusterClickHandler\"},{\"kind\":256,\"name\":\"MarkerClustererOptions\",\"url\":\"interfaces/MarkerClustererOptions.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"interfaces/MarkerClustererOptions.html#markers\",\"classes\":\"\",\"parent\":\"MarkerClustererOptions\"},{\"kind\":1024,\"name\":\"algorithm\",\"url\":\"interfaces/MarkerClustererOptions.html#algorithm\",\"classes\":\"\",\"parent\":\"MarkerClustererOptions\"},{\"kind\":1024,\"name\":\"map\",\"url\":\"interfaces/MarkerClustererOptions.html#map\",\"classes\":\"\",\"parent\":\"MarkerClustererOptions\"},{\"kind\":1024,\"name\":\"renderer\",\"url\":\"interfaces/MarkerClustererOptions.html#renderer\",\"classes\":\"\",\"parent\":\"MarkerClustererOptions\"},{\"kind\":1024,\"name\":\"onClusterClick\",\"url\":\"interfaces/MarkerClustererOptions.html#onClusterClick\",\"classes\":\"\",\"parent\":\"MarkerClustererOptions\"},{\"kind\":8,\"name\":\"MarkerClustererEvents\",\"url\":\"enums/MarkerClustererEvents.html\",\"classes\":\"\"},{\"kind\":16,\"name\":\"CLUSTERING_BEGIN\",\"url\":\"enums/MarkerClustererEvents.html#CLUSTERING_BEGIN\",\"classes\":\"\",\"parent\":\"MarkerClustererEvents\"},{\"kind\":16,\"name\":\"CLUSTERING_END\",\"url\":\"enums/MarkerClustererEvents.html#CLUSTERING_END\",\"classes\":\"\",\"parent\":\"MarkerClustererEvents\"},{\"kind\":16,\"name\":\"CLUSTER_CLICK\",\"url\":\"enums/MarkerClustererEvents.html#CLUSTER_CLICK\",\"classes\":\"\",\"parent\":\"MarkerClustererEvents\"},{\"kind\":64,\"name\":\"defaultOnClusterClickHandler\",\"url\":\"functions/defaultOnClusterClickHandler.html\",\"classes\":\"\"},{\"kind\":128,\"name\":\"MarkerClusterer\",\"url\":\"classes/MarkerClusterer.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/MarkerClusterer.html#constructor\",\"classes\":\"\",\"parent\":\"MarkerClusterer\"},{\"kind\":1024,\"name\":\"onClusterClick\",\"url\":\"classes/MarkerClusterer.html#onClusterClick\",\"classes\":\"\",\"parent\":\"MarkerClusterer\"},{\"kind\":1024,\"name\":\"algorithm\",\"url\":\"classes/MarkerClusterer.html#algorithm\",\"classes\":\"tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":1024,\"name\":\"clusters\",\"url\":\"classes/MarkerClusterer.html#clusters\",\"classes\":\"tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"classes/MarkerClusterer.html#markers\",\"classes\":\"tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":1024,\"name\":\"renderer\",\"url\":\"classes/MarkerClusterer.html#renderer\",\"classes\":\"tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":1024,\"name\":\"map\",\"url\":\"classes/MarkerClusterer.html#map\",\"classes\":\"tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":1024,\"name\":\"idleListener\",\"url\":\"classes/MarkerClusterer.html#idleListener\",\"classes\":\"tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"addMarker\",\"url\":\"classes/MarkerClusterer.html#addMarker\",\"classes\":\"\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"addMarkers\",\"url\":\"classes/MarkerClusterer.html#addMarkers\",\"classes\":\"\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"removeMarker\",\"url\":\"classes/MarkerClusterer.html#removeMarker\",\"classes\":\"\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"removeMarkers\",\"url\":\"classes/MarkerClusterer.html#removeMarkers\",\"classes\":\"\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"clearMarkers\",\"url\":\"classes/MarkerClusterer.html#clearMarkers\",\"classes\":\"\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"render\",\"url\":\"classes/MarkerClusterer.html#render\",\"classes\":\"\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"onAdd\",\"url\":\"classes/MarkerClusterer.html#onAdd\",\"classes\":\"\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"onRemove\",\"url\":\"classes/MarkerClusterer.html#onRemove\",\"classes\":\"\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"reset\",\"url\":\"classes/MarkerClusterer.html#reset\",\"classes\":\"tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"renderClusters\",\"url\":\"classes/MarkerClusterer.html#renderClusters\",\"classes\":\"tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":128,\"name\":\"ClusterStats\",\"url\":\"classes/ClusterStats.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ClusterStats.html#constructor\",\"classes\":\"\",\"parent\":\"ClusterStats\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"classes/ClusterStats.html#markers-1\",\"classes\":\"\",\"parent\":\"ClusterStats\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/ClusterStats.html#markers-1.__type-2\",\"classes\":\"\",\"parent\":\"ClusterStats.markers\"},{\"kind\":1024,\"name\":\"sum\",\"url\":\"classes/ClusterStats.html#markers-1.__type-2.sum-1\",\"classes\":\"\",\"parent\":\"ClusterStats.markers.__type\"},{\"kind\":1024,\"name\":\"clusters\",\"url\":\"classes/ClusterStats.html#clusters\",\"classes\":\"\",\"parent\":\"ClusterStats\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/ClusterStats.html#clusters.__type\",\"classes\":\"\",\"parent\":\"ClusterStats.clusters\"},{\"kind\":1024,\"name\":\"count\",\"url\":\"classes/ClusterStats.html#clusters.__type.count\",\"classes\":\"\",\"parent\":\"ClusterStats.clusters.__type\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"classes/ClusterStats.html#clusters.__type.markers\",\"classes\":\"\",\"parent\":\"ClusterStats.clusters.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/ClusterStats.html#clusters.__type.markers.__type-1\",\"classes\":\"\",\"parent\":\"ClusterStats.clusters.__type.markers\"},{\"kind\":1024,\"name\":\"mean\",\"url\":\"classes/ClusterStats.html#clusters.__type.markers.__type-1.mean\",\"classes\":\"\",\"parent\":\"ClusterStats.clusters.__type.markers.__type\"},{\"kind\":1024,\"name\":\"sum\",\"url\":\"classes/ClusterStats.html#clusters.__type.markers.__type-1.sum\",\"classes\":\"\",\"parent\":\"ClusterStats.clusters.__type.markers.__type\"},{\"kind\":1024,\"name\":\"min\",\"url\":\"classes/ClusterStats.html#clusters.__type.markers.__type-1.min\",\"classes\":\"\",\"parent\":\"ClusterStats.clusters.__type.markers.__type\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"classes/ClusterStats.html#clusters.__type.markers.__type-1.max\",\"classes\":\"\",\"parent\":\"ClusterStats.clusters.__type.markers.__type\"},{\"kind\":256,\"name\":\"Renderer\",\"url\":\"interfaces/Renderer.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"render\",\"url\":\"interfaces/Renderer.html#render\",\"classes\":\"\",\"parent\":\"Renderer\"},{\"kind\":128,\"name\":\"DefaultRenderer\",\"url\":\"classes/DefaultRenderer.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DefaultRenderer.html#constructor\",\"classes\":\"\",\"parent\":\"DefaultRenderer\"},{\"kind\":2048,\"name\":\"render\",\"url\":\"classes/DefaultRenderer.html#render\",\"classes\":\"\",\"parent\":\"DefaultRenderer\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,43.652]],[\"comment/0\",[]],[\"name/1\",[1,35.179]],[\"comment/1\",[]],[\"name/2\",[2,26.306]],[\"comment/2\",[]],[\"name/3\",[3,43.652]],[\"comment/3\",[]],[\"name/4\",[4,43.652]],[\"comment/4\",[]],[\"name/5\",[5,30.659]],[\"comment/5\",[]],[\"name/6\",[6,43.652]],[\"comment/6\",[]],[\"name/7\",[7,35.179]],[\"comment/7\",[]],[\"name/8\",[8,32.666]],[\"comment/8\",[]],[\"name/9\",[9,27.558]],[\"comment/9\",[]],[\"name/10\",[10,43.652]],[\"comment/10\",[]],[\"name/11\",[11,30.659]],[\"comment/11\",[]],[\"name/12\",[12,43.652]],[\"comment/12\",[]],[\"name/13\",[13,38.544]],[\"comment/13\",[]],[\"name/14\",[14,38.544]],[\"comment/14\",[]],[\"name/15\",[15,38.544]],[\"comment/15\",[]],[\"name/16\",[11,30.659]],[\"comment/16\",[]],[\"name/17\",[16,43.652]],[\"comment/17\",[]],[\"name/18\",[17,27.558]],[\"comment/18\",[]],[\"name/19\",[13,38.544]],[\"comment/19\",[]],[\"name/20\",[14,38.544]],[\"comment/20\",[]],[\"name/21\",[5,30.659]],[\"comment/21\",[]],[\"name/22\",[18,38.544]],[\"comment/22\",[]],[\"name/23\",[9,27.558]],[\"comment/23\",[]],[\"name/24\",[19,38.544]],[\"comment/24\",[]],[\"name/25\",[8,32.666]],[\"comment/25\",[]],[\"name/26\",[20,32.666]],[\"comment/26\",[]],[\"name/27\",[21,43.652]],[\"comment/27\",[]],[\"name/28\",[15,38.544]],[\"comment/28\",[]],[\"name/29\",[11,30.659]],[\"comment/29\",[]],[\"name/30\",[22,35.179]],[\"comment/30\",[]],[\"name/31\",[23,43.652]],[\"comment/31\",[]],[\"name/32\",[17,27.558]],[\"comment/32\",[]],[\"name/33\",[8,32.666]],[\"comment/33\",[]],[\"name/34\",[20,32.666]],[\"comment/34\",[]],[\"name/35\",[11,30.659]],[\"comment/35\",[]],[\"name/36\",[22,35.179]],[\"comment/36\",[]],[\"name/37\",[24,43.652]],[\"comment/37\",[]],[\"name/38\",[25,43.652]],[\"comment/38\",[]],[\"name/39\",[17,27.558]],[\"comment/39\",[]],[\"name/40\",[26,43.652]],[\"comment/40\",[]],[\"name/41\",[2,26.306]],[\"comment/41\",[]],[\"name/42\",[5,30.659]],[\"comment/42\",[]],[\"name/43\",[18,38.544]],[\"comment/43\",[]],[\"name/44\",[9,27.558]],[\"comment/44\",[]],[\"name/45\",[19,38.544]],[\"comment/45\",[]],[\"name/46\",[8,32.666]],[\"comment/46\",[]],[\"name/47\",[20,32.666]],[\"comment/47\",[]],[\"name/48\",[27,43.652]],[\"comment/48\",[]],[\"name/49\",[11,30.659]],[\"comment/49\",[]],[\"name/50\",[22,35.179]],[\"comment/50\",[]],[\"name/51\",[28,43.652]],[\"comment/51\",[]],[\"name/52\",[29,43.652]],[\"comment/52\",[]],[\"name/53\",[30,43.652]],[\"comment/53\",[]],[\"name/54\",[31,38.544]],[\"comment/54\",[]],[\"name/55\",[2,26.306]],[\"comment/55\",[]],[\"name/56\",[20,32.666]],[\"comment/56\",[]],[\"name/57\",[17,27.558]],[\"comment/57\",[]],[\"name/58\",[32,43.652]],[\"comment/58\",[]],[\"name/59\",[2,26.306]],[\"comment/59\",[]],[\"name/60\",[33,43.652]],[\"comment/60\",[]],[\"name/61\",[34,43.652]],[\"comment/61\",[]],[\"name/62\",[31,38.544]],[\"comment/62\",[]],[\"name/63\",[35,38.544]],[\"comment/63\",[]],[\"name/64\",[36,43.652]],[\"comment/64\",[]],[\"name/65\",[37,43.652]],[\"comment/65\",[]],[\"name/66\",[38,43.652]],[\"comment/66\",[]],[\"name/67\",[9,27.558]],[\"comment/67\",[]],[\"name/68\",[39,43.652]],[\"comment/68\",[]],[\"name/69\",[2,26.306]],[\"comment/69\",[]],[\"name/70\",[7,35.179]],[\"comment/70\",[]],[\"name/71\",[1,35.179]],[\"comment/71\",[]],[\"name/72\",[40,35.179]],[\"comment/72\",[]],[\"name/73\",[41,38.544]],[\"comment/73\",[]],[\"name/74\",[42,43.652]],[\"comment/74\",[]],[\"name/75\",[43,43.652]],[\"comment/75\",[]],[\"name/76\",[44,43.652]],[\"comment/76\",[]],[\"name/77\",[45,43.652]],[\"comment/77\",[]],[\"name/78\",[46,43.652]],[\"comment/78\",[]],[\"name/79\",[47,43.652]],[\"comment/79\",[]],[\"name/80\",[17,27.558]],[\"comment/80\",[]],[\"name/81\",[41,38.544]],[\"comment/81\",[]],[\"name/82\",[7,35.179]],[\"comment/82\",[]],[\"name/83\",[5,30.659]],[\"comment/83\",[]],[\"name/84\",[2,26.306]],[\"comment/84\",[]],[\"name/85\",[40,35.179]],[\"comment/85\",[]],[\"name/86\",[1,35.179]],[\"comment/86\",[]],[\"name/87\",[48,43.652]],[\"comment/87\",[]],[\"name/88\",[49,43.652]],[\"comment/88\",[]],[\"name/89\",[50,43.652]],[\"comment/89\",[]],[\"name/90\",[51,43.652]],[\"comment/90\",[]],[\"name/91\",[52,43.652]],[\"comment/91\",[]],[\"name/92\",[53,43.652]],[\"comment/92\",[]],[\"name/93\",[54,35.179]],[\"comment/93\",[]],[\"name/94\",[55,43.652]],[\"comment/94\",[]],[\"name/95\",[56,43.652]],[\"comment/95\",[]],[\"name/96\",[57,43.652]],[\"comment/96\",[]],[\"name/97\",[58,43.652]],[\"comment/97\",[]],[\"name/98\",[59,43.652]],[\"comment/98\",[]],[\"name/99\",[17,27.558]],[\"comment/99\",[]],[\"name/100\",[2,26.306]],[\"comment/100\",[]],[\"name/101\",[9,27.558]],[\"comment/101\",[]],[\"name/102\",[60,38.544]],[\"comment/102\",[]],[\"name/103\",[5,30.659]],[\"comment/103\",[]],[\"name/104\",[9,27.558]],[\"comment/104\",[]],[\"name/105\",[35,38.544]],[\"comment/105\",[]],[\"name/106\",[2,26.306]],[\"comment/106\",[]],[\"name/107\",[9,27.558]],[\"comment/107\",[]],[\"name/108\",[61,43.652]],[\"comment/108\",[]],[\"name/109\",[60,38.544]],[\"comment/109\",[]],[\"name/110\",[62,43.652]],[\"comment/110\",[]],[\"name/111\",[63,43.652]],[\"comment/111\",[]],[\"name/112\",[40,35.179]],[\"comment/112\",[]],[\"name/113\",[54,35.179]],[\"comment/113\",[]],[\"name/114\",[64,43.652]],[\"comment/114\",[]],[\"name/115\",[17,27.558]],[\"comment/115\",[]],[\"name/116\",[54,35.179]],[\"comment/116\",[]]],\"invertedIndex\":[[\"__type\",{\"_index\":9,\"name\":{\"9\":{},\"23\":{},\"44\":{},\"67\":{},\"101\":{},\"104\":{},\"107\":{}},\"comment\":{}}],[\"_position\",{\"_index\":33,\"name\":{\"60\":{}},\"comment\":{}}],[\"addmarker\",{\"_index\":49,\"name\":{\"88\":{}},\"comment\":{}}],[\"addmarkers\",{\"_index\":50,\"name\":{\"89\":{}},\"comment\":{}}],[\"addtoclosestcluster\",{\"_index\":21,\"name\":{\"27\":{}},\"comment\":{}}],[\"algorithm\",{\"_index\":7,\"name\":{\"7\":{},\"70\":{},\"82\":{}},\"comment\":{}}],[\"algorithminput\",{\"_index\":0,\"name\":{\"0\":{}},\"comment\":{}}],[\"algorithmoptions\",{\"_index\":10,\"name\":{\"10\":{}},\"comment\":{}}],[\"algorithmoutput\",{\"_index\":4,\"name\":{\"4\":{}},\"comment\":{}}],[\"bounds\",{\"_index\":34,\"name\":{\"61\":{}},\"comment\":{}}],[\"calculate\",{\"_index\":8,\"name\":{\"8\":{},\"25\":{},\"33\":{},\"46\":{}},\"comment\":{}}],[\"changed\",{\"_index\":6,\"name\":{\"6\":{}},\"comment\":{}}],[\"clearmarkers\",{\"_index\":53,\"name\":{\"92\":{}},\"comment\":{}}],[\"cluster\",{\"_index\":20,\"name\":{\"26\":{},\"34\":{},\"47\":{},\"56\":{}},\"comment\":{}}],[\"cluster_click\",{\"_index\":45,\"name\":{\"77\":{}},\"comment\":{}}],[\"clustering_begin\",{\"_index\":43,\"name\":{\"75\":{}},\"comment\":{}}],[\"clustering_end\",{\"_index\":44,\"name\":{\"76\":{}},\"comment\":{}}],[\"clusteroptions\",{\"_index\":30,\"name\":{\"53\":{}},\"comment\":{}}],[\"clusters\",{\"_index\":5,\"name\":{\"5\":{},\"21\":{},\"42\":{},\"83\":{},\"103\":{}},\"comment\":{}}],[\"clusterstats\",{\"_index\":59,\"name\":{\"98\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":17,\"name\":{\"18\":{},\"32\":{},\"39\":{},\"57\":{},\"80\":{},\"99\":{},\"115\":{}},\"comment\":{}}],[\"count\",{\"_index\":35,\"name\":{\"63\":{},\"105\":{}},\"comment\":{}}],[\"defaultonclusterclickhandler\",{\"_index\":46,\"name\":{\"78\":{}},\"comment\":{}}],[\"defaultrenderer\",{\"_index\":64,\"name\":{\"114\":{}},\"comment\":{}}],[\"delete\",{\"_index\":37,\"name\":{\"65\":{}},\"comment\":{}}],[\"extendboundstopaddedviewport\",{\"_index\":29,\"name\":{\"52\":{}},\"comment\":{}}],[\"filtermarkerstopaddedviewport\",{\"_index\":28,\"name\":{\"51\":{}},\"comment\":{}}],[\"gridalgorithm\",{\"_index\":16,\"name\":{\"17\":{}},\"comment\":{}}],[\"gridoptions\",{\"_index\":12,\"name\":{\"12\":{}},\"comment\":{}}],[\"gridsize\",{\"_index\":13,\"name\":{\"13\":{},\"19\":{}},\"comment\":{}}],[\"idlelistener\",{\"_index\":48,\"name\":{\"87\":{}},\"comment\":{}}],[\"map\",{\"_index\":1,\"name\":{\"1\":{},\"71\":{},\"86\":{}},\"comment\":{}}],[\"mapcanvasprojection\",{\"_index\":3,\"name\":{\"3\":{}},\"comment\":{}}],[\"marker\",{\"_index\":32,\"name\":{\"58\":{}},\"comment\":{}}],[\"markerclusterer\",{\"_index\":47,\"name\":{\"79\":{}},\"comment\":{}}],[\"markerclustererevents\",{\"_index\":42,\"name\":{\"74\":{}},\"comment\":{}}],[\"markerclustereroptions\",{\"_index\":39,\"name\":{\"68\":{}},\"comment\":{}}],[\"markers\",{\"_index\":2,\"name\":{\"2\":{},\"41\":{},\"55\":{},\"59\":{},\"69\":{},\"84\":{},\"100\":{},\"106\":{}},\"comment\":{}}],[\"max\",{\"_index\":63,\"name\":{\"111\":{}},\"comment\":{}}],[\"maxdistance\",{\"_index\":14,\"name\":{\"14\":{},\"20\":{}},\"comment\":{}}],[\"maxzoom\",{\"_index\":11,\"name\":{\"11\":{},\"16\":{},\"29\":{},\"35\":{},\"49\":{}},\"comment\":{}}],[\"mean\",{\"_index\":61,\"name\":{\"108\":{}},\"comment\":{}}],[\"min\",{\"_index\":62,\"name\":{\"110\":{}},\"comment\":{}}],[\"noop\",{\"_index\":22,\"name\":{\"30\":{},\"36\":{},\"50\":{}},\"comment\":{}}],[\"noopalgorithm\",{\"_index\":23,\"name\":{\"31\":{}},\"comment\":{}}],[\"onadd\",{\"_index\":55,\"name\":{\"94\":{}},\"comment\":{}}],[\"onclusterclick\",{\"_index\":41,\"name\":{\"73\":{},\"81\":{}},\"comment\":{}}],[\"onclusterclickhandler\",{\"_index\":38,\"name\":{\"66\":{}},\"comment\":{}}],[\"onremove\",{\"_index\":56,\"name\":{\"95\":{}},\"comment\":{}}],[\"position\",{\"_index\":31,\"name\":{\"54\":{},\"62\":{}},\"comment\":{}}],[\"push\",{\"_index\":36,\"name\":{\"64\":{}},\"comment\":{}}],[\"removemarker\",{\"_index\":51,\"name\":{\"90\":{}},\"comment\":{}}],[\"removemarkers\",{\"_index\":52,\"name\":{\"91\":{}},\"comment\":{}}],[\"render\",{\"_index\":54,\"name\":{\"93\":{},\"113\":{},\"116\":{}},\"comment\":{}}],[\"renderclusters\",{\"_index\":58,\"name\":{\"97\":{}},\"comment\":{}}],[\"renderer\",{\"_index\":40,\"name\":{\"72\":{},\"85\":{},\"112\":{}},\"comment\":{}}],[\"reset\",{\"_index\":57,\"name\":{\"96\":{}},\"comment\":{}}],[\"state\",{\"_index\":18,\"name\":{\"22\":{},\"43\":{}},\"comment\":{}}],[\"sum\",{\"_index\":60,\"name\":{\"102\":{},\"109\":{}},\"comment\":{}}],[\"supercluster\",{\"_index\":26,\"name\":{\"40\":{}},\"comment\":{}}],[\"superclusteralgorithm\",{\"_index\":25,\"name\":{\"38\":{}},\"comment\":{}}],[\"superclusteroptions\",{\"_index\":24,\"name\":{\"37\":{}},\"comment\":{}}],[\"transformcluster\",{\"_index\":27,\"name\":{\"48\":{}},\"comment\":{}}],[\"viewportpadding\",{\"_index\":15,\"name\":{\"15\":{},\"28\":{}},\"comment\":{}}],[\"zoom\",{\"_index\":19,\"name\":{\"24\":{},\"45\":{}},\"comment\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file diff --git a/assets/style.css b/assets/style.css index 8f6ed2c4..da6c789f 100644 --- a/assets/style.css +++ b/assets/style.css @@ -2,38 +2,80 @@ /* Light */ --light-color-background: #f2f4f8; --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; --light-color-icon-background: var(--light-color-background); --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); --light-color-text: #222; - --light-color-text-aside: #707070; - --light-color-link: #4da6ff; - --light-color-ts: #db1373; - --light-color-ts-interface: #139d2c; - --light-color-ts-enum: #9c891a; - --light-color-ts-class: #2484e5; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; --light-color-ts-function: #572be7; - --light-color-ts-namespace: #b111c9; - --light-color-ts-private: #707070; - --light-color-ts-variable: #4d68ff; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: var(--light-color-ts-type-alias); + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + /* object literal not included as it is not used and will be removed in 0.25 */ + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + --light-external-icon: url("data:image/svg+xml;utf8,"); --light-color-scheme: light; /* Dark */ --dark-color-background: #2b2e33; --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; --dark-color-icon-background: var(--dark-color-background-secondary); --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; --dark-color-text: #f5f5f5; --dark-color-text-aside: #dddddd; --dark-color-link: #00aff4; - --dark-color-ts: #ff6492; - --dark-color-ts-interface: #6cff87; + + --dark-color-ts-project: #e14dff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); --dark-color-ts-enum: #f4d93e; - --dark-color-ts-class: #61b0ff; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; --dark-color-ts-function: #9772ff; - --dark-color-ts-namespace: #e14dff; - --dark-color-ts-private: #e2e2e2; - --dark-color-ts-variable: #4d68ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: var(--dark-color-ts-type-alias); + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + /* object literal not included as it is not used and will be removed in 0.25 */ + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + --dark-external-icon: url("data:image/svg+xml;utf8,"); --dark-color-scheme: dark; } @@ -42,19 +84,38 @@ :root { --color-background: var(--light-color-background); --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); --color-icon-background: var(--light-color-icon-background); --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); --color-text: var(--light-color-text); --color-text-aside: var(--light-color-text-aside); --color-link: var(--light-color-link); - --color-ts: var(--light-color-ts); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-class: var(--light-color-ts-class); - --color-ts-function: var(--light-color-ts-function); + + --color-ts-module: var(--light-color-ts-module); --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-private: var(--light-color-ts-private); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --external-icon: var(--light-external-icon); --color-scheme: var(--light-color-scheme); } @@ -64,19 +125,38 @@ :root { --color-background: var(--dark-color-background); --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); --color-icon-background: var(--dark-color-icon-background); --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); --color-text: var(--dark-color-text); --color-text-aside: var(--dark-color-text-aside); --color-link: var(--dark-color-link); - --color-ts: var(--dark-color-ts); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-function: var(--dark-color-ts-function); + + --color-ts-module: var(--dark-color-ts-module); --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-private: var(--dark-color-ts-private); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --external-icon: var(--dark-external-icon); --color-scheme: var(--dark-color-scheme); } @@ -93,19 +173,38 @@ body { :root[data-theme="light"] { --color-background: var(--light-color-background); --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); --color-icon-background: var(--light-color-icon-background); --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); --color-text: var(--light-color-text); --color-text-aside: var(--light-color-text-aside); --color-link: var(--light-color-link); - --color-ts: var(--light-color-ts); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-class: var(--light-color-ts-class); - --color-ts-function: var(--light-color-ts-function); + + --color-ts-module: var(--light-color-ts-module); --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-private: var(--light-color-ts-private); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --external-icon: var(--light-external-icon); --color-scheme: var(--light-color-scheme); } @@ -113,23 +212,47 @@ body { :root[data-theme="dark"] { --color-background: var(--dark-color-background); --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); --color-icon-background: var(--dark-color-icon-background); --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); --color-text: var(--dark-color-text); --color-text-aside: var(--dark-color-text-aside); --color-link: var(--dark-color-link); - --color-ts: var(--dark-color-ts); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-function: var(--dark-color-ts-function); + + --color-ts-module: var(--dark-color-ts-module); --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-private: var(--dark-color-ts-private); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --external-icon: var(--dark-external-icon); --color-scheme: var(--dark-color-scheme); } +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + h1, h2, h3, @@ -191,26 +314,10 @@ dd { } .container { - max-width: 1600px; + max-width: 1700px; padding: 0 2rem; } -@media (min-width: 640px) { - .container { - padding: 0 4rem; - } -} -@media (min-width: 1200px) { - .container { - padding: 0 8rem; - } -} -@media (min-width: 1600px) { - .container { - padding: 0 12rem; - } -} - /* Footer */ .tsd-generator { border-top: 1px solid var(--color-accent); @@ -226,26 +333,9 @@ dd { } .container-main { - display: flex; - justify-content: space-between; - position: relative; margin: 0 auto; -} - -.col-4, -.col-8 { - box-sizing: border-box; - float: left; - padding: 2rem 1rem; -} - -.col-4 { - flex: 0 0 25%; -} -.col-8 { - flex: 1 0; - flex-wrap: wrap; - padding-left: 0; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); } @keyframes fade-in { @@ -288,22 +378,6 @@ dd { opacity: 0; } } -@keyframes shift-to-left { - from { - transform: translate(0, 0); - } - to { - transform: translate(-25%, 0); - } -} -@keyframes unshift-to-left { - from { - transform: translate(-25%, 0); - } - to { - transform: translate(0, 0); - } -} @keyframes pop-in-from-right { from { transform: translate(100%, 0); @@ -392,92 +466,6 @@ blockquote { margin: 1em 0; } -@media (max-width: 1024px) { - html .col-content { - float: none; - max-width: 100%; - width: 100%; - padding-top: 3rem; - } - html .col-menu { - position: fixed !important; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - z-index: 1024; - top: 0 !important; - bottom: 0 !important; - left: auto !important; - right: 0 !important; - padding: 1.5rem 1.5rem 0 0; - max-width: 25rem; - visibility: hidden; - background-color: var(--color-background); - transform: translate(100%, 0); - } - html .col-menu > *:last-child { - padding-bottom: 20px; - } - html .overlay { - content: ""; - display: block; - position: fixed; - z-index: 1023; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: rgba(0, 0, 0, 0.75); - visibility: hidden; - } - - .to-has-menu .overlay { - animation: fade-in 0.4s; - } - - .to-has-menu :is(header, footer, .col-content) { - animation: shift-to-left 0.4s; - } - - .to-has-menu .col-menu { - animation: pop-in-from-right 0.4s; - } - - .from-has-menu .overlay { - animation: fade-out 0.4s; - } - - .from-has-menu :is(header, footer, .col-content) { - animation: unshift-to-left 0.4s; - } - - .from-has-menu .col-menu { - animation: pop-out-to-right 0.4s; - } - - .has-menu body { - overflow: hidden; - } - .has-menu .overlay { - visibility: visible; - } - .has-menu :is(header, footer, .col-content) { - transform: translate(-25%, 0); - } - .has-menu .col-menu { - visibility: visible; - transform: translate(0, 0); - display: grid; - align-items: center; - grid-template-rows: auto 1fr; - grid-gap: 1.5rem; - max-height: 100vh; - padding: 1rem 2rem; - } - .has-menu .tsd-navigation { - max-height: 100%; - } -} - .tsd-breadcrumb { margin: 0; padding: 0; @@ -656,43 +644,6 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { -o-page-break-inside: avoid; page-break-inside: avoid; } -.tsd-index-panel a, -.tsd-index-panel a.tsd-parent-kind-module { - color: var(--color-ts); -} -.tsd-index-panel a.tsd-parent-kind-interface { - color: var(--color-ts-interface); -} -.tsd-index-panel a.tsd-parent-kind-enum { - color: var(--color-ts-enum); -} -.tsd-index-panel a.tsd-parent-kind-class { - color: var(--color-ts-class); -} -.tsd-index-panel a.tsd-kind-module { - color: var(--color-ts-namespace); -} -.tsd-index-panel a.tsd-kind-interface { - color: var(--color-ts-interface); -} -.tsd-index-panel a.tsd-kind-enum { - color: var(--color-ts-enum); -} -.tsd-index-panel a.tsd-kind-class { - color: var(--color-ts-class); -} -.tsd-index-panel a.tsd-kind-function { - color: var(--color-ts-function); -} -.tsd-index-panel a.tsd-kind-namespace { - color: var(--color-ts-namespace); -} -.tsd-index-panel a.tsd-kind-variable { - color: var(--color-ts-variable); -} -.tsd-index-panel a.tsd-is-private { - color: var(--color-ts-private); -} .tsd-flag { display: inline-block; @@ -707,7 +658,7 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { } .tsd-anchor { - position: absolute; + position: relative; top: -100px; } @@ -721,133 +672,88 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { margin-bottom: 0; border-bottom: none; } -.tsd-member [data-tsd-kind] { - color: var(--color-ts); -} -.tsd-member [data-tsd-kind="Interface"] { - color: var(--color-ts-interface); + +.tsd-navigation.settings { + margin: 1rem 0; } -.tsd-member [data-tsd-kind="Enum"] { - color: var(--color-ts-enum); +.tsd-navigation a, +.tsd-page-navigation a { + display: inline-flex; + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; } -.tsd-member [data-tsd-kind="Class"] { - color: var(--color-ts-class); +.tsd-navigation a { + /* why 3rem? No idea, but it seems to work. */ + width: calc(100% - 3rem); } -.tsd-member [data-tsd-kind="Private"] { - color: var(--color-ts-private); +.tsd-page-navigation a { + /* why is this different? */ + width: 100%; } - -.tsd-navigation a { - display: block; - margin: 0.4rem 0; - border-left: 2px solid transparent; - color: var(--color-text); - text-decoration: none; - transition: border-left-color 0.1s; +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); } -.tsd-navigation a:hover { +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { text-decoration: underline; } -.tsd-navigation ul { +.tsd-navigation ul, +.tsd-page-navigation ul { margin: 0; padding: 0; list-style: none; } -.tsd-navigation li { +.tsd-navigation li, +.tsd-page-navigation li { padding: 0; + max-width: 100%; } - -.tsd-navigation.primary .tsd-accordion-details > ul { - margin-top: 0.75rem; -} -.tsd-navigation.primary a { - padding: 0.75rem 0.5rem; - margin: 0; -} -.tsd-navigation.primary ul li a { - margin-left: 0.5rem; +.tsd-nested-navigation > li > a { + margin-left: 3rem; } -.tsd-navigation.primary ul li li a { +.tsd-nested-navigation > li > details { margin-left: 1.5rem; } -.tsd-navigation.primary ul li li li a { - margin-left: 2.5rem; -} -.tsd-navigation.primary ul li li li li a { - margin-left: 3.5rem; -} -.tsd-navigation.primary ul li li li li li a { - margin-left: 4.5rem; -} -.tsd-navigation.primary ul li li li li li li a { - margin-left: 5.5rem; -} -.tsd-navigation.primary li.current > a { - border-left: 0.15rem var(--color-text) solid; -} -.tsd-navigation.primary li.selected > a { - font-weight: bold; - border-left: 0.2rem var(--color-text) solid; +.tsd-small-nested-navigation > li > a { + margin-left: 1.5rem; } -.tsd-navigation.primary ul li a:hover { - border-left: 0.2rem var(--color-text-aside) solid; +.tsd-small-nested-navigation > li > details { + margin-left: 0; } -.tsd-navigation.primary li.globals + li > span, -.tsd-navigation.primary li.globals + li > a { - padding-top: 20px; +.tsd-page-navigation ul { + padding-left: 1.75rem; } -.tsd-navigation.secondary.tsd-navigation--toolbar-hide { - max-height: calc(100vh - 1rem); - top: 0.5rem; -} -.tsd-navigation.secondary > ul { - display: inline; - padding-right: 0.5rem; - transition: opacity 0.2s; -} -.tsd-navigation.secondary ul li a { - padding-left: 0; -} -.tsd-navigation.secondary ul li li a { - padding-left: 1.1rem; -} -.tsd-navigation.secondary ul li li li a { - padding-left: 2.2rem; -} -.tsd-navigation.secondary ul li li li li a { - padding-left: 3.3rem; -} -.tsd-navigation.secondary ul li li li li li a { - padding-left: 4.4rem; +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; } -.tsd-navigation.secondary ul li li li li li li a { - padding-left: 5.5rem; +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; } a.tsd-index-link { - margin: 0.25rem 0; + padding: 0.25rem 0 !important; font-size: 1rem; line-height: 1.25rem; display: inline-flex; align-items: center; + color: var(--color-text); } -.tsd-accordion-summary > h1, -.tsd-accordion-summary > h2, -.tsd-accordion-summary > h3, -.tsd-accordion-summary > h4, -.tsd-accordion-summary > h5 { - display: inline-flex; - align-items: center; - vertical-align: middle; - margin-bottom: 0; +.tsd-accordion-summary, +.tsd-accordion-summary a { user-select: none; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; -} -.tsd-accordion-summary { - display: block; + + display: flex; + align-items: center; cursor: pointer; } .tsd-accordion-summary > * { @@ -885,34 +791,6 @@ a.tsd-index-link { margin-right: 0.8rem; } -@media (min-width: 1024px) { - .col-content { - margin: 2rem auto; - } - - .menu-sticky-wrap { - position: sticky; - height: calc(100vh - 2rem); - top: 4rem; - right: 0; - padding: 0 1.5rem; - padding-top: 1rem; - margin-top: 3rem; - transition: 0.3s ease-in-out; - transition-property: top, padding-top, padding, height; - overflow-y: auto; - } - .col-menu { - border-left: 1px solid var(--color-accent); - } - .col-menu--hide { - top: 1rem; - } - .col-menu .tsd-navigation:not(:last-child) { - padding-bottom: 1.75rem; - } -} - .tsd-panel { margin-bottom: 2.5rem; } @@ -978,7 +856,8 @@ a.tsd-index-link { right: -40px; } #tsd-search .field input, -#tsd-search .title { +#tsd-search .title, +#tsd-toolbar-links a { transition: opacity 0.2s; } #tsd-search .results { @@ -1022,7 +901,8 @@ a.tsd-index-link { top: 0; opacity: 1; } -#tsd-search.has-focus .title { +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { z-index: 0; opacity: 0; } @@ -1036,6 +916,22 @@ a.tsd-index-link { display: block; } +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + .tsd-signature { margin: 0 0 1rem 0; padding: 1rem 0.5rem; @@ -1100,7 +996,7 @@ ul.tsd-type-parameter-list h5 { } .tsd-page-toolbar { - position: fixed; + position: sticky; z-index: 1; top: 0; left: 0; @@ -1124,6 +1020,7 @@ ul.tsd-type-parameter-list h5 { display: flex; justify-content: space-between; height: 2.5rem; + margin: 0 auto; } .tsd-page-toolbar .table-cell { position: relative; @@ -1133,9 +1030,10 @@ ul.tsd-type-parameter-list h5 { .tsd-page-toolbar .table-cell:first-child { width: 100%; } - -.tsd-page-toolbar--hide { - transform: translateY(-100%); +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; } .tsd-widget { @@ -1165,12 +1063,6 @@ ul.tsd-type-parameter-list h5 { .tsd-widget.menu { display: none; } -@media (max-width: 1024px) { - .tsd-widget.options, - .tsd-widget.menu { - display: inline-block; - } -} input[type="checkbox"] + .tsd-widget:before { background-position: -120px 0; } @@ -1204,6 +1096,84 @@ img { text-decoration: line-through; } +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + * { scrollbar-width: thin; scrollbar-color: var(--color-accent) var(--color-icon-background); @@ -1222,3 +1192,147 @@ img { border-radius: 999rem; border: 0.25rem solid var(--color-icon-background); } + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/assets/widgets.png b/assets/widgets.png deleted file mode 100644 index c7380532..00000000 Binary files a/assets/widgets.png and /dev/null differ diff --git a/assets/widgets@2x.png b/assets/widgets@2x.png deleted file mode 100644 index 4bbbd572..00000000 Binary files a/assets/widgets@2x.png and /dev/null differ diff --git a/classes/Cluster.html b/classes/Cluster.html index d1a76c60..dce5fc33 100644 --- a/classes/Cluster.html +++ b/classes/Cluster.html @@ -1,13 +1,15 @@ -Cluster | @googlemaps/js-markerclusterer
+Cluster | @googlemaps/js-markerclusterer
-
+
-
+
@@ -26,101 +28,101 @@

Constructors

-
+
-
+

Returns Cluster

+
  • Defined in cluster.ts:27
  • Properties

    -
    +
    -
    _position: LatLng
    -
    +
  • Defined in cluster.ts:25
  • +
    -
    marker: Marker
    -
    +
  • Defined in cluster.ts:23
  • +
    -
    markers?: Marker[]
    +
  • Defined in cluster.ts:24
  • Accessors

    -
    +
    -
      -
    • get bounds(): LatLngBounds
    • +
        +
      • get bounds(): LatLngBounds
      • -

        Returns LatLngBounds

    -
    +
  • Defined in cluster.ts:39
  • +
    -
      +
      • get count(): number
      • Get the count of visible markers.

        Returns number

    -
    +
  • Defined in cluster.ts:56
  • +
    -
      -
    • get position(): LatLng
    • +
        +
      • get position(): LatLng
      • -

        Returns LatLng

    +
  • Defined in cluster.ts:49
  • Methods

    -
    +
    -
      - +
        +
      • Cleanup references and remove marker from map.

        Returns void

    -
    +
  • Defined in cluster.ts:71
  • +
    -
      - +
    +
    marker: Marker

    Returns void

    - +
    +
    +
    +

    On This Page

    - - + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/classes/ClusterStats.html b/classes/ClusterStats.html index 0a69ba39..78361e90 100644 --- a/classes/ClusterStats.html +++ b/classes/ClusterStats.html @@ -1,27 +1,29 @@ -ClusterStats | @googlemaps/js-markerclusterer
    +ClusterStats | @googlemaps/js-markerclusterer
    -
    +
    -
    +
    -

    Provides statistics on all clusters in the current render cycle for use in render.

    +

    Provides statistics on all clusters in the current render cycle for use in render.

    Hierarchy

    • ClusterStats
    +
  • Defined in renderer.ts:22
  • @@ -29,67 +31,68 @@

    Constructors

    -
    +
    -
    +

    Returns ClusterStats

    +
  • Defined in renderer.ts:34
  • Properties

    -
    +
    -
    clusters: { count: number; markers: { max: number; mean: number; min: number; sum: number } }
    +
    clusters: {
        count: number;
        markers: {
            max: number;
            mean: number;
            min: number;
            sum: number;
        };
    }

    Type declaration

    • -
      count: number
    • +
      count: number
    • -
      markers: { max: number; mean: number; min: number; sum: number }
      +
      markers: {
          max: number;
          mean: number;
          min: number;
          sum: number;
      }
      • -
        max: number
      • +
        max: number
      • -
        mean: number
      • +
        mean: number
      • -
        min: number
      • +
        min: number
      • -
        sum: number
    -
    +
  • Defined in renderer.ts:24
  • +
    -
    markers: { sum: number }
    +
    markers: {
        sum: number;
    }

    Type declaration

    • -
      sum: number
    - +
    +
    +
    +

    On This Page

    - - + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/classes/DefaultRenderer.html b/classes/DefaultRenderer.html index c48906f1..60d5e080 100644 --- a/classes/DefaultRenderer.html +++ b/classes/DefaultRenderer.html @@ -1,13 +1,15 @@ -DefaultRenderer | @googlemaps/js-markerclusterer
    +DefaultRenderer | @googlemaps/js-markerclusterer
    -
    +
    -
    +
    +
  • Defined in renderer.ts:68
  • @@ -30,47 +32,48 @@

    Constructors

    -
    +
    -
    +

    Returns DefaultRenderer

    Methods

    -
    +
    -
      - +
        +
      • -

        The default render function for the library used by MarkerClusterer.

        +

        The default render function for the library used by MarkerClusterer.

        Currently set to use the following:

        -
        // change color if this cluster has more markers than the mean cluster
        const color =
        count > Math.max(10, stats.clusters.markers.mean)
        ? "#ff0000"
        : "#0000ff";

        // create svg url with fill color
        const svg = window.btoa(`
        <svg fill="${color}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240">
        <circle cx="120" cy="120" opacity=".6" r="70" />
        <circle cx="120" cy="120" opacity=".3" r="90" />
        <circle cx="120" cy="120" opacity=".2" r="110" />
        <circle cx="120" cy="120" opacity=".1" r="130" />
        </svg>`);

        // create marker using svg icon
        return new google.maps.Marker({
        position,
        icon: {
        url: `data:image/svg+xml;base64,${svg}`,
        scaledSize: new google.maps.Size(45, 45),
        },
        label: {
        text: String(count),
        color: "rgba(255,255,255,0.9)",
        fontSize: "12px",
        },
        // adjust zIndex to be above other markers
        zIndex: 1000 + count,
        }); +
        // change color if this cluster has more markers than the mean cluster
        const color =
        count > Math.max(10, stats.clusters.markers.mean)
        ? "#ff0000"
        : "#0000ff";

        // create svg url with fill color
        const svg = window.btoa(`
        <svg fill="${color}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240">
        <circle cx="120" cy="120" opacity=".6" r="70" />
        <circle cx="120" cy="120" opacity=".3" r="90" />
        <circle cx="120" cy="120" opacity=".2" r="110" />
        <circle cx="120" cy="120" opacity=".1" r="130" />
        </svg>`);

        // create marker using svg icon
        return new google.maps.Marker({
        position,
        icon: {
        url: `data:image/svg+xml;base64,${svg}`,
        scaledSize: new google.maps.Size(45, 45),
        },
        label: {
        text: String(count),
        color: "rgba(255,255,255,0.9)",
        fontSize: "12px",
        },
        // adjust zIndex to be above other markers
        zIndex: 1000 + count,
        });

        Parameters

        -

        Returns Marker

    +

    Returns Marker

    - +
    +
    +
    +

    On This Page

    - - + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/classes/GridAlgorithm.html b/classes/GridAlgorithm.html index 8fcd56c6..85beacbf 100644 --- a/classes/GridAlgorithm.html +++ b/classes/GridAlgorithm.html @@ -1,13 +1,15 @@ -GridAlgorithm | @googlemaps/js-markerclusterer
    +GridAlgorithm | @googlemaps/js-markerclusterer
    -
    +
    -
    +

    The default Grid algorithm historically used in Google Maps marker clustering.

    The Grid algorithm does not implement caching and markers may flash as the -viewport changes. Instead use SuperClusterAlgorithm.

    +viewport changes. Instead use SuperClusterAlgorithm.

    Hierarchy

      -
    • AbstractViewportAlgorithm -
      -

      Hierarchy

      +
    • AbstractViewportAlgorithm
        -
      • GridAlgorithm
    @@ -36,149 +36,150 @@

    Constructors

    -
    +
    -
    +

    Returns GridAlgorithm

    +
  • Defined in algorithms/grid.ts:54
  • Properties

    -
    +
    -
    clusters: Cluster[] = []
    -
    +
  • Defined in algorithms/grid.ts:51
  • +
    -
    gridSize: number
    -
    +
  • Defined in algorithms/grid.ts:49
  • +
    -
    maxDistance: number
    -
    +
  • Defined in algorithms/grid.ts:50
  • +
    -
    maxZoom: number
    -
    +
  • Defined in algorithms/core.ts:65
  • +
    -
    state: { zoom: number }
    +
    state: {
        zoom: number;
    }

    Type declaration

    • -
      zoom: number
    -
    +
  • Defined in algorithms/grid.ts:52
  • +
    -
    viewportPadding: number = 60
    +
  • Defined in algorithms/core.ts:117
  • Methods

    -
    +
    -
      - +
        +
      • Parameters

        • -
          marker: Marker
        • +
          marker: Marker
        • -
          map: Map
        • +
          map: Map
        • -
          projection: MapCanvasProjection
        +
        projection: MapCanvasProjection

      Returns void

    -
    +
  • Defined in algorithms/grid.ts:113
  • +
    -
    -
    +
  • Defined in algorithms/grid.ts:62
  • +
    -
    -
    +
  • Defined in algorithms/grid.ts:100
  • +
    -
      - +
        +
      • Helper function to bypass clustering based upon some map state such as zoom, number of markers, etc.

        -
         cluster({markers, map}: AlgorithmInput): Cluster[] {
        if (shouldBypassClustering(map)) {
        return this.noop({markers, map})
        }
        } +
         cluster({markers, map}: AlgorithmInput): Cluster[] {
        if (shouldBypassClustering(map)) {
        return this.noop({markers, map})
        }
        }

        Parameters

        -

        Returns Cluster[]

      +

      Returns Cluster[]

    -
    +
    +
    +
    +

    On This Page

    - - + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/classes/MarkerClusterer.html b/classes/MarkerClusterer.html index 866c2285..4e3779e8 100644 --- a/classes/MarkerClusterer.html +++ b/classes/MarkerClusterer.html @@ -1,13 +1,15 @@ -MarkerClusterer | @googlemaps/js-markerclusterer
    +MarkerClusterer | @googlemaps/js-markerclusterer
    -
    +
    -
    +

    MarkerClusterer creates and manages per-zoom-level clusters for large amounts -of markers. See MarkerClustererOptions for more details.

    +of markers. See MarkerClustererOptions for more details.

    Hierarchy

      -
    • OverlayViewSafe -
      -

      Hierarchy

      +
    • OverlayViewSafe
        -
      • MarkerClusterer
    @@ -34,222 +34,223 @@

    Constructors

    -
    +
    -
    +

    Returns MarkerClusterer

    +
  • Defined in markerclusterer.ts:77
  • Properties

    -
    +
    -
    algorithm: Algorithm
    +
    algorithm: Algorithm
    -
    +
  • Defined in markerclusterer.ts:67
  • +
    -
    clusters: Cluster[]
    -
    +
  • Defined in markerclusterer.ts:68
  • +
    -
    idleListener: MapsEventListener
    +
    idleListener: MapsEventListener

    See

    MarkerClustererOptions.maxZoom

    -
    +
  • Defined in markerclusterer.ts:75
  • +
    -
    map: Map
    +
    map: Map
    -

    See

    map

    +

    See

    map

    -
    +
  • Defined in markerclusterer.ts:73
  • +
    -
    markers: Marker[]
    -
    +
  • Defined in markerclusterer.ts:69
  • +
    -
    onClusterClick: onClusterClickHandler
    +
    onClusterClick: onClusterClickHandler
    -
    +
  • Defined in markerclusterer.ts:65
  • +
    -
    renderer: Renderer
    +
    renderer: Renderer
    -

    See

    renderer

    +

    See

    renderer

    +
  • Defined in markerclusterer.ts:71
  • Methods

    -
    +
    -
      - +
        +
      • Parameters

        • -
          marker: Marker
        • +
          marker: Marker
        • -
          Optional noDraw: boolean
        +
        Optional noDraw: boolean

    Returns void

    -
    +
  • Defined in markerclusterer.ts:98
  • +
    -
      - +
        +
      • Parameters

        • -
          markers: Marker[]
        • +
          markers: Marker[]
        • -
          Optional noDraw: boolean
        +
        Optional noDraw: boolean

      Returns void

    -
    +
  • Defined in markerclusterer.ts:109
  • +
    -
      - +
        +
      • Parameters

        • -
          Optional noDraw: boolean
        +
        Optional noDraw: boolean

      Returns void

    -
    +
  • Defined in markerclusterer.ts:154
  • +
    -
      - +
    -
    +
  • Defined in markerclusterer.ts:197
  • +
    -
      - +
    -
    +
  • Defined in markerclusterer.ts:205
  • +
    -
      - +
        +
      • Parameters

        • -
          marker: Marker
        • +
          marker: Marker
        • -
          Optional noDraw: boolean
        +
        Optional noDraw: boolean

      Returns boolean

    -
    +
  • Defined in markerclusterer.ts:119
  • +
    -
      - +
        +
      • Parameters

        • -
          markers: Marker[]
        • +
          markers: Marker[]
        • -
          Optional noDraw: boolean
        +
        Optional noDraw: boolean

      Returns boolean

    -
    +
  • Defined in markerclusterer.ts:137
  • +
    -
      - +
        +
      • Recalculates and draws all the marker clusters.

        Returns void

    -
    +
  • Defined in markerclusterer.ts:165
  • +
    -
    -
    +
  • Defined in markerclusterer.ts:216
  • +
    -
    - +
    +
    +
    +

    On This Page

    - - + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/classes/NoopAlgorithm.html b/classes/NoopAlgorithm.html index 867e05a2..a1bea251 100644 --- a/classes/NoopAlgorithm.html +++ b/classes/NoopAlgorithm.html @@ -1,13 +1,15 @@ -NoopAlgorithm | @googlemaps/js-markerclusterer
    +NoopAlgorithm | @googlemaps/js-markerclusterer
    -
    +
    -
    +

    Hierarchy

      -
    • AbstractAlgorithm -
      -

      Hierarchy

      +
    • AbstractAlgorithm
        -
      • NoopAlgorithm
    @@ -33,95 +33,96 @@

    Constructors

    -
    +
    -
    +

    Returns NoopAlgorithm

    +
  • Defined in algorithms/noop.ts:30
  • Properties

    -
    +
    -
    maxZoom: number
    +
  • Defined in algorithms/core.ts:65
  • Methods

    -
    +
    -
    +

    Returns AlgorithmOutput

    -
    +
  • Defined in algorithms/noop.ts:33
  • +
    -
    -
    +
  • Defined in algorithms/noop.ts:44
  • +
    -
      - +
        +
      • Helper function to bypass clustering based upon some map state such as zoom, number of markers, etc.

        -
         cluster({markers, map}: AlgorithmInput): Cluster[] {
        if (shouldBypassClustering(map)) {
        return this.noop({markers, map})
        }
        } +
         cluster({markers, map}: AlgorithmInput): Cluster[] {
        if (shouldBypassClustering(map)) {
        return this.noop({markers, map})
        }
        }

        Parameters

        -

        Returns Cluster[]

      +

      Returns Cluster[]

    - +
    +
    +
    +

    On This Page

    - - + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/classes/SuperClusterAlgorithm.html b/classes/SuperClusterAlgorithm.html index bc4a9297..9bfdacc1 100644 --- a/classes/SuperClusterAlgorithm.html +++ b/classes/SuperClusterAlgorithm.html @@ -1,13 +1,15 @@ -SuperClusterAlgorithm | @googlemaps/js-markerclusterer
    +SuperClusterAlgorithm | @googlemaps/js-markerclusterer
    -
    +
    -
    + +

    Returns SuperClusterAlgorithm

    +
  • Defined in algorithms/supercluster.ts:41
  • Properties

    -
    +
    -
    clusters: Cluster[]
    -
    +
  • Defined in algorithms/supercluster.ts:38
  • +
    -
    markers: Marker[]
    -
    +
  • Defined in algorithms/supercluster.ts:37
  • +
    -
    maxZoom: number
    -
    +
  • Defined in algorithms/core.ts:65
  • +
    -
    state: { zoom: number }
    +
    state: {
        zoom: number;
    }

    Type declaration

    • -
      zoom: number
    -
    +
  • Defined in algorithms/supercluster.ts:39
  • +
    -
    superCluster: Supercluster<AnyProps, AnyProps>
    +
  • Defined in algorithms/supercluster.ts:36
  • Methods

    -
    +
    -
    +

    Returns AlgorithmOutput

    -
    +
  • Defined in algorithms/supercluster.ts:52
  • +
    -
    -
    +
  • Defined in algorithms/supercluster.ts:96
  • +
    -
      - +
        +
      • Helper function to bypass clustering based upon some map state such as zoom, number of markers, etc.

        -
         cluster({markers, map}: AlgorithmInput): Cluster[] {
        if (shouldBypassClustering(map)) {
        return this.noop({markers, map})
        }
        } +
         cluster({markers, map}: AlgorithmInput): Cluster[] {
        if (shouldBypassClustering(map)) {
        return this.noop({markers, map})
        }
        }

        Parameters

        -

        Returns Cluster[]

      +

      Returns Cluster[]

    -
    +
  • Defined in algorithms/core.ts:82
  • +
    -
      - +
        +
      • Parameters

        • -
          __namedParameters: ClusterFeature<{ marker: Marker }>
        -

        Returns Cluster

      +

      Returns Cluster

    - +
    +
    +
    +

    On This Page

    - - + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/dist/algorithms/supercluster.d.ts b/dist/algorithms/supercluster.d.ts index e44a8ed1..a77ed1ec 100644 --- a/dist/algorithms/supercluster.d.ts +++ b/dist/algorithms/supercluster.d.ts @@ -17,7 +17,7 @@ import { AbstractAlgorithm, AlgorithmInput, AlgorithmOutput } from "./core"; import SuperCluster, { ClusterFeature } from "supercluster"; import { Cluster } from "../cluster"; -export declare type SuperClusterOptions = SuperCluster.Options<{ +export type SuperClusterOptions = SuperCluster.Options<{ [name: string]: any; }, { [name: string]: any; diff --git a/dist/algorithms/utils.d.ts b/dist/algorithms/utils.d.ts index acc6cbd6..ca31e954 100644 --- a/dist/algorithms/utils.d.ts +++ b/dist/algorithms/utils.d.ts @@ -23,7 +23,7 @@ export declare const extendBoundsToPaddedViewport: (bounds: google.maps.LatLngBo * @hidden */ export declare const distanceBetweenPoints: (p1: google.maps.LatLngLiteral, p2: google.maps.LatLngLiteral) => number; -declare type PixelBounds = { +type PixelBounds = { northEast: google.maps.Point; southWest: google.maps.Point; }; diff --git a/dist/index.dev.js b/dist/index.dev.js index 740af9be..3c26dcdb 100644 --- a/dist/index.dev.js +++ b/dist/index.dev.js @@ -176,12 +176,16 @@ var markerClusterer = (function (exports) { var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; + function getDefaultExportFromCjs (x) { + return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; + } + var check = function (it) { return it && it.Math == Math && it; }; // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 - var global$d = // eslint-disable-next-line es-x/no-global-this -- safe + var global$d = // eslint-disable-next-line es/no-global-this -- safe check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || // eslint-disable-next-line no-restricted-globals -- safe check(typeof self == 'object' && self) || check(typeof commonjsGlobal == 'object' && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback function () { @@ -201,7 +205,7 @@ var markerClusterer = (function (exports) { var fails$d = fails$e; // Detect IE8's incomplete defineProperty implementation var descriptors = !fails$d(function () { - // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing + // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty({}, 1, { get: function () { return 7; @@ -211,7 +215,7 @@ var markerClusterer = (function (exports) { var fails$c = fails$e; var functionBindNative = !fails$c(function () { - // eslint-disable-next-line es-x/no-function-prototype-bind -- safe + // eslint-disable-next-line es/no-function-prototype-bind -- safe var test = function () { /* empty */ }.bind(); // eslint-disable-next-line no-prototype-builtins -- safe @@ -228,7 +232,7 @@ var markerClusterer = (function (exports) { var objectPropertyIsEnumerable = {}; - var $propertyIsEnumerable = {}.propertyIsEnumerable; // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe + var $propertyIsEnumerable = {}.propertyIsEnumerable; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var getOwnPropertyDescriptor$3 = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug @@ -253,30 +257,27 @@ var markerClusterer = (function (exports) { var NATIVE_BIND$1 = functionBindNative; var FunctionPrototype$1 = Function.prototype; - var bind$2 = FunctionPrototype$1.bind; var call$5 = FunctionPrototype$1.call; - var uncurryThis$j = NATIVE_BIND$1 && bind$2.bind(call$5, call$5); - var functionUncurryThis = NATIVE_BIND$1 ? function (fn) { - return fn && uncurryThis$j(fn); - } : function (fn) { - return fn && function () { + var uncurryThisWithBind = NATIVE_BIND$1 && FunctionPrototype$1.bind.bind(call$5, call$5); + var functionUncurryThis = NATIVE_BIND$1 ? uncurryThisWithBind : function (fn) { + return function () { return call$5.apply(fn, arguments); }; }; - var uncurryThis$i = functionUncurryThis; - var toString$5 = uncurryThis$i({}.toString); - var stringSlice = uncurryThis$i(''.slice); + var uncurryThis$j = functionUncurryThis; + var toString$5 = uncurryThis$j({}.toString); + var stringSlice$2 = uncurryThis$j(''.slice); - var classofRaw$1 = function (it) { - return stringSlice(toString$5(it), 8, -1); + var classofRaw$2 = function (it) { + return stringSlice$2(toString$5(it), 8, -1); }; - var uncurryThis$h = functionUncurryThis; + var uncurryThis$i = functionUncurryThis; var fails$b = fails$e; - var classof$7 = classofRaw$1; + var classof$7 = classofRaw$2; var $Object$3 = Object; - var split = uncurryThis$h(''.split); // fallback for non-array-like ES3 and non-enumerable old V8 strings + var split = uncurryThis$i(''.split); // fallback for non-array-like ES3 and non-enumerable old V8 strings var indexedObject = fails$b(function () { // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 @@ -308,17 +309,29 @@ var markerClusterer = (function (exports) { return IndexedObject$3(requireObjectCoercible$3(it)); }; + var documentAll$2 = typeof document == 'object' && document.all; // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot + // eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing + + var IS_HTMLDDA = typeof documentAll$2 == 'undefined' && documentAll$2 !== undefined; + var documentAll_1 = { + all: documentAll$2, + IS_HTMLDDA: IS_HTMLDDA + }; + + var $documentAll$1 = documentAll_1; + var documentAll$1 = $documentAll$1.all; // `IsCallable` abstract operation // https://tc39.es/ecma262/#sec-iscallable - var isCallable$e = function (argument) { + var isCallable$e = $documentAll$1.IS_HTMLDDA ? function (argument) { + return typeof argument == 'function' || argument === documentAll$1; + } : function (argument) { return typeof argument == 'function'; }; var isCallable$d = isCallable$e; - var documentAll = typeof document == 'object' && document.all; // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot - - var SPECIAL_DOCUMENT_ALL = typeof documentAll == 'undefined' && documentAll !== undefined; - var isObject$8 = SPECIAL_DOCUMENT_ALL ? function (it) { + var $documentAll = documentAll_1; + var documentAll = $documentAll.all; + var isObject$8 = $documentAll.IS_HTMLDDA ? function (it) { return typeof it == 'object' ? it !== null : isCallable$d(it) || it === documentAll; } : function (it) { return typeof it == 'object' ? it !== null : isCallable$d(it); @@ -331,21 +344,20 @@ var markerClusterer = (function (exports) { return isCallable$c(argument) ? argument : undefined; }; - var getBuiltIn$5 = function (namespace, method) { + var getBuiltIn$4 = function (namespace, method) { return arguments.length < 2 ? aFunction(global$c[namespace]) : global$c[namespace] && global$c[namespace][method]; }; - var uncurryThis$g = functionUncurryThis; - var objectIsPrototypeOf = uncurryThis$g({}.isPrototypeOf); + var uncurryThis$h = functionUncurryThis; + var objectIsPrototypeOf = uncurryThis$h({}.isPrototypeOf); - var getBuiltIn$4 = getBuiltIn$5; - var engineUserAgent = getBuiltIn$4('navigator', 'userAgent') || ''; + var engineUserAgent = typeof navigator != 'undefined' && String(navigator.userAgent) || ''; var global$b = global$d; var userAgent = engineUserAgent; - var process = global$b.process; + var process$1 = global$b.process; var Deno = global$b.Deno; - var versions = process && process.versions || Deno && Deno.version; + var versions = process$1 && process$1.versions || Deno && Deno.version; var v8 = versions && versions.v8; var match, version; @@ -369,9 +381,9 @@ var markerClusterer = (function (exports) { var engineV8Version = version; - /* eslint-disable es-x/no-symbol -- required for testing */ + /* eslint-disable es/no-symbol -- required for testing */ var V8_VERSION$1 = engineV8Version; - var fails$a = fails$e; // eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing + var fails$a = fails$e; // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$a(function () { var symbol = Symbol(); // Chrome 38 Symbol has incorrect toString conversion @@ -381,11 +393,11 @@ var markerClusterer = (function (exports) { !Symbol.sham && V8_VERSION$1 && V8_VERSION$1 < 41; }); - /* eslint-disable es-x/no-symbol -- required for testing */ + /* eslint-disable es/no-symbol -- required for testing */ var NATIVE_SYMBOL$1 = symbolConstructorDetection; var useSymbolAsUid = NATIVE_SYMBOL$1 && !Symbol.sham && typeof Symbol.iterator == 'symbol'; - var getBuiltIn$3 = getBuiltIn$5; + var getBuiltIn$3 = getBuiltIn$4; var isCallable$b = isCallable$e; var isPrototypeOf$1 = objectIsPrototypeOf; var USE_SYMBOL_AS_UID$1 = useSymbolAsUid; @@ -397,11 +409,11 @@ var markerClusterer = (function (exports) { return isCallable$b($Symbol) && isPrototypeOf$1($Symbol.prototype, $Object$2(it)); }; - var $String$3 = String; + var $String$4 = String; var tryToString$2 = function (argument) { try { - return $String$3(argument); + return $String$4(argument); } catch (error) { return 'Object'; } @@ -411,18 +423,18 @@ var markerClusterer = (function (exports) { var tryToString$1 = tryToString$2; var $TypeError$a = TypeError; // `Assert: IsCallable(argument) is true` - var aCallable$3 = function (argument) { + var aCallable$4 = function (argument) { if (isCallable$a(argument)) return argument; throw $TypeError$a(tryToString$1(argument) + ' is not a function'); }; - var aCallable$2 = aCallable$3; + var aCallable$3 = aCallable$4; var isNullOrUndefined = isNullOrUndefined$2; // `GetMethod` abstract operation // https://tc39.es/ecma262/#sec-getmethod var getMethod$1 = function (V, P) { var func = V[P]; - return isNullOrUndefined(func) ? undefined : aCallable$2(func); + return isNullOrUndefined(func) ? undefined : aCallable$3(func); }; var call$4 = functionCall; @@ -441,7 +453,9 @@ var markerClusterer = (function (exports) { var shared$3 = {exports: {}}; - var global$a = global$d; // eslint-disable-next-line es-x/no-object-defineproperty -- safe + var isPure = false; + + var global$a = global$d; // eslint-disable-next-line es/no-object-defineproperty -- safe var defineProperty$4 = Object.defineProperty; @@ -469,12 +483,13 @@ var markerClusterer = (function (exports) { (shared$3.exports = function (key, value) { return store$2[key] || (store$2[key] = value !== undefined ? value : {}); })('versions', []).push({ - version: '3.25.0', + version: '3.30.1', mode: 'global', - copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)', - license: 'https://github.com/zloirock/core-js/blob/v3.25.0/LICENSE', + copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)', + license: 'https://github.com/zloirock/core-js/blob/v3.30.1/LICENSE', source: 'https://github.com/zloirock/core-js' }); + var sharedExports = shared$3.exports; var requireObjectCoercible$2 = requireObjectCoercible$4; var $Object$1 = Object; // `ToObject` abstract operation @@ -484,47 +499,38 @@ var markerClusterer = (function (exports) { return $Object$1(requireObjectCoercible$2(argument)); }; - var uncurryThis$f = functionUncurryThis; + var uncurryThis$g = functionUncurryThis; var toObject$4 = toObject$5; - var hasOwnProperty = uncurryThis$f({}.hasOwnProperty); // `HasOwnProperty` abstract operation + var hasOwnProperty = uncurryThis$g({}.hasOwnProperty); // `HasOwnProperty` abstract operation // https://tc39.es/ecma262/#sec-hasownproperty - // eslint-disable-next-line es-x/no-object-hasown -- safe + // eslint-disable-next-line es/no-object-hasown -- safe var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) { return hasOwnProperty(toObject$4(it), key); }; - var uncurryThis$e = functionUncurryThis; + var uncurryThis$f = functionUncurryThis; var id = 0; var postfix = Math.random(); - var toString$4 = uncurryThis$e(1.0.toString); + var toString$4 = uncurryThis$f(1.0.toString); var uid$2 = function (key) { return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$4(++id + postfix, 36); }; var global$8 = global$d; - var shared$2 = shared$3.exports; + var shared$2 = sharedExports; var hasOwn$7 = hasOwnProperty_1; var uid$1 = uid$2; var NATIVE_SYMBOL = symbolConstructorDetection; var USE_SYMBOL_AS_UID = useSymbolAsUid; - var WellKnownSymbolsStore = shared$2('wks'); var Symbol$1 = global$8.Symbol; - var symbolFor = Symbol$1 && Symbol$1['for']; - var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1; + var WellKnownSymbolsStore = shared$2('wks'); + var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1['for'] || Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1; var wellKnownSymbol$8 = function (name) { - if (!hasOwn$7(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) { - var description = 'Symbol.' + name; - - if (NATIVE_SYMBOL && hasOwn$7(Symbol$1, name)) { - WellKnownSymbolsStore[name] = Symbol$1[name]; - } else if (USE_SYMBOL_AS_UID && symbolFor) { - WellKnownSymbolsStore[name] = symbolFor(description); - } else { - WellKnownSymbolsStore[name] = createWellKnownSymbol(description); - } + if (!hasOwn$7(WellKnownSymbolsStore, name)) { + WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn$7(Symbol$1, name) ? Symbol$1[name] : createWellKnownSymbol('Symbol.' + name); } return WellKnownSymbolsStore[name]; @@ -580,7 +586,7 @@ var markerClusterer = (function (exports) { var createElement = documentCreateElement$2; // Thanks to IE8 for its funny defineProperty var ie8DomDefine = !DESCRIPTORS$a && !fails$9(function () { - // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing + // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty(createElement('div'), 'a', { get: function () { return 7; @@ -595,7 +601,7 @@ var markerClusterer = (function (exports) { var toIndexedObject$3 = toIndexedObject$4; var toPropertyKey$2 = toPropertyKey$3; var hasOwn$6 = hasOwnProperty_1; - var IE8_DOM_DEFINE$1 = ie8DomDefine; // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe + var IE8_DOM_DEFINE$1 = ie8DomDefine; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor @@ -618,7 +624,7 @@ var markerClusterer = (function (exports) { // https://bugs.chromium.org/p/v8/issues/detail?id=3334 var v8PrototypeDefineBug = DESCRIPTORS$8 && fails$8(function () { - // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing + // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty(function () { /* empty */ }, 'prototype', { @@ -628,12 +634,12 @@ var markerClusterer = (function (exports) { }); var isObject$4 = isObject$8; - var $String$2 = String; + var $String$3 = String; var $TypeError$7 = TypeError; // `Assert: Type(argument) is Object` var anObject$5 = function (argument) { if (isObject$4(argument)) return argument; - throw $TypeError$7($String$2(argument) + ' is not an object'); + throw $TypeError$7($String$3(argument) + ' is not an object'); }; var DESCRIPTORS$7 = descriptors; @@ -641,9 +647,9 @@ var markerClusterer = (function (exports) { var V8_PROTOTYPE_DEFINE_BUG$1 = v8PrototypeDefineBug; var anObject$4 = anObject$5; var toPropertyKey$1 = toPropertyKey$3; - var $TypeError$6 = TypeError; // eslint-disable-next-line es-x/no-object-defineproperty -- safe + var $TypeError$6 = TypeError; // eslint-disable-next-line es/no-object-defineproperty -- safe - var $defineProperty = Object.defineProperty; // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe + var $defineProperty = Object.defineProperty; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; var ENUMERABLE = 'enumerable'; @@ -698,7 +704,7 @@ var markerClusterer = (function (exports) { var DESCRIPTORS$5 = descriptors; var hasOwn$5 = hasOwnProperty_1; - var FunctionPrototype = Function.prototype; // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe + var FunctionPrototype = Function.prototype; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var getDescriptor = DESCRIPTORS$5 && Object.getOwnPropertyDescriptor; var EXISTS = hasOwn$5(FunctionPrototype, 'name'); // additional protection from minified / mangled / dropped function names @@ -714,10 +720,10 @@ var markerClusterer = (function (exports) { CONFIGURABLE: CONFIGURABLE }; - var uncurryThis$d = functionUncurryThis; + var uncurryThis$e = functionUncurryThis; var isCallable$8 = isCallable$e; var store$1 = sharedStore; - var functionToString = uncurryThis$d(Function.toString); // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper + var functionToString = uncurryThis$e(Function.toString); // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper if (!isCallable$8(store$1.inspectSource)) { store$1.inspectSource = function (it) { @@ -732,19 +738,18 @@ var markerClusterer = (function (exports) { var WeakMap$1 = global$6.WeakMap; var weakMapBasicDetection = isCallable$7(WeakMap$1) && /native code/.test(String(WeakMap$1)); - var shared$1 = shared$3.exports; + var shared$1 = sharedExports; var uid = uid$2; - var keys$1 = shared$1('keys'); + var keys = shared$1('keys'); var sharedKey$2 = function (key) { - return keys$1[key] || (keys$1[key] = uid(key)); + return keys[key] || (keys[key] = uid(key)); }; var hiddenKeys$4 = {}; var NATIVE_WEAK_MAP = weakMapBasicDetection; var global$5 = global$d; - var uncurryThis$c = functionUncurryThis; var isObject$3 = isObject$8; var createNonEnumerableProperty$2 = createNonEnumerableProperty$3; var hasOwn$4 = hasOwnProperty_1; @@ -774,23 +779,26 @@ var markerClusterer = (function (exports) { if (NATIVE_WEAK_MAP || shared.state) { var store = shared.state || (shared.state = new WeakMap()); - var wmget = uncurryThis$c(store.get); - var wmhas = uncurryThis$c(store.has); - var wmset = uncurryThis$c(store.set); + /* eslint-disable no-self-assign -- prototype methods protection */ + + store.get = store.get; + store.has = store.has; + store.set = store.set; + /* eslint-enable no-self-assign -- prototype methods protection */ set = function (it, metadata) { - if (wmhas(store, it)) throw TypeError$2(OBJECT_ALREADY_INITIALIZED); + if (store.has(it)) throw TypeError$2(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; - wmset(store, it, metadata); + store.set(it, metadata); return metadata; }; get = function (it) { - return wmget(store, it) || {}; + return store.get(it) || {}; }; has = function (it) { - return wmhas(store, it); + return store.has(it); }; } else { var STATE = sharedKey$1('state'); @@ -820,6 +828,7 @@ var markerClusterer = (function (exports) { getterFor: getterFor }; + var uncurryThis$d = functionUncurryThis; var fails$7 = fails$e; var isCallable$6 = isCallable$e; var hasOwn$3 = hasOwnProperty_1; @@ -828,9 +837,13 @@ var markerClusterer = (function (exports) { var inspectSource$1 = inspectSource$2; var InternalStateModule = internalState; var enforceInternalState = InternalStateModule.enforce; - var getInternalState = InternalStateModule.get; // eslint-disable-next-line es-x/no-object-defineproperty -- safe + var getInternalState = InternalStateModule.get; + var $String$2 = String; // eslint-disable-next-line es/no-object-defineproperty -- safe var defineProperty$3 = Object.defineProperty; + var stringSlice$1 = uncurryThis$d(''.slice); + var replace$1 = uncurryThis$d(''.replace); + var join = uncurryThis$d([].join); var CONFIGURABLE_LENGTH = DESCRIPTORS$4 && !fails$7(function () { return defineProperty$3(function () { /* empty */ @@ -841,8 +854,8 @@ var markerClusterer = (function (exports) { var TEMPLATE = String(String).split('String'); var makeBuiltIn$1 = makeBuiltIn$2.exports = function (value, name, options) { - if (String(name).slice(0, 7) === 'Symbol(') { - name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']'; + if (stringSlice$1($String$2(name), 0, 7) === 'Symbol(') { + name = '[' + replace$1($String$2(name), /^Symbol\(([^)]*)\)/, '$1') + ']'; } if (options && options.getter) name = 'get ' + name; @@ -874,7 +887,7 @@ var markerClusterer = (function (exports) { var state = enforceInternalState(value); if (!hasOwn$3(state, 'source')) { - state.source = TEMPLATE.join(typeof name == 'string' ? name : ''); + state.source = join(TEMPLATE, typeof name == 'string' ? name : ''); } return value; @@ -885,13 +898,14 @@ var markerClusterer = (function (exports) { Function.prototype.toString = makeBuiltIn$1(function toString() { return isCallable$6(this) && getInternalState(this).source || inspectSource$1(this); }, 'toString'); + var makeBuiltInExports = makeBuiltIn$2.exports; var isCallable$5 = isCallable$e; var definePropertyModule$3 = objectDefineProperty; - var makeBuiltIn = makeBuiltIn$2.exports; + var makeBuiltIn = makeBuiltInExports; var defineGlobalProperty$1 = defineGlobalProperty$3; - var defineBuiltIn$3 = function (O, key, value, options) { + var defineBuiltIn$2 = function (O, key, value, options) { if (!options) options = {}; var simple = options.enumerable; var name = options.name !== undefined ? options.name : key; @@ -922,7 +936,7 @@ var markerClusterer = (function (exports) { var ceil = Math.ceil; var floor = Math.floor; // `Math.trunc` method // https://tc39.es/ecma262/#sec-math.trunc - // eslint-disable-next-line es-x/no-math-trunc -- safe + // eslint-disable-next-line es/no-math-trunc -- safe var mathTrunc = Math.trunc || function trunc(x) { var n = +x; @@ -996,12 +1010,12 @@ var markerClusterer = (function (exports) { indexOf: createMethod$3(false) }; - var uncurryThis$b = functionUncurryThis; + var uncurryThis$c = functionUncurryThis; var hasOwn$2 = hasOwnProperty_1; var toIndexedObject$1 = toIndexedObject$4; var indexOf = arrayIncludes.indexOf; var hiddenKeys$2 = hiddenKeys$4; - var push$1 = uncurryThis$b([].push); + var push$1 = uncurryThis$c([].push); var objectKeysInternal = function (object, names) { var O = toIndexedObject$1(object); @@ -1025,7 +1039,7 @@ var markerClusterer = (function (exports) { var enumBugKeys$2 = enumBugKeys$3; var hiddenKeys$1 = enumBugKeys$2.concat('length', 'prototype'); // `Object.getOwnPropertyNames` method // https://tc39.es/ecma262/#sec-object.getownpropertynames - // eslint-disable-next-line es-x/no-object-getownpropertynames -- safe + // eslint-disable-next-line es/no-object-getownpropertynames -- safe objectGetOwnPropertyNames.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return internalObjectKeys$1(O, hiddenKeys$1); @@ -1035,12 +1049,12 @@ var markerClusterer = (function (exports) { objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols; - var getBuiltIn$2 = getBuiltIn$5; - var uncurryThis$a = functionUncurryThis; + var getBuiltIn$2 = getBuiltIn$4; + var uncurryThis$b = functionUncurryThis; var getOwnPropertyNamesModule = objectGetOwnPropertyNames; var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols; var anObject$3 = anObject$5; - var concat$1 = uncurryThis$a([].concat); // all object keys, includes non-enumerable and symbols + var concat$1 = uncurryThis$b([].concat); // all object keys, includes non-enumerable and symbols var ownKeys$1 = getBuiltIn$2('Reflect', 'ownKeys') || function ownKeys(it) { var keys = getOwnPropertyNamesModule.f(anObject$3(it)); @@ -1053,7 +1067,7 @@ var markerClusterer = (function (exports) { var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor; var definePropertyModule$2 = objectDefineProperty; - var copyConstructorProperties$1 = function (target, source, exceptions) { + var copyConstructorProperties$2 = function (target, source, exceptions) { var keys = ownKeys(source); var defineProperty = definePropertyModule$2.f; var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; @@ -1088,9 +1102,9 @@ var markerClusterer = (function (exports) { var global$4 = global$d; var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f; var createNonEnumerableProperty$1 = createNonEnumerableProperty$3; - var defineBuiltIn$2 = defineBuiltIn$3; + var defineBuiltIn$1 = defineBuiltIn$2; var defineGlobalProperty = defineGlobalProperty$3; - var copyConstructorProperties = copyConstructorProperties$1; + var copyConstructorProperties$1 = copyConstructorProperties$2; var isForced$1 = isForced_1; /* options.target - name of the target object @@ -1134,7 +1148,7 @@ var markerClusterer = (function (exports) { if (!FORCED && targetProperty !== undefined) { if (typeof sourceProperty == typeof targetProperty) continue; - copyConstructorProperties(sourceProperty, targetProperty); + copyConstructorProperties$1(sourceProperty, targetProperty); } // add a flag to not completely full polyfills @@ -1142,17 +1156,27 @@ var markerClusterer = (function (exports) { createNonEnumerableProperty$1(sourceProperty, 'sham', true); } - defineBuiltIn$2(target, key, sourceProperty, options); + defineBuiltIn$1(target, key, sourceProperty, options); } }; - var uncurryThis$9 = functionUncurryThis; - var aCallable$1 = aCallable$3; + var classofRaw$1 = classofRaw$2; + var uncurryThis$a = functionUncurryThis; + + var functionUncurryThisClause = function (fn) { + // Nashorn bug: + // https://github.com/zloirock/core-js/issues/1128 + // https://github.com/zloirock/core-js/issues/1130 + if (classofRaw$1(fn) === 'Function') return uncurryThis$a(fn); + }; + + var uncurryThis$9 = functionUncurryThisClause; + var aCallable$2 = aCallable$4; var NATIVE_BIND = functionBindNative; var bind$1 = uncurryThis$9(uncurryThis$9.bind); // optional / simple context binding var functionBindContext = function (fn, that) { - aCallable$1(fn); + aCallable$2(fn); return that === undefined ? fn : NATIVE_BIND ? bind$1(fn, that) : function () /* ...args */ { @@ -1160,9 +1184,9 @@ var markerClusterer = (function (exports) { }; }; - var classof$6 = classofRaw$1; // `IsArray` abstract operation + var classof$6 = classofRaw$2; // `IsArray` abstract operation // https://tc39.es/ecma262/#sec-isarray - // eslint-disable-next-line es-x/no-array-isarray -- safe + // eslint-disable-next-line es/no-array-isarray -- safe var isArray$2 = Array.isArray || function isArray(argument) { return classof$6(argument) == 'Array'; @@ -1176,7 +1200,7 @@ var markerClusterer = (function (exports) { var TO_STRING_TAG_SUPPORT$2 = toStringTagSupport; var isCallable$3 = isCallable$e; - var classofRaw = classofRaw$1; + var classofRaw = classofRaw$2; var wellKnownSymbol$5 = wellKnownSymbol$8; var TO_STRING_TAG = wellKnownSymbol$5('toStringTag'); var $Object = Object; // ES3 wrong here @@ -1206,7 +1230,7 @@ var markerClusterer = (function (exports) { var fails$5 = fails$e; var isCallable$2 = isCallable$e; var classof$4 = classof$5; - var getBuiltIn$1 = getBuiltIn$5; + var getBuiltIn$1 = getBuiltIn$4; var inspectSource = inspectSource$2; var noop = function () { @@ -1404,14 +1428,14 @@ var markerClusterer = (function (exports) { }); }; - var $$8 = _export; + var $$9 = _export; var $map = arrayIteration.map; var arrayMethodHasSpeciesSupport$2 = arrayMethodHasSpeciesSupport$3; var HAS_SPECIES_SUPPORT$2 = arrayMethodHasSpeciesSupport$2('map'); // `Array.prototype.map` method // https://tc39.es/ecma262/#sec-array.prototype.map // with adding support of @@species - $$8({ + $$9({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$2 @@ -1448,7 +1472,7 @@ var markerClusterer = (function (exports) { return t; } - var aCallable = aCallable$3; + var aCallable$1 = aCallable$4; var toObject$2 = toObject$5; var IndexedObject$1 = indexedObject; var lengthOfArrayLike$1 = lengthOfArrayLike$4; @@ -1456,7 +1480,7 @@ var markerClusterer = (function (exports) { var createMethod$1 = function (IS_RIGHT) { return function (that, callbackfn, argumentsLength, memo) { - aCallable(callbackfn); + aCallable$1(callbackfn); var O = toObject$2(that); var self = IndexedObject$1(O); var length = lengthOfArrayLike$1(O); @@ -1505,25 +1529,24 @@ var markerClusterer = (function (exports) { }); }; - var classof$3 = classofRaw$1; - var global$3 = global$d; - var engineIsNode = classof$3(global$3.process) == 'process'; + var classof$3 = classofRaw$2; + var engineIsNode = typeof process != 'undefined' && classof$3(process) == 'process'; - var $$7 = _export; + var $$8 = _export; var $reduce = arrayReduce.left; var arrayMethodIsStrict$2 = arrayMethodIsStrict$3; var CHROME_VERSION = engineV8Version; - var IS_NODE = engineIsNode; - var STRICT_METHOD$2 = arrayMethodIsStrict$2('reduce'); // Chrome 80-82 has a critical bug + var IS_NODE = engineIsNode; // Chrome 80-82 has a critical bug // https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 - var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; // `Array.prototype.reduce` method + var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; + var FORCED$2 = CHROME_BUG || !arrayMethodIsStrict$2('reduce'); // `Array.prototype.reduce` method // https://tc39.es/ecma262/#sec-array.prototype.reduce - $$7({ + $$8({ target: 'Array', proto: true, - forced: !STRICT_METHOD$2 || CHROME_BUG + forced: FORCED$2 }, { reduce: function reduce(callbackfn /* , initialValue */ @@ -1542,24 +1565,24 @@ var markerClusterer = (function (exports) { }; var TO_STRING_TAG_SUPPORT = toStringTagSupport; - var defineBuiltIn$1 = defineBuiltIn$3; + var defineBuiltIn = defineBuiltIn$2; var toString$3 = objectToString; // `Object.prototype.toString` method // https://tc39.es/ecma262/#sec-object.prototype.tostring if (!TO_STRING_TAG_SUPPORT) { - defineBuiltIn$1(Object.prototype, 'toString', toString$3, { + defineBuiltIn(Object.prototype, 'toString', toString$3, { unsafe: true }); } - var $$6 = _export; + var $$7 = _export; var $filter = arrayIteration.filter; var arrayMethodHasSpeciesSupport$1 = arrayMethodHasSpeciesSupport$3; var HAS_SPECIES_SUPPORT$1 = arrayMethodHasSpeciesSupport$1('filter'); // `Array.prototype.filter` method // https://tc39.es/ecma262/#sec-array.prototype.filter // with adding support of @@species - $$6({ + $$7({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$1 @@ -1899,16 +1922,16 @@ var markerClusterer = (function (exports) { var $forEach = arrayIteration.forEach; var arrayMethodIsStrict$1 = arrayMethodIsStrict$3; - var STRICT_METHOD$1 = arrayMethodIsStrict$1('forEach'); // `Array.prototype.forEach` method implementation + var STRICT_METHOD = arrayMethodIsStrict$1('forEach'); // `Array.prototype.forEach` method implementation // https://tc39.es/ecma262/#sec-array.prototype.foreach - var arrayForEach = !STRICT_METHOD$1 ? function forEach(callbackfn + var arrayForEach = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */ ) { - return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); // eslint-disable-next-line es-x/no-array-prototype-foreach -- safe + return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); // eslint-disable-next-line es/no-array-prototype-foreach -- safe } : [].forEach; - var global$2 = global$d; + var global$3 = global$d; var DOMIterables = domIterables; var DOMTokenListPrototype = domTokenListPrototype; var forEach = arrayForEach; @@ -1925,17 +1948,17 @@ var markerClusterer = (function (exports) { for (var COLLECTION_NAME in DOMIterables) { if (DOMIterables[COLLECTION_NAME]) { - handlePrototype(global$2[COLLECTION_NAME] && global$2[COLLECTION_NAME].prototype); + handlePrototype(global$3[COLLECTION_NAME] && global$3[COLLECTION_NAME].prototype); } } handlePrototype(DOMTokenListPrototype); - var $$5 = _export; + var $$6 = _export; var call$1 = functionCall; // `URL.prototype.toJSON` method // https://url.spec.whatwg.org/#dom-url-tojson - $$5({ + $$6({ target: 'URL', proto: true, enumerable: true @@ -1982,6 +2005,8 @@ var markerClusterer = (function (exports) { return a !== a && b !== b; }; + var equal = /*@__PURE__*/getDefaultExportFromCjs(fastDeepEqual); + /** * The default Grid algorithm historically used in Google Maps marker * clustering. @@ -2028,7 +2053,7 @@ var markerClusterer = (function (exports) { var changed = false; if (this.state.zoom > this.maxZoom && state.zoom > this.maxZoom) ; else { - changed = !fastDeepEqual(this.state, state); + changed = !equal(this.state, state); } this.state = state; @@ -2143,7 +2168,7 @@ var markerClusterer = (function (exports) { var internalObjectKeys = objectKeysInternal; var enumBugKeys$1 = enumBugKeys$3; // `Object.keys` method // https://tc39.es/ecma262/#sec-object.keys - // eslint-disable-next-line es-x/no-object-keys -- safe + // eslint-disable-next-line es/no-object-keys -- safe var objectKeys$2 = Object.keys || function keys(O) { return internalObjectKeys(O, enumBugKeys$1); @@ -2157,9 +2182,9 @@ var markerClusterer = (function (exports) { var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols; var propertyIsEnumerableModule = objectPropertyIsEnumerable; var toObject$1 = toObject$5; - var IndexedObject = indexedObject; // eslint-disable-next-line es-x/no-object-assign -- safe + var IndexedObject = indexedObject; // eslint-disable-next-line es/no-object-assign -- safe - var $assign = Object.assign; // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing + var $assign = Object.assign; // eslint-disable-next-line es/no-object-defineproperty -- required for testing var defineProperty$2 = Object.defineProperty; var concat = uncurryThis$6([].concat); // `Object.assign` method @@ -2182,7 +2207,7 @@ var markerClusterer = (function (exports) { })).b !== 1) return true; // should work with symbols and should have deterministic property order (V8 bug) var A = {}; - var B = {}; // eslint-disable-next-line es-x/no-symbol -- safe + var B = {}; // eslint-disable-next-line es/no-symbol -- safe var symbol = Symbol(); var alphabet = 'abcdefghijklmnopqrst'; @@ -2215,12 +2240,12 @@ var markerClusterer = (function (exports) { return T; } : $assign; - var $$4 = _export; + var $$5 = _export; var assign = objectAssign; // `Object.assign` method // https://tc39.es/ecma262/#sec-object.assign - // eslint-disable-next-line es-x/no-object-assign -- required for testing + // eslint-disable-next-line es/no-object-assign -- required for testing - $$4({ + $$5({ target: 'Object', stat: true, arity: 2, @@ -2229,231 +2254,182 @@ var markerClusterer = (function (exports) { assign: assign }); - var kdbush = {exports: {}}; - - (function (module, exports) { - (function (global, factory) { - module.exports = factory() ; - })(commonjsGlobal, function () { - - function sortKD(ids, coords, nodeSize, left, right, depth) { - if (right - left <= nodeSize) { - return; - } + function sortKD(ids, coords, nodeSize, left, right, depth) { + if (right - left <= nodeSize) return; + const m = left + right >> 1; + select(ids, coords, m, left, right, depth % 2); + sortKD(ids, coords, nodeSize, left, m - 1, depth + 1); + sortKD(ids, coords, nodeSize, m + 1, right, depth + 1); + } - var m = left + right >> 1; - select(ids, coords, m, left, right, depth % 2); - sortKD(ids, coords, nodeSize, left, m - 1, depth + 1); - sortKD(ids, coords, nodeSize, m + 1, right, depth + 1); - } - - function select(ids, coords, k, left, right, inc) { - while (right > left) { - if (right - left > 600) { - var n = right - left + 1; - var m = k - left + 1; - var z = Math.log(n); - var s = 0.5 * Math.exp(2 * z / 3); - var sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1); - var newLeft = Math.max(left, Math.floor(k - m * s / n + sd)); - var newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd)); - select(ids, coords, k, newLeft, newRight, inc); - } + function select(ids, coords, k, left, right, inc) { + while (right > left) { + if (right - left > 600) { + const n = right - left + 1; + const m = k - left + 1; + const z = Math.log(n); + const s = 0.5 * Math.exp(2 * z / 3); + const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1); + const newLeft = Math.max(left, Math.floor(k - m * s / n + sd)); + const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd)); + select(ids, coords, k, newLeft, newRight, inc); + } - var t = coords[2 * k + inc]; - var i = left; - var j = right; - swapItem(ids, coords, left, k); + const t = coords[2 * k + inc]; + let i = left; + let j = right; + swapItem(ids, coords, left, k); + if (coords[2 * right + inc] > t) swapItem(ids, coords, left, right); - if (coords[2 * right + inc] > t) { - swapItem(ids, coords, left, right); - } + while (i < j) { + swapItem(ids, coords, i, j); + i++; + j--; - while (i < j) { - swapItem(ids, coords, i, j); - i++; - j--; + while (coords[2 * i + inc] < t) i++; - while (coords[2 * i + inc] < t) { - i++; - } + while (coords[2 * j + inc] > t) j--; + } - while (coords[2 * j + inc] > t) { - j--; - } - } + if (coords[2 * left + inc] === t) swapItem(ids, coords, left, j);else { + j++; + swapItem(ids, coords, j, right); + } + if (j <= k) left = j + 1; + if (k <= j) right = j - 1; + } + } - if (coords[2 * left + inc] === t) { - swapItem(ids, coords, left, j); - } else { - j++; - swapItem(ids, coords, j, right); - } + function swapItem(ids, coords, i, j) { + swap(ids, i, j); + swap(coords, 2 * i, 2 * j); + swap(coords, 2 * i + 1, 2 * j + 1); + } - if (j <= k) { - left = j + 1; - } + function swap(arr, i, j) { + const tmp = arr[i]; + arr[i] = arr[j]; + arr[j] = tmp; + } - if (k <= j) { - right = j - 1; - } + function range(ids, coords, minX, minY, maxX, maxY, nodeSize) { + const stack = [0, ids.length - 1, 0]; + const result = []; + let x, y; + + while (stack.length) { + const axis = stack.pop(); + const right = stack.pop(); + const left = stack.pop(); + + if (right - left <= nodeSize) { + for (let i = left; i <= right; i++) { + x = coords[2 * i]; + y = coords[2 * i + 1]; + if (x >= minX && x <= maxX && y >= minY && y <= maxY) result.push(ids[i]); } - } - function swapItem(ids, coords, i, j) { - swap(ids, i, j); - swap(coords, 2 * i, 2 * j); - swap(coords, 2 * i + 1, 2 * j + 1); + continue; } - function swap(arr, i, j) { - var tmp = arr[i]; - arr[i] = arr[j]; - arr[j] = tmp; - } - - function range(ids, coords, minX, minY, maxX, maxY, nodeSize) { - var stack = [0, ids.length - 1, 0]; - var result = []; - var x, y; - - while (stack.length) { - var axis = stack.pop(); - var right = stack.pop(); - var left = stack.pop(); + const m = Math.floor((left + right) / 2); + x = coords[2 * m]; + y = coords[2 * m + 1]; + if (x >= minX && x <= maxX && y >= minY && y <= maxY) result.push(ids[m]); + const nextAxis = (axis + 1) % 2; - if (right - left <= nodeSize) { - for (var i = left; i <= right; i++) { - x = coords[2 * i]; - y = coords[2 * i + 1]; - - if (x >= minX && x <= maxX && y >= minY && y <= maxY) { - result.push(ids[i]); - } - } - - continue; - } + if (axis === 0 ? minX <= x : minY <= y) { + stack.push(left); + stack.push(m - 1); + stack.push(nextAxis); + } - var m = Math.floor((left + right) / 2); - x = coords[2 * m]; - y = coords[2 * m + 1]; + if (axis === 0 ? maxX >= x : maxY >= y) { + stack.push(m + 1); + stack.push(right); + stack.push(nextAxis); + } + } - if (x >= minX && x <= maxX && y >= minY && y <= maxY) { - result.push(ids[m]); - } + return result; + } - var nextAxis = (axis + 1) % 2; + function within(ids, coords, qx, qy, r, nodeSize) { + const stack = [0, ids.length - 1, 0]; + const result = []; + const r2 = r * r; - if (axis === 0 ? minX <= x : minY <= y) { - stack.push(left); - stack.push(m - 1); - stack.push(nextAxis); - } + while (stack.length) { + const axis = stack.pop(); + const right = stack.pop(); + const left = stack.pop(); - if (axis === 0 ? maxX >= x : maxY >= y) { - stack.push(m + 1); - stack.push(right); - stack.push(nextAxis); - } + if (right - left <= nodeSize) { + for (let i = left; i <= right; i++) { + if (sqDist(coords[2 * i], coords[2 * i + 1], qx, qy) <= r2) result.push(ids[i]); } - return result; + continue; } - function within(ids, coords, qx, qy, r, nodeSize) { - var stack = [0, ids.length - 1, 0]; - var result = []; - var r2 = r * r; + const m = Math.floor((left + right) / 2); + const x = coords[2 * m]; + const y = coords[2 * m + 1]; + if (sqDist(x, y, qx, qy) <= r2) result.push(ids[m]); + const nextAxis = (axis + 1) % 2; - while (stack.length) { - var axis = stack.pop(); - var right = stack.pop(); - var left = stack.pop(); - - if (right - left <= nodeSize) { - for (var i = left; i <= right; i++) { - if (sqDist(coords[2 * i], coords[2 * i + 1], qx, qy) <= r2) { - result.push(ids[i]); - } - } - - continue; - } + if (axis === 0 ? qx - r <= x : qy - r <= y) { + stack.push(left); + stack.push(m - 1); + stack.push(nextAxis); + } - var m = Math.floor((left + right) / 2); - var x = coords[2 * m]; - var y = coords[2 * m + 1]; + if (axis === 0 ? qx + r >= x : qy + r >= y) { + stack.push(m + 1); + stack.push(right); + stack.push(nextAxis); + } + } - if (sqDist(x, y, qx, qy) <= r2) { - result.push(ids[m]); - } + return result; + } - var nextAxis = (axis + 1) % 2; + function sqDist(ax, ay, bx, by) { + const dx = ax - bx; + const dy = ay - by; + return dx * dx + dy * dy; + } - if (axis === 0 ? qx - r <= x : qy - r <= y) { - stack.push(left); - stack.push(m - 1); - stack.push(nextAxis); - } + const defaultGetX = p => p[0]; - if (axis === 0 ? qx + r >= x : qy + r >= y) { - stack.push(m + 1); - stack.push(right); - stack.push(nextAxis); - } - } + const defaultGetY = p => p[1]; - return result; - } + class KDBush { + constructor(points, getX = defaultGetX, getY = defaultGetY, nodeSize = 64, ArrayType = Float64Array) { + this.nodeSize = nodeSize; + this.points = points; + const IndexArrayType = points.length < 65536 ? Uint16Array : Uint32Array; + const ids = this.ids = new IndexArrayType(points.length); + const coords = this.coords = new ArrayType(points.length * 2); - function sqDist(ax, ay, bx, by) { - var dx = ax - bx; - var dy = ay - by; - return dx * dx + dy * dy; + for (let i = 0; i < points.length; i++) { + ids[i] = i; + coords[2 * i] = getX(points[i]); + coords[2 * i + 1] = getY(points[i]); } - var defaultGetX = function (p) { - return p[0]; - }; - - var defaultGetY = function (p) { - return p[1]; - }; - - var KDBush = function KDBush(points, getX, getY, nodeSize, ArrayType) { - if (getX === void 0) getX = defaultGetX; - if (getY === void 0) getY = defaultGetY; - if (nodeSize === void 0) nodeSize = 64; - if (ArrayType === void 0) ArrayType = Float64Array; - this.nodeSize = nodeSize; - this.points = points; - var IndexArrayType = points.length < 65536 ? Uint16Array : Uint32Array; - var ids = this.ids = new IndexArrayType(points.length); - var coords = this.coords = new ArrayType(points.length * 2); - - for (var i = 0; i < points.length; i++) { - ids[i] = i; - coords[2 * i] = getX(points[i]); - coords[2 * i + 1] = getY(points[i]); - } - - sortKD(ids, coords, nodeSize, 0, ids.length - 1, 0); - }; - - KDBush.prototype.range = function range$1(minX, minY, maxX, maxY) { - return range(this.ids, this.coords, minX, minY, maxX, maxY, this.nodeSize); - }; + sortKD(ids, coords, nodeSize, 0, ids.length - 1, 0); + } - KDBush.prototype.within = function within$1(x, y, r) { - return within(this.ids, this.coords, x, y, r, this.nodeSize); - }; + range(minX, minY, maxX, maxY) { + return range(this.ids, this.coords, minX, minY, maxX, maxY, this.nodeSize); + } - return KDBush; - }); - })(kdbush); + within(x, y, r) { + return within(this.ids, this.coords, x, y, r, this.nodeSize); + } - var KDBush = kdbush.exports; + } const defaultOptions = { minZoom: 0, @@ -2925,7 +2901,7 @@ var markerClusterer = (function (exports) { value: function calculate(input) { var changed = false; - if (!fastDeepEqual(input.markers, this.markers)) { + if (!equal(input.markers, this.markers)) { changed = true; // TODO use proxy to avoid copy? this.markers = _toConsumableArray(input.markers); @@ -2950,7 +2926,7 @@ var markerClusterer = (function (exports) { if (!changed) { if (this.state.zoom > this.maxZoom && state.zoom > this.maxZoom) ; else { - changed = changed || !fastDeepEqual(this.state, state); + changed = changed || !equal(this.state, state); } } @@ -3011,7 +2987,7 @@ var markerClusterer = (function (exports) { var toIndexedObject = toIndexedObject$4; var objectKeys = objectKeys$2; // `Object.defineProperties` method // https://tc39.es/ecma262/#sec-object.defineproperties - // eslint-disable-next-line es-x/no-object-defineproperties -- safe + // eslint-disable-next-line es/no-object-defineproperties -- safe objectDefineProperties.f = DESCRIPTORS$2 && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) { anObject$2(O); @@ -3026,7 +3002,7 @@ var markerClusterer = (function (exports) { return O; }; - var getBuiltIn = getBuiltIn$5; + var getBuiltIn = getBuiltIn$4; var html$1 = getBuiltIn('document', 'documentElement'); /* global ActiveXObject -- old IE, WSH */ @@ -3104,7 +3080,7 @@ var markerClusterer = (function (exports) { hiddenKeys[IE_PROTO] = true; // `Object.create` method // https://tc39.es/ecma262/#sec-object.create - // eslint-disable-next-line es-x/no-object-create -- safe + // eslint-disable-next-line es/no-object-create -- safe var objectCreate = Object.create || function create(O, Properties) { var result; @@ -3139,17 +3115,18 @@ var markerClusterer = (function (exports) { ArrayPrototype[UNSCOPABLES][key] = true; }; - var $$3 = _export; + var $$4 = _export; var $includes = arrayIncludes.includes; var fails$1 = fails$e; var addToUnscopables = addToUnscopables$1; // FF99+ bug var BROKEN_ON_SPARSE = fails$1(function () { + // eslint-disable-next-line es/no-array-prototype-includes -- detection return !Array(1).includes(); }); // `Array.prototype.includes` method // https://tc39.es/ecma262/#sec-array.prototype.includes - $$3({ + $$4({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE @@ -3164,7 +3141,7 @@ var markerClusterer = (function (exports) { addToUnscopables('includes'); var isObject$1 = isObject$8; - var classof$1 = classofRaw$1; + var classof$1 = classofRaw$2; var wellKnownSymbol$1 = wellKnownSymbol$8; var MATCH$1 = wellKnownSymbol$1('match'); // `IsRegExp` abstract operation // https://tc39.es/ecma262/#sec-isregexp @@ -3213,7 +3190,7 @@ var markerClusterer = (function (exports) { return false; }; - var $$2 = _export; + var $$3 = _export; var uncurryThis$5 = functionUncurryThis; var notARegExp = notARegexp; var requireObjectCoercible$1 = requireObjectCoercible$4; @@ -3222,7 +3199,7 @@ var markerClusterer = (function (exports) { var stringIndexOf = uncurryThis$5(''.indexOf); // `String.prototype.includes` method // https://tc39.es/ecma262/#sec-string.prototype.includes - $$2({ + $$3({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') @@ -3234,22 +3211,22 @@ var markerClusterer = (function (exports) { } }); - /* eslint-disable es-x/no-array-prototype-indexof -- required for testing */ + /* eslint-disable es/no-array-prototype-indexof -- required for testing */ - var $$1 = _export; - var uncurryThis$4 = functionUncurryThis; + var $$2 = _export; + var uncurryThis$4 = functionUncurryThisClause; var $indexOf = arrayIncludes.indexOf; var arrayMethodIsStrict = arrayMethodIsStrict$3; var nativeIndexOf = uncurryThis$4([].indexOf); var NEGATIVE_ZERO = !!nativeIndexOf && 1 / nativeIndexOf([1], 1, -0) < 0; - var STRICT_METHOD = arrayMethodIsStrict('indexOf'); // `Array.prototype.indexOf` method + var FORCED$1 = NEGATIVE_ZERO || !arrayMethodIsStrict('indexOf'); // `Array.prototype.indexOf` method // https://tc39.es/ecma262/#sec-array.prototype.indexof - $$1({ + $$2({ target: 'Array', proto: true, - forced: NEGATIVE_ZERO || !STRICT_METHOD + forced: FORCED$1 }, { indexOf: function indexOf(searchElement /* , fromIndex = 0 */ @@ -3262,7 +3239,7 @@ var markerClusterer = (function (exports) { var DESCRIPTORS$1 = descriptors; var isArray = isArray$2; - var $TypeError$3 = TypeError; // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe + var $TypeError$3 = TypeError; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; // Safari < 13 does not throw an error in this case @@ -3271,7 +3248,7 @@ var markerClusterer = (function (exports) { if (this !== undefined) return true; try { - // eslint-disable-next-line es-x/no-object-defineproperty -- safe + // eslint-disable-next-line es/no-object-defineproperty -- safe Object.defineProperty([], 'length', { writable: false }).length = 1; @@ -3313,7 +3290,7 @@ var markerClusterer = (function (exports) { if (!delete O[P]) throw $TypeError$1('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O)); }; - var $ = _export; + var $$1 = _export; var toObject = toObject$5; var toAbsoluteIndex = toAbsoluteIndex$2; var toIntegerOrInfinity = toIntegerOrInfinity$3; @@ -3330,7 +3307,7 @@ var markerClusterer = (function (exports) { // https://tc39.es/ecma262/#sec-array.prototype.splice // with adding support of @@species - $({ + $$1({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT @@ -3389,6 +3366,21 @@ var markerClusterer = (function (exports) { } }); + var global$2 = global$d; + var path$1 = global$2; + + var uncurryThis$3 = functionUncurryThis; + var aCallable = aCallable$4; + + var functionUncurryThisAccessor = function (object, key, method) { + try { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + return uncurryThis$3(aCallable(Object.getOwnPropertyDescriptor(object, key)[method])); + } catch (error) { + /* empty */ + } + }; + var isCallable$1 = isCallable$e; var $String = String; var $TypeError = TypeError; @@ -3399,12 +3391,12 @@ var markerClusterer = (function (exports) { }; /* eslint-disable no-proto -- safe */ - var uncurryThis$3 = functionUncurryThis; + var uncurryThisAccessor = functionUncurryThisAccessor; var anObject = anObject$5; var aPossiblePrototype = aPossiblePrototype$1; // `Object.setPrototypeOf` method // https://tc39.es/ecma262/#sec-object.setprototypeof // Works with __proto__ only. Old v8 can't work with null proto objects. - // eslint-disable-next-line es-x/no-object-setprototypeof -- safe + // eslint-disable-next-line es/no-object-setprototypeof -- safe var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () { var CORRECT_SETTER = false; @@ -3412,8 +3404,7 @@ var markerClusterer = (function (exports) { var setter; try { - // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe - setter = uncurryThis$3(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set); + setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set'); setter(test, []); CORRECT_SETTER = test instanceof Array; } catch (error) { @@ -3452,15 +3443,14 @@ var markerClusterer = (function (exports) { var toString = toString$2; var whitespaces = whitespaces$1; var replace = uncurryThis$1(''.replace); - var whitespace = '[' + whitespaces + ']'; - var ltrim = RegExp('^' + whitespace + whitespace + '*'); - var rtrim = RegExp(whitespace + whitespace + '*$'); // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation + var ltrim = RegExp('^[' + whitespaces + ']+'); + var rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$'); // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation var createMethod = function (TYPE) { return function ($this) { var string = toString(requireObjectCoercible($this)); if (TYPE & 1) string = replace(string, ltrim, ''); - if (TYPE & 2) string = replace(string, rtrim, ''); + if (TYPE & 2) string = replace(string, rtrim, '$1'); return string; }; }; @@ -3477,11 +3467,13 @@ var markerClusterer = (function (exports) { trim: createMethod(3) }; + var $ = _export; + var IS_PURE = isPure; var DESCRIPTORS = descriptors; var global$1 = global$d; + var path = path$1; var uncurryThis = functionUncurryThis; var isForced = isForced_1; - var defineBuiltIn = defineBuiltIn$3; var hasOwn = hasOwnProperty_1; var inheritIfRequired = inheritIfRequired$1; var isPrototypeOf = objectIsPrototypeOf; @@ -3495,9 +3487,10 @@ var markerClusterer = (function (exports) { var trim = stringTrim.trim; var NUMBER = 'Number'; var NativeNumber = global$1[NUMBER]; + path[NUMBER]; var NumberPrototype = NativeNumber.prototype; var TypeError$1 = global$1.TypeError; - var arraySlice = uncurryThis(''.slice); + var stringSlice = uncurryThis(''.slice); var charCodeAt = uncurryThis(''.charCodeAt); // `ToNumeric` abstract operation // https://tc39.es/ecma262/#sec-tonumeric @@ -3540,7 +3533,7 @@ var markerClusterer = (function (exports) { return +it; } - digits = arraySlice(it, 2); + digits = stringSlice(it, 2); length = digits.length; for (index = 0; index < length; index++) { @@ -3555,35 +3548,46 @@ var markerClusterer = (function (exports) { } return +it; + }; + + var FORCED = isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1')); + + var calledWithNew = function (dummy) { + // includes check on 1..constructor(foo) case + return isPrototypeOf(NumberPrototype, dummy) && fails(function () { + thisNumberValue(dummy); + }); }; // `Number` constructor // https://tc39.es/ecma262/#sec-number-constructor - if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) { - var NumberWrapper = function Number(value) { - var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value)); - var dummy = this; // check on 1..constructor(foo) case + var NumberWrapper = function Number(value) { + var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value)); + return calledWithNew(this) ? inheritIfRequired(Object(n), this, NumberWrapper) : n; + }; - return isPrototypeOf(NumberPrototype, dummy) && fails(function () { - thisNumberValue(dummy); - }) ? inheritIfRequired(Object(n), dummy, NumberWrapper) : n; - }; + NumberWrapper.prototype = NumberPrototype; + if (FORCED && !IS_PURE) NumberPrototype.constructor = NumberWrapper; + $({ + global: true, + constructor: true, + wrap: true, + forced: FORCED + }, { + Number: NumberWrapper + }); // Use `internal/copy-constructor-properties` helper in `core-js@4` - for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : ( // ES3: + var copyConstructorProperties = function (target, source) { + for (var keys = DESCRIPTORS ? getOwnPropertyNames(source) : ( // ES3: 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + // ES2015 (in case, if modules with ES2015 Number statics required before): 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' + // ESNext 'fromString,range').split(','), j = 0, key; keys.length > j; j++) { - if (hasOwn(NativeNumber, key = keys[j]) && !hasOwn(NumberWrapper, key)) { - defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key)); + if (hasOwn(source, key = keys[j]) && !hasOwn(target, key)) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); } } - - NumberWrapper.prototype = NumberPrototype; - NumberPrototype.constructor = NumberWrapper; - defineBuiltIn(global$1, NUMBER, NumberWrapper, { - constructor: true - }); - } + }; + if (FORCED || IS_PURE) copyConstructorProperties(path[NUMBER], NativeNumber); /** * Copyright 2021 Google LLC @@ -3881,13 +3885,13 @@ var markerClusterer = (function (exports) { if (map instanceof google.maps.Map && this.getProjection()) { google.maps.event.trigger(this, exports.MarkerClustererEvents.CLUSTERING_BEGIN, this); - var _this$algorithm$calcu = this.algorithm.calculate({ + var _this$algorithm$calcu2 = this.algorithm.calculate({ markers: this.markers, map: map, mapCanvasProjection: this.getProjection() }), - clusters = _this$algorithm$calcu.clusters, - changed = _this$algorithm$calcu.changed; // allow algorithms to return flag on whether the clusters/markers have changed + clusters = _this$algorithm$calcu2.clusters, + changed = _this$algorithm$calcu2.changed; // allow algorithms to return flag on whether the clusters/markers have changed if (changed || changed == undefined) { diff --git a/dist/index.min.js b/dist/index.min.js index c0ac34f8..4de7c8ee 100644 --- a/dist/index.min.js +++ b/dist/index.min.js @@ -1,2 +1,2 @@ -var markerClusterer=function(t){"use strict";function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&j[0]<4?1:+(j[0]+j[1])),!E&&ut&&(!(j=ut.match(/Edge\/(\d+)/))||j[1]>=74)&&(j=ut.match(/Chrome\/(\d+)/))&&(E=+j[1]);var ht=E,mt=ht,dt=v,gt=!!Object.getOwnPropertySymbols&&!dt((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&mt&&mt<41})),vt=gt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,yt=it,bt=Y,wt=at,kt=Object,Ot=vt?function(t){return"symbol"==typeof t}:function(t){var e=yt("Symbol");return bt(e)&&wt(e.prototype,kt(t))},St=String,xt=function(t){try{return St(t)}catch(t){return"Object"}},Mt=Y,Pt=xt,jt=TypeError,Et=function(t){if(Mt(t))return t;throw jt(Pt(t)+" is not a function")},Ct=Et,_t=W,Lt=O,Tt=Y,It=et,At=TypeError,Nt={exports:{}},zt=d,Rt=Object.defineProperty,Zt=function(t,e){try{Rt(zt,t,{value:e,configurable:!0,writable:!0})}catch(r){zt[t]=e}return e},Ft=Zt,Dt="__core-js_shared__",Gt=d[Dt]||Ft(Dt,{}),Vt=Gt;(Nt.exports=function(t,e){return Vt[t]||(Vt[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.25.0",mode:"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.25.0/LICENSE",source:"https://github.com/zloirock/core-js"});var Bt=H,Ut=Object,Wt=function(t){return Ut(Bt(t))},qt=Wt,Xt=N({}.hasOwnProperty),Ht=Object.hasOwn||function(t,e){return Xt(qt(t),e)},$t=N,Jt=0,Kt=Math.random(),Yt=$t(1..toString),Qt=function(t){return"Symbol("+(void 0===t?"":t)+")_"+Yt(++Jt+Kt,36)},te=d,ee=Nt.exports,re=Ht,ne=Qt,oe=gt,ie=vt,ae=ee("wks"),se=te.Symbol,ue=se&&se.for,ce=ie?se:se&&se.withoutSetter||ne,fe=function(t){if(!re(ae,t)||!oe&&"string"!=typeof ae[t]){var e="Symbol."+t;oe&&re(se,t)?ae[t]=se[t]:ae[t]=ie&&ue?ue(e):ce(e)}return ae[t]},le=O,pe=et,he=Ot,me=function(t,e){var r=t[e];return _t(r)?void 0:Ct(r)},de=function(t,e){var r,n;if("string"===e&&Tt(r=t.toString)&&!It(n=Lt(r,t)))return n;if(Tt(r=t.valueOf)&&!It(n=Lt(r,t)))return n;if("string"!==e&&Tt(r=t.toString)&&!It(n=Lt(r,t)))return n;throw At("Can't convert object to primitive value")},ge=TypeError,ve=fe("toPrimitive"),ye=function(t,e){if(!pe(t)||he(t))return t;var r,n=me(t,ve);if(n){if(void 0===e&&(e="default"),r=le(n,t,e),!pe(r)||he(r))return r;throw ge("Can't convert object to primitive value")}return void 0===e&&(e="number"),de(t,e)},be=ye,we=Ot,ke=function(t){var e=be(t,"string");return we(e)?e:e+""},Oe=et,Se=d.document,xe=Oe(Se)&&Oe(Se.createElement),Me=function(t){return xe?Se.createElement(t):{}},Pe=Me,je=!y&&!v((function(){return 7!=Object.defineProperty(Pe("div"),"a",{get:function(){return 7}}).a})),Ee=y,Ce=O,_e=S,Le=C,Te=K,Ie=ke,Ae=Ht,Ne=je,ze=Object.getOwnPropertyDescriptor;g.f=Ee?ze:function(t,e){if(t=Te(t),e=Ie(e),Ne)try{return ze(t,e)}catch(t){}if(Ae(t,e))return Le(!Ce(_e.f,t,e),t[e])};var Re={},Ze=y&&v((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Fe=et,De=String,Ge=TypeError,Ve=function(t){if(Fe(t))return t;throw Ge(De(t)+" is not an object")},Be=y,Ue=je,We=Ze,qe=Ve,Xe=ke,He=TypeError,$e=Object.defineProperty,Je=Object.getOwnPropertyDescriptor,Ke="enumerable",Ye="configurable",Qe="writable";Re.f=Be?We?function(t,e,r){if(qe(t),e=Xe(e),qe(r),"function"==typeof t&&"prototype"===e&&"value"in r&&Qe in r&&!r.writable){var n=Je(t,e);n&&n.writable&&(t[e]=r.value,r={configurable:Ye in r?r.configurable:n.configurable,enumerable:Ke in r?r.enumerable:n.enumerable,writable:!1})}return $e(t,e,r)}:$e:function(t,e,r){if(qe(t),e=Xe(e),qe(r),Ue)try{return $e(t,e,r)}catch(t){}if("get"in r||"set"in r)throw He("Accessors not supported");return"value"in r&&(t[e]=r.value),t};var tr=Re,er=C,rr=y?function(t,e,r){return tr.f(t,e,er(1,r))}:function(t,e,r){return t[e]=r,t},nr={exports:{}},or=y,ir=Ht,ar=Function.prototype,sr=or&&Object.getOwnPropertyDescriptor,ur=ir(ar,"name"),cr={EXISTS:ur,PROPER:ur&&"something"===function(){}.name,CONFIGURABLE:ur&&(!or||or&&sr(ar,"name").configurable)},fr=Y,lr=Gt,pr=N(Function.toString);fr(lr.inspectSource)||(lr.inspectSource=function(t){return pr(t)});var hr,mr,dr,gr=lr.inspectSource,vr=Y,yr=d.WeakMap,br=vr(yr)&&/native code/.test(String(yr)),wr=Nt.exports,kr=Qt,Or=wr("keys"),Sr=function(t){return Or[t]||(Or[t]=kr(t))},xr={},Mr=br,Pr=d,jr=N,Er=et,Cr=rr,_r=Ht,Lr=Gt,Tr=Sr,Ir=xr,Ar="Object already initialized",Nr=Pr.TypeError,zr=Pr.WeakMap;if(Mr||Lr.state){var Rr=Lr.state||(Lr.state=new zr),Zr=jr(Rr.get),Fr=jr(Rr.has),Dr=jr(Rr.set);hr=function(t,e){if(Fr(Rr,t))throw Nr(Ar);return e.facade=t,Dr(Rr,t,e),e},mr=function(t){return Zr(Rr,t)||{}},dr=function(t){return Fr(Rr,t)}}else{var Gr=Tr("state");Ir[Gr]=!0,hr=function(t,e){if(_r(t,Gr))throw Nr(Ar);return e.facade=t,Cr(t,Gr,e),e},mr=function(t){return _r(t,Gr)?t[Gr]:{}},dr=function(t){return _r(t,Gr)}}var Vr={set:hr,get:mr,has:dr,enforce:function(t){return dr(t)?mr(t):hr(t,{})},getterFor:function(t){return function(e){var r;if(!Er(e)||(r=mr(e)).type!==t)throw Nr("Incompatible receiver, "+t+" required");return r}}},Br=v,Ur=Y,Wr=Ht,qr=y,Xr=cr.CONFIGURABLE,Hr=gr,$r=Vr.enforce,Jr=Vr.get,Kr=Object.defineProperty,Yr=qr&&!Br((function(){return 8!==Kr((function(){}),"length",{value:8}).length})),Qr=String(String).split("String"),tn=nr.exports=function(t,e,r){"Symbol("===String(e).slice(0,7)&&(e="["+String(e).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),r&&r.getter&&(e="get "+e),r&&r.setter&&(e="set "+e),(!Wr(t,"name")||Xr&&t.name!==e)&&(qr?Kr(t,"name",{value:e,configurable:!0}):t.name=e),Yr&&r&&Wr(r,"arity")&&t.length!==r.arity&&Kr(t,"length",{value:r.arity});try{r&&Wr(r,"constructor")&&r.constructor?qr&&Kr(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var n=$r(t);return Wr(n,"source")||(n.source=Qr.join("string"==typeof e?e:"")),t};Function.prototype.toString=tn((function(){return Ur(this)&&Jr(this).source||Hr(this)}),"toString");var en=Y,rn=Re,nn=nr.exports,on=Zt,an=function(t,e,r,n){n||(n={});var o=n.enumerable,i=void 0!==n.name?n.name:e;if(en(r)&&nn(r,i,n),n.global)o?t[e]=r:on(e,r);else{try{n.unsafe?t[e]&&(o=!0):delete t[e]}catch(t){}o?t[e]=r:rn.f(t,e,{value:r,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return t},sn={},un=Math.ceil,cn=Math.floor,fn=Math.trunc||function(t){var e=+t;return(e>0?cn:un)(e)},ln=function(t){var e=+t;return e!=e||0===e?0:fn(e)},pn=ln,hn=Math.max,mn=Math.min,dn=function(t,e){var r=pn(t);return r<0?hn(r+e,0):mn(r,e)},gn=ln,vn=Math.min,yn=function(t){return t>0?vn(gn(t),9007199254740991):0},bn=function(t){return yn(t.length)},wn=K,kn=dn,On=bn,Sn=function(t){return function(e,r,n){var o,i=wn(e),a=On(i),s=kn(n,a);if(t&&r!=r){for(;a>s;)if((o=i[s++])!=o)return!0}else for(;a>s;s++)if((t||s in i)&&i[s]===r)return t||s||0;return!t&&-1}},xn={includes:Sn(!0),indexOf:Sn(!1)},Mn=Ht,Pn=K,jn=xn.indexOf,En=xr,Cn=N([].push),_n=function(t,e){var r,n=Pn(t),o=0,i=[];for(r in n)!Mn(En,r)&&Mn(n,r)&&Cn(i,r);for(;e.length>o;)Mn(n,r=e[o++])&&(~jn(i,r)||Cn(i,r));return i},Ln=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Tn=_n,In=Ln.concat("length","prototype");sn.f=Object.getOwnPropertyNames||function(t){return Tn(t,In)};var An={};An.f=Object.getOwnPropertySymbols;var Nn=it,zn=sn,Rn=An,Zn=Ve,Fn=N([].concat),Dn=Nn("Reflect","ownKeys")||function(t){var e=zn.f(Zn(t)),r=Rn.f;return r?Fn(e,r(t)):e},Gn=Ht,Vn=Dn,Bn=g,Un=Re,Wn=v,qn=Y,Xn=/#|\.prototype\./,Hn=function(t,e){var r=Jn[$n(t)];return r==Yn||r!=Kn&&(qn(e)?Wn(e):!!e)},$n=Hn.normalize=function(t){return String(t).replace(Xn,".").toLowerCase()},Jn=Hn.data={},Kn=Hn.NATIVE="N",Yn=Hn.POLYFILL="P",Qn=Hn,to=d,eo=g.f,ro=rr,no=an,oo=Zt,io=function(t,e,r){for(var n=Vn(e),o=Un.f,i=Bn.f,a=0;ay;y++)if((s||y in d)&&(h=g(p=d[y],y,m),t))if(e)w[y]=h;else if(h)switch(t){case 3:return!0;case 5:return p;case 6:return y;case 2:$o(w,p)}else switch(t){case 4:return!1;case 7:$o(w,p)}return i?-1:n||o?o:w}},Ko={forEach:Jo(0),map:Jo(1),filter:Jo(2),some:Jo(3),every:Jo(4),find:Jo(5),findIndex:Jo(6),filterReject:Jo(7)},Yo=v,Qo=ht,ti=fe("species"),ei=function(t){return Qo>=51||!Yo((function(){var e=[];return(e.constructor={})[ti]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},ri=Ko.map;function ni(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(t);o1?arguments[1]:void 0)}});var oi=Et,ii=Wt,ai=U,si=bn,ui=TypeError,ci=function(t){return function(e,r,n,o){oi(r);var i=ii(e),a=ai(i),s=si(i),u=t?s-1:0,c=t?-1:1;if(n<2)for(;;){if(u in a){o=a[u],u+=c;break}if(u+=c,t?u<0:s<=u)throw ui("Reduce of empty array with no initial value")}for(;t?u>=0:s>u;u+=c)u in a&&(o=r(o,a[u],u,i));return o}},fi={left:ci(!1),right:ci(!0)},li=v,pi=function(t,e){var r=[][t];return!!r&&li((function(){r.call(null,e||function(){return 1},1)}))},hi="process"==F(d.process),mi=fi.left,di=ht,gi=hi;so({target:"Array",proto:!0,forced:!pi("reduce")||!gi&&di>79&&di<83},{reduce:function(t){var e=arguments.length;return mi(this,t,e,e>1?arguments[1]:void 0)}});var vi=Oo,yi=mo?{}.toString:function(){return"[object "+vi(this)+"]"};mo||an(Object.prototype,"toString",yi,{unsafe:!0});var bi=Ko.filter;so({target:"Array",proto:!0,forced:!ei("filter")},{filter:function(t){return bi(this,t,arguments.length>1?arguments[1]:void 0)}});var wi=function(){function t(r){var n=r.markers,o=r.position;e(this,t),this.markers=n,o&&(o instanceof google.maps.LatLng?this._position=o:this._position=new google.maps.LatLng(o))}return n(t,[{key:"bounds",get:function(){if(0!==this.markers.length||this._position)return this.markers.reduce((function(t,e){return t.extend(e.getPosition())}),new google.maps.LatLngBounds(this._position,this._position))}},{key:"position",get:function(){return this._position||this.bounds.getCenter()}},{key:"count",get:function(){return this.markers.filter((function(t){return t.getVisible()})).length}},{key:"push",value:function(t){this.markers.push(t)}},{key:"delete",value:function(){this.marker&&(this.marker.setMap(null),delete this.marker),this.markers.length=0}}]),t}(),ki=function(t,e,r,n){var o=Oi(t.getBounds(),e,n);return r.filter((function(t){return o.contains(t.getPosition())}))},Oi=function(t,e,r){var n=xi(t,e),o=n.northEast,i=n.southWest,a=Mi({northEast:o,southWest:i},r);return Pi(a,e)},Si=function(t,e){var r=(e.lat-t.lat)*Math.PI/180,n=(e.lng-t.lng)*Math.PI/180,o=Math.sin(r/2)*Math.sin(r/2)+Math.cos(t.lat*Math.PI/180)*Math.cos(e.lat*Math.PI/180)*Math.sin(n/2)*Math.sin(n/2);return 6371*(2*Math.atan2(Math.sqrt(o),Math.sqrt(1-o)))},xi=function(t,e){return{northEast:e.fromLatLngToDivPixel(t.getNorthEast()),southWest:e.fromLatLngToDivPixel(t.getSouthWest())}},Mi=function(t,e){var r=t.northEast,n=t.southWest;return r.x+=e,r.y-=e,n.x-=e,n.y+=e,{northEast:r,southWest:n}},Pi=function(t,e){var r=t.northEast,n=t.southWest,o=new google.maps.LatLngBounds;return o.extend(e.fromDivPixelToLatLng(r)),o.extend(e.fromDivPixelToLatLng(n)),o},ji=function(){function t(r){var n=r.maxZoom,o=void 0===n?16:n;e(this,t),this.maxZoom=o}return n(t,[{key:"noop",value:function(t){var e=t.markers;return Ci(e)}}]),t}(),Ei=function(t){o(i,t);var r=u(i);function i(t){var n;e(this,i);var o=t.viewportPadding,a=void 0===o?60:o,s=ni(t,["viewportPadding"]);return(n=r.call(this,s)).viewportPadding=60,n.viewportPadding=a,n}return n(i,[{key:"calculate",value:function(t){var e=t.markers,r=t.map,n=t.mapCanvasProjection;return r.getZoom()>=this.maxZoom?{clusters:this.noop({markers:e,map:r,mapCanvasProjection:n}),changed:!1}:{clusters:this.cluster({markers:ki(r,n,e,this.viewportPadding),map:r,mapCanvasProjection:n})}}}]),i}(ji),Ci=function(t){return t.map((function(t){return new wi({position:t.getPosition(),markers:[t]})}))},_i=Me("span").classList,Li=_i&&_i.constructor&&_i.constructor.prototype,Ti=Li===Object.prototype?void 0:Li,Ii=Ko.forEach,Ai=pi("forEach")?[].forEach:function(t){return Ii(this,t,arguments.length>1?arguments[1]:void 0)},Ni=d,zi={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Ri=Ti,Zi=Ai,Fi=rr,Di=function(t){if(t&&t.forEach!==Zi)try{Fi(t,"forEach",Zi)}catch(e){t.forEach=Zi}};for(var Gi in zi)zi[Gi]&&Di(Ni[Gi]&&Ni[Gi].prototype);Di(Ri);var Vi=O;so({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return Vi(URL.prototype.toString,this)}});var Bi=function t(e,r){if(e===r)return!0;if(e&&r&&"object"==typeof e&&"object"==typeof r){if(e.constructor!==r.constructor)return!1;var n,o,i;if(Array.isArray(e)){if((n=e.length)!=r.length)return!1;for(o=n;0!=o--;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if((n=(i=Object.keys(e)).length)!==Object.keys(r).length)return!1;for(o=n;0!=o--;)if(!Object.prototype.hasOwnProperty.call(r,i[o]))return!1;for(o=n;0!=o--;){var a=i[o];if(!t(e[a],r[a]))return!1}return!0}return e!=e&&r!=r},Ui=function(t){o(i,t);var r=u(i);function i(t){var n;e(this,i);var o=t.maxDistance,a=void 0===o?4e4:o,s=t.gridSize,u=void 0===s?40:s,c=ni(t,["maxDistance","gridSize"]);return(n=r.call(this,c)).clusters=[],n.maxDistance=a,n.gridSize=u,n.state={zoom:null},n}return n(i,[{key:"calculate",value:function(t){var e=t.markers,r=t.map,n=t.mapCanvasProjection,o={zoom:r.getZoom()},i=!1;return this.state.zoom>this.maxZoom&&o.zoom>this.maxZoom||(i=!Bi(this.state,o)),this.state=o,r.getZoom()>=this.maxZoom?{clusters:this.noop({markers:e,map:r,mapCanvasProjection:n}),changed:i}:{clusters:this.cluster({markers:ki(r,n,e,this.viewportPadding),map:r,mapCanvasProjection:n})}}},{key:"cluster",value:function(t){var e=this,r=t.markers,n=t.map,o=t.mapCanvasProjection;return this.clusters=[],r.forEach((function(t){e.addToClosestCluster(t,n,o)})),this.clusters}},{key:"addToClosestCluster",value:function(t,e,r){for(var n=this.maxDistance,o=null,i=0;io;)for(var s,u=na(arguments[o++]),c=i?aa(Qi(u),i(u)):Qi(u),f=c.length,l=0;f>l;)s=c[l++],$i&&!Ki(a,u,s)||(r[s]=u[s]);return r}:oa,ua=sa;so({target:"Object",stat:!0,arity:2,forced:Object.assign!==ua},{assign:ua});var ca={exports:{}};ca.exports=function(){function t(r,n,o,i,a,s){if(!(a-i<=o)){var u=i+a>>1;e(r,n,u,i,a,s%2),t(r,n,o,i,u-1,s+1),t(r,n,o,u+1,a,s+1)}}function e(t,n,o,i,a,s){for(;a>i;){if(a-i>600){var u=a-i+1,c=o-i+1,f=Math.log(u),l=.5*Math.exp(2*f/3),p=.5*Math.sqrt(f*l*(u-l)/u)*(c-u/2<0?-1:1);e(t,n,o,Math.max(i,Math.floor(o-c*l/u+p)),Math.min(a,Math.floor(o+(u-c)*l/u+p)),s)}var h=n[2*o+s],m=i,d=a;for(r(t,n,i,o),n[2*a+s]>h&&r(t,n,i,a);mh;)d--}n[2*i+s]===h?r(t,n,i,d):r(t,n,++d,a),d<=o&&(i=d+1),o<=d&&(a=d-1)}}function r(t,e,r,o){n(t,r,o),n(e,2*r,2*o),n(e,2*r+1,2*o+1)}function n(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function o(t,e,r,n,o,i,a){for(var s,u,c=[0,t.length-1,0],f=[];c.length;){var l=c.pop(),p=c.pop(),h=c.pop();if(p-h<=a)for(var m=h;m<=p;m++)s=e[2*m],u=e[2*m+1],s>=r&&s<=o&&u>=n&&u<=i&&f.push(t[m]);else{var d=Math.floor((h+p)/2);s=e[2*d],u=e[2*d+1],s>=r&&s<=o&&u>=n&&u<=i&&f.push(t[d]);var g=(l+1)%2;(0===l?r<=s:n<=u)&&(c.push(h),c.push(d-1),c.push(g)),(0===l?o>=s:i>=u)&&(c.push(d+1),c.push(p),c.push(g))}}return f}function i(t,e,r,n,o,i){for(var s=[0,t.length-1,0],u=[],c=o*o;s.length;){var f=s.pop(),l=s.pop(),p=s.pop();if(l-p<=i)for(var h=p;h<=l;h++)a(e[2*h],e[2*h+1],r,n)<=c&&u.push(t[h]);else{var m=Math.floor((p+l)/2),d=e[2*m],g=e[2*m+1];a(d,g,r,n)<=c&&u.push(t[m]);var v=(f+1)%2;(0===f?r-o<=d:n-o<=g)&&(s.push(p),s.push(m-1),s.push(v)),(0===f?r+o>=d:n+o>=g)&&(s.push(m+1),s.push(l),s.push(v))}}return u}function a(t,e,r,n){var o=t-r,i=e-n;return o*o+i*i}var s=function(t){return t[0]},u=function(t){return t[1]},c=function(e,r,n,o,i){void 0===r&&(r=s),void 0===n&&(n=u),void 0===o&&(o=64),void 0===i&&(i=Float64Array),this.nodeSize=o,this.points=e;for(var a=e.length<65536?Uint16Array:Uint32Array,c=this.ids=new a(e.length),f=this.coords=new i(2*e.length),l=0;lt},pa=Math.fround||(ha=new Float32Array(1),t=>(ha[0]=+t,ha[0]));var ha;class ma{constructor(t){this.options=Oa(Object.create(la),t),this.trees=new Array(this.options.maxZoom+1)}load(t){const{log:e,minZoom:r,maxZoom:n,nodeSize:o}=this.options;e&&console.time("total time");const i=`prepare ${t.length} points`;e&&console.time(i),this.points=t;let a=[];for(let e=0;e=r;t--){const r=+Date.now();a=this._cluster(a,t),this.trees[t]=new fa(a,Sa,xa,o,Float32Array),e&&console.log("z%d: %d clusters in %dms",t,a.length,+Date.now()-r)}return e&&console.timeEnd("total time"),this}getClusters(t,e){let r=((t[0]+180)%360+360)%360-180;const n=Math.max(-90,Math.min(90,t[1]));let o=180===t[2]?180:((t[2]+180)%360+360)%360-180;const i=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,o=180;else if(r>o){const t=this.getClusters([r,n,180,i],e),a=this.getClusters([-180,n,o,i],e);return t.concat(a)}const a=this.trees[this._limitZoom(e)],s=a.range(ba(r),wa(i),ba(o),wa(n)),u=[];for(const t of s){const e=a.points[t];u.push(e.numPoints?va(e):this.points[e.index])}return u}getChildren(t){const e=this._getOriginId(t),r=this._getOriginZoom(t),n="No cluster with the specified id.",o=this.trees[r];if(!o)throw new Error(n);const i=o.points[e];if(!i)throw new Error(n);const a=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=o.within(i.x,i.y,a),u=[];for(const e of s){const r=o.points[e];r.parentId===t&&u.push(r.numPoints?va(r):this.points[r.index])}if(0===u.length)throw new Error(n);return u}getLeaves(t,e,r){e=e||10,r=r||0;const n=[];return this._appendLeaves(n,t,e,r,0),n}getTile(t,e,r){const n=this.trees[this._limitZoom(t)],o=Math.pow(2,t),{extent:i,radius:a}=this.options,s=a/i,u=(r-s)/o,c=(r+1+s)/o,f={features:[]};return this._addTileFeatures(n.range((e-s)/o,u,(e+1+s)/o,c),n.points,e,r,o,f),0===e&&this._addTileFeatures(n.range(1-s/o,u,1,c),n.points,o,r,o,f),e===o-1&&this._addTileFeatures(n.range(0,u,s/o,c),n.points,-1,r,o,f),f.features.length?f:null}getClusterExpansionZoom(t){let e=this._getOriginZoom(t)-1;for(;e<=this.options.maxZoom;){const r=this.getChildren(t);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e}_appendLeaves(t,e,r,n,o){const i=this.getChildren(e);for(const e of i){const i=e.properties;if(i&&i.cluster?o+i.point_count<=n?o+=i.point_count:o=this._appendLeaves(t,i.cluster_id,r,n,o):oe&&(l+=r.numPoints||1)}if(l>f&&l>=a){let t=o.x*f,a=o.y*f,s=i&&f>1?this._map(o,!0):null;const p=(n<<5)+(e+1)+this.points.length;for(const r of c){const n=u.points[r];if(n.zoom<=e)continue;n.zoom=e;const c=n.numPoints||1;t+=n.x*c,a+=n.y*c,n.parentId=p,i&&(s||(s=this._map(o,!0)),i(s,this._map(n)))}o.parentId=p,r.push(da(t/l,a/l,p,l,s))}else if(r.push(o),l>1)for(const t of c){const n=u.points[t];n.zoom<=e||(n.zoom=e,r.push(n))}}return r}_getOriginId(t){return t-this.points.length>>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,e){if(t.numPoints)return e?Oa({},t.properties):t.properties;const r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?Oa({},n):n}}function da(t,e,r,n,o){return{x:pa(t),y:pa(e),zoom:1/0,id:r,parentId:-1,numPoints:n,properties:o}}function ga(t,e){const[r,n]=t.geometry.coordinates;return{x:pa(ba(r)),y:pa(wa(n)),zoom:1/0,index:e,parentId:-1}}function va(t){return{type:"Feature",id:t.id,properties:ya(t),geometry:{type:"Point",coordinates:[(e=t.x,360*(e-.5)),ka(t.y)]}};var e}function ya(t){const e=t.numPoints,r=e>=1e4?`${Math.round(e/1e3)}k`:e>=1e3?Math.round(e/100)/10+"k":e;return Oa(Oa({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function ba(t){return t/360+.5}function wa(t){const e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function ka(t){const e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function Oa(t,e){for(const r in e)t[r]=e[r];return t}function Sa(t){return t.x}function xa(t){return t.y}var Ma=function(t){o(i,t);var r=u(i);function i(t){var n;e(this,i);var o=t.maxZoom,a=t.radius,s=void 0===a?60:a,u=ni(t,["maxZoom","radius"]);return(n=r.call(this,{maxZoom:o})).superCluster=new ma(Object.assign({maxZoom:n.maxZoom,radius:s},u)),n.state={zoom:null},n}return n(i,[{key:"calculate",value:function(t){var e=!1;if(!Bi(t.markers,this.markers)){e=!0,this.markers=f(t.markers);var r=this.markers.map((function(t){return{type:"Feature",geometry:{type:"Point",coordinates:[t.getPosition().lng(),t.getPosition().lat()]},properties:{marker:t}}}));this.superCluster.load(r)}var n={zoom:t.map.getZoom()};return e||this.state.zoom>this.maxZoom&&n.zoom>this.maxZoom||(e=e||!Bi(this.state,n)),this.state=n,e&&(this.clusters=this.cluster(t)),{clusters:this.clusters,changed:e}}},{key:"cluster",value:function(t){var e=t.map;return this.superCluster.getClusters([-180,-90,180,90],Math.round(e.getZoom())).map(this.transformCluster.bind(this))}},{key:"transformCluster",value:function(t){var e=c(t.geometry.coordinates,2),r=e[0],n=e[1],o=t.properties;if(o.cluster)return new wi({markers:this.superCluster.getLeaves(o.cluster_id,1/0).map((function(t){return t.properties.marker})),position:new google.maps.LatLng({lat:n,lng:r})});var i=o.marker;return new wi({markers:[i],position:i.getPosition()})}}]),i}(ji),Pa={},ja=y,Ea=Ze,Ca=Re,_a=Ve,La=K,Ta=Hi;Pa.f=ja&&!Ea?Object.defineProperties:function(t,e){_a(t);for(var r,n=La(e),o=Ta(e),i=o.length,a=0;i>a;)Ca.f(t,r=o[a++],n[r]);return t};var Ia,Aa=it("document","documentElement"),Na=Ve,za=Pa,Ra=Ln,Za=xr,Fa=Aa,Da=Me,Ga=Sr("IE_PROTO"),Va=function(){},Ba=function(t){return"
    +MarkerClustererEvents | @googlemaps/js-markerclusterer
    -
    +
    -
    +

    Enumeration Members

    -
    +
    -
    CLUSTERING_BEGIN: "clusteringbegin"
    -
    +
  • Defined in markerclusterer.ts:46
  • +
    -
    CLUSTERING_END: "clusteringend"
    -
    +
  • Defined in markerclusterer.ts:47
  • +
    -
    CLUSTER_CLICK: "click"
    - +
    +
    +
    +

    On This Page

    - - + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/functions/defaultOnClusterClickHandler.html b/functions/defaultOnClusterClickHandler.html index 62ac15ef..0dad3516 100644 --- a/functions/defaultOnClusterClickHandler.html +++ b/functions/defaultOnClusterClickHandler.html @@ -1,38 +1,41 @@ -defaultOnClusterClickHandler | @googlemaps/js-markerclusterer
    +defaultOnClusterClickHandler | @googlemaps/js-markerclusterer
    -
    +
    -
    +

    Function defaultOnClusterClickHandler

    -
      - +
        +
      • Parameters

        • -
          event: MapMouseEvent
        • +
          event: MapMouseEvent
        • -
          cluster: Cluster
        • +
          cluster: Cluster
        • -
          map: Map
        +
        map: Map

    Returns void

    - + -
    +

    Theme

    + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/functions/extendBoundsToPaddedViewport.html b/functions/extendBoundsToPaddedViewport.html index 8e155e8d..79a44f14 100644 --- a/functions/extendBoundsToPaddedViewport.html +++ b/functions/extendBoundsToPaddedViewport.html @@ -1,21 +1,23 @@ -extendBoundsToPaddedViewport | @googlemaps/js-markerclusterer
    +extendBoundsToPaddedViewport | @googlemaps/js-markerclusterer
    -
    +
    -
    +

    Function extendBoundsToPaddedViewport

    -
      - +
        +
      • Extends a bounds by a number of pixels in each direction.

        @@ -23,18 +25,19 @@

        Function extendBoundsToPaddedViewport

    Parameters

    • -
      bounds: LatLngBounds
    • +
      bounds: LatLngBounds
    • -
      projection: MapCanvasProjection
    • +
      projection: MapCanvasProjection
    • -
      pixels: number
    -

    Returns LatLngBounds

    +

    Returns LatLngBounds

    - + -
    +

    Theme

    + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/functions/filterMarkersToPaddedViewport.html b/functions/filterMarkersToPaddedViewport.html index 321a7cbc..9703c350 100644 --- a/functions/filterMarkersToPaddedViewport.html +++ b/functions/filterMarkersToPaddedViewport.html @@ -1,21 +1,23 @@ -filterMarkersToPaddedViewport | @googlemaps/js-markerclusterer
    +filterMarkersToPaddedViewport | @googlemaps/js-markerclusterer
    -
    +
    -
    +

    Function filterMarkersToPaddedViewport

    -
      - +
        +
      • Copyright 2021 Google LLC

        Licensed under the Apache License, Version 2.0 (the "License"); @@ -33,20 +35,21 @@

        Function filterMarkersToPaddedViewport

        Parameters

        • -
          map: Map
        • +
          map: Map
        • -
          mapCanvasProjection: MapCanvasProjection
        • +
          mapCanvasProjection: MapCanvasProjection
        • -
          markers: Marker[]
        • +
          markers: Marker[]
        • -
          viewportPadding: number
    -

    Returns Marker[]

    +

    Returns Marker[]

    - + -
    +

    Theme

    + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/index.html b/index.html index 08e98a4e..6447c9f4 100644 --- a/index.html +++ b/index.html @@ -1,62 +1,40 @@ -@googlemaps/js-markerclusterer
    +@googlemaps/js-markerclusterer
    -
    +
    -
    +

    @googlemaps/js-markerclusterer

    -
    - -

    Google Maps JavaScript MarkerClusterer

    -
    -

    npm +

    Google Maps JavaScript MarkerClusterer

    npm Build Release codecov GitHub contributors semantic-release

    - - -

    Description

    -
    -

    The library creates and manages per-zoom-level clusters for large amounts of markers.

    +

    Description

    The library creates and manages per-zoom-level clusters for large amounts of markers.

    Try the demo

    screenshot

    See the history section and migration section for how this library relates to @google/markerclusterer and @googlemaps/markerclustererplus.

    - - -

    Install

    -
    -

    Available via npm as the package @googlemaps/markerclusterer.

    +

    Install

    Available via npm as the package @googlemaps/markerclusterer.

    npm i @googlemaps/markerclusterer
     

    Alternativly you may add the umd package directly to the html document using the unpkg link.

    <script src="https://unpkg.com/@googlemaps/markerclusterer/dist/index.min.js"></script>
     

    When adding via unpkg, the MarkerClusterer can be accessed at markerClusterer.MarkerClusterer.

    - - -

    TypeScript

    -
    -

    This library uses the official TypeScript typings for Google Maps Platform, @types/google.maps.

    -
    npm i -D @types/google.maps
    +

    TypeScript

    This library uses the official TypeScript typings for Google Maps Platform, @types/google.maps.

    +
    npm i -D @types/google.maps
     
    - - -

    Documentation

    -
    -

    The reference documentation is generated from the TypeScript definitions.

    - - -

    Examples

    -
    -
    import { MarkerClusterer } from "@googlemaps/markerclusterer";

    // use default algorithm and renderer
    const markerCluster = new MarkerClusterer({ map, markers }); +

    Documentation

    The reference documentation is generated from the TypeScript definitions.

    +

    Examples

    import { MarkerClusterer } from "@googlemaps/markerclusterer";

    // use default algorithm and renderer
    const markerCluster = new MarkerClusterer({ map, markers });

    View the package in action:

      @@ -66,11 +44,7 @@

      Examples

    Screen Shot 2021-09-28 at 1 41 06 PM

    - - -

    History

    -
    -

    This library has a heritage in @google/markerclusterer and @googlemaps/markerclustererplus, originally made available on code.google.com and then transferred to GitHub at https://github.com/googlemaps/v3-utility-library. The following is an approximate timeline.

    +

    History

    This library has a heritage in @google/markerclusterer and @googlemaps/markerclustererplus, originally made available on code.google.com and then transferred to GitHub at https://github.com/googlemaps/v3-utility-library. The following is an approximate timeline.

    - - -

    Migration

    -
    -

    The API of @googlemaps/markerclusterer has changed in a number of ways from @googlemaps/markerclustererplus.

    +

    Migration

    The API of @googlemaps/markerclusterer has changed in a number of ways from @googlemaps/markerclustererplus.

    • The MarkerClusterer class now accepts an algorithm and renderer parameter to allow for more flexibility. The interface looks like the following:
    @@ -99,10 +69,11 @@

    Migration

  • @googlemaps/markerclusterer supports Marker and Map a11y improvements.
  • - +
    +

    On This Page

    -
    -
    + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/interfaces/Algorithm.html b/interfaces/Algorithm.html index 9d484aa7..f90fd27e 100644 --- a/interfaces/Algorithm.html +++ b/interfaces/Algorithm.html @@ -1,13 +1,15 @@ -Algorithm | @googlemaps/js-markerclusterer
    +Algorithm | @googlemaps/js-markerclusterer
    -
    +
    -
    +
    @@ -26,34 +28,35 @@

    Properties

    -
    +
    -
    calculate: ((__namedParameters: AlgorithmInput) => AlgorithmOutput)
    +
    calculate: ((__namedParameters) => AlgorithmOutput)

    Type declaration

    +

    Returns AlgorithmOutput

    - +
    +
    +
    +

    On This Page

    - - + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/interfaces/AlgorithmInput.html b/interfaces/AlgorithmInput.html index 9ff0e59c..46ddf24b 100644 --- a/interfaces/AlgorithmInput.html +++ b/interfaces/AlgorithmInput.html @@ -1,13 +1,15 @@ -AlgorithmInput | @googlemaps/js-markerclusterer
    +AlgorithmInput | @googlemaps/js-markerclusterer
    -
    +
    -
    +
    @@ -26,31 +28,31 @@

    Properties

    -
    +
    -
    map: Map
    +
    map: Map

    The map containing the markers and clusters.

    -
    +
  • Defined in algorithms/core.ts:24
  • +
    -
    mapCanvasProjection: MapCanvasProjection
    +
    mapCanvasProjection: MapCanvasProjection

    The mapCanvasProjection enables easy conversion from lat/lng to pixel.

    See

    MapCanvasProjection

    -
    +
  • Defined in algorithms/core.ts:37
  • +
    -
    markers: Marker[]
    +
    markers: Marker[]

    An array of markers to be clustered.

    There are some specific edge cases to be aware of including the following:

    - +
    +
    +
    +

    On This Page

    -
    - + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/interfaces/AlgorithmOptions.html b/interfaces/AlgorithmOptions.html index fe15f3df..c0420b4f 100644 --- a/interfaces/AlgorithmOptions.html +++ b/interfaces/AlgorithmOptions.html @@ -1,13 +1,15 @@ -AlgorithmOptions | @googlemaps/js-markerclusterer
    +AlgorithmOptions | @googlemaps/js-markerclusterer
    -
    +
    -
    +
    @@ -26,19 +28,20 @@

    Properties

    -
    +
    -
    maxZoom?: number
    - +
    +
    +
    +

    On This Page

    -
    - + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/interfaces/AlgorithmOutput.html b/interfaces/AlgorithmOutput.html index 9b3acb50..31135b67 100644 --- a/interfaces/AlgorithmOutput.html +++ b/interfaces/AlgorithmOutput.html @@ -1,13 +1,15 @@ -AlgorithmOutput | @googlemaps/js-markerclusterer
    +AlgorithmOutput | @googlemaps/js-markerclusterer
    -
    +
    -
    +
    @@ -26,29 +28,30 @@

    Properties

    -
    +
    -
    changed?: boolean
    +
    changed?: boolean

    A boolean flag indicating that the clusters have not changed.

    -
    +
  • Defined in algorithms/core.ts:48
  • +
    -
    clusters: Cluster[]
    -

    The clusters returned based upon the AlgorithmInput.

    +
    clusters: Cluster[]
    +

    The clusters returned based upon the AlgorithmInput.

    - +
    +
    +
    +

    On This Page

    -
    - + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/interfaces/ClusterOptions.html b/interfaces/ClusterOptions.html index f72971fc..9078c443 100644 --- a/interfaces/ClusterOptions.html +++ b/interfaces/ClusterOptions.html @@ -1,13 +1,15 @@ -ClusterOptions | @googlemaps/js-markerclusterer
    +ClusterOptions | @googlemaps/js-markerclusterer
    -
    +
    -
    +
    @@ -39,25 +41,26 @@

    Properties

    -
    +
    -
    markers?: Marker[]
    -
    +
  • Defined in cluster.ts:19
  • +
    -
    position?: LatLng | LatLngLiteral
    - +
    +
    +
    +

    On This Page

    -
    - + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/interfaces/GridOptions.html b/interfaces/GridOptions.html index e7a4de7e..c344dc0a 100644 --- a/interfaces/GridOptions.html +++ b/interfaces/GridOptions.html @@ -1,13 +1,15 @@ -GridOptions | @googlemaps/js-markerclusterer
    +GridOptions | @googlemaps/js-markerclusterer
    -
    +
    -
    +

    Hierarchy

      -
    • ViewportAlgorithmOptions -
      -

      Hierarchy

      +
    • ViewportAlgorithmOptions
        -
      • GridOptions
    @@ -30,46 +30,48 @@

    Properties

    -
    +
    -
    gridSize?: number
    -
    +
  • Defined in algorithms/grid.ts:33
  • +
    -
    maxDistance?: number
    +
    maxDistance?: number

    Max distance between cluster center and point in meters.

    -

    Default

    10000

    +

    Default

    10000
    +
    -
    +
  • Defined in algorithms/grid.ts:38
  • +
    -
    maxZoom?: number
    -
    +
  • Defined in algorithms/core.ts:59
  • +
    -
    viewportPadding?: number
    +
    viewportPadding?: number

    The number of pixels to extend beyond the viewport bounds when filtering markers prior to clustering.

    - +
    +
    +
    +

    On This Page

    - - + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/interfaces/MarkerClustererOptions.html b/interfaces/MarkerClustererOptions.html index ecfabc3c..9d7ccef3 100644 --- a/interfaces/MarkerClustererOptions.html +++ b/interfaces/MarkerClustererOptions.html @@ -1,13 +1,15 @@ -MarkerClustererOptions | @googlemaps/js-markerclusterer
    +MarkerClustererOptions | @googlemaps/js-markerclusterer
    -
    +
    -
    +
    @@ -26,50 +28,51 @@

    Properties

    -
    +
    -
    algorithm?: Algorithm
    -

    An algorithm to cluster markers. Default is SuperClusterAlgorithm. Must -provide a calculate method accepting AlgorithmInput and returning -an array of Cluster.

    +
    algorithm?: Algorithm
    +

    An algorithm to cluster markers. Default is SuperClusterAlgorithm. Must +provide a calculate method accepting AlgorithmInput and returning +an array of Cluster.

    -
    +
  • Defined in markerclusterer.ts:35
  • +
    -
    map?: Map
    -
    +
  • Defined in markerclusterer.ts:36
  • +
    -
    markers?: Marker[]
    -
    +
  • Defined in markerclusterer.ts:29
  • +
    -
    onClusterClick?: onClusterClickHandler
    -
    +
  • Defined in markerclusterer.ts:42
  • +
    -
    renderer?: Renderer
    -

    An object that converts a Cluster into a google.maps.Marker. -Default is DefaultRenderer.

    +
    renderer?: Renderer
    +

    An object that converts a Cluster into a google.maps.Marker. +Default is DefaultRenderer.

    - +
    +
    +
    +

    On This Page

    -
    - + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/interfaces/Renderer.html b/interfaces/Renderer.html index 31241780..395c284b 100644 --- a/interfaces/Renderer.html +++ b/interfaces/Renderer.html @@ -1,13 +1,15 @@ -Renderer | @googlemaps/js-markerclusterer
    +Renderer | @googlemaps/js-markerclusterer
    -
    +
    -
    +
    +
  • Defined in renderer.ts:52
  • @@ -30,34 +32,35 @@

    Methods

    -
    +
    -
      - +
        +
      • -

        Turn a Cluster into a google.maps.Marker.

        +

        Turn a Cluster into a google.maps.Marker.

        Below is a simple example to create a marker with the number of markers in the cluster as a label.

        -
        return new google.maps.Marker({
        position,
        label: String(markers.length),
        }); +
        return new google.maps.Marker({
        position,
        label: String(markers.length),
        });

        Parameters

        -

        Returns Marker

    +

    Returns Marker

    - +
    +
    +
    +

    On This Page

    - - + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/modules.html b/modules.html index fe76d5f2..6a329483 100644 --- a/modules.html +++ b/modules.html @@ -1,13 +1,15 @@ -@googlemaps/js-markerclusterer
    +@googlemaps/js-markerclusterer
    -
    +
    - -
    + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/public/algorithms/algorithms.js b/public/algorithms/algorithms.js index b1c71b61..277c42e9 100644 --- a/public/algorithms/algorithms.js +++ b/public/algorithms/algorithms.js @@ -1,4 +1,4 @@ -import { _ as __rest, f as fastDeepEqual, S as Supercluster, L as Loader } from './vendor.js'; +import { _ as __rest, e as equal, S as Supercluster, L as Loader } from './vendor.js'; /** * Copyright 2021 Google LLC @@ -252,7 +252,7 @@ class GridAlgorithm extends AbstractViewportAlgorithm { let changed = false; if (this.state.zoom > this.maxZoom && state.zoom > this.maxZoom) ; else { - changed = !fastDeepEqual(this.state, state); + changed = !equal(this.state, state); } this.state = state; if (map.getZoom() >= this.maxZoom) { @@ -365,7 +365,7 @@ class SuperClusterAlgorithm extends AbstractAlgorithm { } calculate(input) { let changed = false; - if (!fastDeepEqual(input.markers, this.markers)) { + if (!equal(input.markers, this.markers)) { changed = true; // TODO use proxy to avoid copy? this.markers = [...input.markers]; @@ -388,7 +388,7 @@ class SuperClusterAlgorithm extends AbstractAlgorithm { if (!changed) { if (this.state.zoom > this.maxZoom && state.zoom > this.maxZoom) ; else { - changed = changed || !fastDeepEqual(this.state, state); + changed = changed || !equal(this.state, state); } } this.state = state; diff --git a/public/algorithms/vendor.js b/public/algorithms/vendor.js index c38cfbbf..c704c7dc 100644 --- a/public/algorithms/vendor.js +++ b/public/algorithms/vendor.js @@ -25,7 +25,9 @@ function __rest(s, e) { return t; } -var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; +function getDefaultExportFromCjs (x) { + return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; +} // do not edit .js files directly - edit src/index.jst @@ -72,205 +74,191 @@ var fastDeepEqual$1 = function equal(a, b) { return a!==a && b!==b; }; -var kdbush = {exports: {}}; - -(function (module, exports) { - (function (global, factory) { - module.exports = factory() ; - }(commonjsGlobal, (function () { - function sortKD(ids, coords, nodeSize, left, right, depth) { - if (right - left <= nodeSize) { return; } - - var m = (left + right) >> 1; - - select(ids, coords, m, left, right, depth % 2); - - sortKD(ids, coords, nodeSize, left, m - 1, depth + 1); - sortKD(ids, coords, nodeSize, m + 1, right, depth + 1); - } - - function select(ids, coords, k, left, right, inc) { - - while (right > left) { - if (right - left > 600) { - var n = right - left + 1; - var m = k - left + 1; - var z = Math.log(n); - var s = 0.5 * Math.exp(2 * z / 3); - var sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1); - var newLeft = Math.max(left, Math.floor(k - m * s / n + sd)); - var newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd)); - select(ids, coords, k, newLeft, newRight, inc); - } - - var t = coords[2 * k + inc]; - var i = left; - var j = right; - - swapItem(ids, coords, left, k); - if (coords[2 * right + inc] > t) { swapItem(ids, coords, left, right); } - - while (i < j) { - swapItem(ids, coords, i, j); - i++; - j--; - while (coords[2 * i + inc] < t) { i++; } - while (coords[2 * j + inc] > t) { j--; } - } - - if (coords[2 * left + inc] === t) { swapItem(ids, coords, left, j); } - else { - j++; - swapItem(ids, coords, j, right); - } - - if (j <= k) { left = j + 1; } - if (k <= j) { right = j - 1; } - } - } - - function swapItem(ids, coords, i, j) { - swap(ids, i, j); - swap(coords, 2 * i, 2 * j); - swap(coords, 2 * i + 1, 2 * j + 1); - } - - function swap(arr, i, j) { - var tmp = arr[i]; - arr[i] = arr[j]; - arr[j] = tmp; - } - - function range(ids, coords, minX, minY, maxX, maxY, nodeSize) { - var stack = [0, ids.length - 1, 0]; - var result = []; - var x, y; - - while (stack.length) { - var axis = stack.pop(); - var right = stack.pop(); - var left = stack.pop(); - - if (right - left <= nodeSize) { - for (var i = left; i <= right; i++) { - x = coords[2 * i]; - y = coords[2 * i + 1]; - if (x >= minX && x <= maxX && y >= minY && y <= maxY) { result.push(ids[i]); } - } - continue; - } - - var m = Math.floor((left + right) / 2); - - x = coords[2 * m]; - y = coords[2 * m + 1]; - - if (x >= minX && x <= maxX && y >= minY && y <= maxY) { result.push(ids[m]); } - - var nextAxis = (axis + 1) % 2; - - if (axis === 0 ? minX <= x : minY <= y) { - stack.push(left); - stack.push(m - 1); - stack.push(nextAxis); - } - if (axis === 0 ? maxX >= x : maxY >= y) { - stack.push(m + 1); - stack.push(right); - stack.push(nextAxis); - } - } - - return result; - } - - function within(ids, coords, qx, qy, r, nodeSize) { - var stack = [0, ids.length - 1, 0]; - var result = []; - var r2 = r * r; - - while (stack.length) { - var axis = stack.pop(); - var right = stack.pop(); - var left = stack.pop(); - - if (right - left <= nodeSize) { - for (var i = left; i <= right; i++) { - if (sqDist(coords[2 * i], coords[2 * i + 1], qx, qy) <= r2) { result.push(ids[i]); } - } - continue; - } - - var m = Math.floor((left + right) / 2); - - var x = coords[2 * m]; - var y = coords[2 * m + 1]; - - if (sqDist(x, y, qx, qy) <= r2) { result.push(ids[m]); } - - var nextAxis = (axis + 1) % 2; - - if (axis === 0 ? qx - r <= x : qy - r <= y) { - stack.push(left); - stack.push(m - 1); - stack.push(nextAxis); - } - if (axis === 0 ? qx + r >= x : qy + r >= y) { - stack.push(m + 1); - stack.push(right); - stack.push(nextAxis); - } - } - - return result; - } - - function sqDist(ax, ay, bx, by) { - var dx = ax - bx; - var dy = ay - by; - return dx * dx + dy * dy; - } - - var defaultGetX = function (p) { return p[0]; }; - var defaultGetY = function (p) { return p[1]; }; - - var KDBush = function KDBush(points, getX, getY, nodeSize, ArrayType) { - if ( getX === void 0 ) getX = defaultGetX; - if ( getY === void 0 ) getY = defaultGetY; - if ( nodeSize === void 0 ) nodeSize = 64; - if ( ArrayType === void 0 ) ArrayType = Float64Array; - - this.nodeSize = nodeSize; - this.points = points; - - var IndexArrayType = points.length < 65536 ? Uint16Array : Uint32Array; - - var ids = this.ids = new IndexArrayType(points.length); - var coords = this.coords = new ArrayType(points.length * 2); - - for (var i = 0; i < points.length; i++) { - ids[i] = i; - coords[2 * i] = getX(points[i]); - coords[2 * i + 1] = getY(points[i]); - } +var equal = /*@__PURE__*/getDefaultExportFromCjs(fastDeepEqual$1); + +function sortKD(ids, coords, nodeSize, left, right, depth) { + if (right - left <= nodeSize) return; + + const m = (left + right) >> 1; + + select(ids, coords, m, left, right, depth % 2); + + sortKD(ids, coords, nodeSize, left, m - 1, depth + 1); + sortKD(ids, coords, nodeSize, m + 1, right, depth + 1); +} + +function select(ids, coords, k, left, right, inc) { + + while (right > left) { + if (right - left > 600) { + const n = right - left + 1; + const m = k - left + 1; + const z = Math.log(n); + const s = 0.5 * Math.exp(2 * z / 3); + const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1); + const newLeft = Math.max(left, Math.floor(k - m * s / n + sd)); + const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd)); + select(ids, coords, k, newLeft, newRight, inc); + } + + const t = coords[2 * k + inc]; + let i = left; + let j = right; + + swapItem(ids, coords, left, k); + if (coords[2 * right + inc] > t) swapItem(ids, coords, left, right); + + while (i < j) { + swapItem(ids, coords, i, j); + i++; + j--; + while (coords[2 * i + inc] < t) i++; + while (coords[2 * j + inc] > t) j--; + } + + if (coords[2 * left + inc] === t) swapItem(ids, coords, left, j); + else { + j++; + swapItem(ids, coords, j, right); + } + + if (j <= k) left = j + 1; + if (k <= j) right = j - 1; + } +} + +function swapItem(ids, coords, i, j) { + swap(ids, i, j); + swap(coords, 2 * i, 2 * j); + swap(coords, 2 * i + 1, 2 * j + 1); +} + +function swap(arr, i, j) { + const tmp = arr[i]; + arr[i] = arr[j]; + arr[j] = tmp; +} + +function range(ids, coords, minX, minY, maxX, maxY, nodeSize) { + const stack = [0, ids.length - 1, 0]; + const result = []; + let x, y; + + while (stack.length) { + const axis = stack.pop(); + const right = stack.pop(); + const left = stack.pop(); + + if (right - left <= nodeSize) { + for (let i = left; i <= right; i++) { + x = coords[2 * i]; + y = coords[2 * i + 1]; + if (x >= minX && x <= maxX && y >= minY && y <= maxY) result.push(ids[i]); + } + continue; + } + + const m = Math.floor((left + right) / 2); + + x = coords[2 * m]; + y = coords[2 * m + 1]; - sortKD(ids, coords, nodeSize, 0, ids.length - 1, 0); - }; + if (x >= minX && x <= maxX && y >= minY && y <= maxY) result.push(ids[m]); - KDBush.prototype.range = function range$1 (minX, minY, maxX, maxY) { - return range(this.ids, this.coords, minX, minY, maxX, maxY, this.nodeSize); - }; + const nextAxis = (axis + 1) % 2; - KDBush.prototype.within = function within$1 (x, y, r) { - return within(this.ids, this.coords, x, y, r, this.nodeSize); - }; + if (axis === 0 ? minX <= x : minY <= y) { + stack.push(left); + stack.push(m - 1); + stack.push(nextAxis); + } + if (axis === 0 ? maxX >= x : maxY >= y) { + stack.push(m + 1); + stack.push(right); + stack.push(nextAxis); + } + } - return KDBush; + return result; +} - }))); -} (kdbush)); - -var KDBush = kdbush.exports; +function within(ids, coords, qx, qy, r, nodeSize) { + const stack = [0, ids.length - 1, 0]; + const result = []; + const r2 = r * r; + + while (stack.length) { + const axis = stack.pop(); + const right = stack.pop(); + const left = stack.pop(); + + if (right - left <= nodeSize) { + for (let i = left; i <= right; i++) { + if (sqDist(coords[2 * i], coords[2 * i + 1], qx, qy) <= r2) result.push(ids[i]); + } + continue; + } + + const m = Math.floor((left + right) / 2); + + const x = coords[2 * m]; + const y = coords[2 * m + 1]; + + if (sqDist(x, y, qx, qy) <= r2) result.push(ids[m]); + + const nextAxis = (axis + 1) % 2; + + if (axis === 0 ? qx - r <= x : qy - r <= y) { + stack.push(left); + stack.push(m - 1); + stack.push(nextAxis); + } + if (axis === 0 ? qx + r >= x : qy + r >= y) { + stack.push(m + 1); + stack.push(right); + stack.push(nextAxis); + } + } + + return result; +} + +function sqDist(ax, ay, bx, by) { + const dx = ax - bx; + const dy = ay - by; + return dx * dx + dy * dy; +} + +const defaultGetX = p => p[0]; +const defaultGetY = p => p[1]; + +class KDBush { + constructor(points, getX = defaultGetX, getY = defaultGetY, nodeSize = 64, ArrayType = Float64Array) { + this.nodeSize = nodeSize; + this.points = points; + + const IndexArrayType = points.length < 65536 ? Uint16Array : Uint32Array; + + const ids = this.ids = new IndexArrayType(points.length); + const coords = this.coords = new ArrayType(points.length * 2); + + for (let i = 0; i < points.length; i++) { + ids[i] = i; + coords[2 * i] = getX(points[i]); + coords[2 * i + 1] = getY(points[i]); + } + + sortKD(ids, coords, nodeSize, 0, ids.length - 1, 0); + } + + range(minX, minY, maxX, maxY) { + return range(this.ids, this.coords, minX, minY, maxX, maxY, this.nodeSize); + } + + within(x, y, r) { + return within(this.ids, this.coords, x, y, r, this.nodeSize); + } +} const defaultOptions = { minZoom: 0, // min zoom to generate clusters on @@ -1004,4 +992,4 @@ class Loader { } } -export { Loader as L, Supercluster as S, __rest as _, fastDeepEqual$1 as f }; +export { Loader as L, Supercluster as S, __rest as _, equal as e }; diff --git a/public/defaults/defaults.js b/public/defaults/defaults.js index 555a81e9..cc8ceab9 100644 --- a/public/defaults/defaults.js +++ b/public/defaults/defaults.js @@ -1,4 +1,4 @@ -import { _ as __rest, S as Supercluster, f as fastDeepEqual, L as Loader } from './vendor.js'; +import { _ as __rest, S as Supercluster, e as equal, L as Loader } from './vendor.js'; /** * Copyright 2021 Google LLC @@ -162,7 +162,7 @@ class SuperClusterAlgorithm extends AbstractAlgorithm { } calculate(input) { let changed = false; - if (!fastDeepEqual(input.markers, this.markers)) { + if (!equal(input.markers, this.markers)) { changed = true; // TODO use proxy to avoid copy? this.markers = [...input.markers]; @@ -185,7 +185,7 @@ class SuperClusterAlgorithm extends AbstractAlgorithm { if (!changed) { if (this.state.zoom > this.maxZoom && state.zoom > this.maxZoom) ; else { - changed = changed || !fastDeepEqual(this.state, state); + changed = changed || !equal(this.state, state); } } this.state = state; diff --git a/public/defaults/vendor.js b/public/defaults/vendor.js index 563c7b89..22015070 100644 --- a/public/defaults/vendor.js +++ b/public/defaults/vendor.js @@ -342,7 +342,9 @@ function __rest(s, e) { return t; } -var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; +function getDefaultExportFromCjs (x) { + return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; +} // do not edit .js files directly - edit src/index.jst @@ -389,205 +391,191 @@ var fastDeepEqual = function equal(a, b) { return a!==a && b!==b; }; -var kdbush = {exports: {}}; - -(function (module, exports) { - (function (global, factory) { - module.exports = factory() ; - }(commonjsGlobal, (function () { - function sortKD(ids, coords, nodeSize, left, right, depth) { - if (right - left <= nodeSize) { return; } - - var m = (left + right) >> 1; - - select(ids, coords, m, left, right, depth % 2); - - sortKD(ids, coords, nodeSize, left, m - 1, depth + 1); - sortKD(ids, coords, nodeSize, m + 1, right, depth + 1); - } - - function select(ids, coords, k, left, right, inc) { - - while (right > left) { - if (right - left > 600) { - var n = right - left + 1; - var m = k - left + 1; - var z = Math.log(n); - var s = 0.5 * Math.exp(2 * z / 3); - var sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1); - var newLeft = Math.max(left, Math.floor(k - m * s / n + sd)); - var newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd)); - select(ids, coords, k, newLeft, newRight, inc); - } - - var t = coords[2 * k + inc]; - var i = left; - var j = right; - - swapItem(ids, coords, left, k); - if (coords[2 * right + inc] > t) { swapItem(ids, coords, left, right); } - - while (i < j) { - swapItem(ids, coords, i, j); - i++; - j--; - while (coords[2 * i + inc] < t) { i++; } - while (coords[2 * j + inc] > t) { j--; } - } - - if (coords[2 * left + inc] === t) { swapItem(ids, coords, left, j); } - else { - j++; - swapItem(ids, coords, j, right); - } - - if (j <= k) { left = j + 1; } - if (k <= j) { right = j - 1; } - } - } - - function swapItem(ids, coords, i, j) { - swap(ids, i, j); - swap(coords, 2 * i, 2 * j); - swap(coords, 2 * i + 1, 2 * j + 1); - } - - function swap(arr, i, j) { - var tmp = arr[i]; - arr[i] = arr[j]; - arr[j] = tmp; - } - - function range(ids, coords, minX, minY, maxX, maxY, nodeSize) { - var stack = [0, ids.length - 1, 0]; - var result = []; - var x, y; - - while (stack.length) { - var axis = stack.pop(); - var right = stack.pop(); - var left = stack.pop(); - - if (right - left <= nodeSize) { - for (var i = left; i <= right; i++) { - x = coords[2 * i]; - y = coords[2 * i + 1]; - if (x >= minX && x <= maxX && y >= minY && y <= maxY) { result.push(ids[i]); } - } - continue; - } - - var m = Math.floor((left + right) / 2); - - x = coords[2 * m]; - y = coords[2 * m + 1]; - - if (x >= minX && x <= maxX && y >= minY && y <= maxY) { result.push(ids[m]); } - - var nextAxis = (axis + 1) % 2; - - if (axis === 0 ? minX <= x : minY <= y) { - stack.push(left); - stack.push(m - 1); - stack.push(nextAxis); - } - if (axis === 0 ? maxX >= x : maxY >= y) { - stack.push(m + 1); - stack.push(right); - stack.push(nextAxis); - } - } - - return result; - } - - function within(ids, coords, qx, qy, r, nodeSize) { - var stack = [0, ids.length - 1, 0]; - var result = []; - var r2 = r * r; - - while (stack.length) { - var axis = stack.pop(); - var right = stack.pop(); - var left = stack.pop(); - - if (right - left <= nodeSize) { - for (var i = left; i <= right; i++) { - if (sqDist(coords[2 * i], coords[2 * i + 1], qx, qy) <= r2) { result.push(ids[i]); } - } - continue; - } - - var m = Math.floor((left + right) / 2); - - var x = coords[2 * m]; - var y = coords[2 * m + 1]; - - if (sqDist(x, y, qx, qy) <= r2) { result.push(ids[m]); } - - var nextAxis = (axis + 1) % 2; - - if (axis === 0 ? qx - r <= x : qy - r <= y) { - stack.push(left); - stack.push(m - 1); - stack.push(nextAxis); - } - if (axis === 0 ? qx + r >= x : qy + r >= y) { - stack.push(m + 1); - stack.push(right); - stack.push(nextAxis); - } - } - - return result; - } - - function sqDist(ax, ay, bx, by) { - var dx = ax - bx; - var dy = ay - by; - return dx * dx + dy * dy; - } - - var defaultGetX = function (p) { return p[0]; }; - var defaultGetY = function (p) { return p[1]; }; - - var KDBush = function KDBush(points, getX, getY, nodeSize, ArrayType) { - if ( getX === void 0 ) getX = defaultGetX; - if ( getY === void 0 ) getY = defaultGetY; - if ( nodeSize === void 0 ) nodeSize = 64; - if ( ArrayType === void 0 ) ArrayType = Float64Array; - - this.nodeSize = nodeSize; - this.points = points; - - var IndexArrayType = points.length < 65536 ? Uint16Array : Uint32Array; - - var ids = this.ids = new IndexArrayType(points.length); - var coords = this.coords = new ArrayType(points.length * 2); - - for (var i = 0; i < points.length; i++) { - ids[i] = i; - coords[2 * i] = getX(points[i]); - coords[2 * i + 1] = getY(points[i]); - } +var equal = /*@__PURE__*/getDefaultExportFromCjs(fastDeepEqual); + +function sortKD(ids, coords, nodeSize, left, right, depth) { + if (right - left <= nodeSize) return; + + const m = (left + right) >> 1; + + select(ids, coords, m, left, right, depth % 2); + + sortKD(ids, coords, nodeSize, left, m - 1, depth + 1); + sortKD(ids, coords, nodeSize, m + 1, right, depth + 1); +} + +function select(ids, coords, k, left, right, inc) { + + while (right > left) { + if (right - left > 600) { + const n = right - left + 1; + const m = k - left + 1; + const z = Math.log(n); + const s = 0.5 * Math.exp(2 * z / 3); + const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1); + const newLeft = Math.max(left, Math.floor(k - m * s / n + sd)); + const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd)); + select(ids, coords, k, newLeft, newRight, inc); + } + + const t = coords[2 * k + inc]; + let i = left; + let j = right; + + swapItem(ids, coords, left, k); + if (coords[2 * right + inc] > t) swapItem(ids, coords, left, right); + + while (i < j) { + swapItem(ids, coords, i, j); + i++; + j--; + while (coords[2 * i + inc] < t) i++; + while (coords[2 * j + inc] > t) j--; + } + + if (coords[2 * left + inc] === t) swapItem(ids, coords, left, j); + else { + j++; + swapItem(ids, coords, j, right); + } + + if (j <= k) left = j + 1; + if (k <= j) right = j - 1; + } +} + +function swapItem(ids, coords, i, j) { + swap(ids, i, j); + swap(coords, 2 * i, 2 * j); + swap(coords, 2 * i + 1, 2 * j + 1); +} + +function swap(arr, i, j) { + const tmp = arr[i]; + arr[i] = arr[j]; + arr[j] = tmp; +} + +function range(ids, coords, minX, minY, maxX, maxY, nodeSize) { + const stack = [0, ids.length - 1, 0]; + const result = []; + let x, y; + + while (stack.length) { + const axis = stack.pop(); + const right = stack.pop(); + const left = stack.pop(); + + if (right - left <= nodeSize) { + for (let i = left; i <= right; i++) { + x = coords[2 * i]; + y = coords[2 * i + 1]; + if (x >= minX && x <= maxX && y >= minY && y <= maxY) result.push(ids[i]); + } + continue; + } + + const m = Math.floor((left + right) / 2); + + x = coords[2 * m]; + y = coords[2 * m + 1]; - sortKD(ids, coords, nodeSize, 0, ids.length - 1, 0); - }; + if (x >= minX && x <= maxX && y >= minY && y <= maxY) result.push(ids[m]); - KDBush.prototype.range = function range$1 (minX, minY, maxX, maxY) { - return range(this.ids, this.coords, minX, minY, maxX, maxY, this.nodeSize); - }; + const nextAxis = (axis + 1) % 2; - KDBush.prototype.within = function within$1 (x, y, r) { - return within(this.ids, this.coords, x, y, r, this.nodeSize); - }; + if (axis === 0 ? minX <= x : minY <= y) { + stack.push(left); + stack.push(m - 1); + stack.push(nextAxis); + } + if (axis === 0 ? maxX >= x : maxY >= y) { + stack.push(m + 1); + stack.push(right); + stack.push(nextAxis); + } + } - return KDBush; + return result; +} - }))); -} (kdbush)); - -var KDBush = kdbush.exports; +function within(ids, coords, qx, qy, r, nodeSize) { + const stack = [0, ids.length - 1, 0]; + const result = []; + const r2 = r * r; + + while (stack.length) { + const axis = stack.pop(); + const right = stack.pop(); + const left = stack.pop(); + + if (right - left <= nodeSize) { + for (let i = left; i <= right; i++) { + if (sqDist(coords[2 * i], coords[2 * i + 1], qx, qy) <= r2) result.push(ids[i]); + } + continue; + } + + const m = Math.floor((left + right) / 2); + + const x = coords[2 * m]; + const y = coords[2 * m + 1]; + + if (sqDist(x, y, qx, qy) <= r2) result.push(ids[m]); + + const nextAxis = (axis + 1) % 2; + + if (axis === 0 ? qx - r <= x : qy - r <= y) { + stack.push(left); + stack.push(m - 1); + stack.push(nextAxis); + } + if (axis === 0 ? qx + r >= x : qy + r >= y) { + stack.push(m + 1); + stack.push(right); + stack.push(nextAxis); + } + } + + return result; +} + +function sqDist(ax, ay, bx, by) { + const dx = ax - bx; + const dy = ay - by; + return dx * dx + dy * dy; +} + +const defaultGetX = p => p[0]; +const defaultGetY = p => p[1]; + +class KDBush { + constructor(points, getX = defaultGetX, getY = defaultGetY, nodeSize = 64, ArrayType = Float64Array) { + this.nodeSize = nodeSize; + this.points = points; + + const IndexArrayType = points.length < 65536 ? Uint16Array : Uint32Array; + + const ids = this.ids = new IndexArrayType(points.length); + const coords = this.coords = new ArrayType(points.length * 2); + + for (let i = 0; i < points.length; i++) { + ids[i] = i; + coords[2 * i] = getX(points[i]); + coords[2 * i + 1] = getY(points[i]); + } + + sortKD(ids, coords, nodeSize, 0, ids.length - 1, 0); + } + + range(minX, minY, maxX, maxY) { + return range(this.ids, this.coords, minX, minY, maxX, maxY, this.nodeSize); + } + + within(x, y, r) { + return within(this.ids, this.coords, x, y, r, this.nodeSize); + } +} const defaultOptions = { minZoom: 0, // min zoom to generate clusters on @@ -1004,4 +992,4 @@ function getY(p) { return p.y; } -export { Loader as L, Supercluster as S, __rest as _, fastDeepEqual as f }; +export { Loader as L, Supercluster as S, __rest as _, equal as e }; diff --git a/public/renderers/renderers.js b/public/renderers/renderers.js index 5883c3c7..bc420d9d 100644 --- a/public/renderers/renderers.js +++ b/public/renderers/renderers.js @@ -1,4 +1,4 @@ -import { _ as __rest, S as Supercluster, f as fastDeepEqual, i as interpolateRgb, L as Loader } from './vendor.js'; +import { _ as __rest, S as Supercluster, e as equal, i as interpolateRgb, L as Loader } from './vendor.js'; /** * Copyright 2021 Google LLC @@ -141,7 +141,7 @@ class SuperClusterAlgorithm extends AbstractAlgorithm { } calculate(input) { let changed = false; - if (!fastDeepEqual(input.markers, this.markers)) { + if (!equal(input.markers, this.markers)) { changed = true; // TODO use proxy to avoid copy? this.markers = [...input.markers]; @@ -164,7 +164,7 @@ class SuperClusterAlgorithm extends AbstractAlgorithm { if (!changed) { if (this.state.zoom > this.maxZoom && state.zoom > this.maxZoom) ; else { - changed = changed || !fastDeepEqual(this.state, state); + changed = changed || !equal(this.state, state); } } this.state = state; diff --git a/public/renderers/vendor.js b/public/renderers/vendor.js index 857bcae1..31c631e1 100644 --- a/public/renderers/vendor.js +++ b/public/renderers/vendor.js @@ -25,7 +25,9 @@ function __rest(s, e) { return t; } -var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; +function getDefaultExportFromCjs (x) { + return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; +} // do not edit .js files directly - edit src/index.jst @@ -72,205 +74,191 @@ var fastDeepEqual$1 = function equal(a, b) { return a!==a && b!==b; }; -var kdbush = {exports: {}}; - -(function (module, exports) { - (function (global, factory) { - module.exports = factory() ; - }(commonjsGlobal, (function () { - function sortKD(ids, coords, nodeSize, left, right, depth) { - if (right - left <= nodeSize) { return; } - - var m = (left + right) >> 1; - - select(ids, coords, m, left, right, depth % 2); - - sortKD(ids, coords, nodeSize, left, m - 1, depth + 1); - sortKD(ids, coords, nodeSize, m + 1, right, depth + 1); - } - - function select(ids, coords, k, left, right, inc) { - - while (right > left) { - if (right - left > 600) { - var n = right - left + 1; - var m = k - left + 1; - var z = Math.log(n); - var s = 0.5 * Math.exp(2 * z / 3); - var sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1); - var newLeft = Math.max(left, Math.floor(k - m * s / n + sd)); - var newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd)); - select(ids, coords, k, newLeft, newRight, inc); - } - - var t = coords[2 * k + inc]; - var i = left; - var j = right; - - swapItem(ids, coords, left, k); - if (coords[2 * right + inc] > t) { swapItem(ids, coords, left, right); } - - while (i < j) { - swapItem(ids, coords, i, j); - i++; - j--; - while (coords[2 * i + inc] < t) { i++; } - while (coords[2 * j + inc] > t) { j--; } - } - - if (coords[2 * left + inc] === t) { swapItem(ids, coords, left, j); } - else { - j++; - swapItem(ids, coords, j, right); - } - - if (j <= k) { left = j + 1; } - if (k <= j) { right = j - 1; } - } - } - - function swapItem(ids, coords, i, j) { - swap(ids, i, j); - swap(coords, 2 * i, 2 * j); - swap(coords, 2 * i + 1, 2 * j + 1); - } - - function swap(arr, i, j) { - var tmp = arr[i]; - arr[i] = arr[j]; - arr[j] = tmp; - } - - function range(ids, coords, minX, minY, maxX, maxY, nodeSize) { - var stack = [0, ids.length - 1, 0]; - var result = []; - var x, y; - - while (stack.length) { - var axis = stack.pop(); - var right = stack.pop(); - var left = stack.pop(); - - if (right - left <= nodeSize) { - for (var i = left; i <= right; i++) { - x = coords[2 * i]; - y = coords[2 * i + 1]; - if (x >= minX && x <= maxX && y >= minY && y <= maxY) { result.push(ids[i]); } - } - continue; - } - - var m = Math.floor((left + right) / 2); - - x = coords[2 * m]; - y = coords[2 * m + 1]; - - if (x >= minX && x <= maxX && y >= minY && y <= maxY) { result.push(ids[m]); } - - var nextAxis = (axis + 1) % 2; - - if (axis === 0 ? minX <= x : minY <= y) { - stack.push(left); - stack.push(m - 1); - stack.push(nextAxis); - } - if (axis === 0 ? maxX >= x : maxY >= y) { - stack.push(m + 1); - stack.push(right); - stack.push(nextAxis); - } - } - - return result; - } - - function within(ids, coords, qx, qy, r, nodeSize) { - var stack = [0, ids.length - 1, 0]; - var result = []; - var r2 = r * r; - - while (stack.length) { - var axis = stack.pop(); - var right = stack.pop(); - var left = stack.pop(); - - if (right - left <= nodeSize) { - for (var i = left; i <= right; i++) { - if (sqDist(coords[2 * i], coords[2 * i + 1], qx, qy) <= r2) { result.push(ids[i]); } - } - continue; - } - - var m = Math.floor((left + right) / 2); - - var x = coords[2 * m]; - var y = coords[2 * m + 1]; - - if (sqDist(x, y, qx, qy) <= r2) { result.push(ids[m]); } - - var nextAxis = (axis + 1) % 2; - - if (axis === 0 ? qx - r <= x : qy - r <= y) { - stack.push(left); - stack.push(m - 1); - stack.push(nextAxis); - } - if (axis === 0 ? qx + r >= x : qy + r >= y) { - stack.push(m + 1); - stack.push(right); - stack.push(nextAxis); - } - } - - return result; - } - - function sqDist(ax, ay, bx, by) { - var dx = ax - bx; - var dy = ay - by; - return dx * dx + dy * dy; - } - - var defaultGetX = function (p) { return p[0]; }; - var defaultGetY = function (p) { return p[1]; }; - - var KDBush = function KDBush(points, getX, getY, nodeSize, ArrayType) { - if ( getX === void 0 ) getX = defaultGetX; - if ( getY === void 0 ) getY = defaultGetY; - if ( nodeSize === void 0 ) nodeSize = 64; - if ( ArrayType === void 0 ) ArrayType = Float64Array; - - this.nodeSize = nodeSize; - this.points = points; - - var IndexArrayType = points.length < 65536 ? Uint16Array : Uint32Array; - - var ids = this.ids = new IndexArrayType(points.length); - var coords = this.coords = new ArrayType(points.length * 2); - - for (var i = 0; i < points.length; i++) { - ids[i] = i; - coords[2 * i] = getX(points[i]); - coords[2 * i + 1] = getY(points[i]); - } +var equal = /*@__PURE__*/getDefaultExportFromCjs(fastDeepEqual$1); + +function sortKD(ids, coords, nodeSize, left, right, depth) { + if (right - left <= nodeSize) return; + + const m = (left + right) >> 1; + + select(ids, coords, m, left, right, depth % 2); + + sortKD(ids, coords, nodeSize, left, m - 1, depth + 1); + sortKD(ids, coords, nodeSize, m + 1, right, depth + 1); +} + +function select(ids, coords, k, left, right, inc) { + + while (right > left) { + if (right - left > 600) { + const n = right - left + 1; + const m = k - left + 1; + const z = Math.log(n); + const s = 0.5 * Math.exp(2 * z / 3); + const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1); + const newLeft = Math.max(left, Math.floor(k - m * s / n + sd)); + const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd)); + select(ids, coords, k, newLeft, newRight, inc); + } + + const t = coords[2 * k + inc]; + let i = left; + let j = right; + + swapItem(ids, coords, left, k); + if (coords[2 * right + inc] > t) swapItem(ids, coords, left, right); + + while (i < j) { + swapItem(ids, coords, i, j); + i++; + j--; + while (coords[2 * i + inc] < t) i++; + while (coords[2 * j + inc] > t) j--; + } + + if (coords[2 * left + inc] === t) swapItem(ids, coords, left, j); + else { + j++; + swapItem(ids, coords, j, right); + } + + if (j <= k) left = j + 1; + if (k <= j) right = j - 1; + } +} + +function swapItem(ids, coords, i, j) { + swap(ids, i, j); + swap(coords, 2 * i, 2 * j); + swap(coords, 2 * i + 1, 2 * j + 1); +} + +function swap(arr, i, j) { + const tmp = arr[i]; + arr[i] = arr[j]; + arr[j] = tmp; +} + +function range(ids, coords, minX, minY, maxX, maxY, nodeSize) { + const stack = [0, ids.length - 1, 0]; + const result = []; + let x, y; + + while (stack.length) { + const axis = stack.pop(); + const right = stack.pop(); + const left = stack.pop(); + + if (right - left <= nodeSize) { + for (let i = left; i <= right; i++) { + x = coords[2 * i]; + y = coords[2 * i + 1]; + if (x >= minX && x <= maxX && y >= minY && y <= maxY) result.push(ids[i]); + } + continue; + } + + const m = Math.floor((left + right) / 2); + + x = coords[2 * m]; + y = coords[2 * m + 1]; - sortKD(ids, coords, nodeSize, 0, ids.length - 1, 0); - }; + if (x >= minX && x <= maxX && y >= minY && y <= maxY) result.push(ids[m]); - KDBush.prototype.range = function range$1 (minX, minY, maxX, maxY) { - return range(this.ids, this.coords, minX, minY, maxX, maxY, this.nodeSize); - }; + const nextAxis = (axis + 1) % 2; - KDBush.prototype.within = function within$1 (x, y, r) { - return within(this.ids, this.coords, x, y, r, this.nodeSize); - }; + if (axis === 0 ? minX <= x : minY <= y) { + stack.push(left); + stack.push(m - 1); + stack.push(nextAxis); + } + if (axis === 0 ? maxX >= x : maxY >= y) { + stack.push(m + 1); + stack.push(right); + stack.push(nextAxis); + } + } + + return result; +} - return KDBush; +function within(ids, coords, qx, qy, r, nodeSize) { + const stack = [0, ids.length - 1, 0]; + const result = []; + const r2 = r * r; - }))); -} (kdbush)); - -var KDBush = kdbush.exports; + while (stack.length) { + const axis = stack.pop(); + const right = stack.pop(); + const left = stack.pop(); + + if (right - left <= nodeSize) { + for (let i = left; i <= right; i++) { + if (sqDist(coords[2 * i], coords[2 * i + 1], qx, qy) <= r2) result.push(ids[i]); + } + continue; + } + + const m = Math.floor((left + right) / 2); + + const x = coords[2 * m]; + const y = coords[2 * m + 1]; + + if (sqDist(x, y, qx, qy) <= r2) result.push(ids[m]); + + const nextAxis = (axis + 1) % 2; + + if (axis === 0 ? qx - r <= x : qy - r <= y) { + stack.push(left); + stack.push(m - 1); + stack.push(nextAxis); + } + if (axis === 0 ? qx + r >= x : qy + r >= y) { + stack.push(m + 1); + stack.push(right); + stack.push(nextAxis); + } + } + + return result; +} + +function sqDist(ax, ay, bx, by) { + const dx = ax - bx; + const dy = ay - by; + return dx * dx + dy * dy; +} + +const defaultGetX = p => p[0]; +const defaultGetY = p => p[1]; + +class KDBush { + constructor(points, getX = defaultGetX, getY = defaultGetY, nodeSize = 64, ArrayType = Float64Array) { + this.nodeSize = nodeSize; + this.points = points; + + const IndexArrayType = points.length < 65536 ? Uint16Array : Uint32Array; + + const ids = this.ids = new IndexArrayType(points.length); + const coords = this.coords = new ArrayType(points.length * 2); + + for (let i = 0; i < points.length; i++) { + ids[i] = i; + coords[2 * i] = getX(points[i]); + coords[2 * i + 1] = getY(points[i]); + } + + sortKD(ids, coords, nodeSize, 0, ids.length - 1, 0); + } + + range(minX, minY, maxX, maxY) { + return range(this.ids, this.coords, minX, minY, maxX, maxY, this.nodeSize); + } + + within(x, y, r) { + return within(this.ids, this.coords, x, y, r, this.nodeSize); + } +} const defaultOptions = { minZoom: 0, // min zoom to generate clusters on @@ -1021,15 +1009,15 @@ var darker = 0.7; var brighter = 1 / darker; var reI = "\\s*([+-]?\\d+)\\s*", - reN = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*", - reP = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*", + reN = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", + reP = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", reHex = /^#([0-9a-f]{3,8})$/, - reRgbInteger = new RegExp("^rgb\\(" + [reI, reI, reI] + "\\)$"), - reRgbPercent = new RegExp("^rgb\\(" + [reP, reP, reP] + "\\)$"), - reRgbaInteger = new RegExp("^rgba\\(" + [reI, reI, reI, reN] + "\\)$"), - reRgbaPercent = new RegExp("^rgba\\(" + [reP, reP, reP, reN] + "\\)$"), - reHslPercent = new RegExp("^hsl\\(" + [reN, reP, reP] + "\\)$"), - reHslaPercent = new RegExp("^hsla\\(" + [reN, reP, reP, reN] + "\\)$"); + reRgbInteger = new RegExp(`^rgb\\(${reI},${reI},${reI}\\)$`), + reRgbPercent = new RegExp(`^rgb\\(${reP},${reP},${reP}\\)$`), + reRgbaInteger = new RegExp(`^rgba\\(${reI},${reI},${reI},${reN}\\)$`), + reRgbaPercent = new RegExp(`^rgba\\(${reP},${reP},${reP},${reN}\\)$`), + reHslPercent = new RegExp(`^hsl\\(${reN},${reP},${reP}\\)$`), + reHslaPercent = new RegExp(`^hsla\\(${reN},${reP},${reP},${reN}\\)$`); var named = { aliceblue: 0xf0f8ff, @@ -1183,14 +1171,15 @@ var named = { }; define(Color, color, { - copy: function(channels) { + copy(channels) { return Object.assign(new this.constructor, this, channels); }, - displayable: function() { + displayable() { return this.rgb().displayable(); }, hex: color_formatHex, // Deprecated! Use color.formatHex. formatHex: color_formatHex, + formatHex8: color_formatHex8, formatHsl: color_formatHsl, formatRgb: color_formatRgb, toString: color_formatRgb @@ -1200,6 +1189,10 @@ function color_formatHex() { return this.rgb().formatHex(); } +function color_formatHex8() { + return this.rgb().formatHex8(); +} + function color_formatHsl() { return hslConvert(this).formatHsl(); } @@ -1255,18 +1248,21 @@ function Rgb(r, g, b, opacity) { } define(Rgb, rgb, extend(Color, { - brighter: function(k) { + brighter(k) { k = k == null ? brighter : Math.pow(brighter, k); return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); }, - darker: function(k) { + darker(k) { k = k == null ? darker : Math.pow(darker, k); return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); }, - rgb: function() { + rgb() { return this; }, - displayable: function() { + clamp() { + return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity)); + }, + displayable() { return (-0.5 <= this.r && this.r < 255.5) && (-0.5 <= this.g && this.g < 255.5) && (-0.5 <= this.b && this.b < 255.5) @@ -1274,25 +1270,34 @@ define(Rgb, rgb, extend(Color, { }, hex: rgb_formatHex, // Deprecated! Use color.formatHex. formatHex: rgb_formatHex, + formatHex8: rgb_formatHex8, formatRgb: rgb_formatRgb, toString: rgb_formatRgb })); function rgb_formatHex() { - return "#" + hex(this.r) + hex(this.g) + hex(this.b); + return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`; +} + +function rgb_formatHex8() { + return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`; } function rgb_formatRgb() { - var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a)); - return (a === 1 ? "rgb(" : "rgba(") - + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + ", " - + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + ", " - + Math.max(0, Math.min(255, Math.round(this.b) || 0)) - + (a === 1 ? ")" : ", " + a + ")"); + const a = clampa(this.opacity); + return `${a === 1 ? "rgb(" : "rgba("}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? ")" : `, ${a})`}`; +} + +function clampa(opacity) { + return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity)); +} + +function clampi(value) { + return Math.max(0, Math.min(255, Math.round(value) || 0)); } function hex(value) { - value = Math.max(0, Math.min(255, Math.round(value) || 0)); + value = clampi(value); return (value < 16 ? "0" : "") + value.toString(16); } @@ -1341,15 +1346,15 @@ function Hsl(h, s, l, opacity) { } define(Hsl, hsl, extend(Color, { - brighter: function(k) { + brighter(k) { k = k == null ? brighter : Math.pow(brighter, k); return new Hsl(this.h, this.s, this.l * k, this.opacity); }, - darker: function(k) { + darker(k) { k = k == null ? darker : Math.pow(darker, k); return new Hsl(this.h, this.s, this.l * k, this.opacity); }, - rgb: function() { + rgb() { var h = this.h % 360 + (this.h < 0) * 360, s = isNaN(h) || isNaN(this.s) ? 0 : this.s, l = this.l, @@ -1362,21 +1367,29 @@ define(Hsl, hsl, extend(Color, { this.opacity ); }, - displayable: function() { + clamp() { + return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity)); + }, + displayable() { return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && (0 <= this.l && this.l <= 1) && (0 <= this.opacity && this.opacity <= 1); }, - formatHsl: function() { - var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a)); - return (a === 1 ? "hsl(" : "hsla(") - + (this.h || 0) + ", " - + (this.s || 0) * 100 + "%, " - + (this.l || 0) * 100 + "%" - + (a === 1 ? ")" : ", " + a + ")"); + formatHsl() { + const a = clampa(this.opacity); + return `${a === 1 ? "hsl(" : "hsla("}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? ")" : `, ${a})`}`; } })); +function clamph(value) { + value = (value || 0) % 360; + return value < 0 ? value + 360 : value; +} + +function clampt(value) { + return Math.max(0, Math.min(1, value || 0)); +} + /* From FvD 13.37, CSS Color Module Level 3 */ function hsl2rgb(h, m1, m2) { return (h < 60 ? m1 + (m2 - m1) * h / 60 @@ -1385,179 +1398,6 @@ function hsl2rgb(h, m1, m2) { : m1) * 255; } -const radians = Math.PI / 180; -const degrees = 180 / Math.PI; - -// https://observablehq.com/@mbostock/lab-and-rgb -const K = 18, - Xn = 0.96422, - Yn = 1, - Zn = 0.82521, - t0 = 4 / 29, - t1 = 6 / 29, - t2 = 3 * t1 * t1, - t3 = t1 * t1 * t1; - -function labConvert(o) { - if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity); - if (o instanceof Hcl) return hcl2lab(o); - if (!(o instanceof Rgb)) o = rgbConvert(o); - var r = rgb2lrgb(o.r), - g = rgb2lrgb(o.g), - b = rgb2lrgb(o.b), - y = xyz2lab((0.2225045 * r + 0.7168786 * g + 0.0606169 * b) / Yn), x, z; - if (r === g && g === b) x = z = y; else { - x = xyz2lab((0.4360747 * r + 0.3850649 * g + 0.1430804 * b) / Xn); - z = xyz2lab((0.0139322 * r + 0.0971045 * g + 0.7141733 * b) / Zn); - } - return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity); -} - -function lab(l, a, b, opacity) { - return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity); -} - -function Lab(l, a, b, opacity) { - this.l = +l; - this.a = +a; - this.b = +b; - this.opacity = +opacity; -} - -define(Lab, lab, extend(Color, { - brighter: function(k) { - return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity); - }, - darker: function(k) { - return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity); - }, - rgb: function() { - var y = (this.l + 16) / 116, - x = isNaN(this.a) ? y : y + this.a / 500, - z = isNaN(this.b) ? y : y - this.b / 200; - x = Xn * lab2xyz(x); - y = Yn * lab2xyz(y); - z = Zn * lab2xyz(z); - return new Rgb( - lrgb2rgb( 3.1338561 * x - 1.6168667 * y - 0.4906146 * z), - lrgb2rgb(-0.9787684 * x + 1.9161415 * y + 0.0334540 * z), - lrgb2rgb( 0.0719453 * x - 0.2289914 * y + 1.4052427 * z), - this.opacity - ); - } -})); - -function xyz2lab(t) { - return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0; -} - -function lab2xyz(t) { - return t > t1 ? t * t * t : t2 * (t - t0); -} - -function lrgb2rgb(x) { - return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055); -} - -function rgb2lrgb(x) { - return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4); -} - -function hclConvert(o) { - if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity); - if (!(o instanceof Lab)) o = labConvert(o); - if (o.a === 0 && o.b === 0) return new Hcl(NaN, 0 < o.l && o.l < 100 ? 0 : NaN, o.l, o.opacity); - var h = Math.atan2(o.b, o.a) * degrees; - return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity); -} - -function hcl(h, c, l, opacity) { - return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity); -} - -function Hcl(h, c, l, opacity) { - this.h = +h; - this.c = +c; - this.l = +l; - this.opacity = +opacity; -} - -function hcl2lab(o) { - if (isNaN(o.h)) return new Lab(o.l, 0, 0, o.opacity); - var h = o.h * radians; - return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity); -} - -define(Hcl, hcl, extend(Color, { - brighter: function(k) { - return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity); - }, - darker: function(k) { - return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity); - }, - rgb: function() { - return hcl2lab(this).rgb(); - } -})); - -var A = -0.14861, - B = +1.78277, - C = -0.29227, - D = -0.90649, - E = +1.97294, - ED = E * D, - EB = E * B, - BC_DA = B * C - D * A; - -function cubehelixConvert(o) { - if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity); - if (!(o instanceof Rgb)) o = rgbConvert(o); - var r = o.r / 255, - g = o.g / 255, - b = o.b / 255, - l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB), - bl = b - l, - k = (E * (g - l) - C * bl) / D, - s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1 - h = s ? Math.atan2(k, bl) * degrees - 120 : NaN; - return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity); -} - -function cubehelix$1(h, s, l, opacity) { - return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity); -} - -function Cubehelix(h, s, l, opacity) { - this.h = +h; - this.s = +s; - this.l = +l; - this.opacity = +opacity; -} - -define(Cubehelix, cubehelix$1, extend(Color, { - brighter: function(k) { - k = k == null ? brighter : Math.pow(brighter, k); - return new Cubehelix(this.h, this.s, this.l * k, this.opacity); - }, - darker: function(k) { - k = k == null ? darker : Math.pow(darker, k); - return new Cubehelix(this.h, this.s, this.l * k, this.opacity); - }, - rgb: function() { - var h = isNaN(this.h) ? 0 : (this.h + 120) * radians, - l = +this.l, - a = isNaN(this.s) ? 0 : this.s * l * (1 - l), - cosh = Math.cos(h), - sinh = Math.sin(h); - return new Rgb( - 255 * (l + a * (A * cosh + B * sinh)), - 255 * (l + a * (C * cosh + D * sinh)), - 255 * (l + a * (E * cosh)), - this.opacity - ); - } -})); - var constant = x => () => x; function linear(a, d) { @@ -1572,11 +1412,6 @@ function exponential(a, b, y) { }; } -function hue(a, b) { - var d = b - a; - return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a); -} - function gamma(y) { return (y = +y) === 1 ? nogamma : function(a, b) { return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a); @@ -1610,103 +1445,4 @@ var interpolateRgb = (function rgbGamma(y) { return rgb$1; })(1); -var epsilon2 = 1e-12; - -function cosh(x) { - return ((x = Math.exp(x)) + 1 / x) / 2; -} - -function sinh(x) { - return ((x = Math.exp(x)) - 1 / x) / 2; -} - -function tanh(x) { - return ((x = Math.exp(2 * x)) - 1) / (x + 1); -} - -((function zoomRho(rho, rho2, rho4) { - - // p0 = [ux0, uy0, w0] - // p1 = [ux1, uy1, w1] - function zoom(p0, p1) { - var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], - ux1 = p1[0], uy1 = p1[1], w1 = p1[2], - dx = ux1 - ux0, - dy = uy1 - uy0, - d2 = dx * dx + dy * dy, - i, - S; - - // Special case for u0 ≅ u1. - if (d2 < epsilon2) { - S = Math.log(w1 / w0) / rho; - i = function(t) { - return [ - ux0 + t * dx, - uy0 + t * dy, - w0 * Math.exp(rho * t * S) - ]; - }; - } - - // General case. - else { - var d1 = Math.sqrt(d2), - b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1), - b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1), - r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), - r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1); - S = (r1 - r0) / rho; - i = function(t) { - var s = t * S, - coshr0 = cosh(r0), - u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0)); - return [ - ux0 + u * dx, - uy0 + u * dy, - w0 * coshr0 / cosh(rho * s + r0) - ]; - }; - } - - i.duration = S * 1000 * rho / Math.SQRT2; - - return i; - } - - zoom.rho = function(_) { - var _1 = Math.max(1e-3, +_), _2 = _1 * _1, _4 = _2 * _2; - return zoomRho(_1, _2, _4); - }; - - return zoom; -}))(Math.SQRT2, 2, 4); - -function cubehelix(hue) { - return (function cubehelixGamma(y) { - y = +y; - - function cubehelix(start, end) { - var h = hue((start = cubehelix$1(start)).h, (end = cubehelix$1(end)).h), - s = nogamma(start.s, end.s), - l = nogamma(start.l, end.l), - opacity = nogamma(start.opacity, end.opacity); - return function(t) { - start.h = h(t); - start.s = s(t); - start.l = l(Math.pow(t, y)); - start.opacity = opacity(t); - return start + ""; - }; - } - - cubehelix.gamma = cubehelixGamma; - - return cubehelix; - })(1); -} - -cubehelix(hue); -cubehelix(nogamma); - -export { Loader as L, Supercluster as S, __rest as _, fastDeepEqual$1 as f, interpolateRgb as i }; +export { Loader as L, Supercluster as S, __rest as _, equal as e, interpolateRgb as i }; diff --git a/public/updates/updates.js b/public/updates/updates.js index 0b81996a..65508f0a 100644 --- a/public/updates/updates.js +++ b/public/updates/updates.js @@ -1,4 +1,4 @@ -import { _ as __rest, S as Supercluster, f as fastDeepEqual, L as Loader, a as __awaiter } from './vendor.js'; +import { _ as __rest, S as Supercluster, e as equal, L as Loader, a as __awaiter } from './vendor.js'; /** * Copyright 2021 Google LLC @@ -162,7 +162,7 @@ class SuperClusterAlgorithm extends AbstractAlgorithm { } calculate(input) { let changed = false; - if (!fastDeepEqual(input.markers, this.markers)) { + if (!equal(input.markers, this.markers)) { changed = true; // TODO use proxy to avoid copy? this.markers = [...input.markers]; @@ -185,7 +185,7 @@ class SuperClusterAlgorithm extends AbstractAlgorithm { if (!changed) { if (this.state.zoom > this.maxZoom && state.zoom > this.maxZoom) ; else { - changed = changed || !fastDeepEqual(this.state, state); + changed = changed || !equal(this.state, state); } } this.state = state; diff --git a/public/updates/vendor.js b/public/updates/vendor.js index 4bbe5e87..35a0d06a 100644 --- a/public/updates/vendor.js +++ b/public/updates/vendor.js @@ -352,7 +352,9 @@ class Loader { } } -var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; +function getDefaultExportFromCjs (x) { + return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; +} // do not edit .js files directly - edit src/index.jst @@ -399,205 +401,191 @@ var fastDeepEqual = function equal(a, b) { return a!==a && b!==b; }; -var kdbush = {exports: {}}; - -(function (module, exports) { - (function (global, factory) { - module.exports = factory() ; - }(commonjsGlobal, (function () { - function sortKD(ids, coords, nodeSize, left, right, depth) { - if (right - left <= nodeSize) { return; } - - var m = (left + right) >> 1; - - select(ids, coords, m, left, right, depth % 2); - - sortKD(ids, coords, nodeSize, left, m - 1, depth + 1); - sortKD(ids, coords, nodeSize, m + 1, right, depth + 1); - } - - function select(ids, coords, k, left, right, inc) { - - while (right > left) { - if (right - left > 600) { - var n = right - left + 1; - var m = k - left + 1; - var z = Math.log(n); - var s = 0.5 * Math.exp(2 * z / 3); - var sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1); - var newLeft = Math.max(left, Math.floor(k - m * s / n + sd)); - var newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd)); - select(ids, coords, k, newLeft, newRight, inc); - } - - var t = coords[2 * k + inc]; - var i = left; - var j = right; - - swapItem(ids, coords, left, k); - if (coords[2 * right + inc] > t) { swapItem(ids, coords, left, right); } - - while (i < j) { - swapItem(ids, coords, i, j); - i++; - j--; - while (coords[2 * i + inc] < t) { i++; } - while (coords[2 * j + inc] > t) { j--; } - } - - if (coords[2 * left + inc] === t) { swapItem(ids, coords, left, j); } - else { - j++; - swapItem(ids, coords, j, right); - } - - if (j <= k) { left = j + 1; } - if (k <= j) { right = j - 1; } - } - } - - function swapItem(ids, coords, i, j) { - swap(ids, i, j); - swap(coords, 2 * i, 2 * j); - swap(coords, 2 * i + 1, 2 * j + 1); - } - - function swap(arr, i, j) { - var tmp = arr[i]; - arr[i] = arr[j]; - arr[j] = tmp; - } - - function range(ids, coords, minX, minY, maxX, maxY, nodeSize) { - var stack = [0, ids.length - 1, 0]; - var result = []; - var x, y; - - while (stack.length) { - var axis = stack.pop(); - var right = stack.pop(); - var left = stack.pop(); - - if (right - left <= nodeSize) { - for (var i = left; i <= right; i++) { - x = coords[2 * i]; - y = coords[2 * i + 1]; - if (x >= minX && x <= maxX && y >= minY && y <= maxY) { result.push(ids[i]); } - } - continue; - } - - var m = Math.floor((left + right) / 2); - - x = coords[2 * m]; - y = coords[2 * m + 1]; - - if (x >= minX && x <= maxX && y >= minY && y <= maxY) { result.push(ids[m]); } - - var nextAxis = (axis + 1) % 2; - - if (axis === 0 ? minX <= x : minY <= y) { - stack.push(left); - stack.push(m - 1); - stack.push(nextAxis); - } - if (axis === 0 ? maxX >= x : maxY >= y) { - stack.push(m + 1); - stack.push(right); - stack.push(nextAxis); - } - } - - return result; - } - - function within(ids, coords, qx, qy, r, nodeSize) { - var stack = [0, ids.length - 1, 0]; - var result = []; - var r2 = r * r; - - while (stack.length) { - var axis = stack.pop(); - var right = stack.pop(); - var left = stack.pop(); - - if (right - left <= nodeSize) { - for (var i = left; i <= right; i++) { - if (sqDist(coords[2 * i], coords[2 * i + 1], qx, qy) <= r2) { result.push(ids[i]); } - } - continue; - } - - var m = Math.floor((left + right) / 2); - - var x = coords[2 * m]; - var y = coords[2 * m + 1]; - - if (sqDist(x, y, qx, qy) <= r2) { result.push(ids[m]); } - - var nextAxis = (axis + 1) % 2; - - if (axis === 0 ? qx - r <= x : qy - r <= y) { - stack.push(left); - stack.push(m - 1); - stack.push(nextAxis); - } - if (axis === 0 ? qx + r >= x : qy + r >= y) { - stack.push(m + 1); - stack.push(right); - stack.push(nextAxis); - } - } - - return result; - } - - function sqDist(ax, ay, bx, by) { - var dx = ax - bx; - var dy = ay - by; - return dx * dx + dy * dy; - } - - var defaultGetX = function (p) { return p[0]; }; - var defaultGetY = function (p) { return p[1]; }; - - var KDBush = function KDBush(points, getX, getY, nodeSize, ArrayType) { - if ( getX === void 0 ) getX = defaultGetX; - if ( getY === void 0 ) getY = defaultGetY; - if ( nodeSize === void 0 ) nodeSize = 64; - if ( ArrayType === void 0 ) ArrayType = Float64Array; - - this.nodeSize = nodeSize; - this.points = points; - - var IndexArrayType = points.length < 65536 ? Uint16Array : Uint32Array; - - var ids = this.ids = new IndexArrayType(points.length); - var coords = this.coords = new ArrayType(points.length * 2); - - for (var i = 0; i < points.length; i++) { - ids[i] = i; - coords[2 * i] = getX(points[i]); - coords[2 * i + 1] = getY(points[i]); - } +var equal = /*@__PURE__*/getDefaultExportFromCjs(fastDeepEqual); + +function sortKD(ids, coords, nodeSize, left, right, depth) { + if (right - left <= nodeSize) return; + + const m = (left + right) >> 1; + + select(ids, coords, m, left, right, depth % 2); + + sortKD(ids, coords, nodeSize, left, m - 1, depth + 1); + sortKD(ids, coords, nodeSize, m + 1, right, depth + 1); +} + +function select(ids, coords, k, left, right, inc) { + + while (right > left) { + if (right - left > 600) { + const n = right - left + 1; + const m = k - left + 1; + const z = Math.log(n); + const s = 0.5 * Math.exp(2 * z / 3); + const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1); + const newLeft = Math.max(left, Math.floor(k - m * s / n + sd)); + const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd)); + select(ids, coords, k, newLeft, newRight, inc); + } + + const t = coords[2 * k + inc]; + let i = left; + let j = right; + + swapItem(ids, coords, left, k); + if (coords[2 * right + inc] > t) swapItem(ids, coords, left, right); + + while (i < j) { + swapItem(ids, coords, i, j); + i++; + j--; + while (coords[2 * i + inc] < t) i++; + while (coords[2 * j + inc] > t) j--; + } + + if (coords[2 * left + inc] === t) swapItem(ids, coords, left, j); + else { + j++; + swapItem(ids, coords, j, right); + } + + if (j <= k) left = j + 1; + if (k <= j) right = j - 1; + } +} + +function swapItem(ids, coords, i, j) { + swap(ids, i, j); + swap(coords, 2 * i, 2 * j); + swap(coords, 2 * i + 1, 2 * j + 1); +} + +function swap(arr, i, j) { + const tmp = arr[i]; + arr[i] = arr[j]; + arr[j] = tmp; +} + +function range(ids, coords, minX, minY, maxX, maxY, nodeSize) { + const stack = [0, ids.length - 1, 0]; + const result = []; + let x, y; + + while (stack.length) { + const axis = stack.pop(); + const right = stack.pop(); + const left = stack.pop(); + + if (right - left <= nodeSize) { + for (let i = left; i <= right; i++) { + x = coords[2 * i]; + y = coords[2 * i + 1]; + if (x >= minX && x <= maxX && y >= minY && y <= maxY) result.push(ids[i]); + } + continue; + } + + const m = Math.floor((left + right) / 2); + + x = coords[2 * m]; + y = coords[2 * m + 1]; - sortKD(ids, coords, nodeSize, 0, ids.length - 1, 0); - }; + if (x >= minX && x <= maxX && y >= minY && y <= maxY) result.push(ids[m]); - KDBush.prototype.range = function range$1 (minX, minY, maxX, maxY) { - return range(this.ids, this.coords, minX, minY, maxX, maxY, this.nodeSize); - }; + const nextAxis = (axis + 1) % 2; - KDBush.prototype.within = function within$1 (x, y, r) { - return within(this.ids, this.coords, x, y, r, this.nodeSize); - }; + if (axis === 0 ? minX <= x : minY <= y) { + stack.push(left); + stack.push(m - 1); + stack.push(nextAxis); + } + if (axis === 0 ? maxX >= x : maxY >= y) { + stack.push(m + 1); + stack.push(right); + stack.push(nextAxis); + } + } - return KDBush; + return result; +} - }))); -} (kdbush)); - -var KDBush = kdbush.exports; +function within(ids, coords, qx, qy, r, nodeSize) { + const stack = [0, ids.length - 1, 0]; + const result = []; + const r2 = r * r; + + while (stack.length) { + const axis = stack.pop(); + const right = stack.pop(); + const left = stack.pop(); + + if (right - left <= nodeSize) { + for (let i = left; i <= right; i++) { + if (sqDist(coords[2 * i], coords[2 * i + 1], qx, qy) <= r2) result.push(ids[i]); + } + continue; + } + + const m = Math.floor((left + right) / 2); + + const x = coords[2 * m]; + const y = coords[2 * m + 1]; + + if (sqDist(x, y, qx, qy) <= r2) result.push(ids[m]); + + const nextAxis = (axis + 1) % 2; + + if (axis === 0 ? qx - r <= x : qy - r <= y) { + stack.push(left); + stack.push(m - 1); + stack.push(nextAxis); + } + if (axis === 0 ? qx + r >= x : qy + r >= y) { + stack.push(m + 1); + stack.push(right); + stack.push(nextAxis); + } + } + + return result; +} + +function sqDist(ax, ay, bx, by) { + const dx = ax - bx; + const dy = ay - by; + return dx * dx + dy * dy; +} + +const defaultGetX = p => p[0]; +const defaultGetY = p => p[1]; + +class KDBush { + constructor(points, getX = defaultGetX, getY = defaultGetY, nodeSize = 64, ArrayType = Float64Array) { + this.nodeSize = nodeSize; + this.points = points; + + const IndexArrayType = points.length < 65536 ? Uint16Array : Uint32Array; + + const ids = this.ids = new IndexArrayType(points.length); + const coords = this.coords = new ArrayType(points.length * 2); + + for (let i = 0; i < points.length; i++) { + ids[i] = i; + coords[2 * i] = getX(points[i]); + coords[2 * i + 1] = getY(points[i]); + } + + sortKD(ids, coords, nodeSize, 0, ids.length - 1, 0); + } + + range(minX, minY, maxX, maxY) { + return range(this.ids, this.coords, minX, minY, maxX, maxY, this.nodeSize); + } + + within(x, y, r) { + return within(this.ids, this.coords, x, y, r, this.nodeSize); + } +} const defaultOptions = { minZoom: 0, // min zoom to generate clusters on @@ -1014,4 +1002,4 @@ function getY(p) { return p.y; } -export { Loader as L, Supercluster as S, __rest as _, __awaiter as a, fastDeepEqual as f }; +export { Loader as L, Supercluster as S, __rest as _, __awaiter as a, equal as e }; diff --git a/types/SuperClusterOptions.html b/types/SuperClusterOptions.html index 466a838a..d657e02c 100644 --- a/types/SuperClusterOptions.html +++ b/types/SuperClusterOptions.html @@ -1,25 +1,28 @@ -SuperClusterOptions | @googlemaps/js-markerclusterer
    +SuperClusterOptions | @googlemaps/js-markerclusterer
    -
    +
    -
    +

    Type alias SuperClusterOptions

    -
    SuperClusterOptions: SuperCluster.Options<{ [name: string]: any }, { [name: string]: any }>
    - + -
    +

    Theme

    + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/types/onClusterClickHandler.html b/types/onClusterClickHandler.html index 08a41e7b..18c0b75d 100644 --- a/types/onClusterClickHandler.html +++ b/types/onClusterClickHandler.html @@ -1,42 +1,45 @@ -onClusterClickHandler | @googlemaps/js-markerclusterer
    +onClusterClickHandler | @googlemaps/js-markerclusterer
    -
    +
    -
    +

    Type alias onClusterClickHandler

    -
    onClusterClickHandler: ((event: google.maps.MapMouseEvent, cluster: Cluster, map: google.maps.Map) => void)
    +
    onClusterClickHandler: ((event, cluster, map) => void)

    Type declaration

    • -
        -
      • (event: google.maps.MapMouseEvent, cluster: Cluster, map: google.maps.Map): void
      • +
          +
        • (event, cluster, map): void
        • Parameters

          • -
            event: google.maps.MapMouseEvent
          • +
            event: google.maps.MapMouseEvent
          • -
            cluster: Cluster
          • +
            cluster: Cluster
          • -
            map: google.maps.Map
          +
          map: google.maps.Map

    Returns void

    - + -
    +

    Theme

    + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file