@e280/quay 0.0.0-11 → 0.0.0-13

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.
Files changed (58) hide show
  1. package/README.md +59 -0
  2. package/package.json +2 -1
  3. package/s/cellar/cask.ts +13 -7
  4. package/s/cellar/cellar.test.ts +20 -18
  5. package/s/cellar/cellar.ts +3 -3
  6. package/s/cellar/forklift.ts +2 -2
  7. package/s/cellar/memory-forklift.ts +4 -3
  8. package/s/cellar/opfs-forklift.ts +4 -6
  9. package/s/dom/components/browser/style.css.ts +30 -30
  10. package/s/dom/components/dropzone/style.css.ts +11 -12
  11. package/s/dom/components/filter/component.ts +2 -2
  12. package/s/dom/components/searchbar/component.ts +5 -2
  13. package/s/dom/components/sort/component.ts +3 -3
  14. package/s/dom/theme.css.ts +28 -0
  15. package/s/dom/views/tree/style.css.ts +9 -9
  16. package/s/logic/aspects/codex/parts/hierarchy.ts +1 -0
  17. package/s/logic/group.ts +5 -3
  18. package/s/logic/presets/media/library.test.ts +41 -14
  19. package/s/logic/presets/media/library.ts +25 -17
  20. package/x/cellar/cask.d.ts +4 -4
  21. package/x/cellar/cask.js +13 -9
  22. package/x/cellar/cask.js.map +1 -1
  23. package/x/cellar/cellar.d.ts +1 -1
  24. package/x/cellar/cellar.js +3 -3
  25. package/x/cellar/cellar.js.map +1 -1
  26. package/x/cellar/cellar.test.js +19 -18
  27. package/x/cellar/cellar.test.js.map +1 -1
  28. package/x/cellar/forklift.d.ts +2 -2
  29. package/x/cellar/memory-forklift.d.ts +2 -2
  30. package/x/cellar/memory-forklift.js +3 -2
  31. package/x/cellar/memory-forklift.js.map +1 -1
  32. package/x/cellar/opfs-forklift.d.ts +2 -2
  33. package/x/cellar/opfs-forklift.js +3 -5
  34. package/x/cellar/opfs-forklift.js.map +1 -1
  35. package/x/demo/main.bundle.min.js +104 -71
  36. package/x/demo/main.bundle.min.js.map +2 -2
  37. package/x/dom/components/browser/style.css.js +30 -29
  38. package/x/dom/components/browser/style.css.js.map +1 -1
  39. package/x/dom/components/dropzone/style.css.js +11 -11
  40. package/x/dom/components/filter/component.js +2 -2
  41. package/x/dom/components/searchbar/component.js +5 -1
  42. package/x/dom/components/searchbar/component.js.map +1 -1
  43. package/x/dom/components/sort/component.js +3 -3
  44. package/x/dom/theme.css.js +28 -0
  45. package/x/dom/theme.css.js.map +1 -1
  46. package/x/dom/views/tree/style.css.js +9 -9
  47. package/x/index.html +2 -2
  48. package/x/logic/aspects/codex/parts/hierarchy.js +1 -0
  49. package/x/logic/aspects/codex/parts/hierarchy.js.map +1 -1
  50. package/x/logic/group.d.ts +3 -3
  51. package/x/logic/group.js +3 -2
  52. package/x/logic/group.js.map +1 -1
  53. package/x/logic/presets/media/library.d.ts +4 -40
  54. package/x/logic/presets/media/library.js +21 -16
  55. package/x/logic/presets/media/library.js.map +1 -1
  56. package/x/logic/presets/media/library.test.d.ts +3 -2
  57. package/x/logic/presets/media/library.test.js +34 -14
  58. package/x/logic/presets/media/library.test.js.map +1 -1
