(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[405],{54530:function(e,n,t){"use strict";t.r(n),t.d(n,{Graph:function(){return Vt},GraphPage:function(){return Wt},default:function(){return Mt},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(47516),C=t(63750),O=t(22003),w=t(31122),k=t(7520),S=t(36194),P=[],N={};for(var D in S.oY)for(var I in S.oY[D]){var L=D+I;"LinearNone"===L&&(L="Linear"),P.push(L),N[L]=S.oY[D][I]}var z=N,E={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},Z={orphans:!1,dailies:!1,parent:"heading",filelessCites:!1,tagsBlacklist:[],tagsWhitelist:[],bad:!0,nodes:[],links:[],date:[],noter:!0},R={particles:!1,particlesNumber:0,particlesWidth:4,arrows:!1,arrowsLength:1,arrowsPos:.5,arrowsColor:"",linkOpacity:.8,linkWidth:1,nodeRel:3,nodeOpacity:1,nodeResolution:12,labels:2,labelScale:1.5,labelFontSize:10,labelLength:40,labelWordWrap:25,labelLineSpace:1,labelDynamicDegree:8,labelDynamicStrength:.5,highlight:!0,highlightNodeSize:1.1,highlightLinkSize:.7,highlightFade:.8,highlightAnim:!0,animationSpeed:360,algorithmOptions:P,algorithmName:"CircularOut",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.2},T={follow:"zoom",localSame:"add",zoomPadding:200,zoomSpeed:2e3},B={highlight:"hover",local:"double",follow:"never",context:"right",preview:"click",backgroundExitsLocal:!1},F={neighbors:1},H=["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"],A=t(11252),M=t(336),W=t(85675),V=t(72026),X=t(64115),_=t(49364),U=t(94030),q=t(46617),G=t(50862),J=t(68928),Q=t(55830),K=t(2827);function Y(e,n,t){t.send(JSON.stringify({command:e,data:n}))}function $(e,n){Y("open",{id:e.id},n)}var ee=t(85305),ne=t(77787),te=t(45987),re=t(80658),ie=t(38554),oe=t.n(ie),le=t(84461),se=t(73808),ce=t(53869),ae=t(39629);function ue(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 de(e){for(var n=1;n0},me={exit:{size:{duration:.2,ease:he.ease},opacity:{duration:.3,ease:he.ease}},enter:{size:{duration:.3,ease:he.ease},opacity:{duration:.4,ease:he.ease}}},ye={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 be(be({},r&&{opacity:ve(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:fe(me.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 be(be({},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:ge(me.enter,c)),t))}},Ce=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,te.Z)(e,xe),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,re.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:oe()(x,{enter:{overflow:"initial"},exit:r?void 0:{display:O?"block":"none"}})},k=!r||t,S=t||r?"enter":"exit";return(0,pe.jsx)(ce.M,{initial:!1,custom:w,children:k&&(0,pe.jsx)(ae.E.div,be(be({ref:n},j),{},{className:(0,le.cx)("chakra-collapse",f),style:be({overflow:"hidden",display:"block"},g),custom:w,variants:ye,initial:!!r&&"exit",animate:S,exit:"exit"}))})}));function Oe(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 we(e){for(var n=1;n-1,f=a.indexOf(s)>-1,p=(0,u.q)();return(0,pe.jsxs)(pe.Fragment,{children:[(0,pe.jsx)(A.sN,{icon:(0,pe.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,pe.jsx)(X.x,{children:"Change color"})}),(0,pe.jsx)(Ce,{in:p.isOpen,children:(0,pe.jsx)(g.k,{ml:2,mt:2,flexWrap:"wrap",children:H.map((function(e){return(0,pe.jsx)(h.xu,{children:(0,pe.jsx)(h.xu,{tabIndex:0,cursor:"pointer",onClick:function(){return n(we(we({},l),{},(0,o.Z)({},s,e)))},bgColor:e,m:1,borderRadius:"sm",height:3,width:3})},e)}))})}),!f&&(0,pe.jsx)(A.sN,{onClick:function(){t(d?function(e){return we(we({},e),{},{tagsBlacklist:e.tagsBlacklist.filter((function(e){return e!==s}))})}:function(e){return we(we({},e),{},{tagsBlacklist:[].concat((0,i.Z)(e.tagsBlacklist),[s])})})},icon:d?(0,pe.jsx)(ee.V,{}):(0,pe.jsx)(ne.t,{}),children:d?"Remove from blacklist":"Add to blacklist"}),!d&&(0,pe.jsx)(A.sN,{onClick:function(){t(f?function(e){return we(we({},e),{},{tagsWhitelist:e.tagsWhitelist.filter((function(e){return e!==s}))})}:function(e){return we(we({},e),{},{tagsWhitelist:[].concat((0,i.Z)(e.tagsWhitelist),[s])})})},icon:f?(0,pe.jsx)(ee.V,{}):(0,pe.jsx)(Q.O,{}),children:f?"Remove from whitelist":"Add to whitelist"})]})},Se=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,pe.jsxs)(pe.Fragment,{children:[(0,pe.jsx)(A.v2,{defaultIsOpen:!0,closeOnBlur:!1,onClose:function(){return l()},children:(0,pe.jsx)(A.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,pe.jsxs)(pe.Fragment,{children:[r&&(0,pe.jsxs)(pe.Fragment,{children:[(0,pe.jsx)(M.X,{size:"xs",isTruncated:!0,px:3,py:1,children:r.title}),(0,pe.jsx)(A.R,{borderColor:"gray.500"})]}),0!==s.nodeIds.length&&(0,pe.jsxs)(pe.Fragment,{children:[(0,pe.jsx)(A.sN,{onClick:function(){return o(r,"add")},icon:(0,pe.jsx)(U.I,{}),children:"Expand local graph at node"}),(0,pe.jsx)(A.sN,{onClick:function(){return o(r,"replace")},icon:(0,pe.jsx)(y.DvO,{}),children:"Open local graph for this node"})]}),null!==r&&void 0!==r&&null!==(n=r.properties)&&void 0!==n&&n.FILELESS?(0,pe.jsx)(A.sN,{icon:(0,pe.jsx)(G.d,{}),onClick:function(){return function(e,n){Y("create",{id:e.id,title:e.title,ref:e.properties.ROAM_REFS},n)}(r,c)},children:"Create node"}):(0,pe.jsx)(A.sN,{icon:(0,pe.jsx)(q.d,{}),onClick:function(){return $(r,c)},children:"Open in Emacs"}),(null===r||void 0===r||null===(t=r.properties)||void 0===t?void 0:t.ROAM_REFS)&&(0,pe.jsx)(A.sN,{icon:(0,pe.jsx)(J.h,{}),children:"Open in Zotero"}),0===s.nodeIds.length&&(0,pe.jsx)(A.sN,{icon:(0,pe.jsx)(y.DvO,{}),onClick:function(){return o(r,"replace")},children:"Open local graph"}),(0,pe.jsx)(A.sN,{icon:(0,pe.jsx)(Q.O,{}),onClick:function(){a(r)},children:"Preview"}),0===(null===r||void 0===r?void 0:r.level)&&(0,pe.jsx)(A.sN,{closeOnSelect:!1,icon:(0,pe.jsx)(K.p,{color:"red.500"}),color:"red.500",onClick:j,children:"Permenantly delete note"})]}):(0,pe.jsx)(ke,{target:r,tagColors:h,filter:f,setTagColors:d,setFilter:g})})}),"string"!==typeof r&&(0,pe.jsxs)(W.u_,{isCentered:!0,isOpen:x,onClose:b,children:[(0,pe.jsx)(W.ZA,{}),(0,pe.jsxs)(W.hz,{zIndex:"popover",children:[(0,pe.jsx)(W.xB,{children:"Delete node?"}),(0,pe.jsx)(W.ol,{}),(0,pe.jsx)(W.fe,{children:(0,pe.jsxs)(V.gC,{spacing:4,display:"flex",alignItems:"flex-start",children:[(0,pe.jsx)(X.x,{children:"This will permanently delete your note:"}),(0,pe.jsx)(X.x,{fontWeight:"bold",children:null===r||void 0===r?void 0:r.title}),0!==(null===r||void 0===r?void 0:r.level)&&(0,pe.jsx)(X.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,pe.jsx)(X.x,{children:"Are you sure you want to do continue?"})]})}),(0,pe.jsxs)(W.mz,{children:[(0,pe.jsx)(_.z,{mr:3,onClick:function(){console.log("closing"),b(),l()},children:"Cancel"}),(0,pe.jsx)(_.z,{variant:"link",colorScheme:"red",ml:3,onClick:function(){console.log("aaaaa"),function(e,n){0===e.level&&Y("delete",{id:e.id,file:e.file},n)}(r,c),b(),l()},children:"Delete node"})]})]})]})]})},Pe=t(67101),Ne=t(35255),De=t(56884),Ie=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,pe.jsxs)(g.k,{flex:"0 1 40px",pb:3,alignItems:"center",justifyContent:"space-between",pl:1,pr:1,children:[(0,pe.jsx)(g.k,{children:(0,pe.jsxs)(Pe.h,{isAttached:!0,children:[(0,pe.jsx)(f.u,{label:"Go backward",children:(0,pe.jsx)(p.h,{variant:"subtle",icon:(0,pe.jsx)(Ne.w,{}),"aria-label":"Previous node",disabled:!r,onClick:function(){return o()}})}),(0,pe.jsx)(f.u,{label:"Go forward",children:(0,pe.jsx)(p.h,{variant:"subtle",icon:(0,pe.jsx)(De.X,{}),"aria-label":"Next node",disabled:!i,onClick:function(){return l()}})})]})}),(0,pe.jsx)(g.k,{children:(0,pe.jsx)(f.u,{label:"Justify content",children:(0,pe.jsx)(p.h,{variant:"subtle","aria-label":"Justify content",icon:[(0,pe.jsx)(y.v9V,{},"justify"),(0,pe.jsx)(y.YSr,{},"left"),(0,pe.jsx)(y.RXA,{},"right"),(0,pe.jsx)(y.tr_,{},"center")][t],onClick:function(){return n((function(e){return(e+1)%4}))}})})})]})},Le=t(35528);function ze(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 Ee(e){for(var n=1;n2&&void 0!==arguments[2]?arguments[2]:{},i=kn(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)?On(On({},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 kn(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 Sn=["style"];function Pn(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 Nn(e){for(var n=1;n1,animateOpacity:!0,children:[(0,pe.jsx)(h.xu,{paddingTop:2,children:(0,pe.jsx)(qn,{label:"Label Appearance Scale",value:2*n.labelScale,onChange:function(e){return t(bt(bt({},n),{},{labelScale:e/2}))}})}),(0,pe.jsxs)(h.xu,{paddingTop:2,children:[(0,pe.jsx)(qn,{label:"Label dynamicity",infoText:"By default, labels of nodes with more links will appear earlier than those with fewer. This slider changes the strength of this effect, put it at zero to disable it.",value:n.labelDynamicStrength,min:0,max:1,step:.05,onChange:function(e){return t((function(n){return bt(bt({},n),{},{labelDynamicStrength:e})}))}}),(0,pe.jsx)(Kn.U,{in:n.labelDynamicStrength>0,children:(0,pe.jsx)(qn,{label:"Dynamic zoom degree cap",infoText:"By default, labels of nodes with more links will appear earlier than those with fewer. This slider changes the strength of this effect, put it at zero to disable it.",value:n.labelDynamicDegree,min:1,max:15,step:1,onChange:function(e){return t((function(n){return bt(bt({},n),{},{labelDynamicDegree:e})}))}})})]})]}),(0,pe.jsx)(ut,{colorList:H,label:"Text",setVisuals:t,value:"labelTextColor",visValue:n.labelTextColor}),(0,pe.jsxs)(h.xu,{children:[(0,pe.jsx)(ut,{colorList:H,label:"Background",setVisuals:t,value:"labelBackgroundColor",visValue:n.labelBackgroundColor}),(0,pe.jsx)(Kn.U,{in:!!n.labelBackgroundColor,animateOpacity:!0,children:(0,pe.jsx)(h.xu,{paddingTop:2,children:(0,pe.jsx)(qn,{label:"Background opacity",value:n.labelBackgroundOpacity,onChange:function(e){console.log(n.labelBackgroundOpacity),t(bt(bt({},n),{},{labelBackgroundOpacity:e}))},min:0,max:1,step:.01})})})]}),(0,pe.jsx)(qn,{label:"Label font size",value:n.labelFontSize,min:5,max:20,step:.5,onChange:function(e){return t(bt(bt({},n),{},{labelFontSize:e}))}}),(0,pe.jsx)(qn,{label:"Max. label characters",value:n.labelLength,min:10,max:100,step:1,onChange:function(e){return t(bt(bt({},n),{},{labelLength:e}))}}),(0,pe.jsx)(qn,{label:"Max. label line length",value:n.labelWordWrap,min:10,max:100,step:1,onChange:function(e){return t(bt(bt({},n),{},{labelWordWrap:e}))}}),(0,pe.jsx)(qn,{label:"Space between label lines",value:n.labelLineSpace,min:.2,max:3,step:.1,onChange:function(e){return t(bt(bt({},n),{},{labelLineSpace:e}))}})]})};function mt(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 yt(e){for(var n=1;ng.labelLength?[].concat((0,i.Z)(z.slice(0,-1)),["".concat(z.slice(-1),"...")]):z,Z=[v,m].includes(c.id)?1+.3*f:1;E.forEach((function(e,n){a.fillText(e,c.x,c.y+Z*S*8+g.labelLineSpace*P*n)}))}}}function Tt(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 Bt(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=ze.current,s=Te.current,c=Be.current,a=null!==(t=De.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&&w({nodeIds:[]}),void setTimeout((function(){return l.zoomToFit(r,o,(function(e){return u[e.id]}))}),50);if(!s.nodeIds.length)return w({nodeIds:[n]}),void setTimeout((function(){l.centerAt(0,0,10),l.zoomToFit(1,o)}),50);if("add"!==c.localSame)return w({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 w({nodeIds:[n]}),void setTimeout((function(){l.centerAt(0,0,10),l.zoomToFit(1,o)}),50);w((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(){Fe.current=new O.Z("ws://localhost:35903"),Fe.current.addEventListener("open",(function(){console.log("Connection with Emacs established")})),Fe.current.addEventListener("message",(function(e){var n=Be.current,t=JSON.parse(e.data);switch(t.type){case"graphdata":return function(e){var n,t,r,s=Ne.current;Le.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"}})):[]}));Ne.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 Ne.current[n]?Ne.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"}))}));Ne.current=Bt(Bt({},Ne.current),Object.fromEntries(f.map((function(e){return[e.id,e]})))),De.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);Ie.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=Ze.current;if(0===b.nodes.length){var v=JSON.parse(JSON.stringify(j));return Ze.current=v,void U(v)}var m=[].concat((0,i.Z)(b.nodes.flatMap((function(e){var n,t=null!==(n=Ne.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(Ne.current).filter((function(e){return!s[e]})).map((function(e){return Ne.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]]})}));U({nodes:m,links:C})}(t.data);case"variables":return console.log(t.data),void(Ee.current=t.data);case"theme":return Re(["custom",t.data]);case"command":switch(t.data.commandName){case"local":var r=Y.zoomSpeed,s=Y.zoomPadding;He("local",t.data.id,r,s),J(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;He("zoom",t.data.id,u,d),J(t.data.id);break;case"follow":He(n.follow,t.data.id,n.zoomSpeed,n.zoomPadding),J(t.data.id);break;default:return console.error("unknown message type",t.type)}}}))}),[]),(0,m.useEffect)((function(){var e=ze.current;!e||v.nodeIds.length>1||(v.nodeIds.length||!N.gravityOn?setTimeout((function(){e.zoomToFit(5,200)}),50):e.zoomToFit())}),[v.nodeIds]);var Ae=(0,j.iP)(),Me=(0,l.Z)(Ae,2),We=Me[0],Ve=Me[1],Xe=(0,m.useRef)(),_e=(0,m.useState)(null),Ue=_e[0],qe=_e[1],Ge=(0,m.useState)({left:0,top:0,right:void 0,bottom:void 0}),Je=Ge[0],Qe=Ge[1],Ke=(0,u.q)();(0,d.O)({ref:Xe,handler:function(){Ke.onClose()}});var Ye=function(e,n,t){Qe(t||{left:n.pageX,top:n.pageY,right:void 0,bottom:void 0}),qe(e),Ke.onOpen()},$e=function(e,n){"replace"!==n?v.nodeIds.includes(e.id)||w((function(n){return Bt(Bt({},n),{},{nodeIds:[].concat((0,i.Z)(n.nodeIds),[e.id])})})):w({nodeIds:[e.id]})},nn=(0,m.useState)({type:"Graph",title:"Graph",icon:(0,pe.jsx)(y.DvO,{})}),tn=(nn[0],nn[1],wn("mainWindowWidth",We)),rn=(0,l.Z)(tn,2),on=rn[0],ln=rn[1];return(0,pe.jsxs)(h.xu,{display:"flex",alignItems:"flex-start",flexDirection:"row",height:"100vh",overflow:"clip",children:[(0,pe.jsx)(zt,{physics:N,setPhysics:D,threeDim:t,setThreeDim:r,filter:z,setFilter:H,visuals:W,setVisuals:V,mouse:te,setMouse:re,behavior:Y,setBehavior:$,tagColors:a,setTagColors:x,local:le,setLocal:se,tags:Le.current}),(0,pe.jsx)(h.xu,{position:"absolute",children:_&&(0,pe.jsx)(Vt,{nodeById:Ne.current,linksByNodeId:De.current,webSocket:Fe.current,variables:Ee.current,physics:N,graphData:_,threeDim:t,emacsNodeId:G,filter:z,visuals:W,behavior:Y,mouse:te,scope:v,setScope:w,tagColors:a,setPreviewNode:he,sidebarHighlightedNode:ye,windowWidth:We,windowHeight:Ve,openContextMenu:Ye,contextMenu:Ke,handleLocal:$e,mainWindowWidth:on,setMainWindowWidth:ln,setContextMenuTarget:qe,graphRef:ze,local:le})}),(0,pe.jsx)(h.xu,{position:"relative",zIndex:4,width:"100%",children:(0,pe.jsx)(g.k,{className:"headerBar",h:10,flexDir:"column",children:(0,pe.jsx)(g.k,{alignItems:"center",h:10,justifyContent:"flex-end",children:(0,pe.jsxs)(g.k,{height:"100%",flexDirection:"row",children:[v.nodeIds.length>0&&(0,pe.jsx)(f.u,{label:"Return to main graph",children:(0,pe.jsx)(p.h,{m:1,icon:(0,pe.jsx)(y.DvO,{}),"aria-label":"Exit local mode",onClick:function(){return w((function(e){return Bt(Bt({},e),{},{nodeIds:[]})}))},variant:"subtle"})}),(0,pe.jsx)(f.u,{label:we?"Close sidebar":"Open sidebar",children:(0,pe.jsx)(p.h,{m:1,icon:(0,pe.jsx)(C.iBV,{}),"aria-label":"Close file-viewer",variant:"subtle",onClick:we?Pe:ke})})]})})})}),(0,pe.jsx)(h.xu,{position:"relative",zIndex:4,children:(0,pe.jsx)(Dn,{isOpen:we,onOpen:ke,onClose:Pe,previewNode:ve,setPreviewNode:he,canUndo:je,canRedo:be,previousPreviewNode:fe,nextPreviewNode:xe,resetPreviewNode:ge,setSidebarHighlightedNode:Ce,openContextMenu:Ye,scope:v,setScope:w,windowWidth:We,tagColors:a,setTagColors:x,filter:z,setFilter:H,nodeById:Ne.current,linksByNodeId:De.current,nodeByCite:Ie.current})}),Ke.isOpen&&(0,pe.jsx)("div",{ref:Xe,children:(0,pe.jsx)(Se,{scope:v,target:Ue,background:!1,coordinates:Je,handleLocal:$e,menuClose:Ke.onClose.bind(Ke),webSocket:Fe.current,setPreviewNode:he,setFilter:H,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,C=e.scope,O=e.local,k=(e.setScope,e.webSocket),S=e.tagColors,P=e.setPreviewNode,N=e.sidebarHighlightedNode,D=e.windowWidth,I=e.windowHeight,L=(e.setContextMenuTarget,e.openContextMenu),E=e.contextMenu,Z=e.handleLocal,R=e.variables,T=R.dailyDir,B=(R.roamDir,(0,m.useState)(null)),F=B[0],A=B[1],M=(0,a.useTheme)(),W=(0,m.useContext)(en.N).emacsTheme,V=function(e,n,t){switch(e){case y.preview:P(n);break;case y.local:Z(n,v.localSame);break;case y.follow:$(n,k);break;case y.context:L(n,t)}},X=(0,m.useRef)(null);(0,m.useEffect)((function(){f&&A(p[f])}),[f]);var _=(0,m.useRef)({}),U=(0,m.useRef)({}),q=(0,m.useMemo)((function(){var e;U.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&&T&&null!==(r=l.file)&&void 0!==r&&r.includes(T)?(U.current=Bt(Bt({},U.current),{},(0,o.Z)({},l.id,l)),!1):!g.noter||null===(i=l.properties)||void 0===i||!i.NOTER_PAGE||(U.current=Bt(Bt({},U.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!U.current[e.source]&&!U.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)}));return _.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))}),{}),{nodes:n,links:r}}),[g,s]),G=(0,m.useState)({nodes:[],links:[]}),J=G[0],Q=G[1];(0,m.useEffect)((function(){if(C.nodeIds.length){var e=C.nodeIds.length>1?J.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=_.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}(C.nodeIds,O.neighbors),r=q.nodes.filter((function(r){var i;return e.length?!n.includes(r.id)&&(null!==(i=_.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 C.nodeIds.includes(r)||C.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=C.nodeIds.length>1?J.links:[],a=q.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));Q({nodes:o,links:u})}}),[O.neighbors,g,C,JSON.stringify(s),q.links,q.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||C.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,C]),(0,m.useEffect)((function(){var e;null===(e=n.current)||void 0===e||e.d3ReheatSimulation()}),[t,C.nodeIds.length]);var K=(0,m.useRef)(0),Y=(0,m.useState)(1),ee=Y[0],ne=Y[1],te=(0,x._7)((function(e){return ne(e)}),{duration:j.animationSpeed,algorithm:z[j.algorithmName]}),re=(0,l.Z)(te,2),ie=re[0],oe=re[1],le=(0,x._7)((function(e){return ne(Math.min(ee,-1*(e-1)))}),{duration:j.animationSpeed,algorithm:z[j.algorithmName]}),se=(0,l.Z)(le,2),ce=se[0],ae=se[1],ue=(0,m.useMemo)((function(){var e;if(!X.current)return{};var n=_.current[X.current.id];return n?Object.fromEntries([null===(e=X.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(X.current),JSON.stringify(_.current)]);(0,m.useEffect)((function(){null!==N&&void 0!==N&&N.id?A(N):A(null)}),[N]);var de=(0,m.useRef)(null);(0,m.useEffect)((function(){if(X.current=F,F&&(de.current=F),!j.highlightAnim)return ne(F?1:0);F?ie():(oe(),ee>.5?ce():ne(0))}),[F]);var he=(0,m.useMemo)((function(){return Object.fromEntries(H.map((function(e){var n=Ut(e,M),t=H.map((function(e){return[e,b.Z(n,Ut(e,M))]}));return[e,Object.fromEntries(t)]})))}),[W]),ge=(0,m.useMemo)((function(){var e,n,t,r=null!==(e=_.current[null===(n=de.current)||void 0===n?void 0:n.id])&&void 0!==e?e:[];return Object.fromEntries([null===(t=de.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(F),de.current,_.current]),fe=function(e){var n,t,r,i,o,l=null!==(n=null===(t=_.current[e])||void 0===t?void 0:t.length)&&void 0!==n?n:0;return j.nodeColorScheme[(r=l,i=0,o=j.nodeColorScheme.length-1,Math.min(Math.max(r,i),o))]},xe=function(e,n){return _.current[e].length>_.current[n].length?fe(e):fe(n)},je=(0,m.useMemo)((function(){return Ut(j.labelTextColor,M)}),[j.labelTextColor,W]),be=(0,m.useMemo)((function(){return Ut(j.labelBackgroundColor,M)}),[j.labelBackgroundColor,W]),ve=function(e){var n,t=null!==(n=_.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*(ue[e.id]||ge[e.id]?1+ee*(j.highlightNodeSize-1):1)},me=(0,m.useState)(!1),ye=me[0],Ce=me[1],Oe=(0,m.useRef)(1),we={graphData:C.nodeIds.length?J:q,width:D,height:I,backgroundColor:Ut(j.backgroundColor,M),warmupTicks:1===C.nodeIds.length?100:C.nodeIds.length>1?20:0,onZoom:function(e){var n=e.k;e.x,e.y;return Oe.current=n},nodeColor:function(e){return function(e,n){var t,r,i=ue[e.id]||ge[e.id];if(j.emacsNodeColor&&e.id===f)return Ut(j.emacsNodeColor,n);if(S&&null!==e&&void 0!==e&&e.tags.some((function(e){return S[e]}))){var o=S[null===e||void 0===e?void 0:e.tags.filter((function(e){return S[e]}))[0]];return i?he[o][o](j.highlightFade*ee):he[o][j.backgroundColor](j.highlightFade*ee)}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):he[j.citeNodeColor][j.backgroundColor](j.highlightFade*ee):j.refNodeColor&&e.properties.ROAM_REFS?i?Ut(j.refNodeColor,n):he[j.refNodeColor][j.backgroundColor](j.highlightFade*ee):i?j.nodeHighlight?he[fe(e.id)][j.nodeHighlight](ee):Ut(fe(e.id),n):he[fe(e.id)][j.backgroundColor](j.highlightFade*ee)}(e,M)},nodeRelSize:j.nodeRel,nodeVal:function(e){return ve(e)/Math.pow(Oe.current,j.nodeZoomSize)},nodeCanvasObject:function(e,n,t){Rt(Bt({nodeRel:j.nodeRel,filteredLinksByNodeId:_.current,lastHoverNode:de.current},{node:e,ctx:n,globalScale:t,highlightedNodes:ue,previouslyHighlightedNodes:ge,visuals:j,opacity:ee,nodeSize:ve,labelTextColor:je,labelBackgroundColor:be,hoverNode:F}))},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,M)}: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,X.current),o=Xt(e,de.current),l=i||o,s=e;return j.refLinkColor&&"ref"===s.type?l&&(j.refLinkHighlightColor||j.linkHighlight)?he[j.refLinkColor][j.refLinkHighlightColor||j.linkHighlight](ee):he[j.refLinkColor][j.backgroundColor](j.highlightFade*ee):j.citeLinkColor&&null!==(n=s.type)&&void 0!==n&&n.includes("cite")?l&&(j.citeLinkHighlightColor||j.linkHighlight)?he[j.citeLinkColor][j.citeLinkHighlightColor||j.linkHighlight](ee):he[j.citeLinkColor][j.backgroundColor](j.highlightFade*ee):function(e,n,t,r){if(!j.linkHighlight&&!j.linkColorScheme&&!t)return Ut(xe(e,n),r);if(!t&&!j.linkColorScheme){var i=xe(e,n);return he[i][j.backgroundColor](j.highlightFade*ee)}return t?j.linkHighlight||j.linkColorScheme?j.linkHighlight?j.linkColorScheme?he[j.linkColorScheme][j.linkHighlight](ee):he[xe(e,n)][j.linkHighlight](ee):Ut(j.linkColorScheme,r):Ut(xe(e,n),r):he[j.linkColorScheme][j.backgroundColor](j.highlightFade*ee)}(t,r,l,M)},linkWidth:function(e){if(1===j.highlightLinkSize)return j.linkWidth;var n=Xt(e,X.current),t=Xt(e,de.current);return n||t?j.linkWidth*(1+ee*(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-K.current<200;if(K.current=n.timeStamp,r)return V("double",t,n);var i=K.current;return setTimeout((function(){if(K.current===i)return V("click",t,n)}),200)},onNodeHover:function(e){j.highlight&&(ye||(F||(ae(),ne(0)),A(e)))},onNodeRightClick:function(e,n){V("right",e,n)},onNodeDrag:function(e){A(e),Ce(!0)},onNodeDragEnd:function(){A(null),Ce(!1)}};return(0,pe.jsx)(h.xu,{overflow:"hidden",onClick:E.onClose,children:u?(0,pe.jsx)(At,Bt(Bt({ref:n},we),{},{nodeThreeObjectExtend:!0,nodeOpacity:j.nodeOpacity,nodeResolution:j.nodeResolution,linkOpacity:j.linkOpacity,nodeThreeObject:function(e){if(j.labels&&(!(j.labels<3)||ue[e.id])){var n=new w.Z(e.title.substring(0,40));return n.color=Ut(j.labelTextColor,M),n.backgroundColor=Ut(j.labelBackgroundColor,M),n.padding=2,n.textHeight=8,n}}})):(0,pe.jsx)(Ht,Bt(Bt({ref:n},we),{},{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(54530)}])}},function(e){e.O(0,[774,737,13,874,573,446,816,888,179],(function(){return n=45301,e(e.s=n);var n}));var n=e.O();_N_E=n}]);