@yongdall/theme 0.6.5 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import{Application as e,ErrorAlerter as t,Ident as n,Menu as r,Page as i,PageIdent as a,PageSider as o,Pattern as s,User as c,createComputed as l,createFrame as u,createIcon as d,createNeverAbortedSignal as f,createShowField as p,createState as m,createTick as h,effect as g,flatPermission as _,isMac as ee,loadNavButtons as v,root as y,toFileLink as b,toPermissionFilter as x,waitAbortSignal as te,watch as S}from"@yongdall/web";import"@neeloong/components";const C=`YongDallTheme`,w=`${C}-activity`,T=document.createElement(`div`);T.classList.add(w);const ne=new Map;let E,re=!1;function ie(e){re=e}var ae=e=>{let t=document.createElement(`div`);t.classList.add(`${w}-page`);let n=t.appendChild(document.createElement(`a`));n.classList.add(`${w}-title`),n.href=e.href,n.innerText=e.title;let r=t.appendChild(document.createElement(`button`));r.type=`button`,r.classList.add(`${w}-close`),r.addEventListener(`click`,()=>{e.destroy()});let i={button:t,link:n,next:E};E&&(E.last=i),E=i,ne.set(e,i),T.insertBefore(t,re?null:T.firstChild),g(()=>{n.innerText=e.title},e.signal),g(()=>{n.href=e.href},e.signal),g(()=>{e.current?t.classList.add(`${w}-current`):t.classList.remove(`${w}-current`)},e.signal),g(()=>{e.loading?t.classList.add(`${w}-loading`):t.classList.remove(`${w}-loading`)},e.signal),g(()=>{e.unsaved?t.classList.add(`${w}-unsaved`):t.classList.remove(`${w}-unsaved`)},e.signal),te(e.signal).then(()=>{let{last:e,next:n}=i;e&&(e.next=n),n&&(n.last=e),E===i&&(E=n),t.remove()})},D=class{#e;#t;#n;#r;#i=[];#a=document.createElement(`table`);#o=this.#a.appendChild(document.createElement(`thead`));#s=this.#o.appendChild(document.createElement(`tr`));#c=this.#a.appendChild(document.createElement(`tbody`));get root(){return this.#a}get createUrl(){return this.#e}set createUrl(e){let t=typeof e==`function`?e:null;this.#e!==t&&(this.#e=t,this.#l())}constructor(e,t){let n=Object.entries(t.fields).filter(([,{type:e}])=>e&&typeof e!=`object`),r=Object.entries(t.fields).filter(([,e])=>e.primary).map(([e])=>e);this.#n=t.labelPattern||``,this.#e=typeof e==`function`?e:null,this.#t=n,this.#r=r;let i=this.#s;i.innerHTML=``,i.appendChild(document.createElement(`th`)).appendChild(document.createTextNode(`#`));for(let[e,t]of n)i.appendChild(document.createElement(`th`)).appendChild(document.createTextNode(t.label||e))}#l(){let e=this.#c;e.innerHTML=``;let t=this.#r,n=this.#n,r=this.#t,i=this.#e;for(let a of this.#i){let o=e.appendChild(document.createElement(`tr`)),c=o.appendChild(document.createElement(`td`)),l=s.generate(n,a)||t.map(e=>a[e]).join(`$`);if(i){let e=c.appendChild(document.createElement(`a`));e.href=i(t.map(e=>a[e]).join(`$`)),e.appendChild(document.createTextNode(l))}else c.appendChild(document.createTextNode(l));for(let[e,t]of r){let n=o.appendChild(document.createElement(`td`)),r=p(e,t,{inline:!0},a);n.appendChild(r.root)}}}setData(e){this.#i=e,this.#l()}destroy(){}},oe=class{#e;#t;constructor(){let e=document.createElement(`nl-pagination`);e.size=20,e.appendChild(document.createElement(`nl-pagination-value`)).name=`start`,e.appendChild(document.createTextNode(`-`)),e.appendChild(document.createElement(`nl-pagination-value`)).name=`end`,e.appendChild(document.createTextNode(`/`)),e.appendChild(document.createElement(`nl-pagination-value`)).name=`total`,e.appendChild(document.createElement(`nl-pagination-prev`)).innerText=`上一页`,e.appendChild(document.createElement(`nl-pagination-pager`)),e.appendChild(document.createElement(`nl-pagination-next`)).innerText=`下一页`,e.appendChild(document.createElement(`nl-pagination-sizer`));let t=new Set;e.addEventListener(`change`,()=>{for(let e of t)e()}),this.#e=t,this.#t=e}get root(){return this.#t}get size(){return this.#t.size}set size(e){this.#t.size=e}get page(){return this.#t.page}set page(e){this.#t.page=e}get total(){return this.#t.total}set total(e){this.#t.total=e}listen(e){let t=this.#e,n=()=>e(this);return t.add(n),()=>{t.delete(n)}}destroy(){}};function O(e){e.listen(`update`,()=>{let{container:t}=e;t.innerHTML=``})}function*se(e,t,n){if(!e)return;let r=e.indexOf(`?`),i=r<0?e:e.slice(0,r);if(r>=0&&r+1<e.length)for(let n=e.slice(r).split(`&`);n.length;n.pop()){let e=t.get(`${i}${n.join(`&`)}`);e?.length&&(yield e)}let a=t.get(i);a?.length&&(yield a);let o=n.get(i);o?.length&&(yield o.map(e=>e[0]))}function*ce(e,t,r,i,a){if(yield*se(e,t,r),i)for(let e of[...n.stringifyPaths(i)].reverse()){let t=a.get(e);t?.length&&(yield t)}}function*le(e){let t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(let e;e=t.nextNode();)yield e}function ue(e,t){let n=[],r=[...le(t)].filter(e=>e.nodeValue?.length),i=r.reduce((e,t)=>{let n=e[e.length-1]?.[1]||0;return[...e,[n,n+(t.nodeValue?.length||0),t]]},[]),a=r.map(e=>e.nodeValue).join(``),o=0;for(let t of e){let e=a.indexOf(t,o);if(e===-1)return[];let r=e+t.length,s=i.findLast(([t])=>t<=e);if(!s)return[];let c=i.findLast(([,e])=>e>=r);if(!c)return[];o=e+t.length;let l=new Range;l.setStart(s[2],e-s[0]),l.setEnd(c[2],r-s[0]),n.push(l)}return n}function de(t,r,i={}){let o=new Map,s=new Map,c=new Map,l=null,u=[],d=[];function p(t,r){let i=document.createElement(`a`),l=i;i.appendChild(document.createTextNode(t.label||t.title||``)),i.title=t.title||``;let{page:u,path:d,uri:f,target:p}=t,m=null,g=u&&n.parse(u);if(g)m=new URL(a.stringify(g,d),e.root),i.href=m.href,p&&typeof p==`string`&&(i.target=p);else if(f){i.href=f;try{m=new URL(f),m.origin!==location.origin&&(m=null)}catch{}p!==``&&(i.target=p??`_blank`)}if(m&&(i.target||`_self`)===`_self`){i.addEventListener(`click`,()=>{h=l,requestIdleCallback(()=>{h===l&&(h=null)})});let{pathname:e,search:t}=m,r=`${e}${t}`,a=s.get(r);a?a.push(l):s.set(e,[l]);let u=o.get(r);if(u?u.push([l,t.length]):o.set(e,[[l,t.length]]),g&&(!d||d[0]===`?`||d[0]===`#`)){let e=n.stringify(g),t=c.get(e);t?t.push(l):c.set(e,[l])}}return i}function m(e){let t=p(e);return t.classList.add(`NavMenu-button`),t}let h=null;function g(e,t){let{children:n}=e;if(!n.length){let t=document.createElement(`div`),n=t.appendChild(p(e,t));for(let n of e.buttons||[])t.appendChild(m(n));return t.classList.add(`NavMenu-item`),n.classList.add(`NavMenu-item-link`),{el:t,filter(e,r){let i=r?ue(r,n):[];return t.hidden=!!(!e&&r&&!i.length),i}}}let r=document.createElement(`nl-collapse`);r.setAttribute(`animation`,``),r.setAttribute(`menu`,``);let i=r.appendChild(document.createElement(`div`));i.appendChild(document.createTextNode(e.label||e.title||``)),i.className=`NavMenu-label`,i.slot=`label`,i.style.flex=`1`;for(let t of e.buttons||[])r.appendChild(m(t)).slot=`label`;let a=_(r,n,t+1);return a.length?{el:r,filter(e,t){if(!t){for(let t of a)t.filter(e);return r.hidden=!1,r.open=!1,[]}let n=ue(t,i),o=!!(e||n.length),s=a.flatMap(e=>e.filter(o,t));r.open=!!s.length;let c=[...n,...s];return r.hidden=!e&&!c.length,c}}:null}function _(e,t,n){let r=!1,i=!1,a=[];for(let o of t){if(!o){if(!r)continue;i=!0;continue}i&&(i=!1,e.appendChild(document.createElement(`hr`)));let t=g(o,n);t&&(a.push(t),r=!0,e.appendChild(t.el),u.push(t.el),t.el.style.setProperty(`--NavMenu-level`,String(n)))}return a}let ee=_(t,r,0),v=!1;function y(){if(!v){v=!0;for(let e of u)e.remove();for(let e of d)e()}}let b=i.signal||f();b.aborted?y():b.addEventListener(`abort`,y,{once:!0});let x=[];return S(()=>{let e=i.active;return e?typeof e==`string`?e.replace(/#.*/,``)||``:Array.isArray(e)?e[1]?[e[0]?.replace(/#.*/,``)||``,e[1]||null]:e[0]?.replace(/#.*/,``)||null:null:null},e=>{if(!e)return;let n=Array.isArray(e)?e[0]:``,r=Array.isArray(e)?e[1]:null;for(let e of ce(n,s,o,r,c)){let n=h&&e.includes(h)?h:null;if(n&&(h=null),!n&&l&&e.includes(l))return;let r=n||e[0],i=[],a=r.parentElement;for(;a&&a!==t;a=a.parentElement)i.push(a);if(a!==t)return;x=i,l?.classList.remove(`NavMenu-current`);for(let e of x)e.setAttribute(`open`,``);l=r,l?.classList.add(`NavMenu-current`);return}},{signal:b,immediate:!0}),e=>{let t=e.toLowerCase().split(/[\s\n]+/).filter(Boolean);if(t.length)return ee.flatMap(e=>e.filter(!1,t));ee.flatMap(e=>e.filter(!1));for(let e of x)e.setAttribute(`open`,``);return[]}}const k=document.createElement(`div`);k.style.display=`flex`,k.style.flexDirection=`column`;const fe=k.appendChild(document.createElement(`header`));fe.classList.add(`NavMenu-header`);const A=fe.appendChild(document.createElement(`input`));A.placeholder=`过滤菜单...`,A.type=`search`;const j=fe.appendChild(document.createElement(`button`));j.appendChild(d(`refresh`,!0)),j.classList.add(`icon`),j.title=`刷新`;const M=k.appendChild(document.createElement(`main`));M.style.flex=`1`,M.style.overflow=`auto`,M.classList.add(`NavMenu`);let pe=null;function me(){let e=pe?.(A.value)||[],t=new Highlight(...e);CSS.highlights.set(`NavMenu-filter-highlight`,t)}A.addEventListener(`input`,me);const he=l(()=>r.fromDefine(e.menus,[])),ge=l(()=>{let e=c.permissions,t=he.get();if(e.size<0)return t;let n=x({permissions:e,organizationPermissions:c.organizationPermissions,allOrganizationPermissions:c.allOrganizationPermissions});return r.filter(t,e=>{let t=_(e.permission);return t.length?!!t.find(n):!0})}),_e=m(``);let ve=null;g(()=>{ve?.abort(),M.innerHTML=``,ve=new AbortController,pe=de(M,ge.get(),{signal:ve.signal,get active(){return _e.get()}}),me()});function N(e,t,n,r){if(!r){_e.set(`${e}${t}`);return}_e.set([`${e}${t}`,r])}j.addEventListener(`click`,()=>e.loadMenus(!0));function ye(e,t,n){if(!e){let e=d(`user`,t);return n||e.setAttribute(`fill-opacity`,`0.5`),e}let r=document.createElement(`img`);return r.src=e,r}function be(e,t,n=f()){e.classList.add(`${C}-user-avatar`);let r=l(()=>c.single?null:c.session?.avatar||``).get(),i=new AbortController,a=AbortSignal.any([i.signal,n]),o=r===null?d(`singleUser`,a):ye(r,a,t);e.appendChild(o),g(()=>{let a=c.single?null:c.session?.avatar||``;if(a===r)return;r=a,i?.abort(),i=new AbortController;let s=AbortSignal.any([i.signal,n]),l=r===null?d(`singleUser`,s):ye(r,s,t);!t&&r===null&&l.setAttribute(`fill-opacity`,`0.5`),e.replaceChild(l,o),o.remove(),o=l},n);let s=l(()=>{let e=c.impersonation,t=c.session;return!e||e.id===(t?.id||``)?null:e.avatar||``}),u=null,p=null,m=null;g(()=>{let r=s.get();r!==u&&(u=r,p?.remove(),p=null,m?.abort(),r!==null&&(m=new AbortController,p=ye(r,AbortSignal.any([m.signal,n]),t),e.insertBefore(p,o)))},n)}const P=document.createElement(`div`);P.classList.add(`${C}-user`);const F=document.createElement(`div`);F.classList.add(`${C}-user-button`),be(F,!0);const I=P.appendChild(document.createElement(`span`));I.classList.add(`${C}-user-info`);const xe=I.appendChild(document.createElement(`span`));be(xe),xe.classList.add(`avatar`);const Se=I.appendChild(document.createElement(`span`));Se.classList.add(`username`),Se.innerText=`用户名`;const Ce=I.appendChild(document.createElement(`span`));Ce.classList.add(`btns`);let we=Ce.appendChild(document.createComment(``));S(()=>e.help,(e,t,n)=>{if(!e){let e=document.createComment(``);we.replaceWith(e),we=e;return}let r=document.createElement(`a`);r.href=e,r.target=`_blank`,r.appendChild(d(`help`,n())),r.title=`帮助`,we.replaceWith(r),we=r},{immediate:!0});const Te=Ce.appendChild(document.createElement(`div`));Te.appendChild(d(`logout`,!0)),Te.title=`退出登录`,g(()=>{Te.hidden=!c.operator}),Te.addEventListener(`click`,()=>c.exit(!0)),g(()=>{Se.innerText=c.operator?.name||``});const Ee=l(()=>r.fromDefine(e.userMenus,[])),De=l(()=>{let e=Ee.get();return c.operator?e:r.filter(e,e=>!e.logged)}),L=P.appendChild(document.createElement(`main`));L.style.flex=`1`,L.style.overflow=`auto`,L.classList.add(`NavMenu`);let Oe=null;g(()=>{Oe?.abort(),L.innerHTML=``,Oe=new AbortController,de(L,De.get(),{signal:Oe.signal})});const R=document.createElement(`a`);R.classList.add(`${C}-logo`),S(()=>e.root,e=>{R.href=e},{immediate:!0}),S(()=>b(e.logo),(e,t,n)=>{let r=n(),i;e?(i=document.createElement(`img`),i.src=e.href):i=d(`logo`,r),R.appendChild(i),i.classList.add(`logo`),n(()=>{i.remove()})},{immediate:!0});const ke={404:{title:`您所请求的页面无法找到`,description:`服务器无法正常提供信息。
1
+ import{Application as e,ErrorAlerter as t,Ident as n,Menu as r,Page as i,PageIdent as a,PageSider as o,Pattern as s,User as c,createComputed as l,createFrame as u,createIcon as d,createNeverAbortedSignal as f,createShowField as p,createState as m,createTick as h,effect as g,flatPermission as _,isMac as ee,loadNavButtons as v,root as y,toFileLink as b,toPermissionFilter as te,waitAbortSignal as ne,watch as x}from"@yongdall/web";import"@neeloong/components";const S=`YongDallTheme`,C=`${S}-activity`,w=document.createElement(`div`);w.classList.add(C);const re=new Map;let T,ie=!1;function ae(e){ie=e}const oe=e=>{let t=document.createElement(`div`);t.classList.add(`${C}-page`);let n=t.appendChild(document.createElement(`a`));n.classList.add(`${C}-title`),n.href=e.href,n.innerText=e.title;let r=t.appendChild(document.createElement(`button`));r.type=`button`,r.classList.add(`${C}-close`),r.addEventListener(`click`,()=>{e.destroy()});let i={button:t,link:n,next:T};T&&(T.last=i),T=i,re.set(e,i),w.insertBefore(t,ie?null:w.firstChild),g(()=>{n.innerText=e.title},e.signal),g(()=>{n.href=e.href},e.signal),g(()=>{e.current?t.classList.add(`${C}-current`):t.classList.remove(`${C}-current`)},e.signal),g(()=>{e.loading?t.classList.add(`${C}-loading`):t.classList.remove(`${C}-loading`)},e.signal),g(()=>{e.unsaved?t.classList.add(`${C}-unsaved`):t.classList.remove(`${C}-unsaved`)},e.signal),ne(e.signal).then(()=>{let{last:e,next:n}=i;e&&(e.next=n),n&&(n.last=e),T===i&&(T=n),t.remove()})};var E=class{#e;#t;#n;#r;#i=[];#a=document.createElement(`table`);#o=this.#a.appendChild(document.createElement(`thead`));#s=this.#o.appendChild(document.createElement(`tr`));#c=this.#a.appendChild(document.createElement(`tbody`));get root(){return this.#a}get createUrl(){return this.#e}set createUrl(e){let t=typeof e==`function`?e:null;this.#e!==t&&(this.#e=t,this.#l())}constructor(e,t){let n=Object.entries(t.fields).filter(([,{type:e}])=>e&&typeof e!=`object`),r=Object.entries(t.fields).filter(([,e])=>e.primary).map(([e])=>e),i=t.labelPattern||``;this.#n=i,this.#e=typeof e==`function`?e:null,this.#t=n,this.#r=r;let a=this.#s;a.innerHTML=``,a.appendChild(document.createElement(`th`)).appendChild(document.createTextNode(`#`));for(let[e,t]of n)a.appendChild(document.createElement(`th`)).appendChild(document.createTextNode(t.label||e))}#l(){let e=this.#c;e.innerHTML=``;let t=this.#r,n=this.#n,r=this.#t,i=this.#e;for(let a of this.#i){let o=e.appendChild(document.createElement(`tr`)),c=o.appendChild(document.createElement(`td`)),l=s.generate(n,a)||t.map(e=>a[e]).join(`$`);if(i){let e=c.appendChild(document.createElement(`a`));e.href=i(t.map(e=>a[e]).join(`$`)),e.appendChild(document.createTextNode(l))}else c.appendChild(document.createTextNode(l));for(let[e,t]of r){let n=o.appendChild(document.createElement(`td`)),r=p(e,t,{inline:!0},a);n.appendChild(r.root)}}}setData(e){this.#i=e,this.#l()}destroy(){}},D=class{#e;#t;constructor(){let e=document.createElement(`nl-pagination`);e.size=20,e.appendChild(document.createElement(`nl-pagination-value`)).name=`start`,e.appendChild(document.createTextNode(`-`)),e.appendChild(document.createElement(`nl-pagination-value`)).name=`end`,e.appendChild(document.createTextNode(`/`)),e.appendChild(document.createElement(`nl-pagination-value`)).name=`total`,e.appendChild(document.createElement(`nl-pagination-prev`)).innerText=`上一页`,e.appendChild(document.createElement(`nl-pagination-pager`)),e.appendChild(document.createElement(`nl-pagination-next`)).innerText=`下一页`,e.appendChild(document.createElement(`nl-pagination-sizer`));let t=new Set;e.addEventListener(`change`,()=>{for(let e of t)e()}),this.#e=t,this.#t=e}get root(){return this.#t}get size(){return this.#t.size}set size(e){this.#t.size=e}get page(){return this.#t.page}set page(e){this.#t.page=e}get total(){return this.#t.total}set total(e){this.#t.total=e}listen(e){let t=this.#e,n=()=>e(this);return t.add(n),()=>{t.delete(n)}}destroy(){}};function se(e){e.listen(`update`,()=>{let{container:t}=e;t.innerHTML=``})}function*ce(e,t,n){if(!e)return;let r=e.indexOf(`?`),i=r<0?e:e.slice(0,r);if(r>=0&&r+1<e.length)for(let n=e.slice(r).split(`&`);n.length;n.pop()){let e=t.get(`${i}${n.join(`&`)}`);e?.length&&(yield e)}let a=t.get(i);a?.length&&(yield a);let o=n.get(i);o?.length&&(yield o.map(e=>e[0]))}function*le(e,t,r,i,a){if(yield*ce(e,t,r),i)for(let e of[...n.stringifyPaths(i)].reverse()){let t=a.get(e);t?.length&&(yield t)}}function*ue(e){let t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(let e;e=t.nextNode();)yield e}function de(e,t){let n=[],r=[...ue(t)].filter(e=>e.nodeValue?.length),i=r.reduce((e,t)=>{let n=e[e.length-1]?.[1]||0;return[...e,[n,n+(t.nodeValue?.length||0),t]]},[]),a=r.map(e=>e.nodeValue).join(``),o=0;for(let t of e){let e=a.indexOf(t,o);if(e===-1)return[];let r=e+t.length,s=i.findLast(([t])=>t<=e);if(!s)return[];let c=i.findLast(([,e])=>e>=r);if(!c)return[];o=e+t.length;let l=new Range;l.setStart(s[2],e-s[0]),l.setEnd(c[2],r-s[0]),n.push(l)}return n}function fe(t,r,i={}){let o=new Map,s=new Map,c=new Map,l=null,u=[],d=[];function p(t,r){let i=document.createElement(`a`),l=i;i.appendChild(document.createTextNode(t.label||t.title||``)),i.title=t.title||``;let{page:u,path:d,uri:f,target:p}=t,m=null,g=u&&n.parse(u);if(g)m=new URL(a.stringify(g,d),e.root),i.href=m.href,p&&typeof p==`string`&&(i.target=p);else if(f){i.href=f;try{m=new URL(f),m.origin!==location.origin&&(m=null)}catch{}p!==``&&(i.target=p??`_blank`)}if(m&&(i.target||`_self`)===`_self`){i.addEventListener(`click`,()=>{h=l,requestIdleCallback(()=>{h===l&&(h=null)})});let{pathname:e,search:t}=m,r=`${e}${t}`,a=s.get(r);a?a.push(l):s.set(e,[l]);let u=o.get(r);if(u?u.push([l,t.length]):o.set(e,[[l,t.length]]),g&&(!d||d[0]===`?`||d[0]===`#`)){let e=n.stringify(g),t=c.get(e);t?t.push(l):c.set(e,[l])}}return i}function m(e){let t=p(e);return t.classList.add(`NavMenu-button`),t}let h=null;function g(e,t){let{children:n}=e;if(!n.length){let t=document.createElement(`div`),n=t.appendChild(p(e,t));for(let n of e.buttons||[])t.appendChild(m(n));return t.classList.add(`NavMenu-item`),n.classList.add(`NavMenu-item-link`),{el:t,filter(e,r){let i=r?de(r,n):[];return t.hidden=!!(!e&&r&&!i.length),i}}}let r=document.createElement(`nl-collapse`);r.setAttribute(`animation`,``),r.setAttribute(`menu`,``);let i=r.appendChild(document.createElement(`div`));i.appendChild(document.createTextNode(e.label||e.title||``)),i.className=`NavMenu-label`,i.slot=`label`,i.style.flex=`1`;for(let t of e.buttons||[])r.appendChild(m(t)).slot=`label`;let a=_(r,n,t+1);return a.length?{el:r,filter(e,t){if(!t){for(let t of a)t.filter(e);return r.hidden=!1,r.open=!1,[]}let n=de(t,i),o=!!(e||n.length),s=a.flatMap(e=>e.filter(o,t));r.open=!!s.length;let c=[...n,...s];return r.hidden=!e&&!c.length,c}}:null}function _(e,t,n){let r=!1,i=!1,a=[];for(let o of t){if(!o){if(!r)continue;i=!0;continue}i&&(i=!1,e.appendChild(document.createElement(`hr`)));let t=g(o,n);t&&(a.push(t),r=!0,e.appendChild(t.el),u.push(t.el),t.el.style.setProperty(`--NavMenu-level`,String(n)))}return a}let ee=_(t,r,0),v=!1;function y(){if(!v){v=!0;for(let e of u)e.remove();for(let e of d)e()}}let b=i.signal||f();b.aborted?y():b.addEventListener(`abort`,y,{once:!0});let te=[];return x(()=>{let e=i.active;return e?typeof e==`string`?e.replace(/#.*/,``)||``:Array.isArray(e)?e[1]?[e[0]?.replace(/#.*/,``)||``,e[1]||null]:e[0]?.replace(/#.*/,``)||null:null:null},e=>{if(!e)return;let n=Array.isArray(e)?e[0]:``,r=Array.isArray(e)?e[1]:null;for(let e of le(n,s,o,r,c)){let n=h&&e.includes(h)?h:null;if(n&&(h=null),!n&&l&&e.includes(l))return;let r=n||e[0],i=[],a=r.parentElement;for(;a&&a!==t;a=a.parentElement)i.push(a);if(a!==t)return;te=i,l?.classList.remove(`NavMenu-current`);for(let e of te)e.setAttribute(`open`,``);l=r,l?.classList.add(`NavMenu-current`);return}},{signal:b,immediate:!0}),e=>{let t=e.toLowerCase().split(/[\s\n]+/).filter(Boolean);if(t.length)return ee.flatMap(e=>e.filter(!1,t));ee.flatMap(e=>e.filter(!1));for(let e of te)e.setAttribute(`open`,``);return[]}}const O=document.createElement(`div`);O.style.display=`flex`,O.style.flexDirection=`column`;const pe=O.appendChild(document.createElement(`header`));pe.classList.add(`NavMenu-header`);const k=pe.appendChild(document.createElement(`input`));k.placeholder=`过滤菜单...`,k.type=`search`;const A=pe.appendChild(document.createElement(`button`));A.appendChild(d(`refresh`,!0)),A.classList.add(`icon`),A.title=`刷新`;const j=O.appendChild(document.createElement(`main`));j.style.flex=`1`,j.style.overflow=`auto`,j.classList.add(`NavMenu`);let me=null;function he(){let e=me?.(k.value)||[],t=new Highlight(...e);CSS.highlights.set(`NavMenu-filter-highlight`,t)}k.addEventListener(`input`,he);const ge=l(()=>r.fromDefine(e.menus,[])),_e=l(()=>{let e=c.permissions,t=ge.get();if(e.size<0)return t;let n=te({permissions:e,organizationPermissions:c.organizationPermissions,allOrganizationPermissions:c.allOrganizationPermissions});return r.filter(t,e=>{let t=_(e.permission);return!t.length||!!t.find(n)})}),ve=m(``);let ye=null;g(()=>{ye?.abort(),j.innerHTML=``,ye=new AbortController,me=fe(j,_e.get(),{signal:ye.signal,get active(){return ve.get()}}),he()});function M(e,t,n,r){if(!r){ve.set(`${e}${t}`);return}ve.set([`${e}${t}`,r])}A.addEventListener(`click`,()=>e.loadMenus(!0));function be(e,t,n){if(!e){let e=d(`user`,t);return n||e.setAttribute(`fill-opacity`,`0.5`),e}let r=document.createElement(`img`);return r.src=e,r}function xe(e,t,n=f()){e.classList.add(`${S}-user-avatar`);let r=l(()=>c.single?null:c.session?.avatar||``).get(),i=new AbortController,a=AbortSignal.any([i.signal,n]),o=r===null?d(`singleUser`,a):be(r,a,t);e.appendChild(o),g(()=>{let a=c.single?null:c.session?.avatar||``;if(a===r)return;r=a,i?.abort(),i=new AbortController;let s=AbortSignal.any([i.signal,n]),l=r===null?d(`singleUser`,s):be(r,s,t);!t&&r===null&&l.setAttribute(`fill-opacity`,`0.5`),e.replaceChild(l,o),o.remove(),o=l},n);let s=l(()=>{let e=c.impersonation,t=c.session;return!e||e.id===(t?.id||``)?null:e.avatar||``}),u=null,p=null,m=null;g(()=>{let r=s.get();r!==u&&(u=r,p?.remove(),p=null,m?.abort(),r!==null&&(m=new AbortController,p=be(r,AbortSignal.any([m.signal,n]),t),e.insertBefore(p,o)))},n)}const N=document.createElement(`div`);N.classList.add(`${S}-user`);const P=document.createElement(`div`);P.classList.add(`${S}-user-button`),xe(P,!0);const F=N.appendChild(document.createElement(`span`));F.classList.add(`${S}-user-info`);const Se=F.appendChild(document.createElement(`span`));xe(Se),Se.classList.add(`avatar`);const Ce=F.appendChild(document.createElement(`span`));Ce.classList.add(`username`),Ce.innerText=`用户名`;const we=F.appendChild(document.createElement(`div`));let I=we.appendChild(document.createComment(``));x(()=>e.help,(e,t,n)=>{if(!e){let e=document.createComment(``);I.replaceWith(e),I=e;return}let r=document.createElement(`a`);r.href=e,r.target=`_blank`,r.appendChild(d(`help`,n())),r.title=`帮助`,I.replaceWith(r),I=r},{immediate:!0});const Te=we.appendChild(document.createElement(`div`));Te.appendChild(d(`logout`,!0)),Te.title=`退出登录`,g(()=>{Te.hidden=!c.operator}),Te.addEventListener(`click`,()=>c.exit(!0)),g(()=>{Ce.innerText=c.operator?.name||``});const Ee=l(()=>r.fromDefine(e.userMenus,[])),De=l(()=>{let e=Ee.get();return c.operator?e:r.filter(e,e=>!e.logged)}),L=N.appendChild(document.createElement(`main`));L.style.flex=`1`,L.style.overflow=`auto`,L.classList.add(`NavMenu`);let Oe=null;g(()=>{Oe?.abort(),L.innerHTML=``,Oe=new AbortController,fe(L,De.get(),{signal:Oe.signal})});const R=document.createElement(`a`);R.classList.add(`${S}-logo`),x(()=>e.root,e=>{R.href=e},{immediate:!0}),x(()=>b(e.logo),(e,t,n)=>{let r=n(),i;e?(i=document.createElement(`img`),i.src=e.href):i=d(`logo`,r),R.appendChild(i),i.classList.add(`logo`),n(()=>{i.remove()})},{immediate:!0});const ke={404:{title:`您所请求的页面无法找到`,description:`服务器无法正常提供信息。
2
2
  目标页面可能已经被更改、删除或移到其他位置,或您所输入页面地址错误。`}};function z(e,t){if((t??``)==``){e.container.appendChild(document.createTextNode(`空页面`));return}let n=(typeof t==`number`||typeof t==`string`)&&Object.hasOwn(ke,t)&&ke[t]||ke[404],r=n?.title||`Error`,i=n?.description,a=document.createElement(`div`),o=a.appendChild(document.createElement(`div`)),s=o.appendChild(document.createElement(`div`)),c=o.appendChild(document.createElement(`div`));if(a.style.marginBlock=`8%`,a.style.marginInline=`auto`,a.style.inlineSize=`600px`,a.style.maxInlineSize=`100%`,a.style.padding=`20px`,s.style.paddingBlock=`20px`,s.style.fontSize=`20px`,s.style.color=`#8e8e8e`,s.style.textAlign=`center`,c.style.fontSize=`13px`,c.style.lineHeight=`1.3em`,c.style.color=`#b5b5b5`,s.appendChild(document.createTextNode(r)),e.title=r||`Error`,i&&typeof i==`string`)for(let e of i.split(`
3
- `))c.appendChild(document.createTextNode(e)),c.appendChild(document.createElement(`br`));e.container.appendChild(a),e.loading=!1}const B=`${C}-allSider-nav`,V=document.createElement(`header`);V.className=`${B}-header`;const H=V.appendChild(document.createElement(`div`));H.classList.add(`${B}-actions`);const Ae=V.appendChild(document.createElement(`div`));Ae.classList.add(`${B}-sidebar`);const je=`${B}-open`;let U=null;function Me(){window.innerWidth>800||U?.()}var Ne=class{button;sider;#e;#t=!1;get disabled(){return this.#t}set disabled(e){e?this.disable():this.enable()}disable(){if(this.#t)return;this.#t=!0;let e=this.#e;U===e&&e(),this.button.hidden=!0,this.sider.hidden=!0}enable(){this.#t&&(this.#t=!1,this.button.hidden=!1)}#n=()=>this.toggle();constructor(e,t){let n=t instanceof HTMLElement?t:document.createElement(`div`),r=e instanceof HTMLElement?e:document.createElement(`div`);n.tabIndex=0,n.classList.add(`${B}-button`),r.hidden=!0,Ae.appendChild(r),n.classList.add(`${B}-selectable`),n.addEventListener(`click`,this.#n),this.#e=()=>{U=null,document.body.classList.remove(je),n.classList.remove(`${B}-selected`),r.hidden=!0,this.#r.set(!1)},this.button=n,this.sider=r}#r=m(!1);get shown(){return this.#r.get()}set shown(e){e?this.show():this.hide()}get hidden(){return this.button.hidden}set hidden(e){this.button.hidden=!!e,e&&this.hide()}get open(){return U===this.#e}set open(e){e?this.show():this.hide()}show(){if(this.hidden||this.#t)return;let e=this.#e;U!==e&&(U?.(),U=e,document.body.classList.add(je),this.button.classList.add(`${B}-selected`),this.sider.hidden=!1,this.#r.set(!0))}toggle(){if(this.hidden||this.#t)return;let e=this.#e;if(U===e){e();return}this.show()}hide(){if(this.hidden||this.#t)return;let e=this.#e;U===e&&e()}remove(){let e=this.#e;U===e&&e();let{button:t,sider:n}=this;t.remove(),n.remove(),t.classList.remove(`${B}-button`),t.classList.remove(`${B}-selectable`),t.removeEventListener(`click`,this.#n),n.hidden=!1}};Ae.addEventListener(`click`,e=>{e.target===e.currentTarget&&U?.()});var W=class e{root=document.createElement(`div`);#e=new Set;constructor(e){let t=this.root;e.appendChild(t),t.className=`${B}-group`}remove(){this.root.remove();for(let e of[...this.#e])e()}createGroup(){let t=new e(this.root),n=this.#e,r=()=>{n.delete(r),t.remove()};return n.add(r),t}createAction(e){let t=document.createElement(e?`a`:`div`);t.tabIndex=0,t.classList.add(`${B}-button`),t.addEventListener(`click`,()=>{Me()}),this.root.appendChild(t);let n=this.#e,r=()=>{n.delete(r),t.remove()};return n.add(r),t}createSider(e,t){let n=new Ne(e,t);this.root.appendChild(n.button);let r=this.#e,i=()=>{r.delete(i),n.remove()};return r.add(i),n}};const Pe=document.createElement(`div`),G=new W(H),Fe=new W(H);new W(H),H.appendChild(document.createElement(`span`));const Ie=new W(H),K=Fe.createSider(Pe);K.button.innerText=`页面`,K.disabled=!0;var Le=class extends o{#e;#t;constructor(e,t,n,r,i){super(t,n,r,i),this.#e=e,this.#t=t,i.addEventListener(`abort`,()=>{this.#n()})}insert(){super.insert(),this.#e.show&&(K.disabled=!1)}#n(){this.#e.show&&!this.#t.children.length&&(K.disabled=!0)}remove(){super.remove(),this.#n()}},Re=class extends i{#e=(()=>{let e=document.createElement(`div`);return e.classList.add(`Page-sides`),Pe.appendChild(e),e})();destroy(){return super.destroy()?(this.#e.remove(),!0):!1}toggle(e){super.toggle(e),K.disabled=!(e&&this.#e.children.length)}get siderOpen(){return K.open}set siderOpen(e){e?K.show():K.hide()}createSider(e,t){if(this.destroyed)throw Error(`页面组件已被销毁`);t?.throwIfAborted();let n=this.#e;return new Le(this,n,null,e!==!1,t instanceof AbortSignal?AbortSignal.any([t,this.signal]):this.signal)}constructor(e){super(e),e&&(K.disabled=!this.#e.children.length)}};function ze(e,t){let{create:n}=t,r=document.createElement(`nl-menu`),i=!1,a=!1,o=()=>{i=!0,a&&(a=!1,r.appendChild(document.createElement(`hr`)))};for(let s of e){if(!s){if(!i)continue;a=!0;continue}let{children:e}=s;if(!e?.length){let e=n(s);if(!e)continue;o(),r.appendChild(e);continue}let c=ze(e,t);if(!c)continue;o();let l=r.appendChild(c),u=l.insertBefore(document.createElement(`div`),l.firstChild);u.appendChild(document.createTextNode(s.label||s.title||``)),u.slot=`label`}return i?r:null}function q(e,t){if(t.signal.aborted)return null;let{create:n}=t,r=document.createElement(`div`),i=!1,a=!1,o=()=>{i=!0,a&&(a=!1,r.appendChild(document.createElement(`hr`)))};for(let s of e){if(!s){if(!i)continue;a=!0;continue}let{children:e}=s;if(!e?.length){let e=n(s,{button:!0});if(!e)continue;o(),r.appendChild(e);continue}let c=ze(e,t);if(!c)continue;o();let l=r.appendChild(document.createElement(`button`));l.appendChild(document.createTextNode(s.label||s.title||``)),c.targetElement=l,l.addEventListener(`click`,()=>c.show?.()),r.appendChild(c)}return r.childNodes.length?(r.classList.add(`MenuButtons`),r):null}function Be(t){let{page:n}=t;if(n){let{path:r}=t;return new URL(r?.[0]===`/`?`${n}${r}`:`${n}/${r||``}`,e.root).href}let{uri:r}=t;return r||null}function J(e,t){let{signal:n,button:r}=t,i=document.createElement(`a`),a=r?document.createElement(`button`):null;i.appendChild(document.createTextNode(e.label||e.title||``));let{commands:o}=t,s=l(()=>{if(e.disabled)return!0;let{command:n}=e,r=n&&Object.hasOwn(o,n)&&o[n];return!!(r?r.disabled:t.disabled(e))}),c=l(()=>{let n=Be(e);if(n)return n;let{command:r}=e,i=r&&Object.hasOwn(o,r)&&o[r];return i?Be(i)||null:t.uri(e)||null});function u(){let{click:n}=e;if(typeof n==`function`)return n();let{script:r}=e;if(r)return;let{command:i}=e,a=i&&Object.hasOwn(o,i)&&o[i];return a?a.click?.():t.click(e)}return g(()=>{let t=s.get();if(i.disabled=t,i.ariaDisabled=t?`true`:`false`,t)i.removeAttribute(`tabindex`),i.removeAttribute(`href`),i.removeAttribute(`target`);else{i.tabIndex=0;let t=``,n=c.get();n&&(i.href=n,t=e.target||(e.page?`_self`:``)),t?i.target=t:i.removeAttribute(`target`)}a&&(a.disabled=t)},n),i.addEventListener(`click`,e=>{s.get()&&(e.preventDefault(),e.stopPropagation())},{capture:!0}),i.addEventListener(`click`,e=>{s.get()||e.defaultPrevented||c.get()&&(e.shiftKey||(ee?e.metaKey:e.ctrlKey)||e.altKey)||u()===!1&&e.preventDefault()}),a?(a.appendChild(i),a):i}function Y(e,t,n){let r=document.createElement(`div`),i=ze(e,n);if(!i)return null;let a=r.appendChild(document.createElement(`button`)),o=t?.label||t?.title||``;return o?a.appendChild(document.createTextNode(o)):a.appendChild(d(t?.icon||`more`,n.signal)),i.targetElement=a,a.addEventListener(`click`,()=>i.show()),r.appendChild(i),r}function Ve({hidden:e,title:t,disabled:n,createIcon:r,createPanel:i,href:a,click:o},s){if(s.aborted)return;let c=m(m(!1)),u={get shown(){return c.get().get()},get signal(){return s}},f;if(i){let e=G.createSider(i(u));f=e.button,c.set(l(()=>e.shown)),s.addEventListener(`abort`,()=>{e.remove()},{once:!0})}else if(a){let e=G.createAction(!0);g(()=>{let t=!n?.(u)&&a(u);t?e.href=t:e.removeAttribute(`href`)},s),o&&e.addEventListener(`click`,e=>{o(u)===!1&&e.preventDefault()},{signal:s}),f=e,s.addEventListener(`abort`,()=>{e.remove()},{once:!0})}else{let e=G.createAction();n&&g(()=>{n(u)?e.removeAttribute(`tabIndex`):e.tabIndex=0},s),o&&e.addEventListener(`click`,()=>{o(u)},{signal:s}),f=e,s.addEventListener(`abort`,()=>{e.remove()},{once:!0})}e&&g(()=>{f.hidden=e(u)},s),t&&g(()=>{f.title=t(u)},s),r?f.appendChild(r(u)):f.appendChild(d([`icon`,`logo`],s))}var He={title(t){return[t.title,e.title||`拥道YongDall`].filter(Boolean).join(` | `)},icon(e){return e.icon},components:{List:D,Pagination:oe,createMenuButtons:q,createMenuItem:J,createMenuButton:Y},updatePath:N,pageManager:ae,elements:[y,V],classNames:[C,`${C}-allSider`],styleFiles:[`theme-allSider.css`],home:O,alertError:t,rootClassName:`${C}-root`,createFrame:u,createPage(e){return new Re(e)},renderError(e,t){z(e,t)},async setup(e){ie(!1),R.addEventListener(`click`,()=>{Me()},{signal:e}),H.insertBefore(R,H.firstElementChild);let t=G.createSider(k);t.button.appendChild(d(`menu`,e)),t.button.title=`菜单`;let n=G.createSider(T);n.button.appendChild(d(`activity`,e)),n.button.title=`活动`,window.innerWidth>800&&t.show();let r=Ie.createSider(P,F);e.addEventListener(`abort`,()=>{R.remove(),t.remove(),n.remove(),r.remove()},{once:!0});for await(let t of v()){if(e.aborted)return;Ve(t,e)}}};function Ue(e,t,{hidden:n,title:r,disabled:i,createIcon:a,createPanel:o,href:s,click:c},u){if(u.aborted)return;let f=e.parentNode;if(!f)return;let p=m(m(!1)),h={get shown(){return p.get().get()},get signal(){return u}},_;if(o){let e=document.createElement(`div`),n=o(h);_=e;let r=m(!0);p.set(l(()=>!p.get())),t.appendChild(n),e.addEventListener(`click`,()=>{n.showPopover()},{signal:u}),n.setAttribute(`popover`,`auto`),n.addEventListener(`toggle`,e=>{r.set(e.newState===`closed`)},{signal:u}),u.addEventListener(`abort`,()=>{n.removeAttribute(`popover`),n.remove()},{once:!0})}else if(s){let e=document.createElement(`a`);c&&e.addEventListener(`click`,e=>{c(h)===!1&&e.preventDefault()},{signal:u}),g(()=>{let t=!i?.(h)&&s(h);t?e.href=t:e.removeAttribute(`href`)},u),_=e}else{let e=document.createElement(`div`);c&&e.addEventListener(`click`,()=>{c(h)},{signal:u}),i&&g(()=>{i(h)?e.removeAttribute(`tabIndex`):e.tabIndex=0},u),_=e}n&&g(()=>{_.hidden=n(h)},u),r&&g(()=>{_.title=r(h)},u),f.insertBefore(_,e),a?_.appendChild(a(h)):_.appendChild(d([`icon`,`logo`],u)),u.addEventListener(`abort`,()=>{_.remove()},{once:!0})}const X=`${C}-base`,We=[`theme-base.css`],Ge=document.createElement(`header`),Z=Ge.appendChild(document.createElement(`div`));Z.classList.add(`${X}-header`);const Ke=Ge.appendChild(document.createElement(`div`));Ke.classList.add(`${X}-sidebar`);const qe=Z.appendChild(d(`menu`,!0));qe.classList.add(`${X}-menu-button`);const Je=Z.appendChild(document.createElement(`span`)),Ye=`${X}-menu-open`;qe.addEventListener(`click`,()=>{document.body.classList.toggle(Ye)}),Ke.addEventListener(`click`,e=>{e.target===e.currentTarget&&document.body.classList.remove(Ye)});let Xe=null;var Ze={title(t){return[[Xe&&t.loading?`⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏`[Xe.get()%10]:``,t.unsaved?`🔴`:``,t.title].join(``),e.title||`拥道YongDall`].filter(Boolean).join(` | `)},icon(e){return e.icon},components:{List:D,Pagination:oe,createMenuButtons:q,createMenuItem:J,createMenuButton:Y},updatePath:N,pageManager(e){let t=!1;g(()=>{if(!e.current){t&&e.destroy();return}t=!0},e.signal)},elements:[Ge,y],classNames:[C,X],styleFiles:We,home:O,alertError:t,rootClassName:`${C}-root`,createFrame:u,createPage(e){return new i(e)},renderError(e,t){z(e,t)},async setup(t){Xe=h(80,t),R.addEventListener(`click`,()=>{window.innerWidth>800||document.body.classList.remove(Ye)},{signal:t});let n=document.createElement(`div`);n.classList.add(`${X}-header-title`),g(()=>{n.innerText=e.title||e.company||``},t),Z.insertBefore(R,Je),Z.insertBefore(n,Je),window.innerWidth>800&&document.body.classList.add(Ye),Ke.appendChild(k);let r=document.createElement(`div`);r.classList.add(`${X}-panels`),document.body.appendChild(r),r.appendChild(P),P.setAttribute(`popover`,`auto`),F.addEventListener(`click`,()=>{P.showPopover()},{signal:t});let i=Z.appendChild(document.createElement(`div`));i.classList.add(`${X}-actions`);let a=i.appendChild(document.createElement(`span`));i.appendChild(F),t.addEventListener(`abort`,()=>{R.remove(),n.remove(),k.remove(),r.remove(),P.removeAttribute(`popover`),P.remove(),F.remove(),a.remove(),i.remove()},{once:!0});for await(let e of v()){if(t.aborted)return;Ue(a,r,e,t)}}};const Qe=`${C}-pure`,$e=[`theme-pure.css`];let et=null;var tt={title(t){return[[et&&t.loading?`⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏`[et.get()%10]:``,t.unsaved?`🔴`:``,t.title].join(``),e.title||`拥道YongDall`].filter(Boolean).join(` | `)},icon(e){return e.icon},components:{List:D,Pagination:oe,createMenuButtons:q,createMenuItem:J,createMenuButton:Y},updatePath:N,pageManager(e){let t=!1;g(()=>{if(!e.current){t&&e.destroy();return}t=!0},e.signal)},elements:[y],classNames:[C,Qe],styleFiles:$e,home:O,alertError:t,rootClassName:`${C}-root`,createFrame:u,createPage(e){return new i(e)},renderError(e,t){z(e,t)},async setup(e){et=h(80,e)}};const Q=`${C}-tabs`,nt=document.createElement(`header`),$=nt.appendChild(document.createElement(`div`));$.classList.add(`${Q}-header`);const rt=nt.appendChild(document.createElement(`div`));rt.classList.add(`${Q}-sidebar`);const it=$.appendChild(d(`menu`,!0));it.classList.add(`${Q}-menu-button`);const at=$.appendChild(document.createElement(`span`)),ot=`${Q}-menu-open`;it.addEventListener(`click`,()=>{document.body.classList.toggle(ot)});function st(){window.innerWidth>800||document.body.classList.remove(ot)}rt.addEventListener(`click`,e=>{e.target===e.currentTarget&&document.body.classList.remove(ot)});var ct={title(t){return[t.title,e.title||`拥道YongDall`].filter(Boolean).join(` | `)},icon(e){return e.icon},components:{List:D,Pagination:oe,createMenuButtons:q,createMenuItem:J,createMenuButton:Y},updatePath:N,pageManager:ae,elements:[nt,y],classNames:[C,`${C}-tabs`],styleFiles:[`theme-tabs.css`],home:O,alertError:t,rootClassName:`${C}-root`,createFrame:u,createPage(e){return new i(e)},renderError(e,t){z(e,t)},async setup(t){ie(!0),R.addEventListener(`click`,()=>{st()},{signal:t});let n=document.createElement(`div`);n.classList.add(`${Q}-header-title`),g(()=>{n.innerText=e.title||e.company||``},t),$.insertBefore(R,at),$.insertBefore(n,at),nt.appendChild(T),window.innerWidth>800&&document.body.classList.add(ot),rt.appendChild(k);let r=document.createElement(`div`);r.classList.add(`${Q}-panels`),document.body.appendChild(r),r.appendChild(P),P.setAttribute(`popover`,`auto`),F.addEventListener(`click`,()=>{P.showPopover()},{signal:t});let i=$.appendChild(document.createElement(`div`));i.classList.add(`${Q}-actions`);let a=i.appendChild(document.createElement(`span`));i.appendChild(F),t.addEventListener(`abort`,()=>{R.remove(),n.remove(),T.remove(),k.remove(),P.removeAttribute(`popover`),P.remove(),F.remove()},{once:!0});for await(let e of v()){if(t.aborted)return;Ue(a,r,e,t)}}};export{He as allSider,He as theme,Ze as base,Ze as tradition,tt as pure,ct as tabs};
3
+ `))c.appendChild(document.createTextNode(e)),c.appendChild(document.createElement(`br`));e.container.appendChild(a),e.loading=!1}const B=`${S}-allSider-nav`,V=document.createElement(`header`);V.className=`${B}-header`;const H=V.appendChild(document.createElement(`div`));H.classList.add(`${B}-actions`);const Ae=V.appendChild(document.createElement(`div`));Ae.classList.add(`${B}-sidebar`);const je=`${B}-open`;let U=null;function Me(){window.innerWidth>800||U?.()}var Ne=class{button;sider;#e;#t=!1;get disabled(){return this.#t}set disabled(e){e?this.disable():this.enable()}disable(){if(this.#t)return;this.#t=!0;let e=this.#e;U===e&&e(),this.button.hidden=!0,this.sider.hidden=!0}enable(){this.#t&&(this.#t=!1,this.button.hidden=!1)}#n=()=>this.toggle();constructor(e,t){let n=t instanceof HTMLElement?t:document.createElement(`div`),r=e instanceof HTMLElement?e:document.createElement(`div`);n.tabIndex=0,n.classList.add(`${B}-button`),r.hidden=!0,Ae.appendChild(r),n.classList.add(`${B}-selectable`);let i=()=>{U=null,document.body.classList.remove(je),n.classList.remove(`${B}-selected`),r.hidden=!0,this.#r.set(!1)};n.addEventListener(`click`,this.#n),this.#e=i,this.button=n,this.sider=r}#r=m(!1);get shown(){return this.#r.get()}set shown(e){e?this.show():this.hide()}get hidden(){return this.button.hidden}set hidden(e){this.button.hidden=!!e,e&&this.hide()}get open(){return U===this.#e}set open(e){e?this.show():this.hide()}show(){if(this.hidden||this.#t)return;let e=this.#e;U!==e&&(U?.(),U=e,document.body.classList.add(je),this.button.classList.add(`${B}-selected`),this.sider.hidden=!1,this.#r.set(!0))}toggle(){if(this.hidden||this.#t)return;let e=this.#e;if(U===e){e();return}this.show()}hide(){if(this.hidden||this.#t)return;let e=this.#e;U===e&&e()}remove(){let e=this.#e;U===e&&e();let{button:t,sider:n}=this;t.remove(),n.remove(),t.classList.remove(`${B}-button`),t.classList.remove(`${B}-selectable`),t.removeEventListener(`click`,this.#n),n.hidden=!1}};Ae.addEventListener(`click`,e=>{e.target===e.currentTarget&&U?.()});var W=class e{root=document.createElement(`div`);#e=new Set;constructor(e){let t=this.root;e.appendChild(t),t.className=`${B}-group`}remove(){this.root.remove();for(let e of[...this.#e])e()}createGroup(){let t=new e(this.root),n=this.#e,r=()=>{n.delete(r),t.remove()};return n.add(r),t}createAction(e){let t=document.createElement(e?`a`:`div`);t.tabIndex=0,t.classList.add(`${B}-button`),t.addEventListener(`click`,()=>{Me()}),this.root.appendChild(t);let n=this.#e,r=()=>{n.delete(r),t.remove()};return n.add(r),t}createSider(e,t){let n=new Ne(e,t);this.root.appendChild(n.button);let r=this.#e,i=()=>{r.delete(i),n.remove()};return r.add(i),n}};const Pe=document.createElement(`div`),G=new W(H),Fe=new W(H);new W(H),H.appendChild(document.createElement(`span`));const Ie=new W(H),K=Fe.createSider(Pe);K.button.innerText=`页面`,K.disabled=!0;var Le=class extends o{#e;#t;constructor(e,t,n,r,i){super(t,n,r,i),this.#e=e,this.#t=t,i.addEventListener(`abort`,()=>{this.#n()})}insert(){super.insert(),this.#e.show&&(K.disabled=!1)}#n(){this.#e.show&&!this.#t.children.length&&(K.disabled=!0)}remove(){super.remove(),this.#n()}},Re=class extends i{#e=(()=>{let e=document.createElement(`div`);return e.classList.add(`Page-sides`),Pe.appendChild(e),e})();destroy(){return super.destroy()?(this.#e.remove(),!0):!1}toggle(e){super.toggle(e),K.disabled=!(e&&this.#e.children.length)}get siderOpen(){return K.open}set siderOpen(e){e?K.show():K.hide()}createSider(e,t){if(this.destroyed)throw Error(`页面组件已被销毁`);t?.throwIfAborted();let n=this.#e;return new Le(this,n,null,e!==!1,t instanceof AbortSignal?AbortSignal.any([t,this.signal]):this.signal)}constructor(e){super(e),e&&(K.disabled=!this.#e.children.length)}};function ze(e,t,n,r=!1,i){if(n.signal.aborted)return null;let{create:a,signal:o}=n,s=!1,c=!1,u=null,d=[],f=[],p=[];function m(){let e=u;if(!e)return;let t=f;x(()=>t.some(e=>e.get()),t=>{e.hidden=t},{signal:o,immediate:!0})}let h=()=>{if(s=!0,!c)return;c=!1,m();let t=document.createElement(`hr`);u=t,f=p,p=[],e.appendChild(t)};function g(e){h(),f.push(e),p.push(e),d.push(e)}for(let u of t){if(!u){if(!s)continue;c=!0;continue}let{children:d}=u;if(!d?.length){let t=a(u,{button:r});if(!t)continue;h(),g(l(()=>!!u.hidden)),e.appendChild(t);continue}let f=document.createElement(`nl-menu`),p=ze(f,t,n);if(!p)continue;let m=l(()=>!!(u.hidden||p.get()));if(g(m),i)i(e,f,u,m);else{x(()=>m.get(),e=>{t.hidden=e},{signal:o,immediate:!0});let t=e.appendChild(f),n=t.insertBefore(document.createElement(`div`),t.firstChild);n.appendChild(document.createTextNode(u.label||u.title||``)),n.slot=`label`}}return s?(m(),l(()=>d.some(e=>e.get()))):null}function q(e,t){if(t.signal.aborted)return null;let{create:n,signal:r}=t,i=document.createElement(`div`);return ze(i,e,t,!0,(e,t,n,i)=>{let a=e.appendChild(document.createElement(`button`));a.appendChild(document.createTextNode(n.label||n.title||``)),t.targetElement=a,a.addEventListener(`click`,()=>t.show?.()),e.appendChild(t),x(()=>i.get(),e=>{a.hidden=e,t.hidden=e},{signal:r,immediate:!0})}),i.childNodes.length?(i.classList.add(`MenuButtons`),i):null}function Be(t){let{page:n}=t;if(n){let{path:r}=t;return new URL(r?.[0]===`/`?`${n}${r}`:`${n}/${r||``}`,e.root).href}let{uri:r}=t;return r||null}function J(e,t){let{signal:n,button:r}=t,i=document.createElement(`a`),a=r?document.createElement(`button`):null;x(()=>e.label||e.title||``,e=>{i.textContent=e},{signal:n,immediate:!0});let{commands:o}=t,s=l(()=>{if(e.disabled)return!0;let{command:n}=e,r=n&&Object.hasOwn(o,n)&&o[n];return!!(r?r.disabled:t.disabled(e))}),c=l(()=>{let n=Be(e);if(n)return n;let{command:r}=e,i=r&&Object.hasOwn(o,r)&&o[r];return i?Be(i)||null:t.uri(e)||null});function u(){let{click:n}=e;if(typeof n==`function`)return n();let{script:r}=e;if(r)return;let{command:i}=e,a=i&&Object.hasOwn(o,i)&&o[i];return a?a.click?.():t.click(e)}return g(()=>{let t=s.get();if(i.disabled=t,i.ariaDisabled=t?`true`:`false`,t)i.removeAttribute(`tabindex`),i.removeAttribute(`href`),i.removeAttribute(`target`);else{i.tabIndex=0;let t=``,n=c.get();n&&(i.href=n,t=e.target||(e.page?`_self`:``)),t?i.target=t:i.removeAttribute(`target`)}a&&(a.disabled=t)},n),i.addEventListener(`click`,e=>{s.get()&&(e.preventDefault(),e.stopPropagation())},{capture:!0}),i.addEventListener(`click`,e=>{s.get()||e.defaultPrevented||c.get()&&(e.shiftKey||(ee?e.metaKey:e.ctrlKey)||e.altKey)||u()===!1&&e.preventDefault()}),a?(a.appendChild(i),a):i}function Y(e,t,n){let r=document.createElement(`div`),i=document.createElement(`nl-menu`),a=ze(i,e,n);if(!a)return a;let o=r.appendChild(document.createElement(`button`)),s=t?.label||t?.title||``;return s?o.appendChild(document.createTextNode(s)):o.appendChild(d(t?.icon||`more`,n.signal)),i.targetElement=o,o.addEventListener(`click`,()=>i.show()),r.appendChild(i),x(()=>a.get(),e=>r.hidden=e,{signal:n.signal,immediate:!0}),r}function Ve({hidden:e,title:t,disabled:n,createIcon:r,createPanel:i,href:a,click:o},s){if(s.aborted)return;let c=m(m(!1)),u={get shown(){return c.get().get()},get signal(){return s}},f;if(i){let e=G.createSider(i(u));f=e.button,c.set(l(()=>e.shown)),s.addEventListener(`abort`,()=>{e.remove()},{once:!0})}else if(a){let e=G.createAction(!0);g(()=>{let t=!n?.(u)&&a(u);t?e.href=t:e.removeAttribute(`href`)},s),o&&e.addEventListener(`click`,e=>{o(u)===!1&&e.preventDefault()},{signal:s}),f=e,s.addEventListener(`abort`,()=>{e.remove()},{once:!0})}else{let e=G.createAction();n&&g(()=>{n(u)?e.removeAttribute(`tabIndex`):e.tabIndex=0},s),o&&e.addEventListener(`click`,()=>{o(u)},{signal:s}),f=e,s.addEventListener(`abort`,()=>{e.remove()},{once:!0})}e&&g(()=>{f.hidden=e(u)},s),t&&g(()=>{f.title=t(u)},s),r?f.appendChild(r(u)):f.appendChild(d([`icon`,`logo`],s))}const He={title(t){return[t.title,e.title||`拥道YongDall`].filter(Boolean).join(` | `)},icon(e){return e.icon},components:{List:E,Pagination:D,createMenuButtons:q,createMenuItem:J,createMenuButton:Y},updatePath:M,pageManager:oe,elements:[y,V],classNames:[S,`${S}-allSider`],styleFiles:[`theme-allSider.css`],home:se,alertError:t,rootClassName:`${S}-root`,createFrame:u,createPage(e){return new Re(e)},renderError(e,t){z(e,t)},async setup(e){ae(!1),R.addEventListener(`click`,()=>{Me()},{signal:e}),H.insertBefore(R,H.firstElementChild);let t=G.createSider(O);t.button.appendChild(d(`menu`,e)),t.button.title=`菜单`;let n=G.createSider(w);n.button.appendChild(d(`activity`,e)),n.button.title=`活动`,window.innerWidth>800&&t.show();let r=Ie.createSider(N,P);e.addEventListener(`abort`,()=>{R.remove(),t.remove(),n.remove(),r.remove()},{once:!0});for await(let t of v()){if(e.aborted)return;Ve(t,e)}}};function Ue(e,t,{hidden:n,title:r,disabled:i,createIcon:a,createPanel:o,href:s,click:c},u){if(u.aborted)return;let f=e.parentNode;if(!f)return;let p=m(m(!1)),h={get shown(){return p.get().get()},get signal(){return u}},_;if(o){let e=document.createElement(`div`),n=o(h);_=e;let r=m(!0);p.set(l(()=>!p.get())),t.appendChild(n),e.addEventListener(`click`,()=>{n.showPopover()},{signal:u}),n.setAttribute(`popover`,`auto`),n.addEventListener(`toggle`,e=>{r.set(e.newState===`closed`)},{signal:u}),u.addEventListener(`abort`,()=>{n.removeAttribute(`popover`),n.remove()},{once:!0})}else if(s){let e=document.createElement(`a`);c&&e.addEventListener(`click`,e=>{c(h)===!1&&e.preventDefault()},{signal:u}),g(()=>{let t=!i?.(h)&&s(h);t?e.href=t:e.removeAttribute(`href`)},u),_=e}else{let e=document.createElement(`div`);c&&e.addEventListener(`click`,()=>{c(h)},{signal:u}),i&&g(()=>{i(h)?e.removeAttribute(`tabIndex`):e.tabIndex=0},u),_=e}n&&g(()=>{_.hidden=n(h)},u),r&&g(()=>{_.title=r(h)},u),f.insertBefore(_,e),a?_.appendChild(a(h)):_.appendChild(d([`icon`,`logo`],u)),u.addEventListener(`abort`,()=>{_.remove()},{once:!0})}const X=`${S}-base`,We=[`theme-base.css`],Ge=document.createElement(`header`),Z=Ge.appendChild(document.createElement(`div`));Z.classList.add(`${X}-header`);const Ke=Ge.appendChild(document.createElement(`div`));Ke.classList.add(`${X}-sidebar`);const qe=Z.appendChild(d(`menu`,!0));qe.classList.add(`${X}-menu-button`);const Je=Z.appendChild(document.createElement(`span`)),Ye=`${X}-menu-open`;qe.addEventListener(`click`,()=>{document.body.classList.toggle(Ye)}),Ke.addEventListener(`click`,e=>{e.target===e.currentTarget&&document.body.classList.remove(Ye)});let Xe=null;const Ze={title(t){return[[Xe&&t.loading?`⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏`[Xe.get()%10]:``,t.unsaved?`🔴`:``,t.title].join(``),e.title||`拥道YongDall`].filter(Boolean).join(` | `)},icon(e){return e.icon},components:{List:E,Pagination:D,createMenuButtons:q,createMenuItem:J,createMenuButton:Y},updatePath:M,pageManager(e){let t=!1;g(()=>{if(!e.current){t&&e.destroy();return}t=!0},e.signal)},elements:[Ge,y],classNames:[S,X],styleFiles:We,home:se,alertError:t,rootClassName:`${S}-root`,createFrame:u,createPage(e){return new i(e)},renderError(e,t){z(e,t)},async setup(t){Xe=h(80,t),R.addEventListener(`click`,()=>{window.innerWidth>800||document.body.classList.remove(Ye)},{signal:t});let n=document.createElement(`div`);n.classList.add(`${X}-header-title`),g(()=>{n.innerText=e.title||e.company||``},t),Z.insertBefore(R,Je),Z.insertBefore(n,Je),window.innerWidth>800&&document.body.classList.add(Ye),Ke.appendChild(O);let r=document.createElement(`div`);r.classList.add(`${X}-panels`),document.body.appendChild(r),r.appendChild(N),N.setAttribute(`popover`,`auto`),P.addEventListener(`click`,()=>{N.showPopover()},{signal:t});let i=Z.appendChild(document.createElement(`div`));i.classList.add(`${X}-actions`);let a=i.appendChild(document.createElement(`span`));i.appendChild(P),t.addEventListener(`abort`,()=>{R.remove(),n.remove(),O.remove(),r.remove(),N.removeAttribute(`popover`),N.remove(),P.remove(),a.remove(),i.remove()},{once:!0});for await(let e of v()){if(t.aborted)return;Ue(a,r,e,t)}}},Qe=`${S}-pure`,$e=[`theme-pure.css`];let et=null;const tt={title(t){return[[et&&t.loading?`⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏`[et.get()%10]:``,t.unsaved?`🔴`:``,t.title].join(``),e.title||`拥道YongDall`].filter(Boolean).join(` | `)},icon(e){return e.icon},components:{List:E,Pagination:D,createMenuButtons:q,createMenuItem:J,createMenuButton:Y},updatePath:M,pageManager(e){let t=!1;g(()=>{if(!e.current){t&&e.destroy();return}t=!0},e.signal)},elements:[y],classNames:[S,Qe],styleFiles:$e,home:se,alertError:t,rootClassName:`${S}-root`,createFrame:u,createPage(e){return new i(e)},renderError(e,t){z(e,t)},async setup(e){et=h(80,e)}},Q=`${S}-tabs`,nt=document.createElement(`header`),$=nt.appendChild(document.createElement(`div`));$.classList.add(`${Q}-header`);const rt=nt.appendChild(document.createElement(`div`));rt.classList.add(`${Q}-sidebar`);const it=$.appendChild(d(`menu`,!0));it.classList.add(`${Q}-menu-button`);const at=$.appendChild(document.createElement(`span`)),ot=`${Q}-menu-open`;it.addEventListener(`click`,()=>{document.body.classList.toggle(ot)});function st(){window.innerWidth>800||document.body.classList.remove(ot)}rt.addEventListener(`click`,e=>{e.target===e.currentTarget&&document.body.classList.remove(ot)});const ct={title(t){return[t.title,e.title||`拥道YongDall`].filter(Boolean).join(` | `)},icon(e){return e.icon},components:{List:E,Pagination:D,createMenuButtons:q,createMenuItem:J,createMenuButton:Y},updatePath:M,pageManager:oe,elements:[nt,y],classNames:[S,`${S}-tabs`],styleFiles:[`theme-tabs.css`],home:se,alertError:t,rootClassName:`${S}-root`,createFrame:u,createPage(e){return new i(e)},renderError(e,t){z(e,t)},async setup(t){ae(!0),R.addEventListener(`click`,()=>{st()},{signal:t});let n=document.createElement(`div`);n.classList.add(`${Q}-header-title`),g(()=>{n.innerText=e.title||e.company||``},t),$.insertBefore(R,at),$.insertBefore(n,at),nt.appendChild(w),window.innerWidth>800&&document.body.classList.add(ot),rt.appendChild(O);let r=document.createElement(`div`);r.classList.add(`${Q}-panels`),document.body.appendChild(r),r.appendChild(N),N.setAttribute(`popover`,`auto`),P.addEventListener(`click`,()=>{N.showPopover()},{signal:t});let i=$.appendChild(document.createElement(`div`));i.classList.add(`${Q}-actions`);let a=i.appendChild(document.createElement(`span`));i.appendChild(P),t.addEventListener(`abort`,()=>{R.remove(),n.remove(),w.remove(),O.remove(),N.removeAttribute(`popover`),N.remove(),P.remove()},{once:!0});for await(let e of v()){if(t.aborted)return;Ue(a,r,e,t)}}};export{He as allSider,He as theme,Ze as base,Ze as tradition,tt as pure,ct as tabs};
4
4
  //# sourceMappingURL=index.mjs.map