From 047dfbbbf739481734579ec952cc6283831af1ac Mon Sep 17 00:00:00 2001 From: "Thomas F. K. Jorna" Date: Tue, 3 Aug 2021 11:59:19 +0200 Subject: chore: build tag fix --- out/404.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'out/404.html') diff --git a/out/404.html b/out/404.html index 6db5702..07cef7b 100644 --- a/out/404.html +++ b/out/404.html @@ -16,10 +16,10 @@ - + - - + +
@@ -753,7 +753,7 @@ "props": { "pageProps": { "statusCode": 404 } }, "page": "/_error", "query": {}, - "buildId": "faIfNptb0fH0Ziqoouvmn", + "buildId": "25Qud6GB6GP8XFN1eDqNi", "nextExport": true, "isFallback": false, "gip": true, -- cgit v1.2.3 From a0f0e5aabee5b3bad68afb7eab092b684275e6fa Mon Sep 17 00:00:00 2001 From: "Thomas F. K. Jorna" Date: Tue, 3 Aug 2021 13:18:38 +0200 Subject: fix: make tags update correctly and show them on refresh --- components/tweaks.tsx | 14 +- out/404.html | 6 +- .../static/25Qud6GB6GP8XFN1eDqNi/_buildManifest.js | 12 - .../static/25Qud6GB6GP8XFN1eDqNi/_ssgManifest.js | 1 - .../static/DEWNAb9qrxKluipBrYTq4/_buildManifest.js | 12 + .../static/DEWNAb9qrxKluipBrYTq4/_ssgManifest.js | 1 + .../chunks/pages/index-5e5acac3b4261d15dbc3.js | 2874 ------------------- .../chunks/pages/index-689c814695b38e570f06.js | 2882 ++++++++++++++++++++ out/index.html | 8 +- 9 files changed, 2913 insertions(+), 2897 deletions(-) delete mode 100644 out/_next/static/25Qud6GB6GP8XFN1eDqNi/_buildManifest.js delete mode 100644 out/_next/static/25Qud6GB6GP8XFN1eDqNi/_ssgManifest.js create mode 100644 out/_next/static/DEWNAb9qrxKluipBrYTq4/_buildManifest.js create mode 100644 out/_next/static/DEWNAb9qrxKluipBrYTq4/_ssgManifest.js delete mode 100644 out/_next/static/chunks/pages/index-5e5acac3b4261d15dbc3.js create mode 100644 out/_next/static/chunks/pages/index-689c814695b38e570f06.js (limited to 'out/404.html') diff --git a/components/tweaks.tsx b/components/tweaks.tsx index cb1fec0..5561a1b 100644 --- a/components/tweaks.tsx +++ b/components/tweaks.tsx @@ -1299,7 +1299,11 @@ export const TagPanel = (props: TagPanelProps) => { }) // .concat[{ value: 'placeholder', label: 'New filter' }] - const [selectedItems, setSelectedItems] = useState([]) + const [selectedItems, setSelectedItems] = useState( + filter.tags.map((tag) => { + return { value: tag, label: tag } + }), + ) return ( { onSelectedItemsChange={(changes) => { if (changes.selectedItems) { setSelectedItems(changes.selectedItems) - setFilter({ ...filter, tags: selectedItems.map((item) => item.value) }) + setFilter({ ...filter, tags: changes.selectedItems.map((item) => item.value) }) } }} listItemStyleProps={{ overflow: 'hidden' }} @@ -1349,7 +1353,11 @@ export const TagColorPanel = (props: TagColorPanelProps) => { return { value: tag, label: tag } }) - const [selectedItems, setSelectedItems] = useState([]) + const [selectedItems, setSelectedItems] = useState( + Object.keys(tagColors).map((tag) => { + return { value: tag, label: tag } + }), + ) return ( diff --git a/out/404.html b/out/404.html index 07cef7b..aa19d0d 100644 --- a/out/404.html +++ b/out/404.html @@ -18,8 +18,8 @@ - - + +
@@ -753,7 +753,7 @@ "props": { "pageProps": { "statusCode": 404 } }, "page": "/_error", "query": {}, - "buildId": "25Qud6GB6GP8XFN1eDqNi", + "buildId": "DEWNAb9qrxKluipBrYTq4", "nextExport": true, "isFallback": false, "gip": true, diff --git a/out/_next/static/25Qud6GB6GP8XFN1eDqNi/_buildManifest.js b/out/_next/static/25Qud6GB6GP8XFN1eDqNi/_buildManifest.js deleted file mode 100644 index 5ec6e34..0000000 --- a/out/_next/static/25Qud6GB6GP8XFN1eDqNi/_buildManifest.js +++ /dev/null @@ -1,12 +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-5e5acac3b4261d15dbc3.js', - ], - '/_error': ['static/chunks/pages/_error-f5e67a79c709c2df06b8.js'], - sortedPages: ['/', '/_app', '/_error'], -}), - self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB() diff --git a/out/_next/static/25Qud6GB6GP8XFN1eDqNi/_ssgManifest.js b/out/_next/static/25Qud6GB6GP8XFN1eDqNi/_ssgManifest.js deleted file mode 100644 index 82bedd6..0000000 --- a/out/_next/static/25Qud6GB6GP8XFN1eDqNi/_ssgManifest.js +++ /dev/null @@ -1 +0,0 @@ -;(self.__SSG_MANIFEST = new Set()), self.__SSG_MANIFEST_CB && self.__SSG_MANIFEST_CB() diff --git a/out/_next/static/DEWNAb9qrxKluipBrYTq4/_buildManifest.js b/out/_next/static/DEWNAb9qrxKluipBrYTq4/_buildManifest.js new file mode 100644 index 0000000..c84d2fe --- /dev/null +++ b/out/_next/static/DEWNAb9qrxKluipBrYTq4/_buildManifest.js @@ -0,0 +1,12 @@ +;(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-689c814695b38e570f06.js', + ], + '/_error': ['static/chunks/pages/_error-f5e67a79c709c2df06b8.js'], + sortedPages: ['/', '/_app', '/_error'], +}), + self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB() diff --git a/out/_next/static/DEWNAb9qrxKluipBrYTq4/_ssgManifest.js b/out/_next/static/DEWNAb9qrxKluipBrYTq4/_ssgManifest.js new file mode 100644 index 0000000..82bedd6 --- /dev/null +++ b/out/_next/static/DEWNAb9qrxKluipBrYTq4/_ssgManifest.js @@ -0,0 +1 @@ +;(self.__SSG_MANIFEST = new Set()), self.__SSG_MANIFEST_CB && self.__SSG_MANIFEST_CB() diff --git a/out/_next/static/chunks/pages/index-5e5acac3b4261d15dbc3.js b/out/_next/static/chunks/pages/index-5e5acac3b4261d15dbc3.js deleted file mode 100644 index 973b286..0000000 --- a/out/_next/static/chunks/pages/index-5e5acac3b4261d15dbc3.js +++ /dev/null @@ -1,2874 +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: 0.05, - linkStrength: 0.1, - linkIts: 1, - alphaDecay: 0.02, - alphaTarget: 0, - alphaMin: 0, - velocityDecay: 0.25, - gravity: 0.3, - gravityOn: !0, - }, - I = { orphans: !1, parents: !0, tags: [], nodes: [], links: [], date: [] }, - O = { - particles: !1, - particlesNumber: 0, - particlesWidth: 4, - arrows: !1, - arrowsLength: 1, - arrowsPos: 0.5, - arrowsColor: '', - linkOpacity: 0.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: 0.7, - citeDashes: !0, - citeDashLength: 35, - citeGapLength: 15, - citeLinkColor: 'gray.600', - 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), - E = t(93441), - Z = t(6569), - H = t(24189), - B = t(2827), - A = t(90454), - F = t(48420), - M = t(96699), - V = t(40155), - X = t(56769), - W = 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; n < arguments.length; n++) { - var t = null != arguments[n] ? arguments[n] : {} - n % 2 - ? re(Object(t), !0).forEach(function (n) { - ;(0, a.Z)(e, n, t[n]) - }) - : Object.getOwnPropertyDescriptors - ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) - : re(Object(t)).forEach(function (n) { - Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n)) - }) - } - return e - } - var oe = function (e) { - var n = e.physics, - t = e.setPhysics, - r = e.threeDim, - i = e.setThreeDim, - o = e.filter, - a = e.setFilter, - d = e.visuals, - h = e.setVisuals, - g = e.mouse, - f = e.setMouse, - x = e.behavior, - p = e.setBehavior, - m = e.tags, - v = e.tagColors, - b = e.setTagColors, - C = (0, u.useState)(!0), - y = C[0], - k = C[1], - w = (0, u.useContext)(te.N), - H = w.highlightColor, - B = w.setHighlightColor, - $ = [ - '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', - ] - return (0, l.jsxs)(l.Fragment, { - children: [ - (0, l.jsx)(A.R, { - in: !y, - children: (0, l.jsx)(j.xu, { - position: 'absolute', - zIndex: 'overlay', - marginTop: 10, - marginLeft: 10, - display: y ? 'none' : 'block', - children: (0, l.jsx)(F.h, { - 'aria-label': 'Settings', - icon: (0, l.jsx)(T.e, {}), - onClick: function () { - return k(!0) - }, - }), - }), - }), - (0, l.jsx)(A.R, { - in: y, - children: (0, l.jsxs)(j.xu, { - bg: 'alt.100', - w: 'xs', - marginTop: 10, - marginLeft: 10, - borderRadius: 'xl', - maxH: 650, - paddingBottom: 5, - zIndex: 300, - position: 'relative', - boxShadow: 'xl', - children: [ - (0, l.jsxs)(j.xu, { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - paddingRight: 2, - paddingTop: 1, - children: [ - (0, l.jsx)(M.u, { - label: '2D', - children: (0, l.jsx)(V.z, { - onClick: function () { - return i(!r) - }, - variant: 'ghost', - zIndex: 'overlay', - children: r ? '3D' : '2D', - }), - }), - (0, l.jsxs)(j.xu, { - display: 'flex', - alignItems: 'center', - children: [ - (0, l.jsx)(M.u, { - label: 'Reset settings to defaults', - children: (0, l.jsx)(F.h, { - 'aria-label': 'Reset Defaults', - icon: (0, l.jsx)(R.A, {}), - onClick: function () { - h(O), a(I), f(L), t(S), p(N) - }, - variant: 'none', - size: 'sm', - }), - }), - (0, l.jsx)(F.h, { - size: 'sm', - icon: (0, l.jsx)(D.T, {}), - 'aria-label': 'Close Tweak Panel', - variant: 'ghost', - onClick: function () { - return k(!1) - }, - }), - ], - }), - ], - }), - (0, l.jsx)(ne.ZP, { - autoHeight: !0, - autoHeightMax: 600, - autoHide: !0, - renderThumbVertical: function (e) { - var n = e.style, - t = (0, z.Z)(e, ['style']) - return (0, l.jsx)( - j.xu, - ie( - ie({}, t), - {}, - { style: ie(ie({}, n), {}, { borderRadius: 10 }), bg: H }, - ), - ) - }, - children: (0, l.jsxs)(X.UQ, { - allowMultiple: !0, - allowToggle: !0, - color: 'black', - children: [ - (0, l.jsxs)(X.Qd, { - children: [ - (0, l.jsxs)(X.KF, { - children: [ - (0, l.jsx)(X.XE, { marginRight: 2 }), - (0, l.jsx)(W.X, { size: 'sm', children: 'Filter' }), - ], - }), - (0, l.jsxs)(X.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, { - justifyContent: 'space-between', - children: [ - (0, l.jsx)(Q.x, { children: 'Orphans' }), - (0, l.jsx)(q.r, { - onChange: function () { - a(ie(ie({}, o), {}, { orphans: !o.orphans })) - }, - isChecked: o.orphans, - }), - ], - }), - (0, l.jsxs)(U.k, { - justifyContent: 'space-between', - children: [ - (0, l.jsx)(Q.x, { - children: 'Link nodes with parent file', - }), - (0, l.jsx)(q.r, { - onChange: function () { - a(ie(ie({}, o), {}, { parents: !o.parents })) - }, - isChecked: o.parents, - }), - ], - }), - ], - }), - (0, l.jsxs)(X.UQ, { - padding: 0, - allowToggle: !0, - allowMultiple: !0, - paddingLeft: 3, - children: [ - (0, l.jsxs)(X.Qd, { - children: [ - (0, l.jsxs)(X.KF, { - children: ['Tag filters', (0, l.jsx)(X.XE, {})], - }), - (0, l.jsx)(X.Hk, { - pr: 0, - mr: 0, - children: (0, l.jsx)(ue, { - highlightColor: H, - filter: o, - setFilter: a, - tags: m, - }), - }), - ], - }), - (0, l.jsxs)(X.Qd, { - children: [ - (0, l.jsxs)(X.KF, { - children: ['Tag Colors', (0, l.jsx)(X.XE, {})], - }), - (0, l.jsx)(X.Hk, { - pr: 0, - mr: 0, - children: (0, l.jsx)(de, { - tags: m, - colorList: $, - tagColors: v, - setTagColors: b, - highlightColor: H, - }), - }), - ], - }), - ], - }), - ], - }), - ], - }), - (0, l.jsxs)(X.Qd, { - children: [ - (0, l.jsx)(X.KF, { - display: 'flex', - justifyContent: 'space-between', - children: (0, l.jsxs)(j.xu, { - display: 'flex', - children: [ - (0, l.jsx)(X.XE, { marginRight: 2 }), - (0, l.jsx)(W.X, { size: 'sm', children: 'Physics' }), - ], - }), - }), - (0, l.jsxs)(X.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.jsx)(ae, { - label: 'Gravity', - value: n.gravityOn, - onChange: function () { - return t(ie(ie({}, n), {}, { gravityOn: !n.gravityOn })) - }, - children: (0, l.jsx)(se, { - label: 'Strength', - value: 10 * n.gravity, - onChange: function (e) { - return t(ie(ie({}, n), {}, { gravity: e / 10 })) - }, - }), - }), - (0, l.jsx)(se, { - value: -n.charge / 100, - onChange: function (e) { - return t(ie(ie({}, n), {}, { charge: -100 * e })) - }, - label: 'Repulsive Force', - }), - (0, l.jsx)(ae, { - label: 'Collision', - infoText: 'Perfomance sap, disable if slow', - value: n.collision, - onChange: function () { - return t(ie(ie({}, n), {}, { collision: !n.collision })) - }, - children: (0, l.jsx)(se, { - value: n.collisionStrength / 5, - onChange: function (e) { - return t( - ie(ie({}, n), {}, { collisionStrength: 5 * e }), - ) - }, - label: 'Collision Radius', - infoText: - 'Easy with this one, high values can lead to a real jiggly mess', - }), - }), - (0, l.jsx)(se, { - value: 5 * n.linkStrength, - onChange: function (e) { - return t(ie(ie({}, n), {}, { linkStrength: e / 5 })) - }, - label: 'Link Force', - }), - (0, l.jsx)(se, { - label: 'Link Iterations', - value: n.linkIts, - onChange: function (e) { - return t(ie(ie({}, n), {}, { linkIts: e })) - }, - min: 0, - max: 6, - step: 1, - infoText: - 'How many links down the line the physics of a single node affects (Slow)', - }), - (0, l.jsx)(se, { - label: 'Viscosity', - value: 10 * n.velocityDecay, - onChange: function (e) { - return t(ie(ie({}, n), {}, { velocityDecay: e / 10 })) - }, - }), - ], - }), - (0, l.jsx)(j.xu, { - children: (0, l.jsx)(X.UQ, { - paddingLeft: 3, - allowToggle: !0, - children: (0, l.jsxs)(X.Qd, { - children: [ - (0, l.jsxs)(X.KF, { - children: [ - (0, l.jsx)(Q.x, { children: 'Advanced' }), - (0, l.jsx)(X.XE, { marginRight: 2 }), - ], - }), - (0, l.jsx)(X.Hk, { - children: (0, l.jsxs)(_.gC, { - spacing: 2, - justifyContent: 'flex-start', - divider: (0, l.jsx)(_.cX, { - borderColor: 'gray.500', - }), - align: 'stretch', - paddingLeft: 3, - color: 'gray.800', - children: [ - (0, l.jsx)(se, { - label: 'Stabilization rate', - value: 50 * n.alphaDecay, - onChange: function (e) { - return t( - ie(ie({}, n), {}, { alphaDecay: e / 50 }), - ) - }, - }), - (0, l.jsx)(ae, { - label: 'Center nodes', - value: n.centering, - onChange: function () { - return t( - ie( - ie({}, n), - {}, - { centering: !n.centering }, - ), - ) - }, - infoText: - 'Keeps the nodes in the center of the viewport. If disabled you can drag the nodes anywhere you want.', - children: (0, l.jsx)(se, { - label: 'Centering Strength', - value: n.centeringStrength, - max: 2, - step: 0.01, - onChange: function (e) { - return t( - ie(ie({}, n), {}, { centeringStrength: e }), - ) - }, - }), - }), - ], - }), - }), - ], - }), - }), - }), - ], - }), - ], - }), - (0, l.jsxs)(X.Qd, { - children: [ - (0, l.jsxs)(X.KF, { - children: [ - (0, l.jsx)(X.XE, { marginRight: 2 }), - (0, l.jsx)(W.X, { size: 'sm', children: 'Visual' }), - ], - }), - (0, l.jsx)(X.Hk, { - children: (0, l.jsxs)(_.gC, { - justifyContent: 'flex-start', - align: 'stretch', - children: [ - (0, l.jsx)(X.UQ, { - allowToggle: !0, - defaultIndex: [0], - paddingLeft: 3, - children: (0, l.jsxs)(X.Qd, { - children: [ - (0, l.jsx)(X.KF, { - children: (0, l.jsxs)(U.k, { - justifyContent: 'space-between', - w: '100%', - children: [ - (0, l.jsx)(Q.x, { children: 'Colors' }), - (0, l.jsx)(X.XE, { marginRight: 2 }), - ], - }), - }), - (0, l.jsx)(X.Hk, { - children: (0, l.jsx)(_.gC, { - spacing: 2, - justifyContent: 'flex-start', - divider: (0, l.jsx)(_.cX, { - borderColor: 'gray.500', - }), - align: 'stretch', - color: 'gray.800', - children: (0, l.jsxs)(j.xu, { - children: [ - (0, l.jsxs)(U.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(Q.x, { children: 'Nodes' }), - (0, l.jsx)(M.u, { - label: 'Shuffle node colors', - children: (0, l.jsx)(F.h, { - 'aria-label': 'Shuffle node colors', - size: 'sm', - icon: (0, l.jsx)(P.n, {}), - variant: 'ghost', - onClick: function () { - var e, - n = - null !== (e = d.nodeColorScheme) && - void 0 !== e - ? e - : [] - h( - ie( - ie({}, d), - {}, - { - nodeColorScheme: n - .map(function (e) { - return [Math.random(), e] - }) - .sort(function (e, n) { - return ( - (0, c.Z)(e, 1)[0] - - (0, c.Z)(n, 1)[0] - ) - }) - .map(function (e) { - var n = (0, c.Z)(e, 2) - n[0] - return n[1] - }), - }, - ), - ) - }, - }), - }), - (0, l.jsx)(M.u, { - label: 'Cycle node colors', - children: (0, l.jsx)(F.h, { - 'aria-label': 'Shift node colors', - icon: (0, l.jsx)(E.L, {}), - size: 'sm', - variant: 'ghost', - onClick: function () { - var e, - n = - null !== (e = d.nodeColorScheme) && - void 0 !== e - ? e - : [] - h( - ie( - ie({}, d), - {}, - { - nodeColorScheme: [].concat( - (0, s.Z)(n.slice(1, n.length)), - [n[0]], - ), - }, - ), - ) - }, - }), - }), - (0, l.jsxs)(K.v2, { - placement: 'right', - closeOnSelect: !1, - matchWidth: !0, - children: [ - (0, l.jsx)(K.j2, { - width: 20, - as: V.z, - colorScheme: '', - color: 'black', - rightIcon: (0, l.jsx)(Z.v, {}), - children: (0, l.jsx)(U.k, { - height: 6, - width: 6, - flexDirection: 'column', - flexWrap: 'wrap', - children: d.nodeColorScheme.map( - function (e) { - return (0, l.jsx)( - j.xu, - { - bgColor: e, - flex: '1 1 8px', - borderRadius: '2xl', - }, - e, - ) - }, - ), - }), - }), - (0, l.jsxs)(G.h, { - children: [ - ' ', - (0, l.jsx)(K.qy, { - minW: 10, - zIndex: 'popover', - bgColor: 'gray.200', - children: (0, l.jsx)(K.__, { - width: 500, - type: 'checkbox', - defaultValue: d.nodeColorScheme, - onChange: function (e) { - e.length && - h( - ie( - ie({}, d), - {}, - { nodeColorScheme: e }, - ), - ) - }, - children: $.map(function (e) { - return (0, l.jsx)( - K.ii, - { - isChecked: - d.nodeColorScheme.some( - function (n) { - return n === e - }, - ), - value: e, - isDisabled: - 1 === - d.nodeColorScheme - .length && - d.nodeColorScheme[0] === - e, - children: (0, l.jsx)(j.xu, { - justifyContent: - 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)( - j.xu, - { - bgColor: e, - borderRadius: 'sm', - height: 6, - width: 6, - }, - ), - }), - }, - e, - ) - }), - }), - }), - ], - }), - ], - }), - ], - }), - (0, l.jsxs)(U.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(Q.x, { children: 'Links' }), - (0, l.jsxs)(K.v2, { - placement: 'right', - children: [ - (0, l.jsx)(K.j2, { - as: V.z, - colorScheme: '', - color: 'black', - rightIcon: (0, l.jsx)(Z.v, {}), - children: (0, l.jsx)(j.xu, { - children: d.linkColorScheme - ? (0, l.jsx)(j.xu, { - bgColor: d.linkColorScheme, - borderRadius: 'sm', - height: 6, - width: 6, - }) - : (0, l.jsx)(U.k, { - height: 6, - width: 6, - flexDirection: 'column', - flexWrap: 'wrap', - children: d.nodeColorScheme.map( - function (e) { - return (0, l.jsx)( - j.xu, - { - bgColor: e, - flex: '1 1 8px', - borderRadius: '2xl', - }, - e, - ) - }, - ), - }), - }), - }), - (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 h( - ie( - ie({}, d), - {}, - { linkColorScheme: '' }, - ), - ) - }, - justifyContent: 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(U.k, { - height: 6, - width: 6, - flexDirection: 'column', - flexWrap: 'wrap', - children: - d.nodeColorScheme.map( - function (e) { - return (0, l.jsx)( - j.xu, - { - bgColor: e, - flex: '1 1 8px', - borderRadius: '2xl', - }, - e, - ) - }, - ), - }), - }), - $.map(function (e) { - return (0, l.jsx)( - K.sN, - { - onClick: function () { - return h( - ie( - ie({}, d), - {}, - { - linkColorScheme: e, - }, - ), - ) - }, - justifyContent: - 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(j.xu, { - bgColor: e, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }, - e, - ) - }), - ], - }), - ], - }), - ], - }), - ], - }), - (0, l.jsxs)(U.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(Q.x, { children: 'Accent' }), - (0, l.jsxs)(K.v2, { - placement: 'right', - children: [ - (0, l.jsx)(K.j2, { - as: V.z, - colorScheme: '', - color: 'black', - rightIcon: (0, l.jsx)(Z.v, {}), - children: (0, l.jsx)(j.xu, { - bgColor: H, - 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: $.map(function (e) { - return (0, l.jsx)( - K.sN, - { - onClick: function () { - return B(e) - }, - justifyContent: - 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(j.xu, { - bgColor: e, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }, - e, - ) - }), - }), - ], - }), - ], - }), - ], - }), - (0, l.jsx)(ce, { - colorList: $, - label: 'Link highlight', - visuals: d, - setVisuals: h, - value: 'linkHighlight', - visValue: d.linkHighlight, - }), - (0, l.jsx)(ce, { - colorList: $, - label: 'Node highlight', - visuals: d, - setVisuals: h, - value: 'nodeHighlight', - visValue: d.nodeHighlight, - }), - (0, l.jsx)(ce, { - colorList: $, - label: 'Background', - visuals: d, - setVisuals: h, - value: 'backgroundColor', - visValue: d.backgroundColor, - }), - (0, l.jsx)(ce, { - colorList: $, - label: 'Emacs node', - visuals: d, - setVisuals: h, - value: 'emacsNodeColor', - visValue: d.emacsNodeColor, - }), - ], - }), - }), - }), - ], - }), - }), - (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.jsx)(se, { - label: 'Node size', - value: d.nodeRel, - onChange: function (e) { - return h(ie(ie({}, d), {}, { nodeRel: e })) - }, - }), - r && - (0, l.jsxs)(l.Fragment, { - children: [ - (0, l.jsx)(se, { - label: 'Node opacity', - value: d.nodeOpacity, - min: 0, - max: 1, - onChange: function (e) { - return h(ie(ie({}, d), {}, { nodeOpacity: e })) - }, - }), - (0, l.jsx)(se, { - label: 'Node resolution', - value: d.nodeResolution, - min: 5, - max: 32, - step: 1, - onChange: function (e) { - return h(ie(ie({}, d), {}, { nodeResolution: e })) - }, - }), - ], - }), - (0, l.jsx)(se, { - label: 'Link width', - value: d.linkWidth, - onChange: function (e) { - return h(ie(ie({}, d), {}, { linkWidth: e })) - }, - }), - r && - (0, l.jsx)(se, { - label: 'Link opacity', - min: 0, - max: 1, - value: d.linkOpacity, - onChange: function (e) { - return h(ie(ie({}, d), {}, { linkOpacity: e })) - }, - }), - (0, l.jsxs)(ae, { - label: 'Dash cite links', - infoText: - 'Add dashes to citation links made with org-roam-bibtex', - value: d.citeDashes, - onChange: function () { - return h( - ie(ie({}, d), {}, { citeDashes: !d.citeDashes }), - ) - }, - children: [ - (0, l.jsx)(se, { - label: 'Dash length', - value: d.citeDashLength / 10, - onChange: function (e) { - return h( - ie(ie({}, d), {}, { citeDashLength: 10 * e }), - ) - }, - }), - (0, l.jsx)(se, { - label: 'Gap length', - value: d.citeGapLength / 5, - onChange: function (e) { - return h( - ie(ie({}, d), {}, { citeGapLength: 5 * e }), - ) - }, - }), - ], - }), - (0, l.jsx)(ce, { - colorList: $, - label: 'Citation node color', - visuals: d, - setVisuals: h, - value: 'citeNodeColor', - visValue: d.citeNodeColor, - }), - (0, l.jsx)(ce, { - colorList: $, - label: 'Citationlink color', - visuals: d, - setVisuals: h, - value: 'citeLinkColor', - visValue: d.citeLinkColor, - }), - (0, l.jsxs)(j.xu, { - children: [ - (0, l.jsxs)(U.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(Q.x, { children: 'Labels' }), - (0, l.jsxs)(K.v2, { - placement: 'right', - children: [ - (0, l.jsx)(K.j2, { - as: V.z, - colorScheme: '', - color: 'black', - rightIcon: (0, l.jsx)(Z.v, {}), - children: d.labels - ? d.labels < 2 - ? 'On Highlight' - : 'Always' - : '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 h( - ie(ie({}, d), {}, { labels: 0 }), - ) - }, - children: 'Never', - }), - (0, l.jsx)(K.sN, { - onClick: function () { - return h( - ie(ie({}, d), {}, { labels: 1 }), - ) - }, - children: 'On Highlight', - }), - (0, l.jsx)(K.sN, { - onClick: function () { - return h( - ie(ie({}, d), {}, { labels: 2 }), - ) - }, - children: 'Always', - }), - (0, l.jsx)(K.sN, { - onClick: function () { - return h( - ie(ie({}, d), {}, { labels: 3 }), - ) - }, - children: 'Always (even in 3D)', - }), - ], - }), - ], - }), - ], - }), - ], - }), - (0, l.jsx)(J.U, { - in: d.labels > 0, - 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: 0.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: 0.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)(X.Qd, { - children: [ - (0, l.jsxs)(X.KF, { - children: [ - (0, l.jsx)(X.XE, { marginRight: 2 }), - (0, l.jsx)(W.X, { size: 'sm', children: 'Behavior' }), - ], - }), - (0, l.jsx)(X.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: V.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: V.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: V.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)(M.u, { - label: n, - placement: 'top', - color: 'gray.100', - bg: 'gray.800', - hasArrow: !0, - children: (0, l.jsx)(H.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 ? 0.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)(M.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: V.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 = r.map(function (e) { - return { value: e, label: e } - }), - s = (0, u.useState)([]), - a = s[0], - c = s[1] - return (0, l.jsx)(ee.CUIAutoComplete, { - items: o, - label: 'Add tag to filter', - placeholder: ' ', - onCreateItem: function (e) { - return null - }, - disableCreateItem: !0, - selectedItems: a, - onSelectedItemsChange: function (e) { - e.selectedItems && - (c(e.selectedItems), - t( - ie( - ie({}, n), - {}, - { - tags: a.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)([]), - 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: V.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)(F.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; n < arguments.length; n++) { - var t = null != arguments[n] ? arguments[n] : {} - n % 2 - ? fe(Object(t), !0).forEach(function (n) { - ;(0, a.Z)(e, n, t[n]) - }) - : Object.getOwnPropertyDescriptors - ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) - : fe(Object(t)).forEach(function (n) { - Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n)) - }) - } - return e - } - var pe = t.e(4).then(t.bind(t, 57004)), - je = t.g.window ? t(61957).f$ : null, - me = t.g.window ? t(61957).s6 : null - function ve() { - var e = (0, u.useState)(!1), - n = e[0], - t = e[1] - return ( - (0, u.useEffect)(function () { - t(!0) - }, []), - n ? (0, l.jsx)(be, {}) : null - ) - } - function be() { - var e = d('physics', S), - n = (0, c.Z)(e, 2), - t = n[0], - r = n[1], - i = d('filter', I), - o = (0, c.Z)(i, 2), - h = o[0], - g = o[1], - f = d('visuals', O), - x = (0, c.Z)(f, 2), - p = x[0], - m = x[1], - v = (0, u.useState)(null), - b = v[0], - C = v[1], - y = (0, u.useState)(null), - k = y[0], - w = y[1], - z = d('behavior', N), - T = (0, c.Z)(z, 2), - R = T[0], - D = T[1], - P = d('mouse', L), - E = (0, c.Z)(P, 2), - Z = E[0], - H = E[1], - B = (0, u.useRef)({}), - A = (0, u.useRef)({}), - F = (0, u.useRef)([]), - M = (0, u.useContext)(te.N).setEmacsTheme, - V = d('3d', !1), - X = (0, c.Z)(V, 2), - W = X[0], - _ = X[1], - U = d('tagCols', {}), - Q = (0, c.Z)(U, 2), - q = Q[0], - K = Q[1], - G = (0, u.useState)({ nodeIds: [] }), - J = G[0], - Y = G[1], - $ = (0, u.useRef)({ nodeIds: [] }), - ee = (0, u.useRef)(N) - ee.current = R - var ne = (0, u.useRef)(null), - re = (0, u.useRef)(null) - $.current = J - var ie = function (e, n) { - var t, - r = arguments.length > 2 && 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 = A.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 - F.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] - }) - A.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 M(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: W, - setThreeDim: _, - filter: h, - setFilter: g, - visuals: p, - setVisuals: m, - mouse: Z, - setMouse: H, - behavior: R, - setBehavior: D, - tagColors: q, - setTagColors: K, - }, - ), - {}, - { tags: F.current }, - ), - ), - (0, l.jsx)(j.xu, { - position: 'absolute', - alignItems: 'top', - children: (0, l.jsx)( - Ce, - xe( - { - ref: ne, - nodeById: B.current, - linksByNodeId: A.current, - webSocket: re.current, - }, - { - physics: t, - graphData: b, - threeDim: W, - 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, - a = e.threeDim, - d = e.linksByNodeId, - h = e.filter, - j = e.emacsNodeId, - m = e.nodeById, - v = e.visuals, - b = (e.behavior, e.mouse), - C = e.scope, - y = e.setScope, - k = e.webSocket, - S = e.tagColors, - I = (0, f.iP)(), - O = (0, c.Z)(I, 2), - N = O[0], - L = O[1], - z = (0, u.useState)(null), - T = z[0], - R = z[1], - D = (0, p.useTheme)(), - P = (0, u.useContext)(te.N).emacsTheme, - E = function (e, n) { - switch (e) { - case b.local: - if (C.nodeIds.includes(n.id)) break - y(function (e) { - return xe(xe({}, e), {}, { nodeIds: [].concat((0, s.Z)(e.nodeIds), [n.id]) }) - }) - break - case b.follow: - k.send(n.id) - } - }, - Z = (0, u.useRef)(null) - ;(0, u.useEffect)( - function () { - j && R(m[j]) - }, - [j], - ), - (Z.current = T) - var H = (0, u.useMemo)( - function () { - if (!Z.current) return {} - var e = d[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, d], - ), - B = (0, u.useMemo)( - function () { - var e = r.nodes.filter(function (e) { - var n, - t = e, - r = null !== (n = d[t.id]) && void 0 !== n ? n : [] - return h.tags.length && t.tags.length - ? !h.tags.some(function (e) { - return t.tags.indexOf(e) > -1 - }) - : !h.orphans || - (h.parents - ? 0 !== r.length - : 0 !== r.length && - r.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 (h.tags.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 h.parents || 'parent' !== i.type - }), - } - }, - [h, r], - ), - A = (0, u.useMemo)( - function () { - var e = B.filteredNodes.filter(function (e) { - var n, - t = null !== (n = d[e.id]) && void 0 !== n ? n : [] - return ( - C.nodeIds.includes(e.id) || - t.some(function (e) { - return C.nodeIds.includes(e.source) || C.nodeIds.includes(e.target) - }) - ) - }), - n = e.map(function (e) { - return e.id - }), - t = B.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 === C.nodeIds.length - ? { nodes: B.filteredNodes, links: B.filteredLinks } - : { nodes: e, links: t } - }, - [h, C, 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)), - a && r.d3Force('z', o.forceZ().strength(t.gravity))) - : (r.d3Force('x', null), r.d3Force('y', null), a && 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 F = (0, u.useRef)(0), - M = (0, u.useState)(1), - V = M[0], - X = M[1], - W = (0, x._7)( - function (e) { - return X(e) - }, - { duration: v.animationSpeed, algorithm: w[v.algorithmName] }, - ), - _ = (0, c.Z)(W, 2), - U = _[0], - Q = _[1], - q = (0, x._7)( - function (e) { - return X(Math.min(V, -1 * (e - 1))) - }, - { duration: v.animationSpeed, algorithm: w[v.algorithmName] }, - ), - K = (0, c.Z)(q, 2), - G = K[0], - J = K[1], - Y = (0, u.useRef)(null) - ;(0, u.useEffect)( - function () { - if ((T && (Y.current = T), !v.highlightAnim)) return X(T ? 1 : 0) - T ? U() : (Q(), V > 0.5 ? G() : X(0)) - }, - [T], - ) - var $ = function (e) { - if (D) - return e.split('.').reduce(function (e, n) { - return e[n] - }, D.colors) - }, - ee = (0, u.useMemo)( - function () { - var e = v.nodeColorScheme.concat( - v.linkColorScheme || [], - v.linkHighlight || [], - v.nodeHighlight || [], - v.citeNodeColor || [], - v.citeLinkColor || [], - ) - return Object.fromEntries( - e.map(function (n) { - var t = $(n), - r = e.map(function (e) { - return [e, g.Z(t, $(e))] - }) - return [n, Object.fromEntries(r)] - }), - ) - }, - [v.nodeColorScheme, v.linkHighlight, v.nodeHighlight, v.linkColorScheme, P], - ), - ne = (0, u.useMemo)( - function () { - var e, - n, - t, - r = - null !== (e = d[null === (n = Y.current) || void 0 === n ? void 0 : n.id]) && - void 0 !== e - ? e - : [] - return Object.fromEntries( - [null === (t = Y.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(T), Y.current], - ), - re = function (e) { - var n, - t, - r, - i, - o, - l, - s = - null !== (n = null === (t = d[e]) || void 0 === t ? void 0 : t.length) && - void 0 !== n - ? n - : 0, - a = s - ? null === (r = d[e]) || void 0 === r - ? void 0 - : r.filter(function (e) { - return 'parent' === e.type || 'cite' === e.type - }).length - : 0, - c = h.parents ? s : s - a - return v.nodeColorScheme[ - ((i = c), (o = 0), (l = v.nodeColorScheme.length - 1), Math.min(Math.max(i, o), l)) - ] - }, - ie = function (e, n) { - return d[e] > d[n] ? re(e) : re(n) - }, - oe = 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(',') + - ')' - ) - }, - le = (0, u.useMemo)( - function () { - return $(v.labelTextColor) - }, - [v.labelTextColor, P], - ), - se = (0, u.useMemo)( - function () { - return $(v.labelBackgroundColor) - }, - [v.labelBackgroundColor, P], - ), - ae = { - graphData: A, - width: N, - height: L, - backgroundColor: D.colors.gray[v.backgroundColor], - nodeLabel: function (e) { - return e.title - }, - nodeColor: function (e) { - return (function (e) { - var n = H[e.id] || ne[e.id] - if (v.emacsNodeColor && e.id === j) return $(v.emacsNodeColor) - if ( - S && - e.tags.some(function (e) { - return S[e] - }) - ) { - var t = - S[ - e.tags.filter(function (e) { - return S[e] - })[0] - ] - return $(t) - } - return v.citeNodeColor && e.properties.ROAM_REFS - ? $(v.citeNodeColor) - : n && v.nodeHighlight - ? ee[re(e.id)][v.nodeHighlight](V) - : $(re(e.id)) - })(e) - }, - nodeRelSize: v.nodeRel, - nodeVal: function (e) { - var n, - t = null !== (n = d[e.id]) && void 0 !== n ? n : [], - r = t.length - ? t.filter(function (e) { - return 'parent' === e.type || 'cite' === e.type - }).length - : 0 - return ( - (3 + t.length - (h.parents ? 0 : r)) * - (H[e.id] || ne[e.id] ? 1 + V * (v.highlightNodeSize - 1) : 1) - ) - }, - nodeCanvasObject: function (e, n, t) { - if (e && v.labels) { - var r = ne[e.id] - if (!(t <= v.labelScale || 1 === v.labels) || H[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 + 0.5 * l - }), - c = Math.min((3 * (t - v.labelScale)) / v.labelScale, 1), - u = function () { - return 1 === v.labels || t <= v.labelScale - ? V - : H[e.id] || ne[e.id] - ? Math.max(c, V) - : 1 * c * (-1 * (0.5 * V - 1)) - } - if (v.labelBackgroundColor && v.labelBackgroundOpacity) { - var d = u() * v.labelBackgroundOpacity, - h = oe(se, 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 = oe(le, g) - ;(n.fillStyle = f), - (n.font = ''.concat(l, 'px Sans-Serif')), - n.fillText(o, e.x, e.y) - } - } - }, - nodeCanvasObjectMode: function () { - return 'after' - }, - linkDirectionalParticles: v.particles ? v.particlesNumber : void 0, - linkDirectionalArrowLength: v.arrows ? v.arrowsLength : void 0, - linkDirectionalArrowRelPos: v.arrowsPos, - linkDirectionalArrowColor: v.arrowsColor - ? function (e) { - return $(v.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, Z.current), - i = ye(e, Y.current), - o = r || i, - l = e - return v.citeLinkColor && 'cite' === l.type - ? $(v.citeLinkColor) - : (function (e, n, t) { - if (!v.linkHighlight && !v.linkColorScheme && !t) { - var r = ie(e, n) - return $(r) - } - if (!t && !v.linkColorScheme) { - var i = ie(e, n) - return $(i) - } - if (!t) return $(v.linkColorScheme) - if (!v.linkHighlight && !v.linkColorScheme) { - var o = ie(e, n) - return $(o) - } - return v.linkHighlight - ? v.linkColorScheme - ? ee[v.linkColorScheme][v.linkHighlight](V) - : ee[ie(e, n)][v.linkHighlight](V) - : $(v.linkColorScheme) - })(n, t, o) - }, - linkWidth: function (e) { - var n = ye(e, Z.current), - t = ye(e, Y.current) - return n || t ? v.linkWidth * (1 + V * (v.highlightLinkSize - 1)) : v.linkWidth - }, - linkDirectionalParticleWidth: v.particlesWidth, - d3AlphaDecay: t.alphaDecay, - d3AlphaMin: t.alphaMin, - d3VelocityDecay: t.velocityDecay, - onNodeClick: function (e, n) { - var t = n.timeStamp - F.current < 400 - return (F.current = n.timeStamp), E(t ? 'double' : 'click', e) - }, - onBackgroundClick: function () { - R(null), - 0 !== C.nodeIds.length && - y(function (e) { - return xe(xe({}, e), {}, { nodeIds: [] }) - }) - }, - onNodeHover: function (e) { - v.highlight && (T || (J(), X(0)), R(e)) - }, - onNodeRightClick: function (e) { - E('right', e) - }, - } - return (0, l.jsx)('div', { - children: a - ? (0, l.jsx)( - me, - xe( - xe({ ref: n }, ae), - {}, - { - nodeThreeObjectExtend: !0, - backgroundColor: D.colors.white, - nodeOpacity: v.nodeOpacity, - nodeResolution: v.nodeResolution, - linkOpacity: v.linkOpacity, - nodeThreeObject: function (e) { - if (v.labels && (!(v.labels < 3) || H[e.id])) { - var n = new he.Z(e.title.substring(0, 40)) - return ( - (n.color = $(v.labelTextColor)), - (n.backgroundColor = $(v.labelBackgroundColor)), - (n.padding = 2), - (n.textHeight = 8), - n - ) - } - }, - }, - ), - ) - : (0, l.jsx)( - je, - xe( - xe({ ref: n }, ae), - {}, - { - linkLineDash: function (e) { - var n = e - return v.citeDashes && 'cite' === n.type - ? [v.citeDashLength, v.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 - }, -]) diff --git a/out/_next/static/chunks/pages/index-689c814695b38e570f06.js b/out/_next/static/chunks/pages/index-689c814695b38e570f06.js new file mode 100644 index 0000000..0c6eb93 --- /dev/null +++ b/out/_next/static/chunks/pages/index-689c814695b38e570f06.js @@ -0,0 +1,2882 @@ +;(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: 0.05, + linkStrength: 0.1, + linkIts: 1, + alphaDecay: 0.02, + alphaTarget: 0, + alphaMin: 0, + velocityDecay: 0.25, + gravity: 0.3, + gravityOn: !0, + }, + I = { orphans: !1, parents: !0, tags: [], nodes: [], links: [], date: [] }, + O = { + particles: !1, + particlesNumber: 0, + particlesWidth: 4, + arrows: !1, + arrowsLength: 1, + arrowsPos: 0.5, + arrowsColor: '', + linkOpacity: 0.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: 0.7, + citeDashes: !0, + citeDashLength: 35, + citeGapLength: 15, + citeLinkColor: 'gray.600', + 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), + E = t(93441), + Z = t(6569), + H = t(24189), + B = t(2827), + A = t(90454), + F = t(48420), + M = t(96699), + V = t(40155), + X = t(56769), + W = 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; n < arguments.length; n++) { + var t = null != arguments[n] ? arguments[n] : {} + n % 2 + ? re(Object(t), !0).forEach(function (n) { + ;(0, a.Z)(e, n, t[n]) + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) + : re(Object(t)).forEach(function (n) { + Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n)) + }) + } + return e + } + var oe = function (e) { + var n = e.physics, + t = e.setPhysics, + r = e.threeDim, + i = e.setThreeDim, + o = e.filter, + a = e.setFilter, + d = e.visuals, + h = e.setVisuals, + g = e.mouse, + f = e.setMouse, + x = e.behavior, + p = e.setBehavior, + m = e.tags, + v = e.tagColors, + b = e.setTagColors, + C = (0, u.useState)(!0), + y = C[0], + k = C[1], + w = (0, u.useContext)(te.N), + H = w.highlightColor, + B = w.setHighlightColor, + $ = [ + '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', + ] + return (0, l.jsxs)(l.Fragment, { + children: [ + (0, l.jsx)(A.R, { + in: !y, + children: (0, l.jsx)(j.xu, { + position: 'absolute', + zIndex: 'overlay', + marginTop: 10, + marginLeft: 10, + display: y ? 'none' : 'block', + children: (0, l.jsx)(F.h, { + 'aria-label': 'Settings', + icon: (0, l.jsx)(T.e, {}), + onClick: function () { + return k(!0) + }, + }), + }), + }), + (0, l.jsx)(A.R, { + in: y, + children: (0, l.jsxs)(j.xu, { + bg: 'alt.100', + w: 'xs', + marginTop: 10, + marginLeft: 10, + borderRadius: 'xl', + maxH: 650, + paddingBottom: 5, + zIndex: 300, + position: 'relative', + boxShadow: 'xl', + children: [ + (0, l.jsxs)(j.xu, { + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', + paddingRight: 2, + paddingTop: 1, + children: [ + (0, l.jsx)(M.u, { + label: '2D', + children: (0, l.jsx)(V.z, { + onClick: function () { + return i(!r) + }, + variant: 'ghost', + zIndex: 'overlay', + children: r ? '3D' : '2D', + }), + }), + (0, l.jsxs)(j.xu, { + display: 'flex', + alignItems: 'center', + children: [ + (0, l.jsx)(M.u, { + label: 'Reset settings to defaults', + children: (0, l.jsx)(F.h, { + 'aria-label': 'Reset Defaults', + icon: (0, l.jsx)(R.A, {}), + onClick: function () { + h(O), a(I), f(L), t(S), p(N) + }, + variant: 'none', + size: 'sm', + }), + }), + (0, l.jsx)(F.h, { + size: 'sm', + icon: (0, l.jsx)(D.T, {}), + 'aria-label': 'Close Tweak Panel', + variant: 'ghost', + onClick: function () { + return k(!1) + }, + }), + ], + }), + ], + }), + (0, l.jsx)(ne.ZP, { + autoHeight: !0, + autoHeightMax: 600, + autoHide: !0, + renderThumbVertical: function (e) { + var n = e.style, + t = (0, z.Z)(e, ['style']) + return (0, l.jsx)( + j.xu, + ie( + ie({}, t), + {}, + { style: ie(ie({}, n), {}, { borderRadius: 10 }), bg: H }, + ), + ) + }, + children: (0, l.jsxs)(X.UQ, { + allowMultiple: !0, + allowToggle: !0, + color: 'black', + children: [ + (0, l.jsxs)(X.Qd, { + children: [ + (0, l.jsxs)(X.KF, { + children: [ + (0, l.jsx)(X.XE, { marginRight: 2 }), + (0, l.jsx)(W.X, { size: 'sm', children: 'Filter' }), + ], + }), + (0, l.jsxs)(X.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, { + justifyContent: 'space-between', + children: [ + (0, l.jsx)(Q.x, { children: 'Orphans' }), + (0, l.jsx)(q.r, { + onChange: function () { + a(ie(ie({}, o), {}, { orphans: !o.orphans })) + }, + isChecked: o.orphans, + }), + ], + }), + (0, l.jsxs)(U.k, { + justifyContent: 'space-between', + children: [ + (0, l.jsx)(Q.x, { + children: 'Link nodes with parent file', + }), + (0, l.jsx)(q.r, { + onChange: function () { + a(ie(ie({}, o), {}, { parents: !o.parents })) + }, + isChecked: o.parents, + }), + ], + }), + ], + }), + (0, l.jsxs)(X.UQ, { + padding: 0, + allowToggle: !0, + allowMultiple: !0, + paddingLeft: 3, + children: [ + (0, l.jsxs)(X.Qd, { + children: [ + (0, l.jsxs)(X.KF, { + children: ['Tag filters', (0, l.jsx)(X.XE, {})], + }), + (0, l.jsx)(X.Hk, { + pr: 0, + mr: 0, + children: (0, l.jsx)(ue, { + highlightColor: H, + filter: o, + setFilter: a, + tags: m, + }), + }), + ], + }), + (0, l.jsxs)(X.Qd, { + children: [ + (0, l.jsxs)(X.KF, { + children: ['Tag Colors', (0, l.jsx)(X.XE, {})], + }), + (0, l.jsx)(X.Hk, { + pr: 0, + mr: 0, + children: (0, l.jsx)(de, { + tags: m, + colorList: $, + tagColors: v, + setTagColors: b, + highlightColor: H, + }), + }), + ], + }), + ], + }), + ], + }), + ], + }), + (0, l.jsxs)(X.Qd, { + children: [ + (0, l.jsx)(X.KF, { + display: 'flex', + justifyContent: 'space-between', + children: (0, l.jsxs)(j.xu, { + display: 'flex', + children: [ + (0, l.jsx)(X.XE, { marginRight: 2 }), + (0, l.jsx)(W.X, { size: 'sm', children: 'Physics' }), + ], + }), + }), + (0, l.jsxs)(X.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.jsx)(ae, { + label: 'Gravity', + value: n.gravityOn, + onChange: function () { + return t(ie(ie({}, n), {}, { gravityOn: !n.gravityOn })) + }, + children: (0, l.jsx)(se, { + label: 'Strength', + value: 10 * n.gravity, + onChange: function (e) { + return t(ie(ie({}, n), {}, { gravity: e / 10 })) + }, + }), + }), + (0, l.jsx)(se, { + value: -n.charge / 100, + onChange: function (e) { + return t(ie(ie({}, n), {}, { charge: -100 * e })) + }, + label: 'Repulsive Force', + }), + (0, l.jsx)(ae, { + label: 'Collision', + infoText: 'Perfomance sap, disable if slow', + value: n.collision, + onChange: function () { + return t(ie(ie({}, n), {}, { collision: !n.collision })) + }, + children: (0, l.jsx)(se, { + value: n.collisionStrength / 5, + onChange: function (e) { + return t( + ie(ie({}, n), {}, { collisionStrength: 5 * e }), + ) + }, + label: 'Collision Radius', + infoText: + 'Easy with this one, high values can lead to a real jiggly mess', + }), + }), + (0, l.jsx)(se, { + value: 5 * n.linkStrength, + onChange: function (e) { + return t(ie(ie({}, n), {}, { linkStrength: e / 5 })) + }, + label: 'Link Force', + }), + (0, l.jsx)(se, { + label: 'Link Iterations', + value: n.linkIts, + onChange: function (e) { + return t(ie(ie({}, n), {}, { linkIts: e })) + }, + min: 0, + max: 6, + step: 1, + infoText: + 'How many links down the line the physics of a single node affects (Slow)', + }), + (0, l.jsx)(se, { + label: 'Viscosity', + value: 10 * n.velocityDecay, + onChange: function (e) { + return t(ie(ie({}, n), {}, { velocityDecay: e / 10 })) + }, + }), + ], + }), + (0, l.jsx)(j.xu, { + children: (0, l.jsx)(X.UQ, { + paddingLeft: 3, + allowToggle: !0, + children: (0, l.jsxs)(X.Qd, { + children: [ + (0, l.jsxs)(X.KF, { + children: [ + (0, l.jsx)(Q.x, { children: 'Advanced' }), + (0, l.jsx)(X.XE, { marginRight: 2 }), + ], + }), + (0, l.jsx)(X.Hk, { + children: (0, l.jsxs)(_.gC, { + spacing: 2, + justifyContent: 'flex-start', + divider: (0, l.jsx)(_.cX, { + borderColor: 'gray.500', + }), + align: 'stretch', + paddingLeft: 3, + color: 'gray.800', + children: [ + (0, l.jsx)(se, { + label: 'Stabilization rate', + value: 50 * n.alphaDecay, + onChange: function (e) { + return t( + ie(ie({}, n), {}, { alphaDecay: e / 50 }), + ) + }, + }), + (0, l.jsx)(ae, { + label: 'Center nodes', + value: n.centering, + onChange: function () { + return t( + ie( + ie({}, n), + {}, + { centering: !n.centering }, + ), + ) + }, + infoText: + 'Keeps the nodes in the center of the viewport. If disabled you can drag the nodes anywhere you want.', + children: (0, l.jsx)(se, { + label: 'Centering Strength', + value: n.centeringStrength, + max: 2, + step: 0.01, + onChange: function (e) { + return t( + ie(ie({}, n), {}, { centeringStrength: e }), + ) + }, + }), + }), + ], + }), + }), + ], + }), + }), + }), + ], + }), + ], + }), + (0, l.jsxs)(X.Qd, { + children: [ + (0, l.jsxs)(X.KF, { + children: [ + (0, l.jsx)(X.XE, { marginRight: 2 }), + (0, l.jsx)(W.X, { size: 'sm', children: 'Visual' }), + ], + }), + (0, l.jsx)(X.Hk, { + children: (0, l.jsxs)(_.gC, { + justifyContent: 'flex-start', + align: 'stretch', + children: [ + (0, l.jsx)(X.UQ, { + allowToggle: !0, + defaultIndex: [0], + paddingLeft: 3, + children: (0, l.jsxs)(X.Qd, { + children: [ + (0, l.jsx)(X.KF, { + children: (0, l.jsxs)(U.k, { + justifyContent: 'space-between', + w: '100%', + children: [ + (0, l.jsx)(Q.x, { children: 'Colors' }), + (0, l.jsx)(X.XE, { marginRight: 2 }), + ], + }), + }), + (0, l.jsx)(X.Hk, { + children: (0, l.jsx)(_.gC, { + spacing: 2, + justifyContent: 'flex-start', + divider: (0, l.jsx)(_.cX, { + borderColor: 'gray.500', + }), + align: 'stretch', + color: 'gray.800', + children: (0, l.jsxs)(j.xu, { + children: [ + (0, l.jsxs)(U.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsx)(Q.x, { children: 'Nodes' }), + (0, l.jsx)(M.u, { + label: 'Shuffle node colors', + children: (0, l.jsx)(F.h, { + 'aria-label': 'Shuffle node colors', + size: 'sm', + icon: (0, l.jsx)(P.n, {}), + variant: 'ghost', + onClick: function () { + var e, + n = + null !== (e = d.nodeColorScheme) && + void 0 !== e + ? e + : [] + h( + ie( + ie({}, d), + {}, + { + nodeColorScheme: n + .map(function (e) { + return [Math.random(), e] + }) + .sort(function (e, n) { + return ( + (0, c.Z)(e, 1)[0] - + (0, c.Z)(n, 1)[0] + ) + }) + .map(function (e) { + var n = (0, c.Z)(e, 2) + n[0] + return n[1] + }), + }, + ), + ) + }, + }), + }), + (0, l.jsx)(M.u, { + label: 'Cycle node colors', + children: (0, l.jsx)(F.h, { + 'aria-label': 'Shift node colors', + icon: (0, l.jsx)(E.L, {}), + size: 'sm', + variant: 'ghost', + onClick: function () { + var e, + n = + null !== (e = d.nodeColorScheme) && + void 0 !== e + ? e + : [] + h( + ie( + ie({}, d), + {}, + { + nodeColorScheme: [].concat( + (0, s.Z)(n.slice(1, n.length)), + [n[0]], + ), + }, + ), + ) + }, + }), + }), + (0, l.jsxs)(K.v2, { + placement: 'right', + closeOnSelect: !1, + matchWidth: !0, + children: [ + (0, l.jsx)(K.j2, { + width: 20, + as: V.z, + colorScheme: '', + color: 'black', + rightIcon: (0, l.jsx)(Z.v, {}), + children: (0, l.jsx)(U.k, { + height: 6, + width: 6, + flexDirection: 'column', + flexWrap: 'wrap', + children: d.nodeColorScheme.map( + function (e) { + return (0, l.jsx)( + j.xu, + { + bgColor: e, + flex: '1 1 8px', + borderRadius: '2xl', + }, + e, + ) + }, + ), + }), + }), + (0, l.jsxs)(G.h, { + children: [ + ' ', + (0, l.jsx)(K.qy, { + minW: 10, + zIndex: 'popover', + bgColor: 'gray.200', + children: (0, l.jsx)(K.__, { + width: 500, + type: 'checkbox', + defaultValue: d.nodeColorScheme, + onChange: function (e) { + e.length && + h( + ie( + ie({}, d), + {}, + { nodeColorScheme: e }, + ), + ) + }, + children: $.map(function (e) { + return (0, l.jsx)( + K.ii, + { + isChecked: + d.nodeColorScheme.some( + function (n) { + return n === e + }, + ), + value: e, + isDisabled: + 1 === + d.nodeColorScheme + .length && + d.nodeColorScheme[0] === + e, + children: (0, l.jsx)(j.xu, { + justifyContent: + 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)( + j.xu, + { + bgColor: e, + borderRadius: 'sm', + height: 6, + width: 6, + }, + ), + }), + }, + e, + ) + }), + }), + }), + ], + }), + ], + }), + ], + }), + (0, l.jsxs)(U.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsx)(Q.x, { children: 'Links' }), + (0, l.jsxs)(K.v2, { + placement: 'right', + children: [ + (0, l.jsx)(K.j2, { + as: V.z, + colorScheme: '', + color: 'black', + rightIcon: (0, l.jsx)(Z.v, {}), + children: (0, l.jsx)(j.xu, { + children: d.linkColorScheme + ? (0, l.jsx)(j.xu, { + bgColor: d.linkColorScheme, + borderRadius: 'sm', + height: 6, + width: 6, + }) + : (0, l.jsx)(U.k, { + height: 6, + width: 6, + flexDirection: 'column', + flexWrap: 'wrap', + children: d.nodeColorScheme.map( + function (e) { + return (0, l.jsx)( + j.xu, + { + bgColor: e, + flex: '1 1 8px', + borderRadius: '2xl', + }, + e, + ) + }, + ), + }), + }), + }), + (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 h( + ie( + ie({}, d), + {}, + { linkColorScheme: '' }, + ), + ) + }, + justifyContent: 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)(U.k, { + height: 6, + width: 6, + flexDirection: 'column', + flexWrap: 'wrap', + children: + d.nodeColorScheme.map( + function (e) { + return (0, l.jsx)( + j.xu, + { + bgColor: e, + flex: '1 1 8px', + borderRadius: '2xl', + }, + e, + ) + }, + ), + }), + }), + $.map(function (e) { + return (0, l.jsx)( + K.sN, + { + onClick: function () { + return h( + ie( + ie({}, d), + {}, + { + linkColorScheme: e, + }, + ), + ) + }, + justifyContent: + 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)(j.xu, { + bgColor: e, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }, + e, + ) + }), + ], + }), + ], + }), + ], + }), + ], + }), + (0, l.jsxs)(U.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsx)(Q.x, { children: 'Accent' }), + (0, l.jsxs)(K.v2, { + placement: 'right', + children: [ + (0, l.jsx)(K.j2, { + as: V.z, + colorScheme: '', + color: 'black', + rightIcon: (0, l.jsx)(Z.v, {}), + children: (0, l.jsx)(j.xu, { + bgColor: H, + 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: $.map(function (e) { + return (0, l.jsx)( + K.sN, + { + onClick: function () { + return B(e) + }, + justifyContent: + 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)(j.xu, { + bgColor: e, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }, + e, + ) + }), + }), + ], + }), + ], + }), + ], + }), + (0, l.jsx)(ce, { + colorList: $, + label: 'Link highlight', + visuals: d, + setVisuals: h, + value: 'linkHighlight', + visValue: d.linkHighlight, + }), + (0, l.jsx)(ce, { + colorList: $, + label: 'Node highlight', + visuals: d, + setVisuals: h, + value: 'nodeHighlight', + visValue: d.nodeHighlight, + }), + (0, l.jsx)(ce, { + colorList: $, + label: 'Background', + visuals: d, + setVisuals: h, + value: 'backgroundColor', + visValue: d.backgroundColor, + }), + (0, l.jsx)(ce, { + colorList: $, + label: 'Emacs node', + visuals: d, + setVisuals: h, + value: 'emacsNodeColor', + visValue: d.emacsNodeColor, + }), + ], + }), + }), + }), + ], + }), + }), + (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.jsx)(se, { + label: 'Node size', + value: d.nodeRel, + onChange: function (e) { + return h(ie(ie({}, d), {}, { nodeRel: e })) + }, + }), + r && + (0, l.jsxs)(l.Fragment, { + children: [ + (0, l.jsx)(se, { + label: 'Node opacity', + value: d.nodeOpacity, + min: 0, + max: 1, + onChange: function (e) { + return h(ie(ie({}, d), {}, { nodeOpacity: e })) + }, + }), + (0, l.jsx)(se, { + label: 'Node resolution', + value: d.nodeResolution, + min: 5, + max: 32, + step: 1, + onChange: function (e) { + return h(ie(ie({}, d), {}, { nodeResolution: e })) + }, + }), + ], + }), + (0, l.jsx)(se, { + label: 'Link width', + value: d.linkWidth, + onChange: function (e) { + return h(ie(ie({}, d), {}, { linkWidth: e })) + }, + }), + r && + (0, l.jsx)(se, { + label: 'Link opacity', + min: 0, + max: 1, + value: d.linkOpacity, + onChange: function (e) { + return h(ie(ie({}, d), {}, { linkOpacity: e })) + }, + }), + (0, l.jsxs)(ae, { + label: 'Dash cite links', + infoText: + 'Add dashes to citation links made with org-roam-bibtex', + value: d.citeDashes, + onChange: function () { + return h( + ie(ie({}, d), {}, { citeDashes: !d.citeDashes }), + ) + }, + children: [ + (0, l.jsx)(se, { + label: 'Dash length', + value: d.citeDashLength / 10, + onChange: function (e) { + return h( + ie(ie({}, d), {}, { citeDashLength: 10 * e }), + ) + }, + }), + (0, l.jsx)(se, { + label: 'Gap length', + value: d.citeGapLength / 5, + onChange: function (e) { + return h( + ie(ie({}, d), {}, { citeGapLength: 5 * e }), + ) + }, + }), + ], + }), + (0, l.jsx)(ce, { + colorList: $, + label: 'Citation node color', + visuals: d, + setVisuals: h, + value: 'citeNodeColor', + visValue: d.citeNodeColor, + }), + (0, l.jsx)(ce, { + colorList: $, + label: 'Citationlink color', + visuals: d, + setVisuals: h, + value: 'citeLinkColor', + visValue: d.citeLinkColor, + }), + (0, l.jsxs)(j.xu, { + children: [ + (0, l.jsxs)(U.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsx)(Q.x, { children: 'Labels' }), + (0, l.jsxs)(K.v2, { + placement: 'right', + children: [ + (0, l.jsx)(K.j2, { + as: V.z, + colorScheme: '', + color: 'black', + rightIcon: (0, l.jsx)(Z.v, {}), + children: d.labels + ? d.labels < 2 + ? 'On Highlight' + : 'Always' + : '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 h( + ie(ie({}, d), {}, { labels: 0 }), + ) + }, + children: 'Never', + }), + (0, l.jsx)(K.sN, { + onClick: function () { + return h( + ie(ie({}, d), {}, { labels: 1 }), + ) + }, + children: 'On Highlight', + }), + (0, l.jsx)(K.sN, { + onClick: function () { + return h( + ie(ie({}, d), {}, { labels: 2 }), + ) + }, + children: 'Always', + }), + (0, l.jsx)(K.sN, { + onClick: function () { + return h( + ie(ie({}, d), {}, { labels: 3 }), + ) + }, + children: 'Always (even in 3D)', + }), + ], + }), + ], + }), + ], + }), + ], + }), + (0, l.jsx)(J.U, { + in: d.labels > 0, + 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: 0.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: 0.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)(X.Qd, { + children: [ + (0, l.jsxs)(X.KF, { + children: [ + (0, l.jsx)(X.XE, { marginRight: 2 }), + (0, l.jsx)(W.X, { size: 'sm', children: 'Behavior' }), + ], + }), + (0, l.jsx)(X.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: V.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: V.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: V.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)(M.u, { + label: n, + placement: 'top', + color: 'gray.100', + bg: 'gray.800', + hasArrow: !0, + children: (0, l.jsx)(H.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 ? 0.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)(M.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: V.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 = r.map(function (e) { + return { value: e, label: e } + }), + s = (0, u.useState)( + n.tags.map(function (e) { + return { value: e, label: e } + }), + ), + a = s[0], + c = s[1] + return (0, l.jsx)(ee.CUIAutoComplete, { + items: o, + label: 'Add tag to filter', + placeholder: ' ', + onCreateItem: function (e) { + return null + }, + disableCreateItem: !0, + selectedItems: a, + onSelectedItemsChange: function (e) { + e.selectedItems && + (c(e.selectedItems), + t( + ie( + ie({}, n), + {}, + { + tags: 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: V.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)(F.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; n < arguments.length; n++) { + var t = null != arguments[n] ? arguments[n] : {} + n % 2 + ? fe(Object(t), !0).forEach(function (n) { + ;(0, a.Z)(e, n, t[n]) + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) + : fe(Object(t)).forEach(function (n) { + Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n)) + }) + } + return e + } + var pe = t.e(4).then(t.bind(t, 57004)), + je = t.g.window ? t(61957).f$ : null, + me = t.g.window ? t(61957).s6 : null + function ve() { + var e = (0, u.useState)(!1), + n = e[0], + t = e[1] + return ( + (0, u.useEffect)(function () { + t(!0) + }, []), + n ? (0, l.jsx)(be, {}) : null + ) + } + function be() { + var e = d('physics', S), + n = (0, c.Z)(e, 2), + t = n[0], + r = n[1], + i = d('filter', I), + o = (0, c.Z)(i, 2), + h = o[0], + g = o[1], + f = d('visuals', O), + x = (0, c.Z)(f, 2), + p = x[0], + m = x[1], + v = (0, u.useState)(null), + b = v[0], + C = v[1], + y = (0, u.useState)(null), + k = y[0], + w = y[1], + z = d('behavior', N), + T = (0, c.Z)(z, 2), + R = T[0], + D = T[1], + P = d('mouse', L), + E = (0, c.Z)(P, 2), + Z = E[0], + H = E[1], + B = (0, u.useRef)({}), + A = (0, u.useRef)({}), + F = (0, u.useRef)([]), + M = (0, u.useContext)(te.N).setEmacsTheme, + V = d('3d', !1), + X = (0, c.Z)(V, 2), + W = X[0], + _ = X[1], + U = d('tagCols', {}), + Q = (0, c.Z)(U, 2), + q = Q[0], + K = Q[1], + G = (0, u.useState)({ nodeIds: [] }), + J = G[0], + Y = G[1], + $ = (0, u.useRef)({ nodeIds: [] }), + ee = (0, u.useRef)(N) + ee.current = R + var ne = (0, u.useRef)(null), + re = (0, u.useRef)(null) + $.current = J + var ie = function (e, n) { + var t, + r = arguments.length > 2 && 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 = A.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 + F.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] + }) + A.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 M(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: W, + setThreeDim: _, + filter: h, + setFilter: g, + visuals: p, + setVisuals: m, + mouse: Z, + setMouse: H, + behavior: R, + setBehavior: D, + tagColors: q, + setTagColors: K, + }, + ), + {}, + { tags: F.current }, + ), + ), + (0, l.jsx)(j.xu, { + position: 'absolute', + alignItems: 'top', + children: (0, l.jsx)( + Ce, + xe( + { + ref: ne, + nodeById: B.current, + linksByNodeId: A.current, + webSocket: re.current, + }, + { + physics: t, + graphData: b, + threeDim: W, + 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, + a = e.threeDim, + d = e.linksByNodeId, + h = e.filter, + j = e.emacsNodeId, + m = e.nodeById, + v = e.visuals, + b = (e.behavior, e.mouse), + C = e.scope, + y = e.setScope, + k = e.webSocket, + S = e.tagColors, + I = (0, f.iP)(), + O = (0, c.Z)(I, 2), + N = O[0], + L = O[1], + z = (0, u.useState)(null), + T = z[0], + R = z[1], + D = (0, p.useTheme)(), + P = (0, u.useContext)(te.N).emacsTheme, + E = function (e, n) { + switch (e) { + case b.local: + if (C.nodeIds.includes(n.id)) break + y(function (e) { + return xe(xe({}, e), {}, { nodeIds: [].concat((0, s.Z)(e.nodeIds), [n.id]) }) + }) + break + case b.follow: + k.send(n.id) + } + }, + Z = (0, u.useRef)(null) + ;(0, u.useEffect)( + function () { + j && R(m[j]) + }, + [j], + ), + (Z.current = T) + var H = (0, u.useMemo)( + function () { + if (!Z.current) return {} + var e = d[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, d], + ), + B = (0, u.useMemo)( + function () { + var e = r.nodes.filter(function (e) { + var n, + t = e, + r = null !== (n = d[t.id]) && void 0 !== n ? n : [] + return h.tags.length && t.tags.length + ? !h.tags.some(function (e) { + return t.tags.indexOf(e) > -1 + }) + : !h.orphans || + (h.parents + ? 0 !== r.length + : 0 !== r.length && + r.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 (h.tags.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 h.parents || 'parent' !== i.type + }), + } + }, + [h, r], + ), + A = (0, u.useMemo)( + function () { + var e = B.filteredNodes.filter(function (e) { + var n, + t = null !== (n = d[e.id]) && void 0 !== n ? n : [] + return ( + C.nodeIds.includes(e.id) || + t.some(function (e) { + return C.nodeIds.includes(e.source) || C.nodeIds.includes(e.target) + }) + ) + }), + n = e.map(function (e) { + return e.id + }), + t = B.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 === C.nodeIds.length + ? { nodes: B.filteredNodes, links: B.filteredLinks } + : { nodes: e, links: t } + }, + [h, C, 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)), + a && r.d3Force('z', o.forceZ().strength(t.gravity))) + : (r.d3Force('x', null), r.d3Force('y', null), a && 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 F = (0, u.useRef)(0), + M = (0, u.useState)(1), + V = M[0], + X = M[1], + W = (0, x._7)( + function (e) { + return X(e) + }, + { duration: v.animationSpeed, algorithm: w[v.algorithmName] }, + ), + _ = (0, c.Z)(W, 2), + U = _[0], + Q = _[1], + q = (0, x._7)( + function (e) { + return X(Math.min(V, -1 * (e - 1))) + }, + { duration: v.animationSpeed, algorithm: w[v.algorithmName] }, + ), + K = (0, c.Z)(q, 2), + G = K[0], + J = K[1], + Y = (0, u.useRef)(null) + ;(0, u.useEffect)( + function () { + if ((T && (Y.current = T), !v.highlightAnim)) return X(T ? 1 : 0) + T ? U() : (Q(), V > 0.5 ? G() : X(0)) + }, + [T], + ) + var $ = function (e) { + if (D) + return e.split('.').reduce(function (e, n) { + return e[n] + }, D.colors) + }, + ee = (0, u.useMemo)( + function () { + var e = v.nodeColorScheme.concat( + v.linkColorScheme || [], + v.linkHighlight || [], + v.nodeHighlight || [], + v.citeNodeColor || [], + v.citeLinkColor || [], + ) + return Object.fromEntries( + e.map(function (n) { + var t = $(n), + r = e.map(function (e) { + return [e, g.Z(t, $(e))] + }) + return [n, Object.fromEntries(r)] + }), + ) + }, + [v.nodeColorScheme, v.linkHighlight, v.nodeHighlight, v.linkColorScheme, P], + ), + ne = (0, u.useMemo)( + function () { + var e, + n, + t, + r = + null !== (e = d[null === (n = Y.current) || void 0 === n ? void 0 : n.id]) && + void 0 !== e + ? e + : [] + return Object.fromEntries( + [null === (t = Y.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(T), Y.current], + ), + re = function (e) { + var n, + t, + r, + i, + o, + l, + s = + null !== (n = null === (t = d[e]) || void 0 === t ? void 0 : t.length) && + void 0 !== n + ? n + : 0, + a = s + ? null === (r = d[e]) || void 0 === r + ? void 0 + : r.filter(function (e) { + return 'parent' === e.type || 'cite' === e.type + }).length + : 0, + c = h.parents ? s : s - a + return v.nodeColorScheme[ + ((i = c), (o = 0), (l = v.nodeColorScheme.length - 1), Math.min(Math.max(i, o), l)) + ] + }, + ie = function (e, n) { + return d[e] > d[n] ? re(e) : re(n) + }, + oe = 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(',') + + ')' + ) + }, + le = (0, u.useMemo)( + function () { + return $(v.labelTextColor) + }, + [v.labelTextColor, P], + ), + se = (0, u.useMemo)( + function () { + return $(v.labelBackgroundColor) + }, + [v.labelBackgroundColor, P], + ), + ae = { + graphData: A, + width: N, + height: L, + backgroundColor: D.colors.gray[v.backgroundColor], + nodeLabel: function (e) { + return e.title + }, + nodeColor: function (e) { + return (function (e) { + var n = H[e.id] || ne[e.id] + if (v.emacsNodeColor && e.id === j) return $(v.emacsNodeColor) + if ( + S && + e.tags.some(function (e) { + return S[e] + }) + ) { + var t = + S[ + e.tags.filter(function (e) { + return S[e] + })[0] + ] + return $(t) + } + return v.citeNodeColor && e.properties.ROAM_REFS + ? $(v.citeNodeColor) + : n && v.nodeHighlight + ? ee[re(e.id)][v.nodeHighlight](V) + : $(re(e.id)) + })(e) + }, + nodeRelSize: v.nodeRel, + nodeVal: function (e) { + var n, + t = null !== (n = d[e.id]) && void 0 !== n ? n : [], + r = t.length + ? t.filter(function (e) { + return 'parent' === e.type || 'cite' === e.type + }).length + : 0 + return ( + (3 + t.length - (h.parents ? 0 : r)) * + (H[e.id] || ne[e.id] ? 1 + V * (v.highlightNodeSize - 1) : 1) + ) + }, + nodeCanvasObject: function (e, n, t) { + if (e && v.labels) { + var r = ne[e.id] + if (!(t <= v.labelScale || 1 === v.labels) || H[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 + 0.5 * l + }), + c = Math.min((3 * (t - v.labelScale)) / v.labelScale, 1), + u = function () { + return 1 === v.labels || t <= v.labelScale + ? V + : H[e.id] || ne[e.id] + ? Math.max(c, V) + : 1 * c * (-1 * (0.5 * V - 1)) + } + if (v.labelBackgroundColor && v.labelBackgroundOpacity) { + var d = u() * v.labelBackgroundOpacity, + h = oe(se, 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 = oe(le, g) + ;(n.fillStyle = f), + (n.font = ''.concat(l, 'px Sans-Serif')), + n.fillText(o, e.x, e.y) + } + } + }, + nodeCanvasObjectMode: function () { + return 'after' + }, + linkDirectionalParticles: v.particles ? v.particlesNumber : void 0, + linkDirectionalArrowLength: v.arrows ? v.arrowsLength : void 0, + linkDirectionalArrowRelPos: v.arrowsPos, + linkDirectionalArrowColor: v.arrowsColor + ? function (e) { + return $(v.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, Z.current), + i = ye(e, Y.current), + o = r || i, + l = e + return v.citeLinkColor && 'cite' === l.type + ? $(v.citeLinkColor) + : (function (e, n, t) { + if (!v.linkHighlight && !v.linkColorScheme && !t) { + var r = ie(e, n) + return $(r) + } + if (!t && !v.linkColorScheme) { + var i = ie(e, n) + return $(i) + } + if (!t) return $(v.linkColorScheme) + if (!v.linkHighlight && !v.linkColorScheme) { + var o = ie(e, n) + return $(o) + } + return v.linkHighlight + ? v.linkColorScheme + ? ee[v.linkColorScheme][v.linkHighlight](V) + : ee[ie(e, n)][v.linkHighlight](V) + : $(v.linkColorScheme) + })(n, t, o) + }, + linkWidth: function (e) { + var n = ye(e, Z.current), + t = ye(e, Y.current) + return n || t ? v.linkWidth * (1 + V * (v.highlightLinkSize - 1)) : v.linkWidth + }, + linkDirectionalParticleWidth: v.particlesWidth, + d3AlphaDecay: t.alphaDecay, + d3AlphaMin: t.alphaMin, + d3VelocityDecay: t.velocityDecay, + onNodeClick: function (e, n) { + var t = n.timeStamp - F.current < 400 + return (F.current = n.timeStamp), E(t ? 'double' : 'click', e) + }, + onBackgroundClick: function () { + R(null), + 0 !== C.nodeIds.length && + y(function (e) { + return xe(xe({}, e), {}, { nodeIds: [] }) + }) + }, + onNodeHover: function (e) { + v.highlight && (T || (J(), X(0)), R(e)) + }, + onNodeRightClick: function (e) { + E('right', e) + }, + } + return (0, l.jsx)('div', { + children: a + ? (0, l.jsx)( + me, + xe( + xe({ ref: n }, ae), + {}, + { + nodeThreeObjectExtend: !0, + backgroundColor: D.colors.white, + nodeOpacity: v.nodeOpacity, + nodeResolution: v.nodeResolution, + linkOpacity: v.linkOpacity, + nodeThreeObject: function (e) { + if (v.labels && (!(v.labels < 3) || H[e.id])) { + var n = new he.Z(e.title.substring(0, 40)) + return ( + (n.color = $(v.labelTextColor)), + (n.backgroundColor = $(v.labelBackgroundColor)), + (n.padding = 2), + (n.textHeight = 8), + n + ) + } + }, + }, + ), + ) + : (0, l.jsx)( + je, + xe( + xe({ ref: n }, ae), + {}, + { + linkLineDash: function (e) { + var n = e + return v.citeDashes && 'cite' === n.type + ? [v.citeDashLength, v.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 + }, +]) diff --git a/out/index.html b/out/index.html index 43e161a..125c63c 100644 --- a/out/index.html +++ b/out/index.html @@ -19,9 +19,9 @@ - - - + + +
@@ -697,7 +697,7 @@ "props": { "pageProps": {} }, "page": "/", "query": {}, - "buildId": "25Qud6GB6GP8XFN1eDqNi", + "buildId": "DEWNAb9qrxKluipBrYTq4", "nextExport": true, "autoExport": true, "isFallback": false, -- cgit v1.2.3 From 57ff943843831fbe041ec2e2a923fa70a2f805f3 Mon Sep 17 00:00:00 2001 From: "Thomas F. K. Jorna" Date: Tue, 3 Aug 2021 16:11:49 +0200 Subject: feature: tagwhitelist + better compatibility with existing filters --- components/config.ts | 3 +- components/tweaks.tsx | 19 +- out/404.html | 6 +- .../static/DEWNAb9qrxKluipBrYTq4/_buildManifest.js | 12 - .../static/DEWNAb9qrxKluipBrYTq4/_ssgManifest.js | 1 - .../static/VVYThmGVjM_0dCSLu5XUv/_buildManifest.js | 12 + .../static/VVYThmGVjM_0dCSLu5XUv/_ssgManifest.js | 1 + .../chunks/pages/index-585bae731b186dcb4225.js | 2921 ++++++++++++++++++++ .../chunks/pages/index-689c814695b38e570f06.js | 2882 ------------------- out/index.html | 8 +- pages/index.tsx | 63 +- 11 files changed, 3000 insertions(+), 2928 deletions(-) delete mode 100644 out/_next/static/DEWNAb9qrxKluipBrYTq4/_buildManifest.js delete mode 100644 out/_next/static/DEWNAb9qrxKluipBrYTq4/_ssgManifest.js create mode 100644 out/_next/static/VVYThmGVjM_0dCSLu5XUv/_buildManifest.js create mode 100644 out/_next/static/VVYThmGVjM_0dCSLu5XUv/_ssgManifest.js create mode 100644 out/_next/static/chunks/pages/index-585bae731b186dcb4225.js delete mode 100644 out/_next/static/chunks/pages/index-689c814695b38e570f06.js (limited to 'out/404.html') diff --git a/components/config.ts b/components/config.ts index 0544b58..0bc2c29 100644 --- a/components/config.ts +++ b/components/config.ts @@ -34,7 +34,8 @@ export const initialPhysics = { export const initialFilter = { orphans: false, parents: true, - tags: [], + tagsBlacklist: [], + tagsWhitelist: [], nodes: [], links: [], date: [], diff --git a/components/tweaks.tsx b/components/tweaks.tsx index 5561a1b..1f4d1c7 100644 --- a/components/tweaks.tsx +++ b/components/tweaks.tsx @@ -246,6 +246,14 @@ export const Tweaks = (props: TweakProps) => { filter={filter} setFilter={setFilter} tags={tags} + mode="blacklist" + /> + @@ -1290,17 +1298,18 @@ export interface TagPanelProps { filter: typeof initialFilter setFilter: any highlightColor: string + mode: string } export const TagPanel = (props: TagPanelProps) => { - const { filter, setFilter, tags, highlightColor } = props + const { filter, setFilter, tags, highlightColor, mode } = props const tagArray = tags.map((tag) => { return { value: tag, label: tag } }) - // .concat[{ value: 'placeholder', label: 'New filter' }] + const currentTags = mode === 'blacklist' ? 'tagsBlacklist' : 'tagsWhitelist' const [selectedItems, setSelectedItems] = useState( - filter.tags.map((tag) => { + filter[currentTags].map((tag) => { return { value: tag, label: tag } }), ) @@ -1308,7 +1317,7 @@ export const TagPanel = (props: TagPanelProps) => { return ( null} disableCreateItem={true} @@ -1316,7 +1325,7 @@ export const TagPanel = (props: TagPanelProps) => { onSelectedItemsChange={(changes) => { if (changes.selectedItems) { setSelectedItems(changes.selectedItems) - setFilter({ ...filter, tags: changes.selectedItems.map((item) => item.value) }) + setFilter({ ...filter, [currentTags]: changes.selectedItems.map((item) => item.value) }) } }} listItemStyleProps={{ overflow: 'hidden' }} diff --git a/out/404.html b/out/404.html index aa19d0d..e638c38 100644 --- a/out/404.html +++ b/out/404.html @@ -18,8 +18,8 @@ - - + +
@@ -753,7 +753,7 @@ "props": { "pageProps": { "statusCode": 404 } }, "page": "/_error", "query": {}, - "buildId": "DEWNAb9qrxKluipBrYTq4", + "buildId": "VVYThmGVjM_0dCSLu5XUv", "nextExport": true, "isFallback": false, "gip": true, diff --git a/out/_next/static/DEWNAb9qrxKluipBrYTq4/_buildManifest.js b/out/_next/static/DEWNAb9qrxKluipBrYTq4/_buildManifest.js deleted file mode 100644 index c84d2fe..0000000 --- a/out/_next/static/DEWNAb9qrxKluipBrYTq4/_buildManifest.js +++ /dev/null @@ -1,12 +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-689c814695b38e570f06.js', - ], - '/_error': ['static/chunks/pages/_error-f5e67a79c709c2df06b8.js'], - sortedPages: ['/', '/_app', '/_error'], -}), - self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB() diff --git a/out/_next/static/DEWNAb9qrxKluipBrYTq4/_ssgManifest.js b/out/_next/static/DEWNAb9qrxKluipBrYTq4/_ssgManifest.js deleted file mode 100644 index 82bedd6..0000000 --- a/out/_next/static/DEWNAb9qrxKluipBrYTq4/_ssgManifest.js +++ /dev/null @@ -1 +0,0 @@ -;(self.__SSG_MANIFEST = new Set()), self.__SSG_MANIFEST_CB && self.__SSG_MANIFEST_CB() diff --git a/out/_next/static/VVYThmGVjM_0dCSLu5XUv/_buildManifest.js b/out/_next/static/VVYThmGVjM_0dCSLu5XUv/_buildManifest.js new file mode 100644 index 0000000..b70978a --- /dev/null +++ b/out/_next/static/VVYThmGVjM_0dCSLu5XUv/_buildManifest.js @@ -0,0 +1,12 @@ +;(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-585bae731b186dcb4225.js', + ], + '/_error': ['static/chunks/pages/_error-f5e67a79c709c2df06b8.js'], + sortedPages: ['/', '/_app', '/_error'], +}), + self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB() diff --git a/out/_next/static/VVYThmGVjM_0dCSLu5XUv/_ssgManifest.js b/out/_next/static/VVYThmGVjM_0dCSLu5XUv/_ssgManifest.js new file mode 100644 index 0000000..82bedd6 --- /dev/null +++ b/out/_next/static/VVYThmGVjM_0dCSLu5XUv/_ssgManifest.js @@ -0,0 +1 @@ +;(self.__SSG_MANIFEST = new Set()), self.__SSG_MANIFEST_CB && self.__SSG_MANIFEST_CB() diff --git a/out/_next/static/chunks/pages/index-585bae731b186dcb4225.js b/out/_next/static/chunks/pages/index-585bae731b186dcb4225.js new file mode 100644 index 0000000..9755166 --- /dev/null +++ b/out/_next/static/chunks/pages/index-585bae731b186dcb4225.js @@ -0,0 +1,2921 @@ +;(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: 0.05, + linkStrength: 0.1, + linkIts: 1, + alphaDecay: 0.02, + alphaTarget: 0, + alphaMin: 0, + velocityDecay: 0.25, + gravity: 0.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: 0.5, + arrowsColor: '', + linkOpacity: 0.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: 0.7, + citeDashes: !0, + citeDashLength: 35, + citeGapLength: 15, + citeLinkColor: 'gray.600', + 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), + Z = t(93441), + E = t(6569), + B = t(24189), + H = t(2827), + F = t(90454), + A = t(48420), + M = t(96699), + V = 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; n < arguments.length; n++) { + var t = null != arguments[n] ? arguments[n] : {} + n % 2 + ? re(Object(t), !0).forEach(function (n) { + ;(0, a.Z)(e, n, t[n]) + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) + : re(Object(t)).forEach(function (n) { + Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n)) + }) + } + return e + } + var oe = function (e) { + var n = e.physics, + t = e.setPhysics, + r = e.threeDim, + i = e.setThreeDim, + o = e.filter, + a = e.setFilter, + d = e.visuals, + h = e.setVisuals, + g = e.mouse, + f = e.setMouse, + x = e.behavior, + p = e.setBehavior, + m = e.tags, + v = e.tagColors, + b = e.setTagColors, + C = (0, u.useState)(!0), + y = C[0], + k = C[1], + w = (0, u.useContext)(te.N), + B = w.highlightColor, + H = w.setHighlightColor, + $ = [ + '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', + ] + return (0, l.jsxs)(l.Fragment, { + children: [ + (0, l.jsx)(F.R, { + in: !y, + children: (0, l.jsx)(j.xu, { + position: 'absolute', + zIndex: 'overlay', + marginTop: 10, + marginLeft: 10, + display: y ? 'none' : 'block', + children: (0, l.jsx)(A.h, { + 'aria-label': 'Settings', + icon: (0, l.jsx)(T.e, {}), + onClick: function () { + return k(!0) + }, + }), + }), + }), + (0, l.jsx)(F.R, { + in: y, + children: (0, l.jsxs)(j.xu, { + bg: 'alt.100', + w: 'xs', + marginTop: 10, + marginLeft: 10, + borderRadius: 'xl', + maxH: 650, + paddingBottom: 5, + zIndex: 300, + position: 'relative', + boxShadow: 'xl', + children: [ + (0, l.jsxs)(j.xu, { + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', + paddingRight: 2, + paddingTop: 1, + children: [ + (0, l.jsx)(M.u, { + label: '2D', + children: (0, l.jsx)(V.z, { + onClick: function () { + return i(!r) + }, + variant: 'ghost', + zIndex: 'overlay', + children: r ? '3D' : '2D', + }), + }), + (0, l.jsxs)(j.xu, { + display: 'flex', + alignItems: 'center', + children: [ + (0, l.jsx)(M.u, { + label: 'Reset settings to defaults', + children: (0, l.jsx)(A.h, { + 'aria-label': 'Reset Defaults', + icon: (0, l.jsx)(R.A, {}), + onClick: function () { + h(O), a(I), f(L), t(S), p(N) + }, + variant: 'none', + size: 'sm', + }), + }), + (0, l.jsx)(A.h, { + size: 'sm', + icon: (0, l.jsx)(D.T, {}), + 'aria-label': 'Close Tweak Panel', + variant: 'ghost', + onClick: function () { + return k(!1) + }, + }), + ], + }), + ], + }), + (0, l.jsx)(ne.ZP, { + autoHeight: !0, + autoHeightMax: 600, + autoHide: !0, + renderThumbVertical: function (e) { + var n = e.style, + t = (0, z.Z)(e, ['style']) + return (0, l.jsx)( + j.xu, + ie( + ie({}, t), + {}, + { style: ie(ie({}, n), {}, { borderRadius: 10 }), bg: B }, + ), + ) + }, + children: (0, l.jsxs)(W.UQ, { + allowMultiple: !0, + allowToggle: !0, + color: 'black', + children: [ + (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: 'Filter' }), + ], + }), + (0, l.jsxs)(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, { + justifyContent: 'space-between', + children: [ + (0, l.jsx)(Q.x, { children: 'Orphans' }), + (0, l.jsx)(q.r, { + onChange: function () { + a(ie(ie({}, o), {}, { orphans: !o.orphans })) + }, + isChecked: o.orphans, + }), + ], + }), + (0, l.jsxs)(U.k, { + justifyContent: 'space-between', + children: [ + (0, l.jsx)(Q.x, { + children: 'Link nodes with parent file', + }), + (0, l.jsx)(q.r, { + onChange: function () { + a(ie(ie({}, o), {}, { parents: !o.parents })) + }, + isChecked: o.parents, + }), + ], + }), + ], + }), + (0, l.jsxs)(W.UQ, { + padding: 0, + allowToggle: !0, + allowMultiple: !0, + paddingLeft: 3, + children: [ + (0, l.jsxs)(W.Qd, { + children: [ + (0, l.jsxs)(W.KF, { + children: ['Tag filters', (0, l.jsx)(W.XE, {})], + }), + (0, l.jsxs)(W.Hk, { + pr: 0, + mr: 0, + children: [ + (0, l.jsx)(ue, { + highlightColor: B, + filter: o, + setFilter: a, + tags: m, + mode: 'blacklist', + }), + (0, l.jsx)(ue, { + highlightColor: B, + filter: o, + setFilter: a, + tags: m, + mode: 'whitelist', + }), + ], + }), + ], + }), + (0, l.jsxs)(W.Qd, { + children: [ + (0, l.jsxs)(W.KF, { + children: ['Tag Colors', (0, l.jsx)(W.XE, {})], + }), + (0, l.jsx)(W.Hk, { + pr: 0, + mr: 0, + children: (0, l.jsx)(de, { + tags: m, + colorList: $, + tagColors: v, + setTagColors: b, + highlightColor: B, + }), + }), + ], + }), + ], + }), + ], + }), + ], + }), + (0, l.jsxs)(W.Qd, { + children: [ + (0, l.jsx)(W.KF, { + display: 'flex', + justifyContent: 'space-between', + children: (0, l.jsxs)(j.xu, { + display: 'flex', + children: [ + (0, l.jsx)(W.XE, { marginRight: 2 }), + (0, l.jsx)(X.X, { size: 'sm', children: 'Physics' }), + ], + }), + }), + (0, l.jsxs)(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.jsx)(ae, { + label: 'Gravity', + value: n.gravityOn, + onChange: function () { + return t(ie(ie({}, n), {}, { gravityOn: !n.gravityOn })) + }, + children: (0, l.jsx)(se, { + label: 'Strength', + value: 10 * n.gravity, + onChange: function (e) { + return t(ie(ie({}, n), {}, { gravity: e / 10 })) + }, + }), + }), + (0, l.jsx)(se, { + value: -n.charge / 100, + onChange: function (e) { + return t(ie(ie({}, n), {}, { charge: -100 * e })) + }, + label: 'Repulsive Force', + }), + (0, l.jsx)(ae, { + label: 'Collision', + infoText: 'Perfomance sap, disable if slow', + value: n.collision, + onChange: function () { + return t(ie(ie({}, n), {}, { collision: !n.collision })) + }, + children: (0, l.jsx)(se, { + value: n.collisionStrength / 5, + onChange: function (e) { + return t( + ie(ie({}, n), {}, { collisionStrength: 5 * e }), + ) + }, + label: 'Collision Radius', + infoText: + 'Easy with this one, high values can lead to a real jiggly mess', + }), + }), + (0, l.jsx)(se, { + value: 5 * n.linkStrength, + onChange: function (e) { + return t(ie(ie({}, n), {}, { linkStrength: e / 5 })) + }, + label: 'Link Force', + }), + (0, l.jsx)(se, { + label: 'Link Iterations', + value: n.linkIts, + onChange: function (e) { + return t(ie(ie({}, n), {}, { linkIts: e })) + }, + min: 0, + max: 6, + step: 1, + infoText: + 'How many links down the line the physics of a single node affects (Slow)', + }), + (0, l.jsx)(se, { + label: 'Viscosity', + value: 10 * n.velocityDecay, + onChange: function (e) { + return t(ie(ie({}, n), {}, { velocityDecay: e / 10 })) + }, + }), + ], + }), + (0, l.jsx)(j.xu, { + children: (0, l.jsx)(W.UQ, { + paddingLeft: 3, + allowToggle: !0, + children: (0, l.jsxs)(W.Qd, { + children: [ + (0, l.jsxs)(W.KF, { + children: [ + (0, l.jsx)(Q.x, { children: 'Advanced' }), + (0, l.jsx)(W.XE, { marginRight: 2 }), + ], + }), + (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: 3, + color: 'gray.800', + children: [ + (0, l.jsx)(se, { + label: 'Stabilization rate', + value: 50 * n.alphaDecay, + onChange: function (e) { + return t( + ie(ie({}, n), {}, { alphaDecay: e / 50 }), + ) + }, + }), + (0, l.jsx)(ae, { + label: 'Center nodes', + value: n.centering, + onChange: function () { + return t( + ie( + ie({}, n), + {}, + { centering: !n.centering }, + ), + ) + }, + infoText: + 'Keeps the nodes in the center of the viewport. If disabled you can drag the nodes anywhere you want.', + children: (0, l.jsx)(se, { + label: 'Centering Strength', + value: n.centeringStrength, + max: 2, + step: 0.01, + onChange: function (e) { + return t( + ie(ie({}, n), {}, { centeringStrength: 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: 'Visual' }), + ], + }), + (0, l.jsx)(W.Hk, { + children: (0, l.jsxs)(_.gC, { + justifyContent: 'flex-start', + align: 'stretch', + children: [ + (0, l.jsx)(W.UQ, { + allowToggle: !0, + defaultIndex: [0], + paddingLeft: 3, + children: (0, l.jsxs)(W.Qd, { + children: [ + (0, l.jsx)(W.KF, { + children: (0, l.jsxs)(U.k, { + justifyContent: 'space-between', + w: '100%', + children: [ + (0, l.jsx)(Q.x, { children: 'Colors' }), + (0, l.jsx)(W.XE, { marginRight: 2 }), + ], + }), + }), + (0, l.jsx)(W.Hk, { + children: (0, l.jsx)(_.gC, { + spacing: 2, + justifyContent: 'flex-start', + divider: (0, l.jsx)(_.cX, { + borderColor: 'gray.500', + }), + align: 'stretch', + color: 'gray.800', + children: (0, l.jsxs)(j.xu, { + children: [ + (0, l.jsxs)(U.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsx)(Q.x, { children: 'Nodes' }), + (0, l.jsx)(M.u, { + label: 'Shuffle node colors', + children: (0, l.jsx)(A.h, { + 'aria-label': 'Shuffle node colors', + size: 'sm', + icon: (0, l.jsx)(P.n, {}), + variant: 'ghost', + onClick: function () { + var e, + n = + null !== (e = d.nodeColorScheme) && + void 0 !== e + ? e + : [] + h( + ie( + ie({}, d), + {}, + { + nodeColorScheme: n + .map(function (e) { + return [Math.random(), e] + }) + .sort(function (e, n) { + return ( + (0, c.Z)(e, 1)[0] - + (0, c.Z)(n, 1)[0] + ) + }) + .map(function (e) { + var n = (0, c.Z)(e, 2) + n[0] + return n[1] + }), + }, + ), + ) + }, + }), + }), + (0, l.jsx)(M.u, { + label: 'Cycle node colors', + children: (0, l.jsx)(A.h, { + 'aria-label': 'Shift node colors', + icon: (0, l.jsx)(Z.L, {}), + size: 'sm', + variant: 'ghost', + onClick: function () { + var e, + n = + null !== (e = d.nodeColorScheme) && + void 0 !== e + ? e + : [] + h( + ie( + ie({}, d), + {}, + { + nodeColorScheme: [].concat( + (0, s.Z)(n.slice(1, n.length)), + [n[0]], + ), + }, + ), + ) + }, + }), + }), + (0, l.jsxs)(K.v2, { + placement: 'right', + closeOnSelect: !1, + matchWidth: !0, + children: [ + (0, l.jsx)(K.j2, { + width: 20, + as: V.z, + colorScheme: '', + color: 'black', + rightIcon: (0, l.jsx)(E.v, {}), + children: (0, l.jsx)(U.k, { + height: 6, + width: 6, + flexDirection: 'column', + flexWrap: 'wrap', + children: d.nodeColorScheme.map( + function (e) { + return (0, l.jsx)( + j.xu, + { + bgColor: e, + flex: '1 1 8px', + borderRadius: '2xl', + }, + e, + ) + }, + ), + }), + }), + (0, l.jsxs)(G.h, { + children: [ + ' ', + (0, l.jsx)(K.qy, { + minW: 10, + zIndex: 'popover', + bgColor: 'gray.200', + children: (0, l.jsx)(K.__, { + width: 500, + type: 'checkbox', + defaultValue: d.nodeColorScheme, + onChange: function (e) { + e.length && + h( + ie( + ie({}, d), + {}, + { nodeColorScheme: e }, + ), + ) + }, + children: $.map(function (e) { + return (0, l.jsx)( + K.ii, + { + isChecked: + d.nodeColorScheme.some( + function (n) { + return n === e + }, + ), + value: e, + isDisabled: + 1 === + d.nodeColorScheme + .length && + d.nodeColorScheme[0] === + e, + children: (0, l.jsx)(j.xu, { + justifyContent: + 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)( + j.xu, + { + bgColor: e, + borderRadius: 'sm', + height: 6, + width: 6, + }, + ), + }), + }, + e, + ) + }), + }), + }), + ], + }), + ], + }), + ], + }), + (0, l.jsxs)(U.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsx)(Q.x, { children: 'Links' }), + (0, l.jsxs)(K.v2, { + placement: 'right', + children: [ + (0, l.jsx)(K.j2, { + as: V.z, + colorScheme: '', + color: 'black', + rightIcon: (0, l.jsx)(E.v, {}), + children: (0, l.jsx)(j.xu, { + children: d.linkColorScheme + ? (0, l.jsx)(j.xu, { + bgColor: d.linkColorScheme, + borderRadius: 'sm', + height: 6, + width: 6, + }) + : (0, l.jsx)(U.k, { + height: 6, + width: 6, + flexDirection: 'column', + flexWrap: 'wrap', + children: d.nodeColorScheme.map( + function (e) { + return (0, l.jsx)( + j.xu, + { + bgColor: e, + flex: '1 1 8px', + borderRadius: '2xl', + }, + e, + ) + }, + ), + }), + }), + }), + (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 h( + ie( + ie({}, d), + {}, + { linkColorScheme: '' }, + ), + ) + }, + justifyContent: 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)(U.k, { + height: 6, + width: 6, + flexDirection: 'column', + flexWrap: 'wrap', + children: + d.nodeColorScheme.map( + function (e) { + return (0, l.jsx)( + j.xu, + { + bgColor: e, + flex: '1 1 8px', + borderRadius: '2xl', + }, + e, + ) + }, + ), + }), + }), + $.map(function (e) { + return (0, l.jsx)( + K.sN, + { + onClick: function () { + return h( + ie( + ie({}, d), + {}, + { + linkColorScheme: e, + }, + ), + ) + }, + justifyContent: + 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)(j.xu, { + bgColor: e, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }, + e, + ) + }), + ], + }), + ], + }), + ], + }), + ], + }), + (0, l.jsxs)(U.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsx)(Q.x, { children: 'Accent' }), + (0, l.jsxs)(K.v2, { + placement: 'right', + children: [ + (0, l.jsx)(K.j2, { + as: V.z, + colorScheme: '', + color: 'black', + rightIcon: (0, l.jsx)(E.v, {}), + children: (0, l.jsx)(j.xu, { + bgColor: B, + 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: $.map(function (e) { + return (0, l.jsx)( + K.sN, + { + onClick: function () { + return H(e) + }, + justifyContent: + 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)(j.xu, { + bgColor: e, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }, + e, + ) + }), + }), + ], + }), + ], + }), + ], + }), + (0, l.jsx)(ce, { + colorList: $, + label: 'Link highlight', + visuals: d, + setVisuals: h, + value: 'linkHighlight', + visValue: d.linkHighlight, + }), + (0, l.jsx)(ce, { + colorList: $, + label: 'Node highlight', + visuals: d, + setVisuals: h, + value: 'nodeHighlight', + visValue: d.nodeHighlight, + }), + (0, l.jsx)(ce, { + colorList: $, + label: 'Background', + visuals: d, + setVisuals: h, + value: 'backgroundColor', + visValue: d.backgroundColor, + }), + (0, l.jsx)(ce, { + colorList: $, + label: 'Emacs node', + visuals: d, + setVisuals: h, + value: 'emacsNodeColor', + visValue: d.emacsNodeColor, + }), + ], + }), + }), + }), + ], + }), + }), + (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.jsx)(se, { + label: 'Node size', + value: d.nodeRel, + onChange: function (e) { + return h(ie(ie({}, d), {}, { nodeRel: e })) + }, + }), + r && + (0, l.jsxs)(l.Fragment, { + children: [ + (0, l.jsx)(se, { + label: 'Node opacity', + value: d.nodeOpacity, + min: 0, + max: 1, + onChange: function (e) { + return h(ie(ie({}, d), {}, { nodeOpacity: e })) + }, + }), + (0, l.jsx)(se, { + label: 'Node resolution', + value: d.nodeResolution, + min: 5, + max: 32, + step: 1, + onChange: function (e) { + return h(ie(ie({}, d), {}, { nodeResolution: e })) + }, + }), + ], + }), + (0, l.jsx)(se, { + label: 'Link width', + value: d.linkWidth, + onChange: function (e) { + return h(ie(ie({}, d), {}, { linkWidth: e })) + }, + }), + r && + (0, l.jsx)(se, { + label: 'Link opacity', + min: 0, + max: 1, + value: d.linkOpacity, + onChange: function (e) { + return h(ie(ie({}, d), {}, { linkOpacity: e })) + }, + }), + (0, l.jsxs)(ae, { + label: 'Dash cite links', + infoText: + 'Add dashes to citation links made with org-roam-bibtex', + value: d.citeDashes, + onChange: function () { + return h( + ie(ie({}, d), {}, { citeDashes: !d.citeDashes }), + ) + }, + children: [ + (0, l.jsx)(se, { + label: 'Dash length', + value: d.citeDashLength / 10, + onChange: function (e) { + return h( + ie(ie({}, d), {}, { citeDashLength: 10 * e }), + ) + }, + }), + (0, l.jsx)(se, { + label: 'Gap length', + value: d.citeGapLength / 5, + onChange: function (e) { + return h( + ie(ie({}, d), {}, { citeGapLength: 5 * e }), + ) + }, + }), + ], + }), + (0, l.jsx)(ce, { + colorList: $, + label: 'Citation node color', + visuals: d, + setVisuals: h, + value: 'citeNodeColor', + visValue: d.citeNodeColor, + }), + (0, l.jsx)(ce, { + colorList: $, + label: 'Citationlink color', + visuals: d, + setVisuals: h, + value: 'citeLinkColor', + visValue: d.citeLinkColor, + }), + (0, l.jsxs)(j.xu, { + children: [ + (0, l.jsxs)(U.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsx)(Q.x, { children: 'Labels' }), + (0, l.jsxs)(K.v2, { + placement: 'right', + children: [ + (0, l.jsx)(K.j2, { + as: V.z, + colorScheme: '', + color: 'black', + rightIcon: (0, l.jsx)(E.v, {}), + children: d.labels + ? d.labels < 2 + ? 'On Highlight' + : 'Always' + : '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 h( + ie(ie({}, d), {}, { labels: 0 }), + ) + }, + children: 'Never', + }), + (0, l.jsx)(K.sN, { + onClick: function () { + return h( + ie(ie({}, d), {}, { labels: 1 }), + ) + }, + children: 'On Highlight', + }), + (0, l.jsx)(K.sN, { + onClick: function () { + return h( + ie(ie({}, d), {}, { labels: 2 }), + ) + }, + children: 'Always', + }), + (0, l.jsx)(K.sN, { + onClick: function () { + return h( + ie(ie({}, d), {}, { labels: 3 }), + ) + }, + children: 'Always (even in 3D)', + }), + ], + }), + ], + }), + ], + }), + ], + }), + (0, l.jsx)(J.U, { + in: d.labels > 0, + 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: 0.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: 0.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: V.z, + rightIcon: (0, l.jsx)(E.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: V.z, + rightIcon: (0, l.jsx)(E.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: V.z, + rightIcon: (0, l.jsx)(E.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)(M.u, { + label: n, + placement: 'top', + color: 'gray.100', + bg: 'gray.800', + hasArrow: !0, + children: (0, l.jsx)(B.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 ? 0.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)(M.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: V.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)(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: V.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)(H.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; n < arguments.length; n++) { + var t = null != arguments[n] ? arguments[n] : {} + n % 2 + ? fe(Object(t), !0).forEach(function (n) { + ;(0, a.Z)(e, n, t[n]) + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) + : fe(Object(t)).forEach(function (n) { + Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n)) + }) + } + return e + } + var pe = t.e(4).then(t.bind(t, 57004)), + je = t.g.window ? t(61957).f$ : null, + me = t.g.window ? t(61957).s6 : null + function ve() { + var e = (0, u.useState)(!1), + n = e[0], + t = e[1] + return ( + (0, u.useEffect)(function () { + t(!0) + }, []), + n ? (0, l.jsx)(be, {}) : null + ) + } + function be() { + var e = d('physics', S), + n = (0, c.Z)(e, 2), + t = n[0], + r = n[1], + i = d('filter', I), + o = (0, c.Z)(i, 2), + h = o[0], + g = o[1], + f = d('visuals', O), + x = (0, c.Z)(f, 2), + p = x[0], + m = x[1], + v = (0, u.useState)(null), + b = v[0], + C = v[1], + y = (0, u.useState)(null), + k = y[0], + w = y[1], + z = d('behavior', N), + T = (0, c.Z)(z, 2), + R = T[0], + D = T[1], + P = d('mouse', L), + Z = (0, c.Z)(P, 2), + E = Z[0], + B = Z[1], + H = (0, u.useRef)({}), + F = (0, u.useRef)({}), + A = (0, u.useRef)([]), + M = (0, u.useContext)(te.N).setEmacsTheme, + V = d('3d', !1), + W = (0, c.Z)(V, 2), + X = W[0], + _ = W[1], + U = d('tagCols', {}), + Q = (0, c.Z)(U, 2), + q = Q[0], + K = Q[1], + G = (0, u.useState)({ nodeIds: [] }), + J = G[0], + Y = G[1], + $ = (0, u.useRef)({ nodeIds: [] }), + ee = (0, u.useRef)(N) + ee.current = R + var ne = (0, u.useRef)(null), + re = (0, u.useRef)(null) + $.current = J + var ie = function (e, n) { + var t, + r = arguments.length > 2 && 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' } + }) + : [] + }) + H.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 H.current[n] && H.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 M(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: E, + setMouse: B, + 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: H.current, + linksByNodeId: F.current, + webSocket: re.current, + }, + { + physics: t, + graphData: b, + threeDim: X, + emacsNodeId: k, + filter: h, + visuals: p, + behavior: R, + mouse: E, + 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)(), + Z = (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) + } + }, + B = (0, u.useRef)(null) + ;(0, u.useEffect)( + function () { + m && D(v[m]) + }, + [m], + ), + (B.current = R) + var H = (0, u.useMemo)( + function () { + if (!B.current) return {} + var e = h[B.current.id] + return e + ? Object.fromEntries( + [B.current.id] + .concat( + (0, s.Z)( + e.flatMap(function (e) { + return [e.source, e.target] + }), + ), + ) + .map(function (e) { + return [e, {}] + }), + ) + : {} + }, + [B.current, h], + ), + F = (0, u.useRef)({}), + A = (0, u.useMemo)( + function () { + 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], + ), + M = (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 V = (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 > 0.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 || [], + ) + 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, Z], + ), + 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, Z], + ), + ce = (0, u.useMemo)( + function () { + return ne(b.labelBackgroundColor) + }, + [b.labelBackgroundColor, Z], + ), + ue = { + graphData: M, + width: L, + height: z, + backgroundColor: P.colors.gray[b.backgroundColor], + nodeLabel: function (e) { + return e.title + }, + nodeColor: function (e) { + return (function (e) { + var n = H[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)) * + (H[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) || H[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 + 0.5 * l + }), + c = Math.min((3 * (t - b.labelScale)) / b.labelScale, 1), + u = function () { + return 1 === b.labels || t <= b.labelScale + ? X + : H[e.id] || ie[e.id] + ? Math.max(c, X) + : 1 * c * (-1 * (0.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, B.current), + i = ye(e, ee.current), + o = r || i, + l = e + return b.citeLinkColor && 'cite' === l.type + ? o + ? '#ffffff' + : 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, B.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 - V.current < 400 + return (V.current = n.timeStamp), E(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) { + E('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) || H[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 + }, +]) diff --git a/out/_next/static/chunks/pages/index-689c814695b38e570f06.js b/out/_next/static/chunks/pages/index-689c814695b38e570f06.js deleted file mode 100644 index 0c6eb93..0000000 --- a/out/_next/static/chunks/pages/index-689c814695b38e570f06.js +++ /dev/null @@ -1,2882 +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: 0.05, - linkStrength: 0.1, - linkIts: 1, - alphaDecay: 0.02, - alphaTarget: 0, - alphaMin: 0, - velocityDecay: 0.25, - gravity: 0.3, - gravityOn: !0, - }, - I = { orphans: !1, parents: !0, tags: [], nodes: [], links: [], date: [] }, - O = { - particles: !1, - particlesNumber: 0, - particlesWidth: 4, - arrows: !1, - arrowsLength: 1, - arrowsPos: 0.5, - arrowsColor: '', - linkOpacity: 0.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: 0.7, - citeDashes: !0, - citeDashLength: 35, - citeGapLength: 15, - citeLinkColor: 'gray.600', - 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), - E = t(93441), - Z = t(6569), - H = t(24189), - B = t(2827), - A = t(90454), - F = t(48420), - M = t(96699), - V = t(40155), - X = t(56769), - W = 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; n < arguments.length; n++) { - var t = null != arguments[n] ? arguments[n] : {} - n % 2 - ? re(Object(t), !0).forEach(function (n) { - ;(0, a.Z)(e, n, t[n]) - }) - : Object.getOwnPropertyDescriptors - ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) - : re(Object(t)).forEach(function (n) { - Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n)) - }) - } - return e - } - var oe = function (e) { - var n = e.physics, - t = e.setPhysics, - r = e.threeDim, - i = e.setThreeDim, - o = e.filter, - a = e.setFilter, - d = e.visuals, - h = e.setVisuals, - g = e.mouse, - f = e.setMouse, - x = e.behavior, - p = e.setBehavior, - m = e.tags, - v = e.tagColors, - b = e.setTagColors, - C = (0, u.useState)(!0), - y = C[0], - k = C[1], - w = (0, u.useContext)(te.N), - H = w.highlightColor, - B = w.setHighlightColor, - $ = [ - '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', - ] - return (0, l.jsxs)(l.Fragment, { - children: [ - (0, l.jsx)(A.R, { - in: !y, - children: (0, l.jsx)(j.xu, { - position: 'absolute', - zIndex: 'overlay', - marginTop: 10, - marginLeft: 10, - display: y ? 'none' : 'block', - children: (0, l.jsx)(F.h, { - 'aria-label': 'Settings', - icon: (0, l.jsx)(T.e, {}), - onClick: function () { - return k(!0) - }, - }), - }), - }), - (0, l.jsx)(A.R, { - in: y, - children: (0, l.jsxs)(j.xu, { - bg: 'alt.100', - w: 'xs', - marginTop: 10, - marginLeft: 10, - borderRadius: 'xl', - maxH: 650, - paddingBottom: 5, - zIndex: 300, - position: 'relative', - boxShadow: 'xl', - children: [ - (0, l.jsxs)(j.xu, { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - paddingRight: 2, - paddingTop: 1, - children: [ - (0, l.jsx)(M.u, { - label: '2D', - children: (0, l.jsx)(V.z, { - onClick: function () { - return i(!r) - }, - variant: 'ghost', - zIndex: 'overlay', - children: r ? '3D' : '2D', - }), - }), - (0, l.jsxs)(j.xu, { - display: 'flex', - alignItems: 'center', - children: [ - (0, l.jsx)(M.u, { - label: 'Reset settings to defaults', - children: (0, l.jsx)(F.h, { - 'aria-label': 'Reset Defaults', - icon: (0, l.jsx)(R.A, {}), - onClick: function () { - h(O), a(I), f(L), t(S), p(N) - }, - variant: 'none', - size: 'sm', - }), - }), - (0, l.jsx)(F.h, { - size: 'sm', - icon: (0, l.jsx)(D.T, {}), - 'aria-label': 'Close Tweak Panel', - variant: 'ghost', - onClick: function () { - return k(!1) - }, - }), - ], - }), - ], - }), - (0, l.jsx)(ne.ZP, { - autoHeight: !0, - autoHeightMax: 600, - autoHide: !0, - renderThumbVertical: function (e) { - var n = e.style, - t = (0, z.Z)(e, ['style']) - return (0, l.jsx)( - j.xu, - ie( - ie({}, t), - {}, - { style: ie(ie({}, n), {}, { borderRadius: 10 }), bg: H }, - ), - ) - }, - children: (0, l.jsxs)(X.UQ, { - allowMultiple: !0, - allowToggle: !0, - color: 'black', - children: [ - (0, l.jsxs)(X.Qd, { - children: [ - (0, l.jsxs)(X.KF, { - children: [ - (0, l.jsx)(X.XE, { marginRight: 2 }), - (0, l.jsx)(W.X, { size: 'sm', children: 'Filter' }), - ], - }), - (0, l.jsxs)(X.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, { - justifyContent: 'space-between', - children: [ - (0, l.jsx)(Q.x, { children: 'Orphans' }), - (0, l.jsx)(q.r, { - onChange: function () { - a(ie(ie({}, o), {}, { orphans: !o.orphans })) - }, - isChecked: o.orphans, - }), - ], - }), - (0, l.jsxs)(U.k, { - justifyContent: 'space-between', - children: [ - (0, l.jsx)(Q.x, { - children: 'Link nodes with parent file', - }), - (0, l.jsx)(q.r, { - onChange: function () { - a(ie(ie({}, o), {}, { parents: !o.parents })) - }, - isChecked: o.parents, - }), - ], - }), - ], - }), - (0, l.jsxs)(X.UQ, { - padding: 0, - allowToggle: !0, - allowMultiple: !0, - paddingLeft: 3, - children: [ - (0, l.jsxs)(X.Qd, { - children: [ - (0, l.jsxs)(X.KF, { - children: ['Tag filters', (0, l.jsx)(X.XE, {})], - }), - (0, l.jsx)(X.Hk, { - pr: 0, - mr: 0, - children: (0, l.jsx)(ue, { - highlightColor: H, - filter: o, - setFilter: a, - tags: m, - }), - }), - ], - }), - (0, l.jsxs)(X.Qd, { - children: [ - (0, l.jsxs)(X.KF, { - children: ['Tag Colors', (0, l.jsx)(X.XE, {})], - }), - (0, l.jsx)(X.Hk, { - pr: 0, - mr: 0, - children: (0, l.jsx)(de, { - tags: m, - colorList: $, - tagColors: v, - setTagColors: b, - highlightColor: H, - }), - }), - ], - }), - ], - }), - ], - }), - ], - }), - (0, l.jsxs)(X.Qd, { - children: [ - (0, l.jsx)(X.KF, { - display: 'flex', - justifyContent: 'space-between', - children: (0, l.jsxs)(j.xu, { - display: 'flex', - children: [ - (0, l.jsx)(X.XE, { marginRight: 2 }), - (0, l.jsx)(W.X, { size: 'sm', children: 'Physics' }), - ], - }), - }), - (0, l.jsxs)(X.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.jsx)(ae, { - label: 'Gravity', - value: n.gravityOn, - onChange: function () { - return t(ie(ie({}, n), {}, { gravityOn: !n.gravityOn })) - }, - children: (0, l.jsx)(se, { - label: 'Strength', - value: 10 * n.gravity, - onChange: function (e) { - return t(ie(ie({}, n), {}, { gravity: e / 10 })) - }, - }), - }), - (0, l.jsx)(se, { - value: -n.charge / 100, - onChange: function (e) { - return t(ie(ie({}, n), {}, { charge: -100 * e })) - }, - label: 'Repulsive Force', - }), - (0, l.jsx)(ae, { - label: 'Collision', - infoText: 'Perfomance sap, disable if slow', - value: n.collision, - onChange: function () { - return t(ie(ie({}, n), {}, { collision: !n.collision })) - }, - children: (0, l.jsx)(se, { - value: n.collisionStrength / 5, - onChange: function (e) { - return t( - ie(ie({}, n), {}, { collisionStrength: 5 * e }), - ) - }, - label: 'Collision Radius', - infoText: - 'Easy with this one, high values can lead to a real jiggly mess', - }), - }), - (0, l.jsx)(se, { - value: 5 * n.linkStrength, - onChange: function (e) { - return t(ie(ie({}, n), {}, { linkStrength: e / 5 })) - }, - label: 'Link Force', - }), - (0, l.jsx)(se, { - label: 'Link Iterations', - value: n.linkIts, - onChange: function (e) { - return t(ie(ie({}, n), {}, { linkIts: e })) - }, - min: 0, - max: 6, - step: 1, - infoText: - 'How many links down the line the physics of a single node affects (Slow)', - }), - (0, l.jsx)(se, { - label: 'Viscosity', - value: 10 * n.velocityDecay, - onChange: function (e) { - return t(ie(ie({}, n), {}, { velocityDecay: e / 10 })) - }, - }), - ], - }), - (0, l.jsx)(j.xu, { - children: (0, l.jsx)(X.UQ, { - paddingLeft: 3, - allowToggle: !0, - children: (0, l.jsxs)(X.Qd, { - children: [ - (0, l.jsxs)(X.KF, { - children: [ - (0, l.jsx)(Q.x, { children: 'Advanced' }), - (0, l.jsx)(X.XE, { marginRight: 2 }), - ], - }), - (0, l.jsx)(X.Hk, { - children: (0, l.jsxs)(_.gC, { - spacing: 2, - justifyContent: 'flex-start', - divider: (0, l.jsx)(_.cX, { - borderColor: 'gray.500', - }), - align: 'stretch', - paddingLeft: 3, - color: 'gray.800', - children: [ - (0, l.jsx)(se, { - label: 'Stabilization rate', - value: 50 * n.alphaDecay, - onChange: function (e) { - return t( - ie(ie({}, n), {}, { alphaDecay: e / 50 }), - ) - }, - }), - (0, l.jsx)(ae, { - label: 'Center nodes', - value: n.centering, - onChange: function () { - return t( - ie( - ie({}, n), - {}, - { centering: !n.centering }, - ), - ) - }, - infoText: - 'Keeps the nodes in the center of the viewport. If disabled you can drag the nodes anywhere you want.', - children: (0, l.jsx)(se, { - label: 'Centering Strength', - value: n.centeringStrength, - max: 2, - step: 0.01, - onChange: function (e) { - return t( - ie(ie({}, n), {}, { centeringStrength: e }), - ) - }, - }), - }), - ], - }), - }), - ], - }), - }), - }), - ], - }), - ], - }), - (0, l.jsxs)(X.Qd, { - children: [ - (0, l.jsxs)(X.KF, { - children: [ - (0, l.jsx)(X.XE, { marginRight: 2 }), - (0, l.jsx)(W.X, { size: 'sm', children: 'Visual' }), - ], - }), - (0, l.jsx)(X.Hk, { - children: (0, l.jsxs)(_.gC, { - justifyContent: 'flex-start', - align: 'stretch', - children: [ - (0, l.jsx)(X.UQ, { - allowToggle: !0, - defaultIndex: [0], - paddingLeft: 3, - children: (0, l.jsxs)(X.Qd, { - children: [ - (0, l.jsx)(X.KF, { - children: (0, l.jsxs)(U.k, { - justifyContent: 'space-between', - w: '100%', - children: [ - (0, l.jsx)(Q.x, { children: 'Colors' }), - (0, l.jsx)(X.XE, { marginRight: 2 }), - ], - }), - }), - (0, l.jsx)(X.Hk, { - children: (0, l.jsx)(_.gC, { - spacing: 2, - justifyContent: 'flex-start', - divider: (0, l.jsx)(_.cX, { - borderColor: 'gray.500', - }), - align: 'stretch', - color: 'gray.800', - children: (0, l.jsxs)(j.xu, { - children: [ - (0, l.jsxs)(U.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(Q.x, { children: 'Nodes' }), - (0, l.jsx)(M.u, { - label: 'Shuffle node colors', - children: (0, l.jsx)(F.h, { - 'aria-label': 'Shuffle node colors', - size: 'sm', - icon: (0, l.jsx)(P.n, {}), - variant: 'ghost', - onClick: function () { - var e, - n = - null !== (e = d.nodeColorScheme) && - void 0 !== e - ? e - : [] - h( - ie( - ie({}, d), - {}, - { - nodeColorScheme: n - .map(function (e) { - return [Math.random(), e] - }) - .sort(function (e, n) { - return ( - (0, c.Z)(e, 1)[0] - - (0, c.Z)(n, 1)[0] - ) - }) - .map(function (e) { - var n = (0, c.Z)(e, 2) - n[0] - return n[1] - }), - }, - ), - ) - }, - }), - }), - (0, l.jsx)(M.u, { - label: 'Cycle node colors', - children: (0, l.jsx)(F.h, { - 'aria-label': 'Shift node colors', - icon: (0, l.jsx)(E.L, {}), - size: 'sm', - variant: 'ghost', - onClick: function () { - var e, - n = - null !== (e = d.nodeColorScheme) && - void 0 !== e - ? e - : [] - h( - ie( - ie({}, d), - {}, - { - nodeColorScheme: [].concat( - (0, s.Z)(n.slice(1, n.length)), - [n[0]], - ), - }, - ), - ) - }, - }), - }), - (0, l.jsxs)(K.v2, { - placement: 'right', - closeOnSelect: !1, - matchWidth: !0, - children: [ - (0, l.jsx)(K.j2, { - width: 20, - as: V.z, - colorScheme: '', - color: 'black', - rightIcon: (0, l.jsx)(Z.v, {}), - children: (0, l.jsx)(U.k, { - height: 6, - width: 6, - flexDirection: 'column', - flexWrap: 'wrap', - children: d.nodeColorScheme.map( - function (e) { - return (0, l.jsx)( - j.xu, - { - bgColor: e, - flex: '1 1 8px', - borderRadius: '2xl', - }, - e, - ) - }, - ), - }), - }), - (0, l.jsxs)(G.h, { - children: [ - ' ', - (0, l.jsx)(K.qy, { - minW: 10, - zIndex: 'popover', - bgColor: 'gray.200', - children: (0, l.jsx)(K.__, { - width: 500, - type: 'checkbox', - defaultValue: d.nodeColorScheme, - onChange: function (e) { - e.length && - h( - ie( - ie({}, d), - {}, - { nodeColorScheme: e }, - ), - ) - }, - children: $.map(function (e) { - return (0, l.jsx)( - K.ii, - { - isChecked: - d.nodeColorScheme.some( - function (n) { - return n === e - }, - ), - value: e, - isDisabled: - 1 === - d.nodeColorScheme - .length && - d.nodeColorScheme[0] === - e, - children: (0, l.jsx)(j.xu, { - justifyContent: - 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)( - j.xu, - { - bgColor: e, - borderRadius: 'sm', - height: 6, - width: 6, - }, - ), - }), - }, - e, - ) - }), - }), - }), - ], - }), - ], - }), - ], - }), - (0, l.jsxs)(U.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(Q.x, { children: 'Links' }), - (0, l.jsxs)(K.v2, { - placement: 'right', - children: [ - (0, l.jsx)(K.j2, { - as: V.z, - colorScheme: '', - color: 'black', - rightIcon: (0, l.jsx)(Z.v, {}), - children: (0, l.jsx)(j.xu, { - children: d.linkColorScheme - ? (0, l.jsx)(j.xu, { - bgColor: d.linkColorScheme, - borderRadius: 'sm', - height: 6, - width: 6, - }) - : (0, l.jsx)(U.k, { - height: 6, - width: 6, - flexDirection: 'column', - flexWrap: 'wrap', - children: d.nodeColorScheme.map( - function (e) { - return (0, l.jsx)( - j.xu, - { - bgColor: e, - flex: '1 1 8px', - borderRadius: '2xl', - }, - e, - ) - }, - ), - }), - }), - }), - (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 h( - ie( - ie({}, d), - {}, - { linkColorScheme: '' }, - ), - ) - }, - justifyContent: 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(U.k, { - height: 6, - width: 6, - flexDirection: 'column', - flexWrap: 'wrap', - children: - d.nodeColorScheme.map( - function (e) { - return (0, l.jsx)( - j.xu, - { - bgColor: e, - flex: '1 1 8px', - borderRadius: '2xl', - }, - e, - ) - }, - ), - }), - }), - $.map(function (e) { - return (0, l.jsx)( - K.sN, - { - onClick: function () { - return h( - ie( - ie({}, d), - {}, - { - linkColorScheme: e, - }, - ), - ) - }, - justifyContent: - 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(j.xu, { - bgColor: e, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }, - e, - ) - }), - ], - }), - ], - }), - ], - }), - ], - }), - (0, l.jsxs)(U.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(Q.x, { children: 'Accent' }), - (0, l.jsxs)(K.v2, { - placement: 'right', - children: [ - (0, l.jsx)(K.j2, { - as: V.z, - colorScheme: '', - color: 'black', - rightIcon: (0, l.jsx)(Z.v, {}), - children: (0, l.jsx)(j.xu, { - bgColor: H, - 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: $.map(function (e) { - return (0, l.jsx)( - K.sN, - { - onClick: function () { - return B(e) - }, - justifyContent: - 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(j.xu, { - bgColor: e, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }, - e, - ) - }), - }), - ], - }), - ], - }), - ], - }), - (0, l.jsx)(ce, { - colorList: $, - label: 'Link highlight', - visuals: d, - setVisuals: h, - value: 'linkHighlight', - visValue: d.linkHighlight, - }), - (0, l.jsx)(ce, { - colorList: $, - label: 'Node highlight', - visuals: d, - setVisuals: h, - value: 'nodeHighlight', - visValue: d.nodeHighlight, - }), - (0, l.jsx)(ce, { - colorList: $, - label: 'Background', - visuals: d, - setVisuals: h, - value: 'backgroundColor', - visValue: d.backgroundColor, - }), - (0, l.jsx)(ce, { - colorList: $, - label: 'Emacs node', - visuals: d, - setVisuals: h, - value: 'emacsNodeColor', - visValue: d.emacsNodeColor, - }), - ], - }), - }), - }), - ], - }), - }), - (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.jsx)(se, { - label: 'Node size', - value: d.nodeRel, - onChange: function (e) { - return h(ie(ie({}, d), {}, { nodeRel: e })) - }, - }), - r && - (0, l.jsxs)(l.Fragment, { - children: [ - (0, l.jsx)(se, { - label: 'Node opacity', - value: d.nodeOpacity, - min: 0, - max: 1, - onChange: function (e) { - return h(ie(ie({}, d), {}, { nodeOpacity: e })) - }, - }), - (0, l.jsx)(se, { - label: 'Node resolution', - value: d.nodeResolution, - min: 5, - max: 32, - step: 1, - onChange: function (e) { - return h(ie(ie({}, d), {}, { nodeResolution: e })) - }, - }), - ], - }), - (0, l.jsx)(se, { - label: 'Link width', - value: d.linkWidth, - onChange: function (e) { - return h(ie(ie({}, d), {}, { linkWidth: e })) - }, - }), - r && - (0, l.jsx)(se, { - label: 'Link opacity', - min: 0, - max: 1, - value: d.linkOpacity, - onChange: function (e) { - return h(ie(ie({}, d), {}, { linkOpacity: e })) - }, - }), - (0, l.jsxs)(ae, { - label: 'Dash cite links', - infoText: - 'Add dashes to citation links made with org-roam-bibtex', - value: d.citeDashes, - onChange: function () { - return h( - ie(ie({}, d), {}, { citeDashes: !d.citeDashes }), - ) - }, - children: [ - (0, l.jsx)(se, { - label: 'Dash length', - value: d.citeDashLength / 10, - onChange: function (e) { - return h( - ie(ie({}, d), {}, { citeDashLength: 10 * e }), - ) - }, - }), - (0, l.jsx)(se, { - label: 'Gap length', - value: d.citeGapLength / 5, - onChange: function (e) { - return h( - ie(ie({}, d), {}, { citeGapLength: 5 * e }), - ) - }, - }), - ], - }), - (0, l.jsx)(ce, { - colorList: $, - label: 'Citation node color', - visuals: d, - setVisuals: h, - value: 'citeNodeColor', - visValue: d.citeNodeColor, - }), - (0, l.jsx)(ce, { - colorList: $, - label: 'Citationlink color', - visuals: d, - setVisuals: h, - value: 'citeLinkColor', - visValue: d.citeLinkColor, - }), - (0, l.jsxs)(j.xu, { - children: [ - (0, l.jsxs)(U.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(Q.x, { children: 'Labels' }), - (0, l.jsxs)(K.v2, { - placement: 'right', - children: [ - (0, l.jsx)(K.j2, { - as: V.z, - colorScheme: '', - color: 'black', - rightIcon: (0, l.jsx)(Z.v, {}), - children: d.labels - ? d.labels < 2 - ? 'On Highlight' - : 'Always' - : '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 h( - ie(ie({}, d), {}, { labels: 0 }), - ) - }, - children: 'Never', - }), - (0, l.jsx)(K.sN, { - onClick: function () { - return h( - ie(ie({}, d), {}, { labels: 1 }), - ) - }, - children: 'On Highlight', - }), - (0, l.jsx)(K.sN, { - onClick: function () { - return h( - ie(ie({}, d), {}, { labels: 2 }), - ) - }, - children: 'Always', - }), - (0, l.jsx)(K.sN, { - onClick: function () { - return h( - ie(ie({}, d), {}, { labels: 3 }), - ) - }, - children: 'Always (even in 3D)', - }), - ], - }), - ], - }), - ], - }), - ], - }), - (0, l.jsx)(J.U, { - in: d.labels > 0, - 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: 0.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: 0.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)(X.Qd, { - children: [ - (0, l.jsxs)(X.KF, { - children: [ - (0, l.jsx)(X.XE, { marginRight: 2 }), - (0, l.jsx)(W.X, { size: 'sm', children: 'Behavior' }), - ], - }), - (0, l.jsx)(X.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: V.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: V.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: V.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)(M.u, { - label: n, - placement: 'top', - color: 'gray.100', - bg: 'gray.800', - hasArrow: !0, - children: (0, l.jsx)(H.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 ? 0.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)(M.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: V.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 = r.map(function (e) { - return { value: e, label: e } - }), - s = (0, u.useState)( - n.tags.map(function (e) { - return { value: e, label: e } - }), - ), - a = s[0], - c = s[1] - return (0, l.jsx)(ee.CUIAutoComplete, { - items: o, - label: 'Add tag to filter', - placeholder: ' ', - onCreateItem: function (e) { - return null - }, - disableCreateItem: !0, - selectedItems: a, - onSelectedItemsChange: function (e) { - e.selectedItems && - (c(e.selectedItems), - t( - ie( - ie({}, n), - {}, - { - tags: 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: V.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)(F.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; n < arguments.length; n++) { - var t = null != arguments[n] ? arguments[n] : {} - n % 2 - ? fe(Object(t), !0).forEach(function (n) { - ;(0, a.Z)(e, n, t[n]) - }) - : Object.getOwnPropertyDescriptors - ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) - : fe(Object(t)).forEach(function (n) { - Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n)) - }) - } - return e - } - var pe = t.e(4).then(t.bind(t, 57004)), - je = t.g.window ? t(61957).f$ : null, - me = t.g.window ? t(61957).s6 : null - function ve() { - var e = (0, u.useState)(!1), - n = e[0], - t = e[1] - return ( - (0, u.useEffect)(function () { - t(!0) - }, []), - n ? (0, l.jsx)(be, {}) : null - ) - } - function be() { - var e = d('physics', S), - n = (0, c.Z)(e, 2), - t = n[0], - r = n[1], - i = d('filter', I), - o = (0, c.Z)(i, 2), - h = o[0], - g = o[1], - f = d('visuals', O), - x = (0, c.Z)(f, 2), - p = x[0], - m = x[1], - v = (0, u.useState)(null), - b = v[0], - C = v[1], - y = (0, u.useState)(null), - k = y[0], - w = y[1], - z = d('behavior', N), - T = (0, c.Z)(z, 2), - R = T[0], - D = T[1], - P = d('mouse', L), - E = (0, c.Z)(P, 2), - Z = E[0], - H = E[1], - B = (0, u.useRef)({}), - A = (0, u.useRef)({}), - F = (0, u.useRef)([]), - M = (0, u.useContext)(te.N).setEmacsTheme, - V = d('3d', !1), - X = (0, c.Z)(V, 2), - W = X[0], - _ = X[1], - U = d('tagCols', {}), - Q = (0, c.Z)(U, 2), - q = Q[0], - K = Q[1], - G = (0, u.useState)({ nodeIds: [] }), - J = G[0], - Y = G[1], - $ = (0, u.useRef)({ nodeIds: [] }), - ee = (0, u.useRef)(N) - ee.current = R - var ne = (0, u.useRef)(null), - re = (0, u.useRef)(null) - $.current = J - var ie = function (e, n) { - var t, - r = arguments.length > 2 && 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 = A.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 - F.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] - }) - A.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 M(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: W, - setThreeDim: _, - filter: h, - setFilter: g, - visuals: p, - setVisuals: m, - mouse: Z, - setMouse: H, - behavior: R, - setBehavior: D, - tagColors: q, - setTagColors: K, - }, - ), - {}, - { tags: F.current }, - ), - ), - (0, l.jsx)(j.xu, { - position: 'absolute', - alignItems: 'top', - children: (0, l.jsx)( - Ce, - xe( - { - ref: ne, - nodeById: B.current, - linksByNodeId: A.current, - webSocket: re.current, - }, - { - physics: t, - graphData: b, - threeDim: W, - 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, - a = e.threeDim, - d = e.linksByNodeId, - h = e.filter, - j = e.emacsNodeId, - m = e.nodeById, - v = e.visuals, - b = (e.behavior, e.mouse), - C = e.scope, - y = e.setScope, - k = e.webSocket, - S = e.tagColors, - I = (0, f.iP)(), - O = (0, c.Z)(I, 2), - N = O[0], - L = O[1], - z = (0, u.useState)(null), - T = z[0], - R = z[1], - D = (0, p.useTheme)(), - P = (0, u.useContext)(te.N).emacsTheme, - E = function (e, n) { - switch (e) { - case b.local: - if (C.nodeIds.includes(n.id)) break - y(function (e) { - return xe(xe({}, e), {}, { nodeIds: [].concat((0, s.Z)(e.nodeIds), [n.id]) }) - }) - break - case b.follow: - k.send(n.id) - } - }, - Z = (0, u.useRef)(null) - ;(0, u.useEffect)( - function () { - j && R(m[j]) - }, - [j], - ), - (Z.current = T) - var H = (0, u.useMemo)( - function () { - if (!Z.current) return {} - var e = d[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, d], - ), - B = (0, u.useMemo)( - function () { - var e = r.nodes.filter(function (e) { - var n, - t = e, - r = null !== (n = d[t.id]) && void 0 !== n ? n : [] - return h.tags.length && t.tags.length - ? !h.tags.some(function (e) { - return t.tags.indexOf(e) > -1 - }) - : !h.orphans || - (h.parents - ? 0 !== r.length - : 0 !== r.length && - r.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 (h.tags.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 h.parents || 'parent' !== i.type - }), - } - }, - [h, r], - ), - A = (0, u.useMemo)( - function () { - var e = B.filteredNodes.filter(function (e) { - var n, - t = null !== (n = d[e.id]) && void 0 !== n ? n : [] - return ( - C.nodeIds.includes(e.id) || - t.some(function (e) { - return C.nodeIds.includes(e.source) || C.nodeIds.includes(e.target) - }) - ) - }), - n = e.map(function (e) { - return e.id - }), - t = B.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 === C.nodeIds.length - ? { nodes: B.filteredNodes, links: B.filteredLinks } - : { nodes: e, links: t } - }, - [h, C, 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)), - a && r.d3Force('z', o.forceZ().strength(t.gravity))) - : (r.d3Force('x', null), r.d3Force('y', null), a && 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 F = (0, u.useRef)(0), - M = (0, u.useState)(1), - V = M[0], - X = M[1], - W = (0, x._7)( - function (e) { - return X(e) - }, - { duration: v.animationSpeed, algorithm: w[v.algorithmName] }, - ), - _ = (0, c.Z)(W, 2), - U = _[0], - Q = _[1], - q = (0, x._7)( - function (e) { - return X(Math.min(V, -1 * (e - 1))) - }, - { duration: v.animationSpeed, algorithm: w[v.algorithmName] }, - ), - K = (0, c.Z)(q, 2), - G = K[0], - J = K[1], - Y = (0, u.useRef)(null) - ;(0, u.useEffect)( - function () { - if ((T && (Y.current = T), !v.highlightAnim)) return X(T ? 1 : 0) - T ? U() : (Q(), V > 0.5 ? G() : X(0)) - }, - [T], - ) - var $ = function (e) { - if (D) - return e.split('.').reduce(function (e, n) { - return e[n] - }, D.colors) - }, - ee = (0, u.useMemo)( - function () { - var e = v.nodeColorScheme.concat( - v.linkColorScheme || [], - v.linkHighlight || [], - v.nodeHighlight || [], - v.citeNodeColor || [], - v.citeLinkColor || [], - ) - return Object.fromEntries( - e.map(function (n) { - var t = $(n), - r = e.map(function (e) { - return [e, g.Z(t, $(e))] - }) - return [n, Object.fromEntries(r)] - }), - ) - }, - [v.nodeColorScheme, v.linkHighlight, v.nodeHighlight, v.linkColorScheme, P], - ), - ne = (0, u.useMemo)( - function () { - var e, - n, - t, - r = - null !== (e = d[null === (n = Y.current) || void 0 === n ? void 0 : n.id]) && - void 0 !== e - ? e - : [] - return Object.fromEntries( - [null === (t = Y.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(T), Y.current], - ), - re = function (e) { - var n, - t, - r, - i, - o, - l, - s = - null !== (n = null === (t = d[e]) || void 0 === t ? void 0 : t.length) && - void 0 !== n - ? n - : 0, - a = s - ? null === (r = d[e]) || void 0 === r - ? void 0 - : r.filter(function (e) { - return 'parent' === e.type || 'cite' === e.type - }).length - : 0, - c = h.parents ? s : s - a - return v.nodeColorScheme[ - ((i = c), (o = 0), (l = v.nodeColorScheme.length - 1), Math.min(Math.max(i, o), l)) - ] - }, - ie = function (e, n) { - return d[e] > d[n] ? re(e) : re(n) - }, - oe = 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(',') + - ')' - ) - }, - le = (0, u.useMemo)( - function () { - return $(v.labelTextColor) - }, - [v.labelTextColor, P], - ), - se = (0, u.useMemo)( - function () { - return $(v.labelBackgroundColor) - }, - [v.labelBackgroundColor, P], - ), - ae = { - graphData: A, - width: N, - height: L, - backgroundColor: D.colors.gray[v.backgroundColor], - nodeLabel: function (e) { - return e.title - }, - nodeColor: function (e) { - return (function (e) { - var n = H[e.id] || ne[e.id] - if (v.emacsNodeColor && e.id === j) return $(v.emacsNodeColor) - if ( - S && - e.tags.some(function (e) { - return S[e] - }) - ) { - var t = - S[ - e.tags.filter(function (e) { - return S[e] - })[0] - ] - return $(t) - } - return v.citeNodeColor && e.properties.ROAM_REFS - ? $(v.citeNodeColor) - : n && v.nodeHighlight - ? ee[re(e.id)][v.nodeHighlight](V) - : $(re(e.id)) - })(e) - }, - nodeRelSize: v.nodeRel, - nodeVal: function (e) { - var n, - t = null !== (n = d[e.id]) && void 0 !== n ? n : [], - r = t.length - ? t.filter(function (e) { - return 'parent' === e.type || 'cite' === e.type - }).length - : 0 - return ( - (3 + t.length - (h.parents ? 0 : r)) * - (H[e.id] || ne[e.id] ? 1 + V * (v.highlightNodeSize - 1) : 1) - ) - }, - nodeCanvasObject: function (e, n, t) { - if (e && v.labels) { - var r = ne[e.id] - if (!(t <= v.labelScale || 1 === v.labels) || H[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 + 0.5 * l - }), - c = Math.min((3 * (t - v.labelScale)) / v.labelScale, 1), - u = function () { - return 1 === v.labels || t <= v.labelScale - ? V - : H[e.id] || ne[e.id] - ? Math.max(c, V) - : 1 * c * (-1 * (0.5 * V - 1)) - } - if (v.labelBackgroundColor && v.labelBackgroundOpacity) { - var d = u() * v.labelBackgroundOpacity, - h = oe(se, 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 = oe(le, g) - ;(n.fillStyle = f), - (n.font = ''.concat(l, 'px Sans-Serif')), - n.fillText(o, e.x, e.y) - } - } - }, - nodeCanvasObjectMode: function () { - return 'after' - }, - linkDirectionalParticles: v.particles ? v.particlesNumber : void 0, - linkDirectionalArrowLength: v.arrows ? v.arrowsLength : void 0, - linkDirectionalArrowRelPos: v.arrowsPos, - linkDirectionalArrowColor: v.arrowsColor - ? function (e) { - return $(v.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, Z.current), - i = ye(e, Y.current), - o = r || i, - l = e - return v.citeLinkColor && 'cite' === l.type - ? $(v.citeLinkColor) - : (function (e, n, t) { - if (!v.linkHighlight && !v.linkColorScheme && !t) { - var r = ie(e, n) - return $(r) - } - if (!t && !v.linkColorScheme) { - var i = ie(e, n) - return $(i) - } - if (!t) return $(v.linkColorScheme) - if (!v.linkHighlight && !v.linkColorScheme) { - var o = ie(e, n) - return $(o) - } - return v.linkHighlight - ? v.linkColorScheme - ? ee[v.linkColorScheme][v.linkHighlight](V) - : ee[ie(e, n)][v.linkHighlight](V) - : $(v.linkColorScheme) - })(n, t, o) - }, - linkWidth: function (e) { - var n = ye(e, Z.current), - t = ye(e, Y.current) - return n || t ? v.linkWidth * (1 + V * (v.highlightLinkSize - 1)) : v.linkWidth - }, - linkDirectionalParticleWidth: v.particlesWidth, - d3AlphaDecay: t.alphaDecay, - d3AlphaMin: t.alphaMin, - d3VelocityDecay: t.velocityDecay, - onNodeClick: function (e, n) { - var t = n.timeStamp - F.current < 400 - return (F.current = n.timeStamp), E(t ? 'double' : 'click', e) - }, - onBackgroundClick: function () { - R(null), - 0 !== C.nodeIds.length && - y(function (e) { - return xe(xe({}, e), {}, { nodeIds: [] }) - }) - }, - onNodeHover: function (e) { - v.highlight && (T || (J(), X(0)), R(e)) - }, - onNodeRightClick: function (e) { - E('right', e) - }, - } - return (0, l.jsx)('div', { - children: a - ? (0, l.jsx)( - me, - xe( - xe({ ref: n }, ae), - {}, - { - nodeThreeObjectExtend: !0, - backgroundColor: D.colors.white, - nodeOpacity: v.nodeOpacity, - nodeResolution: v.nodeResolution, - linkOpacity: v.linkOpacity, - nodeThreeObject: function (e) { - if (v.labels && (!(v.labels < 3) || H[e.id])) { - var n = new he.Z(e.title.substring(0, 40)) - return ( - (n.color = $(v.labelTextColor)), - (n.backgroundColor = $(v.labelBackgroundColor)), - (n.padding = 2), - (n.textHeight = 8), - n - ) - } - }, - }, - ), - ) - : (0, l.jsx)( - je, - xe( - xe({ ref: n }, ae), - {}, - { - linkLineDash: function (e) { - var n = e - return v.citeDashes && 'cite' === n.type - ? [v.citeDashLength, v.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 - }, -]) diff --git a/out/index.html b/out/index.html index 125c63c..c14952f 100644 --- a/out/index.html +++ b/out/index.html @@ -19,9 +19,9 @@ - - - + + +
@@ -697,7 +697,7 @@ "props": { "pageProps": {} }, "page": "/", "query": {}, - "buildId": "DEWNAb9qrxKluipBrYTq4", + "buildId": "VVYThmGVjM_0dCSLu5XUv", "nextExport": true, "autoExport": true, "isFallback": false, diff --git a/pages/index.tsx b/pages/index.tsx index b31e533..70f895a 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -409,32 +409,53 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) { ) }, [centralHighlightedNode.current, linksByNodeId]) + const hiddenNodeIdsRef = useRef({}) const filteredGraphData = useMemo(() => { - const filteredNodes = graphData.nodes.filter((nodeArg) => { - const node = nodeArg as OrgRoamNode - const links = linksByNodeId[node.id as string] ?? [] - if (filter.tags.length && node.tags.length) { - return !filter.tags.some((tag) => node.tags.indexOf(tag) > -1) - } - - if (!filter.orphans) { + const filteredNodes = graphData.nodes + .filter((nodeArg) => { + const node = nodeArg as OrgRoamNode + if ( + filter.tagsBlacklist.length && + filter.tagsBlacklist.some((tag) => node.tags.indexOf(tag) > -1) + ) { + hiddenNodeIdsRef.current = { ...hiddenNodeIdsRef.current, [node.id]: node } + return false + } + if ( + filter.tagsWhitelist.length > 0 && + !filter.tagsWhitelist.some((tag) => node.tags.indexOf(tag) > -1) + ) { + hiddenNodeIdsRef.current = { ...hiddenNodeIdsRef.current, [node.id]: node } + return false + } return true - } + }) + .filter((nodeArg) => { + const node = nodeArg as OrgRoamNode + const links = linksByNodeId[node.id as string] ?? [] + const unhiddenLinks = links.filter( + (link) => + !hiddenNodeIdsRef.current[link.source] && !hiddenNodeIdsRef.current[link.target], + ) - if (filter.parents) { - return links.length !== 0 - } + if (!filter.orphans) { + return true + } - if (links.length === 0) { - return false - } + if (filter.parents) { + return unhiddenLinks.length !== 0 + } - return links.some((link) => !['parent', 'ref'].includes(link.type)) - }) + if (unhiddenLinks.length === 0) { + return false + } + + return unhiddenLinks.some((link) => !['parent', 'ref'].includes(link.type)) + }) const filteredNodeIds = filteredNodes.map((node) => node.id as string) const filteredLinks = graphData.links.filter((link) => { - if (filter.tags.length) { + if (filter.tagsBlacklist.length || filter.tagsWhitelist.length) { const sourceId = typeof link.source === 'object' ? link.source.id! : (link.source as string) const targetId = typeof link.target === 'object' ? link.target.id! : (link.target as string) return ( @@ -696,7 +717,7 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) { nodeVal: (node) => { const links = linksByNodeId[node.id!] ?? [] const parentNeighbors = links.length - ? links.filter((link) => link.type === 'parent' || link.type === 'cite').length + ? links.filter((link) => link.type === 'parent').length : 0 const basicSize = 3 + links.length - (!filter.parents ? parentNeighbors : 0) const highlightSize = @@ -784,7 +805,9 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) { const needsHighlighting = linkIsHighlighted || linkWasHighlighted const roamLink = link as OrgRoamLink if (visuals.citeLinkColor && roamLink.type === 'cite') { - return getThemeColor(visuals.citeLinkColor) + return needsHighlighting + ? '#ffffff' /*highlightColors[visuals.citeLinkColor][visuals.citeLinkHighlightColor] */ + : getThemeColor(visuals.citeLinkColor) } return getLinkColor(sourceId as string, targetId as string, needsHighlighting) -- cgit v1.2.3 From d53af1704c33192e696d71143fa4895176a1e28a Mon Sep 17 00:00:00 2001 From: "Thomas F. K. Jorna" Date: Tue, 3 Aug 2021 16:30:49 +0200 Subject: feature: citelink highlight color --- components/config.ts | 1 + components/tweaks.tsx | 10 +- out/404.html | 6 +- .../static/VVYThmGVjM_0dCSLu5XUv/_buildManifest.js | 12 - .../static/VVYThmGVjM_0dCSLu5XUv/_ssgManifest.js | 1 - .../chunks/pages/index-45f2a558d86856abeaa9.js | 1 + .../chunks/pages/index-585bae731b186dcb4225.js | 2921 -------------------- .../static/zMdEAFWLCg5pI2rbcMn9E/_buildManifest.js | 1 + .../static/zMdEAFWLCg5pI2rbcMn9E/_ssgManifest.js | 1 + out/index.html | 8 +- pages/index.tsx | 8 +- 11 files changed, 26 insertions(+), 2944 deletions(-) delete mode 100644 out/_next/static/VVYThmGVjM_0dCSLu5XUv/_buildManifest.js delete mode 100644 out/_next/static/VVYThmGVjM_0dCSLu5XUv/_ssgManifest.js create mode 100644 out/_next/static/chunks/pages/index-45f2a558d86856abeaa9.js delete mode 100644 out/_next/static/chunks/pages/index-585bae731b186dcb4225.js create mode 100644 out/_next/static/zMdEAFWLCg5pI2rbcMn9E/_buildManifest.js create mode 100644 out/_next/static/zMdEAFWLCg5pI2rbcMn9E/_ssgManifest.js (limited to 'out/404.html') diff --git a/components/config.ts b/components/config.ts index 0bc2c29..6c73921 100644 --- a/components/config.ts +++ b/components/config.ts @@ -86,6 +86,7 @@ export const initialVisuals = { citeDashLength: 35, citeGapLength: 15, citeLinkColor: 'gray.600', + citeLinkHighlightColor: '', citeNodeColor: 'black', } diff --git a/components/tweaks.tsx b/components/tweaks.tsx index 1f4d1c7..39a8a35 100644 --- a/components/tweaks.tsx +++ b/components/tweaks.tsx @@ -764,12 +764,20 @@ export const Tweaks = (props: TweakProps) => { /> + Labels diff --git a/out/404.html b/out/404.html index e638c38..78e2fca 100644 --- a/out/404.html +++ b/out/404.html @@ -18,8 +18,8 @@ - - + +
@@ -753,7 +753,7 @@ "props": { "pageProps": { "statusCode": 404 } }, "page": "/_error", "query": {}, - "buildId": "VVYThmGVjM_0dCSLu5XUv", + "buildId": "zMdEAFWLCg5pI2rbcMn9E", "nextExport": true, "isFallback": false, "gip": true, diff --git a/out/_next/static/VVYThmGVjM_0dCSLu5XUv/_buildManifest.js b/out/_next/static/VVYThmGVjM_0dCSLu5XUv/_buildManifest.js deleted file mode 100644 index b70978a..0000000 --- a/out/_next/static/VVYThmGVjM_0dCSLu5XUv/_buildManifest.js +++ /dev/null @@ -1,12 +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-585bae731b186dcb4225.js', - ], - '/_error': ['static/chunks/pages/_error-f5e67a79c709c2df06b8.js'], - sortedPages: ['/', '/_app', '/_error'], -}), - self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB() diff --git a/out/_next/static/VVYThmGVjM_0dCSLu5XUv/_ssgManifest.js b/out/_next/static/VVYThmGVjM_0dCSLu5XUv/_ssgManifest.js deleted file mode 100644 index 82bedd6..0000000 --- a/out/_next/static/VVYThmGVjM_0dCSLu5XUv/_ssgManifest.js +++ /dev/null @@ -1 +0,0 @@ -;(self.__SSG_MANIFEST = new Set()), self.__SSG_MANIFEST_CB && self.__SSG_MANIFEST_CB() diff --git a/out/_next/static/chunks/pages/index-45f2a558d86856abeaa9.js b/out/_next/static/chunks/pages/index-45f2a558d86856abeaa9.js new file mode 100644 index 0000000..a1ebe2a --- /dev/null +++ b/out/_next/static/chunks/pages/index-45f2a558d86856abeaa9.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 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-585bae731b186dcb4225.js b/out/_next/static/chunks/pages/index-585bae731b186dcb4225.js deleted file mode 100644 index 9755166..0000000 --- a/out/_next/static/chunks/pages/index-585bae731b186dcb4225.js +++ /dev/null @@ -1,2921 +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: 0.05, - linkStrength: 0.1, - linkIts: 1, - alphaDecay: 0.02, - alphaTarget: 0, - alphaMin: 0, - velocityDecay: 0.25, - gravity: 0.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: 0.5, - arrowsColor: '', - linkOpacity: 0.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: 0.7, - citeDashes: !0, - citeDashLength: 35, - citeGapLength: 15, - citeLinkColor: 'gray.600', - 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), - Z = t(93441), - E = t(6569), - B = t(24189), - H = t(2827), - F = t(90454), - A = t(48420), - M = t(96699), - V = 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; n < arguments.length; n++) { - var t = null != arguments[n] ? arguments[n] : {} - n % 2 - ? re(Object(t), !0).forEach(function (n) { - ;(0, a.Z)(e, n, t[n]) - }) - : Object.getOwnPropertyDescriptors - ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) - : re(Object(t)).forEach(function (n) { - Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n)) - }) - } - return e - } - var oe = function (e) { - var n = e.physics, - t = e.setPhysics, - r = e.threeDim, - i = e.setThreeDim, - o = e.filter, - a = e.setFilter, - d = e.visuals, - h = e.setVisuals, - g = e.mouse, - f = e.setMouse, - x = e.behavior, - p = e.setBehavior, - m = e.tags, - v = e.tagColors, - b = e.setTagColors, - C = (0, u.useState)(!0), - y = C[0], - k = C[1], - w = (0, u.useContext)(te.N), - B = w.highlightColor, - H = w.setHighlightColor, - $ = [ - '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', - ] - return (0, l.jsxs)(l.Fragment, { - children: [ - (0, l.jsx)(F.R, { - in: !y, - children: (0, l.jsx)(j.xu, { - position: 'absolute', - zIndex: 'overlay', - marginTop: 10, - marginLeft: 10, - display: y ? 'none' : 'block', - children: (0, l.jsx)(A.h, { - 'aria-label': 'Settings', - icon: (0, l.jsx)(T.e, {}), - onClick: function () { - return k(!0) - }, - }), - }), - }), - (0, l.jsx)(F.R, { - in: y, - children: (0, l.jsxs)(j.xu, { - bg: 'alt.100', - w: 'xs', - marginTop: 10, - marginLeft: 10, - borderRadius: 'xl', - maxH: 650, - paddingBottom: 5, - zIndex: 300, - position: 'relative', - boxShadow: 'xl', - children: [ - (0, l.jsxs)(j.xu, { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - paddingRight: 2, - paddingTop: 1, - children: [ - (0, l.jsx)(M.u, { - label: '2D', - children: (0, l.jsx)(V.z, { - onClick: function () { - return i(!r) - }, - variant: 'ghost', - zIndex: 'overlay', - children: r ? '3D' : '2D', - }), - }), - (0, l.jsxs)(j.xu, { - display: 'flex', - alignItems: 'center', - children: [ - (0, l.jsx)(M.u, { - label: 'Reset settings to defaults', - children: (0, l.jsx)(A.h, { - 'aria-label': 'Reset Defaults', - icon: (0, l.jsx)(R.A, {}), - onClick: function () { - h(O), a(I), f(L), t(S), p(N) - }, - variant: 'none', - size: 'sm', - }), - }), - (0, l.jsx)(A.h, { - size: 'sm', - icon: (0, l.jsx)(D.T, {}), - 'aria-label': 'Close Tweak Panel', - variant: 'ghost', - onClick: function () { - return k(!1) - }, - }), - ], - }), - ], - }), - (0, l.jsx)(ne.ZP, { - autoHeight: !0, - autoHeightMax: 600, - autoHide: !0, - renderThumbVertical: function (e) { - var n = e.style, - t = (0, z.Z)(e, ['style']) - return (0, l.jsx)( - j.xu, - ie( - ie({}, t), - {}, - { style: ie(ie({}, n), {}, { borderRadius: 10 }), bg: B }, - ), - ) - }, - children: (0, l.jsxs)(W.UQ, { - allowMultiple: !0, - allowToggle: !0, - color: 'black', - children: [ - (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: 'Filter' }), - ], - }), - (0, l.jsxs)(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, { - justifyContent: 'space-between', - children: [ - (0, l.jsx)(Q.x, { children: 'Orphans' }), - (0, l.jsx)(q.r, { - onChange: function () { - a(ie(ie({}, o), {}, { orphans: !o.orphans })) - }, - isChecked: o.orphans, - }), - ], - }), - (0, l.jsxs)(U.k, { - justifyContent: 'space-between', - children: [ - (0, l.jsx)(Q.x, { - children: 'Link nodes with parent file', - }), - (0, l.jsx)(q.r, { - onChange: function () { - a(ie(ie({}, o), {}, { parents: !o.parents })) - }, - isChecked: o.parents, - }), - ], - }), - ], - }), - (0, l.jsxs)(W.UQ, { - padding: 0, - allowToggle: !0, - allowMultiple: !0, - paddingLeft: 3, - children: [ - (0, l.jsxs)(W.Qd, { - children: [ - (0, l.jsxs)(W.KF, { - children: ['Tag filters', (0, l.jsx)(W.XE, {})], - }), - (0, l.jsxs)(W.Hk, { - pr: 0, - mr: 0, - children: [ - (0, l.jsx)(ue, { - highlightColor: B, - filter: o, - setFilter: a, - tags: m, - mode: 'blacklist', - }), - (0, l.jsx)(ue, { - highlightColor: B, - filter: o, - setFilter: a, - tags: m, - mode: 'whitelist', - }), - ], - }), - ], - }), - (0, l.jsxs)(W.Qd, { - children: [ - (0, l.jsxs)(W.KF, { - children: ['Tag Colors', (0, l.jsx)(W.XE, {})], - }), - (0, l.jsx)(W.Hk, { - pr: 0, - mr: 0, - children: (0, l.jsx)(de, { - tags: m, - colorList: $, - tagColors: v, - setTagColors: b, - highlightColor: B, - }), - }), - ], - }), - ], - }), - ], - }), - ], - }), - (0, l.jsxs)(W.Qd, { - children: [ - (0, l.jsx)(W.KF, { - display: 'flex', - justifyContent: 'space-between', - children: (0, l.jsxs)(j.xu, { - display: 'flex', - children: [ - (0, l.jsx)(W.XE, { marginRight: 2 }), - (0, l.jsx)(X.X, { size: 'sm', children: 'Physics' }), - ], - }), - }), - (0, l.jsxs)(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.jsx)(ae, { - label: 'Gravity', - value: n.gravityOn, - onChange: function () { - return t(ie(ie({}, n), {}, { gravityOn: !n.gravityOn })) - }, - children: (0, l.jsx)(se, { - label: 'Strength', - value: 10 * n.gravity, - onChange: function (e) { - return t(ie(ie({}, n), {}, { gravity: e / 10 })) - }, - }), - }), - (0, l.jsx)(se, { - value: -n.charge / 100, - onChange: function (e) { - return t(ie(ie({}, n), {}, { charge: -100 * e })) - }, - label: 'Repulsive Force', - }), - (0, l.jsx)(ae, { - label: 'Collision', - infoText: 'Perfomance sap, disable if slow', - value: n.collision, - onChange: function () { - return t(ie(ie({}, n), {}, { collision: !n.collision })) - }, - children: (0, l.jsx)(se, { - value: n.collisionStrength / 5, - onChange: function (e) { - return t( - ie(ie({}, n), {}, { collisionStrength: 5 * e }), - ) - }, - label: 'Collision Radius', - infoText: - 'Easy with this one, high values can lead to a real jiggly mess', - }), - }), - (0, l.jsx)(se, { - value: 5 * n.linkStrength, - onChange: function (e) { - return t(ie(ie({}, n), {}, { linkStrength: e / 5 })) - }, - label: 'Link Force', - }), - (0, l.jsx)(se, { - label: 'Link Iterations', - value: n.linkIts, - onChange: function (e) { - return t(ie(ie({}, n), {}, { linkIts: e })) - }, - min: 0, - max: 6, - step: 1, - infoText: - 'How many links down the line the physics of a single node affects (Slow)', - }), - (0, l.jsx)(se, { - label: 'Viscosity', - value: 10 * n.velocityDecay, - onChange: function (e) { - return t(ie(ie({}, n), {}, { velocityDecay: e / 10 })) - }, - }), - ], - }), - (0, l.jsx)(j.xu, { - children: (0, l.jsx)(W.UQ, { - paddingLeft: 3, - allowToggle: !0, - children: (0, l.jsxs)(W.Qd, { - children: [ - (0, l.jsxs)(W.KF, { - children: [ - (0, l.jsx)(Q.x, { children: 'Advanced' }), - (0, l.jsx)(W.XE, { marginRight: 2 }), - ], - }), - (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: 3, - color: 'gray.800', - children: [ - (0, l.jsx)(se, { - label: 'Stabilization rate', - value: 50 * n.alphaDecay, - onChange: function (e) { - return t( - ie(ie({}, n), {}, { alphaDecay: e / 50 }), - ) - }, - }), - (0, l.jsx)(ae, { - label: 'Center nodes', - value: n.centering, - onChange: function () { - return t( - ie( - ie({}, n), - {}, - { centering: !n.centering }, - ), - ) - }, - infoText: - 'Keeps the nodes in the center of the viewport. If disabled you can drag the nodes anywhere you want.', - children: (0, l.jsx)(se, { - label: 'Centering Strength', - value: n.centeringStrength, - max: 2, - step: 0.01, - onChange: function (e) { - return t( - ie(ie({}, n), {}, { centeringStrength: 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: 'Visual' }), - ], - }), - (0, l.jsx)(W.Hk, { - children: (0, l.jsxs)(_.gC, { - justifyContent: 'flex-start', - align: 'stretch', - children: [ - (0, l.jsx)(W.UQ, { - allowToggle: !0, - defaultIndex: [0], - paddingLeft: 3, - children: (0, l.jsxs)(W.Qd, { - children: [ - (0, l.jsx)(W.KF, { - children: (0, l.jsxs)(U.k, { - justifyContent: 'space-between', - w: '100%', - children: [ - (0, l.jsx)(Q.x, { children: 'Colors' }), - (0, l.jsx)(W.XE, { marginRight: 2 }), - ], - }), - }), - (0, l.jsx)(W.Hk, { - children: (0, l.jsx)(_.gC, { - spacing: 2, - justifyContent: 'flex-start', - divider: (0, l.jsx)(_.cX, { - borderColor: 'gray.500', - }), - align: 'stretch', - color: 'gray.800', - children: (0, l.jsxs)(j.xu, { - children: [ - (0, l.jsxs)(U.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(Q.x, { children: 'Nodes' }), - (0, l.jsx)(M.u, { - label: 'Shuffle node colors', - children: (0, l.jsx)(A.h, { - 'aria-label': 'Shuffle node colors', - size: 'sm', - icon: (0, l.jsx)(P.n, {}), - variant: 'ghost', - onClick: function () { - var e, - n = - null !== (e = d.nodeColorScheme) && - void 0 !== e - ? e - : [] - h( - ie( - ie({}, d), - {}, - { - nodeColorScheme: n - .map(function (e) { - return [Math.random(), e] - }) - .sort(function (e, n) { - return ( - (0, c.Z)(e, 1)[0] - - (0, c.Z)(n, 1)[0] - ) - }) - .map(function (e) { - var n = (0, c.Z)(e, 2) - n[0] - return n[1] - }), - }, - ), - ) - }, - }), - }), - (0, l.jsx)(M.u, { - label: 'Cycle node colors', - children: (0, l.jsx)(A.h, { - 'aria-label': 'Shift node colors', - icon: (0, l.jsx)(Z.L, {}), - size: 'sm', - variant: 'ghost', - onClick: function () { - var e, - n = - null !== (e = d.nodeColorScheme) && - void 0 !== e - ? e - : [] - h( - ie( - ie({}, d), - {}, - { - nodeColorScheme: [].concat( - (0, s.Z)(n.slice(1, n.length)), - [n[0]], - ), - }, - ), - ) - }, - }), - }), - (0, l.jsxs)(K.v2, { - placement: 'right', - closeOnSelect: !1, - matchWidth: !0, - children: [ - (0, l.jsx)(K.j2, { - width: 20, - as: V.z, - colorScheme: '', - color: 'black', - rightIcon: (0, l.jsx)(E.v, {}), - children: (0, l.jsx)(U.k, { - height: 6, - width: 6, - flexDirection: 'column', - flexWrap: 'wrap', - children: d.nodeColorScheme.map( - function (e) { - return (0, l.jsx)( - j.xu, - { - bgColor: e, - flex: '1 1 8px', - borderRadius: '2xl', - }, - e, - ) - }, - ), - }), - }), - (0, l.jsxs)(G.h, { - children: [ - ' ', - (0, l.jsx)(K.qy, { - minW: 10, - zIndex: 'popover', - bgColor: 'gray.200', - children: (0, l.jsx)(K.__, { - width: 500, - type: 'checkbox', - defaultValue: d.nodeColorScheme, - onChange: function (e) { - e.length && - h( - ie( - ie({}, d), - {}, - { nodeColorScheme: e }, - ), - ) - }, - children: $.map(function (e) { - return (0, l.jsx)( - K.ii, - { - isChecked: - d.nodeColorScheme.some( - function (n) { - return n === e - }, - ), - value: e, - isDisabled: - 1 === - d.nodeColorScheme - .length && - d.nodeColorScheme[0] === - e, - children: (0, l.jsx)(j.xu, { - justifyContent: - 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)( - j.xu, - { - bgColor: e, - borderRadius: 'sm', - height: 6, - width: 6, - }, - ), - }), - }, - e, - ) - }), - }), - }), - ], - }), - ], - }), - ], - }), - (0, l.jsxs)(U.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(Q.x, { children: 'Links' }), - (0, l.jsxs)(K.v2, { - placement: 'right', - children: [ - (0, l.jsx)(K.j2, { - as: V.z, - colorScheme: '', - color: 'black', - rightIcon: (0, l.jsx)(E.v, {}), - children: (0, l.jsx)(j.xu, { - children: d.linkColorScheme - ? (0, l.jsx)(j.xu, { - bgColor: d.linkColorScheme, - borderRadius: 'sm', - height: 6, - width: 6, - }) - : (0, l.jsx)(U.k, { - height: 6, - width: 6, - flexDirection: 'column', - flexWrap: 'wrap', - children: d.nodeColorScheme.map( - function (e) { - return (0, l.jsx)( - j.xu, - { - bgColor: e, - flex: '1 1 8px', - borderRadius: '2xl', - }, - e, - ) - }, - ), - }), - }), - }), - (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 h( - ie( - ie({}, d), - {}, - { linkColorScheme: '' }, - ), - ) - }, - justifyContent: 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(U.k, { - height: 6, - width: 6, - flexDirection: 'column', - flexWrap: 'wrap', - children: - d.nodeColorScheme.map( - function (e) { - return (0, l.jsx)( - j.xu, - { - bgColor: e, - flex: '1 1 8px', - borderRadius: '2xl', - }, - e, - ) - }, - ), - }), - }), - $.map(function (e) { - return (0, l.jsx)( - K.sN, - { - onClick: function () { - return h( - ie( - ie({}, d), - {}, - { - linkColorScheme: e, - }, - ), - ) - }, - justifyContent: - 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(j.xu, { - bgColor: e, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }, - e, - ) - }), - ], - }), - ], - }), - ], - }), - ], - }), - (0, l.jsxs)(U.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(Q.x, { children: 'Accent' }), - (0, l.jsxs)(K.v2, { - placement: 'right', - children: [ - (0, l.jsx)(K.j2, { - as: V.z, - colorScheme: '', - color: 'black', - rightIcon: (0, l.jsx)(E.v, {}), - children: (0, l.jsx)(j.xu, { - bgColor: B, - 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: $.map(function (e) { - return (0, l.jsx)( - K.sN, - { - onClick: function () { - return H(e) - }, - justifyContent: - 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(j.xu, { - bgColor: e, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }, - e, - ) - }), - }), - ], - }), - ], - }), - ], - }), - (0, l.jsx)(ce, { - colorList: $, - label: 'Link highlight', - visuals: d, - setVisuals: h, - value: 'linkHighlight', - visValue: d.linkHighlight, - }), - (0, l.jsx)(ce, { - colorList: $, - label: 'Node highlight', - visuals: d, - setVisuals: h, - value: 'nodeHighlight', - visValue: d.nodeHighlight, - }), - (0, l.jsx)(ce, { - colorList: $, - label: 'Background', - visuals: d, - setVisuals: h, - value: 'backgroundColor', - visValue: d.backgroundColor, - }), - (0, l.jsx)(ce, { - colorList: $, - label: 'Emacs node', - visuals: d, - setVisuals: h, - value: 'emacsNodeColor', - visValue: d.emacsNodeColor, - }), - ], - }), - }), - }), - ], - }), - }), - (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.jsx)(se, { - label: 'Node size', - value: d.nodeRel, - onChange: function (e) { - return h(ie(ie({}, d), {}, { nodeRel: e })) - }, - }), - r && - (0, l.jsxs)(l.Fragment, { - children: [ - (0, l.jsx)(se, { - label: 'Node opacity', - value: d.nodeOpacity, - min: 0, - max: 1, - onChange: function (e) { - return h(ie(ie({}, d), {}, { nodeOpacity: e })) - }, - }), - (0, l.jsx)(se, { - label: 'Node resolution', - value: d.nodeResolution, - min: 5, - max: 32, - step: 1, - onChange: function (e) { - return h(ie(ie({}, d), {}, { nodeResolution: e })) - }, - }), - ], - }), - (0, l.jsx)(se, { - label: 'Link width', - value: d.linkWidth, - onChange: function (e) { - return h(ie(ie({}, d), {}, { linkWidth: e })) - }, - }), - r && - (0, l.jsx)(se, { - label: 'Link opacity', - min: 0, - max: 1, - value: d.linkOpacity, - onChange: function (e) { - return h(ie(ie({}, d), {}, { linkOpacity: e })) - }, - }), - (0, l.jsxs)(ae, { - label: 'Dash cite links', - infoText: - 'Add dashes to citation links made with org-roam-bibtex', - value: d.citeDashes, - onChange: function () { - return h( - ie(ie({}, d), {}, { citeDashes: !d.citeDashes }), - ) - }, - children: [ - (0, l.jsx)(se, { - label: 'Dash length', - value: d.citeDashLength / 10, - onChange: function (e) { - return h( - ie(ie({}, d), {}, { citeDashLength: 10 * e }), - ) - }, - }), - (0, l.jsx)(se, { - label: 'Gap length', - value: d.citeGapLength / 5, - onChange: function (e) { - return h( - ie(ie({}, d), {}, { citeGapLength: 5 * e }), - ) - }, - }), - ], - }), - (0, l.jsx)(ce, { - colorList: $, - label: 'Citation node color', - visuals: d, - setVisuals: h, - value: 'citeNodeColor', - visValue: d.citeNodeColor, - }), - (0, l.jsx)(ce, { - colorList: $, - label: 'Citationlink color', - visuals: d, - setVisuals: h, - value: 'citeLinkColor', - visValue: d.citeLinkColor, - }), - (0, l.jsxs)(j.xu, { - children: [ - (0, l.jsxs)(U.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(Q.x, { children: 'Labels' }), - (0, l.jsxs)(K.v2, { - placement: 'right', - children: [ - (0, l.jsx)(K.j2, { - as: V.z, - colorScheme: '', - color: 'black', - rightIcon: (0, l.jsx)(E.v, {}), - children: d.labels - ? d.labels < 2 - ? 'On Highlight' - : 'Always' - : '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 h( - ie(ie({}, d), {}, { labels: 0 }), - ) - }, - children: 'Never', - }), - (0, l.jsx)(K.sN, { - onClick: function () { - return h( - ie(ie({}, d), {}, { labels: 1 }), - ) - }, - children: 'On Highlight', - }), - (0, l.jsx)(K.sN, { - onClick: function () { - return h( - ie(ie({}, d), {}, { labels: 2 }), - ) - }, - children: 'Always', - }), - (0, l.jsx)(K.sN, { - onClick: function () { - return h( - ie(ie({}, d), {}, { labels: 3 }), - ) - }, - children: 'Always (even in 3D)', - }), - ], - }), - ], - }), - ], - }), - ], - }), - (0, l.jsx)(J.U, { - in: d.labels > 0, - 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: 0.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: 0.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: V.z, - rightIcon: (0, l.jsx)(E.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: V.z, - rightIcon: (0, l.jsx)(E.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: V.z, - rightIcon: (0, l.jsx)(E.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)(M.u, { - label: n, - placement: 'top', - color: 'gray.100', - bg: 'gray.800', - hasArrow: !0, - children: (0, l.jsx)(B.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 ? 0.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)(M.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: V.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)(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: V.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)(H.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; n < arguments.length; n++) { - var t = null != arguments[n] ? arguments[n] : {} - n % 2 - ? fe(Object(t), !0).forEach(function (n) { - ;(0, a.Z)(e, n, t[n]) - }) - : Object.getOwnPropertyDescriptors - ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) - : fe(Object(t)).forEach(function (n) { - Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n)) - }) - } - return e - } - var pe = t.e(4).then(t.bind(t, 57004)), - je = t.g.window ? t(61957).f$ : null, - me = t.g.window ? t(61957).s6 : null - function ve() { - var e = (0, u.useState)(!1), - n = e[0], - t = e[1] - return ( - (0, u.useEffect)(function () { - t(!0) - }, []), - n ? (0, l.jsx)(be, {}) : null - ) - } - function be() { - var e = d('physics', S), - n = (0, c.Z)(e, 2), - t = n[0], - r = n[1], - i = d('filter', I), - o = (0, c.Z)(i, 2), - h = o[0], - g = o[1], - f = d('visuals', O), - x = (0, c.Z)(f, 2), - p = x[0], - m = x[1], - v = (0, u.useState)(null), - b = v[0], - C = v[1], - y = (0, u.useState)(null), - k = y[0], - w = y[1], - z = d('behavior', N), - T = (0, c.Z)(z, 2), - R = T[0], - D = T[1], - P = d('mouse', L), - Z = (0, c.Z)(P, 2), - E = Z[0], - B = Z[1], - H = (0, u.useRef)({}), - F = (0, u.useRef)({}), - A = (0, u.useRef)([]), - M = (0, u.useContext)(te.N).setEmacsTheme, - V = d('3d', !1), - W = (0, c.Z)(V, 2), - X = W[0], - _ = W[1], - U = d('tagCols', {}), - Q = (0, c.Z)(U, 2), - q = Q[0], - K = Q[1], - G = (0, u.useState)({ nodeIds: [] }), - J = G[0], - Y = G[1], - $ = (0, u.useRef)({ nodeIds: [] }), - ee = (0, u.useRef)(N) - ee.current = R - var ne = (0, u.useRef)(null), - re = (0, u.useRef)(null) - $.current = J - var ie = function (e, n) { - var t, - r = arguments.length > 2 && 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' } - }) - : [] - }) - H.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 H.current[n] && H.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 M(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: E, - setMouse: B, - 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: H.current, - linksByNodeId: F.current, - webSocket: re.current, - }, - { - physics: t, - graphData: b, - threeDim: X, - emacsNodeId: k, - filter: h, - visuals: p, - behavior: R, - mouse: E, - 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)(), - Z = (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) - } - }, - B = (0, u.useRef)(null) - ;(0, u.useEffect)( - function () { - m && D(v[m]) - }, - [m], - ), - (B.current = R) - var H = (0, u.useMemo)( - function () { - if (!B.current) return {} - var e = h[B.current.id] - return e - ? Object.fromEntries( - [B.current.id] - .concat( - (0, s.Z)( - e.flatMap(function (e) { - return [e.source, e.target] - }), - ), - ) - .map(function (e) { - return [e, {}] - }), - ) - : {} - }, - [B.current, h], - ), - F = (0, u.useRef)({}), - A = (0, u.useMemo)( - function () { - 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], - ), - M = (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 V = (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 > 0.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 || [], - ) - 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, Z], - ), - 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, Z], - ), - ce = (0, u.useMemo)( - function () { - return ne(b.labelBackgroundColor) - }, - [b.labelBackgroundColor, Z], - ), - ue = { - graphData: M, - width: L, - height: z, - backgroundColor: P.colors.gray[b.backgroundColor], - nodeLabel: function (e) { - return e.title - }, - nodeColor: function (e) { - return (function (e) { - var n = H[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)) * - (H[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) || H[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 + 0.5 * l - }), - c = Math.min((3 * (t - b.labelScale)) / b.labelScale, 1), - u = function () { - return 1 === b.labels || t <= b.labelScale - ? X - : H[e.id] || ie[e.id] - ? Math.max(c, X) - : 1 * c * (-1 * (0.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, B.current), - i = ye(e, ee.current), - o = r || i, - l = e - return b.citeLinkColor && 'cite' === l.type - ? o - ? '#ffffff' - : 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, B.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 - V.current < 400 - return (V.current = n.timeStamp), E(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) { - E('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) || H[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 - }, -]) diff --git a/out/_next/static/zMdEAFWLCg5pI2rbcMn9E/_buildManifest.js b/out/_next/static/zMdEAFWLCg5pI2rbcMn9E/_buildManifest.js new file mode 100644 index 0000000..1607f30 --- /dev/null +++ b/out/_next/static/zMdEAFWLCg5pI2rbcMn9E/_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-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 new file mode 100644 index 0000000..0511aa8 --- /dev/null +++ b/out/_next/static/zMdEAFWLCg5pI2rbcMn9E/_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/index.html b/out/index.html index c14952f..9c0ab8c 100644 --- a/out/index.html +++ b/out/index.html @@ -19,9 +19,9 @@ - - - + + +
@@ -697,7 +697,7 @@ "props": { "pageProps": {} }, "page": "/", "query": {}, - "buildId": "VVYThmGVjM_0dCSLu5XUv", + "buildId": "zMdEAFWLCg5pI2rbcMn9E", "nextExport": true, "autoExport": true, "isFallback": false, diff --git a/pages/index.tsx b/pages/index.tsx index 70f895a..02be883 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -411,6 +411,7 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) { const hiddenNodeIdsRef = useRef({}) const filteredGraphData = useMemo(() => { + hiddenNodeIdsRef.current = {} const filteredNodes = graphData.nodes .filter((nodeArg) => { const node = nodeArg as OrgRoamNode @@ -580,6 +581,7 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) { visuals.nodeHighlight || [], visuals.citeNodeColor || [], visuals.citeLinkColor || [], + visuals.citeLinkHighlightColor || [], ) return Object.fromEntries( @@ -805,8 +807,10 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) { const needsHighlighting = linkIsHighlighted || linkWasHighlighted const roamLink = link as OrgRoamLink if (visuals.citeLinkColor && roamLink.type === 'cite') { - return needsHighlighting - ? '#ffffff' /*highlightColors[visuals.citeLinkColor][visuals.citeLinkHighlightColor] */ + return needsHighlighting && (visuals.citeLinkHighlightColor || visuals.linkHighlight) + ? highlightColors[visuals.citeLinkColor][ + visuals.citeLinkHighlightColor || visuals.linkHighlight + ](opacity) : getThemeColor(visuals.citeLinkColor) } -- cgit v1.2.3