diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 00000000..e2ac6616 --- /dev/null +++ b/docs/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/assets/custom.css b/docs/assets/custom.css new file mode 100644 index 00000000..e360ec98 --- /dev/null +++ b/docs/assets/custom.css @@ -0,0 +1,54 @@ +:root { + --dark-color-background: #000; + --dark-color-background-secondary: #000; + --dark-code-background: #040404; + --color-accent: #2463eb; + --light-hl-0: #b58900; + --light-hl-1: #d33682; + --light-hl-2: #dc322f; + --light-hl-3: #2aa198; + --light-hl-4: #859900; + --dark-hl-0: #ffdd00; + --dark-hl-1: #ff66ff; + --dark-hl-2: #ff4444; + --dark-hl-3: #44ffff; + --dark-hl-4: #44ff44; +} + +body #tsd-search .field label { + left: 50%; + margin-left: -20px; + z-index: 1; + text-align: center; +} + +body #tsd-search.has-focus .field label { + display: none; +} + +body #tsd-search .field input { + z-index: 2; +} + +body pre, +body .tsd-page-toolbar, +body .tsd-generator { + border: none; +} + +body .tsd-navigation a, +body .tsd-navigation summary > span, +body .tsd-page-navigation a { + padding: 0.5rem; + border-radius: 8px; +} + +body .tsd-description .tsd-signatures .tsd-signature, +body .tsd-signature, +body .tsd-signatures .tsd-signature, +body .tsd-typography td, +body .tsd-typography th, +body code.tsd-tag { + border-radius: 12px; + border-width: 2px; +} diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css new file mode 100644 index 00000000..146cd454 --- /dev/null +++ b/docs/assets/highlight.css @@ -0,0 +1,92 @@ +:root { + --light-hl-0: #795E26; + --dark-hl-0: #DCDCAA; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #A31515; + --dark-hl-2: #CE9178; + --light-hl-3: #0000FF; + --dark-hl-3: #569CD6; + --light-hl-4: #AF00DB; + --dark-hl-4: #C586C0; + --light-hl-5: #001080; + --dark-hl-5: #9CDCFE; + --light-hl-6: #008000; + --dark-hl-6: #6A9955; + --light-hl-7: #267F99; + --dark-hl-7: #4EC9B0; + --light-hl-8: #098658; + --dark-hl-8: #B5CEA8; + --light-hl-9: #000000; + --dark-hl-9: #C8C8C8; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@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); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --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); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --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); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --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); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --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); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } +pre, code { background: var(--code-background); } diff --git a/docs/assets/icons.js b/docs/assets/icons.js new file mode 100644 index 00000000..e88e8ca7 --- /dev/null +++ b/docs/assets/icons.js @@ -0,0 +1,18 @@ +(function() { + addIcons(); + function addIcons() { + if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons); + const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg")); + svg.innerHTML = `""`; + svg.style.display = "none"; + if (location.protocol === "file:") updateUseElements(); + } + + function updateUseElements() { + document.querySelectorAll("use").forEach(el => { + if (el.getAttribute("href").includes("#icon-")) { + el.setAttribute("href", el.getAttribute("href").replace(/.*#/, "#")); + } + }); + } +})() \ No newline at end of file diff --git a/docs/assets/icons.svg b/docs/assets/icons.svg new file mode 100644 index 00000000..e371b8b5 --- /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 new file mode 100644 index 00000000..21a5d74d --- /dev/null +++ b/docs/assets/main.js @@ -0,0 +1,60 @@ +"use strict"; +window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This member is normally hidden due to your filter settings."}; +"use strict";(()=>{var Pe=Object.create;var ie=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var _e=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,Me=Object.prototype.hasOwnProperty;var Fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _e(e))!Me.call(t,i)&&i!==n&&ie(t,i,{get:()=>e[i],enumerable:!(r=Oe(e,i))||r.enumerable});return t};var Ae=(t,e,n)=>(n=t!=null?Pe(Re(t)):{},De(e||!t||!t.__esModule?ie(n,"default",{value:t,enumerable:!0}):n,t));var ue=Fe((ae,le)=>{(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),m=s.str.charAt(1),p;m in s.node.edges?p=s.node.edges[m]:(p=new t.TokenSet,s.node.edges[m]=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 ae=="object"?le.exports=n():e.lunr=n()}(this,function(){return t})})()});var se=[];function G(t,e){se.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.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){se.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.ensureFocusedElementVisible(),this.updateIndexVisibility(),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&&!Ve(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){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)}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)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}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=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function Ve(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var oe=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var pe=Ae(ue());async function ce(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=pe.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function fe(){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",()=>{ce(e,t)}),ce(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");i.addEventListener("mouseup",()=>{te(t)}),r.addEventListener("focus",()=>t.classList.add("has-focus")),He(t,i,r,e)}function He(t,e,n,r){n.addEventListener("input",oe(()=>{Ne(t,e,n,r)},200)),n.addEventListener("keydown",i=>{i.key=="Enter"?Be(e,t):i.key=="ArrowUp"?(de(e,n,-1),i.preventDefault()):i.key==="ArrowDown"&&(de(e,n,1),i.preventDefault())}),document.body.addEventListener("keypress",i=>{i.altKey||i.ctrlKey||i.metaKey||!n.matches(":focus")&&i.key==="/"&&(i.preventDefault(),n.focus())}),document.body.addEventListener("keyup",i=>{t.classList.contains("has-focus")&&(i.key==="Escape"||!e.matches(":focus-within")&&!n.matches(":focus"))&&(n.blur(),te(t))})}function te(t){t.classList.remove("has-focus")}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=he(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${he(l.parent,i)}.${d}`);let m=document.createElement("li");m.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,m.append(p),p.addEventListener("focus",()=>{e.querySelector(".current")?.classList.remove("current"),m.classList.add("current")}),e.appendChild(m)}}function de(t,e,n){let r=t.querySelector(".current");if(!r)r=t.querySelector(n==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let i=r;if(n===1)do i=i.nextElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);else do i=i.previousElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);i?(r.classList.remove("current"),i.classList.add("current")):n===-1&&(r.classList.remove("current"),e.focus())}}function Be(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),te(e)}}function he(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(ee(t.substring(s,o)),`${ee(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ee(t.substring(s))),i.join("")}var je={"&":"&","<":"<",">":">","'":"'",'"':"""};function ee(t){return t.replace(/[&<>"'"]/g,e=>je[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",ye="mousemove",N="mouseup",J={x:0,y:0},me=!1,ne=!1,qe=!1,D=!1,ve=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(ve?"is-mobile":"not-mobile");ve&&"ontouchstart"in document.documentElement&&(qe=!0,F="touchstart",ye="touchmove",N="touchend");document.addEventListener(F,t=>{ne=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(ye,t=>{if(ne&&!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(N,()=>{ne=!1});document.addEventListener("click",t=>{me&&(t.preventDefault(),t.stopImmediatePropagation(),me=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,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 re;try{re=localStorage}catch{re={getItem(){return null},setItem(){}}}var Q=re;var ge=document.head.appendChild(document.createElement("style"));ge.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()),ge.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.app.updateIndexVisibility()}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.app.updateIndexVisibility()}};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 Ee(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,xe(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),xe(t.value)})}function xe(t){document.documentElement.dataset.theme=t}var K;function we(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Le),Le())}async function Le(){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();K=t.dataset.base,K.endsWith("/")||(K+="/"),t.innerHTML="";for(let s of i)Se(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Se(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-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',be(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)Se(u,l,i)}else be(t,r,t.class)}function be(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=K+t.path,n&&(r.className=n),location.pathname===r.pathname&&!r.href.includes("#")&&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-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Te=document.getElementById("tsd-theme");Te&&Ee(Te);var $e=new U;Object.defineProperty(window,"app",{value:$e});fe();we();})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js new file mode 100644 index 00000000..e523d0c9 --- /dev/null +++ b/docs/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAACrWYUU/bMBCA/0ueyzpaYFrfEAjGRMWkIPaAqshL3NZakkaOgVUT/31K4zi2c3bPtHtsc/78+c6JL3n+Gwn6R0Sz6IblNBpFFRHraBYVm+wlp/W4+ffTWhR5NIp+szKLZpNRlK5ZnnFaRrNnNfxxW2nDxbbqBjcXLMLnr19OzyfvIzU4mZOqH/xKOCO/1OzNRRMwnbwvtNE3L2Uq2KaMYLNrxmkqNnwLrE6OTFQMaq3ZkLiUJJCZwfSLM2MZdwVZ0fFPzgSt14RXHt1daNKHoqydSXZSwcz3wm+AKpCHAfbN4W3noxR0xYmsrDMVfRQuC5epSYQSoTFlvCcN13RJXnKBJsp4DzGmhKdrNLAN9/G2taAFnrcL9/AYVBmo8hqUuep0caaR55SvKJq5iwb2kL2L+JKk1PF0uLq/G+4uNSi5ur9DbSt9Gglj3V82T/2yyOcXhvlVHDuc07reeKXjOGlijmveQZH6OVutRcnKVVrX+2T12KNLG3CvvK7vOTV6fNixgZXuqchU756wjr3yUDoOk36+9gEtA4+6EpOMXA3S93/ZBrn6TmsbHHhch1lrcPQW9x6w2gSBJyxaXOMi0/1Q7ZNtI47qKZFIxR+E15T7FNuIoypKJLryRifYGQ6avQ9JNRRkqqzDXnkMT3WHSeHqFlpE4WgPNAOWZTl9IxzSUNcsF0SxA0oMvTfJ4Zg3pz3DT04PBUwOBUwPBZzBgMUQAeX32+P8ftwATgpWsiWj/ERQuGoNJWnikyY+6eKTNv7D1dyDdVdZX+F38krilLNKjL36fdxRtIc4nG78dDuuX1dAl7rDxk+3SXP5MDlF8TnpVk/yvcf1KhDYcHe4sH7bZPWvYkPaEGl9+PC32AYwuMOG2Q5dg+6eamoXJODmVPMddoM2MXM57tGaClicfzIT5C2Vr0Wfk8rRQiqPtsnrAnGH44AKrM/iFuAE1lJwrnhRrGVLdPkFPiwV+2MPTBsLSA/BEN/KLdiYKSS2QyvgD30Gp9jzUdXVaitIQKe9qVyf3GzaBoBaYq6eS6ECmq+K7C2jpFUAdIo98xQs6NwzWYCaog2R8pZY/AOH9zcI3xcAAA==" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js new file mode 100644 index 00000000..eca994c3 --- /dev/null +++ b/docs/assets/search.js @@ -0,0 +1 @@ +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/assets/style.css b/docs/assets/style.css new file mode 100644 index 00000000..9d619a64 --- /dev/null +++ b/docs/assets/style.css @@ -0,0 +1,1448 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + --light-color-focus-outline: #3584e4; + + --light-color-ts-keyword: #056bd6; + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: #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); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + --light-color-document: #000000; + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + --dark-color-focus-outline: #4c97f2; + + --dark-color-ts-keyword: #3399ff; + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: #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); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + --dark-color-document: #ffffff; + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --color-document: var(--light-color-document); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --color-document: var(--dark-color-document); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --color-document: var(--light-color-document); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --color-document: var(--dark-color-document); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +*:focus-visible, +.tsd-accordion-summary:focus-visible svg { + outline: 2px solid var(--color-focus-outline); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +footer { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} +footer > p { + margin: 0 1em; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", + Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} +a.tsd-anchor-link { + color: var(--color-text); +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h4, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} +.tsd-typography table { + border-collapse: collapse; + border: none; +} +.tsd-typography td, +.tsd-typography th { + padding: 6px 13px; + border: 1px solid var(--color-accent); +} +.tsd-typography thead, +.tsd-typography tr:nth-child(even) { + background-color: var(--color-background-secondary); +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: -moz-fit-content; + width: fit-content; + align-items: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus-visible + svg { + outline: 2px solid var(--color-focus-outline); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.settings-label { + font-weight: bold; + text-transform: uppercase; + display: inline-block; +} + +.tsd-filter-visibility .settings-label { + margin: 0.75rem 0 0.5rem 0; +} + +.tsd-theme-toggle .settings-label { + margin: 0.75rem 0.75rem 0 0; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + 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; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.25rem); + display: flex; + align-items: center; +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: flex; + width: calc(100% - 0.25rem); + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-navigation .tsd-nav-link { + display: none; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-page-navigation-section { + margin-left: 10px; +} +.tsd-page-navigation-section > summary { + padding: 0.25rem; +} +.tsd-page-navigation-section > div { + margin-left: 20px; +} +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; + vertical-align: text-top; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} +.tsd-panel-group > .tsd-accordion-summary { + margin-bottom: 1rem; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + background-color: var(--color-background); + line-height: initial; + padding: 4px; +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current:not(.no-results), +#tsd-search .results li:hover:not(.no-results) { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: flex; + align-items: center; + padding: 0.25rem; + box-sizing: border-box; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-keyword { + color: var(--color-ts-keyword); + font-weight: normal; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-signatures .tsd-index-signature:not(:last-child) { + margin-bottom: 1em; +} +.tsd-signatures .tsd-index-signature .tsd-signature { + border-width: 1px; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: + opacity 0.1s, + background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through !important; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } + #tsd-toolbar-links { + display: none; + } + .tsd-navigation .tsd-nav-link { + display: flex; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/docs/functions/Function_Directory.directory.html b/docs/functions/Function_Directory.directory.html new file mode 100644 index 00000000..16ef1b3c --- /dev/null +++ b/docs/functions/Function_Directory.directory.html @@ -0,0 +1 @@ +directory | astro-compress - v2.3.4
diff --git a/docs/functions/Function_Image_Writesharp.writesharp.html b/docs/functions/Function_Image_Writesharp.writesharp.html new file mode 100644 index 00000000..d2a0b727 --- /dev/null +++ b/docs/functions/Function_Image_Writesharp.writesharp.html @@ -0,0 +1,2 @@ +writesharp | astro-compress - v2.3.4
diff --git a/docs/functions/Function_Integration.Merge.html b/docs/functions/Function_Integration.Merge.html new file mode 100644 index 00000000..d347a00e --- /dev/null +++ b/docs/functions/Function_Integration.Merge.html @@ -0,0 +1 @@ +Merge | astro-compress - v2.3.4
  • Type Parameters

    • Ts extends readonly unknown[]

    Parameters

    • Rest...objects: Ts

    Returns DeepMergeHKT<Ts, Readonly<{
        DeepMergeArraysURI: "DeepMergeArraysDefaultURI";
        DeepMergeFilterValuesURI: "DeepMergeFilterValuesDefaultURI";
        DeepMergeMapsURI: "DeepMergeMapsDefaultURI";
        DeepMergeOthersURI: "DeepMergeLeafURI";
        DeepMergeRecordsURI: "DeepMergeRecordsDefaultURI";
        DeepMergeSetsURI: "DeepMergeSetsDefaultURI";
    }>, Readonly<{
        key: PropertyKey;
        parents: readonly Readonly<Record<PropertyKey, unknown>>[];
    }>>

diff --git a/docs/functions/Function_Integration.integration.html b/docs/functions/Function_Integration.integration.html new file mode 100644 index 00000000..a02502ce --- /dev/null +++ b/docs/functions/Function_Integration.integration.html @@ -0,0 +1 @@ +integration | astro-compress - v2.3.4
diff --git a/docs/functions/Merge.merge.html b/docs/functions/Merge.merge.html new file mode 100644 index 00000000..fcaccec6 --- /dev/null +++ b/docs/functions/Merge.merge.html @@ -0,0 +1 @@ +merge | astro-compress - v2.3.4
  • Type Parameters

    • Ts extends readonly unknown[]

    Parameters

    • Rest...objects: Ts

    Returns DeepMergeHKT<Ts, Readonly<{
        DeepMergeArraysURI: "DeepMergeArraysDefaultURI";
        DeepMergeFilterValuesURI: "DeepMergeFilterValuesDefaultURI";
        DeepMergeMapsURI: "DeepMergeMapsDefaultURI";
        DeepMergeOthersURI: "DeepMergeLeafURI";
        DeepMergeRecordsURI: "DeepMergeRecordsDefaultURI";
        DeepMergeSetsURI: "DeepMergeSetsDefaultURI";
    }>, Readonly<{
        key: PropertyKey;
        parents: readonly Readonly<Record<PropertyKey, unknown>>[];
    }>>

diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 00000000..383dce30 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,132 @@ +astro-compress - v2.3.4

astro-compress - v2.3.4

Astro

Related —

Build
Dependency
Version
Star
Download
🦔 Inline —
Build
Dependency
Version
Star
Download
🗻 Format —
+

🗜️ Compress —

This Astro integration brings compression utilities to +your Astro project.

+

🎁 CSS (csso) —

+

🎁 CSS (lightningcss) —

+

🎁 HTML (html-minifier-terser) —

+

🎁 Image (sharp) —

+

🎁 JavaScript (terser) —

+

🎁 SVG (svgo) —

+
+

Note

+

Compress will not compress your requests, only your statically generated +build and pre-rendered routes.

+
+
+

[!IMPORTANT]

+

Use Compress last in your integration list for the best optimizations.

+
+

There are two ways to add integrations to your project. Let's try the most +convenient option first!

+

Astro includes a CLI tool for adding first party integrations: astro add. This +command will:

+
    +
  1. (Optionally) Install all necessary dependencies and peer dependencies
  2. +
  3. (Also optionally) Update your astro.config.* file to apply this integration
  4. +
+

To install Compress, run the following from your project directory and follow +the prompts:

+

Using NPM:

+
npx astro add astro-compress
+
+ +

Using Yarn:

+
yarn astro add astro-compress
+
+ +

Using PNPM:

+
pnpx astro add astro-compress
+
+ +

First, install the Compress integration like so:

+
npm install -D -E astro-compress
+
+ +

Then, apply this integration to your astro.config.* file using the +integrations property:

+

astro.config.ts

+
export default {
integrations: [(await import("astro-compress")).default()],
}; +
+ +

The utility will now automatically compress all your CSS, HTML, SVG, JavaScript +and image files in the Astro outDir folder.

+

The following image file types will be compressed via sharp:

+
    +
  • avci
  • +
  • avcs
  • +
  • avif
  • +
  • avifs
  • +
  • gif
  • +
  • heic
  • +
  • heics
  • +
  • heif
  • +
  • heifs
  • +
  • jfif
  • +
  • jif
  • +
  • jpe
  • +
  • jpeg
  • +
  • jpg
  • +
  • apng
  • +
  • png
  • +
  • raw
  • +
  • tiff
  • +
  • webp
  • +
+

SVG compression is supported, as well via [svgo].

+

You can override any of the default options from the configurations of:

+ +

astro.config.ts

+
export default {
integrations: [
(await import("astro-compress")).default({
CSS: false,
HTML: {
"html-minifier-terser": {
removeAttributeQuotes: false,
},
},
Image: false,
JavaScript: false,
SVG: false,
}),
],
}; +
+ +

or disable them entirely:

+

astro.config.ts

+
export default {
integrations: [
(await import("astro-compress")).default({
CSS: false,
HTML: false,
Image: false,
JavaScript: false,
SVG: false,
}),
],
}; +
+ +

You can see the full option map here: +Source/Interface/Option.ts

+

By default Compress compresses the outDir Astro directory, if you'd like +it to compress a different directory you would have to add it to the Compress +Path option, as well:

+
export default {
integrations: [
(await import("astro-compress")).default({
Path: ["./dist", "./Compress"],
}),
],
}; +
+ +

You can add multiple paths to compress by specifying an array as the Path +variable.

+

astro.config.ts

+
export default {
integrations: [
(await import("astro-compress")).default({
Path: ["./Target", "./Build"],
}),
],
}; +
+ +

You can also provide a map of paths for different input output directories.

+

astro.config.ts

+
export default {
integrations: [
(await import("astro-compress")).default({
Path: new Map([["./Source", "./Target"]]),
}),
],
}; +
+ +

Or an array of the two:

+

astro.config.ts

+
export default {
integrations: [
(await import("astro-compress")).default({
Path: [
// Compress Target
"./Target",
// Compress Target one more time into a different directory
new Map([["./Target", "./TargetCompress"]]),
],
}),
],
}; +
+ +

You can filter files to exclude specific ones from compression. A filter can be +an array of regular expressions or a single match. You can also use functions to +match on file names:

+

astro.config.ts

+
export default {
integrations: [
(await import("astro-compress")).default({
Exclude: [
"File.png",
(File: string) =>
File === "./Target/Favicon/Image/safari-pinned-tab.svg",
],
}),
],
}; +
+ +

You can control the logging level by setting the Logger parameter. The default +value is 2, but you can set it to 0 if you don't want to see debug messages:

+

astro.config.ts

+
export default {
integrations: [
(await import("astro-compress")).default({
Logger: 0,
}),
],
}; +
+ +

See CHANGELOG.md for a history of changes to this integration.

+
diff --git a/docs/interfaces/Interface_CLI.Interface.html b/docs/interfaces/Interface_CLI.Interface.html new file mode 100644 index 00000000..f4564136 --- /dev/null +++ b/docs/interfaces/Interface_CLI.Interface.html @@ -0,0 +1 @@ +Interface | astro-compress - v2.3.4
diff --git a/docs/interfaces/Interface_CSS_csso.Interface.html b/docs/interfaces/Interface_CSS_csso.Interface.html new file mode 100644 index 00000000..3c8aa6cd --- /dev/null +++ b/docs/interfaces/Interface_CSS_csso.Interface.html @@ -0,0 +1,60 @@ +Interface | astro-compress - v2.3.4
interface Interface {
    afterCompress?: AfterCompressFn | AfterCompressFn[];
    beforeCompress?: BeforeCompressFn | BeforeCompressFn[];
    clone?: boolean;
    comments?: boolean;
    debug?: boolean;
    filename?: string;
    forceMediaMerge?: boolean;
    logger?: (() => void);
    restructure?: boolean;
    sourceMap?: boolean;
    usage?: Usage;
}

Hierarchy

  • MinifyOptions
  • CompressOptions
    • Interface

Properties

afterCompress?: AfterCompressFn | AfterCompressFn[]

Called right after compress() is run.

+
beforeCompress?: BeforeCompressFn | BeforeCompressFn[]

Called right after parse is run.

+
clone?: boolean

Transform a copy of input AST if true. Useful in case of AST reuse.

+
false
+
+ +
comments?: boolean

Specify what comments to leave:

+
    +
  • 'exclamation' or true – leave all exclamation comments
  • +
  • 'first-exclamation' – remove every comment except first one
  • +
  • false – remove all comments
  • +
+
Compress false
+
+ +
csso true
+
+ +
debug?: boolean

Output debug information to stderr.

+
false
+
+ +
filename?: string

Filename of input CSS, uses for source map generation.

+
'<unknown>'
+
+ +
forceMediaMerge?: boolean

Enables merging of

+

rules with the same media query by splitted by other rules. +The optimisation is unsafe in general, but should work fine in most cases. Use it on your own risk.

+
Compress true
+
+ +
csso false
+
+ +
logger?: (() => void)

Function to track every step of transformation.

+
restructure?: boolean

Disable or enable a structure optimisations.

+
CompressAstro false
+
+ +
csso true
+
+ +
sourceMap?: boolean

Generate a source map when true.

+
false
+
+ +
usage?: Usage

Usage data for advanced optimisations.

+
diff --git a/docs/interfaces/Interface_CSS_lightningcss.Interface.html b/docs/interfaces/Interface_CSS_lightningcss.Interface.html new file mode 100644 index 00000000..f816403f --- /dev/null +++ b/docs/interfaces/Interface_CSS_lightningcss.Interface.html @@ -0,0 +1,58 @@ +Interface | astro-compress - v2.3.4
interface Interface {
    analyzeDependencies?: boolean | DependencyOptions;
    cssModules?: boolean | CSSModulesConfig;
    customAtRules?: CustomAtRules;
    drafts?: Drafts;
    errorRecovery?: boolean;
    exclude?: number;
    include?: number;
    inputSourceMap?: string;
    minify?: boolean;
    nonStandard?: NonStandard;
    projectRoot?: string;
    pseudoClasses?: PseudoClasses;
    sourceMap?: boolean;
    targets?: Targets;
    unusedSymbols?: boolean | string[];
    visitor?: Visitor<CustomAtRules>;
}

Hierarchy

  • Omit<TransformOptions<CustomAtRules>, "filename" | "code" | "unusedSymbols">
    • Interface

Properties

analyzeDependencies?: boolean | DependencyOptions

Whether to analyze dependencies (e.g. @import and url()). +When enabled, @import rules are removed, and url() dependencies +are replaced with hashed placeholders that can be replaced with the final +urls later (after bundling). Dependencies are returned as part of the result.

+
cssModules?: boolean | CSSModulesConfig

Whether to compile this file as a CSS module.

+
customAtRules?: CustomAtRules

Defines how to parse custom CSS at-rules. Each at-rule can have a prelude, defined using a CSS +syntax string, and +a block body. The body can be a declaration list, rule list, or style block as defined in the +css spec.

+
drafts?: Drafts

Whether to enable parsing various draft syntax.

+
errorRecovery?: boolean

Whether to ignore invalid rules and declarations rather than erroring. +When enabled, warnings are returned, and the invalid rule or declaration is +omitted from the output code.

+
exclude?: number

Features that should never be compiled, even when unsupported by targets.

+
include?: number

Features that should always be compiled, even when supported by targets.

+
inputSourceMap?: string

An input source map to extend.

+
minify?: boolean

Whether to enable minification

+
Compress true
+
+ +
lightningcss false
+
+ +
nonStandard?: NonStandard

Whether to enable various non-standard syntax.

+
projectRoot?: string

An optional project root path, used as the source root in the output source map. +Also used to generate relative paths for sources used in CSS module hashes.

+
pseudoClasses?: PseudoClasses

Replaces user action pseudo classes with class names that can be applied from JavaScript. +This is useful for polyfills, for example.

+
sourceMap?: boolean

Whether to output a source map.

+
targets?: Targets

The browser targets for the generated code.

+
unusedSymbols?: boolean | string[]

Whether to remove unused selectors or keywords.

+
Compress false
+
+ +
lightningcss undefined
+
+ +
visitor?: Visitor<CustomAtRules>

An AST visitor object. This allows custom transforms or analysis to be implemented in JavaScript. +Multiple visitors can be composed into one using the composeVisitors function. +For optimal performance, visitors should be as specific as possible about what types of values +they care about so that JavaScript has to be called as little as possible.

+
diff --git a/docs/interfaces/Interface_Directory.Interface.html b/docs/interfaces/Interface_Directory.Interface.html new file mode 100644 index 00000000..f87f145a --- /dev/null +++ b/docs/interfaces/Interface_Directory.Interface.html @@ -0,0 +1 @@ +Interface | astro-compress - v2.3.4
diff --git a/docs/interfaces/Interface_Image_Onsharp.Interface.html b/docs/interfaces/Interface_Image_Onsharp.Interface.html new file mode 100644 index 00000000..edf17c67 --- /dev/null +++ b/docs/interfaces/Interface_Image_Onsharp.Interface.html @@ -0,0 +1,11 @@ +Interface | astro-compress - v2.3.4
interface Interface {
    After: number;
    Before: number;
    Buffer: {
        [key: string]: any;
    } & Sharp;
    Input: string;
    Output: string;
}

Hierarchy

  • Omit<File, "Buffer">
    • Interface

Properties

Properties

After: number

The size after the action.

+
Before: number

The size before the action.

+
Buffer: {
    [key: string]: any;
} & Sharp

Type declaration

  • [key: string]: any

    biome-ignore lint/suspicious/noExplicitAny:

    +
Input: string

The input file.

+
Output: string

The output file.

+
diff --git a/docs/interfaces/Interface_Image_Writesharp.Interface.html b/docs/interfaces/Interface_Image_Writesharp.Interface.html new file mode 100644 index 00000000..368c0961 --- /dev/null +++ b/docs/interfaces/Interface_Image_Writesharp.Interface.html @@ -0,0 +1,2 @@ +Interface | astro-compress - v2.3.4
diff --git a/docs/interfaces/Interface_Image_sharp.Interface.html b/docs/interfaces/Interface_Image_sharp.Interface.html new file mode 100644 index 00000000..ce5cfa62 --- /dev/null +++ b/docs/interfaces/Interface_Image_sharp.Interface.html @@ -0,0 +1,9 @@ +Interface | astro-compress - v2.3.4
interface Interface {
    avif?: boolean | AvifOptions;
    gif?: boolean | GifOptions;
    heif?: boolean | HeifOptions;
    jpeg?: boolean | JpegOptions;
    png?: boolean | PngOptions;
    sharp?: boolean | SharpOptions;
    tiff?: boolean | TiffOptions;
    webp?: boolean | WebpOptions;
    [key: string]:
        | AvifOptions
        | GifOptions
        | HeifOptions
        | JpegOptions
        | PngOptions
        | SharpOptions
        | TiffOptions
        | WebpOptions
        | boolean
        | undefined;
}

Indexable

  • [key: string]:
        | AvifOptions
        | GifOptions
        | HeifOptions
        | JpegOptions
        | PngOptions
        | SharpOptions
        | TiffOptions
        | WebpOptions
        | boolean
        | undefined

Properties

Properties

avif?: boolean | AvifOptions
gif?: boolean | GifOptions
heif?: boolean | HeifOptions
jpeg?: boolean | JpegOptions
png?: boolean | PngOptions
sharp?: boolean | SharpOptions
tiff?: boolean | TiffOptions
webp?: boolean | WebpOptions
diff --git a/docs/interfaces/Interface_Integration.Interface.html b/docs/interfaces/Interface_Integration.Interface.html new file mode 100644 index 00000000..6d459768 --- /dev/null +++ b/docs/interfaces/Interface_Integration.Interface.html @@ -0,0 +1 @@ +Interface | astro-compress - v2.3.4
diff --git a/docs/interfaces/Interface_Option.Interface.html b/docs/interfaces/Interface_Option.Interface.html new file mode 100644 index 00000000..c8af5885 --- /dev/null +++ b/docs/interfaces/Interface_Option.Interface.html @@ -0,0 +1,36 @@ +Interface | astro-compress - v2.3.4
interface Interface {
    Action?: boolean | Interface;
    Cache?: boolean | Interface;
    CSS?: boolean | {
        csso?: Interface;
        lightningcss?: Interface;
    };
    Exclude?:
        | boolean
        | Type
        | Type[]
        | Set<Type>;
    File?: string | boolean | string[];
    HTML?: boolean | {
        html-minifier-terser?: Options;
    };
    Image?: boolean | {
        sharp?: Interface;
    };
    JavaScript?: boolean | {
        terser?: MinifyOptions;
    };
    Logger?: boolean | Type;
    Map?: boolean | Interface;
    Parser?: Interface;
    Path?:
        | boolean
        | Type
        | Type[]
        | Set<Type>;
    SVG?: boolean | {
        svgo?: Config;
    };
}

Hierarchy

  • default
    • Interface

Properties

Action?: boolean | Interface

Action pipe configuration.

+
Cache?: boolean | Interface

Configuration for the target cache.

+
{ Search: "./", Folder: "./Cache" }
+
+ +
CSS?: boolean | {
    csso?: Interface;
    lightningcss?: Interface;
}

csso, lightningcss option properties

+
Exclude?:
    | boolean
    | Type
    | Type[]
    | Set<Type>

Criteria for excluding files.

+
File?: string | boolean | string[]

File patterns to be matched.

+
HTML?: boolean | {
    html-minifier-terser?: Options;
}

html-minifier-terser option properties

+
Image?: boolean | {
    sharp?: Interface;
}

sharp option properties

+
JavaScript?: boolean | {
    terser?: MinifyOptions;
}

terser option properties

+
Logger?: boolean | Type

Debugging level.

+
2
+
+ +
Map?: boolean | Interface

Map to different file paths

+
Parser?: Interface

Parsers for different file types

+
Path?:
    | boolean
    | Type
    | Type[]
    | Set<Type>

Configuration for the target path(s).

+
"./Target"
+
+ +
SVG?: boolean | {
    svgo?: Config;
}

svgo option properties

+
diff --git a/docs/interfaces/Interface_Parser.Interface.html b/docs/interfaces/Interface_Parser.Interface.html new file mode 100644 index 00000000..ec3899d8 --- /dev/null +++ b/docs/interfaces/Interface_Parser.Interface.html @@ -0,0 +1,7 @@ +Interface | astro-compress - v2.3.4
interface Interface {
    CSS?: Type | Type[];
    HTML?: "html-minifier-terser" | "html-minifier-terser"[];
    Image?: "sharp" | "sharp"[];
    JavaScript?: "terser" | "terser"[];
    SVG?: "svgo" | "svgo"[];
    [key: string]: any;
}

Indexable

  • [key: string]: any

    biome-ignore lint/suspicious/noExplicitAny:

    +

Properties

Properties

CSS?: Type | Type[]
HTML?: "html-minifier-terser" | "html-minifier-terser"[]
Image?: "sharp" | "sharp"[]
JavaScript?: "terser" | "terser"[]
SVG?: "svgo" | "svgo"[]
diff --git a/docs/interfaces/Map.Interface.html b/docs/interfaces/Map.Interface.html new file mode 100644 index 00000000..9c2ea63e --- /dev/null +++ b/docs/interfaces/Map.Interface.html @@ -0,0 +1 @@ +Interface | astro-compress - v2.3.4

Interface Interface

Indexable

  • [key: string]: string
diff --git a/docs/media/CHANGELOG.md b/docs/media/CHANGELOG.md new file mode 100644 index 00000000..91ea3113 --- /dev/null +++ b/docs/media/CHANGELOG.md @@ -0,0 +1,292 @@ +## 2.3.4 + +### Changed + +- Updated dependencies +- Typings update + +## 2.3.3 + +### Fixed + +- Fixes missing `Pipe.js` + +## 2.3.2 + +### Added + +- New CLI functionality with `Compress` command +- New `CLI.ts` and `Pipe.ts` functions for improved command-line operations +- Added `commander` dependency for CLI support +- Added `fast-glob` dependency for file pattern matching + +### Changed + +- Updated package name from `astro-compress` to `@playform/compress` +- Updated various dependencies to their latest versions: + - `@playform/pipe` from 0.1.0 to 0.1.1 + - `deepmerge-ts` from 7.1.0 to 7.1.1 + - `lightningcss` from 1.25.1 to 1.27.0 + - `sharp` from 0.33.4 to 0.33.5 + - `svgo` from 4.0.0-rc.0 to 3.3.2 + - `terser` from 5.31.3 to 5.34.1 + - `@playform/build` from 0.1.3 to 0.1.7 +- Refactored and improved various TypeScript interfaces and types +- Updated README with new installation instructions and badge styling +- Updated README badges to use HTTPS URLs +- Updated README table layout for better visual presentation +- Updated dependency badges in README to use correct package name + (`@playform/compress` instead of `@playform/inline`) +- Updated README to remove unnecessary line breaks and improve spacing +- Updated `Source/Function/Image/Writesharp.ts` to simplify an import + statement +- Added `Source/Function/CLI.ts` for command-line interface functionality +- Added `Source/Interface/CLI.ts` to define the command-line interface +- Updated `package.json` to include necessary CLI dependencies + +### Removed + +- Removed `Documentation/` directory (replaced with `docs/`) +- Removed `Summary.md` file + +### Fixed + +- Various code improvements and refactoring for better type safety and + performance +- Fixed broken links in README badges +- Fixed alignment and spacing issues in README table +- Fixed incorrect package name in dependency badges + +## 2.3.1 + +### Changed + +- Updated .npmignore file: + - Reordered ignored directories and files + - Added 'Summary.md' to ignored files + +### Fixed + +- Improved code formatting in Source/Function/Image/Writesharp.ts: + - Simplified import statement for default sharp options + +## 2.3.0 + +### Changed + +- Updated TODO comments in Integration.ts and Middleware.ts + +## 2.2.28 + +### Changed + +- Updated lightningcss interface and options + +## 2.2.27 + +### Changed + +- Reordered CSS processing in Integration.ts (lightningcss now runs before + csso) + +## 2.2.26 + +### Changed + +- Minor formatting changes and comma additions + +## 2.2.25 + +No changes recorded in this version. + +## 2.2.24 + +### Changed + +- Updated sharp configuration in Integration.ts +- Removed Merge.ts interface + +## 2.2.23 + +### Changed + +- Updated CSS processing in Integration.ts to support both csso and + lightningcss +- Minor updates to sharp configuration and error handling + +## 2.2.22 + +### Changed + +- Updated import paths to use @ prefix +- Renamed some Type interfaces to Interface +- Updated sharp configuration and processing +- Added support for lightningcss +- Updated various option configurations + +## 2.2.21 + +This version marks the beginning of the recorded changes. + +### Added + +- Significant project restructuring with separate directories for Source, + Interface, Type, and Variable +- New modules and interfaces for CSS, HTML, Image, JavaScript, and SVG file + types +- Utility functions: Directory and Merge +- Expanded support for additional image formats and optimization options +- Enhanced error handling and logging +- New "Run" script for building and watching 'Source/\*_/_.ts' files +- Added svgo v4.0.0-rc.0 dependency +- Added terser v5.31.3 dependency + +### Changed + +- Major refactoring of the integration functionality in + Source/Function/Integration.ts +- Moved configuration options to separate files in the Variable directory +- Updated and expanded type definitions throughout the project +- Modularized and improved compression logic for different file types +- Overall code structure is now more modular and type-safe + +### Dependency Updates + +- Added svgo v4.0.0-rc.0 +- Changed astro dependency to use any version (\*) +- Updated @playform/build to v0.1.2 +- Updated @playform/pipe to v0.1.0 +- Updated lightningcss to v1.25.1 +- Updated sharp to v0.33.4 +- Updated terser to v5.31.3 + +### Removed + +- Removed specific version for astro dependency + +## 0.0.13 + +### Removed + +- Removed @playform/document from peerDependencies and peerDependenciesMeta + +## 0.0.12 + +### Changed + +- Updated astro to use any version (\*) + +## 0.0.10 + +### Added + +- Added "@playform/compress" and "playform" to keywords +- Added astro v4.9.2 as a dependency + +### Changed + +- Updated description to "🗜️ Compress —" +- Updated homepage, bugs, and repository URLs +- Updated author information +- Updated @playform/pipe to v0.0.5 +- Updated lightningcss to v1.25.1 +- Updated sharp to v0.33.4 +- Updated svgo to v3.3.2 +- Updated terser to v5.31.0 + +## 0.0.9 + +### Added + +- Added astro v4.9.2 as a dependency + +### Changed + +- Moved @playform/build to devDependencies + +### Removed + +- Removed peerDependencies and peerDependenciesMeta + +## 0.0.8 + +### Changed + +- Updated lightningcss to v1.25.1 + +## 0.0.7 + +### Removed + +- Removed @playform/document from peerDependencies and peerDependenciesMeta + +## 0.0.6 + +### Changed + +- Reordered peerDependencies and peerDependenciesMeta + +## 0.0.5 + +### Added + +- Added "Document" script for documenting 'Source/\*_/_.ts' files +- Added @playform/document v0.0.7 as a peerDependency + +### Changed + +- Updated @playform/pipe to v0.0.5 +- Updated lightningcss to v1.25.0 +- Updated sharp to v0.33.4 +- Updated svgo to v3.3.2 +- Updated terser to v5.31.0 +- Updated @playform/build to v0.0.9 +- Updated astro peerDependency to v4.9.1 + +## 0.0.4 + +### Added + +- Added "@playform/compress" to keywords +- Added astro v4.8.1 as a dependency + +### Changed + +- Updated description to "🗜️ Compress —" +- Updated homepage, bugs, and repository URLs to use HTTPS +- Updated author information +- Updated @playform/pipe to v0.0.3 +- Moved @playform/build to devDependencies + +### Removed + +- Removed "Document" script + +## 0.0.3 + +### Added + +- Added @playform/build, @playform/document, and astro as dependencies + +### Changed + +- Moved csso, html-minifier-terser, lightningcss, sharp, svgo, and terser to + dependencies + +## 0.0.2 + +### Changed + +- Reverted various changes from previous versions + +## 0.0.1 + +### Added + +- # Initial release +- Initial setup of AstroCompress integration +- Implemented various compression functions for CSS, HTML, JavaScript, Images, + and SVG +- Added configuration options for different file types +- Set up basic project structure with separate files for different + functionalities diff --git a/docs/modules/File.html b/docs/modules/File.html new file mode 100644 index 00000000..e11af45a --- /dev/null +++ b/docs/modules/File.html @@ -0,0 +1,3 @@ +File | astro-compress - v2.3.4
diff --git a/docs/modules/Function_Directory.html b/docs/modules/Function_Directory.html new file mode 100644 index 00000000..dff907f6 --- /dev/null +++ b/docs/modules/Function_Directory.html @@ -0,0 +1,2 @@ +Function/Directory | astro-compress - v2.3.4
diff --git a/docs/modules/Function_Image_Writesharp.html b/docs/modules/Function_Image_Writesharp.html new file mode 100644 index 00000000..67ae3415 --- /dev/null +++ b/docs/modules/Function_Image_Writesharp.html @@ -0,0 +1,3 @@ +Function/Image/Writesharp | astro-compress - v2.3.4
diff --git a/docs/modules/Function_Integration.html b/docs/modules/Function_Integration.html new file mode 100644 index 00000000..743f6cb8 --- /dev/null +++ b/docs/modules/Function_Integration.html @@ -0,0 +1,7 @@ +Function/Integration | astro-compress - v2.3.4
diff --git a/docs/modules/Interface_CLI.html b/docs/modules/Interface_CLI.html new file mode 100644 index 00000000..b2d110eb --- /dev/null +++ b/docs/modules/Interface_CLI.html @@ -0,0 +1,2 @@ +Interface/CLI | astro-compress - v2.3.4
diff --git a/docs/modules/Interface_CSS_csso.html b/docs/modules/Interface_CSS_csso.html new file mode 100644 index 00000000..40026d0d --- /dev/null +++ b/docs/modules/Interface_CSS_csso.html @@ -0,0 +1,2 @@ +Interface/CSS/csso | astro-compress - v2.3.4
diff --git a/docs/modules/Interface_CSS_lightningcss.html b/docs/modules/Interface_CSS_lightningcss.html new file mode 100644 index 00000000..0e10a7f3 --- /dev/null +++ b/docs/modules/Interface_CSS_lightningcss.html @@ -0,0 +1,2 @@ +Interface/CSS/lightningcss | astro-compress - v2.3.4
diff --git a/docs/modules/Interface_Directory.html b/docs/modules/Interface_Directory.html new file mode 100644 index 00000000..2c216d0e --- /dev/null +++ b/docs/modules/Interface_Directory.html @@ -0,0 +1,2 @@ +Interface/Directory | astro-compress - v2.3.4
diff --git a/docs/modules/Interface_Image_Onsharp.html b/docs/modules/Interface_Image_Onsharp.html new file mode 100644 index 00000000..12791174 --- /dev/null +++ b/docs/modules/Interface_Image_Onsharp.html @@ -0,0 +1,2 @@ +Interface/Image/Onsharp | astro-compress - v2.3.4
diff --git a/docs/modules/Interface_Image_Writesharp.html b/docs/modules/Interface_Image_Writesharp.html new file mode 100644 index 00000000..73bd1fbb --- /dev/null +++ b/docs/modules/Interface_Image_Writesharp.html @@ -0,0 +1,2 @@ +Interface/Image/Writesharp | astro-compress - v2.3.4
diff --git a/docs/modules/Interface_Image_sharp.html b/docs/modules/Interface_Image_sharp.html new file mode 100644 index 00000000..922f7c9f --- /dev/null +++ b/docs/modules/Interface_Image_sharp.html @@ -0,0 +1,2 @@ +Interface/Image/sharp | astro-compress - v2.3.4
diff --git a/docs/modules/Interface_Integration.html b/docs/modules/Interface_Integration.html new file mode 100644 index 00000000..2694fbb2 --- /dev/null +++ b/docs/modules/Interface_Integration.html @@ -0,0 +1,2 @@ +Interface/Integration | astro-compress - v2.3.4
diff --git a/docs/modules/Interface_Option.html b/docs/modules/Interface_Option.html new file mode 100644 index 00000000..7cb1c720 --- /dev/null +++ b/docs/modules/Interface_Option.html @@ -0,0 +1,2 @@ +Interface/Option | astro-compress - v2.3.4
diff --git a/docs/modules/Interface_Parser.html b/docs/modules/Interface_Parser.html new file mode 100644 index 00000000..80587881 --- /dev/null +++ b/docs/modules/Interface_Parser.html @@ -0,0 +1,2 @@ +Interface/Parser | astro-compress - v2.3.4
diff --git a/docs/modules/Map.html b/docs/modules/Map.html new file mode 100644 index 00000000..a8f20a98 --- /dev/null +++ b/docs/modules/Map.html @@ -0,0 +1,2 @@ +Map | astro-compress - v2.3.4
diff --git a/docs/modules/Merge.html b/docs/modules/Merge.html new file mode 100644 index 00000000..5039379e --- /dev/null +++ b/docs/modules/Merge.html @@ -0,0 +1,2 @@ +Merge | astro-compress - v2.3.4
diff --git a/docs/modules/Middleware.html b/docs/modules/Middleware.html new file mode 100644 index 00000000..62b8e022 --- /dev/null +++ b/docs/modules/Middleware.html @@ -0,0 +1 @@ +Middleware | astro-compress - v2.3.4

Module Middleware

diff --git a/docs/modules/Parser.html b/docs/modules/Parser.html new file mode 100644 index 00000000..dfa4e09e --- /dev/null +++ b/docs/modules/Parser.html @@ -0,0 +1,6 @@ +Parser | astro-compress - v2.3.4
diff --git a/docs/modules/Type_HTML_html_minifier_terser.html b/docs/modules/Type_HTML_html_minifier_terser.html new file mode 100644 index 00000000..01e86e5f --- /dev/null +++ b/docs/modules/Type_HTML_html_minifier_terser.html @@ -0,0 +1,2 @@ +Type/HTML/html-minifier-terser | astro-compress - v2.3.4
diff --git a/docs/modules/Type_JavaScript_terser.html b/docs/modules/Type_JavaScript_terser.html new file mode 100644 index 00000000..cb95b1ef --- /dev/null +++ b/docs/modules/Type_JavaScript_terser.html @@ -0,0 +1,2 @@ +Type/JavaScript/terser | astro-compress - v2.3.4
diff --git a/docs/modules/Type_SVG_svgo.html b/docs/modules/Type_SVG_svgo.html new file mode 100644 index 00000000..356aafa3 --- /dev/null +++ b/docs/modules/Type_SVG_svgo.html @@ -0,0 +1,2 @@ +Type/SVG/svgo | astro-compress - v2.3.4
diff --git a/docs/modules/Variable_CSS_csso.html b/docs/modules/Variable_CSS_csso.html new file mode 100644 index 00000000..bfc8dff2 --- /dev/null +++ b/docs/modules/Variable_CSS_csso.html @@ -0,0 +1,2 @@ +Variable/CSS/csso | astro-compress - v2.3.4
diff --git a/docs/modules/Variable_CSS_lightningcss.html b/docs/modules/Variable_CSS_lightningcss.html new file mode 100644 index 00000000..f5dbfee6 --- /dev/null +++ b/docs/modules/Variable_CSS_lightningcss.html @@ -0,0 +1,2 @@ +Variable/CSS/lightningcss | astro-compress - v2.3.4
diff --git a/docs/modules/Variable_HTML_html_minifier_terser.html b/docs/modules/Variable_HTML_html_minifier_terser.html new file mode 100644 index 00000000..e178da54 --- /dev/null +++ b/docs/modules/Variable_HTML_html_minifier_terser.html @@ -0,0 +1,2 @@ +Variable/HTML/html-minifier-terser | astro-compress - v2.3.4
diff --git a/docs/modules/Variable_Image_Mapsharp.html b/docs/modules/Variable_Image_Mapsharp.html new file mode 100644 index 00000000..4c4bdb89 --- /dev/null +++ b/docs/modules/Variable_Image_Mapsharp.html @@ -0,0 +1,2 @@ +Variable/Image/Mapsharp | astro-compress - v2.3.4
diff --git a/docs/modules/Variable_Image_sharp.html b/docs/modules/Variable_Image_sharp.html new file mode 100644 index 00000000..867efd99 --- /dev/null +++ b/docs/modules/Variable_Image_sharp.html @@ -0,0 +1,2 @@ +Variable/Image/sharp | astro-compress - v2.3.4
diff --git a/docs/modules/Variable_JavaScript_terser.html b/docs/modules/Variable_JavaScript_terser.html new file mode 100644 index 00000000..2b9d6350 --- /dev/null +++ b/docs/modules/Variable_JavaScript_terser.html @@ -0,0 +1,2 @@ +Variable/JavaScript/terser | astro-compress - v2.3.4
diff --git a/docs/modules/Variable_Map.html b/docs/modules/Variable_Map.html new file mode 100644 index 00000000..a19202ba --- /dev/null +++ b/docs/modules/Variable_Map.html @@ -0,0 +1,2 @@ +Variable/Map | astro-compress - v2.3.4
diff --git a/docs/modules/Variable_Option.html b/docs/modules/Variable_Option.html new file mode 100644 index 00000000..b3cbab97 --- /dev/null +++ b/docs/modules/Variable_Option.html @@ -0,0 +1,2 @@ +Variable/Option | astro-compress - v2.3.4
diff --git a/docs/modules/Variable_Parser.html b/docs/modules/Variable_Parser.html new file mode 100644 index 00000000..14a7ace7 --- /dev/null +++ b/docs/modules/Variable_Parser.html @@ -0,0 +1,2 @@ +Variable/Parser | astro-compress - v2.3.4
diff --git a/docs/modules/Variable_SVG_svgo.html b/docs/modules/Variable_SVG_svgo.html new file mode 100644 index 00000000..6b7dc34c --- /dev/null +++ b/docs/modules/Variable_SVG_svgo.html @@ -0,0 +1,2 @@ +Variable/SVG/svgo | astro-compress - v2.3.4
diff --git a/docs/types/File.Type.html b/docs/types/File.Type.html new file mode 100644 index 00000000..b66b40f5 --- /dev/null +++ b/docs/types/File.Type.html @@ -0,0 +1 @@ +Type | astro-compress - v2.3.4
diff --git a/docs/types/Parser.Type-1.html b/docs/types/Parser.Type-1.html new file mode 100644 index 00000000..54e891e0 --- /dev/null +++ b/docs/types/Parser.Type-1.html @@ -0,0 +1 @@ +Type | astro-compress - v2.3.4
diff --git a/docs/types/Parser.Type-2.html b/docs/types/Parser.Type-2.html new file mode 100644 index 00000000..8e3d048a --- /dev/null +++ b/docs/types/Parser.Type-2.html @@ -0,0 +1 @@ +Type | astro-compress - v2.3.4
diff --git a/docs/types/Parser.Type-3.html b/docs/types/Parser.Type-3.html new file mode 100644 index 00000000..cd169d33 --- /dev/null +++ b/docs/types/Parser.Type-3.html @@ -0,0 +1 @@ +Type | astro-compress - v2.3.4
diff --git a/docs/types/Parser.Type-4.html b/docs/types/Parser.Type-4.html new file mode 100644 index 00000000..0f13a325 --- /dev/null +++ b/docs/types/Parser.Type-4.html @@ -0,0 +1 @@ +Type | astro-compress - v2.3.4
diff --git a/docs/types/Parser.Type.html b/docs/types/Parser.Type.html new file mode 100644 index 00000000..81680e91 --- /dev/null +++ b/docs/types/Parser.Type.html @@ -0,0 +1 @@ +Type | astro-compress - v2.3.4
diff --git a/docs/types/Type_HTML_html_minifier_terser.Type.html b/docs/types/Type_HTML_html_minifier_terser.Type.html new file mode 100644 index 00000000..56b982ce --- /dev/null +++ b/docs/types/Type_HTML_html_minifier_terser.Type.html @@ -0,0 +1 @@ +Type | astro-compress - v2.3.4
diff --git a/docs/types/Type_JavaScript_terser.Type.html b/docs/types/Type_JavaScript_terser.Type.html new file mode 100644 index 00000000..efe071e7 --- /dev/null +++ b/docs/types/Type_JavaScript_terser.Type.html @@ -0,0 +1 @@ +Type | astro-compress - v2.3.4
diff --git a/docs/types/Type_SVG_svgo.Type.html b/docs/types/Type_SVG_svgo.Type.html new file mode 100644 index 00000000..47f087ef --- /dev/null +++ b/docs/types/Type_SVG_svgo.Type.html @@ -0,0 +1 @@ +Type | astro-compress - v2.3.4
diff --git a/docs/variables/File._Map.html b/docs/variables/File._Map.html new file mode 100644 index 00000000..9a8dc10a --- /dev/null +++ b/docs/variables/File._Map.html @@ -0,0 +1 @@ +_Map | astro-compress - v2.3.4
diff --git a/docs/variables/Function_Image_Writesharp._Map.html b/docs/variables/Function_Image_Writesharp._Map.html new file mode 100644 index 00000000..390494b8 --- /dev/null +++ b/docs/variables/Function_Image_Writesharp._Map.html @@ -0,0 +1 @@ +_Map | astro-compress - v2.3.4
diff --git a/docs/variables/Function_Integration.Default.html b/docs/variables/Function_Integration.Default.html new file mode 100644 index 00000000..b32ea93e --- /dev/null +++ b/docs/variables/Function_Integration.Default.html @@ -0,0 +1 @@ +Default | astro-compress - v2.3.4
Default: {
    Action: {
        Accomplished: ((__namedParameters: Interface) => Promise<string>);
        Changed: ((Plan: Interface) => Promise<any>);
        Failed: ((__namedParameters: Interface) => Promise<string>);
        Fulfilled: ((__namedParameters: Interface) => Promise<string | false>);
        Passed: ((__namedParameters: Interface) => Promise<boolean>);
        Read: ((__namedParameters: Interface) => Promise<string>);
        Wrote: ((__namedParameters: Interface) => Promise<Type>);
    };
    Cache: {
        Folder: string;
        Search: string;
    };
    CSS: {
        csso: Interface;
        lightningcss: Interface;
    };
    Exclude: false;
    File: string;
    HTML: {
        html-minifier-terser: {
            caseSensitive: true;
            collapseInlineTagWhitespace: false;
            collapseWhitespace: true;
            continueOnParseError: true;
            html5: true;
            ignoreCustomComments: RegExp[];
            ignoreCustomFragments: never[];
            includeAutoGeneratedTags: true;
            keepClosingSlash: true;
            minifyCSS: true;
            minifyJS: true;
            minifyURLs: false;
            noNewlinesBeforeTagClose: true;
            preventAttributesEscaping: false;
            processConditionalComments: false;
            processScripts: string[];
            quoteCharacter: string;
            removeAttributeQuotes: true;
            removeComments: true;
            removeScriptTypeAttributes: true;
            removeStyleLinkTypeAttributes: true;
            removeTagWhitespace: false;
            sortAttributes: true;
            sortClassName: true;
            trimCustomFragments: true;
            useShortDoctype: false;
        };
    };
    Image: {
        sharp: Interface;
    };
    JavaScript: {
        terser: {
            ecma: 5;
            enclose: false;
            format: {
                comments: false;
            };
            ie8: false;
            keep_classnames: false;
            keep_fnames: false;
            module: false;
            safari10: false;
            toplevel: false;
        };
    };
    Logger: 2;
    Map: Interface;
    Parser: Interface;
    Path: string;
    SVG: {
        svgo: {
            js2svg: {
                indent: number;
                pretty: false;
            };
            multipass: true;
            plugins: "preset-default"[];
        };
    };
}
diff --git a/docs/variables/Function_Integration.Search.html b/docs/variables/Function_Integration.Search.html new file mode 100644 index 00000000..5c79d470 --- /dev/null +++ b/docs/variables/Function_Integration.Search.html @@ -0,0 +1 @@ +Search | astro-compress - v2.3.4
diff --git a/docs/variables/Function_Integration.System.html b/docs/variables/Function_Integration.System.html new file mode 100644 index 00000000..8682fe88 --- /dev/null +++ b/docs/variables/Function_Integration.System.html @@ -0,0 +1,2 @@ +System | astro-compress - v2.3.4
diff --git a/docs/variables/Function_Integration._Action.html b/docs/variables/Function_Integration._Action.html new file mode 100644 index 00000000..8e883a6c --- /dev/null +++ b/docs/variables/Function_Integration._Action.html @@ -0,0 +1 @@ +_Action | astro-compress - v2.3.4
diff --git a/docs/variables/Variable_CSS_csso.csso.html b/docs/variables/Variable_CSS_csso.csso.html new file mode 100644 index 00000000..971d4ad0 --- /dev/null +++ b/docs/variables/Variable_CSS_csso.csso.html @@ -0,0 +1 @@ +csso | astro-compress - v2.3.4
diff --git a/docs/variables/Variable_CSS_lightningcss.lightningcss.html b/docs/variables/Variable_CSS_lightningcss.lightningcss.html new file mode 100644 index 00000000..27c054f6 --- /dev/null +++ b/docs/variables/Variable_CSS_lightningcss.lightningcss.html @@ -0,0 +1 @@ +lightningcss | astro-compress - v2.3.4
diff --git a/docs/variables/Variable_HTML_html_minifier_terser.htmlMinifierTerser.html b/docs/variables/Variable_HTML_html_minifier_terser.htmlMinifierTerser.html new file mode 100644 index 00000000..2e90cd06 --- /dev/null +++ b/docs/variables/Variable_HTML_html_minifier_terser.htmlMinifierTerser.html @@ -0,0 +1 @@ +htmlMinifierTerser | astro-compress - v2.3.4
htmlMinifierTerser: {
    caseSensitive: true;
    collapseInlineTagWhitespace: false;
    collapseWhitespace: true;
    continueOnParseError: true;
    html5: true;
    ignoreCustomComments: RegExp[];
    ignoreCustomFragments: never[];
    includeAutoGeneratedTags: true;
    keepClosingSlash: true;
    minifyCSS: true;
    minifyJS: true;
    minifyURLs: false;
    noNewlinesBeforeTagClose: true;
    preventAttributesEscaping: false;
    processConditionalComments: false;
    processScripts: string[];
    quoteCharacter: string;
    removeAttributeQuotes: true;
    removeComments: true;
    removeScriptTypeAttributes: true;
    removeStyleLinkTypeAttributes: true;
    removeTagWhitespace: false;
    sortAttributes: true;
    sortClassName: true;
    trimCustomFragments: true;
    useShortDoctype: false;
}
diff --git a/docs/variables/Variable_Image_Mapsharp.mapsharp.html b/docs/variables/Variable_Image_Mapsharp.mapsharp.html new file mode 100644 index 00000000..eba2bab2 --- /dev/null +++ b/docs/variables/Variable_Image_Mapsharp.mapsharp.html @@ -0,0 +1 @@ +mapsharp | astro-compress - v2.3.4
diff --git a/docs/variables/Variable_Image_sharp.sharp.html b/docs/variables/Variable_Image_sharp.sharp.html new file mode 100644 index 00000000..ac05b17d --- /dev/null +++ b/docs/variables/Variable_Image_sharp.sharp.html @@ -0,0 +1 @@ +sharp | astro-compress - v2.3.4
diff --git a/docs/variables/Variable_JavaScript_terser.terser.html b/docs/variables/Variable_JavaScript_terser.terser.html new file mode 100644 index 00000000..99934ab9 --- /dev/null +++ b/docs/variables/Variable_JavaScript_terser.terser.html @@ -0,0 +1 @@ +terser | astro-compress - v2.3.4
terser: {
    ecma: 5;
    enclose: false;
    format: {
        comments: false;
    };
    ie8: false;
    keep_classnames: false;
    keep_fnames: false;
    module: false;
    safari10: false;
    toplevel: false;
}
diff --git a/docs/variables/Variable_Map.map.html b/docs/variables/Variable_Map.map.html new file mode 100644 index 00000000..27ac474a --- /dev/null +++ b/docs/variables/Variable_Map.map.html @@ -0,0 +1 @@ +map | astro-compress - v2.3.4
diff --git a/docs/variables/Variable_Option.option.html b/docs/variables/Variable_Option.option.html new file mode 100644 index 00000000..36d55845 --- /dev/null +++ b/docs/variables/Variable_Option.option.html @@ -0,0 +1 @@ +option | astro-compress - v2.3.4
option: {
    Action: {
        Accomplished: ((__namedParameters: Interface) => Promise<string>);
        Changed: ((Plan: Interface) => Promise<any>);
        Failed: ((__namedParameters: Interface) => Promise<string>);
        Fulfilled: ((__namedParameters: Interface) => Promise<string | false>);
        Passed: ((__namedParameters: Interface) => Promise<boolean>);
        Read: ((__namedParameters: Interface) => Promise<string>);
        Wrote: ((__namedParameters: Interface) => Promise<Type>);
    };
    Cache: {
        Folder: string;
        Search: string;
    };
    CSS: {
        csso: Interface;
        lightningcss: Interface;
    };
    Exclude: false;
    File: string;
    HTML: {
        html-minifier-terser: {
            caseSensitive: true;
            collapseInlineTagWhitespace: false;
            collapseWhitespace: true;
            continueOnParseError: true;
            html5: true;
            ignoreCustomComments: RegExp[];
            ignoreCustomFragments: never[];
            includeAutoGeneratedTags: true;
            keepClosingSlash: true;
            minifyCSS: true;
            minifyJS: true;
            minifyURLs: false;
            noNewlinesBeforeTagClose: true;
            preventAttributesEscaping: false;
            processConditionalComments: false;
            processScripts: string[];
            quoteCharacter: string;
            removeAttributeQuotes: true;
            removeComments: true;
            removeScriptTypeAttributes: true;
            removeStyleLinkTypeAttributes: true;
            removeTagWhitespace: false;
            sortAttributes: true;
            sortClassName: true;
            trimCustomFragments: true;
            useShortDoctype: false;
        };
    };
    Image: {
        sharp: Interface;
    };
    JavaScript: {
        terser: {
            ecma: 5;
            enclose: false;
            format: {
                comments: false;
            };
            ie8: false;
            keep_classnames: false;
            keep_fnames: false;
            module: false;
            safari10: false;
            toplevel: false;
        };
    };
    Logger: 2;
    Map: Interface;
    Parser: Interface;
    Path: string;
    SVG: {
        svgo: {
            js2svg: {
                indent: number;
                pretty: false;
            };
            multipass: true;
            plugins: "preset-default"[];
        };
    };
}
diff --git a/docs/variables/Variable_Parser.parser.html b/docs/variables/Variable_Parser.parser.html new file mode 100644 index 00000000..f983944c --- /dev/null +++ b/docs/variables/Variable_Parser.parser.html @@ -0,0 +1 @@ +parser | astro-compress - v2.3.4
diff --git a/docs/variables/Variable_SVG_svgo.svgo.html b/docs/variables/Variable_SVG_svgo.svgo.html new file mode 100644 index 00000000..567c7c15 --- /dev/null +++ b/docs/variables/Variable_SVG_svgo.svgo.html @@ -0,0 +1 @@ +svgo | astro-compress - v2.3.4
svgo: {
    js2svg: {
        indent: number;
        pretty: false;
    };
    multipass: true;
    plugins: "preset-default"[];
}