kompendium
Version:
Documentation generator for Stencil components
1 lines • 51.6 kB
JavaScript
import{r as t,h as e,g as i,a as n}from"./p-e2749143.js";import{s}from"./p-913596d1.js";import{T as o}from"./p-8a0a7ce8.js";import{c as r}from"./p-a5bfdd98.js";import{m as a,a as c,s as l,b as h,c as d,d as u,e as p,f as m,g,h as f,i as v,j as b,k,l as y,n as w,o as x,p as M}from"./p-9b6a9315.js";import{A as z}from"./p-24e0f9ca.js";function L(t){return Array.isArray?Array.isArray(t):"[object Array]"===O(t)}function _(t){return"string"==typeof t}function j(t){return"number"==typeof t}function S(t){return"object"==typeof t}function C(t){return null!=t}function P(t){return!t.trim().length}function O(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const $=Object.prototype.hasOwnProperty;class A{constructor(t){this._keys=[],this._keyMap={};let e=0;t.forEach((t=>{let i=R(t);e+=i.weight,this._keys.push(i),this._keyMap[i.id]=i,e+=i.weight})),this._keys.forEach((t=>{t.weight/=e}))}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function R(t){let e=null,i=null,n=null,s=1;if(_(t)||L(t))n=t,e=T(t),i=F(t);else{if(!$.call(t,"name"))throw new Error("Missing name property in key");const o=t.name;if(n=o,$.call(t,"weight")&&(s=t.weight,s<=0))throw new Error((t=>`Property 'weight' in key '${t}' must be a positive integer`)(o));e=T(o),i=F(o)}return{path:e,id:i,weight:s,src:n}}function T(t){return L(t)?t:t.split(".")}function F(t){return L(t)?t.join("."):t}var H={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(t,e)=>t.score===e.score?t.idx<e.idx?-1:1:t.score<e.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,useExtendedSearch:!1,getFn:function(t,e){let i=[],n=!1;const s=(t,e,o)=>{if(C(t))if(e[o]){const r=t[e[o]];if(!C(r))return;if(o===e.length-1&&(_(r)||j(r)||function(t){return!0===t||!1===t||function(t){return S(t)&&null!==t}(t)&&"[object Boolean]"==O(t)}(r)))i.push(function(t){return null==t?"":function(t){if("string"==typeof t)return t;let e=t+"";return"0"==e&&1/t==-1/0?"-0":e}(t)}(r));else if(L(r)){n=!0;for(let t=0,i=r.length;t<i;t+=1)s(r[t],e,o+1)}else e.length&&s(r,e,o+1)}else i.push(t)};return s(t,_(e)?e.split("."):e,0),n?i:i[0]},ignoreLocation:!1,ignoreFieldNorm:!1};const I=/[^ ]+/g;class E{constructor({getFn:t=H.getFn}={}){this.norm=function(t=3){const e=new Map,i=Math.pow(10,t);return{get(t){const n=t.match(I).length;if(e.has(n))return e.get(n);const s=1/Math.sqrt(n),o=parseFloat(Math.round(s*i)/i);return e.set(n,o),o},clear(){e.clear()}}}(3),this.getFn=t,this.isCreated=!1,this.setIndexRecords()}setSources(t=[]){this.docs=t}setIndexRecords(t=[]){this.records=t}setKeys(t=[]){this.keys=t,this._keysMap={},t.forEach(((t,e)=>{this._keysMap[t.id]=e}))}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,_(this.docs[0])?this.docs.forEach(((t,e)=>{this._addString(t,e)})):this.docs.forEach(((t,e)=>{this._addObject(t,e)})),this.norm.clear())}add(t){const e=this.size();_(t)?this._addString(t,e):this._addObject(t,e)}removeAt(t){this.records.splice(t,1);for(let e=t,i=this.size();e<i;e+=1)this.records[e].i-=1}getValueForItemAtKeyId(t,e){return t[this._keysMap[e]]}size(){return this.records.length}_addString(t,e){if(!C(t)||P(t))return;let i={v:t,i:e,n:this.norm.get(t)};this.records.push(i)}_addObject(t,e){let i={i:e,$:{}};this.keys.forEach(((e,n)=>{let s=this.getFn(t,e.path);if(C(s))if(L(s)){let t=[];const e=[{nestedArrIndex:-1,value:s}];for(;e.length;){const{nestedArrIndex:i,value:n}=e.pop();if(C(n))if(_(n)&&!P(n)){let e={v:n,i,n:this.norm.get(n)};t.push(e)}else L(n)&&n.forEach(((t,i)=>{e.push({nestedArrIndex:i,value:t})}))}i.$[n]=t}else if(!P(s)){let t={v:s,n:this.norm.get(s)};i.$[n]=t}})),this.records.push(i)}toJSON(){return{keys:this.keys,records:this.records}}}function N(t,e,{getFn:i=H.getFn}={}){const n=new E({getFn:i});return n.setKeys(t.map(R)),n.setSources(e),n.create(),n}function U(t,{errors:e=0,currentLocation:i=0,expectedLocation:n=0,distance:s=H.distance,ignoreLocation:o=H.ignoreLocation}={}){const r=e/t.length;if(o)return r;const a=Math.abs(n-i);return s?r+a/s:a?1:r}function V(t){let e={};for(let i=0,n=t.length;i<n;i+=1){const s=t.charAt(i);e[s]=(e[s]||0)|1<<n-i-1}return e}class B{constructor(t,{location:e=H.location,threshold:i=H.threshold,distance:n=H.distance,includeMatches:s=H.includeMatches,findAllMatches:o=H.findAllMatches,minMatchCharLength:r=H.minMatchCharLength,isCaseSensitive:a=H.isCaseSensitive,ignoreLocation:c=H.ignoreLocation}={}){if(this.options={location:e,threshold:i,distance:n,includeMatches:s,findAllMatches:o,minMatchCharLength:r,isCaseSensitive:a,ignoreLocation:c},this.pattern=a?t:t.toLowerCase(),this.chunks=[],!this.pattern.length)return;const l=(t,e)=>{this.chunks.push({pattern:t,alphabet:V(t),startIndex:e})},h=this.pattern.length;if(h>32){let t=0;const e=h%32,i=h-e;for(;t<i;)l(this.pattern.substr(t,32),t),t+=32;if(e){const t=h-32;l(this.pattern.substr(t),t)}}else l(this.pattern,0)}searchIn(t){const{isCaseSensitive:e,includeMatches:i}=this.options;if(e||(t=t.toLowerCase()),this.pattern===t){let e={isMatch:!0,score:0};return i&&(e.indices=[[0,t.length-1]]),e}const{location:n,distance:s,threshold:o,findAllMatches:r,minMatchCharLength:a,ignoreLocation:c}=this.options;let l=[],h=0,d=!1;this.chunks.forEach((({pattern:e,alphabet:u,startIndex:p})=>{const{isMatch:m,score:g,indices:f}=function(t,e,i,{location:n=H.location,distance:s=H.distance,threshold:o=H.threshold,findAllMatches:r=H.findAllMatches,minMatchCharLength:a=H.minMatchCharLength,includeMatches:c=H.includeMatches,ignoreLocation:l=H.ignoreLocation}={}){if(e.length>32)throw new Error("Pattern length exceeds max of 32.");const h=e.length,d=t.length,u=Math.max(0,Math.min(n,d));let p=o,m=u;const g=a>1||c,f=g?Array(d):[];let v;for(;(v=t.indexOf(e,m))>-1;){let t=U(e,{currentLocation:v,expectedLocation:u,distance:s,ignoreLocation:l});if(p=Math.min(t,p),m=v+h,g){let t=0;for(;t<h;)f[v+t]=1,t+=1}}m=-1;let b=[],k=1,y=h+d;const w=1<<h-1;for(let n=0;n<h;n+=1){let o=0,a=y;for(;o<a;)U(e,{errors:n,currentLocation:u+a,expectedLocation:u,distance:s,ignoreLocation:l})<=p?o=a:y=a,a=Math.floor((y-o)/2+o);y=a;let c=Math.max(1,u-a+1),v=r?d:Math.min(u+a,d)+h,x=Array(v+2);x[v+1]=(1<<n)-1;for(let o=v;o>=c;o-=1){let r=o-1,a=i[t.charAt(r)];if(g&&(f[r]=+!!a),x[o]=(x[o+1]<<1|1)&a,n&&(x[o]|=(b[o+1]|b[o])<<1|1|b[o+1]),x[o]&w&&(k=U(e,{errors:n,currentLocation:r,expectedLocation:u,distance:s,ignoreLocation:l}),k<=p)){if(p=k,m=r,m<=u)break;c=Math.max(1,2*u-m)}}if(U(e,{errors:n+1,currentLocation:u,expectedLocation:u,distance:s,ignoreLocation:l})>p)break;b=x}const x={isMatch:m>=0,score:Math.max(.001,k)};if(g){const t=function(t=[],e=H.minMatchCharLength){let i=[],n=-1,s=-1,o=0;for(let r=t.length;o<r;o+=1){let r=t[o];r&&-1===n?n=o:r||-1===n||(s=o-1,s-n+1>=e&&i.push([n,s]),n=-1)}return t[o-1]&&o-n>=e&&i.push([n,o-1]),i}(f,a);t.length?c&&(x.indices=t):x.isMatch=!1}return x}(t,e,u,{location:n+p,distance:s,threshold:o,findAllMatches:r,minMatchCharLength:a,includeMatches:i,ignoreLocation:c});m&&(d=!0),h+=g,m&&f&&(l=[...l,...f])}));let u={isMatch:d,score:d?h/this.chunks.length:1};return d&&i&&(u.indices=l),u}}class W{constructor(t){this.pattern=t}static isMultiMatch(t){return D(t,this.multiRegex)}static isSingleMatch(t){return D(t,this.singleRegex)}search(){}}function D(t,e){const i=t.match(e);return i?i[1]:null}class J extends W{constructor(t,{location:e=H.location,threshold:i=H.threshold,distance:n=H.distance,includeMatches:s=H.includeMatches,findAllMatches:o=H.findAllMatches,minMatchCharLength:r=H.minMatchCharLength,isCaseSensitive:a=H.isCaseSensitive,ignoreLocation:c=H.ignoreLocation}={}){super(t),this._bitapSearch=new B(t,{location:e,threshold:i,distance:n,includeMatches:s,findAllMatches:o,minMatchCharLength:r,isCaseSensitive:a,ignoreLocation:c})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(t){return this._bitapSearch.searchIn(t)}}class q extends W{constructor(t){super(t)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(t){let e,i=0;const n=[],s=this.pattern.length;for(;(e=t.indexOf(this.pattern,i))>-1;)i=e+s,n.push([e,i-1]);const o=!!n.length;return{isMatch:o,score:o?0:1,indices:n}}}const Y=[class extends W{constructor(t){super(t)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(t){const e=t===this.pattern;return{isMatch:e,score:e?0:1,indices:[0,this.pattern.length-1]}}},q,class extends W{constructor(t){super(t)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(t){const e=t.startsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,this.pattern.length-1]}}},class extends W{constructor(t){super(t)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(t){const e=!t.startsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,t.length-1]}}},class extends W{constructor(t){super(t)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(t){const e=!t.endsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,t.length-1]}}},class extends W{constructor(t){super(t)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(t){const e=t.endsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[t.length-this.pattern.length,t.length-1]}}},class extends W{constructor(t){super(t)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(t){const e=-1===t.indexOf(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,t.length-1]}}},J],K=Y.length,X=/ +(?=([^\"]*\"[^\"]*\")*[^\"]*$)/,G=new Set([J.type,q.type]);const Q=[];function Z(t,e){for(let i=0,n=Q.length;i<n;i+=1){let n=Q[i];if(n.condition(t,e))return new n(t,e)}return new B(t,e)}const tt=t=>!(!t.$and&&!t.$or),et=t=>({$and:Object.keys(t).map((e=>({[e]:t[e]})))});function it(t,e,{auto:i=!0}={}){const n=t=>{let s=Object.keys(t);const o=(t=>!!t.$path)(t);if(!o&&s.length>1&&!tt(t))return n(et(t));if((t=>!L(t)&&S(t)&&!tt(t))(t)){const n=o?t.$path:s[0],r=o?t.$val:t[n];if(!_(r))throw new Error((t=>`Invalid value for key ${t}`)(n));const a={keyId:F(n),pattern:r};return i&&(a.searcher=Z(r,e)),a}let r={children:[],operator:s[0]};return s.forEach((e=>{const i=t[e];L(i)&&i.forEach((t=>{r.children.push(n(t))}))})),r};return tt(t)||(t=et(t)),n(t)}function nt(t,e){const i=t.matches;e.matches=[],C(i)&&i.forEach((t=>{if(!C(t.indices)||!t.indices.length)return;const{indices:i,value:n}=t;let s={indices:i,value:n};t.key&&(s.key=t.key.src),t.idx>-1&&(s.refIndex=t.idx),e.matches.push(s)}))}function st(t,e){e.score=t.score}class ot{constructor(t,e={},i){this.options={...H,...e},this._keyStore=new A(this.options.keys),this.setCollection(t,i)}setCollection(t,e){if(this._docs=t,e&&!(e instanceof E))throw new Error("Incorrect 'index' type");this._myIndex=e||N(this.options.keys,this._docs,{getFn:this.options.getFn})}add(t){C(t)&&(this._docs.push(t),this._myIndex.add(t))}remove(t=(()=>!1)){const e=[];for(let i=0,n=this._docs.length;i<n;i+=1){const s=this._docs[i];t(s,i)&&(this.removeAt(i),i-=1,n-=1,e.push(s))}return e}removeAt(t){this._docs.splice(t,1),this._myIndex.removeAt(t)}getIndex(){return this._myIndex}search(t,{limit:e=-1}={}){const{includeMatches:i,includeScore:n,shouldSort:s,sortFn:o,ignoreFieldNorm:r}=this.options;let a=_(t)?_(this._docs[0])?this._searchStringList(t):this._searchObjectList(t):this._searchLogical(t);return function(t,{ignoreFieldNorm:e=H.ignoreFieldNorm}){t.forEach((t=>{let i=1;t.matches.forEach((({key:t,norm:n,score:s})=>{const o=t?t.weight:null;i*=Math.pow(0===s&&o?Number.EPSILON:s,(o||1)*(e?1:n))})),t.score=i}))}(a,{ignoreFieldNorm:r}),s&&a.sort(o),j(e)&&e>-1&&(a=a.slice(0,e)),function(t,e,{includeMatches:i=H.includeMatches,includeScore:n=H.includeScore}={}){const s=[];return i&&s.push(nt),n&&s.push(st),t.map((t=>{const{idx:i}=t,n={item:e[i],refIndex:i};return s.length&&s.forEach((e=>{e(t,n)})),n}))}(a,this._docs,{includeMatches:i,includeScore:n})}_searchStringList(t){const e=Z(t,this.options),{records:i}=this._myIndex,n=[];return i.forEach((({v:t,i,n:s})=>{if(!C(t))return;const{isMatch:o,score:r,indices:a}=e.searchIn(t);o&&n.push({item:t,idx:i,matches:[{score:r,value:t,norm:s,indices:a}]})})),n}_searchLogical(t){const e=it(t,this.options),i=(t,e,n)=>{if(!t.children){const{keyId:i,searcher:s}=t,o=this._findMatches({key:this._keyStore.get(i),value:this._myIndex.getValueForItemAtKeyId(e,i),searcher:s});return o&&o.length?[{idx:n,item:e,matches:o}]:[]}switch(t.operator){case"$and":{const s=[];for(let o=0,r=t.children.length;o<r;o+=1){const r=i(t.children[o],e,n);if(!r.length)return[];s.push(...r)}return s}case"$or":{const s=[];for(let o=0,r=t.children.length;o<r;o+=1){const r=i(t.children[o],e,n);if(r.length){s.push(...r);break}}return s}}},n={},s=[];return this._myIndex.records.forEach((({$:t,i:o})=>{if(C(t)){let r=i(e,t,o);r.length&&(n[o]||(n[o]={idx:o,item:t,matches:[]},s.push(n[o])),r.forEach((({matches:t})=>{n[o].matches.push(...t)})))}})),s}_searchObjectList(t){const e=Z(t,this.options),{keys:i,records:n}=this._myIndex,s=[];return n.forEach((({$:t,i:n})=>{if(!C(t))return;let o=[];i.forEach(((i,n)=>{o.push(...this._findMatches({key:i,value:t[n],searcher:e}))})),o.length&&s.push({idx:n,item:t,matches:o})})),s}_findMatches({key:t,value:e,searcher:i}){if(!C(e))return[];let n=[];if(L(e))e.forEach((({v:e,i:s,n:o})=>{if(!C(e))return;const{isMatch:r,score:a,indices:c}=i.searchIn(e);r&&n.push({score:a,key:t,value:e,idx:s,norm:o,indices:c})}));else{const{v:s,n:o}=e,{isMatch:r,score:a,indices:c}=i.searchIn(s);r&&n.push({score:a,key:t,value:s,norm:o,indices:c})}return n}}ot.version="6.4.6",ot.createIndex=N,ot.parseIndex=function(t,{getFn:e=H.getFn}={}){const{keys:i,records:n}=t,s=new E({getFn:e});return s.setKeys(i),s.setIndexRecords(n),s},ot.config=H,ot.parseQuery=it,Q.push(class{constructor(t,{isCaseSensitive:e=H.isCaseSensitive,includeMatches:i=H.includeMatches,minMatchCharLength:n=H.minMatchCharLength,ignoreLocation:s=H.ignoreLocation,findAllMatches:o=H.findAllMatches,location:r=H.location,threshold:a=H.threshold,distance:c=H.distance}={}){this.query=null,this.options={isCaseSensitive:e,includeMatches:i,minMatchCharLength:n,findAllMatches:o,ignoreLocation:s,location:r,threshold:a,distance:c},this.pattern=e?t:t.toLowerCase(),this.query=function(t,e={}){return t.split("|").map((t=>{let i=t.trim().split(X).filter((t=>t&&!!t.trim())),n=[];for(let t=0,s=i.length;t<s;t+=1){const s=i[t];let o=!1,r=-1;for(;!o&&++r<K;){const t=Y[r];let i=t.isMultiMatch(s);i&&(n.push(new t(i,e)),o=!0)}if(!o)for(r=-1;++r<K;){const t=Y[r];let i=t.isSingleMatch(s);if(i){n.push(new t(i,e));break}}}return n}))}(this.pattern,this.options)}static condition(t,e){return e.useExtendedSearch}searchIn(t){const e=this.query;if(!e)return{isMatch:!1,score:1};const{includeMatches:i,isCaseSensitive:n}=this.options;t=n?t:t.toLowerCase();let s=0,o=[],r=0;for(let n=0,a=e.length;n<a;n+=1){const a=e[n];o.length=0,s=0;for(let e=0,n=a.length;e<n;e+=1){const n=a[e],{isMatch:c,indices:l,score:h}=n.search(t);if(!c){r=0,s=0,o.length=0;break}s+=1,r+=h,i&&(G.has(n.constructor.type)?o=[...o,...l]:o.push(l))}if(s){let t={isMatch:!0,score:r/s};return i&&(t.indices=o),t}}return{isMatch:!1,score:1}}});const rt=class{constructor(e){t(this,e),this.path="/kompendium.json",this.onMessage=this.onMessage.bind(this)}componentWillLoad(){this.createWebSocket(),this.fetchData()}watchData(){const t=ot.parseIndex(this.data.index.data);this.index=new ot(this.data.index.documents,{includeScore:!0,includeMatches:!0,ignoreLocation:!0,threshold:.4},t)}createWebSocket(){if(this.socket)return;const t=function(t){return`${"https:"===t.protocol?"wss:":"ws:"}//${t.hostname}:${t.port}/`}(location);this.socket=new WebSocket(t),this.socket.addEventListener("message",this.onMessage)}onMessage(t){var e;try{1===(null===(e=JSON.parse(t.data).buildLog)||void 0===e?void 0:e.progress)&&this.fetchData()}catch(t){console.error(t)}}async fetchData(){const t=await fetch(this.path);this.data=await t.json();const e=this.data.types.map((t=>t.name));s(e)}render(){return this.data?e("div",{class:"kompendium-body"},e("kompendium-navigation",{menu:this.data.menu,header:this.data.title,logo:this.data.logo,index:this.index}),e("main",{role:"main"},e("stencil-router",{historyType:"hash"},e("stencil-route-switch",{scrollTopOffset:0},e("stencil-route",{url:"/",component:"kompendium-markdown",componentProps:{text:this.data.readme},exact:!0}),e("stencil-route",{url:"/component/:name/:section?",component:"kompendium-component",componentProps:{docs:this.data.docs,schemas:this.data.schemas,examplePropsFactory:this.examplePropsFactory}}),e("stencil-route",{url:"/type/:name",component:"kompendium-type",componentProps:{types:this.data.types}}),e("stencil-route",{url:"/debug/:name",component:"kompendium-debug",componentProps:{docs:this.data.docs,schemas:this.data.schemas,examplePropsFactory:this.examplePropsFactory}}),e("stencil-route",{component:"kompendium-guide",componentProps:{data:this.data}}))))):e("div",{class:"loading-screen"},e("div",{class:"loading-screen-icon"}),e("div",{class:"loading-screen-text"},"Loading..."))}static get watchers(){return{data:["watchData"]}}};rt.style="*,*::before,*::after{box-sizing:border-box}ul[class],ol[class]{padding:0}body,h1,h2,h3,h4,p,ul[class],ol[class],li,figure,figcaption,blockquote,dl,dd{margin:0}ul[class],ol[class]{list-style:none}a:not([class]){text-decoration-skip-ink:auto}img{max-width:100%}input,button,textarea,select{font:inherit}@media (prefers-reduced-motion: reduce){*{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:root{--width-nav-panel:16rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{display:flex;flex-direction:row;align-items:center;justify-content:center;position:absolute;top:0;right:0;bottom:0;left:0}.loading-screen-icon{animation:spin 0.35s linear infinite;border-radius:50%;border-style:solid;border-width:0.125rem;border-color:rgb(var(--kompendium-color-blue-default));border-top-color:transparent;display:inline-block;height:1.25rem;width:1.25rem}.loading-screen-text{padding-left:0.75rem;color:rgb(var(--kompendium-contrast-1100))}:host{display:block;margin:0;padding:0}main{padding:1.25rem 2rem;margin-left:var(--width-nav-panel)}main kompendium-guide{display:block;width:100%;max-width:60rem}@media (max-width: 1000px){main{padding-top:2.625rem;margin-left:0}}";const at="system-default",ct=class{constructor(e){t(this,e),this.theme="system-default",this.getSelectRef=t=>{this.checkbox=t},this.handleSystemThemeChange=t=>{this.systemSettingIsDark=!!t.matches,this.theme===at&&(this.checkbox.checked=!this.checkbox.checked)},this.handleThemeChange=()=>{const t=!!this.checkbox.checked;let e=at;this.systemSettingIsDark?!1===t&&(e="force-light"):!0===t&&(e="force-dark"),this.setTheme(e),document.dispatchEvent(new CustomEvent(o,{detail:e}))},this.setTheme=t=>{this.theme=t,document.querySelector("html").dataset.theme=t,localStorage.setItem("kompendium-theme",t)},this.colorSchemeMediaQuery=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)")||{addEventListener:()=>{},matches:!1}}connectedCallback(){this.colorSchemeMediaQuery.addEventListener("change",this.handleSystemThemeChange)}disconnectedCallback(){this.colorSchemeMediaQuery.removeEventListener("change",this.handleSystemThemeChange)}componentWillLoad(){this.systemSettingIsDark=this.colorSchemeMediaQuery.matches,this.setTheme(localStorage.getItem("kompendium-theme")||at)}render(){return e("div",{class:"mode-toggle"},e("input",Object.assign({type:"checkbox",onChange:this.handleThemeChange,ref:this.getSelectRef},{checked:"force-dark"===this.theme||this.theme===at&&this.systemSettingIsDark})),e("div",{class:"mode-visualization"},e("div",{class:"circle"}),e("div",{class:"ray one"}),e("div",{class:"ray two"}),e("div",{class:"ray three"}),e("div",{class:"ray four"})))}};ct.style=':host{--toggle-size:1.25rem}:host *{box-sizing:border-box}.mode-toggle{margin:0.75rem;position:relative;width:var(--toggle-size);height:var(--toggle-size);transition:opacity 0.3s ease;opacity:0.7}.mode-toggle:hover{opacity:1}.mode-visualization{pointer-events:none;position:absolute;width:var(--toggle-size);height:var(--toggle-size)}.circle{transition:background-color 0.6s ease;border-radius:50%;width:var(--toggle-size);height:var(--toggle-size);overflow:hidden;display:flex;align-items:center;justify-content:center;transform:translate3d(0, 0, 0)}.circle:after{transition:transform 0.7s ease, background-color 0.4s ease;content:"";display:block;border-radius:50%;width:calc(var(--toggle-size) - 0.25rem);height:calc(var(--toggle-size) - 0.25rem)}.ray{transition:opacity 0.6s ease, transform 0.6s cubic-bezier(0.37, -0.03, 0.4, 1.18);position:absolute;top:0;left:0;width:var(--toggle-size);height:var(--toggle-size)}.ray:before,.ray:after{content:"";display:block;height:0.375rem;width:0.125rem;border-radius:var(--toggle-size);background-color:rgba(var(--kompendium-color-orange-light), 1);position:absolute;left:0;right:0;margin:auto}.ray:before{top:-0.5rem}.ray:after{bottom:-0.5rem}.ray.three:before,.ray.three:after,.ray.four:before,.ray.four:after{height:0.25rem}input[type=checkbox]{-webkit-appearance:none;position:absolute;width:100%;height:100%;margin:0;cursor:pointer;border-radius:0.125rem}input[type=checkbox]:focus{outline:none}input[type=checkbox]:focus-visible{outline:none;box-shadow:var(--kompendium-shadow-depth-8-focused)}input[type=checkbox]:not(:checked)+.mode-visualization .circle{background-color:rgba(var(--kompendium-color-orange-default), 1);box-shadow:0 0 0.5rem 0.125rem rgba(var(--kompendium-color-orange-light), 0.8), 0 0 0.25rem 0.1875rem rgb(var(--kompendium-color-white))}input[type=checkbox]:not(:checked)+.mode-visualization .circle:after{background-color:rgba(var(--kompendium-color-orange-default), 1);transform:translate3d(1rem, -1rem, 0)}input[type=checkbox]:not(:checked)+.mode-visualization .ray{opacity:0.6}input[type=checkbox]:not(:checked)+.mode-visualization .ray.three,input[type=checkbox]:not(:checked)+.mode-visualization .ray.four{opacity:0.4}input[type=checkbox]:not(:checked)+.mode-visualization .ray.one{transform:rotate(0deg) scale(1)}input[type=checkbox]:not(:checked)+.mode-visualization .ray.two{transform:rotate(90deg) scale(1)}input[type=checkbox]:not(:checked)+.mode-visualization .ray.three{transform:rotate(45deg) scale(1)}input[type=checkbox]:not(:checked)+.mode-visualization .ray.four{transform:rotate(-45deg) scale(1)}input[type=checkbox]:checked+.mode-visualization .circle{background-color:rgba(var(--kompendium-contrast-1700), 0.7);box-shadow:0 0 0.5rem 0.125rem rgba(var(--kompendium-color-white), 0.4), 0 0 0.25rem 0.125rem rgb(var(--kompendium-color-black))}input[type=checkbox]:checked+.mode-visualization .circle:after{transform:translate3d(0.25rem, -0.25rem, 0);background-color:rgb(var(--kompendium-contrast-400))}input[type=checkbox]:checked+.mode-visualization .ray{opacity:0}input[type=checkbox]:checked+.mode-visualization .ray.one{transform:rotate(60deg) scale(0.5)}input[type=checkbox]:checked+.mode-visualization .ray.two{transform:rotate(150deg) scale(0.5)}input[type=checkbox]:checked+.mode-visualization .ray.three{transform:rotate(105deg) scale(0.5)}input[type=checkbox]:checked+.mode-visualization .ray.four{transform:rotate(15deg) scale(0.5)}';const lt=class{constructor(e){t(this,e),this.route="",this.displayNavPanel=!1,this.toggleMenu=()=>{this.displayNavPanel=!this.displayNavPanel},this.stopPropagationOfNavClick=t=>{t.stopPropagation()},this.setRoute=this.setRoute.bind(this),this.renderMenuItem=this.renderMenuItem.bind(this)}connectedCallback(){window.addEventListener("hashchange",this.setRoute),this.setRoute()}disconnectedCallback(){window.removeEventListener("hashchange",this.setRoute)}setRoute(){this.route=location.hash.substr(1)}render(){return[e("div",{class:{"nav-panel-scrim":!0,"display-nav-panel":this.displayNavPanel},onClick:this.toggleMenu}),e("nav",{class:{"nav-panel":!0,"display-nav-panel":this.displayNavPanel},onClick:this.stopPropagationOfNavClick},e("a",{class:"nav-panel__responsive-menu",onClick:this.toggleMenu},e("span",null),e("span",null),e("span",null),e("span",null)),e("header",{class:"panel-header"},e("div",{class:"branding-and-mode"},e("h1",null,this.renderHeader()),e("kompendium-darkmode-switch",null)),e("kompendium-search",{index:this.index})),this.renderChapters(this.menu))]}renderHeader(){let t=this.header;return this.logo&&(t=e("img",{alt:this.header,src:this.logo})),e("a",{href:"#"},t)}renderChapters(t){if(t&&t.length)return e("ul",{class:"panel-list"},t.map(this.renderMenuItem),e("div",{class:"powered-by"},e("p",null,"Powered by ",e("a",{href:"https://github.com/jgroth/kompendium"},"Kompendium"))))}renderMenuItem(t){const i={active:this.isRouteActive(t.path),"panel-item":!0},n={active:this.isRouteActive(t.path),chapters:!0,"panel-list":!0},s=t.children||[],o={"panel-link":!0,active:this.isRouteActive(t.path),"has-children":!!s.length},r={};return s.length||(r.onClick=this.toggleMenu),e("li",{class:i},e("a",Object.assign({class:o,href:"#"+t.path},r),e("span",{class:"link-text"},t.title),e("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},e("path",{fill:"none",d:"M0 0h24v24H0z"}),e("path",{id:"arrow",d:"M13.172 12l-4.95-4.95 1.414-1.414L16 12l-6.364 6.364-1.414-1.414z",fill:"currentColor"}))),e("ul",{class:n},s.map(this.renderMenuItem)))}isRouteActive(t){return this.route.startsWith(t)}};lt.style='*,*::before,*::after{box-sizing:border-box}ul[class],ol[class]{padding:0}body,h1,h2,h3,h4,p,ul[class],ol[class],li,figure,figcaption,blockquote,dl,dd{margin:0}ul[class],ol[class]{list-style:none}a:not([class]){text-decoration-skip-ink:auto}img{max-width:100%}input,button,textarea,select{font:inherit}@media (prefers-reduced-motion: reduce){*{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:root{--width-nav-panel:16rem}:host{display:block;font-family:var(--kompendium-font-primary);--size-show-nav-panel-button:2.25rem}header a{text-decoration:none;color:unset}.nav-panel-scrim{display:none;z-index:99;position:fixed;top:0;right:0;bottom:0;left:0}.nav-panel{transition:transform 0.44s cubic-bezier(1, 0.12, 0.2, 0.88), background-color 0.3s ease;width:var(--width-nav-panel);height:100vh;position:fixed;background-color:rgb(var(--kompendium-contrast-400));display:flex;flex-direction:column}.nav-panel .panel-header{transition:border 0.3s ease;flex-direction:row;padding:1rem;border-bottom:1px solid rgb(var(--kompendium-contrast-600));margin-bottom:0.5rem}.nav-panel .panel-list{overflow-y:auto}.nav-panel .panel-list:not(.chapters){padding:0 0.75rem 2rem 0.75rem}.nav-panel.display-nav-panel{z-index:100}.branding-and-mode{display:flex;align-items:center;margin-bottom:0.75rem}.branding-and-mode h1{all:unset;font-size:1rem;font-weight:normal;color:rgb(var(--kompendium-contrast-900));flex-grow:1;line-height:1}.branding-and-mode a{border-radius:0.125rem}.branding-and-mode a:focus{outline:none}.branding-and-mode a:focus-visible{outline:none;box-shadow:var(--kompendium-shadow-depth-8-focused)}.branding-and-mode kompendium-darkmode-switch{position:relative;flex-shrink:0;margin-left:0.75rem;padding-left:0.5rem}.branding-and-mode kompendium-darkmode-switch:before{transition:background-color 0.3s ease;content:"";position:absolute;background-color:rgb(var(--kompendium-contrast-600));border-radius:0.5rem;height:1.25rem;width:0.125rem;left:0.0625rem;top:0;bottom:0;margin:auto}.powered-by{position:absolute;bottom:0;left:0;font-size:0.75rem;padding:0.5rem 0.75rem;background-color:rgba(var(--kompendium-contrast-100), 0.4);backdrop-filter:blur(0.25rem);width:100%}.powered-by p{padding-left:1.75rem;background-image:url(\'data:image/svg+xml;utf8,<svg viewBox="0 0 148 80" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path fill="none" d="M-.003 0h148v80h-148z"/><path d="M148.008 20c0-11.038-8.96-20-19.999-20H19.977c-11.038 0-20 8.962-20 20v40c0 11.038 8.962 20 20 20H128.01c11.038 0 20-8.962 20-20V20z" fill="rgb(36,71,88)"/><path d="M26.564 43.651v14.604H19.26V43.65h7.304zm0-7.302H19.26V21.745h7.304V36.35z" fill="rgb(255,160,0)"/><path d="M106.82 58.254v-7.303h7.304V43.65h7.304v-7.301h-7.304v-7.303h-7.304v-7.302h7.304v7.302h7.304v7.303h7.293v7.301h-7.293v7.302h-7.304v7.303h-7.304zm-43.812 0v-7.303h7.304V43.65h7.304v-7.301h7.303v-7.303h7.293v-7.302h7.304v7.302h-7.304v7.303H84.92v7.301h-7.303v7.302h-7.304v7.303h-7.304zm-14.597 0v-7.303h-7.304V43.65h-7.304v-7.301h7.304v-7.303h7.304v-7.302h7.293v7.302H48.41v7.303h-7.304v7.301h7.304v7.302h7.293v7.303H48.41z" fill="rgb(0,200,82)"/></svg>\');background-position:left center;background-repeat:no-repeat;background-size:1.5rem}.powered-by a{transition:color 0.2s ease;color:rgb(var(--kompendium-color-blue-default));text-decoration:none}.powered-by a:hover{color:rgb(var(--kompendium-color-blue-light))}.nav-panel__responsive-menu{transition:background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;box-shadow:var(--kompendium-button-shadow-normal);transition:all 0.2s ease;display:none;cursor:pointer;position:absolute;top:0.75rem;right:calc((var(--size-show-nav-panel-button) * -1) - 1rem);width:var(--size-show-nav-panel-button);height:var(--size-show-nav-panel-button);margin:0.25rem;border-radius:50%;text-align:center;font-weight:bold;background-color:rgba(var(--kompendium-contrast-200), 0.7);backdrop-filter:blur(0.25rem);color:rgb(var(--kompendium-contrast-900))}.nav-panel__responsive-menu:hover{box-shadow:var(--kompendium-button-shadow-hovered)}.nav-panel__responsive-menu:active{box-shadow:var(--kompendium-button-shadow-pressed);transform:translate3d(0, 0.08rem, 0)}.nav-panel__responsive-menu:focus{outline:none}.nav-panel__responsive-menu:focus-visible{outline:none;box-shadow:var(--kompendium-shadow-depth-8-focused)}.nav-panel__responsive-menu span{transition:background-color 0.2s ease, transform 0.2s ease 0.3s, opacity 0.15s ease 0.3s;display:block;position:absolute;left:0;right:0;margin:auto;height:0.125rem;width:1rem;border-radius:0.25rem;background-color:rgb(var(--kompendium-contrast-900))}.nav-panel__responsive-menu span:nth-child(1){top:0.75rem}.nav-panel__responsive-menu span:nth-child(2),.nav-panel__responsive-menu span:nth-child(3){top:0;bottom:0}.nav-panel__responsive-menu span:nth-child(4){bottom:0.75rem}.nav-panel__responsive-menu:hover span{background-color:rgb(var(--kompendium-contrast-1200))}@media (max-width: 1000px){.nav-panel-scrim.display-nav-panel{display:block}.nav-panel{transform:translate3d(calc(var(--width-nav-panel) * -1), 0, 0)}.nav-panel.display-nav-panel{transform:translate3d(0, 0, 0);box-shadow:0 0.09375rem 0.225rem 0 rgba(0, 0, 0, 0.232), 0 0.01875rem 0.05625rem 0 rgba(0, 0, 0, 0.208)}.nav-panel.display-nav-panel .nav-panel__responsive-menu{right:calc( (var(--size-show-nav-panel-button) * -1) - 0.3125rem );border-radius:0 0.5rem 0.5rem 0}.nav-panel.display-nav-panel .nav-panel__responsive-menu span:nth-child(1),.nav-panel.display-nav-panel .nav-panel__responsive-menu span:nth-child(4){transform:scaleX(0);opacity:0}.nav-panel.display-nav-panel .nav-panel__responsive-menu span:nth-child(2){transform:rotate(45deg)}.nav-panel.display-nav-panel .nav-panel__responsive-menu span:nth-child(3){transform:rotate(-45deg)}.nav-panel__responsive-menu{display:block}}.panel-item{transition:opacity 0.2s ease;width:100%;border-radius:0.375rem}.panel-item.active{background-color:rgb(var(--kompendium-contrast-100), 0.5)}.panel-link{display:grid;grid-auto-flow:column;grid-template-columns:1fr 1.75rem;line-height:1.75rem;color:rgb(var(--kompendium-contrast-900));text-decoration:none;border-radius:0.375rem}.panel-link:hover,.panel-link.active{color:rgb(var(--kompendium-color-blue-default))}.panel-link.active svg{transform:scale(0.64) rotate(-90deg)}.panel-link:focus{outline:none}.panel-link:focus-visible{outline:none;box-shadow:var(--kompendium-shadow-depth-8-focused)}.panel-link svg{visibility:hidden;transition:transform 0.2s ease;transform:scale(0.64) rotate(90deg);height:2rem}.panel-link.has-children svg{visibility:visible}.link-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%;padding-left:0.5rem}.chapters{height:0}.chapters>.panel-item{padding:0 0.5rem}.chapters:not(.active){visibility:hidden}.chapters.active{transition:height 0.2s ease;height:100%}.chapters.active .panel-item{opacity:1;transition-delay:0.2s}.chapters.active .panel-item:nth-child(1){transition-delay:0s}.chapters.active .panel-item:nth-child(2){transition-delay:0.04s}.chapters.active .panel-item:nth-child(3){transition-delay:0.06s}.chapters.active .panel-item:nth-child(4){transition-delay:0.08s}.chapters.active .panel-item:nth-child(5){transition-delay:0.1s}.chapters.active .panel-item:nth-child(6){transition-delay:0.12s}.chapters.active .panel-item:nth-child(7){transition-delay:0.14s}.chapters.active .panel-item:nth-child(8){transition-delay:0.15s}.chapters.active .panel-item:nth-child(9){transition-delay:0.16s}.chapters.active .panel-item:nth-child(10){transition-delay:0.17s}.chapters.active .panel-item:nth-child(11){transition-delay:0.18s}.chapters.active .panel-item:nth-child(12){transition-delay:0.19s}.chapters.active .panel-item:last-child{margin-bottom:0.5rem}.chapters .panel-link.has-children svg{visibility:hidden}.chapters .panel-item{opacity:0}.chapters .panel-item .chapters{font-size:0.8125rem;padding-left:0.5rem}.chapters .panel-item .chapters:first-child{margin-top:0.25rem}';var ht=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},dt="object"==typeof self&&self&&self.Object===Object&&self,ut="object"==typeof r&&r&&r.Object===Object&&r||dt||Function("return this")(),pt=function(){return ut.Date.now()},mt=/\s/,gt=/^\s+/,ft=function(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&mt.test(t.charAt(e)););return e}(t)+1).replace(gt,""):t},vt=ut.Symbol,bt=Object.prototype,kt=bt.hasOwnProperty,yt=bt.toString,wt=vt?vt.toStringTag:void 0,xt=Object.prototype.toString,Mt=vt?vt.toStringTag:void 0,zt=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Mt&&Mt in Object(t)?function(t){var e=kt.call(t,wt),i=t[wt];try{t[wt]=void 0;var n=!0}catch(t){}var s=yt.call(t);return n&&(e?t[wt]=i:delete t[wt]),s}(t):function(t){return xt.call(t)}(t)},Lt=/^[-+]0x[0-9a-f]+$/i,_t=/^0b[01]+$/i,jt=/^0o[0-7]+$/i,St=parseInt,Ct=function(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return null!=t&&"object"==typeof t}(t)&&"[object Symbol]"==zt(t)}(t))return NaN;if(ht(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=ht(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=ft(t);var i=_t.test(t);return i||jt.test(t)?St(t.slice(2),i?2:8):Lt.test(t)?NaN:+t},Pt=Math.max,Ot=Math.min;const $t=class{constructor(i){t(this,i),this.documents=[],this.renderDocument=t=>e("li",null,e("a",{href:"#"+t.path,onClick:this.handleLinkClick},e("span",{class:"link-text"},t.title))),this.handleChangeInput=t=>{this.search(t.target.value)},this.handleLinkClick=()=>{var t;null===(t=this.host.shadowRoot.activeElement)||void 0===t||t.blur()},this.search=function(t,e,i){var n,s,o,r,a,c,l=0,h=!1,d=!1,u=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function p(e){var i=n,o=s;return n=s=void 0,l=e,r=t.apply(o,i)}function m(t){return l=t,a=setTimeout(f,e),h?p(t):r}function g(t){var i=t-c;return void 0===c||i>=e||i<0||d&&t-l>=o}function f(){var t=pt();if(g(t))return v(t);a=setTimeout(f,function(t){var i=e-(t-c);return d?Ot(i,o-(t-l)):i}(t))}function v(t){return a=void 0,u&&n?p(t):(n=s=void 0,r)}function b(){var t=pt(),i=g(t);if(n=arguments,s=this,c=t,i){if(void 0===a)return m(c);if(d)return clearTimeout(a),a=setTimeout(f,e),p(c)}return void 0===a&&(a=setTimeout(f,e)),r}return e=Ct(e)||0,ht(i)&&(h=!!i.leading,o=(d="maxWait"in i)?Pt(Ct(i.maxWait)||0,e):o,u="trailing"in i?!!i.trailing:u),b.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=s=a=void 0},b.flush=function(){return void 0===a?r:v(pt())},b}(this.search,300)}componentDidLoad(){this.host.shadowRoot.querySelector("input").focus()}render(){const t={result:!0,"has-results":this.documents.length>0};return e("div",{class:"search-box"},e("input",{type:"search",autoFocus:!0,placeholder:"Search",onInput:this.handleChangeInput}),e("ul",{class:t},this.documents.map(this.renderDocument)))}search(t){const e=this.index.search(t);this.documents=e.map((t=>t.item)).slice(0,10)}get host(){return i(this)}};$t.style='*,*::before,*::after{box-sizing:border-box}ul[class],ol[class]{padding:0}body,h1,h2,h3,h4,p,ul[class],ol[class],li,figure,figcaption,blockquote,dl,dd{margin:0}ul[class],ol[class]{list-style:none}a:not([class]){text-decoration-skip-ink:auto}img{max-width:100%}input,button,textarea,select{font:inherit}@media (prefers-reduced-motion: reduce){*{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host{display:block}:host(:focus) .result.has-results,:host(:focus-within) .result.has-results{display:block}@keyframes display-search-results{0%{opacity:0;transform:translate3d(0, -1.25rem, -1rem) rotateX(10deg)}50%{opacity:1}100%{transform:translate3d(0, 0, 0) rotateX(0)}}.search-box{z-index:1;display:flex;flex-direction:column;position:relative;perspective:60rem}.search-box .result.has-results{animation:display-search-results 0.28s ease-out forwards;position:absolute;background:rgb(var(--kompendium-contrast-200));padding:0.5rem;margin-top:2rem;width:100%;border-radius:5px;box-shadow:var(--kompendium-shadow-depth-16);display:none;max-height:calc(100vh - 6rem);overflow-y:auto}.search-box .result.has-results li a{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transition:background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;display:block;width:100%;padding:0.5rem 0.75rem;border-radius:0.25rem}.search-box .result.has-results li a:hover{box-shadow:var(--kompendium-button-shadow-hovered)}.search-box .result.has-results li a:active{box-shadow:var(--kompendium-button-shadow-pressed);transform:translate3d(0, 0.08rem, 0)}.search-box .result.has-results li a:focus{outline:none}.search-box .result.has-results li a:focus-visible{outline:none;box-shadow:var(--kompendium-shadow-depth-8-focused)}.search-box .result.has-results li:hover a{background:rgb(var(--kompendium-contrast-100))}input{transition:background-color 0.2s ease;border:0;border-radius:0.25rem;padding:0 0.25rem 0 2.25rem;color:rgb(var(--kompendium-contrast-1200));height:2rem;line-height:2rem;-webkit-appearance:textfield;background-color:rgb(var(--kompendium-contrast-300));background-image:url(\'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5" clip-rule="evenodd" viewBox="0 0 400 400"><defs/><path fill="none" d="M0 0h400v400H0z"/><path d="M275.621 258.31l-16.962 16.979 50.965 50.964.008.009c4.637 4.637 12.268 4.637 16.905 0l.032-.033c4.687-4.687 4.642-12.33.025-16.946l-50.964-50.965-.009-.008z" fill="rgb(48,48,66)"/><circle cx="200" cy="200" r="99.5" fill="rgb(33,150,243)" fill-opacity=".3" stroke="rgb(48,48,66)" stroke-width="13.27" transform="translate(19.096 19.096) scale(.90452)"/><ellipse cx="163.443" cy="186.777" rx="32.324" ry="22.133" fill="rgb(255,255,255)" fill-opacity=".3" transform="rotate(-45 128.405 173.5)"/></svg>\');background-repeat:no-repeat;background-position:left center}input::placeholder{color:rgb(var(--kompendium-contrast-800))}input:active,input:focus,input:hover{background-color:rgb(var(--kompendium-contrast-200))}input:focus{outline:none}input::-webkit-search-cancel-button{-webkit-appearance:none;transition:background-color 0.2s ease;height:1.25rem;width:1.25rem;border-radius:50%;cursor:pointer;background-color:rgb(var(--kompendium-contrast-800));background-repeat:no-repeat;background-position:center;background-size:0.75rem;background-image:url("data:image/svg+xml; utf8, <svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 32 32\'><defs/><path fill=\'rgb(255,255,255)\' d=\'M7.219 5.781L5.78 7.22 14.563 16 5.78 24.781 7.22 26.22 16 17.437l8.781 8.782 1.438-1.438L17.437 16l8.782-8.781L24.78 5.78 16 14.563z\'/></svg>")}input::-webkit-search-cancel-button:hover{background-color:rgb(var(--kompendium-contrast-1000))}a{text-decoration:none;color:unset}a:hover,a.active{color:rgb(var(--kompendium-color-blue-default))}';const At=class{constructor(e){t(this,e),this.group=null,this.match=null,this.componentProps={},this.exact=!1,this.scrollOnNextRender=!1,this.previousMatch=null}computeMatch(t){const e=null!=this.group||null!=this.el.parentElement&&"stencil-route-switch"===this.el.parentElement.tagName.toLowerCase();if(t&&!e)return this.previousMatch=this.match,this.match=a(t.pathname,{path:this.url,exact:this.exact,strict:!0})}async loadCompleted(){let t={};this.history&&this.history.location.hash?t={scrollToId:this.history.location.hash.substr(1)}:this.scrollTopOffset&&(t={scrollTopOffset:this.scrollTopOffset}),"function"==typeof this.componentUpdated?this.componentUpdated(t):this.match&&!c(this.match,this.previousMatch)&&this.routeViewsUpdated&&this.routeViewsUpdated(t)}async componentDidUpdate(){await this.loadCompleted()}async componentDidLoad(){await this.loadCompleted()}render(){if(!this.match||!this.history)return null;const t=Object.assign({},this.componentProps,{history:this.history,match:this.match});return this.routeRender?this.routeRender(Object.assign({},t,{component:this.component})):this.component?e(this.component,Object.assign({},t)):void 0}get el(){return i(this)}static get watchers(){return{location:["computeMatch"]}}};z.injectProps(At,["location","history","historyType","routeViewsUpdated"]),At.style="stencil-route.inactive{display:none}";const Rt=t=>"STENCIL-ROUTE"===t.tagName,Tt=class{constructor(e){t(this,e),this.group=((1e17*Math.random()).toString().match(/.{4}/g)||[]).join("-"),this.subscribers=[],this.queue=n(this,"queue")}componentWillLoad(){null!=this.location&&this.regenerateSubscribers(this.location)}async regenerateSubscribers(t){if(null==t)return;let e=-1;if(this.subscribers=Array.prototype.slice.call(this.el.children).filter(Rt).map(((i,n)=>{const s=a(t.pathname,{path:i.url,exact:i.exact,strict:!0});return s&&-1===e&&(e=n),{el:i,match:s}})),-1===e)return;if(this.activeIndex===e)return void(this.subscribers[e].el.match=this.subscribers[e].match);this.activeIndex=e;const i=this.subscribers[this.activeIndex];this.scrollTopOffset&&(i.el.scrollTopOffset=this.scrollTopOffset),i.el.group=this.group,i.el.match=i.match,i.el.componentUpdated=t=>{this.queue.write((()=>{this.subscribers.forEach(((t,e)=>{if(t.el.componentUpdated=void 0,e===this.activeIndex)return t.el.style.display="";this.scrollTopOffset&&(t.el.scrollTopOffset=this.scrollTopOffset),t.el.group=this.group,t.el.match=null,t.el.style.display="none"}))})),this.routeViewsUpdated&&this.routeViewsUpdated(Object.assign({scrollTopOffset:this.scrollTopOffset},t))}}render(){return e("slot",null)}get el(){return i(this)}static get watchers(){return{location:["regenerateSubscribers"]}}};z.injectProps(Tt,["location","routeViewsUpdated"]);const Ft=(t,...e)=>{t||console.warn(...e)},Ht=()=>{let t,e=[];return{setPrompt:e=>(Ft(null==t,"A history supports only one prompt at a time"),t=e,()=>{t===e&&(t=null)}),confirmTransitionTo:(e,i,n,s)=>{if(null!=t){const o="function"==typeof t?t(e,i):t;"string"==typeof o?"function"==typeof n?n(o,s):(Ft(!1,"A history needs a getUserConfirmation function in order to use a prompt message"),s(!0)):s(!1!==o)}else s(!0)},appendListener:t=>{let i=!0;const n=(...e)=>{i&&t(...e)};return e.push(n),()=>{i=!1,e=e.filter((t=>t!==n))}},notifyListeners:(...t)=>{e.forEach((e=>e(...t)))}}},It=(t,e="scrollPositions")=>{let i=new Map;const n=(e,n)=>{if(i.set(e,n),l(t,"sessionStorage")){const e=[];i.forEach(((t,i)=>{e.push([i,t])})),t.sessionStorage.setItem("scrollPositions",JSON.stringify(e))}};if(l(t,"sessionStorage")){const n=t.sessionStorage.getItem(e);i=n?new Map(JSON.parse(n)):i}return"scrollRestoration"in t.history&&(history.scrollRestoration="manual"),{set:n,get:t=>i.get(t),has:t=>i.has(t),capture:e=>{n(e,[t.scrollX,t.scrollY])}}},Et={hashbang:{encodePath:t=>"!"===t.charAt(0)?t:"!/"+x(t),decodePath:t=>"!"===t.charAt(0)?t.substr(1):t},noslash:{encodePath:x,decodePath:p},slash:{encodePath:p,decodePath:p}},Nt=(t,e)=>{const i=0==t.pathname.indexOf(e)?"/"+t.pathname.slice(e.length):t.pathname;return Object.assign({},t,{pathname:i})},Ut={browser:(t,e={})=>{let i=!1;const n=t.history,s=t.location,o=t.navigator,r=h(t),a=!d(o),c=It(t),l=null!=e.forceRefresh&&e.forceRefresh,w=null!=e.getUserConfirmation?e.getUserConfirmation:k,x=null!=e.keyLength?e.keyLength:6,M=e.basename?u(p(e.basename)):"",z=()=>{try{return t.history.state||{}}catch(t){return{}}},L=t=>{t=t||{};const{key:e,state:i}=t,{pathname:n,search:o,hash:r}=s;let a=n+o+r;return Ft(!M||f(a,M),'You are attempting to use a basename on a page whose URL path does not begin with the basename. Expected path "'+a+'" to begin with "'+M+'".'),M&&(a=v(a,M)),m(a,i,e||g(x))},_=Ht(),j=t=>{c.capture(E.location.key),Object.assign(E,t),E.location.scrollPosition=c.get(E.location.key),E.length=n.length,_.notifyListeners(E.location,E.action)},S=t=>{y(o,t)||P(L(t.state))},C=()=>{P(L(z()))},P=t=>{if(i)i=!1,j();else{const e="POP";_.confirmTransitionTo(t,e,w,(i=>{i?j({action:e,location:t}):O(t)}))}},O=t=>{let e=A.indexOf(E.location.key),n=A.indexOf(t.key);-1===e&&(e=0),-1===n&&(n=0);const s=e-n;s&&(i=!0,H(s))},$=L(z());let A=[$.key],R=0,T=!1;const F=t=>M+b(t),H=t=>{n.go(t)},I=e=>{R+=e,1===R?(t.addEventListener("popstate",S),a&&t.addEventListener("hashchange",C)):0===R&&(t.removeEventListener("popstate",S),a&&t.removeEventListener("hashchange",C))},E={length:n.length,action:"POP",location:$,createHref:F,push:(t,e)=>{Ft(!("object"==typeof t&&void 0!==t.state&&void 0!==e),"You should avoid providing a 2nd state argument to push when the 1st argument is a location-like object that already has state; it is ignored");const i="PUSH",o=m(t,e,g(x),E.location);_.confirmTransitionTo(o,i,w,(t=>{if(!t)return;const e=F(o),{key:a,state:c}=o;if(r)if(n.pushState({key:a,state:c},"",e),l)s.href=e;else{const t=A.indexOf(E.location.key),e=A.slice(0,-1===t?0:t+1);e.push(o.key),A=e,j({action:i,location:o})}else Ft(void 0===c,"Browser history cannot push state in browsers that do not support HTML5 history"),s.href=e}))},replace:(t,e)=>{Ft(!("object"==typeof t&&void 0!==t.state&&void 0!==e),"You should avoid providing a 2nd state argument to replace when the 1st argument is a location-like object that already has state; it is ignored");const i="REPLACE",o=m(t,e,g(x),E.location);_.confirmTransitionTo(o,i,w,(t=>{if(!t)return;const e=F(o),{key:a,state:c}=o;if(r)if(n.replaceState({key:a,state:c},"",e),l)s.replace(e);else{const t=A.indexOf(E.location.key);-1!==t&&(A[t]=o.key),j({action:i,location:o})}else Ft(void 0===c,"Browser history cannot replace state in browsers that do not support HTML5 history"),s.replace(e)}))},go:H,goBack:()=>H(-1),goForward:()=>H(1),block:(t="")=>{const e=_.setPrompt(t);return T||(I(1),T=!0),()=>(T&&(T=!1,I(-1)),e())},listen:t=>{const e=_.appendListener(t);return I(1),()=>{I(-1),e()}},win:t};return E},hash:(t,e={})=>{let i=!1,n=null,s=0,o=!1;const r=t.location,a=t.history,c=w(t.navigator),l=null!=e.keyLength?e.keyLength:6,{getUserConfirmation:h=k,hashType:d="slash"}=e,y=e.basename?u(p(e.basename)):"",{encodePath:x,decodePath:z}=Et[d],L=()=>{const t=r.href,e=t.indexOf("#");return-1===e?"":t.substring(e+1)},_=t=>{const e=r.href.indexOf("#");r.replace(r.href.slice(0,e>=0?e:0)+"#"+t)},j=()=>{let t=z(L());return Ft(!y||f(t,y),'You are attempting to use a basename on a page whose URL path does not begin with the basename. Expected path "'+t+'" to begin with "'+y+'".'),y&&(t=v(t,y)),m(t,void 0,g(l))},S=Ht(),C=t=>{Object.assign(E,t),E.length=a.length,S.notifyListeners(E.location,E.action)},P=()=>{const t=L(),e=x(t);if(t!==e)_(e);else{const t=j(),e=E.location;if(!i&&M(e,t))return;if(n===b(t))return;n=null,O(t)}},O=t=>{if(i)i=!1,C();else{const e="POP";S.confirmTransitionTo(t,e,h,(i=>{i?C({action:e,location:t}):$(t)}))}},$=t=>{let e=F.lastIndexOf(b(E.location)),n=F.lastIndexOf(b(t));-1===e&&(e=0),-1===n&&(n=0);const s=e-n;s&&(i=!0,H(s))},A=L(),R=x(A);A!==R&&_(R);const T=j();let F=[b(T)];const H=t=>{Ft(c,"Hash history go(n) causes a full page reload in this browser"),a.go(t)},I=(t,e)=>{s+=e,1===s?t.addEventListener("hashchange",P):0===s&&t.removeEventListener("hashchange",P)},E={length:a.length,action:"POP",location:T,createHref:t=>"#"+x(y+b(t)),push:(t,e)=>{Ft(void 0===e,"Hash history cannot push state; it is ignored");const i="PUSH",s=m(t,void 0,g(l),E.location);S.confirmTransitionTo(s,i,h,(t=>{if(!t)return;const e=b(s),o=x(y+e);if(L()!==o){n=e,(t=>{r.hash=t})(o);const t=F.lastIndexOf(b(E.location)),a=F.slice(0,-1===t?0:t+1);a.push(e),F=a,C({action:i,location:s})}else Ft(!1,"Hash history cannot PUSH the same path; a new entry will not be added to the history stack"),C()}))},replace:(t,e)=>{Ft(void 0===e,"Hash history cannot replace state; it is ignored");const i="REPLACE",s=m(t,void 0,g(l),E.location);S.confirmTransitionTo(s,i,h,(t=>{if(!t)return;const e=b(s),o=x(y+e);L()!==o&&(n=e,_(o));const r=F.indexOf(b(E.location));-1!==r&&(F[r]=e),C({action:i,location:s})}))},go:H,goBack:()=>H(-1),goForward:()=>