From 870fef3389a896c6d5c7ba22cef381be9d1ea95a Mon Sep 17 00:00:00 2001 From: "Thomas F. K. Jorna" Date: Sun, 1 Aug 2021 18:03:56 +0200 Subject: fix: made local mode zoom more consistent --- .../chunks/pages/index-225b39f25c3102945aac.js | 2954 -------------------- .../chunks/pages/index-80878514168ec7a93598.js | 2948 +++++++++++++++++++ 2 files changed, 2948 insertions(+), 2954 deletions(-) delete mode 100644 out/_next/static/chunks/pages/index-225b39f25c3102945aac.js create mode 100644 out/_next/static/chunks/pages/index-80878514168ec7a93598.js (limited to 'out/_next/static/chunks') diff --git a/out/_next/static/chunks/pages/index-225b39f25c3102945aac.js b/out/_next/static/chunks/pages/index-225b39f25c3102945aac.js deleted file mode 100644 index 74f650d..0000000 --- a/out/_next/static/chunks/pages/index-225b39f25c3102945aac.js +++ /dev/null @@ -1,2954 +0,0 @@ -;(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([ - [405], - { - 374: function (e, n, r) { - 'use strict' - r.r(n), - r.d(n, { - Graph: function () { - return je - }, - GraphPage: function () { - return fe - }, - default: function () { - return xe - }, - }) - var t = r(7757), - i = r.n(t), - o = r(2137), - l = r(5893), - s = r(7329), - c = r(6156), - a = r(4699), - d = r(7294) - function u(e, n) { - var r, - t = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, - i = h(e, null !== (r = t.storage) && void 0 !== r ? r : localStorage), - o = i.get(), - l = void 0 !== o ? o : n - l !== o && i.update(l) - var s = (0, d.useState)(l), - c = s[0], - a = s[1] - ;(0, d.useEffect)( - function () { - c !== l && a(l) - }, - [e], - ) - var u = function (e) { - e instanceof Function - ? a(function (n) { - var r = e(n) - return i.update(r), r - }) - : (a(e), i.update(e)) - } - return [c, u] - } - function h(e, n) { - return { - get: function () { - var r = n.getItem(e) - if (r && 'undefined' !== r) return JSON.parse(r) - }, - update: function (r) { - n.setItem(e, JSON.stringify(r)) - }, - remove: function () { - n.removeItem(e) - }, - } - } - var g = r(4533), - x = r(4309), - f = r(2351), - j = r(980), - p = r(8017), - m = r(6194), - b = [], - C = {} - for (var v in m.oY) - for (var y in m.oY[v]) { - var k = v + y - 'LinearNone' === k && (k = 'Linear'), b.push(k), (C[k] = m.oY[v][y]) - } - var w = C, - 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: [] }, - N = { - 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: b, - 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, - }, - O = { follow: 'zoom', localSame: 'add', zoomPadding: 200, zoomSpeed: 2e3 }, - z = { highlight: 'hover', local: 'click', follow: 'double' }, - R = r(7375), - T = r(3924), - D = r(3986), - P = r(9641), - H = r(7546), - E = r(3441), - L = r(6569), - Z = r(4189), - F = r(454), - B = r(8420), - M = r(6699), - W = r(155), - A = r(6769), - X = r(336), - _ = r(2026), - q = r(4096), - U = r(4115), - Q = r(8134), - V = r(8235), - K = r(7273), - J = r(5267), - Y = r(6049), - G = r(3014), - $ = r(6658), - ee = r(9356) - function ne(e, n) { - var r = Object.keys(e) - if (Object.getOwnPropertySymbols) { - var t = Object.getOwnPropertySymbols(e) - n && - (t = t.filter(function (n) { - return Object.getOwnPropertyDescriptor(e, n).enumerable - })), - r.push.apply(r, t) - } - return r - } - function re(e) { - for (var n = 1; n < arguments.length; n++) { - var r = null != arguments[n] ? arguments[n] : {} - n % 2 - ? ne(Object(r), !0).forEach(function (n) { - ;(0, c.Z)(e, n, r[n]) - }) - : Object.getOwnPropertyDescriptors - ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) - : ne(Object(r)).forEach(function (n) { - Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)) - }) - } - return e - } - var te = function (e) { - var n = e.physics, - r = e.setPhysics, - t = e.threeDim, - i = e.setThreeDim, - o = e.filter, - c = e.setFilter, - u = e.visuals, - h = e.setVisuals, - g = e.mouse, - x = e.setMouse, - f = e.behavior, - j = e.setBehavior, - m = (0, d.useState)(!0), - b = m[0], - C = m[1], - v = (0, d.useContext)(ee.N), - y = v.highlightColor, - k = v.setHighlightColor, - w = [ - 'red.500', - 'orange.500', - 'yellow.500', - 'green.500', - 'cyan.500', - 'blue.500', - 'pink.500', - 'purple.500', - 'gray.400', - 'gray.500', - 'gray.600', - 'white', - 'black', - ], - Z = [ - 'black', - 'gray.100', - 'gray.200', - 'gray.300', - 'gray.400', - 'gray.500', - 'gray.600', - 'gray.700', - 'gray.800', - 'gray.900', - 'white', - ] - return (0, l.jsxs)(l.Fragment, { - children: [ - (0, l.jsx)(F.R, { - in: !b, - children: (0, l.jsx)(p.xu, { - position: 'absolute', - zIndex: 'overlay', - marginTop: 10, - marginLeft: 10, - display: b ? 'none' : 'block', - children: (0, l.jsx)(B.h, { - 'aria-label': 'Settings', - icon: (0, l.jsx)(T.e, {}), - onClick: function () { - return C(!0) - }, - }), - }), - }), - (0, l.jsx)(F.R, { - in: b, - children: (0, l.jsxs)(p.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)(p.xu, { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - paddingRight: 2, - paddingTop: 1, - children: [ - (0, l.jsx)(M.u, { - label: '2D', - children: (0, l.jsx)(W.z, { - onClick: function () { - return i(!t) - }, - variant: 'ghost', - zIndex: 'overlay', - children: t ? '3D' : '2D', - }), - }), - (0, l.jsxs)(p.xu, { - display: 'flex', - alignItems: 'center', - children: [ - (0, l.jsx)(M.u, { - label: 'Reset settings to defaults', - children: (0, l.jsx)(B.h, { - 'aria-label': 'Reset Defaults', - icon: (0, l.jsx)(D.A, {}), - onClick: function () { - h(N), c(I), x(z), r(S), j(O) - }, - variant: 'none', - size: 'sm', - }), - }), - (0, l.jsx)(B.h, { - size: 'sm', - icon: (0, l.jsx)(P.T, {}), - 'aria-label': 'Close Tweak Panel', - variant: 'ghost', - onClick: function () { - return C(!1) - }, - }), - ], - }), - ], - }), - (0, l.jsx)($.ZP, { - autoHeight: !0, - autoHeightMax: 600, - autoHide: !0, - renderThumbVertical: function (e) { - var n = e.style, - r = (0, R.Z)(e, ['style']) - return (0, l.jsx)( - p.xu, - re( - re({}, r), - {}, - { style: re(re({}, n), {}, { borderRadius: 10 }), bg: y }, - ), - ) - }, - children: (0, l.jsxs)(A.UQ, { - allowMultiple: !0, - allowToggle: !0, - color: 'black', - children: [ - (0, l.jsxs)(A.Qd, { - children: [ - (0, l.jsxs)(A.KF, { - children: [ - (0, l.jsx)(A.XE, { marginRight: 2 }), - (0, l.jsx)(X.X, { size: 'sm', children: 'Filter' }), - ], - }), - (0, l.jsx)(A.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)(q.k, { - justifyContent: 'space-between', - children: [ - (0, l.jsx)(U.x, { children: 'Orphans' }), - (0, l.jsx)(Q.r, { - onChange: function () { - c(re(re({}, o), {}, { orphans: !o.orphans })) - }, - isChecked: o.orphans, - }), - ], - }), - (0, l.jsxs)(q.k, { - justifyContent: 'space-between', - children: [ - (0, l.jsx)(U.x, { - children: 'Link nodes with parent file', - }), - (0, l.jsx)(Q.r, { - onChange: function () { - c(re(re({}, o), {}, { parents: !o.parents })) - }, - isChecked: o.parents, - }), - ], - }), - ], - }), - }), - ], - }), - (0, l.jsxs)(A.Qd, { - children: [ - (0, l.jsx)(A.KF, { - display: 'flex', - justifyContent: 'space-between', - children: (0, l.jsxs)(p.xu, { - display: 'flex', - children: [ - (0, l.jsx)(A.XE, { marginRight: 2 }), - (0, l.jsx)(X.X, { size: 'sm', children: 'Physics' }), - ], - }), - }), - (0, l.jsxs)(A.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)(le, { - label: 'Gravity', - value: n.gravityOn, - onChange: function () { - return r(re(re({}, n), {}, { gravityOn: !n.gravityOn })) - }, - children: (0, l.jsx)(oe, { - label: 'Strength', - value: 10 * n.gravity, - onChange: function (e) { - return r(re(re({}, n), {}, { gravity: e / 10 })) - }, - }), - }), - (0, l.jsx)(oe, { - value: -n.charge / 100, - onChange: function (e) { - return r(re(re({}, n), {}, { charge: -100 * e })) - }, - label: 'Repulsive Force', - }), - (0, l.jsx)(le, { - label: 'Collision', - infoText: 'Perfomance sap, disable if slow', - value: n.collision, - onChange: function () { - return r(re(re({}, n), {}, { collision: !n.collision })) - }, - children: (0, l.jsx)(oe, { - value: n.collisionStrength / 5, - onChange: function (e) { - return r( - re(re({}, n), {}, { collisionStrength: 5 * e }), - ) - }, - label: 'Collision Radius', - infoText: - 'Easy with this one, high values can lead to a real jiggly mess', - }), - }), - (0, l.jsx)(oe, { - value: 5 * n.linkStrength, - onChange: function (e) { - return r(re(re({}, n), {}, { linkStrength: e / 5 })) - }, - label: 'Link Force', - }), - (0, l.jsx)(oe, { - label: 'Link Iterations', - value: n.linkIts, - onChange: function (e) { - return r(re(re({}, 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)(oe, { - label: 'Viscosity', - value: 10 * n.velocityDecay, - onChange: function (e) { - return r(re(re({}, n), {}, { velocityDecay: e / 10 })) - }, - }), - ], - }), - (0, l.jsx)(p.xu, { - children: (0, l.jsx)(A.UQ, { - paddingLeft: 3, - allowToggle: !0, - children: (0, l.jsxs)(A.Qd, { - children: [ - (0, l.jsxs)(A.KF, { - children: [ - (0, l.jsx)(U.x, { children: 'Advanced' }), - (0, l.jsx)(A.XE, { marginRight: 2 }), - ], - }), - (0, l.jsx)(A.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)(oe, { - label: 'Stabilization rate', - value: 50 * n.alphaDecay, - onChange: function (e) { - return r( - re(re({}, n), {}, { alphaDecay: e / 50 }), - ) - }, - }), - (0, l.jsx)(le, { - label: 'Center nodes', - value: n.centering, - onChange: function () { - return r( - re( - re({}, 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)(oe, { - label: 'Centering Strength', - value: n.centeringStrength, - max: 2, - step: 0.01, - onChange: function (e) { - return r( - re(re({}, n), {}, { centeringStrength: e }), - ) - }, - }), - }), - ], - }), - }), - ], - }), - }), - }), - ], - }), - ], - }), - (0, l.jsxs)(A.Qd, { - children: [ - (0, l.jsxs)(A.KF, { - children: [ - (0, l.jsx)(A.XE, { marginRight: 2 }), - (0, l.jsx)(X.X, { size: 'sm', children: 'Visual' }), - ], - }), - (0, l.jsx)(A.Hk, { - children: (0, l.jsxs)(_.gC, { - justifyContent: 'flex-start', - align: 'stretch', - children: [ - (0, l.jsx)(A.UQ, { - allowToggle: !0, - defaultIndex: [0], - paddingLeft: 3, - children: (0, l.jsxs)(A.Qd, { - children: [ - (0, l.jsx)(A.KF, { - children: (0, l.jsxs)(q.k, { - justifyContent: 'space-between', - w: '100%', - children: [ - (0, l.jsx)(U.x, { children: 'Colors' }), - (0, l.jsx)(A.XE, { marginRight: 2 }), - ], - }), - }), - (0, l.jsx)(A.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)(p.xu, { - children: [ - (0, l.jsxs)(q.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(U.x, { children: 'Nodes' }), - (0, l.jsx)(M.u, { - label: 'Shuffle node colors', - children: (0, l.jsx)(B.h, { - 'aria-label': 'Shuffle node colors', - size: 'sm', - icon: (0, l.jsx)(H.n, {}), - variant: 'ghost', - onClick: function () { - var e, - n = - null !== (e = u.nodeColorScheme) && - void 0 !== e - ? e - : [] - h( - re( - re({}, u), - {}, - { - nodeColorScheme: n - .map(function (e) { - return [Math.random(), e] - }) - .sort(function (e, n) { - return ( - (0, a.Z)(e, 1)[0] - - (0, a.Z)(n, 1)[0] - ) - }) - .map(function (e) { - var n = (0, a.Z)(e, 2) - n[0] - return n[1] - }), - }, - ), - ) - }, - }), - }), - (0, l.jsx)(M.u, { - label: 'Cycle node colors', - children: (0, l.jsx)(B.h, { - 'aria-label': 'Shift node colors', - icon: (0, l.jsx)(E.L, {}), - size: 'sm', - variant: 'ghost', - onClick: function () { - var e, - n = - null !== (e = u.nodeColorScheme) && - void 0 !== e - ? e - : [] - h( - re( - re({}, u), - {}, - { - nodeColorScheme: [].concat( - (0, s.Z)(n.slice(1, n.length)), - [n[0]], - ), - }, - ), - ) - }, - }), - }), - (0, l.jsxs)(V.v2, { - placement: 'right', - closeOnSelect: !1, - matchWidth: !0, - children: [ - (0, l.jsx)(V.j2, { - width: 20, - as: W.z, - colorScheme: '', - color: 'black', - rightIcon: (0, l.jsx)(L.v, {}), - children: (0, l.jsx)(q.k, { - height: 6, - width: 6, - flexDirection: 'column', - flexWrap: 'wrap', - children: u.nodeColorScheme.map( - function (e) { - return (0, l.jsx)( - p.xu, - { - bgColor: e, - flex: '1 1 8px', - borderRadius: '2xl', - }, - e, - ) - }, - ), - }), - }), - (0, l.jsxs)(K.h, { - children: [ - ' ', - (0, l.jsx)(V.qy, { - minW: 10, - zIndex: 'popover', - bgColor: 'gray.200', - children: (0, l.jsx)(V.__, { - width: 500, - type: 'checkbox', - defaultValue: u.nodeColorScheme, - onChange: function (e) { - e.length && - h( - re( - re({}, u), - {}, - { nodeColorScheme: e }, - ), - ) - }, - children: w.map(function (e) { - return (0, l.jsx)( - V.ii, - { - isChecked: - u.nodeColorScheme.some( - function (n) { - return n === e - }, - ), - value: e, - isDisabled: - 1 === - u.nodeColorScheme - .length && - u.nodeColorScheme[0] === - e, - children: (0, l.jsx)(p.xu, { - justifyContent: - 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)( - p.xu, - { - bgColor: e, - borderRadius: 'sm', - height: 6, - width: 6, - }, - ), - }), - }, - e, - ) - }), - }), - }), - ], - }), - ], - }), - ], - }), - (0, l.jsxs)(q.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(U.x, { children: 'Links' }), - (0, l.jsxs)(V.v2, { - placement: 'right', - children: [ - (0, l.jsx)(V.j2, { - as: W.z, - colorScheme: '', - color: 'black', - rightIcon: (0, l.jsx)(L.v, {}), - children: (0, l.jsx)(p.xu, { - children: u.linkColorScheme - ? (0, l.jsx)(p.xu, { - bgColor: u.linkColorScheme, - borderRadius: 'sm', - height: 6, - width: 6, - }) - : (0, l.jsx)(q.k, { - height: 6, - width: 6, - flexDirection: 'column', - flexWrap: 'wrap', - children: u.nodeColorScheme.map( - function (e) { - return (0, l.jsx)( - p.xu, - { - bgColor: e, - flex: '1 1 8px', - borderRadius: '2xl', - }, - e, - ) - }, - ), - }), - }), - }), - (0, l.jsxs)(K.h, { - children: [ - ' ', - (0, l.jsxs)(V.qy, { - minW: 10, - zIndex: 'popover', - bgColor: 'gray.200', - children: [ - (0, l.jsx)(V.sN, { - onClick: function () { - return h( - re( - re({}, u), - {}, - { linkColorScheme: '' }, - ), - ) - }, - justifyContent: 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(q.k, { - height: 6, - width: 6, - flexDirection: 'column', - flexWrap: 'wrap', - children: - u.nodeColorScheme.map( - function (e) { - return (0, l.jsx)( - p.xu, - { - bgColor: e, - flex: '1 1 8px', - borderRadius: '2xl', - }, - e, - ) - }, - ), - }), - }), - Z.map(function (e) { - return (0, l.jsx)( - V.sN, - { - onClick: function () { - return h( - re( - re({}, u), - {}, - { - linkColorScheme: e, - }, - ), - ) - }, - justifyContent: - 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(p.xu, { - bgColor: e, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }, - e, - ) - }), - ], - }), - ], - }), - ], - }), - ], - }), - (0, l.jsxs)(q.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(U.x, { children: 'Accent' }), - (0, l.jsxs)(V.v2, { - placement: 'right', - children: [ - (0, l.jsx)(V.j2, { - as: W.z, - colorScheme: '', - color: 'black', - rightIcon: (0, l.jsx)(L.v, {}), - children: (0, l.jsx)(p.xu, { - bgColor: y, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }), - (0, l.jsxs)(K.h, { - children: [ - ' ', - (0, l.jsx)(V.qy, { - minW: 10, - zIndex: 'popover', - bgColor: 'gray.200', - children: w.map(function (e) { - return (0, l.jsx)( - V.sN, - { - onClick: function () { - return k(e) - }, - justifyContent: - 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(p.xu, { - bgColor: e, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }, - e, - ) - }), - }), - ], - }), - ], - }), - ], - }), - (0, l.jsxs)(q.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(U.x, { - children: 'Link Highlight', - }), - (0, l.jsxs)(V.v2, { - placement: 'right', - children: [ - (0, l.jsx)(V.j2, { - as: W.z, - colorScheme: '', - color: 'black', - rightIcon: (0, l.jsx)(L.v, {}), - children: (0, l.jsx)(p.xu, { - bgColor: u.linkHighlight, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }), - (0, l.jsxs)(K.h, { - children: [ - ' ', - (0, l.jsxs)(V.qy, { - minW: 10, - zIndex: 'popover', - bgColor: 'gray.200', - children: [ - (0, l.jsx)( - V.sN, - { - onClick: function () { - return h( - re( - re({}, u), - {}, - { linkHighlight: '' }, - ), - ) - }, - justifyContent: - 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(p.xu, { - borderRadius: 'sm', - height: 6, - width: 6, - }), - }, - 'none', - ), - w.map(function (e) { - return (0, l.jsx)( - V.sN, - { - onClick: function () { - return h( - re( - re({}, u), - {}, - { linkHighlight: e }, - ), - ) - }, - justifyContent: - 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(p.xu, { - bgColor: e, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }, - e, - ) - }), - ], - }), - ], - }), - ], - }), - ], - }), - (0, l.jsxs)(q.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(U.x, { - children: 'Node Highlight', - }), - (0, l.jsxs)(V.v2, { - placement: 'right', - children: [ - (0, l.jsx)(V.j2, { - as: W.z, - colorScheme: '', - color: 'black', - rightIcon: (0, l.jsx)(L.v, {}), - children: (0, l.jsx)(p.xu, { - bgColor: u.nodeHighlight, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }), - (0, l.jsxs)(K.h, { - children: [ - ' ', - (0, l.jsxs)(V.qy, { - minW: 10, - zIndex: 'popover', - bgColor: 'gray.200', - children: [ - (0, l.jsx)( - V.sN, - { - onClick: function () { - return h( - re( - re({}, u), - {}, - { nodeHighlight: '' }, - ), - ) - }, - justifyContent: - 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(p.xu, { - borderRadius: 'sm', - height: 6, - width: 6, - }), - }, - 'none', - ), - w.map(function (e) { - return (0, l.jsx)( - V.sN, - { - onClick: function () { - return h( - re( - re({}, u), - {}, - { nodeHighlight: e }, - ), - ) - }, - justifyContent: - 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(p.xu, { - bgColor: e, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }, - e, - ) - }), - ], - }), - ], - }), - ], - }), - ], - }), - (0, l.jsxs)(q.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(U.x, { children: 'Background' }), - (0, l.jsxs)(V.v2, { - placement: 'right', - children: [ - (0, l.jsx)(V.j2, { - as: W.z, - colorScheme: '', - color: 'black', - rightIcon: (0, l.jsx)(L.v, {}), - children: (0, l.jsx)(p.xu, { - bgColor: u.backgroundColor, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }), - (0, l.jsxs)(K.h, { - children: [ - ' ', - (0, l.jsx)(V.qy, { - minWidth: 10, - zIndex: 'popover', - bgColor: 'gray.200', - children: Z.map(function (e) { - return (0, l.jsx)( - V.sN, - { - onClick: function () { - return h( - re( - re({}, u), - {}, - { backgroundColor: e }, - ), - ) - }, - justifyContent: - 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(p.xu, { - bgColor: e, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }, - e, - ) - }), - }), - ], - }), - ], - }), - ], - }), - (0, l.jsxs)(q.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(U.x, { children: 'Emacs Node' }), - (0, l.jsxs)(V.v2, { - placement: 'right', - children: [ - (0, l.jsx)(V.j2, { - as: W.z, - colorScheme: '', - color: 'black', - rightIcon: (0, l.jsx)(L.v, {}), - children: (0, l.jsx)(p.xu, { - bgColor: u.emacsNodeColor, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }), - (0, l.jsxs)(K.h, { - children: [ - ' ', - (0, l.jsxs)(V.qy, { - minWidth: 10, - zIndex: 'popover', - bgColor: 'gray.200', - children: [ - (0, l.jsx)( - V.sN, - { - onClick: function () { - return h( - re( - re({}, u), - {}, - { emacsNodeColor: '' }, - ), - ) - }, - justifyContent: - 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(p.xu, { - borderRadius: 'sm', - height: 6, - width: 6, - }), - }, - 'none', - ), - w.map(function (e) { - return (0, l.jsx)( - V.sN, - { - onClick: function () { - return h( - re( - re({}, u), - {}, - { emacsNodeColor: e }, - ), - ) - }, - justifyContent: - 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(p.xu, { - bgColor: e, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }, - e, - ) - }), - ], - }), - ], - }), - ], - }), - ], - }), - ], - }), - }), - }), - ], - }), - }), - (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)(oe, { - label: 'Node size', - value: u.nodeRel, - onChange: function (e) { - return h(re(re({}, u), {}, { nodeRel: e })) - }, - }), - t && - (0, l.jsxs)(l.Fragment, { - children: [ - (0, l.jsx)(oe, { - label: 'Node opacity', - value: u.nodeOpacity, - min: 0, - max: 1, - onChange: function (e) { - return h(re(re({}, u), {}, { nodeOpacity: e })) - }, - }), - (0, l.jsx)(oe, { - label: 'Node resolution', - value: u.nodeResolution, - min: 5, - max: 32, - step: 1, - onChange: function (e) { - return h(re(re({}, u), {}, { nodeResolution: e })) - }, - }), - ], - }), - (0, l.jsx)(oe, { - label: 'Link width', - value: u.linkWidth, - onChange: function (e) { - return h(re(re({}, u), {}, { linkWidth: e })) - }, - }), - t && - (0, l.jsx)(oe, { - label: 'Link opacity', - min: 0, - max: 1, - value: u.linkOpacity, - onChange: function (e) { - return h(re(re({}, u), {}, { linkOpacity: e })) - }, - }), - (0, l.jsxs)(p.xu, { - children: [ - (0, l.jsxs)(q.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(U.x, { children: 'Labels' }), - (0, l.jsxs)(V.v2, { - placement: 'right', - children: [ - (0, l.jsx)(V.j2, { - as: W.z, - colorScheme: '', - color: 'black', - rightIcon: (0, l.jsx)(L.v, {}), - children: u.labels - ? u.labels < 2 - ? 'On Highlight' - : 'Always' - : 'Never', - }), - (0, l.jsxs)(K.h, { - children: [ - ' ', - (0, l.jsxs)(V.qy, { - zIndex: 'popover', - bgColor: 'gray.200', - children: [ - (0, l.jsx)(V.sN, { - onClick: function () { - return h( - re(re({}, u), {}, { labels: 0 }), - ) - }, - children: 'Never', - }), - (0, l.jsx)(V.sN, { - onClick: function () { - return h( - re(re({}, u), {}, { labels: 1 }), - ) - }, - children: 'On Highlight', - }), - (0, l.jsx)(V.sN, { - onClick: function () { - return h( - re(re({}, u), {}, { labels: 2 }), - ) - }, - children: 'Always', - }), - (0, l.jsx)(V.sN, { - onClick: function () { - return h( - re(re({}, u), {}, { labels: 3 }), - ) - }, - children: 'Always (even in 3D)', - }), - ], - }), - ], - }), - ], - }), - ], - }), - (0, l.jsx)(J.U, { - in: u.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.jsxs)(q.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(U.x, { children: 'Text' }), - (0, l.jsxs)(V.v2, { - matchWidth: !0, - children: [ - (0, l.jsx)(V.j2, { - as: W.z, - rightIcon: (0, l.jsx)(L.v, {}), - color: 'black', - colorScheme: '', - children: (0, l.jsx)(p.xu, { - bgColor: u.labelTextColor, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }), - (0, l.jsxs)(K.h, { - children: [ - ' ', - (0, l.jsx)(V.qy, { - minW: 10, - zIndex: 'popover', - bg: 'gray.200', - children: Z.map(function (e) { - return (0, l.jsx)( - V.sN, - { - onClick: function () { - return h( - re( - re({}, u), - {}, - { labelTextColor: e }, - ), - ) - }, - children: (0, l.jsx)(p.xu, { - bgColor: e, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }, - e, - ) - }), - }), - ], - }), - ], - }), - ], - }), - (0, l.jsxs)(q.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(U.x, { children: 'Background' }), - (0, l.jsxs)(V.v2, { - placement: 'right', - children: [ - (0, l.jsx)(V.j2, { - as: W.z, - rightIcon: (0, l.jsx)(L.v, {}), - color: 'black', - colorScheme: '', - children: (0, l.jsx)(p.xu, { - bgColor: u.labelBackgroundColor, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }), - (0, l.jsxs)(K.h, { - children: [ - ' ', - (0, l.jsxs)(V.qy, { - minW: 10, - zIndex: 'popover', - bg: 'gray.200', - children: [ - (0, l.jsx)(V.sN, { - onClick: function () { - return h( - re( - re({}, u), - {}, - { - labelBackgroundColor: - '', - }, - ), - ) - }, - justifyContent: 'space-between', - alignItems: 'center', - display: 'flex', - children: 'None', - }), - Z.map(function (e) { - return (0, l.jsx)( - V.sN, - { - onClick: function () { - return h( - re( - re({}, u), - {}, - { - labelBackgroundColor: - e, - }, - ), - ) - }, - justifyContent: - 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(p.xu, { - bgColor: e, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }, - e, - ) - }), - ], - }), - ], - }), - ], - }), - ], - }), - (0, l.jsx)(J.U, { - in: !!u.labelBackgroundColor, - animateOpacity: !0, - children: (0, l.jsx)(p.xu, { - paddingTop: 2, - children: (0, l.jsx)(oe, { - label: 'Background opacity', - value: u.labelBackgroundOpacity, - onChange: function (e) { - console.log(u.labelBackgroundOpacity), - h( - re( - re({}, u), - {}, - { labelBackgroundOpacity: e }, - ), - ) - }, - min: 0, - max: 1, - step: 0.01, - }), - }), - }), - (0, l.jsx)(J.U, { - in: u.labels > 1, - animateOpacity: !0, - children: (0, l.jsx)(p.xu, { - paddingTop: 2, - children: (0, l.jsx)(oe, { - label: 'Label Appearance Scale', - value: 5 * u.labelScale, - onChange: function (e) { - return h( - re( - re({}, u), - {}, - { labelScale: e / 5 }, - ), - ) - }, - }), - }), - }), - ], - }), - }), - ], - }), - (0, l.jsxs)(le, { - label: 'Link arrows', - value: u.arrows, - onChange: function () { - return h(re(re({}, u), {}, { arrows: !u.arrows })) - }, - children: [ - (0, l.jsx)(oe, { - label: 'Arrow size', - value: u.arrowsLength / 10, - onChange: function (e) { - return h( - re(re({}, u), {}, { arrowsLength: 10 * e }), - ) - }, - }), - (0, l.jsx)(oe, { - label: 'Arrow Position', - value: u.arrowsPos, - min: 0, - max: 1, - step: 0.01, - onChange: function (e) { - return h(re(re({}, u), {}, { arrowsPos: e })) - }, - }), - (0, l.jsxs)(q.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(U.x, { children: 'Arrow Color' }), - (0, l.jsxs)(V.v2, { - placement: 'right', - children: [ - (0, l.jsx)(V.j2, { - as: W.z, - colorScheme: '', - color: 'black', - rightIcon: (0, l.jsx)(L.v, {}), - children: (0, l.jsx)(p.xu, { - bgColor: u.arrowsColor, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }), - (0, l.jsxs)(K.h, { - children: [ - ' ', - (0, l.jsxs)(V.qy, { - minW: 10, - zIndex: 'popover', - bgColor: 'gray.200', - children: [ - (0, l.jsx)(V.sN, { - onClick: function () { - return h( - re( - re({}, u), - {}, - { arrowsColor: '' }, - ), - ) - }, - justifyContent: 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(p.xu, { - height: 6, - width: 6, - }), - }), - w.map(function (e) { - return (0, l.jsx)( - V.sN, - { - onClick: function () { - return h( - re( - re({}, u), - {}, - { arrowsColor: e }, - ), - ) - }, - justifyContent: 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(p.xu, { - bgColor: e, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }, - e, - ) - }), - Z.map(function (e) { - return (0, l.jsx)( - V.sN, - { - onClick: function () { - return h( - re( - re({}, u), - {}, - { arrowsColor: e }, - ), - ) - }, - justifyContent: 'space-between', - alignItems: 'center', - display: 'flex', - children: (0, l.jsx)(p.xu, { - bgColor: e, - borderRadius: 'sm', - height: 6, - width: 6, - }), - }, - e, - ) - }), - ], - }), - ], - }), - ], - }), - ], - }), - ], - }), - (0, l.jsxs)(le, { - label: 'Directional Particles', - value: u.particles, - onChange: function () { - return h(re(re({}, u), {}, { particles: !u.particles })) - }, - children: [ - (0, l.jsx)(oe, { - label: 'Particle Number', - value: u.particlesNumber, - max: 5, - step: 1, - onChange: function (e) { - return h(re(re({}, u), {}, { particlesNumber: e })) - }, - }), - (0, l.jsx)(oe, { - label: 'Particle Size', - value: u.particlesWidth, - onChange: function (e) { - return h(re(re({}, u), {}, { particlesWidth: e })) - }, - }), - ], - }), - (0, l.jsx)(le, { - label: 'Highlight', - onChange: function () { - return h(re(re({}, u), {}, { highlight: !u.highlight })) - }, - value: u.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)(oe, { - label: 'Highlight Link Thickness', - value: u.highlightLinkSize, - onChange: function (e) { - return h( - re(re({}, u), {}, { highlightLinkSize: e }), - ) - }, - }), - (0, l.jsx)(oe, { - label: 'Highlight Node Size', - value: u.highlightNodeSize, - onChange: function (e) { - return h( - re(re({}, u), {}, { highlightNodeSize: e }), - ) - }, - }), - (0, l.jsxs)(le, { - label: 'Highlight Animation', - onChange: function () { - h( - re( - re({}, u), - {}, - { highlightAnim: !u.highlightAnim }, - ), - ) - }, - value: u.highlightAnim, - children: [ - (0, l.jsx)(oe, { - label: 'Animation speed', - onChange: function (e) { - return h( - re(re({}, u), {}, { animationSpeed: e }), - ) - }, - value: u.animationSpeed, - infoText: - 'Slower speed has a chance of being buggy', - min: 50, - max: 1e3, - step: 10, - }), - (0, l.jsx)(Y.Ph, { - placeholder: u.algorithmName, - onChange: function (e) { - h( - re( - re({}, u), - {}, - { algorithmName: e.target.value }, - ), - ) - }, - children: u.algorithmOptions.map(function (e) { - return (0, - l.jsx)('option', { value: e, children: e }, e) - }), - }), - ], - }), - ], - }), - }), - ], - }), - ], - }), - }), - ], - }), - (0, l.jsxs)(A.Qd, { - children: [ - (0, l.jsxs)(A.KF, { - children: [ - (0, l.jsx)(A.XE, { marginRight: 2 }), - (0, l.jsx)(X.X, { size: 'sm', children: 'Behavior' }), - ], - }), - (0, l.jsx)(A.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)(q.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsxs)(q.k, { - children: [ - (0, l.jsx)(U.x, { children: 'Expand Node' }), - (0, l.jsx)(ie, { - infoText: - 'View only the node and its direct neighbors', - }), - ], - }), - (0, l.jsxs)(V.v2, { - placement: 'right', - children: [ - (0, l.jsx)(V.j2, { - as: W.z, - rightIcon: (0, l.jsx)(L.v, {}), - colorScheme: '', - color: 'black', - children: (0, l.jsx)(U.x, { - children: - g.local[0].toUpperCase() + g.local.slice(1), - }), - }), - (0, l.jsxs)(K.h, { - children: [ - ' ', - (0, l.jsxs)(V.qy, { - zIndex: 'popover', - bgColor: 'gray.200', - children: [ - (0, l.jsx)(V.sN, { - onClick: function () { - return x(re(re({}, g), {}, { local: '' })) - }, - children: 'Never', - }), - (0, l.jsx)(V.sN, { - onClick: function () { - return x( - re(re({}, g), {}, { local: 'click' }), - ) - }, - children: 'Click', - }), - (0, l.jsx)(V.sN, { - onClick: function () { - return x( - re(re({}, g), {}, { local: 'double' }), - ) - }, - children: 'Double Click', - }), - (0, l.jsx)(V.sN, { - onClick: function () { - return x( - re(re({}, g), {}, { local: 'right' }), - ) - }, - children: 'Right Click', - }), - ], - }), - ], - }), - ], - }), - ], - }), - (0, l.jsxs)(q.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(U.x, { children: 'Open in Emacs' }), - (0, l.jsxs)(V.v2, { - placement: 'right', - children: [ - (0, l.jsx)(V.j2, { - as: W.z, - rightIcon: (0, l.jsx)(L.v, {}), - colorScheme: '', - color: 'black', - children: (0, l.jsx)(U.x, { - children: - g.follow[0].toUpperCase() + g.follow.slice(1), - }), - }), - (0, l.jsxs)(K.h, { - children: [ - ' ', - (0, l.jsxs)(V.qy, { - bgColor: 'gray.200', - zIndex: 'popover', - children: [ - (0, l.jsx)(V.sN, { - onClick: function () { - return x(re(re({}, g), {}, { follow: '' })) - }, - children: 'Never', - }), - (0, l.jsx)(V.sN, { - onClick: function () { - return x( - re(re({}, g), {}, { follow: 'click' }), - ) - }, - children: 'Click', - }), - (0, l.jsx)(V.sN, { - onClick: function () { - return x( - re(re({}, g), {}, { follow: 'double' }), - ) - }, - children: 'Double Click', - }), - (0, l.jsx)(V.sN, { - onClick: function () { - return x( - re(re({}, g), {}, { follow: 'right' }), - ) - }, - children: 'Right Click', - }), - ], - }), - ], - }), - ], - }), - ], - }), - (0, l.jsxs)(q.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, l.jsx)(U.x, { children: 'Follow Emacs by...' }), - (0, l.jsxs)(V.v2, { - placement: 'right', - children: [ - (0, l.jsx)(V.j2, { - as: W.z, - rightIcon: (0, l.jsx)(L.v, {}), - colorScheme: '', - color: 'black', - children: (0, l.jsx)(U.x, { - children: - f.follow[0].toUpperCase() + f.follow.slice(1), - }), - }), - (0, l.jsxs)(K.h, { - children: [ - ' ', - (0, l.jsxs)(V.qy, { - bgColor: 'gray.200', - zIndex: 'popover', - children: [ - (0, l.jsx)(V.sN, { - onClick: function () { - return j( - re(re({}, f), {}, { follow: 'local' }), - ) - }, - children: 'Opening the local graph', - }), - (0, l.jsx)(V.sN, { - onClick: function () { - return j( - re(re({}, f), {}, { follow: 'zoom' }), - ) - }, - children: 'Zooming to the current node', - }), - ], - }), - ], - }), - ], - }), - ], - }), - (0, l.jsx)(oe, { - label: 'Zoom speed', - value: f.zoomSpeed, - min: 0, - max: 4e3, - step: 100, - onChange: function (e) { - return j(re(re({}, f), {}, { zoomSpeed: e })) - }, - }), - (0, l.jsx)(oe, { - label: 'Zoom padding', - value: f.zoomPadding, - min: 0, - max: 400, - step: 1, - onChange: function (e) { - return j(re(re({}, f), {}, { zoomPadding: e })) - }, - infoText: - 'How much to zoom out to accomodate all nodes when changing the view.', - }), - ], - }), - }), - ], - }), - ], - }), - }), - ], - }), - }), - ], - }) - }, - ie = function (e) { - var n = e.infoText - return (0, l.jsx)(p.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)(Z.h, {}), - }), - }) - }, - oe = function (e) { - var n = e.min, - r = void 0 === n ? 0 : n, - t = e.max, - i = void 0 === t ? 10 : t, - o = e.step, - s = void 0 === o ? 0.1 : o, - c = e.value, - a = void 0 === c ? 1 : c, - u = (0, R.Z)(e, ['min', 'max', 'step', 'value']), - h = u.onChange, - g = u.label, - x = u.infoText, - f = (0, d.useContext)(ee.N).highlightColor - return (0, l.jsxs)(p.xu, { - children: [ - (0, l.jsxs)(p.xu, { - display: 'flex', - alignItems: 'flex-end', - children: [(0, l.jsx)(U.x, { children: g }), x && (0, l.jsx)(ie, { infoText: x })], - }), - (0, l.jsxs)(G.iR, { - value: a, - onChange: h, - min: r, - max: i, - step: s, - children: [ - (0, l.jsx)(G.Uj, { children: (0, l.jsx)(G.Ms, {}) }), - (0, l.jsx)(M.u, { - bg: f, - label: a.toFixed(1), - children: (0, l.jsx)(G.gs, { bg: 'white' }), - }), - ], - }), - ], - }) - }, - le = function (e) { - var n = e.value, - r = e.onChange, - t = e.label, - i = e.infoText, - o = e.children - return (0, l.jsxs)(p.xu, { - paddingTop: 2, - children: [ - (0, l.jsxs)(p.xu, { - display: 'flex', - justifyContent: 'space-between', - paddingBottom: 2, - children: [ - (0, l.jsxs)(p.xu, { - display: 'flex', - alignItems: 'center', - children: [ - (0, l.jsx)(U.x, { children: t }), - i && (0, l.jsx)(ie, { infoText: i }), - ], - }), - (0, l.jsx)(Q.r, { isChecked: !!n, onChange: r }), - ], - }), - (0, l.jsx)(J.U, { - in: !!n, - animateOpacity: !0, - children: (0, l.jsx)(p.xu, { - paddingLeft: 4, - paddingTop: 2, - paddingBottom: 2, - children: o, - }), - }), - ], - }) - }, - se = r(1122), - ce = r(2003) - function ae(e, n) { - var r = Object.keys(e) - if (Object.getOwnPropertySymbols) { - var t = Object.getOwnPropertySymbols(e) - n && - (t = t.filter(function (n) { - return Object.getOwnPropertyDescriptor(e, n).enumerable - })), - r.push.apply(r, t) - } - return r - } - function de(e) { - for (var n = 1; n < arguments.length; n++) { - var r = null != arguments[n] ? arguments[n] : {} - n % 2 - ? ae(Object(r), !0).forEach(function (n) { - ;(0, c.Z)(e, n, r[n]) - }) - : Object.getOwnPropertyDescriptors - ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) - : ae(Object(r)).forEach(function (n) { - Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)) - }) - } - return e - } - var ue = r.e(4).then(r.bind(r, 7004)), - he = r.g.window ? r(1957).f$ : null, - ge = r.g.window ? r(1957).s6 : null - function xe() { - var e = (0, d.useState)(!1), - n = e[0], - r = e[1] - return ( - (0, d.useEffect)(function () { - r(!0) - }, []), - n ? (0, l.jsx)(fe, {}) : null - ) - } - function fe() { - var e = u('physics', S), - n = (0, a.Z)(e, 2), - r = n[0], - t = n[1], - i = u('filter', I), - o = (0, a.Z)(i, 2), - h = o[0], - g = o[1], - x = u('visuals', N), - f = (0, a.Z)(x, 2), - j = f[0], - m = f[1], - b = (0, d.useState)(null), - C = b[0], - v = b[1], - y = (0, d.useState)(null), - k = y[0], - w = y[1], - R = u('behavior', O), - T = (0, a.Z)(R, 2), - D = T[0], - P = T[1], - H = u('mouse', z), - E = (0, a.Z)(H, 2), - L = E[0], - Z = E[1], - F = (0, d.useRef)({}), - B = (0, d.useRef)({}), - M = (0, d.useContext)(ee.N).setEmacsTheme, - W = (0, d.useState)(!1), - A = W[0], - X = W[1], - _ = (0, d.useState)({ nodeIds: [] }), - q = _[0], - U = _[1], - Q = (0, d.useRef)({ nodeIds: [] }), - V = (0, d.useRef)(O) - V.current = D - var K = (0, d.useRef)(null), - J = (0, d.useRef)(null) - Q.current = q - var Y = function (e, n) { - var r, - t = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 2e3, - i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 200, - o = K.current, - l = Q.current, - c = V.current, - a = null !== (r = B.current[n]) && void 0 !== r ? r : [], - d = Object.fromEntries( - [n] - .concat( - (0, s.Z)( - a.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), U({ nodeIds: [] })), - void setTimeout(function () { - return o.zoomToFit(t, i, function (e) { - return d[e.id] - }) - }, 50)) - : l.nodeIds.length - ? 'add' !== c.localSame - ? (U({ nodeIds: [n] }), - void setTimeout(function () { - o.zoomToFit(t, i, function (e) { - return d[e.id] - }) - }, 50)) - : l.nodeIds.includes(n) && - l.nodeIds.some(function (e) { - return d[e] - }) - ? (U(function (e) { - return de(de({}, e), {}, { nodeIds: [].concat((0, s.Z)(e.nodeIds), [n]) }) - }), - void setTimeout(function () { - return o.zoomToFit(t, i, function (e) { - return d[e.id] - }) - }, 50)) - : (U({ nodeIds: [n] }), - void setTimeout(function () { - o.zoomToFit(t, i, function (e) { - return d[e.id] - }) - }, 50)) - : (U({ nodeIds: [n] }), - void setTimeout(function () { - o.zoomToFit(t, i, function (e) { - return d[e.id] - }) - }, 50)) - } - return ( - (0, d.useEffect)(function () { - ;(J.current = new ce.Z('ws://localhost:35903')), - J.current.addEventListener('open', function (e) { - console.log('Connection with Emacs established') - }), - J.current.addEventListener('message', function (e) { - K.current - var n = V.current, - r = JSON.parse(e.data) - switch (r.type) { - case 'graphdata': - return (function (e) { - var n = e.nodes.reduce(function (e, n) { - var r - return de( - de({}, e), - {}, - (0, c.Z)( - {}, - n.file, - [].concat( - (0, s.Z)(null !== (r = e[n.file]) && void 0 !== r ? r : []), - [n], - ), - ), - ) - }, {}), - r = Object.keys(n).flatMap(function (e) { - var r, - t = null !== (r = n[e]) && void 0 !== r ? r : [], - i = t.find(function (e) { - return 0 === e.level - }), - o = t.filter(function (e) { - return 0 !== e.level - }) - return i - ? o.map(function (e) { - return { source: e.id, target: i.id, type: 'parent' } - }) - : [] - }) - F.current = Object.fromEntries( - e.nodes.map(function (e) { - return [e.id, e] - }), - ) - var t = [].concat((0, s.Z)(e.links), (0, s.Z)(r)).filter(function (e) { - var n = e.source, - r = e.target - return F.current[n] && F.current[r] - }) - B.current = t.reduce(function (e, n) { - var r, t, i - return de( - de({}, e), - {}, - ((i = {}), - (0, c.Z)( - i, - n.source, - [].concat( - (0, s.Z)(null !== (r = e[n.source]) && void 0 !== r ? r : []), - [n], - ), - ), - (0, c.Z)( - i, - n.target, - [].concat( - (0, s.Z)(null !== (t = e[n.target]) && void 0 !== t ? t : []), - [n], - ), - ), - i), - ) - }, {}) - var i = de(de({}, e), {}, { links: t }), - o = JSON.parse(JSON.stringify(i)) - v(o) - })(r.data) - case 'theme': - return M(r.data) - case 'command': - switch (r.data.commandName) { - case 'local': - var t = D.zoomSpeed, - i = D.zoomPadding - Y('local', r.data.id, t, i), w(r.data.id) - break - case 'zoom': - var o, - l, - a = - (null === r || void 0 === r || null === (o = r.data) || void 0 === o - ? void 0 - : o.speed) || n.zoomSpeed, - d = - (null === r || void 0 === r || null === (l = r.data) || void 0 === l - ? void 0 - : l.padding) || n.zoomPadding - Y('zoom', r.data.id, a, d), w(r.data.id) - break - case 'follow': - Y(n.follow, r.data.id, n.zoomSpeed, n.zoomPadding), w(r.data.id) - break - default: - return console.error('unknown message type', r.type) - } - } - }) - }, []), - C - ? (0, l.jsxs)(p.xu, { - display: 'flex', - alignItems: 'flex-start', - flexDirection: 'row', - height: '100%', - children: [ - (0, l.jsx)( - te, - de( - {}, - { - physics: r, - setPhysics: t, - threeDim: A, - setThreeDim: X, - filter: h, - setFilter: g, - visuals: j, - setVisuals: m, - mouse: L, - setMouse: Z, - behavior: D, - setBehavior: P, - }, - ), - ), - (0, l.jsx)(p.xu, { - position: 'absolute', - alignItems: 'top', - children: (0, l.jsx)( - je, - de( - { - ref: K, - nodeById: F.current, - linksByNodeId: B.current, - webSocket: J.current, - }, - { - physics: r, - graphData: C, - threeDim: A, - emacsNodeId: k, - filter: h, - visuals: j, - behavior: D, - mouse: L, - scope: q, - setScope: U, - }, - ), - ), - }), - ], - }) - : null - ) - } - var je = (0, d.forwardRef)(function (e, n) { - var r = e.physics, - t = e.graphData, - c = e.threeDim, - u = e.linksByNodeId, - h = e.filter, - p = e.emacsNodeId, - m = e.nodeById, - b = e.visuals, - C = (e.behavior, e.mouse), - v = e.scope, - y = e.setScope, - k = e.webSocket, - S = (0, x.iP)(), - I = (0, a.Z)(S, 2), - N = I[0], - O = I[1], - z = (0, d.useState)(null), - R = z[0], - T = z[1], - D = (0, j.useTheme)(), - P = (0, d.useContext)(ee.N).emacsTheme, - H = function (e, n) { - switch (e) { - case C.local: - if (v.nodeIds.includes(n.id)) break - y(function (e) { - return de(de({}, e), {}, { nodeIds: [].concat((0, s.Z)(e.nodeIds), [n.id]) }) - }) - break - case C.follow: - k.send(n.id) - } - }, - E = (0, d.useRef)(null) - ;(0, d.useEffect)( - function () { - p && T(m[p]) - }, - [p], - ), - (E.current = R) - var L = (0, d.useMemo)( - function () { - if (!E.current) return {} - var e = u[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, u], - ), - Z = (0, d.useMemo)( - function () { - var e = t.nodes.filter(function (e) { - var n, - r = null !== (n = u[e.id]) && void 0 !== n ? n : [] - return ( - !h.orphans || - (h.parents - ? 0 !== r.length - : 0 !== r.length && - r.some(function (e) { - return !['parent', 'cite', 'ref'].includes(e.type) - })) - ) - }), - n = - (e.map(function (e) { - return e.id - }), - t.links.filter(function (e) { - var n = e - return 'cite' !== n.type && (h.parents || 'parent' !== n.type) - })), - r = e.filter(function (e) { - var n, - r = null !== (n = u[e.id]) && void 0 !== n ? n : [] - return ( - v.nodeIds.includes(e.id) || - r.some(function (e) { - return v.nodeIds.includes(e.source) || v.nodeIds.includes(e.target) - }) - ) - }), - i = r.map(function (e) { - return e.id - }), - o = n.filter(function (e) { - var n = 'object' === typeof e.source ? e.source.id : e.source, - r = 'object' === typeof e.target ? e.target.id : e.target - return i.includes(n) && i.includes(r) - }) - return 0 === v.nodeIds.length ? { nodes: e, links: n } : { nodes: r, links: o } - }, - [h, v, t], - ) - ;(0, d.useEffect)(function () { - ;(0, o.Z)( - i().mark(function e() { - var t, o - return i().wrap(function (e) { - for (;;) - switch ((e.prev = e.next)) { - case 0: - return (t = n.current), (e.next = 3), ue - case 3: - ;(o = e.sent), - r.gravityOn - ? (t.d3Force('x', o.forceX().strength(r.gravity)), - t.d3Force('y', o.forceY().strength(r.gravity)), - c && t.d3Force('z', o.forceZ().strength(r.gravity))) - : (t.d3Force('x', null), t.d3Force('y', null), c && t.d3Force('z', null)), - r.centering - ? t.d3Force('center', o.forceCenter().strength(r.centeringStrength)) - : t.d3Force('center', null), - r.linkStrength && t.d3Force('link').strength(r.linkStrength), - r.linkIts && t.d3Force('link').iterations(r.linkIts), - r.charge && t.d3Force('charge').strength(r.charge), - t.d3Force( - 'collide', - r.collision ? o.forceCollide().radius(r.collisionStrength) : null, - ) - case 10: - case 'end': - return e.stop() - } - }, e) - }), - )() - }), - (0, d.useEffect)( - function () { - var e - null === (e = n.current) || void 0 === e || e.d3ReheatSimulation() - }, - [r], - ) - var F = (0, d.useRef)(0), - B = (0, d.useState)(1), - M = B[0], - W = B[1], - A = (0, f._7)( - function (e) { - return W(e) - }, - { duration: b.animationSpeed, algorithm: w[b.algorithmName] }, - ), - X = (0, a.Z)(A, 2), - _ = X[0], - q = X[1], - U = (0, f._7)( - function (e) { - return W(Math.min(M, -1 * (e - 1))) - }, - { duration: b.animationSpeed, algorithm: w[b.algorithmName] }, - ), - Q = (0, a.Z)(U, 2), - V = Q[0], - K = Q[1], - J = (0, d.useRef)(null) - ;(0, d.useEffect)( - function () { - if ((R && (J.current = R), !b.highlightAnim)) return W(R ? 1 : 0) - R ? _() : (q(), M > 0.5 ? V() : W(0)) - }, - [R], - ) - var Y = function (e) { - if (D) - return e.split('.').reduce(function (e, n) { - return e[n] - }, D.colors) - }, - G = (0, d.useMemo)( - function () { - var e = b.nodeColorScheme.concat( - b.linkColorScheme || [], - b.linkHighlight || [], - b.nodeHighlight || [], - ) - return Object.fromEntries( - e.map(function (n) { - var r = Y(n), - t = e.map(function (e) { - return [e, g.Z(r, Y(e))] - }) - return [n, Object.fromEntries(t)] - }), - ) - }, - [b.nodeColorScheme, b.linkHighlight, b.nodeHighlight, b.linkColorScheme, P], - ), - $ = (0, d.useMemo)( - function () { - var e, - n, - r, - t = - null !== (e = u[null === (n = J.current) || void 0 === n ? void 0 : n.id]) && - void 0 !== e - ? e - : [] - return Object.fromEntries( - [null === (r = J.current) || void 0 === r ? void 0 : r.id] - .concat( - (0, s.Z)( - t.flatMap(function (e) { - return [e.source, e.target] - }), - ), - ) - .map(function (e) { - return [e, {}] - }), - ) - }, - [JSON.stringify(R), J.current], - ), - ne = function (e) { - var n, - r, - t, - i, - o, - l, - s = - null !== (n = null === (r = u[e]) || void 0 === r ? void 0 : r.length) && - void 0 !== n - ? n - : 0, - c = s - ? null === (t = u[e]) || void 0 === t - ? void 0 - : t.filter(function (e) { - return 'parent' === e.type || 'cite' === e.type - }).length - : 0, - a = h.parents ? s : s - c - return b.nodeColorScheme[ - ((i = a), (o = 0), (l = b.nodeColorScheme.length - 1), Math.min(Math.max(i, o), l)) - ] - }, - re = function (e, n) { - return u[e] > u[n] ? ne(e) : ne(n) - }, - te = 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(',') + - ')' - ) - }, - ie = (0, d.useMemo)( - function () { - return Y(b.labelTextColor) - }, - [b.labelTextColor, P], - ), - oe = (0, d.useMemo)( - function () { - return Y(b.labelBackgroundColor) - }, - [b.labelBackgroundColor, P], - ), - le = { - graphData: Z, - width: N, - height: O, - backgroundColor: D.colors.gray[b.backgroundColor], - nodeLabel: function (e) { - return e.title - }, - nodeColor: function (e) { - return (function (e) { - var n = L[e.id] || $[e.id] - return b.emacsNodeColor && e.id === p - ? Y(b.emacsNodeColor) - : n && b.nodeHighlight - ? G[ne(e.id)][b.nodeHighlight](M) - : Y(ne(e.id)) - })(e) - }, - nodeRelSize: b.nodeRel, - nodeVal: function (e) { - var n, - r = null !== (n = u[e.id]) && void 0 !== n ? n : [], - t = r.length - ? r.filter(function (e) { - return 'parent' === e.type || 'cite' === e.type - }).length - : 0 - return ( - (3 + r.length - (h.parents ? 0 : t)) * - (L[e.id] || $[e.id] ? 1 + M * (b.highlightNodeSize - 1) : 1) - ) - }, - nodeCanvasObject: function (e, n, r) { - if (e && b.labels) { - var t = $[e.id] - if (!(r <= b.labelScale || 1 === b.labels) || L[e.id] || t) { - var i = e.title, - o = i.substring(0, Math.min(i.length, 40)), - l = 12 / r, - c = [1.1 * n.measureText(o).width, l].map(function (e) { - return e + 0.5 * l - }), - a = Math.min((3 * (r - b.labelScale)) / b.labelScale, 1), - d = function () { - return 1 === b.labels || r <= b.labelScale - ? M - : L[e.id] || $[e.id] - ? Math.max(a, M) - : 1 * a * (-1 * (0.5 * M - 1)) - } - if (b.labelBackgroundColor && b.labelBackgroundOpacity) { - var u = d() * b.labelBackgroundOpacity, - h = te(oe, u) - ;(n.fillStyle = h), - n.fillRect.apply(n, [e.x - c[0] / 2, e.y - c[1] / 2].concat((0, s.Z)(c))) - } - var g = d() - ;(n.textAlign = 'center'), (n.textBaseline = 'middle') - var x = te(ie, g) - ;(n.fillStyle = x), - (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 Y(b.arrowsColor) - } - : void 0, - linkColor: function (e) { - var n = 'object' === typeof e.source ? e.source.id : e.source, - r = 'object' === typeof e.target ? e.target.id : e.target, - t = pe(e, E.current), - i = pe(e, J.current) - return (function (e, n, r) { - if (!b.linkHighlight && !b.linkColorScheme && !r) { - var t = re(e, n) - return Y(t) - } - if (!r && !b.linkColorScheme) { - var i = re(e, n) - return Y(i) - } - if (!r) return Y(b.linkColorScheme) - if (!b.linkHighlight && !b.linkColorScheme) { - var o = re(e, n) - return Y(o) - } - return b.linkHighlight - ? b.linkColorScheme - ? G[b.linkColorScheme][b.linkHighlight](M) - : G[re(e, n)][b.linkHighlight](M) - : Y(b.linkColorScheme) - })(n, r, t || i) - }, - linkWidth: function (e) { - var n = pe(e, E.current), - r = pe(e, J.current) - return n || r ? b.linkWidth * (1 + M * (b.highlightLinkSize - 1)) : b.linkWidth - }, - linkDirectionalParticleWidth: b.particlesWidth, - d3AlphaDecay: r.alphaDecay, - d3AlphaMin: r.alphaMin, - d3VelocityDecay: r.velocityDecay, - onNodeClick: function (e, n) { - var r = n.timeStamp - F.current < 400 - return (F.current = n.timeStamp), H(r ? 'double' : 'click', e) - }, - onBackgroundClick: function () { - T(null), - 0 !== v.nodeIds.length && - y(function (e) { - return de(de({}, e), {}, { nodeIds: [] }) - }) - }, - onNodeHover: function (e) { - b.highlight && (R || (K(), W(0)), T(e)) - }, - onNodeRightClick: function (e) { - H('right', e) - }, - } - return (0, l.jsx)('div', { - children: c - ? (0, l.jsx)( - ge, - de( - de({ ref: n }, le), - {}, - { - nodeThreeObjectExtend: !0, - backgroundColor: D.colors.white, - nodeOpacity: b.nodeOpacity, - nodeResolution: b.nodeResolution, - linkOpacity: b.linkOpacity, - nodeThreeObject: function (e) { - if (b.labels && (!(b.labels < 3) || L[e.id])) { - var n = new se.Z(e.title.substring(0, 40)) - return ( - (n.color = Y(b.labelTextColor)), - (n.backgroundColor = Y(b.labelBackgroundColor)), - (n.padding = 2), - (n.textHeight = 8), - n - ) - } - }, - }, - ), - ) - : (0, l.jsx)(he, de({ ref: n }, le)), - }) - }) - function pe(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) - ) - } - }, - 5301: function (e, n, r) { - ;(window.__NEXT_P = window.__NEXT_P || []).push([ - '/', - function () { - return r(374) - }, - ]) - }, - }, - function (e) { - e.O(0, [774, 737, 446, 906, 888, 179], function () { - return (n = 5301), e((e.s = n)) - var n - }) - var n = e.O() - _N_E = n - }, -]) diff --git a/out/_next/static/chunks/pages/index-80878514168ec7a93598.js b/out/_next/static/chunks/pages/index-80878514168ec7a93598.js new file mode 100644 index 0000000..2351181 --- /dev/null +++ b/out/_next/static/chunks/pages/index-80878514168ec7a93598.js @@ -0,0 +1,2948 @@ +;(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([ + [405], + { + 374: function (e, n, r) { + 'use strict' + r.r(n), + r.d(n, { + Graph: function () { + return je + }, + GraphPage: function () { + return fe + }, + default: function () { + return xe + }, + }) + var t = r(7757), + i = r.n(t), + o = r(2137), + l = r(5893), + s = r(7329), + c = r(6156), + a = r(4699), + d = r(7294) + function u(e, n) { + var r, + t = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, + i = h(e, null !== (r = t.storage) && void 0 !== r ? r : localStorage), + o = i.get(), + l = void 0 !== o ? o : n + l !== o && i.update(l) + var s = (0, d.useState)(l), + c = s[0], + a = s[1] + ;(0, d.useEffect)( + function () { + c !== l && a(l) + }, + [e], + ) + var u = function (e) { + e instanceof Function + ? a(function (n) { + var r = e(n) + return i.update(r), r + }) + : (a(e), i.update(e)) + } + return [c, u] + } + function h(e, n) { + return { + get: function () { + var r = n.getItem(e) + if (r && 'undefined' !== r) return JSON.parse(r) + }, + update: function (r) { + n.setItem(e, JSON.stringify(r)) + }, + remove: function () { + n.removeItem(e) + }, + } + } + var g = r(4533), + x = r(4309), + f = r(2351), + j = r(980), + p = r(8017), + m = r(6194), + b = [], + C = {} + for (var v in m.oY) + for (var y in m.oY[v]) { + var k = v + y + 'LinearNone' === k && (k = 'Linear'), b.push(k), (C[k] = m.oY[v][y]) + } + var w = C, + 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: [] }, + N = { + 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: b, + 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, + }, + O = { follow: 'zoom', localSame: 'add', zoomPadding: 200, zoomSpeed: 2e3 }, + z = { highlight: 'hover', local: 'click', follow: 'double' }, + R = r(7375), + T = r(3924), + D = r(3986), + P = r(9641), + H = r(7546), + E = r(3441), + L = r(6569), + Z = r(4189), + B = r(454), + F = r(8420), + A = r(6699), + M = r(155), + W = r(6769), + X = r(336), + _ = r(2026), + q = r(4096), + U = r(4115), + Q = r(8134), + V = r(8235), + K = r(7273), + J = r(5267), + Y = r(6049), + G = r(3014), + $ = r(6658), + ee = r(9356) + function ne(e, n) { + var r = Object.keys(e) + if (Object.getOwnPropertySymbols) { + var t = Object.getOwnPropertySymbols(e) + n && + (t = t.filter(function (n) { + return Object.getOwnPropertyDescriptor(e, n).enumerable + })), + r.push.apply(r, t) + } + return r + } + function re(e) { + for (var n = 1; n < arguments.length; n++) { + var r = null != arguments[n] ? arguments[n] : {} + n % 2 + ? ne(Object(r), !0).forEach(function (n) { + ;(0, c.Z)(e, n, r[n]) + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) + : ne(Object(r)).forEach(function (n) { + Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)) + }) + } + return e + } + var te = function (e) { + var n = e.physics, + r = e.setPhysics, + t = e.threeDim, + i = e.setThreeDim, + o = e.filter, + c = e.setFilter, + u = e.visuals, + h = e.setVisuals, + g = e.mouse, + x = e.setMouse, + f = e.behavior, + j = e.setBehavior, + m = (0, d.useState)(!0), + b = m[0], + C = m[1], + v = (0, d.useContext)(ee.N), + y = v.highlightColor, + k = v.setHighlightColor, + w = [ + 'red.500', + 'orange.500', + 'yellow.500', + 'green.500', + 'cyan.500', + 'blue.500', + 'pink.500', + 'purple.500', + 'gray.400', + 'gray.500', + 'gray.600', + 'white', + 'black', + ], + Z = [ + 'black', + 'gray.100', + 'gray.200', + 'gray.300', + 'gray.400', + 'gray.500', + 'gray.600', + 'gray.700', + 'gray.800', + 'gray.900', + 'white', + ] + return (0, l.jsxs)(l.Fragment, { + children: [ + (0, l.jsx)(B.R, { + in: !b, + children: (0, l.jsx)(p.xu, { + position: 'absolute', + zIndex: 'overlay', + marginTop: 10, + marginLeft: 10, + display: b ? 'none' : 'block', + children: (0, l.jsx)(F.h, { + 'aria-label': 'Settings', + icon: (0, l.jsx)(T.e, {}), + onClick: function () { + return C(!0) + }, + }), + }), + }), + (0, l.jsx)(B.R, { + in: b, + children: (0, l.jsxs)(p.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)(p.xu, { + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', + paddingRight: 2, + paddingTop: 1, + children: [ + (0, l.jsx)(A.u, { + label: '2D', + children: (0, l.jsx)(M.z, { + onClick: function () { + return i(!t) + }, + variant: 'ghost', + zIndex: 'overlay', + children: t ? '3D' : '2D', + }), + }), + (0, l.jsxs)(p.xu, { + display: 'flex', + alignItems: 'center', + children: [ + (0, l.jsx)(A.u, { + label: 'Reset settings to defaults', + children: (0, l.jsx)(F.h, { + 'aria-label': 'Reset Defaults', + icon: (0, l.jsx)(D.A, {}), + onClick: function () { + h(N), c(I), x(z), r(S), j(O) + }, + variant: 'none', + size: 'sm', + }), + }), + (0, l.jsx)(F.h, { + size: 'sm', + icon: (0, l.jsx)(P.T, {}), + 'aria-label': 'Close Tweak Panel', + variant: 'ghost', + onClick: function () { + return C(!1) + }, + }), + ], + }), + ], + }), + (0, l.jsx)($.ZP, { + autoHeight: !0, + autoHeightMax: 600, + autoHide: !0, + renderThumbVertical: function (e) { + var n = e.style, + r = (0, R.Z)(e, ['style']) + return (0, l.jsx)( + p.xu, + re( + re({}, r), + {}, + { style: re(re({}, n), {}, { borderRadius: 10 }), bg: y }, + ), + ) + }, + 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.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)(q.k, { + justifyContent: 'space-between', + children: [ + (0, l.jsx)(U.x, { children: 'Orphans' }), + (0, l.jsx)(Q.r, { + onChange: function () { + c(re(re({}, o), {}, { orphans: !o.orphans })) + }, + isChecked: o.orphans, + }), + ], + }), + (0, l.jsxs)(q.k, { + justifyContent: 'space-between', + children: [ + (0, l.jsx)(U.x, { + children: 'Link nodes with parent file', + }), + (0, l.jsx)(Q.r, { + onChange: function () { + c(re(re({}, o), {}, { parents: !o.parents })) + }, + isChecked: o.parents, + }), + ], + }), + ], + }), + }), + ], + }), + (0, l.jsxs)(W.Qd, { + children: [ + (0, l.jsx)(W.KF, { + display: 'flex', + justifyContent: 'space-between', + children: (0, l.jsxs)(p.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)(le, { + label: 'Gravity', + value: n.gravityOn, + onChange: function () { + return r(re(re({}, n), {}, { gravityOn: !n.gravityOn })) + }, + children: (0, l.jsx)(oe, { + label: 'Strength', + value: 10 * n.gravity, + onChange: function (e) { + return r(re(re({}, n), {}, { gravity: e / 10 })) + }, + }), + }), + (0, l.jsx)(oe, { + value: -n.charge / 100, + onChange: function (e) { + return r(re(re({}, n), {}, { charge: -100 * e })) + }, + label: 'Repulsive Force', + }), + (0, l.jsx)(le, { + label: 'Collision', + infoText: 'Perfomance sap, disable if slow', + value: n.collision, + onChange: function () { + return r(re(re({}, n), {}, { collision: !n.collision })) + }, + children: (0, l.jsx)(oe, { + value: n.collisionStrength / 5, + onChange: function (e) { + return r( + re(re({}, n), {}, { collisionStrength: 5 * e }), + ) + }, + label: 'Collision Radius', + infoText: + 'Easy with this one, high values can lead to a real jiggly mess', + }), + }), + (0, l.jsx)(oe, { + value: 5 * n.linkStrength, + onChange: function (e) { + return r(re(re({}, n), {}, { linkStrength: e / 5 })) + }, + label: 'Link Force', + }), + (0, l.jsx)(oe, { + label: 'Link Iterations', + value: n.linkIts, + onChange: function (e) { + return r(re(re({}, 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)(oe, { + label: 'Viscosity', + value: 10 * n.velocityDecay, + onChange: function (e) { + return r(re(re({}, n), {}, { velocityDecay: e / 10 })) + }, + }), + ], + }), + (0, l.jsx)(p.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)(U.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)(oe, { + label: 'Stabilization rate', + value: 50 * n.alphaDecay, + onChange: function (e) { + return r( + re(re({}, n), {}, { alphaDecay: e / 50 }), + ) + }, + }), + (0, l.jsx)(le, { + label: 'Center nodes', + value: n.centering, + onChange: function () { + return r( + re( + re({}, 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)(oe, { + label: 'Centering Strength', + value: n.centeringStrength, + max: 2, + step: 0.01, + onChange: function (e) { + return r( + re(re({}, 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)(q.k, { + justifyContent: 'space-between', + w: '100%', + children: [ + (0, l.jsx)(U.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)(p.xu, { + children: [ + (0, l.jsxs)(q.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsx)(U.x, { children: 'Nodes' }), + (0, l.jsx)(A.u, { + label: 'Shuffle node colors', + children: (0, l.jsx)(F.h, { + 'aria-label': 'Shuffle node colors', + size: 'sm', + icon: (0, l.jsx)(H.n, {}), + variant: 'ghost', + onClick: function () { + var e, + n = + null !== (e = u.nodeColorScheme) && + void 0 !== e + ? e + : [] + h( + re( + re({}, u), + {}, + { + nodeColorScheme: n + .map(function (e) { + return [Math.random(), e] + }) + .sort(function (e, n) { + return ( + (0, a.Z)(e, 1)[0] - + (0, a.Z)(n, 1)[0] + ) + }) + .map(function (e) { + var n = (0, a.Z)(e, 2) + n[0] + return n[1] + }), + }, + ), + ) + }, + }), + }), + (0, l.jsx)(A.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 = u.nodeColorScheme) && + void 0 !== e + ? e + : [] + h( + re( + re({}, u), + {}, + { + nodeColorScheme: [].concat( + (0, s.Z)(n.slice(1, n.length)), + [n[0]], + ), + }, + ), + ) + }, + }), + }), + (0, l.jsxs)(V.v2, { + placement: 'right', + closeOnSelect: !1, + matchWidth: !0, + children: [ + (0, l.jsx)(V.j2, { + width: 20, + as: M.z, + colorScheme: '', + color: 'black', + rightIcon: (0, l.jsx)(L.v, {}), + children: (0, l.jsx)(q.k, { + height: 6, + width: 6, + flexDirection: 'column', + flexWrap: 'wrap', + children: u.nodeColorScheme.map( + function (e) { + return (0, l.jsx)( + p.xu, + { + bgColor: e, + flex: '1 1 8px', + borderRadius: '2xl', + }, + e, + ) + }, + ), + }), + }), + (0, l.jsxs)(K.h, { + children: [ + ' ', + (0, l.jsx)(V.qy, { + minW: 10, + zIndex: 'popover', + bgColor: 'gray.200', + children: (0, l.jsx)(V.__, { + width: 500, + type: 'checkbox', + defaultValue: u.nodeColorScheme, + onChange: function (e) { + e.length && + h( + re( + re({}, u), + {}, + { nodeColorScheme: e }, + ), + ) + }, + children: w.map(function (e) { + return (0, l.jsx)( + V.ii, + { + isChecked: + u.nodeColorScheme.some( + function (n) { + return n === e + }, + ), + value: e, + isDisabled: + 1 === + u.nodeColorScheme + .length && + u.nodeColorScheme[0] === + e, + children: (0, l.jsx)(p.xu, { + justifyContent: + 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)( + p.xu, + { + bgColor: e, + borderRadius: 'sm', + height: 6, + width: 6, + }, + ), + }), + }, + e, + ) + }), + }), + }), + ], + }), + ], + }), + ], + }), + (0, l.jsxs)(q.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsx)(U.x, { children: 'Links' }), + (0, l.jsxs)(V.v2, { + placement: 'right', + children: [ + (0, l.jsx)(V.j2, { + as: M.z, + colorScheme: '', + color: 'black', + rightIcon: (0, l.jsx)(L.v, {}), + children: (0, l.jsx)(p.xu, { + children: u.linkColorScheme + ? (0, l.jsx)(p.xu, { + bgColor: u.linkColorScheme, + borderRadius: 'sm', + height: 6, + width: 6, + }) + : (0, l.jsx)(q.k, { + height: 6, + width: 6, + flexDirection: 'column', + flexWrap: 'wrap', + children: u.nodeColorScheme.map( + function (e) { + return (0, l.jsx)( + p.xu, + { + bgColor: e, + flex: '1 1 8px', + borderRadius: '2xl', + }, + e, + ) + }, + ), + }), + }), + }), + (0, l.jsxs)(K.h, { + children: [ + ' ', + (0, l.jsxs)(V.qy, { + minW: 10, + zIndex: 'popover', + bgColor: 'gray.200', + children: [ + (0, l.jsx)(V.sN, { + onClick: function () { + return h( + re( + re({}, u), + {}, + { linkColorScheme: '' }, + ), + ) + }, + justifyContent: 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)(q.k, { + height: 6, + width: 6, + flexDirection: 'column', + flexWrap: 'wrap', + children: + u.nodeColorScheme.map( + function (e) { + return (0, l.jsx)( + p.xu, + { + bgColor: e, + flex: '1 1 8px', + borderRadius: '2xl', + }, + e, + ) + }, + ), + }), + }), + Z.map(function (e) { + return (0, l.jsx)( + V.sN, + { + onClick: function () { + return h( + re( + re({}, u), + {}, + { + linkColorScheme: e, + }, + ), + ) + }, + justifyContent: + 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)(p.xu, { + bgColor: e, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }, + e, + ) + }), + ], + }), + ], + }), + ], + }), + ], + }), + (0, l.jsxs)(q.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsx)(U.x, { children: 'Accent' }), + (0, l.jsxs)(V.v2, { + placement: 'right', + children: [ + (0, l.jsx)(V.j2, { + as: M.z, + colorScheme: '', + color: 'black', + rightIcon: (0, l.jsx)(L.v, {}), + children: (0, l.jsx)(p.xu, { + bgColor: y, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }), + (0, l.jsxs)(K.h, { + children: [ + ' ', + (0, l.jsx)(V.qy, { + minW: 10, + zIndex: 'popover', + bgColor: 'gray.200', + children: w.map(function (e) { + return (0, l.jsx)( + V.sN, + { + onClick: function () { + return k(e) + }, + justifyContent: + 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)(p.xu, { + bgColor: e, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }, + e, + ) + }), + }), + ], + }), + ], + }), + ], + }), + (0, l.jsxs)(q.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsx)(U.x, { + children: 'Link Highlight', + }), + (0, l.jsxs)(V.v2, { + placement: 'right', + children: [ + (0, l.jsx)(V.j2, { + as: M.z, + colorScheme: '', + color: 'black', + rightIcon: (0, l.jsx)(L.v, {}), + children: (0, l.jsx)(p.xu, { + bgColor: u.linkHighlight, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }), + (0, l.jsxs)(K.h, { + children: [ + ' ', + (0, l.jsxs)(V.qy, { + minW: 10, + zIndex: 'popover', + bgColor: 'gray.200', + children: [ + (0, l.jsx)( + V.sN, + { + onClick: function () { + return h( + re( + re({}, u), + {}, + { linkHighlight: '' }, + ), + ) + }, + justifyContent: + 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)(p.xu, { + borderRadius: 'sm', + height: 6, + width: 6, + }), + }, + 'none', + ), + w.map(function (e) { + return (0, l.jsx)( + V.sN, + { + onClick: function () { + return h( + re( + re({}, u), + {}, + { linkHighlight: e }, + ), + ) + }, + justifyContent: + 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)(p.xu, { + bgColor: e, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }, + e, + ) + }), + ], + }), + ], + }), + ], + }), + ], + }), + (0, l.jsxs)(q.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsx)(U.x, { + children: 'Node Highlight', + }), + (0, l.jsxs)(V.v2, { + placement: 'right', + children: [ + (0, l.jsx)(V.j2, { + as: M.z, + colorScheme: '', + color: 'black', + rightIcon: (0, l.jsx)(L.v, {}), + children: (0, l.jsx)(p.xu, { + bgColor: u.nodeHighlight, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }), + (0, l.jsxs)(K.h, { + children: [ + ' ', + (0, l.jsxs)(V.qy, { + minW: 10, + zIndex: 'popover', + bgColor: 'gray.200', + children: [ + (0, l.jsx)( + V.sN, + { + onClick: function () { + return h( + re( + re({}, u), + {}, + { nodeHighlight: '' }, + ), + ) + }, + justifyContent: + 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)(p.xu, { + borderRadius: 'sm', + height: 6, + width: 6, + }), + }, + 'none', + ), + w.map(function (e) { + return (0, l.jsx)( + V.sN, + { + onClick: function () { + return h( + re( + re({}, u), + {}, + { nodeHighlight: e }, + ), + ) + }, + justifyContent: + 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)(p.xu, { + bgColor: e, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }, + e, + ) + }), + ], + }), + ], + }), + ], + }), + ], + }), + (0, l.jsxs)(q.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsx)(U.x, { children: 'Background' }), + (0, l.jsxs)(V.v2, { + placement: 'right', + children: [ + (0, l.jsx)(V.j2, { + as: M.z, + colorScheme: '', + color: 'black', + rightIcon: (0, l.jsx)(L.v, {}), + children: (0, l.jsx)(p.xu, { + bgColor: u.backgroundColor, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }), + (0, l.jsxs)(K.h, { + children: [ + ' ', + (0, l.jsx)(V.qy, { + minWidth: 10, + zIndex: 'popover', + bgColor: 'gray.200', + children: Z.map(function (e) { + return (0, l.jsx)( + V.sN, + { + onClick: function () { + return h( + re( + re({}, u), + {}, + { backgroundColor: e }, + ), + ) + }, + justifyContent: + 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)(p.xu, { + bgColor: e, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }, + e, + ) + }), + }), + ], + }), + ], + }), + ], + }), + (0, l.jsxs)(q.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsx)(U.x, { children: 'Emacs Node' }), + (0, l.jsxs)(V.v2, { + placement: 'right', + children: [ + (0, l.jsx)(V.j2, { + as: M.z, + colorScheme: '', + color: 'black', + rightIcon: (0, l.jsx)(L.v, {}), + children: (0, l.jsx)(p.xu, { + bgColor: u.emacsNodeColor, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }), + (0, l.jsxs)(K.h, { + children: [ + ' ', + (0, l.jsxs)(V.qy, { + minWidth: 10, + zIndex: 'popover', + bgColor: 'gray.200', + children: [ + (0, l.jsx)( + V.sN, + { + onClick: function () { + return h( + re( + re({}, u), + {}, + { emacsNodeColor: '' }, + ), + ) + }, + justifyContent: + 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)(p.xu, { + borderRadius: 'sm', + height: 6, + width: 6, + }), + }, + 'none', + ), + w.map(function (e) { + return (0, l.jsx)( + V.sN, + { + onClick: function () { + return h( + re( + re({}, u), + {}, + { emacsNodeColor: e }, + ), + ) + }, + justifyContent: + 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)(p.xu, { + bgColor: e, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }, + e, + ) + }), + ], + }), + ], + }), + ], + }), + ], + }), + ], + }), + }), + }), + ], + }), + }), + (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)(oe, { + label: 'Node size', + value: u.nodeRel, + onChange: function (e) { + return h(re(re({}, u), {}, { nodeRel: e })) + }, + }), + t && + (0, l.jsxs)(l.Fragment, { + children: [ + (0, l.jsx)(oe, { + label: 'Node opacity', + value: u.nodeOpacity, + min: 0, + max: 1, + onChange: function (e) { + return h(re(re({}, u), {}, { nodeOpacity: e })) + }, + }), + (0, l.jsx)(oe, { + label: 'Node resolution', + value: u.nodeResolution, + min: 5, + max: 32, + step: 1, + onChange: function (e) { + return h(re(re({}, u), {}, { nodeResolution: e })) + }, + }), + ], + }), + (0, l.jsx)(oe, { + label: 'Link width', + value: u.linkWidth, + onChange: function (e) { + return h(re(re({}, u), {}, { linkWidth: e })) + }, + }), + t && + (0, l.jsx)(oe, { + label: 'Link opacity', + min: 0, + max: 1, + value: u.linkOpacity, + onChange: function (e) { + return h(re(re({}, u), {}, { linkOpacity: e })) + }, + }), + (0, l.jsxs)(p.xu, { + children: [ + (0, l.jsxs)(q.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsx)(U.x, { children: 'Labels' }), + (0, l.jsxs)(V.v2, { + placement: 'right', + children: [ + (0, l.jsx)(V.j2, { + as: M.z, + colorScheme: '', + color: 'black', + rightIcon: (0, l.jsx)(L.v, {}), + children: u.labels + ? u.labels < 2 + ? 'On Highlight' + : 'Always' + : 'Never', + }), + (0, l.jsxs)(K.h, { + children: [ + ' ', + (0, l.jsxs)(V.qy, { + zIndex: 'popover', + bgColor: 'gray.200', + children: [ + (0, l.jsx)(V.sN, { + onClick: function () { + return h( + re(re({}, u), {}, { labels: 0 }), + ) + }, + children: 'Never', + }), + (0, l.jsx)(V.sN, { + onClick: function () { + return h( + re(re({}, u), {}, { labels: 1 }), + ) + }, + children: 'On Highlight', + }), + (0, l.jsx)(V.sN, { + onClick: function () { + return h( + re(re({}, u), {}, { labels: 2 }), + ) + }, + children: 'Always', + }), + (0, l.jsx)(V.sN, { + onClick: function () { + return h( + re(re({}, u), {}, { labels: 3 }), + ) + }, + children: 'Always (even in 3D)', + }), + ], + }), + ], + }), + ], + }), + ], + }), + (0, l.jsx)(J.U, { + in: u.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.jsxs)(q.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsx)(U.x, { children: 'Text' }), + (0, l.jsxs)(V.v2, { + matchWidth: !0, + children: [ + (0, l.jsx)(V.j2, { + as: M.z, + rightIcon: (0, l.jsx)(L.v, {}), + color: 'black', + colorScheme: '', + children: (0, l.jsx)(p.xu, { + bgColor: u.labelTextColor, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }), + (0, l.jsxs)(K.h, { + children: [ + ' ', + (0, l.jsx)(V.qy, { + minW: 10, + zIndex: 'popover', + bg: 'gray.200', + children: Z.map(function (e) { + return (0, l.jsx)( + V.sN, + { + onClick: function () { + return h( + re( + re({}, u), + {}, + { labelTextColor: e }, + ), + ) + }, + children: (0, l.jsx)(p.xu, { + bgColor: e, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }, + e, + ) + }), + }), + ], + }), + ], + }), + ], + }), + (0, l.jsxs)(q.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsx)(U.x, { children: 'Background' }), + (0, l.jsxs)(V.v2, { + placement: 'right', + children: [ + (0, l.jsx)(V.j2, { + as: M.z, + rightIcon: (0, l.jsx)(L.v, {}), + color: 'black', + colorScheme: '', + children: (0, l.jsx)(p.xu, { + bgColor: u.labelBackgroundColor, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }), + (0, l.jsxs)(K.h, { + children: [ + ' ', + (0, l.jsxs)(V.qy, { + minW: 10, + zIndex: 'popover', + bg: 'gray.200', + children: [ + (0, l.jsx)(V.sN, { + onClick: function () { + return h( + re( + re({}, u), + {}, + { + labelBackgroundColor: + '', + }, + ), + ) + }, + justifyContent: 'space-between', + alignItems: 'center', + display: 'flex', + children: 'None', + }), + Z.map(function (e) { + return (0, l.jsx)( + V.sN, + { + onClick: function () { + return h( + re( + re({}, u), + {}, + { + labelBackgroundColor: + e, + }, + ), + ) + }, + justifyContent: + 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)(p.xu, { + bgColor: e, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }, + e, + ) + }), + ], + }), + ], + }), + ], + }), + ], + }), + (0, l.jsx)(J.U, { + in: !!u.labelBackgroundColor, + animateOpacity: !0, + children: (0, l.jsx)(p.xu, { + paddingTop: 2, + children: (0, l.jsx)(oe, { + label: 'Background opacity', + value: u.labelBackgroundOpacity, + onChange: function (e) { + console.log(u.labelBackgroundOpacity), + h( + re( + re({}, u), + {}, + { labelBackgroundOpacity: e }, + ), + ) + }, + min: 0, + max: 1, + step: 0.01, + }), + }), + }), + (0, l.jsx)(J.U, { + in: u.labels > 1, + animateOpacity: !0, + children: (0, l.jsx)(p.xu, { + paddingTop: 2, + children: (0, l.jsx)(oe, { + label: 'Label Appearance Scale', + value: 5 * u.labelScale, + onChange: function (e) { + return h( + re( + re({}, u), + {}, + { labelScale: e / 5 }, + ), + ) + }, + }), + }), + }), + ], + }), + }), + ], + }), + (0, l.jsxs)(le, { + label: 'Link arrows', + value: u.arrows, + onChange: function () { + return h(re(re({}, u), {}, { arrows: !u.arrows })) + }, + children: [ + (0, l.jsx)(oe, { + label: 'Arrow size', + value: u.arrowsLength / 10, + onChange: function (e) { + return h( + re(re({}, u), {}, { arrowsLength: 10 * e }), + ) + }, + }), + (0, l.jsx)(oe, { + label: 'Arrow Position', + value: u.arrowsPos, + min: 0, + max: 1, + step: 0.01, + onChange: function (e) { + return h(re(re({}, u), {}, { arrowsPos: e })) + }, + }), + (0, l.jsxs)(q.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsx)(U.x, { children: 'Arrow Color' }), + (0, l.jsxs)(V.v2, { + placement: 'right', + children: [ + (0, l.jsx)(V.j2, { + as: M.z, + colorScheme: '', + color: 'black', + rightIcon: (0, l.jsx)(L.v, {}), + children: (0, l.jsx)(p.xu, { + bgColor: u.arrowsColor, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }), + (0, l.jsxs)(K.h, { + children: [ + ' ', + (0, l.jsxs)(V.qy, { + minW: 10, + zIndex: 'popover', + bgColor: 'gray.200', + children: [ + (0, l.jsx)(V.sN, { + onClick: function () { + return h( + re( + re({}, u), + {}, + { arrowsColor: '' }, + ), + ) + }, + justifyContent: 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)(p.xu, { + height: 6, + width: 6, + }), + }), + w.map(function (e) { + return (0, l.jsx)( + V.sN, + { + onClick: function () { + return h( + re( + re({}, u), + {}, + { arrowsColor: e }, + ), + ) + }, + justifyContent: 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)(p.xu, { + bgColor: e, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }, + e, + ) + }), + Z.map(function (e) { + return (0, l.jsx)( + V.sN, + { + onClick: function () { + return h( + re( + re({}, u), + {}, + { arrowsColor: e }, + ), + ) + }, + justifyContent: 'space-between', + alignItems: 'center', + display: 'flex', + children: (0, l.jsx)(p.xu, { + bgColor: e, + borderRadius: 'sm', + height: 6, + width: 6, + }), + }, + e, + ) + }), + ], + }), + ], + }), + ], + }), + ], + }), + ], + }), + (0, l.jsxs)(le, { + label: 'Directional Particles', + value: u.particles, + onChange: function () { + return h(re(re({}, u), {}, { particles: !u.particles })) + }, + children: [ + (0, l.jsx)(oe, { + label: 'Particle Number', + value: u.particlesNumber, + max: 5, + step: 1, + onChange: function (e) { + return h(re(re({}, u), {}, { particlesNumber: e })) + }, + }), + (0, l.jsx)(oe, { + label: 'Particle Size', + value: u.particlesWidth, + onChange: function (e) { + return h(re(re({}, u), {}, { particlesWidth: e })) + }, + }), + ], + }), + (0, l.jsx)(le, { + label: 'Highlight', + onChange: function () { + return h(re(re({}, u), {}, { highlight: !u.highlight })) + }, + value: u.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)(oe, { + label: 'Highlight Link Thickness', + value: u.highlightLinkSize, + onChange: function (e) { + return h( + re(re({}, u), {}, { highlightLinkSize: e }), + ) + }, + }), + (0, l.jsx)(oe, { + label: 'Highlight Node Size', + value: u.highlightNodeSize, + onChange: function (e) { + return h( + re(re({}, u), {}, { highlightNodeSize: e }), + ) + }, + }), + (0, l.jsxs)(le, { + label: 'Highlight Animation', + onChange: function () { + h( + re( + re({}, u), + {}, + { highlightAnim: !u.highlightAnim }, + ), + ) + }, + value: u.highlightAnim, + children: [ + (0, l.jsx)(oe, { + label: 'Animation speed', + onChange: function (e) { + return h( + re(re({}, u), {}, { animationSpeed: e }), + ) + }, + value: u.animationSpeed, + infoText: + 'Slower speed has a chance of being buggy', + min: 50, + max: 1e3, + step: 10, + }), + (0, l.jsx)(Y.Ph, { + placeholder: u.algorithmName, + onChange: function (e) { + h( + re( + re({}, u), + {}, + { algorithmName: e.target.value }, + ), + ) + }, + children: u.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)(q.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsxs)(q.k, { + children: [ + (0, l.jsx)(U.x, { children: 'Expand Node' }), + (0, l.jsx)(ie, { + infoText: + 'View only the node and its direct neighbors', + }), + ], + }), + (0, l.jsxs)(V.v2, { + placement: 'right', + children: [ + (0, l.jsx)(V.j2, { + as: M.z, + rightIcon: (0, l.jsx)(L.v, {}), + colorScheme: '', + color: 'black', + children: (0, l.jsx)(U.x, { + children: + g.local[0].toUpperCase() + g.local.slice(1), + }), + }), + (0, l.jsxs)(K.h, { + children: [ + ' ', + (0, l.jsxs)(V.qy, { + zIndex: 'popover', + bgColor: 'gray.200', + children: [ + (0, l.jsx)(V.sN, { + onClick: function () { + return x(re(re({}, g), {}, { local: '' })) + }, + children: 'Never', + }), + (0, l.jsx)(V.sN, { + onClick: function () { + return x( + re(re({}, g), {}, { local: 'click' }), + ) + }, + children: 'Click', + }), + (0, l.jsx)(V.sN, { + onClick: function () { + return x( + re(re({}, g), {}, { local: 'double' }), + ) + }, + children: 'Double Click', + }), + (0, l.jsx)(V.sN, { + onClick: function () { + return x( + re(re({}, g), {}, { local: 'right' }), + ) + }, + children: 'Right Click', + }), + ], + }), + ], + }), + ], + }), + ], + }), + (0, l.jsxs)(q.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsx)(U.x, { children: 'Open in Emacs' }), + (0, l.jsxs)(V.v2, { + placement: 'right', + children: [ + (0, l.jsx)(V.j2, { + as: M.z, + rightIcon: (0, l.jsx)(L.v, {}), + colorScheme: '', + color: 'black', + children: (0, l.jsx)(U.x, { + children: + g.follow[0].toUpperCase() + g.follow.slice(1), + }), + }), + (0, l.jsxs)(K.h, { + children: [ + ' ', + (0, l.jsxs)(V.qy, { + bgColor: 'gray.200', + zIndex: 'popover', + children: [ + (0, l.jsx)(V.sN, { + onClick: function () { + return x(re(re({}, g), {}, { follow: '' })) + }, + children: 'Never', + }), + (0, l.jsx)(V.sN, { + onClick: function () { + return x( + re(re({}, g), {}, { follow: 'click' }), + ) + }, + children: 'Click', + }), + (0, l.jsx)(V.sN, { + onClick: function () { + return x( + re(re({}, g), {}, { follow: 'double' }), + ) + }, + children: 'Double Click', + }), + (0, l.jsx)(V.sN, { + onClick: function () { + return x( + re(re({}, g), {}, { follow: 'right' }), + ) + }, + children: 'Right Click', + }), + ], + }), + ], + }), + ], + }), + ], + }), + (0, l.jsxs)(q.k, { + alignItems: 'center', + justifyContent: 'space-between', + children: [ + (0, l.jsx)(U.x, { children: 'Follow Emacs by...' }), + (0, l.jsxs)(V.v2, { + placement: 'right', + children: [ + (0, l.jsx)(V.j2, { + as: M.z, + rightIcon: (0, l.jsx)(L.v, {}), + colorScheme: '', + color: 'black', + children: (0, l.jsx)(U.x, { + children: + f.follow[0].toUpperCase() + f.follow.slice(1), + }), + }), + (0, l.jsxs)(K.h, { + children: [ + ' ', + (0, l.jsxs)(V.qy, { + bgColor: 'gray.200', + zIndex: 'popover', + children: [ + (0, l.jsx)(V.sN, { + onClick: function () { + return j( + re(re({}, f), {}, { follow: 'local' }), + ) + }, + children: 'Opening the local graph', + }), + (0, l.jsx)(V.sN, { + onClick: function () { + return j( + re(re({}, f), {}, { follow: 'zoom' }), + ) + }, + children: 'Zooming to the current node', + }), + ], + }), + ], + }), + ], + }), + ], + }), + (0, l.jsx)(oe, { + label: 'Zoom speed', + value: f.zoomSpeed, + min: 0, + max: 4e3, + step: 100, + onChange: function (e) { + return j(re(re({}, f), {}, { zoomSpeed: e })) + }, + }), + (0, l.jsx)(oe, { + label: 'Zoom padding', + value: f.zoomPadding, + min: 0, + max: 400, + step: 1, + onChange: function (e) { + return j(re(re({}, f), {}, { zoomPadding: e })) + }, + infoText: + 'How much to zoom out to accomodate all nodes when changing the view.', + }), + ], + }), + }), + ], + }), + ], + }), + }), + ], + }), + }), + ], + }) + }, + ie = function (e) { + var n = e.infoText + return (0, l.jsx)(p.xu, { + paddingLeft: '1', + children: (0, l.jsx)(A.u, { + label: n, + placement: 'top', + color: 'gray.100', + bg: 'gray.800', + hasArrow: !0, + children: (0, l.jsx)(Z.h, {}), + }), + }) + }, + oe = function (e) { + var n = e.min, + r = void 0 === n ? 0 : n, + t = e.max, + i = void 0 === t ? 10 : t, + o = e.step, + s = void 0 === o ? 0.1 : o, + c = e.value, + a = void 0 === c ? 1 : c, + u = (0, R.Z)(e, ['min', 'max', 'step', 'value']), + h = u.onChange, + g = u.label, + x = u.infoText, + f = (0, d.useContext)(ee.N).highlightColor + return (0, l.jsxs)(p.xu, { + children: [ + (0, l.jsxs)(p.xu, { + display: 'flex', + alignItems: 'flex-end', + children: [(0, l.jsx)(U.x, { children: g }), x && (0, l.jsx)(ie, { infoText: x })], + }), + (0, l.jsxs)(G.iR, { + value: a, + onChange: h, + min: r, + max: i, + step: s, + children: [ + (0, l.jsx)(G.Uj, { children: (0, l.jsx)(G.Ms, {}) }), + (0, l.jsx)(A.u, { + bg: f, + label: a.toFixed(1), + children: (0, l.jsx)(G.gs, { bg: 'white' }), + }), + ], + }), + ], + }) + }, + le = function (e) { + var n = e.value, + r = e.onChange, + t = e.label, + i = e.infoText, + o = e.children + return (0, l.jsxs)(p.xu, { + paddingTop: 2, + children: [ + (0, l.jsxs)(p.xu, { + display: 'flex', + justifyContent: 'space-between', + paddingBottom: 2, + children: [ + (0, l.jsxs)(p.xu, { + display: 'flex', + alignItems: 'center', + children: [ + (0, l.jsx)(U.x, { children: t }), + i && (0, l.jsx)(ie, { infoText: i }), + ], + }), + (0, l.jsx)(Q.r, { isChecked: !!n, onChange: r }), + ], + }), + (0, l.jsx)(J.U, { + in: !!n, + animateOpacity: !0, + children: (0, l.jsx)(p.xu, { + paddingLeft: 4, + paddingTop: 2, + paddingBottom: 2, + children: o, + }), + }), + ], + }) + }, + se = r(1122), + ce = r(2003) + function ae(e, n) { + var r = Object.keys(e) + if (Object.getOwnPropertySymbols) { + var t = Object.getOwnPropertySymbols(e) + n && + (t = t.filter(function (n) { + return Object.getOwnPropertyDescriptor(e, n).enumerable + })), + r.push.apply(r, t) + } + return r + } + function de(e) { + for (var n = 1; n < arguments.length; n++) { + var r = null != arguments[n] ? arguments[n] : {} + n % 2 + ? ae(Object(r), !0).forEach(function (n) { + ;(0, c.Z)(e, n, r[n]) + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) + : ae(Object(r)).forEach(function (n) { + Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)) + }) + } + return e + } + var ue = r.e(4).then(r.bind(r, 7004)), + he = r.g.window ? r(1957).f$ : null, + ge = r.g.window ? r(1957).s6 : null + function xe() { + var e = (0, d.useState)(!1), + n = e[0], + r = e[1] + return ( + (0, d.useEffect)(function () { + r(!0) + }, []), + n ? (0, l.jsx)(fe, {}) : null + ) + } + function fe() { + var e = u('physics', S), + n = (0, a.Z)(e, 2), + r = n[0], + t = n[1], + i = u('filter', I), + o = (0, a.Z)(i, 2), + h = o[0], + g = o[1], + x = u('visuals', N), + f = (0, a.Z)(x, 2), + j = f[0], + m = f[1], + b = (0, d.useState)(null), + C = b[0], + v = b[1], + y = (0, d.useState)(null), + k = y[0], + w = y[1], + R = u('behavior', O), + T = (0, a.Z)(R, 2), + D = T[0], + P = T[1], + H = u('mouse', z), + E = (0, a.Z)(H, 2), + L = E[0], + Z = E[1], + B = (0, d.useRef)({}), + F = (0, d.useRef)({}), + A = (0, d.useContext)(ee.N).setEmacsTheme, + M = (0, d.useState)(!1), + W = M[0], + X = M[1], + _ = (0, d.useState)({ nodeIds: [] }), + q = _[0], + U = _[1], + Q = (0, d.useRef)({ nodeIds: [] }), + V = (0, d.useRef)(O) + V.current = D + var K = (0, d.useRef)(null), + J = (0, d.useRef)(null) + Q.current = q + var Y = function (e, n) { + var r, + t = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 2e3, + i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 200, + o = K.current, + l = Q.current, + c = V.current, + a = null !== (r = F.current[n]) && void 0 !== r ? r : [], + d = Object.fromEntries( + [n] + .concat( + (0, s.Z)( + a.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), U({ nodeIds: [] })), + void setTimeout(function () { + return o.zoomToFit(t, i, function (e) { + return d[e.id] + }) + }, 50)) + : l.nodeIds.length + ? 'add' !== c.localSame + ? (U({ nodeIds: [n] }), + void setTimeout(function () { + o.centerAt(0, 0, t) + }, 50)) + : l.nodeIds.includes(n) && + l.nodeIds.some(function (e) { + return d[e] + }) + ? (U(function (e) { + return de(de({}, e), {}, { nodeIds: [].concat((0, s.Z)(e.nodeIds), [n]) }) + }), + void setTimeout(function () { + return o.zoomToFit(t, i, function (e) { + return d[e.id] + }) + }, 50)) + : (U({ nodeIds: [n] }), + void setTimeout(function () { + o.centerAt(0, 0, t) + }, 50)) + : (U({ nodeIds: [n] }), + void setTimeout(function () { + o.centerAt(0, 0, t) + }, 50)) + } + return ( + (0, d.useEffect)(function () { + ;(J.current = new ce.Z('ws://localhost:35903')), + J.current.addEventListener('open', function (e) { + console.log('Connection with Emacs established') + }), + J.current.addEventListener('message', function (e) { + K.current + var n = V.current, + r = JSON.parse(e.data) + switch (r.type) { + case 'graphdata': + return (function (e) { + var n = e.nodes.reduce(function (e, n) { + var r + return de( + de({}, e), + {}, + (0, c.Z)( + {}, + n.file, + [].concat( + (0, s.Z)(null !== (r = e[n.file]) && void 0 !== r ? r : []), + [n], + ), + ), + ) + }, {}), + r = Object.keys(n).flatMap(function (e) { + var r, + t = null !== (r = n[e]) && void 0 !== r ? r : [], + i = t.find(function (e) { + return 0 === e.level + }), + o = t.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 t = [].concat((0, s.Z)(e.links), (0, s.Z)(r)).filter(function (e) { + var n = e.source, + r = e.target + return B.current[n] && B.current[r] + }) + F.current = t.reduce(function (e, n) { + var r, t, i + return de( + de({}, e), + {}, + ((i = {}), + (0, c.Z)( + i, + n.source, + [].concat( + (0, s.Z)(null !== (r = e[n.source]) && void 0 !== r ? r : []), + [n], + ), + ), + (0, c.Z)( + i, + n.target, + [].concat( + (0, s.Z)(null !== (t = e[n.target]) && void 0 !== t ? t : []), + [n], + ), + ), + i), + ) + }, {}) + var i = de(de({}, e), {}, { links: t }), + o = JSON.parse(JSON.stringify(i)) + v(o) + })(r.data) + case 'theme': + return A(r.data) + case 'command': + switch (r.data.commandName) { + case 'local': + var t = D.zoomSpeed, + i = D.zoomPadding + Y('local', r.data.id, t, i), w(r.data.id) + break + case 'zoom': + var o, + l, + a = + (null === r || void 0 === r || null === (o = r.data) || void 0 === o + ? void 0 + : o.speed) || n.zoomSpeed, + d = + (null === r || void 0 === r || null === (l = r.data) || void 0 === l + ? void 0 + : l.padding) || n.zoomPadding + Y('zoom', r.data.id, a, d), w(r.data.id) + break + case 'follow': + Y(n.follow, r.data.id, n.zoomSpeed, n.zoomPadding), w(r.data.id) + break + default: + return console.error('unknown message type', r.type) + } + } + }) + }, []), + C + ? (0, l.jsxs)(p.xu, { + display: 'flex', + alignItems: 'flex-start', + flexDirection: 'row', + height: '100%', + children: [ + (0, l.jsx)( + te, + de( + {}, + { + physics: r, + setPhysics: t, + threeDim: W, + setThreeDim: X, + filter: h, + setFilter: g, + visuals: j, + setVisuals: m, + mouse: L, + setMouse: Z, + behavior: D, + setBehavior: P, + }, + ), + ), + (0, l.jsx)(p.xu, { + position: 'absolute', + alignItems: 'top', + children: (0, l.jsx)( + je, + de( + { + ref: K, + nodeById: B.current, + linksByNodeId: F.current, + webSocket: J.current, + }, + { + physics: r, + graphData: C, + threeDim: W, + emacsNodeId: k, + filter: h, + visuals: j, + behavior: D, + mouse: L, + scope: q, + setScope: U, + }, + ), + ), + }), + ], + }) + : null + ) + } + var je = (0, d.forwardRef)(function (e, n) { + var r = e.physics, + t = e.graphData, + c = e.threeDim, + u = e.linksByNodeId, + h = e.filter, + p = e.emacsNodeId, + m = e.nodeById, + b = e.visuals, + C = (e.behavior, e.mouse), + v = e.scope, + y = e.setScope, + k = e.webSocket, + S = (0, x.iP)(), + I = (0, a.Z)(S, 2), + N = I[0], + O = I[1], + z = (0, d.useState)(null), + R = z[0], + T = z[1], + D = (0, j.useTheme)(), + P = (0, d.useContext)(ee.N).emacsTheme, + H = function (e, n) { + switch (e) { + case C.local: + if (v.nodeIds.includes(n.id)) break + y(function (e) { + return de(de({}, e), {}, { nodeIds: [].concat((0, s.Z)(e.nodeIds), [n.id]) }) + }) + break + case C.follow: + k.send(n.id) + } + }, + E = (0, d.useRef)(null) + ;(0, d.useEffect)( + function () { + p && T(m[p]) + }, + [p], + ), + (E.current = R) + var L = (0, d.useMemo)( + function () { + if (!E.current) return {} + var e = u[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, u], + ), + Z = (0, d.useMemo)( + function () { + var e = t.nodes.filter(function (e) { + var n, + r = null !== (n = u[e.id]) && void 0 !== n ? n : [] + return ( + !h.orphans || + (h.parents + ? 0 !== r.length + : 0 !== r.length && + r.some(function (e) { + return !['parent', 'cite', 'ref'].includes(e.type) + })) + ) + }), + n = + (e.map(function (e) { + return e.id + }), + t.links.filter(function (e) { + var n = e + return 'cite' !== n.type && (h.parents || 'parent' !== n.type) + })), + r = e.filter(function (e) { + var n, + r = null !== (n = u[e.id]) && void 0 !== n ? n : [] + return ( + v.nodeIds.includes(e.id) || + r.some(function (e) { + return v.nodeIds.includes(e.source) || v.nodeIds.includes(e.target) + }) + ) + }), + i = r.map(function (e) { + return e.id + }), + o = n.filter(function (e) { + var n = 'object' === typeof e.source ? e.source.id : e.source, + r = 'object' === typeof e.target ? e.target.id : e.target + return i.includes(n) && i.includes(r) + }) + return 0 === v.nodeIds.length ? { nodes: e, links: n } : { nodes: r, links: o } + }, + [h, v, t], + ) + ;(0, d.useEffect)(function () { + ;(0, o.Z)( + i().mark(function e() { + var t, o + return i().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (t = n.current), (e.next = 3), ue + case 3: + ;(o = e.sent), + r.gravityOn + ? (t.d3Force('x', o.forceX().strength(r.gravity)), + t.d3Force('y', o.forceY().strength(r.gravity)), + c && t.d3Force('z', o.forceZ().strength(r.gravity))) + : (t.d3Force('x', null), t.d3Force('y', null), c && t.d3Force('z', null)), + r.centering + ? t.d3Force('center', o.forceCenter().strength(r.centeringStrength)) + : t.d3Force('center', null), + r.linkStrength && t.d3Force('link').strength(r.linkStrength), + r.linkIts && t.d3Force('link').iterations(r.linkIts), + r.charge && t.d3Force('charge').strength(r.charge), + t.d3Force( + 'collide', + r.collision ? o.forceCollide().radius(r.collisionStrength) : null, + ) + case 10: + case 'end': + return e.stop() + } + }, e) + }), + )() + }), + (0, d.useEffect)( + function () { + var e + null === (e = n.current) || void 0 === e || e.d3ReheatSimulation() + }, + [r], + ) + var B = (0, d.useRef)(0), + F = (0, d.useState)(1), + A = F[0], + M = F[1], + W = (0, f._7)( + function (e) { + return M(e) + }, + { duration: b.animationSpeed, algorithm: w[b.algorithmName] }, + ), + X = (0, a.Z)(W, 2), + _ = X[0], + q = X[1], + U = (0, f._7)( + function (e) { + return M(Math.min(A, -1 * (e - 1))) + }, + { duration: b.animationSpeed, algorithm: w[b.algorithmName] }, + ), + Q = (0, a.Z)(U, 2), + V = Q[0], + K = Q[1], + J = (0, d.useRef)(null) + ;(0, d.useEffect)( + function () { + if ((R && (J.current = R), !b.highlightAnim)) return M(R ? 1 : 0) + R ? _() : (q(), A > 0.5 ? V() : M(0)) + }, + [R], + ) + var Y = function (e) { + if (D) + return e.split('.').reduce(function (e, n) { + return e[n] + }, D.colors) + }, + G = (0, d.useMemo)( + function () { + var e = b.nodeColorScheme.concat( + b.linkColorScheme || [], + b.linkHighlight || [], + b.nodeHighlight || [], + ) + return Object.fromEntries( + e.map(function (n) { + var r = Y(n), + t = e.map(function (e) { + return [e, g.Z(r, Y(e))] + }) + return [n, Object.fromEntries(t)] + }), + ) + }, + [b.nodeColorScheme, b.linkHighlight, b.nodeHighlight, b.linkColorScheme, P], + ), + $ = (0, d.useMemo)( + function () { + var e, + n, + r, + t = + null !== (e = u[null === (n = J.current) || void 0 === n ? void 0 : n.id]) && + void 0 !== e + ? e + : [] + return Object.fromEntries( + [null === (r = J.current) || void 0 === r ? void 0 : r.id] + .concat( + (0, s.Z)( + t.flatMap(function (e) { + return [e.source, e.target] + }), + ), + ) + .map(function (e) { + return [e, {}] + }), + ) + }, + [JSON.stringify(R), J.current], + ), + ne = function (e) { + var n, + r, + t, + i, + o, + l, + s = + null !== (n = null === (r = u[e]) || void 0 === r ? void 0 : r.length) && + void 0 !== n + ? n + : 0, + c = s + ? null === (t = u[e]) || void 0 === t + ? void 0 + : t.filter(function (e) { + return 'parent' === e.type || 'cite' === e.type + }).length + : 0, + a = h.parents ? s : s - c + return b.nodeColorScheme[ + ((i = a), (o = 0), (l = b.nodeColorScheme.length - 1), Math.min(Math.max(i, o), l)) + ] + }, + re = function (e, n) { + return u[e] > u[n] ? ne(e) : ne(n) + }, + te = 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(',') + + ')' + ) + }, + ie = (0, d.useMemo)( + function () { + return Y(b.labelTextColor) + }, + [b.labelTextColor, P], + ), + oe = (0, d.useMemo)( + function () { + return Y(b.labelBackgroundColor) + }, + [b.labelBackgroundColor, P], + ), + le = { + graphData: Z, + width: N, + height: O, + backgroundColor: D.colors.gray[b.backgroundColor], + nodeLabel: function (e) { + return e.title + }, + nodeColor: function (e) { + return (function (e) { + var n = L[e.id] || $[e.id] + return b.emacsNodeColor && e.id === p + ? Y(b.emacsNodeColor) + : n && b.nodeHighlight + ? G[ne(e.id)][b.nodeHighlight](A) + : Y(ne(e.id)) + })(e) + }, + nodeRelSize: b.nodeRel, + nodeVal: function (e) { + var n, + r = null !== (n = u[e.id]) && void 0 !== n ? n : [], + t = r.length + ? r.filter(function (e) { + return 'parent' === e.type || 'cite' === e.type + }).length + : 0 + return ( + (3 + r.length - (h.parents ? 0 : t)) * + (L[e.id] || $[e.id] ? 1 + A * (b.highlightNodeSize - 1) : 1) + ) + }, + nodeCanvasObject: function (e, n, r) { + if (e && b.labels) { + var t = $[e.id] + if (!(r <= b.labelScale || 1 === b.labels) || L[e.id] || t) { + var i = e.title, + o = i.substring(0, Math.min(i.length, 40)), + l = 12 / r, + c = [1.1 * n.measureText(o).width, l].map(function (e) { + return e + 0.5 * l + }), + a = Math.min((3 * (r - b.labelScale)) / b.labelScale, 1), + d = function () { + return 1 === b.labels || r <= b.labelScale + ? A + : L[e.id] || $[e.id] + ? Math.max(a, A) + : 1 * a * (-1 * (0.5 * A - 1)) + } + if (b.labelBackgroundColor && b.labelBackgroundOpacity) { + var u = d() * b.labelBackgroundOpacity, + h = te(oe, u) + ;(n.fillStyle = h), + n.fillRect.apply(n, [e.x - c[0] / 2, e.y - c[1] / 2].concat((0, s.Z)(c))) + } + var g = d() + ;(n.textAlign = 'center'), (n.textBaseline = 'middle') + var x = te(ie, g) + ;(n.fillStyle = x), + (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 Y(b.arrowsColor) + } + : void 0, + linkColor: function (e) { + var n = 'object' === typeof e.source ? e.source.id : e.source, + r = 'object' === typeof e.target ? e.target.id : e.target, + t = pe(e, E.current), + i = pe(e, J.current) + return (function (e, n, r) { + if (!b.linkHighlight && !b.linkColorScheme && !r) { + var t = re(e, n) + return Y(t) + } + if (!r && !b.linkColorScheme) { + var i = re(e, n) + return Y(i) + } + if (!r) return Y(b.linkColorScheme) + if (!b.linkHighlight && !b.linkColorScheme) { + var o = re(e, n) + return Y(o) + } + return b.linkHighlight + ? b.linkColorScheme + ? G[b.linkColorScheme][b.linkHighlight](A) + : G[re(e, n)][b.linkHighlight](A) + : Y(b.linkColorScheme) + })(n, r, t || i) + }, + linkWidth: function (e) { + var n = pe(e, E.current), + r = pe(e, J.current) + return n || r ? b.linkWidth * (1 + A * (b.highlightLinkSize - 1)) : b.linkWidth + }, + linkDirectionalParticleWidth: b.particlesWidth, + d3AlphaDecay: r.alphaDecay, + d3AlphaMin: r.alphaMin, + d3VelocityDecay: r.velocityDecay, + onNodeClick: function (e, n) { + var r = n.timeStamp - B.current < 400 + return (B.current = n.timeStamp), H(r ? 'double' : 'click', e) + }, + onBackgroundClick: function () { + T(null), + 0 !== v.nodeIds.length && + y(function (e) { + return de(de({}, e), {}, { nodeIds: [] }) + }) + }, + onNodeHover: function (e) { + b.highlight && (R || (K(), M(0)), T(e)) + }, + onNodeRightClick: function (e) { + H('right', e) + }, + } + return (0, l.jsx)('div', { + children: c + ? (0, l.jsx)( + ge, + de( + de({ ref: n }, le), + {}, + { + nodeThreeObjectExtend: !0, + backgroundColor: D.colors.white, + nodeOpacity: b.nodeOpacity, + nodeResolution: b.nodeResolution, + linkOpacity: b.linkOpacity, + nodeThreeObject: function (e) { + if (b.labels && (!(b.labels < 3) || L[e.id])) { + var n = new se.Z(e.title.substring(0, 40)) + return ( + (n.color = Y(b.labelTextColor)), + (n.backgroundColor = Y(b.labelBackgroundColor)), + (n.padding = 2), + (n.textHeight = 8), + n + ) + } + }, + }, + ), + ) + : (0, l.jsx)(he, de({ ref: n }, le)), + }) + }) + function pe(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) + ) + } + }, + 5301: function (e, n, r) { + ;(window.__NEXT_P = window.__NEXT_P || []).push([ + '/', + function () { + return r(374) + }, + ]) + }, + }, + function (e) { + e.O(0, [774, 737, 446, 906, 888, 179], function () { + return (n = 5301), e((e.s = n)) + var n + }) + var n = e.O() + _N_E = n + }, +]) -- cgit v1.2.3