diff --git a/assets/main.js b/assets/main.js index 01bcad55..d0aa8d5f 100644 --- a/assets/main.js +++ b/assets/main.js @@ -1,6 +1,6 @@ "use strict"; "use strict";(()=>{var Pe=Object.create;var ne=Object.defineProperty;var Ie=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fe=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!Re.call(t,i)&&i!==n&&ne(t,i,{get:()=>e[i],enumerable:!(r=Ie(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Pe(_e(t)):{},Fe(e||!t||!t.__esModule?ne(n,"default",{value:t,enumerable:!0}):n,t));var ae=Me((se,oe)=>{(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 d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.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,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(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=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 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),v=s.str.charAt(1),f;v in s.node.edges?f=s.node.edges[v]:(f=new t.TokenSet,s.node.edges[v]=f),s.str.length==1&&(f.final=!0),i.push({node:f,editsRemaining:s.editsRemaining-1,str:d+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),l=0;l1?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 se=="object"?oe.exports=n():e.lunr=n()}(this,function(){return t})})()});var re=[];function G(t,e){re.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){re.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}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 n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var de=De(ae());async function le(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=de.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function he(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{le(e,t)}),le(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");let s=!1;i.addEventListener("mousedown",()=>s=!0),i.addEventListener("mouseup",()=>{s=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{s||(s=!1,t.classList.remove("has-focus"))}),Ae(t,i,r,e)}function Ae(t,e,n,r){n.addEventListener("input",ie(()=>{Ne(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"?ue(e,-1):s.key==="ArrowDown"?ue(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 Ne(t,e,n,r){if(!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`,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` +`,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(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=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 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),v=s.str.charAt(1),f;v in s.node.edges?f=s.node.edges[v]:(f=new t.TokenSet,s.node.edges[v]=f),s.str.length==1&&(f.final=!0),i.push({node:f,editsRemaining:s.editsRemaining-1,str:d+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),l=0;l1?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 se=="object"?oe.exports=n():e.lunr=n()}(this,function(){return t})})()});var re=[];function G(t,e){re.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){re.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}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 n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var de=De(ae());async function le(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=de.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function he(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{le(e,t)}),le(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");let s=!1;i.addEventListener("mousedown",()=>s=!0),i.addEventListener("mouseup",()=>{s=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{s||(s=!1,t.classList.remove("has-focus"))}),Ae(t,i,r,e)}function Ae(t,e,n,r){n.addEventListener("input",ie(()=>{Ne(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"?ue(e,-1):s.key==="ArrowDown"?ue(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 Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` ${ce(l.parent,i)}.${d}`);let v=document.createElement("li");v.classList.value=l.classes??"";let f=document.createElement("a");f.href=r.base+l.url,f.innerHTML=u+d,v.append(f),e.appendChild(v)}}function ue(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 ce(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(K(t.substring(s,o)),`${K(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(K(t.substring(s))),i.join("")}var Be={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>Be[e])}var C=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",pe="mousemove",B="mouseup",J={x:0,y:0},fe=!1,ee=!1,He=!1,D=!1,me=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(me?"is-mobile":"not-mobile");me&&"ontouchstart"in document.documentElement&&(He=!0,F="touchstart",pe="touchmove",B="touchend");document.addEventListener(F,t=>{ee=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(pe,t=>{if(ee&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(B,()=>{ee=!1});document.addEventListener("click",t=>{fe&&(t.preventDefault(),t.stopImmediatePropagation(),fe=!1)});var X=class extends C{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){D||(this.setActive(!0),n.preventDefault())}onDocumentPointerDown(n){if(this.active){if(n.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(n){if(!D&&this.active&&n.target.closest(".col-sidebar")){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 te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var ve=document.head.appendChild(document.createElement("style"));ve.dataset.for="filters";var Y=class extends C{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()),ve.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),this.app.filterChanged(),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 Z=class extends C{constructor(n){super(n);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 r=Q.getItem(this.key);this.el.open=r?r==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let i=this.summary.querySelector("a");i&&i.addEventListener("click",()=>{location.assign(i.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ge(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}var Le;function be(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",xe),xe())}async function xe(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();Le=t.dataset.base+"/",t.innerHTML="";for(let s of i)we(s,t,[]);window.app.createComponents(t),window.app.ensureActivePageVisible()}function we(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-index-accordion`:"tsd-index-accordion",s.dataset.key=i.join("$");let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.innerHTML='',Ee(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)we(u,l,i)}else Ee(t,r,t.class)}function Ee(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=Le+t.path,n&&(r.className=n),location.href===r.href&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("tsd-theme");Se&&ge(Se);var je=new U;Object.defineProperty(window,"app",{value:je});he();be();})(); /*! Bundled license information: diff --git a/assets/style.css b/assets/style.css index 108428c3..07a385b7 100644 --- a/assets/style.css +++ b/assets/style.css @@ -11,6 +11,7 @@ --light-color-text-aside: #6e6e6e; --light-color-link: #1f70c2; + --light-color-ts-keyword: #056bd6; --light-color-ts-project: #b111c9; --light-color-ts-module: var(--light-color-ts-project); --light-color-ts-namespace: var(--light-color-ts-project); @@ -50,6 +51,7 @@ --dark-color-text-aside: #dddddd; --dark-color-link: #00aff4; + --dark-color-ts-keyword: #3399ff; --dark-color-ts-project: #e358ff; --dark-color-ts-module: var(--dark-color-ts-project); --dark-color-ts-namespace: var(--dark-color-ts-project); @@ -91,6 +93,7 @@ --color-text-aside: var(--light-color-text-aside); --color-link: var(--light-color-link); + --color-ts-keyword: var(--light-color-ts-keyword); --color-ts-module: var(--light-color-ts-module); --color-ts-namespace: var(--light-color-ts-namespace); --color-ts-enum: var(--light-color-ts-enum); @@ -132,6 +135,7 @@ --color-text-aside: var(--dark-color-text-aside); --color-link: var(--dark-color-link); + --color-ts-keyword: var(--dark-color-ts-keyword); --color-ts-module: var(--dark-color-ts-module); --color-ts-namespace: var(--dark-color-ts-namespace); --color-ts-enum: var(--dark-color-ts-enum); @@ -180,6 +184,7 @@ body { --color-text-aside: var(--light-color-text-aside); --color-link: var(--light-color-link); + --color-ts-keyword: var(--light-color-ts-keyword); --color-ts-module: var(--light-color-ts-module); --color-ts-namespace: var(--light-color-ts-namespace); --color-ts-enum: var(--light-color-ts-enum); @@ -219,6 +224,7 @@ body { --color-text-aside: var(--dark-color-text-aside); --color-link: var(--dark-color-link); + --color-ts-keyword: var(--dark-color-ts-keyword); --color-ts-module: var(--dark-color-ts-module); --color-ts-namespace: var(--dark-color-ts-namespace); --color-ts-enum: var(--dark-color-ts-enum); @@ -984,6 +990,11 @@ a.tsd-index-link { overflow-x: auto; } +.tsd-signature-keyword { + color: var(--color-ts-keyword); + font-weight: normal; +} + .tsd-signature-symbol { color: var(--color-text-aside); font-weight: normal; diff --git a/classes/Cluster.html b/classes/Cluster.html index f1f6e74b..29f823fe 100644 --- a/classes/Cluster.html +++ b/classes/Cluster.html @@ -1,193 +1,13 @@ -Cluster | @googlemaps/js-markerclusterer
-
- -
-
-
- -
-

Hierarchy

-
    -
  • Cluster
-
-
-
- -
-
-

Constructors

-
-
-

Properties

-
_position +Cluster | @googlemaps/js-markerclusterer

Constructors

Properties

-
-

Accessors

-

Accessors

-
-

Methods

-

Methods

-
-

Constructors

-
- -
-
-

Properties

-
- -
_position: LatLng
-
- -
marker?: Marker
-
- -
markers?: Marker[]
-
-

Accessors

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

    Returns LatLngBounds

-
- -
    -
  • get count(): number
  • -
  • -

    Get the count of visible markers.

    -
    -

    Returns number

    -
-
- -
    -
  • get position(): LatLng
  • -
  • -

    Returns LatLng

-
-

Methods

-
- -
    - -
  • -

    Cleanup references and remove marker from map.

    -
    -

    Returns void

    -
-
- -
    - -
  • -

    Add a marker to the cluster.

    -
    -
    -

    Parameters

    -
    -

    Returns void

    -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Constructors

Properties

_position: LatLng
marker?: Marker
markers?: Marker[]

Accessors

  • get bounds(): LatLngBounds
  • Returns LatLngBounds

  • get count(): number
  • Get the count of visible markers.

    +

    Returns number

Methods

  • Cleanup references and remove marker from map.

    +

    Returns void

  • Add a marker to the cluster.

    +

    Parameters

    Returns void

Generated using TypeDoc

\ No newline at end of file diff --git a/classes/ClusterStats.html b/classes/ClusterStats.html index 85c2a046..26618e04 100644 --- a/classes/ClusterStats.html +++ b/classes/ClusterStats.html @@ -1,139 +1,5 @@ -ClusterStats | @googlemaps/js-markerclusterer
-
- -
-
-
- -
-

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

-
-
-
-

Hierarchy

-
    -
  • ClusterStats
-
-
-
- -
-
-

Constructors

-
-
-

Properties

-
clusters +ClusterStats | @googlemaps/js-markerclusterer

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

+

Constructors

Properties

-
-

Constructors

-
- -
-
-

Properties

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

Type declaration

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

Type declaration

-
    -
  • -
    sum: number
-
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Constructors

Properties

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

Type declaration

  • count: number
  • markers: {
        max: number;
        mean: number;
        min: number;
        sum: number;
    }
    • max: number
    • mean: number
    • min: number
    • sum: number
markers: {
    sum: number;
}

Type declaration

  • sum: number

Generated using TypeDoc

\ No newline at end of file diff --git a/classes/DefaultRenderer.html b/classes/DefaultRenderer.html index e4ff0b33..3afc6fe8 100644 --- a/classes/DefaultRenderer.html +++ b/classes/DefaultRenderer.html @@ -1,121 +1,7 @@ -DefaultRenderer | @googlemaps/js-markerclusterer
-
- -
-
-
- -
-

Hierarchy

-
    -
  • DefaultRenderer
-
-

Implements

-
-
-
-
- -
-
-

Constructors

-
-
-

Methods

-
-
-

Constructors

-
- -
-
-

Methods

-
- -

Generated using TypeDoc

\ No newline at end of file diff --git a/classes/GridAlgorithm.html b/classes/GridAlgorithm.html index f03d72d3..4713040c 100644 --- a/classes/GridAlgorithm.html +++ b/classes/GridAlgorithm.html @@ -1,240 +1,20 @@ -GridAlgorithm | @googlemaps/js-markerclusterer
-
- -
-
-
- -
-

The default Grid algorithm historically used in Google Maps marker +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.

-
-
-
-

Hierarchy

-
    -
  • AbstractViewportAlgorithm -
      -
    • GridAlgorithm
-
-
-
- -
-
-

Constructors

-
-
-

Properties

-

Hierarchy

  • AbstractViewportAlgorithm
    • GridAlgorithm
-
-

Constructors

-
- -
-
-

Properties

-
- -
clusters: Cluster[] = []
-
- -
gridSize: number
-
- -
maxDistance: number
-
- -
maxZoom: number
-
- -
state: {
    zoom: number;
} = ...
-
-

Type declaration

-
    -
  • -
    zoom: number
-
- -
viewportPadding: number = 60
-
-

Methods

-
- -
    - -
  • -
    -

    Parameters

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

    Returns void

-
- -
-
- -
-
- -
    - -
  • -

    Helper function to bypass clustering based upon some map state such as +

Constructors

Properties

clusters: Cluster[] = []
gridSize: number
maxDistance: number
maxZoom: number
state: {
    zoom: number;
} = ...

Type declaration

  • zoom: number
viewportPadding: number = 60

Methods

  • Parameters

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

    Returns void

  • 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})
    }
    }
    -
    -
    -

    Type Parameters

    -
    -
    -

    Parameters

    -
      -
    • -
      __namedParameters: T
    -

    Returns Cluster[]

    -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Type Parameters

Parameters

  • __namedParameters: T

Returns Cluster[]

Generated using TypeDoc

\ No newline at end of file diff --git a/classes/MarkerClusterer.html b/classes/MarkerClusterer.html index 859a4cdb..f561b706 100644 --- a/classes/MarkerClusterer.html +++ b/classes/MarkerClusterer.html @@ -1,55 +1,14 @@ -MarkerClusterer | @googlemaps/js-markerclusterer
-
- -
-
-
- -
-

MarkerClusterer creates and manages per-zoom-level clusters for large amounts +MarkerClusterer | @googlemaps/js-markerclusterer

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

-
-
-
-

Hierarchy

-
    -
  • OverlayViewSafe -
      -
    • MarkerClusterer
-
-
-
- -
-
-

Constructors

-
-
-

Properties

-

Hierarchy

  • OverlayViewSafe
    • MarkerClusterer
-
-

Constructors

-
- -
-
-

Properties

-
- -
algorithm: Algorithm
-
-
- -
clusters: Cluster[]
-
- -
idleListener: MapsEventListener
-
- -
map: Map
-
-
- -
markers: Marker[]
-
- -
onClusterClick: onClusterClickHandler
-
-
- -
renderer: Renderer
-
-
-

Methods

-
- -
    - -
  • -
    -

    Parameters

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

    Returns void

-
- -
    - -
  • -
    -

    Parameters

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

    Returns void

-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      Optional noDraw: boolean
    -

    Returns void

-
- -
-
- -
-
- -
    - -
  • -
    -

    Parameters

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

    Returns boolean

-
- -
    - -
  • -
    -

    Parameters

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

    Returns boolean

-
- -
    - -
  • -

    Recalculates and draws all the marker clusters.

    -
    -

    Returns void

    -
-
- -
-
- -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Constructors

Properties

algorithm: Algorithm
clusters: Cluster[]
idleListener: MapsEventListener
map: Map
markers: Marker[]
onClusterClick: onClusterClickHandler
renderer: Renderer

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/classes/MarkerUtils.html b/classes/MarkerUtils.html index 7e56c725..0c11e0a8 100644 --- a/classes/MarkerUtils.html +++ b/classes/MarkerUtils.html @@ -1,173 +1,9 @@ -MarkerUtils | @googlemaps/js-markerclusterer
-
- -
-
-
- -
-

util class that creates a common set of convenience functions to wrap +MarkerUtils | @googlemaps/js-markerclusterer

util class that creates a common set of convenience functions to wrap shared behavior of Advanced Markers and Markers.

-
-
-
-

Hierarchy

-
    -
  • MarkerUtils
-
-
-
- -
-
-

Constructors

-
-
-

Methods

-
-
-

Constructors

-
- -
-
-

Methods

-
- -
-
- -
-
- -
    - -
  • -
    -

    Parameters

    -
    -

    Returns marker is AdvancedMarkerElement

-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      map: Map
    -

    Returns boolean

-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      marker: Marker
    • -
    • -
      map: Map
    -

    Returns void

-
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Constructors

Methods

  • Parameters

    Returns marker is AdvancedMarkerElement

  • Parameters

    • map: Map

    Returns boolean

Generated using TypeDoc

\ No newline at end of file diff --git a/classes/NoopAlgorithm.html b/classes/NoopAlgorithm.html index f73093af..f8170499 100644 --- a/classes/NoopAlgorithm.html +++ b/classes/NoopAlgorithm.html @@ -1,177 +1,11 @@ -NoopAlgorithm | @googlemaps/js-markerclusterer
-
- -
-
-
- -
-

Noop algorithm does not generate any clusters or filter markers by the an extended viewport.

-
-
-
-

Hierarchy

-
    -
  • AbstractAlgorithm -
      -
    • NoopAlgorithm
-
-
-
- -
-
-

Constructors

-
-
-

Properties

-
-
-

Methods

-
calculate +NoopAlgorithm | @googlemaps/js-markerclusterer

Noop algorithm does not generate any clusters or filter markers by the an extended viewport.

+

Hierarchy

  • AbstractAlgorithm
    • NoopAlgorithm

Constructors

Properties

Methods

-
-

Constructors

-
- -
-
-

Properties

-
- -
maxZoom: number
-
-

Methods

-
- -
-
- -
-
- -
    - -
  • -

    Helper function to bypass clustering based upon some map state such as +

Constructors

Properties

maxZoom: number

Methods

  • 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})
    }
    }
    -
    -
    -

    Type Parameters

    -
    -
    -

    Parameters

    -
      -
    • -
      __namedParameters: T
    -

    Returns Cluster[]

    -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Type Parameters

Parameters

  • __namedParameters: T

Returns Cluster[]

Generated using TypeDoc

\ No newline at end of file diff --git a/classes/SuperClusterAlgorithm.html b/classes/SuperClusterAlgorithm.html index ca0de391..9646f39f 100644 --- a/classes/SuperClusterAlgorithm.html +++ b/classes/SuperClusterAlgorithm.html @@ -1,227 +1,17 @@ -SuperClusterAlgorithm | @googlemaps/js-markerclusterer
-
- -
-
-
-
- -

Class SuperClusterAlgorithm

-
-

A very fast JavaScript algorithm for geospatial point clustering using KD trees.

-
-
-

See

https://www.npmjs.com/package/supercluster for more information on options.

-
-
-

Hierarchy

-
    -
  • AbstractAlgorithm -
      -
    • SuperClusterAlgorithm
-
-
-
- -
-
-

Constructors

-
-
-

Properties

-
clusters +SuperClusterAlgorithm | @googlemaps/js-markerclusterer

A very fast JavaScript algorithm for geospatial point clustering using KD trees.

+

See

https://www.npmjs.com/package/supercluster for more information on options.

+

Hierarchy

  • AbstractAlgorithm
    • SuperClusterAlgorithm
-
-

Constructors

-
- -
-
-

Properties

-
- -
clusters: Cluster[]
-
- -
markers: Marker[]
-
- -
maxZoom: number
-
- -
state: {
    zoom: number;
} = ...
-
-

Type declaration

-
    -
  • -
    zoom: number
-
- -
superCluster: Supercluster<AnyProps, AnyProps>
-
-

Methods

-
- -
-
- -
-
- -
    - -
  • -

    Helper function to bypass clustering based upon some map state such as +

Constructors

Properties

clusters: Cluster[]
markers: Marker[]
maxZoom: number
state: {
    zoom: number;
} = ...

Type declaration

  • zoom: number
superCluster: Supercluster<AnyProps, AnyProps>

Methods

  • 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})
    }
    }
    -
    -
    -

    Type Parameters

    -
    -
    -

    Parameters

    -
      -
    • -
      __namedParameters: T
    -

    Returns Cluster[]

    -
-
- -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Type Parameters

Parameters

  • __namedParameters: T

Returns Cluster[]

Generated using TypeDoc

\ No newline at end of file diff --git a/classes/SuperClusterViewportAlgorithm.html b/classes/SuperClusterViewportAlgorithm.html index e11f5314..37881519 100644 --- a/classes/SuperClusterViewportAlgorithm.html +++ b/classes/SuperClusterViewportAlgorithm.html @@ -1,230 +1,18 @@ -SuperClusterViewportAlgorithm | @googlemaps/js-markerclusterer
-
- -
-
-
-
- -

Class SuperClusterViewportAlgorithm

-
-

A very fast JavaScript algorithm for geospatial point clustering using KD trees.

-
-
-

See

https://www.npmjs.com/package/supercluster for more information on options.

-
-
-

Hierarchy

-
    -
  • AbstractViewportAlgorithm -
      -
    • SuperClusterViewportAlgorithm
-
-
-
- -
-
-

Constructors

-
-
-

Properties

-
clusters +SuperClusterViewportAlgorithm | @googlemaps/js-markerclusterer

A very fast JavaScript algorithm for geospatial point clustering using KD trees.

+

See

https://www.npmjs.com/package/supercluster for more information on options.

+

Hierarchy

  • AbstractViewportAlgorithm
    • SuperClusterViewportAlgorithm
-
-

Constructors

-
- -
-
-

Properties

-
- -
clusters: Cluster[]
-
- -
markers: Marker[]
-
- -
maxZoom: number
-
- -
-
- -
superCluster: Supercluster<AnyProps, AnyProps>
-
- -
viewportPadding: number = 60
-
-

Methods

-
- -
-
- -
-
- -
    - -
  • -

    Helper function to bypass clustering based upon some map state such as +

Constructors

Properties

clusters: Cluster[]
markers: Marker[]
maxZoom: number
superCluster: Supercluster<AnyProps, AnyProps>
viewportPadding: number = 60

Methods

  • 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})
    }
    }
    -
    -
    -

    Type Parameters

    -
    -
    -

    Parameters

    -
      -
    • -
      __namedParameters: T
    -

    Returns Cluster[]

    -
-
- -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Type Parameters

Parameters

  • __namedParameters: T

Returns Cluster[]

Generated using TypeDoc

\ No newline at end of file diff --git a/enums/MarkerClustererEvents.html b/enums/MarkerClustererEvents.html index ba9ee247..740b513b 100644 --- a/enums/MarkerClustererEvents.html +++ b/enums/MarkerClustererEvents.html @@ -1,95 +1,4 @@ -MarkerClustererEvents | @googlemaps/js-markerclusterer
-
- -
-
-
-
- -

Enumeration MarkerClustererEvents

-
-
-
- -
-
-

Enumeration Members

-
CLUSTERING_BEGIN +MarkerClustererEvents | @googlemaps/js-markerclusterer
-
-

Enumeration Members

-
- -
CLUSTERING_BEGIN: "clusteringbegin"
-
- -
CLUSTERING_END: "clusteringend"
-
- -
CLUSTER_CLICK: "click"
-
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Enumeration Members

CLUSTERING_BEGIN: "clusteringbegin"
CLUSTERING_END: "clusteringend"
CLUSTER_CLICK: "click"

Generated using TypeDoc

\ No newline at end of file diff --git a/functions/defaultOnClusterClickHandler.html b/functions/defaultOnClusterClickHandler.html index a4ee8ee8..b16b9d07 100644 --- a/functions/defaultOnClusterClickHandler.html +++ b/functions/defaultOnClusterClickHandler.html @@ -1,74 +1 @@ -defaultOnClusterClickHandler | @googlemaps/js-markerclusterer
-
- -
-
-
-
- -

Function defaultOnClusterClickHandler

-
-
    - -
  • -
    -

    Parameters

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

    Returns void

-
-
-

Generated using TypeDoc

-
\ No newline at end of file +defaultOnClusterClickHandler | @googlemaps/js-markerclusterer

Generated using TypeDoc

\ No newline at end of file diff --git a/functions/extendBoundsToPaddedViewport.html b/functions/extendBoundsToPaddedViewport.html index 476079b0..6d7ad001 100644 --- a/functions/extendBoundsToPaddedViewport.html +++ b/functions/extendBoundsToPaddedViewport.html @@ -1,77 +1,2 @@ -extendBoundsToPaddedViewport | @googlemaps/js-markerclusterer
-
- -
-
-
-
- -

Function extendBoundsToPaddedViewport

-
-
    - -
  • -

    Extends a bounds by a number of pixels in each direction

    -
    -
    -

    Parameters

    -
      -
    • -
      bounds: LatLngBounds
    • -
    • -
      projection: MapCanvasProjection
    • -
    • -
      numPixels: number
    -

    Returns LatLngBounds

    -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file +extendBoundsToPaddedViewport | @googlemaps/js-markerclusterer
  • Extends a bounds by a number of pixels in each direction

    +

    Parameters

    • bounds: LatLngBounds
    • projection: MapCanvasProjection
    • numPixels: number

    Returns LatLngBounds

Generated using TypeDoc

\ No newline at end of file diff --git a/functions/filterMarkersToPaddedViewport.html b/functions/filterMarkersToPaddedViewport.html index 1fef1bff..628c7ca9 100644 --- a/functions/filterMarkersToPaddedViewport.html +++ b/functions/filterMarkersToPaddedViewport.html @@ -1,88 +1,5 @@ -filterMarkersToPaddedViewport | @googlemaps/js-markerclusterer
-
- -
-
-
-
- -

Function filterMarkersToPaddedViewport

-
-
    - -
  • -

    Returns the markers visible in a padded map viewport

    -
    -
    -

    Parameters

    -
      -
    • -
      map: Map
      -
    • -
    • -
      mapCanvasProjection: MapCanvasProjection
      -
    • -
    • -
      markers: Marker[]
      -

      The list of marker to filter

      -
      -
    • -
    • -
      viewportPaddingPixels: number
      -

      The padding in pixel

      -
      -
    -

    Returns Marker[]

    The list of markers in the padded viewport

    - -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file +filterMarkersToPaddedViewport | @googlemaps/js-markerclusterer
  • Returns the markers visible in a padded map viewport

    +

    Parameters

    • map: Map
    • mapCanvasProjection: MapCanvasProjection
    • markers: Marker[]

      The list of marker to filter

      +
    • viewportPaddingPixels: number

      The padding in pixel

      +

    Returns Marker[]

    The list of markers in the padded viewport

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/functions/getPaddedViewport.html b/functions/getPaddedViewport.html index 5415d633..db1ed773 100644 --- a/functions/getPaddedViewport.html +++ b/functions/getPaddedViewport.html @@ -1,77 +1,2 @@ -getPaddedViewport | @googlemaps/js-markerclusterer
-
- -
-
-
-
- -

Function getPaddedViewport

-
-
    - -
  • -

    Gets the extended bounds as a bbox [westLng, southLat, eastLng, northLat]

    -
    -
    -

    Parameters

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

    Returns [number, number, number, number]

    -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file +getPaddedViewport | @googlemaps/js-markerclusterer
  • Gets the extended bounds as a bbox [westLng, southLat, eastLng, northLat]

    +

    Parameters

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

    Returns [number, number, number, number]

Generated using TypeDoc

\ No newline at end of file diff --git a/index.html b/index.html index 1c0b4f58..abe4d6cf 100644 --- a/index.html +++ b/index.html @@ -1,18 +1,4 @@ -@googlemaps/js-markerclusterer
-
- -
-
-
-
-

@googlemaps/js-markerclusterer

-

Google Maps JavaScript MarkerClusterer

npm +@googlemaps/js-markerclusterer

@googlemaps/js-markerclusterer

Google Maps JavaScript MarkerClusterer

npm Build Release codecov @@ -22,7 +8,7 @@

@googlemaps/js-markerclusterer

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.

+

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.

npm i @googlemaps/markerclusterer
 
@@ -68,63 +54,4 @@

@googlemaps/js-markerclusterer

  • The MarkerClusterer class is still an instance of google.maps.OverlayView, but uses google.maps.Markers instead of google.maps.Overlay to render the clusters. This solves issues related to the usage of map panes and click handlers.
  • @googlemaps/markerclusterer supports Marker and Map a11y improvements.
  • -
    -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/Algorithm.html b/interfaces/Algorithm.html index c7cebd13..6231bd82 100644 --- a/interfaces/Algorithm.html +++ b/interfaces/Algorithm.html @@ -1,101 +1,3 @@ -Algorithm | @googlemaps/js-markerclusterer
    -
    - -
    -
    -
    -
    - -

    Interface Algorithm

    -
    -

    Hierarchy

    -
      -
    • Algorithm
    -
    -
    -
    - -
    -
    -

    Properties

    -
    -
    -

    Properties

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

    Type declaration

    -
    -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +Algorithm | @googlemaps/js-markerclusterer
    interface Algorithm {
        calculate: ((__namedParameters) => AlgorithmOutput);
    }

    Properties

    Properties

    calculate: ((__namedParameters) => AlgorithmOutput)

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/AlgorithmInput.html b/interfaces/AlgorithmInput.html index c39bbd57..5be41995 100644 --- a/interfaces/AlgorithmInput.html +++ b/interfaces/AlgorithmInput.html @@ -1,114 +1,12 @@ -AlgorithmInput | @googlemaps/js-markerclusterer
    -
    - -
    -
    -
    -
    - -

    Interface AlgorithmInput

    -
    -

    Hierarchy

    -
      -
    • AlgorithmInput
    -
    -
    -
    - -
    -
    -

    Properties

    -
    map +AlgorithmInput | @googlemaps/js-markerclusterer
    interface AlgorithmInput {
        map: Map;
        mapCanvasProjection: MapCanvasProjection;
        markers: Marker[];
    }
    -
    -

    Properties

    -
    - -
    map: Map
    -

    The map containing the markers and clusters.

    -
    -
    -
    - -
    mapCanvasProjection: MapCanvasProjection
    -

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

    -
    -
    -
    - -
    markers: Marker[]
    -

    An array of markers to be clustered.

    +

    Properties

    map: Map

    The map containing the markers and clusters.

    +
    mapCanvasProjection: MapCanvasProjection

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

    +
    markers: Marker[]

    An array of markers to be clustered.

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

    • Markers that are not visible.
    -
    -
    -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/AlgorithmOptions.html b/interfaces/AlgorithmOptions.html index caae0bf9..51fba571 100644 --- a/interfaces/AlgorithmOptions.html +++ b/interfaces/AlgorithmOptions.html @@ -1,85 +1,2 @@ -AlgorithmOptions | @googlemaps/js-markerclusterer
    -
    - -
    -
    -
    -
    - -

    Interface AlgorithmOptions

    -
    -

    Hierarchy

    -
      -
    • AlgorithmOptions
    -
    -
    -
    - -
    -
    -

    Properties

    -
    -
    -

    Properties

    -
    - -
    maxZoom?: number
    -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +AlgorithmOptions | @googlemaps/js-markerclusterer

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/AlgorithmOutput.html b/interfaces/AlgorithmOutput.html index 32077261..b7a6a564 100644 --- a/interfaces/AlgorithmOutput.html +++ b/interfaces/AlgorithmOutput.html @@ -1,98 +1,5 @@ -AlgorithmOutput | @googlemaps/js-markerclusterer
    -
    - -
    -
    -
    -
    - -

    Interface AlgorithmOutput

    -
    -

    Hierarchy

    -
      -
    • AlgorithmOutput
    -
    -
    -
    - -
    -
    -

    Properties

    -
    changed? +AlgorithmOutput | @googlemaps/js-markerclusterer
    interface AlgorithmOutput {
        changed?: boolean;
        clusters: Cluster[];
    }

    Properties

    -
    -

    Properties

    -
    - -
    changed?: boolean
    -

    A boolean flag indicating that the clusters have not changed.

    -
    -
    -
    - -
    clusters: Cluster[]
    -

    The clusters returned based upon the AlgorithmInput.

    -
    -
    -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Properties

    changed?: boolean

    A boolean flag indicating that the clusters have not changed.

    +
    clusters: Cluster[]

    The clusters returned based upon the AlgorithmInput.

    +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/ClusterOptions.html b/interfaces/ClusterOptions.html index a23d66fd..dbca5bf2 100644 --- a/interfaces/ClusterOptions.html +++ b/interfaces/ClusterOptions.html @@ -1,92 +1,3 @@ -ClusterOptions | @googlemaps/js-markerclusterer
    -
    - -
    -
    -
    -
    - -

    Interface ClusterOptions

    -
    -

    Hierarchy

    -
      -
    • ClusterOptions
    -
    -
    -
    - -
    -
    -

    Properties

    -
    markers? +ClusterOptions | @googlemaps/js-markerclusterer
    interface ClusterOptions {
        markers?: Marker[];
        position?: LatLng | LatLngLiteral;
    }

    Properties

    -
    -

    Properties

    -
    - -
    markers?: Marker[]
    -
    - -
    position?: LatLng | LatLngLiteral
    -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Properties

    markers?: Marker[]
    position?: LatLng | LatLngLiteral

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/GridOptions.html b/interfaces/GridOptions.html index a4593cac..471b1e6a 100644 --- a/interfaces/GridOptions.html +++ b/interfaces/GridOptions.html @@ -1,120 +1,10 @@ -GridOptions | @googlemaps/js-markerclusterer
    -
    - -
    -
    -
    -
    - -

    Interface GridOptions

    -
    -

    Hierarchy

    -
      -
    • ViewportAlgorithmOptions -
        -
      • GridOptions
    -
    -
    -
    - -
    -
    -

    Properties

    -
    gridSize? +GridOptions | @googlemaps/js-markerclusterer
    interface GridOptions {
        gridSize?: number;
        maxDistance?: number;
        maxZoom?: number;
        viewportPadding?: number;
    }

    Hierarchy

    • ViewportAlgorithmOptions
      • GridOptions
    -
    -

    Properties

    -
    - -
    gridSize?: number
    -
    - -
    maxDistance?: number
    -

    Max distance between cluster center and point in meters.

    -
    -
    -

    Default

    10000
    +

    Properties

    gridSize?: number
    maxDistance?: number

    Max distance between cluster center and point in meters.

    +

    Default

    10000
     
    -
    -
    - -
    maxZoom?: number
    -
    - -
    viewportPadding?: number
    -

    The number of pixels to extend beyond the viewport bounds when filtering +

    maxZoom?: number
    viewportPadding?: number

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

    -
    -
    -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/MarkerClustererOptions.html b/interfaces/MarkerClustererOptions.html index 257a55cc..03be54a9 100644 --- a/interfaces/MarkerClustererOptions.html +++ b/interfaces/MarkerClustererOptions.html @@ -1,129 +1,12 @@ -MarkerClustererOptions | @googlemaps/js-markerclusterer
    -
    - -
    -
    -
    -
    - -

    Interface MarkerClustererOptions

    -
    -

    Hierarchy

    -
      -
    • MarkerClustererOptions
    -
    -
    -
    - -
    -
    -

    Properties

    -
    algorithm? +MarkerClustererOptions | @googlemaps/js-markerclusterer
    interface MarkerClustererOptions {
        algorithm?: Algorithm;
        algorithmOptions?: AlgorithmOptions;
        map?: Map;
        markers?: Marker[];
        onClusterClick?: onClusterClickHandler;
        renderer?: Renderer;
    }
    -
    -

    Properties

    -
    - -
    algorithm?: Algorithm
    -

    An algorithm to cluster markers. Default is SuperClusterAlgorithm. Must +

    Properties

    algorithm?: Algorithm

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

    -
    -
    -
    - -
    algorithmOptions?: AlgorithmOptions
    -
    - -
    map?: Map
    -
    - -
    markers?: Marker[]
    -
    - -
    onClusterClick?: onClusterClickHandler
    -
    - -
    renderer?: Renderer
    -

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

    algorithmOptions?: AlgorithmOptions
    map?: Map
    markers?: Marker[]
    onClusterClick?: onClusterClickHandler
    renderer?: Renderer

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

    -
    -
    -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/Renderer.html b/interfaces/Renderer.html index 236bd8cb..5ff51e9b 100644 --- a/interfaces/Renderer.html +++ b/interfaces/Renderer.html @@ -1,107 +1,6 @@ -Renderer | @googlemaps/js-markerclusterer
    -
    - -
    -
    -
    -
    - -

    Interface Renderer

    -
    -

    Hierarchy

    -
      -
    • Renderer
    -
    -

    Implemented by

    -
    -
    -
    -
    - -
    -
    -

    Methods

    -
    -
    -

    Methods

    -
    - -

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/SuperClusterViewportOptions.html b/interfaces/SuperClusterViewportOptions.html index 88d90d7b..ead925a9 100644 --- a/interfaces/SuperClusterViewportOptions.html +++ b/interfaces/SuperClusterViewportOptions.html @@ -1,93 +1,4 @@ -SuperClusterViewportOptions | @googlemaps/js-markerclusterer
    -
    - -
    -
    -
    -
    - -

    Interface SuperClusterViewportOptions

    -
    -

    Hierarchy

    -
    -
    -
    -
    - -
    -
    -

    Properties

    -
    -
    -

    Properties

    -
    - -
    viewportPadding?: number
    -

    The number of pixels to extend beyond the viewport bounds when filtering +SuperClusterViewportOptions | @googlemaps/js-markerclusterer

    interface SuperClusterViewportOptions {
        viewportPadding?: number;
    }

    Hierarchy

    Properties

    Properties

    viewportPadding?: number

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

    -
    -
    -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/SuperClusterViewportState.html b/interfaces/SuperClusterViewportState.html index 18a13b48..e2f34a69 100644 --- a/interfaces/SuperClusterViewportState.html +++ b/interfaces/SuperClusterViewportState.html @@ -1,92 +1,3 @@ -SuperClusterViewportState | @googlemaps/js-markerclusterer
    -
    - -
    -
    -
    -
    - -

    Interface SuperClusterViewportState

    -
    -

    Hierarchy

    -
      -
    • SuperClusterViewportState
    -
    -
    -
    - -
    -
    -

    Properties

    -
    view +SuperClusterViewportState | @googlemaps/js-markerclusterer
    interface SuperClusterViewportState {
        view: [number, number, number, number];
        zoom: number;
    }

    Properties

    -
    -

    Properties

    -
    - -
    view: [number, number, number, number]
    -
    - -
    zoom: number
    -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Properties

    view: [number, number, number, number]
    zoom: number

    Generated using TypeDoc

    \ No newline at end of file diff --git a/modules.html b/modules.html index aff7638c..1c59b577 100644 --- a/modules.html +++ b/modules.html @@ -1,27 +1,5 @@ -@googlemaps/js-markerclusterer
    -
    - -
    -
    -
    -
    -

    @googlemaps/js-markerclusterer

    -
    -
    -

    Index

    -
    -

    Enumerations

    -
    -
    -

    Classes

    -
    Cluster +@googlemaps/js-markerclusterer
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/types/Marker.html b/types/Marker.html index 9086b369..d52657e8 100644 --- a/types/Marker.html +++ b/types/Marker.html @@ -1,64 +1,2 @@ -Marker | @googlemaps/js-markerclusterer
    -
    - -
    -
    -
    -
    - -

    Type alias Marker

    -
    Marker: google.maps.Marker | google.maps.marker.AdvancedMarkerElement
    -

    Supports markers of either either "legacy" or "advanced" types.

    -
    -
    -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +Marker | @googlemaps/js-markerclusterer

    Generated using TypeDoc

    \ No newline at end of file diff --git a/types/SuperClusterOptions.html b/types/SuperClusterOptions.html index 32156df1..dea33b2b 100644 --- a/types/SuperClusterOptions.html +++ b/types/SuperClusterOptions.html @@ -1,71 +1 @@ -SuperClusterOptions | @googlemaps/js-markerclusterer
    -
    - -
    -
    -
    -
    - -

    Type alias SuperClusterOptions

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

    Type declaration

    -
      -
    • -
      [name: string]: any
    -
    -

    Type declaration

    -
      -
    • -
      [name: string]: any
    -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +SuperClusterOptions | @googlemaps/js-markerclusterer
    SuperClusterOptions: SuperCluster.Options<{
        [name: string]: any;
    }, {
        [name: string]: any;
    }>

    Type declaration

    • [name: string]: any

    Type declaration

    • [name: string]: any

    Generated using TypeDoc

    \ No newline at end of file diff --git a/types/onClusterClickHandler.html b/types/onClusterClickHandler.html index 658e98e2..5cfd6834 100644 --- a/types/onClusterClickHandler.html +++ b/types/onClusterClickHandler.html @@ -1,78 +1 @@ -onClusterClickHandler | @googlemaps/js-markerclusterer
    -
    - -
    -
    -
    -
    - -

    Type alias onClusterClickHandler

    -
    onClusterClickHandler: ((event, cluster, map) => void)
    -
    -

    Type declaration

    -
      -
    • -
        -
      • (event, cluster, map): void
      • -
      • -
        -

        Parameters

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

        Returns void

    -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +onClusterClickHandler | @googlemaps/js-markerclusterer
    onClusterClickHandler: ((event, cluster, map) => void)

    Type declaration

      • (event, cluster, map): void
      • Parameters

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

        Returns void

    Generated using TypeDoc

    \ No newline at end of file