diff --git a/dist/components/index.js b/dist/components/index.js index f0aff9e..fc0c460 100644 --- a/dist/components/index.js +++ b/dist/components/index.js @@ -24,7 +24,7 @@ function i18n(locale) { var graph_default = ".graph > h3 {\n font-size: 1rem;\n margin: 0;\n}\n.graph > .graph-outer {\n border-radius: 5px;\n border: 1px solid var(--lightgray);\n box-sizing: border-box;\n height: 250px;\n margin: 0.5em 0;\n position: relative;\n overflow: hidden;\n}\n.graph > .graph-outer > .global-graph-icon {\n cursor: pointer;\n background: none;\n border: none;\n color: var(--dark);\n opacity: 0.5;\n width: 24px;\n height: 24px;\n position: absolute;\n padding: 0.2rem;\n margin: 0.3rem;\n top: 0;\n right: 0;\n border-radius: 4px;\n background-color: transparent;\n transition: background-color 0.5s ease;\n}\n.graph > .graph-outer > .global-graph-icon:hover {\n background-color: var(--lightgray);\n}\n.graph > .global-graph-outer {\n position: fixed;\n z-index: 9999;\n left: 0;\n top: 0;\n width: 100vw;\n height: 100%;\n backdrop-filter: blur(4px);\n display: none;\n overflow: hidden;\n}\n.graph > .global-graph-outer.active {\n display: inline-block;\n}\n.graph > .global-graph-outer > .global-graph-container {\n border: 1px solid var(--lightgray);\n background-color: var(--light);\n border-radius: 5px;\n box-sizing: border-box;\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n height: 80vh;\n width: 80vw;\n}\n@media all and (max-width: 800px) {\n .graph > .global-graph-outer > .global-graph-container {\n width: 90%;\n }\n}\n\n.graph-container {\n width: 100%;\n height: 100%;\n}"; // src/components/scripts/graph.inline.ts -var graph_inline_default = 'var ht=Object.hasOwnProperty;var de,B,he,ut,K,Fe,pe,Ce,Tu,gu,fu,ve,Ou,Mu,Uu,et,Ee={},Bu=[],tt=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,bu=Array.isArray;function $(u,e){for(var t in e)u[t]=e[t];return u}function Gu(u){u&&u.parentNode&&u.parentNode.removeChild(u)}function Wu(u,e,t,o,a){var n={type:u,props:e,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:a??++he,__i:-1,__u:0};return a==null&&B.vnode!=null&&B.vnode(n),n}function Du(u){return u.children}function mu(u,e){this.props=u,this.context=e}function iu(u,e){if(e==null)return u.__?iu(u.__,u.__i+1):null;for(var t;ee&&K.sort(Ce),u=K.shift(),e=K.length,rt(u)}finally{K.length=yu.__r=0}}function ge(u,e,t,o,a,n,s,F,v,D,d){var r,E,c,g,L,y,h,p=o&&o.__k||Bu,M=e.length;for(v=nt(t,e,p,v,M),r=0;r0?s=u.__k[n]=Wu(s.type,s.props,s.key,s.ref?s.ref:null,s.__v):u.__k[n]=s,v=n+E,s.__=u,s.__b=u.__b+1,F=null,(D=s.__i=ot(s,t,v,r))!=-1&&(r--,(F=t[D])&&(F.__u|=2)),F==null||F.__v==null?(D==-1&&(a>d?E--:av?E--:E++,s.__u|=4))):u.__k[n]=null;if(r)for(n=0;n(d?1:0)){for(a=t-1,n=t+1;a>=0||n=0?a--:n++])!=null&&(2&D.__u)==0&&F==D.key&&v==D.type)return s}return-1}function fe(u,e,t){e[0]=="-"?u.setProperty(e,t??""):u[e]=t==null?"":typeof t!="number"||tt.test(e)?t:t+"px"}function Au(u,e,t,o,a){var n,s;u:if(e=="style")if(typeof t=="string")u.style.cssText=t;else{if(typeof o=="string"&&(u.style.cssText=o=""),o)for(e in o)t&&e in t||fe(u.style,e,"");if(t)for(e in t)o&&t[e]==o[e]||fe(u.style,e,t[e])}else if(e[0]=="o"&&e[1]=="n")n=e!=(e=e.replace(ve,"$1")),s=e.toLowerCase(),e=s in u||e=="onFocusOut"||e=="onFocusIn"?s.slice(2):e.slice(2),u.l||(u.l={}),u.l[e+n]=t,t?o?t[fu]=o[fu]:(t[fu]=Ou,u.addEventListener(e,n?Uu:Mu,n)):u.removeEventListener(e,n?Uu:Mu,n);else{if(a=="http://www.w3.org/2000/svg")e=e.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(e!="width"&&e!="height"&&e!="href"&&e!="list"&&e!="form"&&e!="tabIndex"&&e!="download"&&e!="rowSpan"&&e!="colSpan"&&e!="role"&&e!="popover"&&e in u)try{u[e]=t??"";break u}catch{}typeof t=="function"||(t==null||t===!1&&e[4]!="-"?u.removeAttribute(e):u.setAttribute(e,e=="popover"&&t==1?"":t))}}function _e(u){return function(e){if(this.l){var t=this.l[e.type+u];if(e[gu]==null)e[gu]=Ou++;else if(e[gu]0?u:bu(u)?u.map(ye):$({},u)}function it(u,e,t,o,a,n,s,F,v){var D,d,r,E,c,g,L,y=t.props||Ee,h=e.props,p=e.type;if(p=="svg"?a="http://www.w3.org/2000/svg":p=="math"?a="http://www.w3.org/1998/Math/MathML":a||(a="http://www.w3.org/1999/xhtml"),n!=null){for(D=0;D"u"?"":document.body?.dataset?.basepath??""}function $u(u,e){let t=e??Nu(),o=u.startsWith("/")?u:"/"+u;return t+o}function st(u,e){return u===e||u.endsWith("/"+e)}function Ft(u,e){return st(u,e)&&(u=u.slice(0,-e.length)),u}function ct(u,e){return u.startsWith("/")&&(u=u.substring(1)),!e&&u.endsWith("/")&&(u=u.slice(0,-1)),u}function we(u){for(;u.firstChild;)u.removeChild(u.firstChild)}(function(){function u(){var o=xe(),a=Nu();return a&&o.startsWith(a.replace(/^\\//,""))&&(o=o.slice(a.replace(/^\\//,"").length),o.startsWith("/")&&(o=o.slice(1))),o}function e(o){return new Promise(function(a,n){var s=document.createElement("script");s.src=o,s.onload=a,s.onerror=n,document.head.appendChild(s)})}Promise.all([e("https://cdn.jsdelivr.net/npm/d3@7/dist/d3.min.js"),e("https://cdn.jsdelivr.net/npm/pixi.js@8/dist/pixi.js")]).then(function(){t()}).catch(function(o){console.error("[Graph] Failed to load libraries:",o)});function t(){var o=window.d3,a=window.PIXI;if(!o||!a){console.error("[Graph] Libraries not loaded");return}var n="graph-visited";function s(){return new Set(JSON.parse(localStorage.getItem(n)||"[]"))}function F(_){var m=s();m.add(_),localStorage.setItem(n,JSON.stringify(Array.from(m)))}async function v(_,m,P){var b=lu(m);b===""&&(b="index");var V=s();if(we(_),P!==void 0&&P!==r)return console.log("[Graph] Stale render, skipping"),function(){};var x=JSON.parse(_.dataset.cfg||"{}"),Fu=x.drag,Se=x.zoom,zu=x.depth,Hu=x.scale||1,ke=x.repelForce||.5,Le=x.centerForce||.3,Pe=x.linkDistance||30,je=x.fontSize||.6,Te=x.opacityScale||1,We=x.removeTags||[],Me=x.showTags,Ue=x.focusOnHover,Re=x.enableRadial,Z;try{var Vu=await fetchData;Z=new Map;for(var qu in Vu)Z.set(lu(qu),Vu[qu])}catch(i){return console.error("[Graph] Error loading data:",i),function(){}}var R=_.offsetWidth,O=Math.max(_.offsetHeight,250),Q=[],_u=[],Ku=new Set(Z.keys());Z.forEach(function(i,l){for(var f=i.links||[],A=0;A=0)for(var du=[b],hu=new Set([b]),Ju=0;Ju<=zu&&du.length>0;Ju++){for(var xu=[],wu=0;wu = {\n \"en-US\": enUS,\n};\n\nexport function i18n(locale: string) {\n return locales[locale] || enUS;\n}\n",".graph > h3 {\n font-size: 1rem;\n margin: 0;\n}\n.graph > .graph-outer {\n border-radius: 5px;\n border: 1px solid var(--lightgray);\n box-sizing: border-box;\n height: 250px;\n margin: 0.5em 0;\n position: relative;\n overflow: hidden;\n}\n.graph > .graph-outer > .global-graph-icon {\n cursor: pointer;\n background: none;\n border: none;\n color: var(--dark);\n opacity: 0.5;\n width: 24px;\n height: 24px;\n position: absolute;\n padding: 0.2rem;\n margin: 0.3rem;\n top: 0;\n right: 0;\n border-radius: 4px;\n background-color: transparent;\n transition: background-color 0.5s ease;\n}\n.graph > .graph-outer > .global-graph-icon:hover {\n background-color: var(--lightgray);\n}\n.graph > .global-graph-outer {\n position: fixed;\n z-index: 9999;\n left: 0;\n top: 0;\n width: 100vw;\n height: 100%;\n backdrop-filter: blur(4px);\n display: none;\n overflow: hidden;\n}\n.graph > .global-graph-outer.active {\n display: inline-block;\n}\n.graph > .global-graph-outer > .global-graph-container {\n border: 1px solid var(--lightgray);\n background-color: var(--light);\n border-radius: 5px;\n box-sizing: border-box;\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n height: 80vh;\n width: 80vw;\n}\n@media all and (max-width: 800px) {\n .graph > .global-graph-outer > .global-graph-container {\n width: 90%;\n }\n}\n\n.graph-container {\n width: 100%;\n height: 100%;\n}","var ht=Object.hasOwnProperty;var de,B,he,ut,K,Fe,pe,Ce,Tu,gu,fu,ve,Ou,Mu,Uu,et,Ee={},Bu=[],tt=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,bu=Array.isArray;function $(u,e){for(var t in e)u[t]=e[t];return u}function Gu(u){u&&u.parentNode&&u.parentNode.removeChild(u)}function Wu(u,e,t,o,a){var n={type:u,props:e,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:a??++he,__i:-1,__u:0};return a==null&&B.vnode!=null&&B.vnode(n),n}function Du(u){return u.children}function mu(u,e){this.props=u,this.context=e}function iu(u,e){if(e==null)return u.__?iu(u.__,u.__i+1):null;for(var t;ee&&K.sort(Ce),u=K.shift(),e=K.length,rt(u)}finally{K.length=yu.__r=0}}function ge(u,e,t,o,a,n,s,F,v,D,d){var r,E,c,g,L,y,h,p=o&&o.__k||Bu,M=e.length;for(v=nt(t,e,p,v,M),r=0;r0?s=u.__k[n]=Wu(s.type,s.props,s.key,s.ref?s.ref:null,s.__v):u.__k[n]=s,v=n+E,s.__=u,s.__b=u.__b+1,F=null,(D=s.__i=ot(s,t,v,r))!=-1&&(r--,(F=t[D])&&(F.__u|=2)),F==null||F.__v==null?(D==-1&&(a>d?E--:av?E--:E++,s.__u|=4))):u.__k[n]=null;if(r)for(n=0;n(d?1:0)){for(a=t-1,n=t+1;a>=0||n=0?a--:n++])!=null&&(2&D.__u)==0&&F==D.key&&v==D.type)return s}return-1}function fe(u,e,t){e[0]==\"-\"?u.setProperty(e,t??\"\"):u[e]=t==null?\"\":typeof t!=\"number\"||tt.test(e)?t:t+\"px\"}function Au(u,e,t,o,a){var n,s;u:if(e==\"style\")if(typeof t==\"string\")u.style.cssText=t;else{if(typeof o==\"string\"&&(u.style.cssText=o=\"\"),o)for(e in o)t&&e in t||fe(u.style,e,\"\");if(t)for(e in t)o&&t[e]==o[e]||fe(u.style,e,t[e])}else if(e[0]==\"o\"&&e[1]==\"n\")n=e!=(e=e.replace(ve,\"$1\")),s=e.toLowerCase(),e=s in u||e==\"onFocusOut\"||e==\"onFocusIn\"?s.slice(2):e.slice(2),u.l||(u.l={}),u.l[e+n]=t,t?o?t[fu]=o[fu]:(t[fu]=Ou,u.addEventListener(e,n?Uu:Mu,n)):u.removeEventListener(e,n?Uu:Mu,n);else{if(a==\"http://www.w3.org/2000/svg\")e=e.replace(/xlink(H|:h)/,\"h\").replace(/sName$/,\"s\");else if(e!=\"width\"&&e!=\"height\"&&e!=\"href\"&&e!=\"list\"&&e!=\"form\"&&e!=\"tabIndex\"&&e!=\"download\"&&e!=\"rowSpan\"&&e!=\"colSpan\"&&e!=\"role\"&&e!=\"popover\"&&e in u)try{u[e]=t??\"\";break u}catch{}typeof t==\"function\"||(t==null||t===!1&&e[4]!=\"-\"?u.removeAttribute(e):u.setAttribute(e,e==\"popover\"&&t==1?\"\":t))}}function _e(u){return function(e){if(this.l){var t=this.l[e.type+u];if(e[gu]==null)e[gu]=Ou++;else if(e[gu]0?u:bu(u)?u.map(ye):$({},u)}function it(u,e,t,o,a,n,s,F,v){var D,d,r,E,c,g,L,y=t.props||Ee,h=e.props,p=e.type;if(p==\"svg\"?a=\"http://www.w3.org/2000/svg\":p==\"math\"?a=\"http://www.w3.org/1998/Math/MathML\":a||(a=\"http://www.w3.org/1999/xhtml\"),n!=null){for(D=0;D\"u\"?\"\":document.body?.dataset?.basepath??\"\"}function $u(u,e){let t=e??Nu(),o=u.startsWith(\"/\")?u:\"/\"+u;return t+o}function st(u,e){return u===e||u.endsWith(\"/\"+e)}function Ft(u,e){return st(u,e)&&(u=u.slice(0,-e.length)),u}function ct(u,e){return u.startsWith(\"/\")&&(u=u.substring(1)),!e&&u.endsWith(\"/\")&&(u=u.slice(0,-1)),u}function we(u){for(;u.firstChild;)u.removeChild(u.firstChild)}(function(){function u(){var o=xe(),a=Nu();return a&&o.startsWith(a.replace(/^\\//,\"\"))&&(o=o.slice(a.replace(/^\\//,\"\").length),o.startsWith(\"/\")&&(o=o.slice(1))),o}function e(o){return new Promise(function(a,n){var s=document.createElement(\"script\");s.src=o,s.onload=a,s.onerror=n,document.head.appendChild(s)})}Promise.all([e(\"https://cdn.jsdelivr.net/npm/d3@7/dist/d3.min.js\"),e(\"https://cdn.jsdelivr.net/npm/pixi.js@8/dist/pixi.js\")]).then(function(){t()}).catch(function(o){console.error(\"[Graph] Failed to load libraries:\",o)});function t(){var o=window.d3,a=window.PIXI;if(!o||!a){console.error(\"[Graph] Libraries not loaded\");return}var n=\"graph-visited\";function s(){return new Set(JSON.parse(localStorage.getItem(n)||\"[]\"))}function F(_){var m=s();m.add(_),localStorage.setItem(n,JSON.stringify(Array.from(m)))}async function v(_,m,P){var b=lu(m);b===\"\"&&(b=\"index\");var V=s();if(we(_),P!==void 0&&P!==r)return console.log(\"[Graph] Stale render, skipping\"),function(){};var x=JSON.parse(_.dataset.cfg||\"{}\"),Fu=x.drag,Se=x.zoom,zu=x.depth,Hu=x.scale||1,ke=x.repelForce||.5,Le=x.centerForce||.3,Pe=x.linkDistance||30,je=x.fontSize||.6,Te=x.opacityScale||1,We=x.removeTags||[],Me=x.showTags,Ue=x.focusOnHover,Re=x.enableRadial,Z;try{var Vu=await fetchData;Z=new Map;for(var qu in Vu)Z.set(lu(qu),Vu[qu])}catch(i){return console.error(\"[Graph] Error loading data:\",i),function(){}}var R=_.offsetWidth,O=Math.max(_.offsetHeight,250),Q=[],_u=[],Ku=new Set(Z.keys());Z.forEach(function(i,l){for(var f=i.links||[],A=0;A=0)for(var du=[b],hu=new Set([b]),Ju=0;Ju<=zu&&du.length>0;Ju++){for(var xu=[],wu=0;wu;\n globalGraph?: Partial;\n}\n\nconst defaultOptions: GraphOptions = {\n localGraph: {\n drag: true,\n zoom: true,\n depth: 1,\n scale: 1.1,\n repelForce: 0.5,\n centerForce: 0.3,\n linkDistance: 30,\n fontSize: 0.6,\n opacityScale: 1,\n showTags: true,\n removeTags: [],\n focusOnHover: false,\n enableRadial: false,\n },\n globalGraph: {\n drag: true,\n zoom: true,\n depth: -1,\n scale: 0.9,\n repelForce: 0.5,\n centerForce: 0.2,\n linkDistance: 30,\n fontSize: 0.6,\n opacityScale: 1,\n showTags: true,\n removeTags: [],\n focusOnHover: true,\n enableRadial: true,\n },\n};\n\nexport default ((userOpts?: Partial) => {\n const Graph: QuartzComponent = ({ displayClass, cfg }: QuartzComponentProps) => {\n const localGraph = { ...defaultOptions.localGraph, ...userOpts?.localGraph };\n const globalGraph = { ...defaultOptions.globalGraph, ...userOpts?.globalGraph };\n\n return (\n
\n

{i18n(cfg.locale ?? \"en-US\").components.graph.title}

\n
\n
\n \n
\n
\n
\n
\n
\n );\n };\n\n Graph.css = style;\n Graph.afterDOMLoaded = script;\n\n return Graph;\n}) satisfies QuartzComponentConstructor;\n"]} \ No newline at end of file +{"version":3,"sources":["../../src/i18n/locales/en-US.ts","../../src/i18n/index.ts","../../src/components/styles/graph.scss","../../src/components/scripts/graph.inline.ts","../../src/components/Graph.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["export default {\n components: {\n graph: {\n title: \"Graph View\",\n },\n },\n};\n","import enUS from \"./locales/en-US\";\n\nconst locales: Record = {\n \"en-US\": enUS,\n};\n\nexport function i18n(locale: string) {\n return locales[locale] || enUS;\n}\n",".graph > h3 {\n font-size: 1rem;\n margin: 0;\n}\n.graph > .graph-outer {\n border-radius: 5px;\n border: 1px solid var(--lightgray);\n box-sizing: border-box;\n height: 250px;\n margin: 0.5em 0;\n position: relative;\n overflow: hidden;\n}\n.graph > .graph-outer > .global-graph-icon {\n cursor: pointer;\n background: none;\n border: none;\n color: var(--dark);\n opacity: 0.5;\n width: 24px;\n height: 24px;\n position: absolute;\n padding: 0.2rem;\n margin: 0.3rem;\n top: 0;\n right: 0;\n border-radius: 4px;\n background-color: transparent;\n transition: background-color 0.5s ease;\n}\n.graph > .graph-outer > .global-graph-icon:hover {\n background-color: var(--lightgray);\n}\n.graph > .global-graph-outer {\n position: fixed;\n z-index: 9999;\n left: 0;\n top: 0;\n width: 100vw;\n height: 100%;\n backdrop-filter: blur(4px);\n display: none;\n overflow: hidden;\n}\n.graph > .global-graph-outer.active {\n display: inline-block;\n}\n.graph > .global-graph-outer > .global-graph-container {\n border: 1px solid var(--lightgray);\n background-color: var(--light);\n border-radius: 5px;\n box-sizing: border-box;\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n height: 80vh;\n width: 80vw;\n}\n@media all and (max-width: 800px) {\n .graph > .global-graph-outer > .global-graph-container {\n width: 90%;\n }\n}\n\n.graph-container {\n width: 100%;\n height: 100%;\n}","var ht=Object.hasOwnProperty;var de,B,he,ut,K,Fe,pe,Ce,Tu,gu,fu,ve,Ou,Mu,Uu,et,Ee={},Bu=[],tt=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,bu=Array.isArray;function N(u,e){for(var t in e)u[t]=e[t];return u}function Gu(u){u&&u.parentNode&&u.parentNode.removeChild(u)}function Wu(u,e,t,o,a){var n={type:u,props:e,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:a??++he,__i:-1,__u:0};return a==null&&B.vnode!=null&&B.vnode(n),n}function Du(u){return u.children}function mu(u,e){this.props=u,this.context=e}function iu(u,e){if(e==null)return u.__?iu(u.__,u.__i+1):null;for(var t;ee&&K.sort(Ce),u=K.shift(),e=K.length,rt(u)}finally{K.length=yu.__r=0}}function ge(u,e,t,o,a,n,s,F,v,D,d){var r,E,c,g,L,y,h,p=o&&o.__k||Bu,M=e.length;for(v=nt(t,e,p,v,M),r=0;r0?s=u.__k[n]=Wu(s.type,s.props,s.key,s.ref?s.ref:null,s.__v):u.__k[n]=s,v=n+E,s.__=u,s.__b=u.__b+1,F=null,(D=s.__i=ot(s,t,v,r))!=-1&&(r--,(F=t[D])&&(F.__u|=2)),F==null||F.__v==null?(D==-1&&(a>d?E--:av?E--:E++,s.__u|=4))):u.__k[n]=null;if(r)for(n=0;n(d?1:0)){for(a=t-1,n=t+1;a>=0||n=0?a--:n++])!=null&&(2&D.__u)==0&&F==D.key&&v==D.type)return s}return-1}function fe(u,e,t){e[0]==\"-\"?u.setProperty(e,t??\"\"):u[e]=t==null?\"\":typeof t!=\"number\"||tt.test(e)?t:t+\"px\"}function Au(u,e,t,o,a){var n,s;u:if(e==\"style\")if(typeof t==\"string\")u.style.cssText=t;else{if(typeof o==\"string\"&&(u.style.cssText=o=\"\"),o)for(e in o)t&&e in t||fe(u.style,e,\"\");if(t)for(e in t)o&&t[e]==o[e]||fe(u.style,e,t[e])}else if(e[0]==\"o\"&&e[1]==\"n\")n=e!=(e=e.replace(ve,\"$1\")),s=e.toLowerCase(),e=s in u||e==\"onFocusOut\"||e==\"onFocusIn\"?s.slice(2):e.slice(2),u.l||(u.l={}),u.l[e+n]=t,t?o?t[fu]=o[fu]:(t[fu]=Ou,u.addEventListener(e,n?Uu:Mu,n)):u.removeEventListener(e,n?Uu:Mu,n);else{if(a==\"http://www.w3.org/2000/svg\")e=e.replace(/xlink(H|:h)/,\"h\").replace(/sName$/,\"s\");else if(e!=\"width\"&&e!=\"height\"&&e!=\"href\"&&e!=\"list\"&&e!=\"form\"&&e!=\"tabIndex\"&&e!=\"download\"&&e!=\"rowSpan\"&&e!=\"colSpan\"&&e!=\"role\"&&e!=\"popover\"&&e in u)try{u[e]=t??\"\";break u}catch{}typeof t==\"function\"||(t==null||t===!1&&e[4]!=\"-\"?u.removeAttribute(e):u.setAttribute(e,e==\"popover\"&&t==1?\"\":t))}}function _e(u){return function(e){if(this.l){var t=this.l[e.type+u];if(e[gu]==null)e[gu]=Ou++;else if(e[gu]0?u:bu(u)?u.map(ye):N({},u)}function it(u,e,t,o,a,n,s,F,v){var D,d,r,E,c,g,L,y=t.props||Ee,h=e.props,p=e.type;if(p==\"svg\"?a=\"http://www.w3.org/2000/svg\":p==\"math\"?a=\"http://www.w3.org/1998/Math/MathML\":a||(a=\"http://www.w3.org/1999/xhtml\"),n!=null){for(D=0;D\"u\"?\"\":document.body?.dataset?.basepath??\"\"}function Nu(u,e){let t=e??Hu(),o=u.startsWith(\"/\")?u:\"/\"+u;return t+o}function st(u,e){return u===e||u.endsWith(\"/\"+e)}function Ft(u,e){return st(u,e)&&(u=u.slice(0,-e.length)),u}function ct(u,e){return u.startsWith(\"/\")&&(u=u.substring(1)),!e&&u.endsWith(\"/\")&&(u=u.slice(0,-1)),u}function we(u){for(;u.firstChild;)u.removeChild(u.firstChild)}(function(){function u(){var o=xe(),a=Hu();return a&&o.startsWith(a.replace(/^\\//,\"\"))&&(o=o.slice(a.replace(/^\\//,\"\").length),o.startsWith(\"/\")&&(o=o.slice(1))),o}function e(o){return new Promise(function(a,n){var s=document.createElement(\"script\");s.src=o,s.onload=a,s.onerror=n,document.head.appendChild(s)})}Promise.all([e(\"https://cdn.jsdelivr.net/npm/d3@7/dist/d3.min.js\"),e(\"https://cdn.jsdelivr.net/npm/pixi.js@8/dist/pixi.js\")]).then(function(){t()}).catch(function(o){console.error(\"[Graph] Failed to load libraries:\",o)});function t(){var o=window.d3,a=window.PIXI;if(!o||!a){console.error(\"[Graph] Libraries not loaded\");return}var n=\"graph-visited\";function s(){return new Set(JSON.parse(localStorage.getItem(n)||\"[]\"))}function F(_){var m=s();m.add(_),localStorage.setItem(n,JSON.stringify(Array.from(m)))}async function v(_,m,P){var b=lu(m);b===\"\"&&(b=\"index\");var V=s();if(we(_),P!==void 0&&P!==r)return console.log(\"[Graph] Stale render, skipping\"),function(){};var x=JSON.parse(_.dataset.cfg||\"{}\"),Fu=x.drag,Se=x.zoom,zu=x.depth,$u=x.scale||1,ke=x.repelForce||.5,Le=x.centerForce||.3,Pe=x.linkDistance||30,je=x.fontSize||.6,Te=x.opacityScale||1,We=x.removeTags||[],Me=x.showTags,Ue=x.focusOnHover,Re=x.enableRadial,Z;try{var Vu=await fetchData;Z=new Map;for(var qu in Vu)Z.set(lu(qu),Vu[qu])}catch(i){return console.error(\"[Graph] Error loading data:\",i),function(){}}var R=_.offsetWidth,O=Math.max(_.offsetHeight,250),Q=[],_u=[],Ku=new Set(Z.keys());Z.forEach(function(i,l){for(var f=i.links||[],A=0;A=0)for(var du=[b],hu=new Set([b]),Ju=0;Ju<=zu&&du.length>0;Ju++){for(var xu=[],wu=0;wu;\n globalGraph?: Partial;\n}\n\nconst defaultOptions: GraphOptions = {\n localGraph: {\n drag: true,\n zoom: true,\n depth: 1,\n scale: 1.1,\n repelForce: 0.5,\n centerForce: 0.3,\n linkDistance: 30,\n fontSize: 0.6,\n opacityScale: 1,\n showTags: true,\n removeTags: [],\n focusOnHover: false,\n enableRadial: false,\n },\n globalGraph: {\n drag: true,\n zoom: true,\n depth: -1,\n scale: 0.9,\n repelForce: 0.5,\n centerForce: 0.2,\n linkDistance: 30,\n fontSize: 0.6,\n opacityScale: 1,\n showTags: true,\n removeTags: [],\n focusOnHover: true,\n enableRadial: true,\n },\n};\n\nexport default ((userOpts?: Partial) => {\n const Graph: QuartzComponent = ({ displayClass, cfg }: QuartzComponentProps) => {\n const localGraph = { ...defaultOptions.localGraph, ...userOpts?.localGraph };\n const globalGraph = { ...defaultOptions.globalGraph, ...userOpts?.globalGraph };\n\n return (\n
\n

{i18n(cfg.locale ?? \"en-US\").components.graph.title}

\n
\n
\n \n
\n
\n
\n
\n
\n );\n };\n\n Graph.css = style;\n Graph.afterDOMLoaded = script;\n\n return Graph;\n}) satisfies QuartzComponentConstructor;\n"]} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index f0aff9e..fc0c460 100644 --- a/dist/index.js +++ b/dist/index.js @@ -24,7 +24,7 @@ function i18n(locale) { var graph_default = ".graph > h3 {\n font-size: 1rem;\n margin: 0;\n}\n.graph > .graph-outer {\n border-radius: 5px;\n border: 1px solid var(--lightgray);\n box-sizing: border-box;\n height: 250px;\n margin: 0.5em 0;\n position: relative;\n overflow: hidden;\n}\n.graph > .graph-outer > .global-graph-icon {\n cursor: pointer;\n background: none;\n border: none;\n color: var(--dark);\n opacity: 0.5;\n width: 24px;\n height: 24px;\n position: absolute;\n padding: 0.2rem;\n margin: 0.3rem;\n top: 0;\n right: 0;\n border-radius: 4px;\n background-color: transparent;\n transition: background-color 0.5s ease;\n}\n.graph > .graph-outer > .global-graph-icon:hover {\n background-color: var(--lightgray);\n}\n.graph > .global-graph-outer {\n position: fixed;\n z-index: 9999;\n left: 0;\n top: 0;\n width: 100vw;\n height: 100%;\n backdrop-filter: blur(4px);\n display: none;\n overflow: hidden;\n}\n.graph > .global-graph-outer.active {\n display: inline-block;\n}\n.graph > .global-graph-outer > .global-graph-container {\n border: 1px solid var(--lightgray);\n background-color: var(--light);\n border-radius: 5px;\n box-sizing: border-box;\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n height: 80vh;\n width: 80vw;\n}\n@media all and (max-width: 800px) {\n .graph > .global-graph-outer > .global-graph-container {\n width: 90%;\n }\n}\n\n.graph-container {\n width: 100%;\n height: 100%;\n}"; // src/components/scripts/graph.inline.ts -var graph_inline_default = 'var ht=Object.hasOwnProperty;var de,B,he,ut,K,Fe,pe,Ce,Tu,gu,fu,ve,Ou,Mu,Uu,et,Ee={},Bu=[],tt=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,bu=Array.isArray;function $(u,e){for(var t in e)u[t]=e[t];return u}function Gu(u){u&&u.parentNode&&u.parentNode.removeChild(u)}function Wu(u,e,t,o,a){var n={type:u,props:e,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:a??++he,__i:-1,__u:0};return a==null&&B.vnode!=null&&B.vnode(n),n}function Du(u){return u.children}function mu(u,e){this.props=u,this.context=e}function iu(u,e){if(e==null)return u.__?iu(u.__,u.__i+1):null;for(var t;ee&&K.sort(Ce),u=K.shift(),e=K.length,rt(u)}finally{K.length=yu.__r=0}}function ge(u,e,t,o,a,n,s,F,v,D,d){var r,E,c,g,L,y,h,p=o&&o.__k||Bu,M=e.length;for(v=nt(t,e,p,v,M),r=0;r0?s=u.__k[n]=Wu(s.type,s.props,s.key,s.ref?s.ref:null,s.__v):u.__k[n]=s,v=n+E,s.__=u,s.__b=u.__b+1,F=null,(D=s.__i=ot(s,t,v,r))!=-1&&(r--,(F=t[D])&&(F.__u|=2)),F==null||F.__v==null?(D==-1&&(a>d?E--:av?E--:E++,s.__u|=4))):u.__k[n]=null;if(r)for(n=0;n(d?1:0)){for(a=t-1,n=t+1;a>=0||n=0?a--:n++])!=null&&(2&D.__u)==0&&F==D.key&&v==D.type)return s}return-1}function fe(u,e,t){e[0]=="-"?u.setProperty(e,t??""):u[e]=t==null?"":typeof t!="number"||tt.test(e)?t:t+"px"}function Au(u,e,t,o,a){var n,s;u:if(e=="style")if(typeof t=="string")u.style.cssText=t;else{if(typeof o=="string"&&(u.style.cssText=o=""),o)for(e in o)t&&e in t||fe(u.style,e,"");if(t)for(e in t)o&&t[e]==o[e]||fe(u.style,e,t[e])}else if(e[0]=="o"&&e[1]=="n")n=e!=(e=e.replace(ve,"$1")),s=e.toLowerCase(),e=s in u||e=="onFocusOut"||e=="onFocusIn"?s.slice(2):e.slice(2),u.l||(u.l={}),u.l[e+n]=t,t?o?t[fu]=o[fu]:(t[fu]=Ou,u.addEventListener(e,n?Uu:Mu,n)):u.removeEventListener(e,n?Uu:Mu,n);else{if(a=="http://www.w3.org/2000/svg")e=e.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(e!="width"&&e!="height"&&e!="href"&&e!="list"&&e!="form"&&e!="tabIndex"&&e!="download"&&e!="rowSpan"&&e!="colSpan"&&e!="role"&&e!="popover"&&e in u)try{u[e]=t??"";break u}catch{}typeof t=="function"||(t==null||t===!1&&e[4]!="-"?u.removeAttribute(e):u.setAttribute(e,e=="popover"&&t==1?"":t))}}function _e(u){return function(e){if(this.l){var t=this.l[e.type+u];if(e[gu]==null)e[gu]=Ou++;else if(e[gu]0?u:bu(u)?u.map(ye):$({},u)}function it(u,e,t,o,a,n,s,F,v){var D,d,r,E,c,g,L,y=t.props||Ee,h=e.props,p=e.type;if(p=="svg"?a="http://www.w3.org/2000/svg":p=="math"?a="http://www.w3.org/1998/Math/MathML":a||(a="http://www.w3.org/1999/xhtml"),n!=null){for(D=0;D"u"?"":document.body?.dataset?.basepath??""}function $u(u,e){let t=e??Nu(),o=u.startsWith("/")?u:"/"+u;return t+o}function st(u,e){return u===e||u.endsWith("/"+e)}function Ft(u,e){return st(u,e)&&(u=u.slice(0,-e.length)),u}function ct(u,e){return u.startsWith("/")&&(u=u.substring(1)),!e&&u.endsWith("/")&&(u=u.slice(0,-1)),u}function we(u){for(;u.firstChild;)u.removeChild(u.firstChild)}(function(){function u(){var o=xe(),a=Nu();return a&&o.startsWith(a.replace(/^\\//,""))&&(o=o.slice(a.replace(/^\\//,"").length),o.startsWith("/")&&(o=o.slice(1))),o}function e(o){return new Promise(function(a,n){var s=document.createElement("script");s.src=o,s.onload=a,s.onerror=n,document.head.appendChild(s)})}Promise.all([e("https://cdn.jsdelivr.net/npm/d3@7/dist/d3.min.js"),e("https://cdn.jsdelivr.net/npm/pixi.js@8/dist/pixi.js")]).then(function(){t()}).catch(function(o){console.error("[Graph] Failed to load libraries:",o)});function t(){var o=window.d3,a=window.PIXI;if(!o||!a){console.error("[Graph] Libraries not loaded");return}var n="graph-visited";function s(){return new Set(JSON.parse(localStorage.getItem(n)||"[]"))}function F(_){var m=s();m.add(_),localStorage.setItem(n,JSON.stringify(Array.from(m)))}async function v(_,m,P){var b=lu(m);b===""&&(b="index");var V=s();if(we(_),P!==void 0&&P!==r)return console.log("[Graph] Stale render, skipping"),function(){};var x=JSON.parse(_.dataset.cfg||"{}"),Fu=x.drag,Se=x.zoom,zu=x.depth,Hu=x.scale||1,ke=x.repelForce||.5,Le=x.centerForce||.3,Pe=x.linkDistance||30,je=x.fontSize||.6,Te=x.opacityScale||1,We=x.removeTags||[],Me=x.showTags,Ue=x.focusOnHover,Re=x.enableRadial,Z;try{var Vu=await fetchData;Z=new Map;for(var qu in Vu)Z.set(lu(qu),Vu[qu])}catch(i){return console.error("[Graph] Error loading data:",i),function(){}}var R=_.offsetWidth,O=Math.max(_.offsetHeight,250),Q=[],_u=[],Ku=new Set(Z.keys());Z.forEach(function(i,l){for(var f=i.links||[],A=0;A=0)for(var du=[b],hu=new Set([b]),Ju=0;Ju<=zu&&du.length>0;Ju++){for(var xu=[],wu=0;wu = {\n \"en-US\": enUS,\n};\n\nexport function i18n(locale: string) {\n return locales[locale] || enUS;\n}\n",".graph > h3 {\n font-size: 1rem;\n margin: 0;\n}\n.graph > .graph-outer {\n border-radius: 5px;\n border: 1px solid var(--lightgray);\n box-sizing: border-box;\n height: 250px;\n margin: 0.5em 0;\n position: relative;\n overflow: hidden;\n}\n.graph > .graph-outer > .global-graph-icon {\n cursor: pointer;\n background: none;\n border: none;\n color: var(--dark);\n opacity: 0.5;\n width: 24px;\n height: 24px;\n position: absolute;\n padding: 0.2rem;\n margin: 0.3rem;\n top: 0;\n right: 0;\n border-radius: 4px;\n background-color: transparent;\n transition: background-color 0.5s ease;\n}\n.graph > .graph-outer > .global-graph-icon:hover {\n background-color: var(--lightgray);\n}\n.graph > .global-graph-outer {\n position: fixed;\n z-index: 9999;\n left: 0;\n top: 0;\n width: 100vw;\n height: 100%;\n backdrop-filter: blur(4px);\n display: none;\n overflow: hidden;\n}\n.graph > .global-graph-outer.active {\n display: inline-block;\n}\n.graph > .global-graph-outer > .global-graph-container {\n border: 1px solid var(--lightgray);\n background-color: var(--light);\n border-radius: 5px;\n box-sizing: border-box;\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n height: 80vh;\n width: 80vw;\n}\n@media all and (max-width: 800px) {\n .graph > .global-graph-outer > .global-graph-container {\n width: 90%;\n }\n}\n\n.graph-container {\n width: 100%;\n height: 100%;\n}","var ht=Object.hasOwnProperty;var de,B,he,ut,K,Fe,pe,Ce,Tu,gu,fu,ve,Ou,Mu,Uu,et,Ee={},Bu=[],tt=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,bu=Array.isArray;function $(u,e){for(var t in e)u[t]=e[t];return u}function Gu(u){u&&u.parentNode&&u.parentNode.removeChild(u)}function Wu(u,e,t,o,a){var n={type:u,props:e,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:a??++he,__i:-1,__u:0};return a==null&&B.vnode!=null&&B.vnode(n),n}function Du(u){return u.children}function mu(u,e){this.props=u,this.context=e}function iu(u,e){if(e==null)return u.__?iu(u.__,u.__i+1):null;for(var t;ee&&K.sort(Ce),u=K.shift(),e=K.length,rt(u)}finally{K.length=yu.__r=0}}function ge(u,e,t,o,a,n,s,F,v,D,d){var r,E,c,g,L,y,h,p=o&&o.__k||Bu,M=e.length;for(v=nt(t,e,p,v,M),r=0;r0?s=u.__k[n]=Wu(s.type,s.props,s.key,s.ref?s.ref:null,s.__v):u.__k[n]=s,v=n+E,s.__=u,s.__b=u.__b+1,F=null,(D=s.__i=ot(s,t,v,r))!=-1&&(r--,(F=t[D])&&(F.__u|=2)),F==null||F.__v==null?(D==-1&&(a>d?E--:av?E--:E++,s.__u|=4))):u.__k[n]=null;if(r)for(n=0;n(d?1:0)){for(a=t-1,n=t+1;a>=0||n=0?a--:n++])!=null&&(2&D.__u)==0&&F==D.key&&v==D.type)return s}return-1}function fe(u,e,t){e[0]==\"-\"?u.setProperty(e,t??\"\"):u[e]=t==null?\"\":typeof t!=\"number\"||tt.test(e)?t:t+\"px\"}function Au(u,e,t,o,a){var n,s;u:if(e==\"style\")if(typeof t==\"string\")u.style.cssText=t;else{if(typeof o==\"string\"&&(u.style.cssText=o=\"\"),o)for(e in o)t&&e in t||fe(u.style,e,\"\");if(t)for(e in t)o&&t[e]==o[e]||fe(u.style,e,t[e])}else if(e[0]==\"o\"&&e[1]==\"n\")n=e!=(e=e.replace(ve,\"$1\")),s=e.toLowerCase(),e=s in u||e==\"onFocusOut\"||e==\"onFocusIn\"?s.slice(2):e.slice(2),u.l||(u.l={}),u.l[e+n]=t,t?o?t[fu]=o[fu]:(t[fu]=Ou,u.addEventListener(e,n?Uu:Mu,n)):u.removeEventListener(e,n?Uu:Mu,n);else{if(a==\"http://www.w3.org/2000/svg\")e=e.replace(/xlink(H|:h)/,\"h\").replace(/sName$/,\"s\");else if(e!=\"width\"&&e!=\"height\"&&e!=\"href\"&&e!=\"list\"&&e!=\"form\"&&e!=\"tabIndex\"&&e!=\"download\"&&e!=\"rowSpan\"&&e!=\"colSpan\"&&e!=\"role\"&&e!=\"popover\"&&e in u)try{u[e]=t??\"\";break u}catch{}typeof t==\"function\"||(t==null||t===!1&&e[4]!=\"-\"?u.removeAttribute(e):u.setAttribute(e,e==\"popover\"&&t==1?\"\":t))}}function _e(u){return function(e){if(this.l){var t=this.l[e.type+u];if(e[gu]==null)e[gu]=Ou++;else if(e[gu]0?u:bu(u)?u.map(ye):$({},u)}function it(u,e,t,o,a,n,s,F,v){var D,d,r,E,c,g,L,y=t.props||Ee,h=e.props,p=e.type;if(p==\"svg\"?a=\"http://www.w3.org/2000/svg\":p==\"math\"?a=\"http://www.w3.org/1998/Math/MathML\":a||(a=\"http://www.w3.org/1999/xhtml\"),n!=null){for(D=0;D\"u\"?\"\":document.body?.dataset?.basepath??\"\"}function $u(u,e){let t=e??Nu(),o=u.startsWith(\"/\")?u:\"/\"+u;return t+o}function st(u,e){return u===e||u.endsWith(\"/\"+e)}function Ft(u,e){return st(u,e)&&(u=u.slice(0,-e.length)),u}function ct(u,e){return u.startsWith(\"/\")&&(u=u.substring(1)),!e&&u.endsWith(\"/\")&&(u=u.slice(0,-1)),u}function we(u){for(;u.firstChild;)u.removeChild(u.firstChild)}(function(){function u(){var o=xe(),a=Nu();return a&&o.startsWith(a.replace(/^\\//,\"\"))&&(o=o.slice(a.replace(/^\\//,\"\").length),o.startsWith(\"/\")&&(o=o.slice(1))),o}function e(o){return new Promise(function(a,n){var s=document.createElement(\"script\");s.src=o,s.onload=a,s.onerror=n,document.head.appendChild(s)})}Promise.all([e(\"https://cdn.jsdelivr.net/npm/d3@7/dist/d3.min.js\"),e(\"https://cdn.jsdelivr.net/npm/pixi.js@8/dist/pixi.js\")]).then(function(){t()}).catch(function(o){console.error(\"[Graph] Failed to load libraries:\",o)});function t(){var o=window.d3,a=window.PIXI;if(!o||!a){console.error(\"[Graph] Libraries not loaded\");return}var n=\"graph-visited\";function s(){return new Set(JSON.parse(localStorage.getItem(n)||\"[]\"))}function F(_){var m=s();m.add(_),localStorage.setItem(n,JSON.stringify(Array.from(m)))}async function v(_,m,P){var b=lu(m);b===\"\"&&(b=\"index\");var V=s();if(we(_),P!==void 0&&P!==r)return console.log(\"[Graph] Stale render, skipping\"),function(){};var x=JSON.parse(_.dataset.cfg||\"{}\"),Fu=x.drag,Se=x.zoom,zu=x.depth,Hu=x.scale||1,ke=x.repelForce||.5,Le=x.centerForce||.3,Pe=x.linkDistance||30,je=x.fontSize||.6,Te=x.opacityScale||1,We=x.removeTags||[],Me=x.showTags,Ue=x.focusOnHover,Re=x.enableRadial,Z;try{var Vu=await fetchData;Z=new Map;for(var qu in Vu)Z.set(lu(qu),Vu[qu])}catch(i){return console.error(\"[Graph] Error loading data:\",i),function(){}}var R=_.offsetWidth,O=Math.max(_.offsetHeight,250),Q=[],_u=[],Ku=new Set(Z.keys());Z.forEach(function(i,l){for(var f=i.links||[],A=0;A=0)for(var du=[b],hu=new Set([b]),Ju=0;Ju<=zu&&du.length>0;Ju++){for(var xu=[],wu=0;wu;\n globalGraph?: Partial;\n}\n\nconst defaultOptions: GraphOptions = {\n localGraph: {\n drag: true,\n zoom: true,\n depth: 1,\n scale: 1.1,\n repelForce: 0.5,\n centerForce: 0.3,\n linkDistance: 30,\n fontSize: 0.6,\n opacityScale: 1,\n showTags: true,\n removeTags: [],\n focusOnHover: false,\n enableRadial: false,\n },\n globalGraph: {\n drag: true,\n zoom: true,\n depth: -1,\n scale: 0.9,\n repelForce: 0.5,\n centerForce: 0.2,\n linkDistance: 30,\n fontSize: 0.6,\n opacityScale: 1,\n showTags: true,\n removeTags: [],\n focusOnHover: true,\n enableRadial: true,\n },\n};\n\nexport default ((userOpts?: Partial) => {\n const Graph: QuartzComponent = ({ displayClass, cfg }: QuartzComponentProps) => {\n const localGraph = { ...defaultOptions.localGraph, ...userOpts?.localGraph };\n const globalGraph = { ...defaultOptions.globalGraph, ...userOpts?.globalGraph };\n\n return (\n
\n

