@reddb-io/ui 0.4.3 → 0.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/build/404.html +10 -10
  2. package/build/_app/immutable/chunks/{BVl6pBRc.js → B3FG5fhF.js} +6 -6
  3. package/build/_app/immutable/chunks/{Dc8lKBnh.js → BlQXYusA.js} +8 -8
  4. package/build/_app/immutable/chunks/{DWBmncSs.js → C7CNScGY.js} +1 -1
  5. package/build/_app/immutable/chunks/CA0FBK2E.js +1 -0
  6. package/build/_app/immutable/chunks/DUYiW17f.js +9 -0
  7. package/build/_app/immutable/chunks/{kV8hsQzl.js → wBgvmJJD.js} +1 -1
  8. package/build/_app/immutable/entry/{app.ClFhgICw.js → app.D8Jp8K7E.js} +2 -2
  9. package/build/_app/immutable/entry/start.D-Hfyjh7.js +1 -0
  10. package/build/_app/immutable/nodes/{0.DnxEB_UF.js → 0.BUmcOGPK.js} +2 -2
  11. package/build/_app/immutable/nodes/{1.DTJl_4yI.js → 1.BY28ghvY.js} +1 -1
  12. package/build/_app/immutable/nodes/10.B0M25chV.js +1 -0
  13. package/build/_app/immutable/nodes/{15.aWdEGw6h.js → 15.CcKAFOhX.js} +4 -4
  14. package/build/_app/version.json +1 -1
  15. package/build/analytics.html +10 -10
  16. package/build/appearance.html +10 -10
  17. package/build/ask.html +10 -10
  18. package/build/cluster.html +10 -10
  19. package/build/collections.html +10 -10
  20. package/build/graph.html +11 -12
  21. package/build/index.html +10 -10
  22. package/build/query.html +10 -10
  23. package/build/redwire-ws-spike.html +10 -10
  24. package/build/security.html +10 -10
  25. package/build/settings.html +10 -10
  26. package/build/shadow-dom-spike.html +11 -11
  27. package/dist/embed/{AnalyticsView-DJ0Y_Zv4.js → AnalyticsView-DxVm8C96.js} +2405 -2416
  28. package/dist/embed/AnalyticsView-DxVm8C96.js.map +1 -0
  29. package/dist/embed/{RedUiEmbedRoot-CoCFK0ru.js → RedUiEmbedRoot-kDChueQB.js} +11397 -11111
  30. package/dist/embed/RedUiEmbedRoot-kDChueQB.js.map +1 -0
  31. package/dist/embed/{index-DpTEAkP_.js → index-DoXUF64H.js} +4 -4
  32. package/dist/embed/{index-DpTEAkP_.js.map → index-DoXUF64H.js.map} +1 -1
  33. package/dist/embed/{index-client-mxz2no-1.js → index-client-BSNcPP6j.js} +2 -2
  34. package/dist/embed/{index-client-mxz2no-1.js.map → index-client-BSNcPP6j.js.map} +1 -1
  35. package/dist/embed/index.js +1 -1
  36. package/dist/embed/{sigma.esm-CS_13_LV.js → sigma.esm-DVyBdcK2.js} +2 -2
  37. package/dist/embed/{sigma.esm-CS_13_LV.js.map → sigma.esm-DVyBdcK2.js.map} +1 -1
  38. package/package.json +3 -3
  39. package/src/lib/Topbar.svelte +7 -6
  40. package/src/lib/reddb/connection-string.ts +18 -2
  41. package/build/_app/immutable/chunks/BhXOdBY3.js +0 -5
  42. package/build/_app/immutable/chunks/CFwxJx29.js +0 -1
  43. package/build/_app/immutable/chunks/DRlh90Cv.js +0 -1
  44. package/build/_app/immutable/entry/start.CkIHSDqO.js +0 -1
  45. package/build/_app/immutable/nodes/10.DvpOZduu.js +0 -1
  46. package/dist/embed/AnalyticsView-DJ0Y_Zv4.js.map +0 -1
  47. package/dist/embed/RedUiEmbedRoot-CoCFK0ru.js.map +0 -1
