From 87ececb9084c14e16d4d6ed1de05acc1f3c6af1d Mon Sep 17 00:00:00 2001 From: Ryan Wang Date: Thu, 6 Oct 2022 22:06:43 +0800 Subject: [PATCH] feat: add overlay menu for mobile device Signed-off-by: Ryan Wang --- env.d.ts | 10 ++ package.json | 4 +- pnpm-lock.yaml | 36 +++++ src/main.ts | 6 + templates/assets/dist/main.iife.js | 8 +- templates/assets/dist/style.css | 2 +- templates/modules/footer.html | 15 ++- templates/modules/header.html | 8 +- templates/modules/layout.html | 5 +- templates/modules/overlay-menu.html | 177 +++++++++++++++++++++++++ templates/modules/widgets/profile.html | 8 +- tsconfig.json | 2 +- 12 files changed, 265 insertions(+), 16 deletions(-) create mode 100644 env.d.ts create mode 100644 templates/modules/overlay-menu.html diff --git a/env.d.ts b/env.d.ts new file mode 100644 index 0000000..700587a --- /dev/null +++ b/env.d.ts @@ -0,0 +1,10 @@ +/// +import type { Alpine } from "alpinejs"; + +export {}; + +declare global { + interface Window { + Alpine: Alpine; + } +} diff --git a/package.json b/package.json index 53b5193..7ad8af1 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "@iconify/json": "^2.1.118", "@tailwindcss/aspect-ratio": "^0.4.2", "@tailwindcss/typography": "^0.5.7", + "@types/alpinejs": "^3.7.0", "@types/node": "16", "@typescript-eslint/eslint-plugin": "^5.39.0", "@typescript-eslint/parser": "^5.39.0", @@ -55,6 +56,7 @@ "vite-plugin-purge-icons": "^0.9.1" }, "dependencies": { - "@iconify/iconify": "^3.0.0" + "@iconify/iconify": "^3.0.0", + "alpinejs": "^3.10.3" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e48d491..398a6ae 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,9 +5,11 @@ specifiers: '@iconify/json': ^2.1.118 '@tailwindcss/aspect-ratio': ^0.4.2 '@tailwindcss/typography': ^0.5.7 + '@types/alpinejs': ^3.7.0 '@types/node': '16' '@typescript-eslint/eslint-plugin': ^5.39.0 '@typescript-eslint/parser': ^5.39.0 + alpinejs: ^3.10.3 autoprefixer: ^10.4.12 eslint: ^8.24.0 eslint-config-prettier: ^8.5.0 @@ -22,11 +24,13 @@ specifiers: dependencies: '@iconify/iconify': 3.0.0 + alpinejs: 3.10.3 devDependencies: '@iconify/json': 2.1.118 '@tailwindcss/aspect-ratio': 0.4.2_tailwindcss@3.1.8 '@tailwindcss/typography': 0.5.7_tailwindcss@3.1.8 + '@types/alpinejs': 3.7.0 '@types/node': 16.11.64 '@typescript-eslint/eslint-plugin': 5.39.0_c7dhob3nbh3wwlahpgade2jupi '@typescript-eslint/parser': 5.39.0_4at4lsfnhb3djm6qjts2gmiglm @@ -186,6 +190,12 @@ packages: tailwindcss: 3.1.8_postcss@8.4.17 dev: true + /@types/alpinejs/3.7.0: + resolution: {integrity: sha512-iMvJwgJHYFUlMOixKF68BmMQZbnxVA/erh1blbfhY8Z6u6oleEJViz8bye58roLOp8jyBNOsXtobyq7zR/7A2g==} + dependencies: + '@vue/reactivity': 3.2.40 + dev: true + /@types/json-schema/7.0.11: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true @@ -320,6 +330,26 @@ packages: eslint-visitor-keys: 3.3.0 dev: true + /@vue/reactivity/3.1.5: + resolution: {integrity: sha512-1tdfLmNjWG6t/CsPldh+foumYFo3cpyCHgBYQ34ylaMsJ+SNHQ1kApMIa8jN+i593zQuaw3AdWH0nJTARzCFhg==} + dependencies: + '@vue/shared': 3.1.5 + dev: false + + /@vue/reactivity/3.2.40: + resolution: {integrity: sha512-N9qgGLlZmtUBMHF9xDT4EkD9RdXde1Xbveb+niWMXuHVWQP5BzgRmE3SFyUBBcyayG4y1lhoz+lphGRRxxK4RA==} + dependencies: + '@vue/shared': 3.2.40 + dev: true + + /@vue/shared/3.1.5: + resolution: {integrity: sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==} + dev: false + + /@vue/shared/3.2.40: + resolution: {integrity: sha512-0PLQ6RUtZM0vO3teRfzGi4ltLUO5aO+kLgwh4Um3THSR03rpQWLTuRCkuO5A41ITzwdWeKdPHtSARuPkoo5pCQ==} + dev: true + /acorn-jsx/5.3.2_acorn@8.8.0: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -362,6 +392,12 @@ packages: uri-js: 4.4.1 dev: true + /alpinejs/3.10.3: + resolution: {integrity: sha512-nt/w4hLq9pPaexCsHmO5zV5Alvq4yu9n0Iclti6aV0HmiqLWH/axUb0pn8z3XVuVNcj8EOXOQw+WpwPzMzLBWg==} + dependencies: + '@vue/reactivity': 3.1.5 + dev: false + /ansi-regex/5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} diff --git a/src/main.ts b/src/main.ts index 8e7455f..6ad7f69 100644 --- a/src/main.ts +++ b/src/main.ts @@ -2,6 +2,12 @@ import "./styles/tailwind.css"; import "./styles/main.css"; import "@purge-icons/generated"; +import Alpine from "alpinejs"; + +window.Alpine = Alpine; + +Alpine.start(); + const onScroll = () => { const headerMenu = document.getElementById("header-menu"); if (window.scrollY > 0) { diff --git a/templates/assets/dist/main.iife.js b/templates/assets/dist/main.iife.js index 0ca984e..64120ba 100644 --- a/templates/assets/dist/main.iife.js +++ b/templates/assets/dist/main.iife.js @@ -1,4 +1,4 @@ -(function(){"use strict";const Tn="",jn="";/** +(function(){"use strict";const kc="",Tc="";/** * (c) Iconify * * For the full copyright and license information, please view the license.txt or license.gpl.txt @@ -8,4 +8,8 @@ * * @license MIT * @version 3.0.0 -*/const bt=Object.freeze({left:0,top:0,width:16,height:16}),R=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),L=Object.freeze({...bt,...R}),Y=Object.freeze({...L,body:"",hidden:!1});function le(t,e){const n={};!t.hFlip!=!e.hFlip&&(n.hFlip=!0),!t.vFlip!=!e.vFlip&&(n.vFlip=!0);const r=((t.rotate||0)+(e.rotate||0))%4;return r&&(n.rotate=r),n}function wt(t,e){const n=le(t,e);for(const r in Y)r in R?r in t&&!(r in n)&&(n[r]=R[r]):r in e?n[r]=e[r]:r in t&&(n[r]=t[r]);return n}function ue(t,e){const n=t.icons,r=t.aliases||{},o=Object.create(null);function s(i){if(n[i])return o[i]=[];if(!(i in o)){o[i]=null;const c=r[i]&&r[i].parent,a=c&&s(c);a&&(o[i]=[c].concat(a))}return o[i]}return(e||Object.keys(n).concat(Object.keys(r))).forEach(s),o}function fe(t,e,n){const r=t.icons,o=t.aliases||{};let s={};function i(c){s=wt(r[c]||o[c],s)}return i(e),n.forEach(i),wt(t,s)}function vt(t,e){const n=[];if(typeof t!="object"||typeof t.icons!="object")return n;t.not_found instanceof Array&&t.not_found.forEach(o=>{e(o,null),n.push(o)});const r=ue(t);for(const o in r){const s=r[o];s&&(e(o,fe(t,o,s)),n.push(o))}return n}const T=/^[a-z0-9]+(-[a-z0-9]+)*$/,C=(t,e,n,r="")=>{const o=t.split(":");if(t.slice(0,1)==="@"){if(o.length<2||o.length>3)return null;r=o.shift().slice(1)}if(o.length>3||!o.length)return null;if(o.length>1){const c=o.pop(),a=o.pop(),u={provider:o.length>0?o[0]:r,prefix:a,name:c};return e&&!V(u)?null:u}const s=o[0],i=s.split("-");if(i.length>1){const c={provider:r,prefix:i.shift(),name:i.join("-")};return e&&!V(c)?null:c}if(n&&r===""){const c={provider:r,prefix:"",name:s};return e&&!V(c,n)?null:c}return null},V=(t,e)=>t?!!((t.provider===""||t.provider.match(T))&&(e&&t.prefix===""||t.prefix.match(T))&&t.name.match(T)):!1,de={provider:"",aliases:{},not_found:{},...bt};function Z(t,e){for(const n in e)if(n in t&&typeof t[n]!=typeof e[n])return!1;return!0}function St(t){if(typeof t!="object"||t===null)return null;const e=t;if(typeof e.prefix!="string"||!t.icons||typeof t.icons!="object"||!Z(t,de))return null;const n=e.icons;for(const o in n){const s=n[o];if(!o.match(T)||typeof s.body!="string"||!Z(s,Y))return null}const r=e.aliases||{};for(const o in r){const s=r[o],i=s.parent;if(!o.match(T)||typeof i!="string"||!n[i]&&!r[i]||!Z(s,Y))return null}return e}const B=Object.create(null);function he(t,e){return{provider:t,prefix:e,icons:Object.create(null),missing:new Set}}function b(t,e){const n=B[t]||(B[t]=Object.create(null));return n[e]||(n[e]=he(t,e))}function X(t,e){return St(e)?vt(e,(n,r)=>{r?t.icons[n]=r:t.missing.add(n)}):[]}function pe(t,e,n){try{if(typeof n.body=="string")return t.icons[e]={...n},!0}catch{}return!1}function ge(t,e){let n=[];return(typeof t=="string"?[t]:Object.keys(B)).forEach(o=>{(typeof o=="string"&&typeof e=="string"?[e]:Object.keys(B[o]||{})).forEach(i=>{const c=b(o,i);n=n.concat(Object.keys(c.icons).map(a=>(o!==""?"@"+o+":":"")+i+":"+a))})}),n}let j=!1;function me(t){return typeof t=="boolean"&&(j=t),j}function A(t){const e=typeof t=="string"?C(t,!0,j):t;if(e){const n=b(e.provider,e.prefix),r=e.name;return n.icons[r]||(n.missing.has(r)?null:void 0)}}function xt(t,e){const n=C(t,!0,j);if(!n)return!1;const r=b(n.provider,n.prefix);return pe(r,n.name,e)}function kt(t,e){if(typeof t!="object")return!1;if(typeof e!="string"&&(e=t.provider||""),j&&!e&&!t.prefix){let o=!1;return St(t)&&(t.prefix="",vt(t,(s,i)=>{i&&xt(s,i)&&(o=!0)})),o}const n=t.prefix;if(!V({provider:e,prefix:n,name:"a"}))return!1;const r=b(e,n);return!!X(r,t)}function ye(t){return!!A(t)}function be(t){const e=A(t);return e?{...L,...e}:null}const It=Object.freeze({width:null,height:null}),Ct=Object.freeze({...It,...R}),we=/(-?[0-9.]*[0-9]+[0-9.]*)/g,ve=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function tt(t,e,n){if(e===1)return t;if(n=n||100,typeof t=="number")return Math.ceil(t*e*n)/n;if(typeof t!="string")return t;const r=t.split(we);if(r===null||!r.length)return t;const o=[];let s=r.shift(),i=ve.test(s);for(;;){if(i){const c=parseFloat(s);isNaN(c)?o.push(s):o.push(Math.ceil(c*e*n)/n)}else o.push(s);if(s=r.shift(),s===void 0)return o.join("");i=!i}}function H(t,e){const n={...L,...t},r={...Ct,...e},o={left:n.left,top:n.top,width:n.width,height:n.height};let s=n.body;[n,r].forEach(g=>{const p=[],M=g.hFlip,S=g.vFlip;let w=g.rotate;M?S?w+=2:(p.push("translate("+(o.width+o.left).toString()+" "+(0-o.top).toString()+")"),p.push("scale(-1 1)"),o.top=o.left=0):S&&(p.push("translate("+(0-o.left).toString()+" "+(o.height+o.top).toString()+")"),p.push("scale(1 -1)"),o.top=o.left=0);let m;switch(w<0&&(w-=Math.floor(w/4)*4),w=w%4,w){case 1:m=o.height/2+o.top,p.unshift("rotate(90 "+m.toString()+" "+m.toString()+")");break;case 2:p.unshift("rotate(180 "+(o.width/2+o.left).toString()+" "+(o.height/2+o.top).toString()+")");break;case 3:m=o.width/2+o.left,p.unshift("rotate(-90 "+m.toString()+" "+m.toString()+")");break}w%2===1&&(o.left!==o.top&&(m=o.left,o.left=o.top,o.top=m),o.width!==o.height&&(m=o.width,o.width=o.height,o.height=m)),p.length&&(s=''+s+"")});const i=r.width,c=r.height,a=o.width,u=o.height;let l,f;return i===null?(f=c===null?"1em":c==="auto"?u:c,l=tt(f,a/u)):(l=i==="auto"?a:i,f=c===null?tt(l,u/a):c==="auto"?u:c),{attributes:{width:l.toString(),height:f.toString(),viewBox:o.left.toString()+" "+o.top.toString()+" "+a.toString()+" "+u.toString()},body:s}}const Se=/\sid="(\S+)"/g,xe="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let ke=0;function Et(t,e=xe){const n=[];let r;for(;r=Se.exec(t);)n.push(r[1]);return n.length&&n.forEach(o=>{const s=typeof e=="function"?e(o):e+(ke++).toString(),i=o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+i+')([")]|\\.[a-z])',"g"),"$1"+s+"$3")}),t}const x={local:!0,session:!0},Mt={local:new Set,session:new Set};let et=!1;function Ie(t){et=t}const Lt="iconify2",O="iconify",Tt=O+"-count",jt=O+"-version",At=36e5,Ce=168;function nt(t,e){try{return t.getItem(e)}catch{}}function ot(t,e,n){try{return t.setItem(e,n),!0}catch{}}function Ot(t,e){try{t.removeItem(e)}catch{}}function rt(t,e){return ot(t,Tt,e.toString())}function st(t){return parseInt(nt(t,Tt))||0}let q=typeof window>"u"?{}:window;function Pt(t){const e=t+"Storage";try{if(q&&q[e]&&typeof q[e].length=="number")return q[e]}catch{}x[t]=!1}function Ft(t,e){const n=Pt(t);if(!n)return;const r=nt(n,jt);if(r!==Lt){if(r){const c=st(n);for(let a=0;a{const a=O+c.toString(),u=nt(n,a);if(typeof u=="string"){try{const l=JSON.parse(u);if(typeof l=="object"&&typeof l.cached=="number"&&l.cached>o&&typeof l.provider=="string"&&typeof l.data=="object"&&typeof l.data.prefix=="string"&&e(l,c))return!0}catch{}Ot(n,a)}};let i=st(n);for(let c=i-1;c>=0;c--)s(c)||(c===i-1?(i--,rt(n,i)):Mt[t].add(c))}function zt(){if(!et){Ie(!0);for(const t in x)Ft(t,e=>{const n=e.data,r=e.provider,o=n.prefix,s=b(r,o);if(!X(s,n).length)return!1;const i=n.lastModified||-1;return s.lastModifiedCached=s.lastModifiedCached?Math.min(s.lastModifiedCached,i):i,!0})}}function Nt(t,e){switch(t){case"local":case"session":x[t]=e;break;case"all":for(const n in x)x[n]=e;break}}const it=Object.create(null);function Dt(t,e){it[t]=e}function ct(t){return it[t]||it[""]}function at(t){let e;if(typeof t.resources=="string")e=[t.resources];else if(e=t.resources,!(e instanceof Array)||!e.length)return null;return{resources:e,path:t.path||"/",maxURL:t.maxURL||500,rotate:t.rotate||750,timeout:t.timeout||5e3,random:t.random===!0,index:t.index||0,dataAfterTimeout:t.dataAfterTimeout!==!1}}const Q=Object.create(null),P=["https://api.simplesvg.com","https://api.unisvg.com"],_=[];for(;P.length>0;)P.length===1||Math.random()>.5?_.push(P.shift()):_.push(P.pop());Q[""]=at({resources:["https://api.iconify.design"].concat(_)});function Rt(t,e){const n=at(e);return n===null?!1:(Q[t]=n,!0)}function $(t){return Q[t]}function Ee(){return Object.keys(Q)}let U=(()=>{let t;try{if(t=fetch,typeof t=="function")return t}catch{}})();function Me(t){U=t}function Le(){return U}function Te(t,e){const n=$(t);if(!n)return 0;let r;if(!n.maxURL)r=0;else{let o=0;n.resources.forEach(i=>{o=Math.max(o,i.length)});const s=e+".json?icons=";r=n.maxURL-o-n.path.length-s.length}return r}function je(t){return t===404}const Ae=(t,e,n)=>{const r=[],o=Te(t,e),s="icons";let i={type:s,provider:t,prefix:e,icons:[]},c=0;return n.forEach((a,u)=>{c+=a.length+1,c>=o&&u>0&&(r.push(i),i={type:s,provider:t,prefix:e,icons:[]},c=a.length),i.icons.push(a)}),r.push(i),r};function Oe(t){if(typeof t=="string"){const e=$(t);if(e)return e.path}return"/"}const Pe={prepare:Ae,send:(t,e,n)=>{if(!U){n("abort",424);return}let r=Oe(e.provider);switch(e.type){case"icons":{const s=e.prefix,c=e.icons.join(","),a=new URLSearchParams({icons:c});r+=s+".json?"+a.toString();break}case"custom":{const s=e.uri;r+=s.slice(0,1)==="/"?s.slice(1):s;break}default:n("abort",400);return}let o=503;U(t+r).then(s=>{const i=s.status;if(i!==200){setTimeout(()=>{n(je(i)?"abort":"next",i)});return}return o=501,s.json()}).then(s=>{if(typeof s!="object"||s===null){setTimeout(()=>{n("next",o)});return}setTimeout(()=>{n("success",s)})}).catch(()=>{n("next",o)})}};function Fe(t){const e={loaded:[],missing:[],pending:[]},n=Object.create(null);t.sort((o,s)=>o.provider!==s.provider?o.provider.localeCompare(s.provider):o.prefix!==s.prefix?o.prefix.localeCompare(s.prefix):o.name.localeCompare(s.name));let r={provider:"",prefix:"",name:""};return t.forEach(o=>{if(r.name===o.name&&r.prefix===o.prefix&&r.provider===o.provider)return;r=o;const s=o.provider,i=o.prefix,c=o.name,a=n[s]||(n[s]=Object.create(null)),u=a[i]||(a[i]=b(s,i));let l;c in u.icons?l=e.loaded:i===""||u.missing.has(c)?l=e.missing:l=e.pending;const f={provider:s,prefix:i,name:c};l.push(f)}),e}function Vt(t,e){t.forEach(n=>{const r=n.loaderCallbacks;r&&(n.loaderCallbacks=r.filter(o=>o.id!==e))})}function ze(t){t.pendingCallbacksFlag||(t.pendingCallbacksFlag=!0,setTimeout(()=>{t.pendingCallbacksFlag=!1;const e=t.loaderCallbacks?t.loaderCallbacks.slice(0):[];if(!e.length)return;let n=!1;const r=t.provider,o=t.prefix;e.forEach(s=>{const i=s.icons,c=i.pending.length;i.pending=i.pending.filter(a=>{if(a.prefix!==o)return!0;const u=a.name;if(t.icons[u])i.loaded.push({provider:r,prefix:o,name:u});else if(t.missing.has(u))i.missing.push({provider:r,prefix:o,name:u});else return n=!0,!0;return!1}),i.pending.length!==c&&(n||Vt([t],s.id),s.callback(i.loaded.slice(0),i.missing.slice(0),i.pending.slice(0),s.abort))})}))}let Ne=0;function De(t,e,n){const r=Ne++,o=Vt.bind(null,n,r);if(!e.pending.length)return o;const s={id:r,icons:e,callback:t,abort:o};return n.forEach(i=>{(i.loaderCallbacks||(i.loaderCallbacks=[])).push(s)}),o}function Re(t,e=!0,n=!1){const r=[];return t.forEach(o=>{const s=typeof o=="string"?C(o,e,n):o;s&&r.push(s)}),r}var Ve={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function Be(t,e,n,r){const o=t.resources.length,s=t.random?Math.floor(Math.random()*o):t.index;let i;if(t.random){let h=t.resources.slice(0);for(i=[];h.length>1;){const y=Math.floor(Math.random()*h.length);i.push(h[y]),h=h.slice(0,y).concat(h.slice(y+1))}i=i.concat(h)}else i=t.resources.slice(s).concat(t.resources.slice(0,s));const c=Date.now();let a="pending",u=0,l,f=null,d=[],g=[];typeof r=="function"&&g.push(r);function p(){f&&(clearTimeout(f),f=null)}function M(){a==="pending"&&(a="aborted"),p(),d.forEach(h=>{h.status==="pending"&&(h.status="aborted")}),d=[]}function S(h,y){y&&(g=[]),typeof h=="function"&&g.push(h)}function w(){return{startTime:c,payload:e,status:a,queriesSent:u,queriesPending:d.length,subscribe:S,abort:M}}function m(){a="failed",g.forEach(h=>{h(void 0,l)})}function ae(){d.forEach(h=>{h.status==="pending"&&(h.status="aborted")}),d=[]}function Ln(h,y,D){const W=y!=="success";switch(d=d.filter(I=>I!==h),a){case"pending":break;case"failed":if(W||!t.dataAfterTimeout)return;break;default:return}if(y==="abort"){l=D,m();return}if(W){l=D,d.length||(i.length?yt():m());return}if(p(),ae(),!t.random){const I=t.resources.indexOf(h.resource);I!==-1&&I!==t.index&&(t.index=I)}a="completed",g.forEach(I=>{I(D)})}function yt(){if(a!=="pending")return;p();const h=i.shift();if(h===void 0){if(d.length){f=setTimeout(()=>{p(),a==="pending"&&(ae(),m())},t.timeout);return}m();return}const y={status:"pending",resource:h,callback:(D,W)=>{Ln(y,D,W)}};d.push(y),u++,f=setTimeout(yt,t.rotate),n(h,e,y.callback)}return setTimeout(yt),w}function Bt(t){const e={...Ve,...t};let n=[];function r(){n=n.filter(c=>c().status==="pending")}function o(c,a,u){const l=Be(e,c,a,(f,d)=>{r(),u&&u(f,d)});return n.push(l),l}function s(c){return n.find(a=>c(a))||null}return{query:o,find:s,setIndex:c=>{e.index=c},getIndex:()=>e.index,cleanup:r}}function Ht(){}const lt=Object.create(null);function He(t){if(!lt[t]){const e=$(t);if(!e)return;const n=Bt(e),r={config:e,redundancy:n};lt[t]=r}return lt[t]}function qt(t,e,n){let r,o;if(typeof t=="string"){const s=ct(t);if(!s)return n(void 0,424),Ht;o=s.send;const i=He(t);i&&(r=i.redundancy)}else{const s=at(t);if(s){r=Bt(s);const i=t.resources?t.resources[0]:"",c=ct(i);c&&(o=c.send)}}return!r||!o?(n(void 0,424),Ht):r.query(e,o,n)().abort}function qe(t,e){const n=t.lastModifiedCached;if(n&&n>=e)return n===e;if(t.lastModifiedCached=e,n)for(const r in x)Ft(r,o=>{const s=o.data;return o.provider!==t.provider||s.prefix!==t.prefix||s.lastModified===e});return!0}function Qe(t,e){et||zt();function n(r){let o;if(!x[r]||!(o=Pt(r)))return;const s=Mt[r];let i;if(s.size)s.delete(i=Array.from(s).shift());else if(i=st(o),!rt(o,i+1))return;const c={cached:Math.floor(Date.now()/At),provider:t.provider,data:e};return ot(o,O+i.toString(),JSON.stringify(c))}e.lastModified&&!qe(t,e.lastModified)||!Object.keys(e.icons).length||(e.not_found&&(e=Object.assign({},e),delete e.not_found),n("local")||n("session"))}function Qt(){}function _e(t){t.iconsLoaderFlag||(t.iconsLoaderFlag=!0,setTimeout(()=>{t.iconsLoaderFlag=!1,ze(t)}))}function $e(t,e){t.iconsToLoad?t.iconsToLoad=t.iconsToLoad.concat(e).sort():t.iconsToLoad=e,t.iconsQueueFlag||(t.iconsQueueFlag=!0,setTimeout(()=>{t.iconsQueueFlag=!1;const{provider:n,prefix:r}=t,o=t.iconsToLoad;delete t.iconsToLoad;let s;if(!o||!(s=ct(n)))return;s.prepare(n,r,o).forEach(c=>{qt(n,c,(a,u)=>{if(typeof a!="object"){if(u!==404)return;c.icons.forEach(l=>{t.missing.add(l)})}else try{const l=X(t,a);if(!l.length)return;const f=t.pendingIcons;f&&l.forEach(d=>{f.delete(d)}),Qe(t,a)}catch(l){console.error(l)}_e(t)})})}))}const Ue=t=>{const n=b(t.provider,t.prefix).pendingIcons;return!!(n&&n.has(t.name))},ut=(t,e)=>{const n=Re(t,!0,me()),r=Fe(n);if(!r.pending.length){let a=!0;return e&&setTimeout(()=>{a&&e(r.loaded,r.missing,r.pending,Qt)}),()=>{a=!1}}const o=Object.create(null),s=[];let i,c;return r.pending.forEach(a=>{const{provider:u,prefix:l}=a;if(l===c&&u===i)return;i=u,c=l,s.push(b(u,l));const f=o[u]||(o[u]=Object.create(null));f[l]||(f[l]=[])}),r.pending.forEach(a=>{const{provider:u,prefix:l,name:f}=a,d=b(u,l),g=d.pendingIcons||(d.pendingIcons=new Set);g.has(f)||(g.add(f),o[u][l].push(f))}),s.forEach(a=>{const{provider:u,prefix:l}=a;o[u][l].length&&$e(a,o[u][l])}),e?De(e,r,s):Qt},Ge=t=>new Promise((e,n)=>{const r=typeof t=="string"?C(t):t;ut([r||t],o=>{if(o.length&&r){const s=A(r);if(s){e({...L,...s});return}}n(t)})});function _t(t,e){const n={...t};for(const r in e){const o=e[r],s=typeof o;r in It?(o===null||o&&(s==="string"||s==="number"))&&(n[r]=o):s===typeof n[r]&&(n[r]=r==="rotate"?o%4:o)}return n}const G={...Ct,inline:!1},ft="iconify",dt="iconify-inline",v="iconifyData"+Date.now();let k=[];function F(t){for(let e=0;edocument.documentElement})}function Ke(t){k=k.filter(e=>t!==e&&t!==(typeof e.node=="function"?e.node():e.node))}function z(){return k}function We(t){const e=document;e.readyState&&e.readyState!=="loading"?t():e.addEventListener("DOMContentLoaded",t)}let N=null;const Ye={childList:!0,subtree:!0,attributes:!0};function Ut(t){if(!t.observer)return;const e=t.observer;e.pendingScan||(e.pendingScan=setTimeout(()=>{delete e.pendingScan,N&&N(t)}))}function Ze(t,e){if(!t.observer)return;const n=t.observer;if(!n.pendingScan)for(let r=0;r0||o.type==="attributes"&&o.target[v]!==void 0){n.paused||Ut(t);return}}}function Gt(t,e){t.observer.instance.observe(e,Ye)}function J(t){let e=t.observer;if(e&&e.instance)return;const n=typeof t.node=="function"?t.node():t.node;!n||!window||(e||(e={paused:0},t.observer=e),e.instance=new window.MutationObserver(Ze.bind(null,t)),Gt(t,n),e.paused||Ut(t))}function Jt(){z().forEach(J)}function Kt(t){if(!t.observer)return;const e=t.observer;e.pendingScan&&(clearTimeout(e.pendingScan),delete e.pendingScan),e.instance&&(e.instance.disconnect(),delete e.instance)}function Xe(t){const e=N!==null;if(N!==t&&(N=t,e&&z().forEach(Kt)),e){Jt();return}We(Jt)}function ht(t){(t?[t]:z()).forEach(e=>{if(!e.observer){e.observer={paused:1};return}const n=e.observer;if(n.paused++,n.paused>1||!n.instance)return;n.instance.disconnect()})}function tn(t){if(t){const e=F(t);e&&ht(e)}else ht()}function pt(t){(t?[t]:z()).forEach(e=>{if(!e.observer){J(e);return}const n=e.observer;if(n.paused&&(n.paused--,!n.paused)){const r=typeof e.node=="function"?e.node():e.node;if(r)n.instance?Gt(e,r):J(e);else return}})}function en(t){if(t){const e=F(t);e&&pt(e)}else pt()}function Wt(t,e=!1){const n=$t(t,e);return J(n),n}function Yt(t){const e=F(t);e&&(Kt(e),Ke(t))}function nn(t,e){if(t.name!==e.name||t.mode!==e.mode)return!0;const n=t.customisations,r=e.customisations;for(const o in G)if(n[o]!==r[o])return!0;return!1}function on(t,e=0){const n=t.replace(/^-?[0-9.]*/,"");function r(o){for(;o<0;)o+=4;return o%4}if(n===""){const o=parseInt(t);return isNaN(o)?0:r(o)}else if(n!==t){let o=0;switch(n){case"%":o=25;break;case"deg":o=90}if(o){let s=parseFloat(t.slice(0,t.length-n.length));return isNaN(s)?0:(s=s/o,s%1===0?r(s):0)}}return e}const rn=/[\s,]+/;function sn(t,e){e.split(rn).forEach(n=>{switch(n.trim()){case"horizontal":t.hFlip=!0;break;case"vertical":t.vFlip=!0;break}})}const cn=["width","height"],an=["inline","hFlip","vFlip"];function ln(t,e){return t===e||t==="true"?!0:t===""||t==="false"?!1:null}function un(t){const e=t.getAttribute("data-icon"),n=typeof e=="string"&&C(e,!0);if(!n)return null;const r={...G,inline:t.classList&&t.classList.contains(dt)};cn.forEach(c=>{const a=t.getAttribute("data-"+c);a&&(r[c]=a)});const o=t.getAttribute("data-rotate");typeof o=="string"&&(r.rotate=on(o));const s=t.getAttribute("data-flip");typeof s=="string"&&sn(r,s),an.forEach(c=>{const a="data-"+c,u=ln(t.getAttribute(a),a);typeof u=="boolean"&&(r[c]=u)});const i=t.getAttribute("data-mode");return{name:e,icon:n,customisations:r,mode:i}}const fn="svg."+ft+", i."+ft+", span."+ft+", i."+dt+", span."+dt;function dn(t){const e=[];return t.querySelectorAll(fn).forEach(n=>{const r=n[v]||n.tagName.toLowerCase()!=="svg"?un(n):null;r&&e.push({node:n,props:r})}),e}function Zt(t,e){let n=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const r in e)n+=" "+r+'="'+e[r]+'"';return'"+t+""}function Xt(t){const e=new Set(["iconify"]);return["provider","prefix"].forEach(n=>{t[n]&&e.add("iconify--"+t[n])}),e}function te(t,e,n,r){const o=t.classList;if(r){const i=r.classList;Array.from(i).forEach(c=>{o.add(c)})}const s=[];return e.forEach(i=>{o.contains(i)?n.has(i)&&s.push(i):(o.add(i),s.push(i))}),n.forEach(i=>{e.has(i)||o.remove(i)}),s}function ee(t,e,n){const r=t.style;(n||[]).forEach(s=>{r.removeProperty(s)});const o=[];for(const s in e)r.getPropertyValue(s)||(o.push(s),r.setProperty(s,e[s]));return o}function ne(t,e,n){let r;try{r=document.createElement("span")}catch{return t}const o=e.customisations,s=H(n,o),i=t[v],c=Zt(Et(s.body),{"aria-hidden":"true",role:"img",...s.attributes});r.innerHTML=c;const a=r.childNodes[0],u=t.attributes;for(let p=0;p/g,"%3E").replace(/\s+/g," ")}function pn(t){return'url("data:image/svg+xml,'+hn(t)+'")'}const gn={display:"inline-block"},gt={"background-color":"currentColor"},oe={"background-color":"transparent"},re={image:"var(--svg)",repeat:"no-repeat",size:"100% 100%"},se={"-webkit-mask":gt,mask:gt,background:oe};for(const t in se){const e=se[t];for(const n in re)e[t+"-"+n]=re[n]}function ie(t){return t+(t.match(/^[-0-9.]+$/)?"px":"")}function mn(t,e,n,r){const o=e.customisations,s=H(n,o),i=s.attributes,c=t[v],a=Zt(s.body,{...i,width:n.width+"",height:n.height+""}),u=Xt(e.icon),l=te(t,u,new Set(c&&c.addedClasses)),d={"--svg":pn(a),width:ie(i.width),height:ie(i.height),...gn,...r?gt:oe};o.inline&&(d["vertical-align"]="-0.125em");const g=ee(t,d,c&&c.addedStyles),p={...e,status:"loaded",addedClasses:l,addedStyles:g};return t[v]=p,t}let K=!1;function yn(){K||(K=!0,setTimeout(()=>{K&&(K=!1,E())}))}function E(t,e=!1){const n=Object.create(null);function r(o,s){const{provider:i,prefix:c,name:a}=o,u=b(i,c),l=u.icons[a];if(l)return{status:"loaded",icon:l};if(u.missing.has(a))return{status:"missing"};if(s&&!Ue(o)){const f=n[i]||(n[i]=Object.create(null));(f[c]||(f[c]=new Set)).add(a)}return{status:"loading"}}(t?[t]:z()).forEach(o=>{const s=typeof o.node=="function"?o.node():o.node;if(!s||!s.querySelectorAll)return;let i=!1,c=!1;function a(u,l,f){if(c||(c=!0,ht(o)),u.tagName.toUpperCase()!=="SVG"){const d=l.mode,g=d==="mask"||(d==="bg"?!1:d==="style"?f.body.indexOf("currentColor")!==-1:null);if(typeof g=="boolean"){mn(u,l,{...L,...f},g);return}}ne(u,l,f)}dn(s).forEach(({node:u,props:l})=>{const f=u[v];if(!f){const{status:g,icon:p}=r(l.icon,!0);if(p){a(u,l,p);return}i=i||g==="loading",u[v]={...l,status:g};return}let d;if(nn(f,l)){if(d=r(l.icon,f.name!==l.name),!d.icon){i=i||d.status==="loading",Object.assign(f,{...l,status:d.status});return}}else{if(f.status!=="loading")return;if(d=r(l.icon,!1),!d.icon){f.status=d.status;return}}a(u,l,d.icon)}),o.temporary&&!i?Yt(s):e&&i?Wt(s,!0):c&&o.observer&&pt(o)});for(const o in n){const s=n[o];for(const i in s){const c=s[i];ut(Array.from(c).map(a=>({provider:o,prefix:i,name:a})),yn)}}}function bn(t){const e=F(t);e?E(e):E({node:t,temporary:!0},!0)}function ce(t,e,n=!1){const r=A(t);if(!r)return null;const o=C(t),s=_t(G,e||{}),i=ne(document.createElement("span"),{name:t,icon:o,customisations:s},r);return n?i.outerHTML:i}function wn(){return"3.0.0"}function vn(t,e){return ce(t,e,!1)}function Sn(t,e){return ce(t,e,!0)}function xn(t,e){const n=A(t);if(!n)return null;const r=_t(G,e||{});return H(n,r)}function kn(t){t?bn(t):E()}if(typeof document<"u"&&typeof window<"u"){Je();const t=window;if(t.IconifyPreload!==void 0){const e=t.IconifyPreload,n="Invalid IconifyPreload syntax.";typeof e=="object"&&e!==null&&(e instanceof Array?e:[e]).forEach(r=>{try{(typeof r!="object"||r===null||r instanceof Array||typeof r.icons!="object"||typeof r.prefix!="string"||!kt(r))&&console.error(n)}catch{console.error(n)}})}setTimeout(()=>{Xe(E),E()})}function In(t,e){Nt(t,e!==!1)}function Cn(t){Nt(t,!0)}if(Dt("",Pe),typeof document<"u"&&typeof window<"u"){zt();const t=window;if(t.IconifyProviders!==void 0){const e=t.IconifyProviders;if(typeof e=="object"&&e!==null)for(const n in e){const r="IconifyProviders["+n+"] is invalid.";try{const o=e[n];if(typeof o!="object"||!o||o.resources===void 0)continue;Rt(n,o)||console.error(r)}catch{console.error(r)}}}}const mt={_api:{getAPIConfig:$,setAPIModule:Dt,sendAPIQuery:qt,setFetch:Me,getFetch:Le,listAPIProviders:Ee},addAPIProvider:Rt,loadIcons:ut,loadIcon:Ge,iconExists:ye,getIcon:be,listIcons:ge,addIcon:xt,addCollection:kt,replaceIDs:Et,calculateSize:tt,buildIcon:H,getVersion:wn,renderSVG:vn,renderHTML:Sn,renderIcon:xn,scan:kn,observe:Wt,stopObserving:Yt,pauseObserver:tn,resumeObserver:en,enableCache:In,disableCache:Cn};try{self.Iconify===void 0&&(self.Iconify=mt)}catch{}const En=mt.default||mt;JSON.parse('[{"prefix":"tabler","width":24,"height":24,"icons":{"arrow-left":{"body":""},"arrow-right":{"body":""},"brightness-2":{"body":""},"category":{"body":""},"eye":{"body":""},"heart":{"body":""},"message-circle":{"body":""},"search":{"body":""},"share":{"body":""},"stairs-up":{"body":""},"tags":{"body":""}}},{"prefix":"ion","width":512,"height":512,"icons":{}},{"prefix":"ps","width":512,"height":512,"icons":{}},{"prefix":"simple-icons","width":24,"height":24,"icons":{"bilibili":{"body":""},"feedly":{"body":""},"github":{"body":""},"telegram":{"body":""},"twitter":{"body":""},"wechat":{"body":""}}},{"prefix":"el","width":1200,"height":1200,"icons":{}},{"prefix":"il","width":750,"height":850,"icons":{}}]').forEach(t=>En.addCollection(t));const Mn=()=>{const t=document.getElementById("header-menu");window.scrollY>0?t==null||t.classList.add("menu-sticky"):t==null||t.classList.remove("menu-sticky")};window.addEventListener("scroll",Mn)})(); +*/const tn=Object.freeze({left:0,top:0,width:16,height:16}),be=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Z=Object.freeze({...tn,...be}),Ze=Object.freeze({...Z,body:"",hidden:!1});function hi(e,t){const n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);const r=((e.rotate||0)+(t.rotate||0))%4;return r&&(n.rotate=r),n}function nn(e,t){const n=hi(e,t);for(const r in Ze)r in be?r in e&&!(r in n)&&(n[r]=be[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function gi(e,t){const n=e.icons,r=e.aliases||{},i=Object.create(null);function o(s){if(n[s])return i[s]=[];if(!(s in i)){i[s]=null;const c=r[s]&&r[s].parent,a=c&&o(c);a&&(i[s]=[c].concat(a))}return i[s]}return(t||Object.keys(n).concat(Object.keys(r))).forEach(o),i}function _i(e,t,n){const r=e.icons,i=e.aliases||{};let o={};function s(c){o=nn(r[c]||i[c],o)}return s(t),n.forEach(s),nn(e,o)}function rn(e,t){const n=[];if(typeof e!="object"||typeof e.icons!="object")return n;e.not_found instanceof Array&&e.not_found.forEach(i=>{t(i,null),n.push(i)});const r=gi(e);for(const i in r){const o=r[i];o&&(t(i,_i(e,i,o)),n.push(i))}return n}const X=/^[a-z0-9]+(-[a-z0-9]+)*$/,q=(e,t,n,r="")=>{const i=e.split(":");if(e.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;r=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){const c=i.pop(),a=i.pop(),u={provider:i.length>0?i[0]:r,prefix:a,name:c};return t&&!ve(u)?null:u}const o=i[0],s=o.split("-");if(s.length>1){const c={provider:r,prefix:s.shift(),name:s.join("-")};return t&&!ve(c)?null:c}if(n&&r===""){const c={provider:r,prefix:"",name:o};return t&&!ve(c,n)?null:c}return null},ve=(e,t)=>e?!!((e.provider===""||e.provider.match(X))&&(t&&e.prefix===""||e.prefix.match(X))&&e.name.match(X)):!1,yi={provider:"",aliases:{},not_found:{},...tn};function Xe(e,t){for(const n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function on(e){if(typeof e!="object"||e===null)return null;const t=e;if(typeof t.prefix!="string"||!e.icons||typeof e.icons!="object"||!Xe(e,yi))return null;const n=t.icons;for(const i in n){const o=n[i];if(!i.match(X)||typeof o.body!="string"||!Xe(o,Ze))return null}const r=t.aliases||{};for(const i in r){const o=r[i],s=o.parent;if(!i.match(X)||typeof s!="string"||!n[s]&&!r[s]||!Xe(o,Ze))return null}return t}const xe=Object.create(null);function mi(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function M(e,t){const n=xe[e]||(xe[e]=Object.create(null));return n[t]||(n[t]=mi(e,t))}function et(e,t){return on(t)?rn(t,(n,r)=>{r?e.icons[n]=r:e.missing.add(n)}):[]}function bi(e,t,n){try{if(typeof n.body=="string")return e.icons[t]={...n},!0}catch{}return!1}function vi(e,t){let n=[];return(typeof e=="string"?[e]:Object.keys(xe)).forEach(i=>{(typeof i=="string"&&typeof t=="string"?[t]:Object.keys(xe[i]||{})).forEach(s=>{const c=M(i,s);n=n.concat(Object.keys(c.icons).map(a=>(i!==""?"@"+i+":":"")+s+":"+a))})}),n}let ee=!1;function xi(e){return typeof e=="boolean"&&(ee=e),ee}function te(e){const t=typeof e=="string"?q(e,!0,ee):e;if(t){const n=M(t.provider,t.prefix),r=t.name;return n.icons[r]||(n.missing.has(r)?null:void 0)}}function sn(e,t){const n=q(e,!0,ee);if(!n)return!1;const r=M(n.provider,n.prefix);return bi(r,n.name,t)}function cn(e,t){if(typeof e!="object")return!1;if(typeof t!="string"&&(t=e.provider||""),ee&&!t&&!e.prefix){let i=!1;return on(e)&&(e.prefix="",rn(e,(o,s)=>{s&&sn(o,s)&&(i=!0)})),i}const n=e.prefix;if(!ve({provider:t,prefix:n,name:"a"}))return!1;const r=M(t,n);return!!et(r,e)}function wi(e){return!!te(e)}function Si(e){const t=te(e);return t?{...Z,...t}:null}const an=Object.freeze({width:null,height:null}),un=Object.freeze({...an,...be}),Ei=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Ci=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function tt(e,t,n){if(t===1)return e;if(n=n||100,typeof e=="number")return Math.ceil(e*t*n)/n;if(typeof e!="string")return e;const r=e.split(Ei);if(r===null||!r.length)return e;const i=[];let o=r.shift(),s=Ci.test(o);for(;;){if(s){const c=parseFloat(o);isNaN(c)?i.push(o):i.push(Math.ceil(c*t*n)/n)}else i.push(o);if(o=r.shift(),o===void 0)return i.join("");s=!s}}function we(e,t){const n={...Z,...e},r={...un,...t},i={left:n.left,top:n.top,width:n.width,height:n.height};let o=n.body;[n,r].forEach(_=>{const y=[],I=_.hFlip,p=_.vFlip;let h=_.rotate;I?p?h+=2:(y.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),y.push("scale(-1 1)"),i.top=i.left=0):p&&(y.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),y.push("scale(1 -1)"),i.top=i.left=0);let g;switch(h<0&&(h-=Math.floor(h/4)*4),h=h%4,h){case 1:g=i.height/2+i.top,y.unshift("rotate(90 "+g.toString()+" "+g.toString()+")");break;case 2:y.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:g=i.width/2+i.left,y.unshift("rotate(-90 "+g.toString()+" "+g.toString()+")");break}h%2===1&&(i.left!==i.top&&(g=i.left,i.left=i.top,i.top=g),i.width!==i.height&&(g=i.width,i.width=i.height,i.height=g)),y.length&&(o=''+o+"")});const s=r.width,c=r.height,a=i.width,u=i.height;let l,f;return s===null?(f=c===null?"1em":c==="auto"?u:c,l=tt(f,a/u)):(l=s==="auto"?a:s,f=c===null?tt(l,u/a):c==="auto"?u:c),{attributes:{width:l.toString(),height:f.toString(),viewBox:i.left.toString()+" "+i.top.toString()+" "+a.toString()+" "+u.toString()},body:o}}const Ai=/\sid="(\S+)"/g,Oi="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let Ii=0;function ln(e,t=Oi){const n=[];let r;for(;r=Ai.exec(e);)n.push(r[1]);return n.length&&n.forEach(i=>{const o=typeof t=="function"?t(i):t+(Ii++).toString(),s=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+s+')([")]|\\.[a-z])',"g"),"$1"+o+"$3")}),e}const R={local:!0,session:!0},fn={local:new Set,session:new Set};let nt=!1;function Mi(e){nt=e}const dn="iconify2",ne="iconify",pn=ne+"-count",hn=ne+"-version",gn=36e5,ki=168;function rt(e,t){try{return e.getItem(t)}catch{}}function it(e,t,n){try{return e.setItem(t,n),!0}catch{}}function _n(e,t){try{e.removeItem(t)}catch{}}function ot(e,t){return it(e,pn,t.toString())}function st(e){return parseInt(rt(e,pn))||0}let Se=typeof window>"u"?{}:window;function yn(e){const t=e+"Storage";try{if(Se&&Se[t]&&typeof Se[t].length=="number")return Se[t]}catch{}R[e]=!1}function mn(e,t){const n=yn(e);if(!n)return;const r=rt(n,hn);if(r!==dn){if(r){const c=st(n);for(let a=0;a{const a=ne+c.toString(),u=rt(n,a);if(typeof u=="string"){try{const l=JSON.parse(u);if(typeof l=="object"&&typeof l.cached=="number"&&l.cached>i&&typeof l.provider=="string"&&typeof l.data=="object"&&typeof l.data.prefix=="string"&&t(l,c))return!0}catch{}_n(n,a)}};let s=st(n);for(let c=s-1;c>=0;c--)o(c)||(c===s-1?(s--,ot(n,s)):fn[e].add(c))}function bn(){if(!nt){Mi(!0);for(const e in R)mn(e,t=>{const n=t.data,r=t.provider,i=n.prefix,o=M(r,i);if(!et(o,n).length)return!1;const s=n.lastModified||-1;return o.lastModifiedCached=o.lastModifiedCached?Math.min(o.lastModifiedCached,s):s,!0})}}function vn(e,t){switch(e){case"local":case"session":R[e]=t;break;case"all":for(const n in R)R[n]=t;break}}const ct=Object.create(null);function xn(e,t){ct[e]=t}function at(e){return ct[e]||ct[""]}function ut(e){let t;if(typeof e.resources=="string")t=[e.resources];else if(t=e.resources,!(t instanceof Array)||!t.length)return null;return{resources:t,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}const Ee=Object.create(null),re=["https://api.simplesvg.com","https://api.unisvg.com"],Ce=[];for(;re.length>0;)re.length===1||Math.random()>.5?Ce.push(re.shift()):Ce.push(re.pop());Ee[""]=ut({resources:["https://api.iconify.design"].concat(Ce)});function wn(e,t){const n=ut(t);return n===null?!1:(Ee[e]=n,!0)}function Ae(e){return Ee[e]}function Ti(){return Object.keys(Ee)}let Oe=(()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch{}})();function Pi(e){Oe=e}function ji(){return Oe}function Li(e,t){const n=Ae(e);if(!n)return 0;let r;if(!n.maxURL)r=0;else{let i=0;n.resources.forEach(s=>{i=Math.max(i,s.length)});const o=t+".json?icons=";r=n.maxURL-i-n.path.length-o.length}return r}function Fi(e){return e===404}const Ri=(e,t,n)=>{const r=[],i=Li(e,t),o="icons";let s={type:o,provider:e,prefix:t,icons:[]},c=0;return n.forEach((a,u)=>{c+=a.length+1,c>=i&&u>0&&(r.push(s),s={type:o,provider:e,prefix:t,icons:[]},c=a.length),s.icons.push(a)}),r.push(s),r};function $i(e){if(typeof e=="string"){const t=Ae(e);if(t)return t.path}return"/"}const Ni={prepare:Ri,send:(e,t,n)=>{if(!Oe){n("abort",424);return}let r=$i(t.provider);switch(t.type){case"icons":{const o=t.prefix,c=t.icons.join(","),a=new URLSearchParams({icons:c});r+=o+".json?"+a.toString();break}case"custom":{const o=t.uri;r+=o.slice(0,1)==="/"?o.slice(1):o;break}default:n("abort",400);return}let i=503;Oe(e+r).then(o=>{const s=o.status;if(s!==200){setTimeout(()=>{n(Fi(s)?"abort":"next",s)});return}return i=501,o.json()}).then(o=>{if(typeof o!="object"||o===null){setTimeout(()=>{n("next",i)});return}setTimeout(()=>{n("success",o)})}).catch(()=>{n("next",i)})}};function zi(e){const t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((i,o)=>i.provider!==o.provider?i.provider.localeCompare(o.provider):i.prefix!==o.prefix?i.prefix.localeCompare(o.prefix):i.name.localeCompare(o.name));let r={provider:"",prefix:"",name:""};return e.forEach(i=>{if(r.name===i.name&&r.prefix===i.prefix&&r.provider===i.provider)return;r=i;const o=i.provider,s=i.prefix,c=i.name,a=n[o]||(n[o]=Object.create(null)),u=a[s]||(a[s]=M(o,s));let l;c in u.icons?l=t.loaded:s===""||u.missing.has(c)?l=t.missing:l=t.pending;const f={provider:o,prefix:s,name:c};l.push(f)}),t}function Sn(e,t){e.forEach(n=>{const r=n.loaderCallbacks;r&&(n.loaderCallbacks=r.filter(i=>i.id!==t))})}function Di(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1;const r=e.provider,i=e.prefix;t.forEach(o=>{const s=o.icons,c=s.pending.length;s.pending=s.pending.filter(a=>{if(a.prefix!==i)return!0;const u=a.name;if(e.icons[u])s.loaded.push({provider:r,prefix:i,name:u});else if(e.missing.has(u))s.missing.push({provider:r,prefix:i,name:u});else return n=!0,!0;return!1}),s.pending.length!==c&&(n||Sn([e],o.id),o.callback(s.loaded.slice(0),s.missing.slice(0),s.pending.slice(0),o.abort))})}))}let Bi=0;function Ki(e,t,n){const r=Bi++,i=Sn.bind(null,n,r);if(!t.pending.length)return i;const o={id:r,icons:t,callback:e,abort:i};return n.forEach(s=>{(s.loaderCallbacks||(s.loaderCallbacks=[])).push(o)}),i}function Hi(e,t=!0,n=!1){const r=[];return e.forEach(i=>{const o=typeof i=="string"?q(i,t,n):i;o&&r.push(o)}),r}var qi={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function Vi(e,t,n,r){const i=e.resources.length,o=e.random?Math.floor(Math.random()*i):e.index;let s;if(e.random){let m=e.resources.slice(0);for(s=[];m.length>1;){const C=Math.floor(Math.random()*m.length);s.push(m[C]),m=m.slice(0,C).concat(m.slice(C+1))}s=s.concat(m)}else s=e.resources.slice(o).concat(e.resources.slice(0,o));const c=Date.now();let a="pending",u=0,l,f=null,d=[],_=[];typeof r=="function"&&_.push(r);function y(){f&&(clearTimeout(f),f=null)}function I(){a==="pending"&&(a="aborted"),y(),d.forEach(m=>{m.status==="pending"&&(m.status="aborted")}),d=[]}function p(m,C){C&&(_=[]),typeof m=="function"&&_.push(m)}function h(){return{startTime:c,payload:t,status:a,queriesSent:u,queriesPending:d.length,subscribe:p,abort:I}}function g(){a="failed",_.forEach(m=>{m(void 0,l)})}function w(){d.forEach(m=>{m.status==="pending"&&(m.status="aborted")}),d=[]}function E(m,C,me){const Ye=C!=="success";switch(d=d.filter(H=>H!==m),a){case"pending":break;case"failed":if(Ye||!e.dataAfterTimeout)return;break;default:return}if(C==="abort"){l=me,g();return}if(Ye){l=me,d.length||(s.length?T():g());return}if(y(),w(),!e.random){const H=e.resources.indexOf(m.resource);H!==-1&&H!==e.index&&(e.index=H)}a="completed",_.forEach(H=>{H(me)})}function T(){if(a!=="pending")return;y();const m=s.shift();if(m===void 0){if(d.length){f=setTimeout(()=>{y(),a==="pending"&&(w(),g())},e.timeout);return}g();return}const C={status:"pending",resource:m,callback:(me,Ye)=>{E(C,me,Ye)}};d.push(C),u++,f=setTimeout(T,e.rotate),n(m,t,C.callback)}return setTimeout(T),h}function En(e){const t={...qi,...e};let n=[];function r(){n=n.filter(c=>c().status==="pending")}function i(c,a,u){const l=Vi(t,c,a,(f,d)=>{r(),u&&u(f,d)});return n.push(l),l}function o(c){return n.find(a=>c(a))||null}return{query:i,find:o,setIndex:c=>{t.index=c},getIndex:()=>t.index,cleanup:r}}function Cn(){}const lt=Object.create(null);function Wi(e){if(!lt[e]){const t=Ae(e);if(!t)return;const n=En(t),r={config:t,redundancy:n};lt[e]=r}return lt[e]}function An(e,t,n){let r,i;if(typeof e=="string"){const o=at(e);if(!o)return n(void 0,424),Cn;i=o.send;const s=Wi(e);s&&(r=s.redundancy)}else{const o=ut(e);if(o){r=En(o);const s=e.resources?e.resources[0]:"",c=at(s);c&&(i=c.send)}}return!r||!i?(n(void 0,424),Cn):r.query(t,i,n)().abort}function Ui(e,t){const n=e.lastModifiedCached;if(n&&n>=t)return n===t;if(e.lastModifiedCached=t,n)for(const r in R)mn(r,i=>{const o=i.data;return i.provider!==e.provider||o.prefix!==e.prefix||o.lastModified===t});return!0}function Gi(e,t){nt||bn();function n(r){let i;if(!R[r]||!(i=yn(r)))return;const o=fn[r];let s;if(o.size)o.delete(s=Array.from(o).shift());else if(s=st(i),!ot(i,s+1))return;const c={cached:Math.floor(Date.now()/gn),provider:e.provider,data:t};return it(i,ne+s.toString(),JSON.stringify(c))}t.lastModified&&!Ui(e,t.lastModified)||!Object.keys(t.icons).length||(t.not_found&&(t=Object.assign({},t),delete t.not_found),n("local")||n("session"))}function On(){}function Qi(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,Di(e)}))}function Ji(e,t){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:n,prefix:r}=e,i=e.iconsToLoad;delete e.iconsToLoad;let o;if(!i||!(o=at(n)))return;o.prepare(n,r,i).forEach(c=>{An(n,c,(a,u)=>{if(typeof a!="object"){if(u!==404)return;c.icons.forEach(l=>{e.missing.add(l)})}else try{const l=et(e,a);if(!l.length)return;const f=e.pendingIcons;f&&l.forEach(d=>{f.delete(d)}),Gi(e,a)}catch(l){console.error(l)}Qi(e)})})}))}const Yi=e=>{const n=M(e.provider,e.prefix).pendingIcons;return!!(n&&n.has(e.name))},ft=(e,t)=>{const n=Hi(e,!0,xi()),r=zi(n);if(!r.pending.length){let a=!0;return t&&setTimeout(()=>{a&&t(r.loaded,r.missing,r.pending,On)}),()=>{a=!1}}const i=Object.create(null),o=[];let s,c;return r.pending.forEach(a=>{const{provider:u,prefix:l}=a;if(l===c&&u===s)return;s=u,c=l,o.push(M(u,l));const f=i[u]||(i[u]=Object.create(null));f[l]||(f[l]=[])}),r.pending.forEach(a=>{const{provider:u,prefix:l,name:f}=a,d=M(u,l),_=d.pendingIcons||(d.pendingIcons=new Set);_.has(f)||(_.add(f),i[u][l].push(f))}),o.forEach(a=>{const{provider:u,prefix:l}=a;i[u][l].length&&Ji(a,i[u][l])}),t?Ki(t,r,o):On},Zi=e=>new Promise((t,n)=>{const r=typeof e=="string"?q(e):e;ft([r||e],i=>{if(i.length&&r){const o=te(r);if(o){t({...Z,...o});return}}n(e)})});function In(e,t){const n={...e};for(const r in t){const i=t[r],o=typeof i;r in an?(i===null||i&&(o==="string"||o==="number"))&&(n[r]=i):o===typeof n[r]&&(n[r]=r==="rotate"?i%4:i)}return n}const Ie={...un,inline:!1},dt="iconify",pt="iconify-inline",P="iconifyData"+Date.now();let $=[];function ie(e){for(let t=0;t<$.length;t++){const n=$[t];if((typeof n.node=="function"?n.node():n.node)===e)return n}}function Mn(e,t=!1){let n=ie(e);return n?(n.temporary&&(n.temporary=t),n):(n={node:e,temporary:t},$.push(n),n)}function Xi(){if(document.documentElement)return Mn(document.documentElement);$.push({node:()=>document.documentElement})}function eo(e){$=$.filter(t=>e!==t&&e!==(typeof t.node=="function"?t.node():t.node))}function oe(){return $}function to(e){const t=document;t.readyState&&t.readyState!=="loading"?e():t.addEventListener("DOMContentLoaded",e)}let se=null;const no={childList:!0,subtree:!0,attributes:!0};function kn(e){if(!e.observer)return;const t=e.observer;t.pendingScan||(t.pendingScan=setTimeout(()=>{delete t.pendingScan,se&&se(e)}))}function ro(e,t){if(!e.observer)return;const n=e.observer;if(!n.pendingScan)for(let r=0;r0||i.type==="attributes"&&i.target[P]!==void 0){n.paused||kn(e);return}}}function Tn(e,t){e.observer.instance.observe(t,no)}function Me(e){let t=e.observer;if(t&&t.instance)return;const n=typeof e.node=="function"?e.node():e.node;!n||!window||(t||(t={paused:0},e.observer=t),t.instance=new window.MutationObserver(ro.bind(null,e)),Tn(e,n),t.paused||kn(e))}function Pn(){oe().forEach(Me)}function jn(e){if(!e.observer)return;const t=e.observer;t.pendingScan&&(clearTimeout(t.pendingScan),delete t.pendingScan),t.instance&&(t.instance.disconnect(),delete t.instance)}function io(e){const t=se!==null;if(se!==e&&(se=e,t&&oe().forEach(jn)),t){Pn();return}to(Pn)}function ht(e){(e?[e]:oe()).forEach(t=>{if(!t.observer){t.observer={paused:1};return}const n=t.observer;if(n.paused++,n.paused>1||!n.instance)return;n.instance.disconnect()})}function oo(e){if(e){const t=ie(e);t&&ht(t)}else ht()}function gt(e){(e?[e]:oe()).forEach(t=>{if(!t.observer){Me(t);return}const n=t.observer;if(n.paused&&(n.paused--,!n.paused)){const r=typeof t.node=="function"?t.node():t.node;if(r)n.instance?Tn(t,r):Me(t);else return}})}function so(e){if(e){const t=ie(e);t&>(t)}else gt()}function Ln(e,t=!1){const n=Mn(e,t);return Me(n),n}function Fn(e){const t=ie(e);t&&(jn(t),eo(e))}function co(e,t){if(e.name!==t.name||e.mode!==t.mode)return!0;const n=e.customisations,r=t.customisations;for(const i in Ie)if(n[i]!==r[i])return!0;return!1}function ao(e,t=0){const n=e.replace(/^-?[0-9.]*/,"");function r(i){for(;i<0;)i+=4;return i%4}if(n===""){const i=parseInt(e);return isNaN(i)?0:r(i)}else if(n!==e){let i=0;switch(n){case"%":i=25;break;case"deg":i=90}if(i){let o=parseFloat(e.slice(0,e.length-n.length));return isNaN(o)?0:(o=o/i,o%1===0?r(o):0)}}return t}const uo=/[\s,]+/;function lo(e,t){t.split(uo).forEach(n=>{switch(n.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}const fo=["width","height"],po=["inline","hFlip","vFlip"];function ho(e,t){return e===t||e==="true"?!0:e===""||e==="false"?!1:null}function go(e){const t=e.getAttribute("data-icon"),n=typeof t=="string"&&q(t,!0);if(!n)return null;const r={...Ie,inline:e.classList&&e.classList.contains(pt)};fo.forEach(c=>{const a=e.getAttribute("data-"+c);a&&(r[c]=a)});const i=e.getAttribute("data-rotate");typeof i=="string"&&(r.rotate=ao(i));const o=e.getAttribute("data-flip");typeof o=="string"&&lo(r,o),po.forEach(c=>{const a="data-"+c,u=ho(e.getAttribute(a),a);typeof u=="boolean"&&(r[c]=u)});const s=e.getAttribute("data-mode");return{name:t,icon:n,customisations:r,mode:s}}const _o="svg."+dt+", i."+dt+", span."+dt+", i."+pt+", span."+pt;function yo(e){const t=[];return e.querySelectorAll(_o).forEach(n=>{const r=n[P]||n.tagName.toLowerCase()!=="svg"?go(n):null;r&&t.push({node:n,props:r})}),t}function Rn(e,t){let n=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const r in t)n+=" "+r+'="'+t[r]+'"';return'"+e+""}function $n(e){const t=new Set(["iconify"]);return["provider","prefix"].forEach(n=>{e[n]&&t.add("iconify--"+e[n])}),t}function Nn(e,t,n,r){const i=e.classList;if(r){const s=r.classList;Array.from(s).forEach(c=>{i.add(c)})}const o=[];return t.forEach(s=>{i.contains(s)?n.has(s)&&o.push(s):(i.add(s),o.push(s))}),n.forEach(s=>{t.has(s)||i.remove(s)}),o}function zn(e,t,n){const r=e.style;(n||[]).forEach(o=>{r.removeProperty(o)});const i=[];for(const o in t)r.getPropertyValue(o)||(i.push(o),r.setProperty(o,t[o]));return i}function Dn(e,t,n){let r;try{r=document.createElement("span")}catch{return e}const i=t.customisations,o=we(n,i),s=e[P],c=Rn(ln(o.body),{"aria-hidden":"true",role:"img",...o.attributes});r.innerHTML=c;const a=r.childNodes[0],u=e.attributes;for(let y=0;y/g,"%3E").replace(/\s+/g," ")}function bo(e){return'url("data:image/svg+xml,'+mo(e)+'")'}const vo={display:"inline-block"},_t={"background-color":"currentColor"},Bn={"background-color":"transparent"},Kn={image:"var(--svg)",repeat:"no-repeat",size:"100% 100%"},Hn={"-webkit-mask":_t,mask:_t,background:Bn};for(const e in Hn){const t=Hn[e];for(const n in Kn)t[e+"-"+n]=Kn[n]}function qn(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}function xo(e,t,n,r){const i=t.customisations,o=we(n,i),s=o.attributes,c=e[P],a=Rn(o.body,{...s,width:n.width+"",height:n.height+""}),u=$n(t.icon),l=Nn(e,u,new Set(c&&c.addedClasses)),d={"--svg":bo(a),width:qn(s.width),height:qn(s.height),...vo,...r?_t:Bn};i.inline&&(d["vertical-align"]="-0.125em");const _=zn(e,d,c&&c.addedStyles),y={...t,status:"loaded",addedClasses:l,addedStyles:_};return e[P]=y,e}let ke=!1;function wo(){ke||(ke=!0,setTimeout(()=>{ke&&(ke=!1,V())}))}function V(e,t=!1){const n=Object.create(null);function r(i,o){const{provider:s,prefix:c,name:a}=i,u=M(s,c),l=u.icons[a];if(l)return{status:"loaded",icon:l};if(u.missing.has(a))return{status:"missing"};if(o&&!Yi(i)){const f=n[s]||(n[s]=Object.create(null));(f[c]||(f[c]=new Set)).add(a)}return{status:"loading"}}(e?[e]:oe()).forEach(i=>{const o=typeof i.node=="function"?i.node():i.node;if(!o||!o.querySelectorAll)return;let s=!1,c=!1;function a(u,l,f){if(c||(c=!0,ht(i)),u.tagName.toUpperCase()!=="SVG"){const d=l.mode,_=d==="mask"||(d==="bg"?!1:d==="style"?f.body.indexOf("currentColor")!==-1:null);if(typeof _=="boolean"){xo(u,l,{...Z,...f},_);return}}Dn(u,l,f)}yo(o).forEach(({node:u,props:l})=>{const f=u[P];if(!f){const{status:_,icon:y}=r(l.icon,!0);if(y){a(u,l,y);return}s=s||_==="loading",u[P]={...l,status:_};return}let d;if(co(f,l)){if(d=r(l.icon,f.name!==l.name),!d.icon){s=s||d.status==="loading",Object.assign(f,{...l,status:d.status});return}}else{if(f.status!=="loading")return;if(d=r(l.icon,!1),!d.icon){f.status=d.status;return}}a(u,l,d.icon)}),i.temporary&&!s?Fn(o):t&&s?Ln(o,!0):c&&i.observer&>(i)});for(const i in n){const o=n[i];for(const s in o){const c=o[s];ft(Array.from(c).map(a=>({provider:i,prefix:s,name:a})),wo)}}}function So(e){const t=ie(e);t?V(t):V({node:e,temporary:!0},!0)}function Vn(e,t,n=!1){const r=te(e);if(!r)return null;const i=q(e),o=In(Ie,t||{}),s=Dn(document.createElement("span"),{name:e,icon:i,customisations:o},r);return n?s.outerHTML:s}function Eo(){return"3.0.0"}function Co(e,t){return Vn(e,t,!1)}function Ao(e,t){return Vn(e,t,!0)}function Oo(e,t){const n=te(e);if(!n)return null;const r=In(Ie,t||{});return we(n,r)}function Io(e){e?So(e):V()}if(typeof document<"u"&&typeof window<"u"){Xi();const e=window;if(e.IconifyPreload!==void 0){const t=e.IconifyPreload,n="Invalid IconifyPreload syntax.";typeof t=="object"&&t!==null&&(t instanceof Array?t:[t]).forEach(r=>{try{(typeof r!="object"||r===null||r instanceof Array||typeof r.icons!="object"||typeof r.prefix!="string"||!cn(r))&&console.error(n)}catch{console.error(n)}})}setTimeout(()=>{io(V),V()})}function Mo(e,t){vn(e,t!==!1)}function ko(e){vn(e,!0)}if(xn("",Ni),typeof document<"u"&&typeof window<"u"){bn();const e=window;if(e.IconifyProviders!==void 0){const t=e.IconifyProviders;if(typeof t=="object"&&t!==null)for(const n in t){const r="IconifyProviders["+n+"] is invalid.";try{const i=t[n];if(typeof i!="object"||!i||i.resources===void 0)continue;wn(n,i)||console.error(r)}catch{console.error(r)}}}}const yt={_api:{getAPIConfig:Ae,setAPIModule:xn,sendAPIQuery:An,setFetch:Pi,getFetch:ji,listAPIProviders:Ti},addAPIProvider:wn,loadIcons:ft,loadIcon:Zi,iconExists:wi,getIcon:Si,listIcons:vi,addIcon:sn,addCollection:cn,replaceIDs:ln,calculateSize:tt,buildIcon:we,getVersion:Eo,renderSVG:Co,renderHTML:Ao,renderIcon:Oo,scan:Io,observe:Ln,stopObserving:Fn,pauseObserver:oo,resumeObserver:so,enableCache:Mo,disableCache:ko};try{self.Iconify===void 0&&(self.Iconify=yt)}catch{}const To=yt.default||yt;JSON.parse('[{"prefix":"tabler","width":24,"height":24,"icons":{"arrow-left":{"body":""},"arrow-right":{"body":""},"brightness-2":{"body":""},"category":{"body":""},"eye":{"body":""},"heart":{"body":""},"menu-2":{"body":""},"message-circle":{"body":""},"search":{"body":""},"share":{"body":""},"stairs-up":{"body":""},"tags":{"body":""},"x":{"body":""}}},{"prefix":"ion","width":512,"height":512,"icons":{"enter":{"body":""}}},{"prefix":"simple-icons","width":24,"height":24,"icons":{"bilibili":{"body":""},"feedly":{"body":""},"github":{"body":""},"telegram":{"body":""},"twitter":{"body":""},"wechat":{"body":""}}},{"prefix":"ps","width":512,"height":512,"icons":{}},{"prefix":"et","width":32,"height":32,"icons":{}},{"prefix":"el","width":1200,"height":1200,"icons":{}},{"prefix":"il","width":750,"height":850,"icons":{}},{"prefix":"ic","width":24,"height":24,"icons":{}},{"prefix":"ri","width":24,"height":24,"icons":{}}]').forEach(e=>To.addCollection(e));var mt=!1,bt=!1,N=[];function Po(e){jo(e)}function jo(e){N.includes(e)||N.push(e),Lo()}function Wn(e){let t=N.indexOf(e);t!==-1&&N.splice(t,1)}function Lo(){!bt&&!mt&&(mt=!0,queueMicrotask(Fo))}function Fo(){mt=!1,bt=!0;for(let e=0;ee.effect(t,{scheduler:n=>{vt?Po(n):n()}}),Un=e.raw}function Gn(e){ce=e}function No(e){let t=()=>{};return[r=>{let i=ce(r);return e._x_effects||(e._x_effects=new Set,e._x_runEffects=()=>{e._x_effects.forEach(o=>o())}),e._x_effects.add(i),t=()=>{i!==void 0&&(e._x_effects.delete(i),Te(i))},i},()=>{t()}]}var Qn=[],Jn=[],Yn=[];function zo(e){Yn.push(e)}function Zn(e,t){typeof t=="function"?(e._x_cleanups||(e._x_cleanups=[]),e._x_cleanups.push(t)):(t=e,Jn.push(t))}function Do(e){Qn.push(e)}function Bo(e,t,n){e._x_attributeCleanups||(e._x_attributeCleanups={}),e._x_attributeCleanups[t]||(e._x_attributeCleanups[t]=[]),e._x_attributeCleanups[t].push(n)}function Xn(e,t){!e._x_attributeCleanups||Object.entries(e._x_attributeCleanups).forEach(([n,r])=>{(t===void 0||t.includes(n))&&(r.forEach(i=>i()),delete e._x_attributeCleanups[n])})}var xt=new MutationObserver(Ct),wt=!1;function er(){xt.observe(document,{subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0}),wt=!0}function Ko(){Ho(),xt.disconnect(),wt=!1}var ae=[],St=!1;function Ho(){ae=ae.concat(xt.takeRecords()),ae.length&&!St&&(St=!0,queueMicrotask(()=>{qo(),St=!1}))}function qo(){Ct(ae),ae.length=0}function x(e){if(!wt)return e();Ko();let t=e();return er(),t}var Et=!1,Pe=[];function Vo(){Et=!0}function Wo(){Et=!1,Ct(Pe),Pe=[]}function Ct(e){if(Et){Pe=Pe.concat(e);return}let t=[],n=[],r=new Map,i=new Map;for(let o=0;os.nodeType===1&&t.push(s)),e[o].removedNodes.forEach(s=>s.nodeType===1&&n.push(s))),e[o].type==="attributes")){let s=e[o].target,c=e[o].attributeName,a=e[o].oldValue,u=()=>{r.has(s)||r.set(s,[]),r.get(s).push({name:c,value:s.getAttribute(c)})},l=()=>{i.has(s)||i.set(s,[]),i.get(s).push(c)};s.hasAttribute(c)&&a===null?u():s.hasAttribute(c)?(l(),u()):l()}i.forEach((o,s)=>{Xn(s,o)}),r.forEach((o,s)=>{Qn.forEach(c=>c(s,o))});for(let o of n)if(!t.includes(o)&&(Jn.forEach(s=>s(o)),o._x_cleanups))for(;o._x_cleanups.length;)o._x_cleanups.pop()();t.forEach(o=>{o._x_ignoreSelf=!0,o._x_ignore=!0});for(let o of t)n.includes(o)||!o.isConnected||(delete o._x_ignoreSelf,delete o._x_ignore,Yn.forEach(s=>s(o)),o._x_ignore=!0,o._x_ignoreSelf=!0);t.forEach(o=>{delete o._x_ignoreSelf,delete o._x_ignore}),t=null,n=null,r=null,i=null}function tr(e){return le(U(e))}function ue(e,t,n){return e._x_dataStack=[t,...U(n||e)],()=>{e._x_dataStack=e._x_dataStack.filter(r=>r!==t)}}function nr(e,t){let n=e._x_dataStack[0];Object.entries(t).forEach(([r,i])=>{n[r]=i})}function U(e){return e._x_dataStack?e._x_dataStack:typeof ShadowRoot=="function"&&e instanceof ShadowRoot?U(e.host):e.parentNode?U(e.parentNode):[]}function le(e){let t=new Proxy({},{ownKeys:()=>Array.from(new Set(e.flatMap(n=>Object.keys(n)))),has:(n,r)=>e.some(i=>i.hasOwnProperty(r)),get:(n,r)=>(e.find(i=>{if(i.hasOwnProperty(r)){let o=Object.getOwnPropertyDescriptor(i,r);if(o.get&&o.get._x_alreadyBound||o.set&&o.set._x_alreadyBound)return!0;if((o.get||o.set)&&o.enumerable){let s=o.get,c=o.set,a=o;s=s&&s.bind(t),c=c&&c.bind(t),s&&(s._x_alreadyBound=!0),c&&(c._x_alreadyBound=!0),Object.defineProperty(i,r,{...a,get:s,set:c})}return!0}return!1})||{})[r],set:(n,r,i)=>{let o=e.find(s=>s.hasOwnProperty(r));return o?o[r]=i:e[e.length-1][r]=i,!0}});return t}function rr(e){let t=r=>typeof r=="object"&&!Array.isArray(r)&&r!==null,n=(r,i="")=>{Object.entries(Object.getOwnPropertyDescriptors(r)).forEach(([o,{value:s,enumerable:c}])=>{if(c===!1||s===void 0)return;let a=i===""?o:`${i}.${o}`;typeof s=="object"&&s!==null&&s._x_interceptor?r[o]=s.initialize(e,a,o):t(s)&&s!==r&&!(s instanceof Element)&&n(s,a)})};return n(e)}function ir(e,t=()=>{}){let n={initialValue:void 0,_x_interceptor:!0,initialize(r,i,o){return e(this.initialValue,()=>Uo(r,i),s=>At(r,i,s),i,o)}};return t(n),r=>{if(typeof r=="object"&&r!==null&&r._x_interceptor){let i=n.initialize.bind(n);n.initialize=(o,s,c)=>{let a=r.initialize(o,s,c);return n.initialValue=a,i(o,s,c)}}else n.initialValue=r;return n}}function Uo(e,t){return t.split(".").reduce((n,r)=>n[r],e)}function At(e,t,n){if(typeof t=="string"&&(t=t.split(".")),t.length===1)e[t[0]]=n;else{if(t.length===0)throw error;return e[t[0]]||(e[t[0]]={}),At(e[t[0]],t.slice(1),n)}}var or={};function A(e,t){or[e]=t}function Ot(e,t){return Object.entries(or).forEach(([n,r])=>{Object.defineProperty(e,`$${n}`,{get(){let[i,o]=fr(t);return i={interceptor:ir,...i},Zn(t,o),r(t,i)},enumerable:!1})}),e}function Go(e,t,n,...r){try{return n(...r)}catch(i){fe(i,e,t)}}function fe(e,t,n=void 0){Object.assign(e,{el:t,expression:n}),console.warn(`Alpine Expression Error: ${e.message} + +${n?'Expression: "'+n+`" + +`:""}`,t),setTimeout(()=>{throw e},0)}var je=!0;function Qo(e){let t=je;je=!1,e(),je=t}function G(e,t,n={}){let r;return S(e,t)(i=>r=i,n),r}function S(...e){return sr(...e)}var sr=cr;function Jo(e){sr=e}function cr(e,t){let n={};Ot(n,e);let r=[n,...U(e)];if(typeof t=="function")return Yo(r,t);let i=Xo(r,t,e);return Go.bind(null,e,t,i)}function Yo(e,t){return(n=()=>{},{scope:r={},params:i=[]}={})=>{let o=t.apply(le([r,...e]),i);Le(n,o)}}var It={};function Zo(e,t){if(It[e])return It[e];let n=Object.getPrototypeOf(async function(){}).constructor,r=/^[\n\s]*if.*\(.*\)/.test(e)||/^(let|const)\s/.test(e)?`(() => { ${e} })()`:e,o=(()=>{try{return new n(["__self","scope"],`with (scope) { __self.result = ${r} }; __self.finished = true; return __self.result;`)}catch(s){return fe(s,t,e),Promise.resolve()}})();return It[e]=o,o}function Xo(e,t,n){let r=Zo(t,n);return(i=()=>{},{scope:o={},params:s=[]}={})=>{r.result=void 0,r.finished=!1;let c=le([o,...e]);if(typeof r=="function"){let a=r(r,c).catch(u=>fe(u,n,t));r.finished?(Le(i,r.result,c,s,n),r.result=void 0):a.then(u=>{Le(i,u,c,s,n)}).catch(u=>fe(u,n,t)).finally(()=>r.result=void 0)}}}function Le(e,t,n,r,i){if(je&&typeof t=="function"){let o=t.apply(n,r);o instanceof Promise?o.then(s=>Le(e,s,n,r)).catch(s=>fe(s,i,t)):e(o)}else e(t)}var Mt="x-";function Q(e=""){return Mt+e}function es(e){Mt=e}var ar={};function v(e,t){ar[e]=t}function kt(e,t,n){if(t=Array.from(t),e._x_virtualDirectives){let o=Object.entries(e._x_virtualDirectives).map(([c,a])=>({name:c,value:a})),s=ur(o);o=o.map(c=>s.find(a=>a.name===c.name)?{name:`x-bind:${c.name}`,value:`"${c.value}"`}:c),t=t.concat(o)}let r={};return t.map(hr((o,s)=>r[o]=s)).filter(_r).map(rs(r,n)).sort(is).map(o=>ns(e,o))}function ur(e){return Array.from(e).map(hr()).filter(t=>!_r(t))}var Tt=!1,de=new Map,lr=Symbol();function ts(e){Tt=!0;let t=Symbol();lr=t,de.set(t,[]);let n=()=>{for(;de.get(t).length;)de.get(t).shift()();de.delete(t)},r=()=>{Tt=!1,n()};e(n),r()}function fr(e){let t=[],n=c=>t.push(c),[r,i]=No(e);return t.push(i),[{Alpine:ge,effect:r,cleanup:n,evaluateLater:S.bind(S,e),evaluate:G.bind(G,e)},()=>t.forEach(c=>c())]}function ns(e,t){let n=()=>{},r=ar[t.type]||n,[i,o]=fr(e);Bo(e,t.original,o);let s=()=>{e._x_ignore||e._x_ignoreSelf||(r.inline&&r.inline(e,t,i),r=r.bind(r,e,t,i),Tt?de.get(lr).push(r):r())};return s.runCleanups=o,s}var dr=(e,t)=>({name:n,value:r})=>(n.startsWith(e)&&(n=n.replace(e,t)),{name:n,value:r}),pr=e=>e;function hr(e=()=>{}){return({name:t,value:n})=>{let{name:r,value:i}=gr.reduce((o,s)=>s(o),{name:t,value:n});return r!==t&&e(r,t),{name:r,value:i}}}var gr=[];function Pt(e){gr.push(e)}function _r({name:e}){return yr().test(e)}var yr=()=>new RegExp(`^${Mt}([^:^.]+)\\b`);function rs(e,t){return({name:n,value:r})=>{let i=n.match(yr()),o=n.match(/:([a-zA-Z0-9\-:]+)/),s=n.match(/\.[^.\]]+(?=[^\]]*$)/g)||[],c=t||e[n]||n;return{type:i?i[1]:null,value:o?o[1]:null,modifiers:s.map(a=>a.replace(".","")),expression:r,original:c}}}var jt="DEFAULT",Fe=["ignore","ref","data","id","bind","init","for","mask","model","modelable","transition","show","if",jt,"teleport"];function is(e,t){let n=Fe.indexOf(e.type)===-1?jt:e.type,r=Fe.indexOf(t.type)===-1?jt:t.type;return Fe.indexOf(n)-Fe.indexOf(r)}function pe(e,t,n={}){e.dispatchEvent(new CustomEvent(t,{detail:n,bubbles:!0,composed:!0,cancelable:!0}))}var Lt=[],Ft=!1;function mr(e=()=>{}){return queueMicrotask(()=>{Ft||setTimeout(()=>{Rt()})}),new Promise(t=>{Lt.push(()=>{e(),t()})})}function Rt(){for(Ft=!1;Lt.length;)Lt.shift()()}function os(){Ft=!0}function z(e,t){if(typeof ShadowRoot=="function"&&e instanceof ShadowRoot){Array.from(e.children).forEach(i=>z(i,t));return}let n=!1;if(t(e,()=>n=!0),n)return;let r=e.firstElementChild;for(;r;)z(r,t),r=r.nextElementSibling}function J(e,...t){console.warn(`Alpine Warning: ${e}`,...t)}function ss(){document.body||J("Unable to initialize. Trying to load Alpine before `` is available. Did you forget to add `defer` in Alpine's ` + - +
+ diff --git a/templates/modules/overlay-menu.html b/templates/modules/overlay-menu.html new file mode 100644 index 0000000..b233b42 --- /dev/null +++ b/templates/modules/overlay-menu.html @@ -0,0 +1,177 @@ + diff --git a/templates/modules/widgets/profile.html b/templates/modules/widgets/profile.html index af3e24b..18ad45b 100644 --- a/templates/modules/widgets/profile.html +++ b/templates/modules/widgets/profile.html @@ -3,7 +3,11 @@ >
- + @@ -11,7 +15,7 @@

-
+