@inkeep/open-knowledge 0.0.0-dev-20260423231521 → 0.0.0-dev-20260424010642
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 +4 -4
- package/dist/constants-Cs463jly.mjs +2 -0
- package/dist/index.mjs +1 -1
- package/dist/init-2VnOB85F.mjs +1 -0
- package/dist/init-CCx9nR5M.mjs +1 -0
- package/dist/{init-CODC0Drd.mjs → init-DgjpYMQB.mjs} +2 -2
- package/dist/{init-DysAQtCG.mjs → init-Xod4U7aY.mjs} +3 -3
- package/dist/loader-Cm1Bwe2n.mjs +1 -0
- package/dist/{loader-DfTFnc2z.mjs → loader-Dw_7CMz3.mjs} +2 -2
- package/dist/{paths-B9hXoumv.mjs → paths-BQwE2DU0.mjs} +2 -2
- package/dist/paths-a8wNIBFD.mjs +1 -0
- package/dist/{preview-jDZwLSul.mjs → preview-Bn5MTCPO.mjs} +2 -2
- package/dist/preview-_ahVwbF3.mjs +1 -0
- package/dist/public/assets/{GraphPanel-nbYklZ9C.js → GraphPanel-CdNqMYNB.js} +2 -2
- package/dist/public/assets/McpConsentDialogBody-Bgy0eAJw.js +1 -0
- package/dist/public/assets/{SourceEditor-CEqBKP5f.js → SourceEditor-DFAP44AB.js} +2 -2
- package/dist/public/assets/{clipboard-ZQ-AEssh.js → clipboard-Bau-T9ly.js} +6 -6
- package/dist/public/assets/{dialog-C2kd-BJI.js → dialog-XDohhbSr.js} +3 -3
- package/dist/public/assets/index-CVv4yIuY.css +1 -0
- package/dist/public/assets/index-Dpc5ZsZ1.js +27 -0
- package/dist/public/assets/{panel-CnHxXki4.js → panel-B3Oezbzt.js} +1 -1
- package/dist/public/assets/toggle-group-DRnV5hAP.js +1 -0
- package/dist/public/index.html +6 -6
- package/dist/{src-rqPIkHTi.mjs → src-C1Um6yPF.mjs} +3 -3
- package/dist/{src-DHnGx64r.mjs → src-C445dwsE.mjs} +1 -1
- package/dist/src-DblXU7Ud.mjs +1 -0
- package/dist/start-C-cNVeh0.mjs +1 -0
- package/dist/{start-DAAnFlO5.mjs → start-z2CFfZyW.mjs} +2 -2
- package/package.json +1 -1
- package/dist/constants-DA7Qh-Kl.mjs +0 -2
- package/dist/init-CFVYH-16.mjs +0 -1
- package/dist/init-DQNJ_f3z.mjs +0 -1
- package/dist/loader-89zKhhvs.mjs +0 -1
- package/dist/paths-BhmQnYL9.mjs +0 -1
- package/dist/preview-CULBnUoI.mjs +0 -1
- package/dist/public/assets/McpConsentDialogBody-BTLTOjWM.js +0 -1
- package/dist/public/assets/index-CGTgnYOo.css +0 -1
- package/dist/public/assets/index-DUIfxmm6.js +0 -21
- package/dist/public/assets/toggle-group-BNTPJpXY.js +0 -1
- package/dist/src-CBVTx8JJ.mjs +0 -1
- package/dist/start-D0wsbZmD.mjs +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{E as e,O as n,S as r,T as i,n as a,t as o,w as s,x as c}from"./button-BuHZQnlF.js";import{
|
|
1
|
+
import{E as e,O as n,S as r,T as i,n as a,t as o,w as s,x as c}from"./button-BuHZQnlF.js";import{J as l,Xt as u,Zt as d,a as f,d as p,h as m,i as h,l as g,n as _,o as v,q as y,r as b,s as x,t as S}from"./panel-B3Oezbzt.js";import{S as C,a as w,b as T,i as E,n as D,r as ee,s as O,t as te,x as ne,y as re}from"./toggle-group-DRnV5hAP.js";var ie=c(`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`}]]),ae=c(`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`}]]),k=n(i(),1),oe=r(),se=[`#60a5fa`,`#a78bfa`,`#34d399`,`#f472b6`,`#fb923c`,`#22d3ee`,`#c084fc`,`#4ade80`,`#f87171`,`#eab308`,`#ec4899`,`#06b67f`,`#8b5cf6`,`#f43f5e`,`#0ea5e9`,`#a855f7`],ce=[`#1e40af`,`#6b21a8`,`#166534`,`#9f1239`,`#9a3412`,`#164e63`,`#581c87`,`#166534`,`#991b1b`,`#854d0e`,`#831843`,`#0f766e`,`#312e81`,`#9f1239`,`#0c4a6e`,`#6b21a8`];function le(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 ue(e,n){let r=n?se:ce;return r[le(e)%r.length]}var A=s(),de={fullscreen:{maxEntries:10,containerClassName:`bottom-3 left-3 gap-1 rounded-lg px-3 py-2 text-xs`,titleClassName:`mb-1.5`,rowClassName:`gap-2`,swatchClassName:`size-2.5`,labelClassName:`max-w-[140px]`,overflowClassName:`pl-[18px]`},docked:{maxEntries:6,containerClassName:`bottom-2 left-2 gap-0.5 rounded-md px-2 py-1.5 text-[11px]`,titleClassName:`mb-1`,rowClassName:`gap-1.5`,swatchClassName:`size-2`,labelClassName:`max-w-[112px]`,overflowClassName:`pl-[14px]`}};function fe(e){return de[e]}function pe(e){let n=(0,oe.c)(5),{clusters:r,variant:i}=e,o=i===void 0?`fullscreen`:i,{resolvedTheme:s}=u(),c=s===`dark`,l,d;if(n[0]!==r||n[1]!==c||n[2]!==o){d=Symbol.for(`react.early_return_sentinel`);bb0:{let e=fe(o);if(r.length===0){d=null;break bb0}let n=r.slice(0,e.maxEntries),i=r.length-n.length;l=(0,A.jsxs)(`div`,{className:a(`pointer-events-none absolute z-10 flex flex-col backdrop-blur-sm`,e.containerClassName,c?`bg-black/70 text-gray-200`:`bg-white/80 text-gray-800 ring-1 ring-black/5`),children:[(0,A.jsx)(`div`,{className:a(`font-medium`,e.titleClassName,c?`text-slate-300`:`text-slate-700`),children:`Clusters`}),n.map(n=>(0,A.jsxs)(`div`,{className:a(`flex items-center`,e.rowClassName),children:[(0,A.jsx)(`span`,{className:a(`inline-block shrink-0 rounded-full`,e.swatchClassName),style:{backgroundColor:ue(n,c)}}),(0,A.jsx)(`span`,{className:a(`truncate`,e.labelClassName),children:n})]},n)),i>0&&(0,A.jsxs)(`div`,{className:a(`text-muted-foreground`,e.overflowClassName),children:[`+ `,i,` more`]})]})}n[0]=r,n[1]=c,n[2]=o,n[3]=l,n[4]=d}else l=n[3],d=n[4];return d===Symbol.for(`react.early_return_sentinel`)?l: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=we(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)||xe(e,n)||j()}function _e(e){return ve(e)||be(e)||xe(e)||Ce()}function ve(e){if(Array.isArray(e))return Se(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 xe(e,n){if(e){if(typeof e==`string`)return Se(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 Se(e,n)}}function Se(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 Ce(){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 j(){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 M(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 we(e){var n=M(e,`string`);return typeof n==`symbol`?n:String(n)}var Te=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 Ee(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 De(e){if(Array.isArray(e))return e}function N(e){if(Array.isArray(e))return Ee(e)}function Oe(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function ke(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 Ae(){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 je(){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 nf(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 rf(e){if(Array.isArray(e))return e}function af(e){if(Array.isArray(e))return nf(e)}function of(e,n,r){if(cf())return Reflect.construct.apply(null,arguments);var i=[null];return i.push.apply(i,n),new(e.bind.apply(e,i))}function sf(e,n,r){return(n=vf(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function cf(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(cf=function(){return!!e})()}function lf(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function uf(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 df(){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 ff(){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 pf(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 mf(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]==null?{}:arguments[n];n%2?pf(Object(r),!0).forEach(function(n){sf(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):pf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function hf(e,n){return rf(e)||uf(e,n)||bf(e,n)||df()}function gf(e){return af(e)||lf(e)||bf(e)||ff()}function _f(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 vf(e){var n=_f(e,`string`);return typeof n==`symbol`?n:n+``}function yf(e){"@babel/helpers - typeof";return yf=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},yf(e)}function bf(e,n){if(e){if(typeof e==`string`)return nf(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)?nf(e,n):void 0}}var xf=Qd(ef);function Sf(e,n,r){!n||typeof r!=`string`||e.filter(function(e){return!e[r]}).forEach(function(e){e[r]=xf(n(e))})}function Cf(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 yf(e)===`object`?n(e):e}});var d=[];return f(Object.values(u)),Object.assign.apply(Object,[{}].concat(gf(Object.entries(u).filter(function(e){return!hf(e,2)[1].skip}).map(function(e){var n=hf(e,2),r=n[0],i=n[1];return sf({},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(gf(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(gf(r),[a]),i+ +!a.skip))},o=0,s=e.length;o<s;o++)if(a())continue}}var wf=2,Q=function(e,n){return n.onNeedsRedraw&&n.onNeedsRedraw()},Tf=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=gf(Array(n)).map(function(){return{}}):delete e.__photons})}},Ef=gs({props:{graphData:{default:{nodes:[],links:[]},onChange:function(e,n){n.engineRunning=!1,Tf(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:Tf},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(gf(d),f,h),d=d.concat(m)}c.save(),d.forEach(function(n){return e.linkCanvasObject(n,c,e.globalScale)}),c.restore();var g=Yd(p,[r,i,a]);c.save(),Object.entries(g).forEach(function(n){var r=hf(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=hf(n,2),i=r[0],o=r[1],u=(i||1)/e.globalScale+l;Object.entries(o).forEach(function(e){var n=hf(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,gf(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&&of(Pd,[d.x,d.y].concat(gf(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?of(Pd,[u.x,u.y].concat(gf(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:sd().force(`link`,Yu()).force(`charge`,cd()).force(`center`,Fl()).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&&Sf(e.graphData.nodes,V(e.nodeAutoColorBy),e.nodeColor),e.linkAutoColorBy!==null&&Sf(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&&Cf(e.graphData,function(n){return n[e.nodeId]},{nodeFilter:e.dagNodeFilter,onLoopError:e.onDagError||void 0}),a=Math.max.apply(Math,gf(Object.values(i||[]))),o=e.dagLevelDistance||e.graphData.nodes.length/(a||1)*wf*([`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:ld(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 Df(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 Of=800,kf=4,Af=5,jf=Df(`forceGraph`,Ef),Mf=Df([`forceGraph`,`shadowGraph`],Ef),Nf=Object.assign.apply(Object,gf(`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 sf({},e,jf.linkProp(e))})).concat(gf([`nodeRelSize`,`nodeId`,`nodeVal`,`nodeVisibility`,`linkSource`,`linkTarget`,`linkVisibility`,`linkCurvature`].map(function(e){return sf({},e,Mf.linkProp(e))})))),Pf=Object.assign.apply(Object,gf([`d3Force`,`d3ReheatSimulation`,`emitParticle`].map(function(e){return sf({},e,jf.linkMethod(e))})));function Ff(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=Qa(e.canvas).k;e.zoom.translateBy(e.zoom.__baseElem,(e.width-n)/2/a,(e.height-r)/2/a),e.needsRedraw=!0}}function If(e){var n=window.devicePixelRatio;e.setTransform(n,0,0,n,0,0)}function Lf(e,n,r){e.save(),If(e),e.clearRect(0,0,n,r),e.restore()}var Rf=gs({props:mf({width:{default:window.innerWidth,onChange:function(e,n){return Ff(n)},triggerUpdate:!1},height:{default:window.innerHeight,onChange:function(e,n){return Ff(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}},Nf),aliases:{stopAnimation:`pauseAnimation`},methods:mf({graph2ScreenCoords:function(e,n,r){var i=Qa(e.canvas);return{x:n*i.k+i.x,y:r*i.k+i.y}},screen2GraphCoords:function(e,n,r){var i=Qa(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 as(o()).to(a,i).easing($o.Quadratic.Out).onUpdate(s).onComplete(function(){e.tweenGroup.remove(this)}).start()):s(a),this}return o();function o(){var n=Qa(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 as({k:i()}).to({k:n},r).easing($o.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 Qa(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:[ho(a,function(e){return e.x-e.r}),mo(a,function(e){return e.x+e.r})],y:[ho(a,function(e){return e.y-e.r}),mo(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:[]})}},Pf),stateInit:function(){return{lastSetZoom:1,zoom:so(),forceGraph:new Ef,shadowGraph:new Ef().cooldownTicks(0).nodeColor(`__indexColor`).linkColor(`__indexColor`).isShadow(!0),colorTracker:new Tc,tweenGroup:new ts}},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};An(n.canvas).call(Zn().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=Qa(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&&Af>=Math.sqrt(go([`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=An(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){If(e),e.translate(i.x,i.y),e.scale(i.k,i.k)}),n.isPointerDragging=!0,n.onZoom&&n.onZoom(mf(mf({},i),r.centerAt())),n.needsRedraw=!0}).on(`end`,function(e){n.isPointerDragging=!1,n.onZoomEnd&&n.onZoomEnd(mf(mf({},e.transform),r.centerAt()))}),Ff(n),n.forceGraph.onNeedsRedraw(function(){return n.needsRedraw=!0}).onFinishUpdate(function(){Qa(n.canvas).k===n.lastSetZoom&&n.graphData.nodes.length&&(n.zoom.scaleTo(n.zoom.__baseElem,n.lastSetZoom=kf/Math.cbrt(n.graphData.nodes.length)),n.needsRedraw=!0)}),n.tooltip=new Pl(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=Qo(function(){Lf(o,n.width,n.height),n.shadowGraph.linkWidth(function(e){return V(n.linkWidth)(e)+n.linkHoverPrecision});var e=Qa(n.canvas);n.shadowGraph.globalScale(e.k).tickFrame()},Of);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){Lf(a,n.width,n.height);var p=Qa(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){}}),zf=e(((e,n)=>{n.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),Bf=e(((e,n)=>{var r=zf();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}})),$=n(e(((e,n)=>{n.exports=Bf()()}))(),1),Vf={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},Hf={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},Uf={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])},Wf=Object.assign({},Vf,Hf,{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({},Vf,Hf,Uf,{enableNavigationControls:$.default.bool,controlType:$.default.oneOf([`trackball`,`orbit`,`fly`]),rendererConfig:$.default.object,extraRenderers:$.default.arrayOf($.default.shape({render:$.default.func.isRequired}))}),Object.assign({},Vf,Uf,{nodeDesc:$.default.oneOfType([$.default.string,$.default.func]),linkDesc:$.default.oneOfType([$.default.string,$.default.func])}),Object.assign({},Vf,Uf,{markerAttrs:$.default.object,yOffset:$.default.number,glScale:$.default.number});var Gf=Fe(Rf,{methodNames:[`emitParticle`,`d3Force`,`d3ReheatSimulation`,`stopAnimation`,`pauseAnimation`,`resumeAnimation`,`centerAt`,`zoom`,`zoomToFit`,`getGraphBbox`,`screen2GraphCoords`,`graph2ScreenCoords`]});Gf.displayName=`ForceGraph2D`,Gf.propTypes=Wf;var Kf=/(?:\s+[—–|]\s+|:\s+)/;function qf(e){let n=new Map;for(let r of e){let e=np(r.label||r.id),i=Qf(e),a=ep(r.kind===`doc`?r.docName??r.id:r.url??r.id),o=$f(i),s=o?ep(i):i,c=o?[]:Zf(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 Jf(e,n,r){if(!e)return``;let i=e=>r(e)<=n;for(let n of rp([e.primaryLabel,e.topicLabel]))if(i(n))return n;for(let i of rp([e.topicLabel,e.primaryLabel])){let e=Yf(i,n,r);if(e)return e}if(e.leadLabel&&i(e.leadLabel))return e.leadLabel;if(e.leadLabel){let i=Yf(e.leadLabel,n,r);if(i)return i}return i(e.pathLabel)?e.pathLabel:Yf(e.pathLabel,n,r)||e.pathLabel}function Yf(e,n,r){if(!e)return``;if(r(e)<=n)return e;let i=e.split(/\s+/).filter(Boolean),a=rp([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 Xf(e,n,r)}function Xf(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 Zf(e){return np(e).split(Kf).map(e=>np(e)).filter(Boolean)}function Qf(e){let n=np(e);for(;;){let e=n.replace(/\s*\([^()]*\)\s*$/,``).trim();if(!e||e===n)return n;n=e}}function $f(e){let n=(e.match(/\//g)??[]).length,r=(e.match(/\s/g)??[]).length;return n>0&&(r===0||n*3>r)}function ep(e){let n=e.split(`/`).map(e=>e.trim()).filter(Boolean);return n.length===0?e:n.length===1?tp(n[0]):n.slice(-2).map(tp).join(` / `)}function tp(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 np(e){return e.replace(/\s+/g,` `).trim()}function rp(e){let n=new Set;for(let r of e)r&&n.add(r);return[...n]}var ip=8,ap=10,op=4,sp=6,cp=4,lp=ap+cp*2,up=2,dp=.001;function fp(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=pp(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=Jf(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(hp);let _=[],v=[];for(let e=0;e<g.length&&!(_.length>=o);e+=1){let n=g[e],r=gp(n,{priority:g.length-e,viewport:a,acceptedRects:v,positionedNodes:h});r&&(_.push(r),v.push(r.rect))}return _}function pp(e){let n=new Map;for(let r of e){let e=mp(r.source),i=mp(r.target);e&&n.set(e,(n.get(e)??0)+1),i&&n.set(i,(n.get(i)??0)+1)}return n}function mp(e){return typeof e==`string`?e:typeof e?.id==`string`?e.id:typeof e?.id==`number`?String(e.id):null}function hp(e,n){return e.isActive===n.isActive?Math.abs(e.distanceToCenterPx-n.distanceToCenterPx)>dp?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 gp(e,{priority:n,viewport:r,acceptedRects:i,positionedNodes:a}){for(let o of[`bottom`,`top`,`right`,`left`]){let s=_p(e,o,n);if(vp(s.rect,r)&&!i.some(e=>yp(e,s.rect))&&!a.some(n=>n.node.id!==e.node.id&&bp(s.rect,{x:n.screenX,y:n.screenY,radius:n.radiusPx+up})))return s}return null}function _p(e,n,r){let i=e.textWidthPx+sp*2,a=i/2,o=lp/2,s=e.screenX-a,c=e.screenY+e.radiusPx+op;return n===`top`?c=e.screenY-e.radiusPx-op-lp:n===`right`?(s=e.screenX+e.radiusPx+op,c=e.screenY-o):n===`left`&&(s=e.screenX-e.radiusPx-op-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+lp},textX:s+a,textY:c+cp}}function vp(e,n){return e.left>=ip&&e.top>=ip&&e.right<=n.width-ip&&e.bottom<=n.height-ip}function yp(e,n){return!(e.right<=n.left||e.left>=n.right||e.bottom<=n.top||e.top>=n.bottom)}function bp(e,n){let r=xp(n.x,e.left,e.right),i=xp(n.y,e.top,e.bottom);return Math.hypot(n.x-r,n.y-i)<n.radius}function xp(e,n,r){return Math.min(r,Math.max(n,e))}var Sp=5,Cp=7,wp=8,Tp=[`x`,`y`,`z`,`vx`,`vy`,`vz`,`fx`,`fy`,`fz`,`index`,`__indexColor`];function Ep(e,n){for(let r of Tp){let i=n[r];i!==void 0&&(e[r]=i)}}function Dp(e){return typeof e==`string`?e:typeof e==`object`&&e&&`id`in e?String(e.id):``}function Op(e){return e.map(e=>`${e.id}:${e.label}`).join(`,`)}function kp(e){return e.map(e=>`${Dp(e.source)}>${Dp(e.target)}`).join(`,`)}function Ap(e,n){let r=new Map(e.nodes.map(e=>[e.id,e])),i=n.nodes.map(e=>{let n={...e},i=r.get(e.id);return i&&Ep(n,i),n}),a=new Map(e.links.map(e=>[`${Dp(e.source)}>${Dp(e.target)}`,e]));return{nodes:i,links:n.links.map(e=>{let n={...e},r=a.get(`${Dp(e.source)}>${Dp(e.target)}`);return r?.__indexColor&&(n.__indexColor=r.__indexColor),n})}}function jp(e,n={}){if(e.kind===`external`)return e.url;let r=e.label??e.id,i=n.displayState??`doc`,a=e.cluster||e.category||e.tags&&e.tags.length>0;if(i===`doc`&&!a)return r;let o=[...Mp(i),`<div style="font-weight:600;font-size:14px;color:#f1f5f9;margin-bottom:${a?8:0}px;padding-bottom:${a?6:0}px;border-bottom:${a?`1px solid rgba(148,163,184,0.3)`:`none`}">${Np(r)}</div>`];return e.cluster&&o.push(`<div style="font-size:12.5px;color:#f1f5f9;margin-bottom:2px"><span style="color:#cbd5e1">cluster:</span> ${Np(e.cluster)}</div>`),e.category&&o.push(`<div style="font-size:12.5px;color:#f1f5f9;margin-bottom:2px"><span style="color:#cbd5e1">category:</span> ${Np(e.category)}</div>`),e.tags&&e.tags.length>0&&o.push(`<div style="font-size:12.5px;color:#f1f5f9"><span style="color:#cbd5e1">tags:</span> ${e.tags.map(Np).join(`, `)}</div>`),o.join(``)}function Mp(e){return e===`missing`?[`<div style="font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#fca5a5;margin-bottom:6px">Broken / uncreated link</div>`,`<div style="font-size:12px;color:#fecaca;margin-bottom:8px">This page does not exist yet. Open it to create it.</div>`]:e===`folder`?[`<div style="font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#c4b5fd;margin-bottom:6px">Folder target</div>`,`<div style="font-size:12px;color:#ddd6fe;margin-bottom:8px">This link resolves to a folder view rather than a standalone page.</div>`]:[]}function Np(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}function Pp(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 Fp(e){return e===`active`||e===`active-selected`?wp:e===`selected`||e===`external-selected`?Cp:Sp}function Ip(e,n){let r=Fp(e);return e===`active`||e===`selected`||e===`active-selected`||e===`external-selected`?r+2/Math.max(n,.01):r}function Lp(e){return m(e.docName,e.anchor)}function Rp(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:Lp({docName:e.docName,label:e.label,anchor:e.anchor??null})}}var zp=350,Bp=120,Vp=18,Hp=28,Up=5;function Wp({node:e,navigationIntentByNodeId:n}){return e.kind===`doc`?n.get(e.id)?.displayState??`doc`:`doc`}function Gp({state:e,displayState:n,globalScale:r}){let i=Ip(e,r);return n===`missing`?Math.max(i,Fp(e)+2/Math.max(r,.01)):i}function Kp({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 qp({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)>=Hp}function Jp({fg:e,nodes:n,activeDocName:r,zoom:i,focusKey:a,focusState:o,force:s=!1,durationMs:c=zp}){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<Bp)return u;let d=Kp({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<Vp&&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 Yp({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 Xp({node:e,fg:n,activeDocName:r,selectedNodeId:i,globalScale:a,displayState:o}){if(typeof e.x!=`number`||typeof e.y!=`number`)return null;let s=Pp(e,{activeDocName:r,selectedNodeId:i}),c=n.graph2ScreenCoords(e.x,e.y);return{x:c.x,y:c.y,radiusPx:Gp({state:s,displayState:o,globalScale:a})*a,state:s}}function Zp({clientX:e,clientY:n,container:r}){let i=r.getBoundingClientRect();return{x:e-i.left,y:n-i.top}}function Qp({point:e,fg:n,nodes:r,activeDocName:i,selectedNodeId:a,navigationIntentByNodeId:o}){let s=n.zoom(),c=null;for(let l of r){let r=Xp({node:l,fg:n,activeDocName:i,selectedNodeId:a,globalScale:s,displayState:Wp({node:l,navigationIntentByNodeId:o})});if(!r)continue;let u=Math.hypot(e.x-r.x,e.y-r.y);u>r.radiusPx||c!==null&&u>=c.distance||(c={node:l,distance:u})}return c?.node??null}function $p(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 em({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 tm({point:e,fg:n,links:r}){return r.some(r=>{let i=$p(r.source,n),a=$p(r.target,n);return!i||!a?!1:em({point:e,start:i,end:a})<=6})}function nm({node:e,docClickBehavior:n,onSelectNode:r}){let i=Rp(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 rm({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}nm({node:e.node,docClickBehavior:n,onSelectNode:i})}function im(e){let n=(0,oe.c)(110),{activeDocName:r,selectedNodeId:i,isExpanded:o,showUrlNodes:s,className:c,docClickBehavior:l,onSelectNode:u,onBackgroundClick:f,onStatsChange:h,onClustersChange:_}=e,v=i===void 0?null:i,y=o===void 0?!1:o,b=s===void 0?!0:s,x=c===void 0?``:c,S=l===void 0?`navigate`:l,C;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(C={nodes:[],links:[]},n[0]=C):C=n[0];let[w,T]=(0,k.useState)(C),E;n[1]===Symbol.for(`react.memo_cache_sentinel`)?(E={nodes:``,links:``},n[1]=E):E=n[1];let D=(0,k.useRef)(E),[O,te]=(0,k.useState)(!0),[ne,re]=(0,k.useState)(null),ie=(0,k.useRef)(null),ae=(0,k.useRef)(void 0),se;n[2]===Symbol.for(`react.memo_cache_sentinel`)?(se={key:``,lastX:null,lastY:null,lastAt:0},n[2]=se):se=n[2];let ce=(0,k.useRef)(se),le=(0,k.useRef)(null),de=(0,k.useRef)(w.nodes),fe=(0,k.useRef)(!1),pe;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(pe={width:320,height:400},n[3]=pe):pe=n[3];let[me,he]=(0,k.useState)(pe),{resolvedTheme:ge}=d(),{folderPaths:_e,loading:ve,pages:ye}=g(),be,xe;n[4]!==r||n[5]!==y?(be=()=>{let e=!1,n=async function(){try{let n=new URLSearchParams;!y&&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;re(`Server error: ${a.status}`),te(!1);return}let o=await a.json();if(e)return;if(!o.ok){re(o.error??`Failed to load graph`),te(!1);return}let s=o.nodes??[],c=o.links??[],l=Op(s),u=kp(c);(l!==D.current.nodes||u!==D.current.links)&&(D.current={nodes:l,links:u},T(e=>Ap(e,{nodes:s,links:c}))),re(null),te(!1)}catch(n){let r=n;if(e)return;re(r instanceof Error?r.message:`Failed to load graph`),te(!1)}};te(!0),n();let i=()=>{document.visibilityState===`visible`&&n()};window.addEventListener(`focus`,i),window.addEventListener(`visibilitychange`,i);let a=p(e=>{(e.includes(`files`)||e.includes(`graph`))&&n()});return()=>{e=!0,window.removeEventListener(`focus`,i),window.removeEventListener(`visibilitychange`,i),a()}},xe=[r,y],n[4]=r,n[5]=y,n[6]=be,n[7]=xe):(be=n[6],xe=n[7]),(0,k.useEffect)(be,xe);let Se,Ce;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(Se=()=>{let e=ie.current;if(!e)return;let n=new ResizeObserver(e=>{let[n]=e,{width:r,height:i}=n.contentRect;r>0&&i>0&&he({width:Math.floor(r),height:Math.floor(i)})});return n.observe(e),()=>n.disconnect()},Ce=[],n[8]=Se,n[9]=Ce):(Se=n[8],Ce=n[9]),(0,k.useEffect)(Se,Ce);let j=ge===`dark`,M=j?`hsl(0 0% 4%)`:`hsl(0 0% 100%)`,we=j?`#6b7280`:`#9ca3af`,Te=j?`#69a3ff`:`#3784ff`,Ee=j?`#34d399`:`#059669`,De=j?`#c084fc`:`#7c3aed`,N=j?`#f59e0b`:`#c2410c`,Oe=j?`#a78bfa`:`#7c3aed`,ke=j?`#f87171`:`#dc2626`,Ae=j?`rgba(75,85,99,0.6)`:`rgba(209,213,219,0.8)`,je=j?`#f3f4f6`:`#111827`,Me=j?`rgba(105,163,255,0.45)`:`rgba(55,132,255,0.3)`,Ne=j?`rgba(167,139,250,0.38)`:`rgba(124,58,237,0.22)`,Pe=j?`rgba(248,113,113,0.58)`:`rgba(220,38,38,0.38)`,Fe=j?`rgba(52,211,153,0.5)`:`rgba(5,150,105,0.3)`,Ie=j?`rgba(192,132,252,0.5)`:`rgba(124,58,237,0.35)`,Le=j?`rgba(3,7,18,0.92)`:`rgba(255,255,255,0.94)`,Re=j?`rgba(243,244,246,0.08)`:`rgba(17,24,39,0.08)`,P=y?1.6:2.35,ze=y?220:150,Be=y?10:18,Ve;n[10]!==w||n[11]!==b?(Ve=b?w:(()=>{let e=new Set(w.nodes.filter(lm).map(cm));return{nodes:w.nodes.filter(sm),links:w.links.filter(n=>{let r=Dp(n.source),i=Dp(n.target);return!e.has(r)&&!e.has(i)})}})(),n[10]=w,n[11]=b,n[12]=Ve):Ve=n[12];let F=Ve,He=F.nodes,Ue=F.links,We;n[13]===F.nodes?We=n[14]:(We=qf(F.nodes),n[13]=F.nodes,n[14]=We);let Ge=We,I=`${r}|${P}`,Ke;if(n[15]!==_e||n[16]!==w.nodes||n[17]!==ve||n[18]!==ye){let e;n[20]!==_e||n[21]!==ve||n[22]!==ye?(e=e=>{if(e.kind!==`doc`)return[];let n=ve?{displayState:`doc`,hashDocName:e.docName}:ee(e.docName,{pages:ye,folderPaths:_e});return[[e.id,n]]},n[20]=_e,n[21]=ve,n[22]=ye,n[23]=e):e=n[23],Ke=new Map(w.nodes.flatMap(e)),n[15]=_e,n[16]=w.nodes,n[17]=ve,n[18]=ye,n[19]=Ke}else Ke=n[19];let L=Ke,R;n[24]!==F.links||n[25]!==F.nodes||n[26]!==O||n[27]!==h?(R=()=>{h?.(F.nodes.length,F.links.length,O)},n[24]=F.links,n[25]=F.nodes,n[26]=O,n[27]=h,n[28]=R):R=n[28];let qe;n[29]!==F||n[30]!==O||n[31]!==h?(qe=[F,O,h],n[29]=F,n[30]=O,n[31]=h,n[32]=qe):qe=n[32],(0,k.useEffect)(R,qe);let Je;n[33]!==w.nodes||n[34]!==_?(Je=()=>{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[33]=w.nodes,n[34]=_,n[35]=Je):Je=n[35];let Ye;n[36]!==w||n[37]!==_?(Ye=[w,_],n[36]=w,n[37]=_,n[38]=Ye):Ye=n[38],(0,k.useEffect)(Je,Ye);let Xe,Ze;n[39]===w.nodes?(Xe=n[40],Ze=n[41]):(Xe=()=>{de.current=w.nodes},Ze=[w.nodes],n[39]=w.nodes,n[40]=Xe,n[41]=Ze),(0,k.useEffect)(Xe,Ze);let Qe,$e;n[42]!==r||n[43]!==I||n[44]!==P?(Qe=()=>{ce.current={key:I,lastX:null,lastY:null,lastAt:0};let e=window.requestAnimationFrame(()=>{ce.current=Jp({fg:ae.current,nodes:de.current,activeDocName:r,zoom:P,focusKey:I,focusState:ce.current,force:!0})});return()=>window.cancelAnimationFrame(e)},$e=[I,r,P],n[42]=r,n[43]=I,n[44]=P,n[45]=Qe,n[46]=$e):(Qe=n[45],$e=n[46]),(0,k.useEffect)(Qe,$e);let et,tt;n[47]!==r||n[48]!==F.links||n[49]!==F.nodes||n[50]!==S||n[51]!==L||n[52]!==f||n[53]!==u||n[54]!==v?(et=()=>{},tt=[r,S,F.links,F.nodes,L,f,u,v],n[47]=r,n[48]=F.links,n[49]=F.nodes,n[50]=S,n[51]=L,n[52]=f,n[53]=u,n[54]=v,n[55]=et,n[56]=tt):(et=n[55],tt=n[56]),(0,k.useEffect)(et,tt);let nt;n[57]===x?nt=n[58]:(nt=a(`h-full min-h-0 overflow-hidden`,x),n[57]=x,n[58]=nt);let rt;n[59]===Symbol.for(`react.memo_cache_sentinel`)?(rt=()=>{le.current=null},n[59]=rt):rt=n[59];let it;n[60]!==r||n[61]!==F.links||n[62]!==F.nodes||n[63]!==L||n[64]!==v?(it=e=>{if(!e.isPrimary||e.button!==0){le.current=null;return}le.current={pointerId:e.pointerId,clientX:e.clientX,clientY:e.clientY,target:(()=>{let n=ie.current,i=ae.current;if(!n||!i)return{kind:`background`};let a=Zp({clientX:e.clientX,clientY:e.clientY,container:n}),o=Qp({point:a,fg:i,nodes:F.nodes,activeDocName:r,selectedNodeId:v,navigationIntentByNodeId:L});return o?{kind:`node`,node:o}:tm({point:a,fg:i,links:F.links})?{kind:`link`}:{kind:`background`}})()}},n[60]=r,n[61]=F.links,n[62]=F.nodes,n[63]=L,n[64]=v,n[65]=it):it=n[65];let at;n[66]!==S||n[67]!==f||n[68]!==u||n[69]!==v?(at=e=>{if(!e.isPrimary||e.button!==0){le.current=null;return}let n=le.current;le.current=null,!(!n||n.pointerId!==e.pointerId)&&(Math.hypot(e.clientX-n.clientX,e.clientY-n.clientY)>Up||rm({target:n.target,docClickBehavior:S,selectedNodeId:v,onSelectNode:u,onBackgroundClick:f}))},n[66]=S,n[67]=f,n[68]=u,n[69]=v,n[70]=at):at=n[70];let ot;n[71]!==r||n[72]!==Te||n[73]!==Me||n[74]!==De||n[75]!==Ie||n[76]!==M||n[77]!==we||n[78]!==me||n[79]!==F||n[80]!==Ae||n[81]!==ne||n[82]!==N||n[83]!==I||n[84]!==P||n[85]!==Oe||n[86]!==Ne||n[87]!==w.nodes||n[88]!==j||n[89]!==Re||n[90]!==Le||n[91]!==je||n[92]!==Ge||n[93]!==Ue||n[94]!==He||n[95]!==O||n[96]!==ze||n[97]!==Be||n[98]!==ke||n[99]!==Pe||n[100]!==L||n[101]!==Ee||n[102]!==v||n[103]!==Fe?(ot=ne?(0,A.jsx)(`p`,{className:`p-4 text-sm text-destructive`,children:ne}):F.nodes.length===0&&!O?(0,A.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,A.jsx)(`div`,{className:`h-full min-h-0`,role:`img`,"aria-label":`Graph visualization of document links`,children:(0,A.jsx)(Gf,{ref:ae,graphData:F,cooldownTicks:150,onEngineTick:()=>{fe.current=!1,ce.current=Jp({fg:ae.current,nodes:w.nodes,activeDocName:r,zoom:P,focusKey:I,focusState:ce.current})},onEngineStop:()=>{fe.current=!0;let e=Kp({nodes:w.nodes,activeDocName:r});qp({fg:ae.current,coords:e,dimensions:me})&&(ce.current=Jp({fg:ae.current,nodes:w.nodes,activeDocName:r,zoom:P,focusKey:I,focusState:ce.current,force:!0}))},width:me.width,height:me.height,backgroundColor:M,nodeId:`id`,nodeLabel:e=>jp(e,{displayState:Wp({node:e,navigationIntentByNodeId:L})}),nodeRelSize:4,nodeVal:e=>{let n=Pp(e,{activeDocName:r,selectedNodeId:v});return n===`active-selected`?20:n===`active`?18:n===`selected`||n===`external-selected`?12:6},nodeCanvasObjectMode:om,nodeCanvasObject:(e,n,i)=>{if(typeof e.x!=`number`||typeof e.y!=`number`)return;let a=Pp(e,{activeDocName:r,selectedNodeId:v}),o=Wp({node:e,navigationIntentByNodeId:L}),s=o===`folder`,c=o===`missing`,l=Fp(a),u=Gp({state:a,displayState:o,globalScale:i}),d=e.kind===`doc`?e.cluster:void 0,f=d?ue(d,j):we;n.beginPath(),n.arc(e.x,e.y,l,0,2*Math.PI,!1),n.fillStyle=a===`active`?Te:a===`active-selected`?De:a===`external`||a===`external-selected`?N:c?ke:a===`selected`?Ee:s?Oe:f,n.fill(),u>l?(n.beginPath(),n.arc(e.x,e.y,u,0,2*Math.PI,!1),n.strokeStyle=c?Pe:a===`active`?Me:a===`selected`||a===`external-selected`?Fe:Ie,n.lineWidth=c?1.75/i:2/i,n.setLineDash(c?[3/i,2/i]:[]),n.stroke(),n.setLineDash([])):s&&(n.beginPath(),n.arc(e.x,e.y,l+2/i,0,2*Math.PI,!1),n.strokeStyle=Ne,n.lineWidth=1.5/i,n.stroke())},nodePointerAreaPaint:(e,n,i,a)=>{if(typeof e.x!=`number`||typeof e.y!=`number`)return;let o=Pp(e,{activeDocName:r,selectedNodeId:v}),s=Wp({node:e,navigationIntentByNodeId:L});i.beginPath(),i.arc(e.x,e.y,Gp({state:o,displayState:s,globalScale:a}),0,2*Math.PI,!1),i.fillStyle=n,i.fill()},onRenderFramePost:(e,n)=>{if(n<1.8)return;let i=ae.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`,Yp({ctx:e,placements:fp({nodes:He,links:Ue,activeDocName:r,viewport:me,maxLabels:Be,maxLabelWidthPx:ze,labelDescriptors:Ge,measureTextWidthPx:n=>e.measureText(n).width,projectToScreen:(e,n)=>i.graph2ScreenCoords(e,n),getNodeRadiusPx:e=>Gp({state:Pp(e,{activeDocName:r,selectedNodeId:v}),displayState:Wp({node:e,navigationIntentByNodeId:L}),globalScale:n})*n+4}),labelColor:je,chipColor:Le,chipBorderColor:Re}),e.restore()},linkColor:()=>Ae,linkDirectionalArrowLength:3,linkDirectionalArrowRelPos:1,linkWidth:1,showPointerCursor:am,onNodeClick:e=>{if(e.kind===`external`){window.open(e.url,`_blank`,`noopener,noreferrer`);return}if(e.docName){let n=L.get(e.id);window.location.assign(m(n?.hashDocName??e.docName,e.anchor??null))}}})}),n[71]=r,n[72]=Te,n[73]=Me,n[74]=De,n[75]=Ie,n[76]=M,n[77]=we,n[78]=me,n[79]=F,n[80]=Ae,n[81]=ne,n[82]=N,n[83]=I,n[84]=P,n[85]=Oe,n[86]=Ne,n[87]=w.nodes,n[88]=j,n[89]=Re,n[90]=Le,n[91]=je,n[92]=Ge,n[93]=Ue,n[94]=He,n[95]=O,n[96]=ze,n[97]=Be,n[98]=ke,n[99]=Pe,n[100]=L,n[101]=Ee,n[102]=v,n[103]=Fe,n[104]=ot):ot=n[104];let st;return n[105]!==nt||n[106]!==it||n[107]!==at||n[108]!==ot?(st=(0,A.jsx)(`div`,{ref:ie,className:nt,onPointerCancel:rt,onPointerDownCapture:it,onPointerUpCapture:at,children:ot}),n[105]=nt,n[106]=it,n[107]=at,n[108]=ot,n[109]=st):st=n[109],st}function am(e){return!!(e&&`kind`in e)}function om(){return`replace`}function sm(e){return e.kind!==`external`}function cm(e){return e.id}function lm(e){return e.kind===`external`}var um=50,dm=`ok-graph-docked-url-nodes-v1`,fm=`ok-graph-fullscreen-url-nodes-v1`;function pm(e){if(typeof window>`u`)return!1;try{return window.localStorage.getItem(e)===`true`}catch{return!1}}function mm(e,n){if(!(typeof window>`u`))try{n?window.localStorage.setItem(e,`true`):window.localStorage.removeItem(e)}catch{}}var hm={explore:`Explore`,orphans:`Orphans`,hubs:`Hubs`},gm={incoming:`No Incoming`,outgoing:`No Outgoing`,both:`Both`};async function _m(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 vm(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 ym(e){window.location.assign(m(e))}function bm(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 xm(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 Sm(e){let n=(0,oe.c)(29),{mode:r,onModeChange:i}=e,a;n[0]===r?a=n[1]:(a={queryKey:[`orphans`,r],queryFn:()=>_m(r)},n[0]=r,n[1]=a);let{data:o,isLoading:s,error:c}=u(a),d;n[2]===o?d=n[3]:(d=o===void 0?[]:o,n[2]=o,n[3]=d);let p=d,m;n[4]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,A.jsx)(`p`,{className:`text-sm font-medium`,children:`Project-level disconnected pages`}),n[4]=m):m=n[4];let g;n[5]===r?g=n[6]:(g=bm(r),n[5]=r,n[6]=g);let v;n[7]===g?v=n[8]:(v=(0,A.jsxs)(`div`,{className:`space-y-1`,children:[m,(0,A.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:g})]}),n[7]=g,n[8]=v);let b;n[9]===i?b=n[10]:(b=e=>{e&&y(e)&&i(e)},n[9]=i,n[10]=b);let x;n[11]===Symbol.for(`react.memo_cache_sentinel`)?(x=l.map(wm),n[11]=x):x=n[11];let S;n[12]!==r||n[13]!==b?(S=(0,A.jsx)(te,{type:`single`,size:`sm`,variant:`outline`,value:r,"aria-label":`Orphan mode`,onValueChange:b,children:x}),n[12]=r,n[13]=b,n[14]=S):S=n[14];let C;n[15]!==v||n[16]!==S?(C=(0,A.jsx)(`div`,{className:`border-b border-border/60 px-4 py-3`,children:(0,A.jsxs)(`div`,{className:`flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between`,children:[v,S]})}),n[15]=v,n[16]=S,n[17]=C):C=n[17];let w;n[18]!==c||n[19]!==s||n[20]!==r||n[21]!==p?(w=c?(0,A.jsx)(f,{children:c instanceof Error?c.message:`Failed to load orphan pages`}):p.length===0&&!s?(0,A.jsx)(h,{children:xm(r)}):(0,A.jsx)(`div`,{className:`flex flex-col gap-2`,children:p.map(Cm)}),n[18]=c,n[19]=s,n[20]=r,n[21]=p,n[22]=w):w=n[22];let T;n[23]!==s||n[24]!==w?(T=(0,A.jsx)(_,{"aria-busy":s,children:w}),n[23]=s,n[24]=w,n[25]=T):T=n[25];let E;return n[26]!==C||n[27]!==T?(E=(0,A.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[C,T]}),n[26]=C,n[27]=T,n[28]=E):E=n[28],E}function Cm(e){return(0,A.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:()=>ym(e.docName),children:[(0,A.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.title}),(0,A.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.docName})]},e.docName)}function wm(e){return(0,A.jsx)(D,{value:e,children:gm[e]},e)}function Tm(){let e=(0,oe.c)(11),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:[`hubs`,um],queryFn:Dm},e[0]=n):n=e[0];let{data:r,isLoading:i,error:a}=u(n),o;e[1]===r?o=e[2]:(o=r===void 0?[]:r,e[1]=r,e[2]=o);let s=o,c;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,A.jsx)(`div`,{className:`border-b border-border/60 px-4 py-3`,children:(0,A.jsxs)(`div`,{className:`space-y-1`,children:[(0,A.jsx)(`p`,{className:`text-sm font-medium`,children:`Top linked pages`}),(0,A.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Project-level pages ordered by inbound link count, up to `,um,` results.`]})]})}),e[3]=c):c=e[3];let l;e[4]!==a||e[5]!==s||e[6]!==i?(l=a?(0,A.jsx)(f,{children:a instanceof Error?a.message:`Failed to load hub pages`}):s.length===0&&!i?(0,A.jsx)(h,{children:`No hub pages yet. Hubs appear once pages accumulate inbound graph links.`}):(0,A.jsx)(`div`,{className:`flex flex-col gap-2`,children:s.map(Em)}),e[4]=a,e[5]=s,e[6]=i,e[7]=l):l=e[7];let d;return e[8]!==i||e[9]!==l?(d=(0,A.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[c,(0,A.jsx)(_,{"aria-busy":i,children:l})]}),e[8]=i,e[9]=l,e[10]=d):d=e[10],d}function Em(e){return(0,A.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:()=>ym(e.docName),children:(0,A.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,A.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,A.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.title}),(0,A.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.docName})]}),(0,A.jsx)(`span`,{className:`rounded-md bg-muted px-2 py-1 text-xs font-mono text-muted-foreground`,children:e.count})]})},e.docName)}function Dm(){return vm(um)}function Om(e){let n=(0,oe.c)(93),{activeDocName:r}=e,{folderPaths:i,loading:a,pages:s}=g(),[c,l]=(0,k.useState)(!1),[u,d]=(0,k.useState)(`explore`),[f,p]=(0,k.useState)(`both`),[m,h]=(0,k.useState)(null),[_,y]=(0,k.useState)(null),D;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(D=[],n[0]=D):D=n[0];let[se,ce]=(0,k.useState)(D),[le,ue]=(0,k.useState)(Nm),[de,fe]=(0,k.useState)(Mm),me,he;n[1]===le?(me=n[2],he=n[3]):(me=()=>{mm(dm,le)},he=[le],n[1]=le,n[2]=me,n[3]=he),(0,k.useEffect)(me,he);let ge,_e;n[4]===de?(ge=n[5],_e=n[6]):(ge=()=>{mm(fm,de)},_e=[de],n[4]=de,n[5]=ge,n[6]=_e),(0,k.useEffect)(ge,_e);let ve,ye;n[7]===c?(ve=n[8],ye=n[9]):(ve=()=>{if(!c)return;let e=e=>{e.key===`Escape`&&l(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},ye=[c],n[7]=c,n[8]=ve,n[9]=ye),(0,k.useEffect)(ve,ye);let be,xe;n[10]!==c||n[11]!==m?(be=()=>{!c&&m!==null&&h(null)},xe=[c,m],n[10]=c,n[11]=m,n[12]=be,n[13]=xe):(be=n[12],xe=n[13]),(0,k.useEffect)(be,xe);let Se,Ce;n[14]!==u||n[15]!==m?(Se=()=>{u!==`explore`&&m!==null&&h(null)},Ce=[u,m],n[14]=u,n[15]=m,n[16]=Se,n[17]=Ce):(Se=n[16],Ce=n[17]),(0,k.useEffect)(Se,Ce);let j=c?u:`explore`,M=c?de:le,we=c?fe:ue,Te;n[18]!==i||n[19]!==a||n[20]!==s||n[21]!==m?(Te=m?.kind===`doc`&&!a?ee(m.docName,{pages:s,folderPaths:i}).displayState:`doc`,n[18]=i,n[19]=a,n[20]=s,n[21]=m,n[22]=Te):Te=n[22];let Ee=Te,De;n[23]!==r||n[24]!==Ee||n[25]!==m?(De=m===null?null:m.kind===`doc`&&Ee===`missing`?{eyebrow:`Broken link`,description:`This page doesn't exist yet. Open it to create the page in the editor and collapse the graph.`,Icon:re,actionLabel:`Create page`,secondaryLabel:m.docName,onAction:()=>{let e=Lp(m);l(!1),window.location.assign(e)}}:m.kind===`doc`&&m.docName===r?{eyebrow:`Already open`,description:`This document is already active in the editor. Use Open to collapse the graph.`,Icon:ne,actionLabel:`Open`,secondaryLabel:m.docName,onAction:()=>{let e=Lp(m);l(!1),window.location.assign(e)}}:m.kind===`doc`?{eyebrow:`Selected in graph`,description:`Open this document in the editor and collapse the graph.`,Icon:C,actionLabel:`Open`,secondaryLabel:m.docName,onAction:()=>{let e=Lp(m);l(!1),window.location.assign(e)}}:{eyebrow:`Selected in graph`,description:`Open this link in a new tab and collapse the graph.`,Icon:C,actionLabel:`Open link`,secondaryLabel:m.url,onAction:()=>{window.open(m.url,`_blank`,`noopener,noreferrer`),l(!1)}},n[23]=r,n[24]=Ee,n[25]=m,n[26]=De):De=n[26];let N=De,Oe=c?`fixed inset-0 z-50 bg-background overflow-hidden`:void 0,ke;n[27]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,A.jsx)(x,{children:`Graph`}),n[27]=ke):ke=n[27];let Ae;n[28]!==j||n[29]!==_?(Ae=j===`explore`&&_?(0,A.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,A.jsxs)(b,{children:[_.nodes,` nodes`]}),(0,A.jsxs)(b,{children:[_.links,` links`]})]}):null,n[28]=j,n[29]=_,n[30]=Ae):Ae=n[30];let je;n[31]===Ae?je=n[32]:(je=(0,A.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[ke,Ae]}),n[31]=Ae,n[32]=je);let Me;n[33]!==u||n[34]!==c?(Me=c?(0,A.jsx)(te,{type:`single`,size:`sm`,variant:`outline`,value:u,"aria-label":`Expanded graph mode`,onValueChange:e=>{(e===`explore`||e===`orphans`||e===`hubs`)&&d(e)},children:Object.entries(hm).map(jm)}):null,n[33]=u,n[34]=c,n[35]=Me):Me=n[35];let Ne=M?`Hide external URL nodes`:`Show external URL nodes`,Pe;n[36]===we?Pe=n[37]:(Pe=()=>we(Am),n[36]=we,n[37]=Pe);let Fe=M?`size-4 text-sidebar-accent-foreground`:`size-4 text-muted-foreground`,Ie;n[38]===Fe?Ie=n[39]:(Ie=(0,A.jsx)(T,{className:Fe}),n[38]=Fe,n[39]=Ie);let Le;n[40]!==M||n[41]!==Ne||n[42]!==Pe||n[43]!==Ie?(Le=(0,A.jsx)(O,{asChild:!0,children:(0,A.jsx)(o,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-foreground hover:bg-accent`,"aria-label":Ne,"aria-pressed":M,onClick:Pe,children:Ie})}),n[40]=M,n[41]=Ne,n[42]=Pe,n[43]=Ie,n[44]=Le):Le=n[44];let Re=c?`z-[9999]`:void 0,P=M?`Hide external URL nodes`:`Show external URL nodes`,ze;n[45]!==Re||n[46]!==P?(ze=(0,A.jsx)(w,{side:`bottom`,sideOffset:8,className:Re,children:P}),n[45]=Re,n[46]=P,n[47]=ze):ze=n[47];let Be;n[48]!==Le||n[49]!==ze?(Be=(0,A.jsxs)(E,{delayDuration:0,children:[Le,ze]}),n[48]=Le,n[49]=ze,n[50]=Be):Be=n[50];let Ve=c?`Collapse graph`:`Expand graph`,F;n[51]===Symbol.for(`react.memo_cache_sentinel`)?(F=()=>l(km),n[51]=F):F=n[51];let He;n[52]===c?He=n[53]:(He=c?(0,A.jsx)(ae,{className:`size-4`}):(0,A.jsx)(ie,{className:`size-4`}),n[52]=c,n[53]=He);let Ue;n[54]!==Ve||n[55]!==He?(Ue=(0,A.jsx)(O,{asChild:!0,children:(0,A.jsx)(o,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-foreground hover:bg-accent`,"aria-label":Ve,onClick:F,children:He})}),n[54]=Ve,n[55]=He,n[56]=Ue):Ue=n[56];let We=c?`z-[9999]`:void 0,Ge=c?`Collapse`:`Expand graph`,I;n[57]!==We||n[58]!==Ge?(I=(0,A.jsx)(w,{side:`bottom`,sideOffset:8,className:We,children:Ge}),n[57]=We,n[58]=Ge,n[59]=I):I=n[59];let Ke;n[60]!==Ue||n[61]!==I?(Ke=(0,A.jsxs)(E,{delayDuration:0,children:[Ue,I]}),n[60]=Ue,n[61]=I,n[62]=Ke):Ke=n[62];let L;n[63]!==Be||n[64]!==Ke?(L=(0,A.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[Be,Ke]}),n[63]=Be,n[64]=Ke,n[65]=L):L=n[65];let R;n[66]!==Me||n[67]!==L?(R=(0,A.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[Me,L]}),n[66]=Me,n[67]=L,n[68]=R):R=n[68];let qe;n[69]!==je||n[70]!==R?(qe=(0,A.jsxs)(v,{className:`flex-wrap gap-3`,children:[je,R]}),n[69]=je,n[70]=R,n[71]=qe):qe=n[71];let Je;n[72]!==r||n[73]!==j||n[74]!==se||n[75]!==c||n[76]!==m||n[77]!==N||n[78]!==M?(Je=j===`explore`?(0,A.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,A.jsx)(im,{activeDocName:r,selectedNodeId:c?m?.id??null:null,isExpanded:c,showUrlNodes:M,className:`h-full min-h-0`,docClickBehavior:c?`select`:`navigate`,onSelectNode:c?h:void 0,onBackgroundClick:c?()=>{m!==null&&h(null)}:void 0,onStatsChange:(e,n,r)=>{if(r){y(null);return}y({nodes:e,links:n})},onClustersChange:ce}),(0,A.jsx)(pe,{clusters:se,variant:c?`fullscreen`:`docked`}),c&&j===`explore`&&m!==null&&N?(0,A.jsx)(`div`,{className:`pointer-events-none absolute inset-x-4 top-4 z-10 flex justify-center`,children:(0,A.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,A.jsx)(N.Icon,{className:`size-4 shrink-0 text-primary`}),(0,A.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,A.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:N.eyebrow}),(0,A.jsx)(`div`,{className:`truncate font-medium text-foreground`,children:m.label}),(0,A.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:N.secondaryLabel}),(0,A.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:N.description})]}),(0,A.jsx)(o,{size:`sm`,className:`shrink-0`,onClick:N.onAction,children:N.actionLabel})]})}):null]}):null,n[72]=r,n[73]=j,n[74]=se,n[75]=c,n[76]=m,n[77]=N,n[78]=M,n[79]=Je):Je=n[79];let Ye;n[80]!==j||n[81]!==c||n[82]!==f?(Ye=c&&j===`orphans`?(0,A.jsx)(Sm,{mode:f,onModeChange:p}):null,n[80]=j,n[81]=c,n[82]=f,n[83]=Ye):Ye=n[83];let Xe;n[84]!==j||n[85]!==c?(Xe=c&&j===`hubs`?(0,A.jsx)(Tm,{}):null,n[84]=j,n[85]=c,n[86]=Xe):Xe=n[86];let Ze;return n[87]!==Oe||n[88]!==qe||n[89]!==Je||n[90]!==Ye||n[91]!==Xe?(Ze=(0,A.jsxs)(S,{className:Oe,children:[qe,Je,Ye,Xe]}),n[87]=Oe,n[88]=qe,n[89]=Je,n[90]=Ye,n[91]=Xe,n[92]=Ze):Ze=n[92],Ze}function km(e){return!e}function Am(e){return!e}function jm(e){let[n,r]=e;return(0,A.jsx)(D,{value:n,children:r},n)}function Mm(){return pm(fm)}function Nm(){return pm(dm)}export{Om as GraphPanel};
|
|
46
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function pf(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 mf(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]==null?{}:arguments[n];n%2?pf(Object(r),!0).forEach(function(n){sf(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):pf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function hf(e,n){return rf(e)||uf(e,n)||bf(e,n)||df()}function gf(e){return af(e)||lf(e)||bf(e)||ff()}function _f(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 vf(e){var n=_f(e,`string`);return typeof n==`symbol`?n:n+``}function yf(e){"@babel/helpers - typeof";return yf=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},yf(e)}function bf(e,n){if(e){if(typeof e==`string`)return nf(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)?nf(e,n):void 0}}var xf=Qd(ef);function Sf(e,n,r){!n||typeof r!=`string`||e.filter(function(e){return!e[r]}).forEach(function(e){e[r]=xf(n(e))})}function Cf(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 yf(e)===`object`?n(e):e}});var d=[];return f(Object.values(u)),Object.assign.apply(Object,[{}].concat(gf(Object.entries(u).filter(function(e){return!hf(e,2)[1].skip}).map(function(e){var n=hf(e,2),r=n[0],i=n[1];return sf({},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(gf(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(gf(r),[a]),i+ +!a.skip))},o=0,s=e.length;o<s;o++)if(a())continue}}var wf=2,Q=function(e,n){return n.onNeedsRedraw&&n.onNeedsRedraw()},Tf=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=gf(Array(n)).map(function(){return{}}):delete e.__photons})}},Ef=gs({props:{graphData:{default:{nodes:[],links:[]},onChange:function(e,n){n.engineRunning=!1,Tf(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:Tf},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(gf(d),f,h),d=d.concat(m)}c.save(),d.forEach(function(n){return e.linkCanvasObject(n,c,e.globalScale)}),c.restore();var g=Yd(p,[r,i,a]);c.save(),Object.entries(g).forEach(function(n){var r=hf(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=hf(n,2),i=r[0],o=r[1],u=(i||1)/e.globalScale+l;Object.entries(o).forEach(function(e){var n=hf(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,gf(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&&of(Pd,[d.x,d.y].concat(gf(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?of(Pd,[u.x,u.y].concat(gf(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:sd().force(`link`,Yu()).force(`charge`,cd()).force(`center`,Fl()).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&&Sf(e.graphData.nodes,V(e.nodeAutoColorBy),e.nodeColor),e.linkAutoColorBy!==null&&Sf(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&&Cf(e.graphData,function(n){return n[e.nodeId]},{nodeFilter:e.dagNodeFilter,onLoopError:e.onDagError||void 0}),a=Math.max.apply(Math,gf(Object.values(i||[]))),o=e.dagLevelDistance||e.graphData.nodes.length/(a||1)*wf*([`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:ld(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 Df(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 Of=800,kf=4,Af=5,jf=Df(`forceGraph`,Ef),Mf=Df([`forceGraph`,`shadowGraph`],Ef),Nf=Object.assign.apply(Object,gf(`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 sf({},e,jf.linkProp(e))})).concat(gf([`nodeRelSize`,`nodeId`,`nodeVal`,`nodeVisibility`,`linkSource`,`linkTarget`,`linkVisibility`,`linkCurvature`].map(function(e){return sf({},e,Mf.linkProp(e))})))),Pf=Object.assign.apply(Object,gf([`d3Force`,`d3ReheatSimulation`,`emitParticle`].map(function(e){return sf({},e,jf.linkMethod(e))})));function Ff(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=Qa(e.canvas).k;e.zoom.translateBy(e.zoom.__baseElem,(e.width-n)/2/a,(e.height-r)/2/a),e.needsRedraw=!0}}function If(e){var n=window.devicePixelRatio;e.setTransform(n,0,0,n,0,0)}function Lf(e,n,r){e.save(),If(e),e.clearRect(0,0,n,r),e.restore()}var Rf=gs({props:mf({width:{default:window.innerWidth,onChange:function(e,n){return Ff(n)},triggerUpdate:!1},height:{default:window.innerHeight,onChange:function(e,n){return Ff(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}},Nf),aliases:{stopAnimation:`pauseAnimation`},methods:mf({graph2ScreenCoords:function(e,n,r){var i=Qa(e.canvas);return{x:n*i.k+i.x,y:r*i.k+i.y}},screen2GraphCoords:function(e,n,r){var i=Qa(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 as(o()).to(a,i).easing($o.Quadratic.Out).onUpdate(s).onComplete(function(){e.tweenGroup.remove(this)}).start()):s(a),this}return o();function o(){var n=Qa(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 as({k:i()}).to({k:n},r).easing($o.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 Qa(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:[ho(a,function(e){return e.x-e.r}),mo(a,function(e){return e.x+e.r})],y:[ho(a,function(e){return e.y-e.r}),mo(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:[]})}},Pf),stateInit:function(){return{lastSetZoom:1,zoom:so(),forceGraph:new Ef,shadowGraph:new Ef().cooldownTicks(0).nodeColor(`__indexColor`).linkColor(`__indexColor`).isShadow(!0),colorTracker:new Tc,tweenGroup:new ts}},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};An(n.canvas).call(Zn().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=Qa(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&&Af>=Math.sqrt(go([`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=An(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){If(e),e.translate(i.x,i.y),e.scale(i.k,i.k)}),n.isPointerDragging=!0,n.onZoom&&n.onZoom(mf(mf({},i),r.centerAt())),n.needsRedraw=!0}).on(`end`,function(e){n.isPointerDragging=!1,n.onZoomEnd&&n.onZoomEnd(mf(mf({},e.transform),r.centerAt()))}),Ff(n),n.forceGraph.onNeedsRedraw(function(){return n.needsRedraw=!0}).onFinishUpdate(function(){Qa(n.canvas).k===n.lastSetZoom&&n.graphData.nodes.length&&(n.zoom.scaleTo(n.zoom.__baseElem,n.lastSetZoom=kf/Math.cbrt(n.graphData.nodes.length)),n.needsRedraw=!0)}),n.tooltip=new Pl(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=Qo(function(){Lf(o,n.width,n.height),n.shadowGraph.linkWidth(function(e){return V(n.linkWidth)(e)+n.linkHoverPrecision});var e=Qa(n.canvas);n.shadowGraph.globalScale(e.k).tickFrame()},Of);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){Lf(a,n.width,n.height);var p=Qa(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){}}),zf=e(((e,n)=>{n.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),Bf=e(((e,n)=>{var r=zf();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}})),$=n(e(((e,n)=>{n.exports=Bf()()}))(),1),Vf={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},Hf={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},Uf={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])},Wf=Object.assign({},Vf,Hf,{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({},Vf,Hf,Uf,{enableNavigationControls:$.default.bool,controlType:$.default.oneOf([`trackball`,`orbit`,`fly`]),rendererConfig:$.default.object,extraRenderers:$.default.arrayOf($.default.shape({render:$.default.func.isRequired}))}),Object.assign({},Vf,Uf,{nodeDesc:$.default.oneOfType([$.default.string,$.default.func]),linkDesc:$.default.oneOfType([$.default.string,$.default.func])}),Object.assign({},Vf,Uf,{markerAttrs:$.default.object,yOffset:$.default.number,glScale:$.default.number});var Gf=Fe(Rf,{methodNames:[`emitParticle`,`d3Force`,`d3ReheatSimulation`,`stopAnimation`,`pauseAnimation`,`resumeAnimation`,`centerAt`,`zoom`,`zoomToFit`,`getGraphBbox`,`screen2GraphCoords`,`graph2ScreenCoords`]});Gf.displayName=`ForceGraph2D`,Gf.propTypes=Wf;var Kf=/(?:\s+[—–|]\s+|:\s+)/;function qf(e){let n=new Map;for(let r of e){let e=np(r.label||r.id),i=Qf(e),a=ep(r.kind===`doc`?r.docName??r.id:r.url??r.id),o=$f(i),s=o?ep(i):i,c=o?[]:Zf(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 Jf(e,n,r){if(!e)return``;let i=e=>r(e)<=n;for(let n of rp([e.primaryLabel,e.topicLabel]))if(i(n))return n;for(let i of rp([e.topicLabel,e.primaryLabel])){let e=Yf(i,n,r);if(e)return e}if(e.leadLabel&&i(e.leadLabel))return e.leadLabel;if(e.leadLabel){let i=Yf(e.leadLabel,n,r);if(i)return i}return i(e.pathLabel)?e.pathLabel:Yf(e.pathLabel,n,r)||e.pathLabel}function Yf(e,n,r){if(!e)return``;if(r(e)<=n)return e;let i=e.split(/\s+/).filter(Boolean),a=rp([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 Xf(e,n,r)}function Xf(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 Zf(e){return np(e).split(Kf).map(e=>np(e)).filter(Boolean)}function Qf(e){let n=np(e);for(;;){let e=n.replace(/\s*\([^()]*\)\s*$/,``).trim();if(!e||e===n)return n;n=e}}function $f(e){let n=(e.match(/\//g)??[]).length,r=(e.match(/\s/g)??[]).length;return n>0&&(r===0||n*3>r)}function ep(e){let n=e.split(`/`).map(e=>e.trim()).filter(Boolean);return n.length===0?e:n.length===1?tp(n[0]):n.slice(-2).map(tp).join(` / `)}function tp(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 np(e){return e.replace(/\s+/g,` `).trim()}function rp(e){let n=new Set;for(let r of e)r&&n.add(r);return[...n]}var ip=8,ap=10,op=4,sp=6,cp=4,lp=ap+cp*2,up=2,dp=.001;function fp(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=pp(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=Jf(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(hp);let _=[],v=[];for(let e=0;e<g.length&&!(_.length>=o);e+=1){let n=g[e],r=gp(n,{priority:g.length-e,viewport:a,acceptedRects:v,positionedNodes:h});r&&(_.push(r),v.push(r.rect))}return _}function pp(e){let n=new Map;for(let r of e){let e=mp(r.source),i=mp(r.target);e&&n.set(e,(n.get(e)??0)+1),i&&n.set(i,(n.get(i)??0)+1)}return n}function mp(e){return typeof e==`string`?e:typeof e?.id==`string`?e.id:typeof e?.id==`number`?String(e.id):null}function hp(e,n){return e.isActive===n.isActive?Math.abs(e.distanceToCenterPx-n.distanceToCenterPx)>dp?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 gp(e,{priority:n,viewport:r,acceptedRects:i,positionedNodes:a}){for(let o of[`bottom`,`top`,`right`,`left`]){let s=_p(e,o,n);if(vp(s.rect,r)&&!i.some(e=>yp(e,s.rect))&&!a.some(n=>n.node.id!==e.node.id&&bp(s.rect,{x:n.screenX,y:n.screenY,radius:n.radiusPx+up})))return s}return null}function _p(e,n,r){let i=e.textWidthPx+sp*2,a=i/2,o=lp/2,s=e.screenX-a,c=e.screenY+e.radiusPx+op;return n===`top`?c=e.screenY-e.radiusPx-op-lp:n===`right`?(s=e.screenX+e.radiusPx+op,c=e.screenY-o):n===`left`&&(s=e.screenX-e.radiusPx-op-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+lp},textX:s+a,textY:c+cp}}function vp(e,n){return e.left>=ip&&e.top>=ip&&e.right<=n.width-ip&&e.bottom<=n.height-ip}function yp(e,n){return!(e.right<=n.left||e.left>=n.right||e.bottom<=n.top||e.top>=n.bottom)}function bp(e,n){let r=xp(n.x,e.left,e.right),i=xp(n.y,e.top,e.bottom);return Math.hypot(n.x-r,n.y-i)<n.radius}function xp(e,n,r){return Math.min(r,Math.max(n,e))}var Sp=5,Cp=7,wp=8,Tp=[`x`,`y`,`z`,`vx`,`vy`,`vz`,`fx`,`fy`,`fz`,`index`,`__indexColor`];function Ep(e,n){for(let r of Tp){let i=n[r];i!==void 0&&(e[r]=i)}}function Dp(e){return typeof e==`string`?e:typeof e==`object`&&e&&`id`in e?String(e.id):``}function Op(e){return e.map(e=>`${e.id}:${e.label}`).join(`,`)}function kp(e){return e.map(e=>`${Dp(e.source)}>${Dp(e.target)}`).join(`,`)}function Ap(e,n){let r=new Map(e.nodes.map(e=>[e.id,e])),i=n.nodes.map(e=>{let n={...e},i=r.get(e.id);return i&&Ep(n,i),n}),a=new Map(e.links.map(e=>[`${Dp(e.source)}>${Dp(e.target)}`,e]));return{nodes:i,links:n.links.map(e=>{let n={...e},r=a.get(`${Dp(e.source)}>${Dp(e.target)}`);return r?.__indexColor&&(n.__indexColor=r.__indexColor),n})}}function jp(e,n={}){if(e.kind===`external`)return e.url;let r=e.label??e.id,i=n.displayState??`doc`,a=e.cluster||e.category||e.tags&&e.tags.length>0;if(i===`doc`&&!a)return r;let o=[...Mp(i),`<div style="font-weight:600;font-size:14px;color:#f1f5f9;margin-bottom:${a?8:0}px;padding-bottom:${a?6:0}px;border-bottom:${a?`1px solid rgba(148,163,184,0.3)`:`none`}">${Np(r)}</div>`];return e.cluster&&o.push(`<div style="font-size:12.5px;color:#f1f5f9;margin-bottom:2px"><span style="color:#cbd5e1">cluster:</span> ${Np(e.cluster)}</div>`),e.category&&o.push(`<div style="font-size:12.5px;color:#f1f5f9;margin-bottom:2px"><span style="color:#cbd5e1">category:</span> ${Np(e.category)}</div>`),e.tags&&e.tags.length>0&&o.push(`<div style="font-size:12.5px;color:#f1f5f9"><span style="color:#cbd5e1">tags:</span> ${e.tags.map(Np).join(`, `)}</div>`),o.join(``)}function Mp(e){return e===`missing`?[`<div style="font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#fca5a5;margin-bottom:6px">Broken / uncreated link</div>`,`<div style="font-size:12px;color:#fecaca;margin-bottom:8px">This page does not exist yet. Open it to create it.</div>`]:e===`folder`?[`<div style="font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#c4b5fd;margin-bottom:6px">Folder target</div>`,`<div style="font-size:12px;color:#ddd6fe;margin-bottom:8px">This link resolves to a folder view rather than a standalone page.</div>`]:[]}function Np(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}function Pp(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 Fp(e){return e===`active`||e===`active-selected`?wp:e===`selected`||e===`external-selected`?Cp:Sp}function Ip(e,n){let r=Fp(e);return e===`active`||e===`selected`||e===`active-selected`||e===`external-selected`?r+2/Math.max(n,.01):r}function Lp(e){return m(e.docName,e.anchor)}function Rp(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:Lp({docName:e.docName,label:e.label,anchor:e.anchor??null})}}var zp=350,Bp=120,Vp=18,Hp=28,Up=5;function Wp({node:e,navigationIntentByNodeId:n}){return e.kind===`doc`?n.get(e.id)?.displayState??`doc`:`doc`}function Gp({state:e,displayState:n,globalScale:r}){let i=Ip(e,r);return n===`missing`?Math.max(i,Fp(e)+2/Math.max(r,.01)):i}function Kp({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 qp({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)>=Hp}function Jp({fg:e,nodes:n,activeDocName:r,zoom:i,focusKey:a,focusState:o,force:s=!1,durationMs:c=zp}){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<Bp)return u;let d=Kp({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<Vp&&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 Yp({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 Xp({node:e,fg:n,activeDocName:r,selectedNodeId:i,globalScale:a,displayState:o}){if(typeof e.x!=`number`||typeof e.y!=`number`)return null;let s=Pp(e,{activeDocName:r,selectedNodeId:i}),c=n.graph2ScreenCoords(e.x,e.y);return{x:c.x,y:c.y,radiusPx:Gp({state:s,displayState:o,globalScale:a})*a,state:s}}function Zp({clientX:e,clientY:n,container:r}){let i=r.getBoundingClientRect();return{x:e-i.left,y:n-i.top}}function Qp({point:e,fg:n,nodes:r,activeDocName:i,selectedNodeId:a,navigationIntentByNodeId:o}){let s=n.zoom(),c=null;for(let l of r){let r=Xp({node:l,fg:n,activeDocName:i,selectedNodeId:a,globalScale:s,displayState:Wp({node:l,navigationIntentByNodeId:o})});if(!r)continue;let u=Math.hypot(e.x-r.x,e.y-r.y);u>r.radiusPx||c!==null&&u>=c.distance||(c={node:l,distance:u})}return c?.node??null}function $p(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 em({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 tm({point:e,fg:n,links:r}){return r.some(r=>{let i=$p(r.source,n),a=$p(r.target,n);return!i||!a?!1:em({point:e,start:i,end:a})<=6})}function nm({node:e,docClickBehavior:n,onSelectNode:r}){let i=Rp(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 rm({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}nm({node:e.node,docClickBehavior:n,onSelectNode:i})}function im(e){let n=(0,oe.c)(110),{activeDocName:r,selectedNodeId:i,isExpanded:o,showUrlNodes:s,className:c,docClickBehavior:l,onSelectNode:d,onBackgroundClick:f,onStatsChange:h,onClustersChange:_}=e,v=i===void 0?null:i,y=o===void 0?!1:o,b=s===void 0?!0:s,x=c===void 0?``:c,S=l===void 0?`navigate`:l,C;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(C={nodes:[],links:[]},n[0]=C):C=n[0];let[w,T]=(0,k.useState)(C),E;n[1]===Symbol.for(`react.memo_cache_sentinel`)?(E={nodes:``,links:``},n[1]=E):E=n[1];let D=(0,k.useRef)(E),[O,te]=(0,k.useState)(!0),[ne,re]=(0,k.useState)(null),ie=(0,k.useRef)(null),ae=(0,k.useRef)(void 0),se;n[2]===Symbol.for(`react.memo_cache_sentinel`)?(se={key:``,lastX:null,lastY:null,lastAt:0},n[2]=se):se=n[2];let ce=(0,k.useRef)(se),le=(0,k.useRef)(null),de=(0,k.useRef)(w.nodes),fe=(0,k.useRef)(!1),pe;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(pe={width:320,height:400},n[3]=pe):pe=n[3];let[me,he]=(0,k.useState)(pe),{resolvedTheme:ge}=u(),{folderPaths:_e,loading:ve,pages:ye}=g(),be,xe;n[4]!==r||n[5]!==y?(be=()=>{let e=!1,n=async function(){try{let n=new URLSearchParams;!y&&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;re(`Server error: ${a.status}`),te(!1);return}let o=await a.json();if(e)return;if(!o.ok){re(o.error??`Failed to load graph`),te(!1);return}let s=o.nodes??[],c=o.links??[],l=Op(s),u=kp(c);(l!==D.current.nodes||u!==D.current.links)&&(D.current={nodes:l,links:u},T(e=>Ap(e,{nodes:s,links:c}))),re(null),te(!1)}catch(n){let r=n;if(e)return;re(r instanceof Error?r.message:`Failed to load graph`),te(!1)}};te(!0),n();let i=()=>{document.visibilityState===`visible`&&n()};window.addEventListener(`focus`,i),window.addEventListener(`visibilitychange`,i);let a=p(e=>{(e.includes(`files`)||e.includes(`graph`))&&n()});return()=>{e=!0,window.removeEventListener(`focus`,i),window.removeEventListener(`visibilitychange`,i),a()}},xe=[r,y],n[4]=r,n[5]=y,n[6]=be,n[7]=xe):(be=n[6],xe=n[7]),(0,k.useEffect)(be,xe);let Se,Ce;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(Se=()=>{let e=ie.current;if(!e)return;let n=new ResizeObserver(e=>{let[n]=e,{width:r,height:i}=n.contentRect;r>0&&i>0&&he({width:Math.floor(r),height:Math.floor(i)})});return n.observe(e),()=>n.disconnect()},Ce=[],n[8]=Se,n[9]=Ce):(Se=n[8],Ce=n[9]),(0,k.useEffect)(Se,Ce);let j=ge===`dark`,M=j?`hsl(0 0% 4%)`:`hsl(0 0% 100%)`,we=j?`#6b7280`:`#9ca3af`,Te=j?`#69a3ff`:`#3784ff`,Ee=j?`#34d399`:`#059669`,De=j?`#c084fc`:`#7c3aed`,N=j?`#f59e0b`:`#c2410c`,Oe=j?`#a78bfa`:`#7c3aed`,ke=j?`#f87171`:`#dc2626`,Ae=j?`rgba(75,85,99,0.6)`:`rgba(209,213,219,0.8)`,je=j?`#f3f4f6`:`#111827`,Me=j?`rgba(105,163,255,0.45)`:`rgba(55,132,255,0.3)`,Ne=j?`rgba(167,139,250,0.38)`:`rgba(124,58,237,0.22)`,Pe=j?`rgba(248,113,113,0.58)`:`rgba(220,38,38,0.38)`,Fe=j?`rgba(52,211,153,0.5)`:`rgba(5,150,105,0.3)`,Ie=j?`rgba(192,132,252,0.5)`:`rgba(124,58,237,0.35)`,Le=j?`rgba(3,7,18,0.92)`:`rgba(255,255,255,0.94)`,Re=j?`rgba(243,244,246,0.08)`:`rgba(17,24,39,0.08)`,P=y?1.6:2.35,ze=y?220:150,Be=y?10:18,Ve;n[10]!==w||n[11]!==b?(Ve=b?w:(()=>{let e=new Set(w.nodes.filter(lm).map(cm));return{nodes:w.nodes.filter(sm),links:w.links.filter(n=>{let r=Dp(n.source),i=Dp(n.target);return!e.has(r)&&!e.has(i)})}})(),n[10]=w,n[11]=b,n[12]=Ve):Ve=n[12];let F=Ve,He=F.nodes,Ue=F.links,We;n[13]===F.nodes?We=n[14]:(We=qf(F.nodes),n[13]=F.nodes,n[14]=We);let Ge=We,I=`${r}|${P}`,Ke;if(n[15]!==_e||n[16]!==w.nodes||n[17]!==ve||n[18]!==ye){let e;n[20]!==_e||n[21]!==ve||n[22]!==ye?(e=e=>{if(e.kind!==`doc`)return[];let n=ve?{displayState:`doc`,hashDocName:e.docName}:ee(e.docName,{pages:ye,folderPaths:_e});return[[e.id,n]]},n[20]=_e,n[21]=ve,n[22]=ye,n[23]=e):e=n[23],Ke=new Map(w.nodes.flatMap(e)),n[15]=_e,n[16]=w.nodes,n[17]=ve,n[18]=ye,n[19]=Ke}else Ke=n[19];let L=Ke,R;n[24]!==F.links||n[25]!==F.nodes||n[26]!==O||n[27]!==h?(R=()=>{h?.(F.nodes.length,F.links.length,O)},n[24]=F.links,n[25]=F.nodes,n[26]=O,n[27]=h,n[28]=R):R=n[28];let qe;n[29]!==F||n[30]!==O||n[31]!==h?(qe=[F,O,h],n[29]=F,n[30]=O,n[31]=h,n[32]=qe):qe=n[32],(0,k.useEffect)(R,qe);let Je;n[33]!==w.nodes||n[34]!==_?(Je=()=>{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[33]=w.nodes,n[34]=_,n[35]=Je):Je=n[35];let Ye;n[36]!==w||n[37]!==_?(Ye=[w,_],n[36]=w,n[37]=_,n[38]=Ye):Ye=n[38],(0,k.useEffect)(Je,Ye);let Xe,Ze;n[39]===w.nodes?(Xe=n[40],Ze=n[41]):(Xe=()=>{de.current=w.nodes},Ze=[w.nodes],n[39]=w.nodes,n[40]=Xe,n[41]=Ze),(0,k.useEffect)(Xe,Ze);let Qe,$e;n[42]!==r||n[43]!==I||n[44]!==P?(Qe=()=>{ce.current={key:I,lastX:null,lastY:null,lastAt:0};let e=window.requestAnimationFrame(()=>{ce.current=Jp({fg:ae.current,nodes:de.current,activeDocName:r,zoom:P,focusKey:I,focusState:ce.current,force:!0})});return()=>window.cancelAnimationFrame(e)},$e=[I,r,P],n[42]=r,n[43]=I,n[44]=P,n[45]=Qe,n[46]=$e):(Qe=n[45],$e=n[46]),(0,k.useEffect)(Qe,$e);let et,tt;n[47]!==r||n[48]!==F.links||n[49]!==F.nodes||n[50]!==S||n[51]!==L||n[52]!==f||n[53]!==d||n[54]!==v?(et=()=>{},tt=[r,S,F.links,F.nodes,L,f,d,v],n[47]=r,n[48]=F.links,n[49]=F.nodes,n[50]=S,n[51]=L,n[52]=f,n[53]=d,n[54]=v,n[55]=et,n[56]=tt):(et=n[55],tt=n[56]),(0,k.useEffect)(et,tt);let nt;n[57]===x?nt=n[58]:(nt=a(`h-full min-h-0 overflow-hidden`,x),n[57]=x,n[58]=nt);let rt;n[59]===Symbol.for(`react.memo_cache_sentinel`)?(rt=()=>{le.current=null},n[59]=rt):rt=n[59];let it;n[60]!==r||n[61]!==F.links||n[62]!==F.nodes||n[63]!==L||n[64]!==v?(it=e=>{if(!e.isPrimary||e.button!==0){le.current=null;return}le.current={pointerId:e.pointerId,clientX:e.clientX,clientY:e.clientY,target:(()=>{let n=ie.current,i=ae.current;if(!n||!i)return{kind:`background`};let a=Zp({clientX:e.clientX,clientY:e.clientY,container:n}),o=Qp({point:a,fg:i,nodes:F.nodes,activeDocName:r,selectedNodeId:v,navigationIntentByNodeId:L});return o?{kind:`node`,node:o}:tm({point:a,fg:i,links:F.links})?{kind:`link`}:{kind:`background`}})()}},n[60]=r,n[61]=F.links,n[62]=F.nodes,n[63]=L,n[64]=v,n[65]=it):it=n[65];let at;n[66]!==S||n[67]!==f||n[68]!==d||n[69]!==v?(at=e=>{if(!e.isPrimary||e.button!==0){le.current=null;return}let n=le.current;le.current=null,!(!n||n.pointerId!==e.pointerId)&&(Math.hypot(e.clientX-n.clientX,e.clientY-n.clientY)>Up||rm({target:n.target,docClickBehavior:S,selectedNodeId:v,onSelectNode:d,onBackgroundClick:f}))},n[66]=S,n[67]=f,n[68]=d,n[69]=v,n[70]=at):at=n[70];let ot;n[71]!==r||n[72]!==Te||n[73]!==Me||n[74]!==De||n[75]!==Ie||n[76]!==M||n[77]!==we||n[78]!==me||n[79]!==F||n[80]!==Ae||n[81]!==ne||n[82]!==N||n[83]!==I||n[84]!==P||n[85]!==Oe||n[86]!==Ne||n[87]!==w.nodes||n[88]!==j||n[89]!==Re||n[90]!==Le||n[91]!==je||n[92]!==Ge||n[93]!==Ue||n[94]!==He||n[95]!==O||n[96]!==ze||n[97]!==Be||n[98]!==ke||n[99]!==Pe||n[100]!==L||n[101]!==Ee||n[102]!==v||n[103]!==Fe?(ot=ne?(0,A.jsx)(`p`,{className:`p-4 text-sm text-destructive`,children:ne}):F.nodes.length===0&&!O?(0,A.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,A.jsx)(`div`,{className:`h-full min-h-0`,role:`img`,"aria-label":`Graph visualization of document links`,children:(0,A.jsx)(Gf,{ref:ae,graphData:F,cooldownTicks:150,onEngineTick:()=>{fe.current=!1,ce.current=Jp({fg:ae.current,nodes:w.nodes,activeDocName:r,zoom:P,focusKey:I,focusState:ce.current})},onEngineStop:()=>{fe.current=!0;let e=Kp({nodes:w.nodes,activeDocName:r});qp({fg:ae.current,coords:e,dimensions:me})&&(ce.current=Jp({fg:ae.current,nodes:w.nodes,activeDocName:r,zoom:P,focusKey:I,focusState:ce.current,force:!0}))},width:me.width,height:me.height,backgroundColor:M,nodeId:`id`,nodeLabel:e=>jp(e,{displayState:Wp({node:e,navigationIntentByNodeId:L})}),nodeRelSize:4,nodeVal:e=>{let n=Pp(e,{activeDocName:r,selectedNodeId:v});return n===`active-selected`?20:n===`active`?18:n===`selected`||n===`external-selected`?12:6},nodeCanvasObjectMode:om,nodeCanvasObject:(e,n,i)=>{if(typeof e.x!=`number`||typeof e.y!=`number`)return;let a=Pp(e,{activeDocName:r,selectedNodeId:v}),o=Wp({node:e,navigationIntentByNodeId:L}),s=o===`folder`,c=o===`missing`,l=Fp(a),u=Gp({state:a,displayState:o,globalScale:i}),d=e.kind===`doc`?e.cluster:void 0,f=d?ue(d,j):we;n.beginPath(),n.arc(e.x,e.y,l,0,2*Math.PI,!1),n.fillStyle=a===`active`?Te:a===`active-selected`?De:a===`external`||a===`external-selected`?N:c?ke:a===`selected`?Ee:s?Oe:f,n.fill(),u>l?(n.beginPath(),n.arc(e.x,e.y,u,0,2*Math.PI,!1),n.strokeStyle=c?Pe:a===`active`?Me:a===`selected`||a===`external-selected`?Fe:Ie,n.lineWidth=c?1.75/i:2/i,n.setLineDash(c?[3/i,2/i]:[]),n.stroke(),n.setLineDash([])):s&&(n.beginPath(),n.arc(e.x,e.y,l+2/i,0,2*Math.PI,!1),n.strokeStyle=Ne,n.lineWidth=1.5/i,n.stroke())},nodePointerAreaPaint:(e,n,i,a)=>{if(typeof e.x!=`number`||typeof e.y!=`number`)return;let o=Pp(e,{activeDocName:r,selectedNodeId:v}),s=Wp({node:e,navigationIntentByNodeId:L});i.beginPath(),i.arc(e.x,e.y,Gp({state:o,displayState:s,globalScale:a}),0,2*Math.PI,!1),i.fillStyle=n,i.fill()},onRenderFramePost:(e,n)=>{if(n<1.8)return;let i=ae.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`,Yp({ctx:e,placements:fp({nodes:He,links:Ue,activeDocName:r,viewport:me,maxLabels:Be,maxLabelWidthPx:ze,labelDescriptors:Ge,measureTextWidthPx:n=>e.measureText(n).width,projectToScreen:(e,n)=>i.graph2ScreenCoords(e,n),getNodeRadiusPx:e=>Gp({state:Pp(e,{activeDocName:r,selectedNodeId:v}),displayState:Wp({node:e,navigationIntentByNodeId:L}),globalScale:n})*n+4}),labelColor:je,chipColor:Le,chipBorderColor:Re}),e.restore()},linkColor:()=>Ae,linkDirectionalArrowLength:3,linkDirectionalArrowRelPos:1,linkWidth:1,showPointerCursor:am,onNodeClick:e=>{if(e.kind===`external`){window.open(e.url,`_blank`,`noopener,noreferrer`);return}if(e.docName){let n=L.get(e.id);window.location.assign(m(n?.hashDocName??e.docName,e.anchor??null))}}})}),n[71]=r,n[72]=Te,n[73]=Me,n[74]=De,n[75]=Ie,n[76]=M,n[77]=we,n[78]=me,n[79]=F,n[80]=Ae,n[81]=ne,n[82]=N,n[83]=I,n[84]=P,n[85]=Oe,n[86]=Ne,n[87]=w.nodes,n[88]=j,n[89]=Re,n[90]=Le,n[91]=je,n[92]=Ge,n[93]=Ue,n[94]=He,n[95]=O,n[96]=ze,n[97]=Be,n[98]=ke,n[99]=Pe,n[100]=L,n[101]=Ee,n[102]=v,n[103]=Fe,n[104]=ot):ot=n[104];let st;return n[105]!==nt||n[106]!==it||n[107]!==at||n[108]!==ot?(st=(0,A.jsx)(`div`,{ref:ie,className:nt,onPointerCancel:rt,onPointerDownCapture:it,onPointerUpCapture:at,children:ot}),n[105]=nt,n[106]=it,n[107]=at,n[108]=ot,n[109]=st):st=n[109],st}function am(e){return!!(e&&`kind`in e)}function om(){return`replace`}function sm(e){return e.kind!==`external`}function cm(e){return e.id}function lm(e){return e.kind===`external`}var um=50,dm=`ok-graph-docked-url-nodes-v1`,fm=`ok-graph-fullscreen-url-nodes-v1`;function pm(e){if(typeof window>`u`)return!1;try{return window.localStorage.getItem(e)===`true`}catch{return!1}}function mm(e,n){if(!(typeof window>`u`))try{n?window.localStorage.setItem(e,`true`):window.localStorage.removeItem(e)}catch{}}var hm={explore:`Explore`,orphans:`Orphans`,hubs:`Hubs`},gm={incoming:`No Incoming`,outgoing:`No Outgoing`,both:`Both`};async function _m(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 vm(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 ym(e){window.location.assign(m(e))}function bm(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 xm(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 Sm(e){let n=(0,oe.c)(29),{mode:r,onModeChange:i}=e,a;n[0]===r?a=n[1]:(a={queryKey:[`orphans`,r],queryFn:()=>_m(r)},n[0]=r,n[1]=a);let{data:o,isLoading:s,error:c}=d(a),u;n[2]===o?u=n[3]:(u=o===void 0?[]:o,n[2]=o,n[3]=u);let p=u,m;n[4]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,A.jsx)(`p`,{className:`text-sm font-medium`,children:`Project-level disconnected pages`}),n[4]=m):m=n[4];let g;n[5]===r?g=n[6]:(g=bm(r),n[5]=r,n[6]=g);let v;n[7]===g?v=n[8]:(v=(0,A.jsxs)(`div`,{className:`space-y-1`,children:[m,(0,A.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:g})]}),n[7]=g,n[8]=v);let b;n[9]===i?b=n[10]:(b=e=>{e&&l(e)&&i(e)},n[9]=i,n[10]=b);let x;n[11]===Symbol.for(`react.memo_cache_sentinel`)?(x=y.map(wm),n[11]=x):x=n[11];let S;n[12]!==r||n[13]!==b?(S=(0,A.jsx)(te,{type:`single`,size:`sm`,variant:`outline`,value:r,"aria-label":`Orphan mode`,onValueChange:b,children:x}),n[12]=r,n[13]=b,n[14]=S):S=n[14];let C;n[15]!==v||n[16]!==S?(C=(0,A.jsx)(`div`,{className:`border-b border-border/60 px-4 py-3`,children:(0,A.jsxs)(`div`,{className:`flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between`,children:[v,S]})}),n[15]=v,n[16]=S,n[17]=C):C=n[17];let w;n[18]!==c||n[19]!==s||n[20]!==r||n[21]!==p?(w=c?(0,A.jsx)(f,{children:c instanceof Error?c.message:`Failed to load orphan pages`}):p.length===0&&!s?(0,A.jsx)(h,{children:xm(r)}):(0,A.jsx)(`div`,{className:`flex flex-col gap-2`,children:p.map(Cm)}),n[18]=c,n[19]=s,n[20]=r,n[21]=p,n[22]=w):w=n[22];let T;n[23]!==s||n[24]!==w?(T=(0,A.jsx)(_,{"aria-busy":s,children:w}),n[23]=s,n[24]=w,n[25]=T):T=n[25];let E;return n[26]!==C||n[27]!==T?(E=(0,A.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[C,T]}),n[26]=C,n[27]=T,n[28]=E):E=n[28],E}function Cm(e){return(0,A.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:()=>ym(e.docName),children:[(0,A.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.title}),(0,A.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.docName})]},e.docName)}function wm(e){return(0,A.jsx)(D,{value:e,children:gm[e]},e)}function Tm(){let e=(0,oe.c)(11),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:[`hubs`,um],queryFn:Dm},e[0]=n):n=e[0];let{data:r,isLoading:i,error:a}=d(n),o;e[1]===r?o=e[2]:(o=r===void 0?[]:r,e[1]=r,e[2]=o);let s=o,c;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,A.jsx)(`div`,{className:`border-b border-border/60 px-4 py-3`,children:(0,A.jsxs)(`div`,{className:`space-y-1`,children:[(0,A.jsx)(`p`,{className:`text-sm font-medium`,children:`Top linked pages`}),(0,A.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Project-level pages ordered by inbound link count, up to `,um,` results.`]})]})}),e[3]=c):c=e[3];let l;e[4]!==a||e[5]!==s||e[6]!==i?(l=a?(0,A.jsx)(f,{children:a instanceof Error?a.message:`Failed to load hub pages`}):s.length===0&&!i?(0,A.jsx)(h,{children:`No hub pages yet. Hubs appear once pages accumulate inbound graph links.`}):(0,A.jsx)(`div`,{className:`flex flex-col gap-2`,children:s.map(Em)}),e[4]=a,e[5]=s,e[6]=i,e[7]=l):l=e[7];let u;return e[8]!==i||e[9]!==l?(u=(0,A.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[c,(0,A.jsx)(_,{"aria-busy":i,children:l})]}),e[8]=i,e[9]=l,e[10]=u):u=e[10],u}function Em(e){return(0,A.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:()=>ym(e.docName),children:(0,A.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,A.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,A.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.title}),(0,A.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.docName})]}),(0,A.jsx)(`span`,{className:`rounded-md bg-muted px-2 py-1 text-xs font-mono text-muted-foreground`,children:e.count})]})},e.docName)}function Dm(){return vm(um)}function Om(e){let n=(0,oe.c)(93),{activeDocName:r}=e,{folderPaths:i,loading:a,pages:s}=g(),[c,l]=(0,k.useState)(!1),[u,d]=(0,k.useState)(`explore`),[f,p]=(0,k.useState)(`both`),[m,h]=(0,k.useState)(null),[_,y]=(0,k.useState)(null),D;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(D=[],n[0]=D):D=n[0];let[se,ce]=(0,k.useState)(D),[le,ue]=(0,k.useState)(Nm),[de,fe]=(0,k.useState)(Mm),me,he;n[1]===le?(me=n[2],he=n[3]):(me=()=>{mm(dm,le)},he=[le],n[1]=le,n[2]=me,n[3]=he),(0,k.useEffect)(me,he);let ge,_e;n[4]===de?(ge=n[5],_e=n[6]):(ge=()=>{mm(fm,de)},_e=[de],n[4]=de,n[5]=ge,n[6]=_e),(0,k.useEffect)(ge,_e);let ve,ye;n[7]===c?(ve=n[8],ye=n[9]):(ve=()=>{if(!c)return;let e=e=>{e.key===`Escape`&&l(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},ye=[c],n[7]=c,n[8]=ve,n[9]=ye),(0,k.useEffect)(ve,ye);let be,xe;n[10]!==c||n[11]!==m?(be=()=>{!c&&m!==null&&h(null)},xe=[c,m],n[10]=c,n[11]=m,n[12]=be,n[13]=xe):(be=n[12],xe=n[13]),(0,k.useEffect)(be,xe);let Se,Ce;n[14]!==u||n[15]!==m?(Se=()=>{u!==`explore`&&m!==null&&h(null)},Ce=[u,m],n[14]=u,n[15]=m,n[16]=Se,n[17]=Ce):(Se=n[16],Ce=n[17]),(0,k.useEffect)(Se,Ce);let j=c?u:`explore`,M=c?de:le,we=c?fe:ue,Te;n[18]!==i||n[19]!==a||n[20]!==s||n[21]!==m?(Te=m?.kind===`doc`&&!a?ee(m.docName,{pages:s,folderPaths:i}).displayState:`doc`,n[18]=i,n[19]=a,n[20]=s,n[21]=m,n[22]=Te):Te=n[22];let Ee=Te,De;n[23]!==r||n[24]!==Ee||n[25]!==m?(De=m===null?null:m.kind===`doc`&&Ee===`missing`?{eyebrow:`Broken link`,description:`This page doesn't exist yet. Open it to create the page in the editor and collapse the graph.`,Icon:re,actionLabel:`Create page`,secondaryLabel:m.docName,onAction:()=>{let e=Lp(m);l(!1),window.location.assign(e)}}:m.kind===`doc`&&m.docName===r?{eyebrow:`Already open`,description:`This document is already active in the editor. Use Open to collapse the graph.`,Icon:ne,actionLabel:`Open`,secondaryLabel:m.docName,onAction:()=>{let e=Lp(m);l(!1),window.location.assign(e)}}:m.kind===`doc`?{eyebrow:`Selected in graph`,description:`Open this document in the editor and collapse the graph.`,Icon:C,actionLabel:`Open`,secondaryLabel:m.docName,onAction:()=>{let e=Lp(m);l(!1),window.location.assign(e)}}:{eyebrow:`Selected in graph`,description:`Open this link in a new tab and collapse the graph.`,Icon:C,actionLabel:`Open link`,secondaryLabel:m.url,onAction:()=>{window.open(m.url,`_blank`,`noopener,noreferrer`),l(!1)}},n[23]=r,n[24]=Ee,n[25]=m,n[26]=De):De=n[26];let N=De,Oe=c?`fixed inset-0 z-50 bg-background overflow-hidden`:void 0,ke;n[27]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,A.jsx)(x,{children:`Graph`}),n[27]=ke):ke=n[27];let Ae;n[28]!==j||n[29]!==_?(Ae=j===`explore`&&_?(0,A.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,A.jsxs)(b,{children:[_.nodes,` nodes`]}),(0,A.jsxs)(b,{children:[_.links,` links`]})]}):null,n[28]=j,n[29]=_,n[30]=Ae):Ae=n[30];let je;n[31]===Ae?je=n[32]:(je=(0,A.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[ke,Ae]}),n[31]=Ae,n[32]=je);let Me;n[33]!==u||n[34]!==c?(Me=c?(0,A.jsx)(te,{type:`single`,size:`sm`,variant:`outline`,value:u,"aria-label":`Expanded graph mode`,onValueChange:e=>{(e===`explore`||e===`orphans`||e===`hubs`)&&d(e)},children:Object.entries(hm).map(jm)}):null,n[33]=u,n[34]=c,n[35]=Me):Me=n[35];let Ne=M?`Hide external URL nodes`:`Show external URL nodes`,Pe;n[36]===we?Pe=n[37]:(Pe=()=>we(Am),n[36]=we,n[37]=Pe);let Fe=M?`size-4 text-sidebar-accent-foreground`:`size-4 text-muted-foreground`,Ie;n[38]===Fe?Ie=n[39]:(Ie=(0,A.jsx)(T,{className:Fe}),n[38]=Fe,n[39]=Ie);let Le;n[40]!==M||n[41]!==Ne||n[42]!==Pe||n[43]!==Ie?(Le=(0,A.jsx)(O,{asChild:!0,children:(0,A.jsx)(o,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-foreground hover:bg-accent`,"aria-label":Ne,"aria-pressed":M,onClick:Pe,children:Ie})}),n[40]=M,n[41]=Ne,n[42]=Pe,n[43]=Ie,n[44]=Le):Le=n[44];let Re=c?`z-[9999]`:void 0,P=M?`Hide external URL nodes`:`Show external URL nodes`,ze;n[45]!==Re||n[46]!==P?(ze=(0,A.jsx)(w,{side:`bottom`,sideOffset:8,className:Re,children:P}),n[45]=Re,n[46]=P,n[47]=ze):ze=n[47];let Be;n[48]!==Le||n[49]!==ze?(Be=(0,A.jsxs)(E,{delayDuration:0,children:[Le,ze]}),n[48]=Le,n[49]=ze,n[50]=Be):Be=n[50];let Ve=c?`Collapse graph`:`Expand graph`,F;n[51]===Symbol.for(`react.memo_cache_sentinel`)?(F=()=>l(km),n[51]=F):F=n[51];let He;n[52]===c?He=n[53]:(He=c?(0,A.jsx)(ae,{className:`size-4`}):(0,A.jsx)(ie,{className:`size-4`}),n[52]=c,n[53]=He);let Ue;n[54]!==Ve||n[55]!==He?(Ue=(0,A.jsx)(O,{asChild:!0,children:(0,A.jsx)(o,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-foreground hover:bg-accent`,"aria-label":Ve,onClick:F,children:He})}),n[54]=Ve,n[55]=He,n[56]=Ue):Ue=n[56];let We=c?`z-[9999]`:void 0,Ge=c?`Collapse`:`Expand graph`,I;n[57]!==We||n[58]!==Ge?(I=(0,A.jsx)(w,{side:`bottom`,sideOffset:8,className:We,children:Ge}),n[57]=We,n[58]=Ge,n[59]=I):I=n[59];let Ke;n[60]!==Ue||n[61]!==I?(Ke=(0,A.jsxs)(E,{delayDuration:0,children:[Ue,I]}),n[60]=Ue,n[61]=I,n[62]=Ke):Ke=n[62];let L;n[63]!==Be||n[64]!==Ke?(L=(0,A.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[Be,Ke]}),n[63]=Be,n[64]=Ke,n[65]=L):L=n[65];let R;n[66]!==Me||n[67]!==L?(R=(0,A.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[Me,L]}),n[66]=Me,n[67]=L,n[68]=R):R=n[68];let qe;n[69]!==je||n[70]!==R?(qe=(0,A.jsxs)(v,{className:`flex-wrap gap-3`,children:[je,R]}),n[69]=je,n[70]=R,n[71]=qe):qe=n[71];let Je;n[72]!==r||n[73]!==j||n[74]!==se||n[75]!==c||n[76]!==m||n[77]!==N||n[78]!==M?(Je=j===`explore`?(0,A.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,A.jsx)(im,{activeDocName:r,selectedNodeId:c?m?.id??null:null,isExpanded:c,showUrlNodes:M,className:`h-full min-h-0`,docClickBehavior:c?`select`:`navigate`,onSelectNode:c?h:void 0,onBackgroundClick:c?()=>{m!==null&&h(null)}:void 0,onStatsChange:(e,n,r)=>{if(r){y(null);return}y({nodes:e,links:n})},onClustersChange:ce}),(0,A.jsx)(pe,{clusters:se,variant:c?`fullscreen`:`docked`}),c&&j===`explore`&&m!==null&&N?(0,A.jsx)(`div`,{className:`pointer-events-none absolute inset-x-4 top-4 z-10 flex justify-center`,children:(0,A.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,A.jsx)(N.Icon,{className:`size-4 shrink-0 text-primary`}),(0,A.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,A.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:N.eyebrow}),(0,A.jsx)(`div`,{className:`truncate font-medium text-foreground`,children:m.label}),(0,A.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:N.secondaryLabel}),(0,A.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:N.description})]}),(0,A.jsx)(o,{size:`sm`,className:`shrink-0`,onClick:N.onAction,children:N.actionLabel})]})}):null]}):null,n[72]=r,n[73]=j,n[74]=se,n[75]=c,n[76]=m,n[77]=N,n[78]=M,n[79]=Je):Je=n[79];let Ye;n[80]!==j||n[81]!==c||n[82]!==f?(Ye=c&&j===`orphans`?(0,A.jsx)(Sm,{mode:f,onModeChange:p}):null,n[80]=j,n[81]=c,n[82]=f,n[83]=Ye):Ye=n[83];let Xe;n[84]!==j||n[85]!==c?(Xe=c&&j===`hubs`?(0,A.jsx)(Tm,{}):null,n[84]=j,n[85]=c,n[86]=Xe):Xe=n[86];let Ze;return n[87]!==Oe||n[88]!==qe||n[89]!==Je||n[90]!==Ye||n[91]!==Xe?(Ze=(0,A.jsxs)(S,{className:Oe,children:[qe,Je,Ye,Xe]}),n[87]=Oe,n[88]=qe,n[89]=Je,n[90]=Ye,n[91]=Xe,n[92]=Ze):Ze=n[92],Ze}function km(e){return!e}function Am(e){return!e}function jm(e){let[n,r]=e;return(0,A.jsx)(D,{value:n,children:r},n)}function Mm(){return pm(fm)}function Nm(){return pm(dm)}export{Om as GraphPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e,n as t,r as n,t as r}from"./index-Dpc5ZsZ1.js";export{r as McpConsentDialogBody,r as default,t as computeInitialSelection,n as selectedIdsOrdered,e as toggleSelectedId};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-yRCb9u34.js","assets/dist-1RA1Ivz5.js","assets/button-BuHZQnlF.js","assets/w3c-keyname-DGDXsZN5.js","assets/dist-BJa-wTjR.js","assets/dist-CsuK1sJe.js","assets/dist-D96Jocj9.js","assets/dist-B90Tbt-G.js","assets/dist-DQmXHI9Z.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{O as e,S as t,T as n,w as r}from"./button-BuHZQnlF.js";import{
|
|
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=R.fromClass(Te),De=L.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=B.define(),ke=class extends ve{constructor(e,t){super(),this.color=e,this.name=t}toDOM(){return k(`span`,[C(`class`,`cm-ySelectionCaret`),C(`style`,`background-color: ${this.color}; border-color: ${this.color}`)],[T(``),k(`div`,[C(`class`,`cm-ySelectionCaretDot`)]),T(``),k(`div`,[C(`class`,`cm-ySelectionInfo`)],[T(this.name)]),T(``)])}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=ge.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:x(a.cursor.anchor),s=a.cursor==null?null:x(a.cursor.head);if(i!=null){let e=S(t,i.anchor),n=S(t,i.head);(a.cursor==null||!D(o,e)||!D(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=A(s.anchor,n),l=A(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=he(c.index,l.index),m=v(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=R.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=M.define({combine(e){return e[e.length-1]}});B.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=se(),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:[L.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=R.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 y(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,L.domEventHandlers({beforeinput(e,t){return e.inputType===`historyUndo`?Fe(t):e.inputType===`historyRedo`?Ie(t):!1}})),i},Re=[z.of({name:`javascript`,alias:[`js`,`jsx`],extensions:[`js`,`mjs`,`cjs`,`jsx`],load:async()=>O({jsx:!0})}),z.of({name:`typescript`,alias:[`ts`,`tsx`],extensions:[`ts`,`mts`,`cts`,`tsx`],load:async()=>O({typescript:!0,jsx:!0})}),z.of({name:`json`,alias:[`jsonc`],extensions:[`json`,`jsonc`],load:()=>j(()=>import(`./dist-yRCb9u34.js`).then(e=>e.json()),__vite__mapDeps([0,1,2,3,4]))}),z.of({name:`yaml`,alias:[`yml`],extensions:[`yaml`,`yml`],load:()=>j(()=>import(`./dist-CsuK1sJe.js`).then(e=>e.yaml()),__vite__mapDeps([5,1,2,3,4]))}),z.of({name:`css`,alias:[`scss`,`less`],extensions:[`css`,`scss`,`less`],load:async()=>w()}),z.of({name:`html`,alias:[`htm`],extensions:[`html`,`htm`],load:async()=>ce()}),z.of({name:`python`,alias:[`py`],extensions:[`py`,`pyw`],load:()=>j(()=>import(`./dist-D96Jocj9.js`).then(e=>e.python()),__vite__mapDeps([6,7,1,2,3,4]))}),z.of({name:`rust`,alias:[`rs`],extensions:[`rs`],load:()=>j(()=>import(`./dist-DQmXHI9Z.js`).then(e=>e.rust()),__vite__mapDeps([8,1,2,3,4]))}),z.of({name:`markdown`,alias:[`md`,`mdx`],extensions:[`md`,`mdx`,`markdown`],load:async()=>b()}),z.of({name:`bash`,alias:[`sh`,`shell`,`zsh`],extensions:[`sh`,`bash`,`zsh`],load:async()=>{let[{StreamLanguage:e,LanguageSupport:t},{shell:n}]=await Promise.all([j(()=>import(`./dist-1RA1Ivz5.js`).then(e=>e.m),__vite__mapDeps([1,2,3])),j(()=>import(`./shell-Cp2AENBi.js`),[])]);return new t(e.define(n))}}),z.of({name:`go`,alias:[`golang`],extensions:[`go`],load:async()=>{let[{StreamLanguage:e,LanguageSupport:t},{go:n}]=await Promise.all([j(()=>import(`./dist-1RA1Ivz5.js`).then(e=>e.m),__vite__mapDeps([1,2,3])),j(()=>import(`./go-C_J4XPHz.js`),[])]);return new t(e.define(n))}})],ze=P.define(),Be=P.define(),Ve=H.line({class:`agent-flash`}),He=F.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=>L.decorations.from(e)});function Ue(e){let t=e.getMap(`agent-flash`);return[He,R.define(e=>{let n=0,r=Date.now(),i=null,s=null,l=!1;function u(){let t=e.state.doc.length;t!==0&&(l||(e.dispatch({effects:ze.of({from:0,to:t})}),s&&clearTimeout(s),s=setTimeout(()=>{s=null,!l&&e.dispatch({effects:Be.of(null)})},o)))}let d=e=>{if(a(t),!c(t,r))return;r=Date.now();let o=Date.now();if(o-n<500){if(!i){let e=500-(o-n);i=setTimeout(()=>{i=null,n=Date.now(),u()},e)}return}n=o,u()};t.observe(d);let f=()=>{document.visibilityState===`visible`?c(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),i&&=(clearTimeout(i),null),s&&=(clearTimeout(s),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 ye;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:f(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=R.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=L.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:f(Ke(i));if(t&&t.kind!==`external`)return e.preventDefault(),t.kind===`doc`&&m(e)?(ue(t),!0):(h(t),!0)}i=q.exec(r.text)}return!1}}),Xe=L.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 d(),$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 _(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 ye,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=R.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=L.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=l(t,n);if(!r)return!1;e.preventDefault(),r.kind===`external`?window.open(r.url,`_blank`,`noopener,noreferrer`):m(e)?ue(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=p(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:g(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=L.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 N(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=F.define({create(e){return $(e)},update(e,t){return t.docChanged?$(t.state):e},provide:e=>L.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=N(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||N(e.startState)!==N(e.state))&&(this.decorations=Tt(e.view.state,e.view.visibleRanges))}},Dt=R.fromClass(Et,{decorations:e=>e.decorations});function Ot(){return[Dt,yt]}var kt=r(),At=pe({settings:{background:`var(--background)`,gutterBackground:`var(--background)`}}),jt=E({settings:{background:`var(--background)`,gutterBackground:`var(--background)`}}),Mt=new xe,Nt=new xe;function Pt(e,t){let n=e.state.doc,r=1;if(n.lines>=1&&n.line(1).text===`---`){for(let e=2;e<=n.lines;e++)if(n.line(e).text===`---`){r=e+1;break}}let a=i(),o=0;for(let i=r;i<=n.lines;i++){let r=n.line(i);if(!a(r.text)&&/^#{1,6}\s/.test(r.text)){if(o===t.index){e.dispatch({selection:I.cursor(r.from),effects:L.scrollIntoView(r.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:I.cursor(r),effects:L.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,c=(0,U.useRef)(null),l=(0,U.useRef)(null),[u,d]=(0,U.useState)(null);if(u)throw u;let{resolvedTheme:f}=s(),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=c.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=fe({ydoc:i.document,ytext:r}),n=new L({state:_e.create({doc:r.toString(),extensions:[de,be.of([re]),b({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(V(a??``)),L.lineWrapping,L.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,l.current=n.view}catch(e){let t=e;console.error(`[SourceEditor] mountCmEditor failed`,t),h.current=null,l.current=null,d(t instanceof Error?t:Error(String(t)))}return()=>{let e=h.current;e&&ie(e),h.current=null,l.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=()=>{l.current&&l.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 x,S;t[17]===a?(x=t[18],S=t[19]):(x=()=>{l.current&&l.current.dispatch({effects:Nt.reconfigure(V(a??``))})},S=[a],t[17]=a,t[18]=x,t[19]=S),(0,U.useEffect)(x,S);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=l.current;r&&(Pt(r,t),te(n))};return window.addEventListener(ne,e),()=>window.removeEventListener(ne,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=l.current;if(!e)return;let t=me(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:c,className:`source-editor h-full py-3`}),t[28]=D):D=t[28],D}function Lt(){return u()}export{It as SourceEditor};
|
|
2
|
+
import{O as e,S as t,T as n,w as r}from"./button-BuHZQnlF.js";import{E as i,Q as a,X as o,Xt as s,Z as c,v as l}from"./panel-B3Oezbzt.js";import{A as u,F as d,G as f,I as p,J as m,K as h,L as g,P as _,Q as ee,_ as te,_t as v,a as ne,c as re,ct as y,d as b,dt as x,et as ie,f as ae,ft as S,g as oe,gt as C,h as w,ht as T,l as E,lt as D,m as O,mt as k,ot as se,p as ce,pt as le,q as ue,s as de,t as fe,u as pe,ut as A,v as me,vt as he,wt as j}from"./clipboard-Bau-T9ly.js";import{At as ge,Dt as M,Et as _e,N,Nt as P,Pt as F,Q as ve,Tt as I,Y as L,Z as R,a as z,bt as B,ft as V,jt as ye,lt as be,q as H,wt as xe}from"./dist-1RA1Ivz5.js";var U=e(n(),1),Se=t(),Ce=class e{constructor(e,t){this.yanchor=e,this.yhead=t}toJSON(){return{yanchor:le(this.yanchor),yhead:le(this.yhead)}}static fromJSON(t){return new e(x(t.yanchor),x(t.yhead))}},we=class{constructor(e,t){this.ytext=e,this.awareness=t,this.undoManager=new y(e)}toYPos(e,t=0){return S(this.ytext,e,t)}fromYPos(e){let t=A(x(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?I.cursor(n.pos,n.assoc):I.range(t.pos,n.pos)}},W=M.define({combine(e){return e[e.length-1]}}),G=B.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=R.fromClass(Te),De=L.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=B.define(),ke=class extends ve{constructor(e,t){super(),this.color=e,this.name=t}toDOM(){return k(`span`,[C(`class`,`cm-ySelectionCaret`),C(`style`,`background-color: ${this.color}; border-color: ${this.color}`)],[T(``),k(`div`,[C(`class`,`cm-ySelectionCaretDot`)]),T(``),k(`div`,[C(`class`,`cm-ySelectionInfo`)],[T(this.name)]),T(``)])}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=ge.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:x(a.cursor.anchor),s=a.cursor==null?null:x(a.cursor.head);if(i!=null){let e=S(t,i.anchor),n=S(t,i.head);(a.cursor==null||!D(o,e)||!D(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=A(s.anchor,n),l=A(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=he(c.index,l.index),m=v(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=R.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=M.define({combine(e){return e[e.length-1]}});B.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=se(),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:[L.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=R.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 y(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,L.domEventHandlers({beforeinput(e,t){return e.inputType===`historyUndo`?Fe(t):e.inputType===`historyRedo`?Ie(t):!1}})),i},Re=[z.of({name:`javascript`,alias:[`js`,`jsx`],extensions:[`js`,`mjs`,`cjs`,`jsx`],load:async()=>O({jsx:!0})}),z.of({name:`typescript`,alias:[`ts`,`tsx`],extensions:[`ts`,`mts`,`cts`,`tsx`],load:async()=>O({typescript:!0,jsx:!0})}),z.of({name:`json`,alias:[`jsonc`],extensions:[`json`,`jsonc`],load:()=>j(()=>import(`./dist-yRCb9u34.js`).then(e=>e.json()),__vite__mapDeps([0,1,2,3,4]))}),z.of({name:`yaml`,alias:[`yml`],extensions:[`yaml`,`yml`],load:()=>j(()=>import(`./dist-CsuK1sJe.js`).then(e=>e.yaml()),__vite__mapDeps([5,1,2,3,4]))}),z.of({name:`css`,alias:[`scss`,`less`],extensions:[`css`,`scss`,`less`],load:async()=>w()}),z.of({name:`html`,alias:[`htm`],extensions:[`html`,`htm`],load:async()=>ce()}),z.of({name:`python`,alias:[`py`],extensions:[`py`,`pyw`],load:()=>j(()=>import(`./dist-D96Jocj9.js`).then(e=>e.python()),__vite__mapDeps([6,7,1,2,3,4]))}),z.of({name:`rust`,alias:[`rs`],extensions:[`rs`],load:()=>j(()=>import(`./dist-DQmXHI9Z.js`).then(e=>e.rust()),__vite__mapDeps([8,1,2,3,4]))}),z.of({name:`markdown`,alias:[`md`,`mdx`],extensions:[`md`,`mdx`,`markdown`],load:async()=>b()}),z.of({name:`bash`,alias:[`sh`,`shell`,`zsh`],extensions:[`sh`,`bash`,`zsh`],load:async()=>{let[{StreamLanguage:e,LanguageSupport:t},{shell:n}]=await Promise.all([j(()=>import(`./dist-1RA1Ivz5.js`).then(e=>e.m),__vite__mapDeps([1,2,3])),j(()=>import(`./shell-Cp2AENBi.js`),[])]);return new t(e.define(n))}}),z.of({name:`go`,alias:[`golang`],extensions:[`go`],load:async()=>{let[{StreamLanguage:e,LanguageSupport:t},{go:n}]=await Promise.all([j(()=>import(`./dist-1RA1Ivz5.js`).then(e=>e.m),__vite__mapDeps([1,2,3])),j(()=>import(`./go-C_J4XPHz.js`),[])]);return new t(e.define(n))}})],ze=P.define(),Be=P.define(),Ve=H.line({class:`agent-flash`}),He=F.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=>L.decorations.from(e)});function Ue(e){let t=e.getMap(`agent-flash`);return[He,R.define(e=>{let n=0,r=Date.now(),i=null,s=null,l=!1;function u(){let t=e.state.doc.length;t!==0&&(l||(e.dispatch({effects:ze.of({from:0,to:t})}),s&&clearTimeout(s),s=setTimeout(()=>{s=null,!l&&e.dispatch({effects:Be.of(null)})},o)))}let d=e=>{if(c(t),!a(t,r))return;r=Date.now();let o=Date.now();if(o-n<500){if(!i){let e=500-(o-n);i=setTimeout(()=>{i=null,n=Date.now(),u()},e)}return}n=o,u()};t.observe(d);let f=()=>{document.visibilityState===`visible`?a(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),i&&=(clearTimeout(i),null),s&&=(clearTimeout(s),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 ye;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:f(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=R.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=L.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:f(Ke(i));if(t&&t.kind!==`external`)return e.preventDefault(),t.kind===`doc`&&m(e)?(ue(t),!0):(h(t),!0)}i=q.exec(r.text)}return!1}}),Xe=L.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 d(),$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 _(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 ye,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=R.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=L.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=l(t,n);if(!r)return!1;e.preventDefault(),r.kind===`external`?window.open(r.url,`_blank`,`noopener,noreferrer`):m(e)?ue(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=p(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:g(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=L.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 N(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=F.define({create(e){return $(e)},update(e,t){return t.docChanged?$(t.state):e},provide:e=>L.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=N(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||N(e.startState)!==N(e.state))&&(this.decorations=Tt(e.view.state,e.view.visibleRanges))}},Dt=R.fromClass(Et,{decorations:e=>e.decorations});function Ot(){return[Dt,yt]}var kt=r(),At=pe({settings:{background:`var(--background)`,gutterBackground:`var(--background)`}}),jt=E({settings:{background:`var(--background)`,gutterBackground:`var(--background)`}}),Mt=new xe,Nt=new xe;function Pt(e,t){let n=e.state.doc,r=1;if(n.lines>=1&&n.line(1).text===`---`){for(let e=2;e<=n.lines;e++)if(n.line(e).text===`---`){r=e+1;break}}let a=i(),o=0;for(let i=r;i<=n.lines;i++){let r=n.line(i);if(!a(r.text)&&/^#{1,6}\s/.test(r.text)){if(o===t.index){e.dispatch({selection:I.cursor(r.from),effects:L.scrollIntoView(r.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:I.cursor(r),effects:L.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,c=(0,U.useRef)(null),l=(0,U.useRef)(null),[u,d]=(0,U.useState)(null);if(u)throw u;let{resolvedTheme:f}=s(),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=c.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=fe({ydoc:i.document,ytext:r}),n=new L({state:_e.create({doc:r.toString(),extensions:[de,be.of([re]),b({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(V(a??``)),L.lineWrapping,L.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,l.current=n.view}catch(e){let t=e;console.error(`[SourceEditor] mountCmEditor failed`,t),h.current=null,l.current=null,d(t instanceof Error?t:Error(String(t)))}return()=>{let e=h.current;e&&ie(e),h.current=null,l.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=()=>{l.current&&l.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 x,S;t[17]===a?(x=t[18],S=t[19]):(x=()=>{l.current&&l.current.dispatch({effects:Nt.reconfigure(V(a??``))})},S=[a],t[17]=a,t[18]=x,t[19]=S),(0,U.useEffect)(x,S);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=l.current;r&&(Pt(r,t),te(n))};return window.addEventListener(ne,e),()=>window.removeEventListener(ne,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=l.current;if(!e)return;let t=me(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:c,className:`source-editor h-full py-3`}),t[28]=D):D=t[28],D}function Lt(){return u()}export{It as SourceEditor};
|