@@ -1,6 +1,6 @@
1
- var qr=Object.defineProperty;var Et=(r,e)=>{for(var t in e)qr(r,t,{get:e[t],enumerable:!0})};var ve=globalThis,$e=ve.ShadowRoot&&(ve.ShadyCSS===void 0||ve.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,at=Symbol(),kt=new WeakMap,ne=class{constructor(e,t,o){if(this._$cssResult$=!0,o!==at)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if($e&&e===void 0){let o=t!==void 0&&t.length===1;o&&(e=kt.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),o&&kt.set(t,e))}return e}toString(){return this.cssText}},Ct=r=>new ne(typeof r=="string"?r:r+"",void 0,at),d=(r,...e)=>{let t=r.length===1?r[0]:e.reduce(((o,s,n)=>o+(i=>{if(i._$cssResult$===!0)return i.cssText;if(typeof i=="number")return i;throw Error("Value passed to 'css' function must be a 'css' function result: "+i+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+r[n+1]),r[0]);return new ne(t,r,at)},Ae=(r,e)=>{if($e)r.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(let t of e){let o=document.createElement("style"),s=ve.litNonce;s!==void 0&&o.setAttribute("nonce",s),o.textContent=t.cssText,r.appendChild(o)}},ee=$e?r=>r:r=>r instanceof CSSStyleSheet?(e=>{let t="";for(let o of e.cssRules)t+=o.cssText;return Ct(t)})(r):r;var{is:Fr,defineProperty:Gr,getOwnPropertyDescriptor:Wr,getOwnPropertyNames:Vr,getOwnPropertySymbols:Qr,getPrototypeOf:Kr}=Object,Se=globalThis,Bt=Se.trustedTypes,Zr=Bt?Bt.emptyScript:"",Jr=Se.reactiveElementPolyfillSupport,ie=(r,e)=>r,ct={toAttribute(r,e){switch(e){case Boolean:r=r?Zr:null;break;case Object:case Array:r=r==null?r:JSON.stringify(r)}return r},fromAttribute(r,e){let t=r;switch(e){case Boolean:t=r!==null;break;case Number:t=r===null?null:Number(r);break;case Object:case Array:try{t=JSON.parse(r)}catch{t=null}}return t}},Pt=(r,e)=>!Fr(r,e),Tt={attribute:!0,type:String,converter:ct,reflect:!1,useDefault:!1,hasChanged:Pt};Symbol.metadata??=Symbol("metadata"),Se.litPropertyMetadata??=new WeakMap;var H=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=Tt){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let o=Symbol(),s=this.getPropertyDescriptor(e,o,t);s!==void 0&&Gr(this.prototype,e,s)}}static getPropertyDescriptor(e,t,o){let{get:s,set:n}=Wr(this.prototype,e)??{get(){return this[t]},set(i){this[t]=i}};return{get:s,set(i){let l=s?.call(this);n?.call(this,i),this.requestUpdate(e,l,o)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Tt}static _$Ei(){if(this.hasOwnProperty(ie("elementProperties")))return;let e=Kr(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(ie("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(ie("properties"))){let t=this.properties,o=[...Vr(t),...Qr(t)];for(let s of o)this.createProperty(s,t[s])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[o,s]of t)this.elementProperties.set(o,s)}this._$Eh=new Map;for(let[t,o]of this.elementProperties){let s=this._$Eu(t,o);s!==void 0&&this._$Eh.set(s,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let o=new Set(e.flat(1/0).reverse());for(let s of o)t.unshift(ee(s))}else e!==void 0&&t.push(ee(e));return t}static _$Eu(e,t){let o=t.attribute;return o===!1?void 0:typeof o=="string"?o:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((e=>e(this)))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let o of t.keys())this.hasOwnProperty(o)&&(e.set(o,this[o]),delete this[o]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Ae(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((e=>e.hostConnected?.()))}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach((e=>e.hostDisconnected?.()))}attributeChangedCallback(e,t,o){this._$AK(e,o)}_$ET(e,t){let o=this.constructor.elementProperties.get(e),s=this.constructor._$Eu(e,o);if(s!==void 0&&o.reflect===!0){let n=(o.converter?.toAttribute!==void 0?o.converter:ct).toAttribute(t,o.type);this._$Em=e,n==null?this.removeAttribute(s):this.setAttribute(s,n),this._$Em=null}}_$AK(e,t){let o=this.constructor,s=o._$Eh.get(e);if(s!==void 0&&this._$Em!==s){let n=o.getPropertyOptions(s),i=typeof n.converter=="function"?{fromAttribute:n.converter}:n.converter?.fromAttribute!==void 0?n.converter:ct;this._$Em=s,this[s]=i.fromAttribute(t,n.type)??this._$Ej?.get(s)??null,this._$Em=null}}requestUpdate(e,t,o){if(e!==void 0){let s=this.constructor,n=this[e];if(o??=s.getPropertyOptions(e),!((o.hasChanged??Pt)(n,t)||o.useDefault&&o.reflect&&n===this._$Ej?.get(e)&&!this.hasAttribute(s._$Eu(e,o))))return;this.C(e,t,o)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,t,{useDefault:o,reflect:s,wrapped:n},i){o&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,i??t??this[e]),n!==!0||i!==void 0)||(this._$AL.has(e)||(this.hasUpdated||o||(t=void 0),this._$AL.set(e,t)),s===!0&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[s,n]of this._$Ep)this[s]=n;this._$Ep=void 0}let o=this.constructor.elementProperties;if(o.size>0)for(let[s,n]of o){let{wrapped:i}=n,l=this[s];i!==!0||this._$AL.has(s)||l===void 0||this.C(s,void 0,n,l)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach((o=>o.hostUpdate?.())),this.update(t)):this._$EM()}catch(o){throw e=!1,this._$EM(),o}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(e){}firstUpdated(e){}};H.elementStyles=[],H.shadowRootOptions={mode:"open"},H[ie("elementProperties")]=new Map,H[ie("finalized")]=new Map,Jr?.({ReactiveElement:H}),(Se.reactiveElementVersions??=[]).push("2.1.0");var ut=globalThis,_e=ut.trustedTypes,Ot=_e?_e.createPolicy("lit-html",{createHTML:r=>r}):void 0,pt="$lit$",L=`lit$${Math.random().toFixed(9).slice(2)}$`,ft="?"+L,Yr=`<${ft}>`,W=document,ce=()=>W.createComment(""),le=r=>r===null||typeof r!="object"&&typeof r!="function",dt=Array.isArray,Lt=r=>dt(r)||typeof r?.[Symbol.iterator]=="function",lt=`[
2
- \f\r]`,ae=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,zt=/-->/g,Mt=/>/g,F=RegExp(`>|${lt}(?:([^\\s"'>=/]+)(${lt}*=${lt}*(?:[^
3
- \f\r"'\`<>=]|("|')|))|$)`,"g"),jt=/'/g,Dt=/"/g,Nt=/^(?:script|style|textarea|title)$/i,ht=r=>(e,...t)=>({_$litType$:r,strings:e,values:t}),p=ht(1),Do=ht(2),Ho=ht(3),V=Symbol.for("lit-noChange"),g=Symbol.for("lit-nothing"),Ht=new WeakMap,G=W.createTreeWalker(W,129);function Rt(r,e){if(!dt(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return Ot!==void 0?Ot.createHTML(e):e}var Ut=(r,e)=>{let t=r.length-1,o=[],s,n=e===2?"<svg>":e===3?"<math>":"",i=ae;for(let l=0;l<t;l++){let a=r[l],c,u,f=-1,D=0;for(;D<a.length&&(i.lastIndex=D,u=i.exec(a),u!==null);)D=i.lastIndex,i===ae?u[1]==="!--"?i=zt:u[1]!==void 0?i=Mt:u[2]!==void 0?(Nt.test(u[2])&&(s=RegExp("</"+u[2],"g")),i=F):u[3]!==void 0&&(i=F):i===F?u[0]===">"?(i=s??ae,f=-1):u[1]===void 0?f=-2:(f=i.lastIndex-u[2].length,c=u[1],i=u[3]===void 0?F:u[3]==='"'?Dt:jt):i===Dt||i===jt?i=F:i===zt||i===Mt?i=ae:(i=F,s=void 0);let U=i===F&&r[l+1].startsWith("/>")?" ":"";n+=i===ae?a+Yr:f>=0?(o.push(c),a.slice(0,f)+pt+a.slice(f)+L+U):a+L+(f===-2?l:U)}return[Rt(r,n+(r[t]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),o]},ue=class r{constructor({strings:e,_$litType$:t},o){let s;this.parts=[];let n=0,i=0,l=e.length-1,a=this.parts,[c,u]=Ut(e,t);if(this.el=r.createElement(c,o),G.currentNode=this.el.content,t===2||t===3){let f=this.el.content.firstChild;f.replaceWith(...f.childNodes)}for(;(s=G.nextNode())!==null&&a.length<l;){if(s.nodeType===1){if(s.hasAttributes())for(let f of s.getAttributeNames())if(f.endsWith(pt)){let D=u[i++],U=s.getAttribute(f).split(L),we=/([.?@])?(.*)/.exec(D);a.push({type:1,index:n,name:we[2],strings:U,ctor:we[1]==="."?ke:we[1]==="?"?Ce:we[1]==="@"?Be:K}),s.removeAttribute(f)}else f.startsWith(L)&&(a.push({type:6,index:n}),s.removeAttribute(f));if(Nt.test(s.tagName)){let f=s.textContent.split(L),D=f.length-1;if(D>0){s.textContent=_e?_e.emptyScript:"";for(let U=0;U<D;U++)s.append(f[U],ce()),G.nextNode(),a.push({type:2,index:++n});s.append(f[D],ce())}}}else if(s.nodeType===8)if(s.data===ft)a.push({type:2,index:n});else{let f=-1;for(;(f=s.data.indexOf(L,f+1))!==-1;)a.push({type:7,index:n}),f+=L.length-1}n++}}static createElement(e,t){let o=W.createElement("template");return o.innerHTML=e,o}};function Q(r,e,t=r,o){if(e===V)return e;let s=o!==void 0?t._$Co?.[o]:t._$Cl,n=le(e)?void 0:e._$litDirective$;return s?.constructor!==n&&(s?._$AO?.(!1),n===void 0?s=void 0:(s=new n(r),s._$AT(r,t,o)),o!==void 0?(t._$Co??=[])[o]=s:t._$Cl=s),s!==void 0&&(e=Q(r,s._$AS(r,e.values),s,o)),e}var Ee=class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:t},parts:o}=this._$AD,s=(e?.creationScope??W).importNode(t,!0);G.currentNode=s;let n=G.nextNode(),i=0,l=0,a=o[0];for(;a!==void 0;){if(i===a.index){let c;a.type===2?c=new te(n,n.nextSibling,this,e):a.type===1?c=new a.ctor(n,a.name,a.strings,this,e):a.type===6&&(c=new Te(n,this,e)),this._$AV.push(c),a=o[++l]}i!==a?.index&&(n=G.nextNode(),i++)}return G.currentNode=W,s}p(e){let t=0;for(let o of this._$AV)o!==void 0&&(o.strings!==void 0?(o._$AI(e,o,t),t+=o.strings.length-2):o._$AI(e[t])),t++}},te=class r{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,o,s){this.type=2,this._$AH=g,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=o,this.options=s,this._$Cv=s?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return t!==void 0&&e?.nodeType===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=Q(this,e,t),le(e)?e===g||e==null||e===""?(this._$AH!==g&&this._$AR(),this._$AH=g):e!==this._$AH&&e!==V&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):Lt(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==g&&le(this._$AH)?this._$AA.nextSibling.data=e:this.T(W.createTextNode(e)),this._$AH=e}$(e){let{values:t,_$litType$:o}=e,s=typeof o=="number"?this._$AC(e):(o.el===void 0&&(o.el=ue.createElement(Rt(o.h,o.h[0]),this.options)),o);if(this._$AH?._$AD===s)this._$AH.p(t);else{let n=new Ee(s,this),i=n.u(this.options);n.p(t),this.T(i),this._$AH=n}}_$AC(e){let t=Ht.get(e.strings);return t===void 0&&Ht.set(e.strings,t=new ue(e)),t}k(e){dt(this._$AH)||(this._$AH=[],this._$AR());let t=this._$AH,o,s=0;for(let n of e)s===t.length?t.push(o=new r(this.O(ce()),this.O(ce()),this,this.options)):o=t[s],o._$AI(n),s++;s<t.length&&(this._$AR(o&&o._$AB.nextSibling,s),t.length=s)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e&&e!==this._$AB;){let o=e.nextSibling;e.remove(),e=o}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}},K=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,o,s,n){this.type=1,this._$AH=g,this._$AN=void 0,this.element=e,this.name=t,this._$AM=s,this.options=n,o.length>2||o[0]!==""||o[1]!==""?(this._$AH=Array(o.length-1).fill(new String),this.strings=o):this._$AH=g}_$AI(e,t=this,o,s){let n=this.strings,i=!1;if(n===void 0)e=Q(this,e,t,0),i=!le(e)||e!==this._$AH&&e!==V,i&&(this._$AH=e);else{let l=e,a,c;for(e=n[0],a=0;a<n.length-1;a++)c=Q(this,l[o+a],t,a),c===V&&(c=this._$AH[a]),i||=!le(c)||c!==this._$AH[a],c===g?e=g:e!==g&&(e+=(c??"")+n[a+1]),this._$AH[a]=c}i&&!s&&this.j(e)}j(e){e===g?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}},ke=class extends K{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===g?void 0:e}},Ce=class extends K{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==g)}},Be=class extends K{constructor(e,t,o,s,n){super(e,t,o,s,n),this.type=5}_$AI(e,t=this){if((e=Q(this,e,t,0)??g)===V)return;let o=this._$AH,s=e===g&&o!==g||e.capture!==o.capture||e.once!==o.once||e.passive!==o.passive,n=e!==g&&(o===g||s);s&&this.element.removeEventListener(this.name,this,o),n&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}},Te=class{constructor(e,t,o){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=o}get _$AU(){return this._$AM._$AU}_$AI(e){Q(this,e)}},It={M:pt,P:L,A:ft,C:1,L:Ut,R:Ee,D:Lt,V:Q,I:te,H:K,N:Ce,U:Be,B:ke,F:Te},Xr=ut.litHtmlPolyfillSupport;Xr?.(ue,te),(ut.litHtmlVersions??=[]).push("3.3.0");var y=(r,e,t)=>{let o=t?.renderBefore??e,s=o._$litPart$;if(s===void 0){let n=t?.renderBefore??null;o._$litPart$=s=new te(e.insertBefore(ce(),n),n,void 0,t??{})}return s._$AI(r),s};var mt=globalThis,re=class extends H{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=y(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return V}};re._$litElement$=!0,re.finalized=!0,mt.litElementHydrateSupport?.({LitElement:re});var eo=mt.litElementPolyfillSupport;eo?.({LitElement:re});(mt.litElementVersions??=[]).push("4.2.0");var C={string:(r,e)=>r.getAttribute(e)??void 0,number:(r,e)=>{let t=r.getAttribute(e);return t===null||!t?void 0:Number(t)},boolean:(r,e)=>r.getAttribute(e)!==null},w={string:(r,e,t)=>(t===void 0?r.removeAttribute(e):r.setAttribute(e,t),!0),number:(r,e,t)=>(t===void 0?r.removeAttribute(e):r.setAttribute(e,t.toString()),!0),boolean:(r,e,t)=>(t?r.setAttribute(e,""):r.removeAttribute(e),!0),any:(r,e,t)=>{t==null?r.removeAttribute(e):typeof t=="string"?r.setAttribute(e,t):typeof t=="number"?r.setAttribute(e,t.toString()):typeof t=="boolean"?t===!0?r.setAttribute(e,""):r.removeAttribute(e):console.warn(`invalid attribute "${e}" type is "${typeof t}"`)},entries:(r,e)=>{for(let[t,o]of e)w.any(r,t,o)},record:(r,e)=>w.entries(r,Object.entries(e))};function qt(r,e={}){let t=document.createElement(r);return w.record(t,e),t}function Ft(r){let e=document.createDocumentFragment();return y(r,e),e.firstElementChild}function Pe(r,e){let t=[];for(let[o,s]of Object.entries(e))if(typeof s=="function")r.addEventListener(o,s),t.push(()=>r.removeEventListener(o,s));else{let[n,i]=s;r.addEventListener(o,i,n),t.push(()=>r.removeEventListener(o,i))}return()=>t.forEach(o=>o())}function Gt(r,e){let t=new MutationObserver(e);return t.observe(r,{attributes:!0}),()=>t.disconnect()}var Oe=class{element;constructor(e){this.element=e}strings=new Proxy({},{get:(e,t)=>C.string(this.element,t),set:(e,t,o)=>w.string(this.element,t,o)});numbers=new Proxy({},{get:(e,t)=>C.number(this.element,t),set:(e,t,o)=>w.number(this.element,t,o)});booleans=new Proxy({},{get:(e,t)=>C.boolean(this.element,t),set:(e,t,o)=>w.boolean(this.element,t,o)})};var Wt=(r,e,t={})=>new Proxy(e,{get:(o,s)=>{switch(e[s]){case String:return C.string(r,s);case Number:return C.number(r,s);case Boolean:return C.boolean(r,s);default:throw new Error(`invalid attribute type for "${s}"`)}},set:(o,s,n)=>{try{switch(t.beforeSet?.(s),e[s]){case String:return w.string(r,s,n);case Number:return w.number(r,s,n);case Boolean:return w.boolean(r,s,n);default:throw new Error(`invalid attribute type for "${s}"`)}}finally{t.afterSet?.(s)}}});function oe(r){let e=new Oe(r);return{strings:e.strings,numbers:e.numbers,booleans:e.booleans,on:t=>Gt(r,t),spec:(t,o={})=>Wt(r,t,o)}}oe.get=C;oe.set=w;function Vt(r){return new gt(r)}var gt=class{tagName;#e=new Map;#t=[];constructor(e){this.tagName=e}attr(e,t=!0){return this.#e.set(e,t),this}attrs(e){for(let[t,o]of Object.entries(e))this.attr(t,o);return this}children(...e){return this.#t.push(...e),this}done(){let e=document.createElement(this.tagName);return w.entries(e,this.#e),e.append(...this.#t),e}};function se(r,e=document){let t=e.querySelector(r);if(!t)throw new Error(`element not found (${r})`);return t}function ze(r,e=document){return e.querySelector(r)}function Me(r,e=document){return Array.from(e.querySelectorAll(r))}var je=class r{element;#e;constructor(e){this.element=e}in(e){return new r(typeof e=="string"?se(e,this.element):e)}require(e){return se(e,this.element)}maybe(e){return ze(e,this.element)}all(e){return Me(e,this.element)}render(...e){return y(e,this.element)}get attrs(){return this.#e??=oe(this.element)}events(e){return Pe(this.element,e)}};function Qt(r){return r.replace(/([a-zA-Z])(?=[A-Z])/g,"$1-").toLowerCase()}function Kt(r,e={}){let{soft:t=!1,upgrade:o=!0}=e;for(let[s,n]of Object.entries(r)){let i=Qt(s),l=customElements.get(i);t&&l||(customElements.define(i,n),o&&document.querySelectorAll(i).forEach(a=>{a.constructor===HTMLElement&&customElements.upgrade(a)}))}}function v(r,e=document){return se(r,e)}v.in=(r,e=document)=>new je(e).in(r);v.need=se;v.maybe=ze;v.all=Me;v.el=qt;v.elmer=Vt;v.mk=Ft;v.events=Pe;v.attrs=oe;v.register=Kt;v.render=(r,...e)=>y(e,r);var Le={};Et(Le,{DragAndDrops:()=>yt,Drops:()=>xt,files:()=>io,hasFiles:()=>no,outsideCurrentTarget:()=>he});var B={};Et(B,{clone:()=>pe,equal:()=>to,freeze:()=>ro});function pe(r,e=new Set){if(e.has(r))throw new Error("cannot clone circular reference");let t;return typeof r=="function"||r!==null&&typeof r=="object"?(e.add(r),Array.isArray(r)?t=r.map(o=>pe(o,new Set(e))):r.constructor===Object?t=Object.fromEntries(Object.entries(r).map(([o,s])=>[o,pe(s,new Set(e))])):r instanceof Map?t=new Map(Array.from(r,([o,s])=>[o,pe(s,new Set(e))])):r instanceof Set?t=new Set(Array.from(r,o=>pe(o,new Set(e)))):r instanceof Date?t=new Date(r.getTime()):t=r,e.delete(r)):t=r,t}var fe=Object.freeze({happy:r=>r!=null,sad:r=>r==null,boolean:r=>typeof r=="boolean",number:r=>typeof r=="number",string:r=>typeof r=="string",bigint:r=>typeof r=="bigint",object:r=>typeof r=="object"&&r!==null,array:r=>Array.isArray(r),fn:r=>typeof r=="function",symbol:r=>typeof r=="symbol"});var to=(r,e)=>{function t(o,s,n){if(!fe.object(o)||!fe.object(s))return o===s;if(n.includes(o))throw new Error("forbidden circularity detected in deep equal comparison");let i=[...n,o];if(o instanceof Map&&s instanceof Map){if(o.size!==s.size)return!1;for(let[l,a]of o)if(!s.has(l)||!t(a,s.get(l),i))return!1}else if(o instanceof Set&&s instanceof Set){if(o.size!==s.size)return!1;for(let l of o)if(!Array.from(s).some(a=>t(l,a,i)))return!1}else{let l=Object.keys(o),a=Object.keys(s);if(l.length!==a.length)return!1;for(let c of l)if(!a.includes(c)||!t(o[c],s[c],i))return!1}return!0}return t(r,e,[])};function ro(r){function e(t,o){if(!fe.object(t)||o.includes(t))return t;let s=[...o,t];if(t instanceof Map)for(let n of t.entries())for(let i of n)e(i,s);else if(t instanceof Set)for(let n of t)e(n,s);else if(Array.isArray(t))for(let n of t)e(n,s);else for(let n of Object.values(t))e(n,s);return Object.freeze(t)}return e(r,[])}function Zt(r){if(r.ok)return r.value;let{error:e}=r;throw e instanceof Error?e:typeof e=="string"?new Error(e):new Error("unknown")}function Jt(r){if(r.ok)throw new Error("didn't get needed error");return r.error}function Yt(r,e,t){if(r.has(e))return r.get(e);{let o=t();return r.set(e,o),o}}var De=class{#e=new Set;#t=[];#r=new WeakMap;#s=0;#o=new Set;read(e){this.#t.at(-1)?.add(e)}write(e){let t=this.#r.get(e);if(t){for(let o of t)this.#o.add(o);this.#s===0&&this.#n()}}observe(e){let t=new Set;this.#t.push(t);try{let o=e();return{seen:t,value:o}}finally{this.#t.pop()}}subscribe(e,t){let o=Yt(this.#r,e,()=>new Set);return o.add(t),()=>{o.delete(t),o.size===0&&this.#r.delete(e)}}batch=e=>{this.#s++;try{return e()}finally{this.#s--,this.#s===0&&this.#n()}};#i(e){if(this.#e.has(e))throw new Error("circularity forbidden");this.#e.add(e);try{e()}finally{this.#e.delete(e)}}#n(){for(;this.#o.size>0;){let e=[...this.#o];this.#o.clear();for(let t of e)this.#i(t)}}};var x=globalThis[Symbol.for("e280.tracker.2")]??=new De;function h(r){return function e(){return arguments.length===0?(x.read(e),r):(r=arguments[0],x.write(e),r)}}var vn=x.batch;function er(r){return B.freeze(B.clone(r))}var T=Symbol("optic");var de=class{calculate;#e=!1;#t;constructor(e){this.calculate=e,this.#t=e()}get(){return this.#e&&(this.#e=!1,this.#t=this.calculate()),this.#t}invalidate(){this.#e=!0}};var He=class r{[T];#e;#t;#r;constructor(e){this[T]=e,this.#e=B.clone(e.getState()),this.#t=new de(()=>B.clone(e.getState())),this.#r=new de(()=>er(e.getState()))}update(){let e=this[T].getState();!B.equal(e,this.#e)&&(this.#t.invalidate(),this.#r.invalidate(),this.#e=B.clone(e),x.write(this))}get state(){return x.read(this),this.#t.get()}get frozen(){return x.read(this),this.#r.get()}mutate(e){return this[T].mutate(e)}lens(e){let t=new r({getState:()=>e(this[T].getState()),mutate:o=>this[T].mutate(s=>o(e(s))),registerLens:this[T].registerLens});return this[T].registerLens(t),t}};function tr(r){if(!r.done)throw new Error("wait not done");return Zt(r)}function rr(r){if(!r.done)throw new Error("wait not done");return Jt(r)}var or=r=>!r.done;var sr=r=>r.done&&r.ok;function nr(r,e){let{pending:t=()=>{},ok:o=()=>{},err:s=()=>{}}=e;return or(r)?t():sr(r)?o(tr(r)):s(rr(r))}function no(r){return!!(r.dataTransfer&&r.dataTransfer.types.includes("Files"))}function io(r){return r.dataTransfer?Array.from(r.dataTransfer.files):[]}function he(r){let e=r.currentTarget,t=r.relatedTarget;return!e||!t||!e.contains(t)}var yt=class{params;$draggy=h(void 0);$droppy=h(void 0);constructor(e){this.params=e}get dragging(){return this.$draggy()}get hovering(){return this.$droppy()}dragzone=e=>({draggable:"true",dragstart:t=>{this.$draggy(e())},dragend:t=>{this.$draggy(void 0),this.$droppy(void 0)}});dropzone=e=>({dragenter:t=>{},dragover:t=>{t.preventDefault(),this.$draggy()?this.$droppy(e()):this.params.backchannelDrops?.dragover(t)},dragleave:t=>{he(t)&&this.$droppy(void 0),this.params.backchannelDrops?.dragleave(t)},drop:t=>{t.preventDefault();let{acceptDrop:o}=this.params,s=this.$draggy(),n=this.$droppy();try{s&&n?o(t,s,n):this.params.backchannelDrops?.drop(t)}finally{this.$draggy(void 0),this.$droppy(void 0)}}})};var xt=class{params;$indicator=h(!1);constructor(e){this.params=e}dragover=e=>{e.preventDefault(),this.$indicator(this.params.predicate(e))};dragleave=e=>{he(e)&&this.$indicator(!1)};drop=e=>{e.preventDefault(),this.$indicator(!1),this.params.predicate(e)&&this.params.acceptDrop(e)}};function me(){let r,e,t=new Promise((s,n)=>{r=s,e=n});function o(s){return s.then(r).catch(e),t}return{promise:t,resolve:r,reject:e,entangle:o}}function Ne(r){let e=null;return((...t)=>(e?e.params=t:(e={params:t,deferred:me()},queueMicrotask(()=>{let{params:o,deferred:s}=e;e=null,Promise.resolve(r(...o)).then(s.resolve).catch(s.reject)})),e.deferred.promise))}function ir(r,e,t){if(r.has(e))return r.get(e);{let o=t();return r.set(e,o),o}}function ar(r){let e,t=!1,o=()=>{t=!0,clearTimeout(e)},s=async()=>{t||(await r(o),!t&&(e=setTimeout(s,0)))};return s(),o}var cr=(r=0)=>new Promise(e=>setTimeout(e,r));var Re=d`
1
+ var Ir=Object.defineProperty;var Et=(r,e)=>{for(var t in e)Ir(r,t,{get:e[t],enumerable:!0})};var we=globalThis,$e=we.ShadowRoot&&(we.ShadyCSS===void 0||we.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,at=Symbol(),kt=new WeakMap,ne=class{constructor(e,t,o){if(this._$cssResult$=!0,o!==at)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if($e&&e===void 0){let o=t!==void 0&&t.length===1;o&&(e=kt.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),o&&kt.set(t,e))}return e}toString(){return this.cssText}},Ct=r=>new ne(typeof r=="string"?r:r+"",void 0,at),d=(r,...e)=>{let t=r.length===1?r[0]:e.reduce(((o,s,n)=>o+(i=>{if(i._$cssResult$===!0)return i.cssText;if(typeof i=="number")return i;throw Error("Value passed to 'css' function must be a 'css' function result: "+i+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+r[n+1]),r[0]);return new ne(t,r,at)},Ae=(r,e)=>{if($e)r.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(let t of e){let o=document.createElement("style"),s=we.litNonce;s!==void 0&&o.setAttribute("nonce",s),o.textContent=t.cssText,r.appendChild(o)}},ee=$e?r=>r:r=>r instanceof CSSStyleSheet?(e=>{let t="";for(let o of e.cssRules)t+=o.cssText;return Ct(t)})(r):r;var{is:Fr,defineProperty:Gr,getOwnPropertyDescriptor:Wr,getOwnPropertyNames:Vr,getOwnPropertySymbols:Qr,getPrototypeOf:Kr}=Object,Se=globalThis,Bt=Se.trustedTypes,Zr=Bt?Bt.emptyScript:"",Jr=Se.reactiveElementPolyfillSupport,ie=(r,e)=>r,ct={toAttribute(r,e){switch(e){case Boolean:r=r?Zr:null;break;case Object:case Array:r=r==null?r:JSON.stringify(r)}return r},fromAttribute(r,e){let t=r;switch(e){case Boolean:t=r!==null;break;case Number:t=r===null?null:Number(r);break;case Object:case Array:try{t=JSON.parse(r)}catch{t=null}}return t}},zt=(r,e)=>!Fr(r,e),Tt={attribute:!0,type:String,converter:ct,reflect:!1,useDefault:!1,hasChanged:zt};Symbol.metadata??=Symbol("metadata"),Se.litPropertyMetadata??=new WeakMap;var L=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=Tt){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let o=Symbol(),s=this.getPropertyDescriptor(e,o,t);s!==void 0&&Gr(this.prototype,e,s)}}static getPropertyDescriptor(e,t,o){let{get:s,set:n}=Wr(this.prototype,e)??{get(){return this[t]},set(i){this[t]=i}};return{get:s,set(i){let l=s?.call(this);n?.call(this,i),this.requestUpdate(e,l,o)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Tt}static _$Ei(){if(this.hasOwnProperty(ie("elementProperties")))return;let e=Kr(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(ie("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(ie("properties"))){let t=this.properties,o=[...Vr(t),...Qr(t)];for(let s of o)this.createProperty(s,t[s])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[o,s]of t)this.elementProperties.set(o,s)}this._$Eh=new Map;for(let[t,o]of this.elementProperties){let s=this._$Eu(t,o);s!==void 0&&this._$Eh.set(s,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let o=new Set(e.flat(1/0).reverse());for(let s of o)t.unshift(ee(s))}else e!==void 0&&t.push(ee(e));return t}static _$Eu(e,t){let o=t.attribute;return o===!1?void 0:typeof o=="string"?o:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((e=>e(this)))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let o of t.keys())this.hasOwnProperty(o)&&(e.set(o,this[o]),delete this[o]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Ae(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((e=>e.hostConnected?.()))}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach((e=>e.hostDisconnected?.()))}attributeChangedCallback(e,t,o){this._$AK(e,o)}_$ET(e,t){let o=this.constructor.elementProperties.get(e),s=this.constructor._$Eu(e,o);if(s!==void 0&&o.reflect===!0){let n=(o.converter?.toAttribute!==void 0?o.converter:ct).toAttribute(t,o.type);this._$Em=e,n==null?this.removeAttribute(s):this.setAttribute(s,n),this._$Em=null}}_$AK(e,t){let o=this.constructor,s=o._$Eh.get(e);if(s!==void 0&&this._$Em!==s){let n=o.getPropertyOptions(s),i=typeof n.converter=="function"?{fromAttribute:n.converter}:n.converter?.fromAttribute!==void 0?n.converter:ct;this._$Em=s,this[s]=i.fromAttribute(t,n.type)??this._$Ej?.get(s)??null,this._$Em=null}}requestUpdate(e,t,o){if(e!==void 0){let s=this.constructor,n=this[e];if(o??=s.getPropertyOptions(e),!((o.hasChanged??zt)(n,t)||o.useDefault&&o.reflect&&n===this._$Ej?.get(e)&&!this.hasAttribute(s._$Eu(e,o))))return;this.C(e,t,o)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,t,{useDefault:o,reflect:s,wrapped:n},i){o&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,i??t??this[e]),n!==!0||i!==void 0)||(this._$AL.has(e)||(this.hasUpdated||o||(t=void 0),this._$AL.set(e,t)),s===!0&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[s,n]of this._$Ep)this[s]=n;this._$Ep=void 0}let o=this.constructor.elementProperties;if(o.size>0)for(let[s,n]of o){let{wrapped:i}=n,l=this[s];i!==!0||this._$AL.has(s)||l===void 0||this.C(s,void 0,n,l)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach((o=>o.hostUpdate?.())),this.update(t)):this._$EM()}catch(o){throw e=!1,this._$EM(),o}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(e){}firstUpdated(e){}};L.elementStyles=[],L.shadowRootOptions={mode:"open"},L[ie("elementProperties")]=new Map,L[ie("finalized")]=new Map,Jr?.({ReactiveElement:L}),(Se.reactiveElementVersions??=[]).push("2.1.0");var ut=globalThis,_e=ut.trustedTypes,Pt=_e?_e.createPolicy("lit-html",{createHTML:r=>r}):void 0,pt="$lit$",N=`lit$${Math.random().toFixed(9).slice(2)}$`,ft="?"+N,Yr=`<${ft}>`,W=document,ce=()=>W.createComment(""),le=r=>r===null||typeof r!="object"&&typeof r!="function",dt=Array.isArray,Nt=r=>dt(r)||typeof r?.[Symbol.iterator]=="function",lt=`[
2
+ \f\r]`,ae=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Ot=/-->/g,Mt=/>/g,F=RegExp(`>|${lt}(?:([^\\s"'>=/]+)(${lt}*=${lt}*(?:[^
3
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),jt=/'/g,Ht=/"/g,Rt=/^(?:script|style|textarea|title)$/i,ht=r=>(e,...t)=>({_$litType$:r,strings:e,values:t}),p=ht(1),Ho=ht(2),Lo=ht(3),V=Symbol.for("lit-noChange"),g=Symbol.for("lit-nothing"),Lt=new WeakMap,G=W.createTreeWalker(W,129);function qt(r,e){if(!dt(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return Pt!==void 0?Pt.createHTML(e):e}var Dt=(r,e)=>{let t=r.length-1,o=[],s,n=e===2?"<svg>":e===3?"<math>":"",i=ae;for(let l=0;l<t;l++){let a=r[l],c,u,f=-1,H=0;for(;H<a.length&&(i.lastIndex=H,u=i.exec(a),u!==null);)H=i.lastIndex,i===ae?u[1]==="!--"?i=Ot:u[1]!==void 0?i=Mt:u[2]!==void 0?(Rt.test(u[2])&&(s=RegExp("</"+u[2],"g")),i=F):u[3]!==void 0&&(i=F):i===F?u[0]===">"?(i=s??ae,f=-1):u[1]===void 0?f=-2:(f=i.lastIndex-u[2].length,c=u[1],i=u[3]===void 0?F:u[3]==='"'?Ht:jt):i===Ht||i===jt?i=F:i===Ot||i===Mt?i=ae:(i=F,s=void 0);let D=i===F&&r[l+1].startsWith("/>")?" ":"";n+=i===ae?a+Yr:f>=0?(o.push(c),a.slice(0,f)+pt+a.slice(f)+N+D):a+N+(f===-2?l:D)}return[qt(r,n+(r[t]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),o]},ue=class r{constructor({strings:e,_$litType$:t},o){let s;this.parts=[];let n=0,i=0,l=e.length-1,a=this.parts,[c,u]=Dt(e,t);if(this.el=r.createElement(c,o),G.currentNode=this.el.content,t===2||t===3){let f=this.el.content.firstChild;f.replaceWith(...f.childNodes)}for(;(s=G.nextNode())!==null&&a.length<l;){if(s.nodeType===1){if(s.hasAttributes())for(let f of s.getAttributeNames())if(f.endsWith(pt)){let H=u[i++],D=s.getAttribute(f).split(N),ve=/([.?@])?(.*)/.exec(H);a.push({type:1,index:n,name:ve[2],strings:D,ctor:ve[1]==="."?ke:ve[1]==="?"?Ce:ve[1]==="@"?Be:K}),s.removeAttribute(f)}else f.startsWith(N)&&(a.push({type:6,index:n}),s.removeAttribute(f));if(Rt.test(s.tagName)){let f=s.textContent.split(N),H=f.length-1;if(H>0){s.textContent=_e?_e.emptyScript:"";for(let D=0;D<H;D++)s.append(f[D],ce()),G.nextNode(),a.push({type:2,index:++n});s.append(f[H],ce())}}}else if(s.nodeType===8)if(s.data===ft)a.push({type:2,index:n});else{let f=-1;for(;(f=s.data.indexOf(N,f+1))!==-1;)a.push({type:7,index:n}),f+=N.length-1}n++}}static createElement(e,t){let o=W.createElement("template");return o.innerHTML=e,o}};function Q(r,e,t=r,o){if(e===V)return e;let s=o!==void 0?t._$Co?.[o]:t._$Cl,n=le(e)?void 0:e._$litDirective$;return s?.constructor!==n&&(s?._$AO?.(!1),n===void 0?s=void 0:(s=new n(r),s._$AT(r,t,o)),o!==void 0?(t._$Co??=[])[o]=s:t._$Cl=s),s!==void 0&&(e=Q(r,s._$AS(r,e.values),s,o)),e}var Ee=class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:t},parts:o}=this._$AD,s=(e?.creationScope??W).importNode(t,!0);G.currentNode=s;let n=G.nextNode(),i=0,l=0,a=o[0];for(;a!==void 0;){if(i===a.index){let c;a.type===2?c=new te(n,n.nextSibling,this,e):a.type===1?c=new a.ctor(n,a.name,a.strings,this,e):a.type===6&&(c=new Te(n,this,e)),this._$AV.push(c),a=o[++l]}i!==a?.index&&(n=G.nextNode(),i++)}return G.currentNode=W,s}p(e){let t=0;for(let o of this._$AV)o!==void 0&&(o.strings!==void 0?(o._$AI(e,o,t),t+=o.strings.length-2):o._$AI(e[t])),t++}},te=class r{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,o,s){this.type=2,this._$AH=g,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=o,this.options=s,this._$Cv=s?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return t!==void 0&&e?.nodeType===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=Q(this,e,t),le(e)?e===g||e==null||e===""?(this._$AH!==g&&this._$AR(),this._$AH=g):e!==this._$AH&&e!==V&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):Nt(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==g&&le(this._$AH)?this._$AA.nextSibling.data=e:this.T(W.createTextNode(e)),this._$AH=e}$(e){let{values:t,_$litType$:o}=e,s=typeof o=="number"?this._$AC(e):(o.el===void 0&&(o.el=ue.createElement(qt(o.h,o.h[0]),this.options)),o);if(this._$AH?._$AD===s)this._$AH.p(t);else{let n=new Ee(s,this),i=n.u(this.options);n.p(t),this.T(i),this._$AH=n}}_$AC(e){let t=Lt.get(e.strings);return t===void 0&&Lt.set(e.strings,t=new ue(e)),t}k(e){dt(this._$AH)||(this._$AH=[],this._$AR());let t=this._$AH,o,s=0;for(let n of e)s===t.length?t.push(o=new r(this.O(ce()),this.O(ce()),this,this.options)):o=t[s],o._$AI(n),s++;s<t.length&&(this._$AR(o&&o._$AB.nextSibling,s),t.length=s)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e&&e!==this._$AB;){let o=e.nextSibling;e.remove(),e=o}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}},K=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,o,s,n){this.type=1,this._$AH=g,this._$AN=void 0,this.element=e,this.name=t,this._$AM=s,this.options=n,o.length>2||o[0]!==""||o[1]!==""?(this._$AH=Array(o.length-1).fill(new String),this.strings=o):this._$AH=g}_$AI(e,t=this,o,s){let n=this.strings,i=!1;if(n===void 0)e=Q(this,e,t,0),i=!le(e)||e!==this._$AH&&e!==V,i&&(this._$AH=e);else{let l=e,a,c;for(e=n[0],a=0;a<n.length-1;a++)c=Q(this,l[o+a],t,a),c===V&&(c=this._$AH[a]),i||=!le(c)||c!==this._$AH[a],c===g?e=g:e!==g&&(e+=(c??"")+n[a+1]),this._$AH[a]=c}i&&!s&&this.j(e)}j(e){e===g?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}},ke=class extends K{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===g?void 0:e}},Ce=class extends K{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==g)}},Be=class extends K{constructor(e,t,o,s,n){super(e,t,o,s,n),this.type=5}_$AI(e,t=this){if((e=Q(this,e,t,0)??g)===V)return;let o=this._$AH,s=e===g&&o!==g||e.capture!==o.capture||e.once!==o.once||e.passive!==o.passive,n=e!==g&&(o===g||s);s&&this.element.removeEventListener(this.name,this,o),n&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}},Te=class{constructor(e,t,o){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=o}get _$AU(){return this._$AM._$AU}_$AI(e){Q(this,e)}},Ut={M:pt,P:N,A:ft,C:1,L:Dt,R:Ee,D:Nt,V:Q,I:te,H:K,N:Ce,U:Be,B:ke,F:Te},Xr=ut.litHtmlPolyfillSupport;Xr?.(ue,te),(ut.litHtmlVersions??=[]).push("3.3.0");var y=(r,e,t)=>{let o=t?.renderBefore??e,s=o._$litPart$;if(s===void 0){let n=t?.renderBefore??null;o._$litPart$=s=new te(e.insertBefore(ce(),n),n,void 0,t??{})}return s._$AI(r),s};var mt=globalThis,re=class extends L{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=y(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return V}};re._$litElement$=!0,re.finalized=!0,mt.litElementHydrateSupport?.({LitElement:re});var eo=mt.litElementPolyfillSupport;eo?.({LitElement:re});(mt.litElementVersions??=[]).push("4.2.0");var C={string:(r,e)=>r.getAttribute(e)??void 0,number:(r,e)=>{let t=r.getAttribute(e);return t===null||!t?void 0:Number(t)},boolean:(r,e)=>r.getAttribute(e)!==null},v={string:(r,e,t)=>(t===void 0?r.removeAttribute(e):r.setAttribute(e,t),!0),number:(r,e,t)=>(t===void 0?r.removeAttribute(e):r.setAttribute(e,t.toString()),!0),boolean:(r,e,t)=>(t?r.setAttribute(e,""):r.removeAttribute(e),!0),any:(r,e,t)=>{t==null?r.removeAttribute(e):typeof t=="string"?r.setAttribute(e,t):typeof t=="number"?r.setAttribute(e,t.toString()):typeof t=="boolean"?t===!0?r.setAttribute(e,""):r.removeAttribute(e):console.warn(`invalid attribute "${e}" type is "${typeof t}"`)},entries:(r,e)=>{for(let[t,o]of e)v.any(r,t,o)},record:(r,e)=>v.entries(r,Object.entries(e))};function It(r,e={}){let t=document.createElement(r);return v.record(t,e),t}function Ft(r){let e=document.createDocumentFragment();return y(r,e),e.firstElementChild}function ze(r,e){let t=[];for(let[o,s]of Object.entries(e))if(typeof s=="function")r.addEventListener(o,s),t.push(()=>r.removeEventListener(o,s));else{let[n,i]=s;r.addEventListener(o,i,n),t.push(()=>r.removeEventListener(o,i))}return()=>t.forEach(o=>o())}function Gt(r,e){let t=new MutationObserver(e);return t.observe(r,{attributes:!0}),()=>t.disconnect()}var Pe=class{element;constructor(e){this.element=e}strings=new Proxy({},{get:(e,t)=>C.string(this.element,t),set:(e,t,o)=>v.string(this.element,t,o)});numbers=new Proxy({},{get:(e,t)=>C.number(this.element,t),set:(e,t,o)=>v.number(this.element,t,o)});booleans=new Proxy({},{get:(e,t)=>C.boolean(this.element,t),set:(e,t,o)=>v.boolean(this.element,t,o)})};var Wt=(r,e,t={})=>new Proxy(e,{get:(o,s)=>{switch(e[s]){case String:return C.string(r,s);case Number:return C.number(r,s);case Boolean:return C.boolean(r,s);default:throw new Error(`invalid attribute type for "${s}"`)}},set:(o,s,n)=>{try{switch(t.beforeSet?.(s),e[s]){case String:return v.string(r,s,n);case Number:return v.number(r,s,n);case Boolean:return v.boolean(r,s,n);default:throw new Error(`invalid attribute type for "${s}"`)}}finally{t.afterSet?.(s)}}});function oe(r){let e=new Pe(r);return{strings:e.strings,numbers:e.numbers,booleans:e.booleans,on:t=>Gt(r,t),spec:(t,o={})=>Wt(r,t,o)}}oe.get=C;oe.set=v;function Vt(r){return new gt(r)}var gt=class{tagName;#e=new Map;#t=[];constructor(e){this.tagName=e}attr(e,t=!0){return this.#e.set(e,t),this}attrs(e){for(let[t,o]of Object.entries(e))this.attr(t,o);return this}children(...e){return this.#t.push(...e),this}done(){let e=document.createElement(this.tagName);return v.entries(e,this.#e),e.append(...this.#t),e}};function se(r,e=document){let t=e.querySelector(r);if(!t)throw new Error(`element not found (${r})`);return t}function Oe(r,e=document){return e.querySelector(r)}function Me(r,e=document){return Array.from(e.querySelectorAll(r))}var je=class r{element;#e;constructor(e){this.element=e}in(e){return new r(typeof e=="string"?se(e,this.element):e)}require(e){return se(e,this.element)}maybe(e){return Oe(e,this.element)}all(e){return Me(e,this.element)}render(...e){return y(e,this.element)}get attrs(){return this.#e??=oe(this.element)}events(e){return ze(this.element,e)}};function Qt(r){return r.replace(/([a-zA-Z])(?=[A-Z])/g,"$1-").toLowerCase()}function Kt(r,e={}){let{soft:t=!1,upgrade:o=!0}=e;for(let[s,n]of Object.entries(r)){let i=Qt(s),l=customElements.get(i);t&&l||(customElements.define(i,n),o&&document.querySelectorAll(i).forEach(a=>{a.constructor===HTMLElement&&customElements.upgrade(a)}))}}function w(r,e=document){return se(r,e)}w.in=(r,e=document)=>new je(e).in(r);w.need=se;w.maybe=Oe;w.all=Me;w.el=It;w.elmer=Vt;w.mk=Ft;w.events=ze;w.attrs=oe;w.register=Kt;w.render=(r,...e)=>y(e,r);var Ne={};Et(Ne,{DragAndDrops:()=>yt,Drops:()=>bt,files:()=>io,hasFiles:()=>no,outsideCurrentTarget:()=>he});var B={};Et(B,{clone:()=>pe,equal:()=>to,freeze:()=>ro});function pe(r,e=new Set){if(e.has(r))throw new Error("cannot clone circular reference");let t;return typeof r=="function"||r!==null&&typeof r=="object"?(e.add(r),Array.isArray(r)?t=r.map(o=>pe(o,new Set(e))):r.constructor===Object?t=Object.fromEntries(Object.entries(r).map(([o,s])=>[o,pe(s,new Set(e))])):r instanceof Map?t=new Map(Array.from(r,([o,s])=>[o,pe(s,new Set(e))])):r instanceof Set?t=new Set(Array.from(r,o=>pe(o,new Set(e)))):r instanceof Date?t=new Date(r.getTime()):t=r,e.delete(r)):t=r,t}var fe=Object.freeze({happy:r=>r!=null,sad:r=>r==null,boolean:r=>typeof r=="boolean",number:r=>typeof r=="number",string:r=>typeof r=="string",bigint:r=>typeof r=="bigint",object:r=>typeof r=="object"&&r!==null,array:r=>Array.isArray(r),fn:r=>typeof r=="function",symbol:r=>typeof r=="symbol"});var to=(r,e)=>{function t(o,s,n){if(!fe.object(o)||!fe.object(s))return o===s;if(n.includes(o))throw new Error("forbidden circularity detected in deep equal comparison");let i=[...n,o];if(o instanceof Map&&s instanceof Map){if(o.size!==s.size)return!1;for(let[l,a]of o)if(!s.has(l)||!t(a,s.get(l),i))return!1}else if(o instanceof Set&&s instanceof Set){if(o.size!==s.size)return!1;for(let l of o)if(!Array.from(s).some(a=>t(l,a,i)))return!1}else{let l=Object.keys(o),a=Object.keys(s);if(l.length!==a.length)return!1;for(let c of l)if(!a.includes(c)||!t(o[c],s[c],i))return!1}return!0}return t(r,e,[])};function ro(r){function e(t,o){if(!fe.object(t)||o.includes(t))return t;let s=[...o,t];if(t instanceof Map)for(let n of t.entries())for(let i of n)e(i,s);else if(t instanceof Set)for(let n of t)e(n,s);else if(Array.isArray(t))for(let n of t)e(n,s);else for(let n of Object.values(t))e(n,s);return Object.freeze(t)}return e(r,[])}function Zt(r){if(r.ok)return r.value;let{error:e}=r;throw e instanceof Error?e:typeof e=="string"?new Error(e):new Error("unknown")}function Jt(r){if(r.ok)throw new Error("didn't get needed error");return r.error}function Yt(r,e,t){if(r.has(e))return r.get(e);{let o=t();return r.set(e,o),o}}var He=class{#e=new Set;#t=[];#r=new WeakMap;#s=0;#o=new Set;read(e){this.#t.at(-1)?.add(e)}write(e){let t=this.#r.get(e);if(t){for(let o of t)this.#o.add(o);this.#s===0&&this.#n()}}observe(e){let t=new Set;this.#t.push(t);try{let o=e();return{seen:t,value:o}}finally{this.#t.pop()}}subscribe(e,t){let o=Yt(this.#r,e,()=>new Set);return o.add(t),()=>{o.delete(t),o.size===0&&this.#r.delete(e)}}batch=e=>{this.#s++;try{return e()}finally{this.#s--,this.#s===0&&this.#n()}};#i(e){if(this.#e.has(e))throw new Error("circularity forbidden");this.#e.add(e);try{e()}finally{this.#e.delete(e)}}#n(){for(;this.#o.size>0;){let e=[...this.#o];this.#o.clear();for(let t of e)this.#i(t)}}};var b=globalThis[Symbol.for("e280.tracker.2")]??=new He;function h(r){return function e(){return arguments.length===0?(b.read(e),r):(r=arguments[0],b.write(e),r)}}var wn=b.batch;function er(r){return B.freeze(B.clone(r))}var T=Symbol("optic");var de=class{calculate;#e=!1;#t;constructor(e){this.calculate=e,this.#t=e()}get(){return this.#e&&(this.#e=!1,this.#t=this.calculate()),this.#t}invalidate(){this.#e=!0}};var Le=class r{[T];#e;#t;#r;constructor(e){this[T]=e,this.#e=B.clone(e.getState()),this.#t=new de(()=>B.clone(e.getState())),this.#r=new de(()=>er(e.getState()))}update(){let e=this[T].getState();!B.equal(e,this.#e)&&(this.#t.invalidate(),this.#r.invalidate(),this.#e=B.clone(e),b.write(this))}get state(){return b.read(this),this.#t.get()}get frozen(){return b.read(this),this.#r.get()}mutate(e){return this[T].mutate(e)}lens(e){let t=new r({getState:()=>e(this[T].getState()),mutate:o=>this[T].mutate(s=>o(e(s))),registerLens:this[T].registerLens});return this[T].registerLens(t),t}};function tr(r){if(!r.done)throw new Error("wait not done");return Zt(r)}function rr(r){if(!r.done)throw new Error("wait not done");return Jt(r)}var or=r=>!r.done;var sr=r=>r.done&&r.ok;function nr(r,e){let{pending:t=()=>{},ok:o=()=>{},err:s=()=>{}}=e;return or(r)?t():sr(r)?o(tr(r)):s(rr(r))}function no(r){return!!(r.dataTransfer&&r.dataTransfer.types.includes("Files"))}function io(r){return r.dataTransfer?Array.from(r.dataTransfer.files):[]}function he(r){let e=r.currentTarget,t=r.relatedTarget;return!e||!t||!e.contains(t)}var yt=class{params;$draggy=h(void 0);$droppy=h(void 0);constructor(e){this.params=e}get dragging(){return this.$draggy()}get hovering(){return this.$droppy()}dragzone=e=>({draggable:"true",dragstart:t=>{this.$draggy(e())},dragend:t=>{this.$draggy(void 0),this.$droppy(void 0)}});dropzone=e=>({dragenter:t=>{},dragover:t=>{t.preventDefault(),this.$draggy()?this.$droppy(e()):this.params.backchannelDrops?.dragover(t)},dragleave:t=>{he(t)&&this.$droppy(void 0),this.params.backchannelDrops?.dragleave(t)},drop:t=>{t.preventDefault();let{acceptDrop:o}=this.params,s=this.$draggy(),n=this.$droppy();try{s&&n?o(t,s,n):this.params.backchannelDrops?.drop(t)}finally{this.$draggy(void 0),this.$droppy(void 0)}}})};var bt=class{params;$indicator=h(!1);constructor(e){this.params=e}dragover=e=>{e.preventDefault(),this.$indicator(this.params.predicate(e))};dragleave=e=>{he(e)&&this.$indicator(!1)};drop=e=>{e.preventDefault(),this.$indicator(!1),this.params.predicate(e)&&this.params.acceptDrop(e)}};function me(){let r,e,t=new Promise((s,n)=>{r=s,e=n});function o(s){return s.then(r).catch(e),t}return{promise:t,resolve:r,reject:e,entangle:o}}function Re(r){let e=null;return((...t)=>(e?e.params=t:(e={params:t,deferred:me()},queueMicrotask(()=>{let{params:o,deferred:s}=e;e=null,Promise.resolve(r(...o)).then(s.resolve).catch(s.reject)})),e.deferred.promise))}function ir(r,e,t){if(r.has(e))return r.get(e);{let o=t();return r.set(e,o),o}}function ar(r){let e,t=!1,o=()=>{t=!0,clearTimeout(e)},s=async()=>{t||(await r(o),!t&&(e=setTimeout(s,0)))};return s(),o}var cr=(r=0)=>new Promise(e=>setTimeout(e,r));var qe=d`
4
4
  * {
5
5
  margin: 0;
6
6
  padding: 0;
@@ -14,18 +14,46 @@ var qr=Object.defineProperty;var Et=(r,e)=>{for(var t in e)qr(r,t,{get:e[t],enum
14
14
  ::-webkit-scrollbar-track { background: transparent; }
15
15
  ::-webkit-scrollbar-thumb { background: #888; border-radius: 1em; }
16
16
  ::-webkit-scrollbar-thumb:hover { background: #999; }
17
- `;var Ue=class r extends HTMLElement{static register(){v.register({SlyShadow:r},{soft:!0})}connectedCallback(){this.hasAttribute("view")||this.setAttribute("view","")}};var Ie=class{render;count=0;rendered=me();constructor(e){this.render=e}doneRender(){this.count++,this.rendered.resolve(),this.rendered=me()}},I=class extends Ie{host;shadow;constructor(e,t,o){super(e),this.host=t,this.shadow=o}};var bt=class{#e=[];get scope(){let e=this.#e.at(-1);if(!e)throw new Error("hooks must be called within a render fn");return e}increment(){let e=this.scope,t=e.position++;return{scope:e,position:t}}wrap(e,t){e.position=0,this.#e.push(e);try{return t()}finally{this.#e.pop()}}},k=globalThis[Symbol.for("e280.hooks")]??=new bt;var Z=class{#e=[];clear(){this.#e.forEach(e=>e()),this.#e=[]}observe(e,t){let{seen:o,value:s}=x.observe(e);this.clear();for(let n of o){let i=x.subscribe(n,t);this.#e.push(i)}return s}};function E(r){let{scope:e,position:t}=k.increment();return ir(e.values,t,r)}function N(r){let{scope:e}=k.increment();return E(()=>e.mounts.mount(r))}var qe=class{#e=[];#t=[];mount(e){this.#e.push(e),this.#t.push(e())}unmountAll(){for(let e of this.#t)e();this.#t=[]}remountAll(){for(let e of this.#e)this.#t.push(e())}};var J=class{cx;position=0;values=new Map;mounts=new qe;constructor(e){this.cx=e}};var{I:Ua}=It;var lr=r=>r.strings===void 0;var ur={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Ge=r=>(...e)=>({_$litDirective$:r,values:e}),Fe=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,o){this._$Ct=e,this._$AM=t,this._$Ci=o}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}};var ge=(r,e)=>{let t=r._$AN;if(t===void 0)return!1;for(let o of t)o._$AO?.(e,!1),ge(o,e);return!0},We=r=>{let e,t;do{if((e=r._$AM)===void 0)break;t=e._$AN,t.delete(r),r=e}while(t?.size===0)},pr=r=>{for(let e;e=r._$AM;r=e){let t=e._$AN;if(t===void 0)e._$AN=t=new Set;else if(t.has(r))break;t.add(r),po(e)}};function lo(r){this._$AN!==void 0?(We(this),this._$AM=r,pr(this)):this._$AM=r}function uo(r,e=!1,t=0){let o=this._$AH,s=this._$AN;if(s!==void 0&&s.size!==0)if(e)if(Array.isArray(o))for(let n=t;n<o.length;n++)ge(o[n],!1),We(o[n]);else o!=null&&(ge(o,!1),We(o));else ge(this,r)}var po=r=>{r.type==ur.CHILD&&(r._$AP??=uo,r._$AQ??=lo)},ye=class extends Fe{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,o){super._$AT(e,t,o),pr(this),this.isConnected=e._$AU}_$AO(e,t=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),t&&(ge(this,e),We(this))}setValue(e){if(lr(this._$Ct))this._$Ct._$AI(e,this);else{let t=[...this._$Ct._$AH];t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}};function S(r){return class extends HTMLElement{#e;#t;#r=new Z;#s=this.attachShadow({mode:"open"});constructor(){super();let e=Ne(()=>{if(!this.isConnected)return;let t=this.#o();y(t,this.#e.shadow),this.#e.doneRender()});this.#e=new I(e,this,this.#s),this.#t=new J(this.#e)}#o(){return this.#r.observe(()=>k.wrap(this.#t,()=>r()),this.#e.render)}render(){y(this.#o(),this.#e.shadow),this.#e.doneRender()}connectedCallback(){this.#t.mounts.remountAll(),this.#e.render()}disconnectedCallback(){this.#t.mounts.unmountAll(),this.#r.clear()}}}function Ve(r){return E(()=>new wt(r))}var wt=class{current;constructor(e){this.current=e}};function fr(){let{scope:r}=k.increment();return r.cx}function dr(){let r=fr();if(!(r instanceof I))throw new Error("this hook only works on shadow views (but was called in a light view)");return r}function Y(){return fr().render}function b(){return dr().host}function hr(){return dr().shadow}function mr(r,e){Ae(r,fo(e))}function fo(r){let e=[];if(Array.isArray(r)){let t=new Set(r.flat(1/0).reverse());for(let o of t)e.unshift(ee(o))}else r!==void 0&&e.push(ee(r));return e}function ho(...r){let e=hr();E(()=>mr(e,r))}var m=ho;function Qe(r=""){let e=b();E(()=>e.setAttribute("view",r))}function gr(r){return E(()=>h(r))}function yr(r){let e=Y(),t=Ve(r),o=s=>{let n=typeof s=="function"?s(t.current):s;Object.is(n,t.current)||(t.current=n,e())};return[t.current,o]}function xr(r,e){for(let[t,o]of Object.entries(e))mo(r,t,o)}function mo(r,e,t){let o=r.getAttribute(e),s=go(t);s!==o&&(s===null?r.removeAttribute(e):r.setAttribute(e,s))}function go(r){return typeof r=="string"?r:typeof r=="number"?r.toString():r?"":null}function yo(){Ue.register();let r=document.createElement("sly-shadow"),e=r.attachShadow({mode:"open"});return{host:r,shadow:e}}function X(r){return br(yo,r)}X.setup=r=>(e=>br(r,e));function br(r,e){let t=Ge(class extends ye{#e;#t;#r;#s=new Z;constructor(s){super(s);let{host:n,shadow:i}=r(),l=Ne(()=>{if(!this.#r)throw new Error("cannot render before props");if(!this.isConnected)return;let a=this.#o(this.#r);y(a,this.#e.shadow),this.#e.doneRender()});this.#e=new I(l,n,i),this.#t=new J(this.#e)}#o(s){return this.#r=s,this.#s.observe(()=>k.wrap(this.#t,()=>e(...this.#r)),this.#e.render)}render({props:s,children:n,attrs:i}){let{host:l}=this.#e;return this.isConnected&&(i&&xr(l,i),y(n,this.#e.host),y(this.#o(s),this.#e.shadow),this.#e.doneRender()),l}disconnected(){y(null,this.#e.shadow),y(null,this.#e.host),this.#t.mounts.unmountAll(),this.#s.clear()}reconnected(){this.#t.mounts.remountAll(),this.#e.render()}});function o(...s){return t({props:s})}return o.with=t,o}function P(r,e){return()=>xo({hz:r,frames:e})}var xo=X(({hz:r,frames:e})=>{Qe("loading"),m(Re,bo);let t=gr(0);return N(()=>ar(async()=>{await cr(1e3/r);let o=t()+1;t(o>=e.length?0:o)})),e.at(t())}),bo=d`
17
+ `;var De=class r extends HTMLElement{static register(){w.register({SlyShadow:r},{soft:!0})}connectedCallback(){this.hasAttribute("view")||this.setAttribute("view","")}};var Ue=class{render;count=0;rendered=me();constructor(e){this.render=e}doneRender(){this.count++,this.rendered.resolve(),this.rendered=me()}},U=class extends Ue{host;shadow;constructor(e,t,o){super(e),this.host=t,this.shadow=o}};var xt=class{#e=[];get scope(){let e=this.#e.at(-1);if(!e)throw new Error("hooks must be called within a render fn");return e}increment(){let e=this.scope,t=e.position++;return{scope:e,position:t}}wrap(e,t){e.position=0,this.#e.push(e);try{return t()}finally{this.#e.pop()}}},k=globalThis[Symbol.for("e280.hooks")]??=new xt;var Z=class{#e=[];clear(){this.#e.forEach(e=>e()),this.#e=[]}observe(e,t){let{seen:o,value:s}=b.observe(e);this.clear();for(let n of o){let i=b.subscribe(n,t);this.#e.push(i)}return s}};function E(r){let{scope:e,position:t}=k.increment();return ir(e.values,t,r)}function R(r){let{scope:e}=k.increment();return E(()=>e.mounts.mount(r))}var Ie=class{#e=[];#t=[];mount(e){this.#e.push(e),this.#t.push(e())}unmountAll(){for(let e of this.#t)e();this.#t=[]}remountAll(){for(let e of this.#e)this.#t.push(e())}};var J=class{cx;position=0;values=new Map;mounts=new Ie;constructor(e){this.cx=e}};var{I:Da}=Ut;var lr=r=>r.strings===void 0;var ur={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Ge=r=>(...e)=>({_$litDirective$:r,values:e}),Fe=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,o){this._$Ct=e,this._$AM=t,this._$Ci=o}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}};var ge=(r,e)=>{let t=r._$AN;if(t===void 0)return!1;for(let o of t)o._$AO?.(e,!1),ge(o,e);return!0},We=r=>{let e,t;do{if((e=r._$AM)===void 0)break;t=e._$AN,t.delete(r),r=e}while(t?.size===0)},pr=r=>{for(let e;e=r._$AM;r=e){let t=e._$AN;if(t===void 0)e._$AN=t=new Set;else if(t.has(r))break;t.add(r),po(e)}};function lo(r){this._$AN!==void 0?(We(this),this._$AM=r,pr(this)):this._$AM=r}function uo(r,e=!1,t=0){let o=this._$AH,s=this._$AN;if(s!==void 0&&s.size!==0)if(e)if(Array.isArray(o))for(let n=t;n<o.length;n++)ge(o[n],!1),We(o[n]);else o!=null&&(ge(o,!1),We(o));else ge(this,r)}var po=r=>{r.type==ur.CHILD&&(r._$AP??=uo,r._$AQ??=lo)},ye=class extends Fe{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,o){super._$AT(e,t,o),pr(this),this.isConnected=e._$AU}_$AO(e,t=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),t&&(ge(this,e),We(this))}setValue(e){if(lr(this._$Ct))this._$Ct._$AI(e,this);else{let t=[...this._$Ct._$AH];t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}};function S(r){return class extends HTMLElement{#e;#t;#r=new Z;#s=this.attachShadow({mode:"open"});constructor(){super();let e=Re(()=>{if(!this.isConnected)return;let t=this.#o();y(t,this.#e.shadow),this.#e.doneRender()});this.#e=new U(e,this,this.#s),this.#t=new J(this.#e)}#o(){return this.#r.observe(()=>k.wrap(this.#t,()=>r()),this.#e.render)}render(){y(this.#o(),this.#e.shadow),this.#e.doneRender()}connectedCallback(){this.#t.mounts.remountAll(),this.#e.render()}disconnectedCallback(){this.#t.mounts.unmountAll(),this.#r.clear()}}}function Ve(r){return E(()=>new vt(r))}var vt=class{current;constructor(e){this.current=e}};function fr(){let{scope:r}=k.increment();return r.cx}function dr(){let r=fr();if(!(r instanceof U))throw new Error("this hook only works on shadow views (but was called in a light view)");return r}function Y(){return fr().render}function x(){return dr().host}function hr(){return dr().shadow}function mr(r,e){Ae(r,fo(e))}function fo(r){let e=[];if(Array.isArray(r)){let t=new Set(r.flat(1/0).reverse());for(let o of t)e.unshift(ee(o))}else r!==void 0&&e.push(ee(r));return e}function ho(...r){let e=hr();E(()=>mr(e,r))}var m=ho;function Qe(r=""){let e=x();E(()=>e.setAttribute("view",r))}function gr(r){return E(()=>h(r))}function yr(r){let e=Y(),t=Ve(r),o=s=>{let n=typeof s=="function"?s(t.current):s;Object.is(n,t.current)||(t.current=n,e())};return[t.current,o]}function br(r,e){for(let[t,o]of Object.entries(e))mo(r,t,o)}function mo(r,e,t){let o=r.getAttribute(e),s=go(t);s!==o&&(s===null?r.removeAttribute(e):r.setAttribute(e,s))}function go(r){return typeof r=="string"?r:typeof r=="number"?r.toString():r?"":null}function yo(){De.register();let r=document.createElement("sly-shadow"),e=r.attachShadow({mode:"open"});return{host:r,shadow:e}}function X(r){return xr(yo,r)}X.setup=r=>(e=>xr(r,e));function xr(r,e){let t=Ge(class extends ye{#e;#t;#r;#s=new Z;constructor(s){super(s);let{host:n,shadow:i}=r(),l=Re(()=>{if(!this.#r)throw new Error("cannot render before props");if(!this.isConnected)return;let a=this.#o(this.#r);y(a,this.#e.shadow),this.#e.doneRender()});this.#e=new U(l,n,i),this.#t=new J(this.#e)}#o(s){return this.#r=s,this.#s.observe(()=>k.wrap(this.#t,()=>e(...this.#r)),this.#e.render)}render({props:s,children:n,attrs:i}){let{host:l}=this.#e;return this.isConnected&&(i&&br(l,i),y(n,this.#e.host),y(this.#o(s),this.#e.shadow),this.#e.doneRender()),l}disconnected(){y(null,this.#e.shadow),y(null,this.#e.host),this.#t.mounts.unmountAll(),this.#s.clear()}reconnected(){this.#t.mounts.remountAll(),this.#e.render()}});function o(...s){return t({props:s})}return o.with=t,o}function z(r,e){return()=>bo({hz:r,frames:e})}var bo=X(({hz:r,frames:e})=>{Qe("loading"),m(qe,xo);let t=gr(0);return R(()=>ar(async()=>{await cr(1e3/r);let o=t()+1;t(o>=e.length?0:o)})),e.at(t())}),xo=d`
18
18
  :host {
19
19
  font-family: monospace;
20
20
  white-space: pre;
21
21
  user-select: none;
22
22
  }
23
- `;var O=X(r=>(Qe("error"),m(Re,wo),typeof r=="string"?r:r instanceof Error?p`<strong>${r.name}:</strong> <span>${r.message}</span>`:"error")),wo=d`
23
+ `;var P=X(r=>(Qe("error"),m(qe,vo),typeof r=="string"?r:r instanceof Error?p`<strong>${r.name}:</strong> <span>${r.message}</span>`:"error")),vo=d`
24
24
  :host {
25
25
  font-family: monospace;
26
26
  color: red;
27
27
  }
28
- `;function z(r,e){return(t,o)=>nr(t,{pending:r,err:e,ok:o})}var Fl=z(P(10,[" "," ",". ",".. ","..."," .."," ."]),O);var Kl=z(P(3,["\u{1F30E}","\u{1F30F}","\u{1F30D}"]),O);var eu=z(P(10,["\u{1F312}","\u{1F313}","\u{1F314}","\u{1F315}","\u{1F316}","\u{1F317}","\u{1F318}","\u{1F311}","\u{1F311}","\u{1F311}"]),O);var nu=z(P(16,["|","/","-","\\"]),O);var uu=z(P(20,[":....",":....","::...",".::..","..::.","...::","....:","....:","...::","..::.",".::..","::..."]),O);var M=Object.freeze({eq(r,e){if(r.length!==e.length)return!1;for(let t=0;t<=r.length;t++)if(r.at(t)!==e.at(t))return!1;return!0},random(r){return crypto.getRandomValues(new Uint8Array(r))}});var R=Object.freeze({fromBytes(r){return[...r].map(e=>e.toString(16).padStart(2,"0")).join("")},toBytes(r){if(r.length%2!==0)throw new Error("must have even number of hex characters");let e=new Uint8Array(r.length/2);for(let t=0;t<r.length;t+=2)e[t/2]=parseInt(r.slice(t,t+2),16);return e},random(r=32){return this.fromBytes(M.random(r))},string(r){return R.fromBytes(r)},bytes(r){return R.toBytes(r)}});var vt=58,Ke="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",$t=Object.freeze({fromBytes(r){let e=BigInt("0x"+R.fromBytes(r)),t="";for(;e>0;){let o=e%BigInt(vt);e=e/BigInt(vt),t=Ke[Number(o)]+t}for(let o of r)if(o===0)t=Ke[0]+t;else break;return t},toBytes(r){let e=BigInt(0);for(let i of r){let l=Ke.indexOf(i);if(l===-1)throw new Error(`Invalid character '${i}' in base58 string`);e=e*BigInt(vt)+BigInt(l)}let t=e.toString(16);t.length%2!==0&&(t="0"+t);let o=R.toBytes(t),s=0;for(let i of r)if(i===Ke[0])s++;else break;let n=new Uint8Array(s+o.length);return n.set(o,s),n},random(r=32){return this.fromBytes(M.random(r))},string(r){return $t.fromBytes(r)},bytes(r){return $t.toBytes(r)}});var wr=class{lexicon;static lexicons=Object.freeze({base2:{characters:"01"},hex:{characters:"0123456789abcdef"},base36:{characters:"0123456789abcdefghijklmnopqrstuvwxyz"},base58:{characters:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"},base62:{characters:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"},base64url:{negativePrefix:"~",characters:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"},base64:{characters:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",padding:{character:"=",size:4}}});lookup;negativePrefix;constructor(e){this.lexicon=e,this.lookup=Object.fromEntries([...e.characters].map((t,o)=>[t,o])),this.negativePrefix=e.negativePrefix??"-"}toBytes(e){let t=Math.log2(this.lexicon.characters.length);if(Number.isInteger(t)){let l=0,a=0,c=[];for(let u of e){if(u===this.lexicon.padding?.character)continue;let f=this.lookup[u];if(f===void 0)throw new Error(`Invalid character: ${u}`);for(l=l<<t|f,a+=t;a>=8;)a-=8,c.push(l>>a&255)}return new Uint8Array(c)}let o=0n,s=BigInt(this.lexicon.characters.length),n=!1;e.startsWith(this.negativePrefix)&&(e=e.slice(this.negativePrefix.length),n=!0);for(let l of e){let a=this.lookup[l];if(a===void 0)throw new Error(`Invalid character: ${l}`);o=o*s+BigInt(a)}let i=[];for(;o>0n;)i.unshift(Number(o%256n)),o=o/256n;return new Uint8Array(i)}fromBytes(e){let t=Math.log2(this.lexicon.characters.length);if(Number.isInteger(t)){let i=0,l=0,a="";for(let c of e)for(i=i<<8|c,l+=8;l>=t;){l-=t;let u=i>>l&(1<<t)-1;a+=this.lexicon.characters[u]}if(l>0){let c=i<<t-l&(1<<t)-1;a+=this.lexicon.characters[c]}if(this.lexicon.padding)for(;a.length%this.lexicon.padding.size!==0;)a+=this.lexicon.padding.character;return a}let o=0n;for(let i of e)o=(o<<8n)+BigInt(i);if(o===0n)return this.lexicon.characters[0];let s=BigInt(this.lexicon.characters.length),n="";for(;o>0n;)n=this.lexicon.characters[Number(o%s)]+n,o=o/s;return n}toInteger(e){if(!e)return 0;let t=0n,o=!1,s=BigInt(this.lexicon.characters.length);e.startsWith(this.negativePrefix)&&(e=e.slice(this.negativePrefix.length),o=!0);for(let n of e){let i=this.lookup[n];if(i===void 0)throw new Error(`Invalid character: ${n}`);t=t*s+BigInt(i)}return Number(o?-t:t)}fromInteger(e){e=Math.floor(e);let t=e<0,o=BigInt(t?-e:e);if(o===0n)return this.lexicon.characters[0];let s=BigInt(this.lexicon.characters.length),n="";for(;o>0n;)n=this.lexicon.characters[Number(o%s)]+n,o=o/s;return t?`${this.negativePrefix}${n}`:n}random(e=32){return this.fromBytes(M.random(e))}};var At=Object.freeze({fromBytes(r){return typeof btoa=="function"?btoa(String.fromCharCode(...r)):Buffer.from(r).toString("base64")},toBytes(r){return typeof atob=="function"?Uint8Array.from(atob(r),e=>e.charCodeAt(0)):Uint8Array.from(Buffer.from(r,"base64"))},random(r=32){return this.fromBytes(M.random(r))},string(r){return At.fromBytes(r)},bytes(r){return At.toBytes(r)}});var vr=Object.freeze({fromBytes(r){return new TextDecoder().decode(r)},toBytes(r){return new TextEncoder().encode(r)},string(r){return vr.fromBytes(r)},bytes(r){return vr.toBytes(r)}});var St=Object.freeze({set:r=>r!=null,unset:r=>r==null,boolean:r=>typeof r=="boolean",number:r=>typeof r=="number",string:r=>typeof r=="string",bigint:r=>typeof r=="bigint",object:r=>typeof r=="object"&&r!==null,array:r=>Array.isArray(r),fn:r=>typeof r=="function",symbol:r=>typeof r=="symbol"});function $r(){let r,e,t=new Promise((s,n)=>{r=s,e=n});function o(s){return s.then(r).catch(e),t}return{promise:t,resolve:r,reject:e,entangle:o}}var A=class r extends Map{static require(e,t){let o=e.get(t);if(o===void 0)throw new Error(`required key not found: "${t}"`);return o}static guarantee(e,t,o){let s=e.get(t);return s===void 0&&(s=o(),e.set(t,s)),s}array(){return[...this]}require(e){return r.require(this,e)}guarantee(e,t){return r.guarantee(this,e,t)}};function vo(r){return{map:e=>Ar(r,e),filter:e=>Sr(r,e)}}vo.pipe=Object.freeze({map:r=>(e=>Ar(e,r)),filter:r=>(e=>Sr(e,r))});var Ar=(r,e)=>Object.fromEntries(Object.entries(r).map(([t,o])=>[t,e(o,t)])),Sr=(r,e)=>Object.fromEntries(Object.entries(r).filter(([t,o])=>e(o,t)));function $o(){let r=new Set;function e(n){return r.add(n),()=>{r.delete(n)}}async function t(...n){await Promise.all([...r].map(i=>i(...n)))}async function o(){let{promise:n,resolve:i}=$r(),l=e((...a)=>{i(a),l()});return n}function s(){r.clear()}return e.pub=t,e.sub=e,e.on=e,e.once=o,e.clear=s,t.pub=t,t.sub=e,t.on=e,t.once=o,t.clear=s,[t,e]}function j(r){let e=$o()[1];return r&&e.sub(r),e}var Ze=class{#e=new A;setGroup(e,t){return this.#e.set(e,t),t}getGroup(e){return this.#e.require(e)}};var Je=new Ze;var Ye=class{group;#e=new Le.DragAndDrops({acceptDrop:(e,t,o)=>this.group.move(t,o)});constructor(e){this.group=e}#t=h(void 0);get grabbed(){return this.#e.dragging}get hovering(){return this.#e.hovering??this.#t()}dragenter=(e,t)=>{e.preventDefault(),this.#e.dropzone(()=>t).dragenter(e),this.#t(t)};dragleave=e=>{let t=this.hovering;t&&this.#e.dropzone(()=>t).dragleave(e),this.#t(void 0)};dragstart=(e,t)=>{e.stopPropagation(),this.#e.dragzone(()=>t).dragstart(e)};dragover=(e,t)=>{e.preventDefault(),this.#e.dropzone(()=>t).dragover(e)};dragend=e=>{this.#e.$draggy(void 0),this.#e.$droppy(void 0),this.#t(void 0)};drop=(e,t)=>{e.preventDefault();let o=Array.from(e.dataTransfer?.files||[]);o.length&&this.group.upload(o,t);let s=this.grabbed?.id===this.hovering?.id,n=this.grabbed?.children.some(l=>this.hovering?.id===l.id),i=this.grabbed?.parent?.id===this.hovering?.id;!s&&!n&&!i&&this.#e.dropzone(()=>t).drop(e),this.#t(void 0)};change=(e,t)=>{let o=e.currentTarget,s=Array.from(o.files??[]);s.length&&this.group.upload(s,t)}};var Xe=class{signal=h([]);constructor(e){this.signal([e])}setTrail(e,t){if(e.target!==e.currentTarget)return;let o=[],s=t.kind==="folder"?t:t.parent;for(;s;)o.unshift(s),s=s.parent;this.signal(o)}get currentFolder(){return this.signal().at(-1)?.children??[]}};var et=class{config;trail;dropzone=new Ye(this);searchText=h("");selectedFilter=h("");selectedSort=h("");on={newFolder:j(),move:j(),delete:j(),rename:j(),upload:j(),search:j(),refresh:j()};constructor(e){this.config=e,this.selectedFilter(e.defaultFilter),this.selectedSort(e.defaultSort),this.trail=new Xe(e.root)}get permissions(){return this.config.permissions}getFilterFn(e){return this.config.filters.get(e)??(()=>!0)}getSearchFn(e){let t=e.trim().toLowerCase().split(/\s+/);return o=>this.config.search(t,o)}getSortFn(e){return this.config.sorts?.get(e)??(()=>0)}sort(e){let t=this.getSortFn(this.selectedSort());return[...e].sort(t)}matches(e){let t=this.getFilterFn(this.selectedFilter()),o=this.getSearchFn(this.searchText());return t(e)&&o(e)}move(e,t){if(!this.permissions(e).move)throw new Error("move permission not granted");e.detach(),t.attach(e),this.on.move.pub({item:e,target:t})}delete(e){if(!this.permissions(e).delete)throw new Error("delete permission not granted");e.destroy(),this.on.delete.pub({item:e})}rename(e,t){if(!this.permissions(e).rename)throw new Error("rename permission not granted");this.on.rename.pub({item:e,newName:t})}upload(e,t){if(!this.permissions(t).upload)throw new Error("upload permission not granted");this.on.upload.pub({files:e,target:t})}addFolder(e){if(!this.permissions(e).newFolder)throw new Error("add folder permission not granted");this.on.newFolder.pub({parent:e})}components=()=>this.components};var xe;(function(r){r.rename="rename",r.move="move",r.delete="delete",r.refresh="refresh",r.newFolder="newFolder",r.search="search",r.upload="upload"})(xe||(xe={}));var Ao=Object.values(xe);function _t(r,e={}){let t={};for(let o of Ao)t[o]=o in e?e[o]:r;return t}var _r={all:_t(!0),readOnly:_t(!1,{[xe.refresh]:!0,[xe.search]:!0}),none:_t(!1)};var tt=class{taxonomy;onChange=j();#e=new A;constructor(e){this.taxonomy=e}getSpecimen(e){return this.#e.require(e)}setSpecimen(e,t,o){this.#e.set(e,[t,o]),this.onChange.pub()}query(e){let[t,o]=this.getSpecimen(e),s=this.taxonomy.taxon(t);return{kind:t,taxon:s,specimen:o}}};var rt=class{#e=new A;constructor(e){for(let[t,o]of Object.entries(e))this.#e.set(t,o)}taxon(e){return this.#e.require(e)}};var ot=class{#e=new A;#t=new A;has(e){return this.#e.has(e)}getChildren(e){return this.#e.require(e)}getParent(e){return this.#t.get(e)}establishRoot(e){this.#e.set(e,new Set)}attach(e,...t){let o=this.getChildren(e);for(let s of t){if(this.getParent(s))throw new Error("child already has parent");o.add(s),this.#t.set(s,e),this.#e.set(s,new Set)}}detach(e){if(!this.has(e))return;let t=this.getParent(e);t&&(this.getChildren(t).delete(e),this.#t.delete(e))}destroy(e){let t=[...this.crawl(e)];for(let[o]of t)this.#e.delete(o),this.#t.delete(o)}*crawl(e,t=()=>!0){let o=[[e,[]]],s=new Set;for(;o.length;){let[n,i]=o.shift();if(!(s.has(n)||!t(n,i))){s.add(n),yield[n,i];for(let l of this.getChildren(n))o.push([l,[...i,n]])}}}};var st=class{codex;id;signal=h(this);constructor(e,t){this.codex=e,this.id=t}get kind(){return this.codex.clade.query(this.id).kind}isKind(e){return e===this.kind}get taxon(){return this.codex.clade.query(this.id).taxon}get specimen(){return this.codex.clade.query(this.id).specimen}get parent(){let e=this.codex.hierarchy.getParent(this.id);return e?this.codex.require(e):void 0}get children(){return[...this.codex.hierarchy.getChildren(this.id)].map(e=>this.codex.require(e))}attach(...e){return this.codex.hierarchy.attach(this.id,...e.map(t=>t.id)),this.signal(this),this}detach(){this.codex.hierarchy.detach(this.id),this.signal(this)}create(e,t){let o=this.codex.create(e,t);return this.attach(o),o}destroy(){this.codex.hierarchy.destroy(this.id),this.signal(this)}*crawl(e=()=>!0){let t=this.codex.hierarchy.crawl(this.id,(o,s)=>e(this.codex.require(o),s.map(n=>this.codex.require(n))));for(let[o,s]of t)yield[this.codex.require(o),s.map(n=>this.codex.require(n))]}};function Er(){return R.random()}var nt=class{clade;hierarchy;static setup(e){let t=new rt(e),o=new tt(t),s=new ot;return new this(o,s)}#e=new A;constructor(e,t){this.clade=e,this.hierarchy=t}create(e,t){let o=Er();this.clade.setSpecimen(o,e,t);let s=new st(this,o);return this.#e.set(o,s),s.signal()}root(e){return this.hierarchy.establishRoot(e.id),e.signal()}require(e){return this.#e.require(e).signal()}};var it=class r extends et{static config=()=>{let e=new A().set("audio",p`<sl-icon name=music-note-beamed></sl-icon>`).set("video",p`<sl-icon name=film></sl-icon>`).set("image",p`<sl-icon name=image></sl-icon>`).set("other",p`<sl-icon name=file-earmark></sl-icon>`),t=new Map().set("all",()=>!0).set("video",a=>a.isKind("folder")||a.isKind("file")&&a.specimen.format==="video").set("audio",a=>a.isKind("folder")||a.isKind("file")&&a.specimen.format==="audio"),o=new Map().set("label",(a,c)=>a.specimen.label.localeCompare(c.specimen.label)).set("format",(a,c)=>a.isKind("file")&&c.isKind("file")?a.specimen.format.localeCompare(c.specimen.format):a.isKind("file")?-1:c.isKind("file")?1:0),s=(a,c)=>{let u=a.join(" ").trim().toLowerCase();return u===""?!0:c.kind==="folder"?c.children.some(f=>s(a,f)):c.specimen.label.toLowerCase().includes(u)},n=nt.setup({folder:{icon:p`<sl-icon name="folder"></sl-icon>`},file:{icon:p`<sl-icon name="file"></sl-icon>`}}),i=n.root(n.create("folder",{label:"project"})),l=(a,c)=>a.isKind("file")?e.require(a.specimen.format):c?p`<sl-icon name="folder2-open"></sl-icon>`:a.taxon.icon;return{codex:n,root:i,sorts:o,filters:t,defaultFilter:"all",defaultSort:"label",search:(a,c)=>a.some(u=>c.kind.includes(u)||c.id.includes(u)||c.specimen.label.includes(u))||s(a,c),renderIcon:l,renderLabel:a=>a.specimen.label,renderPreview:a=>a.isKind("file")&&a.specimen.previewUrl?p`<img src=${a.specimen.previewUrl}>`:l(a,!1),permissions:a=>_r.all}};constructor(){super(r.config())}};var $=d`@layer theme, view; @layer theme {
28
+ `;function O(r,e){return(t,o)=>nr(t,{pending:r,err:e,ok:o})}var Fl=O(z(10,[" "," ",". ",".. ","..."," .."," ."]),P);var Kl=O(z(3,["\u{1F30E}","\u{1F30F}","\u{1F30D}"]),P);var eu=O(z(10,["\u{1F312}","\u{1F313}","\u{1F314}","\u{1F315}","\u{1F316}","\u{1F317}","\u{1F318}","\u{1F311}","\u{1F311}","\u{1F311}"]),P);var nu=O(z(16,["|","/","-","\\"]),P);var uu=O(z(20,[":....",":....","::...",".::..","..::.","...::","....:","....:","...::","..::.",".::..","::..."]),P);var M=Object.freeze({eq(r,e){if(r.length!==e.length)return!1;for(let t=0;t<=r.length;t++)if(r.at(t)!==e.at(t))return!1;return!0},random(r){return crypto.getRandomValues(new Uint8Array(r))}});var q=Object.freeze({fromBytes(r){return[...r].map(e=>e.toString(16).padStart(2,"0")).join("")},toBytes(r){if(r.length%2!==0)throw new Error("must have even number of hex characters");let e=new Uint8Array(r.length/2);for(let t=0;t<r.length;t+=2)e[t/2]=parseInt(r.slice(t,t+2),16);return e},random(r=32){return this.fromBytes(M.random(r))},string(r){return q.fromBytes(r)},bytes(r){return q.toBytes(r)}});var wt=58,Ke="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",$t=Object.freeze({fromBytes(r){let e=BigInt("0x"+q.fromBytes(r)),t="";for(;e>0;){let o=e%BigInt(wt);e=e/BigInt(wt),t=Ke[Number(o)]+t}for(let o of r)if(o===0)t=Ke[0]+t;else break;return t},toBytes(r){let e=BigInt(0);for(let i of r){let l=Ke.indexOf(i);if(l===-1)throw new Error(`Invalid character '${i}' in base58 string`);e=e*BigInt(wt)+BigInt(l)}let t=e.toString(16);t.length%2!==0&&(t="0"+t);let o=q.toBytes(t),s=0;for(let i of r)if(i===Ke[0])s++;else break;let n=new Uint8Array(s+o.length);return n.set(o,s),n},random(r=32){return this.fromBytes(M.random(r))},string(r){return $t.fromBytes(r)},bytes(r){return $t.toBytes(r)}});var vr=class{lexicon;static lexicons=Object.freeze({base2:{characters:"01"},hex:{characters:"0123456789abcdef"},base36:{characters:"0123456789abcdefghijklmnopqrstuvwxyz"},base58:{characters:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"},base62:{characters:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"},base64url:{negativePrefix:"~",characters:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"},base64:{characters:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",padding:{character:"=",size:4}}});lookup;negativePrefix;constructor(e){this.lexicon=e,this.lookup=Object.fromEntries([...e.characters].map((t,o)=>[t,o])),this.negativePrefix=e.negativePrefix??"-"}toBytes(e){let t=Math.log2(this.lexicon.characters.length);if(Number.isInteger(t)){let l=0,a=0,c=[];for(let u of e){if(u===this.lexicon.padding?.character)continue;let f=this.lookup[u];if(f===void 0)throw new Error(`Invalid character: ${u}`);for(l=l<<t|f,a+=t;a>=8;)a-=8,c.push(l>>a&255)}return new Uint8Array(c)}let o=0n,s=BigInt(this.lexicon.characters.length),n=!1;e.startsWith(this.negativePrefix)&&(e=e.slice(this.negativePrefix.length),n=!0);for(let l of e){let a=this.lookup[l];if(a===void 0)throw new Error(`Invalid character: ${l}`);o=o*s+BigInt(a)}let i=[];for(;o>0n;)i.unshift(Number(o%256n)),o=o/256n;return new Uint8Array(i)}fromBytes(e){let t=Math.log2(this.lexicon.characters.length);if(Number.isInteger(t)){let i=0,l=0,a="";for(let c of e)for(i=i<<8|c,l+=8;l>=t;){l-=t;let u=i>>l&(1<<t)-1;a+=this.lexicon.characters[u]}if(l>0){let c=i<<t-l&(1<<t)-1;a+=this.lexicon.characters[c]}if(this.lexicon.padding)for(;a.length%this.lexicon.padding.size!==0;)a+=this.lexicon.padding.character;return a}let o=0n;for(let i of e)o=(o<<8n)+BigInt(i);if(o===0n)return this.lexicon.characters[0];let s=BigInt(this.lexicon.characters.length),n="";for(;o>0n;)n=this.lexicon.characters[Number(o%s)]+n,o=o/s;return n}toInteger(e){if(!e)return 0;let t=0n,o=!1,s=BigInt(this.lexicon.characters.length);e.startsWith(this.negativePrefix)&&(e=e.slice(this.negativePrefix.length),o=!0);for(let n of e){let i=this.lookup[n];if(i===void 0)throw new Error(`Invalid character: ${n}`);t=t*s+BigInt(i)}return Number(o?-t:t)}fromInteger(e){e=Math.floor(e);let t=e<0,o=BigInt(t?-e:e);if(o===0n)return this.lexicon.characters[0];let s=BigInt(this.lexicon.characters.length),n="";for(;o>0n;)n=this.lexicon.characters[Number(o%s)]+n,o=o/s;return t?`${this.negativePrefix}${n}`:n}random(e=32){return this.fromBytes(M.random(e))}};var At=Object.freeze({fromBytes(r){return typeof btoa=="function"?btoa(String.fromCharCode(...r)):Buffer.from(r).toString("base64")},toBytes(r){return typeof atob=="function"?Uint8Array.from(atob(r),e=>e.charCodeAt(0)):Uint8Array.from(Buffer.from(r,"base64"))},random(r=32){return this.fromBytes(M.random(r))},string(r){return At.fromBytes(r)},bytes(r){return At.toBytes(r)}});var wr=Object.freeze({fromBytes(r){return new TextDecoder().decode(r)},toBytes(r){return new TextEncoder().encode(r)},string(r){return wr.fromBytes(r)},bytes(r){return wr.toBytes(r)}});var St=Object.freeze({set:r=>r!=null,unset:r=>r==null,boolean:r=>typeof r=="boolean",number:r=>typeof r=="number",string:r=>typeof r=="string",bigint:r=>typeof r=="bigint",object:r=>typeof r=="object"&&r!==null,array:r=>Array.isArray(r),fn:r=>typeof r=="function",symbol:r=>typeof r=="symbol"});function $r(){let r,e,t=new Promise((s,n)=>{r=s,e=n});function o(s){return s.then(r).catch(e),t}return{promise:t,resolve:r,reject:e,entangle:o}}var A=class r extends Map{static require(e,t){let o=e.get(t);if(o===void 0)throw new Error(`required key not found: "${t}"`);return o}static guarantee(e,t,o){let s=e.get(t);return s===void 0&&(s=o(),e.set(t,s)),s}array(){return[...this]}require(e){return r.require(this,e)}guarantee(e,t){return r.guarantee(this,e,t)}};function wo(r){return{map:e=>Ar(r,e),filter:e=>Sr(r,e)}}wo.pipe=Object.freeze({map:r=>(e=>Ar(e,r)),filter:r=>(e=>Sr(e,r))});var Ar=(r,e)=>Object.fromEntries(Object.entries(r).map(([t,o])=>[t,e(o,t)])),Sr=(r,e)=>Object.fromEntries(Object.entries(r).filter(([t,o])=>e(o,t)));function $o(){let r=new Set;function e(n){return r.add(n),()=>{r.delete(n)}}async function t(...n){await Promise.all([...r].map(i=>i(...n)))}async function o(){let{promise:n,resolve:i}=$r(),l=e((...a)=>{i(a),l()});return n}function s(){r.clear()}return e.pub=t,e.sub=e,e.on=e,e.once=o,e.clear=s,t.pub=t,t.sub=e,t.on=e,t.once=o,t.clear=s,[t,e]}function j(r){let e=$o()[1];return r&&e.sub(r),e}var Ze=class{#e=new A;setGroup(e,t){return this.#e.set(e,t),t}getGroup(e){return this.#e.require(e)}};var Je=new Ze;var Ye=class{group;#e=new Ne.DragAndDrops({acceptDrop:(e,t,o)=>this.group.move(t,o)});constructor(e){this.group=e}#t=h(void 0);get grabbed(){return this.#e.dragging}get hovering(){return this.#e.hovering??this.#t()}dragenter=(e,t)=>{e.preventDefault(),this.#e.dropzone(()=>t).dragenter(e),this.#t(t)};dragleave=e=>{let t=this.hovering;t&&this.#e.dropzone(()=>t).dragleave(e),this.#t(void 0)};dragstart=(e,t)=>{e.stopPropagation(),this.#e.dragzone(()=>t).dragstart(e)};dragover=(e,t)=>{e.preventDefault(),this.#e.dropzone(()=>t).dragover(e)};dragend=e=>{this.#e.$draggy(void 0),this.#e.$droppy(void 0),this.#t(void 0)};drop=(e,t)=>{e.preventDefault();let o=Array.from(e.dataTransfer?.files||[]);o.length&&this.group.upload(o,t);let s=this.grabbed?.id===this.hovering?.id,n=this.grabbed?.children.some(l=>this.hovering?.id===l.id),i=this.grabbed?.parent?.id===this.hovering?.id;!s&&!n&&!i&&this.#e.dropzone(()=>t).drop(e),this.#t(void 0)};change=(e,t)=>{let o=e.currentTarget,s=Array.from(o.files??[]);s.length&&this.group.upload(s,t)}};var Xe=class{signal=h([]);constructor(e){this.signal([e])}setTrail(e,t){if(e.target!==e.currentTarget)return;let o=[],s=t.kind==="folder"?t:t.parent;for(;s;)o.unshift(s),s=s.parent;this.signal(o)}get currentFolder(){return this.signal().at(-1)?.children??[]}};var et=class{config;trail;dropzone=new Ye(this);searchText=h("");selectedFilter=h("");selectedSort=h("");on={newFolder:j(),move:j(),delete:j(),rename:j(),upload:j(),search:j(),refresh:j()};constructor(e){this.config=e,this.selectedFilter(e.defaultFilter),this.selectedSort(e.defaultSort),this.trail=new Xe(e.root)}get permissions(){return this.config.permissions}getFilterFn(e){return this.config.filters.get(e)??(()=>!0)}getSearchFn(e){let t=e.trim().toLowerCase().split(/\s+/);return o=>this.config.search(t,o)}getSortFn(e){return this.config.sorts?.get(e)??(()=>0)}sort(e){let t=this.getSortFn(this.selectedSort());return[...e].sort(t)}matches(e){let t=this.getFilterFn(this.selectedFilter()),o=this.getSearchFn(this.searchText());return t(e)&&o(e)}move(e,t){if(!this.permissions(e).move)throw new Error("move permission not granted");e.detach(),t.attach(e),this.on.move.pub({item:e,target:t})}delete(e){if(!this.permissions(e).delete)throw new Error("delete permission not granted");let t=[...e.crawl()].map(([o])=>o);return e.destroy(),this.on.delete.pub({items:t})}rename(e,t){if(!this.permissions(e).rename)throw new Error("rename permission not granted");this.on.rename.pub({item:e,newName:t})}upload(e,t){if(!this.permissions(t).upload)throw new Error("upload permission not granted");return this.on.upload.pub({files:e,target:t})}addFolder(e){if(!this.permissions(e).newFolder)throw new Error("add folder permission not granted");this.on.newFolder.pub({parent:e})}components=()=>this.components};var be;(function(r){r.rename="rename",r.move="move",r.delete="delete",r.refresh="refresh",r.newFolder="newFolder",r.search="search",r.upload="upload"})(be||(be={}));var Ao=Object.values(be);function _t(r,e={}){let t={};for(let o of Ao)t[o]=o in e?e[o]:r;return t}var _r={all:_t(!0),readOnly:_t(!1,{[be.refresh]:!0,[be.search]:!0}),none:_t(!1)};var tt=class{taxonomy;onChange=j();#e=new A;constructor(e){this.taxonomy=e}getSpecimen(e){return this.#e.require(e)}setSpecimen(e,t,o){this.#e.set(e,[t,o]),this.onChange.pub()}query(e){let[t,o]=this.getSpecimen(e),s=this.taxonomy.taxon(t);return{kind:t,taxon:s,specimen:o}}};var rt=class{#e=new A;constructor(e){for(let[t,o]of Object.entries(e))this.#e.set(t,o)}taxon(e){return this.#e.require(e)}};var ot=class{#e=new A;#t=new A;has(e){return this.#e.has(e)}getChildren(e){return this.#e.require(e)}getParent(e){return this.#t.get(e)}establishRoot(e){this.#e.set(e,new Set)}attach(e,...t){let o=this.getChildren(e);for(let s of t){if(this.getParent(s))throw new Error("child already has parent");o.add(s),this.#t.set(s,e),this.#e.set(s,new Set)}}detach(e){if(!this.has(e))return;let t=this.getParent(e);t&&(this.getChildren(t).delete(e),this.#t.delete(e))}destroy(e){this.detach(e);let t=[...this.crawl(e)];for(let[o]of t)this.#e.delete(o),this.#t.delete(o)}*crawl(e,t=()=>!0){let o=[[e,[]]],s=new Set;for(;o.length;){let[n,i]=o.shift();if(!(s.has(n)||!t(n,i))){s.add(n),yield[n,i];for(let l of this.getChildren(n))o.push([l,[...i,n]])}}}};var st=class{codex;id;signal=h(this);constructor(e,t){this.codex=e,this.id=t}get kind(){return this.codex.clade.query(this.id).kind}isKind(e){return e===this.kind}get taxon(){return this.codex.clade.query(this.id).taxon}get specimen(){return this.codex.clade.query(this.id).specimen}get parent(){let e=this.codex.hierarchy.getParent(this.id);return e?this.codex.require(e):void 0}get children(){return[...this.codex.hierarchy.getChildren(this.id)].map(e=>this.codex.require(e))}attach(...e){return this.codex.hierarchy.attach(this.id,...e.map(t=>t.id)),this.signal(this),this}detach(){this.codex.hierarchy.detach(this.id),this.signal(this)}create(e,t){let o=this.codex.create(e,t);return this.attach(o),o}destroy(){this.codex.hierarchy.destroy(this.id),this.signal(this)}*crawl(e=()=>!0){let t=this.codex.hierarchy.crawl(this.id,(o,s)=>e(this.codex.require(o),s.map(n=>this.codex.require(n))));for(let[o,s]of t)yield[this.codex.require(o),s.map(n=>this.codex.require(n))]}};function Er(){return q.random()}var nt=class{clade;hierarchy;static setup(e){let t=new rt(e),o=new tt(t),s=new ot;return new this(o,s)}#e=new A;constructor(e,t){this.clade=e,this.hierarchy=t}create(e,t){let o=Er();this.clade.setSpecimen(o,e,t);let s=new st(this,o);return this.#e.set(o,s),s.signal()}root(e){return this.hierarchy.establishRoot(e.id),e.signal()}require(e){return this.#e.require(e).signal()}};var it=class r extends et{static config=()=>{let e=new A().set("audio",p`<sl-icon name=music-note-beamed></sl-icon>`).set("video",p`<sl-icon name=film></sl-icon>`).set("image",p`<sl-icon name=image></sl-icon>`).set("other",p`<sl-icon name=file-earmark></sl-icon>`),t=new Map().set("all",()=>!0).set("video",a=>a.isKind("folder")||a.isKind("file")&&a.specimen.format==="video").set("audio",a=>a.isKind("folder")||a.isKind("file")&&a.specimen.format==="audio"),o=new Map().set("label",(a,c)=>a.specimen.label.localeCompare(c.specimen.label)).set("format",(a,c)=>a.isKind("file")&&c.isKind("file")?a.specimen.format.localeCompare(c.specimen.format):a.isKind("file")?-1:c.isKind("file")?1:0),s=(a,c)=>{let u=a.join(" ").trim().toLowerCase();return u===""?!0:c.kind==="folder"?c.children.some(f=>s(a,f)):c.specimen.label.toLowerCase().includes(u)},n=nt.setup({folder:{icon:p`<sl-icon name="folder"></sl-icon>`},file:{icon:p`<sl-icon name="file"></sl-icon>`}}),i=n.root(n.create("folder",{label:"project"})),l=(a,c)=>a.isKind("file")?e.require(a.specimen.format):c?p`<sl-icon name="folder2-open"></sl-icon>`:a.taxon.icon;return{codex:n,root:i,sorts:o,filters:t,defaultFilter:"all",defaultSort:"label",search:(a,c)=>a.some(u=>c.kind.includes(u)||c.id.includes(u)||c.specimen.label.includes(u))||s(a,c),renderIcon:l,renderLabel:a=>a.specimen.label,renderPreview:a=>a.isKind("file")&&a.specimen.previewUrl?p`<img src=${a.specimen.previewUrl}>`:l(a,!1),permissions:a=>_r.all}};constructor(){super(r.config())}};var $=d`@layer theme, view; @layer theme {
29
+
30
+ :host {
31
+ --surface: var(--quay-surface, #0f0f11);
32
+ --surface-active: var(--quay-surface-hover, var(--sl-color-neutral-0, #fff));
33
+ --surface-hover: var(--quay-surface-hover, var(--sl-color-gray-50, #f8f9fa));
34
+ --surface-selected: var(--quay-surface-selected, rgb(0 0 0 / 40%));
35
+ --border: var(--quay-border, #0d0d0e);
36
+ --border-muted: var(--quay-border, var(--sl-color-neutral-300, #d0d0d0));
37
+ --border-width: 1px;
38
+ --text: var(--quay-text, var(--sl-color-neutral-800, #333));
39
+ --text-muted: var(--quay-muted, var(--sl-color-neutral-700, #555));
40
+ --text-subtle: var(--quay-muted, var(--sl-color-neutral-500, #777));
41
+ --icon: var(--quay-muted, var(--sl-color-neutral-300, #d0d0d0));
42
+ --primary: var(--quay-accent, var(--sl-color-primary-500, #0ea5e9));
43
+ --primary-soft: color-mix(in srgb, var(--primary), white 65%);
44
+ --radius: var(--quay-radius, var(--sl-border-radius-medium, 6px));
45
+ --radius-small: var(--sl-border-radius-small, var(--radius));
46
+ --space-xs: var(--sl-spacing-2x-small, 0.3em);
47
+ --space-sm: var(--sl-spacing-x-small, 0.5rem);
48
+ --space-md: var(--sl-spacing-medium, 1rem);
49
+ --font-size-xs: var(--sl-font-size-x-small, 0.75rem);
50
+ --font-size-sm: var(--sl-font-size-small, 0.85rem);
51
+ --control-height: 30px;
52
+ --control-width: 40px;
53
+ --icon-size: 2rem;
54
+ --z-overlay: 999;
55
+ --transition: 0.2s ease;
56
+ }
29
57
 
30
58
  * {
31
59
  margin: 0;
@@ -33,18 +61,18 @@ var qr=Object.defineProperty;var Et=(r,e)=>{for(var t in e)qr(r,t,{get:e[t],enum
33
61
  box-sizing: border-box;
34
62
  }
35
63
 
36
- }`;function kr(r){for(let e=r;e;e=e.parentElement){let t=e.getAttribute("group");if(t)return t}return"default"}function _(r){let e=kr(r);return Je.getGroup(e)}var Cr=S(()=>{let r=b(),e=_(r);return m($,d`
64
+ }`;function kr(r){for(let e=r;e;e=e.parentElement){let t=e.getAttribute("group");if(t)return t}return"default"}function _(r){let e=kr(r);return Je.getGroup(e)}var Cr=S(()=>{let r=x(),e=_(r);return m($,d`
37
65
  sl-button sl-icon {
38
- font-size: 14px;
66
+ font-size: var(--font-size-sm);
39
67
  }
40
68
 
41
69
  sl-menu {
42
- margin-top: 0.3em;
70
+ margin-top: var(--space-xs);
43
71
 
44
72
  .item {
45
73
  display: flex;
46
74
  align-items: center;
47
- gap: 0.5em;
75
+ gap: var(--space-sm);
48
76
  }
49
77
  }
50
78
  `),p`
@@ -64,14 +92,14 @@ var qr=Object.defineProperty;var Et=(r,e)=>{for(var t in e)qr(r,t,{get:e[t],enum
64
92
  `)}
65
93
  </sl-menu>
66
94
  </sl-dropdown>
67
- </div>`});var Br=S(()=>{let r=b(),e=_(r);return m($,d`
95
+ </div>`});var Br=S(()=>{let r=x(),e=_(r);return m($,d`
68
96
  sl-menu {
69
- margin-top: 0.3em;
97
+ margin-top: var(--space-xs);
70
98
 
71
99
  .item {
72
100
  display: flex;
73
101
  align-items: center;
74
- gap: 0.5em;
102
+ gap: var(--space-sm);
75
103
  }
76
104
  }
77
105
  `),p`
@@ -96,38 +124,39 @@ var qr=Object.defineProperty;var Et=(r,e)=>{for(var t in e)qr(r,t,{get:e[t],enum
96
124
  .toolbar {
97
125
  display: flex;
98
126
  justify-content: flex-end;
99
- padding: 0.5rem;
127
+ padding: var(--space-sm);
100
128
 
101
129
  sl-button {
102
- background: #0F0F11;
103
- border-radius: 5px;
130
+ background: var(--surface);
131
+ border-radius: var(--radius-small);
104
132
 
105
133
  &[data-active=true] {
106
- background: var(--sl-color-neutral-0);
134
+ background: var(--surface-active);
107
135
  }
108
136
 
109
137
  &::part(base) {
110
138
  display: flex;
111
139
  align-items: center;
112
- height: 30px;
140
+ height: var(--control-height);
141
+ border-radius: var(--radius-small);
113
142
  }
114
143
 
115
144
  &::part(label) {
116
145
  display: flex;
117
- width: 40px;
146
+ width: var(--control-width);
118
147
  }
119
148
  }
120
149
  }
121
150
 
122
151
  .tiles,
123
152
  .details {
124
- padding: 0.5rem;
153
+ padding: var(--space-sm);
125
154
  }
126
155
 
127
156
  .tiles {
128
157
  display: flex;
129
158
  flex-wrap: wrap;
130
- row-gap: 1em;
159
+ row-gap: var(--space-md);
131
160
  width: 100%;
132
161
 
133
162
  .item {
@@ -141,11 +170,11 @@ var qr=Object.defineProperty;var Et=(r,e)=>{for(var t in e)qr(r,t,{get:e[t],enum
141
170
  display: flex;
142
171
  align-items: center;
143
172
  justify-content: center;
144
- width: 100px;
145
- height: 60px;
146
- border: 2px solid #0D0D0E;
147
- border-radius: 5px;
148
- background: #0F0F11;
173
+ width: var(--quay-browser-thumb-width, 100px);
174
+ height: var(--quay-browser-thumb-height, 60px);
175
+ border: var(--border-width) solid var(--border);
176
+ border-radius: var(--radius-small);
177
+ background: var(--surface);
149
178
  pointer-events: none;
150
179
 
151
180
  img {
@@ -155,14 +184,14 @@ var qr=Object.defineProperty;var Et=(r,e)=>{for(var t in e)qr(r,t,{get:e[t],enum
155
184
  }
156
185
 
157
186
  .label {
158
- margin-top: 0.5em;
187
+ margin-top: var(--space-xs);
159
188
  max-width: 150px;
160
- font-size: 0.85rem;
189
+ font-size: var(--font-size-sm);
161
190
  text-align: center;
162
191
  white-space: nowrap;
163
192
  overflow: hidden;
164
193
  text-overflow: ellipsis;
165
- color: var(--sl-color-neutral-700);
194
+ color: var(--text-muted);
166
195
  }
167
196
  }
168
197
  }
@@ -170,42 +199,42 @@ var qr=Object.defineProperty;var Et=(r,e)=>{for(var t in e)qr(r,t,{get:e[t],enum
170
199
  .details {
171
200
  .card {
172
201
  display: flex;
173
- gap: 1rem;
174
- padding: 0.8rem;
175
- border: 2px solid #0D0D0E;
176
- background: #0F0F11;
177
- border-radius: 6px;
178
- margin-bottom: 0.5rem;
202
+ gap: var(--space-md);
203
+ padding: var(--space-sm);
204
+ border: var(--border-width) solid var(--border);
205
+ background: var(--surface);
206
+ border-radius: var(--radius);
207
+ margin-bottom: var(--space-sm);
179
208
  align-items: center;
180
209
 
181
210
  .meta {
182
211
  .name {
183
212
  font-weight: 500;
184
- color: var(--sl-color-neutral-800);
213
+ color: var(--text);
185
214
  }
186
215
  .type {
187
- font-size: 0.75rem;
188
- color: var(--sl-color-neutral-500);
216
+ font-size: var(--font-size-xs);
217
+ color: var(--text-subtle);
189
218
  }
190
219
  }
191
220
  }
192
221
  }
193
222
 
194
223
  sl-icon {
195
- font-size: 2rem;
196
- color: var(--sl-color-neutral-300);
224
+ font-size: var(--icon-size);
225
+ color: var(--icon);
197
226
  }
198
227
 
199
228
  sl-tooltip {
200
229
  --sl-tooltip-arrow-size: 0;
201
230
 
202
231
  &::part(body) {
203
- background: #0D0D0E;
204
- color: var(--sl-color-neutral-700);
232
+ background: var(--border);
233
+ color: var(--text-muted);
205
234
  }
206
235
  }
207
236
 
208
- `;var Pr=S(()=>{m($,Tr);let r=b(),e=Y(),t=_(r),{trail:o,config:s}=t,[n,i]=yr("tiles");N(()=>{let u=t.on.upload.sub(()=>e());return()=>u()});let l=()=>t.sort(o.currentFolder).filter(u=>t.matches(u));return p`
237
+ `;var zr=S(()=>{m($,Tr);let r=x(),e=Y(),t=_(r),{trail:o,config:s}=t,[n,i]=yr("tiles");R(()=>{let u=t.on.upload.sub(()=>e());return()=>u()});let l=()=>t.sort(o.currentFolder).filter(u=>t.matches(u));return p`
209
238
  <div class="toolbar">
210
239
  <sl-button-group label="View mode">
211
240
  <sl-tooltip content="Tiles">
@@ -247,7 +276,7 @@ sl-tooltip {
247
276
  `)}
248
277
  </div>
249
278
  `}
250
- `});var Or=d`
279
+ `});var Pr=d`
251
280
 
252
281
  .dropzone {
253
282
  width: 100%;
@@ -256,16 +285,16 @@ sl-tooltip {
256
285
  align-items: center;
257
286
  justify-content: center;
258
287
  position: relative;
259
- border: 2px dashed var(--sl-color-neutral-300);
260
- border-radius: 6px;
261
- transition: background 0.2s;
288
+ border: var(--border-width) dashed var(--border-muted);
289
+ border-radius: var(--radius);
290
+ transition: background var(--transition), border-color var(--transition), color var(--transition);
262
291
  }
263
292
 
264
293
  .dz-input {
265
294
  width: 100%;
266
295
  height: 100%;
267
- z-index: 999;
268
- font-size: 14px;
296
+ z-index: var(--z-overlay);
297
+ font-size: var(--font-size-sm);
269
298
  cursor: pointer;
270
299
  opacity: 0;
271
300
 
@@ -275,15 +304,15 @@ sl-tooltip {
275
304
  }
276
305
 
277
306
  .dropzone:hover {
278
- background: var(--sl-color-gray-50);
307
+ background: var(--surface-hover);
279
308
  }
280
309
 
281
310
  .dropzone[data-hovering] {
282
- background: var(--sl-color-gray-50);
283
- border-color: var(--sl-color-primary-500);
311
+ background: var(--surface-hover);
312
+ border-color: var(--primary);
284
313
 
285
314
  & .dz-info {
286
- color: var(--sl-color-primary-300);
315
+ color: var(--primary-soft);
287
316
  }
288
317
  }
289
318
 
@@ -293,11 +322,11 @@ sl-tooltip {
293
322
  flex-direction: column;
294
323
  align-items: center;
295
324
  justify-content: center;
296
- gap: 0.5em;
297
- color: var(--sl-color-neutral-700);
325
+ gap: var(--space-sm);
326
+ color: var(--text-muted);
298
327
  }
299
328
 
300
- `;var zr=S(()=>{m($,Or);let r=b(),e=_(r),{dropzone:t,config:{root:o}}=e;return p`
329
+ `;var Or=S(()=>{m($,Pr);let r=x(),e=_(r),{dropzone:t,config:{root:o}}=e;return p`
301
330
  <div class="dropzone" ?data-hovering=${t.hovering}>
302
331
  <input
303
332
  type="file"
@@ -320,12 +349,12 @@ sl-tree-item::part(expand-button) {
320
349
  }
321
350
 
322
351
  sl-tree-item::part(base) {
323
- min-height: 30px;
352
+ min-height: var(--control-height);
324
353
  justify-content: center;
325
354
  }
326
355
 
327
356
  sl-icon:is(.item) {
328
- padding: 0.5em;
357
+ padding: var(--space-sm);
329
358
  }
330
359
 
331
360
  sl-tree-item:not([data-type=folder])::part(expand-button) {
@@ -348,11 +377,11 @@ sl-tree-item:not([data-type=folder])::part(expand-button) {
348
377
  }
349
378
 
350
379
  sl-tree-item {
351
- min-height: 30px;
352
- transition: background 0.2s ease, border-radius 0.2s ease;
380
+ min-height: var(--control-height);
381
+ transition: background var(--transition), border-radius var(--transition);
353
382
 
354
383
  ::part(label) {
355
- gap: 0.5em;
384
+ gap: var(--space-sm);
356
385
  }
357
386
 
358
387
  .folder {
@@ -362,18 +391,18 @@ sl-tree-item {
362
391
  }
363
392
 
364
393
  ::part(item--selected) {
365
- background: rgba(0, 0, 0, 0.4);
366
- min-height: 30px;
394
+ background: var(--surface-selected);
395
+ min-height: var(--control-height);
367
396
  }
368
397
 
369
398
  }
370
399
 
371
400
  sl-tree-item[data-hover] {
372
- border-radius: 5px;
373
- background: rgba(0, 0, 0, 0.4);
401
+ border-radius: var(--radius-small);
402
+ background: var(--surface-selected);
374
403
  }
375
404
 
376
- `;var jr=X(r=>{m($,Mr);let e=Y(),{config:t}=r,{dropzone:o,trail:s,config:{root:n}}=r;N(()=>{let c=r.on.upload.sub(()=>e());return()=>c()});let i=c=>p`
405
+ `;var jr=X(r=>{m($,Mr);let e=Y(),{config:t}=r,{dropzone:o,trail:s,config:{root:n}}=r;R(()=>{let c=r.on.upload.sub(()=>e());return()=>c()});let i=c=>p`
377
406
  <input
378
407
  @dragenter=${u=>o.dragenter(u,c)}
379
408
  @dragleave=${o.dragleave}
@@ -404,14 +433,18 @@ sl-tree-item[data-hover] {
404
433
  `;return p`
405
434
  <sl-tree selection=leaf>
406
435
  ${a(n)}
407
- </sl-tree>`});var Dr=S(()=>{m($);let r=b(),e=_(r);return p`
436
+ </sl-tree>`});var Hr=S(()=>{m($);let r=x(),e=_(r);return p`
408
437
  <div class="panel">
409
438
  ${jr(e)}
410
439
  </div>`});var So=d`
440
+ sl-input::part(base) {
441
+ border-radius: var(--radius);
442
+ }
443
+
411
444
  sl-input::part(prefix) {
412
- padding-left: 0.5em;
445
+ padding-left: var(--space-sm);
413
446
  }
414
- `,Hr=S(()=>{m($,So);let r=b(),e=_(r);return p`
447
+ `,Lr=S(()=>{m($,So);let r=x(),e=_(r);return p`
415
448
  <sl-input
416
449
  size='small'
417
450
  pill
@@ -421,7 +454,7 @@ sl-tree-item[data-hover] {
421
454
  >
422
455
  <sl-icon name='search' slot='prefix'></sl-icon>
423
456
  </sl-input>
424
- `});var Lr=S(()=>{m($);let r=_(b()),{trail:e,config:{codex:t,renderLabel:o}}=r,s=n=>i=>r.trail.setTrail(i,n);return p`
457
+ `});var Nr=S(()=>{m($);let r=_(x()),{trail:e,config:{codex:t,renderLabel:o}}=r,s=n=>i=>r.trail.setTrail(i,n);return p`
425
458
  <sl-breadcrumb>
426
459
  ${e.signal().map(n=>p`
427
460
  <sl-breadcrumb-item @click="${s(n)}">
@@ -429,6 +462,6 @@ sl-tree-item[data-hover] {
429
462
  </sl-breadcrumb-item>
430
463
  `)}
431
464
  </sl-breadcrumb>
432
- `});var Nr={QuayOutliner:Dr,QuaySearchbar:Hr,QuayDropzone:zr,QuayBrowser:Pr,QuayBreadcrumb:Lr,QuayFilter:Br,QuaySort:Cr};function Rr(){document.documentElement.className="sl-theme-dark"}var Ur=Je.setGroup("default",new it),{codex:q,root:_o}=Ur.config,be="/assets/preview.webp",Eo=q.create("file",{format:"video",label:"01\u2011introduction.mp4",previewUrl:be}),ko=q.create("file",{format:"image",label:"cover.png",previewUrl:be}),Co=q.create("file",{format:"audio",label:"click.wav",previewUrl:null}),Ir=q.create("folder",{label:"sprites"}),Bo=q.create("file",{format:"image",label:"hero.png",previewUrl:be}),To=q.create("file",{format:"image",label:"enemy.png",previewUrl:be});q.root(_o).attach(Eo).attach(ko).attach(Co).attach(Ir);Ir.attach(Bo).attach(To);Ur.on.upload.sub(({files:r,target:e})=>{for(let t of r){let o=t.type.split("/")[0],s=q.create("file",{label:t.name,format:o,previewUrl:be});e.attach(s)}});Rr();v.register(Nr);
465
+ `});var Rr={QuayOutliner:Hr,QuaySearchbar:Lr,QuayDropzone:Or,QuayBrowser:zr,QuayBreadcrumb:Nr,QuayFilter:Br,QuaySort:Cr};function qr(){document.documentElement.className="sl-theme-dark"}var Dr=Je.setGroup("default",new it),{codex:I,root:_o}=Dr.config,xe="/assets/preview.webp",Eo=I.create("file",{format:"video",label:"01\u2011introduction.mp4",previewUrl:xe}),ko=I.create("file",{format:"image",label:"cover.png",previewUrl:xe}),Co=I.create("file",{format:"audio",label:"click.wav",previewUrl:null}),Ur=I.create("folder",{label:"sprites"}),Bo=I.create("file",{format:"image",label:"hero.png",previewUrl:xe}),To=I.create("file",{format:"image",label:"enemy.png",previewUrl:xe});I.root(_o).attach(Eo).attach(ko).attach(Co).attach(Ur);Ur.attach(Bo).attach(To);Dr.on.upload.sub(({files:r,target:e})=>{for(let t of r){let o=t.type.split("/")[0],s=I.create("file",{label:t.name,format:o,previewUrl:xe});e.attach(s)}});qr();w.register(Rr);
433
466
  /*! For license information please see main.bundle.min.js.LEGAL.txt */
434
467
  //# sourceMappingURL=main.bundle.min.js.map