@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 +120 -0
- package/dist/assets/index-B6I7oo2K.js +1 -0
- package/dist/assets/index-O71xRVzw.js +4 -0
- package/dist/assets/index-coj3G3o6.css +1 -0
- package/dist/index.html +13 -0
- package/package.json +33 -0
- package/src/App.svelte +277 -0
- package/src/cli.js +146 -0
- package/src/lib/components/ContentsCard.svelte +283 -0
- package/src/lib/components/FooterStatus.svelte +83 -0
- package/src/lib/components/GlobalSearch.svelte +428 -0
- package/src/lib/components/NodePageLayout.svelte +65 -0
- package/src/lib/components/PageHeader.svelte +116 -0
- package/src/lib/components/Prose.svelte +260 -0
- package/src/lib/components/RelationshipsSection.svelte +122 -0
- package/src/lib/components/UniverseHeader.svelte +20 -0
- package/src/lib/data/universeStore.js +350 -0
- package/src/lib/format/kind.js +26 -0
- package/src/lib/format/title.js +97 -0
- package/src/lib/router.js +39 -0
- package/src/lib/stores/describeRenderMode.js +9 -0
- package/src/lib/stores/theme.js +98 -0
- package/src/main.js +154 -0
- package/src/pages/ConceptPage.svelte +88 -0
- package/src/pages/HomePage.svelte +48 -0
- package/src/server.js +115 -0
- package/src/styles/app.css +353 -0
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}}
|
package/dist/index.html
ADDED
|
@@ -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
|
+
}
|