playermap_graph 0.1.6 → 0.1.7
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/index.es.js +4 -4
- package/dist/index.umd.js +2 -2
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -52390,7 +52390,7 @@ const WQ = {
|
|
|
52390
52390
|
padding: "6px 14px",
|
|
52391
52391
|
fontSize: 15,
|
|
52392
52392
|
fontWeight: "bold",
|
|
52393
|
-
zIndex:
|
|
52393
|
+
zIndex: 1e3,
|
|
52394
52394
|
boxShadow: "0 2px 8px rgba(0,0,0,0.18)",
|
|
52395
52395
|
whiteSpace: "nowrap",
|
|
52396
52396
|
maxWidth: 260,
|
|
@@ -52545,7 +52545,7 @@ const WQ = {
|
|
|
52545
52545
|
padding: "6px 14px",
|
|
52546
52546
|
fontSize: 15,
|
|
52547
52547
|
fontWeight: "bold",
|
|
52548
|
-
zIndex:
|
|
52548
|
+
zIndex: 1e3,
|
|
52549
52549
|
boxShadow: "0 2px 8px rgba(0,0,0,0.18)",
|
|
52550
52550
|
pointerEvents: "none",
|
|
52551
52551
|
whiteSpace: "nowrap",
|
|
@@ -52874,7 +52874,7 @@ const uJ = ({
|
|
|
52874
52874
|
padding: "6px 14px",
|
|
52875
52875
|
fontSize: 15,
|
|
52876
52876
|
fontWeight: "bold",
|
|
52877
|
-
zIndex:
|
|
52877
|
+
zIndex: 1e3,
|
|
52878
52878
|
boxShadow: "0 2px 8px rgba(0,0,0,0.18)",
|
|
52879
52879
|
pointerEvents: "none",
|
|
52880
52880
|
whiteSpace: "nowrap",
|
|
@@ -52898,7 +52898,7 @@ const uJ = ({
|
|
|
52898
52898
|
padding: "6px 14px",
|
|
52899
52899
|
fontSize: 15,
|
|
52900
52900
|
fontWeight: "bold",
|
|
52901
|
-
zIndex:
|
|
52901
|
+
zIndex: 1e3,
|
|
52902
52902
|
boxShadow: "0 2px 8px rgba(0,0,0,0.18)",
|
|
52903
52903
|
pointerEvents: "none",
|
|
52904
52904
|
whiteSpace: "nowrap",
|
package/dist/index.umd.js
CHANGED
|
@@ -5357,9 +5357,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
5357
5357
|
}
|
|
5358
5358
|
`;yZ(_Z);function Ux(r,e){(e==null||e>r.length)&&(e=r.length);for(var n=0,i=Array(e);n<e;n++)i[n]=r[n];return i}function vZ(r){if(Array.isArray(r))return r}function xZ(r){if(Array.isArray(r))return Ux(r)}function M2(r,e,n){if(E2())return Reflect.construct.apply(null,arguments);var i=[null];i.push.apply(i,e);var s=new(r.bind.apply(r,i));return s}function wh(r,e,n){return(e=EZ(e))in r?Object.defineProperty(r,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[e]=n,r}function E2(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(E2=function(){return!!r})()}function bZ(r){if(typeof Symbol<"u"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function SZ(r,e){var n=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(n!=null){var i,s,o,a,l=[],c=!0,u=!1;try{if(o=(n=n.call(r)).next,e!==0)for(;!(c=(i=o.call(n)).done)&&(l.push(i.value),l.length!==e);c=!0);}catch(h){u=!0,s=h}finally{try{if(!c&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw s}}return l}}function TZ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
5359
5359
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function wZ(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
5360
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function A2(r,e){var n=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable})),n.push.apply(n,i)}return n}function Cc(r){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?A2(Object(n),!0).forEach(function(i){wh(r,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):A2(Object(n)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(n,i))})}return r}function Mh(r,e){return vZ(r)||SZ(r,e)||C2(r,e)||TZ()}function tr(r){return xZ(r)||bZ(r)||C2(r)||wZ()}function MZ(r,e){if(typeof r!="object"||!r)return r;var n=r[Symbol.toPrimitive];if(n!==void 0){var i=n.call(r,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function EZ(r){var e=MZ(r,"string");return typeof e=="symbol"?e:e+""}function Bx(r){"@babel/helpers - typeof";return Bx=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},Bx(r)}function C2(r,e){if(r){if(typeof r=="string")return Ux(r,e);var n={}.toString.call(r).slice(8,-1);return n==="Object"&&r.constructor&&(n=r.constructor.name),n==="Map"||n==="Set"?Array.from(r):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ux(r,e):void 0}}var AZ=Z0(cw);function R2(r,e,n){!e||typeof n!="string"||r.filter(function(i){return!i[n]}).forEach(function(i){i[n]=AZ(e(i))})}function CZ(r,e){var n=r.nodes,i=r.links,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=s.nodeFilter,a=o===void 0?function(){return!0}:o,l=s.onLoopError,c=l===void 0?function(p){throw"Invalid DAG structure! Found cycle in node path: ".concat(p.join(" -> "),".")}:l,u={};n.forEach(function(p){return u[e(p)]={data:p,out:[],depth:-1,skip:!a(p)}}),i.forEach(function(p){var m=p.source,_=p.target,y=v(m),g=v(_);if(!u.hasOwnProperty(y))throw"Missing source node with id: ".concat(y);if(!u.hasOwnProperty(g))throw"Missing target node with id: ".concat(g);var x=u[y],b=u[g];x.out.push(b);function v(w){return Bx(w)==="object"?e(w):w}});var h=[];f(Object.values(u));var d=Object.assign.apply(Object,[{}].concat(tr(Object.entries(u).filter(function(p){var m=Mh(p,2),_=m[1];return!_.skip}).map(function(p){var m=Mh(p,2),_=m[0],y=m[1];return wh({},_,y.depth)}))));return d;function f(p){for(var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],_=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,y=function(){var v=p[g];if(m.indexOf(v)!==-1){var w=[].concat(tr(m.slice(m.indexOf(v))),[v]).map(function(M){return e(M.data)});return h.some(function(M){return M.length===w.length&&M.every(function(S,T){return S===w[T]})})||(h.push(w),c(w)),1}_>v.depth&&(v.depth=_,f(v.out,[].concat(tr(m),[v]),_+(v.skip?0:1)))},g=0,x=p.length;g<x;g++)y()}}var RZ=2,ni=function(e,n){return n.onNeedsRedraw&&n.onNeedsRedraw()},N2=function(e,n){if(!n.isShadow){var i=We(n.linkDirectionalParticles);n.graphData.links.forEach(function(s){var o=Math.round(Math.abs(i(s)));o?s.__photons=tr(Array(o)).map(function(){return{}}):delete s.__photons})}},nm=aa({props:{graphData:{default:{nodes:[],links:[]},onChange:function(e,n){n.engineRunning=!1,N2(e,n)}},dagMode:{onChange:function(e,n){!e&&(n.graphData.nodes||[]).forEach(function(i){return i.fx=i.fy=void 0})}},dagLevelDistance:{},dagNodeFilter:{default:function(e){return!0}},onDagError:{triggerUpdate:!1},nodeRelSize:{default:4,triggerUpdate:!1,onChange:ni},nodeId:{default:"id"},nodeVal:{default:"val",triggerUpdate:!1,onChange:ni},nodeColor:{default:"color",triggerUpdate:!1,onChange:ni},nodeAutoColorBy:{},nodeCanvasObject:{triggerUpdate:!1,onChange:ni},nodeCanvasObjectMode:{default:function(){return"replace"},triggerUpdate:!1,onChange:ni},nodeVisibility:{default:!0,triggerUpdate:!1,onChange:ni},linkSource:{default:"source"},linkTarget:{default:"target"},linkVisibility:{default:!0,triggerUpdate:!1,onChange:ni},linkColor:{default:"color",triggerUpdate:!1,onChange:ni},linkAutoColorBy:{},linkLineDash:{triggerUpdate:!1,onChange:ni},linkWidth:{default:1,triggerUpdate:!1,onChange:ni},linkCurvature:{default:0,triggerUpdate:!1,onChange:ni},linkCanvasObject:{triggerUpdate:!1,onChange:ni},linkCanvasObjectMode:{default:function(){return"replace"},triggerUpdate:!1,onChange:ni},linkDirectionalArrowLength:{default:0,triggerUpdate:!1,onChange:ni},linkDirectionalArrowColor:{triggerUpdate:!1,onChange:ni},linkDirectionalArrowRelPos:{default:.5,triggerUpdate:!1,onChange:ni},linkDirectionalParticles:{default:0,triggerUpdate:!1,onChange:N2},linkDirectionalParticleSpeed:{default:.01,triggerUpdate:!1},linkDirectionalParticleWidth:{default:4,triggerUpdate:!1},linkDirectionalParticleColor:{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,i){return i===void 0?e.forceLayout.force(n):(e.forceLayout.force(n,i),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(),s(),!e.isShadow&&o(),!e.isShadow&&a(),i(),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 i(){var l=We(e.nodeVisibility),c=We(e.nodeVal),u=We(e.nodeColor),h=We(e.nodeCanvasObjectMode),d=e.ctx,f=e.isShadow/e.globalScale,p=e.graphData.nodes.filter(l);d.save(),p.forEach(function(m){var _=h(m);if(e.nodeCanvasObject&&(_==="before"||_==="replace")&&(e.nodeCanvasObject(m,d,e.globalScale),_==="replace")){d.restore();return}var y=Math.sqrt(Math.max(0,c(m)||1))*e.nodeRelSize+f;d.beginPath(),d.arc(m.x,m.y,y,0,2*Math.PI,!1),d.fillStyle=u(m)||"rgba(31, 120, 180, 0.92)",d.fill(),e.nodeCanvasObject&&_==="after"&&e.nodeCanvasObject(m,e.ctx,e.globalScale)}),d.restore()}function s(){var l=We(e.linkVisibility),c=We(e.linkColor),u=We(e.linkWidth),h=We(e.linkLineDash),d=We(e.linkCurvature),f=We(e.linkCanvasObjectMode),p=e.ctx,m=e.isShadow*2,_=e.graphData.links.filter(l);_.forEach(M);var y=[],g=[],x=_;if(e.linkCanvasObject){var b=[],v=[];_.forEach(function(S){return({before:y,after:g,replace:b}[f(S)]||v).push(S)}),x=[].concat(tr(y),g,v),y=y.concat(b)}p.save(),y.forEach(function(S){return e.linkCanvasObject(S,p,e.globalScale)}),p.restore();var w=gZ(x,[c,u,h]);p.save(),Object.entries(w).forEach(function(S){var T=Mh(S,2),A=T[0],E=T[1],R=!A||A==="undefined"?"rgba(0,0,0,0.15)":A;Object.entries(E).forEach(function(U){var L=Mh(U,2),C=L[0],D=L[1],I=(C||1)/e.globalScale+m;Object.entries(D).forEach(function(W){var $=Mh(W,2);$[0];var ie=$[1],O=h(ie[0]);p.beginPath(),ie.forEach(function(k){var Q=k.source,le=k.target;if(!(!Q||!le||!Q.hasOwnProperty("x")||!le.hasOwnProperty("x"))){p.moveTo(Q.x,Q.y);var F=k.__controlPoints;F?p[F.length===2?"quadraticCurveTo":"bezierCurveTo"].apply(p,tr(F).concat([le.x,le.y])):p.lineTo(le.x,le.y)}}),p.strokeStyle=R,p.lineWidth=I,p.setLineDash(O||[]),p.stroke()})})}),p.restore(),p.save(),g.forEach(function(S){return e.linkCanvasObject(S,p,e.globalScale)}),p.restore();function M(S){var T=d(S);if(!T){S.__controlPoints=null;return}var A=S.source,E=S.target;if(!(!A||!E||!A.hasOwnProperty("x")||!E.hasOwnProperty("x"))){var R=Math.sqrt(Math.pow(E.x-A.x,2)+Math.pow(E.y-A.y,2));if(R>0){var U=Math.atan2(E.y-A.y,E.x-A.x),L=R*T,C={x:(A.x+E.x)/2+L*Math.cos(U-Math.PI/2),y:(A.y+E.y)/2+L*Math.sin(U-Math.PI/2)};S.__controlPoints=[C.x,C.y]}else{var D=T*70;S.__controlPoints=[E.x,E.y-D,E.x+D,E.y]}}}}function o(){var l=1.6,c=.2,u=We(e.linkDirectionalArrowLength),h=We(e.linkDirectionalArrowRelPos),d=We(e.linkVisibility),f=We(e.linkDirectionalArrowColor||e.linkColor),p=We(e.nodeVal),m=e.ctx;m.save(),e.graphData.links.filter(d).forEach(function(_){var y=u(_);if(!(!y||y<0)){var g=_.source,x=_.target;if(!(!g||!x||!g.hasOwnProperty("x")||!x.hasOwnProperty("x"))){var b=Math.sqrt(Math.max(0,p(g)||1))*e.nodeRelSize,v=Math.sqrt(Math.max(0,p(x)||1))*e.nodeRelSize,w=Math.min(1,Math.max(0,h(_))),M=f(_)||"rgba(0,0,0,0.28)",S=y/l/2,T=_.__controlPoints&&M2(rn,[g.x,g.y].concat(tr(_.__controlPoints),[x.x,x.y])),A=T?function(I){return T.get(I)}:function(I){return{x:g.x+(x.x-g.x)*I||0,y:g.y+(x.y-g.y)*I||0}},E=T?T.length():Math.sqrt(Math.pow(x.x-g.x,2)+Math.pow(x.y-g.y,2)),R=b+y+(E-b-v-y)*w,U=A(R/E),L=A((R-y)/E),C=A((R-y*(1-c))/E),D=Math.atan2(U.y-L.y,U.x-L.x)-Math.PI/2;m.beginPath(),m.moveTo(U.x,U.y),m.lineTo(L.x+S*Math.cos(D),L.y+S*Math.sin(D)),m.lineTo(C.x,C.y),m.lineTo(L.x-S*Math.cos(D),L.y-S*Math.sin(D)),m.fillStyle=M,m.fill()}}}),m.restore()}function a(){var l=We(e.linkDirectionalParticles),c=We(e.linkDirectionalParticleSpeed),u=We(e.linkDirectionalParticleWidth),h=We(e.linkVisibility),d=We(e.linkDirectionalParticleColor||e.linkColor),f=e.ctx;f.save(),e.graphData.links.filter(h).forEach(function(p){var m=l(p);if(!(!p.hasOwnProperty("__photons")||!p.__photons.length)){var _=p.source,y=p.target;if(!(!_||!y||!_.hasOwnProperty("x")||!y.hasOwnProperty("x"))){var g=c(p),x=p.__photons||[],b=Math.max(0,u(p)/2)/Math.sqrt(e.globalScale),v=d(p)||"rgba(0,0,0,0.28)";f.fillStyle=v;var w=p.__controlPoints?M2(rn,[_.x,_.y].concat(tr(p.__controlPoints),[y.x,y.y])):null,M=0,S=!1;x.forEach(function(T){var A=!!T.__singleHop;if(T.hasOwnProperty("__progressRatio")||(T.__progressRatio=A?0:M/m),!A&&M++,T.__progressRatio+=g,T.__progressRatio>=1)if(!A)T.__progressRatio=T.__progressRatio%1;else{S=!0;return}var E=T.__progressRatio,R=w?w.get(E):{x:_.x+(y.x-_.x)*E||0,y:_.y+(y.y-_.y)*E||0};f.beginPath(),f.arc(R.x,R.y,b,0,2*Math.PI,!1),f.fill()}),S&&(p.__photons=p.__photons.filter(function(T){return!T.__singleHop||T.__progressRatio<=1}))}}}),f.restore()}},emitParticle:function(e,n){return n&&(!n.__photons&&(n.__photons=[]),n.__photons.push({__singleHop:!0})),this}},stateInit:function(){return{forceLayout:c1().force("link",e1()).force("charge",u1()).force("center",$T()).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&&R2(e.graphData.nodes,We(e.nodeAutoColorBy),e.nodeColor),e.linkAutoColorBy!==null&&R2(e.graphData.links,We(e.linkAutoColorBy),e.linkColor),e.graphData.links.forEach(function(f){f.source=f[e.linkSource],f.target=f[e.linkTarget]}),e.forceLayout.stop().alpha(1).nodes(e.graphData.nodes);var i=e.forceLayout.force("link");i&&i.id(function(f){return f[e.nodeId]}).links(e.graphData.links);var s=e.dagMode&&CZ(e.graphData,function(f){return f[e.nodeId]},{nodeFilter:e.dagNodeFilter,onLoopError:e.onDagError||void 0}),o=Math.max.apply(Math,tr(Object.values(s||[]))),a=e.dagLevelDistance||e.graphData.nodes.length/(o||1)*RZ*(["radialin","radialout"].indexOf(e.dagMode)!==-1?.7:1);if(["lr","rl","td","bu"].includes(n.dagMode)){var l=["lr","rl"].includes(n.dagMode)?"fx":"fy";e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(f){return delete f[l]})}if(["lr","rl","td","bu"].includes(e.dagMode)){var c=["rl","bu"].includes(e.dagMode),u=function(p){return(s[p[e.nodeId]]-o/2)*a*(c?-1:1)},h=["lr","rl"].includes(e.dagMode)?"fx":"fy";e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(f){return f[h]=u(f)})}e.forceLayout.force("dagRadial",["radialin","radialout"].indexOf(e.dagMode)!==-1?h1(function(f){var p=s[f[e.nodeId]]||-1;return(e.dagMode==="radialin"?o-p:p)*a}).strength(function(f){return e.dagNodeFilter(f)?1:0}):null);for(var d=0;d<e.warmupTicks&&!(e.d3AlphaMin>0&&e.forceLayout.alpha()<e.d3AlphaMin);d++)e.forceLayout.tick();this.resetCountdown(),e.onFinishUpdate()}});function P2(r,e){var n=r instanceof Array?r:[r],i=new e;return i._destructor&&i._destructor(),{linkProp:function(o){return{default:i[o](),onChange:function(l,c){n.forEach(function(u){return c[u][o](l)})},triggerUpdate:!1}},linkMethod:function(o){return function(a){for(var l=arguments.length,c=new Array(l>1?l-1:0),u=1;u<l;u++)c[u-1]=arguments[u];var h=[];return n.forEach(function(d){var f=a[d],p=f[o].apply(f,c);p!==f&&h.push(p)}),h.length?h[0]:this}}}}var NZ=800,PZ=4,DZ=5,D2=P2("forceGraph",nm),IZ=P2(["forceGraph","shadowGraph"],nm),LZ=Object.assign.apply(Object,tr(["nodeColor","nodeAutoColorBy","nodeCanvasObject","nodeCanvasObjectMode","linkColor","linkAutoColorBy","linkLineDash","linkWidth","linkCanvasObject","linkCanvasObjectMode","linkDirectionalArrowLength","linkDirectionalArrowColor","linkDirectionalArrowRelPos","linkDirectionalParticles","linkDirectionalParticleSpeed","linkDirectionalParticleWidth","linkDirectionalParticleColor","dagMode","dagLevelDistance","dagNodeFilter","onDagError","d3AlphaMin","d3AlphaDecay","d3VelocityDecay","warmupTicks","cooldownTicks","cooldownTime","onEngineTick","onEngineStop"].map(function(r){return wh({},r,D2.linkProp(r))})).concat(tr(["nodeRelSize","nodeId","nodeVal","nodeVisibility","linkSource","linkTarget","linkVisibility","linkCurvature"].map(function(r){return wh({},r,IZ.linkProp(r))})))),OZ=Object.assign.apply(Object,tr(["d3Force","d3ReheatSimulation","emitParticle"].map(function(r){return wh({},r,D2.linkMethod(r))})));function kx(r){if(r.canvas){var e=r.canvas.width,n=r.canvas.height;e===300&&n===150&&(e=n=0);var i=window.devicePixelRatio;e/=i,n/=i,[r.canvas,r.shadowCanvas].forEach(function(o){o.style.width="".concat(r.width,"px"),o.style.height="".concat(r.height,"px"),o.width=r.width*i,o.height=r.height*i,!e&&!n&&o.getContext("2d").scale(i,i)});var s=qr(r.canvas).k;r.zoom.translateBy(r.zoom.__baseElem,(r.width-e)/2/s,(r.height-n)/2/s),r.needsRedraw=!0}}function I2(r){var e=window.devicePixelRatio;r.setTransform(e,0,0,e,0,0)}function L2(r,e,n){r.save(),I2(r),r.clearRect(0,0,e,n),r.restore()}var FZ=aa({props:Cc({width:{default:window.innerWidth,onChange:function(e,n){return kx(n)},triggerUpdate:!1},height:{default:window.innerHeight,onChange:function(e,n){return kx(n)},triggerUpdate:!1},graphData:{default:{nodes:[],links:[]},onChange:function(e,n){[e.nodes,e.links].every(function(s){return(s||[]).every(function(o){return!o.hasOwnProperty("__indexColor")})})&&n.colorTracker.reset(),[{type:"Node",objs:e.nodes},{type:"Link",objs:e.links}].forEach(i),n.forceGraph.graphData(e),n.shadowGraph.graphData(e);function i(s){var o=s.type,a=s.objs;a.filter(function(l){if(!l.hasOwnProperty("__indexColor"))return!0;var c=n.colorTracker.lookup(l.__indexColor);return!c||!c.hasOwnProperty("d")||c.d!==l}).forEach(function(l){l.__indexColor=n.colorTracker.register({type:o,d:l})})}},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(i,s,o){return e(i,i.__indexColor,s,o)}:null),n.flushShadowCanvas&&n.flushShadowCanvas()},triggerUpdate:!1},linkPointerAreaPaint:{onChange:function(e,n){n.shadowGraph.linkCanvasObject(e?function(i,s,o){return e(i,i.__indexColor,s,o)}: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},onZoom:{triggerUpdate:!1},onZoomEnd:{triggerUpdate:!1},onRenderFramePre:{triggerUpdate:!1},onRenderFramePost:{triggerUpdate:!1}},LZ),aliases:{stopAnimation:"pauseAnimation"},methods:Cc({graph2ScreenCoords:function(e,n,i){var s=qr(e.canvas);return{x:n*s.k+s.x,y:i*s.k+s.y}},screen2GraphCoords:function(e,n,i){var s=qr(e.canvas);return{x:(n-s.x)/s.k,y:(i-s.y)/s.k}},centerAt:function(e,n,i,s){if(!e.canvas)return null;if(n!==void 0||i!==void 0){var o=Object.assign({},n!==void 0?{x:n}:{},i!==void 0?{y:i}:{});return s?e.tweenGroup.add(new Up(a()).to(o,s).easing(ks.Quadratic.Out).onUpdate(l).start()):l(o),this}return a();function a(){var c=qr(e.canvas);return{x:(e.width/2-c.x)/c.k,y:(e.height/2-c.y)/c.k}}function l(c){var u=c.x,h=c.y;e.zoom.translateTo(e.zoom.__baseElem,u===void 0?a().x:u,h===void 0?a().y:h),e.needsRedraw=!0}},zoom:function(e,n,i){if(!e.canvas)return null;if(n!==void 0)return i?e.tweenGroup.add(new Up({k:s()}).to({k:n},i).easing(ks.Quadratic.Out).onUpdate(function(a){var l=a.k;return o(l)}).start()):o(n),this;return s();function s(){return qr(e.canvas).k}function o(a){e.zoom.scaleTo(e.zoom.__baseElem,a),e.needsRedraw=!0}},zoomToFit:function(e){for(var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,s=arguments.length,o=new Array(s>3?s-3:0),a=3;a<s;a++)o[a-3]=arguments[a];var l=this.getGraphBbox.apply(this,o);if(l){var c={x:(l.x[0]+l.x[1])/2,y:(l.y[0]+l.y[1])/2},u=Math.max(1e-12,Math.min(1e12,(e.width-i*2)/(l.x[1]-l.x[0]),(e.height-i*2)/(l.y[1]-l.y[0])));this.centerAt(c.x,c.y,n),this.zoom(u,n)}return this},getGraphBbox:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){return!0},i=We(e.nodeVal),s=function(l){return Math.sqrt(Math.max(0,i(l)||1))*e.nodeRelSize},o=e.graphData.nodes.filter(n).map(function(a){return{x:a.x,y:a.y,r:s(a)}});return o.length?{x:[W0(o,function(a){return a.x-a.r}),j0(o,function(a){return a.x+a.r})],y:[W0(o,function(a){return a.y-a.r}),j0(o,function(a){return a.y+a.r})]}:null},pauseAnimation:function(e){return e.animationFrameRequestId&&(cancelAnimationFrame(e.animationFrameRequestId),e.animationFrameRequestId=null),this},resumeAnimation:function(e){return e.animationFrameRequestId||this._animationCycle(),this},_destructor:function(){this.pauseAnimation(),this.graphData({nodes:[],links:[]})}},OZ),stateInit:function(){return{lastSetZoom:1,zoom:IK(),forceGraph:new nm,shadowGraph:new nm().cooldownTicks(0).nodeColor("__indexColor").linkColor("__indexColor").isShadow(!0),colorTracker:new KK,tweenGroup:new cx}},init:function(e,n){var i=this;e.innerHTML="";var s=document.createElement("div");s.classList.add("force-graph-container"),s.style.position="relative",e.appendChild(s),n.canvas=document.createElement("canvas"),n.backgroundColor&&(n.canvas.style.background=n.backgroundColor),s.appendChild(n.canvas),n.shadowCanvas=document.createElement("canvas");var o=n.canvas.getContext("2d"),a=n.shadowCanvas.getContext("2d",{willReadFrequently:!0}),l={x:-1e12,y:-1e12},c=function(){var d=null,f=window.devicePixelRatio,p=l.x>0&&l.y>0?a.getImageData(l.x*f,l.y*f,1,1):null;return p&&(d=n.colorTracker.lookup(p.data)),d};Qi(n.canvas).call(vY().subject(function(){if(!n.enableNodeDrag)return null;var h=c();return h&&h.type==="Node"?h.d:null}).on("start",function(h){var d=h.subject;d.__initialDragPos={x:d.x,y:d.y,fx:d.fx,fy:d.fy},h.active||(d.fx=d.x,d.fy=d.y),n.canvas.classList.add("grabbable")}).on("drag",function(h){var d=h.subject,f=d.__initialDragPos,p=h,m=qr(n.canvas).k,_={x:f.x+(p.x-f.x)/m-d.x,y:f.y+(p.y-f.y)/m-d.y};["x","y"].forEach(function(y){return d["f".concat(y)]=d[y]=f[y]+(p[y]-f[y])/m}),!(!d.__dragged&&DZ>=Math.sqrt(Nk(["x","y"].map(function(y){return Math.pow(h[y]-f[y],2)}))))&&(n.forceGraph.d3AlphaTarget(.3).resetCountdown(),n.isPointerDragging=!0,d.__dragged=!0,n.onNodeDrag(d,_))}).on("end",function(h){var d=h.subject,f=d.__initialDragPos,p={x:d.x-f.x,y:d.y-f.y};f.fx===void 0&&(d.fx=void 0),f.fy===void 0&&(d.fy=void 0),delete d.__initialDragPos,n.forceGraph.d3AlphaTarget()&&n.forceGraph.d3AlphaTarget(0).resetCountdown(),n.canvas.classList.remove("grabbable"),n.isPointerDragging=!1,d.__dragged&&(delete d.__dragged,n.onNodeDragEnd(d,p))})),n.zoom(n.zoom.__baseElem=Qi(n.canvas)),n.zoom.__baseElem.on("dblclick.zoom",null),n.zoom.filter(function(h){return!h.button&&n.enableZoomPanInteraction&&(h.type!=="wheel"||We(n.enableZoomInteraction)(h))&&(h.type==="wheel"||We(n.enablePanInteraction)(h))}).on("zoom",function(h){var d=h.transform;[o,a].forEach(function(f){I2(f),f.translate(d.x,d.y),f.scale(d.k,d.k)}),n.onZoom&&n.onZoom(Cc(Cc({},d),i.centerAt())),n.needsRedraw=!0}).on("end",function(h){return n.onZoomEnd&&n.onZoomEnd(Cc(Cc({},h.transform),i.centerAt()))}),kx(n),n.forceGraph.onNeedsRedraw(function(){return n.needsRedraw=!0}).onFinishUpdate(function(){qr(n.canvas).k===n.lastSetZoom&&n.graphData.nodes.length&&(n.zoom.scaleTo(n.zoom.__baseElem,n.lastSetZoom=PZ/Math.cbrt(n.graphData.nodes.length)),n.needsRedraw=!0)}),n.tooltip=new t2(s),["pointermove","pointerdown"].forEach(function(h){return s.addEventListener(h,function(d){h==="pointerdown"&&(n.isPointerPressed=!0,n.pointerDownEvent=d),!n.isPointerDragging&&d.type==="pointermove"&&n.onBackgroundClick&&(d.pressure>0||n.isPointerPressed)&&(d.pointerType!=="touch"||d.movementX===void 0||[d.movementX,d.movementY].some(function(m){return Math.abs(m)>1}))&&(n.isPointerDragging=!0);var f=p(s);l.x=d.pageX-f.left,l.y=d.pageY-f.top;function p(m){var _=m.getBoundingClientRect(),y=window.pageXOffset||document.documentElement.scrollLeft,g=window.pageYOffset||document.documentElement.scrollTop;return{top:_.top+g,left:_.left+y}}},{passive:!0})}),s.addEventListener("pointerup",function(h){if(n.isPointerPressed=!1,n.isPointerDragging){n.isPointerDragging=!1;return}var d=[h,n.pointerDownEvent];requestAnimationFrame(function(){if(h.button===0)if(n.hoverObj){var f=n["on".concat(n.hoverObj.type,"Click")];f&&f.apply(void 0,[n.hoverObj.d].concat(d))}else n.onBackgroundClick&&n.onBackgroundClick.apply(n,d);if(h.button===2)if(n.hoverObj){var p=n["on".concat(n.hoverObj.type,"RightClick")];p&&p.apply(void 0,[n.hoverObj.d].concat(d))}else n.onBackgroundRightClick&&n.onBackgroundRightClick.apply(n,d)})},{passive:!0}),s.addEventListener("contextmenu",function(h){return!n.onBackgroundRightClick&&!n.onNodeRightClick&&!n.onLinkRightClick?!0:(h.preventDefault(),!1)}),n.forceGraph(o),n.shadowGraph(a);var u=OK(function(){L2(a,n.width,n.height),n.shadowGraph.linkWidth(function(d){return We(n.linkWidth)(d)+n.linkHoverPrecision});var h=qr(n.canvas);n.shadowGraph.globalScale(h.k).tickFrame()},NZ);n.flushShadowCanvas=u.flush,(this._animationCycle=function h(){var d=!n.autoPauseRedraw||!!n.needsRedraw||n.forceGraph.isEngineRunning()||n.graphData.links.some(function(b){return b.__photons&&b.__photons.length});if(n.needsRedraw=!1,n.enablePointerInteraction){var f=n.isPointerDragging?null:c();if(f!==n.hoverObj){var p=n.hoverObj,m=p?p.type:null,_=f?f.type:null;if(m&&m!==_){var y=n["on".concat(m,"Hover")];y&&y(null,p.d)}if(_){var g=n["on".concat(_,"Hover")];g&&g(f.d,m===_?p.d:null)}n.tooltip.content(f&&We(n["".concat(f.type.toLowerCase(),"Label")])(f.d)||null),n.canvas.classList[f&&n["on".concat(_,"Click")]||!f&&n.onBackgroundClick?"add":"remove"]("clickable"),n.hoverObj=f}d&&u()}if(d){L2(o,n.width,n.height);var x=qr(n.canvas).k;n.onRenderFramePre&&n.onRenderFramePre(o,x),n.forceGraph.globalScale(x).tickFrame(),n.onRenderFramePost&&n.onRenderFramePost(o,x)}n.tweenGroup.update(),n.animationFrameRequestId=requestAnimationFrame(h)})()},update:function(e){}}),im={width:K.number,height:K.number,graphData:K.shape({nodes:K.arrayOf(K.object).isRequired,links:K.arrayOf(K.object).isRequired}),backgroundColor:K.string,nodeRelSize:K.number,nodeId:K.string,nodeLabel:K.oneOfType([K.string,K.func]),nodeVal:K.oneOfType([K.number,K.string,K.func]),nodeVisibility:K.oneOfType([K.bool,K.string,K.func]),nodeColor:K.oneOfType([K.string,K.func]),nodeAutoColorBy:K.oneOfType([K.string,K.func]),onNodeHover:K.func,onNodeClick:K.func,linkSource:K.string,linkTarget:K.string,linkLabel:K.oneOfType([K.string,K.func]),linkVisibility:K.oneOfType([K.bool,K.string,K.func]),linkColor:K.oneOfType([K.string,K.func]),linkAutoColorBy:K.oneOfType([K.string,K.func]),linkWidth:K.oneOfType([K.number,K.string,K.func]),linkCurvature:K.oneOfType([K.number,K.string,K.func]),linkDirectionalArrowLength:K.oneOfType([K.number,K.string,K.func]),linkDirectionalArrowColor:K.oneOfType([K.string,K.func]),linkDirectionalArrowRelPos:K.oneOfType([K.number,K.string,K.func]),linkDirectionalParticles:K.oneOfType([K.number,K.string,K.func]),linkDirectionalParticleSpeed:K.oneOfType([K.number,K.string,K.func]),linkDirectionalParticleWidth:K.oneOfType([K.number,K.string,K.func]),linkDirectionalParticleColor:K.oneOfType([K.string,K.func]),onLinkHover:K.func,onLinkClick:K.func,dagMode:K.oneOf(["td","bu","lr","rl","zin","zout","radialin","radialout"]),dagLevelDistance:K.number,dagNodeFilter:K.func,onDagError:K.func,d3AlphaMin:K.number,d3AlphaDecay:K.number,d3VelocityDecay:K.number,warmupTicks:K.number,cooldownTicks:K.number,cooldownTime:K.number,onEngineTick:K.func,onEngineStop:K.func,getGraphBbox:K.func},O2={zoomToFit:K.func,onNodeRightClick:K.func,onNodeDrag:K.func,onNodeDragEnd:K.func,onLinkRightClick:K.func,linkHoverPrecision:K.number,onBackgroundClick:K.func,onBackgroundRightClick:K.func,enablePointerInteraction:K.bool,enableNodeDrag:K.bool},zx={showNavInfo:K.bool,nodeOpacity:K.number,nodeResolution:K.number,nodeThreeObject:K.oneOfType([K.object,K.string,K.func]),nodeThreeObjectExtend:K.oneOfType([K.bool,K.string,K.func]),linkOpacity:K.number,linkResolution:K.number,linkCurveRotation:K.oneOfType([K.number,K.string,K.func]),linkMaterial:K.oneOfType([K.object,K.string,K.func]),linkThreeObject:K.oneOfType([K.object,K.string,K.func]),linkThreeObjectExtend:K.oneOfType([K.bool,K.string,K.func]),linkPositionUpdate:K.func,linkDirectionalArrowResolution:K.number,linkDirectionalParticleResolution:K.number,forceEngine:K.oneOf(["d3","ngraph"]),ngraphPhysics:K.object,numDimensions:K.oneOf([1,2,3])},UZ=Object.assign({},im,O2,{linkLineDash:K.oneOfType([K.arrayOf(K.number),K.string,K.func]),nodeCanvasObjectMode:K.oneOfType([K.string,K.func]),nodeCanvasObject:K.func,nodePointerAreaPaint:K.func,linkCanvasObjectMode:K.oneOfType([K.string,K.func]),linkCanvasObject:K.func,linkPointerAreaPaint:K.func,autoPauseRedraw:K.bool,minZoom:K.number,maxZoom:K.number,enableZoomInteraction:K.oneOfType([K.bool,K.func]),enablePanInteraction:K.oneOfType([K.bool,K.func]),onZoom:K.func,onZoomEnd:K.func,onRenderFramePre:K.func,onRenderFramePost:K.func}),BZ=Object.assign({},im,O2,zx,{enableNavigationControls:K.bool,controlType:K.oneOf(["trackball","orbit","fly"]),rendererConfig:K.object,extraRenderers:K.arrayOf(K.shape({render:K.func.isRequired}))}),kZ=Object.assign({},im,zx,{nodeDesc:K.oneOfType([K.string,K.func]),linkDesc:K.oneOfType([K.string,K.func])}),zZ=Object.assign({},im,zx,{markerAttrs:K.object,yOffset:K.number,glScale:K.number});const F2=$h(ko,{methodNames:["getGraphBbox","emitParticle","d3Force","d3ReheatSimulation","refresh"]});F2.displayName="ForceGraphVR",F2.propTypes=kZ;const U2=$h(y4,{methodNames:["getGraphBbox","emitParticle","d3Force","d3ReheatSimulation","refresh"],initPropNames:["markerAttrs"]});U2.displayName="ForceGraphAR",U2.propTypes=zZ;const Gx=$h(fY,{methodNames:["emitParticle","d3Force","d3ReheatSimulation","stopAnimation","pauseAnimation","resumeAnimation","cameraPosition","zoomToFit","getGraphBbox","screen2GraphCoords","graph2ScreenCoords","postProcessingComposer","lights","scene","camera","renderer","controls","refresh"],initPropNames:["controlType","rendererConfig","extraRenderers"]});Gx.displayName="ForceGraph3D",Gx.propTypes=BZ;const Vx=$h(FZ,{methodNames:["emitParticle","d3Force","d3ReheatSimulation","stopAnimation","pauseAnimation","resumeAnimation","centerAt","zoom","zoomToFit","getGraphBbox","screen2GraphCoords","graph2ScreenCoords"]});Vx.displayName="ForceGraph2D",Vx.propTypes=UZ;const GZ={position:"absolute",pointerEvents:"none",background:fn.PREDICATE,color:"#fff",border:`2px solid ${fn.PREDICATE}`,borderRadius:8,padding:"6px 14px",fontSize:15,fontWeight:"bold",zIndex:1e4,boxShadow:"0 2px 8px rgba(0,0,0,0.18)",whiteSpace:"nowrap",maxWidth:260,overflow:"hidden",textOverflow:"ellipsis"},VZ=16,B2=32,$Z=({graphData:r,onNodeClick:e,onEngineStop:n,fgRef:i,children:s,selectedTriple:o,endpoint:a,disableNodeDetailsSidebar:l=!1})=>{const c=xe.useRef(),[u,h]=xe.useState(null),[d,f]=xe.useState(null),[p,m]=xe.useState({x:0,y:0}),[_,y]=xe.useState({width:100,height:100}),[g,x]=xe.useState(new Map);xe.useEffect(()=>{const S=()=>{c.current&&y({width:c.current.clientWidth,height:c.current.clientHeight})};return S(),window.addEventListener("resize",S),()=>window.removeEventListener("resize",S)},[]),xe.useEffect(()=>{r.nodes.forEach(S=>{if(S.image&&!g.has(S.image)){const T=new Image;T.crossOrigin="anonymous",T.src=S.image,T.onload=()=>{x(A=>new Map(A).set(S.image,T)),i.current&&i.current.emit("redraw")}}})},[r.nodes]);const b=xe.useCallback(()=>{h(null),f(null)},[]),v=xe.useCallback(S=>{if(c.current){const T=c.current.getBoundingClientRect();m({x:S.clientX-T.left,y:S.clientY-T.top})}},[]),w=xe.useCallback(()=>{h(null),f(null)},[]),M=()=>{if(!c.current)return{left:p.x,top:p.y};const S=c.current.getBoundingClientRect(),T=180,A=36;let E=p.x+VZ,R=p.y-B2;return E+T>S.width&&(E=S.width-T-8),E<0&&(E=8),R<0&&(R=p.y+B2),R+A>S.height&&(R=S.height-A-8),{left:E,top:R}};return J.jsxs("div",{ref:c,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},onMouseMove:v,children:[J.jsx(Vx,{ref:i,graphData:r,width:_.width,height:_.height,nodeCanvasObject:(S,T,A)=>{const E=44/A*Math.pow(A,.15);if(S.type==="object")if(S.image){if(T.save(),T.beginPath(),T.rect(S.x-E/2,S.y-E/2,E,E),T.closePath(),T.strokeStyle=S.color,T.lineWidth=3/A,T.stroke(),T.clip(),!S.__img){const R=new window.Image;R.crossOrigin="anonymous",R.src=S.image,R.onload=()=>{S.__imgLoaded=!0,i&&i.current&&i.current.emit&&i.current.emit("redraw")},S.__img=R,S.__imgLoaded=!1}S.__imgLoaded?T.drawImage(S.__img,S.x-E/2,S.y-E/2,E,E):(T.fillStyle=S.color||"#888",T.fillRect(S.x-E/2,S.y-E/2,E,E)),T.restore()}else{T.save(),T.beginPath(),T.rect(S.x-E/2,S.y-E/2,E,E),T.closePath(),T.fillStyle=S.color+"CC",T.fill(),T.strokeStyle=S.color,T.lineWidth=3/A,T.stroke();const R=(S.label||"?").substring(0,3),U=20/A;T.font=`bold ${U}px Sans-Serif`,T.fillStyle="#fff",T.textAlign="center",T.textBaseline="middle",T.fillText(R,S.x,S.y+E*.04),T.restore()}else if(S.image){if(!S.__img){const R=new window.Image;R.src=S.image,R.onload=()=>{S.__imgLoaded=!0,i&&i.current&&i.current.emit&&i.current.emit("redraw")},S.__img=R,S.__imgLoaded=!1}T.save(),T.beginPath(),T.arc(S.x,S.y,E/2,0,2*Math.PI,!1),T.closePath(),T.lineWidth=3/A,T.strokeStyle=S.color,T.stroke(),T.clip(),S.__imgLoaded?T.drawImage(S.__img,S.x-E/2,S.y-E/2,E,E):(T.fillStyle=S.color||"#888",T.fill()),T.restore()}else{T.save(),T.beginPath(),T.arc(S.x,S.y,E/2,0,2*Math.PI,!1),T.closePath(),T.fillStyle=S.color+"CC",T.fill(),T.strokeStyle=S.color,T.lineWidth=3/A,T.stroke();const R=(S.label||"?").substring(0,3),U=20/A;T.font=`bold ${U}px Sans-Serif`,T.fillStyle="#fff",T.textAlign="center",T.textBaseline="middle",T.fillText(R,S.x,S.y+E*.04),T.restore()}},nodePointerAreaPaint:(S,T,A,E)=>{const R=44/E*Math.pow(E,.15);A.fillStyle=T,S.type==="object"?(A.beginPath(),A.rect(S.x-R/2,S.y-R/2,R,R),A.closePath(),A.fill()):(A.beginPath(),A.arc(S.x,S.y,R/2,0,2*Math.PI,!1),A.closePath(),A.fill())},linkColor:()=>"rgba(255, 211, 42, 0.15)",linkDirectionalParticles:1,linkDirectionalParticleSpeed:.01,linkDirectionalParticleColor:()=>"rgba(255,255,255,0.5)",nodeAutoColorBy:"type",onNodeClick:e,onEngineStop:n,onNodeHover:f,onLinkHover:h,onBackgroundClick:w,onZoom:b}),u&&u.label?J.jsx("div",{style:{...GZ,...M(),pointerEvents:"none"},children:u.label}):d&&d.label?J.jsx("div",{style:{position:"absolute",left:p.x+18,top:p.y-10,background:"#232326",color:"#fff",border:"1.5px solid #ffd32a",borderRadius:8,padding:"6px 14px",fontSize:15,fontWeight:"bold",zIndex:10001,boxShadow:"0 2px 8px rgba(0,0,0,0.18)",pointerEvents:"none",whiteSpace:"nowrap",maxWidth:260,overflow:"hidden",textOverflow:"ellipsis"},children:d.label}):null,o&&!l&&J.jsx("div",{style:{position:"absolute",top:80,right:30,width:350,zIndex:9999,maxHeight:"80vh",background:"#18181b",borderRadius:"10px",border:"3px solid #ffd32a",boxShadow:"0 8px 30px rgba(0, 0, 0, 0.5)",overflowY:"auto"},children:J.jsx(Vh,{triple:o,endpoint:a,onClose:()=>e(null)})}),J.jsx("div",{style:{position:"relative",zIndex:2e3},children:s})]})};function $x(r,e){(e==null||e>r.length)&&(e=r.length);for(var n=0,i=Array(e);n<e;n++)i[n]=r[n];return i}function HZ(r){if(Array.isArray(r))return r}function jZ(r){if(Array.isArray(r))return $x(r)}function WZ(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function qZ(r,e,n){return e=rm(e),nQ(r,k2()?Reflect.construct(e,n,rm(r).constructor):e.apply(r,n))}function XZ(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function YZ(r,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(r,rQ(i.key),i)}}function KZ(r,e,n){return YZ(r.prototype,e),Object.defineProperty(r,"prototype",{writable:!1}),r}function rm(r){return rm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},rm(r)}function ZZ(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),e&&Hx(r,e)}function k2(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(k2=function(){return!!r})()}function QZ(r){if(typeof Symbol<"u"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function JZ(r,e){var n=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(n!=null){var i,s,o,a,l=[],c=!0,u=!1;try{if(o=(n=n.call(r)).next,e===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(i=o.call(n)).done)&&(l.push(i.value),l.length!==e);c=!0);}catch(h){u=!0,s=h}finally{try{if(!c&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw s}}return l}}function eQ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
5360
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function A2(r,e){var n=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable})),n.push.apply(n,i)}return n}function Cc(r){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?A2(Object(n),!0).forEach(function(i){wh(r,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):A2(Object(n)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(n,i))})}return r}function Mh(r,e){return vZ(r)||SZ(r,e)||C2(r,e)||TZ()}function tr(r){return xZ(r)||bZ(r)||C2(r)||wZ()}function MZ(r,e){if(typeof r!="object"||!r)return r;var n=r[Symbol.toPrimitive];if(n!==void 0){var i=n.call(r,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function EZ(r){var e=MZ(r,"string");return typeof e=="symbol"?e:e+""}function Bx(r){"@babel/helpers - typeof";return Bx=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},Bx(r)}function C2(r,e){if(r){if(typeof r=="string")return Ux(r,e);var n={}.toString.call(r).slice(8,-1);return n==="Object"&&r.constructor&&(n=r.constructor.name),n==="Map"||n==="Set"?Array.from(r):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ux(r,e):void 0}}var AZ=Z0(cw);function R2(r,e,n){!e||typeof n!="string"||r.filter(function(i){return!i[n]}).forEach(function(i){i[n]=AZ(e(i))})}function CZ(r,e){var n=r.nodes,i=r.links,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=s.nodeFilter,a=o===void 0?function(){return!0}:o,l=s.onLoopError,c=l===void 0?function(p){throw"Invalid DAG structure! Found cycle in node path: ".concat(p.join(" -> "),".")}:l,u={};n.forEach(function(p){return u[e(p)]={data:p,out:[],depth:-1,skip:!a(p)}}),i.forEach(function(p){var m=p.source,_=p.target,y=v(m),g=v(_);if(!u.hasOwnProperty(y))throw"Missing source node with id: ".concat(y);if(!u.hasOwnProperty(g))throw"Missing target node with id: ".concat(g);var x=u[y],b=u[g];x.out.push(b);function v(w){return Bx(w)==="object"?e(w):w}});var h=[];f(Object.values(u));var d=Object.assign.apply(Object,[{}].concat(tr(Object.entries(u).filter(function(p){var m=Mh(p,2),_=m[1];return!_.skip}).map(function(p){var m=Mh(p,2),_=m[0],y=m[1];return wh({},_,y.depth)}))));return d;function f(p){for(var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],_=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,y=function(){var v=p[g];if(m.indexOf(v)!==-1){var w=[].concat(tr(m.slice(m.indexOf(v))),[v]).map(function(M){return e(M.data)});return h.some(function(M){return M.length===w.length&&M.every(function(S,T){return S===w[T]})})||(h.push(w),c(w)),1}_>v.depth&&(v.depth=_,f(v.out,[].concat(tr(m),[v]),_+(v.skip?0:1)))},g=0,x=p.length;g<x;g++)y()}}var RZ=2,ni=function(e,n){return n.onNeedsRedraw&&n.onNeedsRedraw()},N2=function(e,n){if(!n.isShadow){var i=We(n.linkDirectionalParticles);n.graphData.links.forEach(function(s){var o=Math.round(Math.abs(i(s)));o?s.__photons=tr(Array(o)).map(function(){return{}}):delete s.__photons})}},nm=aa({props:{graphData:{default:{nodes:[],links:[]},onChange:function(e,n){n.engineRunning=!1,N2(e,n)}},dagMode:{onChange:function(e,n){!e&&(n.graphData.nodes||[]).forEach(function(i){return i.fx=i.fy=void 0})}},dagLevelDistance:{},dagNodeFilter:{default:function(e){return!0}},onDagError:{triggerUpdate:!1},nodeRelSize:{default:4,triggerUpdate:!1,onChange:ni},nodeId:{default:"id"},nodeVal:{default:"val",triggerUpdate:!1,onChange:ni},nodeColor:{default:"color",triggerUpdate:!1,onChange:ni},nodeAutoColorBy:{},nodeCanvasObject:{triggerUpdate:!1,onChange:ni},nodeCanvasObjectMode:{default:function(){return"replace"},triggerUpdate:!1,onChange:ni},nodeVisibility:{default:!0,triggerUpdate:!1,onChange:ni},linkSource:{default:"source"},linkTarget:{default:"target"},linkVisibility:{default:!0,triggerUpdate:!1,onChange:ni},linkColor:{default:"color",triggerUpdate:!1,onChange:ni},linkAutoColorBy:{},linkLineDash:{triggerUpdate:!1,onChange:ni},linkWidth:{default:1,triggerUpdate:!1,onChange:ni},linkCurvature:{default:0,triggerUpdate:!1,onChange:ni},linkCanvasObject:{triggerUpdate:!1,onChange:ni},linkCanvasObjectMode:{default:function(){return"replace"},triggerUpdate:!1,onChange:ni},linkDirectionalArrowLength:{default:0,triggerUpdate:!1,onChange:ni},linkDirectionalArrowColor:{triggerUpdate:!1,onChange:ni},linkDirectionalArrowRelPos:{default:.5,triggerUpdate:!1,onChange:ni},linkDirectionalParticles:{default:0,triggerUpdate:!1,onChange:N2},linkDirectionalParticleSpeed:{default:.01,triggerUpdate:!1},linkDirectionalParticleWidth:{default:4,triggerUpdate:!1},linkDirectionalParticleColor:{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,i){return i===void 0?e.forceLayout.force(n):(e.forceLayout.force(n,i),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(),s(),!e.isShadow&&o(),!e.isShadow&&a(),i(),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 i(){var l=We(e.nodeVisibility),c=We(e.nodeVal),u=We(e.nodeColor),h=We(e.nodeCanvasObjectMode),d=e.ctx,f=e.isShadow/e.globalScale,p=e.graphData.nodes.filter(l);d.save(),p.forEach(function(m){var _=h(m);if(e.nodeCanvasObject&&(_==="before"||_==="replace")&&(e.nodeCanvasObject(m,d,e.globalScale),_==="replace")){d.restore();return}var y=Math.sqrt(Math.max(0,c(m)||1))*e.nodeRelSize+f;d.beginPath(),d.arc(m.x,m.y,y,0,2*Math.PI,!1),d.fillStyle=u(m)||"rgba(31, 120, 180, 0.92)",d.fill(),e.nodeCanvasObject&&_==="after"&&e.nodeCanvasObject(m,e.ctx,e.globalScale)}),d.restore()}function s(){var l=We(e.linkVisibility),c=We(e.linkColor),u=We(e.linkWidth),h=We(e.linkLineDash),d=We(e.linkCurvature),f=We(e.linkCanvasObjectMode),p=e.ctx,m=e.isShadow*2,_=e.graphData.links.filter(l);_.forEach(M);var y=[],g=[],x=_;if(e.linkCanvasObject){var b=[],v=[];_.forEach(function(S){return({before:y,after:g,replace:b}[f(S)]||v).push(S)}),x=[].concat(tr(y),g,v),y=y.concat(b)}p.save(),y.forEach(function(S){return e.linkCanvasObject(S,p,e.globalScale)}),p.restore();var w=gZ(x,[c,u,h]);p.save(),Object.entries(w).forEach(function(S){var T=Mh(S,2),A=T[0],E=T[1],R=!A||A==="undefined"?"rgba(0,0,0,0.15)":A;Object.entries(E).forEach(function(U){var L=Mh(U,2),C=L[0],D=L[1],I=(C||1)/e.globalScale+m;Object.entries(D).forEach(function(W){var $=Mh(W,2);$[0];var ie=$[1],O=h(ie[0]);p.beginPath(),ie.forEach(function(k){var Q=k.source,le=k.target;if(!(!Q||!le||!Q.hasOwnProperty("x")||!le.hasOwnProperty("x"))){p.moveTo(Q.x,Q.y);var F=k.__controlPoints;F?p[F.length===2?"quadraticCurveTo":"bezierCurveTo"].apply(p,tr(F).concat([le.x,le.y])):p.lineTo(le.x,le.y)}}),p.strokeStyle=R,p.lineWidth=I,p.setLineDash(O||[]),p.stroke()})})}),p.restore(),p.save(),g.forEach(function(S){return e.linkCanvasObject(S,p,e.globalScale)}),p.restore();function M(S){var T=d(S);if(!T){S.__controlPoints=null;return}var A=S.source,E=S.target;if(!(!A||!E||!A.hasOwnProperty("x")||!E.hasOwnProperty("x"))){var R=Math.sqrt(Math.pow(E.x-A.x,2)+Math.pow(E.y-A.y,2));if(R>0){var U=Math.atan2(E.y-A.y,E.x-A.x),L=R*T,C={x:(A.x+E.x)/2+L*Math.cos(U-Math.PI/2),y:(A.y+E.y)/2+L*Math.sin(U-Math.PI/2)};S.__controlPoints=[C.x,C.y]}else{var D=T*70;S.__controlPoints=[E.x,E.y-D,E.x+D,E.y]}}}}function o(){var l=1.6,c=.2,u=We(e.linkDirectionalArrowLength),h=We(e.linkDirectionalArrowRelPos),d=We(e.linkVisibility),f=We(e.linkDirectionalArrowColor||e.linkColor),p=We(e.nodeVal),m=e.ctx;m.save(),e.graphData.links.filter(d).forEach(function(_){var y=u(_);if(!(!y||y<0)){var g=_.source,x=_.target;if(!(!g||!x||!g.hasOwnProperty("x")||!x.hasOwnProperty("x"))){var b=Math.sqrt(Math.max(0,p(g)||1))*e.nodeRelSize,v=Math.sqrt(Math.max(0,p(x)||1))*e.nodeRelSize,w=Math.min(1,Math.max(0,h(_))),M=f(_)||"rgba(0,0,0,0.28)",S=y/l/2,T=_.__controlPoints&&M2(rn,[g.x,g.y].concat(tr(_.__controlPoints),[x.x,x.y])),A=T?function(I){return T.get(I)}:function(I){return{x:g.x+(x.x-g.x)*I||0,y:g.y+(x.y-g.y)*I||0}},E=T?T.length():Math.sqrt(Math.pow(x.x-g.x,2)+Math.pow(x.y-g.y,2)),R=b+y+(E-b-v-y)*w,U=A(R/E),L=A((R-y)/E),C=A((R-y*(1-c))/E),D=Math.atan2(U.y-L.y,U.x-L.x)-Math.PI/2;m.beginPath(),m.moveTo(U.x,U.y),m.lineTo(L.x+S*Math.cos(D),L.y+S*Math.sin(D)),m.lineTo(C.x,C.y),m.lineTo(L.x-S*Math.cos(D),L.y-S*Math.sin(D)),m.fillStyle=M,m.fill()}}}),m.restore()}function a(){var l=We(e.linkDirectionalParticles),c=We(e.linkDirectionalParticleSpeed),u=We(e.linkDirectionalParticleWidth),h=We(e.linkVisibility),d=We(e.linkDirectionalParticleColor||e.linkColor),f=e.ctx;f.save(),e.graphData.links.filter(h).forEach(function(p){var m=l(p);if(!(!p.hasOwnProperty("__photons")||!p.__photons.length)){var _=p.source,y=p.target;if(!(!_||!y||!_.hasOwnProperty("x")||!y.hasOwnProperty("x"))){var g=c(p),x=p.__photons||[],b=Math.max(0,u(p)/2)/Math.sqrt(e.globalScale),v=d(p)||"rgba(0,0,0,0.28)";f.fillStyle=v;var w=p.__controlPoints?M2(rn,[_.x,_.y].concat(tr(p.__controlPoints),[y.x,y.y])):null,M=0,S=!1;x.forEach(function(T){var A=!!T.__singleHop;if(T.hasOwnProperty("__progressRatio")||(T.__progressRatio=A?0:M/m),!A&&M++,T.__progressRatio+=g,T.__progressRatio>=1)if(!A)T.__progressRatio=T.__progressRatio%1;else{S=!0;return}var E=T.__progressRatio,R=w?w.get(E):{x:_.x+(y.x-_.x)*E||0,y:_.y+(y.y-_.y)*E||0};f.beginPath(),f.arc(R.x,R.y,b,0,2*Math.PI,!1),f.fill()}),S&&(p.__photons=p.__photons.filter(function(T){return!T.__singleHop||T.__progressRatio<=1}))}}}),f.restore()}},emitParticle:function(e,n){return n&&(!n.__photons&&(n.__photons=[]),n.__photons.push({__singleHop:!0})),this}},stateInit:function(){return{forceLayout:c1().force("link",e1()).force("charge",u1()).force("center",$T()).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&&R2(e.graphData.nodes,We(e.nodeAutoColorBy),e.nodeColor),e.linkAutoColorBy!==null&&R2(e.graphData.links,We(e.linkAutoColorBy),e.linkColor),e.graphData.links.forEach(function(f){f.source=f[e.linkSource],f.target=f[e.linkTarget]}),e.forceLayout.stop().alpha(1).nodes(e.graphData.nodes);var i=e.forceLayout.force("link");i&&i.id(function(f){return f[e.nodeId]}).links(e.graphData.links);var s=e.dagMode&&CZ(e.graphData,function(f){return f[e.nodeId]},{nodeFilter:e.dagNodeFilter,onLoopError:e.onDagError||void 0}),o=Math.max.apply(Math,tr(Object.values(s||[]))),a=e.dagLevelDistance||e.graphData.nodes.length/(o||1)*RZ*(["radialin","radialout"].indexOf(e.dagMode)!==-1?.7:1);if(["lr","rl","td","bu"].includes(n.dagMode)){var l=["lr","rl"].includes(n.dagMode)?"fx":"fy";e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(f){return delete f[l]})}if(["lr","rl","td","bu"].includes(e.dagMode)){var c=["rl","bu"].includes(e.dagMode),u=function(p){return(s[p[e.nodeId]]-o/2)*a*(c?-1:1)},h=["lr","rl"].includes(e.dagMode)?"fx":"fy";e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(f){return f[h]=u(f)})}e.forceLayout.force("dagRadial",["radialin","radialout"].indexOf(e.dagMode)!==-1?h1(function(f){var p=s[f[e.nodeId]]||-1;return(e.dagMode==="radialin"?o-p:p)*a}).strength(function(f){return e.dagNodeFilter(f)?1:0}):null);for(var d=0;d<e.warmupTicks&&!(e.d3AlphaMin>0&&e.forceLayout.alpha()<e.d3AlphaMin);d++)e.forceLayout.tick();this.resetCountdown(),e.onFinishUpdate()}});function P2(r,e){var n=r instanceof Array?r:[r],i=new e;return i._destructor&&i._destructor(),{linkProp:function(o){return{default:i[o](),onChange:function(l,c){n.forEach(function(u){return c[u][o](l)})},triggerUpdate:!1}},linkMethod:function(o){return function(a){for(var l=arguments.length,c=new Array(l>1?l-1:0),u=1;u<l;u++)c[u-1]=arguments[u];var h=[];return n.forEach(function(d){var f=a[d],p=f[o].apply(f,c);p!==f&&h.push(p)}),h.length?h[0]:this}}}}var NZ=800,PZ=4,DZ=5,D2=P2("forceGraph",nm),IZ=P2(["forceGraph","shadowGraph"],nm),LZ=Object.assign.apply(Object,tr(["nodeColor","nodeAutoColorBy","nodeCanvasObject","nodeCanvasObjectMode","linkColor","linkAutoColorBy","linkLineDash","linkWidth","linkCanvasObject","linkCanvasObjectMode","linkDirectionalArrowLength","linkDirectionalArrowColor","linkDirectionalArrowRelPos","linkDirectionalParticles","linkDirectionalParticleSpeed","linkDirectionalParticleWidth","linkDirectionalParticleColor","dagMode","dagLevelDistance","dagNodeFilter","onDagError","d3AlphaMin","d3AlphaDecay","d3VelocityDecay","warmupTicks","cooldownTicks","cooldownTime","onEngineTick","onEngineStop"].map(function(r){return wh({},r,D2.linkProp(r))})).concat(tr(["nodeRelSize","nodeId","nodeVal","nodeVisibility","linkSource","linkTarget","linkVisibility","linkCurvature"].map(function(r){return wh({},r,IZ.linkProp(r))})))),OZ=Object.assign.apply(Object,tr(["d3Force","d3ReheatSimulation","emitParticle"].map(function(r){return wh({},r,D2.linkMethod(r))})));function kx(r){if(r.canvas){var e=r.canvas.width,n=r.canvas.height;e===300&&n===150&&(e=n=0);var i=window.devicePixelRatio;e/=i,n/=i,[r.canvas,r.shadowCanvas].forEach(function(o){o.style.width="".concat(r.width,"px"),o.style.height="".concat(r.height,"px"),o.width=r.width*i,o.height=r.height*i,!e&&!n&&o.getContext("2d").scale(i,i)});var s=qr(r.canvas).k;r.zoom.translateBy(r.zoom.__baseElem,(r.width-e)/2/s,(r.height-n)/2/s),r.needsRedraw=!0}}function I2(r){var e=window.devicePixelRatio;r.setTransform(e,0,0,e,0,0)}function L2(r,e,n){r.save(),I2(r),r.clearRect(0,0,e,n),r.restore()}var FZ=aa({props:Cc({width:{default:window.innerWidth,onChange:function(e,n){return kx(n)},triggerUpdate:!1},height:{default:window.innerHeight,onChange:function(e,n){return kx(n)},triggerUpdate:!1},graphData:{default:{nodes:[],links:[]},onChange:function(e,n){[e.nodes,e.links].every(function(s){return(s||[]).every(function(o){return!o.hasOwnProperty("__indexColor")})})&&n.colorTracker.reset(),[{type:"Node",objs:e.nodes},{type:"Link",objs:e.links}].forEach(i),n.forceGraph.graphData(e),n.shadowGraph.graphData(e);function i(s){var o=s.type,a=s.objs;a.filter(function(l){if(!l.hasOwnProperty("__indexColor"))return!0;var c=n.colorTracker.lookup(l.__indexColor);return!c||!c.hasOwnProperty("d")||c.d!==l}).forEach(function(l){l.__indexColor=n.colorTracker.register({type:o,d:l})})}},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(i,s,o){return e(i,i.__indexColor,s,o)}:null),n.flushShadowCanvas&&n.flushShadowCanvas()},triggerUpdate:!1},linkPointerAreaPaint:{onChange:function(e,n){n.shadowGraph.linkCanvasObject(e?function(i,s,o){return e(i,i.__indexColor,s,o)}: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},onZoom:{triggerUpdate:!1},onZoomEnd:{triggerUpdate:!1},onRenderFramePre:{triggerUpdate:!1},onRenderFramePost:{triggerUpdate:!1}},LZ),aliases:{stopAnimation:"pauseAnimation"},methods:Cc({graph2ScreenCoords:function(e,n,i){var s=qr(e.canvas);return{x:n*s.k+s.x,y:i*s.k+s.y}},screen2GraphCoords:function(e,n,i){var s=qr(e.canvas);return{x:(n-s.x)/s.k,y:(i-s.y)/s.k}},centerAt:function(e,n,i,s){if(!e.canvas)return null;if(n!==void 0||i!==void 0){var o=Object.assign({},n!==void 0?{x:n}:{},i!==void 0?{y:i}:{});return s?e.tweenGroup.add(new Up(a()).to(o,s).easing(ks.Quadratic.Out).onUpdate(l).start()):l(o),this}return a();function a(){var c=qr(e.canvas);return{x:(e.width/2-c.x)/c.k,y:(e.height/2-c.y)/c.k}}function l(c){var u=c.x,h=c.y;e.zoom.translateTo(e.zoom.__baseElem,u===void 0?a().x:u,h===void 0?a().y:h),e.needsRedraw=!0}},zoom:function(e,n,i){if(!e.canvas)return null;if(n!==void 0)return i?e.tweenGroup.add(new Up({k:s()}).to({k:n},i).easing(ks.Quadratic.Out).onUpdate(function(a){var l=a.k;return o(l)}).start()):o(n),this;return s();function s(){return qr(e.canvas).k}function o(a){e.zoom.scaleTo(e.zoom.__baseElem,a),e.needsRedraw=!0}},zoomToFit:function(e){for(var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,s=arguments.length,o=new Array(s>3?s-3:0),a=3;a<s;a++)o[a-3]=arguments[a];var l=this.getGraphBbox.apply(this,o);if(l){var c={x:(l.x[0]+l.x[1])/2,y:(l.y[0]+l.y[1])/2},u=Math.max(1e-12,Math.min(1e12,(e.width-i*2)/(l.x[1]-l.x[0]),(e.height-i*2)/(l.y[1]-l.y[0])));this.centerAt(c.x,c.y,n),this.zoom(u,n)}return this},getGraphBbox:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){return!0},i=We(e.nodeVal),s=function(l){return Math.sqrt(Math.max(0,i(l)||1))*e.nodeRelSize},o=e.graphData.nodes.filter(n).map(function(a){return{x:a.x,y:a.y,r:s(a)}});return o.length?{x:[W0(o,function(a){return a.x-a.r}),j0(o,function(a){return a.x+a.r})],y:[W0(o,function(a){return a.y-a.r}),j0(o,function(a){return a.y+a.r})]}:null},pauseAnimation:function(e){return e.animationFrameRequestId&&(cancelAnimationFrame(e.animationFrameRequestId),e.animationFrameRequestId=null),this},resumeAnimation:function(e){return e.animationFrameRequestId||this._animationCycle(),this},_destructor:function(){this.pauseAnimation(),this.graphData({nodes:[],links:[]})}},OZ),stateInit:function(){return{lastSetZoom:1,zoom:IK(),forceGraph:new nm,shadowGraph:new nm().cooldownTicks(0).nodeColor("__indexColor").linkColor("__indexColor").isShadow(!0),colorTracker:new KK,tweenGroup:new cx}},init:function(e,n){var i=this;e.innerHTML="";var s=document.createElement("div");s.classList.add("force-graph-container"),s.style.position="relative",e.appendChild(s),n.canvas=document.createElement("canvas"),n.backgroundColor&&(n.canvas.style.background=n.backgroundColor),s.appendChild(n.canvas),n.shadowCanvas=document.createElement("canvas");var o=n.canvas.getContext("2d"),a=n.shadowCanvas.getContext("2d",{willReadFrequently:!0}),l={x:-1e12,y:-1e12},c=function(){var d=null,f=window.devicePixelRatio,p=l.x>0&&l.y>0?a.getImageData(l.x*f,l.y*f,1,1):null;return p&&(d=n.colorTracker.lookup(p.data)),d};Qi(n.canvas).call(vY().subject(function(){if(!n.enableNodeDrag)return null;var h=c();return h&&h.type==="Node"?h.d:null}).on("start",function(h){var d=h.subject;d.__initialDragPos={x:d.x,y:d.y,fx:d.fx,fy:d.fy},h.active||(d.fx=d.x,d.fy=d.y),n.canvas.classList.add("grabbable")}).on("drag",function(h){var d=h.subject,f=d.__initialDragPos,p=h,m=qr(n.canvas).k,_={x:f.x+(p.x-f.x)/m-d.x,y:f.y+(p.y-f.y)/m-d.y};["x","y"].forEach(function(y){return d["f".concat(y)]=d[y]=f[y]+(p[y]-f[y])/m}),!(!d.__dragged&&DZ>=Math.sqrt(Nk(["x","y"].map(function(y){return Math.pow(h[y]-f[y],2)}))))&&(n.forceGraph.d3AlphaTarget(.3).resetCountdown(),n.isPointerDragging=!0,d.__dragged=!0,n.onNodeDrag(d,_))}).on("end",function(h){var d=h.subject,f=d.__initialDragPos,p={x:d.x-f.x,y:d.y-f.y};f.fx===void 0&&(d.fx=void 0),f.fy===void 0&&(d.fy=void 0),delete d.__initialDragPos,n.forceGraph.d3AlphaTarget()&&n.forceGraph.d3AlphaTarget(0).resetCountdown(),n.canvas.classList.remove("grabbable"),n.isPointerDragging=!1,d.__dragged&&(delete d.__dragged,n.onNodeDragEnd(d,p))})),n.zoom(n.zoom.__baseElem=Qi(n.canvas)),n.zoom.__baseElem.on("dblclick.zoom",null),n.zoom.filter(function(h){return!h.button&&n.enableZoomPanInteraction&&(h.type!=="wheel"||We(n.enableZoomInteraction)(h))&&(h.type==="wheel"||We(n.enablePanInteraction)(h))}).on("zoom",function(h){var d=h.transform;[o,a].forEach(function(f){I2(f),f.translate(d.x,d.y),f.scale(d.k,d.k)}),n.onZoom&&n.onZoom(Cc(Cc({},d),i.centerAt())),n.needsRedraw=!0}).on("end",function(h){return n.onZoomEnd&&n.onZoomEnd(Cc(Cc({},h.transform),i.centerAt()))}),kx(n),n.forceGraph.onNeedsRedraw(function(){return n.needsRedraw=!0}).onFinishUpdate(function(){qr(n.canvas).k===n.lastSetZoom&&n.graphData.nodes.length&&(n.zoom.scaleTo(n.zoom.__baseElem,n.lastSetZoom=PZ/Math.cbrt(n.graphData.nodes.length)),n.needsRedraw=!0)}),n.tooltip=new t2(s),["pointermove","pointerdown"].forEach(function(h){return s.addEventListener(h,function(d){h==="pointerdown"&&(n.isPointerPressed=!0,n.pointerDownEvent=d),!n.isPointerDragging&&d.type==="pointermove"&&n.onBackgroundClick&&(d.pressure>0||n.isPointerPressed)&&(d.pointerType!=="touch"||d.movementX===void 0||[d.movementX,d.movementY].some(function(m){return Math.abs(m)>1}))&&(n.isPointerDragging=!0);var f=p(s);l.x=d.pageX-f.left,l.y=d.pageY-f.top;function p(m){var _=m.getBoundingClientRect(),y=window.pageXOffset||document.documentElement.scrollLeft,g=window.pageYOffset||document.documentElement.scrollTop;return{top:_.top+g,left:_.left+y}}},{passive:!0})}),s.addEventListener("pointerup",function(h){if(n.isPointerPressed=!1,n.isPointerDragging){n.isPointerDragging=!1;return}var d=[h,n.pointerDownEvent];requestAnimationFrame(function(){if(h.button===0)if(n.hoverObj){var f=n["on".concat(n.hoverObj.type,"Click")];f&&f.apply(void 0,[n.hoverObj.d].concat(d))}else n.onBackgroundClick&&n.onBackgroundClick.apply(n,d);if(h.button===2)if(n.hoverObj){var p=n["on".concat(n.hoverObj.type,"RightClick")];p&&p.apply(void 0,[n.hoverObj.d].concat(d))}else n.onBackgroundRightClick&&n.onBackgroundRightClick.apply(n,d)})},{passive:!0}),s.addEventListener("contextmenu",function(h){return!n.onBackgroundRightClick&&!n.onNodeRightClick&&!n.onLinkRightClick?!0:(h.preventDefault(),!1)}),n.forceGraph(o),n.shadowGraph(a);var u=OK(function(){L2(a,n.width,n.height),n.shadowGraph.linkWidth(function(d){return We(n.linkWidth)(d)+n.linkHoverPrecision});var h=qr(n.canvas);n.shadowGraph.globalScale(h.k).tickFrame()},NZ);n.flushShadowCanvas=u.flush,(this._animationCycle=function h(){var d=!n.autoPauseRedraw||!!n.needsRedraw||n.forceGraph.isEngineRunning()||n.graphData.links.some(function(b){return b.__photons&&b.__photons.length});if(n.needsRedraw=!1,n.enablePointerInteraction){var f=n.isPointerDragging?null:c();if(f!==n.hoverObj){var p=n.hoverObj,m=p?p.type:null,_=f?f.type:null;if(m&&m!==_){var y=n["on".concat(m,"Hover")];y&&y(null,p.d)}if(_){var g=n["on".concat(_,"Hover")];g&&g(f.d,m===_?p.d:null)}n.tooltip.content(f&&We(n["".concat(f.type.toLowerCase(),"Label")])(f.d)||null),n.canvas.classList[f&&n["on".concat(_,"Click")]||!f&&n.onBackgroundClick?"add":"remove"]("clickable"),n.hoverObj=f}d&&u()}if(d){L2(o,n.width,n.height);var x=qr(n.canvas).k;n.onRenderFramePre&&n.onRenderFramePre(o,x),n.forceGraph.globalScale(x).tickFrame(),n.onRenderFramePost&&n.onRenderFramePost(o,x)}n.tweenGroup.update(),n.animationFrameRequestId=requestAnimationFrame(h)})()},update:function(e){}}),im={width:K.number,height:K.number,graphData:K.shape({nodes:K.arrayOf(K.object).isRequired,links:K.arrayOf(K.object).isRequired}),backgroundColor:K.string,nodeRelSize:K.number,nodeId:K.string,nodeLabel:K.oneOfType([K.string,K.func]),nodeVal:K.oneOfType([K.number,K.string,K.func]),nodeVisibility:K.oneOfType([K.bool,K.string,K.func]),nodeColor:K.oneOfType([K.string,K.func]),nodeAutoColorBy:K.oneOfType([K.string,K.func]),onNodeHover:K.func,onNodeClick:K.func,linkSource:K.string,linkTarget:K.string,linkLabel:K.oneOfType([K.string,K.func]),linkVisibility:K.oneOfType([K.bool,K.string,K.func]),linkColor:K.oneOfType([K.string,K.func]),linkAutoColorBy:K.oneOfType([K.string,K.func]),linkWidth:K.oneOfType([K.number,K.string,K.func]),linkCurvature:K.oneOfType([K.number,K.string,K.func]),linkDirectionalArrowLength:K.oneOfType([K.number,K.string,K.func]),linkDirectionalArrowColor:K.oneOfType([K.string,K.func]),linkDirectionalArrowRelPos:K.oneOfType([K.number,K.string,K.func]),linkDirectionalParticles:K.oneOfType([K.number,K.string,K.func]),linkDirectionalParticleSpeed:K.oneOfType([K.number,K.string,K.func]),linkDirectionalParticleWidth:K.oneOfType([K.number,K.string,K.func]),linkDirectionalParticleColor:K.oneOfType([K.string,K.func]),onLinkHover:K.func,onLinkClick:K.func,dagMode:K.oneOf(["td","bu","lr","rl","zin","zout","radialin","radialout"]),dagLevelDistance:K.number,dagNodeFilter:K.func,onDagError:K.func,d3AlphaMin:K.number,d3AlphaDecay:K.number,d3VelocityDecay:K.number,warmupTicks:K.number,cooldownTicks:K.number,cooldownTime:K.number,onEngineTick:K.func,onEngineStop:K.func,getGraphBbox:K.func},O2={zoomToFit:K.func,onNodeRightClick:K.func,onNodeDrag:K.func,onNodeDragEnd:K.func,onLinkRightClick:K.func,linkHoverPrecision:K.number,onBackgroundClick:K.func,onBackgroundRightClick:K.func,enablePointerInteraction:K.bool,enableNodeDrag:K.bool},zx={showNavInfo:K.bool,nodeOpacity:K.number,nodeResolution:K.number,nodeThreeObject:K.oneOfType([K.object,K.string,K.func]),nodeThreeObjectExtend:K.oneOfType([K.bool,K.string,K.func]),linkOpacity:K.number,linkResolution:K.number,linkCurveRotation:K.oneOfType([K.number,K.string,K.func]),linkMaterial:K.oneOfType([K.object,K.string,K.func]),linkThreeObject:K.oneOfType([K.object,K.string,K.func]),linkThreeObjectExtend:K.oneOfType([K.bool,K.string,K.func]),linkPositionUpdate:K.func,linkDirectionalArrowResolution:K.number,linkDirectionalParticleResolution:K.number,forceEngine:K.oneOf(["d3","ngraph"]),ngraphPhysics:K.object,numDimensions:K.oneOf([1,2,3])},UZ=Object.assign({},im,O2,{linkLineDash:K.oneOfType([K.arrayOf(K.number),K.string,K.func]),nodeCanvasObjectMode:K.oneOfType([K.string,K.func]),nodeCanvasObject:K.func,nodePointerAreaPaint:K.func,linkCanvasObjectMode:K.oneOfType([K.string,K.func]),linkCanvasObject:K.func,linkPointerAreaPaint:K.func,autoPauseRedraw:K.bool,minZoom:K.number,maxZoom:K.number,enableZoomInteraction:K.oneOfType([K.bool,K.func]),enablePanInteraction:K.oneOfType([K.bool,K.func]),onZoom:K.func,onZoomEnd:K.func,onRenderFramePre:K.func,onRenderFramePost:K.func}),BZ=Object.assign({},im,O2,zx,{enableNavigationControls:K.bool,controlType:K.oneOf(["trackball","orbit","fly"]),rendererConfig:K.object,extraRenderers:K.arrayOf(K.shape({render:K.func.isRequired}))}),kZ=Object.assign({},im,zx,{nodeDesc:K.oneOfType([K.string,K.func]),linkDesc:K.oneOfType([K.string,K.func])}),zZ=Object.assign({},im,zx,{markerAttrs:K.object,yOffset:K.number,glScale:K.number});const F2=$h(ko,{methodNames:["getGraphBbox","emitParticle","d3Force","d3ReheatSimulation","refresh"]});F2.displayName="ForceGraphVR",F2.propTypes=kZ;const U2=$h(y4,{methodNames:["getGraphBbox","emitParticle","d3Force","d3ReheatSimulation","refresh"],initPropNames:["markerAttrs"]});U2.displayName="ForceGraphAR",U2.propTypes=zZ;const Gx=$h(fY,{methodNames:["emitParticle","d3Force","d3ReheatSimulation","stopAnimation","pauseAnimation","resumeAnimation","cameraPosition","zoomToFit","getGraphBbox","screen2GraphCoords","graph2ScreenCoords","postProcessingComposer","lights","scene","camera","renderer","controls","refresh"],initPropNames:["controlType","rendererConfig","extraRenderers"]});Gx.displayName="ForceGraph3D",Gx.propTypes=BZ;const Vx=$h(FZ,{methodNames:["emitParticle","d3Force","d3ReheatSimulation","stopAnimation","pauseAnimation","resumeAnimation","centerAt","zoom","zoomToFit","getGraphBbox","screen2GraphCoords","graph2ScreenCoords"]});Vx.displayName="ForceGraph2D",Vx.propTypes=UZ;const GZ={position:"absolute",pointerEvents:"none",background:fn.PREDICATE,color:"#fff",border:`2px solid ${fn.PREDICATE}`,borderRadius:8,padding:"6px 14px",fontSize:15,fontWeight:"bold",zIndex:1e3,boxShadow:"0 2px 8px rgba(0,0,0,0.18)",whiteSpace:"nowrap",maxWidth:260,overflow:"hidden",textOverflow:"ellipsis"},VZ=16,B2=32,$Z=({graphData:r,onNodeClick:e,onEngineStop:n,fgRef:i,children:s,selectedTriple:o,endpoint:a,disableNodeDetailsSidebar:l=!1})=>{const c=xe.useRef(),[u,h]=xe.useState(null),[d,f]=xe.useState(null),[p,m]=xe.useState({x:0,y:0}),[_,y]=xe.useState({width:100,height:100}),[g,x]=xe.useState(new Map);xe.useEffect(()=>{const S=()=>{c.current&&y({width:c.current.clientWidth,height:c.current.clientHeight})};return S(),window.addEventListener("resize",S),()=>window.removeEventListener("resize",S)},[]),xe.useEffect(()=>{r.nodes.forEach(S=>{if(S.image&&!g.has(S.image)){const T=new Image;T.crossOrigin="anonymous",T.src=S.image,T.onload=()=>{x(A=>new Map(A).set(S.image,T)),i.current&&i.current.emit("redraw")}}})},[r.nodes]);const b=xe.useCallback(()=>{h(null),f(null)},[]),v=xe.useCallback(S=>{if(c.current){const T=c.current.getBoundingClientRect();m({x:S.clientX-T.left,y:S.clientY-T.top})}},[]),w=xe.useCallback(()=>{h(null),f(null)},[]),M=()=>{if(!c.current)return{left:p.x,top:p.y};const S=c.current.getBoundingClientRect(),T=180,A=36;let E=p.x+VZ,R=p.y-B2;return E+T>S.width&&(E=S.width-T-8),E<0&&(E=8),R<0&&(R=p.y+B2),R+A>S.height&&(R=S.height-A-8),{left:E,top:R}};return J.jsxs("div",{ref:c,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},onMouseMove:v,children:[J.jsx(Vx,{ref:i,graphData:r,width:_.width,height:_.height,nodeCanvasObject:(S,T,A)=>{const E=44/A*Math.pow(A,.15);if(S.type==="object")if(S.image){if(T.save(),T.beginPath(),T.rect(S.x-E/2,S.y-E/2,E,E),T.closePath(),T.strokeStyle=S.color,T.lineWidth=3/A,T.stroke(),T.clip(),!S.__img){const R=new window.Image;R.crossOrigin="anonymous",R.src=S.image,R.onload=()=>{S.__imgLoaded=!0,i&&i.current&&i.current.emit&&i.current.emit("redraw")},S.__img=R,S.__imgLoaded=!1}S.__imgLoaded?T.drawImage(S.__img,S.x-E/2,S.y-E/2,E,E):(T.fillStyle=S.color||"#888",T.fillRect(S.x-E/2,S.y-E/2,E,E)),T.restore()}else{T.save(),T.beginPath(),T.rect(S.x-E/2,S.y-E/2,E,E),T.closePath(),T.fillStyle=S.color+"CC",T.fill(),T.strokeStyle=S.color,T.lineWidth=3/A,T.stroke();const R=(S.label||"?").substring(0,3),U=20/A;T.font=`bold ${U}px Sans-Serif`,T.fillStyle="#fff",T.textAlign="center",T.textBaseline="middle",T.fillText(R,S.x,S.y+E*.04),T.restore()}else if(S.image){if(!S.__img){const R=new window.Image;R.src=S.image,R.onload=()=>{S.__imgLoaded=!0,i&&i.current&&i.current.emit&&i.current.emit("redraw")},S.__img=R,S.__imgLoaded=!1}T.save(),T.beginPath(),T.arc(S.x,S.y,E/2,0,2*Math.PI,!1),T.closePath(),T.lineWidth=3/A,T.strokeStyle=S.color,T.stroke(),T.clip(),S.__imgLoaded?T.drawImage(S.__img,S.x-E/2,S.y-E/2,E,E):(T.fillStyle=S.color||"#888",T.fill()),T.restore()}else{T.save(),T.beginPath(),T.arc(S.x,S.y,E/2,0,2*Math.PI,!1),T.closePath(),T.fillStyle=S.color+"CC",T.fill(),T.strokeStyle=S.color,T.lineWidth=3/A,T.stroke();const R=(S.label||"?").substring(0,3),U=20/A;T.font=`bold ${U}px Sans-Serif`,T.fillStyle="#fff",T.textAlign="center",T.textBaseline="middle",T.fillText(R,S.x,S.y+E*.04),T.restore()}},nodePointerAreaPaint:(S,T,A,E)=>{const R=44/E*Math.pow(E,.15);A.fillStyle=T,S.type==="object"?(A.beginPath(),A.rect(S.x-R/2,S.y-R/2,R,R),A.closePath(),A.fill()):(A.beginPath(),A.arc(S.x,S.y,R/2,0,2*Math.PI,!1),A.closePath(),A.fill())},linkColor:()=>"rgba(255, 211, 42, 0.15)",linkDirectionalParticles:1,linkDirectionalParticleSpeed:.01,linkDirectionalParticleColor:()=>"rgba(255,255,255,0.5)",nodeAutoColorBy:"type",onNodeClick:e,onEngineStop:n,onNodeHover:f,onLinkHover:h,onBackgroundClick:w,onZoom:b}),u&&u.label?J.jsx("div",{style:{...GZ,...M(),pointerEvents:"none"},children:u.label}):d&&d.label?J.jsx("div",{style:{position:"absolute",left:p.x+18,top:p.y-10,background:"#232326",color:"#fff",border:"1.5px solid #ffd32a",borderRadius:8,padding:"6px 14px",fontSize:15,fontWeight:"bold",zIndex:1e3,boxShadow:"0 2px 8px rgba(0,0,0,0.18)",pointerEvents:"none",whiteSpace:"nowrap",maxWidth:260,overflow:"hidden",textOverflow:"ellipsis"},children:d.label}):null,o&&!l&&J.jsx("div",{style:{position:"absolute",top:80,right:30,width:350,zIndex:9999,maxHeight:"80vh",background:"#18181b",borderRadius:"10px",border:"3px solid #ffd32a",boxShadow:"0 8px 30px rgba(0, 0, 0, 0.5)",overflowY:"auto"},children:J.jsx(Vh,{triple:o,endpoint:a,onClose:()=>e(null)})}),J.jsx("div",{style:{position:"relative",zIndex:2e3},children:s})]})};function $x(r,e){(e==null||e>r.length)&&(e=r.length);for(var n=0,i=Array(e);n<e;n++)i[n]=r[n];return i}function HZ(r){if(Array.isArray(r))return r}function jZ(r){if(Array.isArray(r))return $x(r)}function WZ(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function qZ(r,e,n){return e=rm(e),nQ(r,k2()?Reflect.construct(e,n,rm(r).constructor):e.apply(r,n))}function XZ(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function YZ(r,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(r,rQ(i.key),i)}}function KZ(r,e,n){return YZ(r.prototype,e),Object.defineProperty(r,"prototype",{writable:!1}),r}function rm(r){return rm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},rm(r)}function ZZ(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),e&&Hx(r,e)}function k2(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(k2=function(){return!!r})()}function QZ(r){if(typeof Symbol<"u"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function JZ(r,e){var n=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(n!=null){var i,s,o,a,l=[],c=!0,u=!1;try{if(o=(n=n.call(r)).next,e===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(i=o.call(n)).done)&&(l.push(i.value),l.length!==e);c=!0);}catch(h){u=!0,s=h}finally{try{if(!c&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw s}}return l}}function eQ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
5361
5361
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function tQ(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
5362
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function nQ(r,e){if(e&&(typeof e=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return WZ(r)}function Hx(r,e){return Hx=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Hx(r,e)}function z2(r,e){return HZ(r)||JZ(r,e)||G2(r,e)||eQ()}function sm(r){return jZ(r)||QZ(r)||G2(r)||tQ()}function iQ(r,e){if(typeof r!="object"||!r)return r;var n=r[Symbol.toPrimitive];if(n!==void 0){var i=n.call(r,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(r)}function rQ(r){var e=iQ(r,"string");return typeof e=="symbol"?e:e+""}function G2(r,e){if(r){if(typeof r=="string")return $x(r,e);var n={}.toString.call(r).slice(8,-1);return n==="Object"&&r.constructor&&(n=r.constructor.name),n==="Map"||n==="Set"?Array.from(r):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$x(r,e):void 0}}var Eh=typeof window<"u"&&window.THREE?window.THREE:{CanvasTexture:M3,Sprite:T3,SpriteMaterial:ST,SRGBColorSpace:pi};Eh.Sprite;const sQ=({graphData:r,onNodeClick:e,onEngineStop:n,fgRef:i,children:s,selectedTriple:o,endpoint:a,disableNodeDetailsSidebar:l=!1})=>{const c=xe.useRef(),[u,h]=xe.useState({width:100,height:100}),[d,f]=xe.useState(null),[p,m]=xe.useState(null),[_,y]=xe.useState({x:0,y:0}),g=xe.useRef(new Map);xe.useEffect(()=>{const b=()=>{c.current&&h({width:c.current.clientWidth,height:c.current.clientHeight})};return b(),window.addEventListener("resize",b),()=>window.removeEventListener("resize",b)},[]);const x=b=>{if(g.current.has(b.id))return g.current.get(b.id);const v=128,w=document.createElement("canvas");w.width=w.height=v;const M=w.getContext("2d");if(M.clearRect(0,0,v,v),b.image){const A=new window.Image;A.crossOrigin="anonymous",A.src=b.image,A.onload=()=>{if(M.clearRect(0,0,v,v),b.type==="object"){M.fillStyle=zo(b.type)+"CC",M.fillRect(0,0,v,v);const E=Math.max(v/A.width,v/A.height),R=A.width*E,U=A.height*E;M.drawImage(A,v/2-R/2,v/2-U/2,R,U)}else{M.save(),M.beginPath(),M.arc(v/2,v/2,v/2,0,2*Math.PI),M.closePath(),M.clip(),M.fillStyle=zo(b.type)+"CC",M.fillRect(0,0,v,v);const E=Math.max(v/A.width,v/A.height),R=A.width*E,U=A.height*E;M.drawImage(A,v/2-R/2,v/2-U/2,R,U),M.restore()}S.needsUpdate=!0,i.current&&i.current.emit("redraw")}}else{b.type==="object"?(M.fillStyle=zo(b.type)+"CC",M.fillRect(0,0,v,v)):(M.save(),M.beginPath(),M.arc(v/2,v/2,v/2,0,2*Math.PI),M.closePath(),M.clip(),M.fillStyle=zo(b.type)+"CC",M.fillRect(0,0,v,v),M.restore());const A=(b.label||"?").substring(0,3);M.font="bold 48px Sans-Serif",M.fillStyle="#fff",M.textAlign="center",M.textBaseline="middle",M.fillText(A,v/2,v/2+6)}const S=new Ci(w);S.needsUpdate=!0;const T=new hd({map:S,transparent:!0});return g.current.set(b.id,T),T};return J.jsxs("div",{ref:c,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},onMouseMove:b=>{if(c.current){const v=c.current.getBoundingClientRect();y({x:b.clientX-v.left,y:b.clientY-v.top})}},children:[J.jsx(Gx,{ref:i,graphData:r,width:u.width,height:u.height,controlType:"fly",backgroundColor:"rgba(0,0,0,0)",nodeLabel:"",onNodeClick:e,linkColor:()=>"rgba(255, 211, 42, 0.15)",linkDirectionalParticles:2,linkDirectionalParticleSpeed:.0025,linkDirectionalParticleColor:()=>"rgba(255,255,255,0.5)",nodeAutoColorBy:"type",nodeThreeObject:b=>{const w=new ra,M=x(b);let S;return b.type==="object"?S=new gi(new qc(16,16),M):S=new gi(new S0(16/2,48),M),w.add(S),w},onEngineStop:n,onNodeHover:f,onLinkHover:m,onBackgroundClick:()=>{m(null),f(null)},onZoom:()=>{m(null),f(null)}}),o&&!l&&J.jsx("div",{style:{position:"absolute",top:80,right:30,width:350,zIndex:9999,maxHeight:"80vh",background:"#18181b",borderRadius:"10px",border:"3px solid #ffd32a",boxShadow:"0 8px 30px rgba(0, 0, 0, 0.5)",overflowY:"auto"},children:J.jsx(Vh,{triple:o,endpoint:a,onClose:()=>e(null)})}),J.jsx("div",{style:{position:"relative",zIndex:2e3},children:s}),p&&p.label?J.jsx("div",{style:{position:"absolute",left:_.x+18,top:_.y-10,background:fn.PREDICATE,color:"#fff",border:`1.5px solid ${fn.PREDICATE}`,borderRadius:8,padding:"6px 14px",fontSize:15,fontWeight:"bold",zIndex:10001,boxShadow:"0 2px 8px rgba(0,0,0,0.18)",pointerEvents:"none",whiteSpace:"nowrap",maxWidth:260,overflow:"hidden",textOverflow:"ellipsis"},children:p.label}):d&&d.label?J.jsx("div",{style:{position:"absolute",left:_.x+18,top:_.y-10,background:"#232326",color:"#fff",border:"1.5px solid #ffd32a",borderRadius:8,padding:"6px 14px",fontSize:15,fontWeight:"bold",zIndex:10001,boxShadow:"0 2px 8px rgba(0,0,0,0.18)",pointerEvents:"none",whiteSpace:"nowrap",maxWidth:260,overflow:"hidden",textOverflow:"ellipsis"},children:d.label}):null]})};var V2={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},$2=xe.createContext&&xe.createContext(V2),oQ=["attr","size","title"];function aQ(r,e){if(r==null)return{};var n=lQ(r,e),i,s;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(r);for(s=0;s<o.length;s++)i=o[s],!(e.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(r,i)&&(n[i]=r[i])}return n}function lQ(r,e){if(r==null)return{};var n={};for(var i in r)if(Object.prototype.hasOwnProperty.call(r,i)){if(e.indexOf(i)>=0)continue;n[i]=r[i]}return n}function om(){return om=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[i]=n[i])}return r},om.apply(this,arguments)}function H2(r,e){var n=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable})),n.push.apply(n,i)}return n}function am(r){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?H2(Object(n),!0).forEach(function(i){cQ(r,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):H2(Object(n)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(n,i))})}return r}function cQ(r,e,n){return e=uQ(e),e in r?Object.defineProperty(r,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[e]=n,r}function uQ(r){var e=hQ(r,"string");return typeof e=="symbol"?e:e+""}function hQ(r,e){if(typeof r!="object"||!r)return r;var n=r[Symbol.toPrimitive];if(n!==void 0){var i=n.call(r,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function j2(r){return r&&r.map((e,n)=>xe.createElement(e.tag,am({key:n},e.attr),j2(e.child)))}function jx(r){return e=>xe.createElement(dQ,om({attr:am({},r.attr)},e),j2(r.child))}function dQ(r){var e=n=>{var{attr:i,size:s,title:o}=r,a=aQ(r,oQ),l=s||n.size||"1em",c;return n.className&&(c=n.className),r.className&&(c=(c?c+" ":"")+r.className),xe.createElement("svg",om({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},n.attr,i,a,{className:c,style:am(am({color:r.color||n.color},n.style),r.style),height:l,width:l,xmlns:"http://www.w3.org/2000/svg"}),o&&xe.createElement("title",null,o),r.children)};return $2!==void 0?xe.createElement($2.Consumer,null,n=>e(n)):e(V2)}function fQ(r){return jx({attr:{viewBox:"0 0 256 256",fill:"currentColor"},child:[{tag:"path",attr:{d:"M200,154a29.87,29.87,0,0,0-19.5,7.23L154.88,141.3A29.83,29.83,0,0,0,158,128a30.52,30.52,0,0,0-.22-3.6L174,119a30,30,0,1,0-4-15,30.52,30.52,0,0,0,.22,3.6L154,113a29.91,29.91,0,0,0-32.42-14.31l-8.14-18.3a30,30,0,1,0-11,4.88l8.14,18.3A29.92,29.92,0,0,0,102.06,143L74,168a30.08,30.08,0,1,0,8,9L110,152a29.91,29.91,0,0,0,37.47-1.23l25.62,19.93A30,30,0,1,0,200,154Zm0-68a18,18,0,1,1-18,18A18,18,0,0,1,200,86ZM78,56A18,18,0,1,1,96,74,18,18,0,0,1,78,56ZM56,210a18,18,0,1,1,18-18A18,18,0,0,1,56,210Zm72-64a18,18,0,1,1,18-18A18,18,0,0,1,128,146Zm72,56a18,18,0,1,1,18-18A18,18,0,0,1,200,202Z"},child:[]}]})(r)}function pQ(r){return jx({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z"},child:[]}]})(r)}function mQ(r){return jx({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z"},child:[]}]})(r)}const W2={background:"#ffd32a",color:"#18181b",border:"none",borderRadius:12,width:44,height:44,fontSize:22,fontWeight:"bold",boxShadow:"0 2px 8px rgba(0,0,0,0.18)",cursor:"pointer",marginBottom:0,marginTop:0,textTransform:"uppercase",display:"flex",alignItems:"center",justifyContent:"center",padding:0,transition:"background 0.2s, color 0.2s, transform 0.1s"},gQ={background:"#ffe066",color:"#18181b",transform:"translateY(-2px) scale(1.03)"},yQ=({onReset:r,onBack:e,onForward:n,canGoBack:i,canGoForward:s})=>{const[o,a]=xe.useState(""),l=c=>o===c?{...W2,...gQ}:W2;return J.jsxs("div",{style:{position:"absolute",top:"18px",left:"18px",zIndex:50,display:"flex",flexDirection:"row",gap:"12px",alignItems:"center"},children:[J.jsx("div",{style:{width:44,height:44}}),J.jsx("button",{style:{...l("graph"),width:54},onClick:r,"aria-label":"Return to graph",onMouseEnter:()=>a("graph"),onMouseLeave:()=>a(""),children:J.jsx(fQ,{size:28})}),J.jsx("button",{style:{...l("prev"),opacity:i?1:.5},onClick:e,disabled:!i,"aria-label":"Previous",onMouseEnter:()=>a("prev"),onMouseLeave:()=>a(""),children:J.jsx(pQ,{})}),J.jsx("button",{style:{...l("next"),opacity:s?1:.5},onClick:n,disabled:!s,"aria-label":"Next",onMouseEnter:()=>a("next"),onMouseLeave:()=>a(""),children:J.jsx(mQ,{})})]})},_Q=({viewMode:r,onViewModeChange:e})=>J.jsxs("div",{className:"agent-navbar",style:{display:"flex",alignItems:"center",gap:"10px",background:"#18181b",border:"2px solid #ffd32a",borderRadius:"10px",padding:"6px 16px",color:"#ffd32a",fontWeight:"bold",fontSize:"15px",boxShadow:"0 2px 8px rgba(0,0,0,0.18)"},children:[J.jsx("label",{htmlFor:"viewMode",style:{color:"#ffd32a",marginRight:8},children:"View Mode:"}),J.jsxs("select",{id:"viewMode",value:r,onChange:n=>e(n.target.value),style:{background:"#232326",color:"#ffd32a",border:"1.5px solid #ffd32a",borderRadius:6,padding:"4px 10px",fontWeight:"bold",fontSize:15,outline:"none",cursor:"pointer"},children:[J.jsx("option",{value:"2D",children:"2D"}),J.jsx("option",{value:"3D",children:"3D"}),J.jsx("option",{value:"VR",children:"VR"})]})]}),Ah=r=>{const e=[],n=[],i=new Map;return r.forEach(({subject:s,predicate:o,object:a})=>{if(!i.has(s.id)){const l={id:s.id,label:s.label,image:s.image,isTriple:!1,color:zo("subject"),type:"subject"};i.set(s.id,l),e.push(l)}if(!i.has(a.id)){const l={id:a.id,label:a.label,image:a.image,isTriple:!1,color:zo("object"),type:"object"};i.set(a.id,l),e.push(l)}n.push({source:s.id,target:a.id,type:"subject-to-object",label:o.label,predicateId:o.id})}),{nodes:e,links:n}},vQ="0x5dc0a2335c12343d8e0f71b62a73fbf70d06fcbaf647f57d82a189873ad90da3",xQ=(r,e="base",n,i)=>{const s=n||vQ,[o,a]=xe.useState({nodes:[],links:[]}),[l,c]=xe.useState(null),[u,h]=xe.useState(!0),[d,f]=xe.useState(null),[p,m]=xe.useState(!1),[_,y]=xe.useState([]),[g,x]=xe.useState(0),b=xe.useRef(null),[v,w]=xe.useState(""),[M,S]=xe.useState(""),[T,A]=xe.useState(""),[E,R]=xe.useState(!1),[U,L]=xe.useState(!1),C=xe.useCallback(async()=>{m(!0);try{let k;e==="agent"?k=await Cb(s,r):k=await Gh(r);const Q=Ah(k);a(Q),c(Q)}catch(k){console.error("Error loading graph data:",k)}finally{m(!1)}},[r,e]),D=xe.useCallback(()=>{a(l),f(null),w(""),S(""),A(""),L(!1)},[l]),I=xe.useCallback(async(k,Q,le)=>{if(k===null){f(null);return}if(f(k),i&&i(k),Q&&Q.current)try{const F={x:k.x,y:k.y,z:k.z||0},H=await Eb(k.id,r),re=Ah(H),ee=re.nodes.find(he=>he.id===k.id);ee&&(ee.x=F.x,ee.y=F.y,le==="3D"&&(ee.z=F.z),ee.fx=F.x,ee.fy=F.y,le==="3D"&&(ee.fz=F.z)),y(he=>{const be=he.slice(0,g+1);return be.push({graphData:o,selectedTriple:k}),be}),x(he=>he+1),a(re)}catch(F){console.error("Error fetching triples:",F)}},[r,o,g]),W=xe.useCallback((k,Q)=>{switch(b.current&&clearTimeout(b.current),k){case"subject":w(Q);break;case"predicate":S(Q);break;case"object":A(Q);break}b.current=setTimeout(()=>{L(!0)},500)},[]),$=xe.useCallback(async()=>{if(U){if(!v&&!M&&!T){D();return}R(!0);try{const Q=await $o({subject:v,predicate:M,object:T},r);if(!Q||Q.length===0){a({nodes:[],links:[]});return}const le=Ah(Q);a(le),y(F=>{const H=F.slice(0,g+1);return H.push({graphData:le,selectedTriple:null}),H}),x(F=>F+1)}catch(k){console.error("Error searching triples:",k)}finally{R(!1),L(!1)}}},[v,M,T,r,D,g,U]),ie=xe.useCallback(()=>{if(g>0){const{graphData:k,selectedTriple:Q}=_[g-1];a(k),f(Q),x(le=>le-1)}},[g,_]),O=xe.useCallback(()=>{if(g<_.length-1){const{graphData:k,selectedTriple:Q}=_[g+1];a(k),f(Q),x(le=>le+1)}},[g,_]);return{graphData:o,initialGraphData:l,isInitialLoad:u,selectedTriple:d,isLoading:p,isSearching:E,subjectFilter:v,predicateFilter:M,objectFilter:T,shouldSearch:U,canGoBack:g>0,canGoForward:g<_.length-1,setSelectedTriple:f,setIsInitialLoad:h,loadInitialData:C,resetGraph:D,handleNodeClick:I,handleFilterChange:W,applyFilters:$,goBack:ie,goForward:O,setGraphData:a,graphHistory:_,setGraphHistory:y,currentHistoryIndex:g,setCurrentHistoryIndex:x}};let Ch={endpoint:null,data:null,timestamp:null};const bQ=15*60*1e3,SQ=async r=>{const e=Date.now();if(Ch.data&&Ch.endpoint===r&&e-Ch.timestamp<bQ)return Ch.data;const n=await Gh(r);return Ch={endpoint:r,data:n,timestamp:e},n},TQ=async(r,e="base",n=10)=>{if(!r||r.length<1)return{subjects:[],predicates:[],objects:[],triples:[]};const i=r.toLowerCase().trim();if(["is","of","in","at","by","to"].includes(i))try{const a=await $o({predicate:i},e);if(a&&a.length>0)return{subjects:[...new Set(a.map(l=>l.subject.label))].slice(0,n),predicates:[i],objects:[...new Set(a.map(l=>l.object.label))].slice(0,n),triples:a.map(l=>({subject:l.subject.label,predicate:l.predicate.label,object:l.object.label})).slice(0,n)}}catch{}try{const a=(await SQ(e)).filter(x=>i.length<=3?x.subject&&x.subject.label&&x.subject.label.toLowerCase().indexOf(i)!==-1||x.predicate&&x.predicate.label&&x.predicate.label.toLowerCase().indexOf(i)!==-1||x.object&&x.object.label&&x.object.label.toLowerCase().indexOf(i)!==-1:x.subject&&x.subject.label&&x.subject.label.toLowerCase().includes(i)||x.predicate&&x.predicate.label&&x.predicate.label.toLowerCase().includes(i)||x.object&&x.object.label&&x.object.label.toLowerCase().includes(i));if(a.length>0){const x=T=>{if(!T)return 0;const A=T.toLowerCase();let E=100-Math.min(T.length,50);return A.startsWith(i)&&(E+=200),A===i&&(E+=300),!/^0x[0-9a-f]{8,}$/i.test(A)&&!/[0-9a-f]{30,}/i.test(A)&&(E+=150),/^[A-Za-z0-9]+ - [A-Za-z0-9 ]+$/.test(T)&&(E+=100),E},b=[...new Set(a.filter(T=>T.subject&&T.subject.label&&T.subject.label.toLowerCase().indexOf(i)!==-1).map(T=>T.subject.label))].sort((T,A)=>x(A)-x(T));let v=[...new Set(a.filter(T=>T.predicate&&T.predicate.label&&T.predicate.label.toLowerCase().indexOf(i)!==-1).map(T=>T.predicate.label))].sort((T,A)=>T.toLowerCase()===i?-1:A.toLowerCase()===i?1:x(A)-x(T));const w=[...new Set(a.filter(T=>T.object&&T.object.label&&T.object.label.toLowerCase().indexOf(i)!==-1).map(T=>T.object.label))].sort((T,A)=>x(A)-x(T)),M=T=>{if(!T)return 0;const A=T.subject?x(T.subject):0,E=T.predicate?x(T.predicate):0,R=T.object?x(T.object):0;return Math.max(A,E,R)},S=a.map(T=>({subject:T.subject.label,predicate:T.predicate.label,object:T.object.label})).sort((T,A)=>M(A)-M(T)).slice(0,n);return{subjects:b.slice(0,n),predicates:v.slice(0,n),objects:w.slice(0,n),triples:S}}const c=await $o({subject:r},e),h=await $o({predicate:r},e),f=await $o({object:r},e);let p=[...c||[]];h&&h.length>0&&(p=[...p,...h.filter(x=>!p.some(b=>b.id===x.id))]),f&&f.length>0&&(p=[...p,...f.filter(x=>!p.some(b=>b.id===x.id))]);const m=[...new Set(p.filter(x=>x.subject&&x.subject.label).map(x=>x.subject.label).filter(x=>x.toLowerCase().includes(i)))],_=[...new Set(p.filter(x=>x.predicate&&x.predicate.label).map(x=>x.predicate.label).filter(x=>x.toLowerCase().includes(i)))],y=[...new Set(p.filter(x=>x.object&&x.object.label).map(x=>x.object.label).filter(x=>x.toLowerCase().includes(i)))],g=p.map(x=>({subject:x.subject.label,predicate:x.predicate.label,object:x.object.label})).slice(0,n);return{subjects:m.slice(0,n),predicates:_.slice(0,n),objects:y.slice(0,n),triples:g}}catch{return{subjects:[],predicates:[],objects:[],triples:[]}}},wQ=({endpoint:r,onSearch:e,isSearching:n,onSearchStart:i})=>{const[s,o]=xe.useState(""),[a,l]=xe.useState({subjects:[],predicates:[],objects:[],triples:[]}),[c,u]=xe.useState({subject:"",predicate:"",object:""}),[h,d]=xe.useState(!1),[f,p]=xe.useState(!1),m=xe.useRef(null),_=xe.useRef(null);xe.useEffect(()=>{const L=C=>{_.current&&!_.current.contains(C.target)&&d(!1)};return document.addEventListener("mousedown",L),()=>{document.removeEventListener("mousedown",L)}},[]),xe.useEffect(()=>(s.length>=2?(clearTimeout(m.current),p(!0),d(!0),m.current=setTimeout(async()=>{try{const L=await TQ(s,r);l(L),d(!0),p(!1)}catch(L){console.error("Error retrieving suggestions:",L),p(!1)}},300)):(l({subjects:[],predicates:[],objects:[],triples:[]}),d(!1),p(!1)),()=>{clearTimeout(m.current)}),[s,r]);const y=(L,C)=>{u(D=>({...D,[L]:D[L]===C?"":C}))},g=async()=>{typeof i=="function"&&i();try{const L={subject:c.subject||"",predicate:c.predicate||"",object:c.object||""};typeof e=="function"&&await e(s,L)}catch{}},x=c.subject||c.predicate||c.object,b=a.subjects.length>0||a.predicates.length>0||a.objects.length>0||a.triples&&a.triples.length>0,v={container:{width:"100%",maxWidth:"550px",margin:"0 auto",position:"relative",zIndex:1e3},inputWrapper:{display:"flex",width:"100%",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",borderRadius:"12px",overflow:"hidden",backgroundColor:"rgba(30, 30, 40, 0.6)",backdropFilter:"blur(5px)",border:"1px solid rgba(255, 255, 255, 0.2)"},input:{flex:1,padding:"10px 15px",fontSize:"15px",border:"none",backgroundColor:"transparent",color:"white",outline:"none",fontWeight:"400",height:"40px"},button:{padding:"0 22px",border:"none",cursor:"pointer",fontWeight:"bold",fontSize:"15px",textTransform:"uppercase"},activeFilters:{display:"flex",flexWrap:"wrap",alignItems:"center",marginTop:"12px",padding:"8px 12px",backgroundColor:"rgba(30, 30, 40, 0.7)",borderRadius:"6px",border:"1px solid rgba(255, 255, 255, 0.1)",backdropFilter:"blur(5px)"},filtersLabel:{fontWeight:"600",marginRight:"12px",color:"rgba(255, 255, 255, 0.9)",fontSize:"13px"},filtersChips:{display:"flex",flexWrap:"wrap",gap:"6px",flex:1},filterChip:{display:"flex",alignItems:"center",padding:"3px 8px",borderRadius:"16px",fontSize:"12px",color:"white",boxShadow:"0 2px 4px rgba(0, 0, 0, 0.1)"},subjectChip:{backgroundColor:`${fn.SUBJECT}cc`},predicateChip:{backgroundColor:`${fn.PREDICATE}cc`},objectChip:{backgroundColor:`${fn.OBJECT}cc`},chipButton:{background:"none",border:"none",color:"white",marginLeft:"4px",cursor:"pointer",fontSize:"14px",lineHeight:1,display:"flex",alignItems:"center",justifyContent:"center",width:"16px",height:"16px",borderRadius:"50%",transition:"background-color 0.2s ease"},chipButtonHover:{backgroundColor:"rgba(255, 255, 255, 0.2)"},clearButton:{padding:"4px 10px",backgroundColor:"rgba(255, 70, 70, 0.8)",color:"white",border:"none",borderRadius:"16px",cursor:"pointer",fontSize:"12px",fontWeight:"500",boxShadow:"0 2px 4px rgba(0, 0, 0, 0.1)",transition:"background-color 0.2s ease",marginLeft:"auto"},clearButtonHover:{backgroundColor:"rgba(255, 70, 70, 1)"},suggestionsContainer:{position:"absolute",top:"calc(100% + 8px)",left:0,right:0,backgroundColor:"rgba(25, 25, 35, 0.9)",backdropFilter:"blur(10px)",border:"1px solid rgba(255, 255, 255, 0.1)",borderRadius:"8px",maxHeight:"400px",overflowY:"auto",zIndex:1001,boxShadow:"0 8px 16px rgba(0, 0, 0, 0.3)",color:"white"},suggestionCategory:{padding:"14px",borderBottom:"1px solid rgba(255, 255, 255, 0.1)"},categoryHeader:{fontWeight:"600",marginBottom:"10px",color:"rgba(255, 255, 255, 0.8)",fontSize:"14px",textTransform:"uppercase",letterSpacing:"0.5px"},suggestionList:{display:"flex",flexWrap:"wrap",gap:"8px"},suggestionItem:{padding:"3px 8px",borderRadius:"16px",backgroundColor:"rgba(255, 255, 255, 0.15)",fontSize:"12px",cursor:"pointer",transition:"all 0.2s ease",color:"rgba(255, 255, 255, 0.9)"},suggestionItemHover:{backgroundColor:"rgba(255, 255, 255, 0.25)"},selectedSuggestion:{backgroundColor:"#4A66E8",color:"white"},loadingContainer:{display:"flex",justifyContent:"center",alignItems:"center",padding:"25px"},loader:{width:"30px",height:"30px",border:"3px solid rgba(255,255,255,0.2)",borderRadius:"50%",borderTop:"3px solid #ffd32a",animation:"spin 1s linear infinite"},noResults:{padding:"25px",textAlign:"center",fontSize:"14px",color:"rgba(255,255,255,0.7)"},tripleSuggestion:{padding:"8px 12px",borderRadius:"12px",fontSize:"13px",cursor:"pointer",transition:"all 0.2s ease",backgroundColor:"rgba(30, 30, 40, 0.55)",backdropFilter:"blur(5px)",border:"1px solid rgba(255, 255, 255, 0.15)",display:"flex",flexDirection:"row",flexWrap:"wrap",gap:"6px",alignItems:"center",justifyContent:"center"},tripleSuggestionHover:{backgroundColor:"rgba(50, 50, 60, 0.65)"},tripleSubjectPart:{color:fn.SUBJECT,fontWeight:"500",padding:"2px 6px",borderRadius:"4px",backgroundColor:`${fn.SUBJECT}33`},triplePredicatePart:{color:fn.PREDICATE,fontWeight:"500",padding:"2px 6px",borderRadius:"4px",backgroundColor:`${fn.PREDICATE}33`},tripleObjectPart:{color:fn.OBJECT,fontWeight:"500",padding:"2px 6px",borderRadius:"4px",backgroundColor:`${fn.OBJECT}33`},subjectSuggestion:{backgroundColor:fn.SUBJECT,color:"#fff",fontWeight:"500",border:"none"},predicateSuggestion:{backgroundColor:fn.PREDICATE,color:"#fff",fontWeight:"500",border:"none"},objectSuggestion:{backgroundColor:fn.OBJECT,color:"#fff",fontWeight:"500",border:"none"}},[w,M]=xe.useState(!1),[S,T]=xe.useState(!1),[A,E]=xe.useState(null),[R,U]=xe.useState(null);return J.jsxs("div",{style:v.container,children:[J.jsx("style",{children:`
|
|
5362
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function nQ(r,e){if(e&&(typeof e=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return WZ(r)}function Hx(r,e){return Hx=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Hx(r,e)}function z2(r,e){return HZ(r)||JZ(r,e)||G2(r,e)||eQ()}function sm(r){return jZ(r)||QZ(r)||G2(r)||tQ()}function iQ(r,e){if(typeof r!="object"||!r)return r;var n=r[Symbol.toPrimitive];if(n!==void 0){var i=n.call(r,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(r)}function rQ(r){var e=iQ(r,"string");return typeof e=="symbol"?e:e+""}function G2(r,e){if(r){if(typeof r=="string")return $x(r,e);var n={}.toString.call(r).slice(8,-1);return n==="Object"&&r.constructor&&(n=r.constructor.name),n==="Map"||n==="Set"?Array.from(r):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$x(r,e):void 0}}var Eh=typeof window<"u"&&window.THREE?window.THREE:{CanvasTexture:M3,Sprite:T3,SpriteMaterial:ST,SRGBColorSpace:pi};Eh.Sprite;const sQ=({graphData:r,onNodeClick:e,onEngineStop:n,fgRef:i,children:s,selectedTriple:o,endpoint:a,disableNodeDetailsSidebar:l=!1})=>{const c=xe.useRef(),[u,h]=xe.useState({width:100,height:100}),[d,f]=xe.useState(null),[p,m]=xe.useState(null),[_,y]=xe.useState({x:0,y:0}),g=xe.useRef(new Map);xe.useEffect(()=>{const b=()=>{c.current&&h({width:c.current.clientWidth,height:c.current.clientHeight})};return b(),window.addEventListener("resize",b),()=>window.removeEventListener("resize",b)},[]);const x=b=>{if(g.current.has(b.id))return g.current.get(b.id);const v=128,w=document.createElement("canvas");w.width=w.height=v;const M=w.getContext("2d");if(M.clearRect(0,0,v,v),b.image){const A=new window.Image;A.crossOrigin="anonymous",A.src=b.image,A.onload=()=>{if(M.clearRect(0,0,v,v),b.type==="object"){M.fillStyle=zo(b.type)+"CC",M.fillRect(0,0,v,v);const E=Math.max(v/A.width,v/A.height),R=A.width*E,U=A.height*E;M.drawImage(A,v/2-R/2,v/2-U/2,R,U)}else{M.save(),M.beginPath(),M.arc(v/2,v/2,v/2,0,2*Math.PI),M.closePath(),M.clip(),M.fillStyle=zo(b.type)+"CC",M.fillRect(0,0,v,v);const E=Math.max(v/A.width,v/A.height),R=A.width*E,U=A.height*E;M.drawImage(A,v/2-R/2,v/2-U/2,R,U),M.restore()}S.needsUpdate=!0,i.current&&i.current.emit("redraw")}}else{b.type==="object"?(M.fillStyle=zo(b.type)+"CC",M.fillRect(0,0,v,v)):(M.save(),M.beginPath(),M.arc(v/2,v/2,v/2,0,2*Math.PI),M.closePath(),M.clip(),M.fillStyle=zo(b.type)+"CC",M.fillRect(0,0,v,v),M.restore());const A=(b.label||"?").substring(0,3);M.font="bold 48px Sans-Serif",M.fillStyle="#fff",M.textAlign="center",M.textBaseline="middle",M.fillText(A,v/2,v/2+6)}const S=new Ci(w);S.needsUpdate=!0;const T=new hd({map:S,transparent:!0});return g.current.set(b.id,T),T};return J.jsxs("div",{ref:c,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},onMouseMove:b=>{if(c.current){const v=c.current.getBoundingClientRect();y({x:b.clientX-v.left,y:b.clientY-v.top})}},children:[J.jsx(Gx,{ref:i,graphData:r,width:u.width,height:u.height,controlType:"fly",backgroundColor:"rgba(0,0,0,0)",nodeLabel:"",onNodeClick:e,linkColor:()=>"rgba(255, 211, 42, 0.15)",linkDirectionalParticles:2,linkDirectionalParticleSpeed:.0025,linkDirectionalParticleColor:()=>"rgba(255,255,255,0.5)",nodeAutoColorBy:"type",nodeThreeObject:b=>{const w=new ra,M=x(b);let S;return b.type==="object"?S=new gi(new qc(16,16),M):S=new gi(new S0(16/2,48),M),w.add(S),w},onEngineStop:n,onNodeHover:f,onLinkHover:m,onBackgroundClick:()=>{m(null),f(null)},onZoom:()=>{m(null),f(null)}}),o&&!l&&J.jsx("div",{style:{position:"absolute",top:80,right:30,width:350,zIndex:9999,maxHeight:"80vh",background:"#18181b",borderRadius:"10px",border:"3px solid #ffd32a",boxShadow:"0 8px 30px rgba(0, 0, 0, 0.5)",overflowY:"auto"},children:J.jsx(Vh,{triple:o,endpoint:a,onClose:()=>e(null)})}),J.jsx("div",{style:{position:"relative",zIndex:2e3},children:s}),p&&p.label?J.jsx("div",{style:{position:"absolute",left:_.x+18,top:_.y-10,background:fn.PREDICATE,color:"#fff",border:`1.5px solid ${fn.PREDICATE}`,borderRadius:8,padding:"6px 14px",fontSize:15,fontWeight:"bold",zIndex:1e3,boxShadow:"0 2px 8px rgba(0,0,0,0.18)",pointerEvents:"none",whiteSpace:"nowrap",maxWidth:260,overflow:"hidden",textOverflow:"ellipsis"},children:p.label}):d&&d.label?J.jsx("div",{style:{position:"absolute",left:_.x+18,top:_.y-10,background:"#232326",color:"#fff",border:"1.5px solid #ffd32a",borderRadius:8,padding:"6px 14px",fontSize:15,fontWeight:"bold",zIndex:1e3,boxShadow:"0 2px 8px rgba(0,0,0,0.18)",pointerEvents:"none",whiteSpace:"nowrap",maxWidth:260,overflow:"hidden",textOverflow:"ellipsis"},children:d.label}):null]})};var V2={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},$2=xe.createContext&&xe.createContext(V2),oQ=["attr","size","title"];function aQ(r,e){if(r==null)return{};var n=lQ(r,e),i,s;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(r);for(s=0;s<o.length;s++)i=o[s],!(e.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(r,i)&&(n[i]=r[i])}return n}function lQ(r,e){if(r==null)return{};var n={};for(var i in r)if(Object.prototype.hasOwnProperty.call(r,i)){if(e.indexOf(i)>=0)continue;n[i]=r[i]}return n}function om(){return om=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[i]=n[i])}return r},om.apply(this,arguments)}function H2(r,e){var n=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable})),n.push.apply(n,i)}return n}function am(r){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?H2(Object(n),!0).forEach(function(i){cQ(r,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):H2(Object(n)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(n,i))})}return r}function cQ(r,e,n){return e=uQ(e),e in r?Object.defineProperty(r,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[e]=n,r}function uQ(r){var e=hQ(r,"string");return typeof e=="symbol"?e:e+""}function hQ(r,e){if(typeof r!="object"||!r)return r;var n=r[Symbol.toPrimitive];if(n!==void 0){var i=n.call(r,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function j2(r){return r&&r.map((e,n)=>xe.createElement(e.tag,am({key:n},e.attr),j2(e.child)))}function jx(r){return e=>xe.createElement(dQ,om({attr:am({},r.attr)},e),j2(r.child))}function dQ(r){var e=n=>{var{attr:i,size:s,title:o}=r,a=aQ(r,oQ),l=s||n.size||"1em",c;return n.className&&(c=n.className),r.className&&(c=(c?c+" ":"")+r.className),xe.createElement("svg",om({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},n.attr,i,a,{className:c,style:am(am({color:r.color||n.color},n.style),r.style),height:l,width:l,xmlns:"http://www.w3.org/2000/svg"}),o&&xe.createElement("title",null,o),r.children)};return $2!==void 0?xe.createElement($2.Consumer,null,n=>e(n)):e(V2)}function fQ(r){return jx({attr:{viewBox:"0 0 256 256",fill:"currentColor"},child:[{tag:"path",attr:{d:"M200,154a29.87,29.87,0,0,0-19.5,7.23L154.88,141.3A29.83,29.83,0,0,0,158,128a30.52,30.52,0,0,0-.22-3.6L174,119a30,30,0,1,0-4-15,30.52,30.52,0,0,0,.22,3.6L154,113a29.91,29.91,0,0,0-32.42-14.31l-8.14-18.3a30,30,0,1,0-11,4.88l8.14,18.3A29.92,29.92,0,0,0,102.06,143L74,168a30.08,30.08,0,1,0,8,9L110,152a29.91,29.91,0,0,0,37.47-1.23l25.62,19.93A30,30,0,1,0,200,154Zm0-68a18,18,0,1,1-18,18A18,18,0,0,1,200,86ZM78,56A18,18,0,1,1,96,74,18,18,0,0,1,78,56ZM56,210a18,18,0,1,1,18-18A18,18,0,0,1,56,210Zm72-64a18,18,0,1,1,18-18A18,18,0,0,1,128,146Zm72,56a18,18,0,1,1,18-18A18,18,0,0,1,200,202Z"},child:[]}]})(r)}function pQ(r){return jx({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z"},child:[]}]})(r)}function mQ(r){return jx({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z"},child:[]}]})(r)}const W2={background:"#ffd32a",color:"#18181b",border:"none",borderRadius:12,width:44,height:44,fontSize:22,fontWeight:"bold",boxShadow:"0 2px 8px rgba(0,0,0,0.18)",cursor:"pointer",marginBottom:0,marginTop:0,textTransform:"uppercase",display:"flex",alignItems:"center",justifyContent:"center",padding:0,transition:"background 0.2s, color 0.2s, transform 0.1s"},gQ={background:"#ffe066",color:"#18181b",transform:"translateY(-2px) scale(1.03)"},yQ=({onReset:r,onBack:e,onForward:n,canGoBack:i,canGoForward:s})=>{const[o,a]=xe.useState(""),l=c=>o===c?{...W2,...gQ}:W2;return J.jsxs("div",{style:{position:"absolute",top:"18px",left:"18px",zIndex:50,display:"flex",flexDirection:"row",gap:"12px",alignItems:"center"},children:[J.jsx("div",{style:{width:44,height:44}}),J.jsx("button",{style:{...l("graph"),width:54},onClick:r,"aria-label":"Return to graph",onMouseEnter:()=>a("graph"),onMouseLeave:()=>a(""),children:J.jsx(fQ,{size:28})}),J.jsx("button",{style:{...l("prev"),opacity:i?1:.5},onClick:e,disabled:!i,"aria-label":"Previous",onMouseEnter:()=>a("prev"),onMouseLeave:()=>a(""),children:J.jsx(pQ,{})}),J.jsx("button",{style:{...l("next"),opacity:s?1:.5},onClick:n,disabled:!s,"aria-label":"Next",onMouseEnter:()=>a("next"),onMouseLeave:()=>a(""),children:J.jsx(mQ,{})})]})},_Q=({viewMode:r,onViewModeChange:e})=>J.jsxs("div",{className:"agent-navbar",style:{display:"flex",alignItems:"center",gap:"10px",background:"#18181b",border:"2px solid #ffd32a",borderRadius:"10px",padding:"6px 16px",color:"#ffd32a",fontWeight:"bold",fontSize:"15px",boxShadow:"0 2px 8px rgba(0,0,0,0.18)"},children:[J.jsx("label",{htmlFor:"viewMode",style:{color:"#ffd32a",marginRight:8},children:"View Mode:"}),J.jsxs("select",{id:"viewMode",value:r,onChange:n=>e(n.target.value),style:{background:"#232326",color:"#ffd32a",border:"1.5px solid #ffd32a",borderRadius:6,padding:"4px 10px",fontWeight:"bold",fontSize:15,outline:"none",cursor:"pointer"},children:[J.jsx("option",{value:"2D",children:"2D"}),J.jsx("option",{value:"3D",children:"3D"}),J.jsx("option",{value:"VR",children:"VR"})]})]}),Ah=r=>{const e=[],n=[],i=new Map;return r.forEach(({subject:s,predicate:o,object:a})=>{if(!i.has(s.id)){const l={id:s.id,label:s.label,image:s.image,isTriple:!1,color:zo("subject"),type:"subject"};i.set(s.id,l),e.push(l)}if(!i.has(a.id)){const l={id:a.id,label:a.label,image:a.image,isTriple:!1,color:zo("object"),type:"object"};i.set(a.id,l),e.push(l)}n.push({source:s.id,target:a.id,type:"subject-to-object",label:o.label,predicateId:o.id})}),{nodes:e,links:n}},vQ="0x5dc0a2335c12343d8e0f71b62a73fbf70d06fcbaf647f57d82a189873ad90da3",xQ=(r,e="base",n,i)=>{const s=n||vQ,[o,a]=xe.useState({nodes:[],links:[]}),[l,c]=xe.useState(null),[u,h]=xe.useState(!0),[d,f]=xe.useState(null),[p,m]=xe.useState(!1),[_,y]=xe.useState([]),[g,x]=xe.useState(0),b=xe.useRef(null),[v,w]=xe.useState(""),[M,S]=xe.useState(""),[T,A]=xe.useState(""),[E,R]=xe.useState(!1),[U,L]=xe.useState(!1),C=xe.useCallback(async()=>{m(!0);try{let k;e==="agent"?k=await Cb(s,r):k=await Gh(r);const Q=Ah(k);a(Q),c(Q)}catch(k){console.error("Error loading graph data:",k)}finally{m(!1)}},[r,e]),D=xe.useCallback(()=>{a(l),f(null),w(""),S(""),A(""),L(!1)},[l]),I=xe.useCallback(async(k,Q,le)=>{if(k===null){f(null);return}if(f(k),i&&i(k),Q&&Q.current)try{const F={x:k.x,y:k.y,z:k.z||0},H=await Eb(k.id,r),re=Ah(H),ee=re.nodes.find(he=>he.id===k.id);ee&&(ee.x=F.x,ee.y=F.y,le==="3D"&&(ee.z=F.z),ee.fx=F.x,ee.fy=F.y,le==="3D"&&(ee.fz=F.z)),y(he=>{const be=he.slice(0,g+1);return be.push({graphData:o,selectedTriple:k}),be}),x(he=>he+1),a(re)}catch(F){console.error("Error fetching triples:",F)}},[r,o,g]),W=xe.useCallback((k,Q)=>{switch(b.current&&clearTimeout(b.current),k){case"subject":w(Q);break;case"predicate":S(Q);break;case"object":A(Q);break}b.current=setTimeout(()=>{L(!0)},500)},[]),$=xe.useCallback(async()=>{if(U){if(!v&&!M&&!T){D();return}R(!0);try{const Q=await $o({subject:v,predicate:M,object:T},r);if(!Q||Q.length===0){a({nodes:[],links:[]});return}const le=Ah(Q);a(le),y(F=>{const H=F.slice(0,g+1);return H.push({graphData:le,selectedTriple:null}),H}),x(F=>F+1)}catch(k){console.error("Error searching triples:",k)}finally{R(!1),L(!1)}}},[v,M,T,r,D,g,U]),ie=xe.useCallback(()=>{if(g>0){const{graphData:k,selectedTriple:Q}=_[g-1];a(k),f(Q),x(le=>le-1)}},[g,_]),O=xe.useCallback(()=>{if(g<_.length-1){const{graphData:k,selectedTriple:Q}=_[g+1];a(k),f(Q),x(le=>le+1)}},[g,_]);return{graphData:o,initialGraphData:l,isInitialLoad:u,selectedTriple:d,isLoading:p,isSearching:E,subjectFilter:v,predicateFilter:M,objectFilter:T,shouldSearch:U,canGoBack:g>0,canGoForward:g<_.length-1,setSelectedTriple:f,setIsInitialLoad:h,loadInitialData:C,resetGraph:D,handleNodeClick:I,handleFilterChange:W,applyFilters:$,goBack:ie,goForward:O,setGraphData:a,graphHistory:_,setGraphHistory:y,currentHistoryIndex:g,setCurrentHistoryIndex:x}};let Ch={endpoint:null,data:null,timestamp:null};const bQ=15*60*1e3,SQ=async r=>{const e=Date.now();if(Ch.data&&Ch.endpoint===r&&e-Ch.timestamp<bQ)return Ch.data;const n=await Gh(r);return Ch={endpoint:r,data:n,timestamp:e},n},TQ=async(r,e="base",n=10)=>{if(!r||r.length<1)return{subjects:[],predicates:[],objects:[],triples:[]};const i=r.toLowerCase().trim();if(["is","of","in","at","by","to"].includes(i))try{const a=await $o({predicate:i},e);if(a&&a.length>0)return{subjects:[...new Set(a.map(l=>l.subject.label))].slice(0,n),predicates:[i],objects:[...new Set(a.map(l=>l.object.label))].slice(0,n),triples:a.map(l=>({subject:l.subject.label,predicate:l.predicate.label,object:l.object.label})).slice(0,n)}}catch{}try{const a=(await SQ(e)).filter(x=>i.length<=3?x.subject&&x.subject.label&&x.subject.label.toLowerCase().indexOf(i)!==-1||x.predicate&&x.predicate.label&&x.predicate.label.toLowerCase().indexOf(i)!==-1||x.object&&x.object.label&&x.object.label.toLowerCase().indexOf(i)!==-1:x.subject&&x.subject.label&&x.subject.label.toLowerCase().includes(i)||x.predicate&&x.predicate.label&&x.predicate.label.toLowerCase().includes(i)||x.object&&x.object.label&&x.object.label.toLowerCase().includes(i));if(a.length>0){const x=T=>{if(!T)return 0;const A=T.toLowerCase();let E=100-Math.min(T.length,50);return A.startsWith(i)&&(E+=200),A===i&&(E+=300),!/^0x[0-9a-f]{8,}$/i.test(A)&&!/[0-9a-f]{30,}/i.test(A)&&(E+=150),/^[A-Za-z0-9]+ - [A-Za-z0-9 ]+$/.test(T)&&(E+=100),E},b=[...new Set(a.filter(T=>T.subject&&T.subject.label&&T.subject.label.toLowerCase().indexOf(i)!==-1).map(T=>T.subject.label))].sort((T,A)=>x(A)-x(T));let v=[...new Set(a.filter(T=>T.predicate&&T.predicate.label&&T.predicate.label.toLowerCase().indexOf(i)!==-1).map(T=>T.predicate.label))].sort((T,A)=>T.toLowerCase()===i?-1:A.toLowerCase()===i?1:x(A)-x(T));const w=[...new Set(a.filter(T=>T.object&&T.object.label&&T.object.label.toLowerCase().indexOf(i)!==-1).map(T=>T.object.label))].sort((T,A)=>x(A)-x(T)),M=T=>{if(!T)return 0;const A=T.subject?x(T.subject):0,E=T.predicate?x(T.predicate):0,R=T.object?x(T.object):0;return Math.max(A,E,R)},S=a.map(T=>({subject:T.subject.label,predicate:T.predicate.label,object:T.object.label})).sort((T,A)=>M(A)-M(T)).slice(0,n);return{subjects:b.slice(0,n),predicates:v.slice(0,n),objects:w.slice(0,n),triples:S}}const c=await $o({subject:r},e),h=await $o({predicate:r},e),f=await $o({object:r},e);let p=[...c||[]];h&&h.length>0&&(p=[...p,...h.filter(x=>!p.some(b=>b.id===x.id))]),f&&f.length>0&&(p=[...p,...f.filter(x=>!p.some(b=>b.id===x.id))]);const m=[...new Set(p.filter(x=>x.subject&&x.subject.label).map(x=>x.subject.label).filter(x=>x.toLowerCase().includes(i)))],_=[...new Set(p.filter(x=>x.predicate&&x.predicate.label).map(x=>x.predicate.label).filter(x=>x.toLowerCase().includes(i)))],y=[...new Set(p.filter(x=>x.object&&x.object.label).map(x=>x.object.label).filter(x=>x.toLowerCase().includes(i)))],g=p.map(x=>({subject:x.subject.label,predicate:x.predicate.label,object:x.object.label})).slice(0,n);return{subjects:m.slice(0,n),predicates:_.slice(0,n),objects:y.slice(0,n),triples:g}}catch{return{subjects:[],predicates:[],objects:[],triples:[]}}},wQ=({endpoint:r,onSearch:e,isSearching:n,onSearchStart:i})=>{const[s,o]=xe.useState(""),[a,l]=xe.useState({subjects:[],predicates:[],objects:[],triples:[]}),[c,u]=xe.useState({subject:"",predicate:"",object:""}),[h,d]=xe.useState(!1),[f,p]=xe.useState(!1),m=xe.useRef(null),_=xe.useRef(null);xe.useEffect(()=>{const L=C=>{_.current&&!_.current.contains(C.target)&&d(!1)};return document.addEventListener("mousedown",L),()=>{document.removeEventListener("mousedown",L)}},[]),xe.useEffect(()=>(s.length>=2?(clearTimeout(m.current),p(!0),d(!0),m.current=setTimeout(async()=>{try{const L=await TQ(s,r);l(L),d(!0),p(!1)}catch(L){console.error("Error retrieving suggestions:",L),p(!1)}},300)):(l({subjects:[],predicates:[],objects:[],triples:[]}),d(!1),p(!1)),()=>{clearTimeout(m.current)}),[s,r]);const y=(L,C)=>{u(D=>({...D,[L]:D[L]===C?"":C}))},g=async()=>{typeof i=="function"&&i();try{const L={subject:c.subject||"",predicate:c.predicate||"",object:c.object||""};typeof e=="function"&&await e(s,L)}catch{}},x=c.subject||c.predicate||c.object,b=a.subjects.length>0||a.predicates.length>0||a.objects.length>0||a.triples&&a.triples.length>0,v={container:{width:"100%",maxWidth:"550px",margin:"0 auto",position:"relative",zIndex:1e3},inputWrapper:{display:"flex",width:"100%",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",borderRadius:"12px",overflow:"hidden",backgroundColor:"rgba(30, 30, 40, 0.6)",backdropFilter:"blur(5px)",border:"1px solid rgba(255, 255, 255, 0.2)"},input:{flex:1,padding:"10px 15px",fontSize:"15px",border:"none",backgroundColor:"transparent",color:"white",outline:"none",fontWeight:"400",height:"40px"},button:{padding:"0 22px",border:"none",cursor:"pointer",fontWeight:"bold",fontSize:"15px",textTransform:"uppercase"},activeFilters:{display:"flex",flexWrap:"wrap",alignItems:"center",marginTop:"12px",padding:"8px 12px",backgroundColor:"rgba(30, 30, 40, 0.7)",borderRadius:"6px",border:"1px solid rgba(255, 255, 255, 0.1)",backdropFilter:"blur(5px)"},filtersLabel:{fontWeight:"600",marginRight:"12px",color:"rgba(255, 255, 255, 0.9)",fontSize:"13px"},filtersChips:{display:"flex",flexWrap:"wrap",gap:"6px",flex:1},filterChip:{display:"flex",alignItems:"center",padding:"3px 8px",borderRadius:"16px",fontSize:"12px",color:"white",boxShadow:"0 2px 4px rgba(0, 0, 0, 0.1)"},subjectChip:{backgroundColor:`${fn.SUBJECT}cc`},predicateChip:{backgroundColor:`${fn.PREDICATE}cc`},objectChip:{backgroundColor:`${fn.OBJECT}cc`},chipButton:{background:"none",border:"none",color:"white",marginLeft:"4px",cursor:"pointer",fontSize:"14px",lineHeight:1,display:"flex",alignItems:"center",justifyContent:"center",width:"16px",height:"16px",borderRadius:"50%",transition:"background-color 0.2s ease"},chipButtonHover:{backgroundColor:"rgba(255, 255, 255, 0.2)"},clearButton:{padding:"4px 10px",backgroundColor:"rgba(255, 70, 70, 0.8)",color:"white",border:"none",borderRadius:"16px",cursor:"pointer",fontSize:"12px",fontWeight:"500",boxShadow:"0 2px 4px rgba(0, 0, 0, 0.1)",transition:"background-color 0.2s ease",marginLeft:"auto"},clearButtonHover:{backgroundColor:"rgba(255, 70, 70, 1)"},suggestionsContainer:{position:"absolute",top:"calc(100% + 8px)",left:0,right:0,backgroundColor:"rgba(25, 25, 35, 0.9)",backdropFilter:"blur(10px)",border:"1px solid rgba(255, 255, 255, 0.1)",borderRadius:"8px",maxHeight:"400px",overflowY:"auto",zIndex:1001,boxShadow:"0 8px 16px rgba(0, 0, 0, 0.3)",color:"white"},suggestionCategory:{padding:"14px",borderBottom:"1px solid rgba(255, 255, 255, 0.1)"},categoryHeader:{fontWeight:"600",marginBottom:"10px",color:"rgba(255, 255, 255, 0.8)",fontSize:"14px",textTransform:"uppercase",letterSpacing:"0.5px"},suggestionList:{display:"flex",flexWrap:"wrap",gap:"8px"},suggestionItem:{padding:"3px 8px",borderRadius:"16px",backgroundColor:"rgba(255, 255, 255, 0.15)",fontSize:"12px",cursor:"pointer",transition:"all 0.2s ease",color:"rgba(255, 255, 255, 0.9)"},suggestionItemHover:{backgroundColor:"rgba(255, 255, 255, 0.25)"},selectedSuggestion:{backgroundColor:"#4A66E8",color:"white"},loadingContainer:{display:"flex",justifyContent:"center",alignItems:"center",padding:"25px"},loader:{width:"30px",height:"30px",border:"3px solid rgba(255,255,255,0.2)",borderRadius:"50%",borderTop:"3px solid #ffd32a",animation:"spin 1s linear infinite"},noResults:{padding:"25px",textAlign:"center",fontSize:"14px",color:"rgba(255,255,255,0.7)"},tripleSuggestion:{padding:"8px 12px",borderRadius:"12px",fontSize:"13px",cursor:"pointer",transition:"all 0.2s ease",backgroundColor:"rgba(30, 30, 40, 0.55)",backdropFilter:"blur(5px)",border:"1px solid rgba(255, 255, 255, 0.15)",display:"flex",flexDirection:"row",flexWrap:"wrap",gap:"6px",alignItems:"center",justifyContent:"center"},tripleSuggestionHover:{backgroundColor:"rgba(50, 50, 60, 0.65)"},tripleSubjectPart:{color:fn.SUBJECT,fontWeight:"500",padding:"2px 6px",borderRadius:"4px",backgroundColor:`${fn.SUBJECT}33`},triplePredicatePart:{color:fn.PREDICATE,fontWeight:"500",padding:"2px 6px",borderRadius:"4px",backgroundColor:`${fn.PREDICATE}33`},tripleObjectPart:{color:fn.OBJECT,fontWeight:"500",padding:"2px 6px",borderRadius:"4px",backgroundColor:`${fn.OBJECT}33`},subjectSuggestion:{backgroundColor:fn.SUBJECT,color:"#fff",fontWeight:"500",border:"none"},predicateSuggestion:{backgroundColor:fn.PREDICATE,color:"#fff",fontWeight:"500",border:"none"},objectSuggestion:{backgroundColor:fn.OBJECT,color:"#fff",fontWeight:"500",border:"none"}},[w,M]=xe.useState(!1),[S,T]=xe.useState(!1),[A,E]=xe.useState(null),[R,U]=xe.useState(null);return J.jsxs("div",{style:v.container,children:[J.jsx("style",{children:`
|
|
5363
5363
|
@keyframes spin {
|
|
5364
5364
|
0% { transform: rotate(0deg); }
|
|
5365
5365
|
100% { transform: rotate(360deg); }
|