(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[405],{64685:function(e,n,t){"use strict";t.r(n),t.d(n,{Graph:function(){return Vt},GraphPage:function(){return Mt},default:function(){return Wt},getThemeColor:function(){return Ut},hexToRGBA:function(){return qt},normalizeLinkEnds:function(){return _t}});var r=t(15861),i=t(42982),o=t(4942),l=t(70885),s=t(87757),c=t.n(s),a=t(40980),u=t(74860),d=t(95869),h=t(48017),g=t(94096),f=t(96699),p=t(48420),x=t(57775),j=t(54309),b=t(52596),v=t(9008),m=t(67294),y=t(32802),C=t.n(y),O=t(47516),w=t(63750),k=t(22003),S=t(31122),P=t(7520),N=t(22663),I=t.n(N),D=t(36194),L=[],z={};for(var E in D.oY)for(var Z in D.oY[E]){var R=E+Z;"LinearNone"===R&&(R="Linear"),L.push(R),z[R]=D.oY[E][Z]}var T=z,B={enabled:!0,charge:-700,collision:!0,collisionStrength:20,centering:!0,centeringStrength:.2,linkStrength:.3,linkIts:1,alphaDecay:.05,alphaTarget:0,alphaMin:0,velocityDecay:.25,gravity:.3,gravityOn:!0,gravityLocal:!1},F={orphans:!1,dailies:!1,parent:"heading",filelessCites:!1,tagsBlacklist:[],tagsWhitelist:[],bad:!0,nodes:[],links:[],date:[],noter:!0},H={particles:!1,particlesNumber:0,particlesWidth:4,arrows:!1,arrowsLength:1,arrowsPos:.5,arrowsColor:"",linkOpacity:.8,linkWidth:1,nodeRel:4,nodeOpacity:1,nodeResolution:12,labels:2,labelScale:1,labelFontSize:10,labelLength:40,labelWordWrap:25,labelLineSpace:1,highlight:!0,highlightNodeSize:1.2,highlightLinkSize:2,highlightFade:.8,highlightAnim:!0,animationSpeed:420,algorithmOptions:L,algorithmName:"SinusoidalOut",linkColorScheme:"gray.500",nodeColorScheme:["red.500","gray.600","yellow.500","green.500","cyan.500","blue.500","pink.500","purple.500","orange.500"],nodeHighlight:"purple.500",linkHighlight:"purple.500",backgroundColor:"white",emacsNodeColor:"gray.800",labelTextColor:"black",labelBackgroundColor:"",labelBackgroundOpacity:.7,citeDashes:!0,citeDashLength:35,citeGapLength:15,citeLinkColor:"gray.700",citeLinkHighlightColor:"",citeNodeColor:"black",refDashes:!0,refDashLength:35,refGapLength:15,refLinkColor:"gray.700",refLinkHighlightColor:"",refNodeColor:"black",nodeSizeLinks:.5,nodeZoomSize:1.3},A={follow:"zoom",localSame:"add",zoomPadding:200,zoomSpeed:2e3},W={highlight:"hover",local:"double",follow:"never",context:"right",preview:"click",backgroundExitsLocal:!1},M=["red.500","orange.500","yellow.500","green.500","cyan.500","blue.500","pink.500","purple.500","white","gray.100","gray.200","gray.300","gray.400","gray.500","gray.600","gray.700","gray.800","gray.900","black"],V=t(11252),X=t(336),_=t(85675),U=t(72026),q=t(64115),G=t(49364),J=t(94030),Q=t(46617),K=t(50862),Y=t(68928),$=t(55830),ee=t(2827);function ne(e,n,t){t.send(JSON.stringify({command:e,data:n}))}function te(e,n){ne("open",{id:e.id},n)}var re=t(85305),ie=t(77787),oe=t(45987),le=t(80658),se=t(38554),ce=t.n(se),ae=t(84461),ue=t(73808),de=t(53869),he=t(39629);function ge(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function fe(e){for(var n=1;n0},Oe={exit:{size:{duration:.2,ease:pe.ease},opacity:{duration:.3,ease:pe.ease}},enter:{size:{duration:.3,ease:pe.ease},opacity:{duration:.4,ease:pe.ease}}},we={exit:function(e){var n,t,r=e.animateOpacity,i=e.startingSize,l=e.transition,s=e.transitionEnd,c=e.delay,a=e.dimension;return ye(ye({},r&&{opacity:Ce(i)?1:0}),{},(t={overflow:"hidden"},(0,o.Z)(t,a,i),(0,o.Z)(t,"transitionEnd",null===s||void 0===s?void 0:s.exit),(0,o.Z)(t,"transition",null!==(n=null===l||void 0===l?void 0:l.exit)&&void 0!==n?n:je(Oe.exit,c)),t))},enter:function(e){var n,t,r=e.animateOpacity,i=e.endingSize,l=e.transition,s=e.transitionEnd,c=e.delay,a=e.dimension;return ye(ye({},r&&{opacity:1}),{},(t={},(0,o.Z)(t,a,i),(0,o.Z)(t,"transitionEnd",null===s||void 0===s?void 0:s.enter),(0,o.Z)(t,"transition",null!==(n=null===l||void 0===l?void 0:l.enter)&&void 0!==n?n:xe(Oe.enter,c)),t))}},ke=m.forwardRef((function(e,n){var t=e.in,r=e.unmountOnExit,i=e.animateOpacity,o=void 0===i||i,s=e.startingSize,c=void 0===s?0:s,a=e.endingSize,u=void 0===a?"auto":a,d=e.dimension,h=void 0===d?"height":d,g=e.style,f=e.className,p=e.transition,x=e.transitionEnd,j=(0,oe.Z)(e,ve),b=m.useState(!1),v=(0,l.Z)(b,2),y=v[0],C=v[1];m.useEffect((function(){var e=setTimeout((function(){C(!0)}));return function(){return clearTimeout(e)}}),[]),(0,le.ZK)({condition:Boolean(c>0&&r),message:"startingSize and unmountOnExit are mutually exclusive. You can't use them together"});var O=parseFloat(c.toString())>0,w={startingSize:c,endingSize:u,animateOpacity:o,dimension:h,transition:y?p:{enter:{duration:0}},transitionEnd:ce()(x,{enter:{overflow:"initial"},exit:r?void 0:{display:O?"block":"none"}})},k=!r||t,S=t||r?"enter":"exit";return(0,be.jsx)(de.M,{initial:!1,custom:w,children:k&&(0,be.jsx)(he.E.div,ye(ye({ref:n},j),{},{className:(0,ae.cx)("chakra-collapse",f),style:ye({overflow:"hidden",display:"block"},g),custom:w,variants:we,initial:!!r&&"exit",animate:S,exit:"exit"}))})}));function Se(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function Pe(e){for(var n=1;n-1,f=a.indexOf(s)>-1,p=(0,u.q)();return(0,be.jsxs)(be.Fragment,{children:[(0,be.jsx)(V.sN,{icon:(0,be.jsx)(h.xu,{bgColor:l[s],borderRadius:"sm",height:3,width:3,borderColor:l[s]||"gray.600",borderWidth:1}),closeOnSelect:!1,onClick:p.onToggle,children:(0,be.jsx)(q.x,{children:"Change color"})}),(0,be.jsx)(ke,{in:p.isOpen,children:(0,be.jsx)(g.k,{ml:2,mt:2,flexWrap:"wrap",children:M.map((function(e){return(0,be.jsx)(h.xu,{children:(0,be.jsx)(h.xu,{tabIndex:0,cursor:"pointer",onClick:function(){return n(Pe(Pe({},l),{},(0,o.Z)({},s,e)))},bgColor:e,m:1,borderRadius:"sm",height:3,width:3})},e)}))})}),!f&&(0,be.jsx)(V.sN,{onClick:function(){t(d?function(e){return Pe(Pe({},e),{},{tagsBlacklist:e.tagsBlacklist.filter((function(e){return e!==s}))})}:function(e){return Pe(Pe({},e),{},{tagsBlacklist:[].concat((0,i.Z)(e.tagsBlacklist),[s])})})},icon:d?(0,be.jsx)(re.V,{}):(0,be.jsx)(ie.t,{}),children:d?"Remove from blacklist":"Add to blacklist"}),!d&&(0,be.jsx)(V.sN,{onClick:function(){t(f?function(e){return Pe(Pe({},e),{},{tagsWhitelist:e.tagsWhitelist.filter((function(e){return e!==s}))})}:function(e){return Pe(Pe({},e),{},{tagsWhitelist:[].concat((0,i.Z)(e.tagsWhitelist),[s])})})},icon:f?(0,be.jsx)(re.V,{}):(0,be.jsx)($.O,{}),children:f?"Remove from whitelist":"Add to whitelist"})]})},Ie=function(e){e.background;var n,t,r=e.target,i=(e.nodeType,e.coordinates),o=e.handleLocal,l=e.menuClose,s=e.scope,c=e.webSocket,a=e.setPreviewNode,d=e.setTagColors,h=e.tagColors,g=e.setFilter,f=e.filter,p=(0,u.q)(),x=p.isOpen,j=p.onOpen,b=p.onClose;(0,m.useRef)();return(0,be.jsxs)(be.Fragment,{children:[(0,be.jsx)(V.v2,{defaultIsOpen:!0,closeOnBlur:!1,onClose:function(){return l()},children:(0,be.jsx)(V.qy,{zIndex:"overlay",bgColor:"white",color:"black",position:"absolute",left:i.left,top:i.top,right:i.right,bottom:i.bottom,fontSize:"xs",boxShadow:"xl",children:"string"!==typeof r?(0,be.jsxs)(be.Fragment,{children:[r&&(0,be.jsxs)(be.Fragment,{children:[(0,be.jsx)(X.X,{size:"xs",isTruncated:!0,px:3,py:1,children:r.title}),(0,be.jsx)(V.R,{borderColor:"gray.500"})]}),0!==s.nodeIds.length&&(0,be.jsxs)(be.Fragment,{children:[(0,be.jsx)(V.sN,{onClick:function(){return o(r,"add")},icon:(0,be.jsx)(J.I,{}),children:"Expand local graph at node"}),(0,be.jsx)(V.sN,{onClick:function(){return o(r,"replace")},icon:(0,be.jsx)(O.DvO,{}),children:"Open local graph for this node"})]}),null!==r&&void 0!==r&&null!==(n=r.properties)&&void 0!==n&&n.FILELESS?(0,be.jsx)(V.sN,{icon:(0,be.jsx)(K.d,{}),onClick:function(){return function(e,n){ne("create",{id:e.id,title:e.title,ref:e.properties.ROAM_REFS},n)}(r,c)},children:"Create node"}):(0,be.jsx)(V.sN,{icon:(0,be.jsx)(Q.d,{}),onClick:function(){return te(r,c)},children:"Open in Emacs"}),(null===r||void 0===r||null===(t=r.properties)||void 0===t?void 0:t.ROAM_REFS)&&(0,be.jsx)(V.sN,{icon:(0,be.jsx)(Y.h,{}),children:"Open in Zotero"}),0===s.nodeIds.length&&(0,be.jsx)(V.sN,{icon:(0,be.jsx)(O.DvO,{}),onClick:function(){return o(r,"replace")},children:"Open local graph"}),(0,be.jsx)(V.sN,{icon:(0,be.jsx)($.O,{}),onClick:function(){a(r)},children:"Preview"}),0===(null===r||void 0===r?void 0:r.level)&&(0,be.jsx)(V.sN,{closeOnSelect:!1,icon:(0,be.jsx)(ee.p,{color:"red.500"}),color:"red.500",onClick:j,children:"Permenantly delete note"})]}):(0,be.jsx)(Ne,{target:r,tagColors:h,filter:f,setTagColors:d,setFilter:g})})}),"string"!==typeof r&&(0,be.jsxs)(_.u_,{isCentered:!0,isOpen:x,onClose:b,children:[(0,be.jsx)(_.ZA,{}),(0,be.jsxs)(_.hz,{zIndex:"popover",children:[(0,be.jsx)(_.xB,{children:"Delete node?"}),(0,be.jsx)(_.ol,{}),(0,be.jsx)(_.fe,{children:(0,be.jsxs)(U.gC,{spacing:4,display:"flex",alignItems:"flex-start",children:[(0,be.jsx)(q.x,{children:"This will permanently delete your note:"}),(0,be.jsx)(q.x,{fontWeight:"bold",children:null===r||void 0===r?void 0:r.title}),0!==(null===r||void 0===r?void 0:r.level)&&(0,be.jsx)(q.x,{children:"This will only delete the from this heading until but not including the next node. Your parent file and all other nodes will not be deleted."}),(0,be.jsx)(q.x,{children:"Are you sure you want to do continue?"})]})}),(0,be.jsxs)(_.mz,{children:[(0,be.jsx)(G.z,{mr:3,onClick:function(){console.log("closing"),b(),l()},children:"Cancel"}),(0,be.jsx)(G.z,{variant:"link",colorScheme:"red",ml:3,onClick:function(){console.log("aaaaa"),function(e,n){0===e.level&&ne("delete",{id:e.id,file:e.file},n)}(r,c),b(),l()},children:"Delete node"})]})]})]})]})},De=t(67101),Le=t(35255),ze=t(56884),Ee=function(e){var n=e.setJustification,t=(e.setIndent,e.setFont,e.justification),r=(e.setPreviewNode,e.canUndo),i=e.canRedo,o=(e.resetPreviewNode,e.previousPreviewNode),l=e.nextPreviewNode;return(0,be.jsxs)(g.k,{flex:"0 1 40px",pb:3,alignItems:"center",justifyContent:"space-between",pl:1,pr:1,children:[(0,be.jsx)(g.k,{children:(0,be.jsxs)(De.h,{isAttached:!0,children:[(0,be.jsx)(f.u,{label:"Go backward",children:(0,be.jsx)(p.h,{variant:"subtle",icon:(0,be.jsx)(Le.w,{}),"aria-label":"Previous node",disabled:!r,onClick:function(){return o()}})}),(0,be.jsx)(f.u,{label:"Go forward",children:(0,be.jsx)(p.h,{variant:"subtle",icon:(0,be.jsx)(ze.X,{}),"aria-label":"Next node",disabled:!i,onClick:function(){return l()}})})]})}),(0,be.jsx)(g.k,{children:(0,be.jsx)(f.u,{label:"Justify content",children:(0,be.jsx)(p.h,{variant:"subtle","aria-label":"Justify content",icon:[(0,be.jsx)(O.v9V,{},"justify"),(0,be.jsx)(O.YSr,{},"left"),(0,be.jsx)(O.RXA,{},"right"),(0,be.jsx)(O.tr_,{},"center")][t],onClick:function(){return n((function(e){return(e+1)%4}))}})})})]})},Ze=t(35528);function Re(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function Te(e){for(var n=1;n2&&void 0!==arguments[2]?arguments[2]:{},i=Nn(e,null!==(t=r.storage)&&void 0!==t?t:localStorage),o=i.get(),l=void 0!==o?o:n,s=null!=o&&"object"===typeof o&&!1===Array.isArray(o)?Sn(Sn({},n),o):l;s!==o&&i.update(s);var c=(0,m.useState)(s),a=c[0],u=c[1];(0,m.useEffect)((function(){a!==s&&u(s)}),[e]);var d=function(e){e instanceof Function?u((function(n){var t=e(n);return i.update(t),t})):(u(e),i.update(e))};return[a,d]}function Nn(e,n){return{get:function(){var t=n.getItem(e);if(t&&"undefined"!==t)return JSON.parse(t)},update:function(t){n.setItem(e,JSON.stringify(t))},remove:function(){n.removeItem(e)}}}var In=["style"];function Dn(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function Ln(e){for(var n=1;n1,animateOpacity:!0,children:(0,be.jsx)(h.xu,{paddingTop:2,children:(0,be.jsx)(nt,{label:"Label Appearance Scale",value:5*n.labelScale,onChange:function(e){return t(yt(yt({},n),{},{labelScale:e/5}))}})})})]})]})})};function Ot(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function wt(e){for(var n=1;n2&&void 0!==arguments[2]?arguments[2]:2e3,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200;if("color"!==e){var l=Se.current,s=ze.current,c=Ee.current,a=null!==(t=Oe.current[n])&&void 0!==t?t:[],u=Object.fromEntries([n].concat((0,i.Z)(a.flatMap((function(e){return[e.source,e.target]})))).map((function(e){return[e,{}]})));if("zoom"===e)return s.nodeIds.length&&y({nodeIds:[]}),void setTimeout((function(){return l.zoomToFit(r,o,(function(e){return u[e.id]}))}),50);if(!s.nodeIds.length)return y({nodeIds:[n]}),void setTimeout((function(){l.centerAt(0,0,10),l.zoomToFit(1,o)}),50);if("add"!==c.localSame)return y({nodeIds:[n]}),void setTimeout((function(){l.centerAt(0,0,10),l.zoomToFit(1,o)}),50);if(!s.nodeIds.includes(n)||!s.nodeIds.some((function(e){return u[e]})))return y({nodeIds:[n]}),void setTimeout((function(){l.centerAt(0,0,10),l.zoomToFit(1,o)}),50);y((function(e){return Bt(Bt({},e),{},{nodeIds:[].concat((0,i.Z)(e.nodeIds),[n])})})),setTimeout((function(){l.centerAt(0,0,10),l.zoomToFit(1,o)}),50)}};(0,m.useEffect)((function(){Ze.current=new k.Z("ws://localhost:35903"),Ze.current.addEventListener("open",(function(){console.log("Connection with Emacs established")})),Ze.current.addEventListener("message",(function(e){var n=Ee.current,t=JSON.parse(e.data);switch(t.type){case"graphdata":return function(e){var n,t,r,s=Ce.current;ke.current=null!==(n=e.tags)&&void 0!==n?n:[];var c=null!==(t=e.nodes)&&void 0!==t?t:[],a=null!==(r=e.links)&&void 0!==r?r:[],u=c.reduce((function(e,n){var t;return Bt(Bt({},e),{},(0,o.Z)({},n.file,[].concat((0,i.Z)(null!==(t=e[n.file])&&void 0!==t?t:[]),[n])))}),{}),d=Object.keys(u).flatMap((function(e){var n,t=null!==(n=u[e])&&void 0!==n?n:[],r=t.find((function(e){return 0===e.level})),i=t.filter((function(e){return 0!==e.level}));return r?i.map((function(e){var n=t.filter((function(n){var t;return!(n.level>=e.level||n.pos>=e.pos||null===(t=e.olp)||void 0===t||!t.includes(n.title))})).reduce((function(e,n){return n.level>e.level&&(e=n),e}),r);return{source:e.id,target:(null===n||void 0===n?void 0:n.id)||r.id,type:"heading"}})):[]})),h=Object.keys(u).flatMap((function(e){var n,t=null!==(n=u[e])&&void 0!==n?n:[],r=t.find((function(e){return 0===e.level})),i=t.filter((function(e){return 0!==e.level}));return r?i.map((function(e){return{source:e.id,target:r.id,type:"parent"}})):[]}));Ce.current=Object.fromEntries(c.map((function(e){return[e.id,e]})));var g=[].concat((0,i.Z)(a),(0,i.Z)(d),(0,i.Z)(h)),f=[],p=g.map((function(e){var n=e.source,t=e.target;return Ce.current[n]?Ce.current[t]?e:(f.push({id:t,tags:["bad"],properties:{FILELESS:"yes",bad:"yes"},file:"",title:t,level:0,pos:0,olp:null}),Bt(Bt({},e),{},{type:"bad"})):(f.push({id:n,tags:["bad"],properties:{FILELESS:"yes",bad:"yes"},file:"",title:n,level:0,pos:0,olp:null}),Bt(Bt({},e),{},{type:"bad"}))}));Ce.current=Bt(Bt({},Ce.current),Object.fromEntries(f.map((function(e){return[e.id,e]})))),Oe.current=p.reduce((function(e,n){var t,r,l;return Bt(Bt({},e),{},(l={},(0,o.Z)(l,n.source,[].concat((0,i.Z)(null!==(t=e[n.source])&&void 0!==t?t:[]),[n])),(0,o.Z)(l,n.target,[].concat((0,i.Z)(null!==(r=e[n.target])&&void 0!==r?r:[]),[n])),l))}),{});var x=[].concat((0,i.Z)(c),f);we.current=x.reduce((function(e,n){var t,r=null===(t=n.properties)||void 0===t?void 0:t.ROAM_REFS;if(null===r||void 0===r||!r.includes("cite"))return e;var i=r.replaceAll(/cite:(.*)/g,"$1");return i?Bt(Bt({},e),{},(0,o.Z)({},i,n)):e}),{});var j={nodes:x,links:p},b=De.current;if(0===b.nodes.length){var v=JSON.parse(JSON.stringify(j));return De.current=v,void _(v)}var m=[].concat((0,i.Z)(b.nodes.flatMap((function(e){var n,t=null!==(n=Ce.current[null===e||void 0===e?void 0:e.id])&&void 0!==n&&n;return t?[Bt(Bt({},e),t)]:[]}))),(0,i.Z)(Object.keys(Ce.current).filter((function(e){return!s[e]})).map((function(e){return Ce.current[e]})))),y=m.reduce((function(e,n,t){var r=null===n||void 0===n?void 0:n.id;return Bt(Bt({},e),{},(0,o.Z)({},r,t))}),{}),C=p.map((function(e){var n=_t(e),t=(0,l.Z)(n,2),r=t[0],i=t[1];return Bt(Bt({},e),{},{source:m[y[r]],target:m[y[i]]})}));_({nodes:m,links:C})}(t.data);case"variables":return console.log(t.data),void(Pe.current=t.data);case"theme":return Le(["custom",t.data]);case"command":switch(t.data.commandName){case"local":var r=K.zoomSpeed,s=K.zoomPadding;Re("local",t.data.id,r,s),G(t.data.id);break;case"zoom":var c,a,u=(null===t||void 0===t||null===(c=t.data)||void 0===c?void 0:c.speed)||n.zoomSpeed,d=(null===t||void 0===t||null===(a=t.data)||void 0===a?void 0:a.padding)||n.zoomPadding;Re("zoom",t.data.id,u,d),G(t.data.id);break;case"follow":Re(n.follow,t.data.id,n.zoomSpeed,n.zoomPadding),G(t.data.id);break;default:return console.error("unknown message type",t.type)}}}))}),[]),(0,m.useEffect)((function(){var e=Se.current;!e||v.nodeIds.length>1||(v.nodeIds.length||!N.gravityOn?setTimeout((function(){e.zoomToFit(5,200)}),50):e.zoomToFit())}),[v.nodeIds]);var Te=(0,j.iP)(),Be=(0,l.Z)(Te,2),Fe=Be[0],He=Be[1],Ae=(0,m.useRef)(),We=(0,m.useState)(null),Me=We[0],Ve=We[1],Xe=(0,m.useState)({left:0,top:0,right:void 0,bottom:void 0}),_e=Xe[0],Ue=Xe[1],qe=(0,u.q)();(0,d.O)({ref:Ae,handler:function(){qe.onClose()}});var Ge=function(e,n,t){Ue(t||{left:n.pageX,top:n.pageY,right:void 0,bottom:void 0}),Ve(e),qe.onOpen()},Je=function(e,n){"replace"!==n?v.nodeIds.includes(e.id)||y((function(n){return Bt(Bt({},n),{},{nodeIds:[].concat((0,i.Z)(n.nodeIds),[e.id])})})):y({nodeIds:[e.id]})},Qe=(0,m.useState)({type:"Graph",title:"Graph",icon:(0,be.jsx)(O.DvO,{})}),Ke=(Qe[0],Qe[1],Pn("mainWindowWidth",Fe)),Ye=(0,l.Z)(Ke,2),$e=Ye[0],en=Ye[1];return(0,be.jsxs)(h.xu,{display:"flex",alignItems:"flex-start",flexDirection:"row",height:"100vh",overflow:"clip",children:[(0,be.jsx)(Rt,{physics:N,setPhysics:I,threeDim:t,setThreeDim:r,filter:z,setFilter:E,visuals:T,setVisuals:M,mouse:ne,setMouse:te,behavior:K,setBehavior:Y,tagColors:a,setTagColors:x,tags:ke.current}),(0,be.jsx)(h.xu,{position:"absolute",children:X&&(0,be.jsx)(Vt,{nodeById:Ce.current,linksByNodeId:Oe.current,webSocket:Ze.current,variables:Pe.current,physics:N,graphData:X,threeDim:t,emacsNodeId:q,filter:z,visuals:T,behavior:K,mouse:ne,scope:v,setScope:y,tagColors:a,setPreviewNode:se,sidebarHighlightedNode:pe,windowWidth:Fe,windowHeight:He,openContextMenu:Ge,contextMenu:qe,handleLocal:Je,mainWindowWidth:$e,setMainWindowWidth:en,setContextMenuTarget:Ve,graphRef:Se,clusterRef:Ne})}),(0,be.jsx)(h.xu,{position:"relative",zIndex:4,width:"100%",children:(0,be.jsx)(g.k,{className:"headerBar",h:10,flexDir:"column",children:(0,be.jsx)(g.k,{alignItems:"center",h:10,justifyContent:"flex-end",children:(0,be.jsxs)(g.k,{height:"100%",flexDirection:"row",children:[v.nodeIds.length>0&&(0,be.jsx)(f.u,{label:"Return to main graph",children:(0,be.jsx)(p.h,{m:1,icon:(0,be.jsx)(O.DvO,{}),"aria-label":"Exit local mode",onClick:function(){return y((function(e){return Bt(Bt({},e),{},{nodeIds:[]})}))},variant:"subtle"})}),(0,be.jsx)(f.u,{label:ve?"Close sidebar":"Open sidebar",children:(0,be.jsx)(p.h,{m:1,icon:(0,be.jsx)(w.iBV,{}),"aria-label":"Close file-viewer",variant:"subtle",onClick:ve?ye:me})})]})})})}),(0,be.jsx)(h.xu,{position:"relative",zIndex:4,children:(0,be.jsx)(zn,{isOpen:ve,onOpen:me,onClose:ye,previewNode:ge,setPreviewNode:se,canUndo:de,canRedo:he,previousPreviewNode:ae,nextPreviewNode:ue,resetPreviewNode:ce,setSidebarHighlightedNode:xe,openContextMenu:Ge,scope:v,setScope:y,windowWidth:Fe,tagColors:a,setTagColors:x,filter:z,setFilter:E,nodeById:Ce.current,linksByNodeId:Oe.current,nodeByCite:we.current})}),qe.isOpen&&(0,be.jsx)("div",{ref:Ae,children:(0,be.jsx)(Ie,{scope:v,target:Me,background:!1,coordinates:_e,handleLocal:Je,menuClose:qe.onClose.bind(qe),webSocket:Ze.current,setPreviewNode:se,setFilter:E,filter:z,setTagColors:x,tagColors:a})})]})}var Vt=function(e){var n=e.graphRef,t=e.physics,s=e.graphData,u=e.threeDim,d=e.linksByNodeId,g=e.filter,f=e.emacsNodeId,p=e.nodeById,j=e.visuals,v=e.behavior,y=e.mouse,O=e.scope,w=(e.setScope,e.webSocket),k=e.tagColors,P=e.setPreviewNode,N=e.sidebarHighlightedNode,D=e.windowWidth,L=e.windowHeight,z=(e.setContextMenuTarget,e.openContextMenu),E=e.contextMenu,Z=e.handleLocal,R=e.variables,B=e.clusterRef,F=R.dailyDir,H=(R.roamDir,(0,m.useState)(null)),A=H[0],W=H[1],V=(0,a.useTheme)(),X=(0,m.useContext)(rn.N).emacsTheme,_=function(e,n,t){switch(e){case y.preview:P(n);break;case y.local:Z(n,v.localSame);break;case y.follow:te(n,w);break;case y.context:z(n,t)}},U=(0,m.useRef)(null);(0,m.useEffect)((function(){f&&W(p[f])}),[f]);var q=(0,m.useRef)({}),G=(0,m.useRef)({}),J=(0,m.useMemo)((function(){var e;G.current={};var n=null===s||void 0===s||null===(e=s.nodes)||void 0===e?void 0:e.filter((function(e){var n,t,r,i,l=e;return g.tagsBlacklist.length&&g.tagsBlacklist.some((function(e){var n;return(null===l||void 0===l||null===(n=l.tags)||void 0===n?void 0:n.indexOf(e))>-1}))||g.tagsWhitelist.length>0&&!g.tagsWhitelist.some((function(e){var n;return(null===l||void 0===l||null===(n=l.tags)||void 0===n?void 0:n.indexOf(e))>-1}))||g.filelessCites&&null!==l&&void 0!==l&&null!==(n=l.properties)&&void 0!==n&&n.FILELESS||null!==g&&void 0!==g&&g.bad&&null!==l&&void 0!==l&&null!==(t=l.properties)&&void 0!==t&&t.bad||g.dailies&&F&&null!==(r=l.file)&&void 0!==r&&r.includes(F)?(G.current=Bt(Bt({},G.current),{},(0,o.Z)({},l.id,l)),!1):!g.noter||null===(i=l.properties)||void 0===i||!i.NOTER_PAGE||(G.current=Bt(Bt({},G.current),{},(0,o.Z)({},l.id,l)),!1)})).filter((function(e){var n,t=(null!==(n=d[null===e||void 0===e?void 0:e.id])&&void 0!==n?n:[]).filter((function(e){return!G.current[e.source]&&!G.current[e.target]}));return!g.orphans||(g.parent?0!==t.length:0!==t.length&&t.some((function(e){return!["parent","heading"].includes(e.type)})))})),t=n.map((function(e){return e.id})),r=s.links.filter((function(e){var n=_t(e),r=(0,l.Z)(n,2),i=r[0],o=r[1];if(!t.includes(i)||!t.includes(o))return!1;var s=e;return g.parent?"heading"===g.parent?"parent"!==s.type:"heading"!==s.type:!["parent","heading"].includes(s.type)}));q.current=r.reduce((function(e,n){var t,r,s,c=n,a=_t(c),u=(0,l.Z)(a,2),d=u[0],h=u[1];return Bt(Bt({},e),{},(s={},(0,o.Z)(s,d,[].concat((0,i.Z)(null!==(t=e[d])&&void 0!==t?t:[]),[c])),(0,o.Z)(s,h,[].concat((0,i.Z)(null!==(r=e[h])&&void 0!==r?r:[]),[c])),s))}),{}),console.log(r);var c=r.map((function(e){var n=_t(e),t=(0,l.Z)(n,2);return{target:t[0],source:t[1],weight:"cite"===e.type?1:2}}));console.log(c);var a=C()().nodes(t).edges(c);return B.current=a(),console.log(B.current),{nodes:n,links:r}}),[g,s]),Q=(0,m.useState)({nodes:[],links:[]}),K=Q[0],Y=Q[1];(0,m.useEffect)((function(){if(O.nodeIds.length){var e=O.nodeIds.length>1?K.nodes:[],n=e.map((function(e){return e.id})),t=function(e,n){var t=[e[0]],r=[],i=[e[0]];return Array.from({length:n},(function(){t.forEach((function(e){var n;(null!==(n=q.current[e])&&void 0!==n?n:[]).forEach((function(e){var n=_t(e),t=(0,l.Z)(n,2),o=t[0],s=t[1];i.includes(o)?i.includes(s)||r.push(s):r.push(o)}))})),t=r,r.forEach((function(e){return e&&i.push(e)})),r=[]})),i}(O.nodeIds,1),r=J.nodes.filter((function(r){var i;return e.length?!n.includes(r.id)&&(null!==(i=q.current[r.id])&&void 0!==i?i:[]).some((function(e){var n=_t(e),t=(0,l.Z)(n,2),r=t[0],i=t[1];return O.nodeIds.includes(r)||O.nodeIds.includes(i)})):t.includes(r.id)})).map((function(e){return Bt(Bt({},e),{},{x:0,y:0,vy:0,vx:0})})),o=[].concat((0,i.Z)(e),(0,i.Z)(r)),s=o.map((function(e){return e.id})),c=O.nodeIds.length>1?K.links:[],a=J.links.filter((function(e){var t=_t(e),r=(0,l.Z)(t,2),i=r[0],o=r[1];return!(c.length&&n.includes(o)&&n.includes(i))&&(s.includes(i)&&s.includes(o))})).map((function(e){var n=_t(e),t=(0,l.Z)(n,2);return{source:t[0],target:t[1]}})),u=[].concat((0,i.Z)(c),(0,i.Z)(a));Y({nodes:o,links:u})}}),[g,O,JSON.stringify(s),J.links,J.nodes]),(0,m.useEffect)((function(){(0,r.Z)(c().mark((function e(){var r,i;return c().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=n.current,e.next=3,Ft;case 3:i=e.sent,!t.gravityOn||O.nodeIds.length&&!t.gravityLocal?(r.d3Force("x",null),r.d3Force("y",null),u&&r.d3Force("z",null)):(r.d3Force("x",i.forceX().strength(t.gravity)),r.d3Force("y",i.forceY().strength(t.gravity)),u&&r.d3Force("z",i.forceZ().strength(t.gravity))),t.centering?r.d3Force("center",i.forceCenter().strength(t.centeringStrength)):r.d3Force("center",null),t.linkStrength&&r.d3Force("link").strength(t.linkStrength),t.linkIts&&r.d3Force("link").iterations(t.linkIts),t.charge&&r.d3Force("charge").strength(t.charge),r.d3Force("collide",t.collision?i.forceCollide().radius(t.collisionStrength):null);case 10:case"end":return e.stop()}}),e)})))()}),[t,u,O]),(0,m.useEffect)((function(){var e;null===(e=n.current)||void 0===e||e.d3ReheatSimulation()}),[t,O.nodeIds.length]);var $=(0,m.useRef)(0),ee=(0,m.useState)(1),ne=ee[0],re=ee[1],ie=(0,x._7)((function(e){return re(e)}),{duration:j.animationSpeed,algorithm:T[j.algorithmName]}),oe=(0,l.Z)(ie,2),le=oe[0],se=oe[1],ce=(0,x._7)((function(e){return re(Math.min(ne,-1*(e-1)))}),{duration:j.animationSpeed,algorithm:T[j.algorithmName]}),ae=(0,l.Z)(ce,2),ue=ae[0],de=ae[1],he=(0,m.useMemo)((function(){var e;if(!U.current)return{};var n=q.current[U.current.id];return n?Object.fromEntries([null===(e=U.current)||void 0===e?void 0:e.id].concat((0,i.Z)(n.flatMap((function(e){return[e.source,e.target]})))).map((function(e){return[e,{}]}))):{}}),[JSON.stringify(U.current),JSON.stringify(q.current)]);(0,m.useEffect)((function(){null!==N&&void 0!==N&&N.id?W(N):W(null)}),[N]);var ge=(0,m.useRef)(null);(0,m.useEffect)((function(){if(U.current=A,A&&(ge.current=A),!j.highlightAnim)return re(A?1:0);A?le():(se(),ne>.5?ue():re(0))}),[A]);var fe=(0,m.useMemo)((function(){return Object.fromEntries(M.map((function(e){var n=Ut(e,V),t=M.map((function(e){return[e,b.Z(n,Ut(e,V))]}));return[e,Object.fromEntries(t)]})))}),[X]),pe=(0,m.useMemo)((function(){var e,n,t,r=null!==(e=q.current[null===(n=ge.current)||void 0===n?void 0:n.id])&&void 0!==e?e:[];return Object.fromEntries([null===(t=ge.current)||void 0===t?void 0:t.id].concat((0,i.Z)(r.flatMap((function(e){return _t(e)})))).map((function(e){return[e,{}]})))}),[JSON.stringify(A),ge.current,q.current]),xe=function(e){var n,t;n=null===(t=q.current[e])||void 0===t?void 0:t.length;return j.nodeColorScheme[B.current[e]%(j.nodeColorScheme.length-1)]},je=function(e,n){return q.current[e].length>q.current[n].length?xe(e):xe(n)},ve=(0,m.useMemo)((function(){return Ut(j.labelTextColor,V)}),[j.labelTextColor,X]),me=(0,m.useMemo)((function(){return Ut(j.labelBackgroundColor,V)}),[j.labelBackgroundColor,X]),ye=function(e){var n,t=null!==(n=q.current[e.id])&&void 0!==n?n:[],r=t.length?t.filter((function(e){return"parent"===e.type})).length:0,i=3+t.length*j.nodeSizeLinks-(g.parent?0:r);return 1===j.highlightNodeSize?i:i*(he[e.id]||pe[e.id]?1+ne*(j.highlightNodeSize-1):1)},Ce=(0,m.useState)(!1),Oe=Ce[0],we=Ce[1],ke=(0,m.useRef)(1),Se={graphData:O.nodeIds.length?K:J,width:D,height:L,backgroundColor:Ut(j.backgroundColor,V),warmupTicks:1===O.nodeIds.length?100:O.nodeIds.length>1?20:0,onZoom:function(e){var n=e.k;e.x,e.y;return ke.current=n},nodeColor:function(e){return function(e,n){var t,r,i=he[e.id]||pe[e.id];if(j.emacsNodeColor&&e.id===f)return Ut(j.emacsNodeColor,n);if(k&&null!==e&&void 0!==e&&e.tags.some((function(e){return k[e]}))){var o=k[null===e||void 0===e?void 0:e.tags.filter((function(e){return k[e]}))[0]];return i?fe[o][o](j.highlightFade*ne):fe[o][j.backgroundColor](j.highlightFade*ne)}return j.citeNodeColor&&null!==e&&void 0!==e&&null!==(t=e.properties)&&void 0!==t&&t.ROAM_REFS&&null!==e&&void 0!==e&&null!==(r=e.properties)&&void 0!==r&&r.FILELESS?i?Ut(j.citeNodeColor,n):fe[j.citeNodeColor][j.backgroundColor](j.highlightFade*ne):j.refNodeColor&&e.properties.ROAM_REFS?i?Ut(j.refNodeColor,n):fe[j.refNodeColor][j.backgroundColor](j.highlightFade*ne):i?j.nodeHighlight?fe[xe(e.id)][j.nodeHighlight](ne):Ut(xe(e.id),n):fe[xe(e.id)][j.backgroundColor](j.highlightFade*ne)}(e,V)},nodeRelSize:j.nodeRel,nodeVal:function(e){return ye(e)/Math.pow(ke.current,j.nodeZoomSize)},nodeCanvasObject:function(e,n,t){if(e&&!Oe&&j.labels){var r=pe[e.id];if(!(t<=j.labelScale||1===j.labels)||he[e.id]||r){var o=e.title,l=o.substring(0,j.labelLength),s=j.labelFontSize/(.75*Math.min(Math.max(.5,t),3)),c=[1.1*n.measureText(l).width,s].map((function(e){return e+.5*s})),a=Math.min(3*(t-j.labelScale)/j.labelScale,1),u=function(){return 1===j.labels||t<=j.labelScale?ne:he[e.id]||pe[e.id]?Math.max(a,ne):1*a*(-1*(j.highlightFade*ne-1))},d=8*Math.cbrt(ye(e)*j.nodeRel);if(j.labelBackgroundColor&&j.labelBackgroundOpacity){var h=u()*j.labelBackgroundOpacity,g=qt(me,h);n.fillStyle=g,n.fillRect.apply(n,[e.x-c[0]/2,e.y-c[1]/2+d].concat((0,i.Z)(c)))}var f=u();n.textAlign="center",n.textBaseline="middle";var p=qt(ve,f);n.fillStyle=p,n.font="".concat(s,"px Sans-Serif");var x=I()(l,{width:j.labelWordWrap}).split("\n");(o.length>j.labelLength?[].concat((0,i.Z)(x.slice(0,-1)),["".concat(x.slice(-1),"...")]):x).forEach((function(t,r){n.fillText(t,e.x,e.y+d+j.labelLineSpace*s*r)}))}}},nodeCanvasObjectMode:function(){return"after"},linkDirectionalParticles:j.particles?j.particlesNumber:void 0,linkDirectionalArrowLength:j.arrows?j.arrowsLength:void 0,linkDirectionalArrowRelPos:j.arrowsPos,linkDirectionalArrowColor:j.arrowsColor?function(){return Ut(j.arrowsColor,V)}:void 0,linkColor:function(e){var n,t="object"===typeof e.source?e.source.id:e.source,r="object"===typeof e.target?e.target.id:e.target,i=Xt(e,U.current),o=Xt(e,ge.current),l=i||o,s=e;return j.refLinkColor&&"ref"===s.type?l&&(j.refLinkHighlightColor||j.linkHighlight)?fe[j.refLinkColor][j.refLinkHighlightColor||j.linkHighlight](ne):fe[j.refLinkColor][j.backgroundColor](j.highlightFade*ne):j.citeLinkColor&&null!==(n=s.type)&&void 0!==n&&n.includes("cite")?l&&(j.citeLinkHighlightColor||j.linkHighlight)?fe[j.citeLinkColor][j.citeLinkHighlightColor||j.linkHighlight](ne):fe[j.citeLinkColor][j.backgroundColor](j.highlightFade*ne):function(e,n,t,r){if(!j.linkHighlight&&!j.linkColorScheme&&!t)return Ut(je(e,n),r);if(!t&&!j.linkColorScheme){var i=je(e,n);return fe[i][j.backgroundColor](j.highlightFade*ne)}return t?j.linkHighlight||j.linkColorScheme?j.linkHighlight?j.linkColorScheme?fe[j.linkColorScheme][j.linkHighlight](ne):fe[je(e,n)][j.linkHighlight](ne):Ut(j.linkColorScheme,r):Ut(je(e,n),r):fe[j.linkColorScheme][j.backgroundColor](j.highlightFade*ne)}(t,r,l,V)},linkWidth:function(e){if(1===j.highlightLinkSize)return j.linkWidth;var n=Xt(e,U.current),t=Xt(e,ge.current);return n||t?j.linkWidth*(1+ne*(j.highlightLinkSize-1)):j.linkWidth},linkDirectionalParticleWidth:j.particlesWidth,d3AlphaDecay:t.alphaDecay,d3AlphaMin:t.alphaMin,d3VelocityDecay:t.velocityDecay,onNodeClick:function(e,n){var t=e,r=n.timeStamp-$.current<200;if($.current=n.timeStamp,r)return _("double",t,n);var i=$.current;return setTimeout((function(){if($.current===i)return _("click",t,n)}),200)},onNodeHover:function(e){j.highlight&&(A||(de(),re(0)),W(e))},onNodeRightClick:function(e,n){_("right",e,n)},onNodeDrag:function(e){W(e),we(!0)},onNodeDragEnd:function(){W(null),we(!1)}};return(0,be.jsx)(h.xu,{overflow:"hidden",onClick:E.onClose,children:u?(0,be.jsx)(At,Bt(Bt({ref:n},Se),{},{nodeThreeObjectExtend:!0,nodeOpacity:j.nodeOpacity,nodeResolution:j.nodeResolution,linkOpacity:j.linkOpacity,nodeThreeObject:function(e){if(j.labels&&(!(j.labels<3)||he[e.id])){var n=new S.Z(e.title.substring(0,40));return n.color=Ut(j.labelTextColor,V),n.backgroundColor=Ut(j.labelBackgroundColor,V),n.padding=2,n.textHeight=8,n}}})):(0,be.jsx)(Ht,Bt(Bt({ref:n},Se),{},{linkLineDash:function(e){var n,t=e;return j.citeDashes&&null!==(n=t.type)&&void 0!==n&&n.includes("cite")?[j.citeDashLength,j.citeGapLength]:j.refDashes&&"ref"==t.type?[j.refDashLength,j.refGapLength]:null}}))})};function Xt(e,n){var t,r;return(null===(t=e.source)||void 0===t?void 0:t.id)===(null===n||void 0===n?void 0:n.id)||(null===(r=e.target)||void 0===r?void 0:r.id)===(null===n||void 0===n?void 0:n.id)}function _t(e){return["object"===typeof e.source?e.source.id:e.source,"object"===typeof e.target?e.target.id:e.target]}function Ut(e,n){return e.split(".").reduce((function(e,n){return e[n]}),n.colors)}function qt(e,n){return"rgba("+(e=e.replace("#","")).match(new RegExp("(.{"+e.length/3+"})","g")).map((function(n){return parseInt(e.length%2?n+n:n,16)})).concat(isFinite(n)?n:1).join(",")+")"}},45301:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/",function(){return t(64685)}])}},function(e){e.O(0,[774,737,13,874,573,446,1,888,179],(function(){return n=45301,e(e.s=n);var n}));var n=e.O();_N_E=n}]);