diff --git a/assets/main.js b/assets/main.js index d0aa8d5f..7270cff8 100644 --- a/assets/main.js +++ b/assets/main.js @@ -1,8 +1,8 @@ "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;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();})(); + ${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(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(B,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(B,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&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(e){super(e),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; } +`,this.handleValueChange()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,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(e=>{e.style.display="block";let n=Array.from(e.querySelectorAll(".tsd-index-link")).every(r=>r.offsetParent==null);e.style.display=n?"none":"block"})}};var Z=class extends C{constructor(e){super(e),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());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.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: lunr/lunr.js: diff --git a/assets/style.css b/assets/style.css index 07a385b7..98a43779 100644 --- a/assets/style.css +++ b/assets/style.css @@ -29,7 +29,7 @@ --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-type-parameter: #a55c0e; --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); @@ -69,7 +69,7 @@ --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-type-parameter: #e07d13; --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); @@ -266,12 +266,12 @@ h6 { line-height: 1.2; } -h1 > a, -h2 > a, -h3 > a, -h4 > a, -h5 > a, -h6 > a { +h1 > a:not(.link), +h2 > a:not(.link), +h3 > a:not(.link), +h4 > a:not(.link), +h5 > a:not(.link), +h6 > a:not(.link) { text-decoration: none; color: var(--color-text); } @@ -649,6 +649,28 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { font-weight: bold; } +.tsd-full-hierarchy:not(:last-child) { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid var(--color-accent); +} +.tsd-full-hierarchy, +.tsd-full-hierarchy ul { + list-style: none; + margin: 0; + padding: 0; +} +.tsd-full-hierarchy ul { + padding-left: 1.5rem; +} +.tsd-full-hierarchy a { + padding: 0.25rem 0 !important; + font-size: 1rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} + .tsd-panel-group.tsd-index-group { margin-bottom: 0; } @@ -714,12 +736,15 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { } .tsd-navigation > a, .tsd-navigation .tsd-accordion-summary { - width: calc(100% - 0.5rem); + width: calc(100% - 0.25rem); + display: flex; + align-items: center; } .tsd-navigation a, .tsd-navigation summary > span, .tsd-page-navigation a { - display: inline-flex; + display: flex; + width: calc(100% - 0.25rem); align-items: center; padding: 0.25rem; color: var(--color-text); @@ -759,11 +784,6 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { margin-left: -1.5rem; } -.tsd-nested-navigation > li > a, -.tsd-nested-navigation > li > span { - width: calc(100% - 1.75rem - 0.5rem); -} - .tsd-page-navigation ul { padding-left: 1.75rem; } diff --git a/classes/Cluster.html b/classes/Cluster.html index 88fe4353..514eea45 100644 --- a/classes/Cluster.html +++ b/classes/Cluster.html @@ -1,4 +1,4 @@ -Cluster | @googlemaps/js-markerclusterer

Constructors

constructor +Cluster | @googlemaps/js-markerclusterer

Constructors

Properties

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

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 6a3975cb..6476dc31 100644 --- a/classes/ClusterStats.html +++ b/classes/ClusterStats.html @@ -1,5 +1,5 @@ ClusterStats | @googlemaps/js-markerclusterer

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

-

Constructors

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 6f58bfd2..d6f60d53 100644 --- a/classes/DefaultRenderer.html +++ b/classes/DefaultRenderer.html @@ -1,7 +1,7 @@ -DefaultRenderer | @googlemaps/js-markerclusterer

Implements

Constructors

constructor +DefaultRenderer | @googlemaps/js-markerclusterer

Implements

Constructors

Methods

Constructors

Methods

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

    Parameters

    Returns Marker

Generated using TypeDoc

\ No newline at end of file +

Parameters

Returns Marker

Generated using TypeDoc

\ No newline at end of file diff --git a/classes/GridAlgorithm.html b/classes/GridAlgorithm.html index 1b91e2d6..395d9b17 100644 --- a/classes/GridAlgorithm.html +++ b/classes/GridAlgorithm.html @@ -2,7 +2,7 @@ clustering.

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

-

Hierarchy

  • AbstractViewportAlgorithm
    • GridAlgorithm

Constructors

Hierarchy

  • AbstractViewportAlgorithm
    • GridAlgorithm

Constructors

Properties

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 bf4e2bf2..17665e17 100644 --- a/classes/MarkerClusterer.html +++ b/classes/MarkerClusterer.html @@ -1,6 +1,6 @@ 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

