@canonry/canonry 7.86.0 → 7.87.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +19 -0
- package/assets/assets/{AgentSetupPage-0f7Ca4IZ.js → AgentSetupPage-_ZP3F_zA.js} +4 -4
- package/assets/assets/{AuditHistoryPanel-BAQuFTNl.js → AuditHistoryPanel-9B0XpYsN.js} +1 -1
- package/assets/assets/{BacklinksPage-BK2bn9Xg.js → BacklinksPage-CsvVgXTZ.js} +1 -1
- package/assets/assets/{ChartPrimitives-B5L9FUj3.js → ChartPrimitives-4D5wgAn5.js} +1 -1
- package/assets/assets/{HistoryPage-ZBfL9nGw.js → HistoryPage-BCxpCul0.js} +1 -1
- package/assets/assets/{MeasurementPropertyPage-DDSOq4aU.js → MeasurementPropertyPage-BObvWjVx.js} +4 -4
- package/assets/assets/ProjectPage-y378tOaT.js +11 -0
- package/assets/assets/{RunsPage-ke0wMYLg.js → RunsPage-CfQ_kqlu.js} +1 -1
- package/assets/assets/{SettingsPage-Bbi-sTBk.js → SettingsPage-PIgRvqJc.js} +1 -1
- package/assets/assets/SiteHealthSection-DuUE1cB0.js +2 -0
- package/assets/assets/ToneBadge-BgTLSTKp.js +60 -0
- package/assets/assets/{TrafficPage-nXixENx9.js → TrafficPage-B_YunwjH.js} +1 -1
- package/assets/assets/TrafficSourceDetailPage-C51W87fU.js +1 -0
- package/assets/assets/{account-context-BmN431xn.js → account-context-CVjb3ZSn.js} +1 -1
- package/assets/assets/agent-trust-copy-BlpC8jo5.js +1 -0
- package/assets/assets/{card-DUTMWeHB.js → card-BnVez9nG.js} +1 -1
- package/assets/assets/{extract-error-message-BFaIHLqb.js → extract-error-message-Dqirbrl0.js} +1 -1
- package/assets/assets/{format-helpers-D1w2yznw.js → format-helpers-DVXZD864.js} +1 -1
- package/assets/assets/{index-DIHdWY7b.css → index-BOUrrC9J.css} +1 -1
- package/assets/assets/index-CsvEqhK4.js +60 -0
- package/assets/assets/query-client-CVc7wMKJ.js +1 -0
- package/assets/assets/react-query-CSlTSOjz.js +1 -0
- package/assets/assets/{react-sigma_core.esm.min-cvMDhRNS.js → react-sigma_core.esm.min-CVfGIEIE.js} +3 -3
- package/assets/assets/{service-CvCKbPnf.js → service-BGqeyqhZ.js} +1 -1
- package/assets/index.html +9 -9
- package/dist/{ads-7IJTHW6T.js → ads-ZUZWSIBV.js} +3 -3
- package/dist/{agent-4UC2X7O2.js → agent-YDS3WY7B.js} +7 -7
- package/dist/{agent-ask-SVPU2WQU.js → agent-ask-7VUPXTXL.js} +3 -3
- package/dist/{agent-conversations-PJQRY5RX.js → agent-conversations-WPEBK3BS.js} +3 -3
- package/dist/{agent-journeys-JOD5DQ6G.js → agent-journeys-H5CCYLNB.js} +3 -3
- package/dist/{agent-memory-KTMZMUYF.js → agent-memory-CNPKPIWD.js} +3 -3
- package/dist/{agent-providers-VEBB3WEW.js → agent-providers-U7FLJO5I.js} +3 -3
- package/dist/{agent-transcript-RRZJCMK2.js → agent-transcript-VY3BQNPU.js} +3 -3
- package/dist/{analytics-EZV4XJKR.js → analytics-PYUNO7C2.js} +3 -3
- package/dist/{apply-NP7ORQS4.js → apply-YNBEYC2G.js} +3 -3
- package/dist/{backfill-7T6VFPWT.js → backfill-LIMS34H6.js} +10 -10
- package/dist/{backlinks-KTEJM2IP.js → backlinks-LVHZ2MQ7.js} +3 -3
- package/dist/{bing-TC54HJUB.js → bing-A2MUG6AV.js} +3 -3
- package/dist/{bootstrap-UDSN22NT.js → bootstrap-AZYQXBHN.js} +10 -10
- package/dist/{cdp-IZSHF3MS.js → cdp-HCYY4SXR.js} +7 -7
- package/dist/{chunk-IILPHGRC.js → chunk-2AXFKYJU.js} +2 -2
- package/dist/{chunk-U3QNTJBP.js → chunk-2FJB3CSS.js} +1 -1
- package/dist/{chunk-KEIKD6JQ.js → chunk-3KK6FWDF.js} +1 -1
- package/dist/{chunk-STHWLBYT.js → chunk-4FWDITQG.js} +1 -1
- package/dist/{chunk-3K3QBKNC.js → chunk-4LNZTL7M.js} +3 -3
- package/dist/{chunk-Z5LJI5XK.js → chunk-6F5ULQDY.js} +4 -4
- package/dist/{chunk-OXI45LZP.js → chunk-BJHHD7VE.js} +2 -2
- package/dist/{chunk-EX6GVZAE.js → chunk-CBWGUGME.js} +2 -1
- package/dist/{chunk-LJ6VNMCY.js → chunk-D5V6YQXA.js} +7 -7
- package/dist/{chunk-CBNFWSWU.js → chunk-DOPUEXMC.js} +2 -2
- package/dist/{chunk-UPFWF6TF.js → chunk-EJZHL67Y.js} +4 -4
- package/dist/{chunk-DU4QEC65.js → chunk-EQGCGZZY.js} +261 -50
- package/dist/{chunk-KUVTXIFX.js → chunk-F643WELJ.js} +1913 -1743
- package/dist/{chunk-5WEGX3H7.js → chunk-FAMCDCVK.js} +1 -1
- package/dist/{chunk-5ZAQVRFL.js → chunk-G44S34CE.js} +2 -2
- package/dist/{chunk-UTG6UUGK.js → chunk-GBWCEOZR.js} +1 -1
- package/dist/{chunk-E6IZVSRY.js → chunk-GDU6IMGB.js} +2 -2
- package/dist/{chunk-RR76O744.js → chunk-GXTCDNX7.js} +1 -1
- package/dist/{chunk-JAK37YKH.js → chunk-IBGZ6D6R.js} +2 -2
- package/dist/{chunk-WVMWY4SE.js → chunk-ICS2WJ7H.js} +3 -3
- package/dist/{chunk-2J5EUXO2.js → chunk-IK7QEKKD.js} +1 -1
- package/dist/{chunk-X3EU4UPS.js → chunk-INH773FB.js} +3 -3
- package/dist/{chunk-HHMOUS26.js → chunk-ITOK75B6.js} +5 -5
- package/dist/{chunk-BLGYC2K7.js → chunk-JAYUWQAV.js} +1 -1
- package/dist/{chunk-GO4RP6XE.js → chunk-JDTKG7KJ.js} +7 -3
- package/dist/{chunk-ZFL5DOGJ.js → chunk-JGGDENAA.js} +395 -342
- package/dist/{chunk-RI2ZT3OR.js → chunk-KOBOKZXF.js} +6 -6
- package/dist/{chunk-4EKPEVJ2.js → chunk-L5NMS7AU.js} +5 -5
- package/dist/{chunk-F5SQITTJ.js → chunk-MNLAIB67.js} +1 -1
- package/dist/{chunk-SUSQEH2D.js → chunk-O26FQ7RI.js} +1 -1
- package/dist/{chunk-TTXBQCE6.js → chunk-OJKWT6U6.js} +21 -21
- package/dist/{chunk-VBW33U4E.js → chunk-TEQF4ZJA.js} +22 -2
- package/dist/{chunk-AZP37FMA.js → chunk-TN53B5AB.js} +28 -3
- package/dist/{chunk-MJE3SGFW.js → chunk-VDYXB6SV.js} +1 -1
- package/dist/{chunk-5KHF5FV5.js → chunk-YKB67YKH.js} +4 -4
- package/dist/{citations-TOZK6OFP.js → citations-3EZTHA65.js} +3 -3
- package/dist/{cli-catalog-LNWBJNOD.js → cli-catalog-CBTM3JKP.js} +3 -3
- package/dist/{cli-commands-3HX4JSDX.js → cli-commands-J6KWSWIS.js} +7 -7
- package/dist/cli.js +13 -13
- package/dist/{competitor-54HLL354.js → competitor-VH4TXJLT.js} +3 -3
- package/dist/{content-ZIGSMH5U.js → content-TSMNHXJZ.js} +3 -3
- package/dist/{dashboard-YJH6IQGK.js → dashboard-5QMYF4ZP.js} +6 -6
- package/dist/{demo-ZYK5XCP3.js → demo-KGQL5EJM.js} +1 -1
- package/dist/{demo-server-LZ6MWJ2S.js → demo-server-ERIR2T2N.js} +13 -12
- package/dist/{discover-22QKOFIM.js → discover-XTJXTKCI.js} +3 -3
- package/dist/{discover-eval-6IFCCH2S.js → discover-eval-IVQI5YEW.js} +3 -3
- package/dist/{doctor-WLLBFOJU.js → doctor-SJ4SHSQO.js} +3 -3
- package/dist/{evidence-7VHTWNZW.js → evidence-C6T556YH.js} +3 -3
- package/dist/{export-cmd-5RZ3QDFH.js → export-cmd-JQZ5ZRSI.js} +3 -3
- package/dist/{ga-LPI3CWY4.js → ga-W2WHVRHN.js} +3 -3
- package/dist/{gbp-YBOMWR75.js → gbp-3AZIV5WF.js} +3 -3
- package/dist/{google-N42X5FBH.js → google-3CKWPZT7.js} +4 -4
- package/dist/{google-marketing-SO4B7Z7L.js → google-marketing-PJBGQYYW.js} +1 -1
- package/dist/{health-cmd-W7RQWCEB.js → health-cmd-4JTQMCXM.js} +3 -3
- package/dist/{history-SDRTOIDZ.js → history-TXUJFEO2.js} +3 -3
- package/dist/index.js +25 -25
- package/dist/{init-DPXOGP3P.js → init-HOBW5K2Q.js} +12 -12
- package/dist/{insights-636LLPVG.js → insights-XZQO4B45.js} +3 -3
- package/dist/intelligence-service-2AH42Y4Q.js +16 -0
- package/dist/{journeys-NIXKVYA4.js → journeys-VFIV5JYV.js} +3 -3
- package/dist/{keys-U2JR56TX.js → keys-PV23G4LW.js} +3 -3
- package/dist/{keyword-GLRK2ZHR.js → keyword-D76KBIV5.js} +3 -3
- package/dist/{logs-ENACGWGS.js → logs-DYDZ6IEJ.js} +3 -3
- package/dist/{mcp-DST2XTP2.js → mcp-GAR5LDQD.js} +4 -4
- package/dist/mcp.js +9 -9
- package/dist/{measurement-plan-Y3SA4ZQC.js → measurement-plan-K24EOGMI.js} +5 -5
- package/dist/{notify-ZYXJQUHU.js → notify-XQHMPDQQ.js} +3 -3
- package/dist/{organic-evidence-NSX7VCNW.js → organic-evidence-UHHE7AO4.js} +3 -3
- package/dist/{overview-UO6Z64IT.js → overview-AUZ3XRS5.js} +4 -4
- package/dist/{project-BHXUPHQA.js → project-FUCPU2BD.js} +3 -3
- package/dist/{query-GDRAKEN5.js → query-HRMSXDKL.js} +3 -3
- package/dist/{research-YIOQ7WVP.js → research-R23XLZJ3.js} +3 -3
- package/dist/{results-export-KXMCAEHJ.js → results-export-N6IV3KG4.js} +3 -3
- package/dist/{run-6PN5GOVE.js → run-CJLG5EXH.js} +4 -4
- package/dist/{schedule-5B67GLAM.js → schedule-IPDCQ2I5.js} +3 -3
- package/dist/{search-BMVPCN2V.js → search-ZU4AKJ76.js} +3 -3
- package/dist/{serve-HB7DI7OC.js → serve-WF5ZXWW6.js} +26 -26
- package/dist/{session-3RTDTW6Z.js → session-HEDEP77R.js} +13 -13
- package/dist/{settings-FJEYHYRH.js → settings-4FS5NRKP.js} +3 -3
- package/dist/{skills-6E7IUQUO.js → skills-GSFHACGN.js} +2 -2
- package/dist/{snapshot-BJQ7WPJZ.js → snapshot-4NUVPDK3.js} +3 -3
- package/dist/{src-QU75IDHI.js → src-SJYGA7NH.js} +2 -2
- package/dist/{status-3GHFPN54.js → status-ASBLMFP2.js} +4 -4
- package/dist/{technical-aeo-76JRC66W.js → technical-aeo-QXHRBGYY.js} +3 -3
- package/dist/{telemetry-KB73JBDZ.js → telemetry-J2I577I3.js} +4 -4
- package/dist/{tools-6VWDHNPZ.js → tools-KYG67FBW.js} +11 -11
- package/dist/{traffic-XB7MZJ23.js → traffic-B7Q4WPOV.js} +5 -5
- package/dist/trends-YOLCJBNM.js +56 -0
- package/dist/{users-HYBG3J72.js → users-LPSCZV3M.js} +3 -3
- package/dist/{visibility-stats-ZDB2LMRJ.js → visibility-stats-JJQTZSSK.js} +3 -3
- package/dist/{wordpress-SXKR6XNT.js → wordpress-4IKDT5KT.js} +3 -3
- package/package.json +1 -1
- package/assets/assets/ProjectPage-8cVgOm5o.js +0 -11
- package/assets/assets/SiteHealthSection-eKxTDUE2.js +0 -2
- package/assets/assets/ToneBadge-WAMyKadz.js +0 -60
- package/assets/assets/TrafficSourceDetailPage-ir5zJU_l.js +0 -1
- package/assets/assets/agent-trust-copy-zfx8m-cx.js +0 -1
- package/assets/assets/index-C5r0VqgO.js +0 -60
- package/assets/assets/query-client-DrIawr39.js +0 -1
- package/assets/assets/react-query-DQuOVjDi.js +0 -1
- package/dist/intelligence-service-JRVESWU2.js +0 -16
package/assets/assets/{react-sigma_core.esm.min-cvMDhRNS.js → react-sigma_core.esm.min-CVfGIEIE.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e,t}from"./rolldown-runtime-XKyaHtl9.js";import{st as n}from"./vendor-lucide-CoTHJwai.js";import{
|
|
1
|
+
import{r as e,t}from"./rolldown-runtime-XKyaHtl9.js";import{st as n}from"./vendor-lucide-CoTHJwai.js";import{h as r,m as i}from"./SiteHealthSection-DuUE1cB0.js";var a=e(n(),1);function o(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function s(e,t){if(e){if(typeof e==`string`)return o(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}function c(e){if(Array.isArray(e))return e}function l(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function u(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
2
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function d(e,t){return c(e)||l(e,t)||s(e,t)||u()}function f(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(!n){if(Array.isArray(e)||(n=s(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
3
3
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,a=e},f:function(){try{o||n.return==null||n.return()}finally{if(c)throw a}}}}function p(){return Float32Array.of(1,0,0,0,1,0,0,0,1)}function m(e,t,n){return e[0]=t,e[4]=typeof n==`number`?n:t,e}function h(e,t){var n=Math.sin(t),r=Math.cos(t);return e[0]=r,e[1]=n,e[3]=-n,e[4]=r,e}function g(e,t,n){return e[6]=t,e[7]=n,e}function _(e,t){var n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],s=e[5],c=e[6],l=e[7],u=e[8],d=t[0],f=t[1],p=t[2],m=t[3],h=t[4],g=t[5],_=t[6],v=t[7],y=t[8];return e[0]=d*n+f*a+p*c,e[1]=d*r+f*o+p*l,e[2]=d*i+f*s+p*u,e[3]=m*n+h*a+g*c,e[4]=m*r+h*o+g*l,e[5]=m*i+h*s+g*u,e[6]=_*n+v*a+y*c,e[7]=_*r+v*o+y*l,e[8]=_*i+v*s+y*u,e}function v(e,t){var n=Math.cos(t),r=Math.sin(t);return{x:n*e.x+r*e.y,y:-r*e.x+n*e.y}}function y(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,r=e[0],i=e[1],a=e[3],o=e[4],s=e[6],c=e[7],l=t.x,u=t.y;return{x:l*r+u*a+s*n,y:l*i+u*o+c*n}}function b(e,t){var n=e.height/e.width,r=t.height/t.width;return n<1&&r>1||n>1&&r<1?1:Math.min(Math.max(r,1/r),Math.max(1/n,n))}function x(e,t,n,r,i){var a=e.angle,o=e.ratio,s=e.x,c=e.y,l=t.width,u=t.height,d=p(),f=Math.min(l,u)-2*r,v=b(t,n);return i?(_(d,g(p(),s,c)),_(d,m(p(),o)),_(d,h(p(),a)),_(d,m(p(),l/f/2/v,u/f/2/v))):(_(d,m(p(),f/l*2*v,f/u*2*v)),_(d,h(p(),-a)),_(d,m(p(),1/o)),_(d,g(p(),-s,-c))),d}function S(e,t,n){var r=y(e,{x:Math.cos(t.angle),y:Math.sin(t.angle)},0),i=r.x,a=r.y;return 1/Math.sqrt(i**2+a**2)/n.width}function C(e,t,n,r,i){return[Math.floor(t/i*r),Math.floor(e.drawingBufferHeight/i-n/i*r)]}var w={black:`#000000`,silver:`#C0C0C0`,gray:`#808080`,grey:`#808080`,white:`#FFFFFF`,maroon:`#800000`,red:`#FF0000`,purple:`#800080`,fuchsia:`#FF00FF`,green:`#008000`,lime:`#00FF00`,olive:`#808000`,yellow:`#FFFF00`,navy:`#000080`,blue:`#0000FF`,teal:`#008080`,aqua:`#00FFFF`,darkblue:`#00008B`,mediumblue:`#0000CD`,darkgreen:`#006400`,darkcyan:`#008B8B`,deepskyblue:`#00BFFF`,darkturquoise:`#00CED1`,mediumspringgreen:`#00FA9A`,springgreen:`#00FF7F`,cyan:`#00FFFF`,midnightblue:`#191970`,dodgerblue:`#1E90FF`,lightseagreen:`#20B2AA`,forestgreen:`#228B22`,seagreen:`#2E8B57`,darkslategray:`#2F4F4F`,darkslategrey:`#2F4F4F`,limegreen:`#32CD32`,mediumseagreen:`#3CB371`,turquoise:`#40E0D0`,royalblue:`#4169E1`,steelblue:`#4682B4`,darkslateblue:`#483D8B`,mediumturquoise:`#48D1CC`,indigo:`#4B0082`,darkolivegreen:`#556B2F`,cadetblue:`#5F9EA0`,cornflowerblue:`#6495ED`,rebeccapurple:`#663399`,mediumaquamarine:`#66CDAA`,dimgray:`#696969`,dimgrey:`#696969`,slateblue:`#6A5ACD`,olivedrab:`#6B8E23`,slategray:`#708090`,slategrey:`#708090`,lightslategray:`#778899`,lightslategrey:`#778899`,mediumslateblue:`#7B68EE`,lawngreen:`#7CFC00`,chartreuse:`#7FFF00`,aquamarine:`#7FFFD4`,skyblue:`#87CEEB`,lightskyblue:`#87CEFA`,blueviolet:`#8A2BE2`,darkred:`#8B0000`,darkmagenta:`#8B008B`,saddlebrown:`#8B4513`,darkseagreen:`#8FBC8F`,lightgreen:`#90EE90`,mediumpurple:`#9370DB`,darkviolet:`#9400D3`,palegreen:`#98FB98`,darkorchid:`#9932CC`,yellowgreen:`#9ACD32`,sienna:`#A0522D`,brown:`#A52A2A`,darkgray:`#A9A9A9`,darkgrey:`#A9A9A9`,lightblue:`#ADD8E6`,greenyellow:`#ADFF2F`,paleturquoise:`#AFEEEE`,lightsteelblue:`#B0C4DE`,powderblue:`#B0E0E6`,firebrick:`#B22222`,darkgoldenrod:`#B8860B`,mediumorchid:`#BA55D3`,rosybrown:`#BC8F8F`,darkkhaki:`#BDB76B`,mediumvioletred:`#C71585`,indianred:`#CD5C5C`,peru:`#CD853F`,chocolate:`#D2691E`,tan:`#D2B48C`,lightgray:`#D3D3D3`,lightgrey:`#D3D3D3`,thistle:`#D8BFD8`,orchid:`#DA70D6`,goldenrod:`#DAA520`,palevioletred:`#DB7093`,crimson:`#DC143C`,gainsboro:`#DCDCDC`,plum:`#DDA0DD`,burlywood:`#DEB887`,lightcyan:`#E0FFFF`,lavender:`#E6E6FA`,darksalmon:`#E9967A`,violet:`#EE82EE`,palegoldenrod:`#EEE8AA`,lightcoral:`#F08080`,khaki:`#F0E68C`,aliceblue:`#F0F8FF`,honeydew:`#F0FFF0`,azure:`#F0FFFF`,sandybrown:`#F4A460`,wheat:`#F5DEB3`,beige:`#F5F5DC`,whitesmoke:`#F5F5F5`,mintcream:`#F5FFFA`,ghostwhite:`#F8F8FF`,salmon:`#FA8072`,antiquewhite:`#FAEBD7`,linen:`#FAF0E6`,lightgoldenrodyellow:`#FAFAD2`,oldlace:`#FDF5E6`,magenta:`#FF00FF`,deeppink:`#FF1493`,orangered:`#FF4500`,tomato:`#FF6347`,hotpink:`#FF69B4`,coral:`#FF7F50`,darkorange:`#FF8C00`,lightsalmon:`#FFA07A`,orange:`#FFA500`,lightpink:`#FFB6C1`,pink:`#FFC0CB`,gold:`#FFD700`,peachpuff:`#FFDAB9`,navajowhite:`#FFDEAD`,moccasin:`#FFE4B5`,bisque:`#FFE4C4`,mistyrose:`#FFE4E1`,blanchedalmond:`#FFEBCD`,papayawhip:`#FFEFD5`,lavenderblush:`#FFF0F5`,seashell:`#FFF5EE`,cornsilk:`#FFF8DC`,lemonchiffon:`#FFFACD`,floralwhite:`#FFFAF0`,snow:`#FFFAFA`,lightyellow:`#FFFFE0`,ivory:`#FFFFF0`},T=new Int8Array(4),E=new Int32Array(T.buffer,0,1),D=new Float32Array(T.buffer,0,1),O=/^\s*rgba?\s*\(/,k=/^\s*rgba?\s*\(\s*([0-9]*)\s*,\s*([0-9]*)\s*,\s*([0-9]*)(?:\s*,\s*(.*)?)?\)\s*$/;function A(e){var t=0,n=0,r=0,i=1,a=e.toLowerCase();if(a===`transparent`)return{r:0,g:0,b:0,a:0};if(a in w)return A(w[a]);if(e[0]===`#`)e.length===4?(t=parseInt(e.charAt(1)+e.charAt(1),16),n=parseInt(e.charAt(2)+e.charAt(2),16),r=parseInt(e.charAt(3)+e.charAt(3),16)):(t=parseInt(e.charAt(1)+e.charAt(2),16),n=parseInt(e.charAt(3)+e.charAt(4),16),r=parseInt(e.charAt(5)+e.charAt(6),16)),e.length===9&&(i=parseInt(e.charAt(7)+e.charAt(8),16)/255);else if(O.test(e)){var o=e.match(k);o&&(t=+o[1],n=+o[2],r=+o[3],o[4]&&(i=+o[4]))}return{r:t,g:n,b:r,a:i}}function j(e){var t=arguments.length>1&&arguments[1]!==void 0&&arguments[1],n=A(e),r=n.r,i=n.g,a=n.b,o=n.a;return t?[r/255*o,i/255*o,a/255*o,o]:[r/255,i/255,a/255,o]}var M={};for(var N in w)M[N]=F(w[N]),M[w[N]]=M[N];function P(e,t,n,r,i){return E[0]=r<<24|n<<16|t<<8|e,i&&(E[0]&=4278190079),D[0]}function F(e){if(e=e.toLowerCase(),M[e]!==void 0)return M[e];var t=A(e),n=t.r,r=t.g,i=t.b,a=t.a;a=a*255|0;var o=P(n,r,i,a,!0);return M[e]=o,o}function I(e,t){D[0]=F(e);var n=E[0];return t&&(n|=16777216),[n&255,n>>8&255,n>>16&255,n>>24&255]}function ee(e){var t=e>>>8&255,n=e>>>16&255,r=e>>>24&255;return((e&255)<<24|r<<16|n<<8|t)>>>0}function te(e,t,n,r){return(n<<24|t<<16|e<<8|r)>>>0}function L(e,t,n,r,i,a){var o=d(C(e,n,r,i,a),2),s=o[0],c=o[1],l=new Uint8Array(4);e.bindFramebuffer(e.FRAMEBUFFER,t),e.readPixels(s,c,1,1,e.RGBA,e.UNSIGNED_BYTE,l);var u=d(l,4);return[u[0],u[1],u[2],u[3]]}function ne(e){var t=A(e),n=t.r,r=t.g,i=t.b,a=t.a;return`vec4(${(n/255).toFixed(6)}, ${(r/255).toFixed(6)}, ${(i/255).toFixed(6)}, ${a.toFixed(6)})`}function re(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function ie(e){var t=re(e,`string`);return typeof t==`symbol`?t:t+``}function R(e,t,n){return(t=ie(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ae(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function z(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?ae(Object(n),!0).forEach(function(t){R(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ae(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function B(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function oe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,ie(r.key),r)}}function V(e,t,n){return t&&oe(e.prototype,t),n&&oe(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function se(e){return se=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},se(e)}function ce(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(ce=function(){return!!e})()}function le(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function ue(e,t){if(t&&(typeof t==`object`||typeof t==`function`))return t;if(t!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return le(e)}function H(e,t,n){return t=se(t),ue(e,ce()?Reflect.construct(t,n||[],se(e).constructor):t.apply(e,n))}function de(e,t){return de=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},de(e,t)}function U(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&de(e,t)}function fe(e){if(Array.isArray(e))return o(e)}function pe(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function me(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
4
4
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function W(e){return fe(e)||pe(e)||s(e)||me()}function G(e){"@babel/helpers - typeof";return G=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},G(e)}function he(e){return G(e)===`object`&&e!==null&&`attribute`in e}function ge(){return{name:`circle`,glsl:`
|
|
@@ -77,7 +77,7 @@ float path_loop_length(vec2 source, vec2 target) {
|
|
|
77
77
|
}
|
|
78
78
|
return len;
|
|
79
79
|
}
|
|
80
|
-
`,needsNodeSize:!0,uniforms:[],attributes:[{name:`loopRadius`,size:1,type:WebGL2RenderingContext.FLOAT},{name:`loopAngle`,size:1,type:WebGL2RenderingContext.FLOAT},{name:`loopSpread`,size:1,type:WebGL2RenderingContext.FLOAT},{name:`loopFixedOrientation`,size:1,type:WebGL2RenderingContext.FLOAT}],variables:{loopRadius:{type:`number`,default:4},loopAngle:{type:`number`,default:Math.PI/4},loopSpread:{type:`number`,default:80*Math.PI/180},loopFixedOrientation:{type:`number`,default:0}},spread:{variable:`loopRadius`,compute:function(e){return e+4}}}}var Se=i();function Ce(e){return G(e)===`object`&&`glsl`in e&&!(`attributes`in e)}function we(e){return G(e)===`object`&&`glsl`in e&&!(`attributes`in e)}var Te={shapes:[ge()],variables:{},layers:[_e()],label:{},backdrop:{},labelAttachments:{}},Ee={paths:[be(),xe()],extremities:[],variables:{},layers:[ye()],defaultHead:`none`,defaultTail:`none`,label:{}},De=[`nodes`,`topNodes`],Oe=[`edges`,`topEdges`],ke=[].concat(Oe,De),Ae={nodes:Te,edges:Ee,depthLayers:W(ke)},je={linear:function(e){return e},quadraticIn:function(e){return e*e},quadraticOut:function(e){return e*(2-e)},quadraticInOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)},cubicIn:function(e){return e*e*e},cubicOut:function(e){return--e*e*e+1},cubicInOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)},exponentialIn:function(e){return e===0?0:2**(10*(e-1))},exponentialOut:function(e){return e===1?1:1-2**(-10*e)},exponentialInOut:function(e){return e===0?0:e===1?1:e<.5?2**(10*(2*e-1))/2:(2-2**(-10*(2*e-1)))/2}};function Me(e){return e?typeof e==`function`?e:je[e]:je.linear}function Ne(e){return G(e)===`object`&&e!==null&&`attribute`in e}function Pe(e){return typeof e==`function`}function Fe(e){return G(e)===`object`&&e!==null&&`when`in e&&typeof e.when==`function`&&`then`in e}function Ie(e){return G(e)===`object`&&e!==null&&`whenState`in e&&`then`in e}function Le(e){return G(e)===`object`&&e!==null&&`whenData`in e&&`then`in e}var Re={isHovered:!1,isLabelHovered:!1,isHidden:!1,isHighlighted:!1,isDragged:!1},ze={isHovered:!1,isLabelHovered:!1,isHidden:!1,isHighlighted:!1,parallelIndex:0,parallelCount:1},Be={isIdle:!0,isPanning:!1,isZooming:!1,isDragging:!1,hasHovered:!1,hasHighlighted:!1};function Ve(e){return z(z({},Re),e)}function He(e){return z(z({},ze),e)}function Ue(e){return z(z({},Be),e)}var We={nodes:z(z({},{x:{attribute:`x`},y:{attribute:`y`},size:{whenState:`isHovered`,then:{attribute:`size`,defaultValue:12},else:{attribute:`size`,defaultValue:10}},color:{attribute:`color`,defaultValue:`#666`},label:{attribute:`label`},visibility:{whenState:`isHidden`,then:`hidden`,else:`visible`},labelVisibility:{whenState:`isHovered`,then:`visible`,else:`auto`},backdropVisibility:{whenState:`isHovered`,then:`visible`,else:`hidden`},backdropColor:`#ffffff`,backdropShadowColor:`rgba(0, 0, 0, 0.5)`,backdropShadowBlur:12,backdropPadding:6}),{},{depth:{whenState:`isHovered`,then:`topNodes`,else:`nodes`}}),edges:z(z({},{size:{attribute:`size`,defaultValue:1},color:{attribute:`color`,defaultValue:`#ccc`},label:{attribute:`label`},visibility:{whenState:`isHidden`,then:`hidden`,else:`visible`}}),{},{depth:{whenState:[`isHighlighted`,`isHovered`],then:`topEdges`,else:`edges`}})};function Ge(e){return`min`in e||`max`in e||`minValue`in e||`maxValue`in e||`easing`in e}function Ke(e){return`dict`in e}function qe(e,t){return typeof e==`string`?t[e]===!0:Array.isArray(e)?e.every(function(e){return t[e]===!0}):G(e)===`object`&&e!==null&&Object.entries(e).every(function(e){var n=d(e,2),r=n[0],i=n[1];return t[r]===i})}function Je(e,t){var n=t[e.attribute];return n===void 0?e.defaultValue:n}function Ye(e,t,n){var r=t[e.attribute];if(r===void 0)return e.defaultValue;var i=Number(r);if(isNaN(i))return e.defaultValue;if(e.min===void 0&&e.max===void 0)return i;var a=e.minValue??i,o=e.maxValue??i;if(o===a)return e.min??i;var s=(i-a)/(o-a);s=Math.max(0,Math.min(1,s)),s=Me(e.easing)(s);var c=e.min??0,l=e.max??1;return c+s*(l-c)}function Xe(e,t){var n=t[e.attribute];if(n===void 0)return e.defaultValue;var r=String(n);return r in e.dict?e.dict[r]:e.defaultValue}function Ze(e,t,n){return Ke(e)?Xe(e,t):Ge(e)?Ye(e,t):Je(e,t)}function Qe(e,t){return typeof e==`string`?!!t[e]:Array.isArray(e)?e.every(function(e){return!!t[e]}):G(e)===`object`&&e!==null&&Object.entries(e).every(function(e){var n=d(e,2),r=n[0],i=n[1];return t[r]===i})}function $e(e,t,n,r,i,a){if(e==null)return a;if(G(e)!==`object`&&typeof e!=`function`)return e;if(Fe(e)){var o=e.when(t,n,r,i)?e.then:e.else;return o===void 0?a:$e(o,t,n,r,i,a)}if(Ie(e)){var s=qe(e.whenState,n)?e.then:e.else;return s===void 0?a:$e(s,t,n,r,i,a)}if(Le(e)){var c=Qe(e.whenData,t)?e.then:e.else;return c===void 0?a:$e(c,t,n,r,i,a)}return Pe(e)?e(t,n,r,i)??a:Ne(e)?Ze(e,t)??a:e}function et(e){return e==null?`static`:Fe(e)?`graph-state`:Ie(e)?K(`item-state`,K(et(e.then),e.else===void 0?`static`:et(e.else))):Le(e)?K(et(e.then),e.else===void 0?`static`:et(e.else)):Pe(e)?`graph-state`:(Ne(e),`static`)}function K(e,t){return e===`graph-state`||t===`graph-state`?`graph-state`:e===`item-state`||t===`item-state`?`item-state`:`static`}function tt(e){if(!e)return{dependency:`static`,xAttribute:null,yAttribute:null};var t=Array.isArray(e)?e:[e],n=`static`,r=null,i=null,a=f(t),o;try{for(a.s();!(o=a.n()).done;){var s=o.value;if(`matchData`in s&&`cases`in s)for(var c=s.cases,l=0,u=Object.values(c);l<u.length;l++)for(var p=u[l],m=0,h=Object.values(p);m<h.length;m++){var g=h[m];n=K(n,et(g))}else if(`matchState`in s&&`cases`in s){n=K(n,`item-state`);for(var _=s.cases,v=0,y=Object.values(_);v<y.length;v++)for(var b=y[v],x=0,S=Object.values(b);x<S.length;x++){var C=S[x];n=K(n,et(C))}}else if(`when`in s&&`then`in s)n=`graph-state`;else if(`whenState`in s){n=K(n,`item-state`);var w=s.then;if(w&&G(w)===`object`)for(var T=0,E=Object.values(w);T<E.length;T++){var D=E[T];n=K(n,et(D))}var O=s.else;if(O&&G(O)===`object`)for(var k=0,A=Object.values(O);k<A.length;k++){var j=A[k];n=K(n,et(j))}}else if(`whenData`in s){var M=s.then;if(M&&G(M)===`object`)for(var N=0,P=Object.values(M);N<P.length;N++){var F=P[N];n=K(n,et(F))}var I=s.else;if(I&&G(I)===`object`)for(var ee=0,te=Object.values(I);ee<te.length;ee++){var L=te[ee];n=K(n,et(L))}}else for(var ne=0,re=Object.entries(s);ne<re.length;ne++){var ie=d(re[ne],2),R=ie[0],ae=ie[1];if(!it.has(R)&&(n=K(n,et(ae)),(R===`x`||R===`y`)&&Ne(ae))){var z=ae.attribute;R===`x`&&!r&&(r=z),R===`y`&&!i&&(i=z)}}}}catch(e){a.e(e)}finally{a.f()}return{dependency:n,xAttribute:r,yAttribute:i}}var nt={size:10,color:`#666`,opacity:1,shape:`circle`,rotationAlignment:`viewport`,labelRotationAlignment:`viewport`,visibility:`visible`,depth:`nodes`,zIndex:0,label:``,labelColor:`#000`,labelSize:12,labelFont:`sans-serif`,labelVisibility:`auto`,labelPosition:`right`,labelAngle:0,labelDepth:`nodes`,backdropVisibility:`hidden`,backdropColor:`transparent`,backdropShadowColor:`transparent`,backdropShadowBlur:0,backdropPadding:0,backdropBorderColor:`transparent`,backdropBorderWidth:0,backdropCornerRadius:0,backdropLabelPadding:-1,backdropArea:`both`,labelAttachment:null,labelAttachmentPlacement:`below`},rt={size:1,color:`#ccc`,opacity:1,path:`straight`,selfLoopPath:`loop`,parallelSpread:.25,tail:`none`,head:`none`,visibility:`visible`,depth:`edges`,zIndex:0,label:``,labelColor:`#666`,labelVisibility:`auto`,labelDepth:`edges`},it=new Set([`when`,`whenState`,`whenData`,`then`,`else`]),at=Object.keys(nt),ot=Object.values(nt),st=Object.keys(rt),ct=Object.values(rt);function lt(e,t,n,r,i,a,o){for(var s in t)if(!it.has(s)){var c=e[s]??o[s];e[s]=$e(t[s],n,r,i,a,c)}`depth`in t&&!(`labelDepth`in t)&&(e.labelDepth=e.depth)}function ut(e,t,n,r,i,a,o){var s=f(t),c;try{for(s.s();!(c=s.n()).done;){var l=c.value;if(`matchData`in l&&`cases`in l){var u=String(n[l.matchData]??``),d=l.cases;u in d&<(e,d[u],n,r,i,a,o)}else if(`matchState`in l&&`cases`in l){var p=String(r[l.matchState]??``),m=l.cases;p in m&<(e,m[p],n,r,i,a,o)}else if(`when`in l&&`then`in l){var h=l.when;if(!h(n,r,i,a))continue;lt(e,l.then,n,r,i,a,o)}else if(`whenState`in l&&`then`in l){if(!qe(l.whenState,r))continue;lt(e,l.then,n,r,i,a,o)}else if(`whenData`in l&&`then`in l){if(!Qe(l.whenData,n))continue;lt(e,l.then,n,r,i,a,o)}else lt(e,l,n,r,i,a,o)}}catch(e){s.e(e)}finally{s.f()}}function dt(e,t,n,r,i,a){for(var o=a||{},s=o,c=0,l=at.length;c<l;c++)s[at[c]]=ot[c];return s.x=void 0,s.y=void 0,s.labelBackgroundColor=void 0,s.labelBackgroundPadding=void 0,s.labelCursor=void 0,e?(ut(s,Array.isArray(e)?e:[e],t,n,r,i,nt),o):(s.x=t.x??0,s.y=t.y??0,o.size=t.size??10,o.color=t.color??`#666`,o.label=t.label??``,o)}function ft(e,t,n,r,i,a){for(var o=a||{},s=o,c=0,l=st.length;c<l;c++)s[st[c]]=ct[c];return e?(ut(s,Array.isArray(e)?e:[e],t,n,r,i,rt),typeof s.labelPosition==`number`&&(s.labelPosition=void 0),o):(o.size=t.size??1,o.color=t.color??`#ccc`,o.label=t.label??``,o)}function pt(e,t,n){if(e==null)return n;if(typeof e==`function`)return e(t)??n;if(G(e)===`object`&&`when`in e){var r=e,i=r.when(t)?r.then:r.else;return i===void 0?n:typeof i==`function`?i(t)??n:i??n}if(G(e)===`object`&&`whenState`in e){var a=e,o=qe(a.whenState,t)?a.then:a.else;return o===void 0?n:typeof o==`function`?o(t)??n:o??n}return e??n}function mt(e,t){var n={};if(!e)return n;var r=f(Array.isArray(e)?e:[e]),i;try{for(r.s();!(i=r.n()).done;){var a=i.value;if(`when`in a&&`then`in a){var o=a.when(t)?a.then:a.else;o&&G(o)===`object`&&ht(n,o,t)}else if(`whenState`in a&&`then`in a){var s=qe(a.whenState,t)?a.then:a.else;s&&G(s)===`object`&&ht(n,s,t)}else ht(n,a,t)}}catch(e){r.e(e)}finally{r.f()}return n}function ht(e,t,n){for(var r=0,i=Object.entries(t);r<i.length;r++){var a=d(i[r],2),o=a[0],s=a[1];it.has(o)||(e[o]=pt(s,n))}}var gt=function(e){function t(){var e;return B(this,t),e=H(this,t),e.rawEmitter=e,e}return U(t,e),V(t)}(Se.EventEmitter),_t=Ae;function vt(e,t){var n=t.size;if(n!==0){var r=e.length;e.length+=n;var i=0;t.forEach(function(t){e[r+i]=t,i++})}}function yt(e){e||={};for(var t=0,n=arguments.length<=1?0:arguments.length-1;t<n;t++){var r=t+1<1||arguments.length<=t+1?void 0:arguments[t+1];r&&Object.assign(e,r)}return e}function bt(e,t){for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&t[n]!==e[n])return!0;return!1}function xt(e,t){var n=e,r=t;for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)&&n[i]!==r[i])return!1;for(var a in r)if(Object.prototype.hasOwnProperty.call(r,a)&&r[a]!==n[a])return!1;return!0}function St(e,t,n){n?e.add(t):e.delete(t)}var Ct=e(t(((e,t)=>{t.exports=function(e){return typeof e==`object`&&!!e&&typeof e.addUndirectedEdgeWithKey==`function`&&typeof e.dropNode==`function`&&typeof e.multi==`boolean`}}))()),wt={easing:`quadraticInOut`,duration:150};function Tt(e){return e.labelVisibility===`visible`&&e.visibility!==`hidden`}function Et(e){return e.backdropVisibility===`visible`&&e.visibility!==`hidden`}function Dt(e){return[+(e.rotationAlignment===`graph`),+(e.labelRotationAlignment===`graph`)]}function Ot(e,t,n){var r=e[t];if(r)for(var i=0;i<r.length;i++){var a=r[i];if(!(n<a.offset||n>=a.offset+a.count)){if(a.count===1)r.splice(i,1);else if(n===a.offset)a.offset++,a.count--;else if(n===a.offset+a.count-1)a.count--;else{var o=n+1,s=a.offset+a.count-o;a.count=n-a.offset,r.splice(i+1,0,{offset:o,count:s})}return}}}function kt(e,t,n){if(!e[t])e[t]=[{offset:n,count:1}];else{for(var r=e[t],i=r.length,a=0;a<r.length;a++)if(n<r[a].offset){i=a;break}var o=i>0?r[i-1]:null,s=i<r.length?r[i]:null,c=o&&o.offset+o.count===n,l=s&&n+1===s.offset;c&&l?(o.count+=1+s.count,r.splice(i,1)):c?o.count++:l?(s.offset--,s.count++):r.splice(i,0,{offset:n,count:1})}}function At(e){if(!(0,Ct.default)(e))throw Error(`Sigma: invalid graph instance.`)}function jt(e){var t=d(e.x,2),n=t[0],r=t[1],i=d(e.y,2),a=i[0],o=i[1],s=Math.max(r-n,o-a),c=(r+n)/2,l=(o+a)/2;(s===0||Math.abs(s)===1/0||isNaN(s))&&(s=1),isNaN(c)&&(c=0),isNaN(l)&&(l=0);var u=function(e){return{x:.5+(e.x-c)/s,y:.5+(e.y-l)/s}};return u.applyTo=function(e){e.x=.5+(e.x-c)/s,e.y=.5+(e.y-l)/s},u.inverse=function(e){return{x:c+s*(e.x-.5),y:l+s*(e.y-.5)}},u.ratio=s,u}var Mt={hideEdgesOnMove:!1,hideLabelsOnMove:!1,renderLabels:!0,renderEdgeLabels:!1,edgeLabelAnchors:`nodeLabels`,enableEdgeEvents:!1,nodeLabelEvents:!1,edgeLabelEvents:!1,pickingDownSizingRatio:2,nodePickingPadding:0,edgePickingPadding:4,labelPickingPadding:10,stagePadding:30,minEdgeThickness:1.7,antiAliasingFeather:1,antialiasEdges:!0,antialiasNodes:!0,dragTimeout:100,draggedEventsTolerance:3,inertiaDuration:200,inertiaRatio:3,zoomDuration:250,zoomingRatio:1.7,doubleClickTimeout:300,doubleClickZoomingRatio:2.2,doubleClickZoomingDuration:200,tapMoveTolerance:10,zoomToSizeRatioFunction:Math.sqrt,itemSizesReference:`positions`,autoRescale:!0,autoRescaleContent:`positions`,enableNodeDrag:!1,getDraggedNodes:function(e){return[e]},dragPositionToAttributes:null,labelDensity:1,labelGridCellSize:100,labelRenderedSizeThreshold:6,labelPixelSnapping:!0,minCameraRatio:null,maxCameraRatio:null,enableCameraZooming:!0,enableCameraPanning:!0,enableCameraRotation:!0,enableCameraMouseRotation:!0,cameraPanBoundaries:null,gestureTarget:`graph`,sharedGestureWheelMessage:`Use Ctrl + scroll to zoom the graph`,sharedGestureAppleWheelMessage:`Use ⌘ + scroll to zoom the graph`,sharedGestureTouchMessage:`Use two fingers to move the graph`,allowInvalidContainer:!1,DEBUG_displayPickingLayer:!1,DEBUG_logShaders:!1,DEBUG_logRenderStats:!1,DEBUG_gpuTimerQueries:!1};function Nt(e){if(typeof e.labelDensity!=`number`||e.labelDensity<0)throw Error("Settings: invalid `labelDensity`. Expecting a positive number.");var t=e.minCameraRatio,n=e.maxCameraRatio;if(typeof t==`number`&&typeof n==`number`&&n<t)throw Error("Settings: invalid camera ratio boundaries. Expecting `maxCameraRatio` to be greater than `minCameraRatio`.")}function Pt(e){return yt({},Mt,e)}var Ft=new Set([`italic`,`oblique`]),It=new Set([`bold`,`bolder`,`lighter`]);function Lt(e){for(var t=`normal`,n=`normal`,r=e.trim(),i=r.split(/\s+/),a=0,o=0;o<i.length;o++){var s=i[o].toLowerCase();if(Ft.has(s))n=s,a=o+1;else if(It.has(s)||/^\d{3}$/.test(s))t=s,a=o+1;else if(s===`normal`)a=o+1;else break}return{family:i.slice(a).join(` `)||r,weight:t,style:n}}function Rt(e,t,n){var r=document.createElement(e);if(t)for(var i in t)r.style[i]=t[i];if(n)for(var a in n)r.setAttribute(a,n[a]);return r}function zt(){return window.devicePixelRatio===void 0?1:window.devicePixelRatio}function Bt(e){var t=e.type===WebGL2RenderingContext.FLOAT&&!e.normalized,n=e.type===WebGL2RenderingContext.UNSIGNED_BYTE&&e.size===4&&e.normalized;if(!t&&!n)throw Error(`Attribute "${e.name}" is invalid: only non-normalized FLOAT and normalized UNSIGNED_BYTE with size 4 are supported.`);return e.normalized?1:e.size}function Vt(e){var t=0;return e.forEach(function(e){return t+=Bt(e)}),t}function Ht(e,t,n){var r=e===`VERTEX`?t.VERTEX_SHADER:t.FRAGMENT_SHADER,i=t.createShader(r);if(i===null)throw Error(`loadShader: error while creating the shader`);if(t.shaderSource(i,n),t.compileShader(i),!t.getShaderParameter(i,t.COMPILE_STATUS)){var a=t.getShaderInfoLog(i);throw t.deleteShader(i),Error(`loadShader: error while compiling the shader:
|
|
80
|
+
`,needsNodeSize:!0,uniforms:[],attributes:[{name:`loopRadius`,size:1,type:WebGL2RenderingContext.FLOAT},{name:`loopAngle`,size:1,type:WebGL2RenderingContext.FLOAT},{name:`loopSpread`,size:1,type:WebGL2RenderingContext.FLOAT},{name:`loopFixedOrientation`,size:1,type:WebGL2RenderingContext.FLOAT}],variables:{loopRadius:{type:`number`,default:4},loopAngle:{type:`number`,default:Math.PI/4},loopSpread:{type:`number`,default:80*Math.PI/180},loopFixedOrientation:{type:`number`,default:0}},spread:{variable:`loopRadius`,compute:function(e){return e+4}}}}var Se=r();function Ce(e){return G(e)===`object`&&`glsl`in e&&!(`attributes`in e)}function we(e){return G(e)===`object`&&`glsl`in e&&!(`attributes`in e)}var Te={shapes:[ge()],variables:{},layers:[_e()],label:{},backdrop:{},labelAttachments:{}},Ee={paths:[be(),xe()],extremities:[],variables:{},layers:[ye()],defaultHead:`none`,defaultTail:`none`,label:{}},De=[`nodes`,`topNodes`],Oe=[`edges`,`topEdges`],ke=[].concat(Oe,De),Ae={nodes:Te,edges:Ee,depthLayers:W(ke)},je={linear:function(e){return e},quadraticIn:function(e){return e*e},quadraticOut:function(e){return e*(2-e)},quadraticInOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)},cubicIn:function(e){return e*e*e},cubicOut:function(e){return--e*e*e+1},cubicInOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)},exponentialIn:function(e){return e===0?0:2**(10*(e-1))},exponentialOut:function(e){return e===1?1:1-2**(-10*e)},exponentialInOut:function(e){return e===0?0:e===1?1:e<.5?2**(10*(2*e-1))/2:(2-2**(-10*(2*e-1)))/2}};function Me(e){return e?typeof e==`function`?e:je[e]:je.linear}function Ne(e){return G(e)===`object`&&e!==null&&`attribute`in e}function Pe(e){return typeof e==`function`}function Fe(e){return G(e)===`object`&&e!==null&&`when`in e&&typeof e.when==`function`&&`then`in e}function Ie(e){return G(e)===`object`&&e!==null&&`whenState`in e&&`then`in e}function Le(e){return G(e)===`object`&&e!==null&&`whenData`in e&&`then`in e}var Re={isHovered:!1,isLabelHovered:!1,isHidden:!1,isHighlighted:!1,isDragged:!1},ze={isHovered:!1,isLabelHovered:!1,isHidden:!1,isHighlighted:!1,parallelIndex:0,parallelCount:1},Be={isIdle:!0,isPanning:!1,isZooming:!1,isDragging:!1,hasHovered:!1,hasHighlighted:!1};function Ve(e){return z(z({},Re),e)}function He(e){return z(z({},ze),e)}function Ue(e){return z(z({},Be),e)}var We={nodes:z(z({},{x:{attribute:`x`},y:{attribute:`y`},size:{whenState:`isHovered`,then:{attribute:`size`,defaultValue:12},else:{attribute:`size`,defaultValue:10}},color:{attribute:`color`,defaultValue:`#666`},label:{attribute:`label`},visibility:{whenState:`isHidden`,then:`hidden`,else:`visible`},labelVisibility:{whenState:`isHovered`,then:`visible`,else:`auto`},backdropVisibility:{whenState:`isHovered`,then:`visible`,else:`hidden`},backdropColor:`#ffffff`,backdropShadowColor:`rgba(0, 0, 0, 0.5)`,backdropShadowBlur:12,backdropPadding:6}),{},{depth:{whenState:`isHovered`,then:`topNodes`,else:`nodes`}}),edges:z(z({},{size:{attribute:`size`,defaultValue:1},color:{attribute:`color`,defaultValue:`#ccc`},label:{attribute:`label`},visibility:{whenState:`isHidden`,then:`hidden`,else:`visible`}}),{},{depth:{whenState:[`isHighlighted`,`isHovered`],then:`topEdges`,else:`edges`}})};function Ge(e){return`min`in e||`max`in e||`minValue`in e||`maxValue`in e||`easing`in e}function Ke(e){return`dict`in e}function qe(e,t){return typeof e==`string`?t[e]===!0:Array.isArray(e)?e.every(function(e){return t[e]===!0}):G(e)===`object`&&e!==null&&Object.entries(e).every(function(e){var n=d(e,2),r=n[0],i=n[1];return t[r]===i})}function Je(e,t){var n=t[e.attribute];return n===void 0?e.defaultValue:n}function Ye(e,t,n){var r=t[e.attribute];if(r===void 0)return e.defaultValue;var i=Number(r);if(isNaN(i))return e.defaultValue;if(e.min===void 0&&e.max===void 0)return i;var a=e.minValue??i,o=e.maxValue??i;if(o===a)return e.min??i;var s=(i-a)/(o-a);s=Math.max(0,Math.min(1,s)),s=Me(e.easing)(s);var c=e.min??0,l=e.max??1;return c+s*(l-c)}function Xe(e,t){var n=t[e.attribute];if(n===void 0)return e.defaultValue;var r=String(n);return r in e.dict?e.dict[r]:e.defaultValue}function Ze(e,t,n){return Ke(e)?Xe(e,t):Ge(e)?Ye(e,t):Je(e,t)}function Qe(e,t){return typeof e==`string`?!!t[e]:Array.isArray(e)?e.every(function(e){return!!t[e]}):G(e)===`object`&&e!==null&&Object.entries(e).every(function(e){var n=d(e,2),r=n[0],i=n[1];return t[r]===i})}function $e(e,t,n,r,i,a){if(e==null)return a;if(G(e)!==`object`&&typeof e!=`function`)return e;if(Fe(e)){var o=e.when(t,n,r,i)?e.then:e.else;return o===void 0?a:$e(o,t,n,r,i,a)}if(Ie(e)){var s=qe(e.whenState,n)?e.then:e.else;return s===void 0?a:$e(s,t,n,r,i,a)}if(Le(e)){var c=Qe(e.whenData,t)?e.then:e.else;return c===void 0?a:$e(c,t,n,r,i,a)}return Pe(e)?e(t,n,r,i)??a:Ne(e)?Ze(e,t)??a:e}function et(e){return e==null?`static`:Fe(e)?`graph-state`:Ie(e)?K(`item-state`,K(et(e.then),e.else===void 0?`static`:et(e.else))):Le(e)?K(et(e.then),e.else===void 0?`static`:et(e.else)):Pe(e)?`graph-state`:(Ne(e),`static`)}function K(e,t){return e===`graph-state`||t===`graph-state`?`graph-state`:e===`item-state`||t===`item-state`?`item-state`:`static`}function tt(e){if(!e)return{dependency:`static`,xAttribute:null,yAttribute:null};var t=Array.isArray(e)?e:[e],n=`static`,r=null,i=null,a=f(t),o;try{for(a.s();!(o=a.n()).done;){var s=o.value;if(`matchData`in s&&`cases`in s)for(var c=s.cases,l=0,u=Object.values(c);l<u.length;l++)for(var p=u[l],m=0,h=Object.values(p);m<h.length;m++){var g=h[m];n=K(n,et(g))}else if(`matchState`in s&&`cases`in s){n=K(n,`item-state`);for(var _=s.cases,v=0,y=Object.values(_);v<y.length;v++)for(var b=y[v],x=0,S=Object.values(b);x<S.length;x++){var C=S[x];n=K(n,et(C))}}else if(`when`in s&&`then`in s)n=`graph-state`;else if(`whenState`in s){n=K(n,`item-state`);var w=s.then;if(w&&G(w)===`object`)for(var T=0,E=Object.values(w);T<E.length;T++){var D=E[T];n=K(n,et(D))}var O=s.else;if(O&&G(O)===`object`)for(var k=0,A=Object.values(O);k<A.length;k++){var j=A[k];n=K(n,et(j))}}else if(`whenData`in s){var M=s.then;if(M&&G(M)===`object`)for(var N=0,P=Object.values(M);N<P.length;N++){var F=P[N];n=K(n,et(F))}var I=s.else;if(I&&G(I)===`object`)for(var ee=0,te=Object.values(I);ee<te.length;ee++){var L=te[ee];n=K(n,et(L))}}else for(var ne=0,re=Object.entries(s);ne<re.length;ne++){var ie=d(re[ne],2),R=ie[0],ae=ie[1];if(!it.has(R)&&(n=K(n,et(ae)),(R===`x`||R===`y`)&&Ne(ae))){var z=ae.attribute;R===`x`&&!r&&(r=z),R===`y`&&!i&&(i=z)}}}}catch(e){a.e(e)}finally{a.f()}return{dependency:n,xAttribute:r,yAttribute:i}}var nt={size:10,color:`#666`,opacity:1,shape:`circle`,rotationAlignment:`viewport`,labelRotationAlignment:`viewport`,visibility:`visible`,depth:`nodes`,zIndex:0,label:``,labelColor:`#000`,labelSize:12,labelFont:`sans-serif`,labelVisibility:`auto`,labelPosition:`right`,labelAngle:0,labelDepth:`nodes`,backdropVisibility:`hidden`,backdropColor:`transparent`,backdropShadowColor:`transparent`,backdropShadowBlur:0,backdropPadding:0,backdropBorderColor:`transparent`,backdropBorderWidth:0,backdropCornerRadius:0,backdropLabelPadding:-1,backdropArea:`both`,labelAttachment:null,labelAttachmentPlacement:`below`},rt={size:1,color:`#ccc`,opacity:1,path:`straight`,selfLoopPath:`loop`,parallelSpread:.25,tail:`none`,head:`none`,visibility:`visible`,depth:`edges`,zIndex:0,label:``,labelColor:`#666`,labelVisibility:`auto`,labelDepth:`edges`},it=new Set([`when`,`whenState`,`whenData`,`then`,`else`]),at=Object.keys(nt),ot=Object.values(nt),st=Object.keys(rt),ct=Object.values(rt);function lt(e,t,n,r,i,a,o){for(var s in t)if(!it.has(s)){var c=e[s]??o[s];e[s]=$e(t[s],n,r,i,a,c)}`depth`in t&&!(`labelDepth`in t)&&(e.labelDepth=e.depth)}function ut(e,t,n,r,i,a,o){var s=f(t),c;try{for(s.s();!(c=s.n()).done;){var l=c.value;if(`matchData`in l&&`cases`in l){var u=String(n[l.matchData]??``),d=l.cases;u in d&<(e,d[u],n,r,i,a,o)}else if(`matchState`in l&&`cases`in l){var p=String(r[l.matchState]??``),m=l.cases;p in m&<(e,m[p],n,r,i,a,o)}else if(`when`in l&&`then`in l){var h=l.when;if(!h(n,r,i,a))continue;lt(e,l.then,n,r,i,a,o)}else if(`whenState`in l&&`then`in l){if(!qe(l.whenState,r))continue;lt(e,l.then,n,r,i,a,o)}else if(`whenData`in l&&`then`in l){if(!Qe(l.whenData,n))continue;lt(e,l.then,n,r,i,a,o)}else lt(e,l,n,r,i,a,o)}}catch(e){s.e(e)}finally{s.f()}}function dt(e,t,n,r,i,a){for(var o=a||{},s=o,c=0,l=at.length;c<l;c++)s[at[c]]=ot[c];return s.x=void 0,s.y=void 0,s.labelBackgroundColor=void 0,s.labelBackgroundPadding=void 0,s.labelCursor=void 0,e?(ut(s,Array.isArray(e)?e:[e],t,n,r,i,nt),o):(s.x=t.x??0,s.y=t.y??0,o.size=t.size??10,o.color=t.color??`#666`,o.label=t.label??``,o)}function ft(e,t,n,r,i,a){for(var o=a||{},s=o,c=0,l=st.length;c<l;c++)s[st[c]]=ct[c];return e?(ut(s,Array.isArray(e)?e:[e],t,n,r,i,rt),typeof s.labelPosition==`number`&&(s.labelPosition=void 0),o):(o.size=t.size??1,o.color=t.color??`#ccc`,o.label=t.label??``,o)}function pt(e,t,n){if(e==null)return n;if(typeof e==`function`)return e(t)??n;if(G(e)===`object`&&`when`in e){var r=e,i=r.when(t)?r.then:r.else;return i===void 0?n:typeof i==`function`?i(t)??n:i??n}if(G(e)===`object`&&`whenState`in e){var a=e,o=qe(a.whenState,t)?a.then:a.else;return o===void 0?n:typeof o==`function`?o(t)??n:o??n}return e??n}function mt(e,t){var n={};if(!e)return n;var r=f(Array.isArray(e)?e:[e]),i;try{for(r.s();!(i=r.n()).done;){var a=i.value;if(`when`in a&&`then`in a){var o=a.when(t)?a.then:a.else;o&&G(o)===`object`&&ht(n,o,t)}else if(`whenState`in a&&`then`in a){var s=qe(a.whenState,t)?a.then:a.else;s&&G(s)===`object`&&ht(n,s,t)}else ht(n,a,t)}}catch(e){r.e(e)}finally{r.f()}return n}function ht(e,t,n){for(var r=0,i=Object.entries(t);r<i.length;r++){var a=d(i[r],2),o=a[0],s=a[1];it.has(o)||(e[o]=pt(s,n))}}var gt=function(e){function t(){var e;return B(this,t),e=H(this,t),e.rawEmitter=e,e}return U(t,e),V(t)}(Se.EventEmitter),_t=Ae;function vt(e,t){var n=t.size;if(n!==0){var r=e.length;e.length+=n;var i=0;t.forEach(function(t){e[r+i]=t,i++})}}function yt(e){e||={};for(var t=0,n=arguments.length<=1?0:arguments.length-1;t<n;t++){var r=t+1<1||arguments.length<=t+1?void 0:arguments[t+1];r&&Object.assign(e,r)}return e}function bt(e,t){for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&t[n]!==e[n])return!0;return!1}function xt(e,t){var n=e,r=t;for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)&&n[i]!==r[i])return!1;for(var a in r)if(Object.prototype.hasOwnProperty.call(r,a)&&r[a]!==n[a])return!1;return!0}function St(e,t,n){n?e.add(t):e.delete(t)}var Ct=e(t(((e,t)=>{t.exports=function(e){return typeof e==`object`&&!!e&&typeof e.addUndirectedEdgeWithKey==`function`&&typeof e.dropNode==`function`&&typeof e.multi==`boolean`}}))()),wt={easing:`quadraticInOut`,duration:150};function Tt(e){return e.labelVisibility===`visible`&&e.visibility!==`hidden`}function Et(e){return e.backdropVisibility===`visible`&&e.visibility!==`hidden`}function Dt(e){return[+(e.rotationAlignment===`graph`),+(e.labelRotationAlignment===`graph`)]}function Ot(e,t,n){var r=e[t];if(r)for(var i=0;i<r.length;i++){var a=r[i];if(!(n<a.offset||n>=a.offset+a.count)){if(a.count===1)r.splice(i,1);else if(n===a.offset)a.offset++,a.count--;else if(n===a.offset+a.count-1)a.count--;else{var o=n+1,s=a.offset+a.count-o;a.count=n-a.offset,r.splice(i+1,0,{offset:o,count:s})}return}}}function kt(e,t,n){if(!e[t])e[t]=[{offset:n,count:1}];else{for(var r=e[t],i=r.length,a=0;a<r.length;a++)if(n<r[a].offset){i=a;break}var o=i>0?r[i-1]:null,s=i<r.length?r[i]:null,c=o&&o.offset+o.count===n,l=s&&n+1===s.offset;c&&l?(o.count+=1+s.count,r.splice(i,1)):c?o.count++:l?(s.offset--,s.count++):r.splice(i,0,{offset:n,count:1})}}function At(e){if(!(0,Ct.default)(e))throw Error(`Sigma: invalid graph instance.`)}function jt(e){var t=d(e.x,2),n=t[0],r=t[1],i=d(e.y,2),a=i[0],o=i[1],s=Math.max(r-n,o-a),c=(r+n)/2,l=(o+a)/2;(s===0||Math.abs(s)===1/0||isNaN(s))&&(s=1),isNaN(c)&&(c=0),isNaN(l)&&(l=0);var u=function(e){return{x:.5+(e.x-c)/s,y:.5+(e.y-l)/s}};return u.applyTo=function(e){e.x=.5+(e.x-c)/s,e.y=.5+(e.y-l)/s},u.inverse=function(e){return{x:c+s*(e.x-.5),y:l+s*(e.y-.5)}},u.ratio=s,u}var Mt={hideEdgesOnMove:!1,hideLabelsOnMove:!1,renderLabels:!0,renderEdgeLabels:!1,edgeLabelAnchors:`nodeLabels`,enableEdgeEvents:!1,nodeLabelEvents:!1,edgeLabelEvents:!1,pickingDownSizingRatio:2,nodePickingPadding:0,edgePickingPadding:4,labelPickingPadding:10,stagePadding:30,minEdgeThickness:1.7,antiAliasingFeather:1,antialiasEdges:!0,antialiasNodes:!0,dragTimeout:100,draggedEventsTolerance:3,inertiaDuration:200,inertiaRatio:3,zoomDuration:250,zoomingRatio:1.7,doubleClickTimeout:300,doubleClickZoomingRatio:2.2,doubleClickZoomingDuration:200,tapMoveTolerance:10,zoomToSizeRatioFunction:Math.sqrt,itemSizesReference:`positions`,autoRescale:!0,autoRescaleContent:`positions`,enableNodeDrag:!1,getDraggedNodes:function(e){return[e]},dragPositionToAttributes:null,labelDensity:1,labelGridCellSize:100,labelRenderedSizeThreshold:6,labelPixelSnapping:!0,minCameraRatio:null,maxCameraRatio:null,enableCameraZooming:!0,enableCameraPanning:!0,enableCameraRotation:!0,enableCameraMouseRotation:!0,cameraPanBoundaries:null,gestureTarget:`graph`,sharedGestureWheelMessage:`Use Ctrl + scroll to zoom the graph`,sharedGestureAppleWheelMessage:`Use ⌘ + scroll to zoom the graph`,sharedGestureTouchMessage:`Use two fingers to move the graph`,allowInvalidContainer:!1,DEBUG_displayPickingLayer:!1,DEBUG_logShaders:!1,DEBUG_logRenderStats:!1,DEBUG_gpuTimerQueries:!1};function Nt(e){if(typeof e.labelDensity!=`number`||e.labelDensity<0)throw Error("Settings: invalid `labelDensity`. Expecting a positive number.");var t=e.minCameraRatio,n=e.maxCameraRatio;if(typeof t==`number`&&typeof n==`number`&&n<t)throw Error("Settings: invalid camera ratio boundaries. Expecting `maxCameraRatio` to be greater than `minCameraRatio`.")}function Pt(e){return yt({},Mt,e)}var Ft=new Set([`italic`,`oblique`]),It=new Set([`bold`,`bolder`,`lighter`]);function Lt(e){for(var t=`normal`,n=`normal`,r=e.trim(),i=r.split(/\s+/),a=0,o=0;o<i.length;o++){var s=i[o].toLowerCase();if(Ft.has(s))n=s,a=o+1;else if(It.has(s)||/^\d{3}$/.test(s))t=s,a=o+1;else if(s===`normal`)a=o+1;else break}return{family:i.slice(a).join(` `)||r,weight:t,style:n}}function Rt(e,t,n){var r=document.createElement(e);if(t)for(var i in t)r.style[i]=t[i];if(n)for(var a in n)r.setAttribute(a,n[a]);return r}function zt(){return window.devicePixelRatio===void 0?1:window.devicePixelRatio}function Bt(e){var t=e.type===WebGL2RenderingContext.FLOAT&&!e.normalized,n=e.type===WebGL2RenderingContext.UNSIGNED_BYTE&&e.size===4&&e.normalized;if(!t&&!n)throw Error(`Attribute "${e.name}" is invalid: only non-normalized FLOAT and normalized UNSIGNED_BYTE with size 4 are supported.`);return e.normalized?1:e.size}function Vt(e){var t=0;return e.forEach(function(e){return t+=Bt(e)}),t}function Ht(e,t,n){var r=e===`VERTEX`?t.VERTEX_SHADER:t.FRAGMENT_SHADER,i=t.createShader(r);if(i===null)throw Error(`loadShader: error while creating the shader`);if(t.shaderSource(i,n),t.compileShader(i),!t.getShaderParameter(i,t.COMPILE_STATUS)){var a=t.getShaderInfoLog(i);throw t.deleteShader(i),Error(`loadShader: error while compiling the shader:
|
|
81
81
|
${a}
|
|
82
82
|
${n}`)}return i}function Ut(e,t){return Ht(`VERTEX`,e,t)}function Wt(e,t){return Ht(`FRAGMENT`,e,t)}function Gt(e,t){var n=e.createProgram();if(n===null)throw Error(`loadProgram: error while creating the program.`);for(var r=0,i=t.length;r<i;r++)e.attachShader(n,t[r]);if(e.linkProgram(n),!e.getProgramParameter(n,e.LINK_STATUS)){var a=e.getProgramInfoLog(n);throw e.deleteProgram(n),Error(`loadProgram: error while linking the program: ${a}`)}return n}function Kt(e){var t=e.gl,n=e.buffer,r=e.program,i=e.vertexShader,a=e.fragmentShader;t.deleteShader(i),t.deleteShader(a),t.deleteProgram(r),t.deleteBuffer(n)}function q(e){return e%1==0?e.toFixed(1):e.toString()}var qt=new Map,Jt=new Map,Yt=0;function Xt(e,t){var n,r=(n=e.variables)==null||(n=n[t.source||t.name.replace(/^a_/,``)])==null?void 0:n.default;return q(typeof r==`number`?r:typeof t.defaultValue==`number`?t.defaultValue:0)}function Zt(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:function(e){return`v_${e.name.replace(/^a_/,``)}`},i=[t,n].concat(W(e.uniforms.filter(function(e){return e.type===`float`}).map(function(e){return q(e.value??0)})),W((e.attributes??[]).map(r)));return`sdf_${e.name}(${i.join(`, `)})`}function Qt(e){var t=e.name,n=e.uniforms.filter(function(e){return e.type===`float`&&e.value!==void 0&&e.value!==0}).map(function(e){return`${e.name.replace(`u_`,``)}=${e.value}`}).sort(),r=(e.attributes??[]).map(function(t){return`${t.name}@${t.source??``}=${Xt(e,t)}`}),i=[].concat(W(n),W(r));return i.length>0&&(t+=`#`+i.join(`#`)),t}function $t(e){var t=Qt(e);if(!qt.has(t)){var n={},r=f(e.uniforms),i;try{for(r.s();!(i=r.n()).done;){var a=i.value;a.type===`float`&&a.value!==void 0&&(n[a.name]=a.value)}}catch(e){r.e(e)}finally{r.f()}qt.set(t,{shape:e,uniformValues:n,slug:t}),Jt.set(t,Yt++)}return t}function en(e){return Jt.get(e)??-1}function tn(e){var t=[],n=new Set,r=new Set,i=/mat2 rotate2D\(float angle\)\s*\{[^}]+\}/,a=f(e),o;try{for(a.s();!(o=a.n()).done;){var s=o.value;if(!r.has(s.name)){r.add(s.name);var c=s.glsl;i.test(c)&&(n.has(`rotate2D`)?c=c.replace(i,``):n.add(`rotate2D`)),t.push(c)}}}catch(e){a.e(e)}finally{a.f()}return t.join(`
|
|
83
83
|
`)}function nn(){return tn(Array.from(qt.values()).map(function(e){return e.shape}))}function rn(e){var t=Array.from(qt.entries());return t.length===0?`
|
|
@@ -3222,4 +3222,4 @@ float extremity_none(vec2 uv, float lengthRatio, float widthRatio) {
|
|
|
3222
3222
|
${So}
|
|
3223
3223
|
}`),xo(`@layer sigma-gesture-hint {}`)&&(So=`@layer sigma-gesture-hint {
|
|
3224
3224
|
${So}
|
|
3225
|
-
}`)),So}var wo=function(){function e(t){B(this,e),R(this,`hideTimeout`,null),this.styleElement=Rt(`style`),this.styleElement.textContent=Co(),t.appendChild(this.styleElement),this.element=Rt(`div`,{opacity:`0`},{class:`sigma-gesture-hint`}),t.appendChild(this.element)}return V(e,[{key:`show`,value:function(e,t){var n=this,r=e===`touch`?t.sharedGestureTouchMessage:vo?t.sharedGestureAppleWheelMessage:t.sharedGestureWheelMessage;r&&(this.element.textContent=r,this.element.style.opacity=`1`,typeof this.hideTimeout==`number`&&clearTimeout(this.hideTimeout),this.hideTimeout=window.setTimeout(function(){n.hideTimeout=null,n.element.style.opacity=`0`},yo))}},{key:`kill`,value:function(){typeof this.hideTimeout==`number`&&clearTimeout(this.hideTimeout),this.styleElement.remove(),this.element.remove()}}])}(),To=function(){function e(t){B(this,e),R(this,`readBuffer`,null),R(this,`fence`,null),R(this,`result`,new Uint8Array(4)),R(this,`generation`,0),R(this,`readGeneration`,0),R(this,`lastEvent`,null),R(this,`active`,!1),R(this,`dirty`,!1),R(this,`rafId`,null),R(this,`killed`,!1),this.options=t}return V(e,[{key:`pointerMoved`,value:function(e){this.lastEvent=e,this.active=!0,!this.options.isRenderPending()&&this.request()}},{key:`pointerLeft`,value:function(){this.active=!1,this.dirty=!1}},{key:`frameRendered`,value:function(){this.request()}},{key:`invalidate`,value:function(){this.generation++}},{key:`request`,value:function(){!this.killed&&this.active&&this.lastEvent&&(this.fence?this.dirty=!0:this.startRead())}},{key:`startRead`,value:function(){var e=this.options,t=e.gl,n=e.getFrameBuffer,r=e.getPixelRatio,i=e.getDownSizingRatio;this.readGeneration=this.generation;var a=this.lastEvent,o=d(C(t,a.x,a.y,r(),i()),2),s=o[0],c=o[1];this.readBuffer||=t.createBuffer(),t.bindFramebuffer(t.FRAMEBUFFER,n()),t.bindBuffer(t.PIXEL_PACK_BUFFER,this.readBuffer),t.bufferData(t.PIXEL_PACK_BUFFER,4,t.STREAM_READ),t.readPixels(s,c,1,1,t.RGBA,t.UNSIGNED_BYTE,0),t.bindBuffer(t.PIXEL_PACK_BUFFER,null),t.bindFramebuffer(t.FRAMEBUFFER,null),this.fence=t.fenceSync(t.SYNC_GPU_COMMANDS_COMPLETE,0),t.flush(),this.schedulePoll(a)}},{key:`schedulePoll`,value:function(e){var t=this;this.rafId=requestAnimationFrame(function(){t.rafId=null,t.poll(e)})}},{key:`poll`,value:function(e){var t=this.options,n=t.gl,r=t.onIndex;if(!this.killed&&this.fence){var i=n.clientWaitSync(this.fence,0,0);if(i===n.TIMEOUT_EXPIRED)this.schedulePoll(e);else{if(n.deleteSync(this.fence),this.fence=null,i!==n.WAIT_FAILED&&this.readGeneration===this.generation){n.bindBuffer(n.PIXEL_PACK_BUFFER,this.readBuffer),n.getBufferSubData(n.PIXEL_PACK_BUFFER,0,this.result),n.bindBuffer(n.PIXEL_PACK_BUFFER,null);var a=d(this.result,4),o=a[0],s=a[1],c=a[2],l=a[3];this.active&&r(te(o,s,c,l),e)}this.dirty&&(this.dirty=!1,this.active&&this.lastEvent&&!this.options.isRenderPending()&&this.startRead())}}}},{key:`reset`,value:function(){this.rafId!==null&&cancelAnimationFrame(this.rafId),this.rafId=null,this.fence=null,this.readBuffer=null,this.dirty=!1}},{key:`kill`,value:function(){this.killed=!0,this.rafId!==null&&cancelAnimationFrame(this.rafId),this.rafId=null;var e=this.options.gl;this.fence&&e.deleteSync(this.fence),this.fence=null,this.readBuffer&&e.deleteBuffer(this.readBuffer),this.readBuffer=null}}])}(),Eo=function(){function e(t,n){B(this,e),this.key=t,this.size=n}return V(e,null,[{key:`compare`,value:function(e,t){return e.size>t.size?-1:e.size<t.size||e.key>t.key?1:-1}}])}(),Do=function(){function e(){B(this,e),R(this,`width`,0),R(this,`height`,0),R(this,`cellSize`,0),R(this,`columns`,0),R(this,`rows`,0),R(this,`cells`,{})}return V(e,[{key:`resizeAndClear`,value:function(e,t){this.width=e.width,this.height=e.height,this.cellSize=t,this.columns=Math.ceil(e.width/t),this.rows=Math.ceil(e.height/t),this.cells={}}},{key:`getIndex`,value:function(e){var t=Math.floor(e.x/this.cellSize);return Math.floor(e.y/this.cellSize)*this.columns+t}},{key:`add`,value:function(e,t,n){var r=new Eo(e,t),i=this.getIndex(n),a=this.cells[i];a||(a=[],this.cells[i]=a),a.push(r)}},{key:`organize`,value:function(){for(var e in this.cells)this.cells[e].sort(Eo.compare)}},{key:`getLabelsToDisplay`,value:function(e,t,n){var r=this.cellSize*this.cellSize,i=r/e/e*t/r,a=Math.ceil(i),o=[];if(n)for(var s=Math.max(0,Math.floor(n.x1/this.cellSize)),c=Math.min(this.columns-1,Math.floor(n.x2/this.cellSize)),l=Math.max(0,Math.floor(n.y1/this.cellSize)),u=Math.min(this.rows-1,Math.floor(n.y2/this.cellSize)),d=l;d<=u;d++)for(var f=s;f<=c;f++){var p=d*this.columns+f,m=this.cells[p];if(m)for(var h=0;h<Math.min(a,m.length);h++)o.push(m[h].key)}else for(var g in this.cells)for(var _=this.cells[g],v=0;v<Math.min(a,_.length);v++)o.push(_[v].key);return o}}])}();function Oo(e){var t=e.graph,n=e.hoveredNode,r=e.highlightedNodes,i=e.displayedNodeLabels,a=new Set,o=new Set(r);n&&o.add(n);var s=f(o),c;try{for(s.s();!(c=s.n()).done;){var l=c.value;t.hasNode(l)&&t.forEachEdge(l,function(e){a.add(e)})}}catch(e){s.e(e)}finally{s.f()}var u=f(i),d;try{var p=function(){var e=d.value;if(o.has(e))return 1;t.forEachEdge(e,function(t,n,r,o){var s=r===e?o:r;i.has(s)&&a.add(t)})};for(u.s();!(d=u.n()).done;)if(p())continue}catch(e){u.e(e)}finally{u.f()}return Array.from(a)}var ko=150,Ao=50,jo={both:0,node:1,label:2},Mo={over:0,above:1,below:2,auto:3},No=12,Po=3,Fo=function(){function e(t){B(this,e),R(this,`labelGrid`,new Do),R(this,`edgeAnchorGrid`,new Do),R(this,`displayedNodeLabels`,new Set),R(this,`displayedEdgeLabels`,new Set),R(this,`edgeLabelCandidates`,[]),R(this,`renderedNodeLabels`,new Set),R(this,`labelSizeCache`,new Map),R(this,`framePassPoints`,new Float32Array),R(this,`labelsDirty`,!0),this.internals=t}return V(e,[{key:`resetFrame`,value:function(){this.displayedNodeLabels=new Set,this.renderedNodeLabels=new Set,this.labelSizeCache.clear()}},{key:`clearEdgeLabels`,value:function(){this.displayedEdgeLabels=new Set}},{key:`resetLabelGrid`,value:function(){this.labelGrid=new Do,this.edgeAnchorGrid=new Do}},{key:`processWebGLLabels`,value:function(e){for(var t,n=this.internals,r=n.labelProgram,i=n.primitives,a=n.nodeDataCache,o=(i==null||(t=i.nodes)==null||(t=t.label)==null||(t=t.font)==null?void 0:t.family)||`sans-serif`,s=new Map,c=0,l=e.length;c<l;c++){var u=a[e[c]];if(u.visibility!==`hidden`&&u.label){var p=u.labelFont||o,m=s.get(p);m?m.push(u.label):s.set(p,[u.label])}}var h=f(s),g;try{for(h.s();!(g=h.n()).done;){var _=d(g.value,2),v=_[0],y=_[1],b=Lt(v),x=b.family,S=b.weight,C=b.style,w=r.registerFont(x,S,C);r.ensureGlyphsReady(y,w)}}catch(e){h.e(e)}finally{h.f()}}},{key:`measureNodeLabel`,value:function(e){var t;if(!e.label)return{width:0,height:0,textHeight:0};var n=this.internals,r=n.labelProgram,i=n.primitives,a=e.labelSize??14,o=e.labelFont||(i==null||(t=i.nodes)==null||(t=t.label)==null||(t=t.font)==null?void 0:t.family)||`sans-serif`,s=`${e.label}|${a}|${o}`;if(this.labelSizeCache.has(s))return this.labelSizeCache.get(s);var c=Lt(o),l=c.family,u=c.weight,d=c.style,f=r.registerFont(l,u,d),p=r.measureLabel(e.label,a,f);return this.labelSizeCache.set(s,p),p}},{key:`nodeLabelBox`,value:function(e,t){var n;if(e.visibility===`hidden`||e.labelVisibility===`hidden`)return null;var r=this.measureNodeLabel(e),i=r.width,a=r.height,o=r.textHeight;if(!i)return null;var s=t+(((n=this.internals.primitives)==null||(n=n.nodes)==null||(n=n.label)==null?void 0:n.margin)??5),c=e.labelBackgroundColor?e.labelBackgroundPadding??3:0,l=i/2,u=a/2,d=l+c,f=u+c,p=o/2,m=0,h=0;switch(e.labelPosition??`right`){case`left`:m=-(s+l);break;case`above`:h=-(s+p);break;case`below`:h=s+p;break;case`over`:break;default:m=s+l}var g=e.labelAngle??0,_=v({x:m,y:h},g),y=_.x,b=_.y,x=Math.abs(Math.cos(g)),S=Math.abs(Math.sin(g)),C=x*d+S*f,w=S*d+x*f;return{minX:y-C,maxX:y+C,minY:b-w,maxY:b+w}}},{key:`computeDisplayedNodeLabels`,value:function(){var e=this.internals.getCameraState(),t=this.internals.getDimensions(),n=t.width,r=t.height,i=this.internals.viewportToFramedGraph({x:-ko,y:-Ao}),a=this.internals.viewportToFramedGraph({x:n+ko,y:-Ao}),o=this.internals.viewportToFramedGraph({x:-ko,y:r+Ao}),s=this.internals.viewportToFramedGraph({x:n+ko,y:r+Ao}),c=Math.min(i.x,a.x,o.x,s.x),l=Math.max(i.x,a.x,o.x,s.x),u=Math.min(i.y,a.y,o.y,s.y),d=Math.max(i.y,a.y,o.y,s.y),f=x({x:.5,y:.5,ratio:1,angle:0},{width:n,height:r},this.internals.getGraphDimensions(),this.internals.getStagePadding()),p=function(e){var t=y(f,e);return{x:(1+t.x)*n/2,y:(1-t.y)*r/2}},m=p({x:c,y:u}),h=p({x:l,y:u}),g=p({x:c,y:d}),_=p({x:l,y:d}),v={x1:Math.min(m.x,h.x,g.x,_.x),y1:Math.min(m.y,h.y,g.y,_.y),x2:Math.max(m.x,h.x,g.x,_.x),y2:Math.max(m.y,h.y,g.y,_.y)},b=this.internals,S=b.settings,C=b.nodeDataCache,w=b.nodesWithForcedLabels,T=this.labelGrid.getLabelsToDisplay(e.ratio,S.labelDensity,v);vt(T,w);for(var E=0,D=T.length;E<D;E++){var O=T[E],k=C[O];if(!this.displayedNodeLabels.has(O)&&k.visibility!==`hidden`&&k.labelVisibility!==`hidden`&&k.label&&!(k.x<c||k.x>l||k.y<u||k.y>d)){var A=this.internals.framedGraphToViewport(k),j=A.x,M=A.y,N=this.internals.scaleSize(k.size);!Tt(k)&&N<S.labelRenderedSizeThreshold||j<-ko-N||j>n+ko+N||M<-Ao-N||M>r+Ao+N||this.displayedNodeLabels.add(O)}}}},{key:`buildFramePassPoints`,value:function(){var e=this.internals,t=e.nodeDataCache,n=e.nodeDataTexture;if(!n)return{data:this.framePassPoints,count:0};var r=this.displayedNodeLabels.size*3;this.framePassPoints.length<r&&(this.framePassPoints=new Float32Array(r));var i=this.framePassPoints,a=0,o=f(this.displayedNodeLabels),s;try{for(o.s();!(s=o.n()).done;){var c=s.value,l=t[c];if(l){var u=n.getIndex(c);u<0||(i[a*3]=u,i[a*3+1]=cn[l.labelPosition||nt.labelPosition]??0,i[a*3+2]=l.labelAngle??0,a++)}}}catch(e){o.e(e)}finally{o.f()}return{data:i,count:a}}},{key:`renderWebGLLabels`,value:function(e,t){var n=this.internals,r=n.nodeDataCache,i=n.labelProgram,a=n.primitives,o=n.nodeDataTexture,s=[],c=f(this.displayedNodeLabels),l;try{for(c.s();!(l=c.n()).done;){var u=l.value;if(!this.renderedNodeLabels.has(u)){var d=r[u];t&&d.labelDepth!==t||(this.renderedNodeLabels.add(u),s.push(u))}}}catch(e){c.e(e)}finally{c.f()}if(s.length!==0){if(this.labelsDirty){for(var p,m,h=0,g=0,_=s.length;g<_;g++){var v=r[s[g]];h+=v.label.length}i.reallocate(h);for(var y=14,b=(a==null||(p=a.nodes)==null||(p=p.label)==null?void 0:p.margin)??5,x=nt.labelPosition,S=(a==null||(m=a.nodes)==null||(m=m.label)==null||(m=m.font)==null?void 0:m.family)||`sans-serif`,C=new Map,w=0,T=0,E=s.length;T<E;T++){var D=s[T],O=r[D],k=O.labelFont||S,A=C.get(k);if(A===void 0){var j=Lt(k),M=j.family,N=j.weight,P=j.style;A=i.registerFont(M,N,P),C.set(k,A)}var F={text:O.label,x:O.x,y:O.y,size:O.labelSize??y,color:O.labelColor,nodeSize:O.size,margin:b,position:O.labelPosition??x,hidden:!1,forceLabel:Tt(O),type:`default`,zIndex:O.zIndex??0,parentType:`node`,parentKey:D,fontKey:A,labelAngle:O.labelAngle??0,nodeIndex:o.getIndex(D)},I=i.processLabel(D,w,F);w+=I}i.invalidateBuffers()}i.render(e)}}},{key:`renderBackdrops`,value:function(e,t){var n=this.internals,r=n.backdropProgram,i=n.nodeDataCache,a=n.nodesWithBackdrop,o=n.attachmentManager,s=n.pixelRatio,c=n.nodeDataTexture,l=[],u=f(a),d;try{for(u.s();!(d=u.n()).done;){var p=d.value,m=i[p];if(m&&m.visibility!==`hidden`&&!(t&&m.depth!==t)){var h=c?.getIndex(p)??-1;h<0||l.push({key:p,nodeIndex:h})}}}catch(e){u.e(e)}finally{u.f()}if(l.length!==0){r.reallocate(l.length);for(var g=0;g<l.length;g++){var _=l[g],v=_.key,y=_.nodeIndex,b=i[v],x=this.displayedNodeLabels.has(v),S=x?this.measureNodeLabel(b):{width:0,height:0,textHeight:0},C=S.textHeight,w=S.width,T=S.height,E=0,D=0;if(x&&b.labelAttachment&&o){var O=o.getEntry(v,b.labelAttachment);if(O){var k=b.labelAttachmentPlacement||`below`;if(k===`below`||k===`above`){var A=O.height/s;T+=A+2,w=Math.max(w,O.width/s),D=k===`below`?(A+2)/2:-(A+2)/2}else{var j=O.width/s;w+=j+2,T=Math.max(T,O.height/s),E=k===`right`?(j+2)/2:-(j+2)/2}}}var M=b.backdropColor?I(b.backdropColor):[255,255,255,255],N=b.backdropShadowColor?I(b.backdropShadowColor):[0,0,0,128],P=M.map(function(e){return e/255}),F=N.map(function(e){return e/255}),ee=b.backdropShadowBlur??12,te=b.backdropPadding??6,L=(b.backdropBorderColor?I(b.backdropBorderColor):[0,0,0,0]).map(function(e){return e/255}),ne=b.backdropBorderWidth??0,re=b.backdropCornerRadius??0,ie=b.backdropLabelPadding??-1,R=ie<0?te:ie,ae=jo[b.backdropArea??`both`]??0,z={key:v,nodeIndex:y,label:b.label,labelWidth:w,labelHeight:T,textHeight:C,type:`default`,position:b.labelPosition||nt.labelPosition,labelAngle:b.labelAngle??0,backdropColor:P,backdropShadowColor:F,backdropShadowBlur:ee,backdropPadding:te,backdropBorderColor:L,backdropBorderWidth:ne,backdropCornerRadius:re,backdropLabelPadding:R,backdropArea:ae,labelBoxOffset:[E,D]};r.processBackdrop(g,z)}r.invalidateBuffers(),r.render(e)}}},{key:`renderLabelBackgrounds`,value:function(e,t){var n=this.internals,r=n.labelBackgroundProgram,i=n.nodeDataCache,a=n.nodeDataTexture,o=$.nodeLabel.writesPickingThisFrame(this.internals),s=[],c=f(this.displayedNodeLabels),l;try{for(c.s();!(l=c.n()).done;){var u=l.value,d=i[u];d&&d.visibility!==`hidden`&&(t&&d.labelDepth!==t||(o||d.labelBackgroundColor)&&s.push(u))}}catch(e){c.e(e)}finally{c.f()}if(s.length!==0){r.reallocate(s.length);for(var p=0;p<s.length;p++){var m=s[p],h=i[m],g=a?.getIndex(m)??-1;if(!(g<0)){var _=this.measureNodeLabel(h),v=_.width,y=_.height,b=_.textHeight,x=qa(this.internals.pickingState,`nodeLabel`,m)||qa(this.internals.pickingState,`node`,m),S=h.labelBackgroundColor?F(h.labelBackgroundColor):F(`transparent`),C={nodeIndex:g,id:ee(x),color:S,labelWidth:v,labelHeight:y,textHeight:b,positionMode:cn[h.labelPosition||nt.labelPosition]??0,labelAngle:h.labelAngle??0,padding:h.labelBackgroundPadding??3};r.processLabelBackground(p,C)}}r.invalidateBuffers(),r.render(e)}}},{key:`cacheAttachments`,value:function(e){var t=this.internals,n=t.attachmentManager,r=t.pixelRatio,i=t.nodeDataCache,a=t.nodesWithBackdrop,o=t.graph;if(n){var s=f(a),c;try{for(s.s();!(c=s.n()).done;){var l=c.value;if(this.displayedNodeLabels.has(l)){var u=i[l];if(u&&u.visibility!==`hidden`&&!(e&&u.depth!==e)&&u.labelAttachment){var d=o.getNodeAttributes(l),p=this.measureNodeLabel(u),m={node:l,attributes:d,pixelRatio:r,labelWidth:p.width,labelHeight:p.height};n.renderAttachment(l,u.labelAttachment,m)}}}}catch(e){s.e(e)}finally{s.f()}n.regenerateAtlas()}}},{key:`renderAttachments`,value:function(e,t){var n=this.internals,r=n.attachmentManager,i=n.attachmentProgram,a=n.nodeDataCache,o=n.nodesWithBackdrop,s=n.pixelRatio,c=n.nodeDataTexture;if(r&&i){var l=0;i.reallocateAttachments(o.size);var u=f(o),d;try{for(u.s();!(d=u.n()).done;){var p=d.value;if(this.displayedNodeLabels.has(p)){var m=a[p];if(m&&m.visibility!==`hidden`&&!(t&&m.labelDepth!==t)&&m.labelAttachment){var h=r.getEntry(p,m.labelAttachment);if(h){var g=c?.getIndex(p)??-1;if(!(g<0)){var _=this.measureNodeLabel(m),v=_.width,y=_.height,b=_.textHeight,x=zn[m.labelAttachmentPlacement||`below`]??0;i.processAttachment(l,{nodeIndex:g,atlasX:h.x,atlasY:h.y,atlasW:h.width,atlasH:h.height,attachWidth:h.width/s,attachHeight:h.height/s,positionMode:cn[m.labelPosition||nt.labelPosition]??0,attachmentPlacement:x,labelWidth:v,labelHeight:y,textHeight:b,labelAngle:m.labelAngle??0}),l++}}}}}}catch(e){u.e(e)}finally{u.f()}l!==0&&(i.reallocateAttachments(l),r.bindTexture(7),i.invalidateBuffers(),i.render(e))}}},{key:`computeDisplayedEdgeLabels`,value:function(){var e=this.internals,t=e.graph,n=e.stateManager,r=e.settings,i=e.edgesWithForcedLabels,a=n.getHighlightedNodes(),o=r.edgeLabelAnchors===`allNodes`?new Set(this.edgeAnchorGrid.getLabelsToDisplay(this.internals.getCameraState().ratio,r.labelDensity)):this.displayedNodeLabels,s=n.hovered,c=Oo({graph:t,hoveredNode:s?.kind===`node`?s.key:null,displayedNodeLabels:o,highlightedNodes:a});vt(c,i),this.edgeLabelCandidates=c,this.displayedEdgeLabels=new Set}},{key:`filterEdgeLabelsForDepth`,value:function(e){for(var t=this.internals,n=t.graph,r=t.nodeDataCache,i=t.edgeDataCache,a=[],o=new Set,s=0,c=this.edgeLabelCandidates.length;s<c;s++){var l=this.edgeLabelCandidates[s];if(!o.has(l)){o.add(l);var u=n.extremities(l),d=r[u[0]],f=r[u[1]],p=i[l];p&&d&&f&&p.visibility!==`hidden`&&p.labelVisibility!==`hidden`&&d.visibility!==`hidden`&&f.visibility!==`hidden`&&(e&&p.labelDepth!==e||p.label&&a.push(l))}}return a}},{key:`renderEdgeLabels`,value:function(e,t){var n=this.internals,r=n.graph,i=n.nodeDataCache,a=n.edgeDataCache,o=n.primitives,s=n.edgeLabelProgram,c=n.nodeDataTexture,l=n.edgeDataTexture,u=this.filterEdgeLabelsForDepth(t),d=f(u),p;try{for(d.s();!(p=d.n()).done;){var m=p.value;this.displayedEdgeLabels.add(m)}}catch(e){d.e(e)}finally{d.f()}if(u.length!==0){if(this.labelsDirty){var h,g=0,_=f(u),v;try{for(_.s();!(v=_.n()).done;){var y=v.value;g+=a[y].label.length}}catch(e){_.e(e)}finally{_.f()}s.reallocate(g);var b=(o==null||(h=o.edges)==null||(h=h.label)==null?void 0:h.margin)??5,x=`over`,S=0,C=f(u),w;try{for(C.s();!(w=C.n()).done;){var T=w.value,E=r.extremities(T),D=E[0],O=E[1],k=i[D],A=i[O],j=a[T],M=c.getIndex(D),N=c.getIndex(O),P=l.getIndex(T),F={text:j.label,x:(k.x+A.x)/2,y:(k.y+A.y)/2,size:No,color:j.labelColor,nodeSize:0,nodeIndex:-1,margin:b,position:j.labelPosition??x,hidden:!1,forceLabel:Tt(j),type:`default`,zIndex:j.zIndex??0,parentType:`edge`,parentKey:T,fontKey:``,labelAngle:0,sourceX:k.x,sourceY:k.y,targetX:A.x,targetY:A.y,sourceSize:k.size,targetSize:A.size,sourceShape:k.shape||`circle`,targetShape:A.shape||`circle`,edgeSize:j.size,offset:0,edgeAttributes:j,sourceNodeIndex:M,targetNodeIndex:N,edgeIndex:P},I=s.processEdgeLabel(T,S,F);S+=I}}catch(e){C.e(e)}finally{C.f()}s.invalidateBuffers()}s.render(e)}}},{key:`renderEdgeLabelBackgrounds`,value:function(e,t){var n,r=this.internals,i=r.edgeLabelBackgroundProgram,a=r.edgeLabelProgram,o=r.edgeDataCache,s=r.primitives,c=r.edgeDataTexture;if(c){var l=$.edgeLabel.writesPickingThisFrame(this.internals),u=(s==null||(n=s.edges)==null||(n=n.label)==null?void 0:n.margin)??5,d=`over`,p=this.filterEdgeLabelsForDepth(t),m=[],h=f(p),g;try{for(h.s();!(g=h.n()).done;){var _=g.value;(l||o[_].labelBackgroundColor)&&m.push(_)}}catch(e){h.e(e)}finally{h.f()}if(m.length!==0){i.reallocate(m.length);for(var v=0;v<m.length;v++){var y=m[v],b=o[y],x=b.label,S=a.measureLabelAtlasWidth(x),C=b.labelPosition??d,w=typeof C==`string`?Mo[C]??0:0,T=qa(this.internals.pickingState,`edgeLabel`,y)||qa(this.internals.pickingState,`edge`,y),E=b.labelBackgroundColor?F(b.labelBackgroundColor):F(`transparent`),D={edgeIndex:c.getIndex(y),baseFontSize:No,totalTextWidth:S,positionMode:w,margin:u,padding:b.labelBackgroundPadding??Po,color:E,id:ee(T),edgeAttributes:b};i.processEdgeLabelBackground(v,y,D)}i.invalidateBuffers(),i.render(e)}}}}])}(),Io=function(){function e(t,n,r,i){B(this,e),R(this,`nodeStates`,new Map),R(this,`edgeStates`,new Map),R(this,`hovered`,null),R(this,`dirtyNodes`,new Set),R(this,`dirtyEdges`,new Set),R(this,`graphStateChanged`,!1),R(this,`graphStateFlagsDirty`,!1),this.scheduleRefresh=t,this.customNodeStateDefaults=n,this.customEdgeStateDefaults=r,this.customGraphStateDefaults=i,this.graphState=Ue(i)}return V(e,[{key:`getNodeState`,value:function(e){e=``+e;var t=this.nodeStates.get(e);return t||(t=Ve(this.customNodeStateDefaults),this.nodeStates.set(e,t)),t}},{key:`getEdgeState`,value:function(e){e=``+e;var t=this.edgeStates.get(e);return t||(t=He(this.customEdgeStateDefaults),this.edgeStates.set(e,t)),t}},{key:`getGraphState`,value:function(){return this.flushGraphStateFlags(),this.graphState}},{key:`getHighlightedNodes`,value:function(){var e=new Set,t=f(this.nodeStates),n;try{for(t.s();!(n=t.n()).done;){var r=d(n.value,2),i=r[0];r[1].isHighlighted&&e.add(i)}}catch(e){t.e(e)}finally{t.f()}return e}},{key:`setNodeState`,value:function(e,t){e=``+e;var n=this.getNodeState(e);if(bt(n,t)){var r=z(z({},n),t);this.nodeStates.set(e,r),this.dirtyNodes.add(e),this.updateHoveredNodeTracking(e,n,r),this.graphStateFlagsDirty=!0,this.scheduleRefresh()}}},{key:`setEdgeState`,value:function(e,t){e=``+e;var n=this.getEdgeState(e);if(bt(n,t)){var r=z(z({},n),t);this.edgeStates.set(e,r),this.dirtyEdges.add(e),this.updateHoveredEdgeTracking(e,n,r),this.graphStateFlagsDirty=!0,this.scheduleRefresh()}}},{key:`setGraphState`,value:function(e){if(bt(this.graphState,e)){var t=z(z({},this.graphState),e);t.isIdle=!t.isPanning&&!t.isZooming&&!t.isDragging,this.graphState=t,this.graphStateChanged=!0,this.scheduleRefresh()}}},{key:`setNodesState`,value:function(e,t){var n=!1,r=f(e),i;try{for(r.s();!(i=r.n()).done;){var a=i.value;a=``+a;var o=this.getNodeState(a);if(bt(o,t)){var s=z(z({},o),t);this.nodeStates.set(a,s),this.dirtyNodes.add(a),this.updateHoveredNodeTracking(a,o,s),n=!0}}}catch(e){r.e(e)}finally{r.f()}n&&(this.graphStateFlagsDirty=!0,this.scheduleRefresh())}},{key:`setEdgesState`,value:function(e,t){var n=!1,r=f(e),i;try{for(r.s();!(i=r.n()).done;){var a=i.value;a=``+a;var o=this.getEdgeState(a);if(bt(o,t)){var s=z(z({},o),t);this.edgeStates.set(a,s),this.dirtyEdges.add(a),this.updateHoveredEdgeTracking(a,o,s),n=!0}}}catch(e){r.e(e)}finally{r.f()}n&&(this.graphStateFlagsDirty=!0,this.scheduleRefresh())}},{key:`removeNode`,value:function(e){this.nodeStates.delete(e),this.dirtyNodes.delete(e),this.clearHoveredFor(`node`,e)}},{key:`removeEdge`,value:function(e){this.edgeStates.delete(e),this.dirtyEdges.delete(e),this.clearHoveredFor(`edge`,e)}},{key:`pruneNodes`,value:function(e){var t=f(this.nodeStates.keys()),n;try{for(t.s();!(n=t.n()).done;){var r=n.value;e(r)||this.removeNode(r)}}catch(e){t.e(e)}finally{t.f()}}},{key:`pruneEdges`,value:function(e){var t=f(this.edgeStates.keys()),n;try{for(t.s();!(n=t.n()).done;){var r=n.value;e(r)||this.removeEdge(r)}}catch(e){t.e(e)}finally{t.f()}}},{key:`clearNodes`,value:function(){this.nodeStates.clear(),this.dirtyNodes.clear(),this.clearHoveredForKinds(io(`node`))}},{key:`clearEdges`,value:function(){this.edgeStates.clear(),this.dirtyEdges.clear(),this.clearHoveredForKinds(io(`edge`))}},{key:`resetGraphState`,value:function(){this.graphState=Ue(this.customGraphStateDefaults),this.graphStateChanged=!1,this.graphStateFlagsDirty=!1}},{key:`clearDirtyTracking`,value:function(){this.dirtyNodes.clear(),this.dirtyEdges.clear(),this.graphStateChanged=!1}},{key:`setHovered`,value:function(e){this.hovered=e}},{key:`clearHoveredFor`,value:function(e,t){this.hovered&&this.hovered.key===t&&io(e).includes(this.hovered.kind)&&(this.hovered=null)}},{key:`clearHoveredForKinds`,value:function(e){this.hovered&&e.includes(this.hovered.kind)&&(this.hovered=null)}},{key:`updateGraphStateFromNodes`,value:function(){var e=!1,t=!1,n=!1,r=f(this.nodeStates),i;try{for(r.s();!(i=r.n()).done;){var a=d(i.value,2)[1];if(a.isHovered&&(e=!0),a.isHighlighted&&(t=!0),a.isDragged&&(n=!0),e&&t&&n)break}}catch(e){r.e(e)}finally{r.f()}!e&&this.hovered?.kind===`edge`&&(e=!0);var o=!this.graphState.isPanning&&!this.graphState.isZooming&&!n;(this.graphState.hasHovered!==e||this.graphState.hasHighlighted!==t||this.graphState.isDragging!==n||this.graphState.isIdle!==o)&&(this.graphStateChanged=!0),this.graphState=z(z({},this.graphState),{},{hasHovered:e,hasHighlighted:t,isDragging:n,isIdle:o})}},{key:`updateGraphStateFromEdges`,value:function(){var e=this.hovered?.kind===`node`;if(!e){var t=f(this.edgeStates),n;try{for(t.s();!(n=t.n()).done;)if(d(n.value,2)[1].isHovered){e=!0;break}}catch(e){t.e(e)}finally{t.f()}}this.graphState.hasHovered!==e&&(this.graphStateChanged=!0),this.graphState=z(z({},this.graphState),{},{hasHovered:e})}},{key:`flushGraphStateFlags`,value:function(){this.graphStateFlagsDirty&&=(this.updateGraphStateFromNodes(),this.updateGraphStateFromEdges(),!1)}},{key:`updateHoveredNodeTracking`,value:function(e,t,n){if(t.isHovered!==n.isHovered){if(n.isHovered){if(this.hovered?.kind===`node`&&this.hovered.key!==e){var r=this.hovered.key,i=this.getNodeState(r);this.nodeStates.set(r,z(z({},i),{},{isHovered:!1})),this.dirtyNodes.add(r)}this.hovered={kind:`node`,key:e}}else this.hovered?.kind===`node`&&this.hovered.key===e&&(this.hovered=null)}}},{key:`updateHoveredEdgeTracking`,value:function(e,t,n){if(t.isHovered!==n.isHovered){if(n.isHovered){if(this.hovered?.kind===`edge`&&this.hovered.key!==e){var r=this.hovered.key,i=this.getEdgeState(r);this.edgeStates.set(r,z(z({},i),{},{isHovered:!1})),this.dirtyEdges.add(r)}this.hovered={kind:`edge`,key:e}}else this.hovered?.kind===`edge`&&this.hovered.key===e&&(this.hovered=null)}}}])}(),Lo=1,Ro=2,zo=3,Bo=4,Vo=function(e){function t(e,n){var r,i,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};B(this,t),i=H(this,t),R(i,`nodeReducer`,null),R(i,`edgeReducer`,null),R(i,`stageCanvas`,null),R(i,`mouseLayer`,null),R(i,`gestureHint`,null),R(i,`extraElements`,{}),R(i,`webGLContext`,null),R(i,`pickingFrameBuffer`,null),R(i,`pickingTexture`,null),R(i,`pickingDepthBuffer`,null),R(i,`activeListeners`,{}),R(i,`nodeVariableEntries`,[]),R(i,`edgeVariableEntries`,[]),R(i,`edgePathsByName`,new Map),R(i,`nodeProgramIndex`,{}),R(i,`edgeProgramIndex`,{}),R(i,`edgeTextureIndexCache`,{}),R(i,`nodeGraphCoords`,{}),R(i,`nodeExtent`,{x:[0,1],y:[0,1]}),R(i,`matrix`,p()),R(i,`invMatrix`,p()),R(i,`correctionRatio`,1),R(i,`frameId`,0),R(i,`customBBox`,null),R(i,`gpuTimerExt`,void 0),R(i,`activeGpuTimerQuery`,null),R(i,`pendingGpuTimerQueries`,[]),R(i,`normalizationFunction`,jt({x:[0,1],y:[0,1]})),R(i,`graphToViewportRatio`,1),R(i,`pickingState`,Ka()),R(i,`prevNodeVisibilities`,{}),R(i,`width`,0),R(i,`height`,0),R(i,`autoRescaleFrozen`,!1),R(i,`stylesDeclaration`,null),R(i,`resolvedStageStyle`,{}),R(i,`renderFrame`,null),R(i,`contextLost`,!1),R(i,`pendingProcess`,`full`),R(i,`needToRefreshState`,!1),R(i,`checkEdgesEventsFrame`,null),R(i,`edgeStyleAnalysis`,{dependency:`static`,xAttribute:null,yAttribute:null}),R(i,`depthLayers`,W(ke)),R(i,`customLayerPrograms`,new Map),R(i,`nodeShapeSlug`,null),R(i,`sdfAtlas`,null),R(i,`depthRanges`,{nodes:{},edges:{}}),R(i,`nodeBaseDepth`,{}),R(i,`edgeBaseDepth`,{});var o=a.primitives,s=a.styles,c=a.settings,l=c===void 0?{}:c,u=a.nodeReducer,d=a.edgeReducer,f=a.customNodeState,m=a.customEdgeState,h=a.customGraphState;i.stateManager=new Io(function(){return i.scheduleStateRefresh()},f,m,h);var g=o??_t;i.stylesDeclaration=s?{nodes:s.nodes??We.nodes,edges:s.edges??We.edges,stage:s.stage}:We,i.nodeReducer=u??null,i.edgeReducer=d??null;var _=tt(i.stylesDeclaration.nodes);i.nodeReducer&&(_.dependency=`graph-state`),i.edgeStyleAnalysis=tt(i.stylesDeclaration.edges),i.edgeReducer&&(i.edgeStyleAnalysis.dependency=`graph-state`),i.stylesDeclaration.stage&&(i.resolvedStageStyle=mt(i.stylesDeclaration.stage,i.stateManager.graphState));var v=Pt(l);if(Nt(v),v.enableNodeDrag){var y=_.xAttribute,b=_.yAttribute;if((!y||!b)&&!v.dragPositionToAttributes)throw Error('Sigma: `enableNodeDrag` is true but position attribute names could not be inferred from styles. Either use attribute bindings for x/y in your node styles (e.g. `x: { attribute: "x" }`), or provide a `dragPositionToAttributes` setting.')}if(At(e),!(n instanceof HTMLElement))throw Error(`Sigma: container should be an html element.`);i.container=n,i.edgeGroups=new Va(e,function(e,t){for(var n=0;n<e.length;n++){var r=i.stateManager.getEdgeState(e[n]);r.parallelIndex=n,r.parallelCount=t}});var x=new Ba(e,i.viewportToGraph.bind(i),i.setNodesState.bind(i),function(e,t){return i.emit(e,t)});if(i.depthLayers=g.depthLayers??W(ke),!(s!=null&&s.nodes)&&!De.every(function(e){return i.depthLayers.includes(e)}))throw Error(`Sigma: depthLayers must include ${De.join(`, `)} for the built-in node styles.`);if(!(s!=null&&s.edges)&&!Oe.every(function(e){return i.depthLayers.includes(e)}))throw Error(`Sigma: depthLayers must include ${Oe.join(`, `)} for the built-in edge styles.`);i.itemBuckets={nodes:new pa(i.depthLayers),edges:new pa(i.depthLayers)},i.initWebGLContext(),i.mouseLayer=Rt(`div`,{position:`absolute`,touchAction:`none`,userSelect:`none`},{class:`sigma-mouse`}),i.container.appendChild(i.mouseLayer),i.resolvedStageStyle.background&&(i.container.style.backgroundColor=i.resolvedStageStyle.background),i.resolvedStageStyle.cursor&&(i.container.style.cursor=i.resolvedStageStyle.cursor);var S=new ma(i.webGLContext),C=new va(i.webGLContext,{channels:1}),w=new ya(i.webGLContext),T=new va(i.webGLContext,{channels:4}),E=i.webGLContext,D=new To({gl:E,getFrameBuffer:function(){return i.pickingFrameBuffer},getPixelRatio:function(){return i.internals.pixelRatio},getDownSizingRatio:function(){return i.internals.settings.pickingDownSizingRatio},isRenderPending:function(){return i.renderFrame!==null},onIndex:function(e,t){return co(i.internals,i.pickingState.lookup[e]??null,t)}}),O=i.initPrograms(g,v),k=g==null||(r=g.nodes)==null?void 0:r.labelAttachments,A=null;return k&&Object.keys(k).length>0&&(A=new fa(E,k,function(){return i.scheduleRender()})),i.internals=z(z({nodeDataCache:{},edgeDataCache:{},nodesWithForcedLabels:new Set,nodesWithBackdrop:new Set,edgesWithForcedLabels:new Set,settings:v,primitives:g,pixelRatio:zt(),graph:e,stateManager:i.stateManager,dragManager:x,hoverResolver:D,nodeStyleAnalysis:_,pickingState:i.pickingState},O),{},{attachmentManager:A,nodeDataTexture:S,nodeFrameTexture:C,edgeDataTexture:w,edgeFrameTexture:T,getDimensions:function(){return i.getDimensions()},getGraphDimensions:function(){return i.getGraphDimensions()},getStagePadding:function(){return i.getStagePadding()},getCameraState:function(){return i.camera.getState()},getHitAtPosition:function(e){return i.getHitAtPosition(e)},setNodeState:function(e,t){return i.setNodeState(e,t)},setEdgeState:function(e,t){return i.setEdgeState(e,t)},updateContainerCursor:function(){return i.updateContainerCursor()},scheduleRefresh:function(){return i.scheduleRefresh()},viewportToFramedGraph:function(e){return i.viewportToFramedGraph(e)},viewportToGraph:function(e){return i.viewportToGraph(e)},framedGraphToViewport:function(e){return i.framedGraphToViewport(e)},scaleSize:function(e){return i.scaleSize(e)},emit:function(e,t){return i.emit(e,t)}}),i.labelRenderer=new Fo(i.internals),i.resize(),i.initializeWebGLLabels(),i.camera=new Ea,i.bindCameraHandlers(),i.mouseCaptor=new La(i.mouseLayer,i),i.mouseCaptor.setSettings(i.internals.settings),i.touchCaptor=new za(i.mouseLayer,i),i.touchCaptor.setSettings(i.internals.settings),i.bindEventHandlers(),i.bindGraphHandlers(),i.handleSettingsUpdate(),i.refresh(),i}return U(t,e),V(t,[{key:`initializeWebGLLabels`,value:function(){this.sdfAtlas=new mr,this.sdfAtlas.registerFont({family:`sans-serif`,weight:`normal`,style:`normal`})}},{key:`resetWebGLTexture`,value:function(){var e=this.webGLContext;if(!this.pickingFrameBuffer)return this;var t=Math.ceil(this.width*this.internals.pixelRatio/this.internals.settings.pickingDownSizingRatio),n=Math.ceil(this.height*this.internals.pixelRatio/this.internals.settings.pickingDownSizingRatio);e.bindFramebuffer(e.FRAMEBUFFER,this.pickingFrameBuffer),this.pickingTexture&&e.deleteTexture(this.pickingTexture);var r=e.createTexture();r&&(e.bindTexture(e.TEXTURE_2D,r),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,n,0,e.RGBA,e.UNSIGNED_BYTE,null),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,r,0),this.pickingTexture=r),this.pickingDepthBuffer&&e.deleteRenderbuffer(this.pickingDepthBuffer);var i=e.createRenderbuffer();return i&&(e.bindRenderbuffer(e.RENDERBUFFER,i),e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_COMPONENT16,t,n),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,i),this.pickingDepthBuffer=i),e.bindFramebuffer(e.FRAMEBUFFER,null),this}},{key:`bindCameraHandlers`,value:function(){var e=this;return this.activeListeners.camera=function(){e.refreshMatrices(),e.labelRenderer.labelsDirty=!0,e.scheduleRender()},this.activeListeners.cameraAnimationStart=function(t){var n=t.from,r=t.to;n.ratio!==r.ratio&&e.stateManager.setGraphState({isZooming:!0})},this.activeListeners.cameraAnimationEnd=function(){e.stateManager.setGraphState({isZooming:!1})},this.camera.on(`updated`,this.activeListeners.camera),this.camera.on(`animationStart`,this.activeListeners.cameraAnimationStart),this.camera.on(`animationEnd`,this.activeListeners.cameraAnimationEnd),this}},{key:`unbindCameraHandlers`,value:function(){return this.camera.removeListener(`updated`,this.activeListeners.camera),this.camera.removeListener(`animationStart`,this.activeListeners.cameraAnimationStart),this.camera.removeListener(`animationEnd`,this.activeListeners.cameraAnimationEnd),this}},{key:`getHitAtPosition`,value:function(e){if(this.contextLost)return null;var t=this.webGLContext;t.bindFramebuffer(t.FRAMEBUFFER,this.pickingFrameBuffer);var n=L(t,this.pickingFrameBuffer,e.x,e.y,this.internals.pixelRatio,this.internals.settings.pickingDownSizingRatio),r=te.apply(void 0,W(n));return this.pickingState.lookup[r]??null}},{key:`bindEventHandlers`,value:function(){return lo(this.internals,this.mouseCaptor,this.touchCaptor,this.activeListeners),this}},{key:`bindGraphHandlers`,value:function(){return uo({graph:this.internals.graph,edgeGroups:this.edgeGroups,addNode:this.addNode.bind(this),updateNode:this.updateNode.bind(this),removeNode:this.removeNode.bind(this),addEdge:this.addEdge.bind(this),updateEdge:this.updateEdge.bind(this),removeEdge:this.removeEdge.bind(this),clearEdgeState:this.clearEdgeState.bind(this),clearNodeState:this.clearNodeState.bind(this),clearEdgeIndices:this.clearEdgeIndices.bind(this),clearNodeIndices:this.clearNodeIndices.bind(this),refresh:this.refresh.bind(this)},this.activeListeners),this}},{key:`unbindGraphHandlers`,value:function(){fo(this.internals.graph,this.activeListeners)}},{key:`getNodeShapeId`,value:function(e){return this.internals.nodeShapeMap&&this.internals.nodeGlobalShapeIds&&e.shape&&e.shape in this.internals.nodeShapeMap?this.internals.nodeGlobalShapeIds[this.internals.nodeShapeMap[e.shape]]:en(e.shape||`circle`)}},{key:`processNodes`,value:function(){var e=this,t=this.internals.graph,n=this.internals.settings,r=this.getDimensions(),i=n.autoRescale,a=n.autoRescaleContent,o=this.nodeExtent;if(i===!1){var s=r.width,c=r.height;o={x:[-s/2,s/2],y:[-c/2,c/2]}}else(i!==`once`||!this.autoRescaleFrozen)&&(o=this.computeNodeExtent(),a!==`positions`&&!this.customBBox&&(o=go({extent:o,coords:this.nodeGraphCoords,nodeData:this.internals.nodeDataCache,dimensions:r,stagePadding:this.getStagePadding(),zoomToSizeRatioFunction:n.zoomToSizeRatioFunction,itemSizesReference:n.itemSizesReference,fitLabels:a===`labels`,nodeLabelBox:function(t,n){return e.labelRenderer.nodeLabelBox(t,n)}})),i===`once`&&(this.autoRescaleFrozen=!0));this.nodeExtent=o,this.normalizationFunction=jt(this.customBBox||this.nodeExtent);var l=x(new Ea().getState(),r,this.getGraphDimensions(),this.getStagePadding());this.labelRenderer.labelGrid.resizeAndClear(r,n.labelGridCellSize),this.labelRenderer.edgeAnchorGrid.resizeAndClear(r,n.labelGridCellSize);var u=n.renderEdgeLabels&&n.edgeLabelAnchors===`allNodes`,d=!1;Ja(this.pickingState,`node`);for(var p=t.nodes(),m=0,h=p.length;m<h;m++){var g=p[m],_=this.internals.nodeDataCache[g],v=this.nodeGraphCoords[g];_.x=v.x,_.y=v.y,this.normalizationFunction.applyTo(_),_.visibility!==this.prevNodeVisibilities[g]&&(d=!0),typeof _.label==`string`&&_.visibility!==`hidden`&&_.labelVisibility!==`hidden`&&this.labelRenderer.labelGrid.add(g,_.size,this.framedGraphToViewport(_,{matrix:l})),u&&_.visibility!==`hidden`&&this.labelRenderer.edgeAnchorGrid.add(g,_.size,this.framedGraphToViewport(_,{matrix:l}))}this.labelRenderer.labelGrid.organize(),this.labelRenderer.edgeAnchorGrid.organize(),this.nodeProgram.reallocate(p.length);var y=0;this.depthRanges.nodes={},this.nodeBaseDepth={};var b=this.internals.nodeDataCache,S=f(this.depthLayers),C;try{for(S.s();!(C=S.n()).done;){var w=C.value,T=this.itemBuckets.nodes.getSorted(w,function(e){return b[e].zIndex});if(T.length!==0){this.depthRanges.nodes[w]=[{offset:y,count:T.length}];var E=f(T),D;try{for(E.s();!(D=E.n()).done;){var O=D.value;this.nodeBaseDepth[O]=w,this.nodeProgram.allocateNode(O),Ya(this.pickingState,`node`,O),this.addNodeToProgram(O,y++)}}catch(e){E.e(e)}finally{E.f()}}}}catch(e){S.e(e)}finally{S.f()}this.nodeProgram.invalidateBuffers();for(var k=0,A=p.length;k<A;k++)this.prevNodeVisibilities[p[k]]=this.internals.nodeDataCache[p[k]].visibility;this.labelRenderer.processWebGLLabels(p);var j=f(this.customLayerPrograms.values()),M;try{for(j.s();!(M=j.n()).done;){var N=M.value.program;N.cacheData&&N.cacheData()}}catch(e){j.e(e)}finally{j.f()}return d}},{key:`processEdges`,value:function(){var e=this.internals.graph.edges();this.edgeProgram.reallocate(e.length);var t=0;Ja(this.pickingState,`edge`),this.depthRanges.edges={},this.edgeBaseDepth={};var n=this.internals.edgeDataCache,r=f(this.depthLayers),i;try{for(r.s();!(i=r.n()).done;){var a=i.value,o=this.itemBuckets.edges.getSorted(a,function(e){return n[e].zIndex});if(o.length!==0){this.depthRanges.edges[a]=[{offset:t,count:o.length}];var s=f(o),c;try{for(s.s();!(c=s.n()).done;){var l=c.value;this.edgeBaseDepth[l]=a,Ya(this.pickingState,`edge`,l),this.addEdgeToProgram(l,t++)}}catch(e){s.e(e)}finally{s.f()}}}}catch(e){r.e(e)}finally{r.f()}this.edgeProgram.invalidateBuffers()}},{key:`updateNodeDepthRanges`,value:function(e,t,n){var r=this.nodeProgramIndex[e];r!==void 0&&(Ot(this.depthRanges.nodes,t,r),kt(this.depthRanges.nodes,n,r))}},{key:`updateEdgeDepthRanges`,value:function(e,t,n){var r=this.edgeProgramIndex[e];r!==void 0&&(Ot(this.depthRanges.edges,t,r),kt(this.depthRanges.edges,n,r))}},{key:`handleSettingsUpdate`,value:function(){var e=this,t=this.internals.settings;return this.camera.minRatio=t.minCameraRatio,this.camera.maxRatio=t.maxCameraRatio,this.camera.enabledZooming=t.enableCameraZooming,this.camera.enabledPanning=t.enableCameraPanning,this.camera.enabledRotation=t.enableCameraRotation,t.cameraPanBoundaries?this.camera.constrainState=function(n){return e.cleanCameraState(n,t.cameraPanBoundaries&&G(t.cameraPanBoundaries)===`object`?t.cameraPanBoundaries:{})}:this.camera.constrainState=null,this.camera.setState(this.camera.getState()),this.mouseLayer.style.touchAction=t.gestureTarget===`graph`?`none`:t.gestureTarget===`shared`?`pan-x pan-y`:`auto`,t.gestureTarget!==`shared`&&this.gestureHint&&(this.gestureHint.kill(),this.gestureHint=null),this.mouseCaptor.setSettings(this.internals.settings),this.touchCaptor.setSettings(this.internals.settings),this}},{key:`cleanCameraState`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.tolerance,r=n===void 0?0:n,i=t.boundaries,a=z({},e),o=i||this.nodeExtent,s=d(o.x,2),c=s[0],l=s[1],u=d(o.y,2),f=u[0],p=u[1],m=[this.graphToViewport({x:c,y:f},{cameraState:e}),this.graphToViewport({x:l,y:f},{cameraState:e}),this.graphToViewport({x:c,y:p},{cameraState:e}),this.graphToViewport({x:l,y:p},{cameraState:e})],h=1/0,g=-1/0,_=1/0,v=-1/0;m.forEach(function(e){var t=e.x,n=e.y;h=Math.min(h,t),g=Math.max(g,t),_=Math.min(_,n),v=Math.max(v,n)});var y=g-h,b=v-_,x=this.getDimensions(),S=x.width,C=x.height,w=0,T=0;if(y>=S?g<S-r?w=g-(S-r):h>r&&(w=h-r):g>S+r?w=g-(S+r):h<-r&&(w=h+r),b>=C?v<C-r?T=v-(C-r):_>r&&(T=_-r):v>C+r?T=v-(C+r):_<-r&&(T=_+r),w||T){var E=this.viewportToFramedGraph({x:0,y:0},{cameraState:e}),D=this.viewportToFramedGraph({x:w,y:T},{cameraState:e});w=D.x-E.x,T=D.y-E.y,a.x+=w,a.y+=T}return a}},{key:`refreshMatrices`,value:function(){var e=this.camera.getState(),t=this.getDimensions(),n=this.getGraphDimensions(),r=this.getStagePadding();this.matrix=x(e,t,n,r),this.invMatrix=x(e,t,n,r,!0),this.correctionRatio=S(this.matrix,e,t),this.graphToViewportRatio=this.getGraphToViewportRatio()}},{key:`processData`,value:function(){var e;this.emit(`beforeProcess`),(e=this.internals.attachmentManager)==null||e.clear();var t=z({},this.pickingState.idsByKind),n=this.processNodes();(this.pendingProcess===`full`||n)&&this.processEdges(),Xa(this.pickingState,this.internals),Za(t,this.pickingState.idsByKind)||this.internals.hoverResolver.invalidate(),this.pendingProcess=`none`,this.emit(`afterProcess`)}},{key:`render`,value:function(){var e=this;if(this.contextLost)return this;this.emit(`beforeRender`);var t=function(){return e.internals.hoverResolver.frameRendered(),e.emit(`afterRender`),e};if(this.renderFrame&&=(cancelAnimationFrame(this.renderFrame),null),this.resize(),(this.pendingProcess!==`none`||this.needToRefreshState)&&(this.labelRenderer.labelsDirty=!0),this.pendingProcess!==`none`&&this.processData(),this.needToRefreshState&&this.refreshState(),this.needToRefreshState=!1,this.stateManager.clearDirtyTracking(),this.pendingProcess!==`none`&&this.processData(),this.clear(),this.resetWebGLTexture(),!this.internals.graph.order)return t();var n=this.mouseCaptor,r=this.camera.isAnimating()||n.isMoving||n.draggedEvents||n.currentWheelDirection;this.refreshMatrices(),this.frameId++;var i=this.internals.settings.DEBUG_logRenderStats?this.getDebugPrograms():null;i&&i.forEach(function(e){return e.resetDebugStats()}),this.internals.settings.DEBUG_gpuTimerQueries&&this.beginGpuTimerQuery(),this.internals.nodeFrameTexture.ensureCapacity(this.internals.nodeDataTexture.getCapacity()),this.internals.edgeFrameTexture.ensureCapacity(this.internals.edgeDataTexture.getCapacity());var a=this.getRenderParams(),o=$.edge.writesPickingThisFrame(this.internals)?a:z(z({},a),{},{pickingFrameBuffer:null});this.labelRenderer.resetFrame();var s=this.webGLContext,c=Math.ceil(this.width*this.internals.pixelRatio/this.internals.settings.pickingDownSizingRatio),l=Math.ceil(this.height*this.internals.pixelRatio/this.internals.settings.pickingDownSizingRatio);if(s.bindFramebuffer(s.FRAMEBUFFER,this.pickingFrameBuffer),s.viewport(0,0,c,l),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.bindFramebuffer(s.FRAMEBUFFER,null),s.viewport(0,0,this.width*this.internals.pixelRatio,this.height*this.internals.pixelRatio),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),this.internals.nodeDataTexture.upload(),this.internals.edgeDataTexture.upload(),this.nodeProgram.uploadLayerTexture(),this.edgeProgram.uploadAttributeTexture(),this.emit(`afterTexturesUpload`),this.internals.nodeDataTexture.bind(zo),this.internals.edgeDataTexture.bind(Bo),this.edgeFramePass.run(a,this.internals.edgeFrameTexture,this.internals.edgeDataTexture.getHighWaterMark(),this.edgeProgram.getAttributeTexture(),this.nodeProgram.getAttributeTexture()),this.internals.edgeFrameTexture.bind(Lo),this.internals.settings.renderLabels){this.labelRenderer.computeDisplayedNodeLabels();var u=this.labelRenderer.buildFramePassPoints(),d=u.data,p=u.count;this.nodeFramePass.run(d,p,this.internals.nodeFrameTexture,a,this.nodeProgram.getAttributeTexture()),this.internals.nodeFrameTexture.bind(Ro)}this.internals.settings.renderEdgeLabels&&this.labelRenderer.computeDisplayedEdgeLabels();var m=f(this.customLayerPrograms.values()),h;try{for(m.s();!(h=m.n()).done;){var g=h.value.program;g.preRender&&g.preRender(a)}}catch(e){m.e(e)}finally{m.f()}s.bindFramebuffer(s.FRAMEBUFFER,null),s.viewport(0,0,this.width*this.internals.pixelRatio,this.height*this.internals.pixelRatio),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA);var _=!this.internals.settings.hideLabelsOnMove||!r,v=f(this.depthLayers),y;try{for(v.s();!(y=v.n()).done;){var b=y.value,x=f(this.customLayerPrograms.values()),S;try{for(x.s();!(S=x.n()).done;){var C=S.value;C.depth===b&&C.program.render(a)}}catch(e){x.e(e)}finally{x.f()}var w=this.depthRanges.edges[b];if(w&&(!this.internals.settings.hideEdgesOnMove||!r)){var T=f(w),E;try{for(T.s();!(E=T.n()).done;){var D=E.value,O=D.offset,k=D.count;k>0&&this.edgeProgram.render(o,O,k)}}catch(e){T.e(e)}finally{T.f()}}this.internals.settings.renderEdgeLabels&&_&&(this.labelRenderer.renderEdgeLabelBackgrounds($.edgeLabel.writesPickingThisFrame(this.internals)?a:z(z({},a),{},{pickingFrameBuffer:null}),b),this.labelRenderer.renderEdgeLabels(a,b)),this.labelRenderer.cacheAttachments(b),this.labelRenderer.renderBackdrops(z(z({},a),{},{pickingFrameBuffer:null}),b);var A=this.depthRanges.nodes[b];if(A){var j=f(A),M;try{for(j.s();!(M=j.n()).done;){var N=M.value,P=N.offset,F=N.count;F>0&&this.nodeProgram.render(a,P,F)}}catch(e){j.e(e)}finally{j.f()}}_&&(this.labelRenderer.renderAttachments(z(z({},a),{},{pickingFrameBuffer:null}),b),this.labelRenderer.renderLabelBackgrounds($.nodeLabel.writesPickingThisFrame(this.internals)?a:z(z({},a),{},{pickingFrameBuffer:null}),b),this.internals.settings.renderLabels&&this.labelRenderer.renderWebGLLabels(a,b))}}catch(e){v.e(e)}finally{v.f()}return this.labelRenderer.labelsDirty=!1,this.internals.settings.DEBUG_displayPickingLayer&&(s.bindFramebuffer(s.READ_FRAMEBUFFER,this.pickingFrameBuffer),s.bindFramebuffer(s.DRAW_FRAMEBUFFER,null),s.blitFramebuffer(0,0,c,l,0,0,this.width*this.internals.pixelRatio,this.height*this.internals.pixelRatio,s.COLOR_BUFFER_BIT,s.NEAREST)),this.internals.settings.DEBUG_gpuTimerQueries&&this.endGpuTimerQuery(),this.pollGpuTimerQueries(),i&&this.logRenderStats(i),t()}},{key:`getDebugPrograms`,value:function(){return[this.nodeProgram,this.edgeProgram,this.internals.labelProgram,this.internals.edgeLabelProgram,this.internals.edgeLabelBackgroundProgram,this.internals.backdropProgram,this.internals.labelBackgroundProgram,this.internals.attachmentProgram].filter(function(e){return e!==null})}},{key:`logRenderStats`,value:function(e){var t={},n=f(e),r;try{for(n.s();!(r=n.n()).done;){var i=r.value;t[i.constructor.name]=z({},i.debugStats)}}catch(e){n.e(e)}finally{n.f()}console.log(`[sigma] DEBUG_logRenderStats: frame #${this.frameId}`),console.table(t)}},{key:`getGpuTimerExtension`,value:function(){return this.gpuTimerExt===void 0&&(this.gpuTimerExt=this.webGLContext.getExtension(`EXT_disjoint_timer_query_webgl2`),this.gpuTimerExt||console.warn(`Sigma: DEBUG_gpuTimerQueries is enabled, but this browser/driver doesn't support EXT_disjoint_timer_query_webgl2.`)),this.gpuTimerExt}},{key:`beginGpuTimerQuery`,value:function(){var e=this.getGpuTimerExtension();if(e){var t=this.webGLContext,n=t.createQuery();n&&(t.beginQuery(e.TIME_ELAPSED_EXT,n),this.activeGpuTimerQuery=n)}}},{key:`endGpuTimerQuery`,value:function(){this.gpuTimerExt&&this.activeGpuTimerQuery&&(this.webGLContext.endQuery(this.gpuTimerExt.TIME_ELAPSED_EXT),this.pendingGpuTimerQueries.push({query:this.activeGpuTimerQuery,frameId:this.frameId}),this.activeGpuTimerQuery=null)}},{key:`pollGpuTimerQueries`,value:function(){if(this.pendingGpuTimerQueries.length!==0){var e=this.webGLContext,t=this.gpuTimerExt;if(!t)this.pendingGpuTimerQueries.forEach(function(t){var n=t.query;return e.deleteQuery(n)}),this.pendingGpuTimerQueries=[];else{var n=e.getParameter(t.GPU_DISJOINT_EXT),r=[],i=f(this.pendingGpuTimerQueries),a;try{for(i.s();!(a=i.n()).done;){var o=a.value;if(!e.getQueryParameter(o.query,e.QUERY_RESULT_AVAILABLE))r.push(o);else{if(!n){var s=e.getQueryParameter(o.query,e.QUERY_RESULT);console.log(`[sigma] DEBUG_gpuTimerQueries: frame #${o.frameId} GPU time = ${(s/1e6).toFixed(2)}ms`)}e.deleteQuery(o.query)}}}catch(e){i.e(e)}finally{i.f()}this.pendingGpuTimerQueries=r}}}},{key:`postEvaluateNode`,value:function(e,t,n){var r=e;r.x===void 0&&(r.x=t.x),r.y===void 0&&(r.y=t.y),e.highlighted=n.isHighlighted;for(var i=0,a=this.nodeVariableEntries.length;i<a;i++){var o=d(this.nodeVariableEntries[i],2),s=o[0],c=o[1];r[s]=r[s]??t[s]??c.default}}},{key:`addNode`,value:function(e){var t=this.internals.graph.getNodeAttributes(e),n=this.stateManager.getNodeState(e),r=this.internals.nodeDataCache[e]||{};if(dt(this.stylesDeclaration.nodes,t,n,this.stateManager.graphState,this.internals.graph,r),this.postEvaluateNode(r,t,n),this.nodeReducer){var i=this.nodeReducer(e,r,t,n,this.stateManager.graphState,this.internals.graph);r=z(z({},r),i)}if(typeof r.x!=`number`||typeof r.y!=`number`)throw Error(`Sigma: could not find a valid position (x, y) for node "${e}". Provide coordinates via node attributes, styles, or a nodeReducer.`);this.internals.nodeShapeMap?(!r.shape||!(r.shape in this.internals.nodeShapeMap))&&(r.shape=Object.keys(this.internals.nodeShapeMap)[0]):this.nodeShapeSlug&&(r.shape=this.nodeShapeSlug),this.internals.nodeDataCache[e]=r,this.nodeGraphCoords[e]={x:r.x,y:r.y},St(this.internals.nodesWithForcedLabels,e,Tt(r)),St(this.internals.nodesWithBackdrop,e,Et(r)),this.itemBuckets.nodes.set(e,r.depth)}},{key:`updateNode`,value:function(e){this.addNode(e);var t=this.internals.nodeDataCache[e];this.normalizationFunction.applyTo(t)}},{key:`removeNode`,value:function(e){this.itemBuckets.nodes.remove(e),delete this.internals.nodeDataCache[e],delete this.nodeGraphCoords[e],delete this.nodeProgramIndex[e],this.internals.dragManager.removeNode(e),this.stateManager.removeNode(e),this.internals.nodesWithForcedLabels.delete(e),this.internals.nodesWithBackdrop.delete(e)}},{key:`postEvaluateEdge`,value:function(e,t){for(var n=e,r=0,i=this.edgeVariableEntries.length;r<i;r++){var a=d(this.edgeVariableEntries[r],2),o=a[0],s=a[1];n[o]=n[o]??t[o]??s.default}}},{key:`applyEdgeSpread`,value:function(e,t,n){if(!(n.parallelCount<=1)){var r=this.internals.graph.source(e),i=this.internals.graph.target(e),a=r===i,o=a?t.selfLoopPath||t.path:t.parallelPath||t.path,s=o?this.edgePathsByName.get(o):void 0;if(s!=null&&s.spread){var c=t.parallelSpread??.25,l=s.spread.compute(n.parallelIndex,n.parallelCount,c);!a&&this.internals.graph.isDirected(e)&&r>i&&(l=-l),t[s.spread.variable]=l}}}},{key:`addEdge`,value:function(e){var t=this.internals.graph.getEdgeAttributes(e),n=this.stateManager.getEdgeState(e),r={};if(ft(this.stylesDeclaration.edges,t,n,this.stateManager.graphState,this.internals.graph,r),this.postEvaluateEdge(r,t),this.edgeReducer){var i=this.edgeReducer(e,r,t,n,this.stateManager.graphState,this.internals.graph);r=z(z({},r),i)}this.applyEdgeSpread(e,r,n),this.internals.edgeDataCache[e]=r,St(this.internals.edgesWithForcedLabels,e,Tt(r)),this.itemBuckets.edges.set(e,r.depth)}},{key:`updateEdge`,value:function(e){this.addEdge(e)}},{key:`removeEdge`,value:function(e){this.itemBuckets.edges.remove(e),delete this.internals.edgeDataCache[e],delete this.edgeProgramIndex[e],delete this.edgeTextureIndexCache[e],this.internals.edgeDataTexture.free(e),this.stateManager.removeEdge(e),this.internals.edgesWithForcedLabels.delete(e)}},{key:`clearNodeIndices`,value:function(){this.labelRenderer.resetLabelGrid(),this.autoRescaleFrozen||(this.nodeExtent={x:[0,1],y:[0,1]}),this.internals.nodeDataCache={},this.nodeGraphCoords={},this.edgeProgramIndex={},this.internals.nodesWithForcedLabels.clear(),this.internals.nodesWithBackdrop.clear(),this.prevNodeVisibilities={},this.itemBuckets.nodes.clearAll(),this.depthRanges.nodes={},this.nodeBaseDepth={}}},{key:`clearEdgeIndices`,value:function(){this.internals.edgeDataCache={},this.edgeProgramIndex={},this.edgeTextureIndexCache={},this.internals.edgesWithForcedLabels.clear(),Ja(this.pickingState,`edge`),this.itemBuckets.edges.clearAll(),this.depthRanges.edges={},this.edgeBaseDepth={},this.edgeGroups.clear()}},{key:`clearIndices`,value:function(){this.clearEdgeIndices(),this.clearNodeIndices()}},{key:`clearNodeState`,value:function(){this.labelRenderer.resetFrame(),this.internals.nodesWithBackdrop.clear(),this.internals.dragManager.clear(),this.autoRescaleFrozen=!1,this.stateManager.clearNodes()}},{key:`clearEdgeState`,value:function(){this.labelRenderer.clearEdgeLabels(),this.stateManager.clearEdges()}},{key:`clearState`,value:function(){this.clearEdgeState(),this.clearNodeState(),this.stateManager.resetGraphState()}},{key:`addNodeToProgram`,value:function(e,t){var n,r=this.internals.nodeDataCache[e];this.internals.nodeDataTexture.allocate(e),(n=this.internals.nodeDataTexture).updateNode.apply(n,[e,r.x,r.y,r.size,this.getNodeShapeId(r)].concat(W(Dt(r)),[r.color]));var i=this.internals.nodeDataTexture.getIndex(e);this.nodeProgram.process(qa(this.pickingState,`node`,e),t,r,i,e),this.nodeProgramIndex[e]=t}},{key:`addEdgeToProgram`,value:function(e,t){var n=this.internals.edgeDataCache[e],r=this.internals.graph.source(e),i=this.internals.graph.target(e),a=this.internals.edgeDataTexture.allocate(e);this.edgeTextureIndexCache[e]=a;var o=r===i,s=!o&&(this.stateManager.getEdgeState(e)?.parallelCount??1)>1,c=this.edgeProgram.resolveEdgeIds(n,o,s),l=c.pathId,u=c.headId,d=c.tailId,f=c.headLengthRatio,p=c.tailLengthRatio;this.internals.edgeDataTexture.updateEdge(e,this.internals.nodeDataTexture.getIndex(r),this.internals.nodeDataTexture.getIndex(i),n.size,f,p,l,u,d),this.edgeProgram.process(qa(this.pickingState,`edge`,e),t,this.internals.nodeDataCache[r],this.internals.nodeDataCache[i],n,a),this.edgeProgramIndex[e]=t}},{key:`getRenderParams`,value:function(){return{frameId:this.frameId,matrix:this.matrix,invMatrix:this.invMatrix,width:this.width,height:this.height,pixelRatio:this.internals.pixelRatio,zoomRatio:this.camera.ratio,cameraAngle:this.camera.angle,sizeRatio:1/this.scaleSize(),correctionRatio:this.correctionRatio,downSizingRatio:this.internals.settings.pickingDownSizingRatio,minEdgeThickness:this.internals.settings.minEdgeThickness,antiAliasingFeather:this.internals.settings.antiAliasingFeather,nodePickingPadding:this.internals.settings.nodePickingPadding,edgePickingPadding:this.internals.settings.edgePickingPadding,labelPickingPadding:this.internals.settings.labelPickingPadding,nodeDataTextureUnit:zo,nodeDataTextureWidth:this.internals.nodeDataTexture.getTextureWidth(),nodeFrameTextureUnit:Ro,nodeFrameTextureWidth:this.internals.nodeFrameTexture.getTextureWidth(),edgeDataTextureUnit:Bo,edgeDataTextureWidth:this.internals.edgeDataTexture.getTextureWidth(),edgeFrameTextureUnit:Lo,edgeFrameTextureWidth:this.internals.edgeFrameTexture.getTextureWidth(),pickingFrameBuffer:this.pickingFrameBuffer,labelPixelSnapping:+!!this.internals.settings.labelPixelSnapping}}},{key:`getStagePadding`,value:function(){var e=this.internals.settings,t=e.stagePadding;return e.autoRescale&&t||0}},{key:`getLayerElement`,value:function(e){if(e===`mouse`)return this.mouseLayer;var t=this.extraElements[e];if(!t)throw Error(`Sigma: layer "${e}" does not exist`);return t}},{key:`initWebGLContext`,value:function(){var e=this,t=this.createWebGLContext(`stage`);this.stageCanvas=this.extraElements.stage,this.webGLContext=t,this.stageCanvas.addEventListener(`webglcontextlost`,function(t){e.webGLContext&&(t.preventDefault(),e.contextLost=!0,e.renderFrame&&=(cancelAnimationFrame(e.renderFrame),null),e.gpuTimerExt=void 0,e.activeGpuTimerQuery=null,e.pendingGpuTimerQueries=[],e.emit(`webglContextLost`))}),this.stageCanvas.addEventListener(`webglcontextrestored`,function(){requestAnimationFrame(function(){e.webGLContext&&!e.webGLContext.isContextLost()&&e.restoreWebGLContext()})}),this.initPickingFramebuffer()}},{key:`initPickingFramebuffer`,value:function(){var e=this.webGLContext,t=e.createFramebuffer();if(!t)throw Error(`Sigma: cannot create picking frame buffer`);e.bindFramebuffer(e.FRAMEBUFFER,t);var n=e.createTexture();if(!n)throw Error(`Sigma: cannot create picking texture`);e.bindTexture(e.TEXTURE_2D,n),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,null),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,n,0);var r=e.createRenderbuffer();if(!r)throw Error(`Sigma: cannot create picking depth buffer`);if(e.bindRenderbuffer(e.RENDERBUFFER,r),e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_COMPONENT16,1,1),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,r),e.checkFramebufferStatus(e.FRAMEBUFFER)!==e.FRAMEBUFFER_COMPLETE)throw Error(`Sigma: picking framebuffer is not complete`);e.bindFramebuffer(e.FRAMEBUFFER,null),this.pickingFrameBuffer=t,this.pickingTexture=n,this.pickingDepthBuffer=r}},{key:`initPrograms`,value:function(e,t){var n=this,r=this.webGLContext,i=Ki(r,this.pickingFrameBuffer,n,e?.nodes,t.antialiasNodes),a=i.nodeProgram,o=i.labelProgram,s=i.backdropProgram,c=i.labelBackgroundProgram,l=i.attachmentProgram,u=i.framePass,d=i.shapeSlug,f=i.shapeNameToIndex,p=i.shapeGlobalIds,m=i.variables;this.nodeProgram=a,this.nodeFramePass=u,this.nodeVariableEntries=Object.entries(m),d&&(this.nodeShapeSlug=d);var h=qi(r,this.pickingFrameBuffer,n,e?.edges,t.antialiasEdges,e?.nodes),g=h.edgeProgram,_=h.labelProgram,v=h.labelBackgroundProgram,y=h.framePass,b=h.variables,x=h.paths;return this.edgeProgram=g,this.edgeFramePass=y,this.edgeVariableEntries=Object.entries(b),this.edgePathsByName=new Map(x.map(function(e){return[e.name,e]})),{labelProgram:o,edgeLabelProgram:_,edgeLabelBackgroundProgram:v,backdropProgram:s,labelBackgroundProgram:c,attachmentProgram:l,nodeShapeMap:f??null,nodeGlobalShapeIds:p??null}}},{key:`restoreWebGLContext`,value:function(){var e,t,n,r,i,a=this.internals;this.initPickingFramebuffer(),(e=a.nodeDataTexture)==null||e.restore(),(t=a.nodeFrameTexture)==null||t.restore(),(n=a.edgeDataTexture)==null||n.restore(),(r=a.edgeFrameTexture)==null||r.restore(),(i=a.attachmentManager)==null||i.restore(),a.hoverResolver.reset(),Object.assign(a,this.initPrograms(a.primitives,a.settings));var o=f(this.customLayerPrograms.values()),s;try{for(o.s();!(s=o.n()).done;){var c=s.value;c.program.kill(),c.program=c.factory(this.webGLContext)}}catch(e){o.e(e)}finally{o.f()}this.contextLost=!1,this.emit(`webglContextRestored`),this.refresh()}},{key:`createLayer`,value:function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(this.extraElements[e])throw Error(`Sigma: a layer named "${e}" already exists`);var r=Rt(t,{position:`absolute`},{class:`sigma-${e}`});return n.style&&Object.assign(r.style,n.style),this.extraElements[e]=r,`beforeLayer`in n&&n.beforeLayer?this.getLayerElement(n.beforeLayer).before(r):`afterLayer`in n&&n.afterLayer?this.getLayerElement(n.afterLayer).after(r):this.container.appendChild(r),r}},{key:`createCanvas`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.createLayer(e,`canvas`,t)}},{key:`createWebGLContext`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=this.createCanvas(e,t);t.hidden&&n.remove();var r=n.getContext(`webgl2`,z({preserveDrawingBuffer:!1,antialias:!1,depth:!0},t));if(!r)throw Error(`Sigma: WebGL 2 is not supported by your browser. Please use a modern browser (Chrome 56+, Firefox 51+, Safari 15+, Edge 79+).`);return r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA),r}},{key:`killLayer`,value:function(e){if(e===`stage`||e===`mouse`)throw Error(`Sigma: cannot kill built-in layer "${e}"`);var t=this.extraElements[e];if(!t)throw Error(`Sigma: cannot kill layer ${e}, which does not exist`);return t.remove(),delete this.extraElements[e],this}},{key:`getWebGLContext`,value:function(){if(!this.webGLContext)throw Error(`Sigma: WebGL context is not available`);return this.webGLContext}},{key:`getNodeDataTexture`,value:function(){if(!this.internals.nodeDataTexture)throw Error(`Sigma: node data texture is not available`);return this.internals.nodeDataTexture}},{key:`getNormalizationFunction`,value:function(){return this.normalizationFunction}},{key:`addCustomLayerProgram`,value:function(e,t,n){var r;if(!this.depthLayers.includes(t))throw Error(`Sigma: cannot add custom layer program at depth "${t}", it must be declared in primitives.depthLayers. Current layers: ${this.depthLayers.join(`, `)}`);return(r=this.customLayerPrograms.get(e))==null||r.program.kill(),this.customLayerPrograms.set(e,{depth:t,factory:n,program:n(this.webGLContext)}),this.refresh(),this}},{key:`removeCustomLayerProgram`,value:function(e){var t=this.customLayerPrograms.get(e);return t&&(t.program.kill(),this.customLayerPrograms.delete(e),this.scheduleRender()),this}},{key:`getCamera`,value:function(){return this.camera}},{key:`setCamera`,value:function(e){return this.camera.cancelAnimation(),this.unbindCameraHandlers(),this.camera=e,this.bindCameraHandlers(),this.scheduleRender(),this}},{key:`getContainer`,value:function(){return this.container}},{key:`getGraph`,value:function(){return this.internals.graph}},{key:`setGraph`,value:function(e){return e===this.internals.graph||(this.stateManager.pruneNodes(function(t){return e.hasNode(t)}),this.stateManager.pruneEdges(function(t){return e.hasEdge(t)}),this.unbindGraphHandlers(),this.checkEdgesEventsFrame!==null&&(cancelAnimationFrame(this.checkEdgesEventsFrame),this.checkEdgesEventsFrame=null),this.internals.graph=e,this.autoRescaleFrozen=!1,this.bindGraphHandlers(),this.refresh()),this}},{key:`getMouseCaptor`,value:function(){return this.mouseCaptor}},{key:`getTouchCaptor`,value:function(){return this.touchCaptor}},{key:`getDimensions`,value:function(){return{width:this.width,height:this.height}}},{key:`getGraphDimensions`,value:function(){var e=this.customBBox||this.nodeExtent;return{width:e.x[1]-e.x[0]||1,height:e.y[1]-e.y[0]||1}}},{key:`getNodeDisplayData`,value:function(e){var t=this.internals.nodeDataCache[e];return t?Object.assign({},t):void 0}},{key:`getEdgeDisplayData`,value:function(e){var t=this.internals.edgeDataCache[e];return t?Object.assign({},t):void 0}},{key:`getNodeState`,value:function(e){return this.stateManager.getNodeState(e)}},{key:`getEdgeState`,value:function(e){return this.stateManager.getEdgeState(e)}},{key:`getGraphState`,value:function(){return this.stateManager.getGraphState()}},{key:`setNodeState`,value:function(e,t){return this.stateManager.setNodeState(e,t),this}},{key:`setEdgeState`,value:function(e,t){return this.stateManager.setEdgeState(e,t),this}},{key:`setGraphState`,value:function(e){return this.stateManager.setGraphState(e),this}},{key:`_setPanning`,value:function(e){this.stateManager.setGraphState({isPanning:e})}},{key:`_setZooming`,value:function(e){this.stateManager.setGraphState({isZooming:e})}},{key:`_hasNodeDrag`,value:function(){var e=this.internals.dragManager;return!!(e.pendingNode||e.session)}},{key:`_showGestureHint`,value:function(e){var t=this.internals.settings;t.gestureTarget===`shared`&&(this.gestureHint=this.gestureHint||new wo(this.container),this.gestureHint.show(e,t))}},{key:`setNodesState`,value:function(e,t){return this.stateManager.setNodesState(e,t),this}},{key:`setEdgesState`,value:function(e,t){return this.stateManager.setEdgesState(e,t),this}},{key:`updateContainerCursor`,value:function(){var e=this.stateManager.hovered,t=this.resolvedStageStyle.cursor||``;this.container.style.cursor=e&&$a(this.internals,e)||t}},{key:`refreshStageStyle`,value:function(){this.resolvedStageStyle=mt(this.stylesDeclaration.stage,this.stateManager.graphState),this.resolvedStageStyle.background!==void 0&&(this.container.style.backgroundColor=this.resolvedStageStyle.background),this.updateContainerCursor()}},{key:`getNodeDisplayedLabels`,value:function(){return new Set(this.labelRenderer.displayedNodeLabels)}},{key:`getEdgeDisplayedLabels`,value:function(){return new Set(this.labelRenderer.displayedEdgeLabels)}},{key:`getSettings`,value:function(){return z({},this.internals.settings)}},{key:`getSetting`,value:function(e){return this.internals.settings[e]}},{key:`getStyles`,value:function(){return z({},this.stylesDeclaration)}},{key:`getPrimitives`,value:function(){return z({},this.internals.primitives)}},{key:`setSetting`,value:function(e,t){return this.internals.settings[e]=t,Nt(this.internals.settings),this.handleSettingsUpdate(),this.scheduleRefresh(),this}},{key:`updateSetting`,value:function(e,t){return this.setSetting(e,t(this.internals.settings[e])),this}},{key:`setSettings`,value:function(e){return this.internals.settings=z(z({},this.internals.settings),e),Nt(this.internals.settings),this.handleSettingsUpdate(),this.scheduleRefresh(),this}},{key:`resize`,value:function(e){var t=this.width,n=this.height;if(this.width=this.container.offsetWidth,this.height=this.container.offsetHeight,this.internals.pixelRatio=zt(),this.width===0){if(this.internals.settings.allowInvalidContainer)this.width=1;else throw Error(`Sigma: Container has no width. You can set the allowInvalidContainer setting to true to stop seeing this error.`)}if(this.height===0){if(this.internals.settings.allowInvalidContainer)this.height=1;else throw Error(`Sigma: Container has no height. You can set the allowInvalidContainer setting to true to stop seeing this error.`)}if(!e&&t===this.width&&n===this.height)return this;this.labelRenderer.labelsDirty=!0;for(var r=0,i=[this.mouseLayer].concat(W(Object.values(this.extraElements)));r<i.length;r++){var a=i[r];a.style.width=this.width+`px`,a.style.height=this.height+`px`}return this.webGLContext&&(this.stageCanvas.setAttribute(`width`,this.width*this.internals.pixelRatio+`px`),this.stageCanvas.setAttribute(`height`,this.height*this.internals.pixelRatio+`px`),this.webGLContext.viewport(0,0,this.width*this.internals.pixelRatio,this.height*this.internals.pixelRatio)),this.emit(`resize`),this}},{key:`clear`,value:function(){return this.emit(`beforeClear`),this.webGLContext.bindFramebuffer(WebGLRenderingContext.FRAMEBUFFER,null),this.webGLContext.clear(WebGLRenderingContext.COLOR_BUFFER_BIT),this.emit(`afterClear`),this}},{key:`scheduleStateRefresh`,value:function(){this.needToRefreshState=!0,this.scheduleRender()}},{key:`refreshState`,value:function(){var e=this,t;this.stateManager.flushGraphStateFlags();var n=this.stateManager.graphStateChanged&&this.internals.nodeStyleAnalysis.dependency===`graph-state`,r=this.stateManager.graphStateChanged&&this.edgeStyleAnalysis.dependency===`graph-state`,i=!1;if(n)this.internals.graph.forEachNode(function(t){e.refreshNodeState(t)&&(i=!0)});else if(this.internals.nodeStyleAnalysis.dependency!==`static`){var a=f(this.stateManager.dirtyNodes),o;try{for(a.s();!(o=a.n()).done;){var s=o.value;this.refreshNodeState(s)&&(i=!0)}}catch(e){a.e(e)}finally{a.f()}}if(r)this.internals.graph.forEachEdge(function(t){e.refreshEdgeState(t)&&(i=!0)});else if(this.edgeStyleAnalysis.dependency!==`static`){var c=f(this.stateManager.dirtyEdges),l;try{for(c.s();!(l=c.n()).done;){var u=l.value;this.refreshEdgeState(u)&&(i=!0)}}catch(e){c.e(e)}finally{c.f()}}this.stateManager.graphStateChanged&&(t=this.stylesDeclaration)!=null&&t.stage&&this.refreshStageStyle(),this.stateManager.clearDirtyTracking(),i&&(this.pendingProcess=`full`)}},{key:`refreshNodeState`,value:function(e){var t=this.internals.nodeDataCache[e];if(!t||this.nodeReducer){var n,r=this.internals.nodeDataCache[e]?.depth,i=this.internals.nodeDataCache[e]?.zIndex,a=this.internals.nodeDataCache[e]?.labelAttachment;this.updateNode(e);var o=this.internals.nodeDataCache[e];this.internals.attachmentManager&&o.labelAttachment!==a&&this.internals.attachmentManager.invalidateNode(e);var s=this.internals.nodeShapeMap&&this.internals.nodeGlobalShapeIds&&o.shape&&o.shape in this.internals.nodeShapeMap?this.internals.nodeGlobalShapeIds[this.internals.nodeShapeMap[o.shape]]:en(o.shape||`circle`);(n=this.internals.nodeDataTexture).updateNode.apply(n,[e,o.x,o.y,o.size,s].concat(W(Dt(o)),[o.color])),r&&o.depth!==r&&this.updateNodeDepthRanges(e,r,o.depth);var c=this.nodeProgramIndex[e];return c!==void 0&&(this.addNodeToProgram(e,c),this.nodeProgram.invalidateBuffers()),i!==void 0&&o.zIndex!==i}var l=this.internals.graph.getNodeAttributes(e),u=this.stateManager.getNodeState(e),d=t.size,f=t.shape,p=t.depth,m=t.zIndex,h=t.labelAttachment,g=t.rotationAlignment,_=t.labelRotationAlignment,v=t.color;dt(this.stylesDeclaration.nodes,l,u,this.stateManager.graphState,this.internals.graph,t),this.postEvaluateNode(t,l,u);var y=this.nodeGraphCoords[e],b=t.x!==y.x||t.y!==y.y;if(b&&(y.x=t.x,y.y=t.y),this.normalizationFunction.applyTo(t),this.internals.nodeShapeMap?(!t.shape||!(t.shape in this.internals.nodeShapeMap))&&(t.shape=Object.keys(this.internals.nodeShapeMap)[0]):this.nodeShapeSlug&&(t.shape=this.nodeShapeSlug),this.internals.attachmentManager&&t.labelAttachment!==h&&this.internals.attachmentManager.invalidateNode(e),St(this.internals.nodesWithForcedLabels,e,Tt(t)),St(this.internals.nodesWithBackdrop,e,Et(t)),b||t.size!==d||t.shape!==f||t.rotationAlignment!==g||t.labelRotationAlignment!==_||t.color!==v){var x,S=this.internals.nodeShapeMap&&this.internals.nodeGlobalShapeIds&&t.shape&&t.shape in this.internals.nodeShapeMap?this.internals.nodeGlobalShapeIds[this.internals.nodeShapeMap[t.shape]]:en(t.shape||`circle`);(x=this.internals.nodeDataTexture).updateNode.apply(x,[e,t.x,t.y,t.size,S].concat(W(Dt(t)),[t.color]))}this.itemBuckets.nodes.set(e,t.depth),t.depth!==p&&this.updateNodeDepthRanges(e,p,t.depth);var C=this.nodeProgramIndex[e];return C!==void 0&&(this.addNodeToProgram(e,C),this.nodeProgram.invalidateBuffers()),t.zIndex!==m}},{key:`refreshEdgeState`,value:function(e){var t=this.internals.edgeDataCache[e];if(!t||this.edgeReducer){var n=t?.depth,r=t?.zIndex;this.updateEdge(e);var i=this.internals.edgeDataCache[e];n&&i.depth!==n&&this.updateEdgeDepthRanges(e,n,i.depth);var a=this.edgeProgramIndex[e];return a!==void 0&&(this.addEdgeToProgram(e,a),this.edgeProgram.invalidateBuffers()),r!==void 0&&i.zIndex!==r}var o=this.internals.graph.getEdgeAttributes(e),s=this.stateManager.getEdgeState(e),c=t.depth,l=t.zIndex,u=t.size,d=t.path,f=t.selfLoopPath,p=t.parallelPath,m=t.head,h=t.tail;ft(this.stylesDeclaration.edges,o,s,this.stateManager.graphState,this.internals.graph,t),this.postEvaluateEdge(t,o),this.applyEdgeSpread(e,t,s),St(this.internals.edgesWithForcedLabels,e,Tt(t)),this.itemBuckets.edges.set(e,t.depth),t.depth!==c&&this.updateEdgeDepthRanges(e,c,t.depth);var g=this.edgeProgramIndex[e];if(g!==void 0){if(t.size!==u||t.path!==d||t.selfLoopPath!==f||t.parallelPath!==p||t.head!==m||t.tail!==h)this.addEdgeToProgram(e,g),this.edgeProgram.invalidateBuffers();else{var _=this.internals.graph.source(e),v=this.internals.graph.target(e),y=this.internals.nodeDataCache[_],b=this.internals.nodeDataCache[v],x=this.edgeTextureIndexCache[e];this.edgeProgram.process(qa(this.pickingState,`edge`,e),g,y,b,t,x),this.edgeProgram.invalidateBuffers()}}return t.zIndex!==l}},{key:`refresh`,value:function(e){var t=this,n=e?.skipIndexation!==void 0&&e?.skipIndexation,r=e?.schedule!==void 0&&e.schedule;if(!e||!e.partialGraph)this.clearEdgeIndices(),this.clearNodeIndices(),this.internals.graph.forEachNode(function(e){return t.addNode(e)}),this.edgeGroups.rebuild(),this.internals.graph.forEachEdge(function(e){return t.addEdge(e)}),this.pendingProcess=`full`;else{for(var i,a=e.partialGraph?.nodes||[],o=0,s=a?.length||0;o<s;o++){var c,l=``+a[o],u=this.internals.nodeDataCache[l]?.labelAttachment;if(this.updateNode(l),this.internals.attachmentManager&&((c=this.internals.nodeDataCache[l])!=null&&c.labelAttachment||u)&&this.internals.attachmentManager.invalidateNode(l),n){var d=this.nodeProgramIndex[l];if(d===void 0)throw Error(`Sigma: node "${l}" can't be repaint`);this.addNodeToProgram(l,d)}}n&&a.length>0&&(this.nodeProgram.invalidateBuffers(),this.labelRenderer.labelsDirty=!0);for(var f=(e==null||(i=e.partialGraph)==null?void 0:i.edges)||[],p=0,m=f.length;p<m;p++){var h=``+f[p];if(this.updateEdge(h),n){var g=this.edgeProgramIndex[h];if(g===void 0)throw Error(`Sigma: edge "${h}" can't be repaint`);this.addEdgeToProgram(h,g)}}n&&f.length>0&&(this.edgeProgram.invalidateBuffers(),this.labelRenderer.labelsDirty=!0),!n&&this.pendingProcess!==`full`&&(this.pendingProcess=f.length>0?`full`:`nodes`)}return r?this.scheduleRender():this.render(),this}},{key:`scheduleRender`,value:function(){var e=this;return this.renderFrame||=requestAnimationFrame(function(){e.render()}),this}},{key:`scheduleRefresh`,value:function(e){return this.refresh(z(z({},e),{},{schedule:!0}))}},{key:`getViewportZoomedState`,value:function(e,t){var n=this.camera.getState(),r=n.ratio,i=n.angle,a=n.x,o=n.y,s=this.internals.settings,c=s.minCameraRatio,l=s.maxCameraRatio;typeof l==`number`&&(t=Math.min(t,l)),typeof c==`number`&&(t=Math.max(t,c));var u=t/r,d={x:this.width/2,y:this.height/2},f=this.viewportToFramedGraph(e),p=this.viewportToFramedGraph(d);return{angle:i,x:(f.x-p.x)*(1-u)+a,y:(f.y-p.y)*(1-u)+o,ratio:t}}},{key:`viewRectangle`,value:function(){var e=this.viewportToFramedGraph({x:0,y:0}),t=this.viewportToFramedGraph({x:this.width,y:0}),n=this.viewportToFramedGraph({x:0,y:this.height});return{x1:e.x,y1:e.y,x2:t.x,y2:t.y,height:t.y-n.y}}},{key:`framedGraphToViewport`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=!!t.cameraState||!!t.viewportDimensions||!!t.graphDimensions||!!t.padding,r=y(t.matrix||(n?x(t.cameraState||this.camera.getState(),t.viewportDimensions||this.getDimensions(),t.graphDimensions||this.getGraphDimensions(),t.padding||this.getStagePadding()):this.matrix),e);return{x:(1+r.x)*this.width/2,y:(1-r.y)*this.height/2}}},{key:`viewportToFramedGraph`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=!!t.cameraState||!!t.viewportDimensions||!!t.graphDimensions||!!t.padding,r=y(t.matrix||(n?x(t.cameraState||this.camera.getState(),t.viewportDimensions||this.getDimensions(),t.graphDimensions||this.getGraphDimensions(),t.padding||this.getStagePadding(),!0):this.invMatrix),{x:e.x/this.width*2-1,y:1-e.y/this.height*2});return isNaN(r.x)&&(r.x=0),isNaN(r.y)&&(r.y=0),r}},{key:`viewportToGraph`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.normalizationFunction.inverse(this.viewportToFramedGraph(e,t))}},{key:`graphToViewport`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.framedGraphToViewport(this.normalizationFunction(e),t)}},{key:`graphToFramedGraph`,value:function(e){return this.normalizationFunction(e)}},{key:`framedGraphToGraph`,value:function(e){return this.normalizationFunction.inverse(e)}},{key:`getGraphToViewportRatio`,value:function(){var e={x:0,y:0},t={x:1,y:1},n=Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2),r=this.graphToViewport(e),i=this.graphToViewport(t);return Math.sqrt((r.x-i.x)**2+(r.y-i.y)**2)/n}},{key:`computeNodeExtent`,value:function(){var e=this.nodeGraphCoords,t=Object.keys(e);if(!t.length)return{x:[0,1],y:[0,1]};for(var n=1/0,r=-1/0,i=1/0,a=-1/0,o=0,s=t.length;o<s;o++){var c=e[t[o]],l=c.x,u=c.y;l<n&&(n=l),l>r&&(r=l),u<i&&(i=u),u>a&&(a=u)}return{x:[n,r],y:[i,a]}}},{key:`getBBox`,value:function(){return this.nodeExtent}},{key:`getCustomBBox`,value:function(){return this.customBBox}},{key:`setCustomBBox`,value:function(e){return this.customBBox=e,this.scheduleRender(),this}},{key:`kill`,value:function(){var e,t,n;this.emit(`kill`),this.removeAllListeners(),this.camera.cancelAnimation(),this.unbindCameraHandlers(),window.removeEventListener(`resize`,this.activeListeners.handleResize),this.mouseCaptor.kill(),this.touchCaptor.kill(),this.internals.hoverResolver.kill(),this.unbindGraphHandlers(),this.clearIndices(),this.clearState(),this.internals.nodeDataCache={},this.internals.edgeDataCache={},this.renderFrame&&=(cancelAnimationFrame(this.renderFrame),null);for(var r=this.container;r.firstChild;)r.removeChild(r.firstChild);this.nodeProgram.kill(),this.nodeFramePass.kill(),this.edgeProgram.kill(),this.edgeFramePass.kill(),this.internals.labelProgram.kill(),this.internals.edgeLabelProgram.kill(),this.internals.edgeLabelBackgroundProgram.kill(),this.internals.backdropProgram.kill(),this.internals.labelBackgroundProgram.kill(),(e=this.internals.attachmentProgram)==null||e.kill(),(t=this.internals.attachmentManager)==null||t.kill(),this.internals.attachmentProgram=null,this.internals.attachmentManager=null;var i=f(this.customLayerPrograms.values()),a;try{for(i.s();!(a=i.n()).done;)a.value.program.kill()}catch(e){i.e(e)}finally{i.f()}if(this.customLayerPrograms.clear(),this.sdfAtlas&&=null,this.internals.nodeDataTexture&&(this.internals.nodeDataTexture.kill(),this.internals.nodeDataTexture=null),this.internals.nodeFrameTexture&&(this.internals.nodeFrameTexture.kill(),this.internals.nodeFrameTexture=null),this.internals.edgeDataTexture&&(this.internals.edgeDataTexture.kill(),this.internals.edgeDataTexture=null),this.internals.edgeFrameTexture&&(this.internals.edgeFrameTexture.kill(),this.internals.edgeFrameTexture=null),this.webGLContext){var o;(o=this.webGLContext.getExtension(`WEBGL_lose_context`))==null||o.loseContext(),this.webGLContext=null}for(var s in(n=this.gestureHint)==null||n.kill(),this.gestureHint=null,this.mouseLayer.remove(),this.extraElements)this.extraElements[s].remove();this.extraElements={}}},{key:`scaleSize`,value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.camera.ratio;return e/this.internals.settings.zoomToSizeRatioFunction(t)*(this.getSetting(`itemSizesReference`)===`positions`?t*this.graphToViewportRatio:1)}},{key:`getStageCanvas`,value:function(){return this.stageCanvas}},{key:`getMouseLayer`,value:function(){return this.mouseLayer}}])}(gt),Ho=(0,a.createContext)(null),Uo=Ho.Provider;function Wo(){let e=(0,a.useContext)(Ho);if(e==null)throw Error(`No context provided: useSigmaContext() can only be used in a descendant of <SigmaContainer>`);return e}function Go(){return Wo().sigma}function Ko(e){return new Set(Object.keys(e))}var qo=Ko({clickNode:!0,rightClickNode:!0,downNode:!0,upNode:!0,enterNode:!0,leaveNode:!0,doubleClickNode:!0,wheelNode:!0,clickNodeLabel:!0,rightClickNodeLabel:!0,doubleClickNodeLabel:!0,wheelNodeLabel:!0,downNodeLabel:!0,upNodeLabel:!0,enterNodeLabel:!0,leaveNodeLabel:!0,clickEdge:!0,rightClickEdge:!0,downEdge:!0,upEdge:!0,enterEdge:!0,leaveEdge:!0,doubleClickEdge:!0,wheelEdge:!0,clickEdgeLabel:!0,rightClickEdgeLabel:!0,doubleClickEdgeLabel:!0,wheelEdgeLabel:!0,downEdgeLabel:!0,upEdgeLabel:!0,enterEdgeLabel:!0,leaveEdgeLabel:!0,clickStage:!0,rightClickStage:!0,downStage:!0,doubleClickStage:!0,wheelStage:!0,upStage:!0,enterStage:!0,leaveStage:!0,beforeRender:!0,afterRender:!0,kill:!0,resize:!0,afterClear:!0,afterProcess:!0,beforeClear:!0,beforeProcess:!0,moveBody:!0,nodeDragStart:!0,nodeDrag:!0,nodeDragEnd:!0,afterTexturesUpload:!0,webglContextLost:!0,webglContextRestored:!0}),Jo=Ko({click:!0,rightClick:!0,doubleClick:!0,mouseup:!0,mousedown:!0,mousemove:!0,mousemovebody:!0,mouseleave:!0,mouseenter:!0,wheel:!0}),Yo=Ko({touchup:!0,touchdown:!0,touchmove:!0,touchmovebody:!0,tap:!0,doubletap:!0}),Xo=Ko({updated:!0,animationStart:void 0,animationEnd:void 0});function Zo(){let e=Go(),[t,n]=(0,a.useState)({});return(0,a.useEffect)((()=>{if(!e||!t)return;let n=t,r=Object.keys(n);return r.forEach((t=>{let r=n[t];qo.has(t)&&e.on(t,r),Jo.has(t)&&e.getMouseCaptor().on(t,r),Yo.has(t)&&e.getTouchCaptor().on(t,r),Xo.has(t)&&e.getCamera().on(t,r)})),()=>{e&&r.forEach((t=>{let r=n[t];qo.has(t)&&e.off(t,r),Jo.has(t)&&e.getMouseCaptor().off(t,r),Yo.has(t)&&e.getTouchCaptor().off(t,r),Xo.has(t)&&e.getCamera().off(t,r)}))}}),[e,t]),n}function Qo(){let e=Go();return(0,a.useCallback)(((t,n=!0)=>{e&&t&&(n&&e.getGraph().order>0&&e.getGraph().clear(),e.getGraph().import(t),e.refresh())}),[e])}function $o(){let{sigma:e}=Wo();return(0,a.useCallback)((t=>{e&&Object.keys(t).forEach((n=>{e.setSetting(n,t[n])}))}),[e])}function es(e,t){if(e===t)return!0;if(typeof e==`object`&&e&&typeof t==`object`&&t){if(Object.keys(e).length!=Object.keys(t).length)return!1;for(let n in e)if(!Object.hasOwn(t,n)||!es(e[n],t[n]))return!1;return!0}return!1}function ts(e,t){let n;return r=>new Promise((i=>{n&&clearTimeout(n),n=setTimeout((()=>{i(e(r))}),t)}))}function ns(e){let t=Go(),[n,r]=(0,a.useState)(e||{});return(0,a.useEffect)((()=>{r((t=>es(t,e||{})?t:e||{}))}),[e]),{zoomIn:(0,a.useCallback)((e=>{t.getCamera().zoomIn(Object.assign(Object.assign({},n),e))}),[t,n]),zoomOut:(0,a.useCallback)((e=>{t.getCamera().zoomOut(Object.assign(Object.assign({},n),e))}),[t,n]),reset:(0,a.useCallback)((e=>{t.getCamera().reset(Object.assign(Object.assign({},n),e))}),[t,n]),goto:(0,a.useCallback)(((e,r)=>{t.getCamera().animate(e,Object.assign(Object.assign({},n),r))}),[t,n]),gotoNode:(0,a.useCallback)(((e,r)=>{let i=t.getNodeDisplayData(e);i?t.getCamera().animate(i,Object.assign(Object.assign({},n),r)):console.warn(`Node ${e} not found`)}),[t,n])}}function rs(e){let t=Wo(),[n,r]=(0,a.useState)(!1),[i,o]=(0,a.useState)(e||t.container),s=(0,a.useCallback)((()=>r((e=>!e))),[]);return(0,a.useEffect)((()=>(document.addEventListener(`fullscreenchange`,s),()=>document.removeEventListener(`fullscreenchange`,s))),[s]),(0,a.useEffect)((()=>{o(e||t.container)}),[e,t.container]),{toggle:(0,a.useCallback)((()=>{var e=i;document.fullscreenElement===e?document.exitFullscreen&&document.exitFullscreen():e.requestFullscreen()}),[i]),isFullScreen:n}}var is=(0,a.forwardRef)((({graph:e,id:t,className:n,style:i,options:o={},children:s},c)=>{let l=(0,a.useRef)(null),u=(0,a.useRef)(null),d={className:`react-sigma ${n||``}`,id:t,style:i},[f,p]=(0,a.useState)(null),[m,h]=(0,a.useState)(o);(0,a.useEffect)((()=>{h((e=>es(e,o)?e:o))}),[o]),(0,a.useEffect)((()=>{let t=null;if(u.current!==null){let n=new r;e&&(n=typeof e==`function`?new e:e),t=new Vo(n,u.current,m),p((e=>{let n=null;return e&&(n=e.getCamera().getState()),n&&t.getCamera().setState(n),t}))}return()=>{t&&t.kill()}}),[u,e,m]),(0,a.useImperativeHandle)(c,(()=>f),[f]);let g=(0,a.useMemo)((()=>f&&l.current?{sigma:f,container:l.current}:null),[f,l]),_=g===null?null:a.createElement(Uo,{value:g},s);return a.createElement(`div`,Object.assign({},d,{ref:l}),a.createElement(`div`,{className:`sigma-container`,ref:u}),_)})),as=({id:e,className:t,style:n,children:r,position:i=`bottom-left`})=>{let o={className:`react-sigma-controls ${t||``} ${i}`,id:e,style:n};return a.createElement(`div`,Object.assign({},o),r)},os;function ss(){return ss=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ss.apply(null,arguments)}var cs,ls=function(e){return a.createElement(`svg`,ss({xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`,className:`dot-circle-regular_svg__svg-inline--fa dot-circle-regular_svg__fa-dot-circle dot-circle-regular_svg__fa-w-16`,"data-icon":`dot-circle`,"data-prefix":`far`,viewBox:`0 0 512 512`,width:`1em`,height:`1em`},e),os||=a.createElement(`path`,{fill:`currentColor`,d:`M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8m0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80`}))};function us(){return us=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},us.apply(null,arguments)}var ds,fs=function(e){return a.createElement(`svg`,us({xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`,className:`minus-solid_svg__svg-inline--fa minus-solid_svg__fa-minus minus-solid_svg__fa-w-14`,"data-icon":`minus`,"data-prefix":`fas`,viewBox:`0 0 448 512`,width:`1em`,height:`1em`},e),cs||=a.createElement(`path`,{fill:`currentColor`,d:`M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32`}))};function ps(){return ps=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ps.apply(null,arguments)}var ms=function(e){return a.createElement(`svg`,ps({xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`,className:`plus-solid_svg__svg-inline--fa plus-solid_svg__fa-plus plus-solid_svg__fa-w-14`,"data-icon":`plus`,"data-prefix":`fas`,viewBox:`0 0 448 512`,width:`1em`,height:`1em`},e),ds||=a.createElement(`path`,{fill:`currentColor`,d:`M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32`}))},hs=({className:e,style:t,animationDuration:n=200,children:r,labels:i={}})=>{let{zoomIn:o,zoomOut:s,reset:c}=ns({duration:n,factor:1.5}),l={style:t,className:`react-sigma-control ${e||``}`};return a.createElement(a.Fragment,null,a.createElement(`div`,Object.assign({},l),a.createElement(`button`,{onClick:()=>o(),title:i.zoomIn||`Zoom In`},r?r[0]:a.createElement(ms,{style:{width:`1em`}}))),a.createElement(`div`,Object.assign({},l),a.createElement(`button`,{onClick:()=>s(),title:i.zoomOut||`Zoom Out`},r?r[1]:a.createElement(fs,{style:{width:`1em`}}))),a.createElement(`div`,Object.assign({},l),a.createElement(`button`,{onClick:()=>c(),title:i.reset||`See whole graph`},r?r[2]:a.createElement(ls,{style:{width:`1em`}}))))},gs;function _s(){return _s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_s.apply(null,arguments)}var vs,ys=function(e){return a.createElement(`svg`,_s({xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`,className:`compress-solid_svg__svg-inline--fa compress-solid_svg__fa-compress compress-solid_svg__fa-w-14`,"data-icon":`compress`,"data-prefix":`fas`,viewBox:`0 0 448 512`,width:`1em`,height:`1em`},e),gs||=a.createElement(`path`,{fill:`currentColor`,d:`M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12m-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24m0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12m192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12`}))};function bs(){return bs=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},bs.apply(null,arguments)}var xs=function(e){return a.createElement(`svg`,bs({xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`,className:`expand-solid_svg__svg-inline--fa expand-solid_svg__fa-expand expand-solid_svg__fa-w-14`,"data-icon":`expand`,"data-prefix":`fas`,viewBox:`0 0 448 512`,width:`1em`,height:`1em`},e),vs||=a.createElement(`path`,{fill:`currentColor`,d:`M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12M288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12m148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12M160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12`}))},Ss=({id:e,className:t,style:n,container:r,children:i,labels:o={}})=>{let{isFullScreen:s,toggle:c}=rs(r?.current),l={className:`react-sigma-control ${t||``}`,id:e,style:n};return document.fullscreenEnabled?a.createElement(`div`,Object.assign({},l),a.createElement(`button`,{onClick:c,title:s?o.exit||`Exit fullscreen`:o.enter||`Enter fullscreen`},i&&!s&&i[0],i&&s&&i[1],!i&&!s&&a.createElement(xs,{style:{width:`1em`}}),!i&&s&&a.createElement(ys,{style:{width:`1em`}}))):null};export{as as ControlsContainer,Ss as FullScreenControl,is as SigmaContainer,Ho as SigmaContext,Uo as SigmaProvider,hs as ZoomControl,ts as debounce,es as isEqual,ns as useCamera,rs as useFullScreen,Qo as useLoadGraph,Zo as useRegisterEvents,$o as useSetSettings,Go as useSigma,Wo as useSigmaContext};
|
|
3225
|
+
}`)),So}var wo=function(){function e(t){B(this,e),R(this,`hideTimeout`,null),this.styleElement=Rt(`style`),this.styleElement.textContent=Co(),t.appendChild(this.styleElement),this.element=Rt(`div`,{opacity:`0`},{class:`sigma-gesture-hint`}),t.appendChild(this.element)}return V(e,[{key:`show`,value:function(e,t){var n=this,r=e===`touch`?t.sharedGestureTouchMessage:vo?t.sharedGestureAppleWheelMessage:t.sharedGestureWheelMessage;r&&(this.element.textContent=r,this.element.style.opacity=`1`,typeof this.hideTimeout==`number`&&clearTimeout(this.hideTimeout),this.hideTimeout=window.setTimeout(function(){n.hideTimeout=null,n.element.style.opacity=`0`},yo))}},{key:`kill`,value:function(){typeof this.hideTimeout==`number`&&clearTimeout(this.hideTimeout),this.styleElement.remove(),this.element.remove()}}])}(),To=function(){function e(t){B(this,e),R(this,`readBuffer`,null),R(this,`fence`,null),R(this,`result`,new Uint8Array(4)),R(this,`generation`,0),R(this,`readGeneration`,0),R(this,`lastEvent`,null),R(this,`active`,!1),R(this,`dirty`,!1),R(this,`rafId`,null),R(this,`killed`,!1),this.options=t}return V(e,[{key:`pointerMoved`,value:function(e){this.lastEvent=e,this.active=!0,!this.options.isRenderPending()&&this.request()}},{key:`pointerLeft`,value:function(){this.active=!1,this.dirty=!1}},{key:`frameRendered`,value:function(){this.request()}},{key:`invalidate`,value:function(){this.generation++}},{key:`request`,value:function(){!this.killed&&this.active&&this.lastEvent&&(this.fence?this.dirty=!0:this.startRead())}},{key:`startRead`,value:function(){var e=this.options,t=e.gl,n=e.getFrameBuffer,r=e.getPixelRatio,i=e.getDownSizingRatio;this.readGeneration=this.generation;var a=this.lastEvent,o=d(C(t,a.x,a.y,r(),i()),2),s=o[0],c=o[1];this.readBuffer||=t.createBuffer(),t.bindFramebuffer(t.FRAMEBUFFER,n()),t.bindBuffer(t.PIXEL_PACK_BUFFER,this.readBuffer),t.bufferData(t.PIXEL_PACK_BUFFER,4,t.STREAM_READ),t.readPixels(s,c,1,1,t.RGBA,t.UNSIGNED_BYTE,0),t.bindBuffer(t.PIXEL_PACK_BUFFER,null),t.bindFramebuffer(t.FRAMEBUFFER,null),this.fence=t.fenceSync(t.SYNC_GPU_COMMANDS_COMPLETE,0),t.flush(),this.schedulePoll(a)}},{key:`schedulePoll`,value:function(e){var t=this;this.rafId=requestAnimationFrame(function(){t.rafId=null,t.poll(e)})}},{key:`poll`,value:function(e){var t=this.options,n=t.gl,r=t.onIndex;if(!this.killed&&this.fence){var i=n.clientWaitSync(this.fence,0,0);if(i===n.TIMEOUT_EXPIRED)this.schedulePoll(e);else{if(n.deleteSync(this.fence),this.fence=null,i!==n.WAIT_FAILED&&this.readGeneration===this.generation){n.bindBuffer(n.PIXEL_PACK_BUFFER,this.readBuffer),n.getBufferSubData(n.PIXEL_PACK_BUFFER,0,this.result),n.bindBuffer(n.PIXEL_PACK_BUFFER,null);var a=d(this.result,4),o=a[0],s=a[1],c=a[2],l=a[3];this.active&&r(te(o,s,c,l),e)}this.dirty&&(this.dirty=!1,this.active&&this.lastEvent&&!this.options.isRenderPending()&&this.startRead())}}}},{key:`reset`,value:function(){this.rafId!==null&&cancelAnimationFrame(this.rafId),this.rafId=null,this.fence=null,this.readBuffer=null,this.dirty=!1}},{key:`kill`,value:function(){this.killed=!0,this.rafId!==null&&cancelAnimationFrame(this.rafId),this.rafId=null;var e=this.options.gl;this.fence&&e.deleteSync(this.fence),this.fence=null,this.readBuffer&&e.deleteBuffer(this.readBuffer),this.readBuffer=null}}])}(),Eo=function(){function e(t,n){B(this,e),this.key=t,this.size=n}return V(e,null,[{key:`compare`,value:function(e,t){return e.size>t.size?-1:e.size<t.size||e.key>t.key?1:-1}}])}(),Do=function(){function e(){B(this,e),R(this,`width`,0),R(this,`height`,0),R(this,`cellSize`,0),R(this,`columns`,0),R(this,`rows`,0),R(this,`cells`,{})}return V(e,[{key:`resizeAndClear`,value:function(e,t){this.width=e.width,this.height=e.height,this.cellSize=t,this.columns=Math.ceil(e.width/t),this.rows=Math.ceil(e.height/t),this.cells={}}},{key:`getIndex`,value:function(e){var t=Math.floor(e.x/this.cellSize);return Math.floor(e.y/this.cellSize)*this.columns+t}},{key:`add`,value:function(e,t,n){var r=new Eo(e,t),i=this.getIndex(n),a=this.cells[i];a||(a=[],this.cells[i]=a),a.push(r)}},{key:`organize`,value:function(){for(var e in this.cells)this.cells[e].sort(Eo.compare)}},{key:`getLabelsToDisplay`,value:function(e,t,n){var r=this.cellSize*this.cellSize,i=r/e/e*t/r,a=Math.ceil(i),o=[];if(n)for(var s=Math.max(0,Math.floor(n.x1/this.cellSize)),c=Math.min(this.columns-1,Math.floor(n.x2/this.cellSize)),l=Math.max(0,Math.floor(n.y1/this.cellSize)),u=Math.min(this.rows-1,Math.floor(n.y2/this.cellSize)),d=l;d<=u;d++)for(var f=s;f<=c;f++){var p=d*this.columns+f,m=this.cells[p];if(m)for(var h=0;h<Math.min(a,m.length);h++)o.push(m[h].key)}else for(var g in this.cells)for(var _=this.cells[g],v=0;v<Math.min(a,_.length);v++)o.push(_[v].key);return o}}])}();function Oo(e){var t=e.graph,n=e.hoveredNode,r=e.highlightedNodes,i=e.displayedNodeLabels,a=new Set,o=new Set(r);n&&o.add(n);var s=f(o),c;try{for(s.s();!(c=s.n()).done;){var l=c.value;t.hasNode(l)&&t.forEachEdge(l,function(e){a.add(e)})}}catch(e){s.e(e)}finally{s.f()}var u=f(i),d;try{var p=function(){var e=d.value;if(o.has(e))return 1;t.forEachEdge(e,function(t,n,r,o){var s=r===e?o:r;i.has(s)&&a.add(t)})};for(u.s();!(d=u.n()).done;)if(p())continue}catch(e){u.e(e)}finally{u.f()}return Array.from(a)}var ko=150,Ao=50,jo={both:0,node:1,label:2},Mo={over:0,above:1,below:2,auto:3},No=12,Po=3,Fo=function(){function e(t){B(this,e),R(this,`labelGrid`,new Do),R(this,`edgeAnchorGrid`,new Do),R(this,`displayedNodeLabels`,new Set),R(this,`displayedEdgeLabels`,new Set),R(this,`edgeLabelCandidates`,[]),R(this,`renderedNodeLabels`,new Set),R(this,`labelSizeCache`,new Map),R(this,`framePassPoints`,new Float32Array),R(this,`labelsDirty`,!0),this.internals=t}return V(e,[{key:`resetFrame`,value:function(){this.displayedNodeLabels=new Set,this.renderedNodeLabels=new Set,this.labelSizeCache.clear()}},{key:`clearEdgeLabels`,value:function(){this.displayedEdgeLabels=new Set}},{key:`resetLabelGrid`,value:function(){this.labelGrid=new Do,this.edgeAnchorGrid=new Do}},{key:`processWebGLLabels`,value:function(e){for(var t,n=this.internals,r=n.labelProgram,i=n.primitives,a=n.nodeDataCache,o=(i==null||(t=i.nodes)==null||(t=t.label)==null||(t=t.font)==null?void 0:t.family)||`sans-serif`,s=new Map,c=0,l=e.length;c<l;c++){var u=a[e[c]];if(u.visibility!==`hidden`&&u.label){var p=u.labelFont||o,m=s.get(p);m?m.push(u.label):s.set(p,[u.label])}}var h=f(s),g;try{for(h.s();!(g=h.n()).done;){var _=d(g.value,2),v=_[0],y=_[1],b=Lt(v),x=b.family,S=b.weight,C=b.style,w=r.registerFont(x,S,C);r.ensureGlyphsReady(y,w)}}catch(e){h.e(e)}finally{h.f()}}},{key:`measureNodeLabel`,value:function(e){var t;if(!e.label)return{width:0,height:0,textHeight:0};var n=this.internals,r=n.labelProgram,i=n.primitives,a=e.labelSize??14,o=e.labelFont||(i==null||(t=i.nodes)==null||(t=t.label)==null||(t=t.font)==null?void 0:t.family)||`sans-serif`,s=`${e.label}|${a}|${o}`;if(this.labelSizeCache.has(s))return this.labelSizeCache.get(s);var c=Lt(o),l=c.family,u=c.weight,d=c.style,f=r.registerFont(l,u,d),p=r.measureLabel(e.label,a,f);return this.labelSizeCache.set(s,p),p}},{key:`nodeLabelBox`,value:function(e,t){var n;if(e.visibility===`hidden`||e.labelVisibility===`hidden`)return null;var r=this.measureNodeLabel(e),i=r.width,a=r.height,o=r.textHeight;if(!i)return null;var s=t+(((n=this.internals.primitives)==null||(n=n.nodes)==null||(n=n.label)==null?void 0:n.margin)??5),c=e.labelBackgroundColor?e.labelBackgroundPadding??3:0,l=i/2,u=a/2,d=l+c,f=u+c,p=o/2,m=0,h=0;switch(e.labelPosition??`right`){case`left`:m=-(s+l);break;case`above`:h=-(s+p);break;case`below`:h=s+p;break;case`over`:break;default:m=s+l}var g=e.labelAngle??0,_=v({x:m,y:h},g),y=_.x,b=_.y,x=Math.abs(Math.cos(g)),S=Math.abs(Math.sin(g)),C=x*d+S*f,w=S*d+x*f;return{minX:y-C,maxX:y+C,minY:b-w,maxY:b+w}}},{key:`computeDisplayedNodeLabels`,value:function(){var e=this.internals.getCameraState(),t=this.internals.getDimensions(),n=t.width,r=t.height,i=this.internals.viewportToFramedGraph({x:-ko,y:-Ao}),a=this.internals.viewportToFramedGraph({x:n+ko,y:-Ao}),o=this.internals.viewportToFramedGraph({x:-ko,y:r+Ao}),s=this.internals.viewportToFramedGraph({x:n+ko,y:r+Ao}),c=Math.min(i.x,a.x,o.x,s.x),l=Math.max(i.x,a.x,o.x,s.x),u=Math.min(i.y,a.y,o.y,s.y),d=Math.max(i.y,a.y,o.y,s.y),f=x({x:.5,y:.5,ratio:1,angle:0},{width:n,height:r},this.internals.getGraphDimensions(),this.internals.getStagePadding()),p=function(e){var t=y(f,e);return{x:(1+t.x)*n/2,y:(1-t.y)*r/2}},m=p({x:c,y:u}),h=p({x:l,y:u}),g=p({x:c,y:d}),_=p({x:l,y:d}),v={x1:Math.min(m.x,h.x,g.x,_.x),y1:Math.min(m.y,h.y,g.y,_.y),x2:Math.max(m.x,h.x,g.x,_.x),y2:Math.max(m.y,h.y,g.y,_.y)},b=this.internals,S=b.settings,C=b.nodeDataCache,w=b.nodesWithForcedLabels,T=this.labelGrid.getLabelsToDisplay(e.ratio,S.labelDensity,v);vt(T,w);for(var E=0,D=T.length;E<D;E++){var O=T[E],k=C[O];if(!this.displayedNodeLabels.has(O)&&k.visibility!==`hidden`&&k.labelVisibility!==`hidden`&&k.label&&!(k.x<c||k.x>l||k.y<u||k.y>d)){var A=this.internals.framedGraphToViewport(k),j=A.x,M=A.y,N=this.internals.scaleSize(k.size);!Tt(k)&&N<S.labelRenderedSizeThreshold||j<-ko-N||j>n+ko+N||M<-Ao-N||M>r+Ao+N||this.displayedNodeLabels.add(O)}}}},{key:`buildFramePassPoints`,value:function(){var e=this.internals,t=e.nodeDataCache,n=e.nodeDataTexture;if(!n)return{data:this.framePassPoints,count:0};var r=this.displayedNodeLabels.size*3;this.framePassPoints.length<r&&(this.framePassPoints=new Float32Array(r));var i=this.framePassPoints,a=0,o=f(this.displayedNodeLabels),s;try{for(o.s();!(s=o.n()).done;){var c=s.value,l=t[c];if(l){var u=n.getIndex(c);u<0||(i[a*3]=u,i[a*3+1]=cn[l.labelPosition||nt.labelPosition]??0,i[a*3+2]=l.labelAngle??0,a++)}}}catch(e){o.e(e)}finally{o.f()}return{data:i,count:a}}},{key:`renderWebGLLabels`,value:function(e,t){var n=this.internals,r=n.nodeDataCache,i=n.labelProgram,a=n.primitives,o=n.nodeDataTexture,s=[],c=f(this.displayedNodeLabels),l;try{for(c.s();!(l=c.n()).done;){var u=l.value;if(!this.renderedNodeLabels.has(u)){var d=r[u];t&&d.labelDepth!==t||(this.renderedNodeLabels.add(u),s.push(u))}}}catch(e){c.e(e)}finally{c.f()}if(s.length!==0){if(this.labelsDirty){for(var p,m,h=0,g=0,_=s.length;g<_;g++){var v=r[s[g]];h+=v.label.length}i.reallocate(h);for(var y=14,b=(a==null||(p=a.nodes)==null||(p=p.label)==null?void 0:p.margin)??5,x=nt.labelPosition,S=(a==null||(m=a.nodes)==null||(m=m.label)==null||(m=m.font)==null?void 0:m.family)||`sans-serif`,C=new Map,w=0,T=0,E=s.length;T<E;T++){var D=s[T],O=r[D],k=O.labelFont||S,A=C.get(k);if(A===void 0){var j=Lt(k),M=j.family,N=j.weight,P=j.style;A=i.registerFont(M,N,P),C.set(k,A)}var F={text:O.label,x:O.x,y:O.y,size:O.labelSize??y,color:O.labelColor,nodeSize:O.size,margin:b,position:O.labelPosition??x,hidden:!1,forceLabel:Tt(O),type:`default`,zIndex:O.zIndex??0,parentType:`node`,parentKey:D,fontKey:A,labelAngle:O.labelAngle??0,nodeIndex:o.getIndex(D)},I=i.processLabel(D,w,F);w+=I}i.invalidateBuffers()}i.render(e)}}},{key:`renderBackdrops`,value:function(e,t){var n=this.internals,r=n.backdropProgram,i=n.nodeDataCache,a=n.nodesWithBackdrop,o=n.attachmentManager,s=n.pixelRatio,c=n.nodeDataTexture,l=[],u=f(a),d;try{for(u.s();!(d=u.n()).done;){var p=d.value,m=i[p];if(m&&m.visibility!==`hidden`&&!(t&&m.depth!==t)){var h=c?.getIndex(p)??-1;h<0||l.push({key:p,nodeIndex:h})}}}catch(e){u.e(e)}finally{u.f()}if(l.length!==0){r.reallocate(l.length);for(var g=0;g<l.length;g++){var _=l[g],v=_.key,y=_.nodeIndex,b=i[v],x=this.displayedNodeLabels.has(v),S=x?this.measureNodeLabel(b):{width:0,height:0,textHeight:0},C=S.textHeight,w=S.width,T=S.height,E=0,D=0;if(x&&b.labelAttachment&&o){var O=o.getEntry(v,b.labelAttachment);if(O){var k=b.labelAttachmentPlacement||`below`;if(k===`below`||k===`above`){var A=O.height/s;T+=A+2,w=Math.max(w,O.width/s),D=k===`below`?(A+2)/2:-(A+2)/2}else{var j=O.width/s;w+=j+2,T=Math.max(T,O.height/s),E=k===`right`?(j+2)/2:-(j+2)/2}}}var M=b.backdropColor?I(b.backdropColor):[255,255,255,255],N=b.backdropShadowColor?I(b.backdropShadowColor):[0,0,0,128],P=M.map(function(e){return e/255}),F=N.map(function(e){return e/255}),ee=b.backdropShadowBlur??12,te=b.backdropPadding??6,L=(b.backdropBorderColor?I(b.backdropBorderColor):[0,0,0,0]).map(function(e){return e/255}),ne=b.backdropBorderWidth??0,re=b.backdropCornerRadius??0,ie=b.backdropLabelPadding??-1,R=ie<0?te:ie,ae=jo[b.backdropArea??`both`]??0,z={key:v,nodeIndex:y,label:b.label,labelWidth:w,labelHeight:T,textHeight:C,type:`default`,position:b.labelPosition||nt.labelPosition,labelAngle:b.labelAngle??0,backdropColor:P,backdropShadowColor:F,backdropShadowBlur:ee,backdropPadding:te,backdropBorderColor:L,backdropBorderWidth:ne,backdropCornerRadius:re,backdropLabelPadding:R,backdropArea:ae,labelBoxOffset:[E,D]};r.processBackdrop(g,z)}r.invalidateBuffers(),r.render(e)}}},{key:`renderLabelBackgrounds`,value:function(e,t){var n=this.internals,r=n.labelBackgroundProgram,i=n.nodeDataCache,a=n.nodeDataTexture,o=$.nodeLabel.writesPickingThisFrame(this.internals),s=[],c=f(this.displayedNodeLabels),l;try{for(c.s();!(l=c.n()).done;){var u=l.value,d=i[u];d&&d.visibility!==`hidden`&&(t&&d.labelDepth!==t||(o||d.labelBackgroundColor)&&s.push(u))}}catch(e){c.e(e)}finally{c.f()}if(s.length!==0){r.reallocate(s.length);for(var p=0;p<s.length;p++){var m=s[p],h=i[m],g=a?.getIndex(m)??-1;if(!(g<0)){var _=this.measureNodeLabel(h),v=_.width,y=_.height,b=_.textHeight,x=qa(this.internals.pickingState,`nodeLabel`,m)||qa(this.internals.pickingState,`node`,m),S=h.labelBackgroundColor?F(h.labelBackgroundColor):F(`transparent`),C={nodeIndex:g,id:ee(x),color:S,labelWidth:v,labelHeight:y,textHeight:b,positionMode:cn[h.labelPosition||nt.labelPosition]??0,labelAngle:h.labelAngle??0,padding:h.labelBackgroundPadding??3};r.processLabelBackground(p,C)}}r.invalidateBuffers(),r.render(e)}}},{key:`cacheAttachments`,value:function(e){var t=this.internals,n=t.attachmentManager,r=t.pixelRatio,i=t.nodeDataCache,a=t.nodesWithBackdrop,o=t.graph;if(n){var s=f(a),c;try{for(s.s();!(c=s.n()).done;){var l=c.value;if(this.displayedNodeLabels.has(l)){var u=i[l];if(u&&u.visibility!==`hidden`&&!(e&&u.depth!==e)&&u.labelAttachment){var d=o.getNodeAttributes(l),p=this.measureNodeLabel(u),m={node:l,attributes:d,pixelRatio:r,labelWidth:p.width,labelHeight:p.height};n.renderAttachment(l,u.labelAttachment,m)}}}}catch(e){s.e(e)}finally{s.f()}n.regenerateAtlas()}}},{key:`renderAttachments`,value:function(e,t){var n=this.internals,r=n.attachmentManager,i=n.attachmentProgram,a=n.nodeDataCache,o=n.nodesWithBackdrop,s=n.pixelRatio,c=n.nodeDataTexture;if(r&&i){var l=0;i.reallocateAttachments(o.size);var u=f(o),d;try{for(u.s();!(d=u.n()).done;){var p=d.value;if(this.displayedNodeLabels.has(p)){var m=a[p];if(m&&m.visibility!==`hidden`&&!(t&&m.labelDepth!==t)&&m.labelAttachment){var h=r.getEntry(p,m.labelAttachment);if(h){var g=c?.getIndex(p)??-1;if(!(g<0)){var _=this.measureNodeLabel(m),v=_.width,y=_.height,b=_.textHeight,x=zn[m.labelAttachmentPlacement||`below`]??0;i.processAttachment(l,{nodeIndex:g,atlasX:h.x,atlasY:h.y,atlasW:h.width,atlasH:h.height,attachWidth:h.width/s,attachHeight:h.height/s,positionMode:cn[m.labelPosition||nt.labelPosition]??0,attachmentPlacement:x,labelWidth:v,labelHeight:y,textHeight:b,labelAngle:m.labelAngle??0}),l++}}}}}}catch(e){u.e(e)}finally{u.f()}l!==0&&(i.reallocateAttachments(l),r.bindTexture(7),i.invalidateBuffers(),i.render(e))}}},{key:`computeDisplayedEdgeLabels`,value:function(){var e=this.internals,t=e.graph,n=e.stateManager,r=e.settings,i=e.edgesWithForcedLabels,a=n.getHighlightedNodes(),o=r.edgeLabelAnchors===`allNodes`?new Set(this.edgeAnchorGrid.getLabelsToDisplay(this.internals.getCameraState().ratio,r.labelDensity)):this.displayedNodeLabels,s=n.hovered,c=Oo({graph:t,hoveredNode:s?.kind===`node`?s.key:null,displayedNodeLabels:o,highlightedNodes:a});vt(c,i),this.edgeLabelCandidates=c,this.displayedEdgeLabels=new Set}},{key:`filterEdgeLabelsForDepth`,value:function(e){for(var t=this.internals,n=t.graph,r=t.nodeDataCache,i=t.edgeDataCache,a=[],o=new Set,s=0,c=this.edgeLabelCandidates.length;s<c;s++){var l=this.edgeLabelCandidates[s];if(!o.has(l)){o.add(l);var u=n.extremities(l),d=r[u[0]],f=r[u[1]],p=i[l];p&&d&&f&&p.visibility!==`hidden`&&p.labelVisibility!==`hidden`&&d.visibility!==`hidden`&&f.visibility!==`hidden`&&(e&&p.labelDepth!==e||p.label&&a.push(l))}}return a}},{key:`renderEdgeLabels`,value:function(e,t){var n=this.internals,r=n.graph,i=n.nodeDataCache,a=n.edgeDataCache,o=n.primitives,s=n.edgeLabelProgram,c=n.nodeDataTexture,l=n.edgeDataTexture,u=this.filterEdgeLabelsForDepth(t),d=f(u),p;try{for(d.s();!(p=d.n()).done;){var m=p.value;this.displayedEdgeLabels.add(m)}}catch(e){d.e(e)}finally{d.f()}if(u.length!==0){if(this.labelsDirty){var h,g=0,_=f(u),v;try{for(_.s();!(v=_.n()).done;){var y=v.value;g+=a[y].label.length}}catch(e){_.e(e)}finally{_.f()}s.reallocate(g);var b=(o==null||(h=o.edges)==null||(h=h.label)==null?void 0:h.margin)??5,x=`over`,S=0,C=f(u),w;try{for(C.s();!(w=C.n()).done;){var T=w.value,E=r.extremities(T),D=E[0],O=E[1],k=i[D],A=i[O],j=a[T],M=c.getIndex(D),N=c.getIndex(O),P=l.getIndex(T),F={text:j.label,x:(k.x+A.x)/2,y:(k.y+A.y)/2,size:No,color:j.labelColor,nodeSize:0,nodeIndex:-1,margin:b,position:j.labelPosition??x,hidden:!1,forceLabel:Tt(j),type:`default`,zIndex:j.zIndex??0,parentType:`edge`,parentKey:T,fontKey:``,labelAngle:0,sourceX:k.x,sourceY:k.y,targetX:A.x,targetY:A.y,sourceSize:k.size,targetSize:A.size,sourceShape:k.shape||`circle`,targetShape:A.shape||`circle`,edgeSize:j.size,offset:0,edgeAttributes:j,sourceNodeIndex:M,targetNodeIndex:N,edgeIndex:P},I=s.processEdgeLabel(T,S,F);S+=I}}catch(e){C.e(e)}finally{C.f()}s.invalidateBuffers()}s.render(e)}}},{key:`renderEdgeLabelBackgrounds`,value:function(e,t){var n,r=this.internals,i=r.edgeLabelBackgroundProgram,a=r.edgeLabelProgram,o=r.edgeDataCache,s=r.primitives,c=r.edgeDataTexture;if(c){var l=$.edgeLabel.writesPickingThisFrame(this.internals),u=(s==null||(n=s.edges)==null||(n=n.label)==null?void 0:n.margin)??5,d=`over`,p=this.filterEdgeLabelsForDepth(t),m=[],h=f(p),g;try{for(h.s();!(g=h.n()).done;){var _=g.value;(l||o[_].labelBackgroundColor)&&m.push(_)}}catch(e){h.e(e)}finally{h.f()}if(m.length!==0){i.reallocate(m.length);for(var v=0;v<m.length;v++){var y=m[v],b=o[y],x=b.label,S=a.measureLabelAtlasWidth(x),C=b.labelPosition??d,w=typeof C==`string`?Mo[C]??0:0,T=qa(this.internals.pickingState,`edgeLabel`,y)||qa(this.internals.pickingState,`edge`,y),E=b.labelBackgroundColor?F(b.labelBackgroundColor):F(`transparent`),D={edgeIndex:c.getIndex(y),baseFontSize:No,totalTextWidth:S,positionMode:w,margin:u,padding:b.labelBackgroundPadding??Po,color:E,id:ee(T),edgeAttributes:b};i.processEdgeLabelBackground(v,y,D)}i.invalidateBuffers(),i.render(e)}}}}])}(),Io=function(){function e(t,n,r,i){B(this,e),R(this,`nodeStates`,new Map),R(this,`edgeStates`,new Map),R(this,`hovered`,null),R(this,`dirtyNodes`,new Set),R(this,`dirtyEdges`,new Set),R(this,`graphStateChanged`,!1),R(this,`graphStateFlagsDirty`,!1),this.scheduleRefresh=t,this.customNodeStateDefaults=n,this.customEdgeStateDefaults=r,this.customGraphStateDefaults=i,this.graphState=Ue(i)}return V(e,[{key:`getNodeState`,value:function(e){e=``+e;var t=this.nodeStates.get(e);return t||(t=Ve(this.customNodeStateDefaults),this.nodeStates.set(e,t)),t}},{key:`getEdgeState`,value:function(e){e=``+e;var t=this.edgeStates.get(e);return t||(t=He(this.customEdgeStateDefaults),this.edgeStates.set(e,t)),t}},{key:`getGraphState`,value:function(){return this.flushGraphStateFlags(),this.graphState}},{key:`getHighlightedNodes`,value:function(){var e=new Set,t=f(this.nodeStates),n;try{for(t.s();!(n=t.n()).done;){var r=d(n.value,2),i=r[0];r[1].isHighlighted&&e.add(i)}}catch(e){t.e(e)}finally{t.f()}return e}},{key:`setNodeState`,value:function(e,t){e=``+e;var n=this.getNodeState(e);if(bt(n,t)){var r=z(z({},n),t);this.nodeStates.set(e,r),this.dirtyNodes.add(e),this.updateHoveredNodeTracking(e,n,r),this.graphStateFlagsDirty=!0,this.scheduleRefresh()}}},{key:`setEdgeState`,value:function(e,t){e=``+e;var n=this.getEdgeState(e);if(bt(n,t)){var r=z(z({},n),t);this.edgeStates.set(e,r),this.dirtyEdges.add(e),this.updateHoveredEdgeTracking(e,n,r),this.graphStateFlagsDirty=!0,this.scheduleRefresh()}}},{key:`setGraphState`,value:function(e){if(bt(this.graphState,e)){var t=z(z({},this.graphState),e);t.isIdle=!t.isPanning&&!t.isZooming&&!t.isDragging,this.graphState=t,this.graphStateChanged=!0,this.scheduleRefresh()}}},{key:`setNodesState`,value:function(e,t){var n=!1,r=f(e),i;try{for(r.s();!(i=r.n()).done;){var a=i.value;a=``+a;var o=this.getNodeState(a);if(bt(o,t)){var s=z(z({},o),t);this.nodeStates.set(a,s),this.dirtyNodes.add(a),this.updateHoveredNodeTracking(a,o,s),n=!0}}}catch(e){r.e(e)}finally{r.f()}n&&(this.graphStateFlagsDirty=!0,this.scheduleRefresh())}},{key:`setEdgesState`,value:function(e,t){var n=!1,r=f(e),i;try{for(r.s();!(i=r.n()).done;){var a=i.value;a=``+a;var o=this.getEdgeState(a);if(bt(o,t)){var s=z(z({},o),t);this.edgeStates.set(a,s),this.dirtyEdges.add(a),this.updateHoveredEdgeTracking(a,o,s),n=!0}}}catch(e){r.e(e)}finally{r.f()}n&&(this.graphStateFlagsDirty=!0,this.scheduleRefresh())}},{key:`removeNode`,value:function(e){this.nodeStates.delete(e),this.dirtyNodes.delete(e),this.clearHoveredFor(`node`,e)}},{key:`removeEdge`,value:function(e){this.edgeStates.delete(e),this.dirtyEdges.delete(e),this.clearHoveredFor(`edge`,e)}},{key:`pruneNodes`,value:function(e){var t=f(this.nodeStates.keys()),n;try{for(t.s();!(n=t.n()).done;){var r=n.value;e(r)||this.removeNode(r)}}catch(e){t.e(e)}finally{t.f()}}},{key:`pruneEdges`,value:function(e){var t=f(this.edgeStates.keys()),n;try{for(t.s();!(n=t.n()).done;){var r=n.value;e(r)||this.removeEdge(r)}}catch(e){t.e(e)}finally{t.f()}}},{key:`clearNodes`,value:function(){this.nodeStates.clear(),this.dirtyNodes.clear(),this.clearHoveredForKinds(io(`node`))}},{key:`clearEdges`,value:function(){this.edgeStates.clear(),this.dirtyEdges.clear(),this.clearHoveredForKinds(io(`edge`))}},{key:`resetGraphState`,value:function(){this.graphState=Ue(this.customGraphStateDefaults),this.graphStateChanged=!1,this.graphStateFlagsDirty=!1}},{key:`clearDirtyTracking`,value:function(){this.dirtyNodes.clear(),this.dirtyEdges.clear(),this.graphStateChanged=!1}},{key:`setHovered`,value:function(e){this.hovered=e}},{key:`clearHoveredFor`,value:function(e,t){this.hovered&&this.hovered.key===t&&io(e).includes(this.hovered.kind)&&(this.hovered=null)}},{key:`clearHoveredForKinds`,value:function(e){this.hovered&&e.includes(this.hovered.kind)&&(this.hovered=null)}},{key:`updateGraphStateFromNodes`,value:function(){var e=!1,t=!1,n=!1,r=f(this.nodeStates),i;try{for(r.s();!(i=r.n()).done;){var a=d(i.value,2)[1];if(a.isHovered&&(e=!0),a.isHighlighted&&(t=!0),a.isDragged&&(n=!0),e&&t&&n)break}}catch(e){r.e(e)}finally{r.f()}!e&&this.hovered?.kind===`edge`&&(e=!0);var o=!this.graphState.isPanning&&!this.graphState.isZooming&&!n;(this.graphState.hasHovered!==e||this.graphState.hasHighlighted!==t||this.graphState.isDragging!==n||this.graphState.isIdle!==o)&&(this.graphStateChanged=!0),this.graphState=z(z({},this.graphState),{},{hasHovered:e,hasHighlighted:t,isDragging:n,isIdle:o})}},{key:`updateGraphStateFromEdges`,value:function(){var e=this.hovered?.kind===`node`;if(!e){var t=f(this.edgeStates),n;try{for(t.s();!(n=t.n()).done;)if(d(n.value,2)[1].isHovered){e=!0;break}}catch(e){t.e(e)}finally{t.f()}}this.graphState.hasHovered!==e&&(this.graphStateChanged=!0),this.graphState=z(z({},this.graphState),{},{hasHovered:e})}},{key:`flushGraphStateFlags`,value:function(){this.graphStateFlagsDirty&&=(this.updateGraphStateFromNodes(),this.updateGraphStateFromEdges(),!1)}},{key:`updateHoveredNodeTracking`,value:function(e,t,n){if(t.isHovered!==n.isHovered){if(n.isHovered){if(this.hovered?.kind===`node`&&this.hovered.key!==e){var r=this.hovered.key,i=this.getNodeState(r);this.nodeStates.set(r,z(z({},i),{},{isHovered:!1})),this.dirtyNodes.add(r)}this.hovered={kind:`node`,key:e}}else this.hovered?.kind===`node`&&this.hovered.key===e&&(this.hovered=null)}}},{key:`updateHoveredEdgeTracking`,value:function(e,t,n){if(t.isHovered!==n.isHovered){if(n.isHovered){if(this.hovered?.kind===`edge`&&this.hovered.key!==e){var r=this.hovered.key,i=this.getEdgeState(r);this.edgeStates.set(r,z(z({},i),{},{isHovered:!1})),this.dirtyEdges.add(r)}this.hovered={kind:`edge`,key:e}}else this.hovered?.kind===`edge`&&this.hovered.key===e&&(this.hovered=null)}}}])}(),Lo=1,Ro=2,zo=3,Bo=4,Vo=function(e){function t(e,n){var r,i,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};B(this,t),i=H(this,t),R(i,`nodeReducer`,null),R(i,`edgeReducer`,null),R(i,`stageCanvas`,null),R(i,`mouseLayer`,null),R(i,`gestureHint`,null),R(i,`extraElements`,{}),R(i,`webGLContext`,null),R(i,`pickingFrameBuffer`,null),R(i,`pickingTexture`,null),R(i,`pickingDepthBuffer`,null),R(i,`activeListeners`,{}),R(i,`nodeVariableEntries`,[]),R(i,`edgeVariableEntries`,[]),R(i,`edgePathsByName`,new Map),R(i,`nodeProgramIndex`,{}),R(i,`edgeProgramIndex`,{}),R(i,`edgeTextureIndexCache`,{}),R(i,`nodeGraphCoords`,{}),R(i,`nodeExtent`,{x:[0,1],y:[0,1]}),R(i,`matrix`,p()),R(i,`invMatrix`,p()),R(i,`correctionRatio`,1),R(i,`frameId`,0),R(i,`customBBox`,null),R(i,`gpuTimerExt`,void 0),R(i,`activeGpuTimerQuery`,null),R(i,`pendingGpuTimerQueries`,[]),R(i,`normalizationFunction`,jt({x:[0,1],y:[0,1]})),R(i,`graphToViewportRatio`,1),R(i,`pickingState`,Ka()),R(i,`prevNodeVisibilities`,{}),R(i,`width`,0),R(i,`height`,0),R(i,`autoRescaleFrozen`,!1),R(i,`stylesDeclaration`,null),R(i,`resolvedStageStyle`,{}),R(i,`renderFrame`,null),R(i,`contextLost`,!1),R(i,`pendingProcess`,`full`),R(i,`needToRefreshState`,!1),R(i,`checkEdgesEventsFrame`,null),R(i,`edgeStyleAnalysis`,{dependency:`static`,xAttribute:null,yAttribute:null}),R(i,`depthLayers`,W(ke)),R(i,`customLayerPrograms`,new Map),R(i,`nodeShapeSlug`,null),R(i,`sdfAtlas`,null),R(i,`depthRanges`,{nodes:{},edges:{}}),R(i,`nodeBaseDepth`,{}),R(i,`edgeBaseDepth`,{});var o=a.primitives,s=a.styles,c=a.settings,l=c===void 0?{}:c,u=a.nodeReducer,d=a.edgeReducer,f=a.customNodeState,m=a.customEdgeState,h=a.customGraphState;i.stateManager=new Io(function(){return i.scheduleStateRefresh()},f,m,h);var g=o??_t;i.stylesDeclaration=s?{nodes:s.nodes??We.nodes,edges:s.edges??We.edges,stage:s.stage}:We,i.nodeReducer=u??null,i.edgeReducer=d??null;var _=tt(i.stylesDeclaration.nodes);i.nodeReducer&&(_.dependency=`graph-state`),i.edgeStyleAnalysis=tt(i.stylesDeclaration.edges),i.edgeReducer&&(i.edgeStyleAnalysis.dependency=`graph-state`),i.stylesDeclaration.stage&&(i.resolvedStageStyle=mt(i.stylesDeclaration.stage,i.stateManager.graphState));var v=Pt(l);if(Nt(v),v.enableNodeDrag){var y=_.xAttribute,b=_.yAttribute;if((!y||!b)&&!v.dragPositionToAttributes)throw Error('Sigma: `enableNodeDrag` is true but position attribute names could not be inferred from styles. Either use attribute bindings for x/y in your node styles (e.g. `x: { attribute: "x" }`), or provide a `dragPositionToAttributes` setting.')}if(At(e),!(n instanceof HTMLElement))throw Error(`Sigma: container should be an html element.`);i.container=n,i.edgeGroups=new Va(e,function(e,t){for(var n=0;n<e.length;n++){var r=i.stateManager.getEdgeState(e[n]);r.parallelIndex=n,r.parallelCount=t}});var x=new Ba(e,i.viewportToGraph.bind(i),i.setNodesState.bind(i),function(e,t){return i.emit(e,t)});if(i.depthLayers=g.depthLayers??W(ke),!(s!=null&&s.nodes)&&!De.every(function(e){return i.depthLayers.includes(e)}))throw Error(`Sigma: depthLayers must include ${De.join(`, `)} for the built-in node styles.`);if(!(s!=null&&s.edges)&&!Oe.every(function(e){return i.depthLayers.includes(e)}))throw Error(`Sigma: depthLayers must include ${Oe.join(`, `)} for the built-in edge styles.`);i.itemBuckets={nodes:new pa(i.depthLayers),edges:new pa(i.depthLayers)},i.initWebGLContext(),i.mouseLayer=Rt(`div`,{position:`absolute`,touchAction:`none`,userSelect:`none`},{class:`sigma-mouse`}),i.container.appendChild(i.mouseLayer),i.resolvedStageStyle.background&&(i.container.style.backgroundColor=i.resolvedStageStyle.background),i.resolvedStageStyle.cursor&&(i.container.style.cursor=i.resolvedStageStyle.cursor);var S=new ma(i.webGLContext),C=new va(i.webGLContext,{channels:1}),w=new ya(i.webGLContext),T=new va(i.webGLContext,{channels:4}),E=i.webGLContext,D=new To({gl:E,getFrameBuffer:function(){return i.pickingFrameBuffer},getPixelRatio:function(){return i.internals.pixelRatio},getDownSizingRatio:function(){return i.internals.settings.pickingDownSizingRatio},isRenderPending:function(){return i.renderFrame!==null},onIndex:function(e,t){return co(i.internals,i.pickingState.lookup[e]??null,t)}}),O=i.initPrograms(g,v),k=g==null||(r=g.nodes)==null?void 0:r.labelAttachments,A=null;return k&&Object.keys(k).length>0&&(A=new fa(E,k,function(){return i.scheduleRender()})),i.internals=z(z({nodeDataCache:{},edgeDataCache:{},nodesWithForcedLabels:new Set,nodesWithBackdrop:new Set,edgesWithForcedLabels:new Set,settings:v,primitives:g,pixelRatio:zt(),graph:e,stateManager:i.stateManager,dragManager:x,hoverResolver:D,nodeStyleAnalysis:_,pickingState:i.pickingState},O),{},{attachmentManager:A,nodeDataTexture:S,nodeFrameTexture:C,edgeDataTexture:w,edgeFrameTexture:T,getDimensions:function(){return i.getDimensions()},getGraphDimensions:function(){return i.getGraphDimensions()},getStagePadding:function(){return i.getStagePadding()},getCameraState:function(){return i.camera.getState()},getHitAtPosition:function(e){return i.getHitAtPosition(e)},setNodeState:function(e,t){return i.setNodeState(e,t)},setEdgeState:function(e,t){return i.setEdgeState(e,t)},updateContainerCursor:function(){return i.updateContainerCursor()},scheduleRefresh:function(){return i.scheduleRefresh()},viewportToFramedGraph:function(e){return i.viewportToFramedGraph(e)},viewportToGraph:function(e){return i.viewportToGraph(e)},framedGraphToViewport:function(e){return i.framedGraphToViewport(e)},scaleSize:function(e){return i.scaleSize(e)},emit:function(e,t){return i.emit(e,t)}}),i.labelRenderer=new Fo(i.internals),i.resize(),i.initializeWebGLLabels(),i.camera=new Ea,i.bindCameraHandlers(),i.mouseCaptor=new La(i.mouseLayer,i),i.mouseCaptor.setSettings(i.internals.settings),i.touchCaptor=new za(i.mouseLayer,i),i.touchCaptor.setSettings(i.internals.settings),i.bindEventHandlers(),i.bindGraphHandlers(),i.handleSettingsUpdate(),i.refresh(),i}return U(t,e),V(t,[{key:`initializeWebGLLabels`,value:function(){this.sdfAtlas=new mr,this.sdfAtlas.registerFont({family:`sans-serif`,weight:`normal`,style:`normal`})}},{key:`resetWebGLTexture`,value:function(){var e=this.webGLContext;if(!this.pickingFrameBuffer)return this;var t=Math.ceil(this.width*this.internals.pixelRatio/this.internals.settings.pickingDownSizingRatio),n=Math.ceil(this.height*this.internals.pixelRatio/this.internals.settings.pickingDownSizingRatio);e.bindFramebuffer(e.FRAMEBUFFER,this.pickingFrameBuffer),this.pickingTexture&&e.deleteTexture(this.pickingTexture);var r=e.createTexture();r&&(e.bindTexture(e.TEXTURE_2D,r),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,n,0,e.RGBA,e.UNSIGNED_BYTE,null),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,r,0),this.pickingTexture=r),this.pickingDepthBuffer&&e.deleteRenderbuffer(this.pickingDepthBuffer);var i=e.createRenderbuffer();return i&&(e.bindRenderbuffer(e.RENDERBUFFER,i),e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_COMPONENT16,t,n),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,i),this.pickingDepthBuffer=i),e.bindFramebuffer(e.FRAMEBUFFER,null),this}},{key:`bindCameraHandlers`,value:function(){var e=this;return this.activeListeners.camera=function(){e.refreshMatrices(),e.labelRenderer.labelsDirty=!0,e.scheduleRender()},this.activeListeners.cameraAnimationStart=function(t){var n=t.from,r=t.to;n.ratio!==r.ratio&&e.stateManager.setGraphState({isZooming:!0})},this.activeListeners.cameraAnimationEnd=function(){e.stateManager.setGraphState({isZooming:!1})},this.camera.on(`updated`,this.activeListeners.camera),this.camera.on(`animationStart`,this.activeListeners.cameraAnimationStart),this.camera.on(`animationEnd`,this.activeListeners.cameraAnimationEnd),this}},{key:`unbindCameraHandlers`,value:function(){return this.camera.removeListener(`updated`,this.activeListeners.camera),this.camera.removeListener(`animationStart`,this.activeListeners.cameraAnimationStart),this.camera.removeListener(`animationEnd`,this.activeListeners.cameraAnimationEnd),this}},{key:`getHitAtPosition`,value:function(e){if(this.contextLost)return null;var t=this.webGLContext;t.bindFramebuffer(t.FRAMEBUFFER,this.pickingFrameBuffer);var n=L(t,this.pickingFrameBuffer,e.x,e.y,this.internals.pixelRatio,this.internals.settings.pickingDownSizingRatio),r=te.apply(void 0,W(n));return this.pickingState.lookup[r]??null}},{key:`bindEventHandlers`,value:function(){return lo(this.internals,this.mouseCaptor,this.touchCaptor,this.activeListeners),this}},{key:`bindGraphHandlers`,value:function(){return uo({graph:this.internals.graph,edgeGroups:this.edgeGroups,addNode:this.addNode.bind(this),updateNode:this.updateNode.bind(this),removeNode:this.removeNode.bind(this),addEdge:this.addEdge.bind(this),updateEdge:this.updateEdge.bind(this),removeEdge:this.removeEdge.bind(this),clearEdgeState:this.clearEdgeState.bind(this),clearNodeState:this.clearNodeState.bind(this),clearEdgeIndices:this.clearEdgeIndices.bind(this),clearNodeIndices:this.clearNodeIndices.bind(this),refresh:this.refresh.bind(this)},this.activeListeners),this}},{key:`unbindGraphHandlers`,value:function(){fo(this.internals.graph,this.activeListeners)}},{key:`getNodeShapeId`,value:function(e){return this.internals.nodeShapeMap&&this.internals.nodeGlobalShapeIds&&e.shape&&e.shape in this.internals.nodeShapeMap?this.internals.nodeGlobalShapeIds[this.internals.nodeShapeMap[e.shape]]:en(e.shape||`circle`)}},{key:`processNodes`,value:function(){var e=this,t=this.internals.graph,n=this.internals.settings,r=this.getDimensions(),i=n.autoRescale,a=n.autoRescaleContent,o=this.nodeExtent;if(i===!1){var s=r.width,c=r.height;o={x:[-s/2,s/2],y:[-c/2,c/2]}}else(i!==`once`||!this.autoRescaleFrozen)&&(o=this.computeNodeExtent(),a!==`positions`&&!this.customBBox&&(o=go({extent:o,coords:this.nodeGraphCoords,nodeData:this.internals.nodeDataCache,dimensions:r,stagePadding:this.getStagePadding(),zoomToSizeRatioFunction:n.zoomToSizeRatioFunction,itemSizesReference:n.itemSizesReference,fitLabels:a===`labels`,nodeLabelBox:function(t,n){return e.labelRenderer.nodeLabelBox(t,n)}})),i===`once`&&(this.autoRescaleFrozen=!0));this.nodeExtent=o,this.normalizationFunction=jt(this.customBBox||this.nodeExtent);var l=x(new Ea().getState(),r,this.getGraphDimensions(),this.getStagePadding());this.labelRenderer.labelGrid.resizeAndClear(r,n.labelGridCellSize),this.labelRenderer.edgeAnchorGrid.resizeAndClear(r,n.labelGridCellSize);var u=n.renderEdgeLabels&&n.edgeLabelAnchors===`allNodes`,d=!1;Ja(this.pickingState,`node`);for(var p=t.nodes(),m=0,h=p.length;m<h;m++){var g=p[m],_=this.internals.nodeDataCache[g],v=this.nodeGraphCoords[g];_.x=v.x,_.y=v.y,this.normalizationFunction.applyTo(_),_.visibility!==this.prevNodeVisibilities[g]&&(d=!0),typeof _.label==`string`&&_.visibility!==`hidden`&&_.labelVisibility!==`hidden`&&this.labelRenderer.labelGrid.add(g,_.size,this.framedGraphToViewport(_,{matrix:l})),u&&_.visibility!==`hidden`&&this.labelRenderer.edgeAnchorGrid.add(g,_.size,this.framedGraphToViewport(_,{matrix:l}))}this.labelRenderer.labelGrid.organize(),this.labelRenderer.edgeAnchorGrid.organize(),this.nodeProgram.reallocate(p.length);var y=0;this.depthRanges.nodes={},this.nodeBaseDepth={};var b=this.internals.nodeDataCache,S=f(this.depthLayers),C;try{for(S.s();!(C=S.n()).done;){var w=C.value,T=this.itemBuckets.nodes.getSorted(w,function(e){return b[e].zIndex});if(T.length!==0){this.depthRanges.nodes[w]=[{offset:y,count:T.length}];var E=f(T),D;try{for(E.s();!(D=E.n()).done;){var O=D.value;this.nodeBaseDepth[O]=w,this.nodeProgram.allocateNode(O),Ya(this.pickingState,`node`,O),this.addNodeToProgram(O,y++)}}catch(e){E.e(e)}finally{E.f()}}}}catch(e){S.e(e)}finally{S.f()}this.nodeProgram.invalidateBuffers();for(var k=0,A=p.length;k<A;k++)this.prevNodeVisibilities[p[k]]=this.internals.nodeDataCache[p[k]].visibility;this.labelRenderer.processWebGLLabels(p);var j=f(this.customLayerPrograms.values()),M;try{for(j.s();!(M=j.n()).done;){var N=M.value.program;N.cacheData&&N.cacheData()}}catch(e){j.e(e)}finally{j.f()}return d}},{key:`processEdges`,value:function(){var e=this.internals.graph.edges();this.edgeProgram.reallocate(e.length);var t=0;Ja(this.pickingState,`edge`),this.depthRanges.edges={},this.edgeBaseDepth={};var n=this.internals.edgeDataCache,r=f(this.depthLayers),i;try{for(r.s();!(i=r.n()).done;){var a=i.value,o=this.itemBuckets.edges.getSorted(a,function(e){return n[e].zIndex});if(o.length!==0){this.depthRanges.edges[a]=[{offset:t,count:o.length}];var s=f(o),c;try{for(s.s();!(c=s.n()).done;){var l=c.value;this.edgeBaseDepth[l]=a,Ya(this.pickingState,`edge`,l),this.addEdgeToProgram(l,t++)}}catch(e){s.e(e)}finally{s.f()}}}}catch(e){r.e(e)}finally{r.f()}this.edgeProgram.invalidateBuffers()}},{key:`updateNodeDepthRanges`,value:function(e,t,n){var r=this.nodeProgramIndex[e];r!==void 0&&(Ot(this.depthRanges.nodes,t,r),kt(this.depthRanges.nodes,n,r))}},{key:`updateEdgeDepthRanges`,value:function(e,t,n){var r=this.edgeProgramIndex[e];r!==void 0&&(Ot(this.depthRanges.edges,t,r),kt(this.depthRanges.edges,n,r))}},{key:`handleSettingsUpdate`,value:function(){var e=this,t=this.internals.settings;return this.camera.minRatio=t.minCameraRatio,this.camera.maxRatio=t.maxCameraRatio,this.camera.enabledZooming=t.enableCameraZooming,this.camera.enabledPanning=t.enableCameraPanning,this.camera.enabledRotation=t.enableCameraRotation,t.cameraPanBoundaries?this.camera.constrainState=function(n){return e.cleanCameraState(n,t.cameraPanBoundaries&&G(t.cameraPanBoundaries)===`object`?t.cameraPanBoundaries:{})}:this.camera.constrainState=null,this.camera.setState(this.camera.getState()),this.mouseLayer.style.touchAction=t.gestureTarget===`graph`?`none`:t.gestureTarget===`shared`?`pan-x pan-y`:`auto`,t.gestureTarget!==`shared`&&this.gestureHint&&(this.gestureHint.kill(),this.gestureHint=null),this.mouseCaptor.setSettings(this.internals.settings),this.touchCaptor.setSettings(this.internals.settings),this}},{key:`cleanCameraState`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.tolerance,r=n===void 0?0:n,i=t.boundaries,a=z({},e),o=i||this.nodeExtent,s=d(o.x,2),c=s[0],l=s[1],u=d(o.y,2),f=u[0],p=u[1],m=[this.graphToViewport({x:c,y:f},{cameraState:e}),this.graphToViewport({x:l,y:f},{cameraState:e}),this.graphToViewport({x:c,y:p},{cameraState:e}),this.graphToViewport({x:l,y:p},{cameraState:e})],h=1/0,g=-1/0,_=1/0,v=-1/0;m.forEach(function(e){var t=e.x,n=e.y;h=Math.min(h,t),g=Math.max(g,t),_=Math.min(_,n),v=Math.max(v,n)});var y=g-h,b=v-_,x=this.getDimensions(),S=x.width,C=x.height,w=0,T=0;if(y>=S?g<S-r?w=g-(S-r):h>r&&(w=h-r):g>S+r?w=g-(S+r):h<-r&&(w=h+r),b>=C?v<C-r?T=v-(C-r):_>r&&(T=_-r):v>C+r?T=v-(C+r):_<-r&&(T=_+r),w||T){var E=this.viewportToFramedGraph({x:0,y:0},{cameraState:e}),D=this.viewportToFramedGraph({x:w,y:T},{cameraState:e});w=D.x-E.x,T=D.y-E.y,a.x+=w,a.y+=T}return a}},{key:`refreshMatrices`,value:function(){var e=this.camera.getState(),t=this.getDimensions(),n=this.getGraphDimensions(),r=this.getStagePadding();this.matrix=x(e,t,n,r),this.invMatrix=x(e,t,n,r,!0),this.correctionRatio=S(this.matrix,e,t),this.graphToViewportRatio=this.getGraphToViewportRatio()}},{key:`processData`,value:function(){var e;this.emit(`beforeProcess`),(e=this.internals.attachmentManager)==null||e.clear();var t=z({},this.pickingState.idsByKind),n=this.processNodes();(this.pendingProcess===`full`||n)&&this.processEdges(),Xa(this.pickingState,this.internals),Za(t,this.pickingState.idsByKind)||this.internals.hoverResolver.invalidate(),this.pendingProcess=`none`,this.emit(`afterProcess`)}},{key:`render`,value:function(){var e=this;if(this.contextLost)return this;this.emit(`beforeRender`);var t=function(){return e.internals.hoverResolver.frameRendered(),e.emit(`afterRender`),e};if(this.renderFrame&&=(cancelAnimationFrame(this.renderFrame),null),this.resize(),(this.pendingProcess!==`none`||this.needToRefreshState)&&(this.labelRenderer.labelsDirty=!0),this.pendingProcess!==`none`&&this.processData(),this.needToRefreshState&&this.refreshState(),this.needToRefreshState=!1,this.stateManager.clearDirtyTracking(),this.pendingProcess!==`none`&&this.processData(),this.clear(),this.resetWebGLTexture(),!this.internals.graph.order)return t();var n=this.mouseCaptor,r=this.camera.isAnimating()||n.isMoving||n.draggedEvents||n.currentWheelDirection;this.refreshMatrices(),this.frameId++;var i=this.internals.settings.DEBUG_logRenderStats?this.getDebugPrograms():null;i&&i.forEach(function(e){return e.resetDebugStats()}),this.internals.settings.DEBUG_gpuTimerQueries&&this.beginGpuTimerQuery(),this.internals.nodeFrameTexture.ensureCapacity(this.internals.nodeDataTexture.getCapacity()),this.internals.edgeFrameTexture.ensureCapacity(this.internals.edgeDataTexture.getCapacity());var a=this.getRenderParams(),o=$.edge.writesPickingThisFrame(this.internals)?a:z(z({},a),{},{pickingFrameBuffer:null});this.labelRenderer.resetFrame();var s=this.webGLContext,c=Math.ceil(this.width*this.internals.pixelRatio/this.internals.settings.pickingDownSizingRatio),l=Math.ceil(this.height*this.internals.pixelRatio/this.internals.settings.pickingDownSizingRatio);if(s.bindFramebuffer(s.FRAMEBUFFER,this.pickingFrameBuffer),s.viewport(0,0,c,l),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.bindFramebuffer(s.FRAMEBUFFER,null),s.viewport(0,0,this.width*this.internals.pixelRatio,this.height*this.internals.pixelRatio),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),this.internals.nodeDataTexture.upload(),this.internals.edgeDataTexture.upload(),this.nodeProgram.uploadLayerTexture(),this.edgeProgram.uploadAttributeTexture(),this.emit(`afterTexturesUpload`),this.internals.nodeDataTexture.bind(zo),this.internals.edgeDataTexture.bind(Bo),this.edgeFramePass.run(a,this.internals.edgeFrameTexture,this.internals.edgeDataTexture.getHighWaterMark(),this.edgeProgram.getAttributeTexture(),this.nodeProgram.getAttributeTexture()),this.internals.edgeFrameTexture.bind(Lo),this.internals.settings.renderLabels){this.labelRenderer.computeDisplayedNodeLabels();var u=this.labelRenderer.buildFramePassPoints(),d=u.data,p=u.count;this.nodeFramePass.run(d,p,this.internals.nodeFrameTexture,a,this.nodeProgram.getAttributeTexture()),this.internals.nodeFrameTexture.bind(Ro)}this.internals.settings.renderEdgeLabels&&this.labelRenderer.computeDisplayedEdgeLabels();var m=f(this.customLayerPrograms.values()),h;try{for(m.s();!(h=m.n()).done;){var g=h.value.program;g.preRender&&g.preRender(a)}}catch(e){m.e(e)}finally{m.f()}s.bindFramebuffer(s.FRAMEBUFFER,null),s.viewport(0,0,this.width*this.internals.pixelRatio,this.height*this.internals.pixelRatio),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA);var _=!this.internals.settings.hideLabelsOnMove||!r,v=f(this.depthLayers),y;try{for(v.s();!(y=v.n()).done;){var b=y.value,x=f(this.customLayerPrograms.values()),S;try{for(x.s();!(S=x.n()).done;){var C=S.value;C.depth===b&&C.program.render(a)}}catch(e){x.e(e)}finally{x.f()}var w=this.depthRanges.edges[b];if(w&&(!this.internals.settings.hideEdgesOnMove||!r)){var T=f(w),E;try{for(T.s();!(E=T.n()).done;){var D=E.value,O=D.offset,k=D.count;k>0&&this.edgeProgram.render(o,O,k)}}catch(e){T.e(e)}finally{T.f()}}this.internals.settings.renderEdgeLabels&&_&&(this.labelRenderer.renderEdgeLabelBackgrounds($.edgeLabel.writesPickingThisFrame(this.internals)?a:z(z({},a),{},{pickingFrameBuffer:null}),b),this.labelRenderer.renderEdgeLabels(a,b)),this.labelRenderer.cacheAttachments(b),this.labelRenderer.renderBackdrops(z(z({},a),{},{pickingFrameBuffer:null}),b);var A=this.depthRanges.nodes[b];if(A){var j=f(A),M;try{for(j.s();!(M=j.n()).done;){var N=M.value,P=N.offset,F=N.count;F>0&&this.nodeProgram.render(a,P,F)}}catch(e){j.e(e)}finally{j.f()}}_&&(this.labelRenderer.renderAttachments(z(z({},a),{},{pickingFrameBuffer:null}),b),this.labelRenderer.renderLabelBackgrounds($.nodeLabel.writesPickingThisFrame(this.internals)?a:z(z({},a),{},{pickingFrameBuffer:null}),b),this.internals.settings.renderLabels&&this.labelRenderer.renderWebGLLabels(a,b))}}catch(e){v.e(e)}finally{v.f()}return this.labelRenderer.labelsDirty=!1,this.internals.settings.DEBUG_displayPickingLayer&&(s.bindFramebuffer(s.READ_FRAMEBUFFER,this.pickingFrameBuffer),s.bindFramebuffer(s.DRAW_FRAMEBUFFER,null),s.blitFramebuffer(0,0,c,l,0,0,this.width*this.internals.pixelRatio,this.height*this.internals.pixelRatio,s.COLOR_BUFFER_BIT,s.NEAREST)),this.internals.settings.DEBUG_gpuTimerQueries&&this.endGpuTimerQuery(),this.pollGpuTimerQueries(),i&&this.logRenderStats(i),t()}},{key:`getDebugPrograms`,value:function(){return[this.nodeProgram,this.edgeProgram,this.internals.labelProgram,this.internals.edgeLabelProgram,this.internals.edgeLabelBackgroundProgram,this.internals.backdropProgram,this.internals.labelBackgroundProgram,this.internals.attachmentProgram].filter(function(e){return e!==null})}},{key:`logRenderStats`,value:function(e){var t={},n=f(e),r;try{for(n.s();!(r=n.n()).done;){var i=r.value;t[i.constructor.name]=z({},i.debugStats)}}catch(e){n.e(e)}finally{n.f()}console.log(`[sigma] DEBUG_logRenderStats: frame #${this.frameId}`),console.table(t)}},{key:`getGpuTimerExtension`,value:function(){return this.gpuTimerExt===void 0&&(this.gpuTimerExt=this.webGLContext.getExtension(`EXT_disjoint_timer_query_webgl2`),this.gpuTimerExt||console.warn(`Sigma: DEBUG_gpuTimerQueries is enabled, but this browser/driver doesn't support EXT_disjoint_timer_query_webgl2.`)),this.gpuTimerExt}},{key:`beginGpuTimerQuery`,value:function(){var e=this.getGpuTimerExtension();if(e){var t=this.webGLContext,n=t.createQuery();n&&(t.beginQuery(e.TIME_ELAPSED_EXT,n),this.activeGpuTimerQuery=n)}}},{key:`endGpuTimerQuery`,value:function(){this.gpuTimerExt&&this.activeGpuTimerQuery&&(this.webGLContext.endQuery(this.gpuTimerExt.TIME_ELAPSED_EXT),this.pendingGpuTimerQueries.push({query:this.activeGpuTimerQuery,frameId:this.frameId}),this.activeGpuTimerQuery=null)}},{key:`pollGpuTimerQueries`,value:function(){if(this.pendingGpuTimerQueries.length!==0){var e=this.webGLContext,t=this.gpuTimerExt;if(!t)this.pendingGpuTimerQueries.forEach(function(t){var n=t.query;return e.deleteQuery(n)}),this.pendingGpuTimerQueries=[];else{var n=e.getParameter(t.GPU_DISJOINT_EXT),r=[],i=f(this.pendingGpuTimerQueries),a;try{for(i.s();!(a=i.n()).done;){var o=a.value;if(!e.getQueryParameter(o.query,e.QUERY_RESULT_AVAILABLE))r.push(o);else{if(!n){var s=e.getQueryParameter(o.query,e.QUERY_RESULT);console.log(`[sigma] DEBUG_gpuTimerQueries: frame #${o.frameId} GPU time = ${(s/1e6).toFixed(2)}ms`)}e.deleteQuery(o.query)}}}catch(e){i.e(e)}finally{i.f()}this.pendingGpuTimerQueries=r}}}},{key:`postEvaluateNode`,value:function(e,t,n){var r=e;r.x===void 0&&(r.x=t.x),r.y===void 0&&(r.y=t.y),e.highlighted=n.isHighlighted;for(var i=0,a=this.nodeVariableEntries.length;i<a;i++){var o=d(this.nodeVariableEntries[i],2),s=o[0],c=o[1];r[s]=r[s]??t[s]??c.default}}},{key:`addNode`,value:function(e){var t=this.internals.graph.getNodeAttributes(e),n=this.stateManager.getNodeState(e),r=this.internals.nodeDataCache[e]||{};if(dt(this.stylesDeclaration.nodes,t,n,this.stateManager.graphState,this.internals.graph,r),this.postEvaluateNode(r,t,n),this.nodeReducer){var i=this.nodeReducer(e,r,t,n,this.stateManager.graphState,this.internals.graph);r=z(z({},r),i)}if(typeof r.x!=`number`||typeof r.y!=`number`)throw Error(`Sigma: could not find a valid position (x, y) for node "${e}". Provide coordinates via node attributes, styles, or a nodeReducer.`);this.internals.nodeShapeMap?(!r.shape||!(r.shape in this.internals.nodeShapeMap))&&(r.shape=Object.keys(this.internals.nodeShapeMap)[0]):this.nodeShapeSlug&&(r.shape=this.nodeShapeSlug),this.internals.nodeDataCache[e]=r,this.nodeGraphCoords[e]={x:r.x,y:r.y},St(this.internals.nodesWithForcedLabels,e,Tt(r)),St(this.internals.nodesWithBackdrop,e,Et(r)),this.itemBuckets.nodes.set(e,r.depth)}},{key:`updateNode`,value:function(e){this.addNode(e);var t=this.internals.nodeDataCache[e];this.normalizationFunction.applyTo(t)}},{key:`removeNode`,value:function(e){this.itemBuckets.nodes.remove(e),delete this.internals.nodeDataCache[e],delete this.nodeGraphCoords[e],delete this.nodeProgramIndex[e],this.internals.dragManager.removeNode(e),this.stateManager.removeNode(e),this.internals.nodesWithForcedLabels.delete(e),this.internals.nodesWithBackdrop.delete(e)}},{key:`postEvaluateEdge`,value:function(e,t){for(var n=e,r=0,i=this.edgeVariableEntries.length;r<i;r++){var a=d(this.edgeVariableEntries[r],2),o=a[0],s=a[1];n[o]=n[o]??t[o]??s.default}}},{key:`applyEdgeSpread`,value:function(e,t,n){if(!(n.parallelCount<=1)){var r=this.internals.graph.source(e),i=this.internals.graph.target(e),a=r===i,o=a?t.selfLoopPath||t.path:t.parallelPath||t.path,s=o?this.edgePathsByName.get(o):void 0;if(s!=null&&s.spread){var c=t.parallelSpread??.25,l=s.spread.compute(n.parallelIndex,n.parallelCount,c);!a&&this.internals.graph.isDirected(e)&&r>i&&(l=-l),t[s.spread.variable]=l}}}},{key:`addEdge`,value:function(e){var t=this.internals.graph.getEdgeAttributes(e),n=this.stateManager.getEdgeState(e),r={};if(ft(this.stylesDeclaration.edges,t,n,this.stateManager.graphState,this.internals.graph,r),this.postEvaluateEdge(r,t),this.edgeReducer){var i=this.edgeReducer(e,r,t,n,this.stateManager.graphState,this.internals.graph);r=z(z({},r),i)}this.applyEdgeSpread(e,r,n),this.internals.edgeDataCache[e]=r,St(this.internals.edgesWithForcedLabels,e,Tt(r)),this.itemBuckets.edges.set(e,r.depth)}},{key:`updateEdge`,value:function(e){this.addEdge(e)}},{key:`removeEdge`,value:function(e){this.itemBuckets.edges.remove(e),delete this.internals.edgeDataCache[e],delete this.edgeProgramIndex[e],delete this.edgeTextureIndexCache[e],this.internals.edgeDataTexture.free(e),this.stateManager.removeEdge(e),this.internals.edgesWithForcedLabels.delete(e)}},{key:`clearNodeIndices`,value:function(){this.labelRenderer.resetLabelGrid(),this.autoRescaleFrozen||(this.nodeExtent={x:[0,1],y:[0,1]}),this.internals.nodeDataCache={},this.nodeGraphCoords={},this.edgeProgramIndex={},this.internals.nodesWithForcedLabels.clear(),this.internals.nodesWithBackdrop.clear(),this.prevNodeVisibilities={},this.itemBuckets.nodes.clearAll(),this.depthRanges.nodes={},this.nodeBaseDepth={}}},{key:`clearEdgeIndices`,value:function(){this.internals.edgeDataCache={},this.edgeProgramIndex={},this.edgeTextureIndexCache={},this.internals.edgesWithForcedLabels.clear(),Ja(this.pickingState,`edge`),this.itemBuckets.edges.clearAll(),this.depthRanges.edges={},this.edgeBaseDepth={},this.edgeGroups.clear()}},{key:`clearIndices`,value:function(){this.clearEdgeIndices(),this.clearNodeIndices()}},{key:`clearNodeState`,value:function(){this.labelRenderer.resetFrame(),this.internals.nodesWithBackdrop.clear(),this.internals.dragManager.clear(),this.autoRescaleFrozen=!1,this.stateManager.clearNodes()}},{key:`clearEdgeState`,value:function(){this.labelRenderer.clearEdgeLabels(),this.stateManager.clearEdges()}},{key:`clearState`,value:function(){this.clearEdgeState(),this.clearNodeState(),this.stateManager.resetGraphState()}},{key:`addNodeToProgram`,value:function(e,t){var n,r=this.internals.nodeDataCache[e];this.internals.nodeDataTexture.allocate(e),(n=this.internals.nodeDataTexture).updateNode.apply(n,[e,r.x,r.y,r.size,this.getNodeShapeId(r)].concat(W(Dt(r)),[r.color]));var i=this.internals.nodeDataTexture.getIndex(e);this.nodeProgram.process(qa(this.pickingState,`node`,e),t,r,i,e),this.nodeProgramIndex[e]=t}},{key:`addEdgeToProgram`,value:function(e,t){var n=this.internals.edgeDataCache[e],r=this.internals.graph.source(e),i=this.internals.graph.target(e),a=this.internals.edgeDataTexture.allocate(e);this.edgeTextureIndexCache[e]=a;var o=r===i,s=!o&&(this.stateManager.getEdgeState(e)?.parallelCount??1)>1,c=this.edgeProgram.resolveEdgeIds(n,o,s),l=c.pathId,u=c.headId,d=c.tailId,f=c.headLengthRatio,p=c.tailLengthRatio;this.internals.edgeDataTexture.updateEdge(e,this.internals.nodeDataTexture.getIndex(r),this.internals.nodeDataTexture.getIndex(i),n.size,f,p,l,u,d),this.edgeProgram.process(qa(this.pickingState,`edge`,e),t,this.internals.nodeDataCache[r],this.internals.nodeDataCache[i],n,a),this.edgeProgramIndex[e]=t}},{key:`getRenderParams`,value:function(){return{frameId:this.frameId,matrix:this.matrix,invMatrix:this.invMatrix,width:this.width,height:this.height,pixelRatio:this.internals.pixelRatio,zoomRatio:this.camera.ratio,cameraAngle:this.camera.angle,sizeRatio:1/this.scaleSize(),correctionRatio:this.correctionRatio,downSizingRatio:this.internals.settings.pickingDownSizingRatio,minEdgeThickness:this.internals.settings.minEdgeThickness,antiAliasingFeather:this.internals.settings.antiAliasingFeather,nodePickingPadding:this.internals.settings.nodePickingPadding,edgePickingPadding:this.internals.settings.edgePickingPadding,labelPickingPadding:this.internals.settings.labelPickingPadding,nodeDataTextureUnit:zo,nodeDataTextureWidth:this.internals.nodeDataTexture.getTextureWidth(),nodeFrameTextureUnit:Ro,nodeFrameTextureWidth:this.internals.nodeFrameTexture.getTextureWidth(),edgeDataTextureUnit:Bo,edgeDataTextureWidth:this.internals.edgeDataTexture.getTextureWidth(),edgeFrameTextureUnit:Lo,edgeFrameTextureWidth:this.internals.edgeFrameTexture.getTextureWidth(),pickingFrameBuffer:this.pickingFrameBuffer,labelPixelSnapping:+!!this.internals.settings.labelPixelSnapping}}},{key:`getStagePadding`,value:function(){var e=this.internals.settings,t=e.stagePadding;return e.autoRescale&&t||0}},{key:`getLayerElement`,value:function(e){if(e===`mouse`)return this.mouseLayer;var t=this.extraElements[e];if(!t)throw Error(`Sigma: layer "${e}" does not exist`);return t}},{key:`initWebGLContext`,value:function(){var e=this,t=this.createWebGLContext(`stage`);this.stageCanvas=this.extraElements.stage,this.webGLContext=t,this.stageCanvas.addEventListener(`webglcontextlost`,function(t){e.webGLContext&&(t.preventDefault(),e.contextLost=!0,e.renderFrame&&=(cancelAnimationFrame(e.renderFrame),null),e.gpuTimerExt=void 0,e.activeGpuTimerQuery=null,e.pendingGpuTimerQueries=[],e.emit(`webglContextLost`))}),this.stageCanvas.addEventListener(`webglcontextrestored`,function(){requestAnimationFrame(function(){e.webGLContext&&!e.webGLContext.isContextLost()&&e.restoreWebGLContext()})}),this.initPickingFramebuffer()}},{key:`initPickingFramebuffer`,value:function(){var e=this.webGLContext,t=e.createFramebuffer();if(!t)throw Error(`Sigma: cannot create picking frame buffer`);e.bindFramebuffer(e.FRAMEBUFFER,t);var n=e.createTexture();if(!n)throw Error(`Sigma: cannot create picking texture`);e.bindTexture(e.TEXTURE_2D,n),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,null),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,n,0);var r=e.createRenderbuffer();if(!r)throw Error(`Sigma: cannot create picking depth buffer`);if(e.bindRenderbuffer(e.RENDERBUFFER,r),e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_COMPONENT16,1,1),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,r),e.checkFramebufferStatus(e.FRAMEBUFFER)!==e.FRAMEBUFFER_COMPLETE)throw Error(`Sigma: picking framebuffer is not complete`);e.bindFramebuffer(e.FRAMEBUFFER,null),this.pickingFrameBuffer=t,this.pickingTexture=n,this.pickingDepthBuffer=r}},{key:`initPrograms`,value:function(e,t){var n=this,r=this.webGLContext,i=Ki(r,this.pickingFrameBuffer,n,e?.nodes,t.antialiasNodes),a=i.nodeProgram,o=i.labelProgram,s=i.backdropProgram,c=i.labelBackgroundProgram,l=i.attachmentProgram,u=i.framePass,d=i.shapeSlug,f=i.shapeNameToIndex,p=i.shapeGlobalIds,m=i.variables;this.nodeProgram=a,this.nodeFramePass=u,this.nodeVariableEntries=Object.entries(m),d&&(this.nodeShapeSlug=d);var h=qi(r,this.pickingFrameBuffer,n,e?.edges,t.antialiasEdges,e?.nodes),g=h.edgeProgram,_=h.labelProgram,v=h.labelBackgroundProgram,y=h.framePass,b=h.variables,x=h.paths;return this.edgeProgram=g,this.edgeFramePass=y,this.edgeVariableEntries=Object.entries(b),this.edgePathsByName=new Map(x.map(function(e){return[e.name,e]})),{labelProgram:o,edgeLabelProgram:_,edgeLabelBackgroundProgram:v,backdropProgram:s,labelBackgroundProgram:c,attachmentProgram:l,nodeShapeMap:f??null,nodeGlobalShapeIds:p??null}}},{key:`restoreWebGLContext`,value:function(){var e,t,n,r,i,a=this.internals;this.initPickingFramebuffer(),(e=a.nodeDataTexture)==null||e.restore(),(t=a.nodeFrameTexture)==null||t.restore(),(n=a.edgeDataTexture)==null||n.restore(),(r=a.edgeFrameTexture)==null||r.restore(),(i=a.attachmentManager)==null||i.restore(),a.hoverResolver.reset(),Object.assign(a,this.initPrograms(a.primitives,a.settings));var o=f(this.customLayerPrograms.values()),s;try{for(o.s();!(s=o.n()).done;){var c=s.value;c.program.kill(),c.program=c.factory(this.webGLContext)}}catch(e){o.e(e)}finally{o.f()}this.contextLost=!1,this.emit(`webglContextRestored`),this.refresh()}},{key:`createLayer`,value:function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(this.extraElements[e])throw Error(`Sigma: a layer named "${e}" already exists`);var r=Rt(t,{position:`absolute`},{class:`sigma-${e}`});return n.style&&Object.assign(r.style,n.style),this.extraElements[e]=r,`beforeLayer`in n&&n.beforeLayer?this.getLayerElement(n.beforeLayer).before(r):`afterLayer`in n&&n.afterLayer?this.getLayerElement(n.afterLayer).after(r):this.container.appendChild(r),r}},{key:`createCanvas`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.createLayer(e,`canvas`,t)}},{key:`createWebGLContext`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=this.createCanvas(e,t);t.hidden&&n.remove();var r=n.getContext(`webgl2`,z({preserveDrawingBuffer:!1,antialias:!1,depth:!0},t));if(!r)throw Error(`Sigma: WebGL 2 is not supported by your browser. Please use a modern browser (Chrome 56+, Firefox 51+, Safari 15+, Edge 79+).`);return r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA),r}},{key:`killLayer`,value:function(e){if(e===`stage`||e===`mouse`)throw Error(`Sigma: cannot kill built-in layer "${e}"`);var t=this.extraElements[e];if(!t)throw Error(`Sigma: cannot kill layer ${e}, which does not exist`);return t.remove(),delete this.extraElements[e],this}},{key:`getWebGLContext`,value:function(){if(!this.webGLContext)throw Error(`Sigma: WebGL context is not available`);return this.webGLContext}},{key:`getNodeDataTexture`,value:function(){if(!this.internals.nodeDataTexture)throw Error(`Sigma: node data texture is not available`);return this.internals.nodeDataTexture}},{key:`getNormalizationFunction`,value:function(){return this.normalizationFunction}},{key:`addCustomLayerProgram`,value:function(e,t,n){var r;if(!this.depthLayers.includes(t))throw Error(`Sigma: cannot add custom layer program at depth "${t}", it must be declared in primitives.depthLayers. Current layers: ${this.depthLayers.join(`, `)}`);return(r=this.customLayerPrograms.get(e))==null||r.program.kill(),this.customLayerPrograms.set(e,{depth:t,factory:n,program:n(this.webGLContext)}),this.refresh(),this}},{key:`removeCustomLayerProgram`,value:function(e){var t=this.customLayerPrograms.get(e);return t&&(t.program.kill(),this.customLayerPrograms.delete(e),this.scheduleRender()),this}},{key:`getCamera`,value:function(){return this.camera}},{key:`setCamera`,value:function(e){return this.camera.cancelAnimation(),this.unbindCameraHandlers(),this.camera=e,this.bindCameraHandlers(),this.scheduleRender(),this}},{key:`getContainer`,value:function(){return this.container}},{key:`getGraph`,value:function(){return this.internals.graph}},{key:`setGraph`,value:function(e){return e===this.internals.graph||(this.stateManager.pruneNodes(function(t){return e.hasNode(t)}),this.stateManager.pruneEdges(function(t){return e.hasEdge(t)}),this.unbindGraphHandlers(),this.checkEdgesEventsFrame!==null&&(cancelAnimationFrame(this.checkEdgesEventsFrame),this.checkEdgesEventsFrame=null),this.internals.graph=e,this.autoRescaleFrozen=!1,this.bindGraphHandlers(),this.refresh()),this}},{key:`getMouseCaptor`,value:function(){return this.mouseCaptor}},{key:`getTouchCaptor`,value:function(){return this.touchCaptor}},{key:`getDimensions`,value:function(){return{width:this.width,height:this.height}}},{key:`getGraphDimensions`,value:function(){var e=this.customBBox||this.nodeExtent;return{width:e.x[1]-e.x[0]||1,height:e.y[1]-e.y[0]||1}}},{key:`getNodeDisplayData`,value:function(e){var t=this.internals.nodeDataCache[e];return t?Object.assign({},t):void 0}},{key:`getEdgeDisplayData`,value:function(e){var t=this.internals.edgeDataCache[e];return t?Object.assign({},t):void 0}},{key:`getNodeState`,value:function(e){return this.stateManager.getNodeState(e)}},{key:`getEdgeState`,value:function(e){return this.stateManager.getEdgeState(e)}},{key:`getGraphState`,value:function(){return this.stateManager.getGraphState()}},{key:`setNodeState`,value:function(e,t){return this.stateManager.setNodeState(e,t),this}},{key:`setEdgeState`,value:function(e,t){return this.stateManager.setEdgeState(e,t),this}},{key:`setGraphState`,value:function(e){return this.stateManager.setGraphState(e),this}},{key:`_setPanning`,value:function(e){this.stateManager.setGraphState({isPanning:e})}},{key:`_setZooming`,value:function(e){this.stateManager.setGraphState({isZooming:e})}},{key:`_hasNodeDrag`,value:function(){var e=this.internals.dragManager;return!!(e.pendingNode||e.session)}},{key:`_showGestureHint`,value:function(e){var t=this.internals.settings;t.gestureTarget===`shared`&&(this.gestureHint=this.gestureHint||new wo(this.container),this.gestureHint.show(e,t))}},{key:`setNodesState`,value:function(e,t){return this.stateManager.setNodesState(e,t),this}},{key:`setEdgesState`,value:function(e,t){return this.stateManager.setEdgesState(e,t),this}},{key:`updateContainerCursor`,value:function(){var e=this.stateManager.hovered,t=this.resolvedStageStyle.cursor||``;this.container.style.cursor=e&&$a(this.internals,e)||t}},{key:`refreshStageStyle`,value:function(){this.resolvedStageStyle=mt(this.stylesDeclaration.stage,this.stateManager.graphState),this.resolvedStageStyle.background!==void 0&&(this.container.style.backgroundColor=this.resolvedStageStyle.background),this.updateContainerCursor()}},{key:`getNodeDisplayedLabels`,value:function(){return new Set(this.labelRenderer.displayedNodeLabels)}},{key:`getEdgeDisplayedLabels`,value:function(){return new Set(this.labelRenderer.displayedEdgeLabels)}},{key:`getSettings`,value:function(){return z({},this.internals.settings)}},{key:`getSetting`,value:function(e){return this.internals.settings[e]}},{key:`getStyles`,value:function(){return z({},this.stylesDeclaration)}},{key:`getPrimitives`,value:function(){return z({},this.internals.primitives)}},{key:`setSetting`,value:function(e,t){return this.internals.settings[e]=t,Nt(this.internals.settings),this.handleSettingsUpdate(),this.scheduleRefresh(),this}},{key:`updateSetting`,value:function(e,t){return this.setSetting(e,t(this.internals.settings[e])),this}},{key:`setSettings`,value:function(e){return this.internals.settings=z(z({},this.internals.settings),e),Nt(this.internals.settings),this.handleSettingsUpdate(),this.scheduleRefresh(),this}},{key:`resize`,value:function(e){var t=this.width,n=this.height;if(this.width=this.container.offsetWidth,this.height=this.container.offsetHeight,this.internals.pixelRatio=zt(),this.width===0){if(this.internals.settings.allowInvalidContainer)this.width=1;else throw Error(`Sigma: Container has no width. You can set the allowInvalidContainer setting to true to stop seeing this error.`)}if(this.height===0){if(this.internals.settings.allowInvalidContainer)this.height=1;else throw Error(`Sigma: Container has no height. You can set the allowInvalidContainer setting to true to stop seeing this error.`)}if(!e&&t===this.width&&n===this.height)return this;this.labelRenderer.labelsDirty=!0;for(var r=0,i=[this.mouseLayer].concat(W(Object.values(this.extraElements)));r<i.length;r++){var a=i[r];a.style.width=this.width+`px`,a.style.height=this.height+`px`}return this.webGLContext&&(this.stageCanvas.setAttribute(`width`,this.width*this.internals.pixelRatio+`px`),this.stageCanvas.setAttribute(`height`,this.height*this.internals.pixelRatio+`px`),this.webGLContext.viewport(0,0,this.width*this.internals.pixelRatio,this.height*this.internals.pixelRatio)),this.emit(`resize`),this}},{key:`clear`,value:function(){return this.emit(`beforeClear`),this.webGLContext.bindFramebuffer(WebGLRenderingContext.FRAMEBUFFER,null),this.webGLContext.clear(WebGLRenderingContext.COLOR_BUFFER_BIT),this.emit(`afterClear`),this}},{key:`scheduleStateRefresh`,value:function(){this.needToRefreshState=!0,this.scheduleRender()}},{key:`refreshState`,value:function(){var e=this,t;this.stateManager.flushGraphStateFlags();var n=this.stateManager.graphStateChanged&&this.internals.nodeStyleAnalysis.dependency===`graph-state`,r=this.stateManager.graphStateChanged&&this.edgeStyleAnalysis.dependency===`graph-state`,i=!1;if(n)this.internals.graph.forEachNode(function(t){e.refreshNodeState(t)&&(i=!0)});else if(this.internals.nodeStyleAnalysis.dependency!==`static`){var a=f(this.stateManager.dirtyNodes),o;try{for(a.s();!(o=a.n()).done;){var s=o.value;this.refreshNodeState(s)&&(i=!0)}}catch(e){a.e(e)}finally{a.f()}}if(r)this.internals.graph.forEachEdge(function(t){e.refreshEdgeState(t)&&(i=!0)});else if(this.edgeStyleAnalysis.dependency!==`static`){var c=f(this.stateManager.dirtyEdges),l;try{for(c.s();!(l=c.n()).done;){var u=l.value;this.refreshEdgeState(u)&&(i=!0)}}catch(e){c.e(e)}finally{c.f()}}this.stateManager.graphStateChanged&&(t=this.stylesDeclaration)!=null&&t.stage&&this.refreshStageStyle(),this.stateManager.clearDirtyTracking(),i&&(this.pendingProcess=`full`)}},{key:`refreshNodeState`,value:function(e){var t=this.internals.nodeDataCache[e];if(!t||this.nodeReducer){var n,r=this.internals.nodeDataCache[e]?.depth,i=this.internals.nodeDataCache[e]?.zIndex,a=this.internals.nodeDataCache[e]?.labelAttachment;this.updateNode(e);var o=this.internals.nodeDataCache[e];this.internals.attachmentManager&&o.labelAttachment!==a&&this.internals.attachmentManager.invalidateNode(e);var s=this.internals.nodeShapeMap&&this.internals.nodeGlobalShapeIds&&o.shape&&o.shape in this.internals.nodeShapeMap?this.internals.nodeGlobalShapeIds[this.internals.nodeShapeMap[o.shape]]:en(o.shape||`circle`);(n=this.internals.nodeDataTexture).updateNode.apply(n,[e,o.x,o.y,o.size,s].concat(W(Dt(o)),[o.color])),r&&o.depth!==r&&this.updateNodeDepthRanges(e,r,o.depth);var c=this.nodeProgramIndex[e];return c!==void 0&&(this.addNodeToProgram(e,c),this.nodeProgram.invalidateBuffers()),i!==void 0&&o.zIndex!==i}var l=this.internals.graph.getNodeAttributes(e),u=this.stateManager.getNodeState(e),d=t.size,f=t.shape,p=t.depth,m=t.zIndex,h=t.labelAttachment,g=t.rotationAlignment,_=t.labelRotationAlignment,v=t.color;dt(this.stylesDeclaration.nodes,l,u,this.stateManager.graphState,this.internals.graph,t),this.postEvaluateNode(t,l,u);var y=this.nodeGraphCoords[e],b=t.x!==y.x||t.y!==y.y;if(b&&(y.x=t.x,y.y=t.y),this.normalizationFunction.applyTo(t),this.internals.nodeShapeMap?(!t.shape||!(t.shape in this.internals.nodeShapeMap))&&(t.shape=Object.keys(this.internals.nodeShapeMap)[0]):this.nodeShapeSlug&&(t.shape=this.nodeShapeSlug),this.internals.attachmentManager&&t.labelAttachment!==h&&this.internals.attachmentManager.invalidateNode(e),St(this.internals.nodesWithForcedLabels,e,Tt(t)),St(this.internals.nodesWithBackdrop,e,Et(t)),b||t.size!==d||t.shape!==f||t.rotationAlignment!==g||t.labelRotationAlignment!==_||t.color!==v){var x,S=this.internals.nodeShapeMap&&this.internals.nodeGlobalShapeIds&&t.shape&&t.shape in this.internals.nodeShapeMap?this.internals.nodeGlobalShapeIds[this.internals.nodeShapeMap[t.shape]]:en(t.shape||`circle`);(x=this.internals.nodeDataTexture).updateNode.apply(x,[e,t.x,t.y,t.size,S].concat(W(Dt(t)),[t.color]))}this.itemBuckets.nodes.set(e,t.depth),t.depth!==p&&this.updateNodeDepthRanges(e,p,t.depth);var C=this.nodeProgramIndex[e];return C!==void 0&&(this.addNodeToProgram(e,C),this.nodeProgram.invalidateBuffers()),t.zIndex!==m}},{key:`refreshEdgeState`,value:function(e){var t=this.internals.edgeDataCache[e];if(!t||this.edgeReducer){var n=t?.depth,r=t?.zIndex;this.updateEdge(e);var i=this.internals.edgeDataCache[e];n&&i.depth!==n&&this.updateEdgeDepthRanges(e,n,i.depth);var a=this.edgeProgramIndex[e];return a!==void 0&&(this.addEdgeToProgram(e,a),this.edgeProgram.invalidateBuffers()),r!==void 0&&i.zIndex!==r}var o=this.internals.graph.getEdgeAttributes(e),s=this.stateManager.getEdgeState(e),c=t.depth,l=t.zIndex,u=t.size,d=t.path,f=t.selfLoopPath,p=t.parallelPath,m=t.head,h=t.tail;ft(this.stylesDeclaration.edges,o,s,this.stateManager.graphState,this.internals.graph,t),this.postEvaluateEdge(t,o),this.applyEdgeSpread(e,t,s),St(this.internals.edgesWithForcedLabels,e,Tt(t)),this.itemBuckets.edges.set(e,t.depth),t.depth!==c&&this.updateEdgeDepthRanges(e,c,t.depth);var g=this.edgeProgramIndex[e];if(g!==void 0){if(t.size!==u||t.path!==d||t.selfLoopPath!==f||t.parallelPath!==p||t.head!==m||t.tail!==h)this.addEdgeToProgram(e,g),this.edgeProgram.invalidateBuffers();else{var _=this.internals.graph.source(e),v=this.internals.graph.target(e),y=this.internals.nodeDataCache[_],b=this.internals.nodeDataCache[v],x=this.edgeTextureIndexCache[e];this.edgeProgram.process(qa(this.pickingState,`edge`,e),g,y,b,t,x),this.edgeProgram.invalidateBuffers()}}return t.zIndex!==l}},{key:`refresh`,value:function(e){var t=this,n=e?.skipIndexation!==void 0&&e?.skipIndexation,r=e?.schedule!==void 0&&e.schedule;if(!e||!e.partialGraph)this.clearEdgeIndices(),this.clearNodeIndices(),this.internals.graph.forEachNode(function(e){return t.addNode(e)}),this.edgeGroups.rebuild(),this.internals.graph.forEachEdge(function(e){return t.addEdge(e)}),this.pendingProcess=`full`;else{for(var i,a=e.partialGraph?.nodes||[],o=0,s=a?.length||0;o<s;o++){var c,l=``+a[o],u=this.internals.nodeDataCache[l]?.labelAttachment;if(this.updateNode(l),this.internals.attachmentManager&&((c=this.internals.nodeDataCache[l])!=null&&c.labelAttachment||u)&&this.internals.attachmentManager.invalidateNode(l),n){var d=this.nodeProgramIndex[l];if(d===void 0)throw Error(`Sigma: node "${l}" can't be repaint`);this.addNodeToProgram(l,d)}}n&&a.length>0&&(this.nodeProgram.invalidateBuffers(),this.labelRenderer.labelsDirty=!0);for(var f=(e==null||(i=e.partialGraph)==null?void 0:i.edges)||[],p=0,m=f.length;p<m;p++){var h=``+f[p];if(this.updateEdge(h),n){var g=this.edgeProgramIndex[h];if(g===void 0)throw Error(`Sigma: edge "${h}" can't be repaint`);this.addEdgeToProgram(h,g)}}n&&f.length>0&&(this.edgeProgram.invalidateBuffers(),this.labelRenderer.labelsDirty=!0),!n&&this.pendingProcess!==`full`&&(this.pendingProcess=f.length>0?`full`:`nodes`)}return r?this.scheduleRender():this.render(),this}},{key:`scheduleRender`,value:function(){var e=this;return this.renderFrame||=requestAnimationFrame(function(){e.render()}),this}},{key:`scheduleRefresh`,value:function(e){return this.refresh(z(z({},e),{},{schedule:!0}))}},{key:`getViewportZoomedState`,value:function(e,t){var n=this.camera.getState(),r=n.ratio,i=n.angle,a=n.x,o=n.y,s=this.internals.settings,c=s.minCameraRatio,l=s.maxCameraRatio;typeof l==`number`&&(t=Math.min(t,l)),typeof c==`number`&&(t=Math.max(t,c));var u=t/r,d={x:this.width/2,y:this.height/2},f=this.viewportToFramedGraph(e),p=this.viewportToFramedGraph(d);return{angle:i,x:(f.x-p.x)*(1-u)+a,y:(f.y-p.y)*(1-u)+o,ratio:t}}},{key:`viewRectangle`,value:function(){var e=this.viewportToFramedGraph({x:0,y:0}),t=this.viewportToFramedGraph({x:this.width,y:0}),n=this.viewportToFramedGraph({x:0,y:this.height});return{x1:e.x,y1:e.y,x2:t.x,y2:t.y,height:t.y-n.y}}},{key:`framedGraphToViewport`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=!!t.cameraState||!!t.viewportDimensions||!!t.graphDimensions||!!t.padding,r=y(t.matrix||(n?x(t.cameraState||this.camera.getState(),t.viewportDimensions||this.getDimensions(),t.graphDimensions||this.getGraphDimensions(),t.padding||this.getStagePadding()):this.matrix),e);return{x:(1+r.x)*this.width/2,y:(1-r.y)*this.height/2}}},{key:`viewportToFramedGraph`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=!!t.cameraState||!!t.viewportDimensions||!!t.graphDimensions||!!t.padding,r=y(t.matrix||(n?x(t.cameraState||this.camera.getState(),t.viewportDimensions||this.getDimensions(),t.graphDimensions||this.getGraphDimensions(),t.padding||this.getStagePadding(),!0):this.invMatrix),{x:e.x/this.width*2-1,y:1-e.y/this.height*2});return isNaN(r.x)&&(r.x=0),isNaN(r.y)&&(r.y=0),r}},{key:`viewportToGraph`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.normalizationFunction.inverse(this.viewportToFramedGraph(e,t))}},{key:`graphToViewport`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.framedGraphToViewport(this.normalizationFunction(e),t)}},{key:`graphToFramedGraph`,value:function(e){return this.normalizationFunction(e)}},{key:`framedGraphToGraph`,value:function(e){return this.normalizationFunction.inverse(e)}},{key:`getGraphToViewportRatio`,value:function(){var e={x:0,y:0},t={x:1,y:1},n=Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2),r=this.graphToViewport(e),i=this.graphToViewport(t);return Math.sqrt((r.x-i.x)**2+(r.y-i.y)**2)/n}},{key:`computeNodeExtent`,value:function(){var e=this.nodeGraphCoords,t=Object.keys(e);if(!t.length)return{x:[0,1],y:[0,1]};for(var n=1/0,r=-1/0,i=1/0,a=-1/0,o=0,s=t.length;o<s;o++){var c=e[t[o]],l=c.x,u=c.y;l<n&&(n=l),l>r&&(r=l),u<i&&(i=u),u>a&&(a=u)}return{x:[n,r],y:[i,a]}}},{key:`getBBox`,value:function(){return this.nodeExtent}},{key:`getCustomBBox`,value:function(){return this.customBBox}},{key:`setCustomBBox`,value:function(e){return this.customBBox=e,this.scheduleRender(),this}},{key:`kill`,value:function(){var e,t,n;this.emit(`kill`),this.removeAllListeners(),this.camera.cancelAnimation(),this.unbindCameraHandlers(),window.removeEventListener(`resize`,this.activeListeners.handleResize),this.mouseCaptor.kill(),this.touchCaptor.kill(),this.internals.hoverResolver.kill(),this.unbindGraphHandlers(),this.clearIndices(),this.clearState(),this.internals.nodeDataCache={},this.internals.edgeDataCache={},this.renderFrame&&=(cancelAnimationFrame(this.renderFrame),null);for(var r=this.container;r.firstChild;)r.removeChild(r.firstChild);this.nodeProgram.kill(),this.nodeFramePass.kill(),this.edgeProgram.kill(),this.edgeFramePass.kill(),this.internals.labelProgram.kill(),this.internals.edgeLabelProgram.kill(),this.internals.edgeLabelBackgroundProgram.kill(),this.internals.backdropProgram.kill(),this.internals.labelBackgroundProgram.kill(),(e=this.internals.attachmentProgram)==null||e.kill(),(t=this.internals.attachmentManager)==null||t.kill(),this.internals.attachmentProgram=null,this.internals.attachmentManager=null;var i=f(this.customLayerPrograms.values()),a;try{for(i.s();!(a=i.n()).done;)a.value.program.kill()}catch(e){i.e(e)}finally{i.f()}if(this.customLayerPrograms.clear(),this.sdfAtlas&&=null,this.internals.nodeDataTexture&&(this.internals.nodeDataTexture.kill(),this.internals.nodeDataTexture=null),this.internals.nodeFrameTexture&&(this.internals.nodeFrameTexture.kill(),this.internals.nodeFrameTexture=null),this.internals.edgeDataTexture&&(this.internals.edgeDataTexture.kill(),this.internals.edgeDataTexture=null),this.internals.edgeFrameTexture&&(this.internals.edgeFrameTexture.kill(),this.internals.edgeFrameTexture=null),this.webGLContext){var o;(o=this.webGLContext.getExtension(`WEBGL_lose_context`))==null||o.loseContext(),this.webGLContext=null}for(var s in(n=this.gestureHint)==null||n.kill(),this.gestureHint=null,this.mouseLayer.remove(),this.extraElements)this.extraElements[s].remove();this.extraElements={}}},{key:`scaleSize`,value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.camera.ratio;return e/this.internals.settings.zoomToSizeRatioFunction(t)*(this.getSetting(`itemSizesReference`)===`positions`?t*this.graphToViewportRatio:1)}},{key:`getStageCanvas`,value:function(){return this.stageCanvas}},{key:`getMouseLayer`,value:function(){return this.mouseLayer}}])}(gt),Ho=(0,a.createContext)(null),Uo=Ho.Provider;function Wo(){let e=(0,a.useContext)(Ho);if(e==null)throw Error(`No context provided: useSigmaContext() can only be used in a descendant of <SigmaContainer>`);return e}function Go(){return Wo().sigma}function Ko(e){return new Set(Object.keys(e))}var qo=Ko({clickNode:!0,rightClickNode:!0,downNode:!0,upNode:!0,enterNode:!0,leaveNode:!0,doubleClickNode:!0,wheelNode:!0,clickNodeLabel:!0,rightClickNodeLabel:!0,doubleClickNodeLabel:!0,wheelNodeLabel:!0,downNodeLabel:!0,upNodeLabel:!0,enterNodeLabel:!0,leaveNodeLabel:!0,clickEdge:!0,rightClickEdge:!0,downEdge:!0,upEdge:!0,enterEdge:!0,leaveEdge:!0,doubleClickEdge:!0,wheelEdge:!0,clickEdgeLabel:!0,rightClickEdgeLabel:!0,doubleClickEdgeLabel:!0,wheelEdgeLabel:!0,downEdgeLabel:!0,upEdgeLabel:!0,enterEdgeLabel:!0,leaveEdgeLabel:!0,clickStage:!0,rightClickStage:!0,downStage:!0,doubleClickStage:!0,wheelStage:!0,upStage:!0,enterStage:!0,leaveStage:!0,beforeRender:!0,afterRender:!0,kill:!0,resize:!0,afterClear:!0,afterProcess:!0,beforeClear:!0,beforeProcess:!0,moveBody:!0,nodeDragStart:!0,nodeDrag:!0,nodeDragEnd:!0,afterTexturesUpload:!0,webglContextLost:!0,webglContextRestored:!0}),Jo=Ko({click:!0,rightClick:!0,doubleClick:!0,mouseup:!0,mousedown:!0,mousemove:!0,mousemovebody:!0,mouseleave:!0,mouseenter:!0,wheel:!0}),Yo=Ko({touchup:!0,touchdown:!0,touchmove:!0,touchmovebody:!0,tap:!0,doubletap:!0}),Xo=Ko({updated:!0,animationStart:void 0,animationEnd:void 0});function Zo(){let e=Go(),[t,n]=(0,a.useState)({});return(0,a.useEffect)((()=>{if(!e||!t)return;let n=t,r=Object.keys(n);return r.forEach((t=>{let r=n[t];qo.has(t)&&e.on(t,r),Jo.has(t)&&e.getMouseCaptor().on(t,r),Yo.has(t)&&e.getTouchCaptor().on(t,r),Xo.has(t)&&e.getCamera().on(t,r)})),()=>{e&&r.forEach((t=>{let r=n[t];qo.has(t)&&e.off(t,r),Jo.has(t)&&e.getMouseCaptor().off(t,r),Yo.has(t)&&e.getTouchCaptor().off(t,r),Xo.has(t)&&e.getCamera().off(t,r)}))}}),[e,t]),n}function Qo(){let e=Go();return(0,a.useCallback)(((t,n=!0)=>{e&&t&&(n&&e.getGraph().order>0&&e.getGraph().clear(),e.getGraph().import(t),e.refresh())}),[e])}function $o(){let{sigma:e}=Wo();return(0,a.useCallback)((t=>{e&&Object.keys(t).forEach((n=>{e.setSetting(n,t[n])}))}),[e])}function es(e,t){if(e===t)return!0;if(typeof e==`object`&&e&&typeof t==`object`&&t){if(Object.keys(e).length!=Object.keys(t).length)return!1;for(let n in e)if(!Object.hasOwn(t,n)||!es(e[n],t[n]))return!1;return!0}return!1}function ts(e,t){let n;return r=>new Promise((i=>{n&&clearTimeout(n),n=setTimeout((()=>{i(e(r))}),t)}))}function ns(e){let t=Go(),[n,r]=(0,a.useState)(e||{});return(0,a.useEffect)((()=>{r((t=>es(t,e||{})?t:e||{}))}),[e]),{zoomIn:(0,a.useCallback)((e=>{t.getCamera().zoomIn(Object.assign(Object.assign({},n),e))}),[t,n]),zoomOut:(0,a.useCallback)((e=>{t.getCamera().zoomOut(Object.assign(Object.assign({},n),e))}),[t,n]),reset:(0,a.useCallback)((e=>{t.getCamera().reset(Object.assign(Object.assign({},n),e))}),[t,n]),goto:(0,a.useCallback)(((e,r)=>{t.getCamera().animate(e,Object.assign(Object.assign({},n),r))}),[t,n]),gotoNode:(0,a.useCallback)(((e,r)=>{let i=t.getNodeDisplayData(e);i?t.getCamera().animate(i,Object.assign(Object.assign({},n),r)):console.warn(`Node ${e} not found`)}),[t,n])}}function rs(e){let t=Wo(),[n,r]=(0,a.useState)(!1),[i,o]=(0,a.useState)(e||t.container),s=(0,a.useCallback)((()=>r((e=>!e))),[]);return(0,a.useEffect)((()=>(document.addEventListener(`fullscreenchange`,s),()=>document.removeEventListener(`fullscreenchange`,s))),[s]),(0,a.useEffect)((()=>{o(e||t.container)}),[e,t.container]),{toggle:(0,a.useCallback)((()=>{var e=i;document.fullscreenElement===e?document.exitFullscreen&&document.exitFullscreen():e.requestFullscreen()}),[i]),isFullScreen:n}}var is=(0,a.forwardRef)((({graph:e,id:t,className:n,style:r,options:o={},children:s},c)=>{let l=(0,a.useRef)(null),u=(0,a.useRef)(null),d={className:`react-sigma ${n||``}`,id:t,style:r},[f,p]=(0,a.useState)(null),[m,h]=(0,a.useState)(o);(0,a.useEffect)((()=>{h((e=>es(e,o)?e:o))}),[o]),(0,a.useEffect)((()=>{let t=null;if(u.current!==null){let n=new i;e&&(n=typeof e==`function`?new e:e),t=new Vo(n,u.current,m),p((e=>{let n=null;return e&&(n=e.getCamera().getState()),n&&t.getCamera().setState(n),t}))}return()=>{t&&t.kill()}}),[u,e,m]),(0,a.useImperativeHandle)(c,(()=>f),[f]);let g=(0,a.useMemo)((()=>f&&l.current?{sigma:f,container:l.current}:null),[f,l]),_=g===null?null:a.createElement(Uo,{value:g},s);return a.createElement(`div`,Object.assign({},d,{ref:l}),a.createElement(`div`,{className:`sigma-container`,ref:u}),_)})),as=({id:e,className:t,style:n,children:r,position:i=`bottom-left`})=>{let o={className:`react-sigma-controls ${t||``} ${i}`,id:e,style:n};return a.createElement(`div`,Object.assign({},o),r)},os;function ss(){return ss=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ss.apply(null,arguments)}var cs,ls=function(e){return a.createElement(`svg`,ss({xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`,className:`dot-circle-regular_svg__svg-inline--fa dot-circle-regular_svg__fa-dot-circle dot-circle-regular_svg__fa-w-16`,"data-icon":`dot-circle`,"data-prefix":`far`,viewBox:`0 0 512 512`,width:`1em`,height:`1em`},e),os||=a.createElement(`path`,{fill:`currentColor`,d:`M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8m0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80`}))};function us(){return us=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},us.apply(null,arguments)}var ds,fs=function(e){return a.createElement(`svg`,us({xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`,className:`minus-solid_svg__svg-inline--fa minus-solid_svg__fa-minus minus-solid_svg__fa-w-14`,"data-icon":`minus`,"data-prefix":`fas`,viewBox:`0 0 448 512`,width:`1em`,height:`1em`},e),cs||=a.createElement(`path`,{fill:`currentColor`,d:`M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32`}))};function ps(){return ps=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ps.apply(null,arguments)}var ms=function(e){return a.createElement(`svg`,ps({xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`,className:`plus-solid_svg__svg-inline--fa plus-solid_svg__fa-plus plus-solid_svg__fa-w-14`,"data-icon":`plus`,"data-prefix":`fas`,viewBox:`0 0 448 512`,width:`1em`,height:`1em`},e),ds||=a.createElement(`path`,{fill:`currentColor`,d:`M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32`}))},hs=({className:e,style:t,animationDuration:n=200,children:r,labels:i={}})=>{let{zoomIn:o,zoomOut:s,reset:c}=ns({duration:n,factor:1.5}),l={style:t,className:`react-sigma-control ${e||``}`};return a.createElement(a.Fragment,null,a.createElement(`div`,Object.assign({},l),a.createElement(`button`,{onClick:()=>o(),title:i.zoomIn||`Zoom In`},r?r[0]:a.createElement(ms,{style:{width:`1em`}}))),a.createElement(`div`,Object.assign({},l),a.createElement(`button`,{onClick:()=>s(),title:i.zoomOut||`Zoom Out`},r?r[1]:a.createElement(fs,{style:{width:`1em`}}))),a.createElement(`div`,Object.assign({},l),a.createElement(`button`,{onClick:()=>c(),title:i.reset||`See whole graph`},r?r[2]:a.createElement(ls,{style:{width:`1em`}}))))},gs;function _s(){return _s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_s.apply(null,arguments)}var vs,ys=function(e){return a.createElement(`svg`,_s({xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`,className:`compress-solid_svg__svg-inline--fa compress-solid_svg__fa-compress compress-solid_svg__fa-w-14`,"data-icon":`compress`,"data-prefix":`fas`,viewBox:`0 0 448 512`,width:`1em`,height:`1em`},e),gs||=a.createElement(`path`,{fill:`currentColor`,d:`M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12m-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24m0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12m192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12`}))};function bs(){return bs=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},bs.apply(null,arguments)}var xs=function(e){return a.createElement(`svg`,bs({xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`,className:`expand-solid_svg__svg-inline--fa expand-solid_svg__fa-expand expand-solid_svg__fa-w-14`,"data-icon":`expand`,"data-prefix":`fas`,viewBox:`0 0 448 512`,width:`1em`,height:`1em`},e),vs||=a.createElement(`path`,{fill:`currentColor`,d:`M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12M288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12m148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12M160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12`}))},Ss=({id:e,className:t,style:n,container:r,children:i,labels:o={}})=>{let{isFullScreen:s,toggle:c}=rs(r?.current),l={className:`react-sigma-control ${t||``}`,id:e,style:n};return document.fullscreenEnabled?a.createElement(`div`,Object.assign({},l),a.createElement(`button`,{onClick:c,title:s?o.exit||`Exit fullscreen`:o.enter||`Enter fullscreen`},i&&!s&&i[0],i&&s&&i[1],!i&&!s&&a.createElement(xs,{style:{width:`1em`}}),!i&&s&&a.createElement(ys,{style:{width:`1em`}}))):null};export{as as ControlsContainer,Ss as FullScreenControl,is as SigmaContainer,Ho as SigmaContext,Uo as SigmaProvider,hs as ZoomControl,ts as debounce,es as isEqual,ns as useCamera,rs as useFullScreen,Qo as useLoadGraph,Zo as useRegisterEvents,$o as useSetSettings,Go as useSigma,Wo as useSigmaContext};
|