{i18n(cfg.locale ?? \"en-US\").components.graph.title}

\n
\n
\n \n
\n
\n
\n
\n
\n );\n };\n\n Graph.css = style;\n Graph.afterDOMLoaded = script;\n\n return Graph;\n}) satisfies QuartzComponentConstructor;\n"]} \ No newline at end of file +{"version":3,"sources":["../src/i18n/locales/en-US.ts","../src/i18n/index.ts","../src/components/styles/graph.scss","../src/components/scripts/graph.inline.ts","../src/components/Graph.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["export default {\n components: {\n graph: {\n title: \"Graph View\",\n },\n },\n};\n","import enUS from \"./locales/en-US\";\n\nconst locales: Record = {\n \"en-US\": enUS,\n};\n\nexport function i18n(locale: string) {\n return locales[locale] || enUS;\n}\n",".graph > h3 {\n font-size: 1rem;\n margin: 0;\n}\n.graph > .graph-outer {\n border-radius: 5px;\n border: 1px solid var(--lightgray);\n box-sizing: border-box;\n height: 250px;\n margin: 0.5em 0;\n position: relative;\n overflow: hidden;\n}\n.graph > .graph-outer > .global-graph-icon {\n cursor: pointer;\n background: none;\n border: none;\n color: var(--dark);\n opacity: 0.5;\n width: 24px;\n height: 24px;\n position: absolute;\n padding: 0.2rem;\n margin: 0.3rem;\n top: 0;\n right: 0;\n border-radius: 4px;\n background-color: transparent;\n transition: background-color 0.5s ease;\n}\n.graph > .graph-outer > .global-graph-icon:hover {\n background-color: var(--lightgray);\n}\n.graph > .global-graph-outer {\n position: fixed;\n z-index: 9999;\n left: 0;\n top: 0;\n width: 100vw;\n height: 100%;\n backdrop-filter: blur(4px);\n display: none;\n overflow: hidden;\n}\n.graph > .global-graph-outer.active {\n display: inline-block;\n}\n.graph > .global-graph-outer > .global-graph-container {\n border: 1px solid var(--lightgray);\n background-color: var(--light);\n border-radius: 5px;\n box-sizing: border-box;\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n height: 80vh;\n width: 80vw;\n}\n@media all and (max-width: 800px) {\n .graph > .global-graph-outer > .global-graph-container {\n width: 90%;\n }\n}\n\n.graph-container {\n width: 100%;\n height: 100%;\n}","var ht=Object.hasOwnProperty;var de,B,he,ut,K,Fe,pe,Ce,Tu,gu,fu,ve,Ou,Mu,Uu,et,Ee={},Bu=[],tt=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,bu=Array.isArray;function N(u,e){for(var t in e)u[t]=e[t];return u}function Gu(u){u&&u.parentNode&&u.parentNode.removeChild(u)}function Wu(u,e,t,o,a){var n={type:u,props:e,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:a??++he,__i:-1,__u:0};return a==null&&B.vnode!=null&&B.vnode(n),n}function Du(u){return u.children}function mu(u,e){this.props=u,this.context=e}function iu(u,e){if(e==null)return u.__?iu(u.__,u.__i+1):null;for(var t;ee&&K.sort(Ce),u=K.shift(),e=K.length,rt(u)}finally{K.length=yu.__r=0}}function ge(u,e,t,o,a,n,s,F,v,D,d){var r,E,c,g,L,y,h,p=o&&o.__k||Bu,M=e.length;for(v=nt(t,e,p,v,M),r=0;r0?s=u.__k[n]=Wu(s.type,s.props,s.key,s.ref?s.ref:null,s.__v):u.__k[n]=s,v=n+E,s.__=u,s.__b=u.__b+1,F=null,(D=s.__i=ot(s,t,v,r))!=-1&&(r--,(F=t[D])&&(F.__u|=2)),F==null||F.__v==null?(D==-1&&(a>d?E--:av?E--:E++,s.__u|=4))):u.__k[n]=null;if(r)for(n=0;n(d?1:0)){for(a=t-1,n=t+1;a>=0||n=0?a--:n++])!=null&&(2&D.__u)==0&&F==D.key&&v==D.type)return s}return-1}function fe(u,e,t){e[0]==\"-\"?u.setProperty(e,t??\"\"):u[e]=t==null?\"\":typeof t!=\"number\"||tt.test(e)?t:t+\"px\"}function Au(u,e,t,o,a){var n,s;u:if(e==\"style\")if(typeof t==\"string\")u.style.cssText=t;else{if(typeof o==\"string\"&&(u.style.cssText=o=\"\"),o)for(e in o)t&&e in t||fe(u.style,e,\"\");if(t)for(e in t)o&&t[e]==o[e]||fe(u.style,e,t[e])}else if(e[0]==\"o\"&&e[1]==\"n\")n=e!=(e=e.replace(ve,\"$1\")),s=e.toLowerCase(),e=s in u||e==\"onFocusOut\"||e==\"onFocusIn\"?s.slice(2):e.slice(2),u.l||(u.l={}),u.l[e+n]=t,t?o?t[fu]=o[fu]:(t[fu]=Ou,u.addEventListener(e,n?Uu:Mu,n)):u.removeEventListener(e,n?Uu:Mu,n);else{if(a==\"http://www.w3.org/2000/svg\")e=e.replace(/xlink(H|:h)/,\"h\").replace(/sName$/,\"s\");else if(e!=\"width\"&&e!=\"height\"&&e!=\"href\"&&e!=\"list\"&&e!=\"form\"&&e!=\"tabIndex\"&&e!=\"download\"&&e!=\"rowSpan\"&&e!=\"colSpan\"&&e!=\"role\"&&e!=\"popover\"&&e in u)try{u[e]=t??\"\";break u}catch{}typeof t==\"function\"||(t==null||t===!1&&e[4]!=\"-\"?u.removeAttribute(e):u.setAttribute(e,e==\"popover\"&&t==1?\"\":t))}}function _e(u){return function(e){if(this.l){var t=this.l[e.type+u];if(e[gu]==null)e[gu]=Ou++;else if(e[gu]0?u:bu(u)?u.map(ye):N({},u)}function it(u,e,t,o,a,n,s,F,v){var D,d,r,E,c,g,L,y=t.props||Ee,h=e.props,p=e.type;if(p==\"svg\"?a=\"http://www.w3.org/2000/svg\":p==\"math\"?a=\"http://www.w3.org/1998/Math/MathML\":a||(a=\"http://www.w3.org/1999/xhtml\"),n!=null){for(D=0;D\"u\"?\"\":document.body?.dataset?.basepath??\"\"}function Nu(u,e){let t=e??Hu(),o=u.startsWith(\"/\")?u:\"/\"+u;return t+o}function st(u,e){return u===e||u.endsWith(\"/\"+e)}function Ft(u,e){return st(u,e)&&(u=u.slice(0,-e.length)),u}function ct(u,e){return u.startsWith(\"/\")&&(u=u.substring(1)),!e&&u.endsWith(\"/\")&&(u=u.slice(0,-1)),u}function we(u){for(;u.firstChild;)u.removeChild(u.firstChild)}(function(){function u(){var o=xe(),a=Hu();return a&&o.startsWith(a.replace(/^\\//,\"\"))&&(o=o.slice(a.replace(/^\\//,\"\").length),o.startsWith(\"/\")&&(o=o.slice(1))),o}function e(o){return new Promise(function(a,n){var s=document.createElement(\"script\");s.src=o,s.onload=a,s.onerror=n,document.head.appendChild(s)})}Promise.all([e(\"https://cdn.jsdelivr.net/npm/d3@7/dist/d3.min.js\"),e(\"https://cdn.jsdelivr.net/npm/pixi.js@8/dist/pixi.js\")]).then(function(){t()}).catch(function(o){console.error(\"[Graph] Failed to load libraries:\",o)});function t(){var o=window.d3,a=window.PIXI;if(!o||!a){console.error(\"[Graph] Libraries not loaded\");return}var n=\"graph-visited\";function s(){return new Set(JSON.parse(localStorage.getItem(n)||\"[]\"))}function F(_){var m=s();m.add(_),localStorage.setItem(n,JSON.stringify(Array.from(m)))}async function v(_,m,P){var b=lu(m);b===\"\"&&(b=\"index\");var V=s();if(we(_),P!==void 0&&P!==r)return console.log(\"[Graph] Stale render, skipping\"),function(){};var x=JSON.parse(_.dataset.cfg||\"{}\"),Fu=x.drag,Se=x.zoom,zu=x.depth,$u=x.scale||1,ke=x.repelForce||.5,Le=x.centerForce||.3,Pe=x.linkDistance||30,je=x.fontSize||.6,Te=x.opacityScale||1,We=x.removeTags||[],Me=x.showTags,Ue=x.focusOnHover,Re=x.enableRadial,Z;try{var Vu=await fetchData;Z=new Map;for(var qu in Vu)Z.set(lu(qu),Vu[qu])}catch(i){return console.error(\"[Graph] Error loading data:\",i),function(){}}var R=_.offsetWidth,O=Math.max(_.offsetHeight,250),Q=[],_u=[],Ku=new Set(Z.keys());Z.forEach(function(i,l){for(var f=i.links||[],A=0;A=0)for(var du=[b],hu=new Set([b]),Ju=0;Ju<=zu&&du.length>0;Ju++){for(var xu=[],wu=0;wu;\n globalGraph?: Partial;\n}\n\nconst defaultOptions: GraphOptions = {\n localGraph: {\n drag: true,\n zoom: true,\n depth: 1,\n scale: 1.1,\n repelForce: 0.5,\n centerForce: 0.3,\n linkDistance: 30,\n fontSize: 0.6,\n opacityScale: 1,\n showTags: true,\n removeTags: [],\n focusOnHover: false,\n enableRadial: false,\n },\n globalGraph: {\n drag: true,\n zoom: true,\n depth: -1,\n scale: 0.9,\n repelForce: 0.5,\n centerForce: 0.2,\n linkDistance: 30,\n fontSize: 0.6,\n opacityScale: 1,\n showTags: true,\n removeTags: [],\n focusOnHover: true,\n enableRadial: true,\n },\n};\n\nexport default ((userOpts?: Partial) => {\n const Graph: QuartzComponent = ({ displayClass, cfg }: QuartzComponentProps) => {\n const localGraph = { ...defaultOptions.localGraph, ...userOpts?.localGraph };\n const globalGraph = { ...defaultOptions.globalGraph, ...userOpts?.globalGraph };\n\n return (\n
\n

{i18n(cfg.locale ?? \"en-US\").components.graph.title}

\n
\n
\n \n
\n
\n
\n
\n
\n );\n };\n\n Graph.css = style;\n Graph.afterDOMLoaded = script;\n\n return Graph;\n}) satisfies QuartzComponentConstructor;\n"]} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 680ef99..009e684 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1065,7 +1065,7 @@ }, "node_modules/@quartz-community/utils": { "version": "0.1.0", - "resolved": "git+ssh://git@github.com/quartz-community/utils.git#83f824b0ad495ae24b7f3524dd2049da76d24c2c", + "resolved": "git+ssh://git@github.com/quartz-community/utils.git#7a43501ac1c728e8a7bfa75db35e8791bfa1f41c", "license": "MIT", "dependencies": { "@quartz-community/types": "github:quartz-community/types"