Hierarchy

  • OverlayViewSafe
    • MarkerClusterer

Constructors

Properties

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 +

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 7aeb43c0..d41da795 100644 --- a/classes/MarkerUtils.html +++ b/classes/MarkerUtils.html @@ -1,9 +1,9 @@ MarkerUtils | @googlemaps/js-markerclusterer

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

-

Constructors

Constructors

Methods

  • Parameters

    Returns marker is AdvancedMarkerElement

  • Parameters

    • map: Map

    Returns boolean

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 be9eb8b0..8a5a0d95 100644 --- a/classes/NoopAlgorithm.html +++ b/classes/NoopAlgorithm.html @@ -1,11 +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

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 301ee1f3..0a3189ab 100644 --- a/classes/SuperClusterAlgorithm.html +++ b/classes/SuperClusterAlgorithm.html @@ -1,6 +1,6 @@ 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

Hierarchy

  • AbstractAlgorithm
    • SuperClusterAlgorithm

Constructors

Properties

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 dffb9047..a1a17178 100644 --- a/classes/SuperClusterViewportAlgorithm.html +++ b/classes/SuperClusterViewportAlgorithm.html @@ -1,6 +1,6 @@ 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

Hierarchy

  • AbstractViewportAlgorithm
    • SuperClusterViewportAlgorithm

Constructors

Properties

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 dadc4b97..4675fb43 100644 --- a/enums/MarkerClustererEvents.html +++ b/enums/MarkerClustererEvents.html @@ -1,4 +1,4 @@ -MarkerClustererEvents | @googlemaps/js-markerclusterer

Enumeration Members

CLUSTERING_BEGIN +MarkerClustererEvents | @googlemaps/js-markerclusterer

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 31760ca5..d3ffbfa1 100644 --- a/functions/defaultOnClusterClickHandler.html +++ b/functions/defaultOnClusterClickHandler.html @@ -1 +1 @@ -defaultOnClusterClickHandler | @googlemaps/js-markerclusterer

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 4aab32b1..d55a5cdd 100644 --- a/functions/extendBoundsToPaddedViewport.html +++ b/functions/extendBoundsToPaddedViewport.html @@ -1,2 +1,2 @@ -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 +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 37870827..d426db30 100644 --- a/functions/filterMarkersToPaddedViewport.html +++ b/functions/filterMarkersToPaddedViewport.html @@ -1,5 +1,5 @@ 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

      +

      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 +

Generated using TypeDoc

\ No newline at end of file diff --git a/functions/getPaddedViewport.html b/functions/getPaddedViewport.html index 2083961c..b8fc47f9 100644 --- a/functions/getPaddedViewport.html +++ b/functions/getPaddedViewport.html @@ -1,2 +1,2 @@ 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 +

Parameters

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

Returns [number, number, number, number]

Generated using TypeDoc

\ No newline at end of file diff --git a/hierarchy.html b/hierarchy.html new file mode 100644 index 00000000..f400b87b --- /dev/null +++ b/hierarchy.html @@ -0,0 +1 @@ +@googlemaps/js-markerclusterer

Generated using TypeDoc

