From 65090cce57180c5492b30f62375879d616202411 Mon Sep 17 00:00:00 2001 From: "Thomas F. K. Jorna" Date: Tue, 3 Aug 2021 18:30:47 +0200 Subject: fix: fixed filtering with citation nodes --- components/config.ts | 2 +- components/tweaks.tsx | 1 + out/404.html | 6 +++--- .../static/2giOJ1nmT-CM3zCDwFm5_/_buildManifest.js | 1 + .../static/2giOJ1nmT-CM3zCDwFm5_/_ssgManifest.js | 1 + .../static/chunks/pages/index-45f2a558d86856abeaa9.js | 1 - .../static/chunks/pages/index-9893d4710094df6598ce.js | 1 + .../static/zMdEAFWLCg5pI2rbcMn9E/_buildManifest.js | 1 - .../static/zMdEAFWLCg5pI2rbcMn9E/_ssgManifest.js | 1 - out/index.html | 8 ++++---- pages/index.tsx | 19 +++++++++++++------ 11 files changed, 25 insertions(+), 17 deletions(-) create mode 100644 out/_next/static/2giOJ1nmT-CM3zCDwFm5_/_buildManifest.js create mode 100644 out/_next/static/2giOJ1nmT-CM3zCDwFm5_/_ssgManifest.js delete mode 100644 out/_next/static/chunks/pages/index-45f2a558d86856abeaa9.js create mode 100644 out/_next/static/chunks/pages/index-9893d4710094df6598ce.js delete mode 100644 out/_next/static/zMdEAFWLCg5pI2rbcMn9E/_buildManifest.js delete mode 100644 out/_next/static/zMdEAFWLCg5pI2rbcMn9E/_ssgManifest.js diff --git a/components/config.ts b/components/config.ts index db450d7..daf548c 100644 --- a/components/config.ts +++ b/components/config.ts @@ -93,7 +93,7 @@ export const initialVisuals = { refDashLength: 35, refGapLength: 15, refLinkColor: 'gray.400', - refLinkHighlightColor: ''. + refLinkHighlightColor: '', refNodeColor: 'black', } diff --git a/components/tweaks.tsx b/components/tweaks.tsx index 8456766..e23476e 100644 --- a/components/tweaks.tsx +++ b/components/tweaks.tsx @@ -821,6 +821,7 @@ export const Tweaks = (props: TweakProps) => { setVisuals={setVisuals} value={'refLinkColor'} visValue={visuals.refLinkColor} + /> - - + +
@@ -753,7 +753,7 @@ "props": { "pageProps": { "statusCode": 404 } }, "page": "/_error", "query": {}, - "buildId": "zMdEAFWLCg5pI2rbcMn9E", + "buildId": "2giOJ1nmT-CM3zCDwFm5_", "nextExport": true, "isFallback": false, "gip": true, diff --git a/out/_next/static/2giOJ1nmT-CM3zCDwFm5_/_buildManifest.js b/out/_next/static/2giOJ1nmT-CM3zCDwFm5_/_buildManifest.js new file mode 100644 index 0000000..faf3866 --- /dev/null +++ b/out/_next/static/2giOJ1nmT-CM3zCDwFm5_/_buildManifest.js @@ -0,0 +1 @@ +self.__BUILD_MANIFEST={__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":["static/chunks/fb7d5399-0d6001c72a29ebec41eb.js","static/chunks/d25bd147-2c59edc357c0e2372258.js","static/chunks/13-b599b309c84d7675574b.js","static/chunks/pages/index-9893d4710094df6598ce.js"],"/_error":["static/chunks/pages/_error-f5e67a79c709c2df06b8.js"],sortedPages:["/","/_app","/_error"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/out/_next/static/2giOJ1nmT-CM3zCDwFm5_/_ssgManifest.js b/out/_next/static/2giOJ1nmT-CM3zCDwFm5_/_ssgManifest.js new file mode 100644 index 0000000..0511aa8 --- /dev/null +++ b/out/_next/static/2giOJ1nmT-CM3zCDwFm5_/_ssgManifest.js @@ -0,0 +1 @@ +self.__SSG_MANIFEST=new Set,self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB(); \ No newline at end of file diff --git a/out/_next/static/chunks/pages/index-45f2a558d86856abeaa9.js b/out/_next/static/chunks/pages/index-45f2a558d86856abeaa9.js deleted file mode 100644 index a1ebe2a..0000000 --- a/out/_next/static/chunks/pages/index-45f2a558d86856abeaa9.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[405],{374:function(e,n,t){"use strict";t.r(n),t.d(n,{Graph:function(){return Ce},GraphPage:function(){return be},default:function(){return ve}});var r=t(809),i=t.n(r),o=t(92447),l=t(85893),s=t(59999),a=t(26265),c=t(64121),u=t(67294);function d(e,n){var t,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=h(e,null!==(t=r.storage)&&void 0!==t?t:localStorage),o=i.get(),l=void 0!==o?o:n;l!==o&&i.update(l);var s=(0,u.useState)(l),a=s[0],c=s[1];(0,u.useEffect)((function(){a!==l&&c(l)}),[e]);var d=function(e){e instanceof Function?c((function(n){var t=e(n);return i.update(t),t})):(c(e),i.update(e))};return[a,d]}function h(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 g=t(54533),f=t(54309),x=t(20233),p=t(40980),j=t(48017),m=t(36194),v=[],b={};for(var C in m.oY)for(var y in m.oY[C]){var k=C+y;"LinearNone"===k&&(k="Linear"),v.push(k),b[k]=m.oY[C][y]}var w=b,S={enabled:!0,charge:-700,collision:!0,collisionStrength:20,centering:!0,centeringStrength:.05,linkStrength:.1,linkIts:1,alphaDecay:.02,alphaTarget:0,alphaMin:0,velocityDecay:.25,gravity:.3,gravityOn:!0},I={orphans:!1,parents:!0,tagsBlacklist:[],tagsWhitelist:[],nodes:[],links:[],date:[]},O={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.5,highlight:!0,highlightNodeSize:2,highlightLinkSize:2,highlightAnim:!0,animationSpeed:700,algorithmOptions:v,algorithmName:"BackOut",linkColorScheme:"gray.500",nodeColorScheme:["red.500","gray.600","yellow.500","green.500","cyan.500","blue.500","pink.500","purple.500","orange.500"],nodeHighlight:"",linkHighlight:"purple.500",backgroundColor:"white",emacsNodeColor:"gray.800",labelTextColor:"black",labelBackgroundColor:"white",labelBackgroundOpacity:.7,citeDashes:!0,citeDashLength:35,citeGapLength:15,citeLinkColor:"gray.600",citeLinkHighlightColor:"",citeNodeColor:"black"},N={follow:"zoom",localSame:"add",zoomPadding:200,zoomSpeed:2e3},L={highlight:"hover",local:"click",follow:"double"},z=t(38347),T=t(93924),R=t(83986),D=t(48931),P=t(67546),H=t(93441),Z=t(6569),E=t(24189),B=t(2827),F=t(90454),A=t(48420),V=t(96699),M=t(40155),W=t(56769),X=t(336),_=t(72026),U=t(94096),Q=t(64115),q=t(88134),K=t(48235),G=t(67273),J=t(15267),Y=t(46049),$=t(95818),ee=t(47647),ne=t(86658),te=t(29356);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 ie(e){for(var n=1;n0,animateOpacity:!0,children:(0,l.jsxs)(_.gC,{spacing:1,justifyContent:"flex-start",divider:(0,l.jsx)(_.cX,{borderColor:"gray.400"}),align:"stretch",paddingLeft:2,color:"gray.800",children:[(0,l.jsx)(ce,{colorList:$,label:"Text",visuals:d,setVisuals:h,value:"labelTextColor",visValue:d.labelTextColor}),(0,l.jsx)(ce,{colorList:$,label:"Text",visuals:d,setVisuals:h,value:"labelBackgroundColor",visValue:d.labelBackgroundColor}),(0,l.jsx)(J.U,{in:!!d.labelBackgroundColor,animateOpacity:!0,children:(0,l.jsx)(j.xu,{paddingTop:2,children:(0,l.jsx)(se,{label:"Background opacity",value:d.labelBackgroundOpacity,onChange:function(e){console.log(d.labelBackgroundOpacity),h(ie(ie({},d),{},{labelBackgroundOpacity:e}))},min:0,max:1,step:.01})})}),(0,l.jsx)(J.U,{in:d.labels>1,animateOpacity:!0,children:(0,l.jsx)(j.xu,{paddingTop:2,children:(0,l.jsx)(se,{label:"Label Appearance Scale",value:5*d.labelScale,onChange:function(e){return h(ie(ie({},d),{},{labelScale:e/5}))}})})})]})})]}),(0,l.jsxs)(ae,{label:"Link arrows",value:d.arrows,onChange:function(){return h(ie(ie({},d),{},{arrows:!d.arrows}))},children:[(0,l.jsx)(se,{label:"Arrow size",value:d.arrowsLength/10,onChange:function(e){return h(ie(ie({},d),{},{arrowsLength:10*e}))}}),(0,l.jsx)(se,{label:"Arrow Position",value:d.arrowsPos,min:0,max:1,step:.01,onChange:function(e){return h(ie(ie({},d),{},{arrowsPos:e}))}}),(0,l.jsx)(ce,{colorList:$,label:"Arrow Color",visuals:d,setVisuals:h,value:"arrowsColor",visValue:d.arrowsColor})]}),(0,l.jsxs)(ae,{label:"Directional Particles",value:d.particles,onChange:function(){return h(ie(ie({},d),{},{particles:!d.particles}))},children:[(0,l.jsx)(se,{label:"Particle Number",value:d.particlesNumber,max:5,step:1,onChange:function(e){return h(ie(ie({},d),{},{particlesNumber:e}))}}),(0,l.jsx)(se,{label:"Particle Size",value:d.particlesWidth,onChange:function(e){return h(ie(ie({},d),{},{particlesWidth:e}))}})]}),(0,l.jsx)(ae,{label:"Highlight",onChange:function(){return h(ie(ie({},d),{},{highlight:!d.highlight}))},value:d.highlight,children:(0,l.jsxs)(_.gC,{spacing:1,justifyContent:"flex-start",divider:(0,l.jsx)(_.cX,{borderColor:"gray.400"}),align:"stretch",paddingLeft:0,children:[(0,l.jsx)(se,{label:"Highlight Link Thickness",value:d.highlightLinkSize,onChange:function(e){return h(ie(ie({},d),{},{highlightLinkSize:e}))}}),(0,l.jsx)(se,{label:"Highlight Node Size",value:d.highlightNodeSize,onChange:function(e){return h(ie(ie({},d),{},{highlightNodeSize:e}))}}),(0,l.jsxs)(ae,{label:"Highlight Animation",onChange:function(){h(ie(ie({},d),{},{highlightAnim:!d.highlightAnim}))},value:d.highlightAnim,children:[(0,l.jsx)(se,{label:"Animation speed",onChange:function(e){return h(ie(ie({},d),{},{animationSpeed:e}))},value:d.animationSpeed,infoText:"Slower speed has a chance of being buggy",min:50,max:1e3,step:10}),(0,l.jsx)(Y.Ph,{placeholder:d.algorithmName,onChange:function(e){h(ie(ie({},d),{},{algorithmName:e.target.value}))},children:d.algorithmOptions.map((function(e){return(0,l.jsx)("option",{value:e,children:e},e)}))})]})]})})]})]})})]}),(0,l.jsxs)(W.Qd,{children:[(0,l.jsxs)(W.KF,{children:[(0,l.jsx)(W.XE,{marginRight:2}),(0,l.jsx)(X.X,{size:"sm",children:"Behavior"})]}),(0,l.jsx)(W.Hk,{children:(0,l.jsxs)(_.gC,{spacing:2,justifyContent:"flex-start",divider:(0,l.jsx)(_.cX,{borderColor:"gray.500"}),align:"stretch",paddingLeft:7,color:"gray.800",children:[(0,l.jsxs)(U.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsxs)(U.k,{children:[(0,l.jsx)(Q.x,{children:"Expand Node"}),(0,l.jsx)(le,{infoText:"View only the node and its direct neighbors"})]}),(0,l.jsxs)(K.v2,{placement:"right",children:[(0,l.jsx)(K.j2,{as:M.z,rightIcon:(0,l.jsx)(Z.v,{}),colorScheme:"",color:"black",children:(0,l.jsx)(Q.x,{children:g.local?g.local[0].toUpperCase()+g.local.slice(1):"Never"})}),(0,l.jsxs)(G.h,{children:[" ",(0,l.jsxs)(K.qy,{zIndex:"popover",bgColor:"gray.200",children:[(0,l.jsx)(K.sN,{onClick:function(){return f(ie(ie({},g),{},{local:""}))},children:"Never"}),(0,l.jsx)(K.sN,{onClick:function(){return f(ie(ie({},g),{},{local:"click"}))},children:"Click"}),(0,l.jsx)(K.sN,{onClick:function(){return f(ie(ie({},g),{},{local:"double"}))},children:"Double Click"}),(0,l.jsx)(K.sN,{onClick:function(){return f(ie(ie({},g),{},{local:"right"}))},children:"Right Click"})]})]})]})]}),(0,l.jsxs)(U.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(Q.x,{children:"Open in Emacs"}),(0,l.jsxs)(K.v2,{placement:"right",children:[(0,l.jsx)(K.j2,{as:M.z,rightIcon:(0,l.jsx)(Z.v,{}),colorScheme:"",color:"black",children:(0,l.jsx)(Q.x,{children:g.follow?g.follow[0].toUpperCase()+g.follow.slice(1):"Never"})}),(0,l.jsxs)(G.h,{children:[" ",(0,l.jsxs)(K.qy,{bgColor:"gray.200",zIndex:"popover",children:[(0,l.jsx)(K.sN,{onClick:function(){return f(ie(ie({},g),{},{follow:""}))},children:"Never"}),(0,l.jsx)(K.sN,{onClick:function(){return f(ie(ie({},g),{},{follow:"click"}))},children:"Click"}),(0,l.jsx)(K.sN,{onClick:function(){return f(ie(ie({},g),{},{follow:"double"}))},children:"Double Click"}),(0,l.jsx)(K.sN,{onClick:function(){return f(ie(ie({},g),{},{follow:"right"}))},children:"Right Click"})]})]})]})]}),(0,l.jsxs)(U.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(Q.x,{children:"Follow Emacs by..."}),(0,l.jsxs)(K.v2,{placement:"right",children:[(0,l.jsx)(K.j2,{as:M.z,rightIcon:(0,l.jsx)(Z.v,{}),colorScheme:"",color:"black",children:(0,l.jsx)(Q.x,{children:x.follow[0].toUpperCase()+x.follow.slice(1)})}),(0,l.jsxs)(G.h,{children:[" ",(0,l.jsxs)(K.qy,{bgColor:"gray.200",zIndex:"popover",children:[(0,l.jsx)(K.sN,{onClick:function(){return p(ie(ie({},x),{},{follow:"local"}))},children:"Opening the local graph"}),(0,l.jsx)(K.sN,{onClick:function(){return p(ie(ie({},x),{},{follow:"zoom"}))},children:"Zooming to the current node"})]})]})]})]}),(0,l.jsx)(se,{label:"Zoom speed",value:x.zoomSpeed,min:0,max:4e3,step:100,onChange:function(e){return p(ie(ie({},x),{},{zoomSpeed:e}))}}),(0,l.jsx)(se,{label:"Zoom padding",value:x.zoomPadding,min:0,max:400,step:1,onChange:function(e){return p(ie(ie({},x),{},{zoomPadding:e}))},infoText:"How much to zoom out to accomodate all nodes when changing the view."})]})})]})]})})]})})]})},le=function(e){var n=e.infoText;return(0,l.jsx)(j.xu,{paddingLeft:"1",children:(0,l.jsx)(V.u,{label:n,placement:"top",color:"gray.100",bg:"gray.800",hasArrow:!0,children:(0,l.jsx)(E.h,{})})})},se=function(e){var n=e.min,t=void 0===n?0:n,r=e.max,i=void 0===r?10:r,o=e.step,s=void 0===o?.1:o,a=e.value,c=void 0===a?1:a,d=(0,z.Z)(e,["min","max","step","value"]),h=d.onChange,g=d.label,f=d.infoText,x=(0,u.useContext)(te.N).highlightColor;return(0,l.jsxs)(j.xu,{children:[(0,l.jsxs)(j.xu,{display:"flex",alignItems:"flex-end",children:[(0,l.jsx)(Q.x,{children:g}),f&&(0,l.jsx)(le,{infoText:f})]}),(0,l.jsxs)($.iR,{value:c,onChange:h,min:t,max:i,step:s,children:[(0,l.jsx)($.Uj,{children:(0,l.jsx)($.Ms,{})}),(0,l.jsx)(V.u,{bg:x,label:c.toFixed(1),children:(0,l.jsx)($.gs,{bg:"white"})})]})]})},ae=function(e){var n=e.value,t=e.onChange,r=e.label,i=e.infoText,o=e.children;return(0,l.jsxs)(j.xu,{paddingTop:2,children:[(0,l.jsxs)(j.xu,{display:"flex",justifyContent:"space-between",paddingBottom:2,children:[(0,l.jsxs)(j.xu,{display:"flex",alignItems:"center",children:[(0,l.jsx)(Q.x,{children:r}),i&&(0,l.jsx)(le,{infoText:i})]}),(0,l.jsx)(q.r,{isChecked:!!n,onChange:t})]}),(0,l.jsx)(J.U,{in:!!n,animateOpacity:!0,children:(0,l.jsx)(j.xu,{paddingLeft:4,paddingTop:2,paddingBottom:2,children:o})})]})},ce=function(e){var n=e.label,t=e.colorList,r=e.value,i=e.visuals,o=e.visValue,s=e.setVisuals;return(0,l.jsxs)(U.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(Q.x,{children:n}),(0,l.jsxs)(K.v2,{placement:"right",children:[(0,l.jsx)(K.j2,{as:M.z,colorScheme:"",color:"black",rightIcon:(0,l.jsx)(Z.v,{}),children:(0,l.jsx)(j.xu,{bgColor:o,borderRadius:"sm",height:6,width:6})}),(0,l.jsxs)(G.h,{children:[" ",(0,l.jsxs)(K.qy,{minW:10,zIndex:"popover",bgColor:"gray.200",children:[(0,l.jsx)(K.sN,{onClick:function(){return s(ie(ie({},i),{},(0,a.Z)({},r,"")))},justifyContent:"space-between",alignItems:"center",display:"flex",children:(0,l.jsx)(j.xu,{height:6,width:6})}),t.map((function(e){return(0,l.jsx)(K.sN,{onClick:function(){return s(ie(ie({},i),{},(0,a.Z)({},r,e)))},justifyContent:"space-between",alignItems:"center",display:"flex",children:(0,l.jsx)(j.xu,{bgColor:e,borderRadius:"sm",height:6,width:6})},e)}))]})]})]})]})},ue=function(e){var n=e.filter,t=e.setFilter,r=e.tags,i=e.highlightColor,o=e.mode,s=r.map((function(e){return{value:e,label:e}})),c="blacklist"===o?"tagsBlacklist":"tagsWhitelist",d=(0,u.useState)(n[c].map((function(e){return{value:e,label:e}}))),h=d[0],g=d[1];return(0,l.jsx)(ee.CUIAutoComplete,{items:s,label:"Add tag to "+o,placeholder:" ",onCreateItem:function(e){return null},disableCreateItem:!0,selectedItems:h,onSelectedItemsChange:function(e){e.selectedItems&&(g(e.selectedItems),t(ie(ie({},n),{},(0,a.Z)({},c,e.selectedItems.map((function(e){return e.value}))))))},listItemStyleProps:{overflow:"hidden"},highlightItemBg:"gray.400",toggleButtonStyleProps:{variant:"outline"},inputStyleProps:{focusBorderColor:i,color:"gray.800",borderColor:"gray.600"},tagStyleProps:{rounded:"full",bg:i,height:8,paddingLeft:4,fontWeight:"bold"},hideToggleButton:!0,itemRenderer:function(e){return e.label}})},de=function(e){var n=e.colorList,t=e.tagColors,r=e.setTagColors,i=e.highlightColor,o=e.tags.map((function(e){return{value:e,label:e}})),s=(0,u.useState)(Object.keys(t).map((function(e){return{value:e,label:e}}))),c=s[0],d=s[1];return(0,l.jsxs)(j.xu,{children:[(0,l.jsx)(ee.CUIAutoComplete,{items:o,label:"Add tag to filter",placeholder:" ",disableCreateItem:!0,selectedItems:c,onSelectedItemsChange:function(e){e.selectedItems&&(d(Array.from(new Set(e.selectedItems))),r(Object.fromEntries(Array.from(new Set(e.selectedItems)).map((function(e){var n;return[e.label,null!==(n=t[e.label])&&void 0!==n?n:"gray.600"]})))))},listItemStyleProps:{overflow:"hidden"},highlightItemBg:"gray.400",toggleButtonStyleProps:{variant:"outline"},inputStyleProps:{focusBorderColor:i,color:"gray.800",borderColor:"gray.600"},tagStyleProps:{display:"none",rounded:"full",bg:i,height:8,paddingLeft:4,fontWeight:"bold"},hideToggleButton:!0,itemRenderer:function(e){return e.label}}),(0,l.jsx)(_.gC,{spacing:2,justifyContent:"flex-start",divider:(0,l.jsx)(_.cX,{borderColor:"gray.500"}),align:"stretch",color:"gray.800",children:Object.keys(t).map((function(e){return(0,l.jsxs)(U.k,{alignItems:"center",justifyContent:"space-between",width:"100%",pl:2,children:[(0,l.jsx)(j.xu,{width:"100%",children:(0,l.jsx)(Q.x,{fontWeight:"bold",children:e})}),(0,l.jsxs)(K.v2,{isLazy:!0,placement:"right",children:[(0,l.jsx)(K.j2,{as:M.z,colorScheme:"",color:"black",children:(0,l.jsx)(j.xu,{bgColor:t[e],borderRadius:"sm",height:6,width:6})}),(0,l.jsxs)(G.h,{children:[" ",(0,l.jsx)(K.qy,{minW:10,zIndex:"popover",bgColor:"gray.200",children:n.map((function(n){return(0,l.jsx)(K.sN,{onClick:function(){return r(ie(ie({},t),{},(0,a.Z)({},e,n)))},justifyContent:"space-between",alignItems:"center",display:"flex",children:(0,l.jsx)(j.xu,{bgColor:n,borderRadius:"sm",height:6,width:6})},n)}))})]})]}),(0,l.jsx)(A.h,{"aria-label":"Delete tag color",variant:"ghost",icon:(0,l.jsx)(B.p,{}),onClick:function(){r(Object.fromEntries(Array.from(new Set(c)).map((function(e){var n;return[e.label,null!==(n=t[e.label])&&void 0!==n?n:"gray.600"]})))),d(c.filter((function(n){return n.value!==e})))}})]},e)}))})]})},he=t(31122),ge=t(22003);function fe(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 xe(e){for(var n=1;n2&&void 0!==arguments[2]?arguments[2]:2e3,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200,o=ne.current,l=$.current,a=ee.current,c=null!==(t=F.current[n])&&void 0!==t?t:[],u=Object.fromEntries([n].concat((0,s.Z)(c.flatMap((function(e){return[e.source,e.target]})))).map((function(e){return[e,{}]})));return"zoom"===e?(console.log(l),l.nodeIds.length&&(console.log("emptying"),console.log("scope "+l.nodeIds),Y({nodeIds:[]})),void setTimeout((function(){return o.zoomToFit(r,i,(function(e){return u[e.id]}))}),50)):l.nodeIds.length?"add"!==a.localSame?(Y({nodeIds:[n]}),void setTimeout((function(){o.centerAt(0,0,r)}),50)):l.nodeIds.includes(n)&&l.nodeIds.some((function(e){return u[e]}))?(Y((function(e){return xe(xe({},e),{},{nodeIds:[].concat((0,s.Z)(e.nodeIds),[n])})})),void setTimeout((function(){return o.zoomToFit(r,i,(function(e){return u[e.id]}))}),50)):(Y({nodeIds:[n]}),void setTimeout((function(){o.centerAt(0,0,r)}),50)):(Y({nodeIds:[n]}),void setTimeout((function(){o.centerAt(0,0,r)}),50))};return(0,u.useEffect)((function(){re.current=new ge.Z("ws://localhost:35903"),re.current.addEventListener("open",(function(e){console.log("Connection with Emacs established")})),re.current.addEventListener("message",(function(e){ne.current;var n=ee.current,t=JSON.parse(e.data);switch(t.type){case"graphdata":return function(e){var n;A.current=null!==(n=e.tags)&&void 0!==n?n:[];var t=e.nodes.reduce((function(e,n){var t;return xe(xe({},e),{},(0,a.Z)({},n.file,[].concat((0,s.Z)(null!==(t=e[n.file])&&void 0!==t?t:[]),[n])))}),{}),r=Object.keys(t).flatMap((function(e){var n,r=null!==(n=t[e])&&void 0!==n?n:[],i=r.find((function(e){return 0===e.level})),o=r.filter((function(e){return 0!==e.level}));return i?o.map((function(e){return{source:e.id,target:i.id,type:"parent"}})):[]}));B.current=Object.fromEntries(e.nodes.map((function(e){return[e.id,e]})));var i=[].concat((0,s.Z)(e.links),(0,s.Z)(r)).filter((function(e){var n=e.source,t=e.target;return B.current[n]&&B.current[t]}));F.current=i.reduce((function(e,n){var t,r,i;return xe(xe({},e),{},(i={},(0,a.Z)(i,n.source,[].concat((0,s.Z)(null!==(t=e[n.source])&&void 0!==t?t:[]),[n])),(0,a.Z)(i,n.target,[].concat((0,s.Z)(null!==(r=e[n.target])&&void 0!==r?r:[]),[n])),i))}),{});var o=xe(xe({},e),{},{links:i}),l=JSON.parse(JSON.stringify(o));C(l)}(t.data);case"theme":return V(t.data);case"command":switch(t.data.commandName){case"local":var r=R.zoomSpeed,i=R.zoomPadding;ie("local",t.data.id,r,i),w(t.data.id);break;case"zoom":var o,l,c=(null===t||void 0===t||null===(o=t.data)||void 0===o?void 0:o.speed)||n.zoomSpeed,u=(null===t||void 0===t||null===(l=t.data)||void 0===l?void 0:l.padding)||n.zoomPadding;ie("zoom",t.data.id,c,u),w(t.data.id);break;case"follow":ie(n.follow,t.data.id,n.zoomSpeed,n.zoomPadding),w(t.data.id);break;default:return console.error("unknown message type",t.type)}}}))}),[]),b?(0,l.jsxs)(j.xu,{display:"flex",alignItems:"flex-start",flexDirection:"row",height:"100%",children:[(0,l.jsx)(oe,xe(xe({},{physics:t,setPhysics:r,threeDim:X,setThreeDim:_,filter:h,setFilter:g,visuals:p,setVisuals:m,mouse:Z,setMouse:E,behavior:R,setBehavior:D,tagColors:q,setTagColors:K}),{},{tags:A.current})),(0,l.jsx)(j.xu,{position:"absolute",alignItems:"top",children:(0,l.jsx)(Ce,xe({ref:ne,nodeById:B.current,linksByNodeId:F.current,webSocket:re.current},{physics:t,graphData:b,threeDim:X,emacsNodeId:k,filter:h,visuals:p,behavior:R,mouse:Z,scope:J,setScope:Y,tagColors:q}))})]}):null}var Ce=(0,u.forwardRef)((function(e,n){var t=e.physics,r=e.graphData,d=e.threeDim,h=e.linksByNodeId,j=e.filter,m=e.emacsNodeId,v=e.nodeById,b=e.visuals,C=(e.behavior,e.mouse),y=e.scope,k=e.setScope,S=e.webSocket,I=e.tagColors,O=(0,f.iP)(),N=(0,c.Z)(O,2),L=N[0],z=N[1],T=(0,u.useState)(null),R=T[0],D=T[1],P=(0,p.useTheme)(),H=(0,u.useContext)(te.N).emacsTheme,Z=function(e,n){switch(e){case C.local:if(y.nodeIds.includes(n.id))break;k((function(e){return xe(xe({},e),{},{nodeIds:[].concat((0,s.Z)(e.nodeIds),[n.id])})}));break;case C.follow:S.send(n.id)}},E=(0,u.useRef)(null);(0,u.useEffect)((function(){m&&D(v[m])}),[m]),E.current=R;var B=(0,u.useMemo)((function(){if(!E.current)return{};var e=h[E.current.id];return e?Object.fromEntries([E.current.id].concat((0,s.Z)(e.flatMap((function(e){return[e.source,e.target]})))).map((function(e){return[e,{}]}))):{}}),[E.current,h]),F=(0,u.useRef)({}),A=(0,u.useMemo)((function(){F.current={};var e=r.nodes.filter((function(e){var n=e;return j.tagsBlacklist.length&&j.tagsBlacklist.some((function(e){return n.tags.indexOf(e)>-1}))?(F.current=xe(xe({},F.current),{},(0,a.Z)({},n.id,n)),!1):!(j.tagsWhitelist.length>0&&!j.tagsWhitelist.some((function(e){return n.tags.indexOf(e)>-1})))||(F.current=xe(xe({},F.current),{},(0,a.Z)({},n.id,n)),!1)})).filter((function(e){var n,t=(null!==(n=h[e.id])&&void 0!==n?n:[]).filter((function(e){return!F.current[e.source]&&!F.current[e.target]}));return!j.orphans||(j.parents?0!==t.length:0!==t.length&&t.some((function(e){return!["parent","ref"].includes(e.type)})))})),n=e.map((function(e){return e.id}));return{filteredNodes:e,filteredLinks:r.links.filter((function(e){if(j.tagsBlacklist.length||j.tagsWhitelist.length){var t="object"===typeof e.source?e.source.id:e.source,r="object"===typeof e.target?e.target.id:e.target;return n.includes(t)&&n.includes(r)}var i=e;return j.parents||"parent"!==i.type}))}}),[j,r]),V=(0,u.useMemo)((function(){var e=A.filteredNodes.filter((function(e){var n,t=null!==(n=h[e.id])&&void 0!==n?n:[];return y.nodeIds.includes(e.id)||t.some((function(e){return y.nodeIds.includes(e.source)||y.nodeIds.includes(e.target)}))})),n=e.map((function(e){return e.id})),t=A.filteredLinks.filter((function(e){var t="object"===typeof e.source?e.source.id:e.source,r="object"===typeof e.target?e.target.id:e.target;return n.includes(t)&&n.includes(r)}));return 0===y.nodeIds.length?{nodes:A.filteredNodes,links:A.filteredLinks}:{nodes:e,links:t}}),[j,y,r]);(0,u.useEffect)((function(){(0,o.Z)(i().mark((function e(){var r,o;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=n.current,e.next=3,pe;case 3:o=e.sent,t.gravityOn?(r.d3Force("x",o.forceX().strength(t.gravity)),r.d3Force("y",o.forceY().strength(t.gravity)),d&&r.d3Force("z",o.forceZ().strength(t.gravity))):(r.d3Force("x",null),r.d3Force("y",null),d&&r.d3Force("z",null)),t.centering?r.d3Force("center",o.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?o.forceCollide().radius(t.collisionStrength):null);case 10:case"end":return e.stop()}}),e)})))()})),(0,u.useEffect)((function(){var e;null===(e=n.current)||void 0===e||e.d3ReheatSimulation()}),[t]);var M=(0,u.useRef)(0),W=(0,u.useState)(1),X=W[0],_=W[1],U=(0,x._7)((function(e){return _(e)}),{duration:b.animationSpeed,algorithm:w[b.algorithmName]}),Q=(0,c.Z)(U,2),q=Q[0],K=Q[1],G=(0,x._7)((function(e){return _(Math.min(X,-1*(e-1)))}),{duration:b.animationSpeed,algorithm:w[b.algorithmName]}),J=(0,c.Z)(G,2),Y=J[0],$=J[1],ee=(0,u.useRef)(null);(0,u.useEffect)((function(){if(R&&(ee.current=R),!b.highlightAnim)return _(R?1:0);R?q():(K(),X>.5?Y():_(0))}),[R]);var ne=function(e){if(P)return e.split(".").reduce((function(e,n){return e[n]}),P.colors)},re=(0,u.useMemo)((function(){var e=b.nodeColorScheme.concat(b.linkColorScheme||[],b.linkHighlight||[],b.nodeHighlight||[],b.citeNodeColor||[],b.citeLinkColor||[],b.citeLinkHighlightColor||[]);return Object.fromEntries(e.map((function(n){var t=ne(n),r=e.map((function(e){return[e,g.Z(t,ne(e))]}));return[n,Object.fromEntries(r)]})))}),[b.nodeColorScheme,b.linkHighlight,b.nodeHighlight,b.linkColorScheme,H]),ie=(0,u.useMemo)((function(){var e,n,t,r=null!==(e=h[null===(n=ee.current)||void 0===n?void 0:n.id])&&void 0!==e?e:[];return Object.fromEntries([null===(t=ee.current)||void 0===t?void 0:t.id].concat((0,s.Z)(r.flatMap((function(e){return[e.source,e.target]})))).map((function(e){return[e,{}]})))}),[JSON.stringify(R),ee.current]),oe=function(e){var n,t,r,i,o,l,s=null!==(n=null===(t=h[e])||void 0===t?void 0:t.length)&&void 0!==n?n:0,a=s?null===(r=h[e])||void 0===r?void 0:r.filter((function(e){return"parent"===e.type||"cite"===e.type})).length:0,c=j.parents?s:s-a;return b.nodeColorScheme[(i=c,o=0,l=b.nodeColorScheme.length-1,Math.min(Math.max(i,o),l))]},le=function(e,n){return h[e]>h[n]?oe(e):oe(n)},se=function(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(",")+")"},ae=(0,u.useMemo)((function(){return ne(b.labelTextColor)}),[b.labelTextColor,H]),ce=(0,u.useMemo)((function(){return ne(b.labelBackgroundColor)}),[b.labelBackgroundColor,H]),ue={graphData:V,width:L,height:z,backgroundColor:P.colors.gray[b.backgroundColor],nodeLabel:function(e){return e.title},nodeColor:function(e){return function(e){var n=B[e.id]||ie[e.id];if(b.emacsNodeColor&&e.id===m)return ne(b.emacsNodeColor);if(I&&e.tags.some((function(e){return I[e]}))){var t=I[e.tags.filter((function(e){return I[e]}))[0]];return ne(t)}return b.citeNodeColor&&e.properties.ROAM_REFS?ne(b.citeNodeColor):n&&b.nodeHighlight?re[oe(e.id)][b.nodeHighlight](X):ne(oe(e.id))}(e)},nodeRelSize:b.nodeRel,nodeVal:function(e){var n,t=null!==(n=h[e.id])&&void 0!==n?n:[],r=t.length?t.filter((function(e){return"parent"===e.type})).length:0;return(3+t.length-(j.parents?0:r))*(B[e.id]||ie[e.id]?1+X*(b.highlightNodeSize-1):1)},nodeCanvasObject:function(e,n,t){if(e&&b.labels){var r=ie[e.id];if(!(t<=b.labelScale||1===b.labels)||B[e.id]||r){var i=e.title,o=i.substring(0,Math.min(i.length,40)),l=12/t,a=[1.1*n.measureText(o).width,l].map((function(e){return e+.5*l})),c=Math.min(3*(t-b.labelScale)/b.labelScale,1),u=function(){return 1===b.labels||t<=b.labelScale?X:B[e.id]||ie[e.id]?Math.max(c,X):1*c*(-1*(.5*X-1))};if(b.labelBackgroundColor&&b.labelBackgroundOpacity){var d=u()*b.labelBackgroundOpacity,h=se(ce,d);n.fillStyle=h,n.fillRect.apply(n,[e.x-a[0]/2,e.y-a[1]/2].concat((0,s.Z)(a)))}var g=u();n.textAlign="center",n.textBaseline="middle";var f=se(ae,g);n.fillStyle=f,n.font="".concat(l,"px Sans-Serif"),n.fillText(o,e.x,e.y)}}},nodeCanvasObjectMode:function(){return"after"},linkDirectionalParticles:b.particles?b.particlesNumber:void 0,linkDirectionalArrowLength:b.arrows?b.arrowsLength:void 0,linkDirectionalArrowRelPos:b.arrowsPos,linkDirectionalArrowColor:b.arrowsColor?function(e){return ne(b.arrowsColor)}:void 0,linkColor:function(e){var n="object"===typeof e.source?e.source.id:e.source,t="object"===typeof e.target?e.target.id:e.target,r=ye(e,E.current),i=ye(e,ee.current),o=r||i,l=e;return b.citeLinkColor&&"cite"===l.type?o&&(b.citeLinkHighlightColor||b.linkHighlight)?re[b.citeLinkColor][b.citeLinkHighlightColor||b.linkHighlight](X):ne(b.citeLinkColor):function(e,n,t){if(!b.linkHighlight&&!b.linkColorScheme&&!t){var r=le(e,n);return ne(r)}if(!t&&!b.linkColorScheme){var i=le(e,n);return ne(i)}if(!t)return ne(b.linkColorScheme);if(!b.linkHighlight&&!b.linkColorScheme){var o=le(e,n);return ne(o)}return b.linkHighlight?b.linkColorScheme?re[b.linkColorScheme][b.linkHighlight](X):re[le(e,n)][b.linkHighlight](X):ne(b.linkColorScheme)}(n,t,o)},linkWidth:function(e){var n=ye(e,E.current),t=ye(e,ee.current);return n||t?b.linkWidth*(1+X*(b.highlightLinkSize-1)):b.linkWidth},linkDirectionalParticleWidth:b.particlesWidth,d3AlphaDecay:t.alphaDecay,d3AlphaMin:t.alphaMin,d3VelocityDecay:t.velocityDecay,onNodeClick:function(e,n){var t=n.timeStamp-M.current<400;return M.current=n.timeStamp,Z(t?"double":"click",e)},onBackgroundClick:function(){D(null),0!==y.nodeIds.length&&k((function(e){return xe(xe({},e),{},{nodeIds:[]})}))},onNodeHover:function(e){b.highlight&&(R||($(),_(0)),D(e))},onNodeRightClick:function(e){Z("right",e)}};return(0,l.jsx)("div",{children:d?(0,l.jsx)(me,xe(xe({ref:n},ue),{},{nodeThreeObjectExtend:!0,backgroundColor:P.colors.white,nodeOpacity:b.nodeOpacity,nodeResolution:b.nodeResolution,linkOpacity:b.linkOpacity,nodeThreeObject:function(e){if(b.labels&&(!(b.labels<3)||B[e.id])){var n=new he.Z(e.title.substring(0,40));return n.color=ne(b.labelTextColor),n.backgroundColor=ne(b.labelBackgroundColor),n.padding=2,n.textHeight=8,n}}})):(0,l.jsx)(je,xe(xe({ref:n},ue),{},{linkLineDash:function(e){var n=e;return b.citeDashes&&"cite"===n.type?[b.citeDashLength,b.citeGapLength]:null}}))})}));function ye(e,n){return e.source.id===(null===n||void 0===n?void 0:n.id)||e.target.id===(null===n||void 0===n?void 0:n.id)}},45301:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/",function(){return t(374)}])}},function(e){e.O(0,[774,737,446,13,888,179],(function(){return n=45301,e(e.s=n);var n}));var n=e.O();_N_E=n}]); \ No newline at end of file diff --git a/out/_next/static/chunks/pages/index-9893d4710094df6598ce.js b/out/_next/static/chunks/pages/index-9893d4710094df6598ce.js new file mode 100644 index 0000000..66c9ce2 --- /dev/null +++ b/out/_next/static/chunks/pages/index-9893d4710094df6598ce.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[405],{374:function(e,n,t){"use strict";t.r(n),t.d(n,{Graph:function(){return ye},GraphPage:function(){return Ce},default:function(){return ve}});var r=t(809),i=t.n(r),o=t(92447),l=t(85893),s=t(59999),a=t(26265),c=t(64121),u=t(67294);function d(e,n){var t,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=h(e,null!==(t=r.storage)&&void 0!==t?t:localStorage),o=i.get(),l=void 0!==o?o:n;l!==o&&i.update(l);var s=(0,u.useState)(l),a=s[0],c=s[1];(0,u.useEffect)((function(){a!==l&&c(l)}),[e]);var d=function(e){e instanceof Function?c((function(n){var t=e(n);return i.update(t),t})):(c(e),i.update(e))};return[a,d]}function h(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 g=t(54533),f=t(54309),x=t(20233),p=t(40980),j=t(48017),m=t(36194),v=[],b={};for(var C in m.oY)for(var y in m.oY[C]){var k=C+y;"LinearNone"===k&&(k="Linear"),v.push(k),b[k]=m.oY[C][y]}var w=b,S={enabled:!0,charge:-700,collision:!0,collisionStrength:20,centering:!0,centeringStrength:.05,linkStrength:.1,linkIts:1,alphaDecay:.02,alphaTarget:0,alphaMin:0,velocityDecay:.25,gravity:.3,gravityOn:!0},L={orphans:!1,parents:!0,fileless_cites:!1,tagsBlacklist:[],tagsWhitelist:[],nodes:[],links:[],date:[]},I={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.5,highlight:!0,highlightNodeSize:2,highlightLinkSize:2,highlightAnim:!0,animationSpeed:700,algorithmOptions:v,algorithmName:"BackOut",linkColorScheme:"gray.500",nodeColorScheme:["red.500","gray.600","yellow.500","green.500","cyan.500","blue.500","pink.500","purple.500","orange.500"],nodeHighlight:"",linkHighlight:"purple.500",backgroundColor:"white",emacsNodeColor:"gray.800",labelTextColor:"black",labelBackgroundColor:"white",labelBackgroundOpacity:.7,citeDashes:!0,citeDashLength:35,citeGapLength:15,citeLinkColor:"gray.600",citeLinkHighlightColor:"",citeNodeColor:"black",refDashes:!0,refDashLength:35,refGapLength:15,refLinkColor:"gray.400",refLinkHighlightColor:"",refNodeColor:"black"},O={follow:"zoom",localSame:"add",zoomPadding:200,zoomSpeed:2e3},N={highlight:"hover",local:"click",follow:"double"},D=t(38347),R=t(93924),z=t(83986),T=t(48931),H=t(67546),P=t(93441),E=t(6569),Z=t(24189),B=t(2827),F=t(90454),A=t(48420),V=t(96699),M=t(40155),W=t(56769),X=t(336),_=t(72026),U=t(94096),G=t(64115),Q=t(88134),q=t(48235),K=t(67273),J=t(15267),Y=t(46049),$=t(95818),ee=t(47647),ne=t(86658),te=t(29356);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 ie(e){for(var n=1;n0,animateOpacity:!0,children:(0,l.jsxs)(_.gC,{spacing:1,justifyContent:"flex-start",divider:(0,l.jsx)(_.cX,{borderColor:"gray.400"}),align:"stretch",paddingLeft:2,color:"gray.800",children:[(0,l.jsx)(ce,{colorList:$,label:"Text",visuals:d,setVisuals:h,value:"labelTextColor",visValue:d.labelTextColor}),(0,l.jsx)(ce,{colorList:$,label:"Text",visuals:d,setVisuals:h,value:"labelBackgroundColor",visValue:d.labelBackgroundColor}),(0,l.jsx)(J.U,{in:!!d.labelBackgroundColor,animateOpacity:!0,children:(0,l.jsx)(j.xu,{paddingTop:2,children:(0,l.jsx)(se,{label:"Background opacity",value:d.labelBackgroundOpacity,onChange:function(e){console.log(d.labelBackgroundOpacity),h(ie(ie({},d),{},{labelBackgroundOpacity:e}))},min:0,max:1,step:.01})})}),(0,l.jsx)(J.U,{in:d.labels>1,animateOpacity:!0,children:(0,l.jsx)(j.xu,{paddingTop:2,children:(0,l.jsx)(se,{label:"Label Appearance Scale",value:5*d.labelScale,onChange:function(e){return h(ie(ie({},d),{},{labelScale:e/5}))}})})})]})})]}),(0,l.jsxs)(ae,{label:"Link arrows",value:d.arrows,onChange:function(){return h(ie(ie({},d),{},{arrows:!d.arrows}))},children:[(0,l.jsx)(se,{label:"Arrow size",value:d.arrowsLength/10,onChange:function(e){return h(ie(ie({},d),{},{arrowsLength:10*e}))}}),(0,l.jsx)(se,{label:"Arrow Position",value:d.arrowsPos,min:0,max:1,step:.01,onChange:function(e){return h(ie(ie({},d),{},{arrowsPos:e}))}}),(0,l.jsx)(ce,{colorList:$,label:"Arrow Color",visuals:d,setVisuals:h,value:"arrowsColor",visValue:d.arrowsColor})]}),(0,l.jsxs)(ae,{label:"Directional Particles",value:d.particles,onChange:function(){return h(ie(ie({},d),{},{particles:!d.particles}))},children:[(0,l.jsx)(se,{label:"Particle Number",value:d.particlesNumber,max:5,step:1,onChange:function(e){return h(ie(ie({},d),{},{particlesNumber:e}))}}),(0,l.jsx)(se,{label:"Particle Size",value:d.particlesWidth,onChange:function(e){return h(ie(ie({},d),{},{particlesWidth:e}))}})]}),(0,l.jsx)(ae,{label:"Highlight",onChange:function(){return h(ie(ie({},d),{},{highlight:!d.highlight}))},value:d.highlight,children:(0,l.jsxs)(_.gC,{spacing:1,justifyContent:"flex-start",divider:(0,l.jsx)(_.cX,{borderColor:"gray.400"}),align:"stretch",paddingLeft:0,children:[(0,l.jsx)(se,{label:"Highlight Link Thickness",value:d.highlightLinkSize,onChange:function(e){return h(ie(ie({},d),{},{highlightLinkSize:e}))}}),(0,l.jsx)(se,{label:"Highlight Node Size",value:d.highlightNodeSize,onChange:function(e){return h(ie(ie({},d),{},{highlightNodeSize:e}))}}),(0,l.jsxs)(ae,{label:"Highlight Animation",onChange:function(){h(ie(ie({},d),{},{highlightAnim:!d.highlightAnim}))},value:d.highlightAnim,children:[(0,l.jsx)(se,{label:"Animation speed",onChange:function(e){return h(ie(ie({},d),{},{animationSpeed:e}))},value:d.animationSpeed,infoText:"Slower speed has a chance of being buggy",min:50,max:1e3,step:10}),(0,l.jsx)(Y.Ph,{placeholder:d.algorithmName,onChange:function(e){h(ie(ie({},d),{},{algorithmName:e.target.value}))},children:d.algorithmOptions.map((function(e){return(0,l.jsx)("option",{value:e,children:e},e)}))})]})]})})]})]})})]}),(0,l.jsxs)(W.Qd,{children:[(0,l.jsxs)(W.KF,{children:[(0,l.jsx)(W.XE,{marginRight:2}),(0,l.jsx)(X.X,{size:"sm",children:"Behavior"})]}),(0,l.jsx)(W.Hk,{children:(0,l.jsxs)(_.gC,{spacing:2,justifyContent:"flex-start",divider:(0,l.jsx)(_.cX,{borderColor:"gray.500"}),align:"stretch",paddingLeft:7,color:"gray.800",children:[(0,l.jsxs)(U.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsxs)(U.k,{children:[(0,l.jsx)(G.x,{children:"Expand Node"}),(0,l.jsx)(le,{infoText:"View only the node and its direct neighbors"})]}),(0,l.jsxs)(q.v2,{placement:"right",children:[(0,l.jsx)(q.j2,{as:M.z,rightIcon:(0,l.jsx)(E.v,{}),colorScheme:"",color:"black",children:(0,l.jsx)(G.x,{children:g.local?g.local[0].toUpperCase()+g.local.slice(1):"Never"})}),(0,l.jsxs)(K.h,{children:[" ",(0,l.jsxs)(q.qy,{zIndex:"popover",bgColor:"gray.200",children:[(0,l.jsx)(q.sN,{onClick:function(){return f(ie(ie({},g),{},{local:""}))},children:"Never"}),(0,l.jsx)(q.sN,{onClick:function(){return f(ie(ie({},g),{},{local:"click"}))},children:"Click"}),(0,l.jsx)(q.sN,{onClick:function(){return f(ie(ie({},g),{},{local:"double"}))},children:"Double Click"}),(0,l.jsx)(q.sN,{onClick:function(){return f(ie(ie({},g),{},{local:"right"}))},children:"Right Click"})]})]})]})]}),(0,l.jsxs)(U.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(G.x,{children:"Open in Emacs"}),(0,l.jsxs)(q.v2,{placement:"right",children:[(0,l.jsx)(q.j2,{as:M.z,rightIcon:(0,l.jsx)(E.v,{}),colorScheme:"",color:"black",children:(0,l.jsx)(G.x,{children:g.follow?g.follow[0].toUpperCase()+g.follow.slice(1):"Never"})}),(0,l.jsxs)(K.h,{children:[" ",(0,l.jsxs)(q.qy,{bgColor:"gray.200",zIndex:"popover",children:[(0,l.jsx)(q.sN,{onClick:function(){return f(ie(ie({},g),{},{follow:""}))},children:"Never"}),(0,l.jsx)(q.sN,{onClick:function(){return f(ie(ie({},g),{},{follow:"click"}))},children:"Click"}),(0,l.jsx)(q.sN,{onClick:function(){return f(ie(ie({},g),{},{follow:"double"}))},children:"Double Click"}),(0,l.jsx)(q.sN,{onClick:function(){return f(ie(ie({},g),{},{follow:"right"}))},children:"Right Click"})]})]})]})]}),(0,l.jsxs)(U.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(G.x,{children:"Follow Emacs by..."}),(0,l.jsxs)(q.v2,{placement:"right",children:[(0,l.jsx)(q.j2,{as:M.z,rightIcon:(0,l.jsx)(E.v,{}),colorScheme:"",color:"black",children:(0,l.jsx)(G.x,{children:x.follow[0].toUpperCase()+x.follow.slice(1)})}),(0,l.jsxs)(K.h,{children:[" ",(0,l.jsxs)(q.qy,{bgColor:"gray.200",zIndex:"popover",children:[(0,l.jsx)(q.sN,{onClick:function(){return p(ie(ie({},x),{},{follow:"local"}))},children:"Opening the local graph"}),(0,l.jsx)(q.sN,{onClick:function(){return p(ie(ie({},x),{},{follow:"zoom"}))},children:"Zooming to the current node"})]})]})]})]}),(0,l.jsx)(se,{label:"Zoom speed",value:x.zoomSpeed,min:0,max:4e3,step:100,onChange:function(e){return p(ie(ie({},x),{},{zoomSpeed:e}))}}),(0,l.jsx)(se,{label:"Zoom padding",value:x.zoomPadding,min:0,max:400,step:1,onChange:function(e){return p(ie(ie({},x),{},{zoomPadding:e}))},infoText:"How much to zoom out to accomodate all nodes when changing the view."})]})})]})]})})]})})]})},le=function(e){var n=e.infoText;return(0,l.jsx)(j.xu,{paddingLeft:"1",children:(0,l.jsx)(V.u,{label:n,placement:"top",color:"gray.100",bg:"gray.800",hasArrow:!0,children:(0,l.jsx)(Z.h,{})})})},se=function(e){var n=e.min,t=void 0===n?0:n,r=e.max,i=void 0===r?10:r,o=e.step,s=void 0===o?.1:o,a=e.value,c=void 0===a?1:a,d=(0,D.Z)(e,["min","max","step","value"]),h=d.onChange,g=d.label,f=d.infoText,x=(0,u.useContext)(te.N).highlightColor;return(0,l.jsxs)(j.xu,{children:[(0,l.jsxs)(j.xu,{display:"flex",alignItems:"flex-end",children:[(0,l.jsx)(G.x,{children:g}),f&&(0,l.jsx)(le,{infoText:f})]}),(0,l.jsxs)($.iR,{value:c,onChange:h,min:t,max:i,step:s,children:[(0,l.jsx)($.Uj,{children:(0,l.jsx)($.Ms,{})}),(0,l.jsx)(V.u,{bg:x,label:c.toFixed(1),children:(0,l.jsx)($.gs,{bg:"white"})})]})]})},ae=function(e){var n=e.value,t=e.onChange,r=e.label,i=e.infoText,o=e.children;return(0,l.jsxs)(j.xu,{paddingTop:2,children:[(0,l.jsxs)(j.xu,{display:"flex",justifyContent:"space-between",paddingBottom:2,children:[(0,l.jsxs)(j.xu,{display:"flex",alignItems:"center",children:[(0,l.jsx)(G.x,{children:r}),i&&(0,l.jsx)(le,{infoText:i})]}),(0,l.jsx)(Q.r,{isChecked:!!n,onChange:t})]}),(0,l.jsx)(J.U,{in:!!n,animateOpacity:!0,children:(0,l.jsx)(j.xu,{paddingLeft:4,paddingTop:2,paddingBottom:2,children:o})})]})},ce=function(e){var n=e.label,t=e.colorList,r=e.value,i=e.visuals,o=e.visValue,s=e.setVisuals;return(0,l.jsxs)(U.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(G.x,{children:n}),(0,l.jsxs)(q.v2,{placement:"right",children:[(0,l.jsx)(q.j2,{as:M.z,colorScheme:"",color:"black",rightIcon:(0,l.jsx)(E.v,{}),children:(0,l.jsx)(j.xu,{bgColor:o,borderRadius:"sm",height:6,width:6})}),(0,l.jsxs)(K.h,{children:[" ",(0,l.jsxs)(q.qy,{minW:10,zIndex:"popover",bgColor:"gray.200",children:[(0,l.jsx)(q.sN,{onClick:function(){return s(ie(ie({},i),{},(0,a.Z)({},r,"")))},justifyContent:"space-between",alignItems:"center",display:"flex",children:(0,l.jsx)(j.xu,{height:6,width:6})}),t.map((function(e){return(0,l.jsx)(q.sN,{onClick:function(){return s(ie(ie({},i),{},(0,a.Z)({},r,e)))},justifyContent:"space-between",alignItems:"center",display:"flex",children:(0,l.jsx)(j.xu,{bgColor:e,borderRadius:"sm",height:6,width:6})},e)}))]})]})]})]})},ue=function(e){var n=e.filter,t=e.setFilter,r=e.tags,i=e.highlightColor,o=e.mode,s=r.map((function(e){return{value:e,label:e}})),c="blacklist"===o?"tagsBlacklist":"tagsWhitelist",d=(0,u.useState)(n[c].map((function(e){return{value:e,label:e}}))),h=d[0],g=d[1];return(0,l.jsx)(ee.CUIAutoComplete,{items:s,label:"Add tag to "+o,placeholder:" ",onCreateItem:function(e){return null},disableCreateItem:!0,selectedItems:h,onSelectedItemsChange:function(e){e.selectedItems&&(g(e.selectedItems),t(ie(ie({},n),{},(0,a.Z)({},c,e.selectedItems.map((function(e){return e.value}))))))},listItemStyleProps:{overflow:"hidden"},highlightItemBg:"gray.400",toggleButtonStyleProps:{variant:"outline"},inputStyleProps:{focusBorderColor:i,color:"gray.800",borderColor:"gray.600"},tagStyleProps:{rounded:"full",bg:i,height:8,paddingLeft:4,fontWeight:"bold"},hideToggleButton:!0,itemRenderer:function(e){return e.label}})},de=function(e){var n=e.colorList,t=e.tagColors,r=e.setTagColors,i=e.highlightColor,o=e.tags.map((function(e){return{value:e,label:e}})),s=(0,u.useState)(Object.keys(t).map((function(e){return{value:e,label:e}}))),c=s[0],d=s[1];return(0,l.jsxs)(j.xu,{children:[(0,l.jsx)(ee.CUIAutoComplete,{items:o,label:"Add tag to filter",placeholder:" ",disableCreateItem:!0,selectedItems:c,onSelectedItemsChange:function(e){e.selectedItems&&(d(Array.from(new Set(e.selectedItems))),r(Object.fromEntries(Array.from(new Set(e.selectedItems)).map((function(e){var n;return[e.label,null!==(n=t[e.label])&&void 0!==n?n:"gray.600"]})))))},listItemStyleProps:{overflow:"hidden"},highlightItemBg:"gray.400",toggleButtonStyleProps:{variant:"outline"},inputStyleProps:{focusBorderColor:i,color:"gray.800",borderColor:"gray.600"},tagStyleProps:{display:"none",rounded:"full",bg:i,height:8,paddingLeft:4,fontWeight:"bold"},hideToggleButton:!0,itemRenderer:function(e){return e.label}}),(0,l.jsx)(_.gC,{spacing:2,justifyContent:"flex-start",divider:(0,l.jsx)(_.cX,{borderColor:"gray.500"}),align:"stretch",color:"gray.800",children:Object.keys(t).map((function(e){return(0,l.jsxs)(U.k,{alignItems:"center",justifyContent:"space-between",width:"100%",pl:2,children:[(0,l.jsx)(j.xu,{width:"100%",children:(0,l.jsx)(G.x,{fontWeight:"bold",children:e})}),(0,l.jsxs)(q.v2,{isLazy:!0,placement:"right",children:[(0,l.jsx)(q.j2,{as:M.z,colorScheme:"",color:"black",children:(0,l.jsx)(j.xu,{bgColor:t[e],borderRadius:"sm",height:6,width:6})}),(0,l.jsxs)(K.h,{children:[" ",(0,l.jsx)(q.qy,{minW:10,zIndex:"popover",bgColor:"gray.200",children:n.map((function(n){return(0,l.jsx)(q.sN,{onClick:function(){return r(ie(ie({},t),{},(0,a.Z)({},e,n)))},justifyContent:"space-between",alignItems:"center",display:"flex",children:(0,l.jsx)(j.xu,{bgColor:n,borderRadius:"sm",height:6,width:6})},n)}))})]})]}),(0,l.jsx)(A.h,{"aria-label":"Delete tag color",variant:"ghost",icon:(0,l.jsx)(B.p,{}),onClick:function(){r(Object.fromEntries(Array.from(new Set(c)).map((function(e){var n;return[e.label,null!==(n=t[e.label])&&void 0!==n?n:"gray.600"]})))),d(c.filter((function(n){return n.value!==e})))}})]},e)}))})]})},he=t(31122),ge=t(22003);function fe(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 xe(e){for(var n=1;n2&&void 0!==arguments[2]?arguments[2]:2e3,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200,o=ne.current,l=$.current,a=ee.current,c=null!==(t=F.current[n])&&void 0!==t?t:[],u=Object.fromEntries([n].concat((0,s.Z)(c.flatMap((function(e){return[e.source,e.target]})))).map((function(e){return[e,{}]})));return"zoom"===e?(console.log(l),l.nodeIds.length&&(console.log("emptying"),console.log("scope "+l.nodeIds),Y({nodeIds:[]})),void setTimeout((function(){return o.zoomToFit(r,i,(function(e){return u[e.id]}))}),50)):l.nodeIds.length?"add"!==a.localSame?(Y({nodeIds:[n]}),void setTimeout((function(){o.centerAt(0,0,r)}),50)):l.nodeIds.includes(n)&&l.nodeIds.some((function(e){return u[e]}))?(Y((function(e){return xe(xe({},e),{},{nodeIds:[].concat((0,s.Z)(e.nodeIds),[n])})})),void setTimeout((function(){return o.zoomToFit(r,i,(function(e){return u[e.id]}))}),50)):(Y({nodeIds:[n]}),void setTimeout((function(){o.centerAt(0,0,r)}),50)):(Y({nodeIds:[n]}),void setTimeout((function(){o.centerAt(0,0,r)}),50))};return(0,u.useEffect)((function(){re.current=new ge.Z("ws://localhost:35903"),re.current.addEventListener("open",(function(e){console.log("Connection with Emacs established")})),re.current.addEventListener("message",(function(e){ne.current;var n=ee.current,t=JSON.parse(e.data);switch(t.type){case"graphdata":return function(e){var n;A.current=null!==(n=e.tags)&&void 0!==n?n:[];var t=e.nodes.reduce((function(e,n){var t;return xe(xe({},e),{},(0,a.Z)({},n.file,[].concat((0,s.Z)(null!==(t=e[n.file])&&void 0!==t?t:[]),[n])))}),{}),r=Object.keys(t).flatMap((function(e){var n,r=null!==(n=t[e])&&void 0!==n?n:[],i=r.find((function(e){return 0===e.level})),o=r.filter((function(e){return 0!==e.level}));return i?o.map((function(e){return{source:e.id,target:i.id,type:"parent"}})):[]}));B.current=Object.fromEntries(e.nodes.map((function(e){return[e.id,e]})));var i=[].concat((0,s.Z)(e.links),(0,s.Z)(r)).filter((function(e){var n=e.source,t=e.target;return B.current[n]&&B.current[t]}));F.current=i.reduce((function(e,n){var t,r,i;return xe(xe({},e),{},(i={},(0,a.Z)(i,n.source,[].concat((0,s.Z)(null!==(t=e[n.source])&&void 0!==t?t:[]),[n])),(0,a.Z)(i,n.target,[].concat((0,s.Z)(null!==(r=e[n.target])&&void 0!==r?r:[]),[n])),i))}),{});var o=xe(xe({},e),{},{links:i}),l=JSON.parse(JSON.stringify(o));C(l)}(t.data);case"theme":return V(t.data);case"command":switch(t.data.commandName){case"local":var r=z.zoomSpeed,i=z.zoomPadding;ie("local",t.data.id,r,i),w(t.data.id);break;case"zoom":var o,l,c=(null===t||void 0===t||null===(o=t.data)||void 0===o?void 0:o.speed)||n.zoomSpeed,u=(null===t||void 0===t||null===(l=t.data)||void 0===l?void 0:l.padding)||n.zoomPadding;ie("zoom",t.data.id,c,u),w(t.data.id);break;case"follow":ie(n.follow,t.data.id,n.zoomSpeed,n.zoomPadding),w(t.data.id);break;default:return console.error("unknown message type",t.type)}}}))}),[]),b?(0,l.jsxs)(j.xu,{display:"flex",alignItems:"flex-start",flexDirection:"row",height:"100%",children:[(0,l.jsx)(oe,xe(xe({},{physics:t,setPhysics:r,threeDim:X,setThreeDim:_,filter:h,setFilter:g,visuals:p,setVisuals:m,mouse:E,setMouse:Z,behavior:z,setBehavior:T,tagColors:Q,setTagColors:q}),{},{tags:A.current})),(0,l.jsx)(j.xu,{position:"absolute",alignItems:"top",children:(0,l.jsx)(ye,xe({ref:ne,nodeById:B.current,linksByNodeId:F.current,webSocket:re.current},{physics:t,graphData:b,threeDim:X,emacsNodeId:k,filter:h,visuals:p,behavior:z,mouse:E,scope:J,setScope:Y,tagColors:Q}))})]}):null}var ye=(0,u.forwardRef)((function(e,n){var t=e.physics,r=e.graphData,d=e.threeDim,h=e.linksByNodeId,j=e.filter,m=e.emacsNodeId,v=e.nodeById,b=e.visuals,C=(e.behavior,e.mouse),y=e.scope,k=e.setScope,S=e.webSocket,L=e.tagColors,I=(0,f.iP)(),O=(0,c.Z)(I,2),N=O[0],D=O[1],R=(0,u.useState)(null),z=R[0],T=R[1],H=(0,p.useTheme)(),P=(0,u.useContext)(te.N).emacsTheme,E=function(e,n){switch(e){case C.local:if(y.nodeIds.includes(n.id))break;k((function(e){return xe(xe({},e),{},{nodeIds:[].concat((0,s.Z)(e.nodeIds),[n.id])})}));break;case C.follow:S.send(n.id)}},Z=(0,u.useRef)(null);(0,u.useEffect)((function(){m&&T(v[m])}),[m]),Z.current=z;var B=(0,u.useMemo)((function(){if(!Z.current)return{};var e=h[Z.current.id];return e?Object.fromEntries([Z.current.id].concat((0,s.Z)(e.flatMap((function(e){return[e.source,e.target]})))).map((function(e){return[e,{}]}))):{}}),[Z.current,h]),F=(0,u.useRef)({}),A=((0,u.useRef)({}),(0,u.useMemo)((function(){F.current={};var e=r.nodes.filter((function(e){var n=e;return j.tagsBlacklist.length&&j.tagsBlacklist.some((function(e){return n.tags.indexOf(e)>-1}))||j.tagsWhitelist.length>0&&!j.tagsWhitelist.some((function(e){return n.tags.indexOf(e)>-1}))?(F.current=xe(xe({},F.current),{},(0,a.Z)({},n.id,n)),!1):!j.fileless_cites||!n.properties.FILELESS||(F.current=xe(xe({},F.current),{},(0,a.Z)({},n.id,n)),!1)})).filter((function(e){var n,t=(null!==(n=h[e.id])&&void 0!==n?n:[]).filter((function(e){return!F.current[e.source]&&!F.current[e.target]}));return!j.orphans||(j.parents?0!==t.length:0!==t.length&&t.some((function(e){return!["parent"].includes(e.type)})))})),n=e.map((function(e){return e.id}));return{filteredNodes:e,filteredLinks:r.links.filter((function(e){var t=be(e),r=(0,c.Z)(t,2),i=r[0],o=r[1];if(j.tagsBlacklist.length||j.tagsWhitelist.length||j.fileless_cites)return n.includes(i)&&n.includes(o);var l=e;return j.parents||"parent"!==l.type}))}}),[j,r])),V=(0,u.useMemo)((function(){var e=A.filteredNodes.filter((function(e){var n,t=null!==(n=h[e.id])&&void 0!==n?n:[];return y.nodeIds.includes(e.id)||t.some((function(e){return y.nodeIds.includes(e.source)||y.nodeIds.includes(e.target)}))})),n=e.map((function(e){return e.id})),t=A.filteredLinks.filter((function(e){var t=be(e),r=(0,c.Z)(t,2),i=r[0],o=r[1];return n.includes(i)&&n.includes(o)}));return 0===y.nodeIds.length?{nodes:A.filteredNodes,links:A.filteredLinks}:{nodes:e,links:t}}),[j,y,r]);(0,u.useEffect)((function(){(0,o.Z)(i().mark((function e(){var r,o;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=n.current,e.next=3,pe;case 3:o=e.sent,t.gravityOn?(r.d3Force("x",o.forceX().strength(t.gravity)),r.d3Force("y",o.forceY().strength(t.gravity)),d&&r.d3Force("z",o.forceZ().strength(t.gravity))):(r.d3Force("x",null),r.d3Force("y",null),d&&r.d3Force("z",null)),t.centering?r.d3Force("center",o.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?o.forceCollide().radius(t.collisionStrength):null);case 10:case"end":return e.stop()}}),e)})))()})),(0,u.useEffect)((function(){var e;null===(e=n.current)||void 0===e||e.d3ReheatSimulation()}),[t]);var M=(0,u.useRef)(0),W=(0,u.useState)(1),X=W[0],_=W[1],U=(0,x._7)((function(e){return _(e)}),{duration:b.animationSpeed,algorithm:w[b.algorithmName]}),G=(0,c.Z)(U,2),Q=G[0],q=G[1],K=(0,x._7)((function(e){return _(Math.min(X,-1*(e-1)))}),{duration:b.animationSpeed,algorithm:w[b.algorithmName]}),J=(0,c.Z)(K,2),Y=J[0],$=J[1],ee=(0,u.useRef)(null);(0,u.useEffect)((function(){if(z&&(ee.current=z),!b.highlightAnim)return _(z?1:0);z?Q():(q(),X>.5?Y():_(0))}),[z]);var ne=function(e){if(H)return e.split(".").reduce((function(e,n){return e[n]}),H.colors)},re=(0,u.useMemo)((function(){var e=b.nodeColorScheme.concat(b.linkColorScheme||[],b.linkHighlight||[],b.nodeHighlight||[],b.citeNodeColor||[],b.citeLinkColor||[],b.citeLinkHighlightColor||[],b.refNodeColor||[],b.refLinkColor||[],b.refLinkHighlightColor||[]);return Object.fromEntries(e.map((function(n){var t=ne(n),r=e.map((function(e){return[e,g.Z(t,ne(e))]}));return[n,Object.fromEntries(r)]})))}),[b.nodeColorScheme,b.linkHighlight,b.nodeHighlight,b.linkColorScheme,P]),ie=(0,u.useMemo)((function(){var e,n,t,r=null!==(e=h[null===(n=ee.current)||void 0===n?void 0:n.id])&&void 0!==e?e:[];return Object.fromEntries([null===(t=ee.current)||void 0===t?void 0:t.id].concat((0,s.Z)(r.flatMap((function(e){return[e.source,e.target]})))).map((function(e){return[e,{}]})))}),[JSON.stringify(z),ee.current]),oe=function(e){var n,t,r,i,o,l,s=null!==(n=null===(t=h[e])||void 0===t?void 0:t.length)&&void 0!==n?n:0,a=s?null===(r=h[e])||void 0===r?void 0:r.filter((function(e){return"parent"===e.type})).length:0,c=j.parents?s:s-a;return b.nodeColorScheme[(i=c,o=0,l=b.nodeColorScheme.length-1,Math.min(Math.max(i,o),l))]},le=function(e,n){return h[e]>h[n]?oe(e):oe(n)},se=function(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(",")+")"},ae=(0,u.useMemo)((function(){return ne(b.labelTextColor)}),[b.labelTextColor,P]),ce=(0,u.useMemo)((function(){return ne(b.labelBackgroundColor)}),[b.labelBackgroundColor,P]),ue={graphData:V,width:N,height:D,backgroundColor:H.colors.gray[b.backgroundColor],nodeLabel:function(e){return e.title},nodeColor:function(e){return function(e){var n=B[e.id]||ie[e.id];if(b.emacsNodeColor&&e.id===m)return ne(b.emacsNodeColor);if(L&&e.tags.some((function(e){return L[e]}))){var t=L[e.tags.filter((function(e){return L[e]}))[0]];return ne(t)}return b.citeNodeColor&&e.properties.ROAM_REFS&&e.properties.FILELESS?ne(b.citeNodeColor):b.refNodeColor&&e.properties.ROAM_REFS?ne(b.refNodeColor):n&&b.nodeHighlight?re[oe(e.id)][b.nodeHighlight](X):ne(oe(e.id))}(e)},nodeRelSize:b.nodeRel,nodeVal:function(e){var n,t=null!==(n=h[e.id])&&void 0!==n?n:[],r=t.length?t.filter((function(e){return"parent"===e.type})).length:0;return(3+t.length-(j.parents?0:r))*(B[e.id]||ie[e.id]?1+X*(b.highlightNodeSize-1):1)},nodeCanvasObject:function(e,n,t){if(e&&b.labels){var r=ie[e.id];if(!(t<=b.labelScale||1===b.labels)||B[e.id]||r){var i=e.title,o=i.substring(0,Math.min(i.length,40)),l=12/t,a=[1.1*n.measureText(o).width,l].map((function(e){return e+.5*l})),c=Math.min(3*(t-b.labelScale)/b.labelScale,1),u=function(){return 1===b.labels||t<=b.labelScale?X:B[e.id]||ie[e.id]?Math.max(c,X):1*c*(-1*(.5*X-1))};if(b.labelBackgroundColor&&b.labelBackgroundOpacity){var d=u()*b.labelBackgroundOpacity,h=se(ce,d);n.fillStyle=h,n.fillRect.apply(n,[e.x-a[0]/2,e.y-a[1]/2].concat((0,s.Z)(a)))}var g=u();n.textAlign="center",n.textBaseline="middle";var f=se(ae,g);n.fillStyle=f,n.font="".concat(l,"px Sans-Serif"),n.fillText(o,e.x,e.y)}}},nodeCanvasObjectMode:function(){return"after"},linkDirectionalParticles:b.particles?b.particlesNumber:void 0,linkDirectionalArrowLength:b.arrows?b.arrowsLength:void 0,linkDirectionalArrowRelPos:b.arrowsPos,linkDirectionalArrowColor:b.arrowsColor?function(e){return ne(b.arrowsColor)}:void 0,linkColor:function(e){var n="object"===typeof e.source?e.source.id:e.source,t="object"===typeof e.target?e.target.id:e.target,r=ke(e,Z.current),i=ke(e,ee.current),o=r||i,l=e;return b.refLinkColor&&"ref"===l.type?o&&(b.refLinkHighlightColor||b.linkHighlight)?re[b.refLinkColor][b.refLinkHighlightColor||b.linkHighlight](X):ne(b.refLinkColor):b.citeLinkColor&&"cite"===l.type?o&&(b.citeLinkHighlightColor||b.linkHighlight)?re[b.citeLinkColor][b.citeLinkHighlightColor||b.linkHighlight](X):ne(b.citeLinkColor):function(e,n,t){if(!b.linkHighlight&&!b.linkColorScheme&&!t){var r=le(e,n);return ne(r)}if(!t&&!b.linkColorScheme){var i=le(e,n);return ne(i)}if(!t)return ne(b.linkColorScheme);if(!b.linkHighlight&&!b.linkColorScheme){var o=le(e,n);return ne(o)}return b.linkHighlight?b.linkColorScheme?re[b.linkColorScheme][b.linkHighlight](X):re[le(e,n)][b.linkHighlight](X):ne(b.linkColorScheme)}(n,t,o)},linkWidth:function(e){var n=ke(e,Z.current),t=ke(e,ee.current);return n||t?b.linkWidth*(1+X*(b.highlightLinkSize-1)):b.linkWidth},linkDirectionalParticleWidth:b.particlesWidth,d3AlphaDecay:t.alphaDecay,d3AlphaMin:t.alphaMin,d3VelocityDecay:t.velocityDecay,onNodeClick:function(e,n){var t=n.timeStamp-M.current<400;return M.current=n.timeStamp,E(t?"double":"click",e)},onBackgroundClick:function(){T(null),0!==y.nodeIds.length&&k((function(e){return xe(xe({},e),{},{nodeIds:[]})}))},onNodeHover:function(e){b.highlight&&(z||($(),_(0)),T(e))},onNodeRightClick:function(e){E("right",e)}};return(0,l.jsx)("div",{children:d?(0,l.jsx)(me,xe(xe({ref:n},ue),{},{nodeThreeObjectExtend:!0,backgroundColor:H.colors.white,nodeOpacity:b.nodeOpacity,nodeResolution:b.nodeResolution,linkOpacity:b.linkOpacity,nodeThreeObject:function(e){if(b.labels&&(!(b.labels<3)||B[e.id])){var n=new he.Z(e.title.substring(0,40));return n.color=ne(b.labelTextColor),n.backgroundColor=ne(b.labelBackgroundColor),n.padding=2,n.textHeight=8,n}}})):(0,l.jsx)(je,xe(xe({ref:n},ue),{},{linkLineDash:function(e){var n=e;return b.citeDashes&&"cite"===n.type?[b.citeDashLength,b.citeGapLength]:b.refDashes&&"ref"==n.type?[b.refDashLength,b.refGapLength]:null}}))})}));function ke(e,n){return e.source.id===(null===n||void 0===n?void 0:n.id)||e.target.id===(null===n||void 0===n?void 0:n.id)}},45301:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/",function(){return t(374)}])}},function(e){e.O(0,[774,737,446,13,888,179],(function(){return n=45301,e(e.s=n);var n}));var n=e.O();_N_E=n}]); \ No newline at end of file diff --git a/out/_next/static/zMdEAFWLCg5pI2rbcMn9E/_buildManifest.js b/out/_next/static/zMdEAFWLCg5pI2rbcMn9E/_buildManifest.js deleted file mode 100644 index 1607f30..0000000 --- a/out/_next/static/zMdEAFWLCg5pI2rbcMn9E/_buildManifest.js +++ /dev/null @@ -1 +0,0 @@ -self.__BUILD_MANIFEST={__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":["static/chunks/fb7d5399-0d6001c72a29ebec41eb.js","static/chunks/d25bd147-2c59edc357c0e2372258.js","static/chunks/13-b599b309c84d7675574b.js","static/chunks/pages/index-45f2a558d86856abeaa9.js"],"/_error":["static/chunks/pages/_error-f5e67a79c709c2df06b8.js"],sortedPages:["/","/_app","/_error"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/out/_next/static/zMdEAFWLCg5pI2rbcMn9E/_ssgManifest.js b/out/_next/static/zMdEAFWLCg5pI2rbcMn9E/_ssgManifest.js deleted file mode 100644 index 0511aa8..0000000 --- a/out/_next/static/zMdEAFWLCg5pI2rbcMn9E/_ssgManifest.js +++ /dev/null @@ -1 +0,0 @@ -self.__SSG_MANIFEST=new Set,self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB(); \ No newline at end of file diff --git a/out/index.html b/out/index.html index 9c0ab8c..dd4f50f 100644 --- a/out/index.html +++ b/out/index.html @@ -19,9 +19,9 @@ - - - + + +
@@ -697,7 +697,7 @@ "props": { "pageProps": {} }, "page": "/", "query": {}, - "buildId": "zMdEAFWLCg5pI2rbcMn9E", + "buildId": "2giOJ1nmT-CM3zCDwFm5_", "nextExport": true, "autoExport": true, "isFallback": false, diff --git a/pages/index.tsx b/pages/index.tsx index c829fef..65c7eae 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -73,8 +73,10 @@ export default function Home() { function normalizeLinkEnds(link: OrgRoamLink | LinkObject): [string, string] { // we need to cover both because force-graph modifies the original data // but if we supply the original data on each render, the graph will re-render sporadically - const sourceId = typeof link.source === 'object' ? (link.source.id! as string) : (link.source as string) - const targetId = typeof link.target === 'object' ? (link.target.id! as string) : (link.target as string) + const sourceId = + typeof link.source === 'object' ? (link.source.id! as string) : (link.source as string) + const targetId = + typeof link.target === 'object' ? (link.target.id! as string) : (link.target as string) return [sourceId, targetId] } @@ -418,6 +420,7 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) { }, [centralHighlightedNode.current, linksByNodeId]) const hiddenNodeIdsRef = useRef({}) + const filteredLinksByNodeId = useRef({}) const filteredGraphData = useMemo(() => { hiddenNodeIdsRef.current = {} const filteredNodes = graphData.nodes @@ -440,7 +443,7 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) { if (filter.fileless_cites && node.properties.FILELESS) { hiddenNodeIdsRef.current = { ...hiddenNodeIdsRef.current, [node.id]: node } return false - } + } return true }) .filter((nodeArg) => { @@ -463,13 +466,13 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) { return false } - return unhiddenLinks.some((link) => !['parent', 'ref'].includes(link.type)) + return unhiddenLinks.some((link) => !['parent'].includes(link.type)) }) const filteredNodeIds = filteredNodes.map((node) => node.id as string) const filteredLinks = graphData.links.filter((link) => { const [sourceId, targetId] = normalizeLinkEnds(link) - if (filter.tagsBlacklist.length || filter.tagsWhitelist.length){ + if (filter.tagsBlacklist.length || filter.tagsWhitelist.length || filter.fileless_cites) { return ( filteredNodeIds.includes(sourceId as string) && filteredNodeIds.includes(targetId as string) @@ -592,6 +595,9 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) { visuals.citeNodeColor || [], visuals.citeLinkColor || [], visuals.citeLinkHighlightColor || [], + visuals.refNodeColor || [], + visuals.refLinkColor || [], + visuals.refLinkHighlightColor || [], ) return Object.fromEntries( @@ -625,7 +631,7 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) { const getNodeColorById = (id: string) => { const linklen = linksByNodeId[id!]?.length ?? 0 const parentCiteNeighbors = linklen - ? linksByNodeId[id!]?.filter((link) => link.type === 'parent' || link.type === 'cite').length + ? linksByNodeId[id!]?.filter((link) => link.type === 'parent').length : 0 const neighbors = filter.parents ? linklen : linklen - parentCiteNeighbors! @@ -819,6 +825,7 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) { const linkWasHighlighted = isLinkRelatedToNode(link, lastHoverNode.current) const needsHighlighting = linkIsHighlighted || linkWasHighlighted const roamLink = link as OrgRoamLink + if (visuals.refLinkColor && roamLink.type === 'ref') { return needsHighlighting && (visuals.refLinkHighlightColor || visuals.linkHighlight) ? highlightColors[visuals.refLinkColor][ -- cgit v1.2.3