@@ -1 +0,0 @@
1
- var ee=t=>{throw TypeError(t)};var De=(t,e,n)=>e.has(t)||ee("Cannot "+n);var y=(t,e,n)=>(De(t,e,"read from private field"),n?n.call(t):e.get(t)),A=(t,e,n)=>e.has(t)?ee("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n);import{bR as qt,bz as T,at as I,bm as P,bH as _t,bt as Ve}from"./CGFL56WJ.js";import{a as ne}from"./Btd6PFkC.js";class Bt{constructor(e,n){this.status=e,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}}class Kt{constructor(e,n){try{new Headers({location:n})}catch{throw new Error(`Invalid redirect location ${JSON.stringify(n)}: this string contains characters that cannot be used in HTTP headers`)}this.status=e,this.location=n}}class Mt extends Error{constructor(e,n,r){super(r),this.status=e,this.text=n}}new URL("sveltekit-internal://");function qe(t,e){return t==="/"||e==="ignore"?t:e==="never"?t.endsWith("/")?t.slice(0,-1):t:e==="always"&&!t.endsWith("/")?t+"/":t}function Be(t){return t.split("%25").map(decodeURI).join("%25")}function Ke(t){for(const e in t)t[e]=decodeURIComponent(t[e]);return t}function Pt({href:t}){return t.split("#")[0]}function j(){}function Me(...t){let e=5381;for(const n of t)if(typeof n=="string"){let r=n.length;for(;r;)e=e*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let a=r.length;for(;a;)e=e*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(e>>>0).toString(36)}new TextEncoder;function He(t){const e=atob(t),n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e.charCodeAt(r);return n}const Fe=window.fetch;window.fetch=(t,e)=>((t instanceof Request?t.method:(e==null?void 0:e.method)||"GET")!=="GET"&&Y.delete(Ht(t)),Fe(t,e));const Y=new Map;function Ge(t,e){const n=Ht(t,e),r=document.querySelector(n);if(r!=null&&r.textContent){r.remove();let{body:a,...o}=JSON.parse(r.textContent);const s=r.getAttribute("data-ttl");return s&&Y.set(n,{body:a,init:o,ttl:1e3*Number(s)}),r.getAttribute("data-b64")!==null&&(a=He(a)),Promise.resolve(new Response(a,o))}return window.fetch(t,e)}function We(t,e,n){if(Y.size>0){const r=Ht(t,n),a=Y.get(r);if(a){if(performance.now()<a.ttl&&["default","force-cache","only-if-cached",void 0].includes(n==null?void 0:n.cache))return new Response(a.body,a.init);Y.delete(r)}}return window.fetch(e,n)}function Ht(t,e){let r=`script[data-sveltekit-fetched][data-url=${JSON.stringify(t instanceof Request?t.url:t)}]`;if(e!=null&&e.headers||e!=null&&e.body){const a=[];e.headers&&a.push([...new Headers(e.headers)].join(",")),e.body&&(typeof e.body=="string"||ArrayBuffer.isView(e.body))&&a.push(e.body),r+=`[data-hash="${Me(...a)}"]`}return r}const ze=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,Je=/^\/\((?:[^)]+)\)$/;function Ye(t){const e=[];return{pattern:t==="/"||Je.test(t)?/^\/$/:new RegExp(`^${Qe(t).map(r=>{const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return e.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const o=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(o)return e.push({name:o[1],matcher:o[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const s=r.split(/\[(.+?)\](?!\])/);return"/"+s.map((l,c)=>{if(c%2){if(l.startsWith("x+"))return Ot(String.fromCharCode(parseInt(l.slice(2),16)));if(l.startsWith("u+"))return Ot(String.fromCharCode(...l.slice(2).split("-").map(m=>parseInt(m,16))));const u=ze.exec(l),[,h,_,p,f]=u;return e.push({name:p,matcher:f,optional:!!h,rest:!!_,chained:_?c===1&&s[0]==="":!1}),_?"([^]*?)":h?"([^/]*)?":"([^/]+?)"}return Ot(l)}).join("")}).join("")}/?$`),params:e}}function Xe(t){return t!==""&&!/^\([^)]+\)$/.test(t)}function Qe(t){return t.slice(1).split("/").filter(Xe)}function Ze(t,e,n){const r={},a=t.slice(1),o=a.filter(i=>i!==void 0);let s=0;for(let i=0;i<e.length;i+=1){const l=e[i];let c=a[i-s];if(l.chained&&l.rest&&s&&(c=a.slice(i-s,i+1).filter(u=>u).join("/"),s=0),c===void 0)if(l.rest)c="";else continue;if(!l.matcher||n[l.matcher](c)){r[l.name]=c;const u=e[i+1],h=a[i+1];u&&!u.rest&&u.optional&&h&&l.chained&&(s=0),!u&&!h&&Object.keys(r).length===o.length&&(s=0);continue}if(l.optional&&l.chained){s++;continue}return}if(!s)return r}function Ot(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function tn({nodes:t,server_loads:e,dictionary:n,matchers:r}){const a=new Set(e);return Object.entries(n).map(([i,[l,c,u]])=>{const{pattern:h,params:_}=Ye(i),p={id:i,exec:f=>{const m=h.exec(f);if(m)return Ze(m,_,r)},errors:[1,...u||[]].map(f=>t[f]),layouts:[0,...c||[]].map(s),leaf:o(l)};return p.errors.length=p.layouts.length=Math.max(p.errors.length,p.layouts.length),p});function o(i){const l=i<0;return l&&(i=~i),[l,t[i]]}function s(i){return i===void 0?i:[a.has(i),t[i]]}}function me(t,e=JSON.parse){try{return e(sessionStorage[t])}catch{}}function re(t,e,n=JSON.stringify){const r=n(e);try{sessionStorage[t]=r}catch{}}var ue;const U=((ue=globalThis.__sveltekit_pyk1yp)==null?void 0:ue.base)??"";var de;const en=((de=globalThis.__sveltekit_pyk1yp)==null?void 0:de.assets)??U??"",nn="1792721671915",_e="sveltekit:snapshot",we="sveltekit:scroll",ve="sveltekit:states",rn="sveltekit:pageurl",H="sveltekit:history",Q="sveltekit:navigation",q={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Lt=location.origin;function Ft(t){if(t instanceof URL)return t;let e=document.baseURI;if(!e){const n=document.getElementsByTagName("base");e=n.length?n[0].href:document.URL}return new URL(t,e)}function B(){return{x:pageXOffset,y:pageYOffset}}function M(t,e){return t.getAttribute(`data-sveltekit-${e}`)}const ae={...q,"":q.hover};function ye(t){let e=t.assignedSlot??t.parentNode;return(e==null?void 0:e.nodeType)===11&&(e=e.host),e}function be(t,e){for(;t&&t!==e;){if(t.nodeName.toUpperCase()==="A"&&t.hasAttribute("href"))return t;t=ye(t)}}function jt(t,e,n){let r;try{if(r=new URL(t instanceof SVGAElement?t.href.baseVal:t.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){const i=location.hash.split("#")[1]||"/";r.hash=`#${i}${r.hash}`}}catch{}const a=t instanceof SVGAElement?t.target.baseVal:t.target,o=!r||!!a||Ut(r,e,n)||(t.getAttribute("rel")||"").split(/\s+/).includes("external"),s=(r==null?void 0:r.origin)===Lt&&t.hasAttribute("download");return{url:r,external:o,target:a,download:s}}function wt(t){let e=null,n=null,r=null,a=null,o=null,s=null,i=t;for(;i&&i!==document.documentElement;)r===null&&(r=M(i,"preload-code")),a===null&&(a=M(i,"preload-data")),e===null&&(e=M(i,"keepfocus")),n===null&&(n=M(i,"noscroll")),o===null&&(o=M(i,"reload")),s===null&&(s=M(i,"replacestate")),i=ye(i);function l(c){switch(c){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:ae[r??"off"],preload_data:ae[a??"off"],keepfocus:l(e),noscroll:l(n),reload:l(o),replace_state:l(s)}}function oe(t){const e=qt(t);let n=!0;function r(){n=!0,e.update(s=>s)}function a(s){n=!1,e.set(s)}function o(s){let i;return e.subscribe(l=>{(i===void 0||n&&l!==i)&&s(i=l)})}return{notify:r,set:a,subscribe:o}}const ke={v:j};function an(){const{set:t,subscribe:e}=qt(!1);let n;async function r(){clearTimeout(n);try{const a=await fetch(`${en}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const s=(await a.json()).version!==nn;return s&&(t(!0),ke.v(),clearTimeout(n)),s}catch{return!1}}return{subscribe:e,check:r}}function Ut(t,e,n){return t.origin!==Lt||!t.pathname.startsWith(e)?!0:n?t.pathname!==location.pathname:!1}function Pn(t){}const Ee=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...Ee];const on=new Set([...Ee]);[...on];function sn(t){return t.filter(e=>e!=null)}function gt(t,e){return t+"/"+e}function Gt(t){return t instanceof Bt||t instanceof Mt?t.status:500}function ln(t){return t instanceof Mt?t.text:"Internal Error"}let x,Z,$t;const cn=ne.toString().includes("$$")||/function \w+\(\) \{\}/.test(ne.toString()),se="a:";var at,ot,st,it,lt,ct,ft,ut,he,dt,pe,ht,ge;cn?(x={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(se)},Z={current:null},$t={current:!1}):(x=new(he=class{constructor(){A(this,at,T({}));A(this,ot,T(null));A(this,st,T(null));A(this,it,T({}));A(this,lt,T({id:null}));A(this,ct,T({}));A(this,ft,T(-1));A(this,ut,T(new URL(se)))}get data(){return I(y(this,at))}set data(e){P(y(this,at),e)}get form(){return I(y(this,ot))}set form(e){P(y(this,ot),e)}get error(){return I(y(this,st))}set error(e){P(y(this,st),e)}get params(){return I(y(this,it))}set params(e){P(y(this,it),e)}get route(){return I(y(this,lt))}set route(e){P(y(this,lt),e)}get state(){return I(y(this,ct))}set state(e){P(y(this,ct),e)}get status(){return I(y(this,ft))}set status(e){P(y(this,ft),e)}get url(){return I(y(this,ut))}set url(e){P(y(this,ut),e)}},at=new WeakMap,ot=new WeakMap,st=new WeakMap,it=new WeakMap,lt=new WeakMap,ct=new WeakMap,ft=new WeakMap,ut=new WeakMap,he),Z=new(pe=class{constructor(){A(this,dt,T(null))}get current(){return I(y(this,dt))}set current(e){P(y(this,dt),e)}},dt=new WeakMap,pe),$t=new(ge=class{constructor(){A(this,ht,T(!1))}get current(){return I(y(this,ht))}set current(e){P(y(this,ht),e)}},ht=new WeakMap,ge),ke.v=()=>$t.current=!0);function Se(t){Object.assign(x,t)}const fn=new Set(["icon","shortcut icon","apple-touch-icon"]);let z=null;const D=me(we)??{},tt=me(_e)??{},N={url:oe({}),page:oe({}),navigating:qt(null),updated:an()};function Wt(t){D[t]=B()}function un(t,e){let n=t+1;for(;D[n];)delete D[n],n+=1;for(n=e+1;tt[n];)delete tt[n],n+=1}function et(t,e=!1){return e?location.replace(t.href):location.href=t.href,new Promise(j)}async function Re(){if("serviceWorker"in navigator){const t=await navigator.serviceWorker.getRegistration(U||"/");t&&await t.update()}}let zt,Nt,vt,O,Dt,E;const yt=[],bt=[];let v=null;function kt(){var t;(t=v==null?void 0:v.fork)==null||t.then(e=>e==null?void 0:e.discard()),v=null}const mt=new Map,xe=new Set,dn=new Set,X=new Set;let w={branch:[],error:null,url:null},Le=!1,Et=!1,ie=!0,nt=!1,J=!1,Ue=!1,Jt=!1,Ae,k,L,C;const St=new Set,le=new Map,ce=new Map;async function jn(t,e,n){var o,s,i,l;globalThis.__sveltekit_pyk1yp&&(globalThis.__sveltekit_pyk1yp.query,globalThis.__sveltekit_pyk1yp.prerender),document.URL!==location.href&&(location.href=location.href),E=t,await((s=(o=t.hooks).init)==null?void 0:s.call(o)),zt=tn(t),O=document.documentElement,Dt=e,Nt=t.nodes[0],vt=t.nodes[1],Nt(),vt(),k=(i=history.state)==null?void 0:i[H],L=(l=history.state)==null?void 0:l[Q],k||(k=L=Date.now(),history.replaceState({...history.state,[H]:k,[Q]:L},""));const r=D[k];function a(){r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y))}n?(a(),await Rn(Dt,n)):(await F({type:"enter",url:Ft(E.hash?Un(new URL(location.href)):location.href),replace_state:!0}),a()),Sn()}function hn(){yt.length=0,Jt=!1}function Te(t){bt.some(e=>e==null?void 0:e.snapshot)&&(tt[t]=bt.map(e=>{var n;return(n=e==null?void 0:e.snapshot)==null?void 0:n.capture()}))}function Ie(t){var e;(e=tt[t])==null||e.forEach((n,r)=>{var a,o;(o=(a=bt[r])==null?void 0:a.snapshot)==null||o.restore(n)})}function fe(){Wt(k),re(we,D),Te(L),re(_e,tt)}async function Pe(t,e,n,r){let a,o;e.invalidateAll&&kt(),await F({type:"goto",url:Ft(t),keepfocus:e.keepFocus,noscroll:e.noScroll,replace_state:e.replaceState,state:e.state,redirect_count:n,nav_token:r,accept:()=>{if(e.invalidateAll){Jt=!0,a=new Set;for(const[s,i]of le)for(const l of i.keys())a.add(gt(s,l));o=new Set;for(const[s,i]of ce)for(const l of i.keys())o.add(gt(s,l))}e.invalidate&&e.invalidate.forEach(En)}}),e.invalidateAll&&_t().then(_t).then(()=>{for(const[s,i]of le)for(const[l,{resource:c}]of i)a!=null&&a.has(gt(s,l))&&c.refresh();for(const[s,i]of ce)for(const[l,{resource:c}]of i)o!=null&&o.has(gt(s,l))&&c.reconnect()})}async function pn(t){if(t.id!==(v==null?void 0:v.id)){kt();const e={};St.add(e),v={id:t.id,token:e,promise:$e({...t,preload:e}).then(n=>(St.delete(e),n.type==="loaded"&&n.state.error&&kt(),n)),fork:null}}return v.promise}async function Ct(t){var n;const e=(n=await At(t,!1))==null?void 0:n.route;e&&await Promise.all([...e.layouts,e.leaf].filter(Boolean).map(r=>r[1]()))}async function Oe(t,e,n){var a;const r={params:w.params,route:{id:((a=w.route)==null?void 0:a.id)??null},url:new URL(location.href)};if(w={...t.state,nav:r},Se(t.props.page),Ae=new E.root({target:e,props:{...t.props,stores:N,components:bt},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),Ie(L),n){const o={from:null,to:{...r,scroll:D[k]??B()},willUnload:!1,type:"enter",complete:Promise.resolve()};X.forEach(s=>s(o))}Et=!0}async function Rt({url:t,params:e,branch:n,errors:r,status:a,error:o,route:s,form:i}){let l="never";if(U&&(t.pathname===U||t.pathname===U+"/"))l="always";else for(const f of n)(f==null?void 0:f.slash)!==void 0&&(l=f.slash);t.pathname=qe(t.pathname,l),t.search=t.search;const c={type:"loaded",state:{url:t,params:e,branch:n,error:o,route:s},props:{constructors:sn(n).map(f=>f.node.component),page:te(x)}};i!==void 0&&(c.props.form=i);let u={},h=!x,_=0;for(let f=0;f<Math.max(n.length,w.branch.length);f+=1){const m=n[f],d=w.branch[f];(m==null?void 0:m.data)!==(d==null?void 0:d.data)&&(h=!0),m&&(u={...u,...m.data},h&&(c.props[`data_${_}`]=u),_+=1)}return(!w.url||t.href!==w.url.href||w.error!==o||i!==void 0&&i!==x.form||h)&&(c.props.page={error:o,params:e,route:{id:(s==null?void 0:s.id)??null},state:{},status:a,url:new URL(t),form:i??null,data:h?u:x.data}),c}async function Yt({loader:t,parent:e,url:n,params:r,route:a,server_data_node:o}){var c,u;let s=null;const i={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await t();return{node:l,loader:t,server:o,universal:(c=l.universal)!=null&&c.load?{type:"data",data:s,uses:i}:null,data:s??(o==null?void 0:o.data)??null,slash:((u=l.universal)==null?void 0:u.trailingSlash)??(o==null?void 0:o.slash)}}function gn(t,e,n){let r=t instanceof Request?t.url:t;const a=new URL(r,n);a.origin===n.origin&&(r=a.href.slice(n.origin.length));const o=Et?We(r,a.href,e):Ge(r,e);return{resolved:a,promise:o}}function mn(t,e,n,r,a,o){if(Jt)return!0;if(!a)return!1;if(a.parent&&t||a.route&&e||a.url&&n)return!0;for(const s of a.search_params)if(r.has(s))return!0;for(const s of a.params)if(o[s]!==w.params[s])return!0;for(const s of a.dependencies)if(yt.some(i=>i(new URL(s))))return!0;return!1}function Xt(t,e){return(t==null?void 0:t.type)==="data"?t:(t==null?void 0:t.type)==="skip"?e??null:null}function _n(t,e){if(!t)return new Set(e.searchParams.keys());const n=new Set([...t.searchParams.keys(),...e.searchParams.keys()]);for(const r of n){const a=t.searchParams.getAll(r),o=e.searchParams.getAll(r);a.every(s=>o.includes(s))&&o.every(s=>a.includes(s))&&n.delete(r)}return n}function wn({error:t,url:e,route:n,params:r}){return{type:"loaded",state:{error:t,url:e,route:n,params:r,branch:[]},props:{page:te(x),constructors:[]}}}async function $e({id:t,invalidating:e,url:n,params:r,route:a,preload:o}){if((v==null?void 0:v.id)===t)return St.delete(v.token),v.promise;const{errors:s,layouts:i,leaf:l}=a,c=[...i,l];s.forEach(d=>d==null?void 0:d().catch(j)),c.forEach(d=>d==null?void 0:d[1]().catch(j));const u=w.url?t!==xt(w.url):!1,h=w.route?a.id!==w.route.id:!1,_=_n(w.url,n);let p=!1;const f=c.map(async(d,g)=>{var $;if(!d)return;const b=w.branch[g];return d[1]===(b==null?void 0:b.loader)&&!mn(p,h,u,_,($=b.universal)==null?void 0:$.uses,r)?b:(p=!0,Yt({loader:d[1],url:n,params:r,route:a,parent:async()=>{var pt;const V={};for(let K=0;K<g;K+=1)Object.assign(V,(pt=await f[K])==null?void 0:pt.data);return V},server_data_node:Xt(d[0]?{type:"skip"}:null,d[0]?b==null?void 0:b.server:void 0)}))});for(const d of f)d.catch(j);const m=[];for(let d=0;d<c.length;d+=1)if(c[d])try{m.push(await f[d])}catch(g){if(g instanceof Kt)return{type:"redirect",location:g.location};if(St.has(o))return wn({error:await rt(g,{params:r,url:n,route:{id:a.id}}),url:n,params:r,route:a});let b=Gt(g),R;if(g instanceof Bt)R=g.body;else{if(await N.updated.check())return await Re(),await et(n);R=await rt(g,{params:r,url:n,route:{id:a.id}})}const $=await vn(d,m,s);return $?Rt({url:n,params:r,branch:m.slice(0,$.idx).concat($.node),errors:s,status:b,error:R,route:a}):await je(n,{id:a.id},R,b)}else m.push(void 0);return Rt({url:n,params:r,branch:m,errors:s,status:200,error:null,route:a,form:e?void 0:null})}async function vn(t,e,n){for(;t--;)if(n[t]){let r=t;for(;!e[r];)r-=1;try{return{idx:r+1,node:{node:await n[t](),loader:n[t],data:{},server:null,universal:null}}}catch{continue}}}async function Qt({status:t,error:e,url:n,route:r}){const a={};let o=null;try{const s=await Yt({loader:Nt,url:n,params:a,route:r,parent:()=>Promise.resolve({}),server_data_node:Xt(o)}),i={node:await vt(),loader:vt,universal:null,server:null,data:null};return Rt({url:n,params:a,branch:[s,i],status:t,error:e,errors:[],route:null})}catch(s){if(s instanceof Kt)return Pe(new URL(s.location,location.href),{},0);throw s}}async function yn(t){const e=t.href;if(mt.has(e))return mt.get(e);let n;try{const r=(async()=>{let a=await E.hooks.reroute({url:new URL(t),fetch:async(o,s)=>gn(o,s,t).promise})??t;if(typeof a=="string"){const o=new URL(t);E.hash?o.hash=a:o.pathname=a,a=o}return a})();mt.set(e,r),n=await r}catch{mt.delete(e);return}return n}async function At(t,e){if(t&&!Ut(t,U,E.hash)){const n=await yn(t);if(!n)return;const r=bn(n);for(const a of zt){const o=a.exec(r);if(o)return{id:xt(t),invalidating:e,route:a,params:Ke(o),url:t}}}}function bn(t){return Be(E.hash?t.hash.replace(/^#/,"").replace(/[?#].+/,""):t.pathname.slice(U.length))||"/"}function xt(t){return(E.hash?t.hash.replace(/^#/,""):t.pathname)+t.search}function Ce({url:t,type:e,intent:n,delta:r,event:a,scroll:o}){let s=!1;const i=Zt(w,n,t,e,o??null);r!==void 0&&(i.navigation.delta=r),a!==void 0&&(i.navigation.event=a);const l={...i.navigation,cancel:()=>{s=!0,i.reject(new Error("navigation cancelled"))}};return nt||xe.forEach(c=>c(l)),s?null:i}async function F({type:t,url:e,popped:n,keepfocus:r,noscroll:a,replace_state:o,state:s={},redirect_count:i=0,nav_token:l={},accept:c=j,block:u=j,event:h}){var K;const _=C;C=l;const p=await At(e,!1),f=t==="enter"?Zt(w,p,e,t):Ce({url:e,type:t,delta:n==null?void 0:n.delta,intent:p,scroll:n==null?void 0:n.scroll,event:h});if(!f){u(),C===l&&(C=_);return}const m=k,d=L;c(),nt=!0,Et&&f.navigation.type!=="enter"&&N.navigating.set(Z.current=f.navigation);let g=p&&await $e(p);if(!g){if(Ut(e,U,E.hash))return await et(e,o);g=await je(e,{id:null},await rt(new Mt(404,"Not Found",`Not found: ${e.pathname}`),{url:e,params:{},route:{id:null}}),404,o)}if(e=(p==null?void 0:p.url)||e,C!==l)return f.reject(new Error("navigation aborted")),!1;if(g.type==="redirect"){if(i<20){await F({type:t,url:new URL(g.location,e),popped:n,keepfocus:r,noscroll:a,replace_state:o,state:s,redirect_count:i+1,nav_token:l}),f.fulfil(void 0);return}g=await Qt({status:500,error:await rt(new Error("Redirect loop"),{url:e,params:{},route:{id:null}}),url:e,route:{id:null}})}else g.props.page.status>=400&&await N.updated.check()&&(await Re(),await et(e,o));if(hn(),Wt(m),Te(d),g.props.page.url.pathname!==e.pathname&&(e.pathname=g.props.page.url.pathname),s=n?n.state:s,!n){const S=o?0:1,G={[H]:k+=S,[Q]:L+=S,[ve]:s};(o?history.replaceState:history.pushState).call(history,G,"",e),o||un(k,L)}const b=p&&(v==null?void 0:v.id)===p.id?v.fork:null;v!=null&&v.fork&&!b&&kt(),v=null,g.props.page.state=s;let R;if(Et){const S=(await Promise.all(Array.from(dn,W=>W(f.navigation)))).filter(W=>typeof W=="function");if(S.length>0){let W=function(){S.forEach(It=>{X.delete(It)})};S.push(W),S.forEach(It=>{X.add(It)})}const G=f.navigation.to;w={...g.state,nav:{params:G.params,route:G.route,url:G.url}},g.props.page&&(g.props.page.url=e);const Tt=b&&await b;Tt?R=Tt.commit():(z=null,Ae.$set(g.props),z&&Object.assign(g.props.page,z),Se(g.props.page),R=(K=Ve)==null?void 0:K()),Ue=!0}else await Oe(g,Dt,!1);const{activeElement:$}=document;if(await R,await _t(),await _t(),C!==l)return f.reject(new Error("navigation aborted")),!1;g.props.page&&z&&Object.assign(g.props.page,z);let V=null;if(ie){const S=n?n.scroll:a?B():null;S?scrollTo(S.x,S.y):(V=e.hash&&document.getElementById(Ne(e)))?V.scrollIntoView():scrollTo(0,0)}const pt=document.activeElement!==$&&document.activeElement!==document.body;!r&&!pt&&Ln(e,!V),ie=!0,nt=!1,t==="popstate"&&Ie(L),f.fulfil(void 0),f.navigation.to&&(f.navigation.to.scroll=B()),X.forEach(S=>S(f.navigation)),N.navigating.set(Z.current=null)}async function je(t,e,n,r,a){return t.origin===Lt&&t.pathname===location.pathname&&!Le?await Qt({status:r,error:n,url:t,route:e}):await et(t,a)}function kn(){let t,e={element:void 0,href:void 0},n;O.addEventListener("mousemove",i=>{const l=i.target;clearTimeout(t),t=setTimeout(()=>{o(l,q.hover)},20)});function r(i){i.defaultPrevented||o(i.composedPath()[0],q.tap)}O.addEventListener("mousedown",r),O.addEventListener("touchstart",r,{passive:!0});const a=new IntersectionObserver(i=>{for(const l of i)l.isIntersecting&&(Ct(new URL(l.target.href)),a.unobserve(l.target))},{threshold:0});async function o(i,l){const c=be(i,O),u=c===e.element&&(c==null?void 0:c.href)===e.href&&l>=n;if(!c||u)return;const{url:h,external:_,download:p}=jt(c,U,E.hash);if(_||p)return;const f=wt(c),m=h&&xt(w.url)===xt(h);if(!(f.reload||m))if(l<=f.preload_data){e={element:c,href:c.href},n=q.tap;const d=await At(h,!1);if(!d)return;pn(d)}else l<=f.preload_code&&(e={element:c,href:c.href},n=l,Ct(h))}function s(){a.disconnect();for(const i of O.querySelectorAll("a")){const{url:l,external:c,download:u}=jt(i,U,E.hash);if(c||u)continue;const h=wt(i);h.reload||(h.preload_code===q.viewport&&a.observe(i),h.preload_code===q.eager&&Ct(l))}}X.add(s),s()}function rt(t,e){if(t instanceof Bt)return t.body;const n=Gt(t),r=ln(t);return E.hooks.handleError({error:t,event:e,status:n,message:r})??{message:r}}function Nn(t,e={}){return t=new URL(Ft(t)),t.origin!==Lt?Promise.reject(new Error("goto: invalid URL")):Pe(t,e,0)}function En(t){if(typeof t=="function")yt.push(t);else{const{href:e}=new URL(t,location.href);yt.push(n=>n.href===e)}}function Sn(){var e,n;history.scrollRestoration="manual",addEventListener("beforeunload",r=>{let a=!1;if(fe(),!nt){const o=Zt(w,void 0,null,"leave"),s={...o.navigation,cancel:()=>{a=!0,o.reject(new Error("navigation cancelled"))}};xe.forEach(i=>i(s))}a?(r.preventDefault(),r.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&fe()}),!((e=navigator.connection)!=null&&e.saveData)&&!/2g/.test((n=navigator.connection)==null?void 0:n.effectiveType)&&kn(),O.addEventListener("click",async r=>{if(r.button||r.which!==1||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey||r.defaultPrevented)return;const a=be(r.composedPath()[0],O);if(!a)return;const{url:o,external:s,target:i,download:l}=jt(a,U,E.hash);if(!o)return;if(i==="_parent"||i==="_top"){if(window.parent!==window)return}else if(i&&i!=="_self")return;const c=wt(a);if(!(a instanceof SVGAElement)&&o.protocol!==location.protocol&&!(o.protocol==="https:"||o.protocol==="http:")||l)return;const[h,_]=(E.hash?o.hash.replace(/^#/,""):o.href).split("#"),p=h===Pt(location);if(s||c.reload&&(!p||!_)){Ce({url:o,type:"link",event:r})?nt=!0:r.preventDefault();return}if(_!==void 0&&p){const[,f]=w.url.href.split("#");if(f===_){if(r.preventDefault(),_===""||_==="top"&&a.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const m=a.ownerDocument.getElementById(decodeURIComponent(_));m&&(m.scrollIntoView(),m.focus())}return}if(J=!0,Wt(k),t(o),!c.replace_state)return;J=!1}r.preventDefault(),await new Promise(f=>{requestAnimationFrame(()=>{setTimeout(f,0)}),setTimeout(f,100)}),await F({type:"link",url:o,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??o.href===location.href,event:r})}),O.addEventListener("submit",r=>{if(r.defaultPrevented)return;const a=HTMLFormElement.prototype.cloneNode.call(r.target),o=r.submitter;if(((o==null?void 0:o.formTarget)||a.target)==="_blank"||((o==null?void 0:o.formMethod)||a.method)!=="get")return;const l=new URL((o==null?void 0:o.hasAttribute("formaction"))&&(o==null?void 0:o.formAction)||a.action);if(Ut(l,U,!1))return;const c=r.target,u=wt(c);if(u.reload)return;r.preventDefault(),r.stopPropagation();const h=new FormData(c,o);l.search=new URLSearchParams(h).toString(),F({type:"form",url:l,keepfocus:u.keepfocus,noscroll:u.noscroll,replace_state:u.replace_state??l.href===location.href,event:r})}),addEventListener("popstate",async r=>{var a;if(!Vt){if((a=r.state)!=null&&a[H]){const o=r.state[H];if(C={},o===k)return;const s=D[o],i=r.state[ve]??{},l=new URL(r.state[rn]??location.href),c=r.state[Q],u=w.url?Pt(location)===Pt(w.url):!1;if(c===L&&(Ue||u)){i!==x.state&&(x.state=i),t(l),D[k]=B(),s&&scrollTo(s.x,s.y),k=o;return}const _=o-k;await F({type:"popstate",url:l,popped:{state:i,scroll:s,delta:_},accept:()=>{k=o,L=c},block:()=>{history.go(-_)},nav_token:C,event:r})}else if(!J){const o=new URL(location.href);t(o),E.hash&&location.reload()}}}),addEventListener("hashchange",()=>{J&&(J=!1,history.replaceState({...history.state,[H]:++k,[Q]:L},"",location.href))});for(const r of document.querySelectorAll("link"))fn.has(r.rel)&&(r.href=r.href);addEventListener("pageshow",r=>{r.persisted&&N.navigating.set(Z.current=null)});function t(r){w.url=x.url=r,N.page.set(te(x)),N.page.notify()}}async function Rn(t,{status:e=200,error:n,node_ids:r,params:a,route:o,server_route:s,data:i,form:l}){Le=!0;const c=new URL(location.href);let u;({params:a={},route:o={id:null}}=await At(c,!1)||{}),u=zt.find(({id:p})=>p===o.id);let h,_=!0;try{const p=r.map(async(m,d)=>{const g=i[d];return g!=null&&g.uses&&(g.uses=xn(g.uses)),Yt({loader:E.nodes[m],url:c,params:a,route:o,parent:async()=>{const b={};for(let R=0;R<d;R+=1)Object.assign(b,(await p[R]).data);return b},server_data_node:Xt(g)})}),f=await Promise.all(p);if(u){const m=u.layouts;for(let d=0;d<m.length;d++)m[d]||f.splice(d,0,void 0)}h=await Rt({url:c,params:a,branch:f,status:e,error:n,errors:u==null?void 0:u.errors,form:l,route:u??null})}catch(p){if(p instanceof Kt){await et(new URL(p.location,location.href));return}h=await Qt({status:Gt(p),error:await rt(p,{url:c,params:a,route:o}),url:c,route:o}),t.textContent="",_=!1}finally{}h.props.page&&(h.props.page.state={}),await Oe(h,t,_)}function xn(t){return{dependencies:new Set((t==null?void 0:t.dependencies)??[]),params:new Set((t==null?void 0:t.params)??[]),parent:!!(t!=null&&t.parent),route:!!(t!=null&&t.route),url:!!(t!=null&&t.url),search_params:new Set((t==null?void 0:t.search_params)??[])}}let Vt=!1;function Ln(t,e=!0){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const r=Ne(t);if(r&&document.getElementById(r)){const{x:o,y:s}=B();setTimeout(()=>{const i=history.state;Vt=!0,location.replace(new URL(`#${r}`,location.href)),history.replaceState(i,"",t),e&&scrollTo(o,s),Vt=!1})}else{const o=document.body,s=o.getAttribute("tabindex");o.tabIndex=-1,o.focus({preventScroll:!0,focusVisible:!1}),s!==null?o.setAttribute("tabindex",s):o.removeAttribute("tabindex")}const a=getSelection();if(a&&a.type!=="None"){const o=[];for(let s=0;s<a.rangeCount;s+=1)o.push(a.getRangeAt(s));setTimeout(()=>{if(a.rangeCount===o.length){for(let s=0;s<a.rangeCount;s+=1){const i=o[s],l=a.getRangeAt(s);if(i.commonAncestorContainer!==l.commonAncestorContainer||i.startContainer!==l.startContainer||i.endContainer!==l.endContainer||i.startOffset!==l.startOffset||i.endOffset!==l.endOffset)return}a.removeAllRanges()}})}}}function Zt(t,e,n,r,a=null){var c,u;let o,s;const i=new Promise((h,_)=>{o=h,s=_});return i.catch(j),{navigation:{from:{params:t.params,route:{id:((c=t.route)==null?void 0:c.id)??null},url:t.url,scroll:B()},to:n&&{params:(e==null?void 0:e.params)??null,route:{id:((u=e==null?void 0:e.route)==null?void 0:u.id)??null},url:n,scroll:a},willUnload:!e,type:r,complete:i},fulfil:o,reject:s}}function te(t){return{data:t.data,error:t.error,form:t.form,params:t.params,route:t.route,state:t.state,status:t.status,url:t.url}}function Un(t){const e=new URL(t);return e.hash=decodeURIComponent(t.hash),e}function Ne(t){let e;if(E.hash){const[,,n]=t.hash.split("#",3);e=n??""}else e=t.hash.slice(1);return decodeURIComponent(e)}export{N as a,U as b,Nn as g,Pn as l,x as p,jn as s};
@@ -1 +0,0 @@
1
- import{aF as t,aD as i,aU as c,a2 as f}from"./CGFL56WJ.js";import{B as y}from"./DCJ0QyYH.js";const l=Symbol("NaN");function h(r,e,n){t&&i();var o=new y(r),s=!c();f(()=>{var a=e();a!==a&&(a=l),s&&a!==null&&typeof a=="object"&&(a={}),o.ensure(a,n)})}export{h as k};
@@ -1 +0,0 @@
1
- import{l as o,s as r}from"../chunks/CFwxJx29.js";export{o as load_css,r as start};
@@ -1 +0,0 @@
1
- import"../chunks/Bzak7iHL.js";import{a as jt}from"../chunks/Btd6PFkC.js";import{b9 as Et,b6 as Gt,bm as f,al as Nt,$ as At,a6 as i,at as n,bg as s,bz as H,aq as X,bw as v,b2 as Je,bG as j,bN as re}from"../chunks/CGFL56WJ.js";import{h as Mt,a as h,k as S,v as y,i as V,j as Ft,x as Ce,e as Rt}from"../chunks/nuKvOE41.js";import{i as R}from"../chunks/DCJ0QyYH.js";import{k as Tt}from"../chunks/DRlh90Cv.js";import{I as xe,j as Dt,F as He,f as Ot,E as Pt,c as Ut,L as qt,G as Bt,n as Re,t as Te}from"../chunks/Dc8lKBnh.js";import{h as Jt}from"../chunks/BgOTHNR5.js";import{e as Ve,j as Ye,r as Ht,d as Vt,k as Yt}from"../chunks/BRBZjpE2.js";import{s as _e,r as he,b as Kt}from"../chunks/CN4cKZHK.js";import{p as Qt}from"../chunks/DWBmncSs.js";const Ze={name:"arrow-left",size:24,node:[["path",{d:"m12 19-7-7 7-7"}],["path",{d:"M19 12H5"}]]};Ze.node;function Zt(e,t){let o=he(t,["$$slots","$$events","$$legacy"]);xe(e,_e(()=>o,{get icon(){return Ze}}))}const We={name:"box",size:24,node:[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z"}],["path",{d:"m3.3 7 8.7 5 8.7-5"}],["path",{d:"M12 22V12"}]]};We.node;function Wt(e,t){let o=he(t,["$$slots","$$events","$$legacy"]);xe(e,_e(()=>o,{get icon(){return We}}))}const Xe={name:"chevron-right",size:24,node:[["path",{d:"m9 18 6-6-6-6"}]]};Xe.node;function Se(e,t){let o=he(t,["$$slots","$$events","$$legacy"]);xe(e,_e(()=>o,{get icon(){return Xe}}))}const et={name:"circle-dot",size:24,node:[["circle",{cx:"12",cy:"12",r:"1"}],["circle",{cx:"12",cy:"12",r:"10"}]]};et.node;function Xt(e,t){let o=he(t,["$$slots","$$events","$$legacy"]);xe(e,_e(()=>o,{get icon(){return et}}))}const tt={name:"upload",size:24,node:[["path",{d:"M12 3v12"}],["path",{d:"m17 8-5-5-5 5"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}]]};tt.node;function en(e,t){let o=he(t,["$$slots","$$events","$$legacy"]);xe(e,_e(()=>o,{get icon(){return tt}}))}const Le=1;class $ extends Error{constructor(t){super(t),this.name="GraphContractError"}}function ee(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Y(e,t){for(const o of t){const r=e[o];if(r!=null&&r!=="")return r}}function tn(e){const t=Y(e,["version","schema_version","schemaVersion"]);if(typeof t!="string"||t.trim()==="")throw new $(`Graph export is missing a "version" string. This viewer supports the version ${Le}.x contract.`);const o=Number.parseInt(t.split(".")[0]??"",10);if(!Number.isFinite(o))throw new $(`Graph export declares an unparseable version "${t}". This viewer supports version ${Le}.x.`);if(o!==Le)throw new $(`Unsupported graph export version "${t}". This viewer supports version ${Le}.x.`);return t}function nn(e,t){if(!ee(e))throw new $(`Graph node at index ${t} is not an object.`);const o=Y(e,["id","rid","_id","uid"]);if(o===void 0)throw new $(`Graph node at index ${t} is missing the required "id" field.`);const r=String(o),a=Y(e,["label","name","title"]),u=Y(e,["type","node_type","kind"]),m=e.community;return{id:r,label:a!==void 0?String(a):r,type:u!==void 0?String(u):void 0,community:typeof m=="number"?m:void 0,data:e}}function on(e,t){if(!ee(e))throw new $(`Graph edge at index ${t} is not an object.`);const o=Y(e,["source","from","src","start","from_rid"]);if(o===void 0)throw new $(`Graph edge at index ${t} is missing the required "source" field.`);const r=Y(e,["target","to","dst","end","to_rid"]);if(r===void 0)throw new $(`Graph edge at index ${t} is missing the required "target" field.`);const a=Y(e,["kind","type","label","rel"]),u=String(o),m=String(r),b=Y(e,["id","rid"]);return{id:b!==void 0?String(b):`${u}->${m}:${a??""}#${t}`,source:u,target:m,type:a!==void 0?String(a):void 0,data:e}}function rn(e){if(e==null)return[];if(!Array.isArray(e))throw new $('Graph export "communities" must be an array when present.');return e.map((t,o)=>{if(!ee(t))throw new $(`Community at index ${o} is not an object.`);if(typeof t.id!="number")throw new $(`Community at index ${o} is missing a numeric "id".`);const r=t.id;return{id:r,label:typeof t.label=="string"?t.label:`Community ${r}`,color:typeof t.color=="string"?t.color:Dt(r),size:typeof t.size=="number"?t.size:0}})}function an(e,t){const o={};for(const a of e)o[a.id]={...a.data,id:a.id,label:a.label,...a.type!==void 0?{node_type:a.type}:{}};const r={};for(const a of t)r[a.id]={...a.data,source:a.source,target:a.target,...a.type!==void 0?{type:a.type}:{}};return{ok:!0,query:"",capability:"graph",record_count:e.length+t.length,result:{columns:["nodes","edges"],records:[{values:{},nodes:o,edges:r}]}}}function sn(e){if(!ee(e))throw new $('Graph export must be a JSON object with "version" and graph data.');const t=ee(e.contract)?e.contract:null,o=tn(t??e),r=t??(ee(e.graph)?e.graph:e),a=r.nodes,u=r.edges;if(!Array.isArray(a))throw new $('Graph export "nodes" must be an array.');if(!Array.isArray(u))throw new $('Graph export "edges" must be an array.');const m=a.map(nn),b=u.map(on),d=rn(e.communities??r.communities);return{version:o,model:{nodes:m,edges:b,communities:d},result:an(m,b),meta:ee(e.meta)?e.meta:{}}}function nt(e){let t;try{t=JSON.parse(e)}catch(o){const r=o instanceof Error?o.message:String(o);throw new $(`Graph export is not valid JSON: ${r}`)}return sn(t)}async function ln(e,t={}){const o=t.fetch??globalThis.fetch;if(typeof o!="function")throw new $("No fetch implementation available to load the graph.");let r;try{r=await o(e)}catch(u){const m=u instanceof Error?u.message:String(u);throw new $(`Failed to fetch graph from "${e}": ${m}`)}if(!r.ok)throw new $(`Failed to load graph from "${e}": HTTP ${r.status} ${r.statusText}`.trim());const a=await r.text();return nt(a)}const cn=["layer","layer_name","layerName","layer_id","layerId","domain","namespace"],dn=["community","community_name","communityName","community_id","communityId"],pn=["component","component_name","componentName","component_id","componentId","package","module","service","collection","file","path"],ot={id:"unassigned",label:"Unassigned",color:"#94a3b8"},un=/^(#[0-9a-f]{3,8}|rgba?\([\d\s.,%+-]+\)|hsla?\([\d\s.,%+-]+\)|oklch\([\d\s.%+-]+(?:\/\s*[\d.]+%?)?\))$/i;function vn(e){const t=e.trim();return un.test(t)?t:ot.color}function be(e,t){for(const o of t){const r=e[o];if(!(r==null||r==="")&&(typeof r=="string"||typeof r=="number"))return String(r)}return null}function ze(e,t){return`${e}:${t.toLowerCase().replace(/[^a-z0-9._:/-]+/g,"-")}`}function fn(e){return new Map(e.communities.map(t=>[t.id,{label:t.label,color:vn(t.color)}]))}function mn(e,t){const o=be(e.data,cn);if(o)return{id:ze("layer",o),label:o,color:"#94a3b8"};if(typeof e.community=="number"){const a=t.get(e.community);return{id:`community:${e.community}`,label:(a==null?void 0:a.label)??`Community ${e.community}`,color:(a==null?void 0:a.color)??"#94a3b8"}}const r=be(e.data,dn);return r?{id:ze("community",r),label:r,color:"#94a3b8"}:ot}function gn(e){const t=be(e.data,pn);if(t)return{id:ze("component",t),label:t};const o=e.type??be(e.data,["node_type","kind"]);return o?{id:ze("type",o),label:`${o} nodes`}:{id:"component:unassigned",label:"Unassigned"}}function Ke(e,t){let o=0,r=0,a=0;for(const u of t){const m=e.has(u.source),b=e.has(u.target);!m&&!b||(o+=1,m&&b?r+=1:a+=1)}return{connectionCount:o,internalConnectionCount:r,externalConnectionCount:a}}function bn(e,t){let o=0,r=0;for(const a of t)a.source===e.id&&(r+=1),a.target===e.id&&(o+=1);return{id:e.id,label:e.label,type:e.type??be(e.data,["node_type","kind"])??"node",degree:o+r,incoming:o,outgoing:r}}function Qe(e,t){const o=t.nodeCount-e.nodeCount;if(o!==0)return o;const r=t.connectionCount-e.connectionCount;if(r!==0)return r;const a=e.label.localeCompare(t.label);return a!==0?a:e.id.localeCompare(t.id)}function xn(e){const t=fn(e),o=new Map;for(const a of e.nodes){const u=mn(a,t),m=o.get(u.id);m?m.nodes.push(a):o.set(u.id,{...u,nodes:[a]})}return{layers:[...o.values()].map(a=>{const u=a.nodes.map(w=>w.id),m=new Set(u),b=Ke(m,e.edges),d=new Map;for(const w of a.nodes){const _=gn(w),k=d.get(_.id);k?k.nodes.push(w):d.set(_.id,{..._,nodes:[w]})}const O=[...d.values()].map(w=>{const _=w.nodes.map(P=>P.id),k=Ke(new Set(_),e.edges);return{id:w.id,label:w.label,nodeCount:w.nodes.length,nodeIds:_,nodes:w.nodes.map(P=>bn(P,e.edges)).sort((P,ae)=>ae.degree-P.degree||P.label.localeCompare(ae.label)),...k}}).sort(Qe);return{id:a.id,label:a.label,color:a.color,nodeCount:a.nodes.length,componentCount:O.length,nodeIds:u,components:O,...b}}).sort(Qe)}}function _n(e,t){const o=t===null?null:new Set(t),r=o?e.nodes.filter(d=>o.has(d.id)):e.nodes,a=new Set(r.map(d=>d.id)),u=e.edges.filter(d=>a.has(d.source)&&a.has(d.target)),m={};for(const d of r)m[d.id]={...d.data,id:d.id,label:d.label,...d.type!==void 0?{node_type:d.type}:{}};const b={};for(const d of u)b[d.id]={...d.data,source:d.source,target:d.target,...d.type!==void 0?{type:d.type}:{}};return{ok:!0,query:"",capability:"graph",record_count:r.length+u.length,result:{columns:["nodes","edges"],records:[{values:{},nodes:m,edges:b}]}}}var hn=S('<button type="button" aria-label="Back" class="inline-flex size-6 items-center justify-center rounded border border-line-1 text-fg-3 hover:border-line-2 hover:text-fg-1"><!></button>'),yn=S('<span class="inline-flex size-6 items-center justify-center rounded border border-line-1 text-fg-3"><!></span>'),$n=S('<!> <button type="button"> </button>',1),wn=S('<!> <span class="truncate rounded bg-bg-2 px-1.5 py-0.5 text-fg-0"> </span>',1),kn=S('<button type="button" class="w-full px-3 py-2.5 text-left hover:bg-bg-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40"><div class="flex items-start gap-2.5"><span class="mt-1.5 size-2 rounded-full shrink-0"></span> <span class="min-w-0 flex-1"><span class="flex items-center gap-2"><span class="truncate text-[13px] font-medium text-fg-0"> </span> <span class="font-mono text-[10px] text-fg-3"> </span></span> <span class="mt-1 block font-mono text-[11px] text-fg-3"> </span></span> <!></div></button>'),Cn=S('<div class="px-3 py-2 text-[11px] font-mono text-fg-3 border-b border-line-1"> </div> <div class="divide-y divide-line-1"></div>',1),Sn=S('<button type="button" class="w-full px-3 py-2.5 text-left hover:bg-bg-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40"><div class="flex items-start gap-2.5"><span class="mt-1 text-fg-3"><!></span> <span class="min-w-0 flex-1"><span class="block truncate text-[13px] font-medium text-fg-0"> </span> <span class="mt-1 block font-mono text-[11px] text-fg-3"> </span></span> <!></div></button>'),Ln=S('<div class="px-3 py-2 text-[11px] font-mono text-fg-3 border-b border-line-1"> </div> <div class="divide-y divide-line-1"></div>',1),zn=S('<div class="px-3 py-2.5"><div class="flex items-start gap-2.5"><span class="mt-1 text-fg-3"><!></span> <span class="min-w-0 flex-1"><span class="block truncate text-[13px] font-medium text-fg-0"> </span> <span class="mt-1 block truncate font-mono text-[11px] text-fg-3"> </span></span></div></div>'),In=S('<div class="px-3 py-2 text-[11px] font-mono text-fg-3 border-b border-line-1"> </div> <div class="divide-y divide-line-1"></div>',1),jn=S('<div class="flex-1 min-h-0 overflow-auto"><!></div>'),En=S('<div class="flex items-center justify-between gap-4 px-3 py-2 border-b border-line-1 bg-bg-1 shrink-0"><span class="flex items-center gap-2 min-w-0 text-fg-2 text-[13px]"><!> <span class="font-mono text-fg-1 truncate max-w-[38vw]"> </span> <span class="text-fg-3 whitespace-nowrap"> <!></span></span> <button type="button" class="flex items-center gap-1.5 px-3 py-1.5 rounded-md border border-line-1 text-fg-2 text-[12px] hover:border-fg-3 hover:text-fg-1"><!> Load another</button></div> <div class="flex-1 min-h-0 flex"><aside class="w-[min(320px,48vw)] shrink-0 border-r border-line-1 bg-bg-1/80 flex flex-col min-h-0"><div class="px-3 py-2 border-b border-line-1"><div class="flex items-center gap-2 text-fg-1"><!> <div class="min-w-0"><div class="type-label"><!></div> <div class="truncate text-[12px] font-medium text-fg-0"> </div></div></div> <nav class="mt-2 flex min-w-0 items-center gap-1 text-[11px] font-mono text-fg-3"><button type="button">overview</button> <!> <!></nav></div> <!></aside> <div class="flex-1 min-w-0"><!></div></div>',1),Gn=S('<p class="m-0 px-3 py-2 rounded-md text-primary-text text-[12px] leading-relaxed border border-accent/35 bg-accent/10"> </p>'),Nn=S('<div class="flex flex-col gap-3 w-[min(34rem,90vw)] text-left"><form class="flex gap-2"><div class="relative flex-1 flex items-center"><!> <input class="w-full pl-8 pr-2.5 py-2 bg-bg-2 border border-line-1 rounded-md text-fg-1 text-[13px] font-mono focus:outline-none focus:border-accent" type="text" placeholder="https://host/graph.json or /exports/memory.json" spellcheck="false" autocapitalize="off" autocorrect="off"/></div> <button class="px-4 py-2 bg-primary text-on-primary rounded-md text-[13px] font-medium whitespace-nowrap disabled:opacity-50" type="submit"> </button></form> <div class="flex items-center gap-2 text-fg-3 text-[11px] uppercase tracking-wide"><span class="flex-1 h-px bg-line-1"></span> or <span class="flex-1 h-px bg-line-1"></span></div> <button type="button" class="flex items-center justify-center gap-2 px-3 py-2 bg-bg-2 border border-line-1 rounded-md text-fg-1 text-[13px] hover:border-fg-3 disabled:opacity-50"><!> Choose a local graph.json</button> <input type="file" accept="application/json,.json" class="hidden"/> <!></div>'),An=S('<div class="flex items-center justify-center h-full w-full p-8"><!></div>'),Mn=S('<div class="flex h-screen w-full flex-col"><!></div>');function Vn(e,t){Et(t,!0);let o=H(null),r=H(!1),a=H(null),u=H(null),m=H(null),b=H(null),d=H(""),O=H(null);const w=re(()=>n(o)?xn(n(o).model):null),_=re(()=>{var c;return n(m)?(c=n(w))==null?void 0:c.layers.find(g=>g.id===n(m)):void 0}),k=re(()=>{var c;return n(b)?(c=n(_))==null?void 0:c.components.find(g=>g.id===n(b)):void 0}),P=re(()=>n(k)?n(k).nodeIds:n(_)?n(_).nodeIds:null),ae=re(()=>n(o)?_n(n(o).model,n(P)):null),rt=re(()=>`${n(u)??"graph"}:${n(m)??"overview"}:${n(b)??"all"}`);async function De(c){const g=c.trim();if(g){f(r,!0),f(a,null);try{f(o,await ln(g,{fetch}),!0),f(u,g,!0),ye()}catch(I){f(o,null),f(a,I instanceof Error?I.message:String(I),!0)}finally{f(r,!1)}}}async function at(c){f(r,!0),f(a,null);try{f(o,nt(await c.text()),!0),f(u,c.name,!0),ye()}catch(g){f(o,null),f(a,g instanceof Error?g.message:String(g),!0)}finally{f(r,!1)}}function st(c){c.preventDefault(),De(n(d))}function it(c){var I;const g=(I=c.target.files)==null?void 0:I[0];g&&at(g)}function lt(){f(o,null),f(a,null),f(u,null),f(d,""),ye(),n(O)&&(n(O).value="")}function ye(){f(m,null),f(b,null)}function ct(c){f(m,c.id,!0),f(b,null)}function dt(c){f(b,c.id,!0)}function pt(){if(n(b)){f(b,null);return}f(m,null)}function T(c,g){return`${c.toLocaleString()} ${g}${c===1?"":"s"}`}function Ie(c){const g=T(c.connectionCount,"connection");return c.externalConnectionCount===0?g:`${g} · ${c.externalConnectionCount.toLocaleString()} external`}jt(()=>{const c=Qt.url.searchParams.get("src");c&&(f(d,c,!0),De(c))});var je=Mn();Jt("315y67",c=>{Nt(()=>{At.title="Load graph · red-ui"})});var ut=i(je);{var vt=c=>{var g=En(),I=X(g),$e=i(I),we=i($e);He(we,{size:14});var K=v(we,2),te=i(K,!0);s(K);var ne=v(K,2),se=i(ne),ie=v(se);{var le=l=>{var p=Ce();j(()=>y(p,`· ${n(o).model.communities.length??""} communities`)),h(l,p)};R(ie,l=>{n(o).model.communities.length&&l(le)})}s(ne),s($e);var ce=v($e,2),Q=i(ce);Ot(Q,{size:13}),Je(),s(ce),s(I);var ke=v(I,2),Z=i(ke),de=i(Z),pe=i(de),L=i(pe);{var ue=l=>{var p=hn(),C=i(p);Zt(C,{size:13}),s(p),V("click",p,pt),h(l,p)},Ee=l=>{var p=yn(),C=i(p);qt(C,{size:13}),s(p),h(l,p)};R(L,l=>{n(_)?l(ue):l(Ee,-1)})}var Oe=v(L,2),Ge=i(Oe),mt=i(Ge);{var gt=l=>{var p=Ce("nodes");h(l,p)},bt=l=>{var p=Ce("components");h(l,p)},xt=l=>{var p=Ce("overview");h(l,p)};R(mt,l=>{n(k)?l(gt):n(_)?l(bt,1):l(xt,-1)})}s(Ge);var Pe=v(Ge,2),_t=i(Pe,!0);s(Pe),s(Oe),s(pe);var Ue=v(pe,2),Ne=i(Ue),qe=v(Ne,2);{var ht=l=>{var p=$n(),C=X(p);Se(C,{size:12,class:"shrink-0"});var E=v(C,2),ve=i(E,!0);s(E),j(Ae=>{Ye(E,1,Ae),y(ve,n(_).label)},[()=>Ve(["truncate rounded px-1.5 py-0.5 hover:bg-bg-2 hover:text-fg-1",n(_)&&!n(k)?"text-fg-0 bg-bg-2":""].join(" "))]),V("click",E,()=>f(b,null)),h(l,p)};R(qe,l=>{n(_)&&l(ht)})}var yt=v(qe,2);{var $t=l=>{var p=wn(),C=X(p);Se(C,{size:12,class:"shrink-0"});var E=v(C,2),ve=i(E,!0);s(E),j(()=>y(ve,n(k).label)),h(l,p)};R(yt,l=>{n(k)&&l($t)})}s(Ue),s(de);var wt=v(de,2);{var kt=l=>{var p=jn(),C=i(p);{var E=D=>{var U=Cn(),G=X(U),fe=i(G);s(G);var q=v(G,2);Re(q,21,()=>n(w).layers,Te,(N,x)=>{var z=kn(),B=i(z),M=i(B),W=v(M,2),F=i(W),A=i(F),me=i(A,!0);s(A);var J=v(A,2),ge=i(J,!0);s(J),s(F);var oe=v(F,2),Me=i(oe);s(oe),s(W);var Fe=v(W,2);Se(Fe,{size:14,class:"mt-1 shrink-0 text-fg-3"}),s(B),s(z),j((Lt,zt,It)=>{Yt(M,`background:${n(x).color};box-shadow:0 0 8px ${n(x).color}`),y(me,n(x).label),y(ge,Lt),y(Me,`${zt??""} · ${It??""}`)},[()=>T(n(x).componentCount,"component"),()=>T(n(x).nodeCount,"node"),()=>Ie(n(x))]),V("click",z,()=>ct(n(x))),h(N,z)}),s(q),j((N,x)=>y(fe,`${N??""} · ${x??""}`),[()=>T(n(w).layers.length,"group"),()=>T(n(o).model.nodes.length,"node")]),h(D,U)},ve=D=>{var U=Ln(),G=X(U),fe=i(G);s(G);var q=v(G,2);Re(q,21,()=>n(_).components,Te,(N,x)=>{var z=Sn(),B=i(z),M=i(B),W=i(M);Wt(W,{size:14}),s(M);var F=v(M,2),A=i(F),me=i(A,!0);s(A);var J=v(A,2),ge=i(J);s(J),s(F);var oe=v(F,2);Se(oe,{size:14,class:"mt-1 shrink-0 text-fg-3"}),s(B),s(z),j((Me,Fe)=>{y(me,n(x).label),y(ge,`${Me??""} · ${Fe??""}`)},[()=>T(n(x).nodeCount,"node"),()=>Ie(n(x))]),V("click",z,()=>dt(n(x))),h(N,z)}),s(q),j((N,x)=>y(fe,`${N??""} · ${x??""}`),[()=>T(n(_).components.length,"component"),()=>T(n(_).nodeCount,"node")]),h(D,U)},Ae=D=>{var U=In(),G=X(U),fe=i(G);s(G);var q=v(G,2);Re(q,21,()=>n(k).nodes,Te,(N,x)=>{var z=zn(),B=i(z),M=i(B),W=i(M);Xt(W,{size:13}),s(M);var F=v(M,2),A=i(F),me=i(A,!0);s(A);var J=v(A,2),ge=i(J);s(J),s(F),s(B),s(z),j(oe=>{y(me,n(x).label),y(ge,`${n(x).type??""} · degree ${oe??""} · ${n(x).id??""}`)},[()=>n(x).degree.toLocaleString()]),h(N,z)}),s(q),j((N,x)=>y(fe,`${N??""} · ${x??""}`),[()=>T(n(k).nodes.length,"node"),()=>Ie(n(k))]),h(D,U)};R(C,D=>{n(_)?n(k)?D(Ae,-1):D(ve,1):D(E)})}s(p),h(l,p)};R(wt,l=>{n(w)&&l(kt)})}s(Z);var Be=v(Z,2),Ct=i(Be);{var St=l=>{var p=Rt(),C=X(p);Tt(C,()=>n(rt),E=>{Bt(E,{get result(){return n(ae)}})}),h(l,p)};R(Ct,l=>{n(ae)&&l(St)})}s(Be),s(ke),j(l=>{var p,C;y(te,n(u)),y(se,`${n(o).model.nodes.length??""} nodes · ${n(o).model.edges.length??""} edges`),y(_t,((p=n(k))==null?void 0:p.label)??((C=n(_))==null?void 0:C.label)??"Layers and communities"),Ye(Ne,1,l)},[()=>Ve(["truncate rounded px-1.5 py-0.5 hover:bg-bg-2 hover:text-fg-1",n(_)?"":"text-fg-0 bg-bg-2"].join(" "))]),V("click",ce,lt),V("click",Ne,ye),h(c,g)},ft=c=>{var g=An(),I=i(g);Pt(I,{title:"Load a graph",message:"Render any contract-conformant graph.json — memory exports, codebase graphs, or graphify output — from a URL, a path, or a local file. No connection required.",get icon(){return He},actions:we=>{var K=Nn(),te=i(K),ne=i(te),se=i(ne);Ut(se,{size:15,class:"absolute left-2.5 text-fg-3 pointer-events-none"});var ie=v(se,2);Ht(ie),s(ne);var le=v(ne,2),ce=i(le,!0);s(le),s(te);var Q=v(te,4),ke=i(Q);en(ke,{size:15}),Je(),s(Q);var Z=v(Q,2);Kt(Z,L=>f(O,L),()=>n(O));var de=v(Z,2);{var pe=L=>{var ue=Gn(),Ee=i(ue,!0);s(ue),j(()=>y(Ee,n(a))),h(L,ue)};R(de,L=>{n(a)&&L(pe)})}s(K),j(L=>{ie.disabled=n(r),le.disabled=L,y(ce,n(r)?"Loading…":"Load"),Q.disabled=n(r)},[()=>n(r)||!n(d).trim()]),Ft("submit",te,st),Vt(ie,()=>n(d),L=>f(d,L)),V("click",Q,()=>{var L;return(L=n(O))==null?void 0:L.click()}),V("change",Z,it),h(we,K)}}),s(g),h(c,g)};R(ut,c=>{n(o)?c(vt):c(ft,-1)})}s(je),h(e,je),Gt()}Mt(["click","change"]);export{Vn as component};