diff --git a/docs/assets/custom.css b/docs/assets/custom.css index f1582c7..7a6e00f 100644 --- a/docs/assets/custom.css +++ b/docs/assets/custom.css @@ -86,7 +86,7 @@ a { :root { - --font-family-code: "Fira Code", Menlo, Consolas, Monaco, Liberation Mono, + --font-family-code: "JetBrains Mono", Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace; --font-family-system: Inter, Roboto, "Helvetica Neue", "Arial Nova", "Nimbus Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, @@ -478,7 +478,7 @@ a { font-weight: 400; cursor: text; padding: 0.4rem 1rem; - width: 100%; + width: 80%; } #tsd-search .results li:nth-child(even), @@ -516,7 +516,7 @@ a { @media (min-width: 770px) { #tsd-search .results { - min-width: 380px; + min-width: 260px; } } diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css index 3447298..95c873e 100644 --- a/docs/assets/highlight.css +++ b/docs/assets/highlight.css @@ -1,78 +1,22 @@ :root { - --light-hl-0: #0000FF; - --dark-hl-0: #0000FF; - --light-hl-1: #000000; - --dark-hl-1: #000000; - --light-hl-2: #0070C1; - --dark-hl-2: #0070C1; - --light-hl-3: #001080; - --dark-hl-3: #001080; - --light-hl-4: #A31515; - --dark-hl-4: #A31515; - --light-hl-5: #098658; - --dark-hl-5: #098658; - --light-hl-6: #795E26; - --dark-hl-6: #795E26; - --light-hl-7: #008000; - --dark-hl-7: #008000; --light-code-background: #FFFFFF; --dark-code-background: #FFFFFF; } @media (prefers-color-scheme: light) { :root { - --hl-0: var(--light-hl-0); - --hl-1: var(--light-hl-1); - --hl-2: var(--light-hl-2); - --hl-3: var(--light-hl-3); - --hl-4: var(--light-hl-4); - --hl-5: var(--light-hl-5); - --hl-6: var(--light-hl-6); - --hl-7: var(--light-hl-7); --code-background: var(--light-code-background); } } @media (prefers-color-scheme: dark) { :root { - --hl-0: var(--dark-hl-0); - --hl-1: var(--dark-hl-1); - --hl-2: var(--dark-hl-2); - --hl-3: var(--dark-hl-3); - --hl-4: var(--dark-hl-4); - --hl-5: var(--dark-hl-5); - --hl-6: var(--dark-hl-6); - --hl-7: var(--dark-hl-7); --code-background: var(--dark-code-background); } } :root[data-theme='light'] { - --hl-0: var(--light-hl-0); - --hl-1: var(--light-hl-1); - --hl-2: var(--light-hl-2); - --hl-3: var(--light-hl-3); - --hl-4: var(--light-hl-4); - --hl-5: var(--light-hl-5); - --hl-6: var(--light-hl-6); - --hl-7: var(--light-hl-7); --code-background: var(--light-code-background); } :root[data-theme='dark'] { - --hl-0: var(--dark-hl-0); - --hl-1: var(--dark-hl-1); - --hl-2: var(--dark-hl-2); - --hl-3: var(--dark-hl-3); - --hl-4: var(--dark-hl-4); - --hl-5: var(--dark-hl-5); - --hl-6: var(--dark-hl-6); - --hl-7: var(--dark-hl-7); --code-background: var(--dark-code-background); } -.hl-0 { color: var(--hl-0); } -.hl-1 { color: var(--hl-1); } -.hl-2 { color: var(--hl-2); } -.hl-3 { color: var(--hl-3); } -.hl-4 { color: var(--hl-4); } -.hl-5 { color: var(--hl-5); } -.hl-6 { color: var(--hl-6); } -.hl-7 { color: var(--hl-7); } pre, code { background: var(--code-background); } diff --git a/docs/assets/icons.js b/docs/assets/icons.js new file mode 100644 index 0000000..b79c9e8 --- /dev/null +++ b/docs/assets/icons.js @@ -0,0 +1,15 @@ +(function(svg) { + svg.innerHTML = ``; + svg.style.display = 'none'; + if (location.protocol === 'file:') { + if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', updateUseElements); + else updateUseElements() + function updateUseElements() { + document.querySelectorAll('use').forEach(el => { + if (el.getAttribute('href').includes('#icon-')) { + el.setAttribute('href', el.getAttribute('href').replace(/.*#/, '#')); + } + }); + } + } +})(document.body.appendChild(document.createElementNS('http://www.w3.org/2000/svg', 'svg'))) \ No newline at end of file diff --git a/docs/assets/icons.svg b/docs/assets/icons.svg new file mode 100644 index 0000000..7dead61 --- /dev/null +++ b/docs/assets/icons.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/assets/main.js b/docs/assets/main.js index 3092fea..7352c36 100644 --- a/docs/assets/main.js +++ b/docs/assets/main.js @@ -1,8 +1,8 @@ "use strict"; -"use strict";(()=>{var Ie=Object.create;var ne=Object.defineProperty;var Pe=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=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Ie(_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 He={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>He[e])}var C=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",pe="mousemove",H="mouseup",J={x:0,y:0},fe=!1,ee=!1,Be=!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&&(Be=!0,F="touchstart",pe="touchmove",H="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(H,()=>{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(H,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(H,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.updateIndexHeadingVisibility()}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(),this.updateIndexHeadingVisibility()}updateIndexHeadingVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}};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();})(); +"use strict";(()=>{var Ce=Object.create;var ne=Object.defineProperty;var Pe=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=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Ce(_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),y=s.str.charAt(1),p;y in s.node.edges?p=s.node.edges[y]:(p=new t.TokenSet,s.node.edges[y]=p),s.str.length==1&&(p.final=!0),i.push({node:p,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.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||this.scrollToHash()}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()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}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&&!e.checkVisibility()){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 y=document.createElement("li");y.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,y.append(p),e.appendChild(y)}}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 He={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>He[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",fe="mousemove",H="mouseup",J={x:0,y:0},pe=!1,ee=!1,Be=!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&&(Be=!0,F="touchstart",fe="touchmove",H="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(fe,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(H,()=>{ee=!1});document.addEventListener("click",t=>{pe&&(t.preventDefault(),t.stopImmediatePropagation(),pe=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(H,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(H,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 ye=document.head.appendChild(document.createElement("style"));ye.dataset.for="filters";var Y=class extends I{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()),ye.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.updateIndexHeadingVisibility()}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(),this.updateIndexHeadingVisibility()}updateIndexHeadingVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}};var Z=class extends I{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,ve(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ve(t.value)})}function ve(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.showPage(),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.pathname===r.pathname&&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/docs/assets/navigation.js b/docs/assets/navigation.js index 1c3ab60..494aaff 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE42Vy07DMBBFfwVlXVFAPER3pRCpQtCKAhvEwk2m7YBjW/YEtUL9dxwgr9Z2us29c26cmXHeviOCNUWDKM5FQiiFiXpRskKeahDR4K3SRzJTUoAgn2EoMGMFweqK0co+WpTMfiUeryjj1vGJIo0Gl+fb922vQkxoBdqDB2ZgLCY5jVAnroiWYS+m5wDlc+wgFY4OlLXdSFsKPlJl6AbNUIQwhRyCfDGeM4I7ZlAsy346eU5nAL0EAdoWjFMXrlaDCBpqmkum05Gdot8+O0g7psOAt5iBMP/DG4LWxsPAk/kHJNQB/TMdBpxKg76uOGxh6E3OP+9SJEjLOt/5Hc4w+iHnhIoj6Fjq83sPdscVRj4C02AoVr6XrA0BEJcsjaW9hWIts+Cx3c7g/fNCyH3XGxbjqCS3cz7VUoGmzavdIue++ryO8Gb880bB0ZCj3XbfW8S4Lnqo2abOJVtm+rXSTjk7ub46vThrxCSSSz1TLIEicJfTVrtYyxxTME+wcKFaYhfJCKaUvY3+tsmF23e4mc1POi46sbCH6fxrFY1qzBFWhf22ZSfz4rKRVk6ZG/MvhgD3sFloloETUIr7ADtGPxXI9EnJBwAA" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE42TyU7DMBRFfwV5XRGo2iK6K0OkCiEQsKu6cOOX5FHHjuwXqRXi33FU0gzNtM0971xP2fwwggOxJfMzFRBqZdmEBTFKYUCx5eacR6DAcIK1cEDKKXbfwmLGK9PrmBLpkD0qwZaL2e+koqCVoZ3mRjyCIjDtpgY0TviECSj7v/4+aQmOE7/tviGgAekJGid81xZzwYCywPqlD5ncPwskEMVc1/5byH71ayYJU4lgfG1mLx3aBtWjlJoLXyuyvtFJ72rbyQv1tiL/OqZwtZLILXQ9YB8P+d4NP5ad5MasVyb1junN/d3tfFqpCbTU5jPlAeSFTU89HXJFGQqwHxC2qWrhkMkqnqaootMrbNNdEu3O6pGu858vdJvpOtDiZsoyPI94RdjomS9cx/YPAzw7cnYEAAA=" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 32555e5..9179064 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/functions/Animation.html b/docs/functions/Animation.html deleted file mode 100644 index 1bca046..0000000 --- a/docs/functions/Animation.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - Animation | Canvas Editor - v1.0.0

Function Animation

\ No newline at end of file diff --git a/docs/functions/easeInOutCirc.html b/docs/functions/easeInOutCirc.html deleted file mode 100644 index d024017..0000000 --- a/docs/functions/easeInOutCirc.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - easeInOutCirc | Canvas Editor - v1.0.0

Function easeInOutCirc

\ No newline at end of file diff --git a/docs/functions/easeInOutCubic.html b/docs/functions/easeInOutCubic.html deleted file mode 100644 index c4b746c..0000000 --- a/docs/functions/easeInOutCubic.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - easeInOutCubic | Canvas Editor - v1.0.0

Function easeInOutCubic

\ No newline at end of file diff --git a/docs/functions/easeOutBounce.html b/docs/functions/easeOutBounce.html deleted file mode 100644 index 6a06ea0..0000000 --- a/docs/functions/easeOutBounce.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - easeOutBounce | Canvas Editor - v1.0.0

Function easeOutBounce

\ No newline at end of file diff --git a/docs/functions/easeOutSine.html b/docs/functions/easeOutSine.html deleted file mode 100644 index b9f4fad..0000000 --- a/docs/functions/easeOutSine.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - easeOutSine | Canvas Editor - v1.0.0

Function easeOutSine

\ No newline at end of file diff --git a/docs/functions/evaluateEasingFunction.html b/docs/functions/evaluateEasingFunction.html deleted file mode 100644 index 0d2beac..0000000 --- a/docs/functions/evaluateEasingFunction.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - evaluateEasingFunction | Canvas Editor - v1.0.0

Function evaluateEasingFunction

  • Parameters

    • x: number
    • easingFunction: string

    Returns number

\ No newline at end of file diff --git a/docs/functions/generateId.html b/docs/functions/generateId.html index d19aac9..c36eb65 100644 --- a/docs/functions/generateId.html +++ b/docs/functions/generateId.html @@ -139,9 +139,9 @@ crossOrigin="anonymous" /> - generateId | Canvas Editor - v1.0.0

Function generateId

  • Generates a random ID

    + generateId | Canvas Editor - v1.0.0

    Function generateId

    • Generates a random ID

      Returns string

      Returns a random ID string

      -
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/functions/getArtboardCenter.html b/docs/functions/getArtboardCenter.html index 126b78a..a445289 100644 --- a/docs/functions/getArtboardCenter.html +++ b/docs/functions/getArtboardCenter.html @@ -139,11 +139,11 @@ crossOrigin="anonymous" /> - getArtboardCenter | Canvas Editor - v1.0.0

Function getArtboardCenter

  • Get the center coordinates of the artboard

    -

    Parameters

    • canvas: null | Canvas

      Canvas object

      -
    • artboardId: string

      Artboard ID

      + getArtboardCenter | Canvas Editor - v1.0.0

      Function getArtboardCenter

      • Get the center coordinates of the artboard

        +

        Parameters

        • canvas: null | Canvas

          Canvas object

          +
        • artboardId: string

          Artboard ID

        Returns {
            x: number;
            y: number;
        }

        Center coordinates of the artboard (x, y)

        -
        • x: number
        • y: number
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/functions/getArtboardDimensions.html b/docs/functions/getArtboardDimensions.html index 5a07cc7..725d277 100644 --- a/docs/functions/getArtboardDimensions.html +++ b/docs/functions/getArtboardDimensions.html @@ -139,11 +139,11 @@ crossOrigin="anonymous" /> - getArtboardDimensions | Canvas Editor - v1.0.0

Function getArtboardDimensions

  • Get the width and height of the artboard

    -

    Parameters

    • canvas: null | Canvas

      Canvas object

      -
    • artboardId: string

      Artboard ID

      + getArtboardDimensions | Canvas Editor - v1.0.0

      Function getArtboardDimensions

      • Get the width and height of the artboard

        +

        Parameters

        • canvas: null | Canvas

          Canvas object

          +
        • artboardId: string

          Artboard ID

        Returns {
            height: number;
            width: number;
        }

        Width and height of the artboard

        -
        • height: number
        • width: number
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/functions/getArtboardObject.html b/docs/functions/getArtboardObject.html index e877843..e3c5aa5 100644 --- a/docs/functions/getArtboardObject.html +++ b/docs/functions/getArtboardObject.html @@ -139,12 +139,12 @@ crossOrigin="anonymous" /> - getArtboardObject | Canvas Editor - v1.0.0

Function getArtboardObject

  • Get the artboard object from the canvas, given the artboard ID. + getArtboardObject | Canvas Editor - v1.0.0

    Function getArtboardObject

    • Get the artboard object from the canvas, given the artboard ID. Artboard is a special object with data.type 'artboard' and data.id equal to the artboard ID

      -

      Parameters

      • canvas: null | Canvas

        Canvas object

        -
      • artboardId: string

        Artboard ID

        +

        Parameters

        • canvas: null | Canvas

          Canvas object

          +
        • artboardId: string

          Artboard ID

        Returns Rect

        A fabric.Rect object representing the artboard

        -
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/functions/getArtboardPosition.html b/docs/functions/getArtboardPosition.html index ddb4b76..555efa3 100644 --- a/docs/functions/getArtboardPosition.html +++ b/docs/functions/getArtboardPosition.html @@ -139,11 +139,11 @@ crossOrigin="anonymous" /> - getArtboardPosition | Canvas Editor - v1.0.0

Function getArtboardPosition

  • Get the position of the artboard on the canvas

    -

    Parameters

    • canvas: null | Canvas

      Canvas object

      -
    • artboardId: string

      Artboard ID

      + getArtboardPosition | Canvas Editor - v1.0.0

      Function getArtboardPosition

      • Get the position of the artboard on the canvas

        +

        Parameters

        • canvas: null | Canvas

          Canvas object

          +
        • artboardId: string

          Artboard ID

        Returns {
            left: number;
            top: number;
        }

        Left and top position of the artboard (x and y coordinates of the top-left corner of the artboard)

        -
        • left: number
        • top: number
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/functions/getBulkEditedArtboards.html b/docs/functions/getBulkEditedArtboards.html index e0d6f2d..eedfcb9 100644 --- a/docs/functions/getBulkEditedArtboards.html +++ b/docs/functions/getBulkEditedArtboards.html @@ -139,12 +139,12 @@ crossOrigin="anonymous" /> - getBulkEditedArtboards | Canvas Editor - v1.0.0

Function getBulkEditedArtboards

  • Get updated artboards with the updated element properties in the selected artboards

    -

    Parameters

    • elementId: string

      Element ID to be updated

      -
    • properties: {
          [key: string]: any;
      }

      Object with properties to be updated

      -
      • [key: string]: any
    • data: {
          artboards: Artboard[];
          selectedArtboards: string[];
      }

      Additional data to be used for updating - artboards and selectedArtboards

      + getBulkEditedArtboards | Canvas Editor - v1.0.0

      Function getBulkEditedArtboards

      • Get updated artboards with the updated element properties in the selected artboards

        +

        Parameters

        • elementId: string

          Element ID to be updated

          +
        • properties: {
              [key: string]: any;
          }

          Object with properties to be updated

          +
          • [key: string]: any
        • data: {
              artboards: Artboard[];
              selectedArtboards: string[];
          }

          Additional data to be used for updating - artboards and selectedArtboards

          • artboards: Artboard[]
          • selectedArtboards: string[]

        Returns Artboard[]

        Array of updated artboards

        -
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/functions/getMultiplierFor4K.html b/docs/functions/getMultiplierFor4K.html index 93bad86..600575c 100644 --- a/docs/functions/getMultiplierFor4K.html +++ b/docs/functions/getMultiplierFor4K.html @@ -139,11 +139,11 @@ crossOrigin="anonymous" /> - getMultiplierFor4K | Canvas Editor - v1.0.0

Function getMultiplierFor4K

  • Calculate the multiplier to scale the canvas to 4K resolution

    -

    Parameters

    • Optional width: number

      Width of the canvas

      -
    • Optional height: number

      Height of the canvas

      + getMultiplierFor4K | Canvas Editor - v1.0.0

      Function getMultiplierFor4K

      • Calculate the multiplier to scale the canvas to 4K resolution

        +

        Parameters

        • Optional width: number

          Width of the canvas

          +
        • Optional height: number

          Height of the canvas

        Returns number

        Multiplier to scale the canvas to 4K resolution

        -
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/functions/getNearestFps.html b/docs/functions/getNearestFps.html deleted file mode 100644 index bfb0f22..0000000 --- a/docs/functions/getNearestFps.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - getNearestFps | Canvas Editor - v1.0.0

Function getNearestFps

\ No newline at end of file diff --git a/docs/functions/interpolatePropertyValue.html b/docs/functions/interpolatePropertyValue.html deleted file mode 100644 index 1701f87..0000000 --- a/docs/functions/interpolatePropertyValue.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - interpolatePropertyValue | Canvas Editor - v1.0.0

Function interpolatePropertyValue

  • Function to interpolate the value of a property at a given time using an easing function

    -

    Parameters

    • keyframes: Keyframe[]

      Keyframes array

      -
    • time: number

      Time in milliseconds

      -
    • property: string

      Property to interpolate

      -

    Returns number | string

    Value of the property at the given time

    -

    Example

    const keyframes = [
    { id: '1', property: 'opacity', value: 0, timeMark: 0, easing: 'linear' },
    { id: '2', property: 'opacity', value: 1, timeMark: 1000, easing: 'linear' },
    { id: '3', property: 'opacity', value: 0, timeMark: 2000, easing: 'linear' },
    ];

    interpolatePropertyValue(keyframes, 500, 'opacity'); // 0.5
    interpolatePropertyValue(keyframes, 1500, 'opacity'); // 0.5
    interpolatePropertyValue(keyframes, 2500, 'opacity'); // 0 -
    -
\ No newline at end of file diff --git a/docs/functions/loadFontsFromArtboards.html b/docs/functions/loadFontsFromArtboards.html index 530ce09..fa040e5 100644 --- a/docs/functions/loadFontsFromArtboards.html +++ b/docs/functions/loadFontsFromArtboards.html @@ -139,9 +139,9 @@ crossOrigin="anonymous" /> - loadFontsFromArtboards | Canvas Editor - v1.0.0

Function loadFontsFromArtboards

  • Returns a promise that resolves when all fonts from the artboards are loaded

    -

    Parameters

    • artboards: Artboard[]

      Array of artboards to load fonts from

      -

    Returns Promise<void>

\ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 5f36f2c..fad9f0d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -139,7 +139,7 @@ crossOrigin="anonymous" /> - Canvas Editor - v1.0.0

Canvas Editor - v1.0.0

Phoenix design editor

Phoenix editor is a Figma-like canvas based design editor which can help you build 2D-graphic based designs with ease. It's build using fabric.js (canvas) and React + TypeScript. + Canvas Editor - v1.0.0

Canvas Editor - v1.0.0

Phoenix design editor

Phoenix editor is a Figma-like canvas based design editor which can help you build 2D-graphic based designs with ease. It's build using fabric.js (canvas) and React + TypeScript. It's still in a nascent phase where we're experimenting with features. Currently it supports some powerful features not limited to

  • Single and multiple artboard editing
  • @@ -164,7 +164,7 @@
  • Word/letter styling
  • Image editing
-
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/interfaces/AnimationProps.html b/docs/interfaces/AnimationProps.html deleted file mode 100644 index 7a133b1..0000000 --- a/docs/interfaces/AnimationProps.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - AnimationProps | Canvas Editor - v1.0.0

Interface AnimationProps

interface AnimationProps {
    canvas: Canvas;
    currentSelectedElements: Object[];
    saveArtboardChanges: (() => void);
}

Properties

canvas: Canvas
currentSelectedElements: Object[]
saveArtboardChanges: (() => void)

Type declaration

    • (): void
    • Returns void

\ No newline at end of file diff --git a/docs/interfaces/Artboard.html b/docs/interfaces/Artboard.html index ff77122..2f4e567 100644 --- a/docs/interfaces/Artboard.html +++ b/docs/interfaces/Artboard.html @@ -139,12 +139,12 @@ crossOrigin="anonymous" /> - Artboard | Canvas Editor - v1.0.0

Interface Artboard

interface Artboard {
    height: number;
    id: string;
    name: string;
    state?: Record<string, any>;
    width: number;
}

Properties

Properties

height: number
id: string
name: string
state?: Record<string, any>
width: number
\ No newline at end of file diff --git a/docs/interfaces/Keyframe.html b/docs/interfaces/Keyframe.html deleted file mode 100644 index bdf86cb..0000000 --- a/docs/interfaces/Keyframe.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - Keyframe | Canvas Editor - v1.0.0

Interface Keyframe

interface Keyframe {
    easing: string;
    id: string;
    property: string;
    timeMark: number;
    value: string | number;
}

Properties

Properties

easing: string
id: string
property: string
timeMark: number
value: string | number
\ No newline at end of file diff --git a/docs/modules.html b/docs/modules.html index 2d23882..7cc29df 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -139,30 +139,20 @@ crossOrigin="anonymous" /> - Canvas Editor - v1.0.0
\ No newline at end of file diff --git a/docs/types/FixedArray.html b/docs/types/FixedArray.html index 6642b79..61d4553 100644 --- a/docs/types/FixedArray.html +++ b/docs/types/FixedArray.html @@ -139,7 +139,7 @@ crossOrigin="anonymous" /> - FixedArray | Canvas Editor - v1.0.0

Type alias FixedArray<T, N>

FixedArray<T, N>: GrowToSize<T, [], N>

Type Parameters

  • T

  • N extends number

\ No newline at end of file diff --git a/docs/types/colorSpaceType.html b/docs/types/colorSpaceType.html index e4485f4..d8f379d 100644 --- a/docs/types/colorSpaceType.html +++ b/docs/types/colorSpaceType.html @@ -139,7 +139,7 @@ crossOrigin="anonymous" /> - colorSpaceType | Canvas Editor - v1.0.0

Type alias colorSpaceType

colorSpaceType: "srgb" | "display-p3"
\ No newline at end of file diff --git a/docs/types/guidesRefType.html b/docs/types/guidesRefType.html index d3ce456..3df0d89 100644 --- a/docs/types/guidesRefType.html +++ b/docs/types/guidesRefType.html @@ -139,7 +139,7 @@ crossOrigin="anonymous" /> - guidesRefType | Canvas Editor - v1.0.0

Type alias guidesRefType

guidesRefType: {
    bottom: null | fabric.Line;
    centerX: null | fabric.Line;
    centerY: null | fabric.Line;
    left: null | fabric.Line;
    right: null | fabric.Line;
    top: null | fabric.Line;
}

Type declaration

  • bottom: null | fabric.Line
  • centerX: null | fabric.Line
  • centerY: null | fabric.Line
  • left: null | fabric.Line
  • right: null | fabric.Line
  • top: null | fabric.Line
\ No newline at end of file diff --git a/docs/types/snappingObjectType.html b/docs/types/snappingObjectType.html index a10d080..9bc8194 100644 --- a/docs/types/snappingObjectType.html +++ b/docs/types/snappingObjectType.html @@ -139,7 +139,7 @@ crossOrigin="anonymous" /> - snappingObjectType | Canvas Editor - v1.0.0

Type alias snappingObjectType

snappingObjectType: {
    getScaledHeight: (() => number);
    getScaledWidth: (() => number);
    left: number;
    top: number;
    set(props): void;
} & fabric.Object

Type declaration

  • getScaledHeight: (() => number)
      • (): number
      • Returns number

  • getScaledWidth: (() => number)
      • (): number
      • Returns number

  • left: number
  • top: number
  • set:function
    • Parameters

      • props: {
            left?: number;
            top?: number;
        }
        • Optional left?: number
        • Optional top?: number

      Returns void

\ No newline at end of file diff --git a/package-lock.json b/package-lock.json index e82e8f7..49fc342 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "canvas-editor", - "version": "0.0.0", + "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "canvas-editor", - "version": "0.0.0", + "version": "1.0.0", "hasInstallScript": true, "dependencies": { "@emotion/react": "^11.11.1", @@ -42,6 +42,7 @@ "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.12.0", "@vitejs/plugin-react-swc": "^3.5.0", + "@viveknigam3003/quickdocs": "^0.1.9", "eslint": "^8.45.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-prettier": "^5.0.1", @@ -3683,9 +3684,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.9.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.0.tgz", - "integrity": "sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==", + "version": "20.11.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.19.tgz", + "integrity": "sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==", "devOptional": true, "dependencies": { "undici-types": "~5.26.4" @@ -4032,6 +4033,20 @@ "vite": "^4 || ^5" } }, + "node_modules/@viveknigam3003/quickdocs": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/@viveknigam3003/quickdocs/-/quickdocs-0.1.9.tgz", + "integrity": "sha512-bKwQDazjw2tGLSY9M0AMNAXSZCClHU3uQqOJBlYtymAp87sF8fnqyEVh7iiNEpoZO19I0esnD6Mf0+/DzR7lSA==", + "dev": true, + "dependencies": { + "typedoc": "^0.25.8", + "typedoc-plugin-mdn-links": "^3.1.16", + "typedoc-plugin-rename-defaults": "^0.7.0" + }, + "bin": { + "quickdocs": "bin/index.js" + } + }, "node_modules/@yarnpkg/lockfile": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", @@ -4139,6 +4154,12 @@ "node": ">=8" } }, + "node_modules/ansi-sequence-parser": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz", + "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==", + "dev": true + }, "node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -6962,6 +6983,12 @@ "node": ">=6" } }, + "node_modules/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true + }, "node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -7122,6 +7149,12 @@ "yallist": "^3.0.2" } }, + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "dev": true + }, "node_modules/magic-string": { "version": "0.25.9", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", @@ -7155,6 +7188,18 @@ "semver": "bin/semver.js" } }, + "node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "dev": true, + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -7864,9 +7909,9 @@ } }, "node_modules/prettier": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz", - "integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -8752,6 +8797,18 @@ "node": ">=8" } }, + "node_modules/shiki": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.7.tgz", + "integrity": "sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==", + "dev": true, + "dependencies": { + "ansi-sequence-parser": "^1.1.0", + "jsonc-parser": "^3.2.0", + "vscode-oniguruma": "^1.7.0", + "vscode-textmate": "^8.0.0" + } + }, "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -9356,10 +9413,88 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/typedoc": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.10.tgz", + "integrity": "sha512-v10rtOFojrjW9og3T+6wAKeJaGMuojU87DXGZ33sfs+554wgPTRG+s07Ag1BjPZI85Y5QPVouPI63JQ6fcQM5w==", + "dev": true, + "dependencies": { + "lunr": "^2.3.9", + "marked": "^4.3.0", + "minimatch": "^9.0.3", + "shiki": "^0.14.7" + }, + "bin": { + "typedoc": "bin/typedoc" + }, + "engines": { + "node": ">= 16" + }, + "peerDependencies": { + "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x" + } + }, + "node_modules/typedoc-plugin-mdn-links": { + "version": "3.1.17", + "resolved": "https://registry.npmjs.org/typedoc-plugin-mdn-links/-/typedoc-plugin-mdn-links-3.1.17.tgz", + "integrity": "sha512-DCkMuXna8qipSwfzXl6c1x7nBeZUW/qWCACoaaP/cUzUyy/1MXedUyteuVsfw6+Sod61gIAr9ccwH78nrdwu6A==", + "dev": true, + "peerDependencies": { + "typedoc": ">= 0.23.14 || 0.24.x || 0.25.x" + } + }, + "node_modules/typedoc-plugin-rename-defaults": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/typedoc-plugin-rename-defaults/-/typedoc-plugin-rename-defaults-0.7.0.tgz", + "integrity": "sha512-NudSQ1o/XLHNF9c4y7LzIZxfE9ltz09yCDklBPJpP5VMRvuBpYGIbQ0ZgmPz+EIV8vPx9Z/OyKwzp4HT2vDtfg==", + "dev": true, + "dependencies": { + "camelcase": "^8.0.0" + }, + "peerDependencies": { + "typedoc": "0.22.x || 0.23.x || 0.24.x || 0.25.x" + } + }, + "node_modules/typedoc-plugin-rename-defaults/node_modules/camelcase": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", + "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typedoc/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/typedoc/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -9725,6 +9860,18 @@ "vite": "^2.6.0 || 3 || 4 || 5" } }, + "node_modules/vscode-oniguruma": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", + "dev": true + }, + "node_modules/vscode-textmate": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", + "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", + "dev": true + }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", diff --git a/package.json b/package.json index a64cfde..ad51fc3 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,7 @@ "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.12.0", "@vitejs/plugin-react-swc": "^3.5.0", + "@viveknigam3003/quickdocs": "^0.1.9", "eslint": "^8.45.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-prettier": "^5.0.1", diff --git a/quickdocs.json b/quickdocs.config.json similarity index 80% rename from quickdocs.json rename to quickdocs.config.json index b35e5cf..8c1357e 100644 --- a/quickdocs.json +++ b/quickdocs.config.json @@ -1,7 +1,7 @@ { "$schema": "https://typedoc.org/schema.json", "tsconfig": "./tsconfig.json", - "entryPoints": ["./src/index.ts"], + "entryPoints": ["./src"], "out": "./docs", "name": "Canvas Editor", "gitRemote": "docs"