\ No newline at end of file diff --git a/index.html b/index.html index abe4d6cf..d0004c01 100644 --- a/index.html +++ b/index.html @@ -54,4 +54,4 @@
  • 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 bbf020c0..23d53119 100644 --- a/interfaces/Algorithm.html +++ b/interfaces/Algorithm.html @@ -1,3 +1,4 @@ -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 +Algorithm | @googlemaps/js-markerclusterer
    interface Algorithm {
        calculate: ((__namedParameters) => AlgorithmOutput);
    }

    Properties

    Properties

    calculate: ((__namedParameters) => AlgorithmOutput)

    Calculates an array of Cluster.

    +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/AlgorithmInput.html b/interfaces/AlgorithmInput.html index 7410ff50..ddf404f9 100644 --- a/interfaces/AlgorithmInput.html +++ b/interfaces/AlgorithmInput.html @@ -1,12 +1,12 @@ -AlgorithmInput | @googlemaps/js-markerclusterer
    interface AlgorithmInput {
        map: Map;
        mapCanvasProjection: MapCanvasProjection;
        markers: Marker[];
    }

    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.

    +

    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.

    +
    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 3ad28a70..f4a2fee3 100644 --- a/interfaces/AlgorithmOptions.html +++ b/interfaces/AlgorithmOptions.html @@ -1,2 +1,2 @@ -AlgorithmOptions | @googlemaps/js-markerclusterer

    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 5e431412..8529cf72 100644 --- a/interfaces/AlgorithmOutput.html +++ b/interfaces/AlgorithmOutput.html @@ -1,5 +1,5 @@ -AlgorithmOutput | @googlemaps/js-markerclusterer
    interface AlgorithmOutput {
        changed?: boolean;
        clusters: Cluster[];
    }

    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 +
    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 80c42596..b52bb3bb 100644 --- a/interfaces/ClusterOptions.html +++ b/interfaces/ClusterOptions.html @@ -1,3 +1,3 @@ -ClusterOptions | @googlemaps/js-markerclusterer
    interface ClusterOptions {
        markers?: Marker[];
        position?: LatLng | LatLngLiteral;
    }

    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 2bb7d53d..c3ec19f4 100644 --- a/interfaces/GridOptions.html +++ b/interfaces/GridOptions.html @@ -1,10 +1,10 @@ -GridOptions | @googlemaps/js-markerclusterer
    interface GridOptions {
        gridSize?: number;
        maxDistance?: number;
        maxZoom?: number;
        viewportPadding?: number;
    }

    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.

    +

    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 e2fd6166..1d47a74c 100644 --- a/interfaces/MarkerClustererOptions.html +++ b/interfaces/MarkerClustererOptions.html @@ -1,4 +1,4 @@ -MarkerClustererOptions | @googlemaps/js-markerclusterer
    interface MarkerClustererOptions {
        algorithm?: Algorithm;
        algorithmOptions?: AlgorithmOptions;
        map?: Map;
        markers?: Marker[];
        onClusterClick?: onClusterClickHandler;
        renderer?: Renderer;
    }

    Properties

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

    Properties

    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 d3fac7f4..5888c320 100644 --- a/interfaces/Renderer.html +++ b/interfaces/Renderer.html @@ -1,6 +1,6 @@ -Renderer | @googlemaps/js-markerclusterer
    interface Renderer {
        render(cluster, stats, map): Marker;
    }

    Implemented by

    Methods

    render +Renderer | @googlemaps/js-markerclusterer
    interface Renderer {
        render(cluster, stats, map): Marker;
    }

    Implemented by

    Methods

    Methods

    • Turn a Cluster into a 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),
      });
      -

      Parameters

      Returns Marker

    Generated using TypeDoc

    \ No newline at end of file +

    Parameters

    Returns Marker

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/SuperClusterViewportOptions.html b/interfaces/SuperClusterViewportOptions.html index 6925b5ce..cba7fdbc 100644 --- a/interfaces/SuperClusterViewportOptions.html +++ b/interfaces/SuperClusterViewportOptions.html @@ -1,4 +1,4 @@ -SuperClusterViewportOptions | @googlemaps/js-markerclusterer
    interface SuperClusterViewportOptions {
        viewportPadding?: number;
    }

    Hierarchy

    Properties

    viewportPadding? +SuperClusterViewportOptions | @googlemaps/js-markerclusterer
    interface SuperClusterViewportOptions {
        viewportPadding?: number;
    }

    Hierarchy (view full)

    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 4d3e79e6..734465a5 100644 --- a/interfaces/SuperClusterViewportState.html +++ b/interfaces/SuperClusterViewportState.html @@ -1,3 +1,3 @@ -SuperClusterViewportState | @googlemaps/js-markerclusterer
    interface SuperClusterViewportState {
        view: [number, number, number, number];
        zoom: number;
    }

    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 1c59b577..d5300712 100644 --- a/modules.html +++ b/modules.html @@ -25,4 +25,4 @@ extendBoundsToPaddedViewport filterMarkersToPaddedViewport getPaddedViewport -

    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 7b3549d6..8e366dab 100644 --- a/types/Marker.html +++ b/types/Marker.html @@ -1,2 +1,2 @@ -Marker | @googlemaps/js-markerclusterer

    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 aa8d8bbc..a2e47c14 100644 --- a/types/SuperClusterOptions.html +++ b/types/SuperClusterOptions.html @@ -1 +1 @@ -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 +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 0833b108..5b6c75f3 100644 --- a/types/onClusterClickHandler.html +++ b/types/onClusterClickHandler.html @@ -1 +1 @@ -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 +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