@inkeep/open-knowledge 0.0.0-dev-20260422183611 → 0.0.0-dev-20260422215402
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/cli.mjs +14 -14
- package/dist/constants-Z_elUeaU.mjs +2 -0
- package/dist/index.mjs +1 -1
- package/dist/init-B18k0eWn.mjs +1 -0
- package/dist/{init-CbtQtRR6.mjs → init-Bell0i8d.mjs} +3 -3
- package/dist/init-CY-1sO72.mjs +1 -0
- package/dist/{init-BVkwhSV7.mjs → init-Dp5IRYFc.mjs} +2 -2
- package/dist/keepalive-BtwYrChs.mjs +2 -0
- package/dist/{loader-EY80f87l.mjs → loader-DFXyUwo3.mjs} +2 -2
- package/dist/loader-DqlTfvZz.mjs +1 -0
- package/dist/paths-CK0cj4J4.mjs +2 -0
- package/dist/paths-uks91rcD.mjs +1 -0
- package/dist/preview-0B7pnKaj.mjs +1 -0
- package/dist/{preview-CYIJfQoO.mjs → preview-D2Qyb0bk.mjs} +2 -2
- package/dist/public/assets/{GraphPanel-DqKpB1Tz.js → GraphPanel-DW_Dc6tS.js} +2 -2
- package/dist/public/assets/SourceEditor-BKyWQ7mW.js +3 -0
- package/dist/public/assets/clipboard-CdKkyvy1.js +80 -0
- package/dist/public/assets/{dist-CtX4SukE.js → dist-B2YW_ZWG.js} +1 -1
- package/dist/public/assets/{dist-CYCPSCCQ.js → dist-Bx72hMUu.js} +1 -1
- package/dist/public/assets/{dist-ztaVC3x4.js → dist-CQbn9Fxc.js} +1 -1
- package/dist/public/assets/{dist-BZpbe8U5.js → dist-DVEMi7bH.js} +1 -1
- package/dist/public/assets/{dist-C0ssNH5f.js → dist-Dm75HY2n.js} +1 -1
- package/dist/public/assets/{dist-BXy0xauE.js → dist-X189qk_S.js} +1 -1
- package/dist/public/assets/{dist-C5cYj6hk.js → dist-k7VFO_3K.js} +1 -1
- package/dist/public/assets/index-CK9ftSXy.js +21 -0
- package/dist/public/assets/index-Cb6FKPFW.css +1 -0
- package/dist/public/assets/{panel-DFRQJTBG.js → panel-DTlG8EiB.js} +31 -31
- package/dist/public/assets/{toggle-group-D4a_dmpa.js → toggle-group-kvG9skOM.js} +1 -1
- package/dist/public/index.html +8 -8
- package/dist/src-6Cuk2tbm.mjs +1 -0
- package/dist/src-BmCYyMng.mjs +91 -0
- package/dist/{src-CdcLi3q2.mjs → src-CQw-HNNM.mjs} +2 -2
- package/dist/src-sdceGyDy.mjs +1 -0
- package/dist/{start-CmfUuJ8y.mjs → start-BEl3Vts5.mjs} +2 -2
- package/dist/start-CmW0OJ8S.mjs +1 -0
- package/package.json +1 -1
- package/dist/constants-Cqh2k1vs.mjs +0 -2
- package/dist/init-CjD3Y8vy.mjs +0 -1
- package/dist/init-DCdj_qYX.mjs +0 -1
- package/dist/keepalive-BI3oBFIq.mjs +0 -2
- package/dist/loader-D4WqC1BR.mjs +0 -1
- package/dist/paths-ClIaGARi.mjs +0 -2
- package/dist/paths-De38nMxk.mjs +0 -1
- package/dist/preview-DCtsNigW.mjs +0 -1
- package/dist/public/assets/SourceEditor-CV7AqTwb.js +0 -3
- package/dist/public/assets/clipboard-D_fdmuyh.js +0 -80
- package/dist/public/assets/index-DGQHaqKr.css +0 -1
- package/dist/public/assets/index-l0fisju1.js +0 -21
- package/dist/src-B-CjXHOr.mjs +0 -1
- package/dist/src-B2ovo79d.mjs +0 -1
- package/dist/src-CHPbwD29.mjs +0 -90
- package/dist/start-CwtyENWS.mjs +0 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import"./constants-
|
|
1
|
+
import"./constants-Z_elUeaU.mjs";import{O as e}from"./src-CQw-HNNM.mjs";import{p as t}from"./src-BmCYyMng.mjs";import{existsSync as n,lstatSync as r,readdirSync as i,realpathSync as a,statSync as o}from"node:fs";import{join as s,relative as c}from"node:path";function l(e){let{projectDir:n,contentDir:l,include:u,exclude:d,sampleCap:f=5}=e,p=[],m=[];try{r(l)}catch(e){return{totalCount:0,sample:[],contentDir:l,include:u,exclude:d,warnings:[`cannot access content directory ${l}: ${e instanceof Error?e.message:String(e)}`]}}let h;try{h=t({projectDir:n,contentDir:l,includePatterns:u,excludePatterns:d})}catch(e){return{totalCount:0,sample:[],contentDir:l,include:u,exclude:d,warnings:[e instanceof Error?e.message:String(e)]}}function g(e){let t;try{t=i(e,{withFileTypes:!0})}catch(t){let n=t instanceof Error?t.message:String(t);p.push(`could not read directory ${c(l,e)||`.`}: ${n}`);return}for(let n of t){let t=s(e,n.name);if(n.isSymbolicLink()){let e;try{e=a(t)}catch(e){let n=e.code;n===`ENOENT`||n===`ELOOP`?p.push(`broken or cyclic symlink: ${c(l,t)}`):p.push(`cannot resolve symlink ${c(l,t)}: ${n??`unknown error`}`);continue}let n;try{n=o(e)}catch{continue}if(n.isDirectory()){let e=c(l,t);if(h.isDirExcluded(e))continue;g(t)}else if(n.isFile()){let e=c(l,t);if(h.isExcluded(e))continue;m.push(e)}}else if(n.isDirectory()){let e=c(l,t);if(h.isDirExcluded(e))continue;g(t)}else if(n.isFile()){let e=c(l,t);if(h.isExcluded(e))continue;m.push(e)}}}return g(l),{totalCount:m.length,sample:m.slice(0,f),contentDir:l,include:u,exclude:d,warnings:p}}function u(t,r){let i=[],a=c(r,t.contentDir),o=a===``?`./`:`./${a}`;i.push(`Content:`),i.push(` Found ${t.totalCount} markdown files in ${o}`);let l=t.include.join(`, `),u=t.exclude.length>0?t.exclude.join(`, `):`(none)`;if(i.push(` Scope: include=${l} exclude=${u}`),t.sample.length>0){let e=t.sample.join(`, `),n=t.totalCount>t.sample.length?`, …`:``;i.push(` Sample: ${e}${n}`)}if(t.warnings.length>0)for(let e of t.warnings)i.push(` Warning: ${e}`);return i.push(``),n(s(r,`.open-knowledge`,`config.yml`))?(i.push(` To adjust, edit ${e}/config.yml:`),i.push(` content:`),i.push(` include: ${JSON.stringify(t.include)}`),i.push(` exclude: ${JSON.stringify(t.exclude)}`)):(i.push(" Run `open-knowledge init` to scaffold config, then adjust:"),i.push(` ${e}/config.yml → content.include / content.exclude`)),i.push(``),i.push(` Re-check anytime: open-knowledge preview`),i.join(`
|
|
2
2
|
`)}export{l as n,u as t};
|
|
3
|
-
//# sourceMappingURL=preview-
|
|
3
|
+
//# sourceMappingURL=preview-D2Qyb0bk.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Cn as e,K as n,Kn as r,Rt as i,Sn as a,Wn as o,a as s,ct as c,d as l,h as u,hn as d,i as f,l as p,mn as m,n as h,o as g,q as _,r as v,s as y,t as b,vn as x,yn as S}from"./panel-DTlG8EiB.js";import{a as C,b as w,i as T,n as E,r as ee,s as te,t as ne,x as re,y as ie}from"./toggle-group-kvG9skOM.js";var ae=m(`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`}]]),oe=m(`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`}]]),D=r(e(),1),se=d(),ce=[`#60a5fa`,`#a78bfa`,`#34d399`,`#f472b6`,`#fb923c`,`#22d3ee`,`#c084fc`,`#4ade80`,`#f87171`,`#eab308`,`#ec4899`,`#06b67f`,`#8b5cf6`,`#f43f5e`,`#0ea5e9`,`#a855f7`],le=[`#1e40af`,`#6b21a8`,`#166534`,`#9f1239`,`#9a3412`,`#164e63`,`#581c87`,`#166534`,`#991b1b`,`#854d0e`,`#831843`,`#0f766e`,`#312e81`,`#9f1239`,`#0c4a6e`,`#6b21a8`];function ue(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 de(e,n){let r=n?ce:le;return r[ue(e)%r.length]}var O=a(),fe=10;function pe(e){let n=(0,se.c)(17),{clusters:r}=e,{resolvedTheme:i}=x(),a=i===`dark`;if(r.length===0)return null;let o,s,c,l;if(n[0]!==r||n[1]!==a){let e=r.slice(0,fe);o=r.length-e.length,s=`absolute bottom-3 left-3 z-10 flex flex-col gap-1 rounded-lg px-3 py-2 text-xs backdrop-blur-sm ${a?`bg-black/70 text-gray-200`:`bg-white/80 text-gray-800 ring-1 ring-black/5`}`;let i=`font-medium mb-1.5 ${a?`text-slate-300`:`text-slate-700`}`;n[6]===i?c=n[7]:(c=(0,O.jsx)(`div`,{className:i,children:`Clusters`}),n[6]=i,n[7]=c);let u;n[8]===a?u=n[9]:(u=e=>(0,O.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,O.jsx)(`span`,{className:`inline-block size-2.5 shrink-0 rounded-full`,style:{backgroundColor:de(e,a)}}),(0,O.jsx)(`span`,{className:`truncate max-w-[140px]`,children:e})]},e),n[8]=a,n[9]=u),l=e.map(u),n[0]=r,n[1]=a,n[2]=o,n[3]=s,n[4]=c,n[5]=l}else o=n[2],s=n[3],c=n[4],l=n[5];let u;n[10]===o?u=n[11]:(u=o>0&&(0,O.jsxs)(`div`,{className:`text-muted-foreground pl-[18px]`,children:[`+ `,o,` more`]}),n[10]=o,n[11]=u);let d;return n[12]!==s||n[13]!==c||n[14]!==l||n[15]!==u?(d=(0,O.jsxs)(`div`,{className:s,children:[c,l,u]}),n[12]=s,n[13]=c,n[14]=l,n[15]=u,n[16]=d):d=n[16],d}function me(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 he(e,n,r){return n=Ce(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function ge(e,n){return ye(e)||me(e,n)||k(e,n)||Se()}function _e(e){return ve(e)||be(e)||k(e)||xe()}function ve(e){if(Array.isArray(e))return A(e)}function ye(e){if(Array.isArray(e))return e}function be(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function k(e,n){if(e){if(typeof e==`string`)return A(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 A(e,n)}}function A(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 xe(){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 Se(){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 j(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 Ce(e){var n=j(e,`string`);return typeof n==`symbol`?n:String(n)}var we=function(e,n){var r=new Set(n);return Object.assign.apply(Object,[{}].concat(_e(Object.entries(e).filter(function(e){var n=ge(e,1)[0];return!r.has(n)}).map(function(e){var n=ge(e,2),r=n[0],i=n[1];return he({},r,i)}))))};function M(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 Te(e){if(Array.isArray(e))return e}function Ee(e){if(Array.isArray(e))return M(e)}function De(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function Oe(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 ke(){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 Ae(){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 ef(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 tf(e){if(Array.isArray(e))return e}function nf(e){if(Array.isArray(e))return ef(e)}function rf(e,n,r){if(of())return Reflect.construct.apply(null,arguments);var i=[null];return i.push.apply(i,n),new(e.bind.apply(e,i))}function af(e,n,r){return(n=gf(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function of(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(of=function(){return!!e})()}function sf(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function cf(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 lf(){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 uf(){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 df(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 ff(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]==null?{}:arguments[n];n%2?df(Object(r),!0).forEach(function(n){af(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):df(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function pf(e,n){return tf(e)||cf(e,n)||vf(e,n)||lf()}function mf(e){return nf(e)||sf(e)||vf(e)||uf()}function hf(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 gf(e){var n=hf(e,`string`);return typeof n==`symbol`?n:n+``}function _f(e){"@babel/helpers - typeof";return _f=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},_f(e)}function vf(e,n){if(e){if(typeof e==`string`)return ef(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)?ef(e,n):void 0}}var yf=Xd(Qd);function bf(e,n,r){!n||typeof r!=`string`||e.filter(function(e){return!e[r]}).forEach(function(e){e[r]=yf(n(e))})}function xf(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 _f(e)===`object`?n(e):e}});var d=[];return f(Object.values(u)),Object.assign.apply(Object,[{}].concat(mf(Object.entries(u).filter(function(e){return!pf(e,2)[1].skip}).map(function(e){var n=pf(e,2),r=n[0],i=n[1];return af({},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(mf(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(mf(r),[a]),i+ +!a.skip))},o=0,s=e.length;o<s;o++)if(a())continue}}var Sf=2,Q=function(e,n){return n.onNeedsRedraw&&n.onNeedsRedraw()},Cf=function(e,n){if(!n.isShadow){var r=V(n.linkDirectionalParticles);n.graphData.links.forEach(function(e){var n=Math.round(Math.abs(r(e)));n?e.__photons=mf(Array(n)).map(function(){return{}}):delete e.__photons})}},wf=ms({props:{graphData:{default:{nodes:[],links:[]},onChange:function(e,n){n.engineRunning=!1,Cf(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:Cf},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=V(e.nodeVisibility),r=V(e.nodeVal),i=V(e.nodeColor),a=V(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=V(e.linkVisibility),r=V(e.linkColor),i=V(e.linkWidth),a=V(e.linkLineDash),o=V(e.linkCurvature),s=V(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(mf(d),f,h),d=d.concat(m)}c.save(),d.forEach(function(n){return e.linkCanvasObject(n,c,e.globalScale)}),c.restore();var g=qd(p,[r,i,a]);c.save(),Object.entries(g).forEach(function(n){var r=pf(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=pf(n,2),i=r[0],o=r[1],u=(i||1)/e.globalScale+l;Object.entries(o).forEach(function(e){var n=pf(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,mf(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=V(e.linkDirectionalArrowLength),a=V(e.linkDirectionalArrowRelPos),o=V(e.linkVisibility),s=V(e.linkDirectionalArrowColor||e.linkColor),c=V(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&&rf(Md,[d.x,d.y].concat(mf(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=V(e.linkDirectionalParticles),r=V(e.linkDirectionalParticleSpeed),i=V(e.linkDirectionalParticleOffset),a=V(e.linkDirectionalParticleWidth),o=V(e.linkVisibility),s=V(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?rf(Md,[u.x,u.y].concat(mf(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:ad().force(`link`,qu()).force(`charge`,od()).force(`center`,Nl()).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&&bf(e.graphData.nodes,V(e.nodeAutoColorBy),e.nodeColor),e.linkAutoColorBy!==null&&bf(e.graphData.links,V(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&&xf(e.graphData,function(n){return n[e.nodeId]},{nodeFilter:e.dagNodeFilter,onLoopError:e.onDagError||void 0}),a=Math.max.apply(Math,mf(Object.values(i||[]))),o=e.dagLevelDistance||e.graphData.nodes.length/(a||1)*Sf*([`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:sd(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 Tf(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 Ef=800,Df=4,Of=5,kf=Tf(`forceGraph`,wf),Af=Tf([`forceGraph`,`shadowGraph`],wf),jf=Object.assign.apply(Object,mf(`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 af({},e,kf.linkProp(e))})).concat(mf([`nodeRelSize`,`nodeId`,`nodeVal`,`nodeVisibility`,`linkSource`,`linkTarget`,`linkVisibility`,`linkCurvature`].map(function(e){return af({},e,Af.linkProp(e))})))),Mf=Object.assign.apply(Object,mf([`d3Force`,`d3ReheatSimulation`,`emitParticle`].map(function(e){return af({},e,kf.linkMethod(e))})));function Nf(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=Xa(e.canvas).k;e.zoom.translateBy(e.zoom.__baseElem,(e.width-n)/2/a,(e.height-r)/2/a),e.needsRedraw=!0}}function Pf(e){var n=window.devicePixelRatio;e.setTransform(n,0,0,n,0,0)}function Ff(e,n,r){e.save(),Pf(e),e.clearRect(0,0,n,r),e.restore()}var If=ms({props:ff({width:{default:window.innerWidth,onChange:function(e,n){return Nf(n)},triggerUpdate:!1},height:{default:window.innerHeight,onChange:function(e,n){return Nf(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}},jf),aliases:{stopAnimation:`pauseAnimation`},methods:ff({graph2ScreenCoords:function(e,n,r){var i=Xa(e.canvas);return{x:n*i.k+i.x,y:r*i.k+i.y}},screen2GraphCoords:function(e,n,r){var i=Xa(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 rs(o()).to(a,i).easing(Zo.Quadratic.Out).onUpdate(s).onComplete(function(){e.tweenGroup.remove(this)}).start()):s(a),this}return o();function o(){var n=Xa(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 rs({k:i()}).to({k:n},r).easing(Zo.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 Xa(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=V(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:[po(a,function(e){return e.x-e.r}),fo(a,function(e){return e.x+e.r})],y:[po(a,function(e){return e.y-e.r}),fo(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:[]})}},Mf),stateInit:function(){return{lastSetZoom:1,zoom:ao(),forceGraph:new wf,shadowGraph:new wf().cooldownTicks(0).nodeColor(`__indexColor`).linkColor(`__indexColor`).isShadow(!0),colorTracker:new Cc,tweenGroup:new $o}},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};z(n.canvas).call(Yn().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=Xa(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&&Of>=Math.sqrt(mo([`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=z(n.canvas)),n.zoom.__baseElem.on(`dblclick.zoom`,null),n.zoom.filter(function(e){return!e.button&&n.enableZoomPanInteraction&&(e.type!==`wheel`||V(n.enableZoomInteraction)(e))&&(e.type===`wheel`||V(n.enablePanInteraction)(e))}).on(`zoom`,function(e){var i=e.transform;[a,o].forEach(function(e){Pf(e),e.translate(i.x,i.y),e.scale(i.k,i.k)}),n.isPointerDragging=!0,n.onZoom&&n.onZoom(ff(ff({},i),r.centerAt())),n.needsRedraw=!0}).on(`end`,function(e){n.isPointerDragging=!1,n.onZoomEnd&&n.onZoomEnd(ff(ff({},e.transform),r.centerAt()))}),Nf(n),n.forceGraph.onNeedsRedraw(function(){return n.needsRedraw=!0}).onFinishUpdate(function(){Xa(n.canvas).k===n.lastSetZoom&&n.graphData.nodes.length&&(n.zoom.scaleTo(n.zoom.__baseElem,n.lastSetZoom=Df/Math.cbrt(n.graphData.nodes.length)),n.needsRedraw=!0)}),n.tooltip=new Ml(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=Xo(function(){Ff(o,n.width,n.height),n.shadowGraph.linkWidth(function(e){return V(n.linkWidth)(e)+n.linkHoverPrecision});var e=Xa(n.canvas);n.shadowGraph.globalScale(e.k).tickFrame()},Ef);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&&V(n[`${i.type.toLowerCase()}Label`])(i.d)||null),n.canvas.classList[(i&&n[`on${u}Click`]||!i&&n.onBackgroundClick)&&V(n.showPointerCursor)(i?.d)?`add`:`remove`](`clickable`),n.hoverObj=i}r&&l()}if(r){Ff(a,n.width,n.height);var p=Xa(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){}}),Lf=n(((e,n)=>{n.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),Rf=n(((e,n)=>{var r=Lf();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}})),$=a(n(((e,n)=>{n.exports=Rf()()}))(),1),zf={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},Bf={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},Vf={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])},Hf=Object.assign({},zf,Bf,{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({},zf,Bf,Vf,{enableNavigationControls:$.default.bool,controlType:$.default.oneOf([`trackball`,`orbit`,`fly`]),rendererConfig:$.default.object,extraRenderers:$.default.arrayOf($.default.shape({render:$.default.func.isRequired}))}),Object.assign({},zf,Vf,{nodeDesc:$.default.oneOfType([$.default.string,$.default.func]),linkDesc:$.default.oneOfType([$.default.string,$.default.func])}),Object.assign({},zf,Vf,{markerAttrs:$.default.object,yOffset:$.default.number,glScale:$.default.number});var Uf=Pe(If,{methodNames:[`emitParticle`,`d3Force`,`d3ReheatSimulation`,`stopAnimation`,`pauseAnimation`,`resumeAnimation`,`centerAt`,`zoom`,`zoomToFit`,`getGraphBbox`,`screen2GraphCoords`,`graph2ScreenCoords`]});Uf.displayName=`ForceGraph2D`,Uf.propTypes=Hf;var Wf=/(?:\s+[—–|]\s+|:\s+)/;function Gf(e){let n=new Map;for(let r of e){let e=ep(r.label||r.id),i=Xf(e),a=Qf(r.kind===`doc`?r.docName??r.id:r.url??r.id),o=Zf(i),s=o?Qf(i):i,c=o?[]:Yf(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 Kf(e,n,r){if(!e)return``;let i=e=>r(e)<=n;for(let n of tp([e.primaryLabel,e.topicLabel]))if(i(n))return n;for(let i of tp([e.topicLabel,e.primaryLabel])){let e=qf(i,n,r);if(e)return e}if(e.leadLabel&&i(e.leadLabel))return e.leadLabel;if(e.leadLabel){let i=qf(e.leadLabel,n,r);if(i)return i}return i(e.pathLabel)?e.pathLabel:qf(e.pathLabel,n,r)||e.pathLabel}function qf(e,n,r){if(!e)return``;if(r(e)<=n)return e;let i=e.split(/\s+/).filter(Boolean),a=tp([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 Jf(e,n,r)}function Jf(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 Yf(e){return ep(e).split(Wf).map(e=>ep(e)).filter(Boolean)}function Xf(e){let n=ep(e);for(;;){let e=n.replace(/\s*\([^()]*\)\s*$/,``).trim();if(!e||e===n)return n;n=e}}function Zf(e){let n=(e.match(/\//g)??[]).length,r=(e.match(/\s/g)??[]).length;return n>0&&(r===0||n*3>r)}function Qf(e){let n=e.split(`/`).map(e=>e.trim()).filter(Boolean);return n.length===0?e:n.length===1?$f(n[0]):n.slice(-2).map($f).join(` / `)}function $f(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 ep(e){return e.replace(/\s+/g,` `).trim()}function tp(e){let n=new Set;for(let r of e)r&&n.add(r);return[...n]}var np=8,rp=10,ip=4,ap=6,op=4,sp=rp+op*2,cp=2,lp=.001;function up(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=dp(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=Kf(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(pp);let _=[],v=[];for(let e=0;e<g.length&&!(_.length>=o);e+=1){let n=g[e],r=mp(n,{priority:g.length-e,viewport:a,acceptedRects:v,positionedNodes:h});r&&(_.push(r),v.push(r.rect))}return _}function dp(e){let n=new Map;for(let r of e){let e=fp(r.source),i=fp(r.target);e&&n.set(e,(n.get(e)??0)+1),i&&n.set(i,(n.get(i)??0)+1)}return n}function fp(e){return typeof e==`string`?e:typeof e?.id==`string`?e.id:typeof e?.id==`number`?String(e.id):null}function pp(e,n){return e.isActive===n.isActive?Math.abs(e.distanceToCenterPx-n.distanceToCenterPx)>lp?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 mp(e,{priority:n,viewport:r,acceptedRects:i,positionedNodes:a}){for(let o of[`bottom`,`top`,`right`,`left`]){let s=hp(e,o,n);if(gp(s.rect,r)&&!i.some(e=>_p(e,s.rect))&&!a.some(n=>n.node.id!==e.node.id&&vp(s.rect,{x:n.screenX,y:n.screenY,radius:n.radiusPx+cp})))return s}return null}function hp(e,n,r){let i=e.textWidthPx+ap*2,a=i/2,o=sp/2,s=e.screenX-a,c=e.screenY+e.radiusPx+ip;return n===`top`?c=e.screenY-e.radiusPx-ip-sp:n===`right`?(s=e.screenX+e.radiusPx+ip,c=e.screenY-o):n===`left`&&(s=e.screenX-e.radiusPx-ip-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+sp},textX:s+a,textY:c+op}}function gp(e,n){return e.left>=np&&e.top>=np&&e.right<=n.width-np&&e.bottom<=n.height-np}function _p(e,n){return!(e.right<=n.left||e.left>=n.right||e.bottom<=n.top||e.top>=n.bottom)}function vp(e,n){let r=yp(n.x,e.left,e.right),i=yp(n.y,e.top,e.bottom);return Math.hypot(n.x-r,n.y-i)<n.radius}function yp(e,n,r){return Math.min(r,Math.max(n,e))}var bp=5,xp=7,Sp=8;function Cp(e){if(e.kind===`external`)return e.url;let n=e.label??e.id;if(!(e.cluster||e.category||e.tags&&e.tags.length>0))return n;let r=[`<div style="font-weight:600;font-size:14px;color:#f1f5f9;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgba(148,163,184,0.3)">${wp(n)}</div>`];return e.cluster&&r.push(`<div style="font-size:12.5px;color:#f1f5f9;margin-bottom:2px"><span style="color:#cbd5e1">cluster:</span> ${wp(e.cluster)}</div>`),e.category&&r.push(`<div style="font-size:12.5px;color:#f1f5f9;margin-bottom:2px"><span style="color:#cbd5e1">category:</span> ${wp(e.category)}</div>`),e.tags&&e.tags.length>0&&r.push(`<div style="font-size:12.5px;color:#f1f5f9"><span style="color:#cbd5e1">tags:</span> ${e.tags.map(wp).join(`, `)}</div>`),r.join(``)}function wp(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}function Tp(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 Ep(e){return e===`active`||e===`active-selected`?Sp:e===`selected`||e===`external-selected`?xp:bp}function Dp(e,n){let r=Ep(e);return e===`active`||e===`selected`||e===`active-selected`||e===`external-selected`?r+2/Math.max(n,.01):r}function Op(e){return f(e.docName,e.anchor)}function kp(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:Op({docName:e.docName,label:e.label,anchor:e.anchor??null})}}var Ap=350,jp=120,Mp=18,Np=28,Pp=5;function Fp({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 Ip({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)>=Np}function Lp({fg:e,nodes:n,activeDocName:r,zoom:i,focusKey:a,focusState:o,force:s=!1,durationMs:c=Ap}){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<jp)return u;let d=Fp({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<Mp&&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 Rp({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 zp({node:e,fg:n,activeDocName:r,selectedNodeId:i,globalScale:a}){if(typeof e.x!=`number`||typeof e.y!=`number`)return null;let o=Tp(e,{activeDocName:r,selectedNodeId:i}),s=n.graph2ScreenCoords(e.x,e.y);return{x:s.x,y:s.y,radiusPx:Dp(o,a)*a,state:o}}function Bp({clientX:e,clientY:n,container:r}){let i=r.getBoundingClientRect();return{x:e-i.left,y:n-i.top}}function Vp({point:e,fg:n,nodes:r,activeDocName:i,selectedNodeId:a}){let o=n.zoom(),s=null;for(let c of r){let r=zp({node:c,fg:n,activeDocName:i,selectedNodeId:a,globalScale:o});if(!r)continue;let l=Math.hypot(e.x-r.x,e.y-r.y);l>r.radiusPx||s!==null&&l>=s.distance||(s={node:c,distance:l})}return s?.node??null}function Hp(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 Up({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 Wp({point:e,fg:n,links:r}){return r.some(r=>{let i=Hp(r.source,n),a=Hp(r.target,n);return!i||!a?!1:Up({point:e,start:i,end:a})<=6})}function Gp({node:e,docClickBehavior:n,onSelectNode:r}){let i=kp(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 Kp({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}Gp({node:e.node,docClickBehavior:n,onSelectNode:i})}function qp(e){let n=(0,se.c)(113),{activeDocName:i,selectedNodeId:a,isFullscreen:o,showUrlNodes:s,className:c,docClickBehavior:u,onSelectNode:p,onBackgroundClick:h,onStatsChange:g,onClustersChange:_}=e,v=a===void 0?null:a,y=o===void 0?!1:o,b=s===void 0?!0:s,x=c===void 0?``:c,S=u===void 0?`navigate`:u,C;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(C={nodes:[],links:[]},n[0]=C):C=n[0];let[w,T]=(0,D.useState)(C),E;n[1]===Symbol.for(`react.memo_cache_sentinel`)?(E={nodes:``,links:``},n[1]=E):E=n[1];let[te,ne]=(0,D.useState)(E),re;n[2]===Symbol.for(`react.memo_cache_sentinel`)?(re={nodes:``,links:``},n[2]=re):re=n[2];let ie=(0,D.useRef)(re),[ae,oe]=(0,D.useState)(!0),[ce,le]=(0,D.useState)(null),ue=(0,D.useRef)(null),fe=(0,D.useRef)(void 0),pe;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(pe={key:``,lastX:null,lastY:null,lastAt:0},n[3]=pe):pe=n[3];let me=(0,D.useRef)(pe),he=(0,D.useRef)(null),ge=(0,D.useRef)(!1),_e;n[4]===Symbol.for(`react.memo_cache_sentinel`)?(_e={width:320,height:400},n[4]=_e):_e=n[4];let[ve,ye]=(0,D.useState)(_e),{resolvedTheme:be}=d(),{folderPaths:k,loading:A,pages:xe}=m(),Se,j;n[5]!==i||n[6]!==y?(Se=()=>{let e=!1,n=async function(){try{let n=new URLSearchParams;!y&&i&&(n.set(`docName`,i),n.set(`degrees`,`2`));let r=n.size>0?`/api/link-graph?${n.toString()}`:`/api/link-graph`,a=await fetch(r);if(!a.ok){if(e)return;le(`Server error: ${a.status}`),oe(!1);return}let o=await a.json();if(e)return;if(!o.ok){le(o.error??`Failed to load graph`),oe(!1);return}let s=o.nodes??[],c=o.links??[],l=s.map(em).join(`,`),u=c.map($p).join(`,`);(l!==ie.current.nodes||u!==ie.current.links)&&(ie.current={nodes:l,links:u},ne({nodes:l,links:u}),T({nodes:s,links:c})),le(null),oe(!1)}catch(n){let r=n;if(e)return;le(r instanceof Error?r.message:`Failed to load graph`),oe(!1)}};oe(!0),n();let r=()=>{document.visibilityState===`visible`&&n()};window.addEventListener(`focus`,r),window.addEventListener(`visibilitychange`,r);let a=l(e=>{(e.includes(`files`)||e.includes(`graph`))&&n()});return()=>{e=!0,window.removeEventListener(`focus`,r),window.removeEventListener(`visibilitychange`,r),a()}},j=[i,y],n[5]=i,n[6]=y,n[7]=Se,n[8]=j):(Se=n[7],j=n[8]),(0,D.useEffect)(Se,j);let Ce,we;n[9]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=()=>{let e=ue.current;if(!e)return;let n=new ResizeObserver(e=>{let[n]=e,{width:r,height:i}=n.contentRect;r>0&&i>0&&ye({width:Math.floor(r),height:Math.floor(i)})});return n.observe(e),()=>n.disconnect()},we=[],n[9]=Ce,n[10]=we):(Ce=n[9],we=n[10]),(0,D.useEffect)(Ce,we);let M=be===`dark`,Te=M?`hsl(0 0% 4%)`:`hsl(0 0% 100%)`,Ee=M?`#6b7280`:`#9ca3af`,De=M?`#69a3ff`:`#3784ff`,Oe=M?`#34d399`:`#059669`,ke=M?`#c084fc`:`#7c3aed`,Ae=M?`#f59e0b`:`#c2410c`,je=M?`#a78bfa`:`#7c3aed`,Me=M?`rgba(75,85,99,0.6)`:`rgba(209,213,219,0.8)`,Ne=M?`#f3f4f6`:`#111827`,Pe=M?`rgba(105,163,255,0.45)`:`rgba(55,132,255,0.3)`,Fe=M?`rgba(167,139,250,0.38)`:`rgba(124,58,237,0.22)`,Ie=M?`rgba(52,211,153,0.5)`:`rgba(5,150,105,0.3)`,Le=M?`rgba(192,132,252,0.5)`:`rgba(124,58,237,0.35)`,Re=M?`rgba(3,7,18,0.92)`:`rgba(255,255,255,0.94)`,ze=M?`rgba(243,244,246,0.08)`:`rgba(17,24,39,0.08)`,N=y?1.6:2.35,Be=y?220:150,P=y?10:18,F,I,Ve;n[11]!==w.links||n[12]!==w.nodes||n[13]!==b?(I=b?null:new Set(w.nodes.filter(Qp).map(Zp)),F=I?w.nodes.filter(Xp):w.nodes,Ve=I?w.links.filter(e=>{let n=e.source,r=e.target,i=typeof n==`string`?n:typeof n==`object`&&n&&`id`in n?String(n.id):``,a=typeof r==`string`?r:typeof r==`object`&&r&&`id`in r?String(r.id):``;return!I.has(i)&&!I.has(a)}):w.links,n[11]=w.links,n[12]=w.nodes,n[13]=b,n[14]=F,n[15]=I,n[16]=Ve):(F=n[14],I=n[15],Ve=n[16]);let He=Ve,Ue;n[17]!==He||n[18]!==F||n[19]!==I||n[20]!==w?(Ue=I?{nodes:F,links:He}:w,n[17]=He,n[18]=F,n[19]=I,n[20]=w,n[21]=Ue):Ue=n[21];let L=Ue,We=L.nodes,Ge=L.links,Ke;n[22]===L.nodes?Ke=n[23]:(Ke=Gf(L.nodes),n[22]=L.nodes,n[23]=Ke);let qe=Ke,Je=`${i}|${N}|${te.nodes}|${te.links}`,Ye;if(n[24]!==k||n[25]!==w.nodes||n[26]!==A||n[27]!==xe){let e;n[29]!==k||n[30]!==A||n[31]!==xe?(e=e=>{if(e.kind!==`doc`)return[];let n=A?{displayState:`doc`,hashDocName:e.docName}:ee(e.docName,{pages:xe,folderPaths:k});return[[e.id,n]]},n[29]=k,n[30]=A,n[31]=xe,n[32]=e):e=n[32],Ye=new Map(w.nodes.flatMap(e)),n[24]=k,n[25]=w.nodes,n[26]=A,n[27]=xe,n[28]=Ye}else Ye=n[28];let Xe=Ye,Ze;n[33]!==L.links||n[34]!==L.nodes||n[35]!==ae||n[36]!==g?(Ze=()=>{g?.(L.nodes.length,L.links.length,ae)},n[33]=L.links,n[34]=L.nodes,n[35]=ae,n[36]=g,n[37]=Ze):Ze=n[37];let Qe;n[38]!==L||n[39]!==ae||n[40]!==g?(Qe=[L,ae,g],n[38]=L,n[39]=ae,n[40]=g,n[41]=Qe):Qe=n[41],(0,D.useEffect)(Ze,Qe);let $e;n[42]!==w.nodes||n[43]!==_?($e=()=>{if(!_)return;let e=new Set;for(let n of w.nodes)n.kind===`doc`&&n.cluster&&e.add(n.cluster);_(Array.from(e).sort())},n[42]=w.nodes,n[43]=_,n[44]=$e):$e=n[44];let et;n[45]!==w||n[46]!==_?(et=[w,_],n[45]=w,n[46]=_,n[47]=et):et=n[47],(0,D.useEffect)($e,et);let tt,nt;n[48]!==i||n[49]!==Je||n[50]!==N||n[51]!==w.nodes?(tt=()=>{me.current={key:Je,lastX:null,lastY:null,lastAt:0};let e=window.requestAnimationFrame(()=>{me.current=Lp({fg:fe.current,nodes:w.nodes,activeDocName:i,zoom:N,focusKey:Je,focusState:me.current,force:!0})});return()=>window.cancelAnimationFrame(e)},nt=[Je,i,N,w.nodes],n[48]=i,n[49]=Je,n[50]=N,n[51]=w.nodes,n[52]=tt,n[53]=nt):(tt=n[52],nt=n[53]),(0,D.useEffect)(tt,nt);let rt,it;n[54]!==i||n[55]!==L.links||n[56]!==L.nodes||n[57]!==S||n[58]!==h||n[59]!==p||n[60]!==v?(rt=()=>{},it=[i,S,L.links,L.nodes,h,p,v],n[54]=i,n[55]=L.links,n[56]=L.nodes,n[57]=S,n[58]=h,n[59]=p,n[60]=v,n[61]=rt,n[62]=it):(rt=n[61],it=n[62]),(0,D.useEffect)(rt,it);let at;n[63]===x?at=n[64]:(at=r(`h-full min-h-0 overflow-hidden`,x),n[63]=x,n[64]=at);let ot;n[65]===Symbol.for(`react.memo_cache_sentinel`)?(ot=()=>{he.current=null},n[65]=ot):ot=n[65];let st;n[66]!==i||n[67]!==L.links||n[68]!==L.nodes||n[69]!==v?(st=e=>{if(!e.isPrimary||e.button!==0){he.current=null;return}he.current={pointerId:e.pointerId,clientX:e.clientX,clientY:e.clientY,target:(()=>{let n=ue.current,r=fe.current;if(!n||!r)return{kind:`background`};let a=Bp({clientX:e.clientX,clientY:e.clientY,container:n}),o=Vp({point:a,fg:r,nodes:L.nodes,activeDocName:i,selectedNodeId:v});return o?{kind:`node`,node:o}:Wp({point:a,fg:r,links:L.links})?{kind:`link`}:{kind:`background`}})()}},n[66]=i,n[67]=L.links,n[68]=L.nodes,n[69]=v,n[70]=st):st=n[70];let ct;n[71]!==S||n[72]!==h||n[73]!==p||n[74]!==v?(ct=e=>{if(!e.isPrimary||e.button!==0){he.current=null;return}let n=he.current;he.current=null,!(!n||n.pointerId!==e.pointerId)&&(Math.hypot(e.clientX-n.clientX,e.clientY-n.clientY)>Pp||Kp({target:n.target,docClickBehavior:S,selectedNodeId:v,onSelectNode:p,onBackgroundClick:h}))},n[71]=S,n[72]=h,n[73]=p,n[74]=v,n[75]=ct):ct=n[75];let lt;n[76]!==i||n[77]!==De||n[78]!==Pe||n[79]!==ke||n[80]!==Le||n[81]!==Te||n[82]!==Ee||n[83]!==ve||n[84]!==L||n[85]!==Me||n[86]!==ce||n[87]!==Ae||n[88]!==Je||n[89]!==N||n[90]!==je||n[91]!==Fe||n[92]!==w.nodes||n[93]!==M||n[94]!==ze||n[95]!==Re||n[96]!==Ne||n[97]!==qe||n[98]!==Ge||n[99]!==We||n[100]!==ae||n[101]!==Be||n[102]!==P||n[103]!==Xe||n[104]!==Oe||n[105]!==v||n[106]!==Ie?(lt=ce?(0,O.jsx)(`p`,{className:`p-4 text-sm text-destructive`,children:ce}):L.nodes.length===0&&!ae?(0,O.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,O.jsx)(`div`,{className:`h-full min-h-0`,role:`img`,"aria-label":`Graph visualization of document links`,children:(0,O.jsx)(Uf,{ref:fe,graphData:L,cooldownTicks:150,onEngineTick:()=>{ge.current=!1,me.current=Lp({fg:fe.current,nodes:w.nodes,activeDocName:i,zoom:N,focusKey:Je,focusState:me.current})},onEngineStop:()=>{ge.current=!0;let e=Fp({nodes:w.nodes,activeDocName:i});Ip({fg:fe.current,coords:e,dimensions:ve})&&(me.current=Lp({fg:fe.current,nodes:w.nodes,activeDocName:i,zoom:N,focusKey:Je,focusState:me.current,force:!0}))},width:ve.width,height:ve.height,backgroundColor:Te,nodeId:`id`,nodeLabel:e=>{let n=Cp(e);return e.kind===`doc`&&Xe.get(e.id)?.displayState===`folder`?`Folder: ${n}`:n},nodeRelSize:4,nodeVal:e=>{let n=Tp(e,{activeDocName:i,selectedNodeId:v});return n===`active-selected`?20:n===`active`?18:n===`selected`||n===`external-selected`?12:6},nodeCanvasObjectMode:Yp,nodeCanvasObject:(e,n,r)=>{if(typeof e.x!=`number`||typeof e.y!=`number`)return;let a=Tp(e,{activeDocName:i,selectedNodeId:v}),o=e.kind===`doc`&&Xe.get(e.id)?.displayState===`folder`,s=Ep(a),c=Dp(a,r),l=e.kind===`doc`?e.cluster:void 0,u=l?de(l,M):Ee;n.beginPath(),n.arc(e.x,e.y,s,0,2*Math.PI,!1),n.fillStyle=a===`active`?De:a===`selected`?Oe:a===`active-selected`?ke:a===`external`||a===`external-selected`?Ae:o?je:u,n.fill(),c>s?(n.beginPath(),n.arc(e.x,e.y,c,0,2*Math.PI,!1),n.strokeStyle=a===`active`?Pe:a===`selected`||a===`external-selected`?Ie:Le,n.lineWidth=2/r,n.stroke()):o&&(n.beginPath(),n.arc(e.x,e.y,s+2/r,0,2*Math.PI,!1),n.strokeStyle=Fe,n.lineWidth=1.5/r,n.stroke())},nodePointerAreaPaint:(e,n,r,a)=>{if(typeof e.x!=`number`||typeof e.y!=`number`)return;let o=Tp(e,{activeDocName:i,selectedNodeId:v});r.beginPath(),r.arc(e.x,e.y,Dp(o,a),0,2*Math.PI,!1),r.fillStyle=n,r.fill()},onRenderFramePost:(e,n)=>{if(n<1.8)return;let r=fe.current;if(!r)return;e.save();let a=window.devicePixelRatio||1;e.setTransform(a,0,0,a,0,0),e.font=`10px system-ui, sans-serif`,Rp({ctx:e,placements:up({nodes:We,links:Ge,activeDocName:i,viewport:ve,maxLabels:P,maxLabelWidthPx:Be,labelDescriptors:qe,measureTextWidthPx:n=>e.measureText(n).width,projectToScreen:(e,n)=>r.graph2ScreenCoords(e,n),getNodeRadiusPx:e=>Dp(Tp(e,{activeDocName:i,selectedNodeId:v}),n)*n+4}),labelColor:Ne,chipColor:Re,chipBorderColor:ze}),e.restore()},linkColor:()=>Me,linkDirectionalArrowLength:3,linkDirectionalArrowRelPos:1,linkWidth:1,showPointerCursor:Jp,onNodeClick:e=>{if(e.kind===`external`){window.open(e.url,`_blank`,`noopener,noreferrer`);return}if(e.docName){let n=Xe.get(e.id);window.location.assign(f(n?.hashDocName??e.docName,e.anchor??null))}}})}),n[76]=i,n[77]=De,n[78]=Pe,n[79]=ke,n[80]=Le,n[81]=Te,n[82]=Ee,n[83]=ve,n[84]=L,n[85]=Me,n[86]=ce,n[87]=Ae,n[88]=Je,n[89]=N,n[90]=je,n[91]=Fe,n[92]=w.nodes,n[93]=M,n[94]=ze,n[95]=Re,n[96]=Ne,n[97]=qe,n[98]=Ge,n[99]=We,n[100]=ae,n[101]=Be,n[102]=P,n[103]=Xe,n[104]=Oe,n[105]=v,n[106]=Ie,n[107]=lt):lt=n[107];let ut;return n[108]!==at||n[109]!==st||n[110]!==ct||n[111]!==lt?(ut=(0,O.jsx)(`div`,{ref:ue,className:at,onPointerCancel:ot,onPointerDownCapture:st,onPointerUpCapture:ct,children:lt}),n[108]=at,n[109]=st,n[110]=ct,n[111]=lt,n[112]=ut):ut=n[112],ut}function Jp(e){return!!(e&&`kind`in e)}function Yp(){return`replace`}function Xp(e){return e.kind!==`external`}function Zp(e){return e.id}function Qp(e){return e.kind===`external`}function $p(e){return`${e.source}>${e.target}`}function em(e){return`${e.id}:${e.label}`}var tm=50,nm=`ok-graph-docked-url-nodes-v1`,rm=`ok-graph-fullscreen-url-nodes-v1`;function im(e){if(typeof window>`u`)return!1;try{return window.localStorage.getItem(e)===`true`}catch{return!1}}function am(e,n){if(!(typeof window>`u`))try{n?window.localStorage.setItem(e,`true`):window.localStorage.removeItem(e)}catch{}}var om={explore:`Explore`,orphans:`Orphans`,hubs:`Hubs`},sm={incoming:`No Incoming`,outgoing:`No Outgoing`,both:`Both`};async function cm(e){let n=await fetch(`/api/orphans?mode=${encodeURIComponent(e)}`);if(!n.ok)throw Error(`Server error: ${n.status} ${n.statusText}`);let r=await n.json();if(!r.ok)throw Error(r.error??`Failed to load orphan pages`);return r.orphans??[]}async function lm(e){let n=await fetch(`/api/hubs?limit=${encodeURIComponent(String(e))}`);if(!n.ok)throw Error(`Server error: ${n.status} ${n.statusText}`);let r=await n.json();if(!r.ok)throw Error(r.error??`Failed to load hub pages`);return r.hubs??[]}function um(e){window.location.assign(f(e))}async function dm(){if(bm())try{await(document.exitFullscreen?.()??document.webkitExitFullscreen?.())}catch{}}function fm(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 pm(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 mm(n){let r=(0,se.c)(29),{mode:a,onModeChange:c}=n,l;r[0]===a?l=r[1]:(l={queryKey:[`orphans`,a],queryFn:()=>cm(a)},r[0]=a,r[1]=l);let{data:u,isLoading:d,error:f}=o(l),m;r[2]===u?m=r[3]:(m=u===void 0?[]:u,r[2]=u,r[3]=m);let g=m,_;r[4]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,O.jsx)(`p`,{className:`text-sm font-medium`,children:`Project-level disconnected pages`}),r[4]=_):_=r[4];let v;r[5]===a?v=r[6]:(v=fm(a),r[5]=a,r[6]=v);let y;r[7]===v?y=r[8]:(y=(0,O.jsxs)(`div`,{className:`space-y-1`,children:[_,(0,O.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:v})]}),r[7]=v,r[8]=y);let b;r[9]===c?b=r[10]:(b=n=>{n&&e(n)&&c(n)},r[9]=c,r[10]=b);let x;r[11]===Symbol.for(`react.memo_cache_sentinel`)?(x=i.map(gm),r[11]=x):x=r[11];let S;r[12]!==a||r[13]!==b?(S=(0,O.jsx)(ne,{type:`single`,size:`sm`,variant:`outline`,value:a,"aria-label":`Orphan mode`,onValueChange:b,children:x}),r[12]=a,r[13]=b,r[14]=S):S=r[14];let C;r[15]!==y||r[16]!==S?(C=(0,O.jsx)(`div`,{className:`border-b border-border/60 px-4 py-3`,children:(0,O.jsxs)(`div`,{className:`flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between`,children:[y,S]})}),r[15]=y,r[16]=S,r[17]=C):C=r[17];let w;r[18]!==f||r[19]!==d||r[20]!==a||r[21]!==g?(w=f?(0,O.jsx)(s,{children:f instanceof Error?f.message:`Failed to load orphan pages`}):g.length===0&&!d?(0,O.jsx)(p,{children:pm(a)}):(0,O.jsx)(`div`,{className:`flex flex-col gap-2`,children:g.map(hm)}),r[18]=f,r[19]=d,r[20]=a,r[21]=g,r[22]=w):w=r[22];let T;r[23]!==d||r[24]!==w?(T=(0,O.jsx)(h,{"aria-busy":d,children:w}),r[23]=d,r[24]=w,r[25]=T):T=r[25];let E;return r[26]!==C||r[27]!==T?(E=(0,O.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[C,T]}),r[26]=C,r[27]=T,r[28]=E):E=r[28],E}function hm(e){return(0,O.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:()=>um(e.docName),children:[(0,O.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.title}),(0,O.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.docName})]},e.docName)}function gm(e){return(0,O.jsx)(E,{value:e,children:sm[e]},e)}function _m(){let e=(0,se.c)(11),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:[`hubs`,tm],queryFn:ym},e[0]=n):n=e[0];let{data:r,isLoading:i,error:a}=o(n),c;e[1]===r?c=e[2]:(c=r===void 0?[]:r,e[1]=r,e[2]=c);let l=c,u;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,O.jsx)(`div`,{className:`border-b border-border/60 px-4 py-3`,children:(0,O.jsxs)(`div`,{className:`space-y-1`,children:[(0,O.jsx)(`p`,{className:`text-sm font-medium`,children:`Top linked pages`}),(0,O.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Project-level pages ordered by inbound link count, up to `,tm,` results.`]})]})}),e[3]=u):u=e[3];let d;e[4]!==a||e[5]!==l||e[6]!==i?(d=a?(0,O.jsx)(s,{children:a instanceof Error?a.message:`Failed to load hub pages`}):l.length===0&&!i?(0,O.jsx)(p,{children:`No hub pages yet. Hubs appear once pages accumulate inbound graph links.`}):(0,O.jsx)(`div`,{className:`flex flex-col gap-2`,children:l.map(vm)}),e[4]=a,e[5]=l,e[6]=i,e[7]=d):d=e[7];let f;return e[8]!==i||e[9]!==d?(f=(0,O.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[u,(0,O.jsx)(h,{"aria-busy":i,children:d})]}),e[8]=i,e[9]=d,e[10]=f):f=e[10],f}function vm(e){return(0,O.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:()=>um(e.docName),children:(0,O.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,O.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,O.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.title}),(0,O.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.docName})]}),(0,O.jsx)(`span`,{className:`rounded-md bg-muted px-2 py-1 text-xs font-mono text-muted-foreground`,children:e.count})]})},e.docName)}function ym(){return lm(tm)}function bm(){return document.fullscreenElement??document.webkitFullscreenElement??null}async function xm(e){if(e)try{bm()?await dm():await(e.requestFullscreen?.()??e.webkitRequestFullscreen?.())}catch{}}function Sm(e){let n=(0,se.c)(86),{activeDocName:r}=e,i=(0,D.useRef)(null),[a,o]=(0,D.useState)(!1),[s,c]=(0,D.useState)(`explore`),[l,u]=(0,D.useState)(`both`),[d,f]=(0,D.useState)(null),[p,m]=(0,D.useState)(null),h;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=[],n[0]=h):h=n[0];let[v,S]=(0,D.useState)(h),[E,ee]=(0,D.useState)(Em),[ce,le]=(0,D.useState)(Tm),ue,de;n[1]===Symbol.for(`react.memo_cache_sentinel`)?(ue=()=>{let e=()=>o(bm()===i.current);return document.addEventListener(`fullscreenchange`,e),document.addEventListener(`webkitfullscreenchange`,e),()=>{document.removeEventListener(`fullscreenchange`,e),document.removeEventListener(`webkitfullscreenchange`,e)}},de=[],n[1]=ue,n[2]=de):(ue=n[1],de=n[2]),(0,D.useEffect)(ue,de);let fe,me;n[3]===E?(fe=n[4],me=n[5]):(fe=()=>{am(nm,E)},me=[E],n[3]=E,n[4]=fe,n[5]=me),(0,D.useEffect)(fe,me);let he,ge;n[6]===ce?(he=n[7],ge=n[8]):(he=()=>{am(rm,ce)},ge=[ce],n[6]=ce,n[7]=he,n[8]=ge),(0,D.useEffect)(he,ge);let _e,ve;n[9]!==a||n[10]!==d?(_e=()=>{!a&&d!==null&&f(null)},ve=[a,d],n[9]=a,n[10]=d,n[11]=_e,n[12]=ve):(_e=n[11],ve=n[12]),(0,D.useEffect)(_e,ve);let ye,be;n[13]!==s||n[14]!==d?(ye=()=>{s!==`explore`&&d!==null&&f(null)},be=[s,d],n[13]=s,n[14]=d,n[15]=ye,n[16]=be):(ye=n[15],be=n[16]),(0,D.useEffect)(ye,be);let k=a?s:`explore`,A=a?ce:E,xe=a?le:ee,Se;n[17]!==r||n[18]!==d?(Se=d===null?null:d.kind===`doc`&&d.docName===r?{eyebrow:`Already open`,description:`This document is already active in the editor. Use Open to leave fullscreen.`,Icon:w,actionLabel:`Open`,secondaryLabel:d.docName,onAction:()=>{let e=Op(d);(async()=>{await dm(),window.location.assign(e)})()}}:d.kind===`doc`?{eyebrow:`Selected in graph`,description:`Open this document in the editor and leave fullscreen.`,Icon:re,actionLabel:`Open`,secondaryLabel:d.docName,onAction:()=>{let e=Op(d);(async()=>{await dm(),window.location.assign(e)})()}}:{eyebrow:`Selected in graph`,description:`Open this link in a new tab and leave fullscreen.`,Icon:re,actionLabel:`Open link`,secondaryLabel:d.url,onAction:()=>{window.open(d.url,`_blank`,`noopener,noreferrer`),dm()}},n[17]=r,n[18]=d,n[19]=Se):Se=n[19];let j=Se,Ce=a?`min-h-[100dvh] bg-background`:void 0,we;n[20]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,O.jsx)(b,{children:`Graph`}),n[20]=we):we=n[20];let M;n[21]!==k||n[22]!==p?(M=k===`explore`&&p?(0,O.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,O.jsxs)(y,{children:[p.nodes,` nodes`]}),(0,O.jsxs)(y,{children:[p.links,` links`]})]}):null,n[21]=k,n[22]=p,n[23]=M):M=n[23];let Te;n[24]===M?Te=n[25]:(Te=(0,O.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[we,M]}),n[24]=M,n[25]=Te);let Ee;n[26]!==s||n[27]!==a?(Ee=a?(0,O.jsx)(ne,{type:`single`,size:`sm`,variant:`outline`,value:s,"aria-label":`Fullscreen graph mode`,onValueChange:e=>{(e===`explore`||e===`orphans`||e===`hubs`)&&c(e)},children:Object.entries(om).map(wm)}):null,n[26]=s,n[27]=a,n[28]=Ee):Ee=n[28];let De=A?`Hide external URL nodes`:`Show external URL nodes`,Oe;n[29]===xe?Oe=n[30]:(Oe=()=>xe(Cm),n[29]=xe,n[30]=Oe);let ke=A?`size-4 text-sidebar-accent-foreground`:`size-4 text-muted-foreground`,Ae;n[31]===ke?Ae=n[32]:(Ae=(0,O.jsx)(ie,{className:ke}),n[31]=ke,n[32]=Ae);let je;n[33]!==A||n[34]!==De||n[35]!==Oe||n[36]!==Ae?(je=(0,O.jsx)(te,{asChild:!0,children:(0,O.jsx)(_,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-foreground hover:bg-accent`,"aria-label":De,"aria-pressed":A,onClick:Oe,children:Ae})}),n[33]=A,n[34]=De,n[35]=Oe,n[36]=Ae,n[37]=je):je=n[37];let Me=a?`z-[9999]`:void 0,Ne=A?`Hide external URL nodes`:`Show external URL nodes`,Pe;n[38]!==Me||n[39]!==Ne?(Pe=(0,O.jsx)(C,{side:`bottom`,sideOffset:8,className:Me,children:Ne}),n[38]=Me,n[39]=Ne,n[40]=Pe):Pe=n[40];let Fe;n[41]!==je||n[42]!==Pe?(Fe=(0,O.jsxs)(T,{delayDuration:0,children:[je,Pe]}),n[41]=je,n[42]=Pe,n[43]=Fe):Fe=n[43];let Ie=a?`Exit fullscreen`:`Full screen`,Le;n[44]===Symbol.for(`react.memo_cache_sentinel`)?(Le=()=>void xm(i.current),n[44]=Le):Le=n[44];let Re;n[45]===a?Re=n[46]:(Re=a?(0,O.jsx)(oe,{className:`size-4`}):(0,O.jsx)(ae,{className:`size-4`}),n[45]=a,n[46]=Re);let ze;n[47]!==Ie||n[48]!==Re?(ze=(0,O.jsx)(te,{asChild:!0,children:(0,O.jsx)(_,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-foreground hover:bg-accent`,"aria-label":Ie,onClick:Le,children:Re})}),n[47]=Ie,n[48]=Re,n[49]=ze):ze=n[49];let N=a?`z-[9999]`:void 0,Be=a?`Exit fullscreen`:`Enter fullscreen`,P;n[50]!==N||n[51]!==Be?(P=(0,O.jsx)(C,{side:`bottom`,sideOffset:8,className:N,children:Be}),n[50]=N,n[51]=Be,n[52]=P):P=n[52];let F;n[53]!==ze||n[54]!==P?(F=(0,O.jsxs)(T,{delayDuration:0,children:[ze,P]}),n[53]=ze,n[54]=P,n[55]=F):F=n[55];let I;n[56]!==Fe||n[57]!==F?(I=(0,O.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[Fe,F]}),n[56]=Fe,n[57]=F,n[58]=I):I=n[58];let Ve;n[59]!==Ee||n[60]!==I?(Ve=(0,O.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[Ee,I]}),n[59]=Ee,n[60]=I,n[61]=Ve):Ve=n[61];let He;n[62]!==Te||n[63]!==Ve?(He=(0,O.jsxs)(g,{className:`flex-wrap gap-3`,children:[Te,Ve]}),n[62]=Te,n[63]=Ve,n[64]=He):He=n[64];let Ue;n[65]!==r||n[66]!==k||n[67]!==v||n[68]!==a||n[69]!==d||n[70]!==j||n[71]!==A?(Ue=k===`explore`?(0,O.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,O.jsx)(qp,{activeDocName:r,selectedNodeId:a?d?.id??null:null,isFullscreen:a,showUrlNodes:A,className:`h-full min-h-0`,docClickBehavior:a?`select`:`navigate`,onSelectNode:a?f:void 0,onBackgroundClick:a?()=>{d!==null&&f(null)}:void 0,onStatsChange:(e,n,r)=>{if(r){m(null);return}m({nodes:e,links:n})},onClustersChange:a?S:void 0}),a&&(0,O.jsx)(pe,{clusters:v}),a&&k===`explore`&&d!==null&&j?(0,O.jsx)(`div`,{className:`pointer-events-none absolute inset-x-4 top-4 z-10 flex justify-center`,children:(0,O.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,O.jsx)(j.Icon,{className:`size-4 shrink-0 text-primary`}),(0,O.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,O.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:j.eyebrow}),(0,O.jsx)(`div`,{className:`truncate font-medium text-foreground`,children:d.label}),(0,O.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:j.secondaryLabel}),(0,O.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:j.description})]}),(0,O.jsx)(_,{size:`sm`,className:`shrink-0`,onClick:j.onAction,children:j.actionLabel})]})}):null]}):null,n[65]=r,n[66]=k,n[67]=v,n[68]=a,n[69]=d,n[70]=j,n[71]=A,n[72]=Ue):Ue=n[72];let L;n[73]!==k||n[74]!==a||n[75]!==l?(L=a&&k===`orphans`?(0,O.jsx)(mm,{mode:l,onModeChange:u}):null,n[73]=k,n[74]=a,n[75]=l,n[76]=L):L=n[76];let We;n[77]!==k||n[78]!==a?(We=a&&k===`hubs`?(0,O.jsx)(_m,{}):null,n[77]=k,n[78]=a,n[79]=We):We=n[79];let Ge;return n[80]!==Ce||n[81]!==He||n[82]!==Ue||n[83]!==L||n[84]!==We?(Ge=(0,O.jsxs)(x,{ref:i,className:Ce,children:[He,Ue,L,We]}),n[80]=Ce,n[81]=He,n[82]=Ue,n[83]=L,n[84]=We,n[85]=Ge):Ge=n[85],Ge}function Cm(e){return!e}function wm(e){let[n,r]=e;return(0,O.jsx)(E,{value:n,children:r},n)}function Tm(){return im(rm)}function Em(){return im(nm)}export{Sm as GraphPanel};
|
|
46
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function df(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 ff(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]==null?{}:arguments[n];n%2?df(Object(r),!0).forEach(function(n){af(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):df(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function pf(e,n){return tf(e)||cf(e,n)||vf(e,n)||lf()}function mf(e){return nf(e)||sf(e)||vf(e)||uf()}function hf(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 gf(e){var n=hf(e,`string`);return typeof n==`symbol`?n:n+``}function _f(e){"@babel/helpers - typeof";return _f=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},_f(e)}function vf(e,n){if(e){if(typeof e==`string`)return ef(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)?ef(e,n):void 0}}var yf=Xd(Qd);function bf(e,n,r){!n||typeof r!=`string`||e.filter(function(e){return!e[r]}).forEach(function(e){e[r]=yf(n(e))})}function xf(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 _f(e)===`object`?n(e):e}});var d=[];return f(Object.values(u)),Object.assign.apply(Object,[{}].concat(mf(Object.entries(u).filter(function(e){return!pf(e,2)[1].skip}).map(function(e){var n=pf(e,2),r=n[0],i=n[1];return af({},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(mf(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(mf(r),[a]),i+ +!a.skip))},o=0,s=e.length;o<s;o++)if(a())continue}}var Sf=2,Q=function(e,n){return n.onNeedsRedraw&&n.onNeedsRedraw()},Cf=function(e,n){if(!n.isShadow){var r=V(n.linkDirectionalParticles);n.graphData.links.forEach(function(e){var n=Math.round(Math.abs(r(e)));n?e.__photons=mf(Array(n)).map(function(){return{}}):delete e.__photons})}},wf=ms({props:{graphData:{default:{nodes:[],links:[]},onChange:function(e,n){n.engineRunning=!1,Cf(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:Cf},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=V(e.nodeVisibility),r=V(e.nodeVal),i=V(e.nodeColor),a=V(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=V(e.linkVisibility),r=V(e.linkColor),i=V(e.linkWidth),a=V(e.linkLineDash),o=V(e.linkCurvature),s=V(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(mf(d),f,h),d=d.concat(m)}c.save(),d.forEach(function(n){return e.linkCanvasObject(n,c,e.globalScale)}),c.restore();var g=qd(p,[r,i,a]);c.save(),Object.entries(g).forEach(function(n){var r=pf(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=pf(n,2),i=r[0],o=r[1],u=(i||1)/e.globalScale+l;Object.entries(o).forEach(function(e){var n=pf(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,mf(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=V(e.linkDirectionalArrowLength),a=V(e.linkDirectionalArrowRelPos),o=V(e.linkVisibility),s=V(e.linkDirectionalArrowColor||e.linkColor),c=V(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&&rf(Md,[d.x,d.y].concat(mf(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=V(e.linkDirectionalParticles),r=V(e.linkDirectionalParticleSpeed),i=V(e.linkDirectionalParticleOffset),a=V(e.linkDirectionalParticleWidth),o=V(e.linkVisibility),s=V(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?rf(Md,[u.x,u.y].concat(mf(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:ad().force(`link`,qu()).force(`charge`,od()).force(`center`,Nl()).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&&bf(e.graphData.nodes,V(e.nodeAutoColorBy),e.nodeColor),e.linkAutoColorBy!==null&&bf(e.graphData.links,V(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&&xf(e.graphData,function(n){return n[e.nodeId]},{nodeFilter:e.dagNodeFilter,onLoopError:e.onDagError||void 0}),a=Math.max.apply(Math,mf(Object.values(i||[]))),o=e.dagLevelDistance||e.graphData.nodes.length/(a||1)*Sf*([`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:sd(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 Tf(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 Ef=800,Df=4,Of=5,kf=Tf(`forceGraph`,wf),Af=Tf([`forceGraph`,`shadowGraph`],wf),jf=Object.assign.apply(Object,mf(`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 af({},e,kf.linkProp(e))})).concat(mf([`nodeRelSize`,`nodeId`,`nodeVal`,`nodeVisibility`,`linkSource`,`linkTarget`,`linkVisibility`,`linkCurvature`].map(function(e){return af({},e,Af.linkProp(e))})))),Mf=Object.assign.apply(Object,mf([`d3Force`,`d3ReheatSimulation`,`emitParticle`].map(function(e){return af({},e,kf.linkMethod(e))})));function Nf(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=Xa(e.canvas).k;e.zoom.translateBy(e.zoom.__baseElem,(e.width-n)/2/a,(e.height-r)/2/a),e.needsRedraw=!0}}function Pf(e){var n=window.devicePixelRatio;e.setTransform(n,0,0,n,0,0)}function Ff(e,n,r){e.save(),Pf(e),e.clearRect(0,0,n,r),e.restore()}var If=ms({props:ff({width:{default:window.innerWidth,onChange:function(e,n){return Nf(n)},triggerUpdate:!1},height:{default:window.innerHeight,onChange:function(e,n){return Nf(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}},jf),aliases:{stopAnimation:`pauseAnimation`},methods:ff({graph2ScreenCoords:function(e,n,r){var i=Xa(e.canvas);return{x:n*i.k+i.x,y:r*i.k+i.y}},screen2GraphCoords:function(e,n,r){var i=Xa(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 rs(o()).to(a,i).easing(Zo.Quadratic.Out).onUpdate(s).onComplete(function(){e.tweenGroup.remove(this)}).start()):s(a),this}return o();function o(){var n=Xa(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 rs({k:i()}).to({k:n},r).easing(Zo.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 Xa(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=V(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:[po(a,function(e){return e.x-e.r}),fo(a,function(e){return e.x+e.r})],y:[po(a,function(e){return e.y-e.r}),fo(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:[]})}},Mf),stateInit:function(){return{lastSetZoom:1,zoom:ao(),forceGraph:new wf,shadowGraph:new wf().cooldownTicks(0).nodeColor(`__indexColor`).linkColor(`__indexColor`).isShadow(!0),colorTracker:new Cc,tweenGroup:new $o}},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};z(n.canvas).call(Yn().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=Xa(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&&Of>=Math.sqrt(mo([`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=z(n.canvas)),n.zoom.__baseElem.on(`dblclick.zoom`,null),n.zoom.filter(function(e){return!e.button&&n.enableZoomPanInteraction&&(e.type!==`wheel`||V(n.enableZoomInteraction)(e))&&(e.type===`wheel`||V(n.enablePanInteraction)(e))}).on(`zoom`,function(e){var i=e.transform;[a,o].forEach(function(e){Pf(e),e.translate(i.x,i.y),e.scale(i.k,i.k)}),n.isPointerDragging=!0,n.onZoom&&n.onZoom(ff(ff({},i),r.centerAt())),n.needsRedraw=!0}).on(`end`,function(e){n.isPointerDragging=!1,n.onZoomEnd&&n.onZoomEnd(ff(ff({},e.transform),r.centerAt()))}),Nf(n),n.forceGraph.onNeedsRedraw(function(){return n.needsRedraw=!0}).onFinishUpdate(function(){Xa(n.canvas).k===n.lastSetZoom&&n.graphData.nodes.length&&(n.zoom.scaleTo(n.zoom.__baseElem,n.lastSetZoom=Df/Math.cbrt(n.graphData.nodes.length)),n.needsRedraw=!0)}),n.tooltip=new Ml(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=Xo(function(){Ff(o,n.width,n.height),n.shadowGraph.linkWidth(function(e){return V(n.linkWidth)(e)+n.linkHoverPrecision});var e=Xa(n.canvas);n.shadowGraph.globalScale(e.k).tickFrame()},Ef);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&&V(n[`${i.type.toLowerCase()}Label`])(i.d)||null),n.canvas.classList[(i&&n[`on${u}Click`]||!i&&n.onBackgroundClick)&&V(n.showPointerCursor)(i?.d)?`add`:`remove`](`clickable`),n.hoverObj=i}r&&l()}if(r){Ff(a,n.width,n.height);var p=Xa(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){}}),Lf=o(((e,n)=>{n.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),Rf=o(((e,n)=>{var r=Lf();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}})),$=r(o(((e,n)=>{n.exports=Rf()()}))(),1),zf={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},Bf={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},Vf={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])},Hf=Object.assign({},zf,Bf,{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({},zf,Bf,Vf,{enableNavigationControls:$.default.bool,controlType:$.default.oneOf([`trackball`,`orbit`,`fly`]),rendererConfig:$.default.object,extraRenderers:$.default.arrayOf($.default.shape({render:$.default.func.isRequired}))}),Object.assign({},zf,Vf,{nodeDesc:$.default.oneOfType([$.default.string,$.default.func]),linkDesc:$.default.oneOfType([$.default.string,$.default.func])}),Object.assign({},zf,Vf,{markerAttrs:$.default.object,yOffset:$.default.number,glScale:$.default.number});var Uf=Pe(If,{methodNames:[`emitParticle`,`d3Force`,`d3ReheatSimulation`,`stopAnimation`,`pauseAnimation`,`resumeAnimation`,`centerAt`,`zoom`,`zoomToFit`,`getGraphBbox`,`screen2GraphCoords`,`graph2ScreenCoords`]});Uf.displayName=`ForceGraph2D`,Uf.propTypes=Hf;var Wf=/(?:\s+[—–|]\s+|:\s+)/;function Gf(e){let n=new Map;for(let r of e){let e=ep(r.label||r.id),i=Xf(e),a=Qf(r.kind===`doc`?r.docName??r.id:r.url??r.id),o=Zf(i),s=o?Qf(i):i,c=o?[]:Yf(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 Kf(e,n,r){if(!e)return``;let i=e=>r(e)<=n;for(let n of tp([e.primaryLabel,e.topicLabel]))if(i(n))return n;for(let i of tp([e.topicLabel,e.primaryLabel])){let e=qf(i,n,r);if(e)return e}if(e.leadLabel&&i(e.leadLabel))return e.leadLabel;if(e.leadLabel){let i=qf(e.leadLabel,n,r);if(i)return i}return i(e.pathLabel)?e.pathLabel:qf(e.pathLabel,n,r)||e.pathLabel}function qf(e,n,r){if(!e)return``;if(r(e)<=n)return e;let i=e.split(/\s+/).filter(Boolean),a=tp([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 Jf(e,n,r)}function Jf(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 Yf(e){return ep(e).split(Wf).map(e=>ep(e)).filter(Boolean)}function Xf(e){let n=ep(e);for(;;){let e=n.replace(/\s*\([^()]*\)\s*$/,``).trim();if(!e||e===n)return n;n=e}}function Zf(e){let n=(e.match(/\//g)??[]).length,r=(e.match(/\s/g)??[]).length;return n>0&&(r===0||n*3>r)}function Qf(e){let n=e.split(`/`).map(e=>e.trim()).filter(Boolean);return n.length===0?e:n.length===1?$f(n[0]):n.slice(-2).map($f).join(` / `)}function $f(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 ep(e){return e.replace(/\s+/g,` `).trim()}function tp(e){let n=new Set;for(let r of e)r&&n.add(r);return[...n]}var np=8,rp=10,ip=4,ap=6,op=4,sp=rp+op*2,cp=2,lp=.001;function up(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=dp(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=Kf(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(pp);let _=[],v=[];for(let e=0;e<g.length&&!(_.length>=o);e+=1){let n=g[e],r=mp(n,{priority:g.length-e,viewport:a,acceptedRects:v,positionedNodes:h});r&&(_.push(r),v.push(r.rect))}return _}function dp(e){let n=new Map;for(let r of e){let e=fp(r.source),i=fp(r.target);e&&n.set(e,(n.get(e)??0)+1),i&&n.set(i,(n.get(i)??0)+1)}return n}function fp(e){return typeof e==`string`?e:typeof e?.id==`string`?e.id:typeof e?.id==`number`?String(e.id):null}function pp(e,n){return e.isActive===n.isActive?Math.abs(e.distanceToCenterPx-n.distanceToCenterPx)>lp?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 mp(e,{priority:n,viewport:r,acceptedRects:i,positionedNodes:a}){for(let o of[`bottom`,`top`,`right`,`left`]){let s=hp(e,o,n);if(gp(s.rect,r)&&!i.some(e=>_p(e,s.rect))&&!a.some(n=>n.node.id!==e.node.id&&vp(s.rect,{x:n.screenX,y:n.screenY,radius:n.radiusPx+cp})))return s}return null}function hp(e,n,r){let i=e.textWidthPx+ap*2,a=i/2,o=sp/2,s=e.screenX-a,c=e.screenY+e.radiusPx+ip;return n===`top`?c=e.screenY-e.radiusPx-ip-sp:n===`right`?(s=e.screenX+e.radiusPx+ip,c=e.screenY-o):n===`left`&&(s=e.screenX-e.radiusPx-ip-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+sp},textX:s+a,textY:c+op}}function gp(e,n){return e.left>=np&&e.top>=np&&e.right<=n.width-np&&e.bottom<=n.height-np}function _p(e,n){return!(e.right<=n.left||e.left>=n.right||e.bottom<=n.top||e.top>=n.bottom)}function vp(e,n){let r=yp(n.x,e.left,e.right),i=yp(n.y,e.top,e.bottom);return Math.hypot(n.x-r,n.y-i)<n.radius}function yp(e,n,r){return Math.min(r,Math.max(n,e))}var bp=5,xp=7,Sp=8;function Cp(e){if(e.kind===`external`)return e.url;let n=e.label??e.id;if(!(e.cluster||e.category||e.tags&&e.tags.length>0))return n;let r=[`<div style="font-weight:600;font-size:14px;color:#f1f5f9;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgba(148,163,184,0.3)">${wp(n)}</div>`];return e.cluster&&r.push(`<div style="font-size:12.5px;color:#f1f5f9;margin-bottom:2px"><span style="color:#cbd5e1">cluster:</span> ${wp(e.cluster)}</div>`),e.category&&r.push(`<div style="font-size:12.5px;color:#f1f5f9;margin-bottom:2px"><span style="color:#cbd5e1">category:</span> ${wp(e.category)}</div>`),e.tags&&e.tags.length>0&&r.push(`<div style="font-size:12.5px;color:#f1f5f9"><span style="color:#cbd5e1">tags:</span> ${e.tags.map(wp).join(`, `)}</div>`),r.join(``)}function wp(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}function Tp(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 Ep(e){return e===`active`||e===`active-selected`?Sp:e===`selected`||e===`external-selected`?xp:bp}function Dp(e,n){let r=Ep(e);return e===`active`||e===`selected`||e===`active-selected`||e===`external-selected`?r+2/Math.max(n,.01):r}function Op(e){return u(e.docName,e.anchor)}function kp(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:Op({docName:e.docName,label:e.label,anchor:e.anchor??null})}}var Ap=350,jp=120,Mp=18,Np=28,Pp=5;function Fp({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 Ip({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)>=Np}function Lp({fg:e,nodes:n,activeDocName:r,zoom:i,focusKey:a,focusState:o,force:s=!1,durationMs:c=Ap}){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<jp)return u;let d=Fp({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<Mp&&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 Rp({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 zp({node:e,fg:n,activeDocName:r,selectedNodeId:i,globalScale:a}){if(typeof e.x!=`number`||typeof e.y!=`number`)return null;let o=Tp(e,{activeDocName:r,selectedNodeId:i}),s=n.graph2ScreenCoords(e.x,e.y);return{x:s.x,y:s.y,radiusPx:Dp(o,a)*a,state:o}}function Bp({clientX:e,clientY:n,container:r}){let i=r.getBoundingClientRect();return{x:e-i.left,y:n-i.top}}function Vp({point:e,fg:n,nodes:r,activeDocName:i,selectedNodeId:a}){let o=n.zoom(),s=null;for(let c of r){let r=zp({node:c,fg:n,activeDocName:i,selectedNodeId:a,globalScale:o});if(!r)continue;let l=Math.hypot(e.x-r.x,e.y-r.y);l>r.radiusPx||s!==null&&l>=s.distance||(s={node:c,distance:l})}return s?.node??null}function Hp(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 Up({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 Wp({point:e,fg:n,links:r}){return r.some(r=>{let i=Hp(r.source,n),a=Hp(r.target,n);return!i||!a?!1:Up({point:e,start:i,end:a})<=6})}function Gp({node:e,docClickBehavior:n,onSelectNode:r}){let i=kp(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 Kp({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}Gp({node:e.node,docClickBehavior:n,onSelectNode:i})}function qp(e){let n=(0,se.c)(113),{activeDocName:r,selectedNodeId:a,isFullscreen:o,showUrlNodes:s,className:c,docClickBehavior:d,onSelectNode:f,onBackgroundClick:m,onStatsChange:h,onClustersChange:g}=e,_=a===void 0?null:a,v=o===void 0?!1:o,y=s===void 0?!0:s,b=c===void 0?``:c,S=d===void 0?`navigate`:d,C;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(C={nodes:[],links:[]},n[0]=C):C=n[0];let[w,T]=(0,D.useState)(C),E;n[1]===Symbol.for(`react.memo_cache_sentinel`)?(E={nodes:``,links:``},n[1]=E):E=n[1];let[te,ne]=(0,D.useState)(E),re;n[2]===Symbol.for(`react.memo_cache_sentinel`)?(re={nodes:``,links:``},n[2]=re):re=n[2];let ie=(0,D.useRef)(re),[ae,oe]=(0,D.useState)(!0),[ce,le]=(0,D.useState)(null),ue=(0,D.useRef)(null),fe=(0,D.useRef)(void 0),pe;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(pe={key:``,lastX:null,lastY:null,lastAt:0},n[3]=pe):pe=n[3];let me=(0,D.useRef)(pe),he=(0,D.useRef)(null),ge=(0,D.useRef)(!1),_e;n[4]===Symbol.for(`react.memo_cache_sentinel`)?(_e={width:320,height:400},n[4]=_e):_e=n[4];let[ve,ye]=(0,D.useState)(_e),{resolvedTheme:be}=x(),{folderPaths:k,loading:A,pages:xe}=p(),Se,j;n[5]!==r||n[6]!==v?(Se=()=>{let e=!1,n=async function(){try{let n=new URLSearchParams;!v&&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);if(!a.ok){if(e)return;le(`Server error: ${a.status}`),oe(!1);return}let o=await a.json();if(e)return;if(!o.ok){le(o.error??`Failed to load graph`),oe(!1);return}let s=o.nodes??[],c=o.links??[],l=s.map(em).join(`,`),u=c.map($p).join(`,`);(l!==ie.current.nodes||u!==ie.current.links)&&(ie.current={nodes:l,links:u},ne({nodes:l,links:u}),T({nodes:s,links:c})),le(null),oe(!1)}catch(n){let r=n;if(e)return;le(r instanceof Error?r.message:`Failed to load graph`),oe(!1)}};oe(!0),n();let i=()=>{document.visibilityState===`visible`&&n()};window.addEventListener(`focus`,i),window.addEventListener(`visibilitychange`,i);let a=l(e=>{(e.includes(`files`)||e.includes(`graph`))&&n()});return()=>{e=!0,window.removeEventListener(`focus`,i),window.removeEventListener(`visibilitychange`,i),a()}},j=[r,v],n[5]=r,n[6]=v,n[7]=Se,n[8]=j):(Se=n[7],j=n[8]),(0,D.useEffect)(Se,j);let Ce,we;n[9]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=()=>{let e=ue.current;if(!e)return;let n=new ResizeObserver(e=>{let[n]=e,{width:r,height:i}=n.contentRect;r>0&&i>0&&ye({width:Math.floor(r),height:Math.floor(i)})});return n.observe(e),()=>n.disconnect()},we=[],n[9]=Ce,n[10]=we):(Ce=n[9],we=n[10]),(0,D.useEffect)(Ce,we);let M=be===`dark`,Te=M?`hsl(0 0% 4%)`:`hsl(0 0% 100%)`,Ee=M?`#6b7280`:`#9ca3af`,De=M?`#69a3ff`:`#3784ff`,Oe=M?`#34d399`:`#059669`,ke=M?`#c084fc`:`#7c3aed`,Ae=M?`#f59e0b`:`#c2410c`,je=M?`#a78bfa`:`#7c3aed`,Me=M?`rgba(75,85,99,0.6)`:`rgba(209,213,219,0.8)`,Ne=M?`#f3f4f6`:`#111827`,Pe=M?`rgba(105,163,255,0.45)`:`rgba(55,132,255,0.3)`,Fe=M?`rgba(167,139,250,0.38)`:`rgba(124,58,237,0.22)`,Ie=M?`rgba(52,211,153,0.5)`:`rgba(5,150,105,0.3)`,Le=M?`rgba(192,132,252,0.5)`:`rgba(124,58,237,0.35)`,Re=M?`rgba(3,7,18,0.92)`:`rgba(255,255,255,0.94)`,ze=M?`rgba(243,244,246,0.08)`:`rgba(17,24,39,0.08)`,N=v?1.6:2.35,Be=v?220:150,P=v?10:18,F,I,Ve;n[11]!==w.links||n[12]!==w.nodes||n[13]!==y?(I=y?null:new Set(w.nodes.filter(Qp).map(Zp)),F=I?w.nodes.filter(Xp):w.nodes,Ve=I?w.links.filter(e=>{let n=e.source,r=e.target,i=typeof n==`string`?n:typeof n==`object`&&n&&`id`in n?String(n.id):``,a=typeof r==`string`?r:typeof r==`object`&&r&&`id`in r?String(r.id):``;return!I.has(i)&&!I.has(a)}):w.links,n[11]=w.links,n[12]=w.nodes,n[13]=y,n[14]=F,n[15]=I,n[16]=Ve):(F=n[14],I=n[15],Ve=n[16]);let He=Ve,Ue;n[17]!==He||n[18]!==F||n[19]!==I||n[20]!==w?(Ue=I?{nodes:F,links:He}:w,n[17]=He,n[18]=F,n[19]=I,n[20]=w,n[21]=Ue):Ue=n[21];let L=Ue,We=L.nodes,Ge=L.links,Ke;n[22]===L.nodes?Ke=n[23]:(Ke=Gf(L.nodes),n[22]=L.nodes,n[23]=Ke);let qe=Ke,Je=`${r}|${N}|${te.nodes}|${te.links}`,Ye;if(n[24]!==k||n[25]!==w.nodes||n[26]!==A||n[27]!==xe){let e;n[29]!==k||n[30]!==A||n[31]!==xe?(e=e=>{if(e.kind!==`doc`)return[];let n=A?{displayState:`doc`,hashDocName:e.docName}:ee(e.docName,{pages:xe,folderPaths:k});return[[e.id,n]]},n[29]=k,n[30]=A,n[31]=xe,n[32]=e):e=n[32],Ye=new Map(w.nodes.flatMap(e)),n[24]=k,n[25]=w.nodes,n[26]=A,n[27]=xe,n[28]=Ye}else Ye=n[28];let Xe=Ye,Ze;n[33]!==L.links||n[34]!==L.nodes||n[35]!==ae||n[36]!==h?(Ze=()=>{h?.(L.nodes.length,L.links.length,ae)},n[33]=L.links,n[34]=L.nodes,n[35]=ae,n[36]=h,n[37]=Ze):Ze=n[37];let Qe;n[38]!==L||n[39]!==ae||n[40]!==h?(Qe=[L,ae,h],n[38]=L,n[39]=ae,n[40]=h,n[41]=Qe):Qe=n[41],(0,D.useEffect)(Ze,Qe);let $e;n[42]!==w.nodes||n[43]!==g?($e=()=>{if(!g)return;let e=new Set;for(let n of w.nodes)n.kind===`doc`&&n.cluster&&e.add(n.cluster);g(Array.from(e).sort())},n[42]=w.nodes,n[43]=g,n[44]=$e):$e=n[44];let et;n[45]!==w||n[46]!==g?(et=[w,g],n[45]=w,n[46]=g,n[47]=et):et=n[47],(0,D.useEffect)($e,et);let tt,nt;n[48]!==r||n[49]!==Je||n[50]!==N||n[51]!==w.nodes?(tt=()=>{me.current={key:Je,lastX:null,lastY:null,lastAt:0};let e=window.requestAnimationFrame(()=>{me.current=Lp({fg:fe.current,nodes:w.nodes,activeDocName:r,zoom:N,focusKey:Je,focusState:me.current,force:!0})});return()=>window.cancelAnimationFrame(e)},nt=[Je,r,N,w.nodes],n[48]=r,n[49]=Je,n[50]=N,n[51]=w.nodes,n[52]=tt,n[53]=nt):(tt=n[52],nt=n[53]),(0,D.useEffect)(tt,nt);let rt,it;n[54]!==r||n[55]!==L.links||n[56]!==L.nodes||n[57]!==S||n[58]!==m||n[59]!==f||n[60]!==_?(rt=()=>{},it=[r,S,L.links,L.nodes,m,f,_],n[54]=r,n[55]=L.links,n[56]=L.nodes,n[57]=S,n[58]=m,n[59]=f,n[60]=_,n[61]=rt,n[62]=it):(rt=n[61],it=n[62]),(0,D.useEffect)(rt,it);let at;n[63]===b?at=n[64]:(at=i(`h-full min-h-0 overflow-hidden`,b),n[63]=b,n[64]=at);let ot;n[65]===Symbol.for(`react.memo_cache_sentinel`)?(ot=()=>{he.current=null},n[65]=ot):ot=n[65];let st;n[66]!==r||n[67]!==L.links||n[68]!==L.nodes||n[69]!==_?(st=e=>{if(!e.isPrimary||e.button!==0){he.current=null;return}he.current={pointerId:e.pointerId,clientX:e.clientX,clientY:e.clientY,target:(()=>{let n=ue.current,i=fe.current;if(!n||!i)return{kind:`background`};let a=Bp({clientX:e.clientX,clientY:e.clientY,container:n}),o=Vp({point:a,fg:i,nodes:L.nodes,activeDocName:r,selectedNodeId:_});return o?{kind:`node`,node:o}:Wp({point:a,fg:i,links:L.links})?{kind:`link`}:{kind:`background`}})()}},n[66]=r,n[67]=L.links,n[68]=L.nodes,n[69]=_,n[70]=st):st=n[70];let ct;n[71]!==S||n[72]!==m||n[73]!==f||n[74]!==_?(ct=e=>{if(!e.isPrimary||e.button!==0){he.current=null;return}let n=he.current;he.current=null,!(!n||n.pointerId!==e.pointerId)&&(Math.hypot(e.clientX-n.clientX,e.clientY-n.clientY)>Pp||Kp({target:n.target,docClickBehavior:S,selectedNodeId:_,onSelectNode:f,onBackgroundClick:m}))},n[71]=S,n[72]=m,n[73]=f,n[74]=_,n[75]=ct):ct=n[75];let lt;n[76]!==r||n[77]!==De||n[78]!==Pe||n[79]!==ke||n[80]!==Le||n[81]!==Te||n[82]!==Ee||n[83]!==ve||n[84]!==L||n[85]!==Me||n[86]!==ce||n[87]!==Ae||n[88]!==Je||n[89]!==N||n[90]!==je||n[91]!==Fe||n[92]!==w.nodes||n[93]!==M||n[94]!==ze||n[95]!==Re||n[96]!==Ne||n[97]!==qe||n[98]!==Ge||n[99]!==We||n[100]!==ae||n[101]!==Be||n[102]!==P||n[103]!==Xe||n[104]!==Oe||n[105]!==_||n[106]!==Ie?(lt=ce?(0,O.jsx)(`p`,{className:`p-4 text-sm text-destructive`,children:ce}):L.nodes.length===0&&!ae?(0,O.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,O.jsx)(`div`,{className:`h-full min-h-0`,role:`img`,"aria-label":`Graph visualization of document links`,children:(0,O.jsx)(Uf,{ref:fe,graphData:L,cooldownTicks:150,onEngineTick:()=>{ge.current=!1,me.current=Lp({fg:fe.current,nodes:w.nodes,activeDocName:r,zoom:N,focusKey:Je,focusState:me.current})},onEngineStop:()=>{ge.current=!0;let e=Fp({nodes:w.nodes,activeDocName:r});Ip({fg:fe.current,coords:e,dimensions:ve})&&(me.current=Lp({fg:fe.current,nodes:w.nodes,activeDocName:r,zoom:N,focusKey:Je,focusState:me.current,force:!0}))},width:ve.width,height:ve.height,backgroundColor:Te,nodeId:`id`,nodeLabel:e=>{let n=Cp(e);return e.kind===`doc`&&Xe.get(e.id)?.displayState===`folder`?`Folder: ${n}`:n},nodeRelSize:4,nodeVal:e=>{let n=Tp(e,{activeDocName:r,selectedNodeId:_});return n===`active-selected`?20:n===`active`?18:n===`selected`||n===`external-selected`?12:6},nodeCanvasObjectMode:Yp,nodeCanvasObject:(e,n,i)=>{if(typeof e.x!=`number`||typeof e.y!=`number`)return;let a=Tp(e,{activeDocName:r,selectedNodeId:_}),o=e.kind===`doc`&&Xe.get(e.id)?.displayState===`folder`,s=Ep(a),c=Dp(a,i),l=e.kind===`doc`?e.cluster:void 0,u=l?de(l,M):Ee;n.beginPath(),n.arc(e.x,e.y,s,0,2*Math.PI,!1),n.fillStyle=a===`active`?De:a===`selected`?Oe:a===`active-selected`?ke:a===`external`||a===`external-selected`?Ae:o?je:u,n.fill(),c>s?(n.beginPath(),n.arc(e.x,e.y,c,0,2*Math.PI,!1),n.strokeStyle=a===`active`?Pe:a===`selected`||a===`external-selected`?Ie:Le,n.lineWidth=2/i,n.stroke()):o&&(n.beginPath(),n.arc(e.x,e.y,s+2/i,0,2*Math.PI,!1),n.strokeStyle=Fe,n.lineWidth=1.5/i,n.stroke())},nodePointerAreaPaint:(e,n,i,a)=>{if(typeof e.x!=`number`||typeof e.y!=`number`)return;let o=Tp(e,{activeDocName:r,selectedNodeId:_});i.beginPath(),i.arc(e.x,e.y,Dp(o,a),0,2*Math.PI,!1),i.fillStyle=n,i.fill()},onRenderFramePost:(e,n)=>{if(n<1.8)return;let i=fe.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`,Rp({ctx:e,placements:up({nodes:We,links:Ge,activeDocName:r,viewport:ve,maxLabels:P,maxLabelWidthPx:Be,labelDescriptors:qe,measureTextWidthPx:n=>e.measureText(n).width,projectToScreen:(e,n)=>i.graph2ScreenCoords(e,n),getNodeRadiusPx:e=>Dp(Tp(e,{activeDocName:r,selectedNodeId:_}),n)*n+4}),labelColor:Ne,chipColor:Re,chipBorderColor:ze}),e.restore()},linkColor:()=>Me,linkDirectionalArrowLength:3,linkDirectionalArrowRelPos:1,linkWidth:1,showPointerCursor:Jp,onNodeClick:e=>{if(e.kind===`external`){window.open(e.url,`_blank`,`noopener,noreferrer`);return}if(e.docName){let n=Xe.get(e.id);window.location.assign(u(n?.hashDocName??e.docName,e.anchor??null))}}})}),n[76]=r,n[77]=De,n[78]=Pe,n[79]=ke,n[80]=Le,n[81]=Te,n[82]=Ee,n[83]=ve,n[84]=L,n[85]=Me,n[86]=ce,n[87]=Ae,n[88]=Je,n[89]=N,n[90]=je,n[91]=Fe,n[92]=w.nodes,n[93]=M,n[94]=ze,n[95]=Re,n[96]=Ne,n[97]=qe,n[98]=Ge,n[99]=We,n[100]=ae,n[101]=Be,n[102]=P,n[103]=Xe,n[104]=Oe,n[105]=_,n[106]=Ie,n[107]=lt):lt=n[107];let ut;return n[108]!==at||n[109]!==st||n[110]!==ct||n[111]!==lt?(ut=(0,O.jsx)(`div`,{ref:ue,className:at,onPointerCancel:ot,onPointerDownCapture:st,onPointerUpCapture:ct,children:lt}),n[108]=at,n[109]=st,n[110]=ct,n[111]=lt,n[112]=ut):ut=n[112],ut}function Jp(e){return!!(e&&`kind`in e)}function Yp(){return`replace`}function Xp(e){return e.kind!==`external`}function Zp(e){return e.id}function Qp(e){return e.kind===`external`}function $p(e){return`${e.source}>${e.target}`}function em(e){return`${e.id}:${e.label}`}var tm=50,nm=`ok-graph-docked-url-nodes-v1`,rm=`ok-graph-fullscreen-url-nodes-v1`;function im(e){if(typeof window>`u`)return!1;try{return window.localStorage.getItem(e)===`true`}catch{return!1}}function am(e,n){if(!(typeof window>`u`))try{n?window.localStorage.setItem(e,`true`):window.localStorage.removeItem(e)}catch{}}var om={explore:`Explore`,orphans:`Orphans`,hubs:`Hubs`},sm={incoming:`No Incoming`,outgoing:`No Outgoing`,both:`Both`};async function cm(e){let n=await fetch(`/api/orphans?mode=${encodeURIComponent(e)}`);if(!n.ok)throw Error(`Server error: ${n.status} ${n.statusText}`);let r=await n.json();if(!r.ok)throw Error(r.error??`Failed to load orphan pages`);return r.orphans??[]}async function lm(e){let n=await fetch(`/api/hubs?limit=${encodeURIComponent(String(e))}`);if(!n.ok)throw Error(`Server error: ${n.status} ${n.statusText}`);let r=await n.json();if(!r.ok)throw Error(r.error??`Failed to load hub pages`);return r.hubs??[]}function um(e){window.location.assign(u(e))}async function dm(){if(bm())try{await(document.exitFullscreen?.()??document.webkitExitFullscreen?.())}catch{}}function fm(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 pm(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 mm(e){let r=(0,se.c)(29),{mode:i,onModeChange:a}=e,o;r[0]===i?o=r[1]:(o={queryKey:[`orphans`,i],queryFn:()=>cm(i)},r[0]=i,r[1]=o);let{data:c,isLoading:l,error:u}=S(o),d;r[2]===c?d=r[3]:(d=c===void 0?[]:c,r[2]=c,r[3]=d);let p=d,m;r[4]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,O.jsx)(`p`,{className:`text-sm font-medium`,children:`Project-level disconnected pages`}),r[4]=m):m=r[4];let g;r[5]===i?g=r[6]:(g=fm(i),r[5]=i,r[6]=g);let v;r[7]===g?v=r[8]:(v=(0,O.jsxs)(`div`,{className:`space-y-1`,children:[m,(0,O.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:g})]}),r[7]=g,r[8]=v);let y;r[9]===a?y=r[10]:(y=e=>{e&&_(e)&&a(e)},r[9]=a,r[10]=y);let b;r[11]===Symbol.for(`react.memo_cache_sentinel`)?(b=n.map(gm),r[11]=b):b=r[11];let x;r[12]!==i||r[13]!==y?(x=(0,O.jsx)(ne,{type:`single`,size:`sm`,variant:`outline`,value:i,"aria-label":`Orphan mode`,onValueChange:y,children:b}),r[12]=i,r[13]=y,r[14]=x):x=r[14];let C;r[15]!==v||r[16]!==x?(C=(0,O.jsx)(`div`,{className:`border-b border-border/60 px-4 py-3`,children:(0,O.jsxs)(`div`,{className:`flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between`,children:[v,x]})}),r[15]=v,r[16]=x,r[17]=C):C=r[17];let w;r[18]!==u||r[19]!==l||r[20]!==i||r[21]!==p?(w=u?(0,O.jsx)(s,{children:u instanceof Error?u.message:`Failed to load orphan pages`}):p.length===0&&!l?(0,O.jsx)(f,{children:pm(i)}):(0,O.jsx)(`div`,{className:`flex flex-col gap-2`,children:p.map(hm)}),r[18]=u,r[19]=l,r[20]=i,r[21]=p,r[22]=w):w=r[22];let T;r[23]!==l||r[24]!==w?(T=(0,O.jsx)(h,{"aria-busy":l,children:w}),r[23]=l,r[24]=w,r[25]=T):T=r[25];let E;return r[26]!==C||r[27]!==T?(E=(0,O.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[C,T]}),r[26]=C,r[27]=T,r[28]=E):E=r[28],E}function hm(e){return(0,O.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:()=>um(e.docName),children:[(0,O.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.title}),(0,O.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.docName})]},e.docName)}function gm(e){return(0,O.jsx)(E,{value:e,children:sm[e]},e)}function _m(){let e=(0,se.c)(11),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:[`hubs`,tm],queryFn:ym},e[0]=n):n=e[0];let{data:r,isLoading:i,error:a}=S(n),o;e[1]===r?o=e[2]:(o=r===void 0?[]:r,e[1]=r,e[2]=o);let c=o,l;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,O.jsx)(`div`,{className:`border-b border-border/60 px-4 py-3`,children:(0,O.jsxs)(`div`,{className:`space-y-1`,children:[(0,O.jsx)(`p`,{className:`text-sm font-medium`,children:`Top linked pages`}),(0,O.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Project-level pages ordered by inbound link count, up to `,tm,` results.`]})]})}),e[3]=l):l=e[3];let u;e[4]!==a||e[5]!==c||e[6]!==i?(u=a?(0,O.jsx)(s,{children:a instanceof Error?a.message:`Failed to load hub pages`}):c.length===0&&!i?(0,O.jsx)(f,{children:`No hub pages yet. Hubs appear once pages accumulate inbound graph links.`}):(0,O.jsx)(`div`,{className:`flex flex-col gap-2`,children:c.map(vm)}),e[4]=a,e[5]=c,e[6]=i,e[7]=u):u=e[7];let d;return e[8]!==i||e[9]!==u?(d=(0,O.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[l,(0,O.jsx)(h,{"aria-busy":i,children:u})]}),e[8]=i,e[9]=u,e[10]=d):d=e[10],d}function vm(e){return(0,O.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:()=>um(e.docName),children:(0,O.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,O.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,O.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.title}),(0,O.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.docName})]}),(0,O.jsx)(`span`,{className:`rounded-md bg-muted px-2 py-1 text-xs font-mono text-muted-foreground`,children:e.count})]})},e.docName)}function ym(){return lm(tm)}function bm(){return document.fullscreenElement??document.webkitFullscreenElement??null}async function xm(e){if(e)try{bm()?await dm():await(e.requestFullscreen?.()??e.webkitRequestFullscreen?.())}catch{}}function Sm(e){let n=(0,se.c)(86),{activeDocName:r}=e,i=(0,D.useRef)(null),[a,o]=(0,D.useState)(!1),[s,l]=(0,D.useState)(`explore`),[u,d]=(0,D.useState)(`both`),[f,p]=(0,D.useState)(null),[m,h]=(0,D.useState)(null),_;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(_=[],n[0]=_):_=n[0];let[x,S]=(0,D.useState)(_),[E,ee]=(0,D.useState)(Em),[ce,le]=(0,D.useState)(Tm),ue,de;n[1]===Symbol.for(`react.memo_cache_sentinel`)?(ue=()=>{let e=()=>o(bm()===i.current);return document.addEventListener(`fullscreenchange`,e),document.addEventListener(`webkitfullscreenchange`,e),()=>{document.removeEventListener(`fullscreenchange`,e),document.removeEventListener(`webkitfullscreenchange`,e)}},de=[],n[1]=ue,n[2]=de):(ue=n[1],de=n[2]),(0,D.useEffect)(ue,de);let fe,me;n[3]===E?(fe=n[4],me=n[5]):(fe=()=>{am(nm,E)},me=[E],n[3]=E,n[4]=fe,n[5]=me),(0,D.useEffect)(fe,me);let he,ge;n[6]===ce?(he=n[7],ge=n[8]):(he=()=>{am(rm,ce)},ge=[ce],n[6]=ce,n[7]=he,n[8]=ge),(0,D.useEffect)(he,ge);let _e,ve;n[9]!==a||n[10]!==f?(_e=()=>{!a&&f!==null&&p(null)},ve=[a,f],n[9]=a,n[10]=f,n[11]=_e,n[12]=ve):(_e=n[11],ve=n[12]),(0,D.useEffect)(_e,ve);let ye,be;n[13]!==s||n[14]!==f?(ye=()=>{s!==`explore`&&f!==null&&p(null)},be=[s,f],n[13]=s,n[14]=f,n[15]=ye,n[16]=be):(ye=n[15],be=n[16]),(0,D.useEffect)(ye,be);let k=a?s:`explore`,A=a?ce:E,xe=a?le:ee,Se;n[17]!==r||n[18]!==f?(Se=f===null?null:f.kind===`doc`&&f.docName===r?{eyebrow:`Already open`,description:`This document is already active in the editor. Use Open to leave fullscreen.`,Icon:w,actionLabel:`Open`,secondaryLabel:f.docName,onAction:()=>{let e=Op(f);(async()=>{await dm(),window.location.assign(e)})()}}:f.kind===`doc`?{eyebrow:`Selected in graph`,description:`Open this document in the editor and leave fullscreen.`,Icon:re,actionLabel:`Open`,secondaryLabel:f.docName,onAction:()=>{let e=Op(f);(async()=>{await dm(),window.location.assign(e)})()}}:{eyebrow:`Selected in graph`,description:`Open this link in a new tab and leave fullscreen.`,Icon:re,actionLabel:`Open link`,secondaryLabel:f.url,onAction:()=>{window.open(f.url,`_blank`,`noopener,noreferrer`),dm()}},n[17]=r,n[18]=f,n[19]=Se):Se=n[19];let j=Se,Ce=a?`min-h-[100dvh] bg-background`:void 0,we;n[20]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,O.jsx)(y,{children:`Graph`}),n[20]=we):we=n[20];let M;n[21]!==k||n[22]!==m?(M=k===`explore`&&m?(0,O.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,O.jsxs)(v,{children:[m.nodes,` nodes`]}),(0,O.jsxs)(v,{children:[m.links,` links`]})]}):null,n[21]=k,n[22]=m,n[23]=M):M=n[23];let Te;n[24]===M?Te=n[25]:(Te=(0,O.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[we,M]}),n[24]=M,n[25]=Te);let Ee;n[26]!==s||n[27]!==a?(Ee=a?(0,O.jsx)(ne,{type:`single`,size:`sm`,variant:`outline`,value:s,"aria-label":`Fullscreen graph mode`,onValueChange:e=>{(e===`explore`||e===`orphans`||e===`hubs`)&&l(e)},children:Object.entries(om).map(wm)}):null,n[26]=s,n[27]=a,n[28]=Ee):Ee=n[28];let De=A?`Hide external URL nodes`:`Show external URL nodes`,Oe;n[29]===xe?Oe=n[30]:(Oe=()=>xe(Cm),n[29]=xe,n[30]=Oe);let ke=A?`size-4 text-sidebar-accent-foreground`:`size-4 text-muted-foreground`,Ae;n[31]===ke?Ae=n[32]:(Ae=(0,O.jsx)(ie,{className:ke}),n[31]=ke,n[32]=Ae);let je;n[33]!==A||n[34]!==De||n[35]!==Oe||n[36]!==Ae?(je=(0,O.jsx)(te,{asChild:!0,children:(0,O.jsx)(c,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-foreground hover:bg-accent`,"aria-label":De,"aria-pressed":A,onClick:Oe,children:Ae})}),n[33]=A,n[34]=De,n[35]=Oe,n[36]=Ae,n[37]=je):je=n[37];let Me=a?`z-[9999]`:void 0,Ne=A?`Hide external URL nodes`:`Show external URL nodes`,Pe;n[38]!==Me||n[39]!==Ne?(Pe=(0,O.jsx)(C,{side:`bottom`,sideOffset:8,className:Me,children:Ne}),n[38]=Me,n[39]=Ne,n[40]=Pe):Pe=n[40];let Fe;n[41]!==je||n[42]!==Pe?(Fe=(0,O.jsxs)(T,{delayDuration:0,children:[je,Pe]}),n[41]=je,n[42]=Pe,n[43]=Fe):Fe=n[43];let Ie=a?`Exit fullscreen`:`Full screen`,Le;n[44]===Symbol.for(`react.memo_cache_sentinel`)?(Le=()=>void xm(i.current),n[44]=Le):Le=n[44];let Re;n[45]===a?Re=n[46]:(Re=a?(0,O.jsx)(oe,{className:`size-4`}):(0,O.jsx)(ae,{className:`size-4`}),n[45]=a,n[46]=Re);let ze;n[47]!==Ie||n[48]!==Re?(ze=(0,O.jsx)(te,{asChild:!0,children:(0,O.jsx)(c,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-foreground hover:bg-accent`,"aria-label":Ie,onClick:Le,children:Re})}),n[47]=Ie,n[48]=Re,n[49]=ze):ze=n[49];let N=a?`z-[9999]`:void 0,Be=a?`Exit fullscreen`:`Enter fullscreen`,P;n[50]!==N||n[51]!==Be?(P=(0,O.jsx)(C,{side:`bottom`,sideOffset:8,className:N,children:Be}),n[50]=N,n[51]=Be,n[52]=P):P=n[52];let F;n[53]!==ze||n[54]!==P?(F=(0,O.jsxs)(T,{delayDuration:0,children:[ze,P]}),n[53]=ze,n[54]=P,n[55]=F):F=n[55];let I;n[56]!==Fe||n[57]!==F?(I=(0,O.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[Fe,F]}),n[56]=Fe,n[57]=F,n[58]=I):I=n[58];let Ve;n[59]!==Ee||n[60]!==I?(Ve=(0,O.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[Ee,I]}),n[59]=Ee,n[60]=I,n[61]=Ve):Ve=n[61];let He;n[62]!==Te||n[63]!==Ve?(He=(0,O.jsxs)(g,{className:`flex-wrap gap-3`,children:[Te,Ve]}),n[62]=Te,n[63]=Ve,n[64]=He):He=n[64];let Ue;n[65]!==r||n[66]!==k||n[67]!==x||n[68]!==a||n[69]!==f||n[70]!==j||n[71]!==A?(Ue=k===`explore`?(0,O.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,O.jsx)(qp,{activeDocName:r,selectedNodeId:a?f?.id??null:null,isFullscreen:a,showUrlNodes:A,className:`h-full min-h-0`,docClickBehavior:a?`select`:`navigate`,onSelectNode:a?p:void 0,onBackgroundClick:a?()=>{f!==null&&p(null)}:void 0,onStatsChange:(e,n,r)=>{if(r){h(null);return}h({nodes:e,links:n})},onClustersChange:a?S:void 0}),a&&(0,O.jsx)(pe,{clusters:x}),a&&k===`explore`&&f!==null&&j?(0,O.jsx)(`div`,{className:`pointer-events-none absolute inset-x-4 top-4 z-10 flex justify-center`,children:(0,O.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,O.jsx)(j.Icon,{className:`size-4 shrink-0 text-primary`}),(0,O.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,O.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:j.eyebrow}),(0,O.jsx)(`div`,{className:`truncate font-medium text-foreground`,children:f.label}),(0,O.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:j.secondaryLabel}),(0,O.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:j.description})]}),(0,O.jsx)(c,{size:`sm`,className:`shrink-0`,onClick:j.onAction,children:j.actionLabel})]})}):null]}):null,n[65]=r,n[66]=k,n[67]=x,n[68]=a,n[69]=f,n[70]=j,n[71]=A,n[72]=Ue):Ue=n[72];let L;n[73]!==k||n[74]!==a||n[75]!==u?(L=a&&k===`orphans`?(0,O.jsx)(mm,{mode:u,onModeChange:d}):null,n[73]=k,n[74]=a,n[75]=u,n[76]=L):L=n[76];let We;n[77]!==k||n[78]!==a?(We=a&&k===`hubs`?(0,O.jsx)(_m,{}):null,n[77]=k,n[78]=a,n[79]=We):We=n[79];let Ge;return n[80]!==Ce||n[81]!==He||n[82]!==Ue||n[83]!==L||n[84]!==We?(Ge=(0,O.jsxs)(b,{ref:i,className:Ce,children:[He,Ue,L,We]}),n[80]=Ce,n[81]=He,n[82]=Ue,n[83]=L,n[84]=We,n[85]=Ge):Ge=n[85],Ge}function Cm(e){return!e}function wm(e){let[n,r]=e;return(0,O.jsx)(E,{value:n,children:r},n)}function Tm(){return im(rm)}function Em(){return im(nm)}export{Sm as GraphPanel};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-DVEMi7bH.js","assets/dist-B2YW_ZWG.js","assets/panel-DTlG8EiB.js","assets/w3c-keyname-DLDSJn4E.js","assets/dist-CQbn9Fxc.js","assets/dist-X189qk_S.js","assets/dist-Dm75HY2n.js","assets/dist-k7VFO_3K.js","assets/dist-Bx72hMUu.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{Cn as e,Kn as t,Sn as n,T as r,X as i,Y as a,Z as o,hn as s,v as c,vn as l}from"./panel-DTlG8EiB.js";import{A as u,Ct as d,F as f,G as p,I as m,J as h,K as g,L as _,P as v,Q as ee,St as y,Tt as b,_ as te,_t as x,a as S,bt as C,c as ne,d as re,et as ie,f as ae,g as oe,gt as w,h as T,ht as E,kt as D,l as se,m as ce,p as le,pt as ue,q as de,s as fe,t as pe,u as me,v as he,vt as O,wt as ge,xt as k,yt as A}from"./clipboard-CdKkyvy1.js";import{At as _e,Dt as j,Et as ve,N as M,Nt as N,Pt as P,Q as ye,Tt as F,Y as I,Z as L,a as R,bt as z,ft as B,jt as V,lt as be,q as H,wt as xe}from"./dist-B2YW_ZWG.js";var U=t(e(),1),Se=s(),Ce=class e{constructor(e,t){this.yanchor=e,this.yhead=t}toJSON(){return{yanchor:C(this.yanchor),yhead:C(this.yhead)}}static fromJSON(t){return new e(O(t.yanchor),O(t.yhead))}},we=class{constructor(e,t){this.ytext=e,this.awareness=t,this.undoManager=new E(e)}toYPos(e,t=0){return A(this.ytext,e,t)}fromYPos(e){let t=x(O(e),this.ytext.doc);if(t==null||t.type!==this.ytext)throw Error(`[y-codemirror] The position you want to retrieve was created by a different document`);return{pos:t.index,assoc:t.assoc}}toYRange(e){let t=e.assoc;return new Ce(this.toYPos(e.anchor,t),this.toYPos(e.head,t))}fromYRange(e){let t=this.fromYPos(e.yanchor),n=this.fromYPos(e.yhead);return t.pos===n.pos?F.cursor(n.pos,n.assoc):F.range(t.pos,n.pos)}},W=j.define({combine(e){return e[e.length-1]}}),G=z.define(),Te=class{constructor(e){this.view=e,this.conf=e.state.facet(W),this._observer=(t,n)=>{if(n.origin!==this.conf){let n=t.delta,r=[],i=0;for(let e=0;e<n.length;e++){let t=n[e];t.insert==null?t.delete==null?i+=t.retain:(r.push({from:i,to:i+t.delete,insert:``}),i+=t.delete):r.push({from:i,to:i,insert:t.insert})}e.dispatch({changes:r,annotations:[G.of(this.conf)]})}},this._ytext=this.conf.ytext,this._ytext.observe(this._observer)}update(e){if(!e.docChanged||e.transactions.length>0&&e.transactions[0].annotation(G)===this.conf)return;let t=this.conf.ytext;t.doc.transact(()=>{let n=0;e.changes.iterChanges((e,r,i,a,o)=>{let s=o.sliceString(0,o.length,`
|
|
3
|
+
`);e!==r&&t.delete(e+n,r-e),s.length>0&&t.insert(e+n,s),n+=s.length-(r-e)})},this.conf)}destroy(){this._ytext.unobserve(this._observer)}},Ee=L.fromClass(Te),De=I.baseTheme({".cm-ySelection":{},".cm-yLineSelection":{padding:0,margin:`0px 2px 0px 4px`},".cm-ySelectionCaret":{position:`relative`,borderLeft:`1px solid black`,borderRight:`1px solid black`,marginLeft:`-1px`,marginRight:`-1px`,boxSizing:`border-box`,display:`inline`},".cm-ySelectionCaretDot":{borderRadius:`50%`,position:`absolute`,width:`.4em`,height:`.4em`,top:`-.2em`,left:`-.2em`,backgroundColor:`inherit`,transition:`transform .3s ease-in-out`,boxSizing:`border-box`},".cm-ySelectionCaret:hover > .cm-ySelectionCaretDot":{transformOrigin:`bottom center`,transform:`scale(0)`},".cm-ySelectionInfo":{position:`absolute`,top:`-1.05em`,left:`-1px`,fontSize:`.75em`,fontFamily:`serif`,fontStyle:`normal`,fontWeight:`normal`,lineHeight:`normal`,userSelect:`none`,color:`white`,paddingLeft:`2px`,paddingRight:`2px`,zIndex:101,transition:`opacity .3s ease-in-out`,backgroundColor:`inherit`,opacity:0,transitionDelay:`0s`,whiteSpace:`nowrap`},".cm-ySelectionCaret:hover > .cm-ySelectionInfo":{opacity:1,transitionDelay:`0s`}}),Oe=z.define(),ke=class extends ye{constructor(e,t){super(),this.color=e,this.name=t}toDOM(){return k(`span`,[d(`class`,`cm-ySelectionCaret`),d(`style`,`background-color: ${this.color}; border-color: ${this.color}`)],[y(``),k(`div`,[d(`class`,`cm-ySelectionCaretDot`)]),y(``),k(`div`,[d(`class`,`cm-ySelectionInfo`)],[y(this.name)]),y(``)])}eq(e){return e.color===this.color}compare(e){return e.color===this.color}updateDOM(){return!1}get estimatedHeight(){return-1}ignoreEvent(){return!0}},Ae=class{constructor(e){this.conf=e.state.facet(W),this._listener=({added:t,updated:n,removed:r},i,a)=>{t.concat(n).concat(r).findIndex(e=>e!==this.conf.awareness.doc.clientID)>=0&&e.dispatch({annotations:[Oe.of([])]})},this._awareness=this.conf.awareness,this._awareness.on(`change`,this._listener),this.decorations=_e.of([])}destroy(){this._awareness.off(`change`,this._listener)}update(e){let t=this.conf.ytext,n=t.doc,r=this.conf.awareness,i=[],a=this.conf.awareness.getLocalState();if(a!=null){let n=e.view.hasFocus&&e.view.dom.ownerDocument.hasFocus(),i=n?e.state.selection.main:null,o=a.cursor==null?null:O(a.cursor.anchor),s=a.cursor==null?null:O(a.cursor.head);if(i!=null){let e=A(t,i.anchor),n=A(t,i.head);(a.cursor==null||!w(o,e)||!w(s,n))&&r.setLocalStateField(`cursor`,{anchor:e,head:n})}else a.cursor!=null&&n&&r.setLocalStateField(`cursor`,null)}r.getStates().forEach((a,o)=>{if(o===r.doc.clientID)return;let s=a.cursor;if(s==null||s.anchor==null||s.head==null)return;let c=x(s.anchor,n),l=x(s.head,n);if(c==null||l==null||c.type!==t||l.type!==t)return;let{color:u=`#30bced`,name:d=`Anonymous`}=a.user||{},f=a.user&&a.user.colorLight||u+`33`,p=b(c.index,l.index),m=ge(c.index,l.index),h=e.view.state.doc.lineAt(p),g=e.view.state.doc.lineAt(m);if(h.number===g.number)i.push({from:p,to:m,value:H.mark({attributes:{style:`background-color: ${f}`},class:`cm-ySelection`})});else{i.push({from:p,to:h.from+h.length,value:H.mark({attributes:{style:`background-color: ${f}`},class:`cm-ySelection`})}),i.push({from:g.from,to:m,value:H.mark({attributes:{style:`background-color: ${f}`},class:`cm-ySelection`})});for(let t=h.number+1;t<g.number;t++){let n=e.view.state.doc.line(t).from;i.push({from:n,to:n,value:H.line({attributes:{style:`background-color: ${f}`,class:`cm-yLineSelection`}})})}}i.push({from:l.index,to:l.index,value:H.widget({side:l.index-c.index>0?-1:1,block:!1,widget:new ke(u,d)})})}),this.decorations=H.set(i,!0)}},je=L.fromClass(Ae,{decorations:e=>e.decorations}),Me=class{constructor(e){this.undoManager=e}addTrackedOrigin(e){this.undoManager.addTrackedOrigin(e)}removeTrackedOrigin(e){this.undoManager.removeTrackedOrigin(e)}undo(){return this.undoManager.undo()!=null}redo(){return this.undoManager.redo()!=null}},K=j.define({combine(e){return e[e.length-1]}});z.define();var Ne=class{constructor(e){this.view=e,this.conf=e.state.facet(K),this._undoManager=this.conf.undoManager,this.syncConf=e.state.facet(W),this._beforeChangeSelection=null,this._mux=ue(),this._onStackItemAdded=({stackItem:e,changedParentTypes:t})=>{t.has(this.syncConf.ytext)&&this._beforeChangeSelection&&!e.meta.has(this)&&e.meta.set(this,this._beforeChangeSelection)},this._onStackItemPopped=({stackItem:t})=>{let n=t.meta.get(this);if(n){let t=this.syncConf.fromYRange(n);e.dispatch(e.state.update({selection:t,effects:[I.scrollIntoView(t)]})),this._storeSelection()}},this._storeSelection=()=>{this._beforeChangeSelection=this.syncConf.toYRange(this.view.state.selection.main)},this._undoManager.on(`stack-item-added`,this._onStackItemAdded),this._undoManager.on(`stack-item-popped`,this._onStackItemPopped),this._undoManager.addTrackedOrigin(this.syncConf)}update(e){e.selectionSet&&(e.transactions.length===0||e.transactions[0].annotation(G)!==this.syncConf)&&this._storeSelection()}destroy(){this._undoManager.off(`stack-item-added`,this._onStackItemAdded),this._undoManager.off(`stack-item-popped`,this._onStackItemPopped),this._undoManager.removeTrackedOrigin(this.syncConf)}},Pe=L.fromClass(Ne),Fe=({state:e,dispatch:t})=>e.facet(K).undo()||!0,Ie=({state:e,dispatch:t})=>e.facet(K).redo()||!0,Le=(e,t,{undoManager:n=new E(e)}={})=>{let r=new we(e,t),i=[W.of(r),Ee];return t&&i.push(De,je),n!==!1&&i.push(K.of(new Me(n)),Pe,I.domEventHandlers({beforeinput(e,t){return e.inputType===`historyUndo`?Fe(t):e.inputType===`historyRedo`?Ie(t):!1}})),i},Re=[R.of({name:`javascript`,alias:[`js`,`jsx`],extensions:[`js`,`mjs`,`cjs`,`jsx`],load:async()=>ce({jsx:!0})}),R.of({name:`typescript`,alias:[`ts`,`tsx`],extensions:[`ts`,`mts`,`cts`,`tsx`],load:async()=>ce({typescript:!0,jsx:!0})}),R.of({name:`json`,alias:[`jsonc`],extensions:[`json`,`jsonc`],load:()=>D(()=>import(`./dist-DVEMi7bH.js`).then(e=>e.json()),__vite__mapDeps([0,1,2,3,4]))}),R.of({name:`yaml`,alias:[`yml`],extensions:[`yaml`,`yml`],load:()=>D(()=>import(`./dist-X189qk_S.js`).then(e=>e.yaml()),__vite__mapDeps([5,1,2,3,4]))}),R.of({name:`css`,alias:[`scss`,`less`],extensions:[`css`,`scss`,`less`],load:async()=>T()}),R.of({name:`html`,alias:[`htm`],extensions:[`html`,`htm`],load:async()=>le()}),R.of({name:`python`,alias:[`py`],extensions:[`py`,`pyw`],load:()=>D(()=>import(`./dist-Dm75HY2n.js`).then(e=>e.python()),__vite__mapDeps([6,7,1,2,3,4]))}),R.of({name:`rust`,alias:[`rs`],extensions:[`rs`],load:()=>D(()=>import(`./dist-Bx72hMUu.js`).then(e=>e.rust()),__vite__mapDeps([8,1,2,3,4]))}),R.of({name:`markdown`,alias:[`md`,`mdx`],extensions:[`md`,`mdx`,`markdown`],load:async()=>re()}),R.of({name:`bash`,alias:[`sh`,`shell`,`zsh`],extensions:[`sh`,`bash`,`zsh`],load:async()=>{let[{StreamLanguage:e,LanguageSupport:t},{shell:n}]=await Promise.all([D(()=>import(`./dist-B2YW_ZWG.js`).then(e=>e.m),__vite__mapDeps([1,2,3])),D(()=>import(`./shell-COsTRxlr.js`),[])]);return new t(e.define(n))}}),R.of({name:`go`,alias:[`golang`],extensions:[`go`],load:async()=>{let[{StreamLanguage:e,LanguageSupport:t},{go:n}]=await Promise.all([D(()=>import(`./dist-B2YW_ZWG.js`).then(e=>e.m),__vite__mapDeps([1,2,3])),D(()=>import(`./go-IODVg4Ok.js`),[])]);return new t(e.define(n))}})],ze=N.define(),Be=N.define(),Ve=H.line({class:`agent-flash`}),He=P.define({create(){return H.none},update(e,t){e=e.map(t.changes);for(let n of t.effects)if(n.is(ze)){let{from:r,to:i}=n.value,a=[];for(let e=r;e<=i;){let n=t.state.doc.lineAt(e);a.push(Ve.range(n.from)),e=n.to+1}e=e.update({add:a,sort:!0})}else n.is(Be)&&(e=H.none);return e},provide:e=>I.decorations.from(e)});function Ue(e){let t=e.getMap(`agent-flash`);return[He,L.define(e=>{let n=0,r=Date.now(),s=null,c=null,l=!1;function u(){let t=e.state.doc.length;t!==0&&(l||(e.dispatch({effects:ze.of({from:0,to:t})}),c&&clearTimeout(c),c=setTimeout(()=>{c=null,!l&&e.dispatch({effects:Be.of(null)})},a)))}let d=e=>{if(i(t),!o(t,r))return;r=Date.now();let a=Date.now();if(a-n<500){if(!s){let e=500-(a-n);s=setTimeout(()=>{s=null,n=Date.now(),u()},e)}return}n=a,u()};t.observe(d);let f=()=>{document.visibilityState===`visible`?o(t,r)&&(r=Date.now(),n=Date.now(),u()):r=Date.now()};return document.addEventListener(`visibilitychange`,f),{update(e){},destroy(){l=!0,t.unobserve(d),document.removeEventListener(`visibilitychange`,f),s&&=(clearTimeout(s),null),c&&=(clearTimeout(c),null)}}})]}var q=/\[([^\]\n]*)\]\((<[^>\n]+>|[^)\s\n]+)(?:\s+(?:"[^"\n]*"|'[^'\n]*'|\([^)\n]*\)))?\)/g,We=H.mark({class:`cm-md-internal-link`});function Ge(e,t){return t>0&&e[t-1]===`!`}function Ke(e){let t=e[2]??``;return t.startsWith(`<`)&&t.endsWith(`>`)?t.slice(1,-1):t}function qe(e){let t=new V;for(let{from:n,to:r}of e.visibleRanges){let i=e.state.doc.sliceString(n,r);q.lastIndex=0;let a=q.exec(i);for(;a!==null;){let e=Ge(i,a.index)?null:p(Ke(a));e&&e.kind!==`external`&&t.add(n+a.index,n+a.index+a[0].length,We),a=q.exec(i)}}return t.finish()}var Je=L.fromClass(class{decorations;constructor(e){this.decorations=qe(e)}update(e){(e.docChanged||e.viewportChanged)&&(this.decorations=qe(e.view))}},{decorations:e=>e.decorations}),Ye=I.domEventHandlers({mousedown(e,t){if(!e.ctrlKey&&!e.metaKey)return!1;let n=t.posAtCoords({x:e.clientX,y:e.clientY});if(n===null)return!1;let r=t.state.doc.lineAt(n);q.lastIndex=0;let i=q.exec(r.text);for(;i!==null;){let t=r.from+i.index,a=t+i[0].length;if(n>=t&&n<=a){let t=Ge(r.text,i.index)?null:p(Ke(i));if(t&&t.kind!==`external`)return e.preventDefault(),t.kind===`doc`&&h(e)?(de(t),!0):(g(t),!0)}i=q.exec(r.text)}return!1}}),Xe=I.theme({".cm-md-internal-link":{color:`oklch(52.7% 0.154 228.4)`,fontWeight:`500`},".cm-md-internal-link:hover":{textDecoration:`underline`,cursor:`pointer`}});function Ze(){return[Je,Ye,Xe]}var Qe=5e3,J=null,$e=0,et=null,Y=new Map;async function tt(){let e=Date.now();return J&&e-$e<Qe?J:(J=await f(),$e=e,et=ot(J),J)}async function nt(e){let t=Date.now(),n=Y.get(e);if(n!==void 0&&t-n.time<Qe)return n.headings;try{let n=await v(e);return Y.set(e,{headings:n,time:t}),n}catch(n){return console.warn(`[wiki-link-source] /api/page-headings fetch failed:`,n),Y.set(e,{headings:[],time:t}),[]}}var X=/\[\[[^\]]*?\]\]/g,rt=H.mark({class:`cm-wiki-link`}),it=H.mark({class:`cm-wiki-link cm-wiki-link-broken`});function at(e){let t=new Set;for(let n of e)t.add(n.docName.toLowerCase()),n.title&&t.add(n.title.toLowerCase());return t}function ot(e){let t=at(e);for(let n of e){let e=n.docName.split(`/`);e.pop();let r=``;for(let n of e)r=r?`${r}/${n}`:n,t.add(r.toLowerCase())}return t}function st(e){return e.split(/[#|]/)[0].trim().toLowerCase()}function ct(e){let t=new V,n=J?et:null;for(let{from:r,to:i}of e.visibleRanges){let a=e.state.doc.sliceString(r,i);X.lastIndex=0;let o=X.exec(a);for(;o!==null;){let e=rt;if(n){let t=st(o[0].slice(2,-2));t&&!n.has(t)&&(e=it)}t.add(r+o.index,r+o.index+o[0].length,e),o=X.exec(a)}}return t.finish()}var lt=L.fromClass(class{decorations;cacheWarmAtBuild;constructor(e){this.cacheWarmAtBuild=J!==null,this.decorations=ct(e),this.cacheWarmAtBuild||this.warmCache(e)}update(e){let t=J!==null;(e.docChanged||e.viewportChanged||!this.cacheWarmAtBuild&&t)&&(this.cacheWarmAtBuild=t,this.decorations=ct(e.view))}warmCache(e){tt().then(()=>{try{e.dispatch({})}catch{}}).catch(e=>{console.warn(`[wiki-link-source] warmCache fetch failed:`,e)})}},{decorations:e=>e.decorations}),Z=/\[\[([^[\]|#]+?)(?:#([^\]|]+?))?(?:\|([^\]]+?))?\]\]/g,ut=I.domEventHandlers({mousedown(e,t){if(!e.ctrlKey&&!e.metaKey)return!1;let n=t.posAtCoords({x:e.clientX,y:e.clientY});if(n===null)return!1;let r=t.state.doc.lineAt(n);Z.lastIndex=0;let i=Z.exec(r.text);for(;i!==null;){let t=r.from+i.index,a=t+i[0].length;if(n>=t&&n<=a){let t=i[1]?.trim(),n=i[2]?.trim()||null;if(t){let r=c(t,n);if(!r)return!1;e.preventDefault(),r.kind===`external`?window.open(r.url,`_blank`,`noopener,noreferrer`):h(e)?de(r):window.location.hash=r.anchor?`#/${r.docName}?anchor=${encodeURIComponent(r.anchor)}`:`#/${r.docName}`}return!0}i=Z.exec(r.text)}return!1}});async function dt(e){let t=e.state.doc.sliceString(0,e.pos).match(/\[\[([^\]]*)$/);if(!t)return null;let n=t[1],r=e.pos-n.length,i=n.indexOf(`#`);if(i>0){let e=n.slice(0,i),t=n.slice(i+1),a=r+i+1,o=await nt(e);if(!o.length)return null;let s=m(o,t);return s.length?{from:a,filter:!1,options:s.map(e=>({label:e.text,detail:`H${e.level}`,apply(t,n,r,i){let a=t.state.doc.sliceString(i,i+2)===`]]`?``:`]]`;t.dispatch({changes:{from:r,to:i,insert:e.slug+a},selection:{anchor:r+e.slug.length+a.length}})}}))}:null}return{from:r,filter:!1,options:_(await tt().catch(e=>(console.warn(`[wiki-link-source] Failed to fetch pages:`,e),[])),n).map(e=>({label:e.title,detail:e.title===e.docName?void 0:e.docName,apply(t,n,r,i){let a=t.state.doc.sliceString(i,i+2)===`]]`?``:`]]`;t.dispatch({changes:{from:r,to:i,insert:e.docName+a},selection:{anchor:r+e.docName.length+a.length}})}}))}}var ft=I.theme({".cm-wiki-link":{color:`oklch(52.7% 0.154 228.4)`,fontWeight:`500`},".cm-wiki-link:hover":{textDecoration:`underline`,cursor:`pointer`}});function pt(){return[lt,ut,ft,ae.data.of({autocomplete:dt})]}var mt=H.mark({class:`cm-link-ref-broken`}),ht=/^\s{0,3}\[([^\]]+)\]:\s/,gt=/\[([^\]]*)\]\[([^\]]*)\]/g,_t=new Set([`FencedCode`,`CodeBlock`,`InlineCode`]);function Q(e,t){let n=0,r=t.length-1;for(;n<=r;){let i=n+r>>1,a=t[i];if(e<a.from)r=i-1;else if(e>=a.to)n=i+1;else return!0}return!1}function vt(e){let t=[];return M(e).iterate({enter(e){if(_t.has(e.name))return t.push({from:e.from,to:e.to}),!1}}),t.sort((e,t)=>e.from-t.from),t}function $(e){let t=new Set,n=[],r=e.doc,i=vt(e);for(let e=1;e<=r.lines;e++){let n=r.line(e);if(Q(n.from,i))continue;let a=ht.exec(n.text);a&&t.add(a[1].toLowerCase())}for(let e=1;e<=r.lines;e++){let t=r.line(e);if(!Q(t.from,i)&&!ht.test(t.text))for(gt.lastIndex=0;;){let e=gt.exec(t.text);if(!e)break;let r=t.from+e.index;if(Q(r,i))continue;let a=e[2]||e[1];n.push({from:r,to:r+e[0].length,label:a.toLowerCase()})}}let a=[];for(let e of n)t.has(e.label)||a.push(mt.range(e.from,e.to));return a.sort((e,t)=>e.from-t.from),H.set(a)}var yt=P.define({create(e){return $(e)},update(e,t){return t.docChanged?$(t.state):e},provide:e=>I.decorations.from(e)}),bt=/^(\s*(?:[-*+]|\d+[.)]) (?:\[[ x]\] )?)/,xt=H.mark({class:`cm-del`}),St=H.line({class:`cm-table-header`}),Ct=H.line({class:`cm-table-row`});function wt(e){let t=0;for(let n of e)if(n===` `)t++;else if(n===` `)t+=4;else break;return t}function Tt(e,t){let n=[],r=M(e);for(let{from:i,to:a}of t)r.iterate({from:i,to:a,enter(t){if(t.name===`Strikethrough`){let e=t.from,r=t.to,i=t.node.cursor();if(i.firstChild())do i.name===`StrikethroughMark`&&(i.from===t.from?e=i.to:r=i.from);while(i.nextSibling());return e<r&&n.push(xt.range(e,r)),!1}if(t.name===`ListItem`){let r=e.doc.lineAt(t.from),i=bt.exec(r.text),a=i?i[1].length:2,o=H.line({class:`cm-list-item`,attributes:{style:`--list-hang: ${a}ch`}});n.push(o.range(r.from));return}if(t.name===`FencedCode`){let r=e.doc.lineAt(t.from),i=e.doc.lineAt(t.to);for(let t=r.number+1;t<i.number;t++){let r=e.doc.line(t),i=wt(r.text),a=H.line({class:`cm-fenced-code-line`,attributes:{style:`--line-indent: ${i}`}});n.push(a.range(r.from))}return!1}if(t.name===`TableHeader`){let r=e.doc.lineAt(t.from);return n.push(St.range(r.from)),!1}if(t.name===`TableRow`){let r=e.doc.lineAt(t.from);return n.push(Ct.range(r.from)),!1}if(t.name===`TableDelimiter`&&t.node.parent?.name===`Table`){let r=e.doc.lineAt(t.from);return n.push(Ct.range(r.from)),!1}}});return n.sort((e,t)=>e.from-t.from||e.value.startSide-t.value.startSide),H.set(n)}var Et=class{decorations;constructor(e){this.decorations=Tt(e.state,e.visibleRanges)}update(e){(e.docChanged||e.viewportChanged||M(e.startState)!==M(e.state))&&(this.decorations=Tt(e.view.state,e.view.visibleRanges))}},Dt=L.fromClass(Et,{decorations:e=>e.decorations});function Ot(){return[Dt,yt]}var kt=n(),At=me({settings:{background:`var(--background)`,gutterBackground:`var(--background)`}}),jt=se({settings:{background:`var(--background)`,gutterBackground:`var(--background)`}}),Mt=new xe,Nt=new xe;function Pt(e,t){let n=e.state.doc,i=1;if(n.lines>=1&&n.line(1).text===`---`){for(let e=2;e<=n.lines;e++)if(n.line(e).text===`---`){i=e+1;break}}let a=r(),o=0;for(let r=i;r<=n.lines;r++){let i=n.line(r);if(!a(i.text)&&/^#{1,6}\s/.test(i.text)){if(o===t.index){e.dispatch({selection:F.cursor(i.from),effects:I.scrollIntoView(i.from,{y:`start`})}),e.focus();return}o++}}}function Ft(e,t){requestAnimationFrame(()=>{let n=e.state.doc,r=Math.min(t.offset,n.length);e.dispatch({selection:F.cursor(r),effects:I.scrollIntoView(r,{y:`center`})}),e.focus()})}function It(e){let t=(0,Se.c)(29),{docName:n,ytext:r,provider:i,placeholder:a,isSourceModeActive:o}=e,s=(0,U.useRef)(null),c=(0,U.useRef)(null),[u,d]=(0,U.useState)(null);if(u)throw u;let{resolvedTheme:f}=l(),p;t[0]!==o||t[1]!==i.awareness?(p=()=>{let e=i.awareness;if(e)return e.setLocalStateField(`mode`,o?`source`:`wysiwyg`),()=>{e.setLocalStateField(`mode`,`wysiwyg`)}},t[0]=o,t[1]=i.awareness,t[2]=p):p=t[2];let m;t[3]!==o||t[4]!==i?(m=[i,o],t[3]=o,t[4]=i,t[5]=m):m=t[5],(0,U.useEffect)(p,m);let h=(0,U.useRef)(null),g;t[6]!==a||t[7]!==i||t[8]!==f||t[9]!==r?(g=()=>{let e=s.current;if(!e)return;let t=i.configuration.name??``,n,o=Lt;try{n=ee({docName:t,container:e,sizeStats:{viewCount:0,bytes:r.length},factory:e=>{let t=pe({ydoc:i.document,ytext:r}),n=new I({state:ve.create({doc:r.toString(),extensions:[fe,be.of([ne]),re({base:ae,extensions:[oe],codeLanguages:Re}),Le(r,i.awareness),Ue(i.document),pt(),Ze(),Ot(),t,Mt.of(f===`dark`?At:jt),Nt.of(B(a??``)),I.lineWrapping,I.theme({"&":{height:`100%`}})]}),parent:e}),s=n.contentDOM;return s.addEventListener(`keydown`,o),s.addEventListener(`paste`,o),s.addEventListener(`drop`,o),s.addEventListener(`cut`,o),{view:n,ydoc:i.document,ytext:r,provider:i}}}),h.current=n,c.current=n.view}catch(e){let t=e;console.error(`[SourceEditor] mountCmEditor failed`,t),h.current=null,c.current=null,d(t instanceof Error?t:Error(String(t)))}return()=>{let e=h.current;e&&ie(e),h.current=null,c.current=null}},t[6]=a,t[7]=i,t[8]=f,t[9]=r,t[10]=g):g=t[10];let _;t[11]!==i||t[12]!==r?(_=[r,i],t[11]=i,t[12]=r,t[13]=_):_=t[13],(0,U.useEffect)(g,_);let v,y;t[14]===f?(v=t[15],y=t[16]):(v=()=>{c.current&&c.current.dispatch({effects:Mt.reconfigure(f===`dark`?At:jt)})},y=[f],t[14]=f,t[15]=v,t[16]=y),(0,U.useEffect)(v,y);let b,x;t[17]===a?(b=t[18],x=t[19]):(b=()=>{c.current&&c.current.dispatch({effects:Nt.reconfigure(B(a??``))})},x=[a],t[17]=a,t[18]=b,t[19]=x),(0,U.useEffect)(b,x);let C,w;t[20]!==n||t[21]!==o?(w=()=>{let e=function(e){let t=e.detail;if(!t||t.mode!==`source`||!o)return;let r=c.current;r&&(Pt(r,t),te(n))};return window.addEventListener(S,e),()=>window.removeEventListener(S,e)},C=[n,o],t[20]=n,t[21]=o,t[22]=C,t[23]=w):(C=t[22],w=t[23]),(0,U.useEffect)(w,C);let T,E;t[24]!==n||t[25]!==o?(T=()=>{if(!o)return;let e=c.current;if(!e)return;let t=he(n);if(t){if(t.kind===`outline`){Pt(e,t.detail);return}Ft(e,t.detail)}},E=[n,o],t[24]=n,t[25]=o,t[26]=T,t[27]=E):(T=t[26],E=t[27]),(0,U.useEffect)(T,E);let D;return t[28]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,kt.jsx)(`div`,{ref:s,className:`source-editor h-full py-3`}),t[28]=D):D=t[28],D}function Lt(){return u()}export{It as SourceEditor};
|