From 13df590489def2f5d007a650ff91efe49920b454 Mon Sep 17 00:00:00 2001 From: "Thomas F. K. Jorna" Date: Sat, 31 Jul 2021 18:48:09 +0200 Subject: included new build --- out/404.html | 6 +- .../chunks/pages/index-5cea1a6a4f484642ff08.js | 2801 ++++++++++++++++++++ .../chunks/pages/index-e63523b4f2b01b501b4a.js | 2796 ------------------- .../static/sqy183jmJB5HZRA44nlqt/_buildManifest.js | 12 + .../static/sqy183jmJB5HZRA44nlqt/_ssgManifest.js | 1 + out/index.html | 8 +- out/sw.js | 267 ++ out/workbox-ea903bce.js | 1023 +++++++ 8 files changed, 4111 insertions(+), 2803 deletions(-) create mode 100644 out/_next/static/chunks/pages/index-5cea1a6a4f484642ff08.js delete mode 100644 out/_next/static/chunks/pages/index-e63523b4f2b01b501b4a.js create mode 100644 out/_next/static/sqy183jmJB5HZRA44nlqt/_buildManifest.js create mode 100644 out/_next/static/sqy183jmJB5HZRA44nlqt/_ssgManifest.js create mode 100644 out/sw.js create mode 100644 out/workbox-ea903bce.js (limited to 'out') diff --git a/out/404.html b/out/404.html index 85ed61c..75f7719 100644 --- a/out/404.html +++ b/out/404.html @@ -18,8 +18,8 @@ - - + +
@@ -753,7 +753,7 @@ "props": { "pageProps": { "statusCode": 404 } }, "page": "/_error", "query": {}, - "buildId": "Uwb-EHm-AvunyFLIbBaQf", + "buildId": "sqy183jmJB5HZRA44nlqt", "nextExport": true, "isFallback": false, "gip": true, diff --git a/out/_next/static/chunks/pages/index-5cea1a6a4f484642ff08.js b/out/_next/static/chunks/pages/index-5cea1a6a4f484642ff08.js new file mode 100644 index 0000000..b4b355e --- /dev/null +++ b/out/_next/static/chunks/pages/index-5cea1a6a4f484642ff08.js @@ -0,0 +1,2801 @@ +;(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([ + [405], + { + 374: function (e, n, t) { + 'use strict' + t.r(n), + t.d(n, { + Graph: function () { + return je + }, + GraphPage: function () { + return fe + }, + default: function () { + return xe + }, + }) + var i = t(7757), + r = t.n(i), + o = t(2137), + l = t(5893), + s = t(7329), + c = t(6156), + a = t(4699), + d = t(7294) + function u(e, n) { + var t, + i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, + r = h(e, null !== (t = i.storage) && void 0 !== t ? t : localStorage), + o = r.get(), + l = void 0 !== o ? o : n + l !== o && r.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 t = e(n) + return r.update(t), t + }) + : (a(e), r.update(e)) + } + return [c, u] + } + function h(e, n) { + return { + get: function () { + var t = n.getItem(e) + if (t && 'undefined' !== t) return JSON.parse(t) + }, + update: function (t) { + n.setItem(e, JSON.stringify(t)) + }, + remove: function () { + n.removeItem(e) + }, + } + } + var g = t(4533), + x = t(4309), + f = t(2351), + j = t(980), + p = t(8017), + m = t(6194), + b = [], + v = {} + for (var y in m.oY) + for (var C in m.oY[y]) { + var k = y + C + 'LinearNone' === k && (k = 'Linear'), b.push(k), (v[k] = m.oY[y][C]) + } + var w = v, + S = { + enabled: !0, + charge: -700, + collision: !0, + collisionStrength: 20, + centering: !0, + centeringStrength: 0.05, + linkStrength: 0.1, + linkIts: 1, + alphaDecay: 0.02, + alphaTarget: 0, + alphaMin: 0, + velocityDecay: 0.25, + gravity: 0.3, + gravityOn: !0, + }, + I = { orphans: !1, parents: !0, tags: [], nodes: [], links: [], date: [] }, + O = { + particles: !1, + particlesNumber: 0, + particlesWidth: 4, + 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, + }, + N = { follow: 'zoom', localSame: 'add', zoomPadding: 200, zoomSpeed: 2e3 }, + z = { highlight: 'hover', local: 'click', follow: 'double' }, + R = t(7375), + T = t(3924), + D = t(3986), + H = t(9641), + E = t(7546), + Z = t(3441), + P = t(6569), + F = t(4189), + L = t(454), + B = t(8420), + M = t(6699), + W = t(155), + X = t(6769), + A = t(336), + _ = t(2026), + q = t(4096), + U = t(4115), + Q = t(8134), + V = t(8235), + K = t(7273), + J = t(5267), + Y = t(6049), + G = t(3014), + $ = t(6658), + ee = t(9356) + function ne(e, n) { + var t = Object.keys(e) + if (Object.getOwnPropertySymbols) { + var i = Object.getOwnPropertySymbols(e) + n && + (i = i.filter(function (n) { + return Object.getOwnPropertyDescriptor(e, n).enumerable + })), + t.push.apply(t, i) + } + return t + } + function te(e) { + for (var n = 1; n < arguments.length; n++) { + var t = null != arguments[n] ? arguments[n] : {} + n % 2 + ? ne(Object(t), !0).forEach(function (n) { + ;(0, c.Z)(e, n, t[n]) + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) + : ne(Object(t)).forEach(function (n) { + Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n)) + }) + } + return e + } + var ie = function (e) { + var n = e.physics, + t = e.setPhysics, + i = e.threeDim, + r = 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], + v = m[1], + y = (0, d.useContext)(ee.N), + C = y.highlightColor, + k = y.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', + ], + F = [ + '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)(L.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 v(!0) + }, + }), + }), + }), + (0, l.jsx)(L.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 r(!i) + }, + variant: 'ghost', + zIndex: 'overlay', + children: i ? '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(O), c(I), x(z), t(S), j(N) + }, + variant: 'none', + size: 'sm', + }), + }), + (0, l.jsx)(B.h, { + size: 'sm', + icon: (0, l.jsx)(H.T, {}), + 'aria-label': 'Close Tweak Panel', + variant: 'ghost', + onClick: function () { + return v(!1) + }, + }), + ], + }), + ], + }), + (0, l.jsx)($.ZP, { + autoHeight: !0, + autoHeightMax: 600, + autoHide: !0, + renderThumbVertical: function (e) { + var n = e.style, + t = (0, R.Z)(e, ['style']) + return (0, l.jsx)( + p.xu, + te( + te({}, t), + {}, + { style: te(te({}, n), {}, { borderRadius: 10 }), bg: C }, + ), + ) + }, + children: (0, l.jsxs)(X.UQ, { + allowMultiple: !0, + allowToggle: !0, + color: 'black', + children: [ + (0, l.jsxs)(X.Qd, { + children: [ + (0, l.jsxs)(X.KF, { + children: [ + (0, l.jsx)(X.XE, { marginRight: 2 }), + (0, l.jsx)(A.X, { size: 'sm', children: 'Filter' }), + ], + }), + (0, l.jsx)(X.Hk, { + children: (0, l.jsxs)(_.gC, { + spacing: 2, + justifyContent: 'flex-start', + divider: (0, l.jsx)(_.cX, { borderColor: 'gray.500' }), + align: 'stretch', + paddingLeft: 7, + color: 'gray.800', + children: [ + (0, l.jsxs)(q.k, { + justifyContent: 'space-between', + children: [ + (0, l.jsx)(U.x, { children: 'Orphans' }), + (0, l.jsx)(Q.r, { + onChange: function () { + c(te(te({}, 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(te(te({}, o), {}, { parents: !o.parents })) + }, + isChecked: o.parents, + }), + ], + }), + ], + }), + }), + ], + }), + (0, l.jsxs)(X.Qd, { + children: [ + (0, l.jsx)(X.KF, { + display: 'flex', + justifyContent: 'space-between', + children: (0, l.jsxs)(p.xu, { + display: 'flex', + children: [ + (0, l.jsx)(X.XE, { marginRight: 2 }), + (0, l.jsx)(A.X, { size: 'sm', children: 'Physics' }), + ], + }), + }), + (0, l.jsxs)(X.Hk, { + children: [ + (0, l.jsxs)(_.gC, { + spacing: 2, + justifyContent: 'flex-start', + divider: (0, l.jsx)(_.cX, { borderColor: 'gray.500' }), + align: 'stretch', + paddingLeft: 7, + color: 'gray.800', + children: [ + (0, l.jsx)(le, { + label: 'Gravity', + value: n.gravityOn, + onChange: function () { + return t(te(te({}, n), {}, { gravityOn: !n.gravityOn })) + }, + children: (0, l.jsx)(oe, { + label: 'Strength', + value: 10 * n.gravity, + onChange: function (e) { + return t(te(te({}, n), {}, { gravity: e / 10 })) + }, + }), + }), + (0, l.jsx)(oe, { + value: -n.charge / 100, + onChange: function (e) { + return t(te(te({}, 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 t(te(te({}, n), {}, { collision: !n.collision })) + }, + children: (0, l.jsx)(oe, { + value: n.collisionStrength / 5, + onChange: function (e) { + return t( + te(te({}, 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 t(te(te({}, n), {}, { linkStrength: e / 5 })) + }, + label: 'Link Force', + }), + (0, l.jsx)(oe, { + label: 'Link Iterations', + value: n.linkIts, + onChange: function (e) { + return t(te(te({}, 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 t(te(te({}, n), {}, { velocityDecay: e / 10 })) + }, + }), + ], + }), + (0, l.jsx)(p.xu, { + children: (0, l.jsx)(X.UQ, { + paddingLeft: 3, + allowToggle: !0, + children: (0, l.jsxs)(X.Qd, { + children: [ + (0, l.jsxs)(X.KF, { + children: [ + (0, l.jsx)(U.x, { children: 'Advanced' }), + (0, l.jsx)(X.XE, { marginRight: 2 }), + ], + }), + (0, l.jsx)(X.Hk, { + children: (0, l.jsxs)(_.gC, { + spacing: 2, + justifyContent: 'flex-start', + divider: (0, l.jsx)(_.cX, { + borderColor: 'gray.500', + }), + align: 'stretch', + paddingLeft: 3, + color: 'gray.800', + children: [ + (0, l.jsx)(oe, { + label: 'Stabilization rate', + value: 50 * n.alphaDecay, + onChange: function (e) { + return t( + te(te({}, n), {}, { alphaDecay: e / 50 }), + ) + }, + }), + (0, l.jsx)(le, { + label: 'Center nodes', + value: n.centering, + onChange: function () { + return t( + te( + te({}, 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 t( + te(te({}, n), {}, { centeringStrength: e }), + ) + }, + }), + }), + ], + }), + }), + ], + }), + }), + }), + ], + }), + ], + }), + (0, l.jsxs)(X.Qd, { + children: [ + (0, l.jsxs)(X.KF, { + children: [ + (0, l.jsx)(X.XE, { marginRight: 2 }), + (0, l.jsx)(A.X, { size: 'sm', children: 'Visual' }), + ], + }), + (0, l.jsx)(X.Hk, { + children: (0, l.jsxs)(_.gC, { + justifyContent: 'flex-start', + align: 'stretch', + children: [ + (0, l.jsx)(X.UQ, { + allowToggle: !0, + defaultIndex: [0], + paddingLeft: 3, + children: (0, l.jsxs)(X.Qd, { + children: [ + (0, l.jsx)(X.KF, { + children: (0, l.jsxs)(q.k, { + justifyContent: 'space-between', + w: '100%', + children: [ + (0, l.jsx)(U.x, { children: 'Colors' }), + (0, l.jsx)(X.XE, { marginRight: 2 }), + ], + }), + }), + (0, l.jsx)(X.Hk, { + children: (0, l.jsx)(_.gC, { + spacing: 2, + justifyContent: 'flex-start', + divider: (0, l.jsx)(_.cX, { + borderColor: 'gray.500', + }), + align: 'stretch', + color: 'gray.800', + children: (0, l.jsxs)(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)(E.n, {}), + variant: 'ghost', + onClick: function () { + var e, + n = + null !== (e = u.nodeColorScheme) && + void 0 !== e + ? e + : [] + h( + te( + te({}, 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)(Z.L, {}), + size: 'sm', + variant: 'ghost', + onClick: function () { + var e, + n = + null !== (e = u.nodeColorScheme) && + void 0 !== e + ? e + : [] + h( + te( + te({}, 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)(P.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( + te( + te({}, 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)(P.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( + te( + te({}, 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, + ) + }, + ), + }), + }), + F.map(function (e) { + return (0, l.jsx)( + V.sN, + { + onClick: function () { + return h( + te( + te({}, 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)(P.v, {}), + children: (0, l.jsx)(p.xu, { + bgColor: C, + 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)(P.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( + te( + te({}, 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( + te( + te({}, 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)(P.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( + te( + te({}, 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( + te( + te({}, 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)(P.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: F.map(function (e) { + return (0, l.jsx)( + V.sN, + { + onClick: function () { + return h( + te( + te({}, 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)(P.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( + te( + te({}, 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( + te( + te({}, 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(te(te({}, u), {}, { nodeRel: e })) + }, + }), + i && + (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(te(te({}, u), {}, { nodeOpacity: e })) + }, + }), + (0, l.jsx)(oe, { + label: 'Node resolution', + value: u.nodeResolution, + min: 5, + max: 32, + step: 1, + onChange: function (e) { + return h(te(te({}, u), {}, { nodeResolution: e })) + }, + }), + ], + }), + (0, l.jsx)(oe, { + label: 'Link width', + value: u.linkWidth, + onChange: function (e) { + return h(te(te({}, u), {}, { linkWidth: e })) + }, + }), + i && + (0, l.jsx)(oe, { + label: 'Link opacity', + min: 0, + max: 1, + value: u.linkOpacity, + onChange: function (e) { + return h(te(te({}, 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)(P.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( + te(te({}, u), {}, { labels: 0 }), + ) + }, + children: 'Never', + }), + (0, l.jsx)(V.sN, { + onClick: function () { + return h( + te(te({}, u), {}, { labels: 1 }), + ) + }, + children: 'On Highlight', + }), + (0, l.jsx)(V.sN, { + onClick: function () { + return h( + te(te({}, u), {}, { labels: 2 }), + ) + }, + children: 'Always', + }), + (0, l.jsx)(V.sN, { + onClick: function () { + return h( + te(te({}, 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)(P.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: F.map(function (e) { + return (0, l.jsx)( + V.sN, + { + onClick: function () { + return h( + te( + te({}, 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)(P.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( + te( + te({}, u), + {}, + { + labelBackgroundColor: + '', + }, + ), + ) + }, + justifyContent: 'space-between', + alignItems: 'center', + display: 'flex', + children: 'None', + }), + F.map(function (e) { + return (0, l.jsx)( + V.sN, + { + onClick: function () { + return h( + te( + te({}, 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( + te( + te({}, 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( + te( + te({}, u), + {}, + { labelScale: e / 5 }, + ), + ) + }, + }), + }), + }), + ], + }), + }), + ], + }), + (0, l.jsxs)(le, { + label: 'Directional Particles', + value: u.particles, + onChange: function () { + return h(te(te({}, u), {}, { particles: !u.particles })) + }, + children: [ + (0, l.jsx)(oe, { + label: 'Particle Number', + value: u.particlesNumber, + max: 5, + step: 1, + onChange: function (e) { + return h(te(te({}, u), {}, { particlesNumber: e })) + }, + }), + (0, l.jsx)(oe, { + label: 'Particle Size', + value: u.particlesWidth, + onChange: function (e) { + return h(te(te({}, u), {}, { particlesWidth: e })) + }, + }), + ], + }), + (0, l.jsx)(le, { + label: 'Highlight', + onChange: function () { + return h(te(te({}, 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( + te(te({}, u), {}, { highlightLinkSize: e }), + ) + }, + }), + (0, l.jsx)(oe, { + label: 'Highlight Node Size', + value: u.highlightNodeSize, + onChange: function (e) { + return h( + te(te({}, u), {}, { highlightNodeSize: e }), + ) + }, + }), + (0, l.jsxs)(le, { + label: 'Highlight Animation', + onChange: function () { + h( + te( + te({}, u), + {}, + { highlightAnim: !u.highlightAnim }, + ), + ) + }, + value: u.highlightAnim, + children: [ + (0, l.jsx)(oe, { + label: 'Animation speed', + onChange: function (e) { + return h( + te(te({}, 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( + te( + te({}, u), + {}, + { algorithmName: e.target.value }, + ), + ) + }, + children: u.algorithmOptions.map(function (e) { + return (0, + l.jsx)('option', { value: e, children: e }, e) + }), + }), + ], + }), + ], + }), + }), + ], + }), + ], + }), + }), + ], + }), + (0, l.jsxs)(X.Qd, { + children: [ + (0, l.jsxs)(X.KF, { + children: [ + (0, l.jsx)(X.XE, { marginRight: 2 }), + (0, l.jsx)(A.X, { size: 'sm', children: 'Behavior' }), + ], + }), + (0, l.jsx)(X.Hk, { + children: (0, l.jsxs)(_.gC, { + spacing: 2, + justifyContent: 'flex-start', + divider: (0, l.jsx)(_.cX, { borderColor: 'gray.500' }), + align: 'stretch', + paddingLeft: 7, + color: 'gray.800', + children: [ + (0, l.jsxs)(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)(re, { + 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)(P.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(te(te({}, g), {}, { local: '' })) + }, + children: 'Never', + }), + (0, l.jsx)(V.sN, { + onClick: function () { + return x( + te(te({}, g), {}, { local: 'click' }), + ) + }, + children: 'Click', + }), + (0, l.jsx)(V.sN, { + onClick: function () { + return x( + te(te({}, g), {}, { local: 'double' }), + ) + }, + children: 'Double Click', + }), + (0, l.jsx)(V.sN, { + onClick: function () { + return x( + te(te({}, 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)(P.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(te(te({}, g), {}, { follow: '' })) + }, + children: 'Never', + }), + (0, l.jsx)(V.sN, { + onClick: function () { + return x( + te(te({}, g), {}, { follow: 'click' }), + ) + }, + children: 'Click', + }), + (0, l.jsx)(V.sN, { + onClick: function () { + return x( + te(te({}, g), {}, { follow: 'double' }), + ) + }, + children: 'Double Click', + }), + (0, l.jsx)(V.sN, { + onClick: function () { + return x( + te(te({}, 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)(P.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( + te(te({}, f), {}, { follow: 'local' }), + ) + }, + children: 'Opening the local graph', + }), + (0, l.jsx)(V.sN, { + onClick: function () { + return j( + te(te({}, 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(te(te({}, f), {}, { zoomSpeed: e })) + }, + }), + (0, l.jsx)(oe, { + label: 'Zoom padding', + value: f.zoomPadding, + min: 0, + max: 400, + step: 1, + onChange: function (e) { + return j(te(te({}, f), {}, { zoomPadding: e })) + }, + infoText: + 'How much to zoom out to accomodate all nodes when changing the view.', + }), + ], + }), + }), + ], + }), + ], + }), + }), + ], + }), + }), + ], + }) + }, + re = 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)(F.h, {}), + }), + }) + }, + oe = function (e) { + var n = e.min, + t = void 0 === n ? 0 : n, + i = e.max, + r = void 0 === i ? 10 : i, + 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)(re, { infoText: x })], + }), + (0, l.jsxs)(G.iR, { + value: a, + onChange: h, + min: t, + max: r, + 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, + t = e.onChange, + i = e.label, + r = 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: i }), + r && (0, l.jsx)(re, { infoText: r }), + ], + }), + (0, l.jsx)(Q.r, { isChecked: !!n, onChange: t }), + ], + }), + (0, l.jsx)(J.U, { + in: !!n, + animateOpacity: !0, + children: (0, l.jsx)(p.xu, { + paddingLeft: 4, + paddingTop: 2, + paddingBottom: 2, + children: o, + }), + }), + ], + }) + }, + se = t(1122), + ce = t(2003) + function ae(e, n) { + var t = Object.keys(e) + if (Object.getOwnPropertySymbols) { + var i = Object.getOwnPropertySymbols(e) + n && + (i = i.filter(function (n) { + return Object.getOwnPropertyDescriptor(e, n).enumerable + })), + t.push.apply(t, i) + } + return t + } + function de(e) { + for (var n = 1; n < arguments.length; n++) { + var t = null != arguments[n] ? arguments[n] : {} + n % 2 + ? ae(Object(t), !0).forEach(function (n) { + ;(0, c.Z)(e, n, t[n]) + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) + : ae(Object(t)).forEach(function (n) { + Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n)) + }) + } + return e + } + var ue = t.e(4).then(t.bind(t, 7004)), + he = t.g.window ? t(1957).f$ : null, + ge = t.g.window ? t(1957).s6 : null + function xe() { + var e = (0, d.useState)(!1), + n = e[0], + t = e[1] + return ( + (0, d.useEffect)(function () { + t(!0) + }, []), + n ? (0, l.jsx)(fe, {}) : null + ) + } + function fe() { + var e = u('physics', S), + n = (0, a.Z)(e, 2), + t = n[0], + i = n[1], + r = u('filter', I), + o = (0, a.Z)(r, 2), + h = o[0], + g = o[1], + x = u('visuals', O), + f = (0, a.Z)(x, 2), + j = f[0], + m = f[1], + b = (0, d.useState)(null), + v = b[0], + y = b[1], + C = (0, d.useState)(null), + k = C[0], + w = C[1], + R = u('behavior', N), + T = (0, a.Z)(R, 2), + D = T[0], + H = T[1], + E = u('mouse', z), + Z = (0, a.Z)(E, 2), + P = Z[0], + F = Z[1], + L = (0, d.useRef)({}), + B = (0, d.useRef)({}), + M = (0, d.useContext)(ee.N).setEmacsTheme, + W = (0, d.useState)(!1), + X = W[0], + A = W[1], + _ = (0, d.useState)({ nodeIds: [] }), + q = _[0], + U = _[1], + Q = (0, d.useRef)({ nodeIds: [] }), + V = (0, d.useRef)(N) + V.current = D + var K = (0, d.useRef)(null), + J = (0, d.useRef)(null) + Q.current = q + var Y = function (e, n) { + var t, + i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 2e3, + r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 200, + o = K.current, + l = Q.current, + c = V.current, + a = null !== (t = B.current[n]) && void 0 !== t ? t : [], + 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(i, r, function (e) { + return d[e.id] + }) + }, 50)) + : l.nodeIds.length + ? 'add' !== c.localSame + ? (U({ nodeIds: [n] }), + void setTimeout(function () { + o.zoomToFit(i, r, 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(i, r, function (e) { + return d[e.id] + }) + }, 50)) + : (U({ nodeIds: [n] }), + void setTimeout(function () { + o.zoomToFit(i, r, function (e) { + return d[e.id] + }) + }, 50)) + : (U({ nodeIds: [n] }), + void setTimeout(function () { + o.zoomToFit(i, r, 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, + t = JSON.parse(e.data) + switch (t.type) { + case 'graphdata': + return (function (e) { + var n = e.nodes.reduce(function (e, n) { + var t + return de( + de({}, e), + {}, + (0, c.Z)( + {}, + n.file, + [].concat( + (0, s.Z)(null !== (t = e[n.file]) && void 0 !== t ? t : []), + [n], + ), + ), + ) + }, {}), + t = Object.keys(n).flatMap(function (e) { + var t, + i = null !== (t = n[e]) && void 0 !== t ? t : [], + r = i.find(function (e) { + return 0 === e.level + }), + o = i.filter(function (e) { + return 0 !== e.level + }) + return r + ? o.map(function (e) { + return { source: e.id, target: r.id, type: 'parent' } + }) + : [] + }) + L.current = Object.fromEntries( + e.nodes.map(function (e) { + return [e.id, e] + }), + ) + var i = [].concat((0, s.Z)(e.links), (0, s.Z)(t)) + B.current = i.reduce(function (e, n) { + var t, i, r + return de( + de({}, e), + {}, + ((r = {}), + (0, c.Z)( + r, + n.source, + [].concat( + (0, s.Z)(null !== (t = e[n.source]) && void 0 !== t ? t : []), + [n], + ), + ), + (0, c.Z)( + r, + n.target, + [].concat( + (0, s.Z)(null !== (i = e[n.target]) && void 0 !== i ? i : []), + [n], + ), + ), + r), + ) + }, {}) + var r = de(de({}, e), {}, { links: i }), + o = JSON.parse(JSON.stringify(r)) + y(o) + })(t.data) + case 'theme': + return M(t.data) + case 'command': + switch (t.data.commandName) { + case 'local': + var i = D.zoomSpeed, + r = D.zoomPadding + Y('local', t.data.id, i, r), w(t.data.id) + break + case 'zoom': + var o, + l, + a = + (null === t || void 0 === t || null === (o = t.data) || void 0 === o + ? void 0 + : o.speed) || n.zoomSpeed, + d = + (null === t || void 0 === t || null === (l = t.data) || void 0 === l + ? void 0 + : l.padding) || n.zoomPadding + Y('zoom', t.data.id, a, d), w(t.data.id) + break + case 'follow': + Y(n.follow, t.data.id, n.zoomSpeed, n.zoomPadding), w(t.data.id) + break + default: + return console.error('unknown message type', t.type) + } + } + }) + }, []), + v + ? (0, l.jsxs)(p.xu, { + display: 'flex', + alignItems: 'flex-start', + flexDirection: 'row', + height: '100%', + children: [ + (0, l.jsx)( + ie, + de( + {}, + { + physics: t, + setPhysics: i, + threeDim: X, + setThreeDim: A, + filter: h, + setFilter: g, + visuals: j, + setVisuals: m, + mouse: P, + setMouse: F, + behavior: D, + setBehavior: H, + }, + ), + ), + (0, l.jsx)(p.xu, { + position: 'absolute', + alignItems: 'top', + children: (0, l.jsx)( + je, + de( + { + ref: K, + nodeById: L.current, + linksByNodeId: B.current, + webSocket: J.current, + }, + { + physics: t, + graphData: v, + threeDim: X, + emacsNodeId: k, + filter: h, + visuals: j, + behavior: D, + mouse: P, + scope: q, + setScope: U, + }, + ), + ), + }), + ], + }) + : null + ) + } + var je = (0, d.forwardRef)(function (e, n) { + var t = e.physics, + i = e.graphData, + c = e.threeDim, + u = e.linksByNodeId, + h = e.filter, + p = e.emacsNodeId, + m = e.nodeById, + b = e.visuals, + v = (e.behavior, e.mouse), + y = e.scope, + C = e.setScope, + k = e.webSocket, + S = (0, x.iP)(), + I = (0, a.Z)(S, 2), + O = I[0], + N = I[1], + z = (0, d.useState)(null), + R = z[0], + T = z[1], + D = (0, j.useTheme)(), + H = (0, d.useContext)(ee.N).emacsTheme, + E = function (e, n) { + switch (e) { + case v.local: + if (y.nodeIds.includes(n.id)) break + C(function (e) { + return de(de({}, e), {}, { nodeIds: [].concat((0, s.Z)(e.nodeIds), [n.id]) }) + }) + break + case v.follow: + k.send(n.id) + } + }, + Z = (0, d.useRef)(null) + ;(0, d.useEffect)( + function () { + p && T(m[p]) + }, + [p], + ), + (Z.current = R) + var P = (0, d.useMemo)( + function () { + if (!Z.current) return {} + var e = u[Z.current.id] + return e + ? Object.fromEntries( + [Z.current.id] + .concat( + (0, s.Z)( + e.flatMap(function (e) { + return [e.source, e.target] + }), + ), + ) + .map(function (e) { + return [e, {}] + }), + ) + : {} + }, + [Z.current, u], + ), + F = (0, d.useMemo)( + function () { + var e = i.nodes.filter(function (e) { + var n, + t = null !== (n = u[e.id]) && void 0 !== n ? n : [] + return ( + !h.orphans || + (h.parents + ? 0 !== t.length + : 0 !== t.length && + t.some(function (e) { + return !['parent', 'cite', 'ref'].includes(e.type) + })) + ) + }), + n = i.links.filter(function (e) { + var n = e + return 'cite' !== n.type && (h.parents || 'parent' !== n.type) + }), + t = e.filter(function (e) { + var n, + t = null !== (n = u[e.id]) && void 0 !== n ? n : [] + return ( + y.nodeIds.includes(e.id) || + t.some(function (e) { + return y.nodeIds.includes(e.source) || y.nodeIds.includes(e.target) + }) + ) + }), + r = t.map(function (e) { + return e.id + }), + o = n.filter(function (e) { + var n = 'object' === typeof e.source ? e.source.id : e.source, + t = 'object' === typeof e.target ? e.target.id : e.target + return r.includes(n) && r.includes(t) + }) + return 0 === y.nodeIds.length ? { nodes: e, links: n } : { nodes: t, links: o } + }, + [h, y, i], + ) + ;(0, d.useEffect)(function () { + ;(0, o.Z)( + r().mark(function e() { + var i, o + return r().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (i = n.current), (e.next = 3), ue + case 3: + ;(o = e.sent), + t.gravityOn + ? (i.d3Force('x', o.forceX().strength(t.gravity)), + i.d3Force('y', o.forceY().strength(t.gravity)), + c && i.d3Force('z', o.forceZ().strength(t.gravity))) + : (i.d3Force('x', null), i.d3Force('y', null), c && i.d3Force('z', null)), + t.centering + ? i.d3Force('center', o.forceCenter().strength(t.centeringStrength)) + : i.d3Force('center', null), + t.linkStrength && i.d3Force('link').strength(t.linkStrength), + t.linkIts && i.d3Force('link').iterations(t.linkIts), + t.charge && i.d3Force('charge').strength(t.charge), + i.d3Force( + 'collide', + t.collision ? o.forceCollide().radius(t.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() + }, + [t], + ) + var L = (0, d.useRef)(0), + B = (0, d.useState)(1), + M = B[0], + W = B[1], + X = (0, f._7)( + function (e) { + return W(e) + }, + { duration: b.animationSpeed, algorithm: w[b.algorithmName] }, + ), + A = (0, a.Z)(X, 2), + _ = A[0], + q = A[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 t = Y(n), + i = e.map(function (e) { + return [e, g.Z(t, Y(e))] + }) + return [n, Object.fromEntries(i)] + }), + ) + }, + [b.nodeColorScheme, b.linkHighlight, b.nodeHighlight, b.linkColorScheme, H], + ), + $ = (0, d.useMemo)( + function () { + var e, + n, + t, + i = + null !== (e = u[null === (n = J.current) || void 0 === n ? void 0 : n.id]) && + void 0 !== e + ? e + : [] + return Object.fromEntries( + [null === (t = J.current) || void 0 === t ? void 0 : t.id] + .concat( + (0, s.Z)( + i.flatMap(function (e) { + return [e.source, e.target] + }), + ), + ) + .map(function (e) { + return [e, {}] + }), + ) + }, + [JSON.stringify(R), J.current], + ), + ne = function (e) { + var n, + t, + i, + r, + o, + l, + s = + null !== (n = null === (t = u[e]) || void 0 === t ? void 0 : t.length) && + void 0 !== n + ? n + : 0, + c = s + ? null === (i = u[e]) || void 0 === i + ? void 0 + : i.filter(function (e) { + return 'parent' === e.type || 'cite' === e.type + }).length + : 0, + a = h.parents ? s : s - c + return b.nodeColorScheme[ + ((r = a), (o = 0), (l = b.nodeColorScheme.length - 1), Math.min(Math.max(r, o), l)) + ] + }, + te = function (e, n) { + return u[e] > u[n] ? ne(e) : ne(n) + }, + ie = 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(',') + + ')' + ) + }, + re = (0, d.useMemo)( + function () { + return Y(b.labelTextColor) + }, + [b.labelTextColor, H], + ), + oe = (0, d.useMemo)( + function () { + return Y(b.labelBackgroundColor) + }, + [b.labelBackgroundColor, H], + ), + le = { + graphData: F, + width: O, + height: N, + backgroundColor: D.colors.gray[b.backgroundColor], + nodeLabel: function (e) { + return e.title + }, + nodeColor: function (e) { + return (function (e) { + var n = P[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, + t = null !== (n = u[e.id]) && void 0 !== n ? n : [], + i = t.length + ? t.filter(function (e) { + return 'parent' === e.type || 'cite' === e.type + }).length + : 0 + return ( + (3 + t.length - (h.parents ? 0 : i)) * + (P[e.id] || $[e.id] ? 1 + M * (b.highlightNodeSize - 1) : 1) + ) + }, + nodeCanvasObject: function (e, n, t) { + if (e && b.labels) { + var i = $[e.id] + if (!(t <= b.labelScale || 1 === b.labels) || P[e.id] || i) { + var r = e.title, + o = r.substring(0, Math.min(r.length, 40)), + l = 12 / t, + c = [1.1 * n.measureText(o).width, l].map(function (e) { + return e + 0.5 * l + }), + a = Math.min((3 * (t - b.labelScale)) / b.labelScale, 1), + d = function () { + return 1 === b.labels || t <= b.labelScale + ? M + : P[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 = ie(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 = ie(re, 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, + linkColor: function (e) { + var n = 'object' === typeof e.source ? e.source.id : e.source, + t = 'object' === typeof e.target ? e.target.id : e.target, + i = pe(e, Z.current), + r = pe(e, J.current) + return (function (e, n, t) { + if (!b.linkHighlight && !b.linkColorScheme && !t) { + var i = te(e, n) + return Y(i) + } + if (!t && !b.linkColorScheme) { + var r = te(e, n) + return Y(r) + } + if (!t) return Y(b.linkColorScheme) + if (!b.linkHighlight && !b.linkColorScheme) { + var o = te(e, n) + return Y(o) + } + return b.linkHighlight + ? b.linkColorScheme + ? G[b.linkColorScheme][b.linkHighlight](M) + : G[te(e, n)][b.linkHighlight](M) + : Y(b.linkColorScheme) + })(n, t, i || r) + }, + linkWidth: function (e) { + var n = pe(e, Z.current), + t = pe(e, J.current) + return n || t ? b.linkWidth * (1 + M * (b.highlightLinkSize - 1)) : b.linkWidth + }, + linkDirectionalParticleWidth: b.particlesWidth, + d3AlphaDecay: t.alphaDecay, + d3AlphaMin: t.alphaMin, + d3VelocityDecay: t.velocityDecay, + onNodeClick: function (e, n) { + var t = n.timeStamp - L.current < 400 + return (L.current = n.timeStamp), E(t ? 'double' : 'click', e) + }, + onBackgroundClick: function () { + T(null), + 0 !== y.nodeIds.length && + C(function (e) { + return de(de({}, e), {}, { nodeIds: [] }) + }) + }, + onNodeHover: function (e) { + b.highlight && (R || (K(), W(0)), T(e)) + }, + onNodeRightClick: function (e) { + E('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) || P[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, t) { + ;(window.__NEXT_P = window.__NEXT_P || []).push([ + '/', + function () { + return t(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-e63523b4f2b01b501b4a.js b/out/_next/static/chunks/pages/index-e63523b4f2b01b501b4a.js deleted file mode 100644 index c28b350..0000000 --- a/out/_next/static/chunks/pages/index-e63523b4f2b01b501b4a.js +++ /dev/null @@ -1,2796 +0,0 @@ -;(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([ - [405], - { - 374: function (e, n, t) { - 'use strict' - t.r(n), - t.d(n, { - Graph: function () { - return je - }, - GraphPage: function () { - return fe - }, - default: function () { - return xe - }, - }) - var i = t(7757), - r = t.n(i), - o = t(2137), - l = t(5893), - s = t(7329), - c = t(6156), - a = t(4699), - d = t(7294) - function u(e, n) { - var t, - i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, - r = h(e, null !== (t = i.storage) && void 0 !== t ? t : localStorage), - o = r.get(), - l = void 0 !== o ? o : n - l !== o && r.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 t = e(n) - return r.update(t), t - }) - : (a(e), r.update(e)) - } - return [c, u] - } - function h(e, n) { - return { - get: function () { - var t = n.getItem(e) - if (t && 'undefined' !== t) return JSON.parse(t) - }, - update: function (t) { - n.setItem(e, JSON.stringify(t)) - }, - remove: function () { - n.removeItem(e) - }, - } - } - var g = t(4533), - x = t(4309), - f = t(2351), - j = t(980), - p = t(8017), - m = t(6194), - b = [], - v = {} - for (var y in m.oY) - for (var C in m.oY[y]) { - var k = y + C - 'LinearNone' === k && (k = 'Linear'), b.push(k), (v[k] = m.oY[y][C]) - } - var w = v, - S = { - enabled: !0, - charge: -700, - collision: !0, - collisionStrength: 20, - centering: !0, - centeringStrength: 0.05, - linkStrength: 0.1, - linkIts: 1, - alphaDecay: 0.02, - alphaTarget: 0, - alphaMin: 0, - velocityDecay: 0.25, - gravity: 0.3, - gravityOn: !0, - }, - I = { orphans: !1, parents: !0, tags: [], nodes: [], links: [], date: [] }, - O = { - particles: !1, - particlesNumber: 0, - particlesWidth: 4, - 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, - }, - N = { follow: 'zoom', localSame: 'add', zoomPadding: 200, zoomSpeed: 2e3 }, - z = { highlight: 'hover', local: 'click', follow: 'double' }, - R = t(7375), - T = t(3924), - D = t(3986), - H = t(9641), - E = t(7546), - Z = t(3441), - P = t(6569), - F = t(4189), - L = t(454), - B = t(8420), - M = t(6699), - W = t(155), - X = t(6769), - A = t(336), - _ = t(2026), - q = t(4096), - U = t(4115), - Q = t(8134), - V = t(8235), - K = t(7273), - J = t(5267), - Y = t(6049), - G = t(3014), - $ = t(6658), - ee = t(9356) - function ne(e, n) { - var t = Object.keys(e) - if (Object.getOwnPropertySymbols) { - var i = Object.getOwnPropertySymbols(e) - n && - (i = i.filter(function (n) { - return Object.getOwnPropertyDescriptor(e, n).enumerable - })), - t.push.apply(t, i) - } - return t - } - function te(e) { - for (var n = 1; n < arguments.length; n++) { - var t = null != arguments[n] ? arguments[n] : {} - n % 2 - ? ne(Object(t), !0).forEach(function (n) { - ;(0, c.Z)(e, n, t[n]) - }) - : Object.getOwnPropertyDescriptors - ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) - : ne(Object(t)).forEach(function (n) { - Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n)) - }) - } - return e - } - var ie = function (e) { - var n = e.physics, - t = e.setPhysics, - i = e.threeDim, - r = 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], - v = m[1], - y = (0, d.useContext)(ee.N), - C = y.highlightColor, - k = y.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', - ], - F = [ - '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)(L.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 v(!0) - }, - }), - }), - }), - (0, l.jsx)(L.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 r(!i) - }, - variant: 'ghost', - zIndex: 'overlay', - children: i ? '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(O), c(I), x(z), t(S), j(N) - }, - variant: 'none', - size: 'sm', - }), - }), - (0, l.jsx)(B.h, { - size: 'sm', - icon: (0, l.jsx)(H.T, {}), - 'aria-label': 'Close Tweak Panel', - variant: 'ghost', - onClick: function () { - return v(!1) - }, - }), - ], - }), - ], - }), - (0, l.jsx)($.ZP, { - autoHeight: !0, - autoHeightMax: 600, - autoHide: !0, - renderThumbVertical: function (e) { - var n = e.style, - t = (0, R.Z)(e, ['style']) - return (0, l.jsx)( - p.xu, - te( - te({}, t), - {}, - { style: te(te({}, n), {}, { borderRadius: 10 }), bg: C }, - ), - ) - }, - children: (0, l.jsxs)(X.UQ, { - allowMultiple: !0, - allowToggle: !0, - color: 'black', - children: [ - (0, l.jsxs)(X.Qd, { - children: [ - (0, l.jsxs)(X.KF, { - children: [ - (0, l.jsx)(X.XE, { marginRight: 2 }), - (0, l.jsx)(A.X, { size: 'sm', children: 'Filter' }), - ], - }), - (0, l.jsx)(X.Hk, { - children: (0, l.jsxs)(_.gC, { - spacing: 2, - justifyContent: 'flex-start', - divider: (0, l.jsx)(_.cX, { borderColor: 'gray.500' }), - align: 'stretch', - paddingLeft: 7, - color: 'gray.800', - children: [ - (0, l.jsxs)(q.k, { - justifyContent: 'space-between', - children: [ - (0, l.jsx)(U.x, { children: 'Orphans' }), - (0, l.jsx)(Q.r, { - onChange: function () { - c(te(te({}, 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(te(te({}, o), {}, { parents: !o.parents })) - }, - isChecked: o.parents, - }), - ], - }), - ], - }), - }), - ], - }), - (0, l.jsxs)(X.Qd, { - children: [ - (0, l.jsx)(X.KF, { - display: 'flex', - justifyContent: 'space-between', - children: (0, l.jsxs)(p.xu, { - display: 'flex', - children: [ - (0, l.jsx)(X.XE, { marginRight: 2 }), - (0, l.jsx)(A.X, { size: 'sm', children: 'Physics' }), - ], - }), - }), - (0, l.jsxs)(X.Hk, { - children: [ - (0, l.jsxs)(_.gC, { - spacing: 2, - justifyContent: 'flex-start', - divider: (0, l.jsx)(_.cX, { borderColor: 'gray.500' }), - align: 'stretch', - paddingLeft: 7, - color: 'gray.800', - children: [ - (0, l.jsx)(le, { - label: 'Gravity', - value: n.gravityOn, - onChange: function () { - return t(te(te({}, n), {}, { gravityOn: !n.gravityOn })) - }, - children: (0, l.jsx)(oe, { - label: 'Strength', - value: 10 * n.gravity, - onChange: function (e) { - return t(te(te({}, n), {}, { gravity: e / 10 })) - }, - }), - }), - (0, l.jsx)(oe, { - value: -n.charge / 100, - onChange: function (e) { - return t(te(te({}, 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 t(te(te({}, n), {}, { collision: !n.collision })) - }, - children: (0, l.jsx)(oe, { - value: n.collisionStrength / 5, - onChange: function (e) { - return t( - te(te({}, 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 t(te(te({}, n), {}, { linkStrength: e / 5 })) - }, - label: 'Link Force', - }), - (0, l.jsx)(oe, { - label: 'Link Iterations', - value: n.linkIts, - onChange: function (e) { - return t(te(te({}, 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 t(te(te({}, n), {}, { velocityDecay: e / 10 })) - }, - }), - ], - }), - (0, l.jsx)(p.xu, { - children: (0, l.jsx)(X.UQ, { - paddingLeft: 3, - allowToggle: !0, - children: (0, l.jsxs)(X.Qd, { - children: [ - (0, l.jsxs)(X.KF, { - children: [ - (0, l.jsx)(U.x, { children: 'Advanced' }), - (0, l.jsx)(X.XE, { marginRight: 2 }), - ], - }), - (0, l.jsx)(X.Hk, { - children: (0, l.jsxs)(_.gC, { - spacing: 2, - justifyContent: 'flex-start', - divider: (0, l.jsx)(_.cX, { - borderColor: 'gray.500', - }), - align: 'stretch', - paddingLeft: 3, - color: 'gray.800', - children: [ - (0, l.jsx)(oe, { - label: 'Stabilization rate', - value: 50 * n.alphaDecay, - onChange: function (e) { - return t( - te(te({}, n), {}, { alphaDecay: e / 50 }), - ) - }, - }), - (0, l.jsx)(le, { - label: 'Center nodes', - value: n.centering, - onChange: function () { - return t( - te( - te({}, 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 t( - te(te({}, n), {}, { centeringStrength: e }), - ) - }, - }), - }), - ], - }), - }), - ], - }), - }), - }), - ], - }), - ], - }), - (0, l.jsxs)(X.Qd, { - children: [ - (0, l.jsxs)(X.KF, { - children: [ - (0, l.jsx)(X.XE, { marginRight: 2 }), - (0, l.jsx)(A.X, { size: 'sm', children: 'Visual' }), - ], - }), - (0, l.jsx)(X.Hk, { - children: (0, l.jsxs)(_.gC, { - justifyContent: 'flex-start', - align: 'stretch', - children: [ - (0, l.jsx)(X.UQ, { - allowToggle: !0, - defaultIndex: [0], - paddingLeft: 3, - children: (0, l.jsxs)(X.Qd, { - children: [ - (0, l.jsx)(X.KF, { - children: (0, l.jsxs)(q.k, { - justifyContent: 'space-between', - w: '100%', - children: [ - (0, l.jsx)(U.x, { children: 'Colors' }), - (0, l.jsx)(X.XE, { marginRight: 2 }), - ], - }), - }), - (0, l.jsx)(X.Hk, { - children: (0, l.jsx)(_.gC, { - spacing: 2, - justifyContent: 'flex-start', - divider: (0, l.jsx)(_.cX, { - borderColor: 'gray.500', - }), - align: 'stretch', - color: 'gray.800', - children: (0, l.jsxs)(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)(E.n, {}), - variant: 'ghost', - onClick: function () { - var e, - n = - null !== (e = u.nodeColorScheme) && - void 0 !== e - ? e - : [] - h( - te( - te({}, 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)(Z.L, {}), - size: 'sm', - variant: 'ghost', - onClick: function () { - var e, - n = - null !== (e = u.nodeColorScheme) && - void 0 !== e - ? e - : [] - h( - te( - te({}, 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)(P.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( - te( - te({}, 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)(P.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( - te( - te({}, 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, - ) - }, - ), - }), - }), - F.map(function (e) { - return (0, l.jsx)( - V.sN, - { - onClick: function () { - return h( - te( - te({}, 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)(P.v, {}), - children: (0, l.jsx)(p.xu, { - bgColor: C, - 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)(P.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( - te( - te({}, 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( - te( - te({}, 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)(P.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( - te( - te({}, 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( - te( - te({}, 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)(P.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: F.map(function (e) { - return (0, l.jsx)( - V.sN, - { - onClick: function () { - return h( - te( - te({}, 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)(P.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( - te( - te({}, 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( - te( - te({}, 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(te(te({}, u), {}, { nodeRel: e })) - }, - }), - i && - (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(te(te({}, u), {}, { nodeOpacity: e })) - }, - }), - (0, l.jsx)(oe, { - label: 'Node resolution', - value: u.nodeResolution, - min: 5, - max: 32, - step: 1, - onChange: function (e) { - return h(te(te({}, u), {}, { nodeResolution: e })) - }, - }), - ], - }), - (0, l.jsx)(oe, { - label: 'Link width', - value: u.linkWidth, - onChange: function (e) { - return h(te(te({}, u), {}, { linkWidth: e })) - }, - }), - i && - (0, l.jsx)(oe, { - label: 'Link opacity', - min: 0, - max: 1, - value: u.linkOpacity, - onChange: function (e) { - return h(te(te({}, 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)(P.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( - te(te({}, u), {}, { labels: 0 }), - ) - }, - children: 'Never', - }), - (0, l.jsx)(V.sN, { - onClick: function () { - return h( - te(te({}, u), {}, { labels: 1 }), - ) - }, - children: 'On Highlight', - }), - (0, l.jsx)(V.sN, { - onClick: function () { - return h( - te(te({}, u), {}, { labels: 2 }), - ) - }, - children: 'Always', - }), - (0, l.jsx)(V.sN, { - onClick: function () { - return h( - te(te({}, 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)(P.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: F.map(function (e) { - return (0, l.jsx)( - V.sN, - { - onClick: function () { - return h( - te( - te({}, 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)(P.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( - te( - te({}, u), - {}, - { - labelBackgroundColor: - '', - }, - ), - ) - }, - justifyContent: 'space-between', - alignItems: 'center', - display: 'flex', - children: 'None', - }), - F.map(function (e) { - return (0, l.jsx)( - V.sN, - { - onClick: function () { - return h( - te( - te({}, 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( - te( - te({}, 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( - te( - te({}, u), - {}, - { labelScale: e / 5 }, - ), - ) - }, - }), - }), - }), - ], - }), - }), - ], - }), - (0, l.jsxs)(le, { - label: 'Directional Particles', - value: u.particles, - onChange: function () { - return h(te(te({}, u), {}, { particles: !u.particles })) - }, - children: [ - (0, l.jsx)(oe, { - label: 'Particle Number', - value: u.particlesNumber, - max: 5, - step: 1, - onChange: function (e) { - return h(te(te({}, u), {}, { particlesNumber: e })) - }, - }), - (0, l.jsx)(oe, { - label: 'Particle Size', - value: u.particlesWidth, - onChange: function (e) { - return h(te(te({}, u), {}, { particlesWidth: e })) - }, - }), - ], - }), - (0, l.jsx)(le, { - label: 'Highlight', - onChange: function () { - return h(te(te({}, 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( - te(te({}, u), {}, { highlightLinkSize: e }), - ) - }, - }), - (0, l.jsx)(oe, { - label: 'Highlight Node Size', - value: u.highlightNodeSize, - onChange: function (e) { - return h( - te(te({}, u), {}, { highlightNodeSize: e }), - ) - }, - }), - (0, l.jsxs)(le, { - label: 'Highlight Animation', - onChange: function () { - h( - te( - te({}, u), - {}, - { highlightAnim: !u.highlightAnim }, - ), - ) - }, - value: u.highlightAnim, - children: [ - (0, l.jsx)(oe, { - label: 'Animation speed', - onChange: function (e) { - return h( - te(te({}, 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( - te( - te({}, u), - {}, - { algorithmName: e.target.value }, - ), - ) - }, - children: u.algorithmOptions.map(function (e) { - return (0, - l.jsx)('option', { value: e, children: e }, e) - }), - }), - ], - }), - ], - }), - }), - ], - }), - ], - }), - }), - ], - }), - (0, l.jsxs)(X.Qd, { - children: [ - (0, l.jsxs)(X.KF, { - children: [ - (0, l.jsx)(X.XE, { marginRight: 2 }), - (0, l.jsx)(A.X, { size: 'sm', children: 'Behavior' }), - ], - }), - (0, l.jsx)(X.Hk, { - children: (0, l.jsxs)(_.gC, { - spacing: 2, - justifyContent: 'flex-start', - divider: (0, l.jsx)(_.cX, { borderColor: 'gray.500' }), - align: 'stretch', - paddingLeft: 7, - color: 'gray.800', - children: [ - (0, l.jsxs)(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)(re, { - 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)(P.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(te(te({}, g), {}, { local: '' })) - }, - children: 'Never', - }), - (0, l.jsx)(V.sN, { - onClick: function () { - return x( - te(te({}, g), {}, { local: 'click' }), - ) - }, - children: 'Click', - }), - (0, l.jsx)(V.sN, { - onClick: function () { - return x( - te(te({}, g), {}, { local: 'double' }), - ) - }, - children: 'Double Click', - }), - (0, l.jsx)(V.sN, { - onClick: function () { - return x( - te(te({}, 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)(P.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(te(te({}, g), {}, { follow: '' })) - }, - children: 'Never', - }), - (0, l.jsx)(V.sN, { - onClick: function () { - return x( - te(te({}, g), {}, { follow: 'click' }), - ) - }, - children: 'Click', - }), - (0, l.jsx)(V.sN, { - onClick: function () { - return x( - te(te({}, g), {}, { follow: 'double' }), - ) - }, - children: 'Double Click', - }), - (0, l.jsx)(V.sN, { - onClick: function () { - return x( - te(te({}, 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)(P.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( - te(te({}, f), {}, { follow: 'local' }), - ) - }, - children: 'Opening the local graph', - }), - (0, l.jsx)(V.sN, { - onClick: function () { - return j( - te(te({}, 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(te(te({}, f), {}, { zoomSpeed: e })) - }, - }), - (0, l.jsx)(oe, { - label: 'Zoom padding', - value: f.zoomPadding, - min: 0, - max: 400, - step: 1, - onChange: function (e) { - return j(te(te({}, f), {}, { zoomPadding: e })) - }, - infoText: - 'How much to zoom out to accomodate all nodes when changing the view.', - }), - ], - }), - }), - ], - }), - ], - }), - }), - ], - }), - }), - ], - }) - }, - re = 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)(F.h, {}), - }), - }) - }, - oe = function (e) { - var n = e.min, - t = void 0 === n ? 0 : n, - i = e.max, - r = void 0 === i ? 10 : i, - 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)(re, { infoText: x })], - }), - (0, l.jsxs)(G.iR, { - value: a, - onChange: h, - min: t, - max: r, - 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, - t = e.onChange, - i = e.label, - r = 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: i }), - r && (0, l.jsx)(re, { infoText: r }), - ], - }), - (0, l.jsx)(Q.r, { isChecked: !!n, onChange: t }), - ], - }), - (0, l.jsx)(J.U, { - in: !!n, - animateOpacity: !0, - children: (0, l.jsx)(p.xu, { - paddingLeft: 4, - paddingTop: 2, - paddingBottom: 2, - children: o, - }), - }), - ], - }) - }, - se = t(1122), - ce = t(2003) - function ae(e, n) { - var t = Object.keys(e) - if (Object.getOwnPropertySymbols) { - var i = Object.getOwnPropertySymbols(e) - n && - (i = i.filter(function (n) { - return Object.getOwnPropertyDescriptor(e, n).enumerable - })), - t.push.apply(t, i) - } - return t - } - function de(e) { - for (var n = 1; n < arguments.length; n++) { - var t = null != arguments[n] ? arguments[n] : {} - n % 2 - ? ae(Object(t), !0).forEach(function (n) { - ;(0, c.Z)(e, n, t[n]) - }) - : Object.getOwnPropertyDescriptors - ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) - : ae(Object(t)).forEach(function (n) { - Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n)) - }) - } - return e - } - var ue = t.e(4).then(t.bind(t, 7004)), - he = t.g.window ? t(1957).f$ : null, - ge = t.g.window ? t(1957).s6 : null - function xe() { - var e = (0, d.useState)(!1), - n = e[0], - t = e[1] - return ( - (0, d.useEffect)(function () { - t(!0) - }, []), - n ? (0, l.jsx)(fe, {}) : null - ) - } - function fe() { - var e = u('physics', S), - n = (0, a.Z)(e, 2), - t = n[0], - i = n[1], - r = u('filter', I), - o = (0, a.Z)(r, 2), - h = o[0], - g = o[1], - x = u('visuals', O), - f = (0, a.Z)(x, 2), - j = f[0], - m = f[1], - b = (0, d.useState)(null), - v = b[0], - y = b[1], - C = (0, d.useState)(null), - k = C[0], - w = C[1], - R = u('behavior', N), - T = (0, a.Z)(R, 2), - D = T[0], - H = T[1], - E = u('mouse', z), - Z = (0, a.Z)(E, 2), - P = Z[0], - F = Z[1], - L = (0, d.useRef)({}), - B = (0, d.useRef)({}), - M = (0, d.useContext)(ee.N).setEmacsTheme, - W = (0, d.useState)(!1), - X = W[0], - A = W[1], - _ = (0, d.useState)({ nodeIds: [] }), - q = _[0], - U = _[1], - Q = (0, d.useRef)({ nodeIds: [] }), - V = (0, d.useRef)(N) - V.current = D - var K = (0, d.useRef)(null), - J = (0, d.useRef)(null) - Q.current = q - var Y = function (e, n) { - var t, - i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 2e3, - r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 200, - o = K.current, - l = Q.current, - c = V.current, - a = null !== (t = B.current[n]) && void 0 !== t ? t : [], - 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(i, r, function (e) { - return d[e.id] - }) - }, 50)) - : l.nodeIds.length - ? 'add' !== c.localSame - ? (U({ nodeIds: [n] }), - void setTimeout(function () { - o.zoomToFit(i, r, 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(i, r, function (e) { - return d[e.id] - }) - }, 50)) - : (U({ nodeIds: [n] }), - void setTimeout(function () { - o.zoomToFit(i, r, function (e) { - return d[e.id] - }) - }, 50)) - : (U({ nodeIds: [n] }), - void setTimeout(function () { - o.zoomToFit(i, r, 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, - t = JSON.parse(e.data) - switch (t.type) { - case 'graphdata': - return (function (e) { - var n = e.nodes.reduce(function (e, n) { - var t - return de( - de({}, e), - {}, - (0, c.Z)( - {}, - n.file, - [].concat( - (0, s.Z)(null !== (t = e[n.file]) && void 0 !== t ? t : []), - [n], - ), - ), - ) - }, {}), - t = Object.keys(n).flatMap(function (e) { - var t, - i = null !== (t = n[e]) && void 0 !== t ? t : [], - r = i.find(function (e) { - return 0 === e.level - }), - o = i.filter(function (e) { - return 0 !== e.level - }) - return r - ? o.map(function (e) { - return { source: e.id, target: r.id, type: 'parent' } - }) - : [] - }) - L.current = Object.fromEntries( - e.nodes.map(function (e) { - return [e.id, e] - }), - ) - var i = [].concat((0, s.Z)(e.links), (0, s.Z)(t)) - B.current = i.reduce(function (e, n) { - var t, i, r - return de( - de({}, e), - {}, - ((r = {}), - (0, c.Z)( - r, - n.source, - [].concat( - (0, s.Z)(null !== (t = e[n.source]) && void 0 !== t ? t : []), - [n], - ), - ), - (0, c.Z)( - r, - n.target, - [].concat( - (0, s.Z)(null !== (i = e[n.target]) && void 0 !== i ? i : []), - [n], - ), - ), - r), - ) - }, {}) - var r = de(de({}, e), {}, { links: i }), - o = JSON.parse(JSON.stringify(r)) - y(o) - })(t.data) - case 'theme': - return M(t.data) - case 'command': - switch (t.data.commandName) { - case 'local': - var i = D.zoomSpeed, - r = D.zoomPadding - Y('local', t.data.id, i, r), w(t.data.id) - break - case 'zoom': - var o, - l, - a = - (null === t || void 0 === t || null === (o = t.data) || void 0 === o - ? void 0 - : o.speed) || n.zoomSpeed, - d = - (null === t || void 0 === t || null === (l = t.data) || void 0 === l - ? void 0 - : l.padding) || n.zoomPadding - Y('zoom', t.data.id, a, d), w(t.data.id) - break - case 'follow': - Y(n.follow, t.data.id, n.zoomSpeed, n.zoomPadding), w(t.data.id) - break - default: - return console.error('unknown message type', t.type) - } - } - }) - }, []), - v - ? (0, l.jsxs)(p.xu, { - display: 'flex', - alignItems: 'flex-start', - flexDirection: 'row', - height: '100%', - children: [ - (0, l.jsx)( - ie, - de( - {}, - { - physics: t, - setPhysics: i, - threeDim: X, - setThreeDim: A, - filter: h, - setFilter: g, - visuals: j, - setVisuals: m, - mouse: P, - setMouse: F, - behavior: D, - setBehavior: H, - }, - ), - ), - (0, l.jsx)(p.xu, { - position: 'absolute', - alignItems: 'top', - children: (0, l.jsx)( - je, - de( - { ref: K, nodeById: L.current, linksByNodeId: B.current }, - { - physics: t, - graphData: v, - threeDim: X, - emacsNodeId: k, - filter: h, - visuals: j, - behavior: D, - mouse: P, - scope: q, - setScope: U, - }, - ), - ), - }), - ], - }) - : null - ) - } - var je = (0, d.forwardRef)(function (e, n) { - var t = e.physics, - i = e.graphData, - c = e.threeDim, - u = e.linksByNodeId, - h = e.filter, - p = e.emacsNodeId, - m = e.nodeById, - b = e.visuals, - v = (e.behavior, e.mouse), - y = e.scope, - C = e.setScope, - k = (0, x.iP)(), - S = (0, a.Z)(k, 2), - I = S[0], - O = S[1], - N = (0, d.useState)(null), - z = N[0], - R = N[1], - T = function (e, n) { - switch (e) { - case v.local: - if (y.nodeIds.includes(n.id)) break - C(function (e) { - return de(de({}, e), {}, { nodeIds: [].concat((0, s.Z)(e.nodeIds), [n.id]) }) - }) - break - case v.follow: - window.open('org-protocol://roam-node?node=' + n.id, '_self') - } - }, - D = (0, d.useRef)(null) - ;(0, d.useEffect)( - function () { - p && R(m[p]) - }, - [p], - ), - (D.current = z) - var H = (0, d.useMemo)( - function () { - if (!D.current) return {} - var e = u[D.current.id] - return e - ? Object.fromEntries( - [D.current.id] - .concat( - (0, s.Z)( - e.flatMap(function (e) { - return [e.source, e.target] - }), - ), - ) - .map(function (e) { - return [e, {}] - }), - ) - : {} - }, - [D.current, u], - ), - E = (0, d.useMemo)( - function () { - var e = i.nodes.filter(function (e) { - var n, - t = null !== (n = u[e.id]) && void 0 !== n ? n : [] - return ( - !h.orphans || - (h.parents - ? 0 !== t.length - : 0 !== t.length && - t.some(function (e) { - return !['parent', 'cite', 'ref'].includes(e.type) - })) - ) - }), - n = i.links.filter(function (e) { - var n = e - return 'cite' !== n.type && (h.parents || 'parent' !== n.type) - }), - t = e.filter(function (e) { - var n, - t = null !== (n = u[e.id]) && void 0 !== n ? n : [] - return ( - y.nodeIds.includes(e.id) || - t.some(function (e) { - return y.nodeIds.includes(e.source) || y.nodeIds.includes(e.target) - }) - ) - }), - r = t.map(function (e) { - return e.id - }), - o = n.filter(function (e) { - var n = 'object' === typeof e.source ? e.source.id : e.source, - t = 'object' === typeof e.target ? e.target.id : e.target - return r.includes(n) && r.includes(t) - }) - return 0 === y.nodeIds.length ? { nodes: e, links: n } : { nodes: t, links: o } - }, - [h, y, i], - ) - ;(0, d.useEffect)(function () { - ;(0, o.Z)( - r().mark(function e() { - var i, o - return r().wrap(function (e) { - for (;;) - switch ((e.prev = e.next)) { - case 0: - return (i = n.current), (e.next = 3), ue - case 3: - ;(o = e.sent), - t.gravityOn - ? (i.d3Force('x', o.forceX().strength(t.gravity)), - i.d3Force('y', o.forceY().strength(t.gravity)), - c && i.d3Force('z', o.forceZ().strength(t.gravity))) - : (i.d3Force('x', null), i.d3Force('y', null), c && i.d3Force('z', null)), - t.centering - ? i.d3Force('center', o.forceCenter().strength(t.centeringStrength)) - : i.d3Force('center', null), - t.linkStrength && i.d3Force('link').strength(t.linkStrength), - t.linkIts && i.d3Force('link').iterations(t.linkIts), - t.charge && i.d3Force('charge').strength(t.charge), - i.d3Force( - 'collide', - t.collision ? o.forceCollide().radius(t.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() - }, - [t], - ) - var Z = (0, d.useRef)(0), - P = (0, d.useState)(1), - F = P[0], - L = P[1], - B = (0, f._7)( - function (e) { - return L(e) - }, - { duration: b.animationSpeed, algorithm: w[b.algorithmName] }, - ), - M = (0, a.Z)(B, 2), - W = M[0], - X = M[1], - A = (0, f._7)( - function (e) { - return L(Math.min(F, -1 * (e - 1))) - }, - { duration: b.animationSpeed, algorithm: w[b.algorithmName] }, - ), - _ = (0, a.Z)(A, 2), - q = _[0], - U = _[1], - Q = (0, d.useRef)(null) - ;(0, d.useEffect)( - function () { - if ((z && (Q.current = z), !b.highlightAnim)) return L(z ? 1 : 0) - z ? W() : (X(), F > 0.5 ? q() : L(0)) - }, - [z], - ) - var V = (0, j.useTheme)(), - K = - ((0, d.useContext)(ee.N), - function (e) { - if (V) - return e.split('.').reduce(function (e, n) { - return e[n] - }, V.colors) - }), - J = (0, d.useMemo)( - function () { - var e = b.nodeColorScheme.concat( - b.linkColorScheme || [], - b.linkHighlight || [], - b.nodeHighlight || [], - ) - return Object.fromEntries( - e.map(function (n) { - var t = K(n), - i = e.map(function (e) { - return [e, g.Z(t, K(e))] - }) - return [n, Object.fromEntries(i)] - }), - ) - }, - [b.nodeColorScheme, b.linkHighlight, b.nodeHighlight, b.linkColorScheme], - ), - Y = (0, d.useMemo)( - function () { - var e, - n, - t, - i = - null !== (e = u[null === (n = Q.current) || void 0 === n ? void 0 : n.id]) && - void 0 !== e - ? e - : [] - return Object.fromEntries( - [null === (t = Q.current) || void 0 === t ? void 0 : t.id] - .concat( - (0, s.Z)( - i.flatMap(function (e) { - return [e.source, e.target] - }), - ), - ) - .map(function (e) { - return [e, {}] - }), - ) - }, - [JSON.stringify(z), Q.current], - ), - G = function (e) { - var n, - t, - i, - r, - o, - l, - s = - null !== (n = null === (t = u[e]) || void 0 === t ? void 0 : t.length) && - void 0 !== n - ? n - : 0, - c = s - ? null === (i = u[e]) || void 0 === i - ? void 0 - : i.filter(function (e) { - return 'parent' === e.type || 'cite' === e.type - }).length - : 0, - a = h.parents ? s : s - c - return b.nodeColorScheme[ - ((r = a), (o = 0), (l = b.nodeColorScheme.length - 1), Math.min(Math.max(r, o), l)) - ] - }, - $ = function (e, n) { - return u[e] > u[n] ? G(e) : G(n) - }, - ne = 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(',') + - ')' - ) - }, - te = (0, d.useMemo)( - function () { - return K(b.labelTextColor) - }, - [b.labelTextColor], - ), - ie = (0, d.useMemo)( - function () { - return K(b.labelBackgroundColor) - }, - [b.labelBackgroundColor], - ), - re = { - graphData: E, - width: I, - height: O, - backgroundColor: V.colors.gray[b.backgroundColor], - nodeLabel: function (e) { - return e.title - }, - nodeColor: function (e) { - return (function (e) { - var n = H[e.id] || Y[e.id] - return b.emacsNodeColor && e.id === p - ? K(b.emacsNodeColor) - : n && b.nodeHighlight - ? J[G(e.id)][b.nodeHighlight](F) - : K(G(e.id)) - })(e) - }, - nodeRelSize: b.nodeRel, - nodeVal: function (e) { - var n, - t = null !== (n = u[e.id]) && void 0 !== n ? n : [], - i = t.length - ? t.filter(function (e) { - return 'parent' === e.type || 'cite' === e.type - }).length - : 0 - return ( - (3 + t.length - (h.parents ? 0 : i)) * - (H[e.id] || Y[e.id] ? 1 + F * (b.highlightNodeSize - 1) : 1) - ) - }, - nodeCanvasObject: function (e, n, t) { - if (e && b.labels) { - var i = Y[e.id] - if (!(t <= b.labelScale || 1 === b.labels) || H[e.id] || i) { - var r = e.title, - o = r.substring(0, Math.min(r.length, 40)), - l = 12 / t, - c = [1.1 * n.measureText(o).width, l].map(function (e) { - return e + 0.5 * l - }), - a = Math.min((3 * (t - b.labelScale)) / b.labelScale, 1), - d = function () { - return 1 === b.labels || t <= b.labelScale - ? F - : H[e.id] || Y[e.id] - ? Math.max(a, F) - : 1 * a * (-1 * (0.5 * F - 1)) - } - if (b.labelBackgroundColor && b.labelBackgroundOpacity) { - var u = d() * b.labelBackgroundOpacity, - h = ne(ie, 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 = ne(te, 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, - linkColor: function (e) { - var n = 'object' === typeof e.source ? e.source.id : e.source, - t = 'object' === typeof e.target ? e.target.id : e.target, - i = pe(e, D.current), - r = pe(e, Q.current) - return (function (e, n, t) { - if (!b.linkHighlight && !b.linkColorScheme && !t) { - var i = $(e, n) - return K(i) - } - if (!t && !b.linkColorScheme) { - var r = $(e, n) - return K(r) - } - if (!t) return K(b.linkColorScheme) - if (!b.linkHighlight && !b.linkColorScheme) { - var o = $(e, n) - return K(o) - } - return b.linkHighlight - ? b.linkColorScheme - ? J[b.linkColorScheme][b.linkHighlight](F) - : J[$(e, n)][b.linkHighlight](F) - : K(b.linkColorScheme) - })(n, t, i || r) - }, - linkWidth: function (e) { - var n = pe(e, D.current), - t = pe(e, Q.current) - return n || t ? b.linkWidth * (1 + F * (b.highlightLinkSize - 1)) : b.linkWidth - }, - linkDirectionalParticleWidth: b.particlesWidth, - d3AlphaDecay: t.alphaDecay, - d3AlphaMin: t.alphaMin, - d3VelocityDecay: t.velocityDecay, - onNodeClick: function (e, n) { - var t = n.timeStamp - Z.current < 400 - return (Z.current = n.timeStamp), T(t ? 'double' : 'click', e) - }, - onBackgroundClick: function () { - R(null), - 0 !== y.nodeIds.length && - C(function (e) { - return de(de({}, e), {}, { nodeIds: [] }) - }) - }, - onNodeHover: function (e) { - b.highlight && (z || (U(), L(0)), R(e)) - }, - onNodeRightClick: function (e) { - T('right', e) - }, - } - return (0, l.jsx)('div', { - children: c - ? (0, l.jsx)( - ge, - de( - de({ ref: n }, re), - {}, - { - nodeThreeObjectExtend: !0, - backgroundColor: V.colors.white, - nodeOpacity: b.nodeOpacity, - nodeResolution: b.nodeResolution, - linkOpacity: b.linkOpacity, - nodeThreeObject: function (e) { - if (b.labels && (!(b.labels < 3) || H[e.id])) { - var n = new se.Z(e.title.substring(0, 40)) - return ( - (n.color = K(b.labelTextColor)), - (n.backgroundColor = K(b.labelBackgroundColor)), - (n.padding = 2), - (n.textHeight = 8), - n - ) - } - }, - }, - ), - ) - : (0, l.jsx)(he, de({ ref: n }, re)), - }) - }) - 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, t) { - ;(window.__NEXT_P = window.__NEXT_P || []).push([ - '/', - function () { - return t(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/sqy183jmJB5HZRA44nlqt/_buildManifest.js b/out/_next/static/sqy183jmJB5HZRA44nlqt/_buildManifest.js new file mode 100644 index 0000000..7670619 --- /dev/null +++ b/out/_next/static/sqy183jmJB5HZRA44nlqt/_buildManifest.js @@ -0,0 +1,12 @@ +;(self.__BUILD_MANIFEST = { + __rewrites: { beforeFiles: [], afterFiles: [], fallback: [] }, + '/': [ + 'static/chunks/fb7d5399-0d6001c72a29ebec41eb.js', + 'static/chunks/d25bd147-65fcc4c92edba8b370fb.js', + 'static/chunks/906-f789bd1954ec4d176da1.js', + 'static/chunks/pages/index-5cea1a6a4f484642ff08.js', + ], + '/_error': ['static/chunks/pages/_error-a0e21b9b223f827fe1f2.js'], + sortedPages: ['/', '/_app', '/_error'], +}), + self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB() diff --git a/out/_next/static/sqy183jmJB5HZRA44nlqt/_ssgManifest.js b/out/_next/static/sqy183jmJB5HZRA44nlqt/_ssgManifest.js new file mode 100644 index 0000000..82bedd6 --- /dev/null +++ b/out/_next/static/sqy183jmJB5HZRA44nlqt/_ssgManifest.js @@ -0,0 +1 @@ +;(self.__SSG_MANIFEST = new Set()), self.__SSG_MANIFEST_CB && self.__SSG_MANIFEST_CB() diff --git a/out/index.html b/out/index.html index 7f2aef0..716c52f 100644 --- a/out/index.html +++ b/out/index.html @@ -19,9 +19,9 @@ - - - + + +
@@ -697,7 +697,7 @@ "props": { "pageProps": {} }, "page": "/", "query": {}, - "buildId": "Uwb-EHm-AvunyFLIbBaQf", + "buildId": "sqy183jmJB5HZRA44nlqt", "nextExport": true, "autoExport": true, "isFallback": false, diff --git a/out/sw.js b/out/sw.js new file mode 100644 index 0000000..dcbb3a6 --- /dev/null +++ b/out/sw.js @@ -0,0 +1,267 @@ +if (!self.define) { + const e = (e) => { + 'require' !== e && (e += '.js') + let s = Promise.resolve() + return ( + n[e] || + (s = new Promise(async (s) => { + if ('document' in self) { + const n = document.createElement('script') + ;(n.src = e), document.head.appendChild(n), (n.onload = s) + } else importScripts(e), s() + })), + s.then(() => { + if (!n[e]) throw new Error(`Module ${e} didn’t register its module`) + return n[e] + }) + ) + }, + s = (s, n) => { + Promise.all(s.map(e)).then((e) => n(1 === e.length ? e[0] : e)) + }, + n = { require: Promise.resolve(s) } + self.define = (s, t, r) => { + n[s] || + (n[s] = Promise.resolve().then(() => { + let n = {} + const a = { uri: location.origin + s.slice(1) } + return Promise.all( + t.map((s) => { + switch (s) { + case 'exports': + return n + case 'module': + return a + default: + return e(s) + } + }), + ).then((e) => { + const s = r(...e) + return n.default || (n.default = s), n + }) + })) + } +} +define('./sw.js', ['./workbox-ea903bce'], function (e) { + 'use strict' + importScripts(), + self.skipWaiting(), + e.clientsClaim(), + e.precacheAndRoute( + [ + { + url: '/_next/static/chunks/4.2dee5d830195ddd06029.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/chunks/906-f789bd1954ec4d176da1.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/chunks/d25bd147-65fcc4c92edba8b370fb.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/chunks/fb7d5399-0d6001c72a29ebec41eb.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/chunks/framework-2191d16384373197bc0a.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/chunks/main-1b0f1fd287f08bad6012.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/chunks/pages/_app-fbd69a3b63bd43d7f1b0.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/chunks/pages/_error-a0e21b9b223f827fe1f2.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/chunks/pages/index-5cea1a6a4f484642ff08.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/chunks/polyfills-a54b4f32bdc1ef890ddd.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/chunks/webpack-a1ea085630ce50807058.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { url: '/_next/static/css/331301db207a91d407e5.css', revision: 'sqy183jmJB5HZRA44nlqt' }, + { + url: '/_next/static/sqy183jmJB5HZRA44nlqt/_buildManifest.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/sqy183jmJB5HZRA44nlqt/_ssgManifest.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { url: '/favicon.ico', revision: 'c30c7d42707a47a3f4591831641e50dc' }, + { url: '/vercel.svg', revision: '4b4f1876502eb6721764637fe5c41702' }, + ], + { ignoreURLParametersMatching: [] }, + ), + e.cleanupOutdatedCaches(), + e.registerRoute( + '/', + new e.NetworkFirst({ + cacheName: 'start-url', + plugins: [ + { + cacheWillUpdate: async ({ request: e, response: s, event: n, state: t }) => + s && 'opaqueredirect' === s.type + ? new Response(s.body, { status: 200, statusText: 'OK', headers: s.headers }) + : s, + }, + ], + }), + 'GET', + ), + e.registerRoute( + /^https:\/\/fonts\.(?:gstatic)\.com\/.*/i, + new e.CacheFirst({ + cacheName: 'google-fonts-webfonts', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 4, maxAgeSeconds: 31536e3, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /^https:\/\/fonts\.(?:googleapis)\.com\/.*/i, + new e.StaleWhileRevalidate({ + cacheName: 'google-fonts-stylesheets', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 4, maxAgeSeconds: 604800, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\.(?:eot|otf|ttc|ttf|woff|woff2|font.css)$/i, + new e.StaleWhileRevalidate({ + cacheName: 'static-font-assets', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 4, maxAgeSeconds: 604800, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\.(?:jpg|jpeg|gif|png|svg|ico|webp)$/i, + new e.StaleWhileRevalidate({ + cacheName: 'static-image-assets', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 64, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\/_next\/image\?url=.+$/i, + new e.StaleWhileRevalidate({ + cacheName: 'next-image', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 64, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\.(?:mp3|mp4)$/i, + new e.StaleWhileRevalidate({ + cacheName: 'static-media-assets', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 32, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\.(?:js)$/i, + new e.StaleWhileRevalidate({ + cacheName: 'static-js-assets', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 32, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\.(?:css|less)$/i, + new e.StaleWhileRevalidate({ + cacheName: 'static-style-assets', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 32, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\/_next\/data\/.+\/.+\.json$/i, + new e.StaleWhileRevalidate({ + cacheName: 'next-data', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 32, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\.(?:json|xml|csv)$/i, + new e.NetworkFirst({ + cacheName: 'static-data-assets', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 32, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + ({ url: e }) => { + if (!(self.origin === e.origin)) return !1 + const s = e.pathname + return !s.startsWith('/api/auth/') && !!s.startsWith('/api/') + }, + new e.NetworkFirst({ + cacheName: 'apis', + networkTimeoutSeconds: 10, + plugins: [ + new e.ExpirationPlugin({ maxEntries: 16, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + ({ url: e }) => { + if (!(self.origin === e.origin)) return !1 + return !e.pathname.startsWith('/api/') + }, + new e.NetworkFirst({ + cacheName: 'others', + networkTimeoutSeconds: 10, + plugins: [ + new e.ExpirationPlugin({ maxEntries: 32, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + ({ url: e }) => !(self.origin === e.origin), + new e.NetworkFirst({ + cacheName: 'cross-origin', + networkTimeoutSeconds: 10, + plugins: [ + new e.ExpirationPlugin({ maxEntries: 32, maxAgeSeconds: 3600, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ) +}) diff --git a/out/workbox-ea903bce.js b/out/workbox-ea903bce.js new file mode 100644 index 0000000..1d33a59 --- /dev/null +++ b/out/workbox-ea903bce.js @@ -0,0 +1,1023 @@ +define('./workbox-ea903bce.js', ['exports'], function (t) { + 'use strict' + try { + self['workbox:core:6.1.5'] && _() + } catch (t) {} + const e = (t, ...e) => { + let s = t + return e.length > 0 && (s += ` :: ${JSON.stringify(e)}`), s + } + class s extends Error { + constructor(t, s) { + super(e(t, s)), (this.name = t), (this.details = s) + } + } + try { + self['workbox:routing:6.1.5'] && _() + } catch (t) {} + const n = (t) => (t && 'object' == typeof t ? t : { handle: t }) + class i { + constructor(t, e, s = 'GET') { + ;(this.handler = n(e)), (this.match = t), (this.method = s) + } + setCatchHandler(t) { + this.catchHandler = n(t) + } + } + class r extends i { + constructor(t, e, s) { + super( + ({ url: e }) => { + const s = t.exec(e.href) + if (s && (e.origin === location.origin || 0 === s.index)) return s.slice(1) + }, + e, + s, + ) + } + } + class a { + constructor() { + ;(this.t = new Map()), (this.i = new Map()) + } + get routes() { + return this.t + } + addFetchListener() { + self.addEventListener('fetch', (t) => { + const { request: e } = t, + s = this.handleRequest({ request: e, event: t }) + s && t.respondWith(s) + }) + } + addCacheListener() { + self.addEventListener('message', (t) => { + if (t.data && 'CACHE_URLS' === t.data.type) { + const { payload: e } = t.data, + s = Promise.all( + e.urlsToCache.map((e) => { + 'string' == typeof e && (e = [e]) + const s = new Request(...e) + return this.handleRequest({ request: s, event: t }) + }), + ) + t.waitUntil(s), t.ports && t.ports[0] && s.then(() => t.ports[0].postMessage(!0)) + } + }) + } + handleRequest({ request: t, event: e }) { + const s = new URL(t.url, location.href) + if (!s.protocol.startsWith('http')) return + const n = s.origin === location.origin, + { params: i, route: r } = this.findMatchingRoute({ + event: e, + request: t, + sameOrigin: n, + url: s, + }) + let a = r && r.handler + const c = t.method + if ((!a && this.i.has(c) && (a = this.i.get(c)), !a)) return + let o + try { + o = a.handle({ url: s, request: t, event: e, params: i }) + } catch (t) { + o = Promise.reject(t) + } + const h = r && r.catchHandler + return ( + o instanceof Promise && + (this.o || h) && + (o = o.catch(async (n) => { + if (h) + try { + return await h.handle({ url: s, request: t, event: e, params: i }) + } catch (t) { + n = t + } + if (this.o) return this.o.handle({ url: s, request: t, event: e }) + throw n + })), + o + ) + } + findMatchingRoute({ url: t, sameOrigin: e, request: s, event: n }) { + const i = this.t.get(s.method) || [] + for (const r of i) { + let i + const a = r.match({ url: t, sameOrigin: e, request: s, event: n }) + if (a) + return ( + (i = a), + ((Array.isArray(a) && 0 === a.length) || + (a.constructor === Object && 0 === Object.keys(a).length) || + 'boolean' == typeof a) && + (i = void 0), + { route: r, params: i } + ) + } + return {} + } + setDefaultHandler(t, e = 'GET') { + this.i.set(e, n(t)) + } + setCatchHandler(t) { + this.o = n(t) + } + registerRoute(t) { + this.t.has(t.method) || this.t.set(t.method, []), this.t.get(t.method).push(t) + } + unregisterRoute(t) { + if (!this.t.has(t.method)) + throw new s('unregister-route-but-not-found-with-method', { method: t.method }) + const e = this.t.get(t.method).indexOf(t) + if (!(e > -1)) throw new s('unregister-route-route-not-registered') + this.t.get(t.method).splice(e, 1) + } + } + let c + const o = () => (c || ((c = new a()), c.addFetchListener(), c.addCacheListener()), c) + function h(t, e, n) { + let a + if ('string' == typeof t) { + const s = new URL(t, location.href) + a = new i(({ url: t }) => t.href === s.href, e, n) + } else if (t instanceof RegExp) a = new r(t, e, n) + else if ('function' == typeof t) a = new i(t, e, n) + else { + if (!(t instanceof i)) + throw new s('unsupported-route-type', { + moduleName: 'workbox-routing', + funcName: 'registerRoute', + paramName: 'capture', + }) + a = t + } + return o().registerRoute(a), a + } + try { + self['workbox:strategies:6.1.5'] && _() + } catch (t) {} + const u = { + cacheWillUpdate: async ({ response: t }) => (200 === t.status || 0 === t.status ? t : null), + }, + l = { + googleAnalytics: 'googleAnalytics', + precache: 'precache-v2', + prefix: 'workbox', + runtime: 'runtime', + suffix: 'undefined' != typeof registration ? registration.scope : '', + }, + f = (t) => [l.prefix, t, l.suffix].filter((t) => t && t.length > 0).join('-'), + w = (t) => t || f(l.precache), + d = (t) => t || f(l.runtime) + function p() { + return (p = + Object.assign || + function (t) { + for (var e = 1; e < arguments.length; e++) { + var s = arguments[e] + for (var n in s) Object.prototype.hasOwnProperty.call(s, n) && (t[n] = s[n]) + } + return t + }).apply(this, arguments) + } + function y(t, e) { + const s = new URL(t) + for (const t of e) s.searchParams.delete(t) + return s.href + } + class m { + constructor() { + this.promise = new Promise((t, e) => { + ;(this.resolve = t), (this.reject = e) + }) + } + } + const g = new Set() + function R(t) { + return 'string' == typeof t ? new Request(t) : t + } + class v { + constructor(t, e) { + ;(this.h = {}), + Object.assign(this, e), + (this.event = e.event), + (this.u = t), + (this.l = new m()), + (this.p = []), + (this.m = [...t.plugins]), + (this.g = new Map()) + for (const t of this.m) this.g.set(t, {}) + this.event.waitUntil(this.l.promise) + } + async fetch(t) { + const { event: e } = this + let n = R(t) + if ('navigate' === n.mode && e instanceof FetchEvent && e.preloadResponse) { + const t = await e.preloadResponse + if (t) return t + } + const i = this.hasCallback('fetchDidFail') ? n.clone() : null + try { + for (const t of this.iterateCallbacks('requestWillFetch')) + n = await t({ request: n.clone(), event: e }) + } catch (t) { + throw new s('plugin-error-request-will-fetch', { thrownError: t }) + } + const r = n.clone() + try { + let t + t = await fetch(n, 'navigate' === n.mode ? void 0 : this.u.fetchOptions) + for (const s of this.iterateCallbacks('fetchDidSucceed')) + t = await s({ event: e, request: r, response: t }) + return t + } catch (t) { + throw ( + (i && + (await this.runCallbacks('fetchDidFail', { + error: t, + event: e, + originalRequest: i.clone(), + request: r.clone(), + })), + t) + ) + } + } + async fetchAndCachePut(t) { + const e = await this.fetch(t), + s = e.clone() + return this.waitUntil(this.cachePut(t, s)), e + } + async cacheMatch(t) { + const e = R(t) + let s + const { cacheName: n, matchOptions: i } = this.u, + r = await this.getCacheKey(e, 'read'), + a = p({}, i, { cacheName: n }) + s = await caches.match(r, a) + for (const t of this.iterateCallbacks('cachedResponseWillBeUsed')) + s = + (await t({ + cacheName: n, + matchOptions: i, + cachedResponse: s, + request: r, + event: this.event, + })) || void 0 + return s + } + async cachePut(t, e) { + const n = R(t) + var i + await ((i = 0), new Promise((t) => setTimeout(t, i))) + const r = await this.getCacheKey(n, 'write') + if (!e) + throw new s('cache-put-with-no-response', { + url: + ((a = r.url), + new URL(String(a), location.href).href.replace(new RegExp(`^${location.origin}`), '')), + }) + var a + const c = await this.R(e) + if (!c) return !1 + const { cacheName: o, matchOptions: h } = this.u, + u = await self.caches.open(o), + l = this.hasCallback('cacheDidUpdate'), + f = l + ? await (async function (t, e, s, n) { + const i = y(e.url, s) + if (e.url === i) return t.match(e, n) + const r = p({}, n, { ignoreSearch: !0 }), + a = await t.keys(e, r) + for (const e of a) if (i === y(e.url, s)) return t.match(e, n) + })(u, r.clone(), ['__WB_REVISION__'], h) + : null + try { + await u.put(r, l ? c.clone() : c) + } catch (t) { + throw ( + ('QuotaExceededError' === t.name && + (await (async function () { + for (const t of g) await t() + })()), + t) + ) + } + for (const t of this.iterateCallbacks('cacheDidUpdate')) + await t({ + cacheName: o, + oldResponse: f, + newResponse: c.clone(), + request: r, + event: this.event, + }) + return !0 + } + async getCacheKey(t, e) { + if (!this.h[e]) { + let s = t + for (const t of this.iterateCallbacks('cacheKeyWillBeUsed')) + s = R(await t({ mode: e, request: s, event: this.event, params: this.params })) + this.h[e] = s + } + return this.h[e] + } + hasCallback(t) { + for (const e of this.u.plugins) if (t in e) return !0 + return !1 + } + async runCallbacks(t, e) { + for (const s of this.iterateCallbacks(t)) await s(e) + } + *iterateCallbacks(t) { + for (const e of this.u.plugins) + if ('function' == typeof e[t]) { + const s = this.g.get(e), + n = (n) => { + const i = p({}, n, { state: s }) + return e[t](i) + } + yield n + } + } + waitUntil(t) { + return this.p.push(t), t + } + async doneWaiting() { + let t + for (; (t = this.p.shift()); ) await t + } + destroy() { + this.l.resolve() + } + async R(t) { + let e = t, + s = !1 + for (const t of this.iterateCallbacks('cacheWillUpdate')) + if ( + ((e = (await t({ request: this.request, response: e, event: this.event })) || void 0), + (s = !0), + !e) + ) + break + return s || (e && 200 !== e.status && (e = void 0)), e + } + } + class q { + constructor(t = {}) { + ;(this.cacheName = d(t.cacheName)), + (this.plugins = t.plugins || []), + (this.fetchOptions = t.fetchOptions), + (this.matchOptions = t.matchOptions) + } + handle(t) { + const [e] = this.handleAll(t) + return e + } + handleAll(t) { + t instanceof FetchEvent && (t = { event: t, request: t.request }) + const e = t.event, + s = 'string' == typeof t.request ? new Request(t.request) : t.request, + n = 'params' in t ? t.params : void 0, + i = new v(this, { event: e, request: s, params: n }), + r = this.v(i, s, e) + return [r, this.q(r, i, s, e)] + } + async v(t, e, n) { + let i + await t.runCallbacks('handlerWillStart', { event: n, request: e }) + try { + if (((i = await this.U(e, t)), !i || 'error' === i.type)) + throw new s('no-response', { url: e.url }) + } catch (s) { + for (const r of t.iterateCallbacks('handlerDidError')) + if (((i = await r({ error: s, event: n, request: e })), i)) break + if (!i) throw s + } + for (const s of t.iterateCallbacks('handlerWillRespond')) + i = await s({ event: n, request: e, response: i }) + return i + } + async q(t, e, s, n) { + let i, r + try { + i = await t + } catch (r) {} + try { + await e.runCallbacks('handlerDidRespond', { event: n, request: s, response: i }), + await e.doneWaiting() + } catch (t) { + r = t + } + if ( + (await e.runCallbacks('handlerDidComplete', { + event: n, + request: s, + response: i, + error: r, + }), + e.destroy(), + r) + ) + throw r + } + } + function U(t) { + t.then(() => {}) + } + class x { + constructor(t, e, { onupgradeneeded: s, onversionchange: n } = {}) { + ;(this._ = null), + (this.L = t), + (this.N = e), + (this.C = s), + (this.D = n || (() => this.close())) + } + get db() { + return this._ + } + async open() { + if (!this._) + return ( + (this._ = await new Promise((t, e) => { + let s = !1 + setTimeout(() => { + ;(s = !0), e(new Error('The open request was blocked and timed out')) + }, this.OPEN_TIMEOUT) + const n = indexedDB.open(this.L, this.N) + ;(n.onerror = () => e(n.error)), + (n.onupgradeneeded = (t) => { + s + ? (n.transaction.abort(), n.result.close()) + : 'function' == typeof this.C && this.C(t) + }), + (n.onsuccess = () => { + const e = n.result + s ? e.close() : ((e.onversionchange = this.D.bind(this)), t(e)) + }) + })), + this + ) + } + async getKey(t, e) { + return (await this.getAllKeys(t, e, 1))[0] + } + async getAll(t, e, s) { + return await this.getAllMatching(t, { query: e, count: s }) + } + async getAllKeys(t, e, s) { + return (await this.getAllMatching(t, { query: e, count: s, includeKeys: !0 })).map( + (t) => t.key, + ) + } + async getAllMatching( + t, + { index: e, query: s = null, direction: n = 'next', count: i, includeKeys: r = !1 } = {}, + ) { + return await this.transaction([t], 'readonly', (a, c) => { + const o = a.objectStore(t), + h = e ? o.index(e) : o, + u = [], + l = h.openCursor(s, n) + l.onsuccess = () => { + const t = l.result + t ? (u.push(r ? t : t.value), i && u.length >= i ? c(u) : t.continue()) : c(u) + } + }) + } + async transaction(t, e, s) { + return ( + await this.open(), + await new Promise((n, i) => { + const r = this._.transaction(t, e) + ;(r.onabort = () => i(r.error)), (r.oncomplete = () => n()), s(r, (t) => n(t)) + }) + ) + } + async T(t, e, s, ...n) { + return await this.transaction([e], s, (s, i) => { + const r = s.objectStore(e), + a = r[t].apply(r, n) + a.onsuccess = () => i(a.result) + }) + } + close() { + this._ && (this._.close(), (this._ = null)) + } + } + x.prototype.OPEN_TIMEOUT = 2e3 + const b = { + readonly: ['get', 'count', 'getKey', 'getAll', 'getAllKeys'], + readwrite: ['add', 'put', 'clear', 'delete'], + } + for (const [t, e] of Object.entries(b)) + for (const s of e) + s in IDBObjectStore.prototype && + (x.prototype[s] = async function (e, ...n) { + return await this.T(s, e, t, ...n) + }) + try { + self['workbox:expiration:6.1.5'] && _() + } catch (t) {} + const L = 'cache-entries', + N = (t) => { + const e = new URL(t, location.href) + return (e.hash = ''), e.href + } + class C { + constructor(t) { + ;(this.P = t), + (this._ = new x('workbox-expiration', 1, { onupgradeneeded: (t) => this.k(t) })) + } + k(t) { + const e = t.target.result.createObjectStore(L, { keyPath: 'id' }) + e.createIndex('cacheName', 'cacheName', { unique: !1 }), + e.createIndex('timestamp', 'timestamp', { unique: !1 }), + (async (t) => { + await new Promise((e, s) => { + const n = indexedDB.deleteDatabase(t) + ;(n.onerror = () => { + s(n.error) + }), + (n.onblocked = () => { + s(new Error('Delete blocked')) + }), + (n.onsuccess = () => { + e() + }) + }) + })(this.P) + } + async setTimestamp(t, e) { + const s = { url: (t = N(t)), timestamp: e, cacheName: this.P, id: this.K(t) } + await this._.put(L, s) + } + async getTimestamp(t) { + return (await this._.get(L, this.K(t))).timestamp + } + async expireEntries(t, e) { + const s = await this._.transaction(L, 'readwrite', (s, n) => { + const i = s.objectStore(L).index('timestamp').openCursor(null, 'prev'), + r = [] + let a = 0 + i.onsuccess = () => { + const s = i.result + if (s) { + const n = s.value + n.cacheName === this.P && + ((t && n.timestamp < t) || (e && a >= e) ? r.push(s.value) : a++), + s.continue() + } else n(r) + } + }), + n = [] + for (const t of s) await this._.delete(L, t.id), n.push(t.url) + return n + } + K(t) { + return this.P + '|' + N(t) + } + } + class E { + constructor(t, e = {}) { + ;(this.O = !1), + (this.W = !1), + (this.M = e.maxEntries), + (this.A = e.maxAgeSeconds), + (this.S = e.matchOptions), + (this.P = t), + (this.I = new C(t)) + } + async expireEntries() { + if (this.O) return void (this.W = !0) + this.O = !0 + const t = this.A ? Date.now() - 1e3 * this.A : 0, + e = await this.I.expireEntries(t, this.M), + s = await self.caches.open(this.P) + for (const t of e) await s.delete(t, this.S) + ;(this.O = !1), this.W && ((this.W = !1), U(this.expireEntries())) + } + async updateTimestamp(t) { + await this.I.setTimestamp(t, Date.now()) + } + async isURLExpired(t) { + if (this.A) { + return (await this.I.getTimestamp(t)) < Date.now() - 1e3 * this.A + } + return !1 + } + async delete() { + ;(this.W = !1), await this.I.expireEntries(1 / 0) + } + } + function D(t, e) { + const s = e() + return t.waitUntil(s), s + } + try { + self['workbox:precaching:6.1.5'] && _() + } catch (t) {} + function T(t) { + if (!t) throw new s('add-to-cache-list-unexpected-type', { entry: t }) + if ('string' == typeof t) { + const e = new URL(t, location.href) + return { cacheKey: e.href, url: e.href } + } + const { revision: e, url: n } = t + if (!n) throw new s('add-to-cache-list-unexpected-type', { entry: t }) + if (!e) { + const t = new URL(n, location.href) + return { cacheKey: t.href, url: t.href } + } + const i = new URL(n, location.href), + r = new URL(n, location.href) + return i.searchParams.set('__WB_REVISION__', e), { cacheKey: i.href, url: r.href } + } + class P { + constructor() { + ;(this.updatedURLs = []), + (this.notUpdatedURLs = []), + (this.handlerWillStart = async ({ request: t, state: e }) => { + e && (e.originalRequest = t) + }), + (this.cachedResponseWillBeUsed = async ({ event: t, state: e, cachedResponse: s }) => { + if ('install' === t.type) { + const t = e.originalRequest.url + s ? this.notUpdatedURLs.push(t) : this.updatedURLs.push(t) + } + return s + }) + } + } + class k { + constructor({ precacheController: t }) { + ;(this.cacheKeyWillBeUsed = async ({ request: t, params: e }) => { + const s = (e && e.cacheKey) || this.j.getCacheKeyForURL(t.url) + return s ? new Request(s) : t + }), + (this.j = t) + } + } + let K, O + async function W(t, e) { + let n = null + if (t.url) { + n = new URL(t.url).origin + } + if (n !== self.location.origin) throw new s('cross-origin-copy-response', { origin: n }) + const i = t.clone(), + r = { headers: new Headers(i.headers), status: i.status, statusText: i.statusText }, + a = e ? e(r) : r, + c = (function () { + if (void 0 === K) { + const t = new Response('') + if ('body' in t) + try { + new Response(t.body), (K = !0) + } catch (t) { + K = !1 + } + K = !1 + } + return K + })() + ? i.body + : await i.blob() + return new Response(c, a) + } + class M extends q { + constructor(t = {}) { + ;(t.cacheName = w(t.cacheName)), + super(t), + (this.F = !1 !== t.fallbackToNetwork), + this.plugins.push(M.copyRedirectedCacheableResponsesPlugin) + } + async U(t, e) { + const s = await e.cacheMatch(t) + return s || (e.event && 'install' === e.event.type ? await this.B(t, e) : await this.H(t, e)) + } + async H(t, e) { + let n + if (!this.F) throw new s('missing-precache-entry', { cacheName: this.cacheName, url: t.url }) + return (n = await e.fetch(t)), n + } + async B(t, e) { + this.$() + const n = await e.fetch(t) + if (!(await e.cachePut(t, n.clone()))) + throw new s('bad-precaching-response', { url: t.url, status: n.status }) + return n + } + $() { + let t = null, + e = 0 + for (const [s, n] of this.plugins.entries()) + n !== M.copyRedirectedCacheableResponsesPlugin && + (n === M.defaultPrecacheCacheabilityPlugin && (t = s), n.cacheWillUpdate && e++) + 0 === e + ? this.plugins.push(M.defaultPrecacheCacheabilityPlugin) + : e > 1 && null !== t && this.plugins.splice(t, 1) + } + } + ;(M.defaultPrecacheCacheabilityPlugin = { + cacheWillUpdate: async ({ response: t }) => (!t || t.status >= 400 ? null : t), + }), + (M.copyRedirectedCacheableResponsesPlugin = { + cacheWillUpdate: async ({ response: t }) => (t.redirected ? await W(t) : t), + }) + class A { + constructor({ cacheName: t, plugins: e = [], fallbackToNetwork: s = !0 } = {}) { + ;(this.G = new Map()), + (this.V = new Map()), + (this.J = new Map()), + (this.u = new M({ + cacheName: w(t), + plugins: [...e, new k({ precacheController: this })], + fallbackToNetwork: s, + })), + (this.install = this.install.bind(this)), + (this.activate = this.activate.bind(this)) + } + get strategy() { + return this.u + } + precache(t) { + this.addToCacheList(t), + this.X || + (self.addEventListener('install', this.install), + self.addEventListener('activate', this.activate), + (this.X = !0)) + } + addToCacheList(t) { + const e = [] + for (const n of t) { + 'string' == typeof n ? e.push(n) : n && void 0 === n.revision && e.push(n.url) + const { cacheKey: t, url: i } = T(n), + r = 'string' != typeof n && n.revision ? 'reload' : 'default' + if (this.G.has(i) && this.G.get(i) !== t) + throw new s('add-to-cache-list-conflicting-entries', { + firstEntry: this.G.get(i), + secondEntry: t, + }) + if ('string' != typeof n && n.integrity) { + if (this.J.has(t) && this.J.get(t) !== n.integrity) + throw new s('add-to-cache-list-conflicting-integrities', { url: i }) + this.J.set(t, n.integrity) + } + if ((this.G.set(i, t), this.V.set(i, r), e.length > 0)) { + const t = `Workbox is precaching URLs without revision info: ${e.join( + ', ', + )}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache` + console.warn(t) + } + } + } + install(t) { + return D(t, async () => { + const e = new P() + this.strategy.plugins.push(e) + for (const [e, s] of this.G) { + const n = this.J.get(s), + i = this.V.get(e), + r = new Request(e, { integrity: n, cache: i, credentials: 'same-origin' }) + await Promise.all( + this.strategy.handleAll({ params: { cacheKey: s }, request: r, event: t }), + ) + } + const { updatedURLs: s, notUpdatedURLs: n } = e + return { updatedURLs: s, notUpdatedURLs: n } + }) + } + activate(t) { + return D(t, async () => { + const t = await self.caches.open(this.strategy.cacheName), + e = await t.keys(), + s = new Set(this.G.values()), + n = [] + for (const i of e) s.has(i.url) || (await t.delete(i), n.push(i.url)) + return { deletedURLs: n } + }) + } + getURLsToCacheKeys() { + return this.G + } + getCachedURLs() { + return [...this.G.keys()] + } + getCacheKeyForURL(t) { + const e = new URL(t, location.href) + return this.G.get(e.href) + } + async matchPrecache(t) { + const e = t instanceof Request ? t.url : t, + s = this.getCacheKeyForURL(e) + if (s) { + return (await self.caches.open(this.strategy.cacheName)).match(s) + } + } + createHandlerBoundToURL(t) { + const e = this.getCacheKeyForURL(t) + if (!e) throw new s('non-precached-url', { url: t }) + return (s) => ( + (s.request = new Request(t)), + (s.params = p({ cacheKey: e }, s.params)), + this.strategy.handle(s) + ) + } + } + const S = () => (O || (O = new A()), O) + class I extends i { + constructor(t, e) { + super(({ request: s }) => { + const n = t.getURLsToCacheKeys() + for (const t of (function* ( + t, + { + ignoreURLParametersMatching: e = [/^utm_/, /^fbclid$/], + directoryIndex: s = 'index.html', + cleanURLs: n = !0, + urlManipulation: i, + } = {}, + ) { + const r = new URL(t, location.href) + ;(r.hash = ''), yield r.href + const a = (function (t, e = []) { + for (const s of [...t.searchParams.keys()]) + e.some((t) => t.test(s)) && t.searchParams.delete(s) + return t + })(r, e) + if ((yield a.href, s && a.pathname.endsWith('/'))) { + const t = new URL(a.href) + ;(t.pathname += s), yield t.href + } + if (n) { + const t = new URL(a.href) + ;(t.pathname += '.html'), yield t.href + } + if (i) { + const t = i({ url: r }) + for (const e of t) yield e.href + } + })(s.url, e)) { + const e = n.get(t) + if (e) return { cacheKey: e } + } + }, t.strategy) + } + } + ;(t.CacheFirst = class extends q { + async U(t, e) { + let n, + i = await e.cacheMatch(t) + if (!i) + try { + i = await e.fetchAndCachePut(t) + } catch (t) { + n = t + } + if (!i) throw new s('no-response', { url: t.url, error: n }) + return i + } + }), + (t.ExpirationPlugin = class { + constructor(t = {}) { + var e + ;(this.cachedResponseWillBeUsed = async ({ + event: t, + request: e, + cacheName: s, + cachedResponse: n, + }) => { + if (!n) return null + const i = this.Y(n), + r = this.Z(s) + U(r.expireEntries()) + const a = r.updateTimestamp(e.url) + if (t) + try { + t.waitUntil(a) + } catch (t) {} + return i ? n : null + }), + (this.cacheDidUpdate = async ({ cacheName: t, request: e }) => { + const s = this.Z(t) + await s.updateTimestamp(e.url), await s.expireEntries() + }), + (this.tt = t), + (this.A = t.maxAgeSeconds), + (this.et = new Map()), + t.purgeOnQuotaError && ((e = () => this.deleteCacheAndMetadata()), g.add(e)) + } + Z(t) { + if (t === d()) throw new s('expire-custom-caches-only') + let e = this.et.get(t) + return e || ((e = new E(t, this.tt)), this.et.set(t, e)), e + } + Y(t) { + if (!this.A) return !0 + const e = this.st(t) + if (null === e) return !0 + return e >= Date.now() - 1e3 * this.A + } + st(t) { + if (!t.headers.has('date')) return null + const e = t.headers.get('date'), + s = new Date(e).getTime() + return isNaN(s) ? null : s + } + async deleteCacheAndMetadata() { + for (const [t, e] of this.et) await self.caches.delete(t), await e.delete() + this.et = new Map() + } + }), + (t.NetworkFirst = class extends q { + constructor(t = {}) { + super(t), + this.plugins.some((t) => 'cacheWillUpdate' in t) || this.plugins.unshift(u), + (this.nt = t.networkTimeoutSeconds || 0) + } + async U(t, e) { + const n = [], + i = [] + let r + if (this.nt) { + const { id: s, promise: a } = this.it({ request: t, logs: n, handler: e }) + ;(r = s), i.push(a) + } + const a = this.rt({ timeoutId: r, request: t, logs: n, handler: e }) + i.push(a) + const c = await e.waitUntil( + (async () => (await e.waitUntil(Promise.race(i))) || (await a))(), + ) + if (!c) throw new s('no-response', { url: t.url }) + return c + } + it({ request: t, logs: e, handler: s }) { + let n + return { + promise: new Promise((e) => { + n = setTimeout(async () => { + e(await s.cacheMatch(t)) + }, 1e3 * this.nt) + }), + id: n, + } + } + async rt({ timeoutId: t, request: e, logs: s, handler: n }) { + let i, r + try { + r = await n.fetchAndCachePut(e) + } catch (t) { + i = t + } + return t && clearTimeout(t), (!i && r) || (r = await n.cacheMatch(e)), r + } + }), + (t.StaleWhileRevalidate = class extends q { + constructor(t) { + super(t), this.plugins.some((t) => 'cacheWillUpdate' in t) || this.plugins.unshift(u) + } + async U(t, e) { + const n = e.fetchAndCachePut(t).catch(() => {}) + let i, + r = await e.cacheMatch(t) + if (r); + else + try { + r = await n + } catch (t) { + i = t + } + if (!r) throw new s('no-response', { url: t.url, error: i }) + return r + } + }), + (t.cleanupOutdatedCaches = function () { + self.addEventListener('activate', (t) => { + const e = w() + t.waitUntil( + (async (t, e = '-precache-') => { + const s = (await self.caches.keys()).filter( + (s) => s.includes(e) && s.includes(self.registration.scope) && s !== t, + ) + return await Promise.all(s.map((t) => self.caches.delete(t))), s + })(e).then((t) => {}), + ) + }) + }), + (t.clientsClaim = function () { + self.addEventListener('activate', () => self.clients.claim()) + }), + (t.precacheAndRoute = function (t, e) { + !(function (t) { + S().precache(t) + })(t), + (function (t) { + const e = S() + h(new I(e, t)) + })(e) + }), + (t.registerRoute = h) +}) -- cgit v1.2.3