@inkeep/open-knowledge 0.4.0-beta.27 → 0.4.0-beta.29
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/dist/assets/skills/open-knowledge/SKILL.md +1 -1
- package/dist/cli.mjs +21 -21
- package/dist/constants-Vc8PoRm6.mjs +2 -0
- package/dist/dist-Cg4a9GjH.mjs +1 -0
- package/dist/{dist-BY6hbGlq.mjs → dist-H3Ld-L-a.mjs} +15 -15
- package/dist/{dist-DNYO-J2I.mjs → dist-Va4IjzRw.mjs} +3 -3
- package/dist/index.d.mts +4 -3
- package/dist/index.mjs +1 -1
- package/dist/init-B3-z2S8e.mjs +408 -0
- package/dist/init-BOu8bdIM.mjs +1 -0
- package/dist/loader-CtxyptVz.mjs +1 -0
- package/dist/{loader-CJZ7xojT.mjs → loader-nzXlKCaJ.mjs} +3 -3
- package/dist/{preview-f8NorGUB.mjs → preview-C5ZZtQhd.mjs} +2 -2
- package/dist/preview-smcIxud0.mjs +1 -0
- package/dist/public/assets/{ActivityModeContent-Dlois8m1.js → ActivityModeContent-CSzGBekb.js} +1 -1
- package/dist/public/assets/DocumentContext-HTIMnclU.js +37 -0
- package/dist/public/assets/{GraphPanel-BWlIJ3tc.js → GraphPanel-Bh6hilLJ.js} +2 -2
- package/dist/public/assets/McpConsentDialogBody-CYvKd5CR.js +1 -0
- package/dist/public/assets/SettingsDialog-Bn0Qb8Z-.js +11 -0
- package/dist/public/assets/{SourceEditor-BGZmwp3D.js → SourceEditor-CLnmY3Yf.js} +1 -1
- package/dist/public/assets/{config-validation-events-Czaccnqg.js → config-validation-events-CiSk03iO.js} +2 -2
- package/dist/public/assets/{doc-hash-CBF-HGTP.js → doc-hash-BSwTWr6y.js} +16 -16
- package/dist/public/assets/{index-CS7FfInu.js → index-BOCOmOox.js} +76 -76
- package/dist/public/assets/index-CjbILLtI.css +1 -0
- package/dist/public/assets/{checkbox-DBLbPikY.js → mcp-consent-store-DZ1pCmhN.js} +1 -1
- package/dist/public/assets/{target-navigation-intent-CFNdedu6.js → target-navigation-intent-BpcRYgIB.js} +1 -1
- package/dist/public/assets/{toggle-group-DC1U2RZo.js → toggle-group-CZU3XaIH.js} +1 -1
- package/dist/public/assets/{tooltip-BsZgyNLI.js → tooltip-DcfXr4mU.js} +1 -1
- package/dist/public/assets/{typing-burst-detector-CvoRQQEa.js → typing-burst-detector-BbQifQft.js} +1 -1
- package/dist/public/index.html +10 -10
- package/dist/{src-B4WFg5kb.mjs → src-DCHO3Oll.mjs} +2 -2
- package/dist/{start-CuX8s4nh.mjs → start-_HvLGlDx.mjs} +2 -2
- package/dist/start-e6EurRTD.mjs +1 -0
- package/package.json +1 -1
- package/dist/constants-DjLdNmzD.mjs +0 -2
- package/dist/dist-DKX8LweU.mjs +0 -1
- package/dist/init-BdDRn515.mjs +0 -408
- package/dist/init-CovPPI41.mjs +0 -1
- package/dist/loader-C4NU0t04.mjs +0 -1
- package/dist/preview-CA76mHAB.mjs +0 -1
- package/dist/public/assets/DocumentContext-B0jD_DRX.js +0 -37
- package/dist/public/assets/McpConsentDialogBody-8EQrQlPS.js +0 -1
- package/dist/public/assets/SettingsDialog-Jq0VRnPP.js +0 -11
- package/dist/public/assets/index-gFJyDijz.css +0 -1
- package/dist/start-BeA0EREH.mjs +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as e,t as n}from"./chunk-CFjPhJqf.js";import{n as r,r as i,t as a}from"./compiler-runtime-CVnuRdak.js";import{a as o,c as s,i as c,n as l,o as u,r as d,s as f,t as p}from"./panel-8fydlQgn.js";import{Ct as m,Dt as h,Fr as g,Ir as _,Rr as v,St as y,ht as b,i as x,jn as S,p as C,s as w,yt as T}from"./doc-hash-CBF-HGTP.js";import{C as E,r as D,t as ee}from"./button-C1nwPVFQ.js";import{n as te,r as ne,t as re}from"./target-navigation-intent-CFNdedu6.js";import{n as ie,t as ae}from"./toggle-group-DC1U2RZo.js";import{i as oe,n as se,t as ce}from"./tooltip-BsZgyNLI.js";import{n as le}from"./isObjectLike-DFnkciUU.js";import{t as ue}from"./ordinal-BLFwWMHf.js";import{n as de,t as fe}from"./min-BiwsSkbB.js";import{C as pe,S as me,_ as he,b as ge,g as _e,n as O,r as ve,t as ye,v as k,w as A,x as be,y as xe}from"./src-L3wpjxBL.js";import{t as j}from"./colors-D6LRuSY-.js";import{n as Se,t as M}from"./now-D_m-3Vjm.js";var Ce=E(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),we=E(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]);function Te(e,n){let r=0;if(n===void 0)for(let n of e)(n=+n)&&(r+=n);else{let i=-1;for(let a of e)(a=+n(a,++i,e))&&(r+=a)}return r}var Ee=e=>()=>e;function N(e,{sourceEvent:n,subject:r,target:i,identifier:a,active:o,x:s,y:c,dx:l,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:a,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:c,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}N.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function De(e){return!e.ctrlKey&&!e.button}function Oe(){return this.parentNode}function ke(e,n){return n??{x:e.x,y:e.y}}function Ae(){return navigator.maxTouchPoints||`ontouchstart`in this}function je(){var e=De,n=Oe,r=ke,i=Ae,a={},o=A(`start`,`drag`,`end`),s=0,c,l,u,d,f=0;function p(e){e.on(`mousedown.drag`,m).filter(i).on(`touchstart.drag`,_).on(`touchmove.drag`,v,xe).on(`touchend.drag touchcancel.drag`,y).style(`touch-action`,`none`).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}function m(r,i){if(!(d||!e.call(this,r,i))){var a=b(this,n.call(this,r,i),r,i,`mouse`);a&&(pe(r.view).on(`mousemove.drag`,h,ge).on(`mouseup.drag`,g,ge),_e(r.view),be(r),u=!1,c=r.clientX,l=r.clientY,a(`start`,r))}}function h(e){if(k(e),!u){var n=e.clientX-c,r=e.clientY-l;u=n*n+r*r>f}a.mouse(`drag`,e)}function g(e){pe(e.view).on(`mousemove.drag mouseup.drag`,null),he(e.view,u),k(e),a.mouse(`end`,e)}function _(r,i){if(e.call(this,r,i)){var a=r.changedTouches,o=n.call(this,r,i),s=a.length,c,l;for(c=0;c<s;++c)(l=b(this,o,r,i,a[c].identifier,a[c]))&&(be(r),l(`start`,r,a[c]))}}function v(e){var n=e.changedTouches,r=n.length,i,o;for(i=0;i<r;++i)(o=a[n[i].identifier])&&(k(e),o(`drag`,e,n[i]))}function y(e){var n=e.changedTouches,r=n.length,i,o;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),i=0;i<r;++i)(o=a[n[i].identifier])&&(be(e),o(`end`,e,n[i]))}function b(e,n,i,c,l,u){var d=o.copy(),f=me(u||i,n),m,h,g;if((g=r.call(e,new N(`beforestart`,{sourceEvent:i,target:p,identifier:l,active:s,x:f[0],y:f[1],dx:0,dy:0,dispatch:d}),c))!=null)return m=g.x-f[0]||0,h=g.y-f[1]||0,function r(i,o,u){var _=f,v;switch(i){case`start`:a[l]=r,v=s++;break;case`end`:delete a[l],--s;case`drag`:f=me(u||o,n),v=s;break}d.call(i,e,new N(i,{sourceEvent:o,subject:g,target:p,identifier:l,active:v,x:f[0]+m,y:f[1]+h,dx:f[0]-_[0],dy:f[1]-_[1],dispatch:d}),c)}}return p.filter=function(n){return arguments.length?(e=typeof n==`function`?n:Ee(!!n),p):e},p.container=function(e){return arguments.length?(n=typeof e==`function`?e:Ee(e),p):n},p.subject=function(e){return arguments.length?(r=typeof e==`function`?e:Ee(e),p):r},p.touchable=function(e){return arguments.length?(i=typeof e==`function`?e:Ee(!!e),p):i},p.on=function(){var e=o.on.apply(o,arguments);return e===o?p:e},p.clickDistance=function(e){return arguments.length?(f=(e=+e)*e,p):Math.sqrt(f)},p}function Me(e){let n=+this._x.call(null,e),r=+this._y.call(null,e);return Ne(this.cover(n,r),n,r,e)}function Ne(e,n,r,i){if(isNaN(n)||isNaN(r))return e;var a,o=e._root,s={data:i},c=e._x0,l=e._y0,u=e._x1,d=e._y1,f,p,m,h,g,_,v,y;if(!o)return e._root=s,e;for(;o.length;)if((g=n>=(f=(c+u)/2))?c=f:u=f,(_=r>=(p=(l+d)/2))?l=p:d=p,a=o,!(o=o[v=_<<1|g]))return a[v]=s,e;if(m=+e._x.call(null,o.data),h=+e._y.call(null,o.data),n===m&&r===h)return s.next=o,a?a[v]=s:e._root=s,e;do a=a?a[v]=[,,,,]:e._root=[,,,,],(g=n>=(f=(c+u)/2))?c=f:u=f,(_=r>=(p=(l+d)/2))?l=p:d=p;while((v=_<<1|g)==(y=(h>=p)<<1|m>=f));return a[y]=o,a[v]=s,e}function Pe(e){var n,r,i=e.length,a,o,s=Array(i),c=Array(i),l=1/0,u=1/0,d=-1/0,f=-1/0;for(r=0;r<i;++r)isNaN(a=+this._x.call(null,n=e[r]))||isNaN(o=+this._y.call(null,n))||(s[r]=a,c[r]=o,a<l&&(l=a),a>d&&(d=a),o<u&&(u=o),o>f&&(f=o));if(l>d||u>f)return this;for(this.cover(l,u).cover(d,f),r=0;r<i;++r)Ne(this,s[r],c[r],e[r]);return this}function Fe(e,n){if(isNaN(e=+e)||isNaN(n=+n))return this;var r=this._x0,i=this._y0,a=this._x1,o=this._y1;if(isNaN(r))a=(r=Math.floor(e))+1,o=(i=Math.floor(n))+1;else{for(var s=a-r||1,c=this._root,l,u;r>e||e>=a||i>n||n>=o;)switch(u=(n<i)<<1|e<r,l=[,,,,],l[u]=c,c=l,s*=2,u){case 0:a=r+s,o=i+s;break;case 1:r=a-s,o=i+s;break;case 2:a=r+s,i=o-s;break;case 3:r=a-s,i=o-s;break}this._root&&this._root.length&&(this._root=c)}return this._x0=r,this._y0=i,this._x1=a,this._y1=o,this}function Ie(){var e=[];return this.visit(function(n){if(!n.length)do e.push(n.data);while(n=n.next)}),e}function P(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function F(e,n,r,i,a){this.node=e,this.x0=n,this.y0=r,this.x1=i,this.y1=a}function Le(e,n,r){var i,a=this._x0,o=this._y0,s,c,l,u,d=this._x1,f=this._y1,p=[],m=this._root,h,g;for(m&&p.push(new F(m,a,o,d,f)),r==null?r=1/0:(a=e-r,o=n-r,d=e+r,f=n+r,r*=r);h=p.pop();)if(!(!(m=h.node)||(s=h.x0)>d||(c=h.y0)>f||(l=h.x1)<a||(u=h.y1)<o))if(m.length){var _=(s+l)/2,v=(c+u)/2;p.push(new F(m[3],_,v,l,u),new F(m[2],s,v,_,u),new F(m[1],_,c,l,v),new F(m[0],s,c,_,v)),(g=(n>=v)<<1|e>=_)&&(h=p[p.length-1],p[p.length-1]=p[p.length-1-g],p[p.length-1-g]=h)}else{var y=e-+this._x.call(null,m.data),b=n-+this._y.call(null,m.data),x=y*y+b*b;if(x<r){var S=Math.sqrt(r=x);a=e-S,o=n-S,d=e+S,f=n+S,i=m.data}}return i}function Re(e){if(isNaN(d=+this._x.call(null,e))||isNaN(f=+this._y.call(null,e)))return this;var n,r=this._root,i,a,o,s=this._x0,c=this._y0,l=this._x1,u=this._y1,d,f,p,m,h,g,_,v;if(!r)return this;if(r.length)for(;;){if((h=d>=(p=(s+l)/2))?s=p:l=p,(g=f>=(m=(c+u)/2))?c=m:u=m,n=r,!(r=r[_=g<<1|h]))return this;if(!r.length)break;(n[_+1&3]||n[_+2&3]||n[_+3&3])&&(i=n,v=_)}for(;r.data!==e;)if(a=r,!(r=r.next))return this;return(o=r.next)&&delete r.next,a?(o?a.next=o:delete a.next,this):n?(o?n[_]=o:delete n[_],(r=n[0]||n[1]||n[2]||n[3])&&r===(n[3]||n[2]||n[1]||n[0])&&!r.length&&(i?i[v]=r:this._root=r),this):(this._root=o,this)}function I(e){for(var n=0,r=e.length;n<r;++n)this.remove(e[n]);return this}function ze(){return this._root}function Be(){var e=0;return this.visit(function(n){if(!n.length)do++e;while(n=n.next)}),e}function Ve(e){var n=[],r,i=this._root,a,o,s,c,l;for(i&&n.push(new F(i,this._x0,this._y0,this._x1,this._y1));r=n.pop();)if(!e(i=r.node,o=r.x0,s=r.y0,c=r.x1,l=r.y1)&&i.length){var u=(o+c)/2,d=(s+l)/2;(a=i[3])&&n.push(new F(a,u,d,c,l)),(a=i[2])&&n.push(new F(a,o,d,u,l)),(a=i[1])&&n.push(new F(a,u,s,c,d)),(a=i[0])&&n.push(new F(a,o,s,u,d))}return this}function He(e){var n=[],r=[],i;for(this._root&&n.push(new F(this._root,this._x0,this._y0,this._x1,this._y1));i=n.pop();){var a=i.node;if(a.length){var o,s=i.x0,c=i.y0,l=i.x1,u=i.y1,d=(s+l)/2,f=(c+u)/2;(o=a[0])&&n.push(new F(o,s,c,d,f)),(o=a[1])&&n.push(new F(o,d,c,l,f)),(o=a[2])&&n.push(new F(o,s,f,d,u)),(o=a[3])&&n.push(new F(o,d,f,l,u))}r.push(i)}for(;i=r.pop();)e(i.node,i.x0,i.y0,i.x1,i.y1);return this}function L(e){return e[0]}function Ue(e){return arguments.length?(this._x=e,this):this._x}function R(e){return e[1]}function We(e){return arguments.length?(this._y=e,this):this._y}function Ge(e,n,r){var i=new z(n??L,r??R,NaN,NaN,NaN,NaN);return e==null?i:i.addAll(e)}function z(e,n,r,i,a,o){this._x=e,this._y=n,this._x0=r,this._y0=i,this._x1=a,this._y1=o,this._root=void 0}function Ke(e){for(var n={data:e.data},r=n;e=e.next;)r=r.next={data:e.data};return n}var B=Ge.prototype=z.prototype;B.copy=function(){var e=new z(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root,r,i;if(!n)return e;if(!n.length)return e._root=Ke(n),e;for(r=[{source:n,target:e._root=[,,,,]}];n=r.pop();)for(var a=0;a<4;++a)(i=n.source[a])&&(i.length?r.push({source:i,target:n.target[a]=[,,,,]}):n.target[a]=Ke(i));return e},B.add=Me,B.addAll=Pe,B.cover=Fe,B.data=Ie,B.extent=P,B.find=Le,B.remove=Re,B.removeAll=I,B.root=ze,B.size=Be,B.visit=Ve,B.visitAfter=He,B.x=Ue,B.y=We;var qe=j(`a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928`),V=i(),H=e(r(),1),Je=a(),Ye=`Expected a function`,Xe=Math.max,Ze=Math.min;function Qe(e,n,r){var i,a,o,s,c,l,u=0,d=!1,f=!1,p=!0;if(typeof e!=`function`)throw TypeError(Ye);n=Se(n)||0,le(r)&&(d=!!r.leading,f=`maxWait`in r,o=f?Xe(Se(r.maxWait)||0,n):o,p=`trailing`in r?!!r.trailing:p);function m(n){var r=i,o=a;return i=a=void 0,u=n,s=e.apply(o,r),s}function h(e){return u=e,c=setTimeout(v,n),d?m(e):s}function g(e){var r=e-l,i=e-u,a=n-r;return f?Ze(a,o-i):a}function _(e){var r=e-l,i=e-u;return l===void 0||r>=n||r<0||f&&i>=o}function v(){var e=M();if(_(e))return y(e);c=setTimeout(v,g(e))}function y(e){return c=void 0,p&&i?m(e):(i=a=void 0,s)}function b(){c!==void 0&&clearTimeout(c),u=0,i=l=a=c=void 0}function x(){return c===void 0?s:y(M())}function S(){var e=M(),r=_(e);if(i=arguments,a=this,l=e,r){if(c===void 0)return h(l);if(f)return clearTimeout(c),c=setTimeout(v,n),m(l)}return c===void 0&&(c=setTimeout(v,n)),s}return S.cancel=b,S.flush=x,S}var $e=`Expected a function`;function et(e,n,r){var i=!0,a=!0;if(typeof e!=`function`)throw TypeError($e);return le(r)&&(i=`leading`in r?!!r.leading:i,a=`trailing`in r?!!r.trailing:a),Qe(e,n,{leading:i,maxWait:n,trailing:a})}var tt=[`#60a5fa`,`#a78bfa`,`#34d399`,`#f472b6`,`#fb923c`,`#22d3ee`,`#c084fc`,`#4ade80`,`#f87171`,`#eab308`,`#ec4899`,`#06b67f`,`#8b5cf6`,`#f43f5e`,`#0ea5e9`,`#a855f7`],nt=[`#1e40af`,`#6b21a8`,`#166534`,`#9f1239`,`#9a3412`,`#164e63`,`#581c87`,`#166534`,`#991b1b`,`#854d0e`,`#831843`,`#0f766e`,`#312e81`,`#9f1239`,`#0c4a6e`,`#6b21a8`];function rt(e){let n=2;for(let r=0;r<e.length;r++)n=Math.imul(n^e.charCodeAt(r),1540483477),n^=n>>>13,n=Math.imul(n,1540483477),n^=n>>>15;return n>>>0}function it(e,n){let r=n?tt:nt;return r[rt(e)%r.length]}var at={fullscreen:{maxEntries:10,containerClassName:`bottom-3 left-3 gap-1 rounded-lg px-3 py-2 text-xs`,titleClassName:`mb-1.5`,rowClassName:`gap-2`,swatchClassName:`size-2.5`,labelClassName:`max-w-[140px]`,overflowClassName:`pl-[18px]`},docked:{maxEntries:6,containerClassName:`bottom-2 left-2 gap-0.5 rounded-md px-2 py-1.5 text-[11px]`,titleClassName:`mb-1`,rowClassName:`gap-1.5`,swatchClassName:`size-2`,labelClassName:`max-w-[112px]`,overflowClassName:`pl-[14px]`}};function ot(e){return at[e]}function st(e){let n=(0,Je.c)(5),{clusters:r,variant:i}=e,a=i===void 0?`fullscreen`:i,{resolvedTheme:o}=v(),s=o===`dark`,c,l;if(n[0]!==r||n[1]!==s||n[2]!==a){l=Symbol.for(`react.early_return_sentinel`);bb0:{let e=ot(a);if(r.length===0){l=null;break bb0}let n=r.slice(0,e.maxEntries),i=r.length-n.length;c=(0,V.jsxs)(`div`,{className:D(`pointer-events-none absolute z-10 flex flex-col backdrop-blur-sm`,e.containerClassName,s?`bg-black/70 text-gray-200`:`bg-white/80 text-gray-800 ring-1 ring-black/5`),children:[(0,V.jsx)(`div`,{className:D(`font-medium`,e.titleClassName,s?`text-slate-300`:`text-slate-700`),children:`Clusters`}),n.map(n=>(0,V.jsxs)(`div`,{className:D(`flex items-center`,e.rowClassName),children:[(0,V.jsx)(`span`,{className:D(`inline-block shrink-0 rounded-full`,e.swatchClassName),style:{backgroundColor:it(n,s)}}),(0,V.jsx)(`span`,{className:D(`truncate`,e.labelClassName),children:n})]},n)),i>0&&(0,V.jsxs)(`div`,{className:D(`text-muted-foreground`,e.overflowClassName),children:[`+ `,i,` more`]})]})}n[0]=r,n[1]=s,n[2]=a,n[3]=c,n[4]=l}else c=n[3],l=n[4];return l===Symbol.for(`react.early_return_sentinel`)?c:l}function ct(e,n){var r=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(r!=null){var i,a,o,s,c=[],l=!0,u=!1;try{if(o=(r=r.call(e)).next,n===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(i=o.call(r)).done)&&(c.push(i.value),c.length!==n);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw a}}return c}}function lt(e,n,r){return n=bt(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function ut(e,n){return pt(e)||ct(e,n)||ht(e,n)||vt()}function dt(e){return ft(e)||mt(e)||ht(e)||_t()}function ft(e){if(Array.isArray(e))return gt(e)}function pt(e){if(Array.isArray(e))return e}function mt(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function ht(e,n){if(e){if(typeof e==`string`)return gt(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r===`Object`&&e.constructor&&(r=e.constructor.name),r===`Map`||r===`Set`)return Array.from(e);if(r===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return gt(e,n)}}function gt(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r<n;r++)i[r]=e[r];return i}function _t(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
1
|
+
import{o as e,t as n}from"./chunk-CFjPhJqf.js";import{n as r,r as i,t as a}from"./compiler-runtime-CVnuRdak.js";import{a as o,c as s,i as c,n as l,o as u,r as d,s as f,t as p}from"./panel-8fydlQgn.js";import{At as m,Br as h,Et as g,Hr as _,Pn as v,St as y,Tt as b,i as x,p as S,s as C,vt as w,zr as T}from"./doc-hash-BSwTWr6y.js";import{C as E,r as D,t as ee}from"./button-C1nwPVFQ.js";import{n as te,r as ne,t as re}from"./target-navigation-intent-BpcRYgIB.js";import{n as ie,t as ae}from"./toggle-group-CZU3XaIH.js";import{i as oe,n as se,t as ce}from"./tooltip-DcfXr4mU.js";import{n as le}from"./isObjectLike-DFnkciUU.js";import{t as ue}from"./ordinal-BLFwWMHf.js";import{n as de,t as fe}from"./min-BiwsSkbB.js";import{C as pe,S as me,_ as he,b as ge,g as _e,n as O,r as ve,t as ye,v as k,w as A,x as be,y as xe}from"./src-L3wpjxBL.js";import{t as j}from"./colors-D6LRuSY-.js";import{n as Se,t as M}from"./now-D_m-3Vjm.js";var Ce=E(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),we=E(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]);function Te(e,n){let r=0;if(n===void 0)for(let n of e)(n=+n)&&(r+=n);else{let i=-1;for(let a of e)(a=+n(a,++i,e))&&(r+=a)}return r}var Ee=e=>()=>e;function N(e,{sourceEvent:n,subject:r,target:i,identifier:a,active:o,x:s,y:c,dx:l,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:a,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:c,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}N.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function De(e){return!e.ctrlKey&&!e.button}function Oe(){return this.parentNode}function ke(e,n){return n??{x:e.x,y:e.y}}function Ae(){return navigator.maxTouchPoints||`ontouchstart`in this}function je(){var e=De,n=Oe,r=ke,i=Ae,a={},o=A(`start`,`drag`,`end`),s=0,c,l,u,d,f=0;function p(e){e.on(`mousedown.drag`,m).filter(i).on(`touchstart.drag`,_).on(`touchmove.drag`,v,xe).on(`touchend.drag touchcancel.drag`,y).style(`touch-action`,`none`).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}function m(r,i){if(!(d||!e.call(this,r,i))){var a=b(this,n.call(this,r,i),r,i,`mouse`);a&&(pe(r.view).on(`mousemove.drag`,h,ge).on(`mouseup.drag`,g,ge),_e(r.view),be(r),u=!1,c=r.clientX,l=r.clientY,a(`start`,r))}}function h(e){if(k(e),!u){var n=e.clientX-c,r=e.clientY-l;u=n*n+r*r>f}a.mouse(`drag`,e)}function g(e){pe(e.view).on(`mousemove.drag mouseup.drag`,null),he(e.view,u),k(e),a.mouse(`end`,e)}function _(r,i){if(e.call(this,r,i)){var a=r.changedTouches,o=n.call(this,r,i),s=a.length,c,l;for(c=0;c<s;++c)(l=b(this,o,r,i,a[c].identifier,a[c]))&&(be(r),l(`start`,r,a[c]))}}function v(e){var n=e.changedTouches,r=n.length,i,o;for(i=0;i<r;++i)(o=a[n[i].identifier])&&(k(e),o(`drag`,e,n[i]))}function y(e){var n=e.changedTouches,r=n.length,i,o;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),i=0;i<r;++i)(o=a[n[i].identifier])&&(be(e),o(`end`,e,n[i]))}function b(e,n,i,c,l,u){var d=o.copy(),f=me(u||i,n),m,h,g;if((g=r.call(e,new N(`beforestart`,{sourceEvent:i,target:p,identifier:l,active:s,x:f[0],y:f[1],dx:0,dy:0,dispatch:d}),c))!=null)return m=g.x-f[0]||0,h=g.y-f[1]||0,function r(i,o,u){var _=f,v;switch(i){case`start`:a[l]=r,v=s++;break;case`end`:delete a[l],--s;case`drag`:f=me(u||o,n),v=s;break}d.call(i,e,new N(i,{sourceEvent:o,subject:g,target:p,identifier:l,active:v,x:f[0]+m,y:f[1]+h,dx:f[0]-_[0],dy:f[1]-_[1],dispatch:d}),c)}}return p.filter=function(n){return arguments.length?(e=typeof n==`function`?n:Ee(!!n),p):e},p.container=function(e){return arguments.length?(n=typeof e==`function`?e:Ee(e),p):n},p.subject=function(e){return arguments.length?(r=typeof e==`function`?e:Ee(e),p):r},p.touchable=function(e){return arguments.length?(i=typeof e==`function`?e:Ee(!!e),p):i},p.on=function(){var e=o.on.apply(o,arguments);return e===o?p:e},p.clickDistance=function(e){return arguments.length?(f=(e=+e)*e,p):Math.sqrt(f)},p}function Me(e){let n=+this._x.call(null,e),r=+this._y.call(null,e);return Ne(this.cover(n,r),n,r,e)}function Ne(e,n,r,i){if(isNaN(n)||isNaN(r))return e;var a,o=e._root,s={data:i},c=e._x0,l=e._y0,u=e._x1,d=e._y1,f,p,m,h,g,_,v,y;if(!o)return e._root=s,e;for(;o.length;)if((g=n>=(f=(c+u)/2))?c=f:u=f,(_=r>=(p=(l+d)/2))?l=p:d=p,a=o,!(o=o[v=_<<1|g]))return a[v]=s,e;if(m=+e._x.call(null,o.data),h=+e._y.call(null,o.data),n===m&&r===h)return s.next=o,a?a[v]=s:e._root=s,e;do a=a?a[v]=[,,,,]:e._root=[,,,,],(g=n>=(f=(c+u)/2))?c=f:u=f,(_=r>=(p=(l+d)/2))?l=p:d=p;while((v=_<<1|g)==(y=(h>=p)<<1|m>=f));return a[y]=o,a[v]=s,e}function Pe(e){var n,r,i=e.length,a,o,s=Array(i),c=Array(i),l=1/0,u=1/0,d=-1/0,f=-1/0;for(r=0;r<i;++r)isNaN(a=+this._x.call(null,n=e[r]))||isNaN(o=+this._y.call(null,n))||(s[r]=a,c[r]=o,a<l&&(l=a),a>d&&(d=a),o<u&&(u=o),o>f&&(f=o));if(l>d||u>f)return this;for(this.cover(l,u).cover(d,f),r=0;r<i;++r)Ne(this,s[r],c[r],e[r]);return this}function Fe(e,n){if(isNaN(e=+e)||isNaN(n=+n))return this;var r=this._x0,i=this._y0,a=this._x1,o=this._y1;if(isNaN(r))a=(r=Math.floor(e))+1,o=(i=Math.floor(n))+1;else{for(var s=a-r||1,c=this._root,l,u;r>e||e>=a||i>n||n>=o;)switch(u=(n<i)<<1|e<r,l=[,,,,],l[u]=c,c=l,s*=2,u){case 0:a=r+s,o=i+s;break;case 1:r=a-s,o=i+s;break;case 2:a=r+s,i=o-s;break;case 3:r=a-s,i=o-s;break}this._root&&this._root.length&&(this._root=c)}return this._x0=r,this._y0=i,this._x1=a,this._y1=o,this}function Ie(){var e=[];return this.visit(function(n){if(!n.length)do e.push(n.data);while(n=n.next)}),e}function P(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function F(e,n,r,i,a){this.node=e,this.x0=n,this.y0=r,this.x1=i,this.y1=a}function Le(e,n,r){var i,a=this._x0,o=this._y0,s,c,l,u,d=this._x1,f=this._y1,p=[],m=this._root,h,g;for(m&&p.push(new F(m,a,o,d,f)),r==null?r=1/0:(a=e-r,o=n-r,d=e+r,f=n+r,r*=r);h=p.pop();)if(!(!(m=h.node)||(s=h.x0)>d||(c=h.y0)>f||(l=h.x1)<a||(u=h.y1)<o))if(m.length){var _=(s+l)/2,v=(c+u)/2;p.push(new F(m[3],_,v,l,u),new F(m[2],s,v,_,u),new F(m[1],_,c,l,v),new F(m[0],s,c,_,v)),(g=(n>=v)<<1|e>=_)&&(h=p[p.length-1],p[p.length-1]=p[p.length-1-g],p[p.length-1-g]=h)}else{var y=e-+this._x.call(null,m.data),b=n-+this._y.call(null,m.data),x=y*y+b*b;if(x<r){var S=Math.sqrt(r=x);a=e-S,o=n-S,d=e+S,f=n+S,i=m.data}}return i}function Re(e){if(isNaN(d=+this._x.call(null,e))||isNaN(f=+this._y.call(null,e)))return this;var n,r=this._root,i,a,o,s=this._x0,c=this._y0,l=this._x1,u=this._y1,d,f,p,m,h,g,_,v;if(!r)return this;if(r.length)for(;;){if((h=d>=(p=(s+l)/2))?s=p:l=p,(g=f>=(m=(c+u)/2))?c=m:u=m,n=r,!(r=r[_=g<<1|h]))return this;if(!r.length)break;(n[_+1&3]||n[_+2&3]||n[_+3&3])&&(i=n,v=_)}for(;r.data!==e;)if(a=r,!(r=r.next))return this;return(o=r.next)&&delete r.next,a?(o?a.next=o:delete a.next,this):n?(o?n[_]=o:delete n[_],(r=n[0]||n[1]||n[2]||n[3])&&r===(n[3]||n[2]||n[1]||n[0])&&!r.length&&(i?i[v]=r:this._root=r),this):(this._root=o,this)}function I(e){for(var n=0,r=e.length;n<r;++n)this.remove(e[n]);return this}function ze(){return this._root}function Be(){var e=0;return this.visit(function(n){if(!n.length)do++e;while(n=n.next)}),e}function Ve(e){var n=[],r,i=this._root,a,o,s,c,l;for(i&&n.push(new F(i,this._x0,this._y0,this._x1,this._y1));r=n.pop();)if(!e(i=r.node,o=r.x0,s=r.y0,c=r.x1,l=r.y1)&&i.length){var u=(o+c)/2,d=(s+l)/2;(a=i[3])&&n.push(new F(a,u,d,c,l)),(a=i[2])&&n.push(new F(a,o,d,u,l)),(a=i[1])&&n.push(new F(a,u,s,c,d)),(a=i[0])&&n.push(new F(a,o,s,u,d))}return this}function He(e){var n=[],r=[],i;for(this._root&&n.push(new F(this._root,this._x0,this._y0,this._x1,this._y1));i=n.pop();){var a=i.node;if(a.length){var o,s=i.x0,c=i.y0,l=i.x1,u=i.y1,d=(s+l)/2,f=(c+u)/2;(o=a[0])&&n.push(new F(o,s,c,d,f)),(o=a[1])&&n.push(new F(o,d,c,l,f)),(o=a[2])&&n.push(new F(o,s,f,d,u)),(o=a[3])&&n.push(new F(o,d,f,l,u))}r.push(i)}for(;i=r.pop();)e(i.node,i.x0,i.y0,i.x1,i.y1);return this}function L(e){return e[0]}function Ue(e){return arguments.length?(this._x=e,this):this._x}function R(e){return e[1]}function We(e){return arguments.length?(this._y=e,this):this._y}function Ge(e,n,r){var i=new z(n??L,r??R,NaN,NaN,NaN,NaN);return e==null?i:i.addAll(e)}function z(e,n,r,i,a,o){this._x=e,this._y=n,this._x0=r,this._y0=i,this._x1=a,this._y1=o,this._root=void 0}function Ke(e){for(var n={data:e.data},r=n;e=e.next;)r=r.next={data:e.data};return n}var B=Ge.prototype=z.prototype;B.copy=function(){var e=new z(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root,r,i;if(!n)return e;if(!n.length)return e._root=Ke(n),e;for(r=[{source:n,target:e._root=[,,,,]}];n=r.pop();)for(var a=0;a<4;++a)(i=n.source[a])&&(i.length?r.push({source:i,target:n.target[a]=[,,,,]}):n.target[a]=Ke(i));return e},B.add=Me,B.addAll=Pe,B.cover=Fe,B.data=Ie,B.extent=P,B.find=Le,B.remove=Re,B.removeAll=I,B.root=ze,B.size=Be,B.visit=Ve,B.visitAfter=He,B.x=Ue,B.y=We;var qe=j(`a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928`),V=i(),H=e(r(),1),Je=a(),Ye=`Expected a function`,Xe=Math.max,Ze=Math.min;function Qe(e,n,r){var i,a,o,s,c,l,u=0,d=!1,f=!1,p=!0;if(typeof e!=`function`)throw TypeError(Ye);n=Se(n)||0,le(r)&&(d=!!r.leading,f=`maxWait`in r,o=f?Xe(Se(r.maxWait)||0,n):o,p=`trailing`in r?!!r.trailing:p);function m(n){var r=i,o=a;return i=a=void 0,u=n,s=e.apply(o,r),s}function h(e){return u=e,c=setTimeout(v,n),d?m(e):s}function g(e){var r=e-l,i=e-u,a=n-r;return f?Ze(a,o-i):a}function _(e){var r=e-l,i=e-u;return l===void 0||r>=n||r<0||f&&i>=o}function v(){var e=M();if(_(e))return y(e);c=setTimeout(v,g(e))}function y(e){return c=void 0,p&&i?m(e):(i=a=void 0,s)}function b(){c!==void 0&&clearTimeout(c),u=0,i=l=a=c=void 0}function x(){return c===void 0?s:y(M())}function S(){var e=M(),r=_(e);if(i=arguments,a=this,l=e,r){if(c===void 0)return h(l);if(f)return clearTimeout(c),c=setTimeout(v,n),m(l)}return c===void 0&&(c=setTimeout(v,n)),s}return S.cancel=b,S.flush=x,S}var $e=`Expected a function`;function et(e,n,r){var i=!0,a=!0;if(typeof e!=`function`)throw TypeError($e);return le(r)&&(i=`leading`in r?!!r.leading:i,a=`trailing`in r?!!r.trailing:a),Qe(e,n,{leading:i,maxWait:n,trailing:a})}var tt=[`#60a5fa`,`#a78bfa`,`#34d399`,`#f472b6`,`#fb923c`,`#22d3ee`,`#c084fc`,`#4ade80`,`#f87171`,`#eab308`,`#ec4899`,`#06b67f`,`#8b5cf6`,`#f43f5e`,`#0ea5e9`,`#a855f7`],nt=[`#1e40af`,`#6b21a8`,`#166534`,`#9f1239`,`#9a3412`,`#164e63`,`#581c87`,`#166534`,`#991b1b`,`#854d0e`,`#831843`,`#0f766e`,`#312e81`,`#9f1239`,`#0c4a6e`,`#6b21a8`];function rt(e){let n=2;for(let r=0;r<e.length;r++)n=Math.imul(n^e.charCodeAt(r),1540483477),n^=n>>>13,n=Math.imul(n,1540483477),n^=n>>>15;return n>>>0}function it(e,n){let r=n?tt:nt;return r[rt(e)%r.length]}var at={fullscreen:{maxEntries:10,containerClassName:`bottom-3 left-3 gap-1 rounded-lg px-3 py-2 text-xs`,titleClassName:`mb-1.5`,rowClassName:`gap-2`,swatchClassName:`size-2.5`,labelClassName:`max-w-[140px]`,overflowClassName:`pl-[18px]`},docked:{maxEntries:6,containerClassName:`bottom-2 left-2 gap-0.5 rounded-md px-2 py-1.5 text-[11px]`,titleClassName:`mb-1`,rowClassName:`gap-1.5`,swatchClassName:`size-2`,labelClassName:`max-w-[112px]`,overflowClassName:`pl-[14px]`}};function ot(e){return at[e]}function st(e){let n=(0,Je.c)(5),{clusters:r,variant:i}=e,a=i===void 0?`fullscreen`:i,{resolvedTheme:o}=_(),s=o===`dark`,c,l;if(n[0]!==r||n[1]!==s||n[2]!==a){l=Symbol.for(`react.early_return_sentinel`);bb0:{let e=ot(a);if(r.length===0){l=null;break bb0}let n=r.slice(0,e.maxEntries),i=r.length-n.length;c=(0,V.jsxs)(`div`,{className:D(`pointer-events-none absolute z-10 flex flex-col backdrop-blur-sm`,e.containerClassName,s?`bg-black/70 text-gray-200`:`bg-white/80 text-gray-800 ring-1 ring-black/5`),children:[(0,V.jsx)(`div`,{className:D(`font-medium`,e.titleClassName,s?`text-slate-300`:`text-slate-700`),children:`Clusters`}),n.map(n=>(0,V.jsxs)(`div`,{className:D(`flex items-center`,e.rowClassName),children:[(0,V.jsx)(`span`,{className:D(`inline-block shrink-0 rounded-full`,e.swatchClassName),style:{backgroundColor:it(n,s)}}),(0,V.jsx)(`span`,{className:D(`truncate`,e.labelClassName),children:n})]},n)),i>0&&(0,V.jsxs)(`div`,{className:D(`text-muted-foreground`,e.overflowClassName),children:[`+ `,i,` more`]})]})}n[0]=r,n[1]=s,n[2]=a,n[3]=c,n[4]=l}else c=n[3],l=n[4];return l===Symbol.for(`react.early_return_sentinel`)?c:l}function ct(e,n){var r=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(r!=null){var i,a,o,s,c=[],l=!0,u=!1;try{if(o=(r=r.call(e)).next,n===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(i=o.call(r)).done)&&(c.push(i.value),c.length!==n);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw a}}return c}}function lt(e,n,r){return n=bt(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function ut(e,n){return pt(e)||ct(e,n)||ht(e,n)||vt()}function dt(e){return ft(e)||mt(e)||ht(e)||_t()}function ft(e){if(Array.isArray(e))return gt(e)}function pt(e){if(Array.isArray(e))return e}function mt(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function ht(e,n){if(e){if(typeof e==`string`)return gt(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r===`Object`&&e.constructor&&(r=e.constructor.name),r===`Map`||r===`Set`)return Array.from(e);if(r===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return gt(e,n)}}function gt(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r<n;r++)i[r]=e[r];return i}function _t(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
2
2
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vt(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
3
3
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yt(e,n){if(typeof e!=`object`||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||`default`);if(typeof i!=`object`)return i;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(n===`string`?String:Number)(e)}function bt(e){var n=yt(e,`string`);return typeof n==`symbol`?n:String(n)}var xt=function(e,n){var r=new Set(n);return Object.assign.apply(Object,[{}].concat(dt(Object.entries(e).filter(function(e){var n=ut(e,1)[0];return!r.has(n)}).map(function(e){var n=ut(e,2),r=n[0],i=n[1];return lt({},r,i)}))))};function St(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r<n;r++)i[r]=e[r];return i}function Ct(e){if(Array.isArray(e))return e}function wt(e){if(Array.isArray(e))return St(e)}function Tt(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function Et(e,n){var r=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(r!=null){var i,a,o,s,c=[],l=!0,u=!1;try{if(o=(r=r.call(e)).next,n!==0)for(;!(l=(i=o.call(r)).done)&&(c.push(i.value),c.length!==n);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw a}}return c}}function Dt(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
4
4
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ot(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
@@ -43,4 +43,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
43
43
|
}
|
|
44
44
|
`);function mo(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r<n;r++)i[r]=e[r];return i}function ho(e){if(Array.isArray(e))return e}function go(e){if(Array.isArray(e))return mo(e)}function _o(e,n,r){if(yo())return Reflect.construct.apply(null,arguments);var i=[null];return i.push.apply(i,n),new(e.bind.apply(e,i))}function vo(e,n,r){return(n=ko(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function yo(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(yo=function(){return!!e})()}function bo(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function xo(e,n){var r=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(r!=null){var i,a,o,s,c=[],l=!0,u=!1;try{if(o=(r=r.call(e)).next,n!==0)for(;!(l=(i=o.call(r)).done)&&(c.push(i.value),c.length!==n);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw a}}return c}}function So(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
45
45
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Co(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
46
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function wo(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,i)}return r}function To(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]==null?{}:arguments[n];n%2?wo(Object(r),!0).forEach(function(n){vo(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):wo(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Eo(e,n){return ho(e)||xo(e,n)||jo(e,n)||So()}function Do(e){return go(e)||bo(e)||jo(e)||Co()}function Oo(e,n){if(typeof e!=`object`||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n);if(typeof i!=`object`)return i;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(n===`string`?String:Number)(e)}function ko(e){var n=Oo(e,`string`);return typeof n==`symbol`?n:n+``}function Ao(e){"@babel/helpers - typeof";return Ao=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Ao(e)}function jo(e,n){if(e){if(typeof e==`string`)return mo(e,n);var r={}.toString.call(e).slice(8,-1);return r===`Object`&&e.constructor&&(r=e.constructor.name),r===`Map`||r===`Set`?Array.from(e):r===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?mo(e,n):void 0}}var Mo=ue(qe);function No(e,n,r){!n||typeof r!=`string`||e.filter(function(e){return!e[r]}).forEach(function(e){e[r]=Mo(n(e))})}function Po(e,n){var r=e.nodes,i=e.links,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=a.nodeFilter,s=o===void 0?function(){return!0}:o,c=a.onLoopError,l=c===void 0?function(e){throw`Invalid DAG structure! Found cycle in node path: ${e.join(` -> `)}.`}:c,u={};r.forEach(function(e){return u[n(e)]={data:e,out:[],depth:-1,skip:!s(e)}}),i.forEach(function(e){var r=e.source,i=e.target,a=l(r),o=l(i);if(!u.hasOwnProperty(a))throw`Missing source node with id: ${a}`;if(!u.hasOwnProperty(o))throw`Missing target node with id: ${o}`;var s=u[a],c=u[o];s.out.push(c);function l(e){return Ao(e)===`object`?n(e):e}});var d=[];return f(Object.values(u)),Object.assign.apply(Object,[{}].concat(Do(Object.entries(u).filter(function(e){return!Eo(e,2)[1].skip}).map(function(e){var n=Eo(e,2),r=n[0],i=n[1];return vo({},r,i.depth)}))));function f(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=function(){var a=e[o];if(r.indexOf(a)!==-1){var s=[].concat(Do(r.slice(r.indexOf(a))),[a]).map(function(e){return n(e.data)});return d.some(function(e){return e.length===s.length&&e.every(function(e,n){return e===s[n]})})||(d.push(s),l(s)),1}i>a.depth&&(a.depth=i,f(a.out,[].concat(Do(r),[a]),i+ +!a.skip))},o=0,s=e.length;o<s;o++)if(a())continue}}var Fo=2,Q=function(e,n){return n.onNeedsRedraw&&n.onNeedsRedraw()},Io=function(e,n){if(!n.isShadow){var r=U(n.linkDirectionalParticles);n.graphData.links.forEach(function(e){var n=Math.round(Math.abs(r(e)));n?e.__photons=Do(Array(n)).map(function(){return{}}):delete e.__photons})}},Lo=Zt({props:{graphData:{default:{nodes:[],links:[]},onChange:function(e,n){n.engineRunning=!1,Io(e,n)}},dagMode:{onChange:function(e,n){!e&&(n.graphData.nodes||[]).forEach(function(e){e.fx=e.fy=void 0})}},dagLevelDistance:{},dagNodeFilter:{default:function(e){return!0}},onDagError:{triggerUpdate:!1},nodeRelSize:{default:4,triggerUpdate:!1,onChange:Q},nodeId:{default:`id`},nodeVal:{default:`val`,triggerUpdate:!1,onChange:Q},nodeColor:{default:`color`,triggerUpdate:!1,onChange:Q},nodeAutoColorBy:{},nodeCanvasObject:{triggerUpdate:!1,onChange:Q},nodeCanvasObjectMode:{default:function(){return`replace`},triggerUpdate:!1,onChange:Q},nodeVisibility:{default:!0,triggerUpdate:!1,onChange:Q},linkSource:{default:`source`},linkTarget:{default:`target`},linkVisibility:{default:!0,triggerUpdate:!1,onChange:Q},linkColor:{default:`color`,triggerUpdate:!1,onChange:Q},linkAutoColorBy:{},linkLineDash:{triggerUpdate:!1,onChange:Q},linkWidth:{default:1,triggerUpdate:!1,onChange:Q},linkCurvature:{default:0,triggerUpdate:!1,onChange:Q},linkCanvasObject:{triggerUpdate:!1,onChange:Q},linkCanvasObjectMode:{default:function(){return`replace`},triggerUpdate:!1,onChange:Q},linkDirectionalArrowLength:{default:0,triggerUpdate:!1,onChange:Q},linkDirectionalArrowColor:{triggerUpdate:!1,onChange:Q},linkDirectionalArrowRelPos:{default:.5,triggerUpdate:!1,onChange:Q},linkDirectionalParticles:{default:0,triggerUpdate:!1,onChange:Io},linkDirectionalParticleSpeed:{default:.01,triggerUpdate:!1},linkDirectionalParticleOffset:{default:0,triggerUpdate:!1},linkDirectionalParticleWidth:{default:4,triggerUpdate:!1},linkDirectionalParticleColor:{triggerUpdate:!1},linkDirectionalParticleCanvasObject:{triggerUpdate:!1},globalScale:{default:1,triggerUpdate:!1},d3AlphaMin:{default:0,triggerUpdate:!1},d3AlphaDecay:{default:.0228,triggerUpdate:!1,onChange:function(e,n){n.forceLayout.alphaDecay(e)}},d3AlphaTarget:{default:0,triggerUpdate:!1,onChange:function(e,n){n.forceLayout.alphaTarget(e)}},d3VelocityDecay:{default:.4,triggerUpdate:!1,onChange:function(e,n){n.forceLayout.velocityDecay(e)}},warmupTicks:{default:0,triggerUpdate:!1},cooldownTicks:{default:1/0,triggerUpdate:!1},cooldownTime:{default:15e3,triggerUpdate:!1},onUpdate:{default:function(){},triggerUpdate:!1},onFinishUpdate:{default:function(){},triggerUpdate:!1},onEngineTick:{default:function(){},triggerUpdate:!1},onEngineStop:{default:function(){},triggerUpdate:!1},onNeedsRedraw:{triggerUpdate:!1},isShadow:{default:!1,triggerUpdate:!1}},methods:{d3Force:function(e,n,r){return r===void 0?e.forceLayout.force(n):(e.forceLayout.force(n,r),this)},d3ReheatSimulation:function(e){return e.forceLayout.alpha(1),this.resetCountdown(),this},resetCountdown:function(e){return e.cntTicks=0,e.startTickTime=new Date,e.engineRunning=!0,this},isEngineRunning:function(e){return!!e.engineRunning},tickFrame:function(e){return!e.isShadow&&n(),i(),!e.isShadow&&a(),!e.isShadow&&o(),r(),this;function n(){e.engineRunning&&(++e.cntTicks>e.cooldownTicks||new Date-e.startTickTime>e.cooldownTime||e.d3AlphaMin>0&&e.forceLayout.alpha()<e.d3AlphaMin?(e.engineRunning=!1,e.onEngineStop()):(e.forceLayout.tick(),e.onEngineTick()))}function r(){var n=U(e.nodeVisibility),r=U(e.nodeVal),i=U(e.nodeColor),a=U(e.nodeCanvasObjectMode),o=e.ctx,s=e.isShadow/e.globalScale,c=e.graphData.nodes.filter(n);o.save(),c.forEach(function(n){var c=a(n);if(e.nodeCanvasObject&&(c===`before`||c===`replace`)&&(e.nodeCanvasObject(n,o,e.globalScale),c===`replace`)){o.restore();return}var l=Math.sqrt(Math.max(0,r(n)||1))*e.nodeRelSize+s;o.beginPath(),o.arc(n.x,n.y,l,0,2*Math.PI,!1),o.fillStyle=i(n)||`rgba(31, 120, 180, 0.92)`,o.fill(),e.nodeCanvasObject&&c===`after`&&e.nodeCanvasObject(n,e.ctx,e.globalScale)}),o.restore()}function i(){var n=U(e.linkVisibility),r=U(e.linkColor),i=U(e.linkWidth),a=U(e.linkLineDash),o=U(e.linkCurvature),s=U(e.linkCanvasObjectMode),c=e.ctx,l=e.isShadow*2,u=e.graphData.links.filter(n);u.forEach(_);var d=[],f=[],p=u;if(e.linkCanvasObject){var m=[],h=[];u.forEach(function(e){return({before:d,after:f,replace:m}[s(e)]||h).push(e)}),p=[].concat(Do(d),f,h),d=d.concat(m)}c.save(),d.forEach(function(n){return e.linkCanvasObject(n,c,e.globalScale)}),c.restore();var g=fo(p,[r,i,a]);c.save(),Object.entries(g).forEach(function(n){var r=Eo(n,2),i=r[0],o=r[1],s=!i||i===`undefined`?`rgba(0,0,0,0.15)`:i;Object.entries(o).forEach(function(n){var r=Eo(n,2),i=r[0],o=r[1],u=(i||1)/e.globalScale+l;Object.entries(o).forEach(function(e){var n=Eo(e,2);n[0];var r=n[1],i=a(r[0]);c.beginPath(),r.forEach(function(e){var n=e.source,r=e.target;if(!(!n||!r||!n.hasOwnProperty(`x`)||!r.hasOwnProperty(`x`))){c.moveTo(n.x,n.y);var i=e.__controlPoints;i?c[i.length===2?`quadraticCurveTo`:`bezierCurveTo`].apply(c,Do(i).concat([r.x,r.y])):c.lineTo(r.x,r.y)}}),c.strokeStyle=s,c.lineWidth=u,c.setLineDash(i||[]),c.stroke()})})}),c.restore(),c.save(),f.forEach(function(n){return e.linkCanvasObject(n,c,e.globalScale)}),c.restore();function _(e){var n=o(e);if(!n){e.__controlPoints=null;return}var r=e.source,i=e.target;if(!(!r||!i||!r.hasOwnProperty(`x`)||!i.hasOwnProperty(`x`))){var a=Math.sqrt((i.x-r.x)**2+(i.y-r.y)**2);if(a>0){var s=Math.atan2(i.y-r.y,i.x-r.x),c=a*n,l={x:(r.x+i.x)/2+c*Math.cos(s-Math.PI/2),y:(r.y+i.y)/2+c*Math.sin(s-Math.PI/2)};e.__controlPoints=[l.x,l.y]}else{var u=n*70;e.__controlPoints=[i.x,i.y-u,i.x+u,i.y]}}}}function a(){var n=1.6,r=.2,i=U(e.linkDirectionalArrowLength),a=U(e.linkDirectionalArrowRelPos),o=U(e.linkVisibility),s=U(e.linkDirectionalArrowColor||e.linkColor),c=U(e.nodeVal),l=e.ctx;l.save(),e.graphData.links.filter(o).forEach(function(o){var u=i(o);if(!(!u||u<0)){var d=o.source,f=o.target;if(!(!d||!f||!d.hasOwnProperty(`x`)||!f.hasOwnProperty(`x`))){var p=Math.sqrt(Math.max(0,c(d)||1))*e.nodeRelSize,m=Math.sqrt(Math.max(0,c(f)||1))*e.nodeRelSize,h=Math.min(1,Math.max(0,a(o))),g=s(o)||`rgba(0,0,0,0.28)`,_=u/n/2,v=o.__controlPoints&&_o(Xa,[d.x,d.y].concat(Do(o.__controlPoints),[f.x,f.y])),y=v?function(e){return v.get(e)}:function(e){return{x:d.x+(f.x-d.x)*e||0,y:d.y+(f.y-d.y)*e||0}},b=v?v.length():Math.sqrt((f.x-d.x)**2+(f.y-d.y)**2),x=p+u+(b-p-m-u)*h,S=y(x/b),C=y((x-u)/b),w=y((x-u*(1-r))/b),T=Math.atan2(S.y-C.y,S.x-C.x)-Math.PI/2;l.beginPath(),l.moveTo(S.x,S.y),l.lineTo(C.x+_*Math.cos(T),C.y+_*Math.sin(T)),l.lineTo(w.x,w.y),l.lineTo(C.x-_*Math.cos(T),C.y-_*Math.sin(T)),l.fillStyle=g,l.fill()}}}),l.restore()}function o(){var n=U(e.linkDirectionalParticles),r=U(e.linkDirectionalParticleSpeed),i=U(e.linkDirectionalParticleOffset),a=U(e.linkDirectionalParticleWidth),o=U(e.linkVisibility),s=U(e.linkDirectionalParticleColor||e.linkColor),c=e.ctx;c.save(),e.graphData.links.filter(o).forEach(function(o){var l=n(o);if(!(!o.hasOwnProperty(`__photons`)||!o.__photons.length)){var u=o.source,d=o.target;if(!(!u||!d||!u.hasOwnProperty(`x`)||!d.hasOwnProperty(`x`))){var f=r(o),p=Math.abs(i(o)),m=o.__photons||[],h=Math.max(0,a(o)/2)/Math.sqrt(e.globalScale);c.fillStyle=s(o)||`rgba(0,0,0,0.28)`;var g=o.__controlPoints?_o(Xa,[u.x,u.y].concat(Do(o.__controlPoints),[d.x,d.y])):null,_=0,v=!1;m.forEach(function(n){var r=!!n.__singleHop;if(n.hasOwnProperty(`__progressRatio`)||(n.__progressRatio=r?0:(_+p)/l),!r&&_++,n.__progressRatio+=f,n.__progressRatio>=1)if(!r)n.__progressRatio%=1;else{v=!0;return}var i=n.__progressRatio,a=g?g.get(i):{x:u.x+(d.x-u.x)*i||0,y:u.y+(d.y-u.y)*i||0};e.linkDirectionalParticleCanvasObject?e.linkDirectionalParticleCanvasObject(a.x,a.y,o,c,e.globalScale):(c.beginPath(),c.arc(a.x,a.y,h,0,2*Math.PI,!1),c.fill())}),v&&(o.__photons=o.__photons.filter(function(e){return!e.__singleHop||e.__progressRatio<=1}))}}}),c.restore()}},emitParticle:function(e,n){return n&&(!n.__photons&&(n.__photons=[]),n.__photons.push({__singleHop:!0})),this}},stateInit:function(){return{forceLayout:Ca().force(`link`,da()).force(`charge`,wa()).force(`center`,_i()).force(`dagRadial`,null).stop(),engineRunning:!1}},init:function(e,n){n.ctx=e},update:function(e,n){e.engineRunning=!1,e.onUpdate(),e.nodeAutoColorBy!==null&&No(e.graphData.nodes,U(e.nodeAutoColorBy),e.nodeColor),e.linkAutoColorBy!==null&&No(e.graphData.links,U(e.linkAutoColorBy),e.linkColor),e.graphData.links.forEach(function(n){n.source=n[e.linkSource],n.target=n[e.linkTarget]}),e.forceLayout.stop().alpha(1).nodes(e.graphData.nodes);var r=e.forceLayout.force(`link`);r&&r.id(function(n){return n[e.nodeId]}).links(e.graphData.links);var i=e.dagMode&&Po(e.graphData,function(n){return n[e.nodeId]},{nodeFilter:e.dagNodeFilter,onLoopError:e.onDagError||void 0}),a=Math.max.apply(Math,Do(Object.values(i||[]))),o=e.dagLevelDistance||e.graphData.nodes.length/(a||1)*Fo*([`radialin`,`radialout`].indexOf(e.dagMode)===-1?1:.7);if([`lr`,`rl`,`td`,`bu`].includes(n.dagMode)){var s=[`lr`,`rl`].includes(n.dagMode)?`fx`:`fy`;e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(e){return delete e[s]})}if([`lr`,`rl`,`td`,`bu`].includes(e.dagMode)){var c=[`rl`,`bu`].includes(e.dagMode),l=function(n){return(i[n[e.nodeId]]-a/2)*o*(c?-1:1)},u=[`lr`,`rl`].includes(e.dagMode)?`fx`:`fy`;e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(e){return e[u]=l(e)})}e.forceLayout.force(`dagRadial`,[`radialin`,`radialout`].indexOf(e.dagMode)===-1?null:Ta(function(n){var r=i[n[e.nodeId]]||-1;return(e.dagMode===`radialin`?a-r:r)*o}).strength(function(n){return+!!e.dagNodeFilter(n)}));for(var d=0;d<e.warmupTicks&&!(e.d3AlphaMin>0&&e.forceLayout.alpha()<e.d3AlphaMin);d++)e.forceLayout.tick();this.resetCountdown(),e.onFinishUpdate()}});function Ro(e,n){var r=e instanceof Array?e:[e],i=new n;return i._destructor&&i._destructor(),{linkProp:function(e){return{default:i[e](),onChange:function(n,i){r.forEach(function(r){return i[r][e](n)})},triggerUpdate:!1}},linkMethod:function(e){return function(n){var i=[...arguments].slice(1),a=[];return r.forEach(function(r){var o=n[r],s=o[e].apply(o,i);s!==o&&a.push(s)}),a.length?a[0]:this}}}}var zo=800,Bo=4,Vo=5,Ho=Ro(`forceGraph`,Lo),Uo=Ro([`forceGraph`,`shadowGraph`],Lo),Wo=Object.assign.apply(Object,Do(`nodeColor.nodeAutoColorBy.nodeCanvasObject.nodeCanvasObjectMode.linkColor.linkAutoColorBy.linkLineDash.linkWidth.linkCanvasObject.linkCanvasObjectMode.linkDirectionalArrowLength.linkDirectionalArrowColor.linkDirectionalArrowRelPos.linkDirectionalParticles.linkDirectionalParticleSpeed.linkDirectionalParticleOffset.linkDirectionalParticleWidth.linkDirectionalParticleColor.linkDirectionalParticleCanvasObject.dagMode.dagLevelDistance.dagNodeFilter.onDagError.d3AlphaMin.d3AlphaDecay.d3VelocityDecay.warmupTicks.cooldownTicks.cooldownTime.onEngineTick.onEngineStop`.split(`.`).map(function(e){return vo({},e,Ho.linkProp(e))})).concat(Do([`nodeRelSize`,`nodeId`,`nodeVal`,`nodeVisibility`,`linkSource`,`linkTarget`,`linkVisibility`,`linkCurvature`].map(function(e){return vo({},e,Uo.linkProp(e))})))),Go=Object.assign.apply(Object,Do([`d3Force`,`d3ReheatSimulation`,`emitParticle`].map(function(e){return vo({},e,Ho.linkMethod(e))})));function Ko(e){if(e.canvas){var n=e.canvas.width,r=e.canvas.height;n===300&&r===150&&(n=r=0);var i=window.devicePixelRatio;n/=i,r/=i,[e.canvas,e.shadowCanvas].forEach(function(a){a.style.width=`${e.width}px`,a.style.height=`${e.height}px`,a.width=e.width*i,a.height=e.height*i,!n&&!r&&a.getContext(`2d`).scale(i,i)});var a=O(e.canvas).k;e.zoom.translateBy(e.zoom.__baseElem,(e.width-n)/2/a,(e.height-r)/2/a),e.needsRedraw=!0}}function qo(e){var n=window.devicePixelRatio;e.setTransform(n,0,0,n,0,0)}function Jo(e,n,r){e.save(),qo(e),e.clearRect(0,0,n,r),e.restore()}var Yo=Zt({props:To({width:{default:window.innerWidth,onChange:function(e,n){return Ko(n)},triggerUpdate:!1},height:{default:window.innerHeight,onChange:function(e,n){return Ko(n)},triggerUpdate:!1},graphData:{default:{nodes:[],links:[]},onChange:function(e,n){[e.nodes,e.links].every(function(e){return(e||[]).every(function(e){return!e.hasOwnProperty(`__indexColor`)})})&&n.colorTracker.reset(),[{type:`Node`,objs:e.nodes},{type:`Link`,objs:e.links}].forEach(r),n.forceGraph.graphData(e),n.shadowGraph.graphData(e);function r(e){var r=e.type;e.objs.filter(function(e){if(!e.hasOwnProperty(`__indexColor`))return!0;var r=n.colorTracker.lookup(e.__indexColor);return!r||!r.hasOwnProperty(`d`)||r.d!==e}).forEach(function(e){e.__indexColor=n.colorTracker.register({type:r,d:e})})}},triggerUpdate:!1},backgroundColor:{onChange:function(e,n){n.canvas&&e&&(n.canvas.style.background=e)},triggerUpdate:!1},nodeLabel:{default:`name`,triggerUpdate:!1},nodePointerAreaPaint:{onChange:function(e,n){n.shadowGraph.nodeCanvasObject(e?function(n,r,i){return e(n,n.__indexColor,r,i)}:null),n.flushShadowCanvas&&n.flushShadowCanvas()},triggerUpdate:!1},linkPointerAreaPaint:{onChange:function(e,n){n.shadowGraph.linkCanvasObject(e?function(n,r,i){return e(n,n.__indexColor,r,i)}:null),n.flushShadowCanvas&&n.flushShadowCanvas()},triggerUpdate:!1},linkLabel:{default:`name`,triggerUpdate:!1},linkHoverPrecision:{default:4,triggerUpdate:!1},minZoom:{default:.01,onChange:function(e,n){n.zoom.scaleExtent([e,n.zoom.scaleExtent()[1]])},triggerUpdate:!1},maxZoom:{default:1e3,onChange:function(e,n){n.zoom.scaleExtent([n.zoom.scaleExtent()[0],e])},triggerUpdate:!1},enableNodeDrag:{default:!0,triggerUpdate:!1},enableZoomInteraction:{default:!0,triggerUpdate:!1},enablePanInteraction:{default:!0,triggerUpdate:!1},enableZoomPanInteraction:{default:!0,triggerUpdate:!1},enablePointerInteraction:{default:!0,onChange:function(e,n){n.hoverObj=null},triggerUpdate:!1},autoPauseRedraw:{default:!0,triggerUpdate:!1},onNodeDrag:{default:function(){},triggerUpdate:!1},onNodeDragEnd:{default:function(){},triggerUpdate:!1},onNodeClick:{triggerUpdate:!1},onNodeRightClick:{triggerUpdate:!1},onNodeHover:{triggerUpdate:!1},onLinkClick:{triggerUpdate:!1},onLinkRightClick:{triggerUpdate:!1},onLinkHover:{triggerUpdate:!1},onBackgroundClick:{triggerUpdate:!1},onBackgroundRightClick:{triggerUpdate:!1},showPointerCursor:{default:!0,triggerUpdate:!1},onZoom:{triggerUpdate:!1},onZoomEnd:{triggerUpdate:!1},onRenderFramePre:{triggerUpdate:!1},onRenderFramePost:{triggerUpdate:!1}},Wo),aliases:{stopAnimation:`pauseAnimation`},methods:To({graph2ScreenCoords:function(e,n,r){var i=O(e.canvas);return{x:n*i.k+i.x,y:r*i.k+i.y}},screen2GraphCoords:function(e,n,r){var i=O(e.canvas);return{x:(n-i.x)/i.k,y:(r-i.y)/i.k}},centerAt:function(e,n,r,i){if(!e.canvas)return null;if(n!==void 0||r!==void 0){var a=Object.assign({},n===void 0?{}:{x:n},r===void 0?{}:{y:r});return i?e.tweenGroup.add(new Bt(o()).to(a,i).easing(Pt.Quadratic.Out).onUpdate(s).onComplete(function(){e.tweenGroup.remove(this)}).start()):s(a),this}return o();function o(){var n=O(e.canvas);return{x:(e.width/2-n.x)/n.k,y:(e.height/2-n.y)/n.k}}function s(n){var r=n.x,i=n.y;e.zoom.translateTo(e.zoom.__baseElem,r===void 0?o().x:r,i===void 0?o().y:i),e.needsRedraw=!0}},zoom:function(e,n,r){if(!e.canvas)return null;if(n!==void 0)return r?e.tweenGroup.add(new Bt({k:i()}).to({k:n},r).easing(Pt.Quadratic.Out).onUpdate(function(e){var n=e.k;return a(n)}).onComplete(function(){e.tweenGroup.remove(this)}).start()):a(n),this;return i();function i(){return O(e.canvas).k}function a(n){e.zoom.scaleTo(e.zoom.__baseElem,n),e.needsRedraw=!0}},zoomToFit:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,i=[...arguments].slice(3),a=this.getGraphBbox.apply(this,i);if(a){var o={x:(a.x[0]+a.x[1])/2,y:(a.y[0]+a.y[1])/2},s=Math.max(1e-12,Math.min(0xe8d4a51000,(e.width-r*2)/(a.x[1]-a.x[0]),(e.height-r*2)/(a.y[1]-a.y[0])));this.centerAt(o.x,o.y,n),this.zoom(s,n)}return this},getGraphBbox:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){return!0},r=U(e.nodeVal),i=function(n){return Math.sqrt(Math.max(0,r(n)||1))*e.nodeRelSize},a=e.graphData.nodes.filter(n).map(function(e){return{x:e.x,y:e.y,r:i(e)}});return a.length?{x:[fe(a,function(e){return e.x-e.r}),de(a,function(e){return e.x+e.r})],y:[fe(a,function(e){return e.y-e.r}),de(a,function(e){return e.y+e.r})]}:null},pauseAnimation:function(e){return e.animationFrameRequestId&&=(cancelAnimationFrame(e.animationFrameRequestId),null),this},resumeAnimation:function(e){return e.animationFrameRequestId||this._animationCycle(),this},_destructor:function(){this.pauseAnimation(),this.graphData({nodes:[],links:[]})}},Go),stateInit:function(){return{lastSetZoom:1,zoom:ye(),forceGraph:new Lo,shadowGraph:new Lo().cooldownTicks(0).nodeColor(`__indexColor`).linkColor(`__indexColor`).isShadow(!0),colorTracker:new sr,tweenGroup:new It}},init:function(e,n){var r=this;e.innerHTML=``;var i=document.createElement(`div`);i.classList.add(`force-graph-container`),i.style.position=`relative`,e.appendChild(i),n.canvas=document.createElement(`canvas`),n.backgroundColor&&(n.canvas.style.background=n.backgroundColor),i.appendChild(n.canvas),n.shadowCanvas=document.createElement(`canvas`);var a=n.canvas.getContext(`2d`),o=n.shadowCanvas.getContext(`2d`,{willReadFrequently:!0}),s={x:-0xe8d4a51000,y:-0xe8d4a51000},c=function(){var e=null,r=window.devicePixelRatio,i=s.x>0&&s.y>0?o.getImageData(s.x*r,s.y*r,1,1):null;return i&&(e=n.colorTracker.lookup(i.data)),e};pe(n.canvas).call(je().subject(function(){if(!n.enableNodeDrag)return null;var e=c();return e&&e.type===`Node`?e.d:null}).on(`start`,function(e){var r=e.subject;r.__initialDragPos={x:r.x,y:r.y,fx:r.fx,fy:r.fy},e.active||(r.fx=r.x,r.fy=r.y),n.canvas.classList.add(`grabbable`)}).on(`drag`,function(e){var r=e.subject,i=r.__initialDragPos,a=e,o=O(n.canvas).k,s={x:i.x+(a.x-i.x)/o-r.x,y:i.y+(a.y-i.y)/o-r.y};[`x`,`y`].forEach(function(e){return r[`f${e}`]=r[e]=i[e]+(a[e]-i[e])/o}),!(!r.__dragged&&Vo>=Math.sqrt(Te([`x`,`y`].map(function(n){return(e[n]-i[n])**2}))))&&(n.forceGraph.d3AlphaTarget(.3).resetCountdown(),n.isPointerDragging=!0,r.__dragged=!0,n.onNodeDrag(r,s))}).on(`end`,function(e){var r=e.subject,i=r.__initialDragPos,a={x:r.x-i.x,y:r.y-i.y};i.fx===void 0&&(r.fx=void 0),i.fy===void 0&&(r.fy=void 0),delete r.__initialDragPos,n.forceGraph.d3AlphaTarget()&&n.forceGraph.d3AlphaTarget(0).resetCountdown(),n.canvas.classList.remove(`grabbable`),n.isPointerDragging=!1,r.__dragged&&(delete r.__dragged,n.onNodeDragEnd(r,a))})),n.zoom(n.zoom.__baseElem=pe(n.canvas)),n.zoom.__baseElem.on(`dblclick.zoom`,null),n.zoom.filter(function(e){return!e.button&&n.enableZoomPanInteraction&&(e.type!==`wheel`||U(n.enableZoomInteraction)(e))&&(e.type===`wheel`||U(n.enablePanInteraction)(e))}).on(`zoom`,function(e){var i=e.transform;[a,o].forEach(function(e){qo(e),e.translate(i.x,i.y),e.scale(i.k,i.k)}),n.isPointerDragging=!0,n.onZoom&&n.onZoom(To(To({},i),r.centerAt())),n.needsRedraw=!0}).on(`end`,function(e){n.isPointerDragging=!1,n.onZoomEnd&&n.onZoomEnd(To(To({},e.transform),r.centerAt()))}),Ko(n),n.forceGraph.onNeedsRedraw(function(){return n.needsRedraw=!0}).onFinishUpdate(function(){O(n.canvas).k===n.lastSetZoom&&n.graphData.nodes.length&&(n.zoom.scaleTo(n.zoom.__baseElem,n.lastSetZoom=Bo/Math.cbrt(n.graphData.nodes.length)),n.needsRedraw=!0)}),n.tooltip=new gi(i),[`pointermove`,`pointerdown`].forEach(function(e){return i.addEventListener(e,function(r){e===`pointerdown`&&(n.isPointerPressed=!0,n.pointerDownEvent=r),!n.isPointerDragging&&r.type===`pointermove`&&n.onBackgroundClick&&(r.pressure>0||n.isPointerPressed)&&(r.pointerType===`mouse`||r.movementX===void 0||[r.movementX,r.movementY].some(function(e){return Math.abs(e)>1}))&&(n.isPointerDragging=!0);var a=o(i);s.x=r.pageX-a.left,s.y=r.pageY-a.top;function o(e){var n=e.getBoundingClientRect(),r=window.pageXOffset||document.documentElement.scrollLeft,i=window.pageYOffset||document.documentElement.scrollTop;return{top:n.top+i,left:n.left+r}}},{passive:!0})}),i.addEventListener(`pointerup`,function(e){if(n.isPointerPressed){if(n.isPointerPressed=!1,n.isPointerDragging){n.isPointerDragging=!1;return}var r=[e,n.pointerDownEvent];requestAnimationFrame(function(){if(e.button===0)if(n.hoverObj){var i=n[`on${n.hoverObj.type}Click`];i&&i.apply(void 0,[n.hoverObj.d].concat(r))}else n.onBackgroundClick&&n.onBackgroundClick.apply(n,r);if(e.button===2)if(n.hoverObj){var a=n[`on${n.hoverObj.type}RightClick`];a&&a.apply(void 0,[n.hoverObj.d].concat(r))}else n.onBackgroundRightClick&&n.onBackgroundRightClick.apply(n,r)})}},{passive:!0}),i.addEventListener(`contextmenu`,function(e){return!n.onBackgroundRightClick&&!n.onNodeRightClick&&!n.onLinkRightClick?!0:(e.preventDefault(),!1)}),n.forceGraph(a),n.shadowGraph(o);var l=et(function(){Jo(o,n.width,n.height),n.shadowGraph.linkWidth(function(e){return U(n.linkWidth)(e)+n.linkHoverPrecision});var e=O(n.canvas);n.shadowGraph.globalScale(e.k).tickFrame()},zo);n.flushShadowCanvas=l.flush,(this._animationCycle=function e(){var r=!n.autoPauseRedraw||!!n.needsRedraw||n.forceGraph.isEngineRunning()||n.graphData.links.some(function(e){return e.__photons&&e.__photons.length});if(n.needsRedraw=!1,n.enablePointerInteraction){var i=n.isPointerDragging?null:c();if(i!==n.hoverObj){var o=n.hoverObj,s=o?o.type:null,u=i?i.type:null;if(s&&s!==u){var d=n[`on${s}Hover`];d&&d(null,o.d)}if(u){var f=n[`on${u}Hover`];f&&f(i.d,s===u?o.d:null)}n.tooltip.content(i&&U(n[`${i.type.toLowerCase()}Label`])(i.d)||null),n.canvas.classList[(i&&n[`on${u}Click`]||!i&&n.onBackgroundClick)&&U(n.showPointerCursor)(i?.d)?`add`:`remove`](`clickable`),n.hoverObj=i}r&&l()}if(r){Jo(a,n.width,n.height);var p=O(n.canvas).k;n.onRenderFramePre&&n.onRenderFramePre(a,p),n.forceGraph.globalScale(p).tickFrame(),n.onRenderFramePost&&n.onRenderFramePost(a,p)}n.tweenGroup.update(),n.animationFrameRequestId=requestAnimationFrame(e)})()},update:function(e){}}),Xo=n(((e,n)=>{n.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),Zo=n(((e,n)=>{var r=Xo();function i(){}function a(){}a.resetWarningCache=i,n.exports=function(){function e(e,n,i,a,o,s){if(s!==r){var c=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name=`Invariant Violation`,c}}e.isRequired=e;function n(){return e}var o={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:n,element:e,elementType:e,instanceOf:n,node:e,objectOf:n,oneOf:n,oneOfType:n,shape:n,exact:n,checkPropTypes:a,resetWarningCache:i};return o.PropTypes=o,o}})),$=e(n(((e,n)=>{n.exports=Zo()()}))(),1),Qo={width:$.default.number,height:$.default.number,graphData:$.default.shape({nodes:$.default.arrayOf($.default.object).isRequired,links:$.default.arrayOf($.default.object).isRequired}),backgroundColor:$.default.string,nodeRelSize:$.default.number,nodeId:$.default.string,nodeLabel:$.default.oneOfType([$.default.string,$.default.func]),nodeVal:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),nodeVisibility:$.default.oneOfType([$.default.bool,$.default.string,$.default.func]),nodeColor:$.default.oneOfType([$.default.string,$.default.func]),nodeAutoColorBy:$.default.oneOfType([$.default.string,$.default.func]),onNodeHover:$.default.func,onNodeClick:$.default.func,linkSource:$.default.string,linkTarget:$.default.string,linkLabel:$.default.oneOfType([$.default.string,$.default.func]),linkVisibility:$.default.oneOfType([$.default.bool,$.default.string,$.default.func]),linkColor:$.default.oneOfType([$.default.string,$.default.func]),linkAutoColorBy:$.default.oneOfType([$.default.string,$.default.func]),linkWidth:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkCurvature:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalArrowLength:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalArrowColor:$.default.oneOfType([$.default.string,$.default.func]),linkDirectionalArrowRelPos:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalParticles:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalParticleSpeed:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalParticleOffset:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalParticleWidth:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalParticleColor:$.default.oneOfType([$.default.string,$.default.func]),onLinkHover:$.default.func,onLinkClick:$.default.func,dagMode:$.default.oneOf([`td`,`bu`,`lr`,`rl`,`zin`,`zout`,`radialin`,`radialout`]),dagLevelDistance:$.default.number,dagNodeFilter:$.default.func,onDagError:$.default.func,d3AlphaMin:$.default.number,d3AlphaDecay:$.default.number,d3VelocityDecay:$.default.number,warmupTicks:$.default.number,cooldownTicks:$.default.number,cooldownTime:$.default.number,onEngineTick:$.default.func,onEngineStop:$.default.func,getGraphBbox:$.default.func},$o={zoomToFit:$.default.func,onNodeRightClick:$.default.func,onNodeDrag:$.default.func,onNodeDragEnd:$.default.func,onLinkRightClick:$.default.func,linkHoverPrecision:$.default.number,onBackgroundClick:$.default.func,onBackgroundRightClick:$.default.func,showPointerCursor:$.default.oneOfType([$.default.bool,$.default.func]),enablePointerInteraction:$.default.bool,enableNodeDrag:$.default.bool},es={showNavInfo:$.default.bool,nodeOpacity:$.default.number,nodeResolution:$.default.number,nodeThreeObject:$.default.oneOfType([$.default.object,$.default.string,$.default.func]),nodeThreeObjectExtend:$.default.oneOfType([$.default.bool,$.default.string,$.default.func]),nodePositionUpdate:$.default.func,linkOpacity:$.default.number,linkResolution:$.default.number,linkCurveRotation:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkMaterial:$.default.oneOfType([$.default.object,$.default.string,$.default.func]),linkThreeObject:$.default.oneOfType([$.default.object,$.default.string,$.default.func]),linkThreeObjectExtend:$.default.oneOfType([$.default.bool,$.default.string,$.default.func]),linkPositionUpdate:$.default.func,linkDirectionalArrowResolution:$.default.number,linkDirectionalParticleResolution:$.default.number,linkDirectionalParticleThreeObject:$.default.oneOfType([$.default.object,$.default.string,$.default.func]),forceEngine:$.default.oneOf([`d3`,`ngraph`]),ngraphPhysics:$.default.object,numDimensions:$.default.oneOf([1,2,3])},ts=Object.assign({},Qo,$o,{linkLineDash:$.default.oneOfType([$.default.arrayOf($.default.number),$.default.string,$.default.func]),nodeCanvasObjectMode:$.default.oneOfType([$.default.string,$.default.func]),nodeCanvasObject:$.default.func,nodePointerAreaPaint:$.default.func,linkCanvasObjectMode:$.default.oneOfType([$.default.string,$.default.func]),linkCanvasObject:$.default.func,linkPointerAreaPaint:$.default.func,linkDirectionalParticleCanvasObject:$.default.func,autoPauseRedraw:$.default.bool,minZoom:$.default.number,maxZoom:$.default.number,enableZoomInteraction:$.default.oneOfType([$.default.bool,$.default.func]),enablePanInteraction:$.default.oneOfType([$.default.bool,$.default.func]),onZoom:$.default.func,onZoomEnd:$.default.func,onRenderFramePre:$.default.func,onRenderFramePost:$.default.func});Object.assign({},Qo,$o,es,{enableNavigationControls:$.default.bool,controlType:$.default.oneOf([`trackball`,`orbit`,`fly`]),rendererConfig:$.default.object,extraRenderers:$.default.arrayOf($.default.shape({render:$.default.func.isRequired}))}),Object.assign({},Qo,es,{nodeDesc:$.default.oneOfType([$.default.string,$.default.func]),linkDesc:$.default.oneOfType([$.default.string,$.default.func])}),Object.assign({},Qo,es,{markerAttrs:$.default.object,yOffset:$.default.number,glScale:$.default.number});var ns=Mt(Yo,{methodNames:[`emitParticle`,`d3Force`,`d3ReheatSimulation`,`stopAnimation`,`pauseAnimation`,`resumeAnimation`,`centerAt`,`zoom`,`zoomToFit`,`getGraphBbox`,`screen2GraphCoords`,`graph2ScreenCoords`]});ns.displayName=`ForceGraph2D`,ns.propTypes=ts;var rs=/(?:\s+[—–|]\s+|:\s+)/;function is(e){let n=new Map;for(let r of e){let e=ps(r.label||r.id),i=ls(e),a=ds(r.kind===`doc`?r.docName??r.id:r.url??r.id),o=us(i),s=o?ds(i):i,c=o?[]:cs(i),l=c.length>1?c[0]??null:null,u=c.length>1?c.at(-1)??null:null;n.set(r.id,{fullLabel:e,leadLabel:l&&l!==s&&l!==u?l:null,pathLabel:a,primaryLabel:s,topicLabel:u&&u!==s?u:null})}return n}function as(e,n,r){if(!e)return``;let i=e=>r(e)<=n;for(let n of ms([e.primaryLabel,e.topicLabel]))if(i(n))return n;for(let i of ms([e.topicLabel,e.primaryLabel])){let e=os(i,n,r);if(e)return e}if(e.leadLabel&&i(e.leadLabel))return e.leadLabel;if(e.leadLabel){let i=os(e.leadLabel,n,r);if(i)return i}return i(e.pathLabel)?e.pathLabel:os(e.pathLabel,n,r)||e.pathLabel}function os(e,n,r){if(!e)return``;if(r(e)<=n)return e;let i=e.split(/\s+/).filter(Boolean),a=ms([i.length>=3?`${i.slice(0,2).join(` `)} ... ${i.at(-1)??``}`:void 0,i.length>=2?`${i[0]} ... ${i.at(-1)??``}`:void 0]);for(let e of a)if(r(e)<=n)return e;return ss(e,n,r)}function ss(e,n,r){if(r(`...`)>n)return``;let i=1,a=Math.max(1,Math.floor((e.length-3)/2)),o=``;for(;i<=a;){let s=Math.floor((i+a)/2),c=`${e.slice(0,s)}...${e.slice(-s)}`;r(c)<=n?(o=c,i=s+1):a=s-1}if(o)return o;let s=`${e[0]??``}...`;return r(s)<=n?s:`...`}function cs(e){return ps(e).split(rs).map(e=>ps(e)).filter(Boolean)}function ls(e){let n=ps(e);for(;;){let e=n.replace(/\s*\([^()]*\)\s*$/,``).trim();if(!e||e===n)return n;n=e}}function us(e){let n=(e.match(/\//g)??[]).length,r=(e.match(/\s/g)??[]).length;return n>0&&(r===0||n*3>r)}function ds(e){let n=e.split(`/`).map(e=>e.trim()).filter(Boolean);return n.length===0?e:n.length===1?fs(n[0]):n.slice(-2).map(fs).join(` / `)}function fs(e){if(e.length<=24)return e;let n=e.split(`-`).filter(Boolean);if(n.length>=4){let e=[...n];for(;e.length>2&&/^\d+$/.test(e[0]);)e.shift();if(e.length>=2)return e.slice(-3).join(`-`)}return e.length<=24?e:`${e.slice(0,10)}...${e.slice(-10)}`}function ps(e){return e.replace(/\s+/g,` `).trim()}function ms(e){let n=new Set;for(let r of e)r&&n.add(r);return[...n]}var hs=8,gs=10,_s=4,vs=6,ys=4,bs=gs+ys*2,xs=2,Ss=.001;function Cs(e){let{nodes:n,links:r,activeDocName:i,viewport:a,maxLabels:o,maxLabelWidthPx:s,labelDescriptors:c,measureTextWidthPx:l,projectToScreen:u,getNodeRadiusPx:d}=e;if(o<=0||a.width<=0||a.height<=0||n.length===0)return[];let f=ws(r),p=a.width/2,m=a.height/2,h=n.flatMap(e=>{if(typeof e.x!=`number`||typeof e.y!=`number`)return[];let n=u(e.x,e.y);return[{node:e,screenX:n.x,screenY:n.y,radiusPx:d(e)}]}),g=h.map(e=>{let n=as(c.get(e.node.id),s,l);if(!n)return null;let r=l(n);return r<=0?null:{...e,text:n,textWidthPx:r,isActive:e.node.id===i,degree:f.get(e.node.id)??0,distanceToCenterPx:Math.hypot(e.screenX-p,e.screenY-m)}}).filter(e=>e!==null);g.sort(Es);let _=[],v=[];for(let e=0;e<g.length&&!(_.length>=o);e+=1){let n=g[e],r=Ds(n,{priority:g.length-e,viewport:a,acceptedRects:v,positionedNodes:h});r&&(_.push(r),v.push(r.rect))}return _}function ws(e){let n=new Map;for(let r of e){let e=Ts(r.source),i=Ts(r.target);e&&n.set(e,(n.get(e)??0)+1),i&&n.set(i,(n.get(i)??0)+1)}return n}function Ts(e){return typeof e==`string`?e:typeof e?.id==`string`?e.id:typeof e?.id==`number`?String(e.id):null}function Es(e,n){return e.isActive===n.isActive?Math.abs(e.distanceToCenterPx-n.distanceToCenterPx)>Ss?e.distanceToCenterPx-n.distanceToCenterPx:e.degree===n.degree?e.text.length===n.text.length?e.node.id.localeCompare(n.node.id):e.text.length-n.text.length:n.degree-e.degree:e.isActive?-1:1}function Ds(e,{priority:n,viewport:r,acceptedRects:i,positionedNodes:a}){for(let o of[`bottom`,`top`,`right`,`left`]){let s=Os(e,o,n);if(ks(s.rect,r)&&!i.some(e=>As(e,s.rect))&&!a.some(n=>n.node.id!==e.node.id&&js(s.rect,{x:n.screenX,y:n.screenY,radius:n.radiusPx+xs})))return s}return null}function Os(e,n,r){let i=e.textWidthPx+vs*2,a=i/2,o=bs/2,s=e.screenX-a,c=e.screenY+e.radiusPx+_s;return n===`top`?c=e.screenY-e.radiusPx-_s-bs:n===`right`?(s=e.screenX+e.radiusPx+_s,c=e.screenY-o):n===`left`&&(s=e.screenX-e.radiusPx-_s-i,c=e.screenY-o),{nodeId:e.node.id,text:e.text,anchor:n,priority:r,isActive:e.isActive,rect:{left:s,top:c,right:s+i,bottom:c+bs},textX:s+a,textY:c+ys}}function ks(e,n){return e.left>=hs&&e.top>=hs&&e.right<=n.width-hs&&e.bottom<=n.height-hs}function As(e,n){return!(e.right<=n.left||e.left>=n.right||e.bottom<=n.top||e.top>=n.bottom)}function js(e,n){let r=Ms(n.x,e.left,e.right),i=Ms(n.y,e.top,e.bottom);return Math.hypot(n.x-r,n.y-i)<n.radius}function Ms(e,n,r){return Math.min(r,Math.max(n,e))}var Ns=5,Ps=7,Fs=8,Is=[`x`,`y`,`z`,`vx`,`vy`,`vz`,`fx`,`fy`,`fz`,`index`,`__indexColor`];function Ls(e,n){for(let r of Is){let i=n[r];i!==void 0&&(e[r]=i)}}function Rs(e){return typeof e==`string`?e:typeof e==`object`&&e&&`id`in e?String(e.id):``}function zs(e){return e.map(e=>`${e.id}:${e.label}`).join(`,`)}function Bs(e){return e.map(e=>`${Rs(e.source)}>${Rs(e.target)}`).join(`,`)}function Vs(e,n){let r=new Map(e.nodes.map(e=>[e.id,e])),i=n.nodes.map(e=>{let n={...e},i=r.get(e.id);return i&&Ls(n,i),n}),a=new Map(e.links.map(e=>[`${Rs(e.source)}>${Rs(e.target)}`,e]));return{nodes:i,links:n.links.map(e=>{let n={...e},r=a.get(`${Rs(e.source)}>${Rs(e.target)}`);return r?.__indexColor&&(n.__indexColor=r.__indexColor),n})}}function Hs(e,n={}){if(e.kind===`external`)return e.url;let r=e.label??e.id,i=n.displayState??`doc`,a=e.cluster||e.category||e.tags&&e.tags.length>0;if(i===`doc`&&!a)return r;let o=[...Us(i),`<div style="font-weight:600;font-size:14px;color:#f1f5f9;margin-bottom:${a?8:0}px;padding-bottom:${a?6:0}px;border-bottom:${a?`1px solid rgba(148,163,184,0.3)`:`none`}">${Ws(r)}</div>`];return e.cluster&&o.push(`<div style="font-size:12.5px;color:#f1f5f9;margin-bottom:2px"><span style="color:#cbd5e1">cluster:</span> ${Ws(e.cluster)}</div>`),e.category&&o.push(`<div style="font-size:12.5px;color:#f1f5f9;margin-bottom:2px"><span style="color:#cbd5e1">category:</span> ${Ws(e.category)}</div>`),e.tags&&e.tags.length>0&&o.push(`<div style="font-size:12.5px;color:#f1f5f9"><span style="color:#cbd5e1">tags:</span> ${e.tags.map(Ws).join(`, `)}</div>`),o.join(``)}function Us(e){return e===`missing`?[`<div style="font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#fca5a5;margin-bottom:6px">Broken / uncreated link</div>`,`<div style="font-size:12px;color:#fecaca;margin-bottom:8px">This page does not exist yet. Open it to create it.</div>`]:e===`folder`?[`<div style="font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#c4b5fd;margin-bottom:6px">Folder target</div>`,`<div style="font-size:12px;color:#ddd6fe;margin-bottom:8px">This link resolves to a folder view rather than a standalone page.</div>`]:[]}function Ws(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}function Gs(e,{activeDocName:n,selectedNodeId:r}){let i=r!==null&&e.id===r;if(e.kind===`external`)return i?`external-selected`:`external`;let a=e.docName===n;return a&&i?`active-selected`:a?`active`:i?`selected`:`default`}function Ks(e){return e===`active`||e===`active-selected`?Fs:e===`selected`||e===`external-selected`?Ps:Ns}function qs(e,n){let r=Ks(e);return e===`active`||e===`selected`||e===`active-selected`||e===`external-selected`?r+2/Math.max(n,.01):r}function Js(e){return x(e.docName,e.anchor)}function Ys(e,n){return e.kind===`external`?n===`select`?{kind:`select`,selection:{kind:`external`,id:e.id,label:e.label,url:e.url}}:{kind:`external`,url:e.url}:n===`select`?{kind:`select`,selection:{kind:`doc`,id:e.id,docName:e.docName,label:e.label,anchor:e.anchor??null}}:{kind:`navigate`,hash:Js({docName:e.docName,label:e.label,anchor:e.anchor??null})}}var Xs=350,Zs=120,Qs=18,$s=28,ec=5;function tc({node:e,navigationIntentByNodeId:n}){return e.kind===`doc`?n.get(e.id)?.displayState??`doc`:`doc`}function nc({state:e,displayState:n,globalScale:r}){let i=qs(e,r);return n===`missing`?Math.max(i,Ks(e)+2/Math.max(r,.01)):i}function rc({nodes:e,activeDocName:n}){let r=e.find(e=>e.kind===`doc`&&e.docName===n);return typeof r?.x!=`number`||typeof r?.y!=`number`?null:{x:r.x,y:r.y}}function ic({fg:e,coords:n,dimensions:r}){if(!e||!n||r.width<=0||r.height<=0)return!1;let i=e.graph2ScreenCoords(n.x,n.y);return Math.hypot(i.x-r.width/2,i.y-r.height/2)>=$s}function ac({fg:e,nodes:n,activeDocName:r,zoom:i,focusKey:a,focusState:o,force:s=!1,durationMs:c=Xs}){let l=Date.now(),u=o;if(u.key!==a)u={key:a,lastX:null,lastY:null,lastAt:0};else if(!s&&l-u.lastAt<Zs)return u;let d=rc({nodes:n,activeDocName:r});if(!d)return u;let f=u.lastX===null||u.lastY===null?1/0:Math.hypot(d.x-u.lastX,d.y-u.lastY);return!s&&f<Qs&&u.lastAt!==0?{...u,lastAt:l}:e?(e.centerAt(d.x,d.y,c),Math.abs(e.zoom()-i)>.01&&e.zoom(i,c),{key:a,lastX:d.x,lastY:d.y,lastAt:l}):u}function oc({ctx:e,placements:n,labelColor:r,chipColor:i,chipBorderColor:a}){e.textAlign=`center`,e.textBaseline=`top`;for(let o of n){let n=o.rect.right-o.rect.left,s=o.rect.bottom-o.rect.top;e.fillStyle=i,e.fillRect(o.rect.left,o.rect.top,n,s),e.strokeStyle=a,e.lineWidth=1,e.strokeRect(o.rect.left,o.rect.top,n,s),e.fillStyle=r,e.fillText(o.text,o.textX,o.textY)}}function sc({node:e,fg:n,activeDocName:r,selectedNodeId:i,globalScale:a,displayState:o}){if(typeof e.x!=`number`||typeof e.y!=`number`)return null;let s=Gs(e,{activeDocName:r,selectedNodeId:i}),c=n.graph2ScreenCoords(e.x,e.y);return{x:c.x,y:c.y,radiusPx:nc({state:s,displayState:o,globalScale:a})*a,state:s}}function cc({clientX:e,clientY:n,container:r}){let i=r.getBoundingClientRect();return{x:e-i.left,y:n-i.top}}function lc({point:e,fg:n,nodes:r,activeDocName:i,selectedNodeId:a,navigationIntentByNodeId:o}){let s=n.zoom(),c=null;for(let l of r){let r=sc({node:l,fg:n,activeDocName:i,selectedNodeId:a,globalScale:s,displayState:tc({node:l,navigationIntentByNodeId:o})});if(!r)continue;let u=Math.hypot(e.x-r.x,e.y-r.y);u>r.radiusPx||c!==null&&u>=c.distance||(c={node:l,distance:u})}return c?.node??null}function uc(e,n){return e===void 0||typeof e==`string`||typeof e==`number`||typeof e.x!=`number`||typeof e.y!=`number`?null:n.graph2ScreenCoords(e.x,e.y)}function dc({point:e,start:n,end:r}){let i=r.x-n.x,a=r.y-n.y;if(i===0&&a===0)return Math.hypot(e.x-n.x,e.y-n.y);let o=Math.max(0,Math.min(1,((e.x-n.x)*i+(e.y-n.y)*a)/(i*i+a*a))),s=n.x+o*i,c=n.y+o*a;return Math.hypot(e.x-s,e.y-c)}function fc({point:e,fg:n,links:r}){return r.some(r=>{let i=uc(r.source,n),a=uc(r.target,n);return!i||!a?!1:dc({point:e,start:i,end:a})<=6})}function pc({node:e,docClickBehavior:n,onSelectNode:r}){let i=Ys(e,n);if(i.kind===`external`){window.open(i.url,`_blank`,`noopener,noreferrer`);return}if(i.kind===`navigate`){window.location.assign(i.hash);return}r?.(i.selection)}function mc({target:e,docClickBehavior:n,selectedNodeId:r,onSelectNode:i,onBackgroundClick:a}){if(e.kind===`background`||e.kind===`link`){a?.();return}if(n===`select`&&r!==null&&e.node.id===r){a?.();return}pc({node:e.node,docClickBehavior:n,onSelectNode:i})}function hc(e){let n=(0,Je.c)(110),{activeDocName:r,selectedNodeId:i,isExpanded:a,showUrlNodes:o,className:s,docClickBehavior:c,onSelectNode:l,onBackgroundClick:u,onStatsChange:d,onClustersChange:f}=e,p=i===void 0?null:i,m=a===void 0?!1:a,g=o===void 0?!0:o,_=s===void 0?``:s,y=c===void 0?`navigate`:c,b;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(b={nodes:[],links:[]},n[0]=b):b=n[0];let[S,E]=(0,H.useState)(b),ee;n[1]===Symbol.for(`react.memo_cache_sentinel`)?(ee={nodes:``,links:``},n[1]=ee):ee=n[1];let te=(0,H.useRef)(ee),[ne,ie]=(0,H.useState)(!0),[ae,oe]=(0,H.useState)(null),se=(0,H.useRef)(null),ce=(0,H.useRef)(void 0),le;n[2]===Symbol.for(`react.memo_cache_sentinel`)?(le={key:``,lastX:null,lastY:null,lastAt:0},n[2]=le):le=n[2];let ue=(0,H.useRef)(le),de=(0,H.useRef)(null),fe=(0,H.useRef)(S.nodes),pe=(0,H.useRef)(!1),me;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(me={width:320,height:400},n[3]=me):me=n[3];let[he,ge]=(0,H.useState)(me),{resolvedTheme:_e}=v(),{folderPaths:O,loading:ve,pages:ye}=w(),k,A;n[4]!==r||n[5]!==m?(k=()=>{let e=!1,n=async function(){try{let n=new URLSearchParams;!m&&r&&(n.set(`docName`,r),n.set(`degrees`,`2`));let i=n.size>0?`/api/link-graph?${n.toString()}`:`/api/link-graph`,a=await fetch(i),o=await a.json().catch(xc);if(e)return;if(!a.ok){let e=h.safeParse(o);oe(e.success?e.data.title:`Server error: ${a.status}`),ie(!1);return}let s=T.safeParse(o);if(!s.success){oe(`Link-graph response did not match expected shape.`),ie(!1);return}let c=s.data.nodes,l=s.data.links,u=zs(c),d=Bs(l);(u!==te.current.nodes||d!==te.current.links)&&(te.current={nodes:u,links:d},E(e=>Vs(e,{nodes:c,links:l}))),oe(null),ie(!1)}catch(n){let r=n;if(e)return;oe(r instanceof Error?r.message:`Failed to load graph`),ie(!1)}};ie(!0),n();let i=()=>{document.visibilityState===`visible`&&n()};window.addEventListener(`focus`,i),window.addEventListener(`visibilitychange`,i);let a=C(e=>{(e.includes(`files`)||e.includes(`graph`))&&n()});return()=>{e=!0,window.removeEventListener(`focus`,i),window.removeEventListener(`visibilitychange`,i),a()}},A=[r,m],n[4]=r,n[5]=m,n[6]=k,n[7]=A):(k=n[6],A=n[7]),(0,H.useEffect)(k,A);let be,xe;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(be=()=>{let e=se.current;if(!e)return;let n=new ResizeObserver(e=>{let[n]=e,{width:r,height:i}=n.contentRect;r>0&&i>0&&ge({width:Math.floor(r),height:Math.floor(i)})});return n.observe(e),()=>n.disconnect()},xe=[],n[8]=be,n[9]=xe):(be=n[8],xe=n[9]),(0,H.useEffect)(be,xe);let j=_e===`dark`,Se=j?`hsl(0 0% 4%)`:`hsl(0 0% 100%)`,M=j?`#6b7280`:`#9ca3af`,Ce=j?`#69a3ff`:`#3784ff`,we=j?`#34d399`:`#059669`,Te=j?`#c084fc`:`#7c3aed`,Ee=j?`#f59e0b`:`#c2410c`,N=j?`#a78bfa`:`#7c3aed`,De=j?`#f87171`:`#dc2626`,Oe=j?`rgba(75,85,99,0.6)`:`rgba(209,213,219,0.8)`,ke=j?`#f3f4f6`:`#111827`,Ae=j?`rgba(105,163,255,0.45)`:`rgba(55,132,255,0.3)`,je=j?`rgba(167,139,250,0.38)`:`rgba(124,58,237,0.22)`,Me=j?`rgba(248,113,113,0.58)`:`rgba(220,38,38,0.38)`,Ne=j?`rgba(52,211,153,0.5)`:`rgba(5,150,105,0.3)`,Pe=j?`rgba(192,132,252,0.5)`:`rgba(124,58,237,0.35)`,Fe=j?`rgba(3,7,18,0.92)`:`rgba(255,255,255,0.94)`,Ie=j?`rgba(243,244,246,0.08)`:`rgba(17,24,39,0.08)`,P=m?1.6:2.35,F=m?220:150,Le=m?10:18,Re;n[10]!==S||n[11]!==g?(Re=g?S:(()=>{let e=new Set(S.nodes.filter(bc).map(yc));return{nodes:S.nodes.filter(vc),links:S.links.filter(n=>{let r=Rs(n.source),i=Rs(n.target);return!e.has(r)&&!e.has(i)})}})(),n[10]=S,n[11]=g,n[12]=Re):Re=n[12];let I=Re,ze=I.nodes,Be=I.links,Ve;n[13]===I.nodes?Ve=n[14]:(Ve=is(I.nodes),n[13]=I.nodes,n[14]=Ve);let He=Ve,L=`${r}|${P}`,Ue;if(n[15]!==O||n[16]!==S.nodes||n[17]!==ve||n[18]!==ye){let e;n[20]!==O||n[21]!==ve||n[22]!==ye?(e=e=>{if(e.kind!==`doc`)return[];let n=ve?{displayState:`doc`,hashDocName:e.docName}:re(e.docName,{pages:ye,folderPaths:O});return[[e.id,n]]},n[20]=O,n[21]=ve,n[22]=ye,n[23]=e):e=n[23],Ue=new Map(S.nodes.flatMap(e)),n[15]=O,n[16]=S.nodes,n[17]=ve,n[18]=ye,n[19]=Ue}else Ue=n[19];let R=Ue,We;n[24]!==I.links||n[25]!==I.nodes||n[26]!==ne||n[27]!==d?(We=()=>{d?.(I.nodes.length,I.links.length,ne)},n[24]=I.links,n[25]=I.nodes,n[26]=ne,n[27]=d,n[28]=We):We=n[28];let Ge;n[29]!==I||n[30]!==ne||n[31]!==d?(Ge=[I,ne,d],n[29]=I,n[30]=ne,n[31]=d,n[32]=Ge):Ge=n[32],(0,H.useEffect)(We,Ge);let z;n[33]!==S.nodes||n[34]!==f?(z=()=>{if(!f)return;let e=new Set;for(let n of S.nodes)n.kind===`doc`&&n.cluster&&e.add(n.cluster);f(Array.from(e).sort())},n[33]=S.nodes,n[34]=f,n[35]=z):z=n[35];let Ke;n[36]!==S||n[37]!==f?(Ke=[S,f],n[36]=S,n[37]=f,n[38]=Ke):Ke=n[38],(0,H.useEffect)(z,Ke);let B,qe;n[39]===S.nodes?(B=n[40],qe=n[41]):(B=()=>{fe.current=S.nodes},qe=[S.nodes],n[39]=S.nodes,n[40]=B,n[41]=qe),(0,H.useEffect)(B,qe);let Ye,Xe;n[42]!==r||n[43]!==L||n[44]!==P?(Ye=()=>{ue.current={key:L,lastX:null,lastY:null,lastAt:0};let e=window.requestAnimationFrame(()=>{ue.current=ac({fg:ce.current,nodes:fe.current,activeDocName:r,zoom:P,focusKey:L,focusState:ue.current,force:!0})});return()=>window.cancelAnimationFrame(e)},Xe=[L,r,P],n[42]=r,n[43]=L,n[44]=P,n[45]=Ye,n[46]=Xe):(Ye=n[45],Xe=n[46]),(0,H.useEffect)(Ye,Xe);let Ze,Qe;n[47]!==r||n[48]!==I.links||n[49]!==I.nodes||n[50]!==y||n[51]!==R||n[52]!==u||n[53]!==l||n[54]!==p?(Ze=()=>{},Qe=[r,y,I.links,I.nodes,R,u,l,p],n[47]=r,n[48]=I.links,n[49]=I.nodes,n[50]=y,n[51]=R,n[52]=u,n[53]=l,n[54]=p,n[55]=Ze,n[56]=Qe):(Ze=n[55],Qe=n[56]),(0,H.useEffect)(Ze,Qe);let $e;n[57]===_?$e=n[58]:($e=D(`h-full min-h-0 overflow-hidden`,_),n[57]=_,n[58]=$e);let et;n[59]===Symbol.for(`react.memo_cache_sentinel`)?(et=()=>{de.current=null},n[59]=et):et=n[59];let tt;n[60]!==r||n[61]!==I.links||n[62]!==I.nodes||n[63]!==R||n[64]!==p?(tt=e=>{if(!e.isPrimary||e.button!==0){de.current=null;return}de.current={pointerId:e.pointerId,clientX:e.clientX,clientY:e.clientY,target:(()=>{let n=se.current,i=ce.current;if(!n||!i)return{kind:`background`};let a=cc({clientX:e.clientX,clientY:e.clientY,container:n}),o=lc({point:a,fg:i,nodes:I.nodes,activeDocName:r,selectedNodeId:p,navigationIntentByNodeId:R});return o?{kind:`node`,node:o}:fc({point:a,fg:i,links:I.links})?{kind:`link`}:{kind:`background`}})()}},n[60]=r,n[61]=I.links,n[62]=I.nodes,n[63]=R,n[64]=p,n[65]=tt):tt=n[65];let nt;n[66]!==y||n[67]!==u||n[68]!==l||n[69]!==p?(nt=e=>{if(!e.isPrimary||e.button!==0){de.current=null;return}let n=de.current;de.current=null,!(!n||n.pointerId!==e.pointerId)&&(Math.hypot(e.clientX-n.clientX,e.clientY-n.clientY)>ec||mc({target:n.target,docClickBehavior:y,selectedNodeId:p,onSelectNode:l,onBackgroundClick:u}))},n[66]=y,n[67]=u,n[68]=l,n[69]=p,n[70]=nt):nt=n[70];let rt;n[71]!==r||n[72]!==Ce||n[73]!==Ae||n[74]!==Te||n[75]!==Pe||n[76]!==Se||n[77]!==M||n[78]!==he||n[79]!==I||n[80]!==Oe||n[81]!==ae||n[82]!==Ee||n[83]!==L||n[84]!==P||n[85]!==N||n[86]!==je||n[87]!==S.nodes||n[88]!==j||n[89]!==Ie||n[90]!==Fe||n[91]!==ke||n[92]!==He||n[93]!==Be||n[94]!==ze||n[95]!==ne||n[96]!==F||n[97]!==Le||n[98]!==De||n[99]!==Me||n[100]!==R||n[101]!==we||n[102]!==p||n[103]!==Ne?(rt=ae?(0,V.jsx)(`p`,{className:`p-4 text-sm text-destructive`,children:ae}):I.nodes.length===0&&!ne?(0,V.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:`No links yet. Add wiki links or markdown links to build a graph.`}):(0,V.jsx)(`div`,{className:`h-full min-h-0`,role:`img`,"aria-label":`Graph visualization of document links`,children:(0,V.jsx)(ns,{ref:ce,graphData:I,cooldownTicks:150,onEngineTick:()=>{pe.current=!1,ue.current=ac({fg:ce.current,nodes:S.nodes,activeDocName:r,zoom:P,focusKey:L,focusState:ue.current})},onEngineStop:()=>{pe.current=!0;let e=rc({nodes:S.nodes,activeDocName:r});ic({fg:ce.current,coords:e,dimensions:he})&&(ue.current=ac({fg:ce.current,nodes:S.nodes,activeDocName:r,zoom:P,focusKey:L,focusState:ue.current,force:!0}))},width:he.width,height:he.height,backgroundColor:Se,nodeId:`id`,nodeLabel:e=>Hs(e,{displayState:tc({node:e,navigationIntentByNodeId:R})}),nodeRelSize:4,nodeVal:e=>{let n=Gs(e,{activeDocName:r,selectedNodeId:p});return n===`active-selected`?20:n===`active`?18:n===`selected`||n===`external-selected`?12:6},nodeCanvasObjectMode:_c,nodeCanvasObject:(e,n,i)=>{if(typeof e.x!=`number`||typeof e.y!=`number`)return;let a=Gs(e,{activeDocName:r,selectedNodeId:p}),o=tc({node:e,navigationIntentByNodeId:R}),s=o===`folder`,c=o===`missing`,l=Ks(a),u=nc({state:a,displayState:o,globalScale:i}),d=e.kind===`doc`?e.cluster:void 0,f=d?it(d,j):M;n.beginPath(),n.arc(e.x,e.y,l,0,2*Math.PI,!1),n.fillStyle=a===`active`?Ce:a===`active-selected`?Te:a===`external`||a===`external-selected`?Ee:c?De:a===`selected`?we:s?N:f,n.fill(),u>l?(n.beginPath(),n.arc(e.x,e.y,u,0,2*Math.PI,!1),n.strokeStyle=c?Me:a===`active`?Ae:a===`selected`||a===`external-selected`?Ne:Pe,n.lineWidth=c?1.75/i:2/i,n.setLineDash(c?[3/i,2/i]:[]),n.stroke(),n.setLineDash([])):s&&(n.beginPath(),n.arc(e.x,e.y,l+2/i,0,2*Math.PI,!1),n.strokeStyle=je,n.lineWidth=1.5/i,n.stroke())},nodePointerAreaPaint:(e,n,i,a)=>{if(typeof e.x!=`number`||typeof e.y!=`number`)return;let o=Gs(e,{activeDocName:r,selectedNodeId:p}),s=tc({node:e,navigationIntentByNodeId:R});i.beginPath(),i.arc(e.x,e.y,nc({state:o,displayState:s,globalScale:a}),0,2*Math.PI,!1),i.fillStyle=n,i.fill()},onRenderFramePost:(e,n)=>{if(n<1.8)return;let i=ce.current;if(!i)return;e.save();let a=window.devicePixelRatio||1;e.setTransform(a,0,0,a,0,0),e.font=`10px system-ui, sans-serif`,oc({ctx:e,placements:Cs({nodes:ze,links:Be,activeDocName:r,viewport:he,maxLabels:Le,maxLabelWidthPx:F,labelDescriptors:He,measureTextWidthPx:n=>e.measureText(n).width,projectToScreen:(e,n)=>i.graph2ScreenCoords(e,n),getNodeRadiusPx:e=>nc({state:Gs(e,{activeDocName:r,selectedNodeId:p}),displayState:tc({node:e,navigationIntentByNodeId:R}),globalScale:n})*n+4}),labelColor:ke,chipColor:Fe,chipBorderColor:Ie}),e.restore()},linkColor:()=>Oe,linkDirectionalArrowLength:3,linkDirectionalArrowRelPos:1,linkWidth:1,showPointerCursor:gc,onNodeClick:e=>{if(e.kind===`external`){window.open(e.url,`_blank`,`noopener,noreferrer`);return}if(e.docName){let n=R.get(e.id);window.location.assign(x(n?.hashDocName??e.docName,e.anchor??null))}}})}),n[71]=r,n[72]=Ce,n[73]=Ae,n[74]=Te,n[75]=Pe,n[76]=Se,n[77]=M,n[78]=he,n[79]=I,n[80]=Oe,n[81]=ae,n[82]=Ee,n[83]=L,n[84]=P,n[85]=N,n[86]=je,n[87]=S.nodes,n[88]=j,n[89]=Ie,n[90]=Fe,n[91]=ke,n[92]=He,n[93]=Be,n[94]=ze,n[95]=ne,n[96]=F,n[97]=Le,n[98]=De,n[99]=Me,n[100]=R,n[101]=we,n[102]=p,n[103]=Ne,n[104]=rt):rt=n[104];let at;return n[105]!==$e||n[106]!==tt||n[107]!==nt||n[108]!==rt?(at=(0,V.jsx)(`div`,{ref:se,className:$e,onPointerCancel:et,onPointerDownCapture:tt,onPointerUpCapture:nt,children:rt}),n[105]=$e,n[106]=tt,n[107]=nt,n[108]=rt,n[109]=at):at=n[109],at}function gc(e){return!!(e&&`kind`in e)}function _c(){return`replace`}function vc(e){return e.kind!==`external`}function yc(e){return e.id}function bc(e){return e.kind===`external`}function xc(){return null}var Sc=50,Cc=`ok-graph-docked-url-nodes-v1`,wc=`ok-graph-fullscreen-url-nodes-v1`;function Tc(e){if(typeof window>`u`)return!1;try{return window.localStorage.getItem(e)===`true`}catch{return!1}}function Ec(e,n){if(!(typeof window>`u`))try{n?window.localStorage.setItem(e,`true`):window.localStorage.removeItem(e)}catch{}}var Dc={explore:`Explore`,orphans:`Orphans`,hubs:`Hubs`},Oc={incoming:`No Incoming`,outgoing:`No Outgoing`,both:`Both`};async function kc(e){let n=await fetch(`/api/orphans?mode=${encodeURIComponent(e)}`),r=await n.json().catch(()=>null);if(!n.ok){let e=h.safeParse(r);throw Error(e.success?e.data.title:`Server error: ${n.status} ${n.statusText}`)}let i=m.safeParse(r);if(!i.success)throw Error(`Failed to load orphan pages`);return i.data.orphans}async function Ac(e){let n=await fetch(`/api/hubs?limit=${encodeURIComponent(String(e))}`),r=await n.json().catch(()=>null);if(!n.ok){let e=h.safeParse(r);throw Error(e.success?e.data.title:`Server error: ${n.status} ${n.statusText}`)}let i=b.safeParse(r);if(!i.success)throw Error(`Failed to load hub pages`);return i.data.hubs}function jc(e){window.location.assign(x(e))}function Mc(e){return e===`incoming`?`Project-level pages with no incoming graph edges.`:e===`outgoing`?`Project-level pages with no outgoing graph edges.`:`Project-level pages with neither incoming nor outgoing graph edges.`}function Nc(e){return e===`incoming`?`No pages are missing incoming graph links.`:e===`outgoing`?`No pages are missing outgoing graph links.`:`No disconnected pages. Pages appear here only when they have no incoming and no outgoing graph edges.`}function Pc(e){let n=(0,Je.c)(29),{mode:r,onModeChange:i}=e,a;n[0]===r?a=n[1]:(a={queryKey:[`orphans`,r],queryFn:()=>kc(r)},n[0]=r,n[1]=a);let{data:u,isLoading:d,error:f}=s(a),p;n[2]===u?p=n[3]:(p=u===void 0?[]:u,n[2]=u,n[3]=p);let m=p,h;n[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,V.jsx)(`p`,{className:`text-sm font-medium`,children:`Project-level disconnected pages`}),n[4]=h):h=n[4];let g;n[5]===r?g=n[6]:(g=Mc(r),n[5]=r,n[6]=g);let _;n[7]===g?_=n[8]:(_=(0,V.jsxs)(`div`,{className:`space-y-1`,children:[h,(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:g})]}),n[7]=g,n[8]=_);let v;n[9]===i?v=n[10]:(v=e=>{e&&S(e)&&i(e)},n[9]=i,n[10]=v);let b;n[11]===Symbol.for(`react.memo_cache_sentinel`)?(b=y.map(Ic),n[11]=b):b=n[11];let x;n[12]!==r||n[13]!==v?(x=(0,V.jsx)(ae,{type:`single`,size:`sm`,variant:`outline`,value:r,"aria-label":`Orphan mode`,onValueChange:v,children:b}),n[12]=r,n[13]=v,n[14]=x):x=n[14];let C;n[15]!==_||n[16]!==x?(C=(0,V.jsx)(`div`,{className:`border-b border-border/60 px-4 py-3`,children:(0,V.jsxs)(`div`,{className:`flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between`,children:[_,x]})}),n[15]=_,n[16]=x,n[17]=C):C=n[17];let w;n[18]!==f||n[19]!==d||n[20]!==r||n[21]!==m?(w=f?(0,V.jsx)(o,{children:f instanceof Error?f.message:`Failed to load orphan pages`}):m.length===0&&!d?(0,V.jsx)(c,{children:Nc(r)}):(0,V.jsx)(`div`,{className:`flex flex-col gap-2`,children:m.map(Fc)}),n[18]=f,n[19]=d,n[20]=r,n[21]=m,n[22]=w):w=n[22];let T;n[23]!==d||n[24]!==w?(T=(0,V.jsx)(l,{"aria-busy":d,children:w}),n[23]=d,n[24]=w,n[25]=T):T=n[25];let E;return n[26]!==C||n[27]!==T?(E=(0,V.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[C,T]}),n[26]=C,n[27]=T,n[28]=E):E=n[28],E}function Fc(e){return(0,V.jsxs)(`button`,{type:`button`,className:`block w-full rounded-lg border border-border bg-background/80 px-3 py-2 text-left transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:()=>jc(e.docName),children:[(0,V.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.title}),(0,V.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.docName})]},e.docName)}function Ic(e){return(0,V.jsx)(ie,{value:e,children:Oc[e]},e)}function Lc(){let e=(0,Je.c)(11),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:[`hubs`,Sc],queryFn:zc},e[0]=n):n=e[0];let{data:r,isLoading:i,error:a}=s(n),u;e[1]===r?u=e[2]:(u=r===void 0?[]:r,e[1]=r,e[2]=u);let d=u,f;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,V.jsx)(`div`,{className:`border-b border-border/60 px-4 py-3`,children:(0,V.jsxs)(`div`,{className:`space-y-1`,children:[(0,V.jsx)(`p`,{className:`text-sm font-medium`,children:`Top linked pages`}),(0,V.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Project-level pages ordered by inbound link count, up to `,Sc,` results.`]})]})}),e[3]=f):f=e[3];let p;e[4]!==a||e[5]!==d||e[6]!==i?(p=a?(0,V.jsx)(o,{children:a instanceof Error?a.message:`Failed to load hub pages`}):d.length===0&&!i?(0,V.jsx)(c,{children:`No hub pages yet. Hubs appear once pages accumulate inbound graph links.`}):(0,V.jsx)(`div`,{className:`flex flex-col gap-2`,children:d.map(Rc)}),e[4]=a,e[5]=d,e[6]=i,e[7]=p):p=e[7];let m;return e[8]!==i||e[9]!==p?(m=(0,V.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[f,(0,V.jsx)(l,{"aria-busy":i,children:p})]}),e[8]=i,e[9]=p,e[10]=m):m=e[10],m}function Rc(e){return(0,V.jsx)(`button`,{type:`button`,className:`block w-full rounded-lg border border-border bg-background/80 px-3 py-2 text-left transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:()=>jc(e.docName),children:(0,V.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,V.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,V.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.title}),(0,V.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.docName})]}),(0,V.jsx)(`span`,{className:`rounded-md bg-muted px-2 py-1 text-xs font-mono text-muted-foreground`,children:e.count})]})},e.docName)}function zc(){return Ac(Sc)}function Bc(e){let n=(0,Je.c)(93),{activeDocName:r}=e,{folderPaths:i,loading:a,pages:o}=w(),[s,c]=(0,H.useState)(!1),[l,m]=(0,H.useState)(`explore`),[h,v]=(0,H.useState)(`both`),[y,b]=(0,H.useState)(null),[x,S]=(0,H.useState)(null),C;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(C=[],n[0]=C):C=n[0];let[T,E]=(0,H.useState)(C),[D,ie]=(0,H.useState)(Gc),[le,ue]=(0,H.useState)(Wc),de,fe;n[1]===D?(de=n[2],fe=n[3]):(de=()=>{Ec(Cc,D)},fe=[D],n[1]=D,n[2]=de,n[3]=fe),(0,H.useEffect)(de,fe);let pe,me;n[4]===le?(pe=n[5],me=n[6]):(pe=()=>{Ec(wc,le)},me=[le],n[4]=le,n[5]=pe,n[6]=me),(0,H.useEffect)(pe,me);let he,ge;n[7]===s?(he=n[8],ge=n[9]):(he=()=>{if(!s)return;let e=e=>{e.key===`Escape`&&c(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},ge=[s],n[7]=s,n[8]=he,n[9]=ge),(0,H.useEffect)(he,ge);let _e,O;n[10]!==s||n[11]!==y?(_e=()=>{!s&&y!==null&&b(null)},O=[s,y],n[10]=s,n[11]=y,n[12]=_e,n[13]=O):(_e=n[12],O=n[13]),(0,H.useEffect)(_e,O);let ve,ye;n[14]!==l||n[15]!==y?(ve=()=>{l!==`explore`&&y!==null&&b(null)},ye=[l,y],n[14]=l,n[15]=y,n[16]=ve,n[17]=ye):(ve=n[16],ye=n[17]),(0,H.useEffect)(ve,ye);let k=s?l:`explore`,A=s?le:D,be=s?ue:ie,xe;n[18]!==i||n[19]!==a||n[20]!==o||n[21]!==y?(xe=y?.kind===`doc`&&!a?re(y.docName,{pages:o,folderPaths:i}).displayState:`doc`,n[18]=i,n[19]=a,n[20]=o,n[21]=y,n[22]=xe):xe=n[22];let j=xe,Se;n[23]!==r||n[24]!==j||n[25]!==y?(Se=y===null?null:y.kind===`doc`&&j===`missing`?{eyebrow:`Broken link`,description:`This page doesn't exist yet. Open it to create the page in the editor and collapse the graph.`,Icon:g,actionLabel:`Create page`,secondaryLabel:y.docName,onAction:()=>{let e=Js(y);c(!1),window.location.assign(e)}}:y.kind===`doc`&&y.docName===r?{eyebrow:`Already open`,description:`This document is already active in the editor. Use Open to collapse the graph.`,Icon:_,actionLabel:`Open`,secondaryLabel:y.docName,onAction:()=>{let e=Js(y);c(!1),window.location.assign(e)}}:y.kind===`doc`?{eyebrow:`Selected in graph`,description:`Open this document in the editor and collapse the graph.`,Icon:ne,actionLabel:`Open`,secondaryLabel:y.docName,onAction:()=>{let e=Js(y);c(!1),window.location.assign(e)}}:{eyebrow:`Selected in graph`,description:`Open this link in a new tab and collapse the graph.`,Icon:ne,actionLabel:`Open link`,secondaryLabel:y.url,onAction:()=>{window.open(y.url,`_blank`,`noopener,noreferrer`),c(!1)}},n[23]=r,n[24]=j,n[25]=y,n[26]=Se):Se=n[26];let M=Se,Te=s?`fixed inset-0 z-50 bg-background overflow-hidden`:void 0,Ee;n[27]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,V.jsx)(f,{children:`Graph`}),n[27]=Ee):Ee=n[27];let N;n[28]!==k||n[29]!==x?(N=k===`explore`&&x?(0,V.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,V.jsxs)(d,{children:[x.nodes,` nodes`]}),(0,V.jsxs)(d,{children:[x.links,` links`]})]}):null,n[28]=k,n[29]=x,n[30]=N):N=n[30];let De;n[31]===N?De=n[32]:(De=(0,V.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[Ee,N]}),n[31]=N,n[32]=De);let Oe;n[33]!==l||n[34]!==s?(Oe=s?(0,V.jsx)(ae,{type:`single`,size:`sm`,variant:`outline`,value:l,"aria-label":`Expanded graph mode`,onValueChange:e=>{(e===`explore`||e===`orphans`||e===`hubs`)&&m(e)},children:Object.entries(Dc).map(Uc)}):null,n[33]=l,n[34]=s,n[35]=Oe):Oe=n[35];let ke=A?`Hide external URL nodes`:`Show external URL nodes`,Ae;n[36]===be?Ae=n[37]:(Ae=()=>be(Hc),n[36]=be,n[37]=Ae);let je=A?`size-4 text-sidebar-accent-foreground`:`size-4 text-muted-foreground`,Me;n[38]===je?Me=n[39]:(Me=(0,V.jsx)(te,{className:je}),n[38]=je,n[39]=Me);let Ne;n[40]!==A||n[41]!==ke||n[42]!==Ae||n[43]!==Me?(Ne=(0,V.jsx)(oe,{asChild:!0,children:(0,V.jsx)(ee,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-foreground hover:bg-accent`,"aria-label":ke,"aria-pressed":A,onClick:Ae,children:Me})}),n[40]=A,n[41]=ke,n[42]=Ae,n[43]=Me,n[44]=Ne):Ne=n[44];let Pe=s?`z-[9999]`:void 0,Fe=A?`Hide external URL nodes`:`Show external URL nodes`,Ie;n[45]!==Pe||n[46]!==Fe?(Ie=(0,V.jsx)(se,{side:`bottom`,sideOffset:8,className:Pe,children:Fe}),n[45]=Pe,n[46]=Fe,n[47]=Ie):Ie=n[47];let P;n[48]!==Ne||n[49]!==Ie?(P=(0,V.jsxs)(ce,{delayDuration:0,children:[Ne,Ie]}),n[48]=Ne,n[49]=Ie,n[50]=P):P=n[50];let F=s?`Collapse graph`:`Expand graph`,Le;n[51]===Symbol.for(`react.memo_cache_sentinel`)?(Le=()=>c(Vc),n[51]=Le):Le=n[51];let Re;n[52]===s?Re=n[53]:(Re=s?(0,V.jsx)(we,{className:`size-4`}):(0,V.jsx)(Ce,{className:`size-4`}),n[52]=s,n[53]=Re);let I;n[54]!==F||n[55]!==Re?(I=(0,V.jsx)(oe,{asChild:!0,children:(0,V.jsx)(ee,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-foreground hover:bg-accent`,"aria-label":F,onClick:Le,children:Re})}),n[54]=F,n[55]=Re,n[56]=I):I=n[56];let ze=s?`z-[9999]`:void 0,Be=s?`Collapse`:`Expand graph`,Ve;n[57]!==ze||n[58]!==Be?(Ve=(0,V.jsx)(se,{side:`bottom`,sideOffset:8,className:ze,children:Be}),n[57]=ze,n[58]=Be,n[59]=Ve):Ve=n[59];let He;n[60]!==I||n[61]!==Ve?(He=(0,V.jsxs)(ce,{delayDuration:0,children:[I,Ve]}),n[60]=I,n[61]=Ve,n[62]=He):He=n[62];let L;n[63]!==P||n[64]!==He?(L=(0,V.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[P,He]}),n[63]=P,n[64]=He,n[65]=L):L=n[65];let Ue;n[66]!==Oe||n[67]!==L?(Ue=(0,V.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[Oe,L]}),n[66]=Oe,n[67]=L,n[68]=Ue):Ue=n[68];let R;n[69]!==De||n[70]!==Ue?(R=(0,V.jsxs)(u,{className:`flex-wrap gap-3`,children:[De,Ue]}),n[69]=De,n[70]=Ue,n[71]=R):R=n[71];let We;n[72]!==r||n[73]!==k||n[74]!==T||n[75]!==s||n[76]!==y||n[77]!==M||n[78]!==A?(We=k===`explore`?(0,V.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,V.jsx)(hc,{activeDocName:r,selectedNodeId:s?y?.id??null:null,isExpanded:s,showUrlNodes:A,className:`h-full min-h-0`,docClickBehavior:s?`select`:`navigate`,onSelectNode:s?b:void 0,onBackgroundClick:s?()=>{y!==null&&b(null)}:void 0,onStatsChange:(e,n,r)=>{if(r){S(null);return}S({nodes:e,links:n})},onClustersChange:E}),(0,V.jsx)(st,{clusters:T,variant:s?`fullscreen`:`docked`}),s&&k===`explore`&&y!==null&&M?(0,V.jsx)(`div`,{className:`pointer-events-none absolute inset-x-4 top-4 z-10 flex justify-center`,children:(0,V.jsxs)(`div`,{role:`status`,"aria-label":`Selected graph item`,className:`pointer-events-auto flex w-full max-w-2xl items-center gap-3 rounded-xl border border-border/70 bg-background/95 px-4 py-3 text-sm shadow-lg backdrop-blur supports-[backdrop-filter]:bg-background/85`,children:[(0,V.jsx)(M.Icon,{className:`size-4 shrink-0 text-primary`}),(0,V.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,V.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:M.eyebrow}),(0,V.jsx)(`div`,{className:`truncate font-medium text-foreground`,children:y.label}),(0,V.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:M.secondaryLabel}),(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:M.description})]}),(0,V.jsx)(ee,{size:`sm`,className:`shrink-0`,onClick:M.onAction,children:M.actionLabel})]})}):null]}):null,n[72]=r,n[73]=k,n[74]=T,n[75]=s,n[76]=y,n[77]=M,n[78]=A,n[79]=We):We=n[79];let Ge;n[80]!==k||n[81]!==s||n[82]!==h?(Ge=s&&k===`orphans`?(0,V.jsx)(Pc,{mode:h,onModeChange:v}):null,n[80]=k,n[81]=s,n[82]=h,n[83]=Ge):Ge=n[83];let z;n[84]!==k||n[85]!==s?(z=s&&k===`hubs`?(0,V.jsx)(Lc,{}):null,n[84]=k,n[85]=s,n[86]=z):z=n[86];let Ke;return n[87]!==Te||n[88]!==R||n[89]!==We||n[90]!==Ge||n[91]!==z?(Ke=(0,V.jsxs)(p,{className:Te,children:[R,We,Ge,z]}),n[87]=Te,n[88]=R,n[89]=We,n[90]=Ge,n[91]=z,n[92]=Ke):Ke=n[92],Ke}function Vc(e){return!e}function Hc(e){return!e}function Uc(e){let[n,r]=e;return(0,V.jsx)(ie,{value:n,children:r},n)}function Wc(){return Tc(wc)}function Gc(){return Tc(Cc)}export{Bc as GraphPanel};
|
|
46
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function wo(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,i)}return r}function To(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]==null?{}:arguments[n];n%2?wo(Object(r),!0).forEach(function(n){vo(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):wo(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Eo(e,n){return ho(e)||xo(e,n)||jo(e,n)||So()}function Do(e){return go(e)||bo(e)||jo(e)||Co()}function Oo(e,n){if(typeof e!=`object`||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n);if(typeof i!=`object`)return i;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(n===`string`?String:Number)(e)}function ko(e){var n=Oo(e,`string`);return typeof n==`symbol`?n:n+``}function Ao(e){"@babel/helpers - typeof";return Ao=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Ao(e)}function jo(e,n){if(e){if(typeof e==`string`)return mo(e,n);var r={}.toString.call(e).slice(8,-1);return r===`Object`&&e.constructor&&(r=e.constructor.name),r===`Map`||r===`Set`?Array.from(e):r===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?mo(e,n):void 0}}var Mo=ue(qe);function No(e,n,r){!n||typeof r!=`string`||e.filter(function(e){return!e[r]}).forEach(function(e){e[r]=Mo(n(e))})}function Po(e,n){var r=e.nodes,i=e.links,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=a.nodeFilter,s=o===void 0?function(){return!0}:o,c=a.onLoopError,l=c===void 0?function(e){throw`Invalid DAG structure! Found cycle in node path: ${e.join(` -> `)}.`}:c,u={};r.forEach(function(e){return u[n(e)]={data:e,out:[],depth:-1,skip:!s(e)}}),i.forEach(function(e){var r=e.source,i=e.target,a=l(r),o=l(i);if(!u.hasOwnProperty(a))throw`Missing source node with id: ${a}`;if(!u.hasOwnProperty(o))throw`Missing target node with id: ${o}`;var s=u[a],c=u[o];s.out.push(c);function l(e){return Ao(e)===`object`?n(e):e}});var d=[];return f(Object.values(u)),Object.assign.apply(Object,[{}].concat(Do(Object.entries(u).filter(function(e){return!Eo(e,2)[1].skip}).map(function(e){var n=Eo(e,2),r=n[0],i=n[1];return vo({},r,i.depth)}))));function f(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=function(){var a=e[o];if(r.indexOf(a)!==-1){var s=[].concat(Do(r.slice(r.indexOf(a))),[a]).map(function(e){return n(e.data)});return d.some(function(e){return e.length===s.length&&e.every(function(e,n){return e===s[n]})})||(d.push(s),l(s)),1}i>a.depth&&(a.depth=i,f(a.out,[].concat(Do(r),[a]),i+ +!a.skip))},o=0,s=e.length;o<s;o++)if(a())continue}}var Fo=2,Q=function(e,n){return n.onNeedsRedraw&&n.onNeedsRedraw()},Io=function(e,n){if(!n.isShadow){var r=U(n.linkDirectionalParticles);n.graphData.links.forEach(function(e){var n=Math.round(Math.abs(r(e)));n?e.__photons=Do(Array(n)).map(function(){return{}}):delete e.__photons})}},Lo=Zt({props:{graphData:{default:{nodes:[],links:[]},onChange:function(e,n){n.engineRunning=!1,Io(e,n)}},dagMode:{onChange:function(e,n){!e&&(n.graphData.nodes||[]).forEach(function(e){e.fx=e.fy=void 0})}},dagLevelDistance:{},dagNodeFilter:{default:function(e){return!0}},onDagError:{triggerUpdate:!1},nodeRelSize:{default:4,triggerUpdate:!1,onChange:Q},nodeId:{default:`id`},nodeVal:{default:`val`,triggerUpdate:!1,onChange:Q},nodeColor:{default:`color`,triggerUpdate:!1,onChange:Q},nodeAutoColorBy:{},nodeCanvasObject:{triggerUpdate:!1,onChange:Q},nodeCanvasObjectMode:{default:function(){return`replace`},triggerUpdate:!1,onChange:Q},nodeVisibility:{default:!0,triggerUpdate:!1,onChange:Q},linkSource:{default:`source`},linkTarget:{default:`target`},linkVisibility:{default:!0,triggerUpdate:!1,onChange:Q},linkColor:{default:`color`,triggerUpdate:!1,onChange:Q},linkAutoColorBy:{},linkLineDash:{triggerUpdate:!1,onChange:Q},linkWidth:{default:1,triggerUpdate:!1,onChange:Q},linkCurvature:{default:0,triggerUpdate:!1,onChange:Q},linkCanvasObject:{triggerUpdate:!1,onChange:Q},linkCanvasObjectMode:{default:function(){return`replace`},triggerUpdate:!1,onChange:Q},linkDirectionalArrowLength:{default:0,triggerUpdate:!1,onChange:Q},linkDirectionalArrowColor:{triggerUpdate:!1,onChange:Q},linkDirectionalArrowRelPos:{default:.5,triggerUpdate:!1,onChange:Q},linkDirectionalParticles:{default:0,triggerUpdate:!1,onChange:Io},linkDirectionalParticleSpeed:{default:.01,triggerUpdate:!1},linkDirectionalParticleOffset:{default:0,triggerUpdate:!1},linkDirectionalParticleWidth:{default:4,triggerUpdate:!1},linkDirectionalParticleColor:{triggerUpdate:!1},linkDirectionalParticleCanvasObject:{triggerUpdate:!1},globalScale:{default:1,triggerUpdate:!1},d3AlphaMin:{default:0,triggerUpdate:!1},d3AlphaDecay:{default:.0228,triggerUpdate:!1,onChange:function(e,n){n.forceLayout.alphaDecay(e)}},d3AlphaTarget:{default:0,triggerUpdate:!1,onChange:function(e,n){n.forceLayout.alphaTarget(e)}},d3VelocityDecay:{default:.4,triggerUpdate:!1,onChange:function(e,n){n.forceLayout.velocityDecay(e)}},warmupTicks:{default:0,triggerUpdate:!1},cooldownTicks:{default:1/0,triggerUpdate:!1},cooldownTime:{default:15e3,triggerUpdate:!1},onUpdate:{default:function(){},triggerUpdate:!1},onFinishUpdate:{default:function(){},triggerUpdate:!1},onEngineTick:{default:function(){},triggerUpdate:!1},onEngineStop:{default:function(){},triggerUpdate:!1},onNeedsRedraw:{triggerUpdate:!1},isShadow:{default:!1,triggerUpdate:!1}},methods:{d3Force:function(e,n,r){return r===void 0?e.forceLayout.force(n):(e.forceLayout.force(n,r),this)},d3ReheatSimulation:function(e){return e.forceLayout.alpha(1),this.resetCountdown(),this},resetCountdown:function(e){return e.cntTicks=0,e.startTickTime=new Date,e.engineRunning=!0,this},isEngineRunning:function(e){return!!e.engineRunning},tickFrame:function(e){return!e.isShadow&&n(),i(),!e.isShadow&&a(),!e.isShadow&&o(),r(),this;function n(){e.engineRunning&&(++e.cntTicks>e.cooldownTicks||new Date-e.startTickTime>e.cooldownTime||e.d3AlphaMin>0&&e.forceLayout.alpha()<e.d3AlphaMin?(e.engineRunning=!1,e.onEngineStop()):(e.forceLayout.tick(),e.onEngineTick()))}function r(){var n=U(e.nodeVisibility),r=U(e.nodeVal),i=U(e.nodeColor),a=U(e.nodeCanvasObjectMode),o=e.ctx,s=e.isShadow/e.globalScale,c=e.graphData.nodes.filter(n);o.save(),c.forEach(function(n){var c=a(n);if(e.nodeCanvasObject&&(c===`before`||c===`replace`)&&(e.nodeCanvasObject(n,o,e.globalScale),c===`replace`)){o.restore();return}var l=Math.sqrt(Math.max(0,r(n)||1))*e.nodeRelSize+s;o.beginPath(),o.arc(n.x,n.y,l,0,2*Math.PI,!1),o.fillStyle=i(n)||`rgba(31, 120, 180, 0.92)`,o.fill(),e.nodeCanvasObject&&c===`after`&&e.nodeCanvasObject(n,e.ctx,e.globalScale)}),o.restore()}function i(){var n=U(e.linkVisibility),r=U(e.linkColor),i=U(e.linkWidth),a=U(e.linkLineDash),o=U(e.linkCurvature),s=U(e.linkCanvasObjectMode),c=e.ctx,l=e.isShadow*2,u=e.graphData.links.filter(n);u.forEach(_);var d=[],f=[],p=u;if(e.linkCanvasObject){var m=[],h=[];u.forEach(function(e){return({before:d,after:f,replace:m}[s(e)]||h).push(e)}),p=[].concat(Do(d),f,h),d=d.concat(m)}c.save(),d.forEach(function(n){return e.linkCanvasObject(n,c,e.globalScale)}),c.restore();var g=fo(p,[r,i,a]);c.save(),Object.entries(g).forEach(function(n){var r=Eo(n,2),i=r[0],o=r[1],s=!i||i===`undefined`?`rgba(0,0,0,0.15)`:i;Object.entries(o).forEach(function(n){var r=Eo(n,2),i=r[0],o=r[1],u=(i||1)/e.globalScale+l;Object.entries(o).forEach(function(e){var n=Eo(e,2);n[0];var r=n[1],i=a(r[0]);c.beginPath(),r.forEach(function(e){var n=e.source,r=e.target;if(!(!n||!r||!n.hasOwnProperty(`x`)||!r.hasOwnProperty(`x`))){c.moveTo(n.x,n.y);var i=e.__controlPoints;i?c[i.length===2?`quadraticCurveTo`:`bezierCurveTo`].apply(c,Do(i).concat([r.x,r.y])):c.lineTo(r.x,r.y)}}),c.strokeStyle=s,c.lineWidth=u,c.setLineDash(i||[]),c.stroke()})})}),c.restore(),c.save(),f.forEach(function(n){return e.linkCanvasObject(n,c,e.globalScale)}),c.restore();function _(e){var n=o(e);if(!n){e.__controlPoints=null;return}var r=e.source,i=e.target;if(!(!r||!i||!r.hasOwnProperty(`x`)||!i.hasOwnProperty(`x`))){var a=Math.sqrt((i.x-r.x)**2+(i.y-r.y)**2);if(a>0){var s=Math.atan2(i.y-r.y,i.x-r.x),c=a*n,l={x:(r.x+i.x)/2+c*Math.cos(s-Math.PI/2),y:(r.y+i.y)/2+c*Math.sin(s-Math.PI/2)};e.__controlPoints=[l.x,l.y]}else{var u=n*70;e.__controlPoints=[i.x,i.y-u,i.x+u,i.y]}}}}function a(){var n=1.6,r=.2,i=U(e.linkDirectionalArrowLength),a=U(e.linkDirectionalArrowRelPos),o=U(e.linkVisibility),s=U(e.linkDirectionalArrowColor||e.linkColor),c=U(e.nodeVal),l=e.ctx;l.save(),e.graphData.links.filter(o).forEach(function(o){var u=i(o);if(!(!u||u<0)){var d=o.source,f=o.target;if(!(!d||!f||!d.hasOwnProperty(`x`)||!f.hasOwnProperty(`x`))){var p=Math.sqrt(Math.max(0,c(d)||1))*e.nodeRelSize,m=Math.sqrt(Math.max(0,c(f)||1))*e.nodeRelSize,h=Math.min(1,Math.max(0,a(o))),g=s(o)||`rgba(0,0,0,0.28)`,_=u/n/2,v=o.__controlPoints&&_o(Xa,[d.x,d.y].concat(Do(o.__controlPoints),[f.x,f.y])),y=v?function(e){return v.get(e)}:function(e){return{x:d.x+(f.x-d.x)*e||0,y:d.y+(f.y-d.y)*e||0}},b=v?v.length():Math.sqrt((f.x-d.x)**2+(f.y-d.y)**2),x=p+u+(b-p-m-u)*h,S=y(x/b),C=y((x-u)/b),w=y((x-u*(1-r))/b),T=Math.atan2(S.y-C.y,S.x-C.x)-Math.PI/2;l.beginPath(),l.moveTo(S.x,S.y),l.lineTo(C.x+_*Math.cos(T),C.y+_*Math.sin(T)),l.lineTo(w.x,w.y),l.lineTo(C.x-_*Math.cos(T),C.y-_*Math.sin(T)),l.fillStyle=g,l.fill()}}}),l.restore()}function o(){var n=U(e.linkDirectionalParticles),r=U(e.linkDirectionalParticleSpeed),i=U(e.linkDirectionalParticleOffset),a=U(e.linkDirectionalParticleWidth),o=U(e.linkVisibility),s=U(e.linkDirectionalParticleColor||e.linkColor),c=e.ctx;c.save(),e.graphData.links.filter(o).forEach(function(o){var l=n(o);if(!(!o.hasOwnProperty(`__photons`)||!o.__photons.length)){var u=o.source,d=o.target;if(!(!u||!d||!u.hasOwnProperty(`x`)||!d.hasOwnProperty(`x`))){var f=r(o),p=Math.abs(i(o)),m=o.__photons||[],h=Math.max(0,a(o)/2)/Math.sqrt(e.globalScale);c.fillStyle=s(o)||`rgba(0,0,0,0.28)`;var g=o.__controlPoints?_o(Xa,[u.x,u.y].concat(Do(o.__controlPoints),[d.x,d.y])):null,_=0,v=!1;m.forEach(function(n){var r=!!n.__singleHop;if(n.hasOwnProperty(`__progressRatio`)||(n.__progressRatio=r?0:(_+p)/l),!r&&_++,n.__progressRatio+=f,n.__progressRatio>=1)if(!r)n.__progressRatio%=1;else{v=!0;return}var i=n.__progressRatio,a=g?g.get(i):{x:u.x+(d.x-u.x)*i||0,y:u.y+(d.y-u.y)*i||0};e.linkDirectionalParticleCanvasObject?e.linkDirectionalParticleCanvasObject(a.x,a.y,o,c,e.globalScale):(c.beginPath(),c.arc(a.x,a.y,h,0,2*Math.PI,!1),c.fill())}),v&&(o.__photons=o.__photons.filter(function(e){return!e.__singleHop||e.__progressRatio<=1}))}}}),c.restore()}},emitParticle:function(e,n){return n&&(!n.__photons&&(n.__photons=[]),n.__photons.push({__singleHop:!0})),this}},stateInit:function(){return{forceLayout:Ca().force(`link`,da()).force(`charge`,wa()).force(`center`,_i()).force(`dagRadial`,null).stop(),engineRunning:!1}},init:function(e,n){n.ctx=e},update:function(e,n){e.engineRunning=!1,e.onUpdate(),e.nodeAutoColorBy!==null&&No(e.graphData.nodes,U(e.nodeAutoColorBy),e.nodeColor),e.linkAutoColorBy!==null&&No(e.graphData.links,U(e.linkAutoColorBy),e.linkColor),e.graphData.links.forEach(function(n){n.source=n[e.linkSource],n.target=n[e.linkTarget]}),e.forceLayout.stop().alpha(1).nodes(e.graphData.nodes);var r=e.forceLayout.force(`link`);r&&r.id(function(n){return n[e.nodeId]}).links(e.graphData.links);var i=e.dagMode&&Po(e.graphData,function(n){return n[e.nodeId]},{nodeFilter:e.dagNodeFilter,onLoopError:e.onDagError||void 0}),a=Math.max.apply(Math,Do(Object.values(i||[]))),o=e.dagLevelDistance||e.graphData.nodes.length/(a||1)*Fo*([`radialin`,`radialout`].indexOf(e.dagMode)===-1?1:.7);if([`lr`,`rl`,`td`,`bu`].includes(n.dagMode)){var s=[`lr`,`rl`].includes(n.dagMode)?`fx`:`fy`;e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(e){return delete e[s]})}if([`lr`,`rl`,`td`,`bu`].includes(e.dagMode)){var c=[`rl`,`bu`].includes(e.dagMode),l=function(n){return(i[n[e.nodeId]]-a/2)*o*(c?-1:1)},u=[`lr`,`rl`].includes(e.dagMode)?`fx`:`fy`;e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(e){return e[u]=l(e)})}e.forceLayout.force(`dagRadial`,[`radialin`,`radialout`].indexOf(e.dagMode)===-1?null:Ta(function(n){var r=i[n[e.nodeId]]||-1;return(e.dagMode===`radialin`?a-r:r)*o}).strength(function(n){return+!!e.dagNodeFilter(n)}));for(var d=0;d<e.warmupTicks&&!(e.d3AlphaMin>0&&e.forceLayout.alpha()<e.d3AlphaMin);d++)e.forceLayout.tick();this.resetCountdown(),e.onFinishUpdate()}});function Ro(e,n){var r=e instanceof Array?e:[e],i=new n;return i._destructor&&i._destructor(),{linkProp:function(e){return{default:i[e](),onChange:function(n,i){r.forEach(function(r){return i[r][e](n)})},triggerUpdate:!1}},linkMethod:function(e){return function(n){var i=[...arguments].slice(1),a=[];return r.forEach(function(r){var o=n[r],s=o[e].apply(o,i);s!==o&&a.push(s)}),a.length?a[0]:this}}}}var zo=800,Bo=4,Vo=5,Ho=Ro(`forceGraph`,Lo),Uo=Ro([`forceGraph`,`shadowGraph`],Lo),Wo=Object.assign.apply(Object,Do(`nodeColor.nodeAutoColorBy.nodeCanvasObject.nodeCanvasObjectMode.linkColor.linkAutoColorBy.linkLineDash.linkWidth.linkCanvasObject.linkCanvasObjectMode.linkDirectionalArrowLength.linkDirectionalArrowColor.linkDirectionalArrowRelPos.linkDirectionalParticles.linkDirectionalParticleSpeed.linkDirectionalParticleOffset.linkDirectionalParticleWidth.linkDirectionalParticleColor.linkDirectionalParticleCanvasObject.dagMode.dagLevelDistance.dagNodeFilter.onDagError.d3AlphaMin.d3AlphaDecay.d3VelocityDecay.warmupTicks.cooldownTicks.cooldownTime.onEngineTick.onEngineStop`.split(`.`).map(function(e){return vo({},e,Ho.linkProp(e))})).concat(Do([`nodeRelSize`,`nodeId`,`nodeVal`,`nodeVisibility`,`linkSource`,`linkTarget`,`linkVisibility`,`linkCurvature`].map(function(e){return vo({},e,Uo.linkProp(e))})))),Go=Object.assign.apply(Object,Do([`d3Force`,`d3ReheatSimulation`,`emitParticle`].map(function(e){return vo({},e,Ho.linkMethod(e))})));function Ko(e){if(e.canvas){var n=e.canvas.width,r=e.canvas.height;n===300&&r===150&&(n=r=0);var i=window.devicePixelRatio;n/=i,r/=i,[e.canvas,e.shadowCanvas].forEach(function(a){a.style.width=`${e.width}px`,a.style.height=`${e.height}px`,a.width=e.width*i,a.height=e.height*i,!n&&!r&&a.getContext(`2d`).scale(i,i)});var a=O(e.canvas).k;e.zoom.translateBy(e.zoom.__baseElem,(e.width-n)/2/a,(e.height-r)/2/a),e.needsRedraw=!0}}function qo(e){var n=window.devicePixelRatio;e.setTransform(n,0,0,n,0,0)}function Jo(e,n,r){e.save(),qo(e),e.clearRect(0,0,n,r),e.restore()}var Yo=Zt({props:To({width:{default:window.innerWidth,onChange:function(e,n){return Ko(n)},triggerUpdate:!1},height:{default:window.innerHeight,onChange:function(e,n){return Ko(n)},triggerUpdate:!1},graphData:{default:{nodes:[],links:[]},onChange:function(e,n){[e.nodes,e.links].every(function(e){return(e||[]).every(function(e){return!e.hasOwnProperty(`__indexColor`)})})&&n.colorTracker.reset(),[{type:`Node`,objs:e.nodes},{type:`Link`,objs:e.links}].forEach(r),n.forceGraph.graphData(e),n.shadowGraph.graphData(e);function r(e){var r=e.type;e.objs.filter(function(e){if(!e.hasOwnProperty(`__indexColor`))return!0;var r=n.colorTracker.lookup(e.__indexColor);return!r||!r.hasOwnProperty(`d`)||r.d!==e}).forEach(function(e){e.__indexColor=n.colorTracker.register({type:r,d:e})})}},triggerUpdate:!1},backgroundColor:{onChange:function(e,n){n.canvas&&e&&(n.canvas.style.background=e)},triggerUpdate:!1},nodeLabel:{default:`name`,triggerUpdate:!1},nodePointerAreaPaint:{onChange:function(e,n){n.shadowGraph.nodeCanvasObject(e?function(n,r,i){return e(n,n.__indexColor,r,i)}:null),n.flushShadowCanvas&&n.flushShadowCanvas()},triggerUpdate:!1},linkPointerAreaPaint:{onChange:function(e,n){n.shadowGraph.linkCanvasObject(e?function(n,r,i){return e(n,n.__indexColor,r,i)}:null),n.flushShadowCanvas&&n.flushShadowCanvas()},triggerUpdate:!1},linkLabel:{default:`name`,triggerUpdate:!1},linkHoverPrecision:{default:4,triggerUpdate:!1},minZoom:{default:.01,onChange:function(e,n){n.zoom.scaleExtent([e,n.zoom.scaleExtent()[1]])},triggerUpdate:!1},maxZoom:{default:1e3,onChange:function(e,n){n.zoom.scaleExtent([n.zoom.scaleExtent()[0],e])},triggerUpdate:!1},enableNodeDrag:{default:!0,triggerUpdate:!1},enableZoomInteraction:{default:!0,triggerUpdate:!1},enablePanInteraction:{default:!0,triggerUpdate:!1},enableZoomPanInteraction:{default:!0,triggerUpdate:!1},enablePointerInteraction:{default:!0,onChange:function(e,n){n.hoverObj=null},triggerUpdate:!1},autoPauseRedraw:{default:!0,triggerUpdate:!1},onNodeDrag:{default:function(){},triggerUpdate:!1},onNodeDragEnd:{default:function(){},triggerUpdate:!1},onNodeClick:{triggerUpdate:!1},onNodeRightClick:{triggerUpdate:!1},onNodeHover:{triggerUpdate:!1},onLinkClick:{triggerUpdate:!1},onLinkRightClick:{triggerUpdate:!1},onLinkHover:{triggerUpdate:!1},onBackgroundClick:{triggerUpdate:!1},onBackgroundRightClick:{triggerUpdate:!1},showPointerCursor:{default:!0,triggerUpdate:!1},onZoom:{triggerUpdate:!1},onZoomEnd:{triggerUpdate:!1},onRenderFramePre:{triggerUpdate:!1},onRenderFramePost:{triggerUpdate:!1}},Wo),aliases:{stopAnimation:`pauseAnimation`},methods:To({graph2ScreenCoords:function(e,n,r){var i=O(e.canvas);return{x:n*i.k+i.x,y:r*i.k+i.y}},screen2GraphCoords:function(e,n,r){var i=O(e.canvas);return{x:(n-i.x)/i.k,y:(r-i.y)/i.k}},centerAt:function(e,n,r,i){if(!e.canvas)return null;if(n!==void 0||r!==void 0){var a=Object.assign({},n===void 0?{}:{x:n},r===void 0?{}:{y:r});return i?e.tweenGroup.add(new Bt(o()).to(a,i).easing(Pt.Quadratic.Out).onUpdate(s).onComplete(function(){e.tweenGroup.remove(this)}).start()):s(a),this}return o();function o(){var n=O(e.canvas);return{x:(e.width/2-n.x)/n.k,y:(e.height/2-n.y)/n.k}}function s(n){var r=n.x,i=n.y;e.zoom.translateTo(e.zoom.__baseElem,r===void 0?o().x:r,i===void 0?o().y:i),e.needsRedraw=!0}},zoom:function(e,n,r){if(!e.canvas)return null;if(n!==void 0)return r?e.tweenGroup.add(new Bt({k:i()}).to({k:n},r).easing(Pt.Quadratic.Out).onUpdate(function(e){var n=e.k;return a(n)}).onComplete(function(){e.tweenGroup.remove(this)}).start()):a(n),this;return i();function i(){return O(e.canvas).k}function a(n){e.zoom.scaleTo(e.zoom.__baseElem,n),e.needsRedraw=!0}},zoomToFit:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,i=[...arguments].slice(3),a=this.getGraphBbox.apply(this,i);if(a){var o={x:(a.x[0]+a.x[1])/2,y:(a.y[0]+a.y[1])/2},s=Math.max(1e-12,Math.min(0xe8d4a51000,(e.width-r*2)/(a.x[1]-a.x[0]),(e.height-r*2)/(a.y[1]-a.y[0])));this.centerAt(o.x,o.y,n),this.zoom(s,n)}return this},getGraphBbox:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){return!0},r=U(e.nodeVal),i=function(n){return Math.sqrt(Math.max(0,r(n)||1))*e.nodeRelSize},a=e.graphData.nodes.filter(n).map(function(e){return{x:e.x,y:e.y,r:i(e)}});return a.length?{x:[fe(a,function(e){return e.x-e.r}),de(a,function(e){return e.x+e.r})],y:[fe(a,function(e){return e.y-e.r}),de(a,function(e){return e.y+e.r})]}:null},pauseAnimation:function(e){return e.animationFrameRequestId&&=(cancelAnimationFrame(e.animationFrameRequestId),null),this},resumeAnimation:function(e){return e.animationFrameRequestId||this._animationCycle(),this},_destructor:function(){this.pauseAnimation(),this.graphData({nodes:[],links:[]})}},Go),stateInit:function(){return{lastSetZoom:1,zoom:ye(),forceGraph:new Lo,shadowGraph:new Lo().cooldownTicks(0).nodeColor(`__indexColor`).linkColor(`__indexColor`).isShadow(!0),colorTracker:new sr,tweenGroup:new It}},init:function(e,n){var r=this;e.innerHTML=``;var i=document.createElement(`div`);i.classList.add(`force-graph-container`),i.style.position=`relative`,e.appendChild(i),n.canvas=document.createElement(`canvas`),n.backgroundColor&&(n.canvas.style.background=n.backgroundColor),i.appendChild(n.canvas),n.shadowCanvas=document.createElement(`canvas`);var a=n.canvas.getContext(`2d`),o=n.shadowCanvas.getContext(`2d`,{willReadFrequently:!0}),s={x:-0xe8d4a51000,y:-0xe8d4a51000},c=function(){var e=null,r=window.devicePixelRatio,i=s.x>0&&s.y>0?o.getImageData(s.x*r,s.y*r,1,1):null;return i&&(e=n.colorTracker.lookup(i.data)),e};pe(n.canvas).call(je().subject(function(){if(!n.enableNodeDrag)return null;var e=c();return e&&e.type===`Node`?e.d:null}).on(`start`,function(e){var r=e.subject;r.__initialDragPos={x:r.x,y:r.y,fx:r.fx,fy:r.fy},e.active||(r.fx=r.x,r.fy=r.y),n.canvas.classList.add(`grabbable`)}).on(`drag`,function(e){var r=e.subject,i=r.__initialDragPos,a=e,o=O(n.canvas).k,s={x:i.x+(a.x-i.x)/o-r.x,y:i.y+(a.y-i.y)/o-r.y};[`x`,`y`].forEach(function(e){return r[`f${e}`]=r[e]=i[e]+(a[e]-i[e])/o}),!(!r.__dragged&&Vo>=Math.sqrt(Te([`x`,`y`].map(function(n){return(e[n]-i[n])**2}))))&&(n.forceGraph.d3AlphaTarget(.3).resetCountdown(),n.isPointerDragging=!0,r.__dragged=!0,n.onNodeDrag(r,s))}).on(`end`,function(e){var r=e.subject,i=r.__initialDragPos,a={x:r.x-i.x,y:r.y-i.y};i.fx===void 0&&(r.fx=void 0),i.fy===void 0&&(r.fy=void 0),delete r.__initialDragPos,n.forceGraph.d3AlphaTarget()&&n.forceGraph.d3AlphaTarget(0).resetCountdown(),n.canvas.classList.remove(`grabbable`),n.isPointerDragging=!1,r.__dragged&&(delete r.__dragged,n.onNodeDragEnd(r,a))})),n.zoom(n.zoom.__baseElem=pe(n.canvas)),n.zoom.__baseElem.on(`dblclick.zoom`,null),n.zoom.filter(function(e){return!e.button&&n.enableZoomPanInteraction&&(e.type!==`wheel`||U(n.enableZoomInteraction)(e))&&(e.type===`wheel`||U(n.enablePanInteraction)(e))}).on(`zoom`,function(e){var i=e.transform;[a,o].forEach(function(e){qo(e),e.translate(i.x,i.y),e.scale(i.k,i.k)}),n.isPointerDragging=!0,n.onZoom&&n.onZoom(To(To({},i),r.centerAt())),n.needsRedraw=!0}).on(`end`,function(e){n.isPointerDragging=!1,n.onZoomEnd&&n.onZoomEnd(To(To({},e.transform),r.centerAt()))}),Ko(n),n.forceGraph.onNeedsRedraw(function(){return n.needsRedraw=!0}).onFinishUpdate(function(){O(n.canvas).k===n.lastSetZoom&&n.graphData.nodes.length&&(n.zoom.scaleTo(n.zoom.__baseElem,n.lastSetZoom=Bo/Math.cbrt(n.graphData.nodes.length)),n.needsRedraw=!0)}),n.tooltip=new gi(i),[`pointermove`,`pointerdown`].forEach(function(e){return i.addEventListener(e,function(r){e===`pointerdown`&&(n.isPointerPressed=!0,n.pointerDownEvent=r),!n.isPointerDragging&&r.type===`pointermove`&&n.onBackgroundClick&&(r.pressure>0||n.isPointerPressed)&&(r.pointerType===`mouse`||r.movementX===void 0||[r.movementX,r.movementY].some(function(e){return Math.abs(e)>1}))&&(n.isPointerDragging=!0);var a=o(i);s.x=r.pageX-a.left,s.y=r.pageY-a.top;function o(e){var n=e.getBoundingClientRect(),r=window.pageXOffset||document.documentElement.scrollLeft,i=window.pageYOffset||document.documentElement.scrollTop;return{top:n.top+i,left:n.left+r}}},{passive:!0})}),i.addEventListener(`pointerup`,function(e){if(n.isPointerPressed){if(n.isPointerPressed=!1,n.isPointerDragging){n.isPointerDragging=!1;return}var r=[e,n.pointerDownEvent];requestAnimationFrame(function(){if(e.button===0)if(n.hoverObj){var i=n[`on${n.hoverObj.type}Click`];i&&i.apply(void 0,[n.hoverObj.d].concat(r))}else n.onBackgroundClick&&n.onBackgroundClick.apply(n,r);if(e.button===2)if(n.hoverObj){var a=n[`on${n.hoverObj.type}RightClick`];a&&a.apply(void 0,[n.hoverObj.d].concat(r))}else n.onBackgroundRightClick&&n.onBackgroundRightClick.apply(n,r)})}},{passive:!0}),i.addEventListener(`contextmenu`,function(e){return!n.onBackgroundRightClick&&!n.onNodeRightClick&&!n.onLinkRightClick?!0:(e.preventDefault(),!1)}),n.forceGraph(a),n.shadowGraph(o);var l=et(function(){Jo(o,n.width,n.height),n.shadowGraph.linkWidth(function(e){return U(n.linkWidth)(e)+n.linkHoverPrecision});var e=O(n.canvas);n.shadowGraph.globalScale(e.k).tickFrame()},zo);n.flushShadowCanvas=l.flush,(this._animationCycle=function e(){var r=!n.autoPauseRedraw||!!n.needsRedraw||n.forceGraph.isEngineRunning()||n.graphData.links.some(function(e){return e.__photons&&e.__photons.length});if(n.needsRedraw=!1,n.enablePointerInteraction){var i=n.isPointerDragging?null:c();if(i!==n.hoverObj){var o=n.hoverObj,s=o?o.type:null,u=i?i.type:null;if(s&&s!==u){var d=n[`on${s}Hover`];d&&d(null,o.d)}if(u){var f=n[`on${u}Hover`];f&&f(i.d,s===u?o.d:null)}n.tooltip.content(i&&U(n[`${i.type.toLowerCase()}Label`])(i.d)||null),n.canvas.classList[(i&&n[`on${u}Click`]||!i&&n.onBackgroundClick)&&U(n.showPointerCursor)(i?.d)?`add`:`remove`](`clickable`),n.hoverObj=i}r&&l()}if(r){Jo(a,n.width,n.height);var p=O(n.canvas).k;n.onRenderFramePre&&n.onRenderFramePre(a,p),n.forceGraph.globalScale(p).tickFrame(),n.onRenderFramePost&&n.onRenderFramePost(a,p)}n.tweenGroup.update(),n.animationFrameRequestId=requestAnimationFrame(e)})()},update:function(e){}}),Xo=n(((e,n)=>{n.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),Zo=n(((e,n)=>{var r=Xo();function i(){}function a(){}a.resetWarningCache=i,n.exports=function(){function e(e,n,i,a,o,s){if(s!==r){var c=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name=`Invariant Violation`,c}}e.isRequired=e;function n(){return e}var o={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:n,element:e,elementType:e,instanceOf:n,node:e,objectOf:n,oneOf:n,oneOfType:n,shape:n,exact:n,checkPropTypes:a,resetWarningCache:i};return o.PropTypes=o,o}})),$=e(n(((e,n)=>{n.exports=Zo()()}))(),1),Qo={width:$.default.number,height:$.default.number,graphData:$.default.shape({nodes:$.default.arrayOf($.default.object).isRequired,links:$.default.arrayOf($.default.object).isRequired}),backgroundColor:$.default.string,nodeRelSize:$.default.number,nodeId:$.default.string,nodeLabel:$.default.oneOfType([$.default.string,$.default.func]),nodeVal:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),nodeVisibility:$.default.oneOfType([$.default.bool,$.default.string,$.default.func]),nodeColor:$.default.oneOfType([$.default.string,$.default.func]),nodeAutoColorBy:$.default.oneOfType([$.default.string,$.default.func]),onNodeHover:$.default.func,onNodeClick:$.default.func,linkSource:$.default.string,linkTarget:$.default.string,linkLabel:$.default.oneOfType([$.default.string,$.default.func]),linkVisibility:$.default.oneOfType([$.default.bool,$.default.string,$.default.func]),linkColor:$.default.oneOfType([$.default.string,$.default.func]),linkAutoColorBy:$.default.oneOfType([$.default.string,$.default.func]),linkWidth:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkCurvature:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalArrowLength:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalArrowColor:$.default.oneOfType([$.default.string,$.default.func]),linkDirectionalArrowRelPos:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalParticles:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalParticleSpeed:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalParticleOffset:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalParticleWidth:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalParticleColor:$.default.oneOfType([$.default.string,$.default.func]),onLinkHover:$.default.func,onLinkClick:$.default.func,dagMode:$.default.oneOf([`td`,`bu`,`lr`,`rl`,`zin`,`zout`,`radialin`,`radialout`]),dagLevelDistance:$.default.number,dagNodeFilter:$.default.func,onDagError:$.default.func,d3AlphaMin:$.default.number,d3AlphaDecay:$.default.number,d3VelocityDecay:$.default.number,warmupTicks:$.default.number,cooldownTicks:$.default.number,cooldownTime:$.default.number,onEngineTick:$.default.func,onEngineStop:$.default.func,getGraphBbox:$.default.func},$o={zoomToFit:$.default.func,onNodeRightClick:$.default.func,onNodeDrag:$.default.func,onNodeDragEnd:$.default.func,onLinkRightClick:$.default.func,linkHoverPrecision:$.default.number,onBackgroundClick:$.default.func,onBackgroundRightClick:$.default.func,showPointerCursor:$.default.oneOfType([$.default.bool,$.default.func]),enablePointerInteraction:$.default.bool,enableNodeDrag:$.default.bool},es={showNavInfo:$.default.bool,nodeOpacity:$.default.number,nodeResolution:$.default.number,nodeThreeObject:$.default.oneOfType([$.default.object,$.default.string,$.default.func]),nodeThreeObjectExtend:$.default.oneOfType([$.default.bool,$.default.string,$.default.func]),nodePositionUpdate:$.default.func,linkOpacity:$.default.number,linkResolution:$.default.number,linkCurveRotation:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkMaterial:$.default.oneOfType([$.default.object,$.default.string,$.default.func]),linkThreeObject:$.default.oneOfType([$.default.object,$.default.string,$.default.func]),linkThreeObjectExtend:$.default.oneOfType([$.default.bool,$.default.string,$.default.func]),linkPositionUpdate:$.default.func,linkDirectionalArrowResolution:$.default.number,linkDirectionalParticleResolution:$.default.number,linkDirectionalParticleThreeObject:$.default.oneOfType([$.default.object,$.default.string,$.default.func]),forceEngine:$.default.oneOf([`d3`,`ngraph`]),ngraphPhysics:$.default.object,numDimensions:$.default.oneOf([1,2,3])},ts=Object.assign({},Qo,$o,{linkLineDash:$.default.oneOfType([$.default.arrayOf($.default.number),$.default.string,$.default.func]),nodeCanvasObjectMode:$.default.oneOfType([$.default.string,$.default.func]),nodeCanvasObject:$.default.func,nodePointerAreaPaint:$.default.func,linkCanvasObjectMode:$.default.oneOfType([$.default.string,$.default.func]),linkCanvasObject:$.default.func,linkPointerAreaPaint:$.default.func,linkDirectionalParticleCanvasObject:$.default.func,autoPauseRedraw:$.default.bool,minZoom:$.default.number,maxZoom:$.default.number,enableZoomInteraction:$.default.oneOfType([$.default.bool,$.default.func]),enablePanInteraction:$.default.oneOfType([$.default.bool,$.default.func]),onZoom:$.default.func,onZoomEnd:$.default.func,onRenderFramePre:$.default.func,onRenderFramePost:$.default.func});Object.assign({},Qo,$o,es,{enableNavigationControls:$.default.bool,controlType:$.default.oneOf([`trackball`,`orbit`,`fly`]),rendererConfig:$.default.object,extraRenderers:$.default.arrayOf($.default.shape({render:$.default.func.isRequired}))}),Object.assign({},Qo,es,{nodeDesc:$.default.oneOfType([$.default.string,$.default.func]),linkDesc:$.default.oneOfType([$.default.string,$.default.func])}),Object.assign({},Qo,es,{markerAttrs:$.default.object,yOffset:$.default.number,glScale:$.default.number});var ns=Mt(Yo,{methodNames:[`emitParticle`,`d3Force`,`d3ReheatSimulation`,`stopAnimation`,`pauseAnimation`,`resumeAnimation`,`centerAt`,`zoom`,`zoomToFit`,`getGraphBbox`,`screen2GraphCoords`,`graph2ScreenCoords`]});ns.displayName=`ForceGraph2D`,ns.propTypes=ts;var rs=/(?:\s+[—–|]\s+|:\s+)/;function is(e){let n=new Map;for(let r of e){let e=ps(r.label||r.id),i=ls(e),a=ds(r.kind===`doc`?r.docName??r.id:r.url??r.id),o=us(i),s=o?ds(i):i,c=o?[]:cs(i),l=c.length>1?c[0]??null:null,u=c.length>1?c.at(-1)??null:null;n.set(r.id,{fullLabel:e,leadLabel:l&&l!==s&&l!==u?l:null,pathLabel:a,primaryLabel:s,topicLabel:u&&u!==s?u:null})}return n}function as(e,n,r){if(!e)return``;let i=e=>r(e)<=n;for(let n of ms([e.primaryLabel,e.topicLabel]))if(i(n))return n;for(let i of ms([e.topicLabel,e.primaryLabel])){let e=os(i,n,r);if(e)return e}if(e.leadLabel&&i(e.leadLabel))return e.leadLabel;if(e.leadLabel){let i=os(e.leadLabel,n,r);if(i)return i}return i(e.pathLabel)?e.pathLabel:os(e.pathLabel,n,r)||e.pathLabel}function os(e,n,r){if(!e)return``;if(r(e)<=n)return e;let i=e.split(/\s+/).filter(Boolean),a=ms([i.length>=3?`${i.slice(0,2).join(` `)} ... ${i.at(-1)??``}`:void 0,i.length>=2?`${i[0]} ... ${i.at(-1)??``}`:void 0]);for(let e of a)if(r(e)<=n)return e;return ss(e,n,r)}function ss(e,n,r){if(r(`...`)>n)return``;let i=1,a=Math.max(1,Math.floor((e.length-3)/2)),o=``;for(;i<=a;){let s=Math.floor((i+a)/2),c=`${e.slice(0,s)}...${e.slice(-s)}`;r(c)<=n?(o=c,i=s+1):a=s-1}if(o)return o;let s=`${e[0]??``}...`;return r(s)<=n?s:`...`}function cs(e){return ps(e).split(rs).map(e=>ps(e)).filter(Boolean)}function ls(e){let n=ps(e);for(;;){let e=n.replace(/\s*\([^()]*\)\s*$/,``).trim();if(!e||e===n)return n;n=e}}function us(e){let n=(e.match(/\//g)??[]).length,r=(e.match(/\s/g)??[]).length;return n>0&&(r===0||n*3>r)}function ds(e){let n=e.split(`/`).map(e=>e.trim()).filter(Boolean);return n.length===0?e:n.length===1?fs(n[0]):n.slice(-2).map(fs).join(` / `)}function fs(e){if(e.length<=24)return e;let n=e.split(`-`).filter(Boolean);if(n.length>=4){let e=[...n];for(;e.length>2&&/^\d+$/.test(e[0]);)e.shift();if(e.length>=2)return e.slice(-3).join(`-`)}return e.length<=24?e:`${e.slice(0,10)}...${e.slice(-10)}`}function ps(e){return e.replace(/\s+/g,` `).trim()}function ms(e){let n=new Set;for(let r of e)r&&n.add(r);return[...n]}var hs=8,gs=10,_s=4,vs=6,ys=4,bs=gs+ys*2,xs=2,Ss=.001;function Cs(e){let{nodes:n,links:r,activeDocName:i,viewport:a,maxLabels:o,maxLabelWidthPx:s,labelDescriptors:c,measureTextWidthPx:l,projectToScreen:u,getNodeRadiusPx:d}=e;if(o<=0||a.width<=0||a.height<=0||n.length===0)return[];let f=ws(r),p=a.width/2,m=a.height/2,h=n.flatMap(e=>{if(typeof e.x!=`number`||typeof e.y!=`number`)return[];let n=u(e.x,e.y);return[{node:e,screenX:n.x,screenY:n.y,radiusPx:d(e)}]}),g=h.map(e=>{let n=as(c.get(e.node.id),s,l);if(!n)return null;let r=l(n);return r<=0?null:{...e,text:n,textWidthPx:r,isActive:e.node.id===i,degree:f.get(e.node.id)??0,distanceToCenterPx:Math.hypot(e.screenX-p,e.screenY-m)}}).filter(e=>e!==null);g.sort(Es);let _=[],v=[];for(let e=0;e<g.length&&!(_.length>=o);e+=1){let n=g[e],r=Ds(n,{priority:g.length-e,viewport:a,acceptedRects:v,positionedNodes:h});r&&(_.push(r),v.push(r.rect))}return _}function ws(e){let n=new Map;for(let r of e){let e=Ts(r.source),i=Ts(r.target);e&&n.set(e,(n.get(e)??0)+1),i&&n.set(i,(n.get(i)??0)+1)}return n}function Ts(e){return typeof e==`string`?e:typeof e?.id==`string`?e.id:typeof e?.id==`number`?String(e.id):null}function Es(e,n){return e.isActive===n.isActive?Math.abs(e.distanceToCenterPx-n.distanceToCenterPx)>Ss?e.distanceToCenterPx-n.distanceToCenterPx:e.degree===n.degree?e.text.length===n.text.length?e.node.id.localeCompare(n.node.id):e.text.length-n.text.length:n.degree-e.degree:e.isActive?-1:1}function Ds(e,{priority:n,viewport:r,acceptedRects:i,positionedNodes:a}){for(let o of[`bottom`,`top`,`right`,`left`]){let s=Os(e,o,n);if(ks(s.rect,r)&&!i.some(e=>As(e,s.rect))&&!a.some(n=>n.node.id!==e.node.id&&js(s.rect,{x:n.screenX,y:n.screenY,radius:n.radiusPx+xs})))return s}return null}function Os(e,n,r){let i=e.textWidthPx+vs*2,a=i/2,o=bs/2,s=e.screenX-a,c=e.screenY+e.radiusPx+_s;return n===`top`?c=e.screenY-e.radiusPx-_s-bs:n===`right`?(s=e.screenX+e.radiusPx+_s,c=e.screenY-o):n===`left`&&(s=e.screenX-e.radiusPx-_s-i,c=e.screenY-o),{nodeId:e.node.id,text:e.text,anchor:n,priority:r,isActive:e.isActive,rect:{left:s,top:c,right:s+i,bottom:c+bs},textX:s+a,textY:c+ys}}function ks(e,n){return e.left>=hs&&e.top>=hs&&e.right<=n.width-hs&&e.bottom<=n.height-hs}function As(e,n){return!(e.right<=n.left||e.left>=n.right||e.bottom<=n.top||e.top>=n.bottom)}function js(e,n){let r=Ms(n.x,e.left,e.right),i=Ms(n.y,e.top,e.bottom);return Math.hypot(n.x-r,n.y-i)<n.radius}function Ms(e,n,r){return Math.min(r,Math.max(n,e))}var Ns=5,Ps=7,Fs=8,Is=[`x`,`y`,`z`,`vx`,`vy`,`vz`,`fx`,`fy`,`fz`,`index`,`__indexColor`];function Ls(e,n){for(let r of Is){let i=n[r];i!==void 0&&(e[r]=i)}}function Rs(e){return typeof e==`string`?e:typeof e==`object`&&e&&`id`in e?String(e.id):``}function zs(e){return e.map(e=>`${e.id}:${e.label}`).join(`,`)}function Bs(e){return e.map(e=>`${Rs(e.source)}>${Rs(e.target)}`).join(`,`)}function Vs(e,n){let r=new Map(e.nodes.map(e=>[e.id,e])),i=n.nodes.map(e=>{let n={...e},i=r.get(e.id);return i&&Ls(n,i),n}),a=new Map(e.links.map(e=>[`${Rs(e.source)}>${Rs(e.target)}`,e]));return{nodes:i,links:n.links.map(e=>{let n={...e},r=a.get(`${Rs(e.source)}>${Rs(e.target)}`);return r?.__indexColor&&(n.__indexColor=r.__indexColor),n})}}function Hs(e,n={}){if(e.kind===`external`)return e.url;let r=e.label??e.id,i=n.displayState??`doc`,a=e.cluster||e.category||e.tags&&e.tags.length>0;if(i===`doc`&&!a)return r;let o=[...Us(i),`<div style="font-weight:600;font-size:14px;color:#f1f5f9;margin-bottom:${a?8:0}px;padding-bottom:${a?6:0}px;border-bottom:${a?`1px solid rgba(148,163,184,0.3)`:`none`}">${Ws(r)}</div>`];return e.cluster&&o.push(`<div style="font-size:12.5px;color:#f1f5f9;margin-bottom:2px"><span style="color:#cbd5e1">cluster:</span> ${Ws(e.cluster)}</div>`),e.category&&o.push(`<div style="font-size:12.5px;color:#f1f5f9;margin-bottom:2px"><span style="color:#cbd5e1">category:</span> ${Ws(e.category)}</div>`),e.tags&&e.tags.length>0&&o.push(`<div style="font-size:12.5px;color:#f1f5f9"><span style="color:#cbd5e1">tags:</span> ${e.tags.map(Ws).join(`, `)}</div>`),o.join(``)}function Us(e){return e===`missing`?[`<div style="font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#fca5a5;margin-bottom:6px">Broken / uncreated link</div>`,`<div style="font-size:12px;color:#fecaca;margin-bottom:8px">This page does not exist yet. Open it to create it.</div>`]:e===`folder`?[`<div style="font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#c4b5fd;margin-bottom:6px">Folder target</div>`,`<div style="font-size:12px;color:#ddd6fe;margin-bottom:8px">This link resolves to a folder view rather than a standalone page.</div>`]:[]}function Ws(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}function Gs(e,{activeDocName:n,selectedNodeId:r}){let i=r!==null&&e.id===r;if(e.kind===`external`)return i?`external-selected`:`external`;let a=e.docName===n;return a&&i?`active-selected`:a?`active`:i?`selected`:`default`}function Ks(e){return e===`active`||e===`active-selected`?Fs:e===`selected`||e===`external-selected`?Ps:Ns}function qs(e,n){let r=Ks(e);return e===`active`||e===`selected`||e===`active-selected`||e===`external-selected`?r+2/Math.max(n,.01):r}function Js(e){return x(e.docName,e.anchor)}function Ys(e,n){return e.kind===`external`?n===`select`?{kind:`select`,selection:{kind:`external`,id:e.id,label:e.label,url:e.url}}:{kind:`external`,url:e.url}:n===`select`?{kind:`select`,selection:{kind:`doc`,id:e.id,docName:e.docName,label:e.label,anchor:e.anchor??null}}:{kind:`navigate`,hash:Js({docName:e.docName,label:e.label,anchor:e.anchor??null})}}var Xs=350,Zs=120,Qs=18,$s=28,ec=5;function tc({node:e,navigationIntentByNodeId:n}){return e.kind===`doc`?n.get(e.id)?.displayState??`doc`:`doc`}function nc({state:e,displayState:n,globalScale:r}){let i=qs(e,r);return n===`missing`?Math.max(i,Ks(e)+2/Math.max(r,.01)):i}function rc({nodes:e,activeDocName:n}){let r=e.find(e=>e.kind===`doc`&&e.docName===n);return typeof r?.x!=`number`||typeof r?.y!=`number`?null:{x:r.x,y:r.y}}function ic({fg:e,coords:n,dimensions:r}){if(!e||!n||r.width<=0||r.height<=0)return!1;let i=e.graph2ScreenCoords(n.x,n.y);return Math.hypot(i.x-r.width/2,i.y-r.height/2)>=$s}function ac({fg:e,nodes:n,activeDocName:r,zoom:i,focusKey:a,focusState:o,force:s=!1,durationMs:c=Xs}){let l=Date.now(),u=o;if(u.key!==a)u={key:a,lastX:null,lastY:null,lastAt:0};else if(!s&&l-u.lastAt<Zs)return u;let d=rc({nodes:n,activeDocName:r});if(!d)return u;let f=u.lastX===null||u.lastY===null?1/0:Math.hypot(d.x-u.lastX,d.y-u.lastY);return!s&&f<Qs&&u.lastAt!==0?{...u,lastAt:l}:e?(e.centerAt(d.x,d.y,c),Math.abs(e.zoom()-i)>.01&&e.zoom(i,c),{key:a,lastX:d.x,lastY:d.y,lastAt:l}):u}function oc({ctx:e,placements:n,labelColor:r,chipColor:i,chipBorderColor:a}){e.textAlign=`center`,e.textBaseline=`top`;for(let o of n){let n=o.rect.right-o.rect.left,s=o.rect.bottom-o.rect.top;e.fillStyle=i,e.fillRect(o.rect.left,o.rect.top,n,s),e.strokeStyle=a,e.lineWidth=1,e.strokeRect(o.rect.left,o.rect.top,n,s),e.fillStyle=r,e.fillText(o.text,o.textX,o.textY)}}function sc({node:e,fg:n,activeDocName:r,selectedNodeId:i,globalScale:a,displayState:o}){if(typeof e.x!=`number`||typeof e.y!=`number`)return null;let s=Gs(e,{activeDocName:r,selectedNodeId:i}),c=n.graph2ScreenCoords(e.x,e.y);return{x:c.x,y:c.y,radiusPx:nc({state:s,displayState:o,globalScale:a})*a,state:s}}function cc({clientX:e,clientY:n,container:r}){let i=r.getBoundingClientRect();return{x:e-i.left,y:n-i.top}}function lc({point:e,fg:n,nodes:r,activeDocName:i,selectedNodeId:a,navigationIntentByNodeId:o}){let s=n.zoom(),c=null;for(let l of r){let r=sc({node:l,fg:n,activeDocName:i,selectedNodeId:a,globalScale:s,displayState:tc({node:l,navigationIntentByNodeId:o})});if(!r)continue;let u=Math.hypot(e.x-r.x,e.y-r.y);u>r.radiusPx||c!==null&&u>=c.distance||(c={node:l,distance:u})}return c?.node??null}function uc(e,n){return e===void 0||typeof e==`string`||typeof e==`number`||typeof e.x!=`number`||typeof e.y!=`number`?null:n.graph2ScreenCoords(e.x,e.y)}function dc({point:e,start:n,end:r}){let i=r.x-n.x,a=r.y-n.y;if(i===0&&a===0)return Math.hypot(e.x-n.x,e.y-n.y);let o=Math.max(0,Math.min(1,((e.x-n.x)*i+(e.y-n.y)*a)/(i*i+a*a))),s=n.x+o*i,c=n.y+o*a;return Math.hypot(e.x-s,e.y-c)}function fc({point:e,fg:n,links:r}){return r.some(r=>{let i=uc(r.source,n),a=uc(r.target,n);return!i||!a?!1:dc({point:e,start:i,end:a})<=6})}function pc({node:e,docClickBehavior:n,onSelectNode:r}){let i=Ys(e,n);if(i.kind===`external`){window.open(i.url,`_blank`,`noopener,noreferrer`);return}if(i.kind===`navigate`){window.location.assign(i.hash);return}r?.(i.selection)}function mc({target:e,docClickBehavior:n,selectedNodeId:r,onSelectNode:i,onBackgroundClick:a}){if(e.kind===`background`||e.kind===`link`){a?.();return}if(n===`select`&&r!==null&&e.node.id===r){a?.();return}pc({node:e.node,docClickBehavior:n,onSelectNode:i})}function hc(e){let n=(0,Je.c)(110),{activeDocName:r,selectedNodeId:i,isExpanded:a,showUrlNodes:o,className:s,docClickBehavior:c,onSelectNode:l,onBackgroundClick:u,onStatsChange:d,onClustersChange:f}=e,p=i===void 0?null:i,h=a===void 0?!1:a,g=o===void 0?!0:o,v=s===void 0?``:s,b=c===void 0?`navigate`:c,w;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(w={nodes:[],links:[]},n[0]=w):w=n[0];let[T,E]=(0,H.useState)(w),ee;n[1]===Symbol.for(`react.memo_cache_sentinel`)?(ee={nodes:``,links:``},n[1]=ee):ee=n[1];let te=(0,H.useRef)(ee),[ne,ie]=(0,H.useState)(!0),[ae,oe]=(0,H.useState)(null),se=(0,H.useRef)(null),ce=(0,H.useRef)(void 0),le;n[2]===Symbol.for(`react.memo_cache_sentinel`)?(le={key:``,lastX:null,lastY:null,lastAt:0},n[2]=le):le=n[2];let ue=(0,H.useRef)(le),de=(0,H.useRef)(null),fe=(0,H.useRef)(T.nodes),pe=(0,H.useRef)(!1),me;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(me={width:320,height:400},n[3]=me):me=n[3];let[he,ge]=(0,H.useState)(me),{resolvedTheme:_e}=_(),{folderPaths:O,loading:ve,pages:ye}=C(),k,A;n[4]!==r||n[5]!==h?(k=()=>{let e=!1,n=async function(){try{let n=new URLSearchParams;!h&&r&&(n.set(`docName`,r),n.set(`degrees`,`2`));let i=n.size>0?`/api/link-graph?${n.toString()}`:`/api/link-graph`,a=await fetch(i),o=await a.json().catch(xc);if(e)return;if(!a.ok){let e=m.safeParse(o);oe(e.success?e.data.title:`Server error: ${a.status}`),ie(!1);return}let s=y.safeParse(o);if(!s.success){oe(`Link-graph response did not match expected shape.`),ie(!1);return}let c=s.data.nodes,l=s.data.links,u=zs(c),d=Bs(l);(u!==te.current.nodes||d!==te.current.links)&&(te.current={nodes:u,links:d},E(e=>Vs(e,{nodes:c,links:l}))),oe(null),ie(!1)}catch(n){let r=n;if(e)return;oe(r instanceof Error?r.message:`Failed to load graph`),ie(!1)}};ie(!0),n();let i=()=>{document.visibilityState===`visible`&&n()};window.addEventListener(`focus`,i),window.addEventListener(`visibilitychange`,i);let a=S(e=>{(e.includes(`files`)||e.includes(`graph`))&&n()});return()=>{e=!0,window.removeEventListener(`focus`,i),window.removeEventListener(`visibilitychange`,i),a()}},A=[r,h],n[4]=r,n[5]=h,n[6]=k,n[7]=A):(k=n[6],A=n[7]),(0,H.useEffect)(k,A);let be,xe;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(be=()=>{let e=se.current;if(!e)return;let n=new ResizeObserver(e=>{let[n]=e,{width:r,height:i}=n.contentRect;r>0&&i>0&&ge({width:Math.floor(r),height:Math.floor(i)})});return n.observe(e),()=>n.disconnect()},xe=[],n[8]=be,n[9]=xe):(be=n[8],xe=n[9]),(0,H.useEffect)(be,xe);let j=_e===`dark`,Se=j?`hsl(0 0% 4%)`:`hsl(0 0% 100%)`,M=j?`#6b7280`:`#9ca3af`,Ce=j?`#69a3ff`:`#3784ff`,we=j?`#34d399`:`#059669`,Te=j?`#c084fc`:`#7c3aed`,Ee=j?`#f59e0b`:`#c2410c`,N=j?`#a78bfa`:`#7c3aed`,De=j?`#f87171`:`#dc2626`,Oe=j?`rgba(75,85,99,0.6)`:`rgba(209,213,219,0.8)`,ke=j?`#f3f4f6`:`#111827`,Ae=j?`rgba(105,163,255,0.45)`:`rgba(55,132,255,0.3)`,je=j?`rgba(167,139,250,0.38)`:`rgba(124,58,237,0.22)`,Me=j?`rgba(248,113,113,0.58)`:`rgba(220,38,38,0.38)`,Ne=j?`rgba(52,211,153,0.5)`:`rgba(5,150,105,0.3)`,Pe=j?`rgba(192,132,252,0.5)`:`rgba(124,58,237,0.35)`,Fe=j?`rgba(3,7,18,0.92)`:`rgba(255,255,255,0.94)`,Ie=j?`rgba(243,244,246,0.08)`:`rgba(17,24,39,0.08)`,P=h?1.6:2.35,F=h?220:150,Le=h?10:18,Re;n[10]!==T||n[11]!==g?(Re=g?T:(()=>{let e=new Set(T.nodes.filter(bc).map(yc));return{nodes:T.nodes.filter(vc),links:T.links.filter(n=>{let r=Rs(n.source),i=Rs(n.target);return!e.has(r)&&!e.has(i)})}})(),n[10]=T,n[11]=g,n[12]=Re):Re=n[12];let I=Re,ze=I.nodes,Be=I.links,Ve;n[13]===I.nodes?Ve=n[14]:(Ve=is(I.nodes),n[13]=I.nodes,n[14]=Ve);let He=Ve,L=`${r}|${P}`,Ue;if(n[15]!==O||n[16]!==T.nodes||n[17]!==ve||n[18]!==ye){let e;n[20]!==O||n[21]!==ve||n[22]!==ye?(e=e=>{if(e.kind!==`doc`)return[];let n=ve?{displayState:`doc`,hashDocName:e.docName}:re(e.docName,{pages:ye,folderPaths:O});return[[e.id,n]]},n[20]=O,n[21]=ve,n[22]=ye,n[23]=e):e=n[23],Ue=new Map(T.nodes.flatMap(e)),n[15]=O,n[16]=T.nodes,n[17]=ve,n[18]=ye,n[19]=Ue}else Ue=n[19];let R=Ue,We;n[24]!==I.links||n[25]!==I.nodes||n[26]!==ne||n[27]!==d?(We=()=>{d?.(I.nodes.length,I.links.length,ne)},n[24]=I.links,n[25]=I.nodes,n[26]=ne,n[27]=d,n[28]=We):We=n[28];let Ge;n[29]!==I||n[30]!==ne||n[31]!==d?(Ge=[I,ne,d],n[29]=I,n[30]=ne,n[31]=d,n[32]=Ge):Ge=n[32],(0,H.useEffect)(We,Ge);let z;n[33]!==T.nodes||n[34]!==f?(z=()=>{if(!f)return;let e=new Set;for(let n of T.nodes)n.kind===`doc`&&n.cluster&&e.add(n.cluster);f(Array.from(e).sort())},n[33]=T.nodes,n[34]=f,n[35]=z):z=n[35];let Ke;n[36]!==T||n[37]!==f?(Ke=[T,f],n[36]=T,n[37]=f,n[38]=Ke):Ke=n[38],(0,H.useEffect)(z,Ke);let B,qe;n[39]===T.nodes?(B=n[40],qe=n[41]):(B=()=>{fe.current=T.nodes},qe=[T.nodes],n[39]=T.nodes,n[40]=B,n[41]=qe),(0,H.useEffect)(B,qe);let Ye,Xe;n[42]!==r||n[43]!==L||n[44]!==P?(Ye=()=>{ue.current={key:L,lastX:null,lastY:null,lastAt:0};let e=window.requestAnimationFrame(()=>{ue.current=ac({fg:ce.current,nodes:fe.current,activeDocName:r,zoom:P,focusKey:L,focusState:ue.current,force:!0})});return()=>window.cancelAnimationFrame(e)},Xe=[L,r,P],n[42]=r,n[43]=L,n[44]=P,n[45]=Ye,n[46]=Xe):(Ye=n[45],Xe=n[46]),(0,H.useEffect)(Ye,Xe);let Ze,Qe;n[47]!==r||n[48]!==I.links||n[49]!==I.nodes||n[50]!==b||n[51]!==R||n[52]!==u||n[53]!==l||n[54]!==p?(Ze=()=>{},Qe=[r,b,I.links,I.nodes,R,u,l,p],n[47]=r,n[48]=I.links,n[49]=I.nodes,n[50]=b,n[51]=R,n[52]=u,n[53]=l,n[54]=p,n[55]=Ze,n[56]=Qe):(Ze=n[55],Qe=n[56]),(0,H.useEffect)(Ze,Qe);let $e;n[57]===v?$e=n[58]:($e=D(`h-full min-h-0 overflow-hidden`,v),n[57]=v,n[58]=$e);let et;n[59]===Symbol.for(`react.memo_cache_sentinel`)?(et=()=>{de.current=null},n[59]=et):et=n[59];let tt;n[60]!==r||n[61]!==I.links||n[62]!==I.nodes||n[63]!==R||n[64]!==p?(tt=e=>{if(!e.isPrimary||e.button!==0){de.current=null;return}de.current={pointerId:e.pointerId,clientX:e.clientX,clientY:e.clientY,target:(()=>{let n=se.current,i=ce.current;if(!n||!i)return{kind:`background`};let a=cc({clientX:e.clientX,clientY:e.clientY,container:n}),o=lc({point:a,fg:i,nodes:I.nodes,activeDocName:r,selectedNodeId:p,navigationIntentByNodeId:R});return o?{kind:`node`,node:o}:fc({point:a,fg:i,links:I.links})?{kind:`link`}:{kind:`background`}})()}},n[60]=r,n[61]=I.links,n[62]=I.nodes,n[63]=R,n[64]=p,n[65]=tt):tt=n[65];let nt;n[66]!==b||n[67]!==u||n[68]!==l||n[69]!==p?(nt=e=>{if(!e.isPrimary||e.button!==0){de.current=null;return}let n=de.current;de.current=null,!(!n||n.pointerId!==e.pointerId)&&(Math.hypot(e.clientX-n.clientX,e.clientY-n.clientY)>ec||mc({target:n.target,docClickBehavior:b,selectedNodeId:p,onSelectNode:l,onBackgroundClick:u}))},n[66]=b,n[67]=u,n[68]=l,n[69]=p,n[70]=nt):nt=n[70];let rt;n[71]!==r||n[72]!==Ce||n[73]!==Ae||n[74]!==Te||n[75]!==Pe||n[76]!==Se||n[77]!==M||n[78]!==he||n[79]!==I||n[80]!==Oe||n[81]!==ae||n[82]!==Ee||n[83]!==L||n[84]!==P||n[85]!==N||n[86]!==je||n[87]!==T.nodes||n[88]!==j||n[89]!==Ie||n[90]!==Fe||n[91]!==ke||n[92]!==He||n[93]!==Be||n[94]!==ze||n[95]!==ne||n[96]!==F||n[97]!==Le||n[98]!==De||n[99]!==Me||n[100]!==R||n[101]!==we||n[102]!==p||n[103]!==Ne?(rt=ae?(0,V.jsx)(`p`,{className:`p-4 text-sm text-destructive`,children:ae}):I.nodes.length===0&&!ne?(0,V.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:`No links yet. Add wiki links or markdown links to build a graph.`}):(0,V.jsx)(`div`,{className:`h-full min-h-0`,role:`img`,"aria-label":`Graph visualization of document links`,children:(0,V.jsx)(ns,{ref:ce,graphData:I,cooldownTicks:150,onEngineTick:()=>{pe.current=!1,ue.current=ac({fg:ce.current,nodes:T.nodes,activeDocName:r,zoom:P,focusKey:L,focusState:ue.current})},onEngineStop:()=>{pe.current=!0;let e=rc({nodes:T.nodes,activeDocName:r});ic({fg:ce.current,coords:e,dimensions:he})&&(ue.current=ac({fg:ce.current,nodes:T.nodes,activeDocName:r,zoom:P,focusKey:L,focusState:ue.current,force:!0}))},width:he.width,height:he.height,backgroundColor:Se,nodeId:`id`,nodeLabel:e=>Hs(e,{displayState:tc({node:e,navigationIntentByNodeId:R})}),nodeRelSize:4,nodeVal:e=>{let n=Gs(e,{activeDocName:r,selectedNodeId:p});return n===`active-selected`?20:n===`active`?18:n===`selected`||n===`external-selected`?12:6},nodeCanvasObjectMode:_c,nodeCanvasObject:(e,n,i)=>{if(typeof e.x!=`number`||typeof e.y!=`number`)return;let a=Gs(e,{activeDocName:r,selectedNodeId:p}),o=tc({node:e,navigationIntentByNodeId:R}),s=o===`folder`,c=o===`missing`,l=Ks(a),u=nc({state:a,displayState:o,globalScale:i}),d=e.kind===`doc`?e.cluster:void 0,f=d?it(d,j):M;n.beginPath(),n.arc(e.x,e.y,l,0,2*Math.PI,!1),n.fillStyle=a===`active`?Ce:a===`active-selected`?Te:a===`external`||a===`external-selected`?Ee:c?De:a===`selected`?we:s?N:f,n.fill(),u>l?(n.beginPath(),n.arc(e.x,e.y,u,0,2*Math.PI,!1),n.strokeStyle=c?Me:a===`active`?Ae:a===`selected`||a===`external-selected`?Ne:Pe,n.lineWidth=c?1.75/i:2/i,n.setLineDash(c?[3/i,2/i]:[]),n.stroke(),n.setLineDash([])):s&&(n.beginPath(),n.arc(e.x,e.y,l+2/i,0,2*Math.PI,!1),n.strokeStyle=je,n.lineWidth=1.5/i,n.stroke())},nodePointerAreaPaint:(e,n,i,a)=>{if(typeof e.x!=`number`||typeof e.y!=`number`)return;let o=Gs(e,{activeDocName:r,selectedNodeId:p}),s=tc({node:e,navigationIntentByNodeId:R});i.beginPath(),i.arc(e.x,e.y,nc({state:o,displayState:s,globalScale:a}),0,2*Math.PI,!1),i.fillStyle=n,i.fill()},onRenderFramePost:(e,n)=>{if(n<1.8)return;let i=ce.current;if(!i)return;e.save();let a=window.devicePixelRatio||1;e.setTransform(a,0,0,a,0,0),e.font=`10px system-ui, sans-serif`,oc({ctx:e,placements:Cs({nodes:ze,links:Be,activeDocName:r,viewport:he,maxLabels:Le,maxLabelWidthPx:F,labelDescriptors:He,measureTextWidthPx:n=>e.measureText(n).width,projectToScreen:(e,n)=>i.graph2ScreenCoords(e,n),getNodeRadiusPx:e=>nc({state:Gs(e,{activeDocName:r,selectedNodeId:p}),displayState:tc({node:e,navigationIntentByNodeId:R}),globalScale:n})*n+4}),labelColor:ke,chipColor:Fe,chipBorderColor:Ie}),e.restore()},linkColor:()=>Oe,linkDirectionalArrowLength:3,linkDirectionalArrowRelPos:1,linkWidth:1,showPointerCursor:gc,onNodeClick:e=>{if(e.kind===`external`){window.open(e.url,`_blank`,`noopener,noreferrer`);return}if(e.docName){let n=R.get(e.id);window.location.assign(x(n?.hashDocName??e.docName,e.anchor??null))}}})}),n[71]=r,n[72]=Ce,n[73]=Ae,n[74]=Te,n[75]=Pe,n[76]=Se,n[77]=M,n[78]=he,n[79]=I,n[80]=Oe,n[81]=ae,n[82]=Ee,n[83]=L,n[84]=P,n[85]=N,n[86]=je,n[87]=T.nodes,n[88]=j,n[89]=Ie,n[90]=Fe,n[91]=ke,n[92]=He,n[93]=Be,n[94]=ze,n[95]=ne,n[96]=F,n[97]=Le,n[98]=De,n[99]=Me,n[100]=R,n[101]=we,n[102]=p,n[103]=Ne,n[104]=rt):rt=n[104];let at;return n[105]!==$e||n[106]!==tt||n[107]!==nt||n[108]!==rt?(at=(0,V.jsx)(`div`,{ref:se,className:$e,onPointerCancel:et,onPointerDownCapture:tt,onPointerUpCapture:nt,children:rt}),n[105]=$e,n[106]=tt,n[107]=nt,n[108]=rt,n[109]=at):at=n[109],at}function gc(e){return!!(e&&`kind`in e)}function _c(){return`replace`}function vc(e){return e.kind!==`external`}function yc(e){return e.id}function bc(e){return e.kind===`external`}function xc(){return null}var Sc=50,Cc=`ok-graph-docked-url-nodes-v1`,wc=`ok-graph-fullscreen-url-nodes-v1`;function Tc(e){if(typeof window>`u`)return!1;try{return window.localStorage.getItem(e)===`true`}catch{return!1}}function Ec(e,n){if(!(typeof window>`u`))try{n?window.localStorage.setItem(e,`true`):window.localStorage.removeItem(e)}catch{}}var Dc={explore:`Explore`,orphans:`Orphans`,hubs:`Hubs`},Oc={incoming:`No Incoming`,outgoing:`No Outgoing`,both:`Both`};async function kc(e){let n=await fetch(`/api/orphans?mode=${encodeURIComponent(e)}`),r=await n.json().catch(()=>null);if(!n.ok){let e=m.safeParse(r);throw Error(e.success?e.data.title:`Server error: ${n.status} ${n.statusText}`)}let i=g.safeParse(r);if(!i.success)throw Error(`Failed to load orphan pages`);return i.data.orphans}async function Ac(e){let n=await fetch(`/api/hubs?limit=${encodeURIComponent(String(e))}`),r=await n.json().catch(()=>null);if(!n.ok){let e=m.safeParse(r);throw Error(e.success?e.data.title:`Server error: ${n.status} ${n.statusText}`)}let i=w.safeParse(r);if(!i.success)throw Error(`Failed to load hub pages`);return i.data.hubs}function jc(e){window.location.assign(x(e))}function Mc(e){return e===`incoming`?`Project-level pages with no incoming graph edges.`:e===`outgoing`?`Project-level pages with no outgoing graph edges.`:`Project-level pages with neither incoming nor outgoing graph edges.`}function Nc(e){return e===`incoming`?`No pages are missing incoming graph links.`:e===`outgoing`?`No pages are missing outgoing graph links.`:`No disconnected pages. Pages appear here only when they have no incoming and no outgoing graph edges.`}function Pc(e){let n=(0,Je.c)(29),{mode:r,onModeChange:i}=e,a;n[0]===r?a=n[1]:(a={queryKey:[`orphans`,r],queryFn:()=>kc(r)},n[0]=r,n[1]=a);let{data:u,isLoading:d,error:f}=s(a),p;n[2]===u?p=n[3]:(p=u===void 0?[]:u,n[2]=u,n[3]=p);let m=p,h;n[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,V.jsx)(`p`,{className:`text-sm font-medium`,children:`Project-level disconnected pages`}),n[4]=h):h=n[4];let g;n[5]===r?g=n[6]:(g=Mc(r),n[5]=r,n[6]=g);let _;n[7]===g?_=n[8]:(_=(0,V.jsxs)(`div`,{className:`space-y-1`,children:[h,(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:g})]}),n[7]=g,n[8]=_);let y;n[9]===i?y=n[10]:(y=e=>{e&&v(e)&&i(e)},n[9]=i,n[10]=y);let x;n[11]===Symbol.for(`react.memo_cache_sentinel`)?(x=b.map(Ic),n[11]=x):x=n[11];let S;n[12]!==r||n[13]!==y?(S=(0,V.jsx)(ae,{type:`single`,size:`sm`,variant:`outline`,value:r,"aria-label":`Orphan mode`,onValueChange:y,children:x}),n[12]=r,n[13]=y,n[14]=S):S=n[14];let C;n[15]!==_||n[16]!==S?(C=(0,V.jsx)(`div`,{className:`border-b border-border/60 px-4 py-3`,children:(0,V.jsxs)(`div`,{className:`flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between`,children:[_,S]})}),n[15]=_,n[16]=S,n[17]=C):C=n[17];let w;n[18]!==f||n[19]!==d||n[20]!==r||n[21]!==m?(w=f?(0,V.jsx)(o,{children:f instanceof Error?f.message:`Failed to load orphan pages`}):m.length===0&&!d?(0,V.jsx)(c,{children:Nc(r)}):(0,V.jsx)(`div`,{className:`flex flex-col gap-2`,children:m.map(Fc)}),n[18]=f,n[19]=d,n[20]=r,n[21]=m,n[22]=w):w=n[22];let T;n[23]!==d||n[24]!==w?(T=(0,V.jsx)(l,{"aria-busy":d,children:w}),n[23]=d,n[24]=w,n[25]=T):T=n[25];let E;return n[26]!==C||n[27]!==T?(E=(0,V.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[C,T]}),n[26]=C,n[27]=T,n[28]=E):E=n[28],E}function Fc(e){return(0,V.jsxs)(`button`,{type:`button`,className:`block w-full rounded-lg border border-border bg-background/80 px-3 py-2 text-left transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:()=>jc(e.docName),children:[(0,V.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.title}),(0,V.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.docName})]},e.docName)}function Ic(e){return(0,V.jsx)(ie,{value:e,children:Oc[e]},e)}function Lc(){let e=(0,Je.c)(11),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:[`hubs`,Sc],queryFn:zc},e[0]=n):n=e[0];let{data:r,isLoading:i,error:a}=s(n),u;e[1]===r?u=e[2]:(u=r===void 0?[]:r,e[1]=r,e[2]=u);let d=u,f;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,V.jsx)(`div`,{className:`border-b border-border/60 px-4 py-3`,children:(0,V.jsxs)(`div`,{className:`space-y-1`,children:[(0,V.jsx)(`p`,{className:`text-sm font-medium`,children:`Top linked pages`}),(0,V.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Project-level pages ordered by inbound link count, up to `,Sc,` results.`]})]})}),e[3]=f):f=e[3];let p;e[4]!==a||e[5]!==d||e[6]!==i?(p=a?(0,V.jsx)(o,{children:a instanceof Error?a.message:`Failed to load hub pages`}):d.length===0&&!i?(0,V.jsx)(c,{children:`No hub pages yet. Hubs appear once pages accumulate inbound graph links.`}):(0,V.jsx)(`div`,{className:`flex flex-col gap-2`,children:d.map(Rc)}),e[4]=a,e[5]=d,e[6]=i,e[7]=p):p=e[7];let m;return e[8]!==i||e[9]!==p?(m=(0,V.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[f,(0,V.jsx)(l,{"aria-busy":i,children:p})]}),e[8]=i,e[9]=p,e[10]=m):m=e[10],m}function Rc(e){return(0,V.jsx)(`button`,{type:`button`,className:`block w-full rounded-lg border border-border bg-background/80 px-3 py-2 text-left transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:()=>jc(e.docName),children:(0,V.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,V.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,V.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.title}),(0,V.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.docName})]}),(0,V.jsx)(`span`,{className:`rounded-md bg-muted px-2 py-1 text-xs font-mono text-muted-foreground`,children:e.count})]})},e.docName)}function zc(){return Ac(Sc)}function Bc(e){let n=(0,Je.c)(93),{activeDocName:r}=e,{folderPaths:i,loading:a,pages:o}=C(),[s,c]=(0,H.useState)(!1),[l,m]=(0,H.useState)(`explore`),[g,_]=(0,H.useState)(`both`),[v,y]=(0,H.useState)(null),[b,x]=(0,H.useState)(null),S;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(S=[],n[0]=S):S=n[0];let[w,E]=(0,H.useState)(S),[D,ie]=(0,H.useState)(Gc),[le,ue]=(0,H.useState)(Wc),de,fe;n[1]===D?(de=n[2],fe=n[3]):(de=()=>{Ec(Cc,D)},fe=[D],n[1]=D,n[2]=de,n[3]=fe),(0,H.useEffect)(de,fe);let pe,me;n[4]===le?(pe=n[5],me=n[6]):(pe=()=>{Ec(wc,le)},me=[le],n[4]=le,n[5]=pe,n[6]=me),(0,H.useEffect)(pe,me);let he,ge;n[7]===s?(he=n[8],ge=n[9]):(he=()=>{if(!s)return;let e=e=>{e.key===`Escape`&&c(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},ge=[s],n[7]=s,n[8]=he,n[9]=ge),(0,H.useEffect)(he,ge);let _e,O;n[10]!==s||n[11]!==v?(_e=()=>{!s&&v!==null&&y(null)},O=[s,v],n[10]=s,n[11]=v,n[12]=_e,n[13]=O):(_e=n[12],O=n[13]),(0,H.useEffect)(_e,O);let ve,ye;n[14]!==l||n[15]!==v?(ve=()=>{l!==`explore`&&v!==null&&y(null)},ye=[l,v],n[14]=l,n[15]=v,n[16]=ve,n[17]=ye):(ve=n[16],ye=n[17]),(0,H.useEffect)(ve,ye);let k=s?l:`explore`,A=s?le:D,be=s?ue:ie,xe;n[18]!==i||n[19]!==a||n[20]!==o||n[21]!==v?(xe=v?.kind===`doc`&&!a?re(v.docName,{pages:o,folderPaths:i}).displayState:`doc`,n[18]=i,n[19]=a,n[20]=o,n[21]=v,n[22]=xe):xe=n[22];let j=xe,Se;n[23]!==r||n[24]!==j||n[25]!==v?(Se=v===null?null:v.kind===`doc`&&j===`missing`?{eyebrow:`Broken link`,description:`This page doesn't exist yet. Open it to create the page in the editor and collapse the graph.`,Icon:T,actionLabel:`Create page`,secondaryLabel:v.docName,onAction:()=>{let e=Js(v);c(!1),window.location.assign(e)}}:v.kind===`doc`&&v.docName===r?{eyebrow:`Already open`,description:`This document is already active in the editor. Use Open to collapse the graph.`,Icon:h,actionLabel:`Open`,secondaryLabel:v.docName,onAction:()=>{let e=Js(v);c(!1),window.location.assign(e)}}:v.kind===`doc`?{eyebrow:`Selected in graph`,description:`Open this document in the editor and collapse the graph.`,Icon:ne,actionLabel:`Open`,secondaryLabel:v.docName,onAction:()=>{let e=Js(v);c(!1),window.location.assign(e)}}:{eyebrow:`Selected in graph`,description:`Open this link in a new tab and collapse the graph.`,Icon:ne,actionLabel:`Open link`,secondaryLabel:v.url,onAction:()=>{window.open(v.url,`_blank`,`noopener,noreferrer`),c(!1)}},n[23]=r,n[24]=j,n[25]=v,n[26]=Se):Se=n[26];let M=Se,Te=s?`fixed inset-0 z-50 bg-background overflow-hidden`:void 0,Ee;n[27]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,V.jsx)(f,{children:`Graph`}),n[27]=Ee):Ee=n[27];let N;n[28]!==k||n[29]!==b?(N=k===`explore`&&b?(0,V.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,V.jsxs)(d,{children:[b.nodes,` nodes`]}),(0,V.jsxs)(d,{children:[b.links,` links`]})]}):null,n[28]=k,n[29]=b,n[30]=N):N=n[30];let De;n[31]===N?De=n[32]:(De=(0,V.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[Ee,N]}),n[31]=N,n[32]=De);let Oe;n[33]!==l||n[34]!==s?(Oe=s?(0,V.jsx)(ae,{type:`single`,size:`sm`,variant:`outline`,value:l,"aria-label":`Expanded graph mode`,onValueChange:e=>{(e===`explore`||e===`orphans`||e===`hubs`)&&m(e)},children:Object.entries(Dc).map(Uc)}):null,n[33]=l,n[34]=s,n[35]=Oe):Oe=n[35];let ke=A?`Hide external URL nodes`:`Show external URL nodes`,Ae;n[36]===be?Ae=n[37]:(Ae=()=>be(Hc),n[36]=be,n[37]=Ae);let je=A?`size-4 text-sidebar-accent-foreground`:`size-4 text-muted-foreground`,Me;n[38]===je?Me=n[39]:(Me=(0,V.jsx)(te,{className:je}),n[38]=je,n[39]=Me);let Ne;n[40]!==A||n[41]!==ke||n[42]!==Ae||n[43]!==Me?(Ne=(0,V.jsx)(oe,{asChild:!0,children:(0,V.jsx)(ee,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-foreground hover:bg-accent`,"aria-label":ke,"aria-pressed":A,onClick:Ae,children:Me})}),n[40]=A,n[41]=ke,n[42]=Ae,n[43]=Me,n[44]=Ne):Ne=n[44];let Pe=s?`z-[9999]`:void 0,Fe=A?`Hide external URL nodes`:`Show external URL nodes`,Ie;n[45]!==Pe||n[46]!==Fe?(Ie=(0,V.jsx)(se,{side:`bottom`,sideOffset:8,className:Pe,children:Fe}),n[45]=Pe,n[46]=Fe,n[47]=Ie):Ie=n[47];let P;n[48]!==Ne||n[49]!==Ie?(P=(0,V.jsxs)(ce,{delayDuration:0,children:[Ne,Ie]}),n[48]=Ne,n[49]=Ie,n[50]=P):P=n[50];let F=s?`Collapse graph`:`Expand graph`,Le;n[51]===Symbol.for(`react.memo_cache_sentinel`)?(Le=()=>c(Vc),n[51]=Le):Le=n[51];let Re;n[52]===s?Re=n[53]:(Re=s?(0,V.jsx)(we,{className:`size-4`}):(0,V.jsx)(Ce,{className:`size-4`}),n[52]=s,n[53]=Re);let I;n[54]!==F||n[55]!==Re?(I=(0,V.jsx)(oe,{asChild:!0,children:(0,V.jsx)(ee,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-foreground hover:bg-accent`,"aria-label":F,onClick:Le,children:Re})}),n[54]=F,n[55]=Re,n[56]=I):I=n[56];let ze=s?`z-[9999]`:void 0,Be=s?`Collapse`:`Expand graph`,Ve;n[57]!==ze||n[58]!==Be?(Ve=(0,V.jsx)(se,{side:`bottom`,sideOffset:8,className:ze,children:Be}),n[57]=ze,n[58]=Be,n[59]=Ve):Ve=n[59];let He;n[60]!==I||n[61]!==Ve?(He=(0,V.jsxs)(ce,{delayDuration:0,children:[I,Ve]}),n[60]=I,n[61]=Ve,n[62]=He):He=n[62];let L;n[63]!==P||n[64]!==He?(L=(0,V.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[P,He]}),n[63]=P,n[64]=He,n[65]=L):L=n[65];let Ue;n[66]!==Oe||n[67]!==L?(Ue=(0,V.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[Oe,L]}),n[66]=Oe,n[67]=L,n[68]=Ue):Ue=n[68];let R;n[69]!==De||n[70]!==Ue?(R=(0,V.jsxs)(u,{className:`flex-wrap gap-3`,children:[De,Ue]}),n[69]=De,n[70]=Ue,n[71]=R):R=n[71];let We;n[72]!==r||n[73]!==k||n[74]!==w||n[75]!==s||n[76]!==v||n[77]!==M||n[78]!==A?(We=k===`explore`?(0,V.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,V.jsx)(hc,{activeDocName:r,selectedNodeId:s?v?.id??null:null,isExpanded:s,showUrlNodes:A,className:`h-full min-h-0`,docClickBehavior:s?`select`:`navigate`,onSelectNode:s?y:void 0,onBackgroundClick:s?()=>{v!==null&&y(null)}:void 0,onStatsChange:(e,n,r)=>{if(r){x(null);return}x({nodes:e,links:n})},onClustersChange:E}),(0,V.jsx)(st,{clusters:w,variant:s?`fullscreen`:`docked`}),s&&k===`explore`&&v!==null&&M?(0,V.jsx)(`div`,{className:`pointer-events-none absolute inset-x-4 top-4 z-10 flex justify-center`,children:(0,V.jsxs)(`div`,{role:`status`,"aria-label":`Selected graph item`,className:`pointer-events-auto flex w-full max-w-2xl items-center gap-3 rounded-xl border border-border/70 bg-background/95 px-4 py-3 text-sm shadow-lg backdrop-blur supports-[backdrop-filter]:bg-background/85`,children:[(0,V.jsx)(M.Icon,{className:`size-4 shrink-0 text-primary`}),(0,V.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,V.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:M.eyebrow}),(0,V.jsx)(`div`,{className:`truncate font-medium text-foreground`,children:v.label}),(0,V.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:M.secondaryLabel}),(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:M.description})]}),(0,V.jsx)(ee,{size:`sm`,className:`shrink-0`,onClick:M.onAction,children:M.actionLabel})]})}):null]}):null,n[72]=r,n[73]=k,n[74]=w,n[75]=s,n[76]=v,n[77]=M,n[78]=A,n[79]=We):We=n[79];let Ge;n[80]!==k||n[81]!==s||n[82]!==g?(Ge=s&&k===`orphans`?(0,V.jsx)(Pc,{mode:g,onModeChange:_}):null,n[80]=k,n[81]=s,n[82]=g,n[83]=Ge):Ge=n[83];let z;n[84]!==k||n[85]!==s?(z=s&&k===`hubs`?(0,V.jsx)(Lc,{}):null,n[84]=k,n[85]=s,n[86]=z):z=n[86];let Ke;return n[87]!==Te||n[88]!==R||n[89]!==We||n[90]!==Ge||n[91]!==z?(Ke=(0,V.jsxs)(p,{className:Te,children:[R,We,Ge,z]}),n[87]=Te,n[88]=R,n[89]=We,n[90]=Ge,n[91]=z,n[92]=Ke):Ke=n[92],Ke}function Vc(e){return!e}function Hc(e){return!e}function Uc(e){let[n,r]=e;return(0,V.jsx)(ie,{value:n,children:r},n)}function Wc(){return Tc(wc)}function Gc(){return Tc(Cc)}export{Bc as GraphPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-CFjPhJqf.js";import{n as t,r as n,t as r}from"./compiler-runtime-CVnuRdak.js";import{t as i}from"./button-C1nwPVFQ.js";import{p as a}from"./dist-OTL8-1C2.js";import{n as o,r as s}from"./mcp-consent-store-DZ1pCmhN.js";import{t as c}from"./label-Dv_9VZWz.js";import{a as l,c as u,i as d,n as f,o as p,s as m,t as h}from"./dialog-BFN-ujuF.js";var g=r(),_=e(t(),1),v=n();function y(e){let t=new Set;for(let n of e)n.detected&&t.add(n.id);return t}function b(e,t){let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n}function x(e,t){let n=[];for(let r of t)e.has(r.id)&&n.push(r.id);return n}var S={error:e=>a.error(e)};function C(e){let t=(0,g.c)(9),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{store:r,toast:i,payload:a}=n,s=r===void 0?o:r,c=i===void 0?S:i,l;t[2]!==a||t[3]!==s?(l=a??s.getSnapshot(),t[2]=a,t[3]=s,t[4]=l):l=t[4];let u=l;if(!u)return null;let d;return t[5]!==u||t[6]!==s||t[7]!==c?(d=(0,v.jsx)(w,{payload:u,store:s,toast:c}),t[5]=u,t[6]=s,t[7]=c,t[8]=d):d=t[8],d}function w(e){let t=(0,g.c)(46),{payload:n,store:r,toast:a}=e,o=n.detectedEditors,S;t[0]===o?S=t[1]:(S=()=>y(o),t[0]=o,t[1]=S);let[C,w]=(0,_.useState)(S),[T,E]=(0,_.useState)(!1),D=(0,_.useId)(),O;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(O=function(e){w(t=>b(t,e))},t[2]=O):O=t[2];let k=O,A;t[3]!==o||t[4]!==C||t[5]!==r||t[6]!==a?(A=async function(){E(!0);let e=await r.confirm(x(C,o));e.ok||(a.error(e.error),E(!1))},t[3]=o,t[4]=C,t[5]=r,t[6]=a,t[7]=A):A=t[7];let j=A,M;t[8]!==r||t[9]!==a?(M=async function(){E(!0);let e=await r.skip();e.ok||(a.error(e.error),E(!1))},t[8]=r,t[9]=a,t[10]=M):M=t[10];let N=M,P;t[11]!==T||t[12]!==N?(P=function(e){!e&&!T&&N()},t[11]=T,t[12]=N,t[13]=P):P=t[13];let F=P,I;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,v.jsxs)(m,{children:[(0,v.jsx)(u,{children:`Add Open Knowledge to your AI tools`}),(0,v.jsx)(l,{children:`Connect Open Knowledge to your AI tools so they can read and write your notes.`})]}),t[14]=I):I=t[14];let L;if(t[15]!==T||t[16]!==o||t[17]!==D||t[18]!==C){let e;t[20]!==T||t[21]!==D||t[22]!==C?(e=e=>{let t=C.has(e.id),n=`${D}-${e.id}`,r=e.willReplace?`Will replace existing Open Knowledge entry`:e.detected?`Detected on this machine`:`Not detected`,i=e.willReplace?`text-xs text-amber-600 dark:text-amber-400`:`text-xs text-muted-foreground`;return(0,v.jsx)(`li`,{children:(0,v.jsxs)(c,{htmlFor:n,className:`flex cursor-pointer items-start gap-2.5 px-3 py-2.5 font-normal hover:bg-accent`,children:[(0,v.jsx)(s,{id:n,checked:t,disabled:T,onCheckedChange:()=>k(e.id),className:`mt-0.5`,"data-testid":`mcp-consent-checkbox-${e.id}`}),(0,v.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[(0,v.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:e.label}),(0,v.jsx)(`span`,{className:i,"data-testid":`mcp-consent-status-${e.id}`,children:r})]})]})},e.id)},t[20]=T,t[21]=D,t[22]=C,t[23]=e):e=t[23],L=o.map(e),t[15]=T,t[16]=o,t[17]=D,t[18]=C,t[19]=L}else L=t[19];let R;t[24]===L?R=t[25]:(R=(0,v.jsx)(f,{children:(0,v.jsx)(`ul`,{className:`rounded-md border border-border bg-card/50 divide-y divide-border overflow-hidden`,children:L})}),t[24]=L,t[25]=R);let z;t[26]===N?z=t[27]:(z=()=>void N(),t[26]=N,t[27]=z);let B;t[28]!==T||t[29]!==z?(B=(0,v.jsx)(i,{variant:`outline`,className:`font-mono uppercase`,onClick:z,disabled:T,"data-testid":`mcp-consent-skip`,children:`Skip`}),t[28]=T,t[29]=z,t[30]=B):B=t[30];let V;t[31]===j?V=t[32]:(V=()=>void j(),t[31]=j,t[32]=V);let H=T||C.size===0,U=T?`Working...`:`Add`,W;t[33]!==V||t[34]!==H||t[35]!==U?(W=(0,v.jsx)(i,{onClick:V,disabled:H,"data-testid":`mcp-consent-add`,children:U}),t[33]=V,t[34]=H,t[35]=U,t[36]=W):W=t[36];let G;t[37]!==B||t[38]!==W?(G=(0,v.jsxs)(p,{children:[B,W]}),t[37]=B,t[38]=W,t[39]=G):G=t[39];let K;t[40]!==G||t[41]!==R?(K=(0,v.jsxs)(d,{className:`sm:max-w-md`,children:[I,R,G]}),t[40]=G,t[41]=R,t[42]=K):K=t[42];let q;return t[43]!==F||t[44]!==K?(q=(0,v.jsx)(h,{open:!0,onOpenChange:F,children:K}),t[43]=F,t[44]=K,t[45]=q):q=t[45],q}export{C as McpConsentDialogBody,C as default,y as computeInitialSelection,x as selectedIdsOrdered,b as toggleSelectedId};
|