@sprig-and-prose/sprig-ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,120 @@
1
+ # sprig-ui-csr
2
+
3
+ A Client-Side Rendering (CSR) version of sprig-universe-ui. This is a plain Svelte application served by a simple Node.js HTTP server.
4
+
5
+ ## Overview
6
+
7
+ This application serves a Svelte app via Node's native `http` package. The server handles three route patterns:
8
+
9
+ - `/_ui/*` - Serves UI assets from the Vite build output
10
+ - `/api/manifest` - Serves `manifest.json` from the current directory (or configured path)
11
+ - Everything else - Serves `index.html` for client-side routing
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ npm install
17
+ ```
18
+
19
+ ## Development
20
+
21
+ Build the Svelte app:
22
+
23
+ ```bash
24
+ npm run build
25
+ ```
26
+
27
+ Start the server:
28
+
29
+ ```bash
30
+ npm start
31
+ ```
32
+
33
+ Or use the CLI directly:
34
+
35
+ ```bash
36
+ node src/cli.js
37
+ ```
38
+
39
+ The server will be available at `http://localhost:5173` (or the configured port).
40
+
41
+ ### CLI Options
42
+
43
+ ```bash
44
+ # Use default port (5173) and manifest path (./manifest.json)
45
+ sprig-ui-csr
46
+
47
+ # Specify a custom port
48
+ sprig-ui-csr --port 3000
49
+ # or
50
+ sprig-ui-csr -p 3000
51
+
52
+ # Specify a custom manifest path
53
+ sprig-ui-csr --manifest ./custom-manifest.json
54
+ # or
55
+ sprig-ui-csr -m ./custom-manifest.json
56
+
57
+ # Combine options
58
+ sprig-ui-csr -p 8080 -m ./data/manifest.json
59
+
60
+ # Show help
61
+ sprig-ui-csr --help
62
+ ```
63
+
64
+ ### Other Commands
65
+
66
+ ```bash
67
+ # Format code
68
+ npm run format
69
+
70
+ # Lint code
71
+ npm run lint
72
+
73
+ # Type check (JSDoc types)
74
+ npm run typecheck
75
+
76
+ # Build for production
77
+ npm run build
78
+ ```
79
+
80
+ ## Project Structure
81
+
82
+ ```
83
+ sprig-ui-csr/
84
+ ├── package.json
85
+ ├── biome.json
86
+ ├── tsconfig.json
87
+ ├── vite.config.js
88
+ ├── index.html
89
+ ├── src/
90
+ │ ├── main.js # Svelte app entry point
91
+ │ ├── App.svelte # Root Svelte component
92
+ │ ├── server.js # HTTP server implementation
93
+ │ ├── cli.js # CLI entry point
94
+ │ └── styles/
95
+ │ └── app.css # Global styles
96
+ └── dist/ # Vite build output (served as /_ui/*)
97
+ ```
98
+
99
+ ## Technologies
100
+
101
+ - **Svelte 5**: Component framework
102
+ - **Vite 6**: Build tool
103
+ - **TypeScript 5.7**: Type checking (via JSDoc annotations)
104
+ - **Biome 2.3**: Linting and formatting
105
+ - **Node.js HTTP**: Native HTTP server (no framework dependencies)
106
+
107
+ ## Configuration
108
+
109
+ - **TypeScript**: Configured in `tsconfig.json` for type checking only (no compilation)
110
+ - **Biome**: Configured in `biome.json` (formats JS/TS, ignores Svelte files)
111
+ - **Vite**: Configured in `vite.config.js` (builds Svelte app with base path `/_ui/`)
112
+
113
+ ## Manifest API
114
+
115
+ The `/api/manifest` endpoint serves the `manifest.json` file from the current working directory (or a configured path). If the file doesn't exist, it returns a 404 error.
116
+
117
+ ## License
118
+
119
+ ISC
120
+
@@ -0,0 +1 @@
1
+ function P(n){return function(){let o=n+=1831565813;return o=Math.imul(o^o>>>15,o|1),o^=o+Math.imul(o^o>>>7,o|61),((o^o>>>14)>>>0)/4294967296}}function D(n){let o=2166136261;for(let l=0;l<n.length;l++)o^=n.charCodeAt(l),o=Math.imul(o,16777619);return o>>>0}function M(n){const o=document.createElement("canvas");o.width=n,o.height=n;const l=o.getContext("2d");return l?{canvas:o,ctx:l}:null}function k(n,o,l,a,e,c,t=0,i=0){const r=o+t,g=l+i,m=n.createRadialGradient(r,g,0,r,g,a);m.addColorStop(0,e),m.addColorStop(1,"rgba(0,0,0,0)"),n.save(),n.globalAlpha=c,n.fillStyle=m,n.beginPath(),n.arc(r,g,a,0,Math.PI*2),n.fill(),n.restore()}function S(n,o,l,a,e,c,t){k(n,l,a,e,c,t);const i=l-e<0||l+e>o,r=a-e<0||a+e>o;if(i){const g=l<o/2?o:-o;k(n,l,a,e,c,t,g,0)}if(r){const g=a<o/2?o:-o;k(n,l,a,e,c,t,0,g)}if(i&&r){const g=l<o/2?o:-o,m=a<o/2?o:-o;k(n,l,a,e,c,t,g,m)}}function p(n,o,l,a,e,c,t,i,r){if(n.save(),n.globalAlpha=i,n.lineWidth=r,n.strokeStyle=t,n.beginPath(),n.moveTo(l,a),n.lineTo(e,c),n.stroke(),n.restore(),e>o||l<0||e<0||l>o){n.save(),n.globalAlpha=i,n.lineWidth=r,n.strokeStyle=t,n.beginPath();const g=l<o/2?o:-o;n.moveTo(l+g,a),n.lineTo(e+g,c),n.stroke(),n.restore()}if(c>o||a<0||c<0||a>o){n.save(),n.globalAlpha=i,n.lineWidth=r,n.strokeStyle=t,n.beginPath();const g=a<o/2?o:-o;n.moveTo(l,a+g),n.lineTo(e,c+g),n.stroke(),n.restore()}if((e>o||l<0||e<0||l>o)&&(c>o||a<0||c<0||a>o)){n.save(),n.globalAlpha=i,n.lineWidth=r,n.strokeStyle=t,n.beginPath();const g=l<o/2?o:-o,m=a<o/2?o:-o;n.moveTo(l+g,a+m),n.lineTo(e+g,c+m),n.stroke(),n.restore()}}const R={base:"#0b1014",blobs:["rgba(22, 33, 43, 1)","rgba(15, 22, 29, 1)","rgba(30, 43, 53, 1)","rgba(10, 16, 20, 1)"],fibers:"rgba(210, 220, 230, 0.3)",speckles:"rgba(255, 255, 255, 1)"},A={toneDrift:{count:[4,6],radius:[350,500],alpha:[.008,.012]},mottling:{count:[70,90],radius:[80,120],alpha:[.015,.022]},speckles:{count:1200,size:[1,2],alpha:[.01,.015]},fibers:{count:260,length:[35,55],angleRange:[-.175,.175],alpha:.015}};async function w({key:n,size:o=1024,palette:l=R,preset:a=A}){const e=M(o);if(!e)throw new Error("Failed to create canvas");const{canvas:c,ctx:t}=e,i=D(n),r=P(i);t.fillStyle=l.base,t.fillRect(0,0,o,o);const g=a.toneDrift.count[0]+Math.floor(r()*(a.toneDrift.count[1]-a.toneDrift.count[0]+1));for(let h=0;h<g;h++){const b=r()*o,f=r()*o,s=a.toneDrift.radius[0]+r()*(a.toneDrift.radius[1]-a.toneDrift.radius[0]),u=l.blobs[Math.floor(r()*l.blobs.length)],d=a.toneDrift.alpha[0]+r()*(a.toneDrift.alpha[1]-a.toneDrift.alpha[0]);S(t,o,b,f,s,u,d)}const m=a.mottling.count[0]+Math.floor(r()*(a.mottling.count[1]-a.mottling.count[0]+1));for(let h=0;h<m;h++){const b=r()*o,f=r()*o,s=a.mottling.radius[0]+r()*(a.mottling.radius[1]-a.mottling.radius[0]),u=l.blobs[Math.floor(r()*l.blobs.length)],d=a.mottling.alpha[0]+r()*(a.mottling.alpha[1]-a.mottling.alpha[0]);S(t,o,b,f,s,u,d)}for(let h=0;h<a.speckles.count;h++){const b=r()*o,f=r()*o,s=a.speckles.size[0]+r()*(a.speckles.size[1]-a.speckles.size[0]),u=a.speckles.alpha[0]+r()*(a.speckles.alpha[1]-a.speckles.alpha[0]);if(t.save(),t.globalAlpha=u,t.fillStyle=l.speckles,t.beginPath(),t.arc(b,f,s/2,0,Math.PI*2),t.fill(),t.restore(),b+s/2>o||b-s/2<0){const d=b<o/2?o:-o;t.save(),t.globalAlpha=u,t.fillStyle=l.speckles,t.beginPath(),t.arc(b+d,f,s/2,0,Math.PI*2),t.fill(),t.restore()}if(f+s/2>o||f-s/2<0){const d=f<o/2?o:-o;t.save(),t.globalAlpha=u,t.fillStyle=l.speckles,t.beginPath(),t.arc(b,f+d,s/2,0,Math.PI*2),t.fill(),t.restore()}if((b+s/2>o||b-s/2<0)&&(f+s/2>o||f-s/2<0)){const d=b<o/2?o:-o,v=f<o/2?o:-o;t.save(),t.globalAlpha=u,t.fillStyle=l.speckles,t.beginPath(),t.arc(b+d,f+v,s/2,0,Math.PI*2),t.fill(),t.restore()}}for(let h=0;h<a.fibers.count;h++){const b=r()*o,f=r()*o,s=a.fibers.length[0]+r()*(a.fibers.length[1]-a.fibers.length[0]),u=a.fibers.angleRange[0]+r()*(a.fibers.angleRange[1]-a.fibers.angleRange[0]),d=Math.cos(u)*s,v=Math.sin(u)*s;p(t,o,b,f,b+d,f+v,l.fibers,a.fibers.alpha,1)}return new Promise((h,b)=>{c.toBlob(f=>{if(!f){b(new Error("Failed to create blob from canvas"));return}const s=URL.createObjectURL(f);h({canvas:c,blob:f,url:s})},"image/png")})}const T={base:"#f5f1e8",blobs:["rgba(230, 220, 205, 1)","rgba(240, 235, 225, 1)","rgba(220, 210, 195, 1)","rgba(245, 238, 228, 1)"],fibers:"rgba(180, 170, 160, 0.25)",speckles:"rgba(200, 190, 180, 1)"},C={base:"#24221f",blobs:["rgba(40, 41, 43, 1)","rgba(38, 36, 36, 1)","rgba(43, 44, 46, 1)","rgba(36, 34, 32, 1)"],fibers:"rgba(210, 220, 230, 0.3)",speckles:"rgba(255, 255, 255, 1)"},I={toneDrift:{count:[2,4],radius:[300,450],alpha:[.006,.009]},mottling:{count:[50,70],radius:[60,100],alpha:[.012,.018]},speckles:{count:800,size:[.8,1.5],alpha:[.008,.012]},fibers:{count:180,length:[25,45],angleRange:[-.175,.175],alpha:.012}},L={toneDrift:{count:[4,6],radius:[350,500],alpha:[.003,.005]},mottling:{count:[70,90],radius:[80,120],alpha:[.006,.01]},speckles:{count:1200,size:[1,2],alpha:[.01,.015]},fibers:{count:260,length:[35,55],angleRange:[-.175,.175],alpha:.022}};function U(n){URL.revokeObjectURL(n)}export{A as bloom,w as generateTexture,R as nightInk,T as parchment,I as quiet,U as releaseObjectUrl,C as sprigGrey,L as subtle};
@@ -0,0 +1,4 @@
1
+ var rs=Object.defineProperty;var Tr=e=>{throw TypeError(e)};var is=(e,t,n)=>t in e?rs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Ie=(e,t,n)=>is(e,typeof t!="symbol"?t+"":t,n),jn=(e,t,n)=>t.has(e)||Tr("Cannot "+n);var h=(e,t,n)=>(jn(e,t,"read from private field"),n?n.call(e):t.get(e)),B=(e,t,n)=>t.has(e)?Tr("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),D=(e,t,n,r)=>(jn(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),ie=(e,t,n)=>(jn(e,t,"access private method"),n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();const ss="modulepreload",os=function(e){return"/_ui/"+e},Cr={},ls=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){let o=function(u){return Promise.all(u.map(c=>Promise.resolve(c).then(_=>({status:"fulfilled",value:_}),_=>({status:"rejected",reason:_}))))};document.getElementsByTagName("link");const f=document.querySelector("meta[property=csp-nonce]"),l=(f==null?void 0:f.nonce)||(f==null?void 0:f.getAttribute("nonce"));s=o(n.map(u=>{if(u=os(u),u in Cr)return;Cr[u]=!0;const c=u.endsWith(".css"),_=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${_}`))return;const p=document.createElement("link");if(p.rel=c?"stylesheet":ss,c||(p.as="script"),p.crossOrigin="",p.href=u,l&&p.setAttribute("nonce",l),document.head.appendChild(p),c)return new Promise((g,d)=>{p.addEventListener("load",g),p.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${u}`)))})}))}function i(o){const f=new Event("vite:preloadError",{cancelable:!0});if(f.payload=o,window.dispatchEvent(f),!f.defaultPrevented)throw o}return s.then(o=>{for(const f of o||[])f.status==="rejected"&&i(f.reason);return t().catch(i)})},Kn=!1;var Zr=Array.isArray,as=Array.prototype.indexOf,Wt=Array.prototype.includes,$n=Array.from,Yr=Object.defineProperty,Dt=Object.getOwnPropertyDescriptor,Qr=Object.getOwnPropertyDescriptors,fs=Object.prototype,us=Array.prototype,ur=Object.getPrototypeOf,Lr=Object.isExtensible;const Ye=()=>{};function cs(e){return e()}function Pn(e){for(var t=0;t<e.length;t++)e[t]()}function Xr(){var e,t,n=new Promise((r,s)=>{e=r,t=s});return{promise:n,resolve:e,reject:t}}const ae=2,pn=4,_n=8,Jr=1<<24,et=16,ze=32,zt=64,Hn=128,ke=512,te=1024,fe=2048,Te=4096,ye=8192,Qe=16384,Pt=32768,Zt=65536,Pr=1<<17,ei=1<<18,Xt=1<<19,ti=1<<20,We=1<<25,Nt=65536,Vn=1<<21,cr=1<<22,ut=1<<23,At=Symbol("$state"),ds=Symbol("legacy props"),vs=Symbol(""),mt=new class extends Error{constructor(){super(...arguments);Ie(this,"name","StaleReactionError");Ie(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function ni(e){return e===this.v}function ri(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function ii(e){return!ri(e,this.v)}function si(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function hs(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function ps(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function _s(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function gs(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function ms(e){throw new Error("https://svelte.dev/e/effect_orphan")}function ys(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function ws(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function bs(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Es(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Ss(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function xs(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}let Jt=!1,ks=!1;function As(){Jt=!0}const Ts=1,Cs=2,oi=4,Ls=8,Ps=16,Ns=1,Ms=2,Rs=4,zs=8,Is=16,$s=1,Os=2,oe=Symbol(),li="http://www.w3.org/1999/xhtml",Ds="http://www.w3.org/2000/svg",Fs="http://www.w3.org/1998/Math/MathML";let V=null;function Yt(e){V=e}function Be(e,t=!1,n){V={p:V,i:!1,c:null,e:null,s:e,x:null,l:Jt&&!t?{s:null,u:null,$:[]}:null}}function qe(e){var t=V,n=t.e;if(n!==null){t.e=null;for(var r of n)Ri(r)}return t.i=!0,V=t.p,{}}function gn(){return!Jt||V!==null&&V.l===null}let yt=[];function ai(){var e=yt;yt=[],Pn(e)}function Xe(e){if(yt.length===0&&!on){var t=yt;queueMicrotask(()=>{t===yt&&ai()})}yt.push(e)}function js(){for(;yt.length>0;)ai()}function Us(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Ot(e){if(typeof e!="object"||e===null||At in e)return e;const t=ur(e);if(t!==fs&&t!==us)return e;var n=new Map,r=Zr(e),s=rt(0),i=Ct,o=f=>{if(Ct===i)return f();var l=U,u=Ct;Ce(null),Ir(i);var c=f();return Ce(l),Ir(u),c};return r&&n.set("length",rt(e.length)),new Proxy(e,{defineProperty(f,l,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&bs();var c=n.get(l);return c===void 0?o(()=>{var _=rt(u.value);return n.set(l,_),_}):P(c,u.value,!0),!0},deleteProperty(f,l){var u=n.get(l);if(u===void 0){if(l in f){const c=o(()=>rt(oe));n.set(l,c),ln(s)}}else P(u,oe),ln(s);return!0},get(f,l,u){var g;if(l===At)return e;var c=n.get(l),_=l in f;if(c===void 0&&(!_||(g=Dt(f,l))!=null&&g.writable)&&(c=o(()=>{var d=Ot(_?f[l]:oe),w=rt(d);return w}),n.set(l,c)),c!==void 0){var p=a(c);return p===oe?void 0:p}return Reflect.get(f,l,u)},getOwnPropertyDescriptor(f,l){var u=Reflect.getOwnPropertyDescriptor(f,l);if(u&&"value"in u){var c=n.get(l);c&&(u.value=a(c))}else if(u===void 0){var _=n.get(l),p=_==null?void 0:_.v;if(_!==void 0&&p!==oe)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return u},has(f,l){var p;if(l===At)return!0;var u=n.get(l),c=u!==void 0&&u.v!==oe||Reflect.has(f,l);if(u!==void 0||q!==null&&(!c||(p=Dt(f,l))!=null&&p.writable)){u===void 0&&(u=o(()=>{var g=c?Ot(f[l]):oe,d=rt(g);return d}),n.set(l,u));var _=a(u);if(_===oe)return!1}return c},set(f,l,u,c){var E;var _=n.get(l),p=l in f;if(r&&l==="length")for(var g=u;g<_.v;g+=1){var d=n.get(g+"");d!==void 0?P(d,oe):g in f&&(d=o(()=>rt(oe)),n.set(g+"",d))}if(_===void 0)(!p||(E=Dt(f,l))!=null&&E.writable)&&(_=o(()=>rt(void 0)),P(_,Ot(u)),n.set(l,_));else{p=_.v!==oe;var w=o(()=>Ot(u));P(_,w)}var v=Reflect.getOwnPropertyDescriptor(f,l);if(v!=null&&v.set&&v.set.call(c,u),!p){if(r&&typeof l=="string"){var y=n.get("length"),A=Number(l);Number.isInteger(A)&&A>=y.v&&P(y,A+1)}ln(s)}return!0},ownKeys(f){a(s);var l=Reflect.ownKeys(f).filter(_=>{var p=n.get(_);return p===void 0||p.v!==oe});for(var[u,c]of n)c.v!==oe&&!(u in f)&&l.push(u);return l},setPrototypeOf(){Es()}})}var Nr,fi,ui,ci;function Bs(){if(Nr===void 0){Nr=window,fi=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;ui=Dt(t,"firstChild").get,ci=Dt(t,"nextSibling").get,Lr(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),Lr(n)&&(n.__t=void 0)}}function ct(e=""){return document.createTextNode(e)}function Tt(e){return ui.call(e)}function mn(e){return ci.call(e)}function R(e,t){return Tt(e)}function me(e,t=!1){{var n=Tt(e);return n instanceof Comment&&n.data===""?mn(n):n}}function Y(e,t=1,n=!1){let r=e;for(;t--;)r=mn(r);return r}function qs(e){e.textContent=""}function di(){return!1}function vi(e,t,n){return document.createElementNS(t??li,e,void 0)}function hi(e){var t=q;if(t===null)return U.f|=ut,e;if((t.f&Pt)===0&&(t.f&pn)===0)throw e;ot(e,t)}function ot(e,t){for(;t!==null;){if((t.f&Hn)!==0){if((t.f&Pt)===0)throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const Gs=-7169;function Q(e,t){e.f=e.f&Gs|t}function dr(e){(e.f&ke)!==0||e.deps===null?Q(e,te):Q(e,Te)}function pi(e){if(e!==null)for(const t of e)(t.f&ae)===0||(t.f&Nt)===0||(t.f^=Nt,pi(t.deps))}function _i(e,t,n){(e.f&fe)!==0?t.add(e):(e.f&Te)!==0&&n.add(e),pi(e.deps),Q(e,te)}const En=new Set;let $=null,Wn=null,le=null,de=[],On=null,Zn=!1,on=!1;var Ut,Bt,bt,qt,cn,dn,Et,Ke,Gt,we,Yn,Qn,Xn,gi;const Sr=class Sr{constructor(){B(this,we);Ie(this,"current",new Map);Ie(this,"previous",new Map);B(this,Ut,new Set);B(this,Bt,new Set);B(this,bt,0);B(this,qt,0);B(this,cn,null);B(this,dn,new Set);B(this,Et,new Set);B(this,Ke,new Map);Ie(this,"is_fork",!1);B(this,Gt,!1)}skip_effect(t){h(this,Ke).has(t)||h(this,Ke).set(t,{d:[],m:[]})}unskip_effect(t){var n=h(this,Ke).get(t);if(n){h(this,Ke).delete(t);for(var r of n.d)Q(r,fe),Me(r);for(r of n.m)Q(r,Te),Me(r)}}process(t){var s;de=[],this.apply();var n=[],r=[];for(const i of t)ie(this,we,Qn).call(this,i,n,r);if(ie(this,we,Yn).call(this)){ie(this,we,Xn).call(this,r),ie(this,we,Xn).call(this,n);for(const[i,o]of h(this,Ke))bi(i,o)}else{for(const i of h(this,Ut))i();h(this,Ut).clear(),h(this,bt)===0&&ie(this,we,gi).call(this),Wn=this,$=null,Mr(r),Mr(n),Wn=null,(s=h(this,cn))==null||s.resolve()}le=null}capture(t,n){n!==oe&&!this.previous.has(t)&&this.previous.set(t,n),(t.f&ut)===0&&(this.current.set(t,t.v),le==null||le.set(t,t.v))}activate(){$=this,this.apply()}deactivate(){$===this&&($=null,le=null)}flush(){if(this.activate(),de.length>0){if(mi(),$!==null&&$!==this)return}else h(this,bt)===0&&this.process([]);this.deactivate()}discard(){for(const t of h(this,Bt))t(this);h(this,Bt).clear()}increment(t){D(this,bt,h(this,bt)+1),t&&D(this,qt,h(this,qt)+1)}decrement(t){D(this,bt,h(this,bt)-1),t&&D(this,qt,h(this,qt)-1),!h(this,Gt)&&(D(this,Gt,!0),Xe(()=>{D(this,Gt,!1),ie(this,we,Yn).call(this)?de.length>0&&this.flush():this.revive()}))}revive(){for(const t of h(this,dn))h(this,Et).delete(t),Q(t,fe),Me(t);for(const t of h(this,Et))Q(t,Te),Me(t);this.flush()}oncommit(t){h(this,Ut).add(t)}ondiscard(t){h(this,Bt).add(t)}settled(){return(h(this,cn)??D(this,cn,Xr())).promise}static ensure(){if($===null){const t=$=new Sr;En.add($),on||Xe(()=>{$===t&&t.flush()})}return $}apply(){}};Ut=new WeakMap,Bt=new WeakMap,bt=new WeakMap,qt=new WeakMap,cn=new WeakMap,dn=new WeakMap,Et=new WeakMap,Ke=new WeakMap,Gt=new WeakMap,we=new WeakSet,Yn=function(){return this.is_fork||h(this,qt)>0},Qn=function(t,n,r){t.f^=te;for(var s=t.first;s!==null;){var i=s.f,o=(i&(ze|zt))!==0,f=o&&(i&te)!==0,l=f||(i&ye)!==0||h(this,Ke).has(s);if(!l&&s.fn!==null){o?s.f^=te:(i&pn)!==0?n.push(s):en(s)&&((i&et)!==0&&h(this,Et).add(s),Rt(s));var u=s.first;if(u!==null){s=u;continue}}for(;s!==null;){var c=s.next;if(c!==null){s=c;break}s=s.parent}}},Xn=function(t){for(var n=0;n<t.length;n+=1)_i(t[n],h(this,dn),h(this,Et))},gi=function(){var s;if(En.size>1){this.previous.clear();var t=le,n=!0;for(const i of En){if(i===this){n=!1;continue}const o=[];for(const[l,u]of this.current){if(i.current.has(l))if(n&&u!==i.current.get(l))i.current.set(l,u);else continue;o.push(l)}if(o.length===0)continue;const f=[...i.current.keys()].filter(l=>!this.current.has(l));if(f.length>0){var r=de;de=[];const l=new Set,u=new Map;for(const c of o)yi(c,f,l,u);if(de.length>0){$=i,i.apply();for(const c of de)ie(s=i,we,Qn).call(s,c,[],[]);i.deactivate()}de=r}}$=null,le=t}En.delete(this)};let dt=Sr;function Ks(e){var t=on;on=!0;try{for(var n;;){if(js(),de.length===0&&($==null||$.flush(),de.length===0))return On=null,n;mi()}}finally{on=t}}function mi(){Zn=!0;var e=null;try{for(var t=0;de.length>0;){var n=dt.ensure();if(t++>1e3){var r,s;Hs()}n.process(de),vt.clear()}}finally{de=[],Zn=!1,On=null}}function Hs(){try{ys()}catch(e){ot(e,On)}}let Le=null;function Mr(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if((r.f&(Qe|ye))===0&&en(r)&&(Le=new Set,Rt(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&$i(r),(Le==null?void 0:Le.size)>0)){vt.clear();for(const s of Le){if((s.f&(Qe|ye))!==0)continue;const i=[s];let o=s.parent;for(;o!==null;)Le.has(o)&&(Le.delete(o),i.push(o)),o=o.parent;for(let f=i.length-1;f>=0;f--){const l=i[f];(l.f&(Qe|ye))===0&&Rt(l)}}Le.clear()}}Le=null}}function yi(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const s of e.reactions){const i=s.f;(i&ae)!==0?yi(s,t,n,r):(i&(cr|et))!==0&&(i&fe)===0&&wi(s,t,r)&&(Q(s,fe),Me(s))}}function wi(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(Wt.call(t,s))return!0;if((s.f&ae)!==0&&wi(s,t,n))return n.set(s,!0),!0}return n.set(e,!1),!1}function Me(e){var t=On=e,n=t.b;if(n!=null&&n.is_pending&&(e.f&(pn|_n|Jr))!==0&&(e.f&Pt)===0){n.defer_effect(e);return}for(;t.parent!==null;){t=t.parent;var r=t.f;if(Zn&&t===q&&(r&et)!==0&&(r&ei)===0&&(r&Pt)!==0)return;if((r&(zt|ze))!==0){if((r&te)===0)return;t.f^=te}}de.push(t)}function bi(e,t){if(!((e.f&ze)!==0&&(e.f&te)!==0)){(e.f&fe)!==0?t.d.push(e):(e.f&Te)!==0&&t.m.push(e),Q(e,te);for(var n=e.first;n!==null;)bi(n,t),n=n.next}}function Vs(e){let t=0,n=Mt(0),r;return()=>{hr()&&(a(n),yn(()=>(t===0&&(r=N(()=>e(()=>ln(n)))),t+=1,()=>{Xe(()=>{t-=1,t===0&&(r==null||r(),r=void 0,ln(n))})})))}}var Ws=Zt|Xt;function Zs(e,t,n,r){new Ys(e,t,n,r)}var Ee,fr,Oe,St,ce,De,_e,Pe,He,xt,st,Kt,Ht,Vt,Ve,zn,ne,Qs,Xs,Js,Jn,An,Tn,er;class Ys{constructor(t,n,r,s){B(this,ne);Ie(this,"parent");Ie(this,"is_pending",!1);Ie(this,"transform_error");B(this,Ee);B(this,fr,null);B(this,Oe);B(this,St);B(this,ce);B(this,De,null);B(this,_e,null);B(this,Pe,null);B(this,He,null);B(this,xt,0);B(this,st,0);B(this,Kt,!1);B(this,Ht,new Set);B(this,Vt,new Set);B(this,Ve,null);B(this,zn,Vs(()=>(D(this,Ve,Mt(h(this,xt))),()=>{D(this,Ve,null)})));var i;D(this,Ee,t),D(this,Oe,n),D(this,St,o=>{var f=q;f.b=this,f.f|=Hn,r(o)}),this.parent=q.b,this.transform_error=s??((i=this.parent)==null?void 0:i.transform_error)??(o=>o),D(this,ce,_r(()=>{ie(this,ne,Jn).call(this)},Ws))}defer_effect(t){_i(t,h(this,Ht),h(this,Vt))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!h(this,Oe).pending}update_pending_count(t){ie(this,ne,er).call(this,t),D(this,xt,h(this,xt)+t),!(!h(this,Ve)||h(this,Kt))&&(D(this,Kt,!0),Xe(()=>{D(this,Kt,!1),h(this,Ve)&&Qt(h(this,Ve),h(this,xt))}))}get_effect_pending(){return h(this,zn).call(this),a(h(this,Ve))}error(t){var n=h(this,Oe).onerror;let r=h(this,Oe).failed;if(!n&&!r)throw t;h(this,De)&&(he(h(this,De)),D(this,De,null)),h(this,_e)&&(he(h(this,_e)),D(this,_e,null)),h(this,Pe)&&(he(h(this,Pe)),D(this,Pe,null));var s=!1,i=!1;const o=()=>{if(s){Us();return}s=!0,i&&xs(),h(this,Pe)!==null&&Lt(h(this,Pe),()=>{D(this,Pe,null)}),ie(this,ne,Tn).call(this,()=>{dt.ensure(),ie(this,ne,Jn).call(this)})},f=l=>{try{i=!0,n==null||n(l,o),i=!1}catch(u){ot(u,h(this,ce)&&h(this,ce).parent)}r&&D(this,Pe,ie(this,ne,Tn).call(this,()=>{dt.ensure();try{return Se(()=>{var u=q;u.b=this,u.f|=Hn,r(h(this,Ee),()=>l,()=>o)})}catch(u){return ot(u,h(this,ce).parent),null}}))};Xe(()=>{var l;try{l=this.transform_error(t)}catch(u){ot(u,h(this,ce)&&h(this,ce).parent);return}l!==null&&typeof l=="object"&&typeof l.then=="function"?l.then(f,u=>ot(u,h(this,ce)&&h(this,ce).parent)):f(l)})}}Ee=new WeakMap,fr=new WeakMap,Oe=new WeakMap,St=new WeakMap,ce=new WeakMap,De=new WeakMap,_e=new WeakMap,Pe=new WeakMap,He=new WeakMap,xt=new WeakMap,st=new WeakMap,Kt=new WeakMap,Ht=new WeakMap,Vt=new WeakMap,Ve=new WeakMap,zn=new WeakMap,ne=new WeakSet,Qs=function(){try{D(this,De,Se(()=>h(this,St).call(this,h(this,Ee))))}catch(t){this.error(t)}},Xs=function(t){const n=h(this,Oe).failed;n&&D(this,Pe,Se(()=>{n(h(this,Ee),()=>t,()=>()=>{})}))},Js=function(){const t=h(this,Oe).pending;t&&(this.is_pending=!0,D(this,_e,Se(()=>t(h(this,Ee)))),Xe(()=>{var n=D(this,He,document.createDocumentFragment()),r=ct();n.append(r),D(this,De,ie(this,ne,Tn).call(this,()=>(dt.ensure(),Se(()=>h(this,St).call(this,r))))),h(this,st)===0&&(h(this,Ee).before(n),D(this,He,null),Lt(h(this,_e),()=>{D(this,_e,null)}),ie(this,ne,An).call(this))}))},Jn=function(){try{if(this.is_pending=this.has_pending_snippet(),D(this,st,0),D(this,xt,0),D(this,De,Se(()=>{h(this,St).call(this,h(this,Ee))})),h(this,st)>0){var t=D(this,He,document.createDocumentFragment());Fi(h(this,De),t);const n=h(this,Oe).pending;D(this,_e,Se(()=>n(h(this,Ee))))}else ie(this,ne,An).call(this)}catch(n){this.error(n)}},An=function(){this.is_pending=!1;for(const t of h(this,Ht))Q(t,fe),Me(t);for(const t of h(this,Vt))Q(t,Te),Me(t);h(this,Ht).clear(),h(this,Vt).clear()},Tn=function(t){var n=q,r=U,s=V;Ue(h(this,ce)),Ce(h(this,ce)),Yt(h(this,ce).ctx);try{return t()}catch(i){return hi(i),null}finally{Ue(n),Ce(r),Yt(s)}},er=function(t){var n;if(!this.has_pending_snippet()){this.parent&&ie(n=this.parent,ne,er).call(n,t);return}D(this,st,h(this,st)+t),h(this,st)===0&&(ie(this,ne,An).call(this),h(this,_e)&&Lt(h(this,_e),()=>{D(this,_e,null)}),h(this,He)&&(h(this,Ee).before(h(this,He)),D(this,He,null)))};function eo(e,t,n,r){const s=gn()?Dn:Je;var i=e.filter(_=>!_.settled);if(n.length===0&&i.length===0){r(t.map(s));return}var o=q,f=to(),l=i.length===1?i[0].promise:i.length>1?Promise.all(i.map(_=>_.promise)):null;function u(_){f();try{r(_)}catch(p){(o.f&Qe)===0&&ot(p,o)}tr()}if(n.length===0){l.then(()=>u(t.map(s)));return}function c(){f(),Promise.all(n.map(_=>ro(_))).then(_=>u([...t.map(s),..._])).catch(_=>ot(_,o))}l?l.then(c):c()}function to(){var e=q,t=U,n=V,r=$;return function(i=!0){Ue(e),Ce(t),Yt(n),i&&(r==null||r.activate())}}function tr(e=!0){Ue(null),Ce(null),Yt(null),e&&($==null||$.deactivate())}function no(){var e=q.b,t=$,n=e.is_rendered();return e.update_pending_count(1),t.increment(n),()=>{e.update_pending_count(-1),t.decrement(n)}}function Dn(e){var t=ae|fe,n=U!==null&&(U.f&ae)!==0?U:null;return q!==null&&(q.f|=Xt),{ctx:V,deps:null,effects:null,equals:ni,f:t,fn:e,reactions:null,rv:0,v:oe,wv:0,parent:n??q,ac:null}}function ro(e,t,n){q===null&&hs();var s=void 0,i=Mt(oe),o=!U,f=new Map;return yo(()=>{var p;var l=Xr();s=l.promise;try{Promise.resolve(e()).then(l.resolve,l.reject).finally(tr)}catch(g){l.reject(g),tr()}var u=$;if(o){var c=no();(p=f.get(u))==null||p.reject(mt),f.delete(u),f.set(u,l)}const _=(g,d=void 0)=>{if(u.activate(),d)d!==mt&&(i.f|=ut,Qt(i,d));else{(i.f&ut)!==0&&(i.f^=ut),Qt(i,g);for(const[w,v]of f){if(f.delete(w),w===u)break;v.reject(mt)}}c&&c()};l.promise.then(_,g=>_(null,g||"unknown"))}),pr(()=>{for(const l of f.values())l.reject(mt)}),new Promise(l=>{function u(c){function _(){c===s?l(i):u(s)}c.then(_,_)}u(s)})}function Je(e){const t=Dn(e);return t.equals=ii,t}function io(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)he(t[n])}}function so(e){for(var t=e.parent;t!==null;){if((t.f&ae)===0)return(t.f&Qe)===0?t:null;t=t.parent}return null}function vr(e){var t,n=q;Ue(so(e));try{e.f&=~Nt,io(e),t=Li(e)}finally{Ue(n)}return t}function Ei(e){var t=vr(e);if(!e.equals(t)&&(e.wv=Ti(),(!($!=null&&$.is_fork)||e.deps===null)&&(e.v=t,e.deps===null))){Q(e,te);return}pt||(le!==null?(hr()||$!=null&&$.is_fork)&&le.set(e,t):dr(e))}function oo(e){var t,n;if(e.effects!==null)for(const r of e.effects)(r.teardown||r.ac)&&((t=r.teardown)==null||t.call(r),(n=r.ac)==null||n.abort(mt),r.teardown=Ye,r.ac=null,un(r,0),gr(r))}function Si(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&Rt(t)}let nr=new Set;const vt=new Map;let xi=!1;function Mt(e,t){var n={f:0,v:e,reactions:null,equals:ni,rv:0,wv:0};return n}function rt(e,t){const n=Mt(e);return uo(n),n}function F(e,t=!1,n=!0){var s;const r=Mt(e);return t||(r.equals=ii),Jt&&n&&V!==null&&V.l!==null&&((s=V.l).s??(s.s=[])).push(r),r}function P(e,t,n=!1){U!==null&&(!Re||(U.f&Pr)!==0)&&gn()&&(U.f&(ae|et|cr|Pr))!==0&&(Ae===null||!Wt.call(Ae,e))&&Ss();let r=n?Ot(t):t;return Qt(e,r)}function Qt(e,t){if(!e.equals(t)){var n=e.v;pt?vt.set(e,t):vt.set(e,n),e.v=t;var r=dt.ensure();if(r.capture(e,n),(e.f&ae)!==0){const s=e;(e.f&fe)!==0&&vr(s),dr(s)}e.wv=Ti(),ki(e,fe),gn()&&q!==null&&(q.f&te)!==0&&(q.f&(ze|zt))===0&&(be===null?co([e]):be.push(e)),!r.is_fork&&nr.size>0&&!xi&&lo()}return t}function lo(){xi=!1;for(const e of nr)(e.f&te)!==0&&Q(e,Te),en(e)&&Rt(e);nr.clear()}function ln(e){P(e,e.v+1)}function ki(e,t){var n=e.reactions;if(n!==null)for(var r=gn(),s=n.length,i=0;i<s;i++){var o=n[i],f=o.f;if(!(!r&&o===q)){var l=(f&fe)===0;if(l&&Q(o,t),(f&ae)!==0){var u=o;le==null||le.delete(u),(f&Nt)===0&&(f&ke&&(o.f|=Nt),ki(u,Te))}else l&&((f&et)!==0&&Le!==null&&Le.add(o),Me(o))}}}let Rr=!1;function ao(){Rr||(Rr=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(const n of e.target.elements)(t=n.__on_r)==null||t.call(n)})},{capture:!0}))}function Fn(e){var t=U,n=q;Ce(null),Ue(null);try{return e()}finally{Ce(t),Ue(n)}}function fo(e,t,n,r=n){e.addEventListener(t,()=>Fn(n));const s=e.__on_r;s?e.__on_r=()=>{s(),r(!0)}:e.__on_r=()=>r(!0),ao()}let Cn=!1,pt=!1;function zr(e){pt=e}let U=null,Re=!1;function Ce(e){U=e}let q=null;function Ue(e){q=e}let Ae=null;function uo(e){U!==null&&(Ae===null?Ae=[e]:Ae.push(e))}let ve=null,pe=0,be=null;function co(e){be=e}let Ai=1,wt=0,Ct=wt;function Ir(e){Ct=e}function Ti(){return++Ai}function en(e){var t=e.f;if((t&fe)!==0)return!0;if(t&ae&&(e.f&=~Nt),(t&Te)!==0){for(var n=e.deps,r=n.length,s=0;s<r;s++){var i=n[s];if(en(i)&&Ei(i),i.wv>e.wv)return!0}(t&ke)!==0&&le===null&&Q(e,te)}return!1}function Ci(e,t,n=!0){var r=e.reactions;if(r!==null&&!(Ae!==null&&Wt.call(Ae,e)))for(var s=0;s<r.length;s++){var i=r[s];(i.f&ae)!==0?Ci(i,t,!1):t===i&&(n?Q(i,fe):(i.f&te)!==0&&Q(i,Te),Me(i))}}function Li(e){var w;var t=ve,n=pe,r=be,s=U,i=Ae,o=V,f=Re,l=Ct,u=e.f;ve=null,pe=0,be=null,U=(u&(ze|zt))===0?e:null,Ae=null,Yt(e.ctx),Re=!1,Ct=++wt,e.ac!==null&&(Fn(()=>{e.ac.abort(mt)}),e.ac=null);try{e.f|=Vn;var c=e.fn,_=c();e.f|=Pt;var p=e.deps,g=$==null?void 0:$.is_fork;if(ve!==null){var d;if(g||un(e,pe),p!==null&&pe>0)for(p.length=pe+ve.length,d=0;d<ve.length;d++)p[pe+d]=ve[d];else e.deps=p=ve;if(hr()&&(e.f&ke)!==0)for(d=pe;d<p.length;d++)((w=p[d]).reactions??(w.reactions=[])).push(e)}else!g&&p!==null&&pe<p.length&&(un(e,pe),p.length=pe);if(gn()&&be!==null&&!Re&&p!==null&&(e.f&(ae|Te|fe))===0)for(d=0;d<be.length;d++)Ci(be[d],e);if(s!==null&&s!==e){if(wt++,s.deps!==null)for(let v=0;v<n;v+=1)s.deps[v].rv=wt;if(t!==null)for(const v of t)v.rv=wt;be!==null&&(r===null?r=be:r.push(...be))}return(e.f&ut)!==0&&(e.f^=ut),_}catch(v){return hi(v)}finally{e.f^=Vn,ve=t,pe=n,be=r,U=s,Ae=i,Yt(o),Re=f,Ct=l}}function vo(e,t){let n=t.reactions;if(n!==null){var r=as.call(n,e);if(r!==-1){var s=n.length-1;s===0?n=t.reactions=null:(n[r]=n[s],n.pop())}}if(n===null&&(t.f&ae)!==0&&(ve===null||!Wt.call(ve,t))){var i=t;(i.f&ke)!==0&&(i.f^=ke,i.f&=~Nt),dr(i),oo(i),un(i,0)}}function un(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)vo(e,n[r])}function Rt(e){var t=e.f;if((t&Qe)===0){Q(e,te);var n=q,r=Cn;q=e,Cn=!0;try{(t&(et|Jr))!==0?wo(e):gr(e),zi(e);var s=Li(e);e.teardown=typeof s=="function"?s:null,e.wv=Ai;var i;Kn&&ks&&(e.f&fe)!==0&&e.deps}finally{Cn=r,q=n}}}async function ho(){await Promise.resolve(),Ks()}function a(e){var t=e.f,n=(t&ae)!==0;if(U!==null&&!Re){var r=q!==null&&(q.f&Qe)!==0;if(!r&&(Ae===null||!Wt.call(Ae,e))){var s=U.deps;if((U.f&Vn)!==0)e.rv<wt&&(e.rv=wt,ve===null&&s!==null&&s[pe]===e?pe++:ve===null?ve=[e]:ve.push(e));else{(U.deps??(U.deps=[])).push(e);var i=e.reactions;i===null?e.reactions=[U]:Wt.call(i,U)||i.push(U)}}}if(pt&&vt.has(e))return vt.get(e);if(n){var o=e;if(pt){var f=o.v;return((o.f&te)===0&&o.reactions!==null||Ni(o))&&(f=vr(o)),vt.set(o,f),f}var l=(o.f&ke)===0&&!Re&&U!==null&&(Cn||(U.f&ke)!==0),u=(o.f&Pt)===0;en(o)&&(l&&(o.f|=ke),Ei(o)),l&&!u&&(Si(o),Pi(o))}if(le!=null&&le.has(e))return le.get(e);if((e.f&ut)!==0)throw e.v;return e.v}function Pi(e){if(e.f|=ke,e.deps!==null)for(const t of e.deps)(t.reactions??(t.reactions=[])).push(e),(t.f&ae)!==0&&(t.f&ke)===0&&(Si(t),Pi(t))}function Ni(e){if(e.v===oe)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(vt.has(t)||(t.f&ae)!==0&&Ni(t))return!0;return!1}function N(e){var t=Re;try{return Re=!0,e()}finally{Re=t}}function Z(e){if(!(typeof e!="object"||!e||e instanceof EventTarget)){if(At in e)rr(e);else if(!Array.isArray(e))for(let t in e){const n=e[t];typeof n=="object"&&n&&At in n&&rr(n)}}}function rr(e,t=new Set){if(typeof e=="object"&&e!==null&&!(e instanceof EventTarget)&&!t.has(e)){t.add(e),e instanceof Date&&e.getTime();for(let r in e)try{rr(e[r],t)}catch{}const n=ur(e);if(n!==Object.prototype&&n!==Array.prototype&&n!==Map.prototype&&n!==Set.prototype&&n!==Date.prototype){const r=Qr(n);for(let s in r){const i=r[s].get;if(i)try{i.call(e)}catch{}}}}}function Mi(e){q===null&&(U===null&&ms(),gs()),pt&&_s()}function po(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function Ge(e,t,n){var r=q;r!==null&&(r.f&ye)!==0&&(e|=ye);var s={ctx:V,deps:null,nodes:null,f:e|fe|ke,first:null,fn:t,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};if(n)try{Rt(s)}catch(f){throw he(s),f}else t!==null&&Me(s);var i=s;if(n&&i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&(i.f&Xt)===0&&(i=i.first,(e&et)!==0&&(e&Zt)!==0&&i!==null&&(i.f|=Zt)),i!==null&&(i.parent=r,r!==null&&po(i,r),U!==null&&(U.f&ae)!==0&&(e&zt)===0)){var o=U;(o.effects??(o.effects=[])).push(i)}return s}function hr(){return U!==null&&!Re}function pr(e){const t=Ge(_n,null,!1);return Q(t,te),t.teardown=e,t}function ir(e){Mi();var t=q.f,n=!U&&(t&ze)!==0&&(t&Pt)===0;if(n){var r=V;(r.e??(r.e=[])).push(e)}else return Ri(e)}function Ri(e){return Ge(pn|ti,e,!1)}function _o(e){return Mi(),Ge(_n|ti,e,!0)}function go(e){dt.ensure();const t=Ge(zt|Xt,e,!0);return(n={})=>new Promise(r=>{n.outro?Lt(t,()=>{he(t),r(void 0)}):(he(t),r(void 0))})}function mo(e){return Ge(pn,e,!1)}function G(e,t){var n=V,r={effect:null,ran:!1,deps:e};n.l.$.push(r),r.effect=yn(()=>{e(),!r.ran&&(r.ran=!0,N(t))})}function It(){var e=V;yn(()=>{for(var t of e.l.$){t.deps();var n=t.effect;(n.f&te)!==0&&n.deps!==null&&Q(n,Te),en(n)&&Rt(n),t.ran=!1}})}function yo(e){return Ge(cr|Xt,e,!0)}function yn(e,t=0){return Ge(_n|t,e,!0)}function ee(e,t=[],n=[],r=[]){eo(r,t,n,s=>{Ge(_n,()=>e(...s.map(a)),!0)})}function _r(e,t=0){var n=Ge(et|t,e,!0);return n}function Se(e){return Ge(ze|Xt,e,!0)}function zi(e){var t=e.teardown;if(t!==null){const n=pt,r=U;zr(!0),Ce(null);try{t.call(null)}finally{zr(n),Ce(r)}}}function gr(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const s=n.ac;s!==null&&Fn(()=>{s.abort(mt)});var r=n.next;(n.f&zt)!==0?n.parent=null:he(n,t),n=r}}function wo(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&ze)===0&&he(t),t=n}}function he(e,t=!0){var n=!1;(t||(e.f&ei)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(Ii(e.nodes.start,e.nodes.end),n=!0),gr(e,t&&!n),un(e,0),Q(e,Qe);var r=e.nodes&&e.nodes.t;if(r!==null)for(const i of r)i.stop();zi(e);var s=e.parent;s!==null&&s.first!==null&&$i(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function Ii(e,t){for(;e!==null;){var n=e===t?null:mn(e);e.remove(),e=n}}function $i(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function Lt(e,t,n=!0){var r=[];Oi(e,r,!0);var s=()=>{n&&he(e),t&&t()},i=r.length;if(i>0){var o=()=>--i||s();for(var f of r)f.out(o)}else s()}function Oi(e,t,n){if((e.f&ye)===0){e.f^=ye;var r=e.nodes&&e.nodes.t;if(r!==null)for(const f of r)(f.is_global||n)&&t.push(f);for(var s=e.first;s!==null;){var i=s.next,o=(s.f&Zt)!==0||(s.f&ze)!==0&&(e.f&et)!==0;Oi(s,t,o?n:!1),s=i}}}function mr(e){Di(e,!0)}function Di(e,t){if((e.f&ye)!==0){e.f^=ye,(e.f&te)===0&&(Q(e,fe),Me(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&Zt)!==0||(n.f&ze)!==0;Di(n,s?t:!1),n=r}var i=e.nodes&&e.nodes.t;if(i!==null)for(const o of i)(o.is_global||t)&&o.in()}}function Fi(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var s=n===r?null:mn(n);t.append(n),n=s}}const bo=["touchstart","touchmove"];function Eo(e){return bo.includes(e)}const Sn=Symbol("events"),So=new Set,$r=new Set;function xo(e,t,n,r={}){function s(i){if(r.capture||sr.call(t,i),!i.cancelBubble)return Fn(()=>n==null?void 0:n.call(this,i))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?Xe(()=>{t.addEventListener(e,s,r)}):t.addEventListener(e,s,r),s}function Ln(e,t,n,r,s){var i={capture:r,passive:s},o=xo(e,t,n,i);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&pr(()=>{t.removeEventListener(e,o,i)})}let Or=null;function sr(e){var v,y;var t=this,n=t.ownerDocument,r=e.type,s=((v=e.composedPath)==null?void 0:v.call(e))||[],i=s[0]||e.target;Or=e;var o=0,f=Or===e&&e[Sn];if(f){var l=s.indexOf(f);if(l!==-1&&(t===document||t===window)){e[Sn]=t;return}var u=s.indexOf(t);if(u===-1)return;l<=u&&(o=l)}if(i=s[o]||e.target,i!==t){Yr(e,"currentTarget",{configurable:!0,get(){return i||n}});var c=U,_=q;Ce(null),Ue(null);try{for(var p,g=[];i!==null;){var d=i.assignedSlot||i.parentNode||i.host||null;try{var w=(y=i[Sn])==null?void 0:y[r];w!=null&&(!i.disabled||e.target===i)&&w.call(i,e)}catch(A){p?g.push(A):p=A}if(e.cancelBubble||d===t||d===null)break;i=d}if(p){for(let A of g)queueMicrotask(()=>{throw A});throw p}}finally{e[Sn]=t,delete e.currentTarget,Ce(c),Ue(_)}}}var Vr;const Un=((Vr=globalThis==null?void 0:globalThis.window)==null?void 0:Vr.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function ko(e){return(Un==null?void 0:Un.createHTML(e))??e}function Ao(e){var t=vi("template");return t.innerHTML=ko(e.replaceAll("<!>","<!---->")),t.content}function Nn(e,t){var n=q;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function O(e,t){var n=(t&$s)!==0,r=(t&Os)!==0,s,i=!e.startsWith("<!>");return()=>{s===void 0&&(s=Ao(i?e:"<!>"+e),n||(s=Tt(s)));var o=r||fi?document.importNode(s,!0):s.cloneNode(!0);if(n){var f=Tt(o),l=o.lastChild;Nn(f,l)}else Nn(o,o);return o}}function lt(){var e=document.createDocumentFragment(),t=document.createComment(""),n=ct();return e.append(t,n),Nn(t,n),e}function z(e,t){e!==null&&e.before(t)}function W(e,t){var n=t==null?"":typeof t=="object"?`${t}`:t;n!==(e.__t??(e.__t=e.nodeValue))&&(e.__t=n,e.nodeValue=`${n}`)}function To(e,t){return Co(e,t)}const xn=new Map;function Co(e,{target:t,anchor:n,props:r={},events:s,context:i,intro:o=!0,transformError:f}){Bs();var l=void 0,u=go(()=>{var c=n??t.appendChild(ct());Zs(c,{pending:()=>{}},g=>{Be({});var d=V;i&&(d.c=i),s&&(r.$$events=s),l=e(g,r)||{},qe()},f);var _=new Set,p=g=>{for(var d=0;d<g.length;d++){var w=g[d];if(!_.has(w)){_.add(w);var v=Eo(w);for(const E of[t,document]){var y=xn.get(E);y===void 0&&(y=new Map,xn.set(E,y));var A=y.get(w);A===void 0?(E.addEventListener(w,sr,{passive:v}),y.set(w,1)):y.set(w,A+1)}}}};return p($n(So)),$r.add(p),()=>{var v;for(var g of _)for(const y of[t,document]){var d=xn.get(y),w=d.get(g);--w==0?(y.removeEventListener(g,sr),d.delete(g),d.size===0&&xn.delete(y)):d.set(g,w)}$r.delete(p),c!==n&&((v=c.parentNode)==null||v.removeChild(c))}});return Lo.set(l,u),l}let Lo=new WeakMap;var Ne,Fe,ge,kt,vn,hn,In;class Po{constructor(t,n=!0){Ie(this,"anchor");B(this,Ne,new Map);B(this,Fe,new Map);B(this,ge,new Map);B(this,kt,new Set);B(this,vn,!0);B(this,hn,()=>{var t=$;if(h(this,Ne).has(t)){var n=h(this,Ne).get(t),r=h(this,Fe).get(n);if(r)mr(r),h(this,kt).delete(n);else{var s=h(this,ge).get(n);s&&(h(this,Fe).set(n,s.effect),h(this,ge).delete(n),s.fragment.lastChild.remove(),this.anchor.before(s.fragment),r=s.effect)}for(const[i,o]of h(this,Ne)){if(h(this,Ne).delete(i),i===t)break;const f=h(this,ge).get(o);f&&(he(f.effect),h(this,ge).delete(o))}for(const[i,o]of h(this,Fe)){if(i===n||h(this,kt).has(i))continue;const f=()=>{if(Array.from(h(this,Ne).values()).includes(i)){var u=document.createDocumentFragment();Fi(o,u),u.append(ct()),h(this,ge).set(i,{effect:o,fragment:u})}else he(o);h(this,kt).delete(i),h(this,Fe).delete(i)};h(this,vn)||!r?(h(this,kt).add(i),Lt(o,f,!1)):f()}}});B(this,In,t=>{h(this,Ne).delete(t);const n=Array.from(h(this,Ne).values());for(const[r,s]of h(this,ge))n.includes(r)||(he(s.effect),h(this,ge).delete(r))});this.anchor=t,D(this,vn,n)}ensure(t,n){var r=$,s=di();if(n&&!h(this,Fe).has(t)&&!h(this,ge).has(t))if(s){var i=document.createDocumentFragment(),o=ct();i.append(o),h(this,ge).set(t,{effect:Se(()=>n(o)),fragment:i})}else h(this,Fe).set(t,Se(()=>n(this.anchor)));if(h(this,Ne).set(r,t),s){for(const[f,l]of h(this,Fe))f===t?r.unskip_effect(l):r.skip_effect(l);for(const[f,l]of h(this,ge))f===t?r.unskip_effect(l.effect):r.skip_effect(l.effect);r.oncommit(h(this,hn)),r.ondiscard(h(this,In))}else h(this,hn).call(this)}}Ne=new WeakMap,Fe=new WeakMap,ge=new WeakMap,kt=new WeakMap,vn=new WeakMap,hn=new WeakMap,In=new WeakMap;function se(e,t,n=!1){var r=new Po(e),s=n?Zt:0;function i(o,f){r.ensure(o,f)}_r(()=>{var o=!1;t((f,l=0)=>{o=!0,i(l,f)}),o||i(!1,null)},s)}function Ze(e,t){return t}function No(e,t,n){for(var r=[],s=t.length,i,o=t.length,f=0;f<s;f++){let _=t[f];Lt(_,()=>{if(i){if(i.pending.delete(_),i.done.add(_),i.pending.size===0){var p=e.outrogroups;or($n(i.done)),p.delete(i),p.size===0&&(e.outrogroups=null)}}else o-=1},!1)}if(o===0){var l=r.length===0&&n!==null;if(l){var u=n,c=u.parentNode;qs(c),c.append(u),e.items.clear()}or(t,!l)}else i={pending:new Set(t),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(i)}function or(e,t=!0){for(var n=0;n<e.length;n++)he(e[n],t)}var Dr;function je(e,t,n,r,s,i=null){var o=e,f=new Map,l=(t&oi)!==0;if(l){var u=e;o=u.appendChild(ct())}var c=null,_=Je(()=>{var y=n();return Zr(y)?y:y==null?[]:$n(y)}),p,g=!0;function d(){v.fallback=c,Mo(v,p,o,t,r),c!==null&&(p.length===0?(c.f&We)===0?mr(c):(c.f^=We,sn(c,null,o)):Lt(c,()=>{c=null}))}var w=_r(()=>{p=a(_);for(var y=p.length,A=new Set,E=$,x=di(),b=0;b<y;b+=1){var S=p[b],C=r(S,b),T=g?null:f.get(C);T?(T.v&&Qt(T.v,S),T.i&&Qt(T.i,b),x&&E.unskip_effect(T.e)):(T=Ro(f,g?o:Dr??(Dr=ct()),S,C,b,s,t,n),g||(T.e.f|=We),f.set(C,T)),A.add(C)}if(y===0&&i&&!c&&(g?c=Se(()=>i(o)):(c=Se(()=>i(Dr??(Dr=ct()))),c.f|=We)),y>A.size&&ps(),!g)if(x){for(const[K,I]of f)A.has(K)||E.skip_effect(I.e);E.oncommit(d),E.ondiscard(()=>{})}else d();a(_)}),v={effect:w,items:f,outrogroups:null,fallback:c};g=!1}function nn(e){for(;e!==null&&(e.f&ze)===0;)e=e.next;return e}function Mo(e,t,n,r,s){var I,k,m,M,L,H,re,X,j;var i=(r&Ls)!==0,o=t.length,f=e.items,l=nn(e.effect.first),u,c=null,_,p=[],g=[],d,w,v,y;if(i)for(y=0;y<o;y+=1)d=t[y],w=s(d,y),v=f.get(w).e,(v.f&We)===0&&((k=(I=v.nodes)==null?void 0:I.a)==null||k.measure(),(_??(_=new Set)).add(v));for(y=0;y<o;y+=1){if(d=t[y],w=s(d,y),v=f.get(w).e,e.outrogroups!==null)for(const J of e.outrogroups)J.pending.delete(v),J.done.delete(v);if((v.f&We)!==0)if(v.f^=We,v===l)sn(v,null,n);else{var A=c?c.next:l;v===e.effect.last&&(e.effect.last=v.prev),v.prev&&(v.prev.next=v.next),v.next&&(v.next.prev=v.prev),it(e,c,v),it(e,v,A),sn(v,A,n),c=v,p=[],g=[],l=nn(c.next);continue}if((v.f&ye)!==0&&(mr(v),i&&((M=(m=v.nodes)==null?void 0:m.a)==null||M.unfix(),(_??(_=new Set)).delete(v))),v!==l){if(u!==void 0&&u.has(v)){if(p.length<g.length){var E=g[0],x;c=E.prev;var b=p[0],S=p[p.length-1];for(x=0;x<p.length;x+=1)sn(p[x],E,n);for(x=0;x<g.length;x+=1)u.delete(g[x]);it(e,b.prev,S.next),it(e,c,b),it(e,S,E),l=E,c=S,y-=1,p=[],g=[]}else u.delete(v),sn(v,l,n),it(e,v.prev,v.next),it(e,v,c===null?e.effect.first:c.next),it(e,c,v),c=v;continue}for(p=[],g=[];l!==null&&l!==v;)(u??(u=new Set)).add(l),g.push(l),l=nn(l.next);if(l===null)continue}(v.f&We)===0&&p.push(v),c=v,l=nn(v.next)}if(e.outrogroups!==null){for(const J of e.outrogroups)J.pending.size===0&&(or($n(J.done)),(L=e.outrogroups)==null||L.delete(J));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||u!==void 0){var C=[];if(u!==void 0)for(v of u)(v.f&ye)===0&&C.push(v);for(;l!==null;)(l.f&ye)===0&&l!==e.fallback&&C.push(l),l=nn(l.next);var T=C.length;if(T>0){var K=(r&oi)!==0&&o===0?n:null;if(i){for(y=0;y<T;y+=1)(re=(H=C[y].nodes)==null?void 0:H.a)==null||re.measure();for(y=0;y<T;y+=1)(j=(X=C[y].nodes)==null?void 0:X.a)==null||j.fix()}No(e,C,K)}}i&&Xe(()=>{var J,nt;if(_!==void 0)for(v of _)(nt=(J=v.nodes)==null?void 0:J.a)==null||nt.apply()})}function Ro(e,t,n,r,s,i,o,f){var l=(o&Ts)!==0?(o&Ps)===0?F(n,!1,!1):Mt(n):null,u=(o&Cs)!==0?Mt(s):null;return{v:l,i:u,e:Se(()=>(i(t,l??n,u??s,f),()=>{e.delete(r)}))}}function sn(e,t,n){if(e.nodes)for(var r=e.nodes.start,s=e.nodes.end,i=t&&(t.f&We)===0?t.nodes.start:n;r!==null;){var o=mn(r);if(i.before(r),r===s)return;r=o}}function it(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function zo(e,t,n=!1,r=!1,s=!1){var i=e,o="";ee(()=>{var f=q;if(o!==(o=t()??"")&&(f.nodes!==null&&(Ii(f.nodes.start,f.nodes.end),f.nodes=null),o!=="")){var l=n?Ds:r?Fs:void 0,u=vi(n?"svg":r?"math":"template",l);u.innerHTML=o;var c=n||r?u:u.content;if(Nn(Tt(c),c.lastChild),n||r)for(;Tt(c);)i.before(Tt(c));else i.before(c)}})}function Bn(e,t,n,r,s){var f;var i=(f=t.$$slots)==null?void 0:f[n],o=!1;i===!0&&(i=t[n==="default"?"children":n],o=!0),i===void 0||i(e,o?()=>r:r)}const Fr=[...`
2
+ \r\f \v\uFEFF`];function Io(e,t,n){var r=""+e;if(n){for(var s of Object.keys(n))if(n[s])r=r?r+" "+s:s;else if(r.length)for(var i=s.length,o=0;(o=r.indexOf(s,o))>=0;){var f=o+i;(o===0||Fr.includes(r[o-1]))&&(f===r.length||Fr.includes(r[f]))?r=(o===0?"":r.substring(0,o))+r.substring(f+1):o=f}}return r===""?null:r}function $o(e,t,n,r,s,i){var o=e.__className;if(o!==n||o===void 0){var f=Io(n,r,i);f==null?e.removeAttribute("class"):e.className=f,e.__className=n}else if(i&&s!==i)for(var l in i){var u=!!i[l];(s==null||u!==!!s[l])&&e.classList.toggle(l,u)}return i}const Oo=Symbol("is custom element"),Do=Symbol("is html");function $e(e,t,n,r){var s=Fo(e);s[t]!==(s[t]=n)&&(t==="loading"&&(e[vs]=n),n==null?e.removeAttribute(t):typeof n!="string"&&jo(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function Fo(e){return e.__attributes??(e.__attributes={[Oo]:e.nodeName.includes("-"),[Do]:e.namespaceURI===li})}var jr=new Map;function jo(e){var t=e.getAttribute("is")||e.nodeName,n=jr.get(t);if(n)return n;jr.set(t,n=[]);for(var r,s=e,i=Element.prototype;i!==s;){r=Qr(s);for(var o in r)r[o].set&&n.push(o);s=ur(s)}return n}function Uo(e,t,n=t){var r=new WeakSet;fo(e,"input",async s=>{var i=s?e.defaultValue:e.value;if(i=qn(e)?Gn(i):i,n(i),$!==null&&r.add($),await ho(),i!==(i=t())){var o=e.selectionStart,f=e.selectionEnd,l=e.value.length;if(e.value=i??"",f!==null){var u=e.value.length;o===f&&f===l&&u>l?(e.selectionStart=u,e.selectionEnd=u):(e.selectionStart=o,e.selectionEnd=Math.min(f,u))}}}),N(t)==null&&e.value&&(n(qn(e)?Gn(e.value):e.value),$!==null&&r.add($)),yn(()=>{var s=t();if(e===document.activeElement){var i=Wn??$;if(r.has(i))return}qn(e)&&s===Gn(e.value)||e.type==="date"&&!s&&!e.value||s!==e.value&&(e.value=s??"")})}function qn(e){var t=e.type;return t==="number"||t==="range"}function Gn(e){return e===""?null:+e}function Ur(e,t){return e===t||(e==null?void 0:e[At])===t}function Br(e={},t,n,r){return mo(()=>{var s,i;return yn(()=>{s=i,i=[],N(()=>{e!==n(...i)&&(t(e,...i),s&&Ur(n(...s),e)&&t(null,...s))})}),()=>{Xe(()=>{i&&Ur(n(...i),e)&&t(null,...i)})}}),e}function Bo(e){return function(...t){var n=t[0];return n.preventDefault(),e==null?void 0:e.apply(this,t)}}function tt(e=!1){const t=V,n=t.l.u;if(!n)return;let r=()=>Z(t.s);if(e){let s=0,i={};const o=Dn(()=>{let f=!1;const l=t.s;for(const u in l)l[u]!==i[u]&&(i[u]=l[u],f=!0);return f&&s++,s});r=()=>a(o)}n.b.length&&_o(()=>{qr(t,r),Pn(n.b)}),ir(()=>{const s=N(()=>n.m.map(cs));return()=>{for(const i of s)typeof i=="function"&&i()}}),n.a.length&&ir(()=>{qr(t,r),Pn(n.a)})}function qr(e,t){if(e.l.s)for(const n of e.l.s)a(n);t()}let kn=!1,lr=Symbol();function ht(e,t,n){const r=n[t]??(n[t]={store:null,source:F(void 0),unsubscribe:Ye});if(r.store!==e&&!(lr in n))if(r.unsubscribe(),r.store=e??null,e==null)r.source.v=void 0,r.unsubscribe=Ye;else{var s=!0;r.unsubscribe=wr(e,i=>{s?r.source.v=i:P(r.source,i)}),s=!1}return e&&lr in n?an(e):a(r.source)}function wn(){const e={};function t(){pr(()=>{for(var n in e)e[n].unsubscribe();Yr(e,lr,{enumerable:!1,value:!0})})}return[e,t]}function qo(e){var t=kn;try{return kn=!1,[e(),kn]}finally{kn=t}}function xe(e,t,n,r){var E;var s=!Jt||(n&Ms)!==0,i=(n&zs)!==0,o=(n&Is)!==0,f=r,l=!0,u=()=>(l&&(l=!1,f=o?N(r):r),f),c;if(i){var _=At in e||ds in e;c=((E=Dt(e,t))==null?void 0:E.set)??(_&&t in e?x=>e[t]=x:void 0)}var p,g=!1;i?[p,g]=qo(()=>e[t]):p=e[t],p===void 0&&r!==void 0&&(p=u(),c&&(s&&ws(),c(p)));var d;if(s?d=()=>{var x=e[t];return x===void 0?u():(l=!0,x)}:d=()=>{var x=e[t];return x!==void 0&&(f=void 0),x===void 0?f:x},s&&(n&Rs)===0)return d;if(c){var w=e.$$legacy;return(function(x,b){return arguments.length>0?((!s||!b||w||g)&&c(b?d():x),x):d()})}var v=!1,y=((n&Ns)!==0?Dn:Je)(()=>(v=!1,d()));i&&a(y);var A=q;return(function(x,b){if(arguments.length>0){const S=b?a(y):s&&i?Ot(x):x;return P(y,S),v=!0,f!==void 0&&(f=S),x}return pt&&v||(A.f&Qe)!==0?y.v:a(y)})}function yr(e){V===null&&si(),Jt&&V.l!==null?Go(V).m.push(e):ir(()=>{const t=N(e);if(typeof t=="function")return t})}function ji(e){V===null&&si(),yr(()=>()=>N(e))}function Go(e){var t=e.l;return t.u??(t.u={a:[],b:[],m:[]})}function wr(e,t,n){if(e==null)return t(void 0),n&&n(void 0),Ye;const r=N(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}const $t=[];function Ko(e,t){return{subscribe:bn(e,t).subscribe}}function bn(e,t=Ye){let n=null;const r=new Set;function s(f){if(ri(e,f)&&(e=f,n)){const l=!$t.length;for(const u of r)u[1](),$t.push(u,e);if(l){for(let u=0;u<$t.length;u+=2)$t[u][0]($t[u+1]);$t.length=0}}}function i(f){s(f(e))}function o(f,l=Ye){const u=[f,l];return r.add(u),r.size===1&&(n=t(s,i)||Ye),f(e),()=>{r.delete(u),r.size===0&&n&&(n(),n=null)}}return{set:s,update:i,subscribe:o}}function br(e,t,n){const r=!Array.isArray(e),s=r?[e]:e;if(!s.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const i=t.length<2;return Ko(n,(o,f)=>{let l=!1;const u=[];let c=0,_=Ye;const p=()=>{if(c)return;_();const d=t(r?u[0]:u,o,f);i?o(d):_=typeof d=="function"?d:Ye},g=s.map((d,w)=>wr(d,v=>{u[w]=v,c&=~(1<<w),l&&p()},()=>{c|=1<<w}));return l=!0,p(),function(){Pn(g),_(),l=!1}})}function an(e){let t;return wr(e,n=>t=n)(),t}function Ho(){return typeof window>"u"?"light":window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function Vo(){if(typeof localStorage>"u")return"auto";const e=localStorage.getItem("theme");return e==="light"||e==="dark"?e:"auto"}function Wo(e){return e==="auto"?Ho():e}const ar=Vo(),at=bn(ar);function Er(e){if(typeof document>"u")return;const t=Wo(e);document.documentElement.dataset.theme=t}let Ft=null,fn=null;function Ui(){typeof window>"u"||Ft||(Ft=window.matchMedia("(prefers-color-scheme: dark)"),fn=()=>{const e=at.subscribe(t=>{e(),t==="auto"&&Er("auto")})},Ft.addEventListener("change",fn))}function Zo(){Ft&&fn&&(Ft.removeEventListener("change",fn),Ft=null,fn=null)}at.subscribe(e=>{Er(e),typeof localStorage<"u"&&localStorage.setItem("theme",e),e==="auto"?Ui():Zo()});typeof window<"u"&&(Er(ar),ar==="auto"&&Ui());const Yo="5";var Wr;typeof window<"u"&&((Wr=window.__svelte??(window.__svelte={})).v??(Wr.v=new Set)).add(Yo);As();const _t=bn(null),Mn=bn(null);function gt(e){if(e){if(typeof e=="string")return{raw:e,normalized:e};if(typeof e=="object"&&typeof e.raw=="string")return{raw:e.raw,normalized:typeof e.normalized=="string"?e.normalized:e.raw}}}function rn(e){if(e){if(typeof e=="string"){const t=e.trim();return t.length>0?t:void 0}if(typeof e=="object"&&typeof e.raw=="string"){const t=e.raw.trim();return t.length>0?t:void 0}}}function Gr(e,t){const n=t==null?void 0:t[e];return n!=null&&n.name?n.name:e}function jt(e){return e?String(e).replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").toLowerCase().trim():""}function Bi(e){const t=e.filter(Boolean);if(t.length===0)return{primary:[],other:[]};const n=t[0].kind;return{primary:t.filter(r=>r.kind===n),other:t.filter(r=>r.kind!==n)}}function Qo(e,t){if(!e[t])return;const r=Object.keys(e);for(const s of r){const i=e[s];if(!i||s===t)continue;const o=s.split(".");let f=t;for(let l=o.length-1;l>1;l-=1){const u=o.slice(0,l).join(".");if(e[u]){f=u;break}}i.parent=f,e[f].children.push(s)}}function Xo(e,t,n){const r=t?e[t]:null;return!r||r.forward===n||r.inverse===n?jt(n):jt(r.forward||r.inverse||n)}function Jo(e){var r,s;const t=((r=e==null?void 0:e.universe)==null?void 0:r.id)||((s=e==null?void 0:e.universe)==null?void 0:s.name);if(!t)throw new Error("Invalid manifest: missing universe.id");const n={};n[t]={id:t,name:e.universe.name||t,title:rn(e.universe.title),kind:"universe",parent:null,children:[],describe:gt(e.universe.describe)};for(const i of Object.values((e==null?void 0:e.concepts)||{}))n[i.id]={id:i.id,name:i.name||i.id,title:rn(i.title),kind:"concept",spelledKind:i.dimension?i.dimension.split(".").pop():"concept",parent:null,children:[],describe:gt(i.describe),dimension:i.dimension,relationships:Array.isArray(i.relationships)?i.relationships:[]};for(const i of Object.values((e==null?void 0:e.dimensions)||{}))n[i.id]={id:i.id,name:i.name||i.id,title:rn(i.title),kind:"dimension",spelledKind:"dimension",parent:null,children:[],describe:gt(i.describe),relationships:[]};for(const i of Object.values((e==null?void 0:e.relationships)||{})){const o=jt(i.forward||""),f=jt(i.inverse||""),l=f?`${o} and ${f}`:o||i.id;n[i.id]={id:i.id,name:l,title:rn(i.title),kind:"relationship",spelledKind:"relationship",parent:null,children:[],describe:gt(i.describe),relationships:[]}}for(const i of Object.values((e==null?void 0:e.relates)||{})){const o=Gr(i.left,e==null?void 0:e.concepts),f=Gr(i.right,e==null?void 0:e.concepts);n[i.id]={id:i.id,name:`${o} and ${f}`,title:rn(i.title),kind:"relates",spelledKind:"relates",parent:t,children:[],describe:gt(i.describe),relationships:Array.isArray(i.relationships)?i.relationships:[]}}return Qo(n,t),{universes:{[t]:{id:t,name:e.universe.name||t,root:t}},nodes:n,relationshipsById:e.relationships||{},relatesById:e.relates||{},generatedAt:e.generatedAt,meta:e.meta}}const el=br([_t,Mn],([e,t])=>{var n;return t?((n=e==null?void 0:e.universes)==null?void 0:n[t])??null:null}),qi=br([_t,el],([e,t])=>t&&e?e.nodes[t.root]:null),tl=br([_t,qi],([e,t])=>{if(!e||!t)return{primary:[],other:[]};const n=(t.children||[]).map(r=>e.nodes[r]).filter(Boolean);return Bi(n)});function nl(e,t){var o,f;if(!e||!t)return[];const n=e.nodes[t];if(!n)return[];const r=[],s=new Set;function i(l,u,c){const _=e.nodes[l];if(!_)return;const p=`${l}|${u}|${c||""}`;s.has(p)||(s.add(p),r.push({otherNode:_,label:u,desc:c}))}for(const l of n.relationships||[]){const u=l.relationship?e.relationshipsById[l.relationship]:null;i(l.to,Xo(e.relationshipsById,l.relationship,l.edge),((o=gt(u==null?void 0:u.describe))==null?void 0:o.normalized)||null)}for(const l of Object.values(e.relatesById||{})){const u=l.left===t,c=l.right===t;if(!u&&!c)continue;const _=u?l.right:l.left;if(!e.nodes[_])continue;const g=Array.isArray(l.relationships)?l.relationships[0]:null;i(_,jt((g==null?void 0:g.edge)||"relatesTo"),((f=gt(l.describe))==null?void 0:f.normalized)||null)}return r}function Gi(e,t){if(!e||!(t!=null&&t.parent))return[];const n=[];let r=t.parent;for(;r;){const s=e.nodes[r];if(!s)break;n.push(s),r=s.parent}return n}function ft(e){if(!(e!=null&&e.id))return"#";const t=e.id.split(".")[0];return t?`/universes/${encodeURIComponent(t)}/node/${encodeURIComponent(e.id)}`:"#"}function Kr(e){if(!(e!=null&&e.universes))return;const t=Object.keys(e.universes),n=an(Mn);(!n||!e.universes[n])&&Mn.set(t[0]||null)}async function rl(e="/api/manifest",t=fetch){const n=await t(e,{cache:"no-store",headers:{"Cache-Control":"no-cache"}});if(!n.ok)throw new Error(`Failed to load ${e}: ${n.status}`);const r=await n.json(),s=Jo(r);_t.set(s);const i=n.headers.get("x-describe-render-mode");return{data:s,describeRenderMode:i}}function il(e){const t=e.replace(/^\/+|\/+$/g,"");if(!t||t==="")return{route:"home",params:{}};const n=t.match(/^universes\/([^/]+)\/node\/(.+)$/);return n?{route:"node",params:{universe:decodeURIComponent(n[1]),id:n[2]}}:null}function Hr(){return il(window.location.pathname)}function Ki(e){window.history.pushState({},"",e),window.dispatchEvent(new PopStateEvent("popstate"))}const Hi=bn("lists");function ue(e,t={}){if(e&&typeof e=="object"&&typeof e.title=="string"){const r=e.title.trim();if(r.length>0)return r}let n=null;return typeof e=="string"?n=e:e&&typeof e=="object"&&(n=e.name||e.id||e.slug||e.identifier||null),!n||typeof n!="string"||n.trim().length===0?"":sl(n)}function sl(e){let t=e.replace(/[_-]/g," ").trim();return t=t.replace(/([a-z])([A-Z])/g,"$1 $2"),t=t.replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2"),t=t.replace(/([0-9])([A-Za-z])/g,"$1 $2"),t=t.replace(/([A-Za-z])([0-9])/g,"$1 $2"),t.split(/\s+/).filter(r=>r.length>0).map(r=>r.length>=2&&r===r.toUpperCase()&&/^[A-Z]+$/.test(r)&&["API","UUID","ID","HTTP","HTTPS","XML","JSON","URL","URI","HTML","CSS","JS","TS","AB"].includes(r)||r.length===0?r:r.length===1?r.toUpperCase():r[0].toUpperCase()+r.slice(1).toLowerCase()).join(" ").replace(/\s+/g," ").trim()}function Rn(e){if(!e)return"";const t=typeof e.spelledKind=="string"?e.spelledKind.trim():"";return t.length>0?ol(t):typeof e.kind=="string"?e.kind:""}function ol(e){return/[a-z][A-Z]/.test(e)?e.replace(/([a-z])([A-Z])/g,"$1 $2").toLowerCase():e}var ll=O('<span class="result-context svelte-1ytcet"> </span>'),al=O('<a role="option"><div class="result-content svelte-1ytcet"><div class="result-title svelte-1ytcet"> </div> <div class="result-meta svelte-1ytcet"><span class="result-kind svelte-1ytcet"> </span> <!></div></div></a>'),fl=O('<div class="results-dropdown svelte-1ytcet" role="listbox"></div>'),ul=O('<div class="search-container svelte-1ytcet"><div class="search-wrapper svelte-1ytcet"><input type="text" placeholder="Search concepts, dimensions, relationships… (Press / to focus)" class="search-input svelte-1ytcet" role="combobox" aria-label="Search" aria-autocomplete="list"/> <!></div></div>');function cl(e,t){Be(t,!1);const n=()=>ht(_t,"$universeGraph",r),[r,s]=wn(),i=F(),o=F();let f=F(null),l=F(""),u=F([]),c=F(null),_="search-results-listbox",p=F(null),g=F(!1);function d(k,m){const M=Gi(k,m);return M.length===0?null:`in ${ue(M[0])}`}function w(k){if(!k)return[];const m=[],M=["concept","dimension","relationship","relates"];if(k.nodes)for(const L of Object.values(k.nodes)){if(!L||!M.includes(L.kind))continue;const H=ft(L),re=d(k,L);m.push({node:L,name:L.name,kind:Rn(L),id:L.id,route:H,context:re})}return m}function v(k,m){if(!m.trim())return[];const M=m.toLowerCase().trim(),L=[],H=[];for(const X of k){const j=X.name.toLowerCase();j.startsWith(M)?L.push(X):j.includes(M)&&H.push(X)}return L.sort((X,j)=>X.name.localeCompare(j.name)),H.sort((X,j)=>X.name.localeCompare(j.name)),[...L,...H].slice(0,10)}function y(){if(a(c)===null||!a(p))return;const k=`search-option-${a(c)}`,m=a(p).querySelector(`#${k}`);m&&m.scrollIntoView({block:"nearest",behavior:"smooth"})}function A(k){var m;if(k.key==="/"){k.preventDefault();return}if(k.key!=="Tab"){if(k.key==="ArrowDown"){if(k.preventDefault(),!a(o)||a(i).length===0)return;a(c)===null?P(c,0):P(c,Math.min(a(c)+1,a(i).length-1)),y();return}if(k.key==="ArrowUp"){if(k.preventDefault(),!a(o)||a(i).length===0)return;a(c)===null?P(c,a(i).length-1):P(c,Math.max(a(c)-1,0)),y();return}if(k.key==="Enter"&&a(o)&&a(c)!==null&&a(i)[a(c)]){k.preventDefault();const M=a(i)[a(c)];x(M);return}if(k.key==="Escape"){k.preventDefault(),P(g,!0),P(c,null),(m=a(f))==null||m.focus();return}}}function E(k){var L;const m=document.activeElement,M=m&&(m.tagName==="INPUT"||m.tagName==="TEXTAREA"||m instanceof HTMLElement&&m.isContentEditable);k.key==="/"&&!M&&(k.preventDefault(),(L=a(f))==null||L.focus())}function x(k){P(l,""),P(o,!1),P(c,null),Ki(k.route),window.dispatchEvent(new PopStateEvent("popstate"))}function b(k){P(c,k)}yr(()=>{window.addEventListener("keydown",E)}),ji(()=>{typeof window<"u"&&window.removeEventListener("keydown",E)}),G(()=>n(),()=>{n()&&P(u,w(n()))}),G(()=>(a(l),a(u)),()=>{P(i,a(l).trim()?v(a(u),a(l)):[])}),G(()=>a(l),()=>{P(c,null),a(l).trim().length>0&&P(g,!1)}),G(()=>(a(i),a(l),a(g)),()=>{P(o,a(i).length>0&&a(l).trim().length>0&&!a(g))}),It(),tt();var S=ul(),C=R(S),T=R(C);$e(T,"aria-controls",_),Br(T,k=>P(f,k),()=>a(f));var K=Y(T,2);{var I=k=>{var m=fl();$e(m,"id",_),je(m,7,()=>a(i),M=>M.id,(M,L,H)=>{const re=Je(()=>`search-option-${a(H)}`),X=Je(()=>a(c)===a(H));var j=al();let J;var nt=R(j),xr=R(nt),Qi=R(xr),Xi=Y(xr,2),kr=R(Xi),Ji=R(kr),es=Y(kr,2);{var ts=tn=>{var Ar=ll(),ns=R(Ar);ee(()=>W(ns,(a(L),N(()=>a(L).context)))),z(tn,Ar)};se(es,tn=>{a(L),N(()=>a(L).context)&&tn(ts)})}ee(tn=>{$e(j,"href",(a(L),N(()=>a(L).route))),J=$o(j,1,"result-item svelte-1ytcet",null,J,{"result-item--active":a(X)}),$e(j,"id",a(re)),$e(j,"aria-selected",a(X)),W(Qi,tn),W(Ji,(a(L),N(()=>a(L).kind)))},[()=>(a(L),Z(ue),N(()=>a(L).node!=null?ue(a(L).node):a(L).name))]),Ln("click",j,Bo(()=>x(a(L)))),Ln("mouseenter",j,()=>b(a(H))),z(M,j)}),Br(m,M=>P(p,M),()=>a(p)),z(k,m)};se(K,k=>{a(o),a(i),N(()=>a(o)&&a(i).length>0)&&k(I)})}ee(()=>{$e(T,"aria-expanded",a(o)),$e(T,"aria-activedescendant",a(c)!==null?`search-option-${a(c)}`:void 0)}),Uo(T,()=>a(l),k=>P(l,k)),Ln("keydown",T,A),z(e,S),qe(),s()}var dl=O('<p class="svelte-1szor9z"> </p>'),vl=O('<div class="prose sp-prose svelte-1szor9z"></div>'),hl=O('<div class="empty svelte-1szor9z">No description yet.</div>'),pl=O('<p class="svelte-1szor9z"> </p>'),_l=O('<li class="svelte-1szor9z"> </li>'),gl=O('<ul class="svelte-1szor9z"></ul>'),ml=O('<li class="svelte-1szor9z"> </li>'),yl=O('<ol class="svelte-1szor9z"></ol>'),wl=O('<div class="prose sp-prose svelte-1szor9z"></div>'),bl=O('<div class="empty svelte-1szor9z">No description yet.</div>');function Vi(e,t){Be(t,!1);const n=()=>ht(Hi,"$describeRenderMode",r),[r,s]=wn(),i=F(),o=F(),f=F(),l=F();let u=xe(t,"textBlock",8);const c=v=>v?v.split(/\n\s*\n/g).map(A=>A.split(`
3
+ `).map(E=>E.trim()).filter(Boolean).join(" ")).filter(Boolean):[],_=v=>{if(!v)return[];const y=v.split(/\n\s*\n/g).filter(b=>b.trim()),A=[],E=/^[-—*]\s+/,x=/^\d+\.\s+/;for(const b of y){const S=b.split(`
4
+ `).map(I=>I.trim()).filter(Boolean);if(S.length===0)continue;let C=-1,T=-1;for(let I=0;I<S.length;I++)C===-1&&E.test(S[I])&&(C=I),T===-1&&x.test(S[I])&&(T=I);if(C>=0&&(T===-1||C<T)){if(C>0){const m=S.slice(0,C).join(" ");m.trim()&&A.push({type:"paragraph",content:m})}const I=[];let k=null;for(let m=C;m<S.length;m++)if(E.test(S[m])){k!==null&&I.push(k);const M=S[m].match(/^[-—*]\s+(.+)$/);k=M&&M[1]?M[1]:""}else if(k!==null)k+=" "+S[m];else break;k!==null&&I.push(k),I.length>0&&A.push({type:"unordered-list",content:I});continue}if(T>=0){if(T>0){const m=S.slice(0,T).join(" ");m.trim()&&A.push({type:"paragraph",content:m})}const I=[];let k=null;for(let m=T;m<S.length;m++)if(x.test(S[m])){k!==null&&I.push(k);const M=S[m].match(/^\d+\.\s+(.+)$/);k=M&&M[1]?M[1]:""}else if(k!==null)k+=" "+S[m];else break;k!==null&&I.push(k),I.length>0&&A.push({type:"ordered-list",content:I});continue}const K=S.join(" ");A.push({type:"paragraph",content:K})}return A};G(()=>Z(u()),()=>{var v,y;P(i,((v=u())==null?void 0:v.normalized)??((y=u())==null?void 0:y.raw)??"")}),G(()=>n(),()=>{P(o,n())}),G(()=>(a(o),a(i)),()=>{P(f,a(o)==="plain"?c(a(i)):null)}),G(()=>(a(o),a(i)),()=>{P(l,a(o)==="lists"?_(a(i)):null)}),It(),tt();var p=lt(),g=me(p);{var d=v=>{var y=lt(),A=me(y);{var E=b=>{var S=vl();je(S,5,()=>a(f),Ze,(C,T)=>{var K=dl(),I=R(K);ee(()=>W(I,a(T))),z(C,K)}),z(b,S)},x=b=>{var S=hl();z(b,S)};se(A,b=>{a(f),N(()=>a(f)&&a(f).length)?b(E):b(x,!1)})}z(v,y)},w=v=>{var y=lt(),A=me(y);{var E=b=>{var S=wl();je(S,5,()=>a(l),Ze,(C,T)=>{var K=lt(),I=me(K);{var k=L=>{var H=pl(),re=R(H);ee(()=>W(re,(a(T),N(()=>a(T).content)))),z(L,H)},m=L=>{var H=gl();je(H,5,()=>(a(T),N(()=>a(T).content)),Ze,(re,X)=>{var j=_l(),J=R(j);ee(()=>W(J,a(X))),z(re,j)}),z(L,H)},M=L=>{var H=yl();je(H,5,()=>(a(T),N(()=>a(T).content)),Ze,(re,X)=>{var j=ml(),J=R(j);ee(()=>W(J,a(X))),z(re,j)}),z(L,H)};se(I,L=>{a(T),N(()=>a(T).type==="paragraph")?L(k):(a(T),N(()=>a(T).type==="unordered-list")?L(m,1):(a(T),N(()=>a(T).type==="ordered-list")&&L(M,2)))})}z(C,K)}),z(b,S)},x=b=>{var S=bl();z(b,S)};se(A,b=>{a(l),N(()=>a(l)&&a(l).length)?b(E):b(x,!1)})}z(v,y)};se(g,v=>{a(o)==="plain"?v(d):a(o)==="lists"&&v(w,1)})}z(e,p),qe(),s()}var El=O('<li class="item svelte-fr86xg"><a class="link sprig-link svelte-fr86xg"><span class="name svelte-fr86xg"> </span></a></li>'),Sl=O('<div class="title svelte-fr86xg"> </div> <ul class="list svelte-fr86xg"></ul>',1),xl=O('<hr class="section-separator svelte-fr86xg"/>'),kl=O('<li class="item svelte-fr86xg"><a class="link sprig-link svelte-fr86xg"><span class="name svelte-fr86xg"> </span></a></li>'),Al=O('<div class="title svelte-fr86xg"> </div> <ul class="list svelte-fr86xg"></ul>',1),Tl=O("<!> <!>",1),Cl=O("<!> <!>",1),Ll=O('<p class="empty svelte-fr86xg">No contents yet.</p>'),Pl=O('<div class="card svelte-fr86xg"><!></div>');function Wi(e,t){Be(t,!1);const n=F(),r=F(),s=F();let i=xe(t,"children",24,()=>[]);function o(g){return g||"__ungrouped__"}function f(g){return g==="__ungrouped__"?"other":(g.split(".").pop()||g).replace(/([a-z0-9])([A-Z])/g,"$1 $2").toLowerCase()}function l(g){return g==="relationship"?"relationships":g==="relates"?"relates":"concepts"}G(()=>Z(i()),()=>{P(n,(()=>{const g=new Map,d=new Map;let w=0;for(const E of i())E.kind==="dimension"&&g.set(E.id,{key:E.id,title:f(E.name||E.id),items:[],order:w++});for(const E of i())if(E.kind!=="dimension")if(E.dimension){const x=o(E.dimension);g.has(x)||g.set(x,{key:x,title:f(x),items:[],order:w++});const b=g.get(x);b&&b.items.push(E)}else{const x=E.kind||"concept";d.has(x)||d.set(x,{key:`other:${x}`,title:l(x),items:[],order:w++});const b=d.get(x);b&&b.items.push(E)}const v=Array.from(g.values()).map(E=>({...E})).filter(E=>E.items.length>0).sort((E,x)=>E.order-x.order),y=["concept","relationship","relates"],A=Array.from(d.values()).map(E=>({...E})).filter(E=>E.items.length>0).sort((E,x)=>{const b=E.key.replace("other:",""),S=x.key.replace("other:",""),C=y.indexOf(b),T=y.indexOf(S);return C!==T?(C===-1?999:C)-(T===-1?999:T):E.order-x.order});return{dimensionGroups:v,otherGroups:A}})())}),G(()=>a(n),()=>{P(r,a(n).dimensionGroups)}),G(()=>a(n),()=>{P(s,a(n).otherGroups)}),It(),tt();var u=Pl(),c=R(u);{var _=g=>{var d=Cl(),w=me(d);je(w,1,()=>a(r),Ze,(A,E)=>{var x=Sl(),b=me(x),S=R(b),C=Y(b,2);je(C,5,()=>(a(E),N(()=>a(E).items)),Ze,(T,K)=>{var I=El(),k=R(I),m=R(k),M=R(m);ee((L,H)=>{$e(k,"href",L),W(M,H)},[()=>(Z(ft),a(K),N(()=>ft(a(K)))),()=>(Z(ue),a(K),N(()=>ue(a(K))))]),z(T,I)}),ee(()=>W(S,(a(E),N(()=>a(E).title)))),z(A,x)});var v=Y(w,2);{var y=A=>{var E=Tl(),x=me(E);{var b=C=>{var T=xl();z(C,T)};se(x,C=>{a(r),N(()=>a(r).length>0)&&C(b)})}var S=Y(x,2);je(S,1,()=>a(s),Ze,(C,T)=>{var K=Al(),I=me(K),k=R(I),m=Y(I,2);je(m,5,()=>(a(T),N(()=>a(T).items)),Ze,(M,L)=>{var H=kl(),re=R(H),X=R(re),j=R(X);ee((J,nt)=>{$e(re,"href",J),W(j,nt)},[()=>(Z(ft),a(L),N(()=>ft(a(L)))),()=>(Z(ue),a(L),N(()=>ue(a(L))))]),z(M,H)}),ee(()=>W(k,(a(T),N(()=>a(T).title)))),z(C,K)}),z(A,E)};se(v,A=>{a(s),N(()=>a(s).length>0)&&A(y)})}z(g,d)},p=g=>{var d=Ll();z(g,d)};se(c,g=>{a(r),a(s),N(()=>a(r).length>0||a(s).length>0)?g(_):g(p,!1)})}z(e,u),qe()}var Nl=O('<p class="subtitle svelte-162svzm"><!></p>'),Ml=O('<p class="subtitle svelte-162svzm"> </p>'),Rl=O('<header class="header svelte-162svzm"><div><h1 class="title svelte-162svzm"> </h1> <!></div></header>');function zl(e,t){Be(t,!1);let n=xe(t,"title",8),r=xe(t,"subtitle",8,null),s=xe(t,"subtitleNode",8,null);tt();var i=Rl(),o=R(i),f=R(o),l=R(f),u=Y(f,2);{var c=p=>{var g=Nl(),d=R(g);zo(d,r),z(p,g)},_=p=>{var g=Ml(),d=R(g);ee(w=>W(d,w),[()=>(Z(ue),Z(s()),N(()=>ue(s())))]),z(p,g)};se(u,p=>{r()?p(c):s()&&p(_,1)})}ee(()=>W(l,n())),z(e,i),qe()}var Il=O('<footer class="footer svelte-1ynevzn"><div class="left svelte-1ynevzn"><span class="label svelte-1ynevzn">Grounding</span> <span class="value svelte-1ynevzn">Coming soon</span></div> <div class="right svelte-1ynevzn"><span class="label svelte-1ynevzn">Nodes</span> <span class="value svelte-1ynevzn"> </span> <span class="dot svelte-1ynevzn">•</span> <span class="label svelte-1ynevzn">Dimensions</span> <span class="value svelte-1ynevzn"> </span> <span class="dot svelte-1ynevzn">•</span> <span class="label svelte-1ynevzn">Relationships</span> <span class="value svelte-1ynevzn"> </span></div></footer>');function $l(e,t){Be(t,!1);const n=F(),r=F();let s=xe(t,"graph",8,null);const i=d=>d?Object.keys(d).length:0;G(()=>Z(s()),()=>{var d;P(n,i(((d=s())==null?void 0:d.nodes)&&Object.fromEntries(Object.entries(s().nodes).filter(([,w])=>(w==null?void 0:w.kind)==="dimension"))))}),G(()=>Z(s()),()=>{var d,w;P(r,i((d=s())==null?void 0:d.relationshipsById)+i((w=s())==null?void 0:w.relatesById))}),It(),tt();var o=Il(),f=Y(R(o),2),l=Y(R(f),2),u=R(l),c=Y(l,6),_=R(c),p=Y(c,6),g=R(p);ee(d=>{W(u,d),W(_,a(n)),W(g,a(r))},[()=>(Z(s()),N(()=>{var d;return i((d=s())==null?void 0:d.nodes)}))]),z(e,o),qe()}var Ol=O('<aside class="index svelte-116psyn"><!></aside>'),Dl=O('<!> <div class="grid svelte-116psyn"><section class="narrative svelte-116psyn"><!></section> <!></div> <!> <!>',1);function Zi(e,t){let n=xe(t,"title",8),r=xe(t,"subtitle",8),s=xe(t,"graph",8),i=xe(t,"showIndex",8,!1);var o=Dl(),f=me(o);zl(f,{get title(){return n()},get subtitle(){return r()}});var l=Y(f,2),u=R(l),c=R(u);Bn(c,t,"narrative",{});var _=Y(u,2);{var p=v=>{var y=Ol(),A=R(y);Bn(A,t,"index",{}),z(v,y)};se(_,v=>{i()&&v(p)})}var g=Y(l,2);Bn(g,t,"sections",{});var d=Y(g,2);{var w=v=>{$l(v,{get graph(){return s()}})};se(d,v=>{s()&&v(w)})}z(e,o)}var Fl=O('<div class="loading svelte-bpgxme">Loading…</div>');function jl(e,t){Be(t,!1);const n=()=>ht(qi,"$universeRootNode",i),r=()=>ht(tl,"$rootChildren",i),s=()=>ht(_t,"$universeGraph",i),[i,o]=wn(),f=F(),l=F(),u=d=>{if(!d)return"";const w=d.indexOf(".");return w>=0?d.slice(0,w+1):d};G(()=>n(),()=>{var d,w,v,y,A,E;P(f,(w=(d=n())==null?void 0:d.describe)!=null&&w.normalized||(y=(v=n())==null?void 0:v.describe)!=null&&y.raw?u(((A=n().describe)==null?void 0:A.normalized)??((E=n().describe)==null?void 0:E.raw)):null)}),G(()=>r(),()=>{P(l,r().primary.length>0||r().other.length>0)}),It(),tt();var c=lt(),_=me(c);{var p=d=>{{let w=Je(()=>(Z(ue),n(),N(()=>ue(n()))));Zi(d,{get title(){return a(w)},get subtitle(){return a(f)},get graph(){return s()},get showIndex(){return a(l)},$$slots:{narrative:(v,y)=>{Vi(v,{get textBlock(){return n(),N(()=>n().describe)}})},index:(v,y)=>{const A=Je(()=>(r(),N(()=>[...r().primary,...r().other])));Wi(v,{get children(){return a(A)}})}}})}},g=d=>{var w=Fl();z(d,w)};se(_,d=>{n()?d(p):d(g,!1)})}z(e,c),qe(),o()}var Ul=O('<p class="relationship-description svelte-1eh9gvm"> </p>'),Bl=O('<li class="relationship-item svelte-1eh9gvm"><a class="relationship-link sprig-link svelte-1eh9gvm"><span class="relationship-label svelte-1eh9gvm"> </span> <span class="relationship-separator svelte-1eh9gvm">→</span> <span class="relationship-name svelte-1eh9gvm"> </span> <span class="relationship-kind svelte-1eh9gvm"> </span></a> <!></li>'),ql=O('<section class="relationships svelte-1eh9gvm"><h2 class="relationships-title svelte-1eh9gvm">Relationships</h2> <ul class="relationships-list svelte-1eh9gvm"></ul></section>');function Gl(e,t){Be(t,!1);let n=xe(t,"relationships",24,()=>[]);tt();var r=lt(),s=me(r);{var i=o=>{var f=ql(),l=Y(R(f),2);je(l,5,n,Ze,(u,c)=>{var _=Bl(),p=R(_),g=R(p),d=R(g),w=Y(g,4),v=R(w),y=Y(w,2),A=R(y),E=Y(p,2);{var x=b=>{var S=Ul(),C=R(S);ee(()=>W(C,(a(c),N(()=>a(c).desc)))),z(b,S)};se(E,b=>{a(c),N(()=>a(c).desc)&&b(x)})}ee((b,S,C)=>{$e(p,"href",b),W(d,(a(c),N(()=>a(c).label))),W(v,S),W(A,C)},[()=>(Z(ft),a(c),N(()=>ft(a(c).otherNode))),()=>(Z(ue),a(c),N(()=>ue(a(c).otherNode))),()=>(Z(Rn),a(c),N(()=>Rn(a(c).otherNode)))]),z(u,_)}),z(o,f)};se(s,o=>{Z(n()),N(()=>n().length>0)&&o(i)})}z(e,r),qe()}var Kl=O('<div class="loading svelte-9edgfz">Loading…</div>');function Hl(e,t){Be(t,!1);const n=()=>ht(_t,"$universeGraph",r),[r,s]=wn(),i=F(),o=F(),f=F(),l=F(),u=F(),c=F(),_=F(),p=F(),g=F(),d=F(),w=F();let v=xe(t,"params",8);G(()=>Z(v()),()=>{Mn.set(v().universe)}),G(()=>Z(v()),()=>{P(i,decodeURIComponent(v().id))}),G(()=>(n(),a(i)),()=>{var b;P(o,(b=n())==null?void 0:b.nodes[a(i)])}),G(()=>a(o),()=>{var b;P(f,((b=a(o))==null?void 0:b.children)||[])}),G(()=>(a(f),n()),()=>{P(l,a(f).map(b=>{var S;return(S=n())==null?void 0:S.nodes[b]}).filter(Boolean)||[])}),G(()=>(a(o),n()),()=>{P(u,(()=>{var b,S;return!((b=a(o))!=null&&b.dimension)||!((S=n())!=null&&S.nodes)?[]:Object.values(n().nodes).filter(C=>C.id!==a(o).id).filter(C=>C.dimension===a(o).dimension)})())}),G(()=>(a(l),a(u)),()=>{P(c,(()=>{const b=new Map;for(const S of a(l))S&&b.set(S.id,S);for(const S of a(u))b.set(S.id,S);return Array.from(b.values())})())}),G(()=>(a(o),a(c)),()=>{P(_,a(o)?Bi(a(c)):{primary:[],other:[]})}),G(()=>a(_),()=>{P(p,a(_).primary.length>0||a(_).other.length>0)}),G(()=>(a(o),n(),a(i)),()=>{P(g,a(o)?nl(n(),a(i)):[])}),G(()=>(a(o),n()),()=>{P(d,a(o)?Gi(n(),a(o)):[])}),G(()=>(a(o),a(d),Z(v())),()=>{P(w,(()=>{if(!a(o))return"";const b=Rn(a(o));if(a(d).length>0){const S=a(d)[0];return`A ${b} in <a href="${ft(S)}">${ue(S)}</a>`}return`A ${b} in ${v().universe}`})())}),It(),tt();var y=lt(),A=me(y);{var E=b=>{{let S=Je(()=>(Z(ue),a(o),N(()=>ue(a(o)))));Zi(b,{get title(){return a(S)},get subtitle(){return a(w)},get graph(){return n()},get showIndex(){return a(p)},$$slots:{narrative:(C,T)=>{Vi(C,{get textBlock(){return a(o),N(()=>a(o).describe)}})},index:(C,T)=>{const K=Je(()=>(a(_),N(()=>[...a(_).primary,...a(_).other])));Wi(C,{get children(){return a(K)}})},sections:(C,T)=>{Gl(C,{get relationships(){return a(g)}})}}})}},x=b=>{var S=Kl();z(b,S)};se(A,b=>{a(o)?b(E):b(x,!1)})}z(e,y),qe(),s()}var Vl=O('<div class="loading svelte-1n46o8q">Loading…</div>'),Wl=O('<div class="error svelte-1n46o8q"> </div>'),Zl=O('<div class="error svelte-1n46o8q"> </div>'),Yl=O('<div class="error svelte-1n46o8q">Invalid route</div>'),Ql=O('<div class="app sprig-design svelte-1n46o8q"><div class="page svelte-1n46o8q"><div class="top-bar svelte-1n46o8q"><!> <button class="theme-toggle svelte-1n46o8q" type="button" aria-label="Toggle theme"> </button></div> <main class="main-content svelte-1n46o8q"><!></main></div></div>');function Xl(e,t){Be(t,!1);const n=()=>ht(_t,"$universeGraph",s),r=()=>ht(at,"$theme",s),[s,i]=wn(),o=F(),f=F();let l=F(!0),u=F(null),c=F(Hr());function _(){at.update(m=>m==="light"?"dark":m==="dark"?"auto":"light")}async function p(){try{P(l,!0),P(u,null);const{describeRenderMode:m}=await rl("/api/manifest");(m==="lists"||m==="plain")&&Hi.set(m)}catch(m){const M=m instanceof Error?m.message:"Failed to load manifest";P(u,M),console.error("Error loading manifest:",m)}finally{P(l,!1)}}function g(){P(c,Hr())}function d(m){if(!(m.target instanceof HTMLElement))return;const M=m.target.closest("a");if(!M)return;const L=M.getAttribute("href");L&&(L.startsWith("http://")||L.startsWith("https://")||L.startsWith("mailto:")||L.startsWith("#")||(L.startsWith("/")||!L.includes("://"))&&(m.preventDefault(),Ki(L),g()))}window.addEventListener("popstate",g),document.addEventListener("click",d);let w=null;yr(()=>{if(typeof EventSource<"u")try{w=new EventSource("/api/events"),console.log("SSE EventSource created"),w.addEventListener("manifest",async m=>{console.log("SSE manifest event received:",m.data),await p()}),w.addEventListener("open",()=>{console.log("SSE connection opened")}),w.addEventListener("error",m=>{w&&w.readyState===EventSource.CLOSED?console.log("SSE connection closed"):w&&w.readyState===EventSource.CONNECTING&&console.log("SSE reconnecting...")})}catch(m){console.error("Failed to create EventSource:",m)}p()}),ji(()=>{w&&(w.close(),console.log("SSE EventSource closed"))}),G(()=>a(c),()=>{var m;P(o,((m=a(c))==null?void 0:m.route)==="node"?a(c).params:null)}),G(()=>(n(),a(c),Kr),()=>{var m;n()&&((m=a(c))==null?void 0:m.route)==="home"&&Kr(n())}),G(()=>r(),()=>{P(f,r()==="auto"?"Auto":r()==="dark"?"Light":"Dark")}),It(),tt();var v=Ql(),y=R(v),A=R(y),E=R(A);cl(E,{});var x=Y(E,2),b=R(x),S=Y(A,2),C=R(S);{var T=m=>{var M=Vl();z(m,M)},K=m=>{var M=Wl(),L=R(M);ee(()=>W(L,`Error: ${a(u)??""}`)),z(m,M)},I=m=>{var M=lt(),L=me(M);{var H=j=>{jl(j,{})},re=j=>{Hl(j,{get params(){return a(o)}})},X=j=>{var J=Zl(),nt=R(J);ee(()=>W(nt,`Unknown route: ${a(c),N(()=>a(c).route)??""}`)),z(j,J)};se(L,j=>{a(c),N(()=>a(c).route==="home")?j(H):(a(c),a(o),N(()=>a(c).route==="node"&&a(o))?j(re,1):j(X,!1))})}z(m,M)},k=m=>{var M=Yl();z(m,M)};se(C,m=>{a(l)?m(T):a(u)?m(K,1):a(c)?m(I,2):m(k,!1)})}ee(()=>W(b,a(f))),Ln("click",x,_),z(e,v),qe(),i()}const Yi=document.getElementById("app");if(!Yi)throw new Error("Target element #app not found");To(Xl,{target:Yi});async function Jl(){try{let p=function(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"},g=function(C){return C==="auto"?p():C},d=function(C){const K=g(C)==="dark"?_.dark:_.light;if(K){document.body.style.backgroundImage=`url(${K})`,document.body.style.backgroundRepeat="repeat",document.body.style.backgroundSize="1024px 1024px",document.body.style.backgroundAttachment="fixed";const I=document.querySelector(".top-bar");I&&(I.style.backgroundImage=`url(${K})`,I.style.backgroundRepeat="repeat",I.style.backgroundSize="1024px 1024px",I.style.backgroundAttachment="fixed",I.style.backgroundPosition="0 0")}},x=function(){typeof window>"u"||A||(A=window.matchMedia("(prefers-color-scheme: dark)"),E=()=>{y==="auto"&&d("auto")},A.addEventListener("change",E))},b=function(){A&&E&&(A.removeEventListener("change",E),A=null,E=null)};var e=p,t=g,n=d,r=x,s=b;const i=await ls(()=>import("./index-B6I7oo2K.js"),[]),{generateTexture:o,releaseObjectUrl:f,sprigGrey:l,parchment:u,subtle:c}=i,_={light:null,dark:null},{url:w}=await o({key:"sprig-ui-light",palette:u,preset:c});_.light=w;const{url:v}=await o({key:"sprig-ui-dark",palette:l,preset:c});_.dark=v;let y=an(at),A=null,E=null;const S=at.subscribe(C=>{y=C,d(C),C==="auto"?x():b()});d(an(at)),an(at)==="auto"&&x(),window.__textureCleanup=()=>{S(),b(),_.light&&f(_.light),_.dark&&f(_.dark)}}catch(i){console.error("Failed to generate texture:",i)}}setTimeout(Jl,0);
@@ -0,0 +1 @@
1
+ .sprig-design{--sp-font-tiny: .75rem;--sp-font-small: .875rem;--sp-font-body: 1rem;--sp-font-h1: 3rem;--sp-font-h2: 1.5rem;--sp-font-h3: 1.25rem;--sp-line-body: 1.7;--sp-line-tight: 1.3;--sp-line-loose: 1.9;--sp-space-1: .25rem;--sp-space-2: .5rem;--sp-space-3: .75rem;--sp-space-4: 1rem;--sp-space-6: 1.5rem;--sp-space-8: 2rem;--sp-space-12: 3rem}.sprig-design .sp-prose{font-size:var(--sp-font-body);line-height:var(--sp-line-body)}.sprig-design .sp-prose p{margin:0 0 var(--sp-space-4) 0}.sprig-design .sp-prose h1{font-size:var(--sp-font-h1);line-height:1.15;margin:0 0 var(--sp-space-12) 0}.sprig-design .sp-prose h2{font-size:var(--sp-font-h2);line-height:var(--sp-line-tight);margin:var(--sp-space-12) 0 var(--sp-space-3) 0}.sprig-design .sp-prose h3{font-size:var(--sp-font-h3);line-height:var(--sp-line-tight);margin:var(--sp-space-8) 0 var(--sp-space-2) 0}.sprig-design .sp-prose small,.sprig-design .sp-prose .sp-meta{font-size:var(--sp-font-small);line-height:var(--sp-line-tight)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-prose: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--text-color: #1a1a1a;--text-secondary: #4a4a4a;--text-tertiary: #464646;--bg-color: #fafafa;--border-color: #e0e0e0;--dictionary-bg: #f5f5f5;--code-bg: #f8f8f8;--code-border: #e8e8e8;--bg: var(--bg-color);--text: var(--text-color);--muted: var(--text-secondary);--link-structural: #2a2a2a;--link-exploratory: #3d3d3d;--link-underline: rgba(0, 0, 0, .2);--sprig-link-fg: #2a2a2a;--sprig-link-underline: rgba(0, 0, 0, .25);--sprig-link-underline-hover: rgba(0, 0, 0, .4);--sprig-link-anchor-fg: #1f1f1f;--sprig-link-anchor-underline: rgba(0, 0, 0, .35);--sprig-link-anchor-underline-hover: rgba(0, 0, 0, .5);--card-bg: rgb(235, 225, 210);--card-border: var(--border-color);--hairline: var(--border-color);--hover: rgba(0, 0, 0, .04);--tex-a: .015;--tex-b: .01}@media(prefers-color-scheme:dark){:root{--text-color: #e8e8e8;--text-secondary: #b8b8b8;--text-tertiary: #b4b4b4;--bg-color: #24221f;--border-color: #3a3a3a;--dictionary-bg: #1c1a17;--code-bg: #1c1a17;--code-border: #2a2a2a;--bg: var(--bg-color);--text: var(--text-color);--muted: var(--text-secondary);--link-structural: #e8e8e8;--link-exploratory: #b8b8b8;--link-underline: rgba(255, 255, 255, .3);--sprig-link-fg: #e8e8e8;--sprig-link-underline: rgba(255, 255, 255, .35);--sprig-link-underline-hover: rgba(255, 255, 255, .5);--sprig-link-anchor-fg: #e8e8e8;--sprig-link-anchor-underline: rgba(255, 255, 255, .45);--sprig-link-anchor-underline-hover: rgba(255, 255, 255, .6);--card-bg: var(--dictionary-bg);--card-border: var(--border-color);--hairline: var(--border-color);--hover: rgba(255, 255, 255, .06);--tex-a: .03;--tex-b: .02}}html,body{margin:0;padding:0}html[data-theme=dark]{--text-color: #e8e8e8;--text-secondary: #b8b8b8;--text-tertiary: #b4b4b4;--bg-color: #24221f;--border-color: #3a3a3a;--dictionary-bg: #1c1a17;--code-bg: #1c1a17;--code-border: #2a2a2a;--bg: var(--bg-color);--text: var(--text-color);--muted: var(--text-secondary);--link-structural: #e8e8e8;--link-exploratory: #b8b8b8;--link-underline: rgba(255, 255, 255, .3);--sprig-link-fg: #e8e8e8;--sprig-link-underline: rgba(255, 255, 255, .35);--sprig-link-underline-hover: rgba(255, 255, 255, .5);--sprig-link-anchor-fg: #e8e8e8;--sprig-link-anchor-underline: rgba(255, 255, 255, .45);--sprig-link-anchor-underline-hover: rgba(255, 255, 255, .6);--card-bg: var(--dictionary-bg);--card-border: var(--border-color);--hairline: var(--border-color);--hover: rgba(255, 255, 255, .06);--tex-a: .03;--tex-b: .02}html[data-theme=light]{--text-color: #1a1a1a;--text-secondary: #4a4a4a;--text-tertiary: #464646;--bg-color: #fafafa;--border-color: #e0e0e0;--dictionary-bg: #f5f5f5;--code-bg: #f8f8f8;--code-border: #e8e8e8;--bg: var(--bg-color);--text: var(--text-color);--muted: var(--text-secondary);--link-structural: #2a2a2a;--link-exploratory: #3d3d3d;--link-underline: rgba(0, 0, 0, .2);--sprig-link-fg: #2a2a2a;--sprig-link-underline: rgba(0, 0, 0, .25);--sprig-link-underline-hover: rgba(0, 0, 0, .4);--sprig-link-anchor-fg: #1f1f1f;--sprig-link-anchor-underline: rgba(0, 0, 0, .35);--sprig-link-anchor-underline-hover: rgba(0, 0, 0, .5);--card-bg: rgb(235, 225, 210);--card-border: var(--border-color);--hairline: var(--border-color);--hover: rgba(0, 0, 0, .04);--tex-a: .015;--tex-b: .01}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:var(--sp-font-body);line-height:var(--sp-line-body);color:var(--text-color);background-color:var(--bg-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25rem;text-decoration-color:#00000040;transition:text-decoration-thickness .15s ease,text-decoration-color .15s ease;cursor:pointer}@media(prefers-color-scheme:dark){a{text-decoration-color:#ffffff59}}html[data-theme=dark] a{text-decoration-color:#ffffff59}html[data-theme=light] a{text-decoration-color:#00000040}a:hover{text-decoration-thickness:1.5px;text-decoration-color:#0006}@media(prefers-color-scheme:dark){a:hover{text-decoration-color:#ffffff80}}html[data-theme=dark] a:hover{text-decoration-color:#ffffff80}html[data-theme=light] a:hover{text-decoration-color:#0006}a:focus{outline:2px solid var(--text-tertiary);outline-offset:2px;border-radius:2px}a.sprig-link,.sprig-link{color:var(--sprig-link-fg);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:#00000040;cursor:pointer;transition:text-decoration-thickness .15s ease,text-decoration-color .15s ease}@media(prefers-color-scheme:dark){a.sprig-link,.sprig-link{text-decoration-color:#ffffff59}}html[data-theme=dark] a.sprig-link,html[data-theme=dark] .sprig-link{text-decoration-color:#ffffff59}html[data-theme=light] a.sprig-link,html[data-theme=light] .sprig-link{text-decoration-color:#00000040}a.sprig-link:hover,.sprig-link:hover{text-decoration-thickness:1.5px;text-decoration-color:#0006}@media(prefers-color-scheme:dark){a.sprig-link:hover,.sprig-link:hover{text-decoration-color:#ffffff80}}html[data-theme=dark] a.sprig-link:hover,html[data-theme=dark] .sprig-link:hover{text-decoration-color:#ffffff80}html[data-theme=light] a.sprig-link:hover,html[data-theme=light] .sprig-link:hover{text-decoration-color:#0006}a.sprig-link:focus-visible,.sprig-link:focus-visible{outline:2px solid var(--text-tertiary);outline-offset:3px;border-radius:2px}a.sprig-link--quiet,.sprig-link--quiet{color:var(--sprig-link-fg);text-decoration-color:#00000040;opacity:.9}@media(prefers-color-scheme:dark){a.sprig-link--quiet,.sprig-link--quiet{text-decoration-color:#ffffff59}}html[data-theme=dark] a.sprig-link--quiet,html[data-theme=dark] .sprig-link--quiet{text-decoration-color:#ffffff59}html[data-theme=light] a.sprig-link--quiet,html[data-theme=light] .sprig-link--quiet{text-decoration-color:#00000040}a.sprig-link--quiet:hover,.sprig-link--quiet:hover{text-decoration-thickness:1.5px;text-decoration-color:#0006;opacity:1}@media(prefers-color-scheme:dark){a.sprig-link--quiet:hover,.sprig-link--quiet:hover{text-decoration-color:#ffffff80}}html[data-theme=dark] a.sprig-link--quiet:hover,html[data-theme=dark] .sprig-link--quiet:hover{text-decoration-color:#ffffff80}html[data-theme=light] a.sprig-link--quiet:hover,html[data-theme=light] .sprig-link--quiet:hover{text-decoration-color:#0006}.search-container.svelte-1ytcet{display:flex;flex:1}.search-wrapper.svelte-1ytcet{position:relative;max-width:500px;width:100%}.search-input.svelte-1ytcet{width:100%;padding:10px 14px;font-family:var(--font-ui);font-size:var(--sp-font-small);color:var(--text-color);background:var(--card-bg);border:none;border-radius:4px;outline:none;transition:box-shadow .2s}.search-input.svelte-1ytcet:focus{box-shadow:0 0 0 3px #0000000d}@media(prefers-color-scheme:dark){.search-input.svelte-1ytcet:focus{box-shadow:0 0 0 3px #ffffff0d}}html[data-theme=dark] .search-input.svelte-1ytcet:focus{box-shadow:0 0 0 3px #ffffff0d}.search-input.svelte-1ytcet::placeholder{color:var(--text-tertiary)}.results-dropdown.svelte-1ytcet{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 4px 12px #00000014;max-height:400px;overflow-y:auto;z-index:1000;margin-top:4px}@media(prefers-color-scheme:dark){.results-dropdown.svelte-1ytcet{box-shadow:0 4px 12px #0000004d}}html[data-theme=dark] .results-dropdown.svelte-1ytcet{box-shadow:0 4px 12px #0000004d}.result-item.svelte-1ytcet{display:block;padding:12px 14px;text-decoration:none;color:inherit;border-bottom:1px solid var(--hairline);transition:background-color .15s;cursor:pointer}.result-item.svelte-1ytcet:last-child{border-bottom:none}.result-item.svelte-1ytcet:hover,.result-item.svelte-1ytcet:focus{background:var(--hover);outline:none}.result-item.svelte-1ytcet:focus-visible{outline:2px solid var(--text-tertiary);outline-offset:-2px}.result-item--active.svelte-1ytcet{background:var(--hover)}.result-item--active.svelte-1ytcet .result-title:where(.svelte-1ytcet){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;text-decoration-color:var(--text-secondary)}.result-content.svelte-1ytcet{display:flex;flex-direction:column;gap:4px}.result-title.svelte-1ytcet{font-family:var(--font-prose);font-size:var(--sp-font-body);color:var(--text-color);font-weight:400}.result-meta.svelte-1ytcet{display:flex;align-items:center;gap:8px;font-family:var(--font-ui);font-size:var(--sp-font-tiny)}.result-kind.svelte-1ytcet{color:var(--text-tertiary);text-transform:capitalize;font-weight:400}.result-context.svelte-1ytcet{color:var(--text-secondary)}.result-context.svelte-1ytcet:before{content:"·";margin-right:4px;color:var(--text-tertiary)}.prose.svelte-1szor9z{max-width:70ch;font-size:var(--sp-font-body);line-height:var(--sp-line-body)}p.svelte-1szor9z{font-size:var(--sp-font-body);line-height:var(--sp-line-body);margin-bottom:var(--sp-space-4);color:var(--text-color)}p.svelte-1szor9z:last-child{margin-bottom:0}ul.svelte-1szor9z{list-style:none;padding-left:0;margin-bottom:var(--sp-space-6)}ul.svelte-1szor9z li:where(.svelte-1szor9z){font-size:var(--sp-font-body);line-height:var(--sp-line-loose);color:var(--text-secondary);margin-bottom:var(--sp-space-3);padding-left:var(--sp-space-6);position:relative}ul.svelte-1szor9z li:where(.svelte-1szor9z):before{content:"—";position:absolute;left:0;color:var(--text-tertiary)}ul.svelte-1szor9z li:where(.svelte-1szor9z):last-child{margin-bottom:0}ol.svelte-1szor9z{margin-bottom:var(--sp-space-6);padding-left:var(--sp-space-6)}ol.svelte-1szor9z li:where(.svelte-1szor9z){font-size:var(--sp-font-body);line-height:var(--sp-line-body);margin-bottom:var(--sp-space-3);color:var(--text-color)}ol.svelte-1szor9z li:where(.svelte-1szor9z):last-child{margin-bottom:0}.empty.svelte-1szor9z{color:var(--text-tertiary);font-size:var(--sp-font-small);padding:10px 0}@media(max-width:480px){ul.svelte-1szor9z li:where(.svelte-1szor9z){padding-left:20px}}.card.svelte-fr86xg{background-color:var(--card-bg);border-radius:4px;padding:24px;font-size:var(--sp-font-small);line-height:1.6;width:100%;position:sticky;top:32px}.title.svelte-fr86xg{font-size:var(--sp-font-small);color:var(--text-tertiary);letter-spacing:.5px;margin:0 0 .75rem;font-family:var(--font-ui);font-weight:400}.title.svelte-fr86xg:not(:first-child){margin-top:1.75rem}.section-separator.svelte-fr86xg{border:0;border-top:1px solid var(--hairline);margin:1.5rem 0 0}.list.svelte-fr86xg{list-style:none;padding:0;margin:0 0 2px}.item.svelte-fr86xg{margin-bottom:10px;color:var(--text-secondary)}.item.svelte-fr86xg:last-child{margin-bottom:0}.link.svelte-fr86xg{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-family:inherit;font-size:inherit;gap:.75rem;justify-content:space-between;padding:0;text-align:left;width:100%}.link.sprig-link.svelte-fr86xg{text-decoration:none}.link.sprig-link.svelte-fr86xg .name:where(.svelte-fr86xg){text-decoration:none}.link.sprig-link.svelte-fr86xg:hover .name:where(.svelte-fr86xg){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25rem;text-decoration-color:#00000040}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .link.sprig-link.svelte-fr86xg:hover .name:where(.svelte-fr86xg){text-decoration-color:#ffffff59}}html[data-theme=dark] .link.sprig-link.svelte-fr86xg:hover .name:where(.svelte-fr86xg){text-decoration-color:#ffffff59}html[data-theme=light] .link.sprig-link.svelte-fr86xg:hover .name:where(.svelte-fr86xg){text-decoration-color:#0006}.link.svelte-fr86xg:focus{outline:2px solid var(--text-tertiary);outline-offset:.25rem;border-radius:2px}.name.svelte-fr86xg{font-size:var(--sp-font-body);font-family:var(--font-prose);font-weight:400;color:var(--text-color)}.empty.svelte-fr86xg{color:var(--text-tertiary);font-size:var(--sp-font-small);margin:0;font-family:var(--font-ui)}@media(max-width:768px){.card.svelte-fr86xg{padding:20px;font-size:var(--sp-font-small);position:static}.item.svelte-fr86xg{margin-bottom:20px}}@media(max-width:480px){.card.svelte-fr86xg{padding:18px;font-size:var(--sp-font-tiny)}}.header.svelte-162svzm{margin-bottom:48px}.title.svelte-162svzm{font-size:var(--sp-font-h1);font-weight:400;line-height:1.2;margin-bottom:0;color:var(--text-color);letter-spacing:-.5px;font-family:var(--font-prose)}.subtitle.svelte-162svzm{margin:0;font-size:var(--sp-font-body);line-height:1.6;color:var(--text-color);font-family:var(--font-ui)}.subtitle.svelte-162svzm a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25rem;text-decoration-color:#00000040;transition:text-decoration-thickness .15s ease,text-decoration-color .15s ease}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .subtitle.svelte-162svzm a{text-decoration-color:#ffffff59}}html[data-theme=dark] .subtitle.svelte-162svzm a{text-decoration-color:#ffffff59}html[data-theme=light] .subtitle.svelte-162svzm a{text-decoration-color:#00000040}.subtitle.svelte-162svzm a:hover{text-decoration-thickness:1.5px;text-decoration-color:#0006}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .subtitle.svelte-162svzm a:hover{text-decoration-color:#ffffff80}}html[data-theme=dark] .subtitle.svelte-162svzm a:hover{text-decoration-color:#ffffff80}html[data-theme=light] .subtitle.svelte-162svzm a:hover{text-decoration-color:#0006}@media(max-width:768px){.title.svelte-162svzm{font-size:36px;margin-bottom:32px;letter-spacing:-.3px}.subtitle.svelte-162svzm{font-size:var(--sp-font-body);line-height:1.65}}@media(max-width:480px){.title.svelte-162svzm{font-size:32px;margin-bottom:28px;letter-spacing:-.2px}.subtitle.svelte-162svzm{font-size:var(--sp-font-body)}}.footer.svelte-1ynevzn{padding:2rem 0;border-top:1px solid var(--border-color);margin-top:4rem;width:100%;overflow-x:hidden;display:flex;justify-content:space-between;gap:18px;font-size:var(--sp-font-tiny);color:var(--text-tertiary);max-width:1200px;margin-left:auto;margin-right:auto}.left.svelte-1ynevzn,.right.svelte-1ynevzn{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.label.svelte-1ynevzn{color:var(--text-tertiary)}.value.svelte-1ynevzn{color:var(--text-secondary)}.dot.svelte-1ynevzn{color:var(--text-tertiary)}@media(max-width:768px){.footer.svelte-1ynevzn{padding:2rem 0;margin-top:48px;font-size:var(--sp-font-tiny)}}@media(max-width:480px){.footer.svelte-1ynevzn{padding:1.5rem 0;margin-top:40px;font-size:var(--sp-font-tiny)}}.grid.svelte-116psyn{display:grid;grid-template-columns:1fr 350px;gap:64px;align-items:start;max-width:1200px;margin:0 auto;width:100%}.narrative.svelte-116psyn{max-width:680px;min-width:0;width:100%}.index.svelte-116psyn{min-width:0;width:100%}@media(max-width:768px){.grid.svelte-116psyn{grid-template-columns:1fr;gap:32px}}@media(max-width:480px){.grid.svelte-116psyn{gap:32px}}.loading.svelte-bpgxme{color:var(--text-tertiary);padding:24px 0}.relationships.svelte-1eh9gvm{margin-top:32px;padding-top:24px;border-top:1px solid var(--hairline)}.relationships-title.svelte-1eh9gvm{font-family:var(--font-ui);font-size:var(--sp-font-tiny);letter-spacing:.02em;text-transform:none;color:var(--text-secondary);margin:0 0 .75rem}.relationships-list.svelte-1eh9gvm{list-style:none;padding:0;margin:0}.relationship-item.svelte-1eh9gvm{margin-bottom:.5rem}.relationship-item.svelte-1eh9gvm:last-child{margin-bottom:0}.relationship-link.svelte-1eh9gvm{display:flex;align-items:center;gap:8px;padding:4px 0}.relationship-link.sprig-link.svelte-1eh9gvm{text-decoration:none}.relationship-link.sprig-link.svelte-1eh9gvm .relationship-name:where(.svelte-1eh9gvm){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.1875rem;text-decoration-color:var(--sprig-link-underline)}.relationship-link.sprig-link.svelte-1eh9gvm:hover .relationship-name:where(.svelte-1eh9gvm){text-decoration-thickness:1.5px;text-decoration-color:var(--sprig-link-underline-hover)}.relationship-label.svelte-1eh9gvm{font-family:var(--font-ui);font-size:var(--sp-font-small);color:var(--text-secondary)}.relationship-separator.svelte-1eh9gvm{font-family:var(--font-ui);font-size:var(--sp-font-small);color:var(--text-tertiary);opacity:.6}.relationship-name.svelte-1eh9gvm{font-family:var(--font-prose);font-size:var(--sp-font-small);color:inherit}.relationship-kind.svelte-1eh9gvm{font-family:var(--font-ui);font-size:var(--sp-font-tiny);color:var(--text-tertiary);margin-left:auto}.relationship-description.svelte-1eh9gvm{margin:8px 0 0;font-family:var(--font-prose);font-size:var(--sp-font-body);color:var(--text-secondary);line-height:1.6;max-width:70ch}.relationship-item.svelte-1eh9gvm:not(:last-child) .relationship-description:where(.svelte-1eh9gvm){margin-bottom:1.5rem}.loading.svelte-9edgfz{color:var(--text-tertiary);padding:24px 0}.app.svelte-1n46o8q{min-height:100vh;width:100%}.page.svelte-1n46o8q{max-width:1200px;margin:0 auto;width:100%}.top-bar.svelte-1n46o8q{padding:24px 32px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;position:sticky;top:0;background-color:#fafafaf2;z-index:100}@media(prefers-color-scheme:dark){.top-bar.svelte-1n46o8q{background-color:#24221ff2}}html[data-theme=dark] .top-bar.svelte-1n46o8q{background-color:#24221ff2}html[data-theme=light] .top-bar.svelte-1n46o8q{background-color:#fafafaf2}.main-content.svelte-1n46o8q{padding:64px 32px;min-height:calc(100vh - 200px);width:100%}.theme-toggle.svelte-1n46o8q{background:var(--card-bg);border:none;border-radius:4px;color:var(--text-color);font-family:var(--font-ui);font-size:var(--sp-font-small);padding:8px 12px;cursor:pointer;white-space:nowrap;transition:background .2s,opacity .2s}.theme-toggle.svelte-1n46o8q:hover{background:var(--hover);opacity:.8}.theme-toggle.svelte-1n46o8q:focus{outline:2px solid var(--text-tertiary);outline-offset:2px;border-radius:2px}.loading.svelte-1n46o8q,.error.svelte-1n46o8q{color:var(--text-tertiary);padding:24px 0;font-size:var(--sp-font-body)}.error.svelte-1n46o8q{color:#d32f2f}@media(max-width:768px){.top-bar.svelte-1n46o8q{padding:20px 24px}.main-content.svelte-1n46o8q{padding:48px 24px}}@media(max-width:480px){.top-bar.svelte-1n46o8q{padding:16px 20px;flex-wrap:wrap;gap:8px}.main-content.svelte-1n46o8q{padding:32px 20px}}
@@ -0,0 +1,13 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>sprig universe</title>
7
+ <script type="module" crossorigin src="/_ui/assets/index-O71xRVzw.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/_ui/assets/index-coj3G3o6.css">
9
+ </head>
10
+ <body>
11
+ <div id="app"></div>
12
+ </body>
13
+ </html>
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "@sprig-and-prose/sprig-ui",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "bin": {
6
+ "sprig-ui": "./src/cli.js"
7
+ },
8
+ "files": [
9
+ "dist",
10
+ "src"
11
+ ],
12
+ "scripts": {
13
+ "dev": "vite dev",
14
+ "build": "vite build",
15
+ "prepare": "npm run build",
16
+ "start": "node src/cli.js",
17
+ "format": "biome format . --write",
18
+ "lint": "biome lint .",
19
+ "typecheck": "tsc -p tsconfig.json"
20
+ },
21
+ "dependencies": {
22
+ "@sprig-and-prose/sprig-design": "^0.1.5",
23
+ "@sprig-and-prose/sprig-texture": "^0.1.0"
24
+ },
25
+ "devDependencies": {
26
+ "@biomejs/biome": "^2.3.10",
27
+ "@sveltejs/vite-plugin-svelte": "^5.0.0",
28
+ "@types/node": "^22.0.0",
29
+ "svelte": "^5.46.0",
30
+ "typescript": "^5.7.2",
31
+ "vite": "^6.0.0"
32
+ }
33
+ }