@weng-lab/visualization 2.6.0-beta.1 → 2.6.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/dist/src/components/Heatmap/Heatmap.d.ts.map +1 -1
- package/dist/src/components/Heatmap/HeatmapCanvasCells.d.ts +19 -5
- package/dist/src/components/Heatmap/HeatmapCanvasCells.d.ts.map +1 -1
- package/dist/src/components/Heatmap/HeatmapGrid.d.ts +36 -0
- package/dist/src/components/Heatmap/HeatmapGrid.d.ts.map +1 -0
- package/dist/src/components/Heatmap/{scrollable/HeatmapMiniMap.d.ts → HeatmapMiniMap.d.ts} +1 -1
- package/dist/src/components/Heatmap/HeatmapMiniMap.d.ts.map +1 -0
- package/dist/src/components/Heatmap/{scrollable/HeatmapMiniMapPopup.d.ts → HeatmapMiniMapPopup.d.ts} +1 -1
- package/dist/src/components/Heatmap/HeatmapMiniMapPopup.d.ts.map +1 -0
- package/dist/src/components/Heatmap/heatmapAxisProps.d.ts +2 -15
- package/dist/src/components/Heatmap/heatmapAxisProps.d.ts.map +1 -1
- package/dist/src/components/Heatmap/heatmapCellAppearance.d.ts +2 -2
- package/dist/src/components/Heatmap/heatmapExport.d.ts +20 -0
- package/dist/src/components/Heatmap/heatmapExport.d.ts.map +1 -0
- package/dist/src/components/Heatmap/heatmapLayout.d.ts +4 -18
- package/dist/src/components/Heatmap/heatmapLayout.d.ts.map +1 -1
- package/dist/src/components/Heatmap/hooks/useHeatmapCanvasGrid.d.ts +4 -3
- package/dist/src/components/Heatmap/hooks/useHeatmapCanvasGrid.d.ts.map +1 -1
- package/dist/src/components/Heatmap/types.d.ts +13 -5
- package/dist/src/components/Heatmap/types.d.ts.map +1 -1
- package/dist/src/utility.d.ts +34 -20
- package/dist/src/utility.d.ts.map +1 -1
- package/dist/visualization.es10.js +11 -11
- package/dist/visualization.es100.js +556 -44
- package/dist/visualization.es100.js.map +1 -1
- package/dist/visualization.es101.js +214 -76
- package/dist/visualization.es101.js.map +1 -1
- package/dist/visualization.es102.js +2 -25
- package/dist/visualization.es102.js.map +1 -1
- package/dist/visualization.es103.js +4795 -80
- package/dist/visualization.es103.js.map +1 -1
- package/dist/visualization.es104.js +25 -36
- package/dist/visualization.es104.js.map +1 -1
- package/dist/visualization.es105.js +43 -220
- package/dist/visualization.es105.js.map +1 -1
- package/dist/visualization.es106.js +144 -2
- package/dist/visualization.es106.js.map +1 -1
- package/dist/visualization.es107.js +146 -556
- package/dist/visualization.es107.js.map +1 -1
- package/dist/visualization.es108.js +14 -213
- package/dist/visualization.es108.js.map +1 -1
- package/dist/visualization.es109.js +15 -2
- package/dist/visualization.es109.js.map +1 -1
- package/dist/visualization.es11.js +10 -10
- package/dist/visualization.es110.js +54 -4799
- package/dist/visualization.es110.js.map +1 -1
- package/dist/visualization.es111.js +24 -25
- package/dist/visualization.es111.js.map +1 -1
- package/dist/visualization.es112.js +80 -41
- package/dist/visualization.es112.js.map +1 -1
- package/dist/visualization.es113.js +244 -143
- package/dist/visualization.es113.js.map +1 -1
- package/dist/visualization.es114.js +17 -146
- package/dist/visualization.es114.js.map +1 -1
- package/dist/visualization.es115.js +140 -56
- package/dist/visualization.es115.js.map +1 -1
- package/dist/visualization.es116.js +173 -30
- package/dist/visualization.es116.js.map +1 -1
- package/dist/visualization.es117.js +102 -17
- package/dist/visualization.es117.js.map +1 -1
- package/dist/visualization.es118.js +37 -14
- package/dist/visualization.es118.js.map +1 -1
- package/dist/visualization.es119.js +23 -23
- package/dist/visualization.es119.js.map +1 -1
- package/dist/visualization.es120.js +69 -14
- package/dist/visualization.es120.js.map +1 -1
- package/dist/visualization.es121.js +32 -15
- package/dist/visualization.es121.js.map +1 -1
- package/dist/visualization.es122.js +44 -25
- package/dist/visualization.es122.js.map +1 -1
- package/dist/visualization.es123.js +76 -70
- package/dist/visualization.es123.js.map +1 -1
- package/dist/visualization.es124.js +24 -54
- package/dist/visualization.es124.js.map +1 -1
- package/dist/visualization.es125.js +85 -24
- package/dist/visualization.es125.js.map +1 -1
- package/dist/visualization.es126.js +34 -82
- package/dist/visualization.es126.js.map +1 -1
- package/dist/visualization.es127.js +58 -223
- package/dist/visualization.es127.js.map +1 -1
- package/dist/visualization.es128.js +31 -17
- package/dist/visualization.es128.js.map +1 -1
- package/dist/visualization.es129.js +18 -103
- package/dist/visualization.es129.js.map +1 -1
- package/dist/visualization.es13.js +2 -2
- package/dist/visualization.es130.js +14 -175
- package/dist/visualization.es130.js.map +1 -1
- package/dist/visualization.es131.js +26 -82
- package/dist/visualization.es131.js.map +1 -1
- package/dist/visualization.es132.js +2 -37
- package/dist/visualization.es132.js.map +1 -1
- package/dist/visualization.es133.js +1606 -56
- package/dist/visualization.es133.js.map +1 -1
- package/dist/visualization.es134.js +18 -47
- package/dist/visualization.es134.js.map +1 -1
- package/dist/visualization.es135.js +61 -2
- package/dist/visualization.es135.js.map +1 -1
- package/dist/visualization.es136.js +37 -1604
- package/dist/visualization.es136.js.map +1 -1
- package/dist/visualization.es137.js +36 -17
- package/dist/visualization.es137.js.map +1 -1
- package/dist/visualization.es138.js +82 -83
- package/dist/visualization.es138.js.map +1 -1
- package/dist/visualization.es139.js +29 -5
- package/dist/visualization.es139.js.map +1 -1
- package/dist/visualization.es14.js +7 -7
- package/dist/visualization.es140.js +7 -89
- package/dist/visualization.es140.js.map +1 -1
- package/dist/visualization.es141.js +4 -12
- package/dist/visualization.es141.js.map +1 -1
- package/dist/visualization.es142.js +2 -4
- package/dist/visualization.es142.js.map +1 -1
- package/dist/visualization.es143.js +63 -14
- package/dist/visualization.es143.js.map +1 -1
- package/dist/visualization.es144.js +7 -7
- package/dist/visualization.es144.js.map +1 -1
- package/dist/visualization.es145.js +5 -14
- package/dist/visualization.es145.js.map +1 -1
- package/dist/visualization.es146.js +42 -4
- package/dist/visualization.es146.js.map +1 -1
- package/dist/visualization.es147.js +84 -7
- package/dist/visualization.es147.js.map +1 -1
- package/dist/visualization.es148.js +88 -59
- package/dist/visualization.es148.js.map +1 -1
- package/dist/visualization.es149.js +11 -37
- package/dist/visualization.es149.js.map +1 -1
- package/dist/visualization.es150.js +5 -36
- package/dist/visualization.es150.js.map +1 -1
- package/dist/visualization.es151.js +14 -83
- package/dist/visualization.es151.js.map +1 -1
- package/dist/visualization.es152.js +7 -29
- package/dist/visualization.es152.js.map +1 -1
- package/dist/visualization.es153.js +13 -3
- package/dist/visualization.es153.js.map +1 -1
- package/dist/visualization.es157.js +2 -2
- package/dist/visualization.es158.js +20 -8
- package/dist/visualization.es158.js.map +1 -1
- package/dist/visualization.es159.js +27 -15
- package/dist/visualization.es159.js.map +1 -1
- package/dist/visualization.es16.js +8 -8
- package/dist/visualization.es160.js +31 -11
- package/dist/visualization.es160.js.map +1 -1
- package/dist/visualization.es161.js +7 -5
- package/dist/visualization.es161.js.map +1 -1
- package/dist/visualization.es162.js +6 -11
- package/dist/visualization.es162.js.map +1 -1
- package/dist/visualization.es163.js +3 -3
- package/dist/visualization.es163.js.map +1 -1
- package/dist/visualization.es164.js +17 -2
- package/dist/visualization.es164.js.map +1 -1
- package/dist/visualization.es165.js +16 -10
- package/dist/visualization.es165.js.map +1 -1
- package/dist/visualization.es166.js +31 -29
- package/dist/visualization.es166.js.map +1 -1
- package/dist/visualization.es167.js +13 -39
- package/dist/visualization.es167.js.map +1 -1
- package/dist/visualization.es168.js +8 -47
- package/dist/visualization.es168.js.map +1 -1
- package/dist/visualization.es169.js +7 -3
- package/dist/visualization.es169.js.map +1 -1
- package/dist/visualization.es170.js +7 -3
- package/dist/visualization.es170.js.map +1 -1
- package/dist/visualization.es171.js +10 -5
- package/dist/visualization.es171.js.map +1 -1
- package/dist/visualization.es172.js +4 -4
- package/dist/visualization.es172.js.map +1 -1
- package/dist/visualization.es173.js +4 -10
- package/dist/visualization.es173.js.map +1 -1
- package/dist/visualization.es174.js +8 -3
- package/dist/visualization.es174.js.map +1 -1
- package/dist/visualization.es175.js +4 -17
- package/dist/visualization.es175.js.map +1 -1
- package/dist/visualization.es176.js +11 -17
- package/dist/visualization.es176.js.map +1 -1
- package/dist/visualization.es177.js +26 -36
- package/dist/visualization.es177.js.map +1 -1
- package/dist/visualization.es178.js +8 -2
- package/dist/visualization.es178.js.map +1 -1
- package/dist/visualization.es179.js +16 -2
- package/dist/visualization.es179.js.map +1 -1
- package/dist/visualization.es180.js +11 -4
- package/dist/visualization.es180.js.map +1 -1
- package/dist/visualization.es181.js +5 -14
- package/dist/visualization.es181.js.map +1 -1
- package/dist/visualization.es182.js +12 -3
- package/dist/visualization.es182.js.map +1 -1
- package/dist/visualization.es183.js +4 -7
- package/dist/visualization.es183.js.map +1 -1
- package/dist/visualization.es184.js +2 -3
- package/dist/visualization.es184.js.map +1 -1
- package/dist/visualization.es185.js +11 -7
- package/dist/visualization.es185.js.map +1 -1
- package/dist/visualization.es186.js +30 -3
- package/dist/visualization.es186.js.map +1 -1
- package/dist/visualization.es187.js +40 -61
- package/dist/visualization.es187.js.map +1 -1
- package/dist/visualization.es188.js +50 -7
- package/dist/visualization.es188.js.map +1 -1
- package/dist/visualization.es189.js +3 -43
- package/dist/visualization.es189.js.map +1 -1
- package/dist/visualization.es19.js +1 -1
- package/dist/visualization.es190.js +3 -10
- package/dist/visualization.es190.js.map +1 -1
- package/dist/visualization.es191.js +5 -6
- package/dist/visualization.es191.js.map +1 -1
- package/dist/visualization.es192.js +4 -7
- package/dist/visualization.es192.js.map +1 -1
- package/dist/visualization.es193.js +10 -9
- package/dist/visualization.es193.js.map +1 -1
- package/dist/visualization.es194.js +3 -6
- package/dist/visualization.es194.js.map +1 -1
- package/dist/visualization.es195.js +17 -6
- package/dist/visualization.es195.js.map +1 -1
- package/dist/visualization.es196.js +18 -5
- package/dist/visualization.es196.js.map +1 -1
- package/dist/visualization.es197.js +36 -14
- package/dist/visualization.es197.js.map +1 -1
- package/dist/visualization.es198.js +2 -6
- package/dist/visualization.es198.js.map +1 -1
- package/dist/visualization.es199.js +2 -4
- package/dist/visualization.es199.js.map +1 -1
- package/dist/visualization.es2.js +8 -8
- package/dist/visualization.es200.js +4 -7
- package/dist/visualization.es200.js.map +1 -1
- package/dist/visualization.es201.js +14 -6
- package/dist/visualization.es201.js.map +1 -1
- package/dist/visualization.es202.js +3 -10
- package/dist/visualization.es202.js.map +1 -1
- package/dist/visualization.es203.js +7 -31
- package/dist/visualization.es203.js.map +1 -1
- package/dist/visualization.es204.js +3 -8
- package/dist/visualization.es204.js.map +1 -1
- package/dist/visualization.es205.js +6 -6
- package/dist/visualization.es205.js.map +1 -1
- package/dist/visualization.es206.js +3 -3
- package/dist/visualization.es206.js.map +1 -1
- package/dist/visualization.es207.js +74 -16
- package/dist/visualization.es207.js.map +1 -1
- package/dist/visualization.es208.js +2 -17
- package/dist/visualization.es208.js.map +1 -1
- package/dist/visualization.es209.js +482 -32
- package/dist/visualization.es209.js.map +1 -1
- package/dist/visualization.es21.js +43 -63
- package/dist/visualization.es21.js.map +1 -1
- package/dist/visualization.es210.js +2 -17
- package/dist/visualization.es210.js.map +1 -1
- package/dist/visualization.es211.js +17 -9
- package/dist/visualization.es211.js.map +1 -1
- package/dist/visualization.es212.js +3 -6
- package/dist/visualization.es212.js.map +1 -1
- package/dist/visualization.es213.js +35 -6
- package/dist/visualization.es213.js.map +1 -1
- package/dist/visualization.es214.js +72 -10
- package/dist/visualization.es214.js.map +1 -1
- package/dist/visualization.es215.js +22 -4
- package/dist/visualization.es215.js.map +1 -1
- package/dist/visualization.es216.js +22 -4
- package/dist/visualization.es216.js.map +1 -1
- package/dist/visualization.es217.js +40 -8
- package/dist/visualization.es217.js.map +1 -1
- package/dist/visualization.es218.js +6 -3
- package/dist/visualization.es218.js.map +1 -1
- package/dist/visualization.es219.js +11 -11
- package/dist/visualization.es219.js.map +1 -1
- package/dist/visualization.es22.js +10 -66
- package/dist/visualization.es22.js.map +1 -1
- package/dist/visualization.es220.js +17 -26
- package/dist/visualization.es220.js.map +1 -1
- package/dist/visualization.es221.js +36 -3
- package/dist/visualization.es221.js.map +1 -1
- package/dist/visualization.es222.js +24 -5
- package/dist/visualization.es222.js.map +1 -1
- package/dist/visualization.es223.js +27 -33
- package/dist/visualization.es223.js.map +1 -1
- package/dist/visualization.es224.js +32 -15
- package/dist/visualization.es224.js.map +1 -1
- package/dist/visualization.es225.js +113 -6
- package/dist/visualization.es225.js.map +1 -1
- package/dist/visualization.es226.js +3 -11
- package/dist/visualization.es226.js.map +1 -1
- package/dist/visualization.es227.js +4 -31
- package/dist/visualization.es227.js.map +1 -1
- package/dist/visualization.es228.js +31 -112
- package/dist/visualization.es228.js.map +1 -1
- package/dist/visualization.es229.js +14 -17
- package/dist/visualization.es229.js.map +1 -1
- package/dist/visualization.es23.js +63 -112
- package/dist/visualization.es23.js.map +1 -1
- package/dist/visualization.es230.js +7 -3
- package/dist/visualization.es230.js.map +1 -1
- package/dist/visualization.es231.js +11 -35
- package/dist/visualization.es231.js.map +1 -1
- package/dist/visualization.es232.js +9 -19
- package/dist/visualization.es232.js.map +1 -1
- package/dist/visualization.es233.js +6 -27
- package/dist/visualization.es233.js.map +1 -1
- package/dist/visualization.es234.js +7 -72
- package/dist/visualization.es234.js.map +1 -1
- package/dist/visualization.es235.js +9 -22
- package/dist/visualization.es235.js.map +1 -1
- package/dist/visualization.es236.js +5 -21
- package/dist/visualization.es236.js.map +1 -1
- package/dist/visualization.es237.js +5 -39
- package/dist/visualization.es237.js.map +1 -1
- package/dist/visualization.es238.js +5 -7
- package/dist/visualization.es238.js.map +1 -1
- package/dist/visualization.es239.js +14 -12
- package/dist/visualization.es239.js.map +1 -1
- package/dist/visualization.es24.js +62 -143
- package/dist/visualization.es24.js.map +1 -1
- package/dist/visualization.es240.js +5 -17
- package/dist/visualization.es240.js.map +1 -1
- package/dist/visualization.es241.js +3 -36
- package/dist/visualization.es241.js.map +1 -1
- package/dist/visualization.es242.js +6 -24
- package/dist/visualization.es242.js.map +1 -1
- package/dist/visualization.es243.js +6 -27
- package/dist/visualization.es243.js.map +1 -1
- package/dist/visualization.es244.js +9 -74
- package/dist/visualization.es244.js.map +1 -1
- package/dist/visualization.es245.js +124 -2
- package/dist/visualization.es245.js.map +1 -1
- package/dist/visualization.es246.js +2 -483
- package/dist/visualization.es246.js.map +1 -1
- package/dist/visualization.es247.js +4 -2
- package/dist/visualization.es247.js.map +1 -1
- package/dist/visualization.es248.js +3 -123
- package/dist/visualization.es248.js.map +1 -1
- package/dist/visualization.es249.js +3 -63
- package/dist/visualization.es249.js.map +1 -1
- package/dist/visualization.es25.js +113 -8
- package/dist/visualization.es25.js.map +1 -1
- package/dist/visualization.es250.js +3 -60
- package/dist/visualization.es250.js.map +1 -1
- package/dist/visualization.es251.js +4 -2
- package/dist/visualization.es251.js.map +1 -1
- package/dist/visualization.es252.js +3 -34
- package/dist/visualization.es252.js.map +1 -1
- package/dist/visualization.es253.js +4 -2
- package/dist/visualization.es253.js.map +1 -1
- package/dist/visualization.es254.js +6 -22
- package/dist/visualization.es254.js.map +1 -1
- package/dist/visualization.es255.js +48 -53
- package/dist/visualization.es255.js.map +1 -1
- package/dist/visualization.es256.js +3 -20
- package/dist/visualization.es256.js.map +1 -1
- package/dist/visualization.es257.js +6 -3
- package/dist/visualization.es257.js.map +1 -1
- package/dist/visualization.es258.js +4 -3
- package/dist/visualization.es258.js.map +1 -1
- package/dist/visualization.es259.js +3 -3
- package/dist/visualization.es259.js.map +1 -1
- package/dist/visualization.es26.js +176 -7
- package/dist/visualization.es26.js.map +1 -1
- package/dist/visualization.es260.js +6 -3
- package/dist/visualization.es260.js.map +1 -1
- package/dist/visualization.es261.js +4 -3
- package/dist/visualization.es261.js.map +1 -1
- package/dist/visualization.es262.js +34 -3
- package/dist/visualization.es262.js.map +1 -1
- package/dist/visualization.es263.js +2 -4
- package/dist/visualization.es263.js.map +1 -1
- package/dist/visualization.es264.js +22 -6
- package/dist/visualization.es264.js.map +1 -1
- package/dist/visualization.es265.js +53 -48
- package/dist/visualization.es265.js.map +1 -1
- package/dist/visualization.es266.js +20 -3
- package/dist/visualization.es266.js.map +1 -1
- package/dist/visualization.es267.js +52 -5
- package/dist/visualization.es267.js.map +1 -1
- package/dist/visualization.es268.js +31 -4
- package/dist/visualization.es268.js.map +1 -1
- package/dist/visualization.es269.js +33 -3
- package/dist/visualization.es269.js.map +1 -1
- package/dist/visualization.es27.js +7 -47
- package/dist/visualization.es27.js.map +1 -1
- package/dist/visualization.es270.js +12 -6
- package/dist/visualization.es270.js.map +1 -1
- package/dist/visualization.es271.js +29 -4
- package/dist/visualization.es271.js.map +1 -1
- package/dist/visualization.es275.js +23 -23
- package/dist/visualization.es276.js +12 -12
- package/dist/visualization.es277.js +1 -1
- package/dist/visualization.es278.js +5 -51
- package/dist/visualization.es278.js.map +1 -1
- package/dist/visualization.es279.js +137 -28
- package/dist/visualization.es279.js.map +1 -1
- package/dist/visualization.es28.js +7 -20
- package/dist/visualization.es28.js.map +1 -1
- package/dist/visualization.es280.js +5 -33
- package/dist/visualization.es280.js.map +1 -1
- package/dist/visualization.es281.js +21 -12
- package/dist/visualization.es281.js.map +1 -1
- package/dist/visualization.es282.js +35 -5
- package/dist/visualization.es282.js.map +1 -1
- package/dist/visualization.es283.js +29 -135
- package/dist/visualization.es283.js.map +1 -1
- package/dist/visualization.es284.js +15 -6
- package/dist/visualization.es284.js.map +1 -1
- package/dist/visualization.es285.js +19 -22
- package/dist/visualization.es285.js.map +1 -1
- package/dist/visualization.es286.js +8 -37
- package/dist/visualization.es286.js.map +1 -1
- package/dist/visualization.es287.js +104 -29
- package/dist/visualization.es287.js.map +1 -1
- package/dist/visualization.es288.js +11 -13
- package/dist/visualization.es288.js.map +1 -1
- package/dist/visualization.es289.js +141 -18
- package/dist/visualization.es289.js.map +1 -1
- package/dist/visualization.es29.js +48 -5
- package/dist/visualization.es29.js.map +1 -1
- package/dist/visualization.es290.js +6 -9
- package/dist/visualization.es290.js.map +1 -1
- package/dist/visualization.es291.js +61 -99
- package/dist/visualization.es291.js.map +1 -1
- package/dist/visualization.es292.js +35 -12
- package/dist/visualization.es292.js.map +1 -1
- package/dist/visualization.es293.js +20 -141
- package/dist/visualization.es293.js.map +1 -1
- package/dist/visualization.es294.js +3 -5
- package/dist/visualization.es294.js.map +1 -1
- package/dist/visualization.es295.js +19 -66
- package/dist/visualization.es295.js.map +1 -1
- package/dist/visualization.es296.js +29 -34
- package/dist/visualization.es296.js.map +1 -1
- package/dist/visualization.es297.js +2 -21
- package/dist/visualization.es297.js.map +1 -1
- package/dist/visualization.es298.js +2 -4
- package/dist/visualization.es298.js.map +1 -1
- package/dist/visualization.es299.js +5 -24
- package/dist/visualization.es299.js.map +1 -1
- package/dist/visualization.es3.js +11 -11
- package/dist/visualization.es30.js +18 -31
- package/dist/visualization.es30.js.map +1 -1
- package/dist/visualization.es300.js +15 -31
- package/dist/visualization.es300.js.map +1 -1
- package/dist/visualization.es301.js +35 -2
- package/dist/visualization.es301.js.map +1 -1
- package/dist/visualization.es302.js +28 -2
- package/dist/visualization.es302.js.map +1 -1
- package/dist/visualization.es303.js +10 -5
- package/dist/visualization.es303.js.map +1 -1
- package/dist/visualization.es304.js +7 -15
- package/dist/visualization.es304.js.map +1 -1
- package/dist/visualization.es305.js +13 -34
- package/dist/visualization.es305.js.map +1 -1
- package/dist/visualization.es306.js +12 -28
- package/dist/visualization.es306.js.map +1 -1
- package/dist/visualization.es307.js +2 -11
- package/dist/visualization.es307.js.map +1 -1
- package/dist/visualization.es308.js +3 -7
- package/dist/visualization.es308.js.map +1 -1
- package/dist/visualization.es309.js +2 -14
- package/dist/visualization.es309.js.map +1 -1
- package/dist/visualization.es31.js +5 -35
- package/dist/visualization.es31.js.map +1 -1
- package/dist/visualization.es310.js +104 -12
- package/dist/visualization.es310.js.map +1 -1
- package/dist/visualization.es311.js +5 -2
- package/dist/visualization.es311.js.map +1 -1
- package/dist/visualization.es312.js +3 -3
- package/dist/visualization.es312.js.map +1 -1
- package/dist/visualization.es313.js +19 -2
- package/dist/visualization.es313.js.map +1 -1
- package/dist/visualization.es314.js +5 -103
- package/dist/visualization.es314.js.map +1 -1
- package/dist/visualization.es315.js +14 -4
- package/dist/visualization.es315.js.map +1 -1
- package/dist/visualization.es316.js +5 -3
- package/dist/visualization.es316.js.map +1 -1
- package/dist/visualization.es317.js +28 -18
- package/dist/visualization.es317.js.map +1 -1
- package/dist/visualization.es318.js +6 -5
- package/dist/visualization.es318.js.map +1 -1
- package/dist/visualization.es319.js +2 -15
- package/dist/visualization.es319.js.map +1 -1
- package/dist/visualization.es32.js +33 -67
- package/dist/visualization.es32.js.map +1 -1
- package/dist/visualization.es320.js +20 -5
- package/dist/visualization.es320.js.map +1 -1
- package/dist/visualization.es321.js +21 -29
- package/dist/visualization.es321.js.map +1 -1
- package/dist/visualization.es322.js +5 -6
- package/dist/visualization.es322.js.map +1 -1
- package/dist/visualization.es323.js +8 -2
- package/dist/visualization.es323.js.map +1 -1
- package/dist/visualization.es324.js +19 -20
- package/dist/visualization.es324.js.map +1 -1
- package/dist/visualization.es325.js +44 -21
- package/dist/visualization.es325.js.map +1 -1
- package/dist/visualization.es326.js +7 -6
- package/dist/visualization.es326.js.map +1 -1
- package/dist/visualization.es327.js +18 -6
- package/dist/visualization.es327.js.map +1 -1
- package/dist/visualization.es328.js +53 -18
- package/dist/visualization.es328.js.map +1 -1
- package/dist/visualization.es329.js +27 -44
- package/dist/visualization.es329.js.map +1 -1
- package/dist/visualization.es33.js +34 -267
- package/dist/visualization.es33.js.map +1 -1
- package/dist/visualization.es330.js +11 -7
- package/dist/visualization.es330.js.map +1 -1
- package/dist/visualization.es331.js +17 -18
- package/dist/visualization.es331.js.map +1 -1
- package/dist/visualization.es332.js +10 -52
- package/dist/visualization.es332.js.map +1 -1
- package/dist/visualization.es333.js +4 -26
- package/dist/visualization.es333.js.map +1 -1
- package/dist/visualization.es334.js +4 -11
- package/dist/visualization.es334.js.map +1 -1
- package/dist/visualization.es335.js +3 -18
- package/dist/visualization.es335.js.map +1 -1
- package/dist/visualization.es336.js +174 -10
- package/dist/visualization.es336.js.map +1 -1
- package/dist/visualization.es337.js +39 -4
- package/dist/visualization.es337.js.map +1 -1
- package/dist/visualization.es338.js +6 -4
- package/dist/visualization.es338.js.map +1 -1
- package/dist/visualization.es339.js +3 -3
- package/dist/visualization.es339.js.map +1 -1
- package/dist/visualization.es34.js +43 -140
- package/dist/visualization.es34.js.map +1 -1
- package/dist/visualization.es340.js +2 -176
- package/dist/visualization.es340.js.map +1 -1
- package/dist/visualization.es341.js +30 -40
- package/dist/visualization.es341.js.map +1 -1
- package/dist/visualization.es342.js +8 -6
- package/dist/visualization.es342.js.map +1 -1
- package/dist/visualization.es343.js +10 -3
- package/dist/visualization.es343.js.map +1 -1
- package/dist/visualization.es344.js +4 -2
- package/dist/visualization.es344.js.map +1 -1
- package/dist/visualization.es345.js +66 -30
- package/dist/visualization.es345.js.map +1 -1
- package/dist/visualization.es346.js +7 -8
- package/dist/visualization.es346.js.map +1 -1
- package/dist/visualization.es347.js +4 -10
- package/dist/visualization.es347.js.map +1 -1
- package/dist/visualization.es348.js +13 -3
- package/dist/visualization.es348.js.map +1 -1
- package/dist/visualization.es349.js +34 -65
- package/dist/visualization.es349.js.map +1 -1
- package/dist/visualization.es35.js +36 -27
- package/dist/visualization.es35.js.map +1 -1
- package/dist/visualization.es350.js +5 -7
- package/dist/visualization.es350.js.map +1 -1
- package/dist/visualization.es351.js +9 -4
- package/dist/visualization.es351.js.map +1 -1
- package/dist/visualization.es352.js +2 -14
- package/dist/visualization.es352.js.map +1 -1
- package/dist/visualization.es353.js +4 -34
- package/dist/visualization.es353.js.map +1 -1
- package/dist/visualization.es354.js +2 -5
- package/dist/visualization.es354.js.map +1 -1
- package/dist/visualization.es355.js +9 -9
- package/dist/visualization.es355.js.map +1 -1
- package/dist/visualization.es356.js +10 -2
- package/dist/visualization.es356.js.map +1 -1
- package/dist/visualization.es357.js +12 -4
- package/dist/visualization.es357.js.map +1 -1
- package/dist/visualization.es358.js +2 -2
- package/dist/visualization.es358.js.map +1 -1
- package/dist/visualization.es359.js +10 -10
- package/dist/visualization.es359.js.map +1 -1
- package/dist/visualization.es36.js +69 -21
- package/dist/visualization.es36.js.map +1 -1
- package/dist/visualization.es360.js +8 -10
- package/dist/visualization.es360.js.map +1 -1
- package/dist/visualization.es361.js +6 -13
- package/dist/visualization.es361.js.map +1 -1
- package/dist/visualization.es362.js +25 -2
- package/dist/visualization.es362.js.map +1 -1
- package/dist/visualization.es363.js +19 -10
- package/dist/visualization.es363.js.map +1 -1
- package/dist/visualization.es364.js +40 -7
- package/dist/visualization.es364.js.map +1 -1
- package/dist/visualization.es365.js +3 -6
- package/dist/visualization.es365.js.map +1 -1
- package/dist/visualization.es366.js +8 -24
- package/dist/visualization.es366.js.map +1 -1
- package/dist/visualization.es367.js +9 -19
- package/dist/visualization.es367.js.map +1 -1
- package/dist/visualization.es368.js +34 -39
- package/dist/visualization.es368.js.map +1 -1
- package/dist/visualization.es369.js +10 -3
- package/dist/visualization.es369.js.map +1 -1
- package/dist/visualization.es37.js +12 -18
- package/dist/visualization.es37.js.map +1 -1
- package/dist/visualization.es370.js +31 -8
- package/dist/visualization.es370.js.map +1 -1
- package/dist/visualization.es371.js +4 -8
- package/dist/visualization.es371.js.map +1 -1
- package/dist/visualization.es372.js +2 -36
- package/dist/visualization.es372.js.map +1 -1
- package/dist/visualization.es373.js +15 -9
- package/dist/visualization.es373.js.map +1 -1
- package/dist/visualization.es374.js +23 -30
- package/dist/visualization.es374.js.map +1 -1
- package/dist/visualization.es375.js +2 -5
- package/dist/visualization.es375.js.map +1 -1
- package/dist/visualization.es376.js +63 -2
- package/dist/visualization.es376.js.map +1 -1
- package/dist/visualization.es377.js +2 -16
- package/dist/visualization.es377.js.map +1 -1
- package/dist/visualization.es378.js +2 -25
- package/dist/visualization.es378.js.map +1 -1
- package/dist/visualization.es379.js +6 -2
- package/dist/visualization.es379.js.map +1 -1
- package/dist/visualization.es38.js +18701 -20
- package/dist/visualization.es38.js.map +1 -1
- package/dist/visualization.es380.js +34 -60
- package/dist/visualization.es380.js.map +1 -1
- package/dist/visualization.es381.js +21 -2
- package/dist/visualization.es381.js.map +1 -1
- package/dist/visualization.es382.js +4 -2
- package/dist/visualization.es382.js.map +1 -1
- package/dist/visualization.es383.js +4 -5
- package/dist/visualization.es383.js.map +1 -1
- package/dist/visualization.es384.js +4 -36
- package/dist/visualization.es384.js.map +1 -1
- package/dist/visualization.es385.js +46 -18
- package/dist/visualization.es385.js.map +1 -1
- package/dist/visualization.es386.js +26 -3
- package/dist/visualization.es386.js.map +1 -1
- package/dist/visualization.es387.js +16 -4
- package/dist/visualization.es387.js.map +1 -1
- package/dist/visualization.es388.js +10 -5
- package/dist/visualization.es388.js.map +1 -1
- package/dist/visualization.es389.js +17 -46
- package/dist/visualization.es389.js.map +1 -1
- package/dist/visualization.es39.js +5 -70
- package/dist/visualization.es39.js.map +1 -1
- package/dist/visualization.es390.js +13 -26
- package/dist/visualization.es390.js.map +1 -1
- package/dist/visualization.es391.js +3 -16
- package/dist/visualization.es391.js.map +1 -1
- package/dist/visualization.es392.js +12 -9
- package/dist/visualization.es392.js.map +1 -1
- package/dist/visualization.es393.js +46 -17
- package/dist/visualization.es393.js.map +1 -1
- package/dist/visualization.es394.js +6 -14
- package/dist/visualization.es394.js.map +1 -1
- package/dist/visualization.es395.js +12 -3
- package/dist/visualization.es395.js.map +1 -1
- package/dist/visualization.es396.js +2 -13
- package/dist/visualization.es396.js.map +1 -1
- package/dist/visualization.es397.js +6 -48
- package/dist/visualization.es397.js.map +1 -1
- package/dist/visualization.es398.js +209 -5
- package/dist/visualization.es398.js.map +1 -1
- package/dist/visualization.es399.js +25 -11
- package/dist/visualization.es399.js.map +1 -1
- package/dist/visualization.es4.js +6 -6
- package/dist/visualization.es40.js +5 -81
- package/dist/visualization.es40.js.map +1 -1
- package/dist/visualization.es400.js +4 -2
- package/dist/visualization.es400.js.map +1 -1
- package/dist/visualization.es401.js +16 -7
- package/dist/visualization.es401.js.map +1 -1
- package/dist/visualization.es402.js +15 -210
- package/dist/visualization.es402.js.map +1 -1
- package/dist/visualization.es403.js +15 -27
- package/dist/visualization.es403.js.map +1 -1
- package/dist/visualization.es404.js +2 -4
- package/dist/visualization.es404.js.map +1 -1
- package/dist/visualization.es405.js +2 -16
- package/dist/visualization.es405.js.map +1 -1
- package/dist/visualization.es406.js +2 -15
- package/dist/visualization.es406.js.map +1 -1
- package/dist/visualization.es407.js +4 -14
- package/dist/visualization.es407.js.map +1 -1
- package/dist/visualization.es408.js +2 -2
- package/dist/visualization.es408.js.map +1 -1
- package/dist/visualization.es409.js +25 -2
- package/dist/visualization.es409.js.map +1 -1
- package/dist/visualization.es41.js +42 -18684
- package/dist/visualization.es41.js.map +1 -1
- package/dist/visualization.es410.js +22 -2
- package/dist/visualization.es410.js.map +1 -1
- package/dist/visualization.es411.js +8 -4
- package/dist/visualization.es411.js.map +1 -1
- package/dist/visualization.es412.js +68 -2
- package/dist/visualization.es412.js.map +1 -1
- package/dist/visualization.es413.js +6 -25
- package/dist/visualization.es413.js.map +1 -1
- package/dist/visualization.es414.js +28 -21
- package/dist/visualization.es414.js.map +1 -1
- package/dist/visualization.es415.js +10 -9
- package/dist/visualization.es415.js.map +1 -1
- package/dist/visualization.es416.js +6 -68
- package/dist/visualization.es416.js.map +1 -1
- package/dist/visualization.es417.js +2 -6
- package/dist/visualization.es417.js.map +1 -1
- package/dist/visualization.es418.js +5 -29
- package/dist/visualization.es418.js.map +1 -1
- package/dist/visualization.es419.js +25 -9
- package/dist/visualization.es419.js.map +1 -1
- package/dist/visualization.es42.js +811 -5
- package/dist/visualization.es42.js.map +1 -1
- package/dist/visualization.es420.js +11 -6
- package/dist/visualization.es420.js.map +1 -1
- package/dist/visualization.es421.js +27 -2
- package/dist/visualization.es421.js.map +1 -1
- package/dist/visualization.es422.js +9 -4
- package/dist/visualization.es422.js.map +1 -1
- package/dist/visualization.es423.js +10 -25
- package/dist/visualization.es423.js.map +1 -1
- package/dist/visualization.es424.js +2 -11
- package/dist/visualization.es424.js.map +1 -1
- package/dist/visualization.es425.js +16 -27
- package/dist/visualization.es425.js.map +1 -1
- package/dist/visualization.es426.js +29 -9
- package/dist/visualization.es426.js.map +1 -1
- package/dist/visualization.es427.js +26 -11
- package/dist/visualization.es427.js.map +1 -1
- package/dist/visualization.es428.js +2 -2
- package/dist/visualization.es428.js.map +1 -1
- package/dist/visualization.es429.js +9 -16
- package/dist/visualization.es429.js.map +1 -1
- package/dist/visualization.es430.js +12 -29
- package/dist/visualization.es430.js.map +1 -1
- package/dist/visualization.es431.js +23 -26
- package/dist/visualization.es431.js.map +1 -1
- package/dist/visualization.es432.js +13 -2
- package/dist/visualization.es432.js.map +1 -1
- package/dist/visualization.es433.js +3 -9
- package/dist/visualization.es433.js.map +1 -1
- package/dist/visualization.es434.js +2 -13
- package/dist/visualization.es434.js.map +1 -1
- package/dist/visualization.es435.js +16 -21
- package/dist/visualization.es435.js.map +1 -1
- package/dist/visualization.es436.js +3 -12
- package/dist/visualization.es436.js.map +1 -1
- package/dist/visualization.es437.js +12 -3
- package/dist/visualization.es437.js.map +1 -1
- package/dist/visualization.es438.js +11 -2
- package/dist/visualization.es438.js.map +1 -1
- package/dist/visualization.es439.js +6 -17
- package/dist/visualization.es439.js.map +1 -1
- package/dist/visualization.es44.js +130 -59
- package/dist/visualization.es44.js.map +1 -1
- package/dist/visualization.es440.js +19 -4
- package/dist/visualization.es440.js.map +1 -1
- package/dist/visualization.es441.js +22 -11
- package/dist/visualization.es441.js.map +1 -1
- package/dist/visualization.es442.js +12 -11
- package/dist/visualization.es442.js.map +1 -1
- package/dist/visualization.es443.js +50 -6
- package/dist/visualization.es443.js.map +1 -1
- package/dist/visualization.es444.js +18 -19
- package/dist/visualization.es444.js.map +1 -1
- package/dist/visualization.es445.js +35 -22
- package/dist/visualization.es445.js.map +1 -1
- package/dist/visualization.es446.js +20 -9
- package/dist/visualization.es446.js.map +1 -1
- package/dist/visualization.es447.js +31 -50
- package/dist/visualization.es447.js.map +1 -1
- package/dist/visualization.es448.js +3 -17
- package/dist/visualization.es448.js.map +1 -1
- package/dist/visualization.es449.js +19 -36
- package/dist/visualization.es449.js.map +1 -1
- package/dist/visualization.es45.js +52 -808
- package/dist/visualization.es45.js.map +1 -1
- package/dist/visualization.es450.js +14 -23
- package/dist/visualization.es450.js.map +1 -1
- package/dist/visualization.es451.js +10 -31
- package/dist/visualization.es451.js.map +1 -1
- package/dist/visualization.es452.js +29 -3
- package/dist/visualization.es452.js.map +1 -1
- package/dist/visualization.es453.js +6 -19
- package/dist/visualization.es453.js.map +1 -1
- package/dist/visualization.es454.js +8 -14
- package/dist/visualization.es454.js.map +1 -1
- package/dist/visualization.es455.js +2 -11
- package/dist/visualization.es455.js.map +1 -1
- package/dist/visualization.es456.js +15 -28
- package/dist/visualization.es456.js.map +1 -1
- package/dist/visualization.es457.js +9 -6
- package/dist/visualization.es457.js.map +1 -1
- package/dist/visualization.es458.js +9 -7
- package/dist/visualization.es458.js.map +1 -1
- package/dist/visualization.es459.js +616 -2
- package/dist/visualization.es459.js.map +1 -1
- package/dist/visualization.es46.js +114 -0
- package/dist/visualization.es46.js.map +1 -0
- package/dist/visualization.es460.js +45 -11
- package/dist/visualization.es460.js.map +1 -1
- package/dist/visualization.es461.js +13 -9
- package/dist/visualization.es461.js.map +1 -1
- package/dist/visualization.es462.js +11 -10
- package/dist/visualization.es462.js.map +1 -1
- package/dist/visualization.es463.js +23 -616
- package/dist/visualization.es463.js.map +1 -1
- package/dist/visualization.es464.js +31 -47
- package/dist/visualization.es464.js.map +1 -1
- package/dist/visualization.es465.js +12 -12
- package/dist/visualization.es465.js.map +1 -1
- package/dist/visualization.es466.js +19 -11
- package/dist/visualization.es466.js.map +1 -1
- package/dist/visualization.es467.js +25 -22
- package/dist/visualization.es467.js.map +1 -1
- package/dist/visualization.es468.js +25 -33
- package/dist/visualization.es468.js.map +1 -1
- package/dist/visualization.es469.js +41 -11
- package/dist/visualization.es469.js.map +1 -1
- package/dist/visualization.es47.js +8 -131
- package/dist/visualization.es47.js.map +1 -1
- package/dist/visualization.es470.js +15 -14
- package/dist/visualization.es470.js.map +1 -1
- package/dist/visualization.es471.js +32 -17
- package/dist/visualization.es471.js.map +1 -1
- package/dist/visualization.es472.js +55 -24
- package/dist/visualization.es472.js.map +1 -1
- package/dist/visualization.es473.js +3 -42
- package/dist/visualization.es473.js.map +1 -1
- package/dist/visualization.es474.js +3 -20
- package/dist/visualization.es474.js.map +1 -1
- package/dist/visualization.es475.js +7 -41
- package/dist/visualization.es475.js.map +1 -1
- package/dist/visualization.es476.js +14 -56
- package/dist/visualization.es476.js.map +1 -1
- package/dist/visualization.es477.js +2 -4
- package/dist/visualization.es477.js.map +1 -1
- package/dist/visualization.es478.js +2 -3
- package/dist/visualization.es478.js.map +1 -1
- package/dist/visualization.es479.js +2 -7
- package/dist/visualization.es479.js.map +1 -1
- package/dist/visualization.es48.js +32 -34
- package/dist/visualization.es48.js.map +1 -1
- package/dist/visualization.es480.js +29 -16
- package/dist/visualization.es480.js.map +1 -1
- package/dist/visualization.es481.js +120 -2
- package/dist/visualization.es481.js.map +1 -1
- package/dist/visualization.es482.js +30 -2
- package/dist/visualization.es482.js.map +1 -1
- package/dist/visualization.es483.js +11 -2
- package/dist/visualization.es483.js.map +1 -1
- package/dist/visualization.es484.js +14 -7
- package/dist/visualization.es484.js.map +1 -1
- package/dist/visualization.es485.js +29 -31
- package/dist/visualization.es485.js.map +1 -1
- package/dist/visualization.es486.js +28 -3
- package/dist/visualization.es486.js.map +1 -1
- package/dist/visualization.es487.js +10 -3
- package/dist/visualization.es487.js.map +1 -1
- package/dist/visualization.es488.js +12 -6
- package/dist/visualization.es488.js.map +1 -1
- package/dist/visualization.es489.js +17 -12
- package/dist/visualization.es489.js.map +1 -1
- package/dist/visualization.es49.js +3 -3
- package/dist/visualization.es490.js +24 -2
- package/dist/visualization.es490.js.map +1 -1
- package/dist/visualization.es491.js +16 -3
- package/dist/visualization.es491.js.map +1 -1
- package/dist/visualization.es492.js +96 -3
- package/dist/visualization.es492.js.map +1 -1
- package/dist/visualization.es493.js +28 -10
- package/dist/visualization.es493.js.map +1 -1
- package/dist/visualization.es494.js +71 -4
- package/dist/visualization.es494.js.map +1 -1
- package/dist/visualization.es495.js +50 -31
- package/dist/visualization.es495.js.map +1 -1
- package/dist/visualization.es496.js +35 -29
- package/dist/visualization.es496.js.map +1 -1
- package/dist/visualization.es497.js +39 -117
- package/dist/visualization.es497.js.map +1 -1
- package/dist/visualization.es498.js +8 -28
- package/dist/visualization.es498.js.map +1 -1
- package/dist/visualization.es499.js +9 -10
- package/dist/visualization.es499.js.map +1 -1
- package/dist/visualization.es5.js +99 -106
- package/dist/visualization.es5.js.map +1 -1
- package/dist/visualization.es50.js +53 -9
- package/dist/visualization.es50.js.map +1 -1
- package/dist/visualization.es500.js +6 -13
- package/dist/visualization.es500.js.map +1 -1
- package/dist/visualization.es501.js +8 -32
- package/dist/visualization.es501.js.map +1 -1
- package/dist/visualization.es502.js +5 -27
- package/dist/visualization.es502.js.map +1 -1
- package/dist/visualization.es503.js +5 -10
- package/dist/visualization.es503.js.map +1 -1
- package/dist/visualization.es504.js +14 -12
- package/dist/visualization.es504.js.map +1 -1
- package/dist/visualization.es505.js +5 -17
- package/dist/visualization.es505.js.map +1 -1
- package/dist/visualization.es506.js +6 -23
- package/dist/visualization.es506.js.map +1 -1
- package/dist/visualization.es507.js +6 -16
- package/dist/visualization.es507.js.map +1 -1
- package/dist/visualization.es508.js +6 -96
- package/dist/visualization.es508.js.map +1 -1
- package/dist/visualization.es509.js +3 -28
- package/dist/visualization.es509.js.map +1 -1
- package/dist/visualization.es51.js +23 -55
- package/dist/visualization.es51.js.map +1 -1
- package/dist/visualization.es510.js +4 -71
- package/dist/visualization.es510.js.map +1 -1
- package/dist/visualization.es511.js +8 -50
- package/dist/visualization.es511.js.map +1 -1
- package/dist/visualization.es512.js +7 -35
- package/dist/visualization.es512.js.map +1 -1
- package/dist/visualization.es513.js +33 -40
- package/dist/visualization.es513.js.map +1 -1
- package/dist/visualization.es514.js +3 -61
- package/dist/visualization.es514.js.map +1 -1
- package/dist/visualization.es515.js +3 -237
- package/dist/visualization.es515.js.map +1 -1
- package/dist/visualization.es516.js +6 -992
- package/dist/visualization.es516.js.map +1 -1
- package/dist/visualization.es517.js +12 -29
- package/dist/visualization.es517.js.map +1 -1
- package/dist/visualization.es518.js +2 -10
- package/dist/visualization.es518.js.map +1 -1
- package/dist/visualization.es519.js +3 -9
- package/dist/visualization.es519.js.map +1 -1
- package/dist/visualization.es52.js +180 -44
- package/dist/visualization.es52.js.map +1 -1
- package/dist/visualization.es520.js +3 -6
- package/dist/visualization.es520.js.map +1 -1
- package/dist/visualization.es521.js +10 -8
- package/dist/visualization.es521.js.map +1 -1
- package/dist/visualization.es522.js +4 -6
- package/dist/visualization.es522.js.map +1 -1
- package/dist/visualization.es523.js +32 -5
- package/dist/visualization.es523.js.map +1 -1
- package/dist/visualization.es524.js +236 -13
- package/dist/visualization.es524.js.map +1 -1
- package/dist/visualization.es525.js +992 -5
- package/dist/visualization.es525.js.map +1 -1
- package/dist/visualization.es526.js +61 -6
- package/dist/visualization.es526.js.map +1 -1
- package/dist/visualization.es527.js +33 -6
- package/dist/visualization.es527.js.map +1 -1
- package/dist/visualization.es528.js +29 -6
- package/dist/visualization.es528.js.map +1 -1
- package/dist/visualization.es529.js +33 -3
- package/dist/visualization.es529.js.map +1 -1
- package/dist/visualization.es53.js +141 -29
- package/dist/visualization.es53.js.map +1 -1
- package/dist/visualization.es530.js +25 -5
- package/dist/visualization.es530.js.map +1 -1
- package/dist/visualization.es531.js +44 -8
- package/dist/visualization.es531.js.map +1 -1
- package/dist/visualization.es532.js +9 -34
- package/dist/visualization.es532.js.map +1 -1
- package/dist/visualization.es533.js +15 -30
- package/dist/visualization.es533.js.map +1 -1
- package/dist/visualization.es534.js +16 -34
- package/dist/visualization.es534.js.map +1 -1
- package/dist/visualization.es535.js +15 -24
- package/dist/visualization.es535.js.map +1 -1
- package/dist/visualization.es536.js +24 -46
- package/dist/visualization.es536.js.map +1 -1
- package/dist/visualization.es537.js +6 -9
- package/dist/visualization.es537.js.map +1 -1
- package/dist/visualization.es538.js +28 -15
- package/dist/visualization.es538.js.map +1 -1
- package/dist/visualization.es539.js +11 -16
- package/dist/visualization.es539.js.map +1 -1
- package/dist/visualization.es54.js +180 -65
- package/dist/visualization.es54.js.map +1 -1
- package/dist/visualization.es540.js +14 -16
- package/dist/visualization.es540.js.map +1 -1
- package/dist/visualization.es541.js +8 -24
- package/dist/visualization.es541.js.map +1 -1
- package/dist/visualization.es542.js +8 -6
- package/dist/visualization.es542.js.map +1 -1
- package/dist/visualization.es543.js +19 -10
- package/dist/visualization.es543.js.map +1 -1
- package/dist/visualization.es544.js +61 -12
- package/dist/visualization.es544.js.map +1 -1
- package/dist/visualization.es545.js +5 -8
- package/dist/visualization.es545.js.map +1 -1
- package/dist/visualization.es546.js +4 -8
- package/dist/visualization.es546.js.map +1 -1
- package/dist/visualization.es547.js +2 -20
- package/dist/visualization.es547.js.map +1 -1
- package/dist/visualization.es548.js +17 -61
- package/dist/visualization.es548.js.map +1 -1
- package/dist/visualization.es549.js +282 -28
- package/dist/visualization.es549.js.map +1 -1
- package/dist/visualization.es55.js +50 -42
- package/dist/visualization.es55.js.map +1 -1
- package/dist/visualization.es550.js +2 -5
- package/dist/visualization.es550.js.map +1 -1
- package/dist/visualization.es551.js +127 -3
- package/dist/visualization.es551.js.map +1 -1
- package/dist/visualization.es552.js +4 -2
- package/dist/visualization.es552.js.map +1 -1
- package/dist/visualization.es553.js +3 -281
- package/dist/visualization.es553.js.map +1 -1
- package/dist/visualization.es554.js +16 -2
- package/dist/visualization.es554.js.map +1 -1
- package/dist/visualization.es555.js +3 -127
- package/dist/visualization.es555.js.map +1 -1
- package/dist/visualization.es556.js +8 -17
- package/dist/visualization.es556.js.map +1 -1
- package/dist/visualization.es557.js +4 -3
- package/dist/visualization.es557.js.map +1 -1
- package/dist/visualization.es558.js +5 -3
- package/dist/visualization.es558.js.map +1 -1
- package/dist/visualization.es559.js +8 -14
- package/dist/visualization.es559.js.map +1 -1
- package/dist/visualization.es56.js +39 -46
- package/dist/visualization.es56.js.map +1 -1
- package/dist/visualization.es560.js +5 -1
- package/dist/visualization.es560.js.map +1 -1
- package/dist/visualization.es561.js +4 -9
- package/dist/visualization.es561.js.map +1 -1
- package/dist/visualization.es562.js +3 -4
- package/dist/visualization.es562.js.map +1 -1
- package/dist/visualization.es563.js +4 -6
- package/dist/visualization.es563.js.map +1 -1
- package/dist/visualization.es564.js +11 -9
- package/dist/visualization.es564.js.map +1 -1
- package/dist/visualization.es565.js +9 -7
- package/dist/visualization.es565.js.map +1 -1
- package/dist/visualization.es566.js +30 -4
- package/dist/visualization.es566.js.map +1 -1
- package/dist/visualization.es567.js +24 -3
- package/dist/visualization.es567.js.map +1 -1
- package/dist/visualization.es568.js +52 -4
- package/dist/visualization.es568.js.map +1 -1
- package/dist/visualization.es569.js +3 -11
- package/dist/visualization.es569.js.map +1 -1
- package/dist/visualization.es57.js +42 -3
- package/dist/visualization.es57.js.map +1 -1
- package/dist/visualization.es570.js +8 -9
- package/dist/visualization.es570.js.map +1 -1
- package/dist/visualization.es571.js +20 -30
- package/dist/visualization.es571.js.map +1 -1
- package/dist/visualization.es572.js +7 -24
- package/dist/visualization.es572.js.map +1 -1
- package/dist/visualization.es573.js +6 -51
- package/dist/visualization.es573.js.map +1 -1
- package/dist/visualization.es574.js +5 -3
- package/dist/visualization.es574.js.map +1 -1
- package/dist/visualization.es575.js +7 -8
- package/dist/visualization.es575.js.map +1 -1
- package/dist/visualization.es576.js +15 -20
- package/dist/visualization.es576.js.map +1 -1
- package/dist/visualization.es577.js +4 -7
- package/dist/visualization.es577.js.map +1 -1
- package/dist/visualization.es578.js +6 -6
- package/dist/visualization.es578.js.map +1 -1
- package/dist/visualization.es579.js +34 -5
- package/dist/visualization.es579.js.map +1 -1
- package/dist/visualization.es58.js +5 -46
- package/dist/visualization.es58.js.map +1 -1
- package/dist/visualization.es580.js +7 -6
- package/dist/visualization.es580.js.map +1 -1
- package/dist/visualization.es581.js +32 -15
- package/dist/visualization.es581.js.map +1 -1
- package/dist/visualization.es582.js +9 -4
- package/dist/visualization.es582.js.map +1 -1
- package/dist/visualization.es583.js +9 -6
- package/dist/visualization.es583.js.map +1 -1
- package/dist/visualization.es584.js +17 -33
- package/dist/visualization.es584.js.map +1 -1
- package/dist/visualization.es585.js +6 -7
- package/dist/visualization.es585.js.map +1 -1
- package/dist/visualization.es586.js +7 -32
- package/dist/visualization.es586.js.map +1 -1
- package/dist/visualization.es587.js +13 -9
- package/dist/visualization.es587.js.map +1 -1
- package/dist/visualization.es588.js +71 -8
- package/dist/visualization.es588.js.map +1 -1
- package/dist/visualization.es589.js +28 -17
- package/dist/visualization.es589.js.map +1 -1
- package/dist/visualization.es59.js +4 -3
- package/dist/visualization.es59.js.map +1 -1
- package/dist/visualization.es590.js +5 -7
- package/dist/visualization.es590.js.map +1 -1
- package/dist/visualization.es591.js +24 -6
- package/dist/visualization.es591.js.map +1 -1
- package/dist/visualization.es592.js +11 -13
- package/dist/visualization.es592.js.map +1 -1
- package/dist/visualization.es593.js +4 -72
- package/dist/visualization.es593.js.map +1 -1
- package/dist/visualization.es594.js +4 -29
- package/dist/visualization.es594.js.map +1 -1
- package/dist/visualization.es595.js +4 -5
- package/dist/visualization.es595.js.map +1 -1
- package/dist/visualization.es596.js +13 -26
- package/dist/visualization.es596.js.map +1 -1
- package/dist/visualization.es597.js +17 -11
- package/dist/visualization.es597.js.map +1 -1
- package/dist/visualization.es598.js +13 -4
- package/dist/visualization.es598.js.map +1 -1
- package/dist/visualization.es599.js +13 -4
- package/dist/visualization.es599.js.map +1 -1
- package/dist/visualization.es6.js +16 -16
- package/dist/visualization.es60.js +18 -282
- package/dist/visualization.es60.js.map +1 -1
- package/dist/visualization.es600.js +8 -4
- package/dist/visualization.es600.js.map +1 -1
- package/dist/visualization.es601.js +11 -11
- package/dist/visualization.es601.js.map +1 -1
- package/dist/visualization.es602.js +24 -17
- package/dist/visualization.es602.js.map +1 -1
- package/dist/visualization.es603.js +18 -12
- package/dist/visualization.es603.js.map +1 -1
- package/dist/visualization.es604.js +7 -14
- package/dist/visualization.es604.js.map +1 -1
- package/dist/visualization.es605.js +6 -9
- package/dist/visualization.es605.js.map +1 -1
- package/dist/visualization.es606.js +3 -12
- package/dist/visualization.es606.js.map +1 -1
- package/dist/visualization.es607.js +64 -24
- package/dist/visualization.es607.js.map +1 -1
- package/dist/visualization.es608.js +4 -19
- package/dist/visualization.es608.js.map +1 -1
- package/dist/visualization.es609.js +9 -7
- package/dist/visualization.es609.js.map +1 -1
- package/dist/visualization.es61.js +4 -18
- package/dist/visualization.es61.js.map +1 -1
- package/dist/visualization.es610.js +7 -6
- package/dist/visualization.es610.js.map +1 -1
- package/dist/visualization.es611.js +18 -3
- package/dist/visualization.es611.js.map +1 -1
- package/dist/visualization.es612.js +13 -63
- package/dist/visualization.es612.js.map +1 -1
- package/dist/visualization.es613.js +290 -4
- package/dist/visualization.es613.js.map +1 -1
- package/dist/visualization.es614.js +32 -8
- package/dist/visualization.es614.js.map +1 -1
- package/dist/visualization.es615.js +3 -6
- package/dist/visualization.es615.js.map +1 -1
- package/dist/visualization.es616.js +10 -17
- package/dist/visualization.es616.js.map +1 -1
- package/dist/visualization.es617.js +3 -14
- package/dist/visualization.es617.js.map +1 -1
- package/dist/visualization.es618.js +5 -32
- package/dist/visualization.es618.js.map +1 -1
- package/dist/visualization.es619.js +4 -289
- package/dist/visualization.es619.js.map +1 -1
- package/dist/visualization.es62.js +26 -54
- package/dist/visualization.es62.js.map +1 -1
- package/dist/visualization.es620.js +13 -3
- package/dist/visualization.es620.js.map +1 -1
- package/dist/visualization.es621.js +117 -11
- package/dist/visualization.es621.js.map +1 -1
- package/dist/visualization.es622.js +65 -3
- package/dist/visualization.es622.js.map +1 -1
- package/dist/visualization.es623.js +4 -5
- package/dist/visualization.es623.js.map +1 -1
- package/dist/visualization.es624.js +6 -4
- package/dist/visualization.es624.js.map +1 -1
- package/dist/visualization.es625.js +7 -13
- package/dist/visualization.es625.js.map +1 -1
- package/dist/visualization.es626.js +15 -116
- package/dist/visualization.es626.js.map +1 -1
- package/dist/visualization.es627.js +19 -66
- package/dist/visualization.es627.js.map +1 -1
- package/dist/visualization.es628.js +9 -4
- package/dist/visualization.es628.js.map +1 -1
- package/dist/visualization.es629.js +3 -7
- package/dist/visualization.es629.js.map +1 -1
- package/dist/visualization.es63.js +31 -111
- package/dist/visualization.es63.js.map +1 -1
- package/dist/visualization.es630.js +28 -7
- package/dist/visualization.es630.js.map +1 -1
- package/dist/visualization.es631.js +6 -17
- package/dist/visualization.es631.js.map +1 -1
- package/dist/visualization.es632.js +11 -19
- package/dist/visualization.es632.js.map +1 -1
- package/dist/visualization.es633.js +6 -9
- package/dist/visualization.es633.js.map +1 -1
- package/dist/visualization.es634.js +11 -3
- package/dist/visualization.es634.js.map +1 -1
- package/dist/visualization.es635.js +21 -28
- package/dist/visualization.es635.js.map +1 -1
- package/dist/visualization.es636.js +2 -6
- package/dist/visualization.es636.js.map +1 -1
- package/dist/visualization.es637.js +10 -8
- package/dist/visualization.es637.js.map +1 -1
- package/dist/visualization.es638.js +302 -6
- package/dist/visualization.es638.js.map +1 -1
- package/dist/visualization.es639.js +25 -10
- package/dist/visualization.es639.js.map +1 -1
- package/dist/visualization.es64.js +68 -8
- package/dist/visualization.es64.js.map +1 -1
- package/dist/visualization.es640.js +77 -21
- package/dist/visualization.es640.js.map +1 -1
- package/dist/visualization.es641.js +35 -2
- package/dist/visualization.es641.js.map +1 -1
- package/dist/visualization.es642.js +11 -11
- package/dist/visualization.es642.js.map +1 -1
- package/dist/visualization.es643.js +7 -302
- package/dist/visualization.es643.js.map +1 -1
- package/dist/visualization.es644.js +8 -25
- package/dist/visualization.es644.js.map +1 -1
- package/dist/visualization.es645.js +3 -78
- package/dist/visualization.es645.js.map +1 -1
- package/dist/visualization.es65.js +267 -33
- package/dist/visualization.es65.js.map +1 -1
- package/dist/visualization.es66.js +139 -50
- package/dist/visualization.es66.js.map +1 -1
- package/dist/visualization.es67.js +25 -53
- package/dist/visualization.es67.js.map +1 -1
- package/dist/visualization.es68.js +21 -42
- package/dist/visualization.es68.js.map +1 -1
- package/dist/visualization.es69.js +18 -6
- package/dist/visualization.es69.js.map +1 -1
- package/dist/visualization.es7.js +11 -11
- package/dist/visualization.es70.js +20 -4
- package/dist/visualization.es70.js.map +1 -1
- package/dist/visualization.es71.js +70 -18
- package/dist/visualization.es71.js.map +1 -1
- package/dist/visualization.es72.js +81 -5
- package/dist/visualization.es72.js.map +1 -1
- package/dist/visualization.es73.js +39 -26
- package/dist/visualization.es73.js.map +1 -1
- package/dist/visualization.es74.js +80 -30
- package/dist/visualization.es74.js.map +1 -1
- package/dist/visualization.es75.js +45 -7
- package/dist/visualization.es75.js.map +1 -1
- package/dist/visualization.es76.js +55 -7
- package/dist/visualization.es76.js.map +1 -1
- package/dist/visualization.es77.js +6 -69
- package/dist/visualization.es77.js.map +1 -1
- package/dist/visualization.es78.js +24 -10
- package/dist/visualization.es78.js.map +1 -1
- package/dist/visualization.es79.js +12 -39
- package/dist/visualization.es79.js.map +1 -1
- package/dist/visualization.es8.js +11 -11
- package/dist/visualization.es80.js +56 -79
- package/dist/visualization.es80.js.map +1 -1
- package/dist/visualization.es81.js +7 -45
- package/dist/visualization.es81.js.map +1 -1
- package/dist/visualization.es82.js +7 -55
- package/dist/visualization.es82.js.map +1 -1
- package/dist/visualization.es83.js +29 -7
- package/dist/visualization.es83.js.map +1 -1
- package/dist/visualization.es84.js +64 -25
- package/dist/visualization.es84.js.map +1 -1
- package/dist/visualization.es85.js +61 -12
- package/dist/visualization.es85.js.map +1 -1
- package/dist/visualization.es86.js +3 -57
- package/dist/visualization.es86.js.map +1 -1
- package/dist/visualization.es87.js +47 -36
- package/dist/visualization.es87.js.map +1 -1
- package/dist/visualization.es88.js +3 -193
- package/dist/visualization.es88.js.map +1 -1
- package/dist/visualization.es89.js +278 -141
- package/dist/visualization.es89.js.map +1 -1
- package/dist/visualization.es9.js +1 -1
- package/dist/visualization.es90.js +19 -188
- package/dist/visualization.es90.js.map +1 -1
- package/dist/visualization.es91.js +12 -119
- package/dist/visualization.es91.js.map +1 -1
- package/dist/visualization.es92.js +74 -13
- package/dist/visualization.es92.js.map +1 -1
- package/dist/visualization.es93.js +31 -72
- package/dist/visualization.es93.js.map +1 -1
- package/dist/visualization.es94.js +12 -32
- package/dist/visualization.es94.js.map +1 -1
- package/dist/visualization.es95.js +5 -13
- package/dist/visualization.es95.js.map +1 -1
- package/dist/visualization.es96.js +5 -5
- package/dist/visualization.es97.js +5 -5
- package/dist/visualization.es97.js.map +1 -1
- package/dist/visualization.es98.js +222 -5
- package/dist/visualization.es98.js.map +1 -1
- package/dist/visualization.es99.js +2 -32
- package/dist/visualization.es99.js.map +1 -1
- package/package.json +1 -1
- package/dist/src/components/Heatmap/HeatmapCell.d.ts +0 -29
- package/dist/src/components/Heatmap/HeatmapCell.d.ts.map +0 -1
- package/dist/src/components/Heatmap/HeatmapCells.d.ts +0 -29
- package/dist/src/components/Heatmap/HeatmapCells.d.ts.map +0 -1
- package/dist/src/components/Heatmap/HeatmapStaticSvg.d.ts +0 -32
- package/dist/src/components/Heatmap/HeatmapStaticSvg.d.ts.map +0 -1
- package/dist/src/components/Heatmap/scrollable/HeatmapMiniMap.d.ts.map +0 -1
- package/dist/src/components/Heatmap/scrollable/HeatmapMiniMapPopup.d.ts.map +0 -1
- package/dist/src/components/Heatmap/scrollable/HeatmapScrollableGrid.d.ts +0 -29
- package/dist/src/components/Heatmap/scrollable/HeatmapScrollableGrid.d.ts.map +0 -1
- package/dist/src/components/Heatmap/scrollable/heatmapExport.d.ts +0 -25
- package/dist/src/components/Heatmap/scrollable/heatmapExport.d.ts.map +0 -1
- package/dist/visualization.es43.js +0 -8
- package/dist/visualization.es43.js.map +0 -1
- package/dist/visualization.es646.js +0 -38
- package/dist/visualization.es646.js.map +0 -1
- package/dist/visualization.es647.js +0 -16
- package/dist/visualization.es647.js.map +0 -1
- package/dist/visualization.es648.js +0 -11
- package/dist/visualization.es648.js.map +0 -1
- package/dist/visualization.es649.js +0 -13
- package/dist/visualization.es649.js.map +0 -1
- package/dist/visualization.es650.js +0 -6
- package/dist/visualization.es650.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es113.js","sources":["../src/components/Graph/Legend.tsx"],"sourcesContent":["import React from 'react';\nimport Checkbox from '@mui/material/Checkbox';\nimport { Node, Edge } from './types';\nimport { Typography } from '@mui/material';\n\ninterface LegendProps {\n toggles: { [key: string]: boolean };\n onToggle: (category: string) => void;\n simpleCategories: string[];\n edgeType: boolean;\n colorFunc?: (node: Node | Edge) => string;\n elements: Node[];\n edges: Edge[];\n legendToggle?: (node: Node | Edge) => string;\n legendNodeLabel?: string;\n legendEdgeLabel?: string;\n order?: string[];\n uniqueCat?: string[];\n}\n\nconst Legend: React.FC<LegendProps> = ({\n toggles,\n onToggle,\n simpleCategories,\n edgeType,\n colorFunc,\n elements,\n edges,\n legendToggle,\n legendNodeLabel,\n legendEdgeLabel,\n order,\n uniqueCat,\n}) => {\n const edgeTypes = Array.from(\n new Set(\n edges.map((e) => {\n if (legendToggle) return legendToggle(e);\n else if (e.category) {\n return e.category;\n } else {\n return;\n }\n })\n )\n );\n\n const uniqueCategories = order\n ? order\n : Array.from(new Set(simpleCategories)); // simple names\n\n // loop on uniqueCat if there is order, else loop on uniqueCategories\n return (\n <div\n style={{\n bottom: '10px',\n zIndex: 1000,\n backgroundColor: 'white',\n borderRadius: '5px',\n width: '225px',\n padding: '5px',\n }}\n >\n <Typography\n style={{ fontSize: '18px', margin: '3px', fontFamily: 'Arial' }}\n >\n {legendNodeLabel ? legendNodeLabel : 'Node Type'}\n </Typography>\n {uniqueCat\n ? uniqueCat.map((category) => {\n let color = 'grey';\n let simpleDisplay = '';\n\n elements.forEach((node) => {\n uniqueCategories.forEach((cat) => {\n if (\n colorFunc &&\n legendToggle &&\n legendToggle(node) === cat &&\n node.category === category\n ) {\n color = colorFunc(node);\n simpleDisplay = cat; // simple display category name if legend toggle\n return;\n }\n });\n });\n return (\n <div\n key={category}\n style={{\n display: 'flex',\n alignItems: 'center',\n marginBottom: '4px',\n }}\n >\n <Checkbox\n checked={toggles[category]}\n onChange={() => onToggle(category)}\n color=\"primary\"\n size=\"small\"\n style={{ padding: 0 }}\n />\n <Typography\n variant=\"body2\"\n style={{\n color: color,\n marginLeft: '4px',\n cursor: 'pointer',\n fontSize: '14px',\n fontFamily: 'Arial',\n }}\n onClick={() => onToggle(category)}\n >\n {simpleDisplay} {legendToggle ? '(' : null}\n {legendToggle ? category : null}\n {legendToggle ? ')' : null}\n </Typography>\n </div>\n );\n })\n : uniqueCategories.map((category) => {\n let color = 'grey';\n let nodeCat = '';\n\n elements.forEach((node) => {\n if (\n colorFunc &&\n legendToggle &&\n legendToggle(node) === category\n ) {\n color = colorFunc(node);\n nodeCat = node.category; // category of node\n }\n });\n\n return (\n <div\n key={category}\n style={{\n display: 'flex',\n alignItems: 'center',\n marginBottom: '4px',\n }}\n >\n <Checkbox\n checked={toggles[category]}\n onChange={() => onToggle(category)}\n color=\"primary\"\n size=\"small\"\n style={{ padding: 0 }}\n />\n <Typography\n variant=\"body2\"\n style={{\n color: color,\n marginLeft: '4px',\n cursor: 'pointer',\n fontSize: '14px',\n fontFamily: 'Arial',\n }}\n onClick={() => onToggle(category)}\n >\n {category} {legendToggle ? '(' : null}\n {legendToggle ? nodeCat : null}\n {legendToggle ? ')' : null}\n </Typography>\n </div>\n );\n })}\n\n {edgeType && edgeTypes !== null ? (\n <div>\n <Typography\n style={{ fontSize: '18px', margin: '3px', fontFamily: 'Arial' }}\n >\n {legendEdgeLabel ? legendEdgeLabel : 'Edge Type'}\n </Typography>\n {edgeTypes.map((category) => {\n if (category === undefined) {\n return null;\n }\n let color = 'grey';\n\n edges.forEach((edge) => {\n if (\n colorFunc &&\n legendToggle &&\n legendToggle(edge) === category\n ) {\n color = colorFunc(edge);\n } else if (\n colorFunc &&\n edge.category &&\n edge.category === category\n ) {\n color = colorFunc(edge);\n }\n });\n\n return (\n <div\n key={category}\n style={{\n display: 'flex',\n alignItems: 'center',\n }}\n >\n <Checkbox\n checked={toggles[category]}\n onChange={() => onToggle(category)}\n color=\"primary\"\n size=\"small\"\n style={{ padding: 0 }}\n />\n <Typography\n variant=\"body2\"\n style={{\n color: color,\n marginLeft: '4px',\n cursor: 'pointer',\n fontSize: '14px',\n fontFamily: 'Arial',\n }}\n onClick={() => onToggle(category)}\n >\n {category}\n </Typography>\n </div>\n );\n })}\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default Legend;\n"],"names":["Legend","t0","$","_c","toggles","onToggle","simpleCategories","edgeType","colorFunc","elements","edges","legendToggle","legendNodeLabel","legendEdgeLabel","order","uniqueCat","t1","t2","e","category","Array","from","Set","map","edgeTypes","uniqueCategories","t3","Symbol","for","bottom","zIndex","backgroundColor","borderRadius","width","padding","t4","fontSize","margin","fontFamily","t5","t6","jsx","Typography","t7","color","simpleDisplay","forEach","node","cat","jsxs","display","alignItems","marginBottom","Checkbox","marginLeft","cursor","category_0","color_0","nodeCat","node_0","t8","category_1","undefined","color_1","edge","t9"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"visualization.es113.js","sources":["../src/components/Heatmap/HeatmapCanvasCells.ts"],"sourcesContent":["import type { RectCell, CircleCell } from \"@visx/heatmap\";\nimport type { ColumnDatum, HeatmapCellId, RowDatum } from \"./types\";\nimport { getAnimationPose, type AnimationPose, type AnimationType } from \"../../utility\";\nimport { DIMMED_OPACITY, isOutsideRange, resolveCellAppearance } from \"./heatmapCellAppearance\";\nimport { selectedCellsIn, selectionFrame, type SelectionMarks } from \"./heatmapSelection\";\n\n/** A cell as onClick and tooltipBody receive it - see buildBin. */\nexport type AnyBin = RectCell<ColumnDatum, RowDatum> | CircleCell<ColumnDatum, RowDatum>;\n\n/** What the canvas renderers and hit-testing need to place and color cells. */\nexport interface CanvasCellParams {\n data: ColumnDatum[];\n numRows: number;\n xScale: (column: number) => number;\n cellYScale: (row: number) => number;\n colorScale: (count: number) => string | undefined;\n /** The counts colorScale spans, which the overview samples it across. */\n minValue: number;\n maxValue: number;\n gap: number;\n isRect: boolean;\n binWidth: number;\n binHeight: number;\n yMax: number;\n /** The selected cells' keys, which the grid frames; null where nothing is selected. */\n selectedKeys: Set<string> | null;\n /** The columns and rows holding the selection, which the minimap marks along its edges. */\n selectionMarks: SelectionMarks;\n highlightRange: [number, number] | null;\n}\n\nexport interface CanvasDrawRange {\n colStart: number;\n colEnd: number;\n rowStart: number;\n rowEnd: number;\n}\n\n/** An entry animation, `elapsed` seconds in. */\nexport interface CanvasEntryFrame {\n type: AnimationType;\n elapsed: number;\n /** The column the stagger counts from: the first in view when the animation began. */\n firstColumn: number;\n}\n\nconst clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max);\n\n// visx's HeatmapRect/HeatmapCircle geometry, which buildBin passes on to onClick and tooltipBody,\n// except that circles are centered in their cells.\ntype CellGeometry =\n | { isRect: true; x: number; y: number; width: number; height: number }\n | { isRect: false; cx: number; cy: number; r: number; radius: number };\n\nfunction getCellGeometry(params: CanvasCellParams, col: number, row: number): CellGeometry {\n const { xScale, cellYScale, gap, isRect, binWidth, binHeight } = params;\n if (isRect) {\n return { isRect: true, x: xScale(col), y: cellYScale(row) + gap, width: binWidth - gap, height: binHeight - gap };\n }\n const radius = Math.min(binWidth, binHeight) / 2;\n return { isRect: false, cx: col * binWidth + binWidth / 2, cy: cellYScale(row) + gap + radius, r: radius - gap, radius };\n}\n\n/** A cell's geometry moved, and scaled about its center, by an animation pose. */\nfunction poseCellGeometry(geometry: CellGeometry, pose: AnimationPose): CellGeometry {\n if (geometry.isRect) {\n const width = geometry.width * pose.scale;\n const height = geometry.height * pose.scale;\n return {\n isRect: true,\n x: geometry.x + (geometry.width - width) / 2 + pose.x,\n y: geometry.y + (geometry.height - height) / 2 + pose.y,\n width,\n height,\n };\n }\n return { ...geometry, cx: geometry.cx + pose.x, cy: geometry.cy + pose.y, r: geometry.r * pose.scale };\n}\n\n/**\n * The columns and rows (inclusive) within the scrolled viewport, plus `overscan` either side. Row 0\n * is at the bottom, so the row under content y is floor((yMax - y) / binHeight).\n */\nexport function getVisibleRange(\n params: CanvasCellParams,\n scrollLeft: number,\n scrollTop: number,\n viewportWidth: number,\n viewportHeight: number,\n overscan: number\n): CanvasDrawRange {\n const { data, numRows, binWidth, binHeight, yMax } = params;\n return {\n colStart: clamp(Math.floor(scrollLeft / binWidth) - overscan, 0, Math.max(0, data.length - 1)),\n colEnd: clamp(Math.ceil((scrollLeft + viewportWidth) / binWidth) + overscan, 0, Math.max(0, data.length - 1)),\n rowStart: clamp(Math.floor((yMax - (scrollTop + viewportHeight)) / binHeight) - overscan, 0, Math.max(0, numRows - 1)),\n rowEnd: clamp(Math.floor((yMax - scrollTop) / binHeight) + overscan, 0, Math.max(0, numRows - 1)),\n };\n}\n\n/**\n * Paints the cells in `range` onto `ctx`, whose origin is already at content-space (0,0), and the\n * selection's frame over them. With `entry`, the cells (not the frame) are drawn mid-animation.\n * Returns whether any cell drawn is still animating.\n */\nexport function drawHeatmapCells(\n ctx: CanvasRenderingContext2D,\n params: CanvasCellParams,\n range: CanvasDrawRange,\n hoveredCell: HeatmapCellId | null,\n entry: CanvasEntryFrame | null = null\n): boolean {\n const { data, colorScale, selectedKeys, highlightRange } = params;\n let isEntering = false;\n // Setting fillStyle re-parses the color even when unchanged, so repeats are skipped: an export\n // runs this for every cell. A path is built only for the hovered cell, to stroke its outline.\n let lastFill: string | null = null;\n let lastAlpha = -1;\n for (let col = range.colStart; col <= range.colEnd; col++) {\n const columnDatum = data[col];\n if (!columnDatum) continue;\n // Staggered by column: a column's rows move together.\n const pose = entry ? getAnimationPose(entry.type, Math.max(0, col - entry.firstColumn), entry.elapsed) : null;\n const isPosed = pose !== null && !pose.done;\n if (isPosed) {\n isEntering = true;\n if (pose.opacity <= 0 || pose.scale <= 0) continue;\n }\n for (let row = range.rowStart; row <= range.rowEnd; row++) {\n const rowDatum = columnDatum.rows[row];\n if (!rowDatum) continue;\n const count = rowDatum.count;\n const color = count == null ? undefined : colorScale(count);\n const isDimmed = isOutsideRange(count, highlightRange);\n const { fill, fillOpacity } = resolveCellAppearance(count, color, isDimmed);\n if (fillOpacity <= 0) continue;\n\n const geometry = isPosed ? poseCellGeometry(getCellGeometry(params, col, row), pose) : getCellGeometry(params, col, row);\n const alpha = isPosed ? fillOpacity * pose.opacity : fillOpacity;\n if (alpha !== lastAlpha) {\n ctx.globalAlpha = alpha;\n lastAlpha = alpha;\n }\n if (fill !== lastFill) {\n ctx.fillStyle = fill;\n lastFill = fill;\n }\n\n const isHovered = hoveredCell !== null && hoveredCell.row === row && hoveredCell.column === col;\n if (geometry.isRect) {\n const width = Math.max(geometry.width, 0);\n const height = Math.max(geometry.height, 0);\n ctx.fillRect(geometry.x, geometry.y, width, height);\n if (isHovered) {\n ctx.beginPath();\n ctx.rect(geometry.x, geometry.y, width, height);\n }\n } else {\n ctx.beginPath();\n ctx.arc(geometry.cx, geometry.cy, Math.max(geometry.r, 0), 0, Math.PI * 2);\n ctx.fill();\n }\n\n if (isHovered) {\n // Full strength even on a dimmed cell, but fading in with its cell.\n lastAlpha = isPosed ? pose.opacity : 1;\n ctx.globalAlpha = lastAlpha;\n ctx.lineWidth = 2;\n ctx.strokeStyle = fill;\n ctx.stroke();\n }\n }\n }\n ctx.globalAlpha = 1;\n\n if (selectedKeys) {\n // Past the range by a cell, so the frame's line for a selected cell just outside it still shows.\n const around = {\n colStart: range.colStart - 1,\n colEnd: range.colEnd + 1,\n rowStart: range.rowStart - 1,\n rowEnd: range.rowEnd + 1,\n };\n const bounds = { width: data.length * params.binWidth, height: params.yMax };\n for (const { x, y, width, height, fill } of selectionFrame(selectedKeys, selectedCellsIn(selectedKeys, around), params, bounds)) {\n ctx.fillStyle = fill;\n ctx.fillRect(x, y, width, height);\n }\n }\n return isEntering;\n}\n\n// Colors sampled from colorScale for the overview, which looks them up rather than calling it per cell.\nconst OVERVIEW_LEVELS = 256;\n\nlet colorParser: CanvasRenderingContext2D | null = null;\n/** Any CSS color as RGB, read back off a 1px canvas, so a color the browser understands is one this does. */\nfunction parseColor(css: string): [number, number, number] {\n colorParser ??= document.createElement(\"canvas\").getContext(\"2d\", { willReadFrequently: true });\n if (!colorParser) return [0, 0, 0];\n colorParser.clearRect(0, 0, 1, 1);\n colorParser.fillStyle = \"#000\";\n colorParser.fillStyle = css;\n colorParser.fillRect(0, 0, 1, 1);\n const [r, g, b] = colorParser.getImageData(0, 0, 1, 1).data;\n return [r, g, b];\n}\n\n// Keyed on identities the layout memoizes, which a highlight sweep leaves alone.\nconst lutCache = new WeakMap<object, Uint8ClampedArray>();\nconst countsCache = new WeakMap<ColumnDatum[], Float64Array>();\n\nfunction colorLut(params: CanvasCellParams): Uint8ClampedArray {\n const cached = lutCache.get(params.colorScale);\n if (cached) return cached;\n const { colorScale, minValue, maxValue } = params;\n const lut = new Uint8ClampedArray(OVERVIEW_LEVELS * 3);\n for (let i = 0; i < OVERVIEW_LEVELS; i++) {\n const [r, g, b] = parseColor(colorScale(minValue + ((maxValue - minValue) * i) / (OVERVIEW_LEVELS - 1)) ?? \"#000\");\n lut.set([r, g, b], i * 3);\n }\n lutCache.set(params.colorScale, lut);\n return lut;\n}\n\n/** Every count in one column-major array, NaN where there is none: several times faster to scan than the row objects. */\nfunction flatCounts(data: ColumnDatum[], numRows: number): Float64Array {\n const cached = countsCache.get(data);\n if (cached && cached.length === data.length * numRows) return cached;\n const counts = new Float64Array(data.length * numRows).fill(NaN);\n data.forEach((column, c) =>\n column.rows.forEach((row, r) => {\n if (r < numRows && row.count != null) counts[c * numRows + r] = row.count;\n })\n );\n countsCache.set(data, counts);\n return counts;\n}\n\n/**\n * The whole grid resampled to `width` x `height` pixels for the minimap, written straight into an\n * ImageData: a fillRect per cell took ~400ms on a million-cell grid.\n *\n * Each pixel averages the cells under it. While highlightRange is set, a pixel holding any cell in\n * the range shows those cells alone at full strength, so a lone outlier isn't averaged away. Cells\n * are solid squares here; the minimap marks the selection along its edges instead.\n */\nfunction renderHeatmapOverview(params: CanvasCellParams, width: number, height: number): ImageData | null {\n const { data, numRows, highlightRange, minValue, maxValue } = params;\n const numColumns = data.length;\n if (numColumns === 0 || numRows === 0 || width < 1 || height < 1) return null;\n\n const lut = colorLut(params);\n const counts = flatCounts(data, numRows);\n const span = maxValue - minValue;\n // With no range, every cell is inside it: nothing fades and nothing is singled out.\n const [low, high] = highlightRange ?? [-Infinity, Infinity];\n const image = new ImageData(width, height);\n const pixels = image.data;\n\n // The run of columns (rows) each pixel column (row) covers: at least one, and between them every one.\n const spans = (cells: number, size: number) =>\n Array.from({ length: size }, (_, i) => {\n const start = Math.min(Math.floor((i * cells) / size), cells - 1);\n return [start, Math.max(start + 1, Math.floor(((i + 1) * cells) / size))] as const;\n });\n const columnSpans = spans(numColumns, width);\n // From the top down, where row 0 sits at the bottom of the grid (see cellYScale).\n const rowSpans = spans(numRows, height);\n\n // Scalars and typed arrays only in here: it runs once per cell per redraw.\n for (let y = 0; y < height; y++) {\n const [rowFrom, rowTo] = rowSpans[y];\n for (let x = 0; x < width; x++) {\n const [columnFrom, columnTo] = columnSpans[x];\n // Opacity-weighted sums over every cell, and plain sums over the highlighted ones.\n let r = 0, g = 0, b = 0, a = 0, cells = 0;\n let hr = 0, hg = 0, hb = 0, highlighted = 0;\n for (let column = columnFrom; column < columnTo; column++) {\n const base = column * numRows;\n for (let fromTop = rowFrom; fromTop < rowTo; fromTop++) {\n const index = base + numRows - 1 - fromTop;\n cells++;\n const count = counts[index];\n if (count !== count) continue; // NaN: transparent, as a null cell is drawn nowhere.\n // Held at the ends, as the color scale itself clamps.\n const level = span > 0 ? Math.round(Math.min(Math.max((count - minValue) / span, 0), 1) * (OVERVIEW_LEVELS - 1)) * 3 : 0;\n const cr = lut[level], cg = lut[level + 1], cb = lut[level + 2];\n // isOutsideRange, inlined.\n const inRange = count >= low && count <= high;\n if (inRange && highlightRange) {\n hr += cr; hg += cg; hb += cb; highlighted++;\n }\n const opacity = inRange ? 1 : DIMMED_OPACITY;\n r += cr * opacity; g += cg * opacity; b += cb * opacity; a += opacity;\n }\n }\n const offset = (y * width + x) * 4;\n if (highlighted > 0) {\n pixels[offset] = hr / highlighted;\n pixels[offset + 1] = hg / highlighted;\n pixels[offset + 2] = hb / highlighted;\n pixels[offset + 3] = 255;\n } else if (a > 0) {\n pixels[offset] = r / a;\n pixels[offset + 1] = g / a;\n pixels[offset + 2] = b / a;\n pixels[offset + 3] = (a / cells) * 255;\n }\n }\n }\n return image;\n}\n\nlet overviewScratch: HTMLCanvasElement | null = null;\n\n/**\n * The whole grid, filling the canvas. Rendered at no more than a pixel per cell and stretched\n * nearest-neighbor from there: resampling every pixel of the expanded minimap took over 100ms.\n */\nexport function drawHeatmapOverview(ctx: CanvasRenderingContext2D, params: CanvasCellParams) {\n const { width, height } = ctx.canvas;\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.clearRect(0, 0, width, height);\n const overviewWidth = Math.min(width, params.data.length);\n const overviewHeight = Math.min(height, params.numRows);\n const overview = renderHeatmapOverview(params, overviewWidth, overviewHeight);\n if (!overview) return;\n if (overviewWidth === width && overviewHeight === height) {\n ctx.putImageData(overview, 0, 0);\n } else {\n overviewScratch ??= document.createElement(\"canvas\");\n overviewScratch.width = overviewWidth;\n overviewScratch.height = overviewHeight;\n overviewScratch.getContext(\"2d\")?.putImageData(overview, 0, 0);\n ctx.imageSmoothingEnabled = false;\n ctx.drawImage(overviewScratch, 0, 0, width, height);\n }\n}\n\n/** Content-space (post-scroll-offset) coordinates -> the cell under them, or null if none. */\nexport function hitTestCell(params: CanvasCellParams, contentX: number, contentY: number): HeatmapCellId | null {\n const { data, numRows, binWidth, binHeight, yMax } = params;\n if (contentX < 0 || contentY < 0) return null;\n const column = Math.floor(contentX / binWidth);\n const row = Math.floor((yMax - contentY) / binHeight);\n if (column < 0 || column >= data.length || row < 0 || row >= numRows) return null;\n if (!data[column]?.rows[row]) return null;\n return { row, column };\n}\n\n/** Builds the same bin shape @visx/heatmap's RectCell/CircleCell provide, for onClick/tooltipBody. */\nexport function buildBin(params: CanvasCellParams, cell: HeatmapCellId): AnyBin | null {\n const columnDatum = params.data[cell.column];\n const rowDatum = columnDatum?.rows[cell.row];\n if (!columnDatum || !rowDatum) return null;\n\n const count = rowDatum.count;\n const color = count == null ? undefined : params.colorScale(count);\n const geometry = getCellGeometry(params, cell.column, cell.row);\n const shared = { bin: rowDatum, row: cell.row, column: cell.column, datum: columnDatum, gap: params.gap, count, color, opacity: count == null ? undefined : 1 };\n\n return geometry.isRect\n ? ({ ...shared, x: geometry.x, y: geometry.y, width: geometry.width, height: geometry.height } as AnyBin)\n : ({ ...shared, cx: geometry.cx, cy: geometry.cy, r: geometry.r, radius: geometry.radius } as AnyBin);\n}\n"],"names":["clamp","value","min","max","Math","getCellGeometry","params","col","row","xScale","cellYScale","gap","isRect","binWidth","binHeight","x","y","width","height","radius","cx","cy","r","poseCellGeometry","geometry","pose","scale","getVisibleRange","scrollLeft","scrollTop","viewportWidth","viewportHeight","overscan","data","numRows","yMax","colStart","floor","length","colEnd","ceil","rowStart","rowEnd","drawHeatmapCells","ctx","range","hoveredCell","entry","colorScale","selectedKeys","highlightRange","isEntering","lastFill","lastAlpha","columnDatum","getAnimationPose","type","firstColumn","elapsed","isPosed","done","opacity","rowDatum","rows","count","color","undefined","isDimmed","isOutsideRange","fill","fillOpacity","resolveCellAppearance","alpha","globalAlpha","fillStyle","isHovered","column","fillRect","beginPath","rect","arc","PI","lineWidth","strokeStyle","stroke","around","bounds","selectionFrame","selectedCellsIn","OVERVIEW_LEVELS","colorParser","parseColor","css","document","createElement","getContext","willReadFrequently","clearRect","g","b","getImageData","lutCache","WeakMap","countsCache","colorLut","cached","get","minValue","maxValue","lut","Uint8ClampedArray","i","set","flatCounts","counts","Float64Array","NaN","forEach","c","renderHeatmapOverview","numColumns","span","low","high","Infinity","image","ImageData","pixels","spans","cells","size","Array","from","_","start","columnSpans","rowSpans","rowFrom","rowTo","columnFrom","columnTo","a","hr","hg","hb","highlighted","base","fromTop","index","level","round","cr","cg","cb","inRange","DIMMED_OPACITY","offset","overviewScratch","drawHeatmapOverview","canvas","setTransform","overviewWidth","overviewHeight","overview","putImageData","imageSmoothingEnabled","drawImage","hitTestCell","contentX","contentY","buildBin","cell","shared","bin","datum"],"mappings":"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"}
|
|
@@ -1,150 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { c as
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
let z;
|
|
18
|
-
if (e[15] !== l) {
|
|
19
|
-
const G = l.toString();
|
|
20
|
-
z = G.match(/=>\s*(.*)/)?.[1]?.trim().replace("Math.", "") || G, e[15] = l, e[16] = z;
|
|
21
|
-
} else
|
|
22
|
-
z = e[16];
|
|
23
|
-
let w = z;
|
|
24
|
-
k && (w = k);
|
|
25
|
-
let A;
|
|
26
|
-
e[17] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (A = {
|
|
27
|
-
top: "20vh",
|
|
28
|
-
zIndex: 1e3,
|
|
29
|
-
backgroundColor: "white",
|
|
30
|
-
padding: "10px",
|
|
31
|
-
borderRadius: "5px",
|
|
32
|
-
fontSize: "13px",
|
|
33
|
-
width: "225px",
|
|
34
|
-
textAlign: "left"
|
|
35
|
-
}, e[17] = A) : A = e[17];
|
|
36
|
-
const H = A;
|
|
37
|
-
let C;
|
|
38
|
-
e[18] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (C = {
|
|
39
|
-
display: "flex",
|
|
40
|
-
alignItems: "center",
|
|
41
|
-
justifyContent: "left",
|
|
42
|
-
marginBottom: "5px"
|
|
43
|
-
}, e[18] = C) : C = e[18];
|
|
44
|
-
const I = C;
|
|
45
|
-
m = H;
|
|
46
|
-
let L;
|
|
47
|
-
e[19] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (L = {
|
|
48
|
-
margin: "3px 0",
|
|
49
|
-
fontSize: "16px",
|
|
50
|
-
fontFamily: "Arial"
|
|
51
|
-
}, e[19] = L) : L = e[19];
|
|
52
|
-
let T;
|
|
53
|
-
e[20] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (T = {
|
|
54
|
-
ml: 0.5
|
|
55
|
-
}, e[20] = T) : T = e[20];
|
|
56
|
-
let j;
|
|
57
|
-
e[21] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (j = /* @__PURE__ */ t(N, { fontSize: "small", style: {
|
|
58
|
-
marginBottom: "-4.5px",
|
|
59
|
-
marginTop: "-7px"
|
|
60
|
-
} }), e[21] = j) : j = e[21], e[22] !== w ? (i = /* @__PURE__ */ a(v, { variant: "body2", component: "h4", style: L, children: [
|
|
61
|
-
"Edge Weight Scale:",
|
|
62
|
-
/* @__PURE__ */ t(O, { title: w, color: "primary", sx: T, placement: "bottom", children: j })
|
|
63
|
-
] }), e[22] = w, e[23] = i) : i = e[23], e[24] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (n = {
|
|
64
|
-
display: "flex",
|
|
65
|
-
flexDirection: "column",
|
|
66
|
-
alignItems: "left",
|
|
67
|
-
marginTop: "10px"
|
|
68
|
-
}, e[24] = n) : n = e[24];
|
|
69
|
-
let M;
|
|
70
|
-
e[25] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (M = {
|
|
71
|
-
marginLeft: "10px",
|
|
72
|
-
fontSize: "14px",
|
|
73
|
-
fontFamily: "Arial"
|
|
74
|
-
}, e[25] = M) : M = e[25], y = /* @__PURE__ */ a("div", { style: I, children: [
|
|
75
|
-
/* @__PURE__ */ t("div", { style: {
|
|
76
|
-
width: l(R),
|
|
77
|
-
height: "10px",
|
|
78
|
-
backgroundColor: "black",
|
|
79
|
-
display: "inline-block"
|
|
80
|
-
} }),
|
|
81
|
-
/* @__PURE__ */ t(v, { variant: "body2", style: M, children: R.toFixed(2) })
|
|
82
|
-
] });
|
|
83
|
-
let B;
|
|
84
|
-
e[26] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (B = {
|
|
85
|
-
marginLeft: "10px",
|
|
86
|
-
fontSize: "14px",
|
|
87
|
-
fontFamily: "Arial"
|
|
88
|
-
}, e[26] = B) : B = e[26], p = /* @__PURE__ */ a("div", { style: I, children: [
|
|
89
|
-
/* @__PURE__ */ t("div", { style: {
|
|
90
|
-
width: l($),
|
|
91
|
-
height: "10px",
|
|
92
|
-
backgroundColor: "black",
|
|
93
|
-
display: "inline-block"
|
|
94
|
-
} }),
|
|
95
|
-
/* @__PURE__ */ t(v, { variant: "body2", style: B, children: $.toFixed(2) })
|
|
96
|
-
] });
|
|
97
|
-
let D;
|
|
98
|
-
e[27] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (D = {
|
|
99
|
-
marginLeft: "10px",
|
|
100
|
-
fontSize: "14px",
|
|
101
|
-
fontFamily: "Arial"
|
|
102
|
-
}, e[27] = D) : D = e[27], x = /* @__PURE__ */ a("div", { style: I, children: [
|
|
103
|
-
/* @__PURE__ */ t("div", { style: {
|
|
104
|
-
width: l(q),
|
|
105
|
-
height: "10px",
|
|
106
|
-
backgroundColor: "black",
|
|
107
|
-
display: "inline-block"
|
|
108
|
-
} }),
|
|
109
|
-
/* @__PURE__ */ t(v, { variant: "body2", style: D, children: q.toFixed(2) })
|
|
110
|
-
] }), d = I, h = /* @__PURE__ */ t("div", { style: {
|
|
111
|
-
width: l(W),
|
|
112
|
-
height: "10px",
|
|
113
|
-
backgroundColor: "black",
|
|
114
|
-
display: "inline-block"
|
|
115
|
-
} }), c = v, s = "body2", e[28] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (o = {
|
|
116
|
-
marginLeft: "10px",
|
|
117
|
-
fontSize: "14px",
|
|
118
|
-
fontFamily: "Arial"
|
|
119
|
-
}, e[28] = o) : o = e[28], f = W.toFixed(2), e[0] = k, e[1] = u, e[2] = l, e[3] = c, e[4] = s, e[5] = i, e[6] = m, e[7] = o, e[8] = f, e[9] = d, e[10] = h, e[11] = n, e[12] = y, e[13] = p, e[14] = x;
|
|
120
|
-
} else
|
|
121
|
-
c = e[3], s = e[4], i = e[5], m = e[6], o = e[7], f = e[8], d = e[9], h = e[10], n = e[11], y = e[12], p = e[13], x = e[14];
|
|
122
|
-
let g;
|
|
123
|
-
e[29] !== c || e[30] !== s || e[31] !== o || e[32] !== f ? (g = /* @__PURE__ */ t(c, { variant: s, style: o, children: f }), e[29] = c, e[30] = s, e[31] = o, e[32] = f, e[33] = g) : g = e[33];
|
|
124
|
-
let b;
|
|
125
|
-
e[34] !== g || e[35] !== d || e[36] !== h ? (b = /* @__PURE__ */ a("div", { style: d, children: [
|
|
126
|
-
h,
|
|
127
|
-
g
|
|
128
|
-
] }), e[34] = g, e[35] = d, e[36] = h, e[37] = b) : b = e[37];
|
|
129
|
-
let S;
|
|
130
|
-
e[38] !== b || e[39] !== n || e[40] !== y || e[41] !== p || e[42] !== x ? (S = /* @__PURE__ */ a("div", { style: n, children: [
|
|
131
|
-
y,
|
|
132
|
-
p,
|
|
133
|
-
x,
|
|
134
|
-
b
|
|
135
|
-
] }), e[38] = b, e[39] = n, e[40] = y, e[41] = p, e[42] = x, e[43] = S) : S = e[43];
|
|
136
|
-
let _;
|
|
137
|
-
e[44] !== i || e[45] !== S ? (_ = /* @__PURE__ */ a(J, { children: [
|
|
138
|
-
i,
|
|
139
|
-
S
|
|
140
|
-
] }), e[44] = i, e[45] = S, e[46] = _) : _ = e[46];
|
|
141
|
-
let F;
|
|
142
|
-
return e[47] !== m || e[48] !== _ ? (F = /* @__PURE__ */ t("div", { style: m, children: _ }), e[47] = m, e[48] = _, e[49] = F) : F = e[49], F;
|
|
1
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { c as p } from "react/compiler-runtime";
|
|
3
|
+
import { SELECTION_COLOR as f } from "./visualization.es112.js";
|
|
4
|
+
const m = 6, n = 4, u = ($) => {
|
|
5
|
+
const t = p(6), {
|
|
6
|
+
axis: r,
|
|
7
|
+
marked: s,
|
|
8
|
+
scale: l
|
|
9
|
+
} = $;
|
|
10
|
+
let e;
|
|
11
|
+
t[0] !== s ? (e = [...s], t[0] = s, t[1] = e) : e = t[1];
|
|
12
|
+
let o;
|
|
13
|
+
return t[2] !== r || t[3] !== l || t[4] !== e ? (o = /* @__PURE__ */ i("g", { fill: f, pointerEvents: "none", children: e.map((c) => {
|
|
14
|
+
const a = l(c + 0.5);
|
|
15
|
+
return /* @__PURE__ */ i("path", { d: r === "column" ? `M${a},1 l${n},${m} h${-2 * n} z` : `M-1,${a} l${-m},${-n} v${2 * n} z` }, c);
|
|
16
|
+
}) }), t[2] = r, t[3] = l, t[4] = e, t[5] = o) : o = t[5], o;
|
|
143
17
|
};
|
|
144
|
-
function P(E, e) {
|
|
145
|
-
return E - e;
|
|
146
|
-
}
|
|
147
18
|
export {
|
|
148
|
-
|
|
19
|
+
u as default
|
|
149
20
|
};
|
|
150
21
|
//# sourceMappingURL=visualization.es114.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es114.js","sources":["../src/components/Graph/ScaleLegend.tsx"],"sourcesContent":["import React, { CSSProperties } from 'react';\nimport Typography from '@mui/material/Typography';\nimport InfoIcon from '@mui/icons-material/Info';\nimport Tooltip from '@mui/material/Tooltip';\n\ninterface ScaleProps {\n scales: number[];\n width: (n: number) => number;\n scaleLabel?: string;\n}\n\nconst ScaleLegend: React.FC<ScaleProps> = ({ scales, width, scaleLabel }) => {\n if (scales.length === 0) return null;\n\n const sorted = [...scales].sort((a, b) => a - b);\n const min = sorted[0];\n const max = sorted[sorted.length - 1];\n const mid1 = sorted[Math.floor(sorted.length / 4)];\n const mid2 = sorted[Math.floor((sorted.length * 3) / 4)];\n\n const scaleFunctionStr = width.toString();\n let scaleFormula =\n scaleFunctionStr\n .match(/=>\\s*(.*)/)?.[1]\n ?.trim()\n .replace('Math.', '') || scaleFunctionStr;\n if (scaleLabel) {\n scaleFormula = scaleLabel;\n }\n\n const divStyle: CSSProperties = {\n top: '20vh',\n zIndex: 1000,\n backgroundColor: 'white',\n padding: '10px',\n borderRadius: '5px',\n fontSize: '13px',\n width: '225px',\n textAlign: 'left',\n };\n\n const scaleItemStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'left',\n marginBottom: '5px',\n };\n\n return (\n <div style={divStyle}>\n <>\n <Typography\n variant=\"body2\"\n component=\"h4\"\n style={{\n margin: '3px 0',\n fontSize: '16px',\n fontFamily: 'Arial',\n }}\n >\n Edge Weight Scale:\n <Tooltip\n title={scaleFormula}\n color=\"primary\"\n sx={{ ml: 0.5 }}\n placement=\"bottom\"\n >\n <InfoIcon\n fontSize=\"small\"\n style={{ marginBottom: '-4.5px', marginTop: '-7px' }}\n />\n </Tooltip>\n </Typography>\n\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'left',\n marginTop: '10px',\n }}\n >\n <div style={scaleItemStyle}>\n <div\n style={{\n width: width(min),\n height: '10px',\n backgroundColor: 'black',\n display: 'inline-block',\n }}\n ></div>\n <Typography\n variant=\"body2\"\n style={{\n marginLeft: '10px',\n fontSize: '14px',\n fontFamily: 'Arial',\n }}\n >\n {min.toFixed(2)}\n </Typography>\n </div>\n <div style={scaleItemStyle}>\n <div\n style={{\n width: width(mid1),\n height: '10px',\n backgroundColor: 'black',\n display: 'inline-block',\n }}\n ></div>\n <Typography\n variant=\"body2\"\n style={{\n marginLeft: '10px',\n fontSize: '14px',\n fontFamily: 'Arial',\n }}\n >\n {mid1.toFixed(2)}\n </Typography>\n </div>\n <div style={scaleItemStyle}>\n <div\n style={{\n width: width(mid2),\n height: '10px',\n backgroundColor: 'black',\n display: 'inline-block',\n }}\n ></div>\n <Typography\n variant=\"body2\"\n style={{\n marginLeft: '10px',\n fontSize: '14px',\n fontFamily: 'Arial',\n }}\n >\n {mid2.toFixed(2)}\n </Typography>\n </div>\n <div style={scaleItemStyle}>\n <div\n style={{\n width: width(max),\n height: '10px',\n backgroundColor: 'black',\n display: 'inline-block',\n }}\n ></div>\n <Typography\n variant=\"body2\"\n style={{\n marginLeft: '10px',\n fontSize: '14px',\n fontFamily: 'Arial',\n }}\n >\n {max.toFixed(2)}\n </Typography>\n </div>\n </div>\n </>\n </div>\n );\n};\n\nexport default ScaleLegend;\n"],"names":["ScaleLegend","t0","$","_c","scales","width","scaleLabel","length","T0","t1","t10","t11","t2","t3","t4","t5","t6","t7","t8","t9","sorted","sort","_temp","min","max","mid1","Math","floor","mid2","t12","scaleFunctionStr","toString","match","trim","replace","scaleFormula","t13","Symbol","for","top","zIndex","backgroundColor","padding","borderRadius","fontSize","textAlign","divStyle","t14","display","alignItems","justifyContent","marginBottom","scaleItemStyle","t15","margin","fontFamily","t16","ml","t17","jsx","InfoIcon","marginTop","Typography","Tooltip","flexDirection","t18","marginLeft","jsxs","height","toFixed","t19","t20","a","b"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"visualization.es114.js","sources":["../src/components/Heatmap/HeatmapSelectionPointers.tsx"],"sourcesContent":["import { SELECTION_COLOR } from \"./heatmapSelection\";\n\n/** How far a pointer reaches from the grid, and half its width. */\nconst POINTER_LENGTH = 6;\nconst POINTER_HALF_WIDTH = 4;\n\ninterface HeatmapSelectionPointersProps {\n axis: \"column\" | \"row\";\n /** The columns or rows holding the selection - see selectionMarks. */\n marked: Set<number>;\n /** The axis's scale, from a column or row index to its place along the grid. */\n scale: (value: number) => number;\n}\n\n/**\n * A pointer at the tick of each column or row holding the selection, pointing up at a column from\n * below the grid and right at a row from its left. Drawn in the axis's coordinates, so it scrolls\n * and exports with the axis.\n */\nconst HeatmapSelectionPointers = ({ axis, marked, scale }: HeatmapSelectionPointersProps) => (\n <g fill={SELECTION_COLOR} pointerEvents=\"none\">\n {[...marked].map((index) => {\n const at = scale(index + 0.5);\n return (\n <path\n key={index}\n d={\n axis === \"column\"\n ? `M${at},1 l${POINTER_HALF_WIDTH},${POINTER_LENGTH} h${-2 * POINTER_HALF_WIDTH} z`\n : `M-1,${at} l${-POINTER_LENGTH},${-POINTER_HALF_WIDTH} v${2 * POINTER_HALF_WIDTH} z`\n }\n />\n );\n })}\n </g>\n);\n\nexport default HeatmapSelectionPointers;\n"],"names":["POINTER_LENGTH","POINTER_HALF_WIDTH","HeatmapSelectionPointers","t0","$","_c","axis","marked","scale","t1","t2","SELECTION_COLOR","map","index","at","jsx"],"mappings":";;;AAGA,MAAMA,IAAiB,GACjBC,IAAqB,GAerBC,IAA2BC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GAAC;AAAA,IAAAC,MAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,OAAAA;AAAAA,EAAAA,IAAAL;AAAsD,MAAAM;AAAA,EAAAL,SAAAG,KAEnFE,IAAA,CAAA,GAAIF,CAAM,GAACH,OAAAG,GAAAH,OAAAK,KAAAA,IAAAL,EAAA,CAAA;AAAA,MAAAM;AAAA,SAAAN,EAAA,CAAA,MAAAE,KAAAF,SAAAI,KAAAJ,EAAA,CAAA,MAAAK,KADdC,6BAASC,MAAAA,GAA+B,eAAA,QACrCF,UAAAA,EAAWG,IAAKC,CAAAA,MAAA;AACf,UAAAC,IAAWN,EAAMK,IAAQ,GAAG;AAAE,WAE5B,gBAAAE,YAGI,GAAAT,MAAS,WAAT,IACQQ,CAAE,OAAOb,CAAkB,IAAID,CAAc,KAAK,KAAKC,CAAkB,OADjF,OAEWa,CAAE,KAAK,CAACd,CAAc,IAAI,CAACC,CAAkB,KAAK,IAAIA,CAAkB,KAAA,GAJhFY,CAIoF;AAAA,EAEzF,CAEL,EAAA,CACH,GAAIT,OAAAE,GAAAF,OAAAI,GAAAJ,OAAAK,GAAAL,OAAAM,KAAAA,IAAAN,EAAA,CAAA,GAdJM;AAcI;"}
|
|
@@ -1,61 +1,145 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { c as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
1
|
+
import { jsx as y, jsxs as et } from "react/jsx-runtime";
|
|
2
|
+
import { c as st } from "react/compiler-runtime";
|
|
3
|
+
import { useRef as nt, useEffect as ct } from "react";
|
|
4
|
+
import { drawHeatmapOverview as lt } from "./visualization.es113.js";
|
|
5
|
+
import { SELECTION_COLOR as dt } from "./visualization.es112.js";
|
|
6
|
+
import { useStableCallback as ft } from "./visualization.es20.js";
|
|
7
|
+
const P = (R, t, s) => Math.min(Math.max(R, t), s), ot = 5, ut = 2, wt = (R) => {
|
|
8
|
+
const t = st(70), {
|
|
9
|
+
canvasCellParams: s,
|
|
10
|
+
xMax: d,
|
|
11
|
+
yMax: c,
|
|
12
|
+
viewportWidth: l,
|
|
13
|
+
viewportHeight: f,
|
|
14
|
+
scrollLeft: v,
|
|
15
|
+
scrollTop: T,
|
|
16
|
+
width: n,
|
|
17
|
+
height: o,
|
|
18
|
+
onNavigate: u,
|
|
19
|
+
onCanvasClick: S,
|
|
20
|
+
onReady: rt,
|
|
21
|
+
paused: V
|
|
22
|
+
} = R, h = V === void 0 ? !1 : V, Z = nt(null), r = d > 0 ? n / d : 0, i = c > 0 ? o / c : 0, m = ft(rt);
|
|
23
|
+
let k;
|
|
24
|
+
t[0] !== s || t[1] !== m || t[2] !== h || t[3] !== r || t[4] !== i ? (k = () => {
|
|
25
|
+
const e = Z.current;
|
|
26
|
+
if (!e || h || r <= 0 || i <= 0)
|
|
27
|
+
return;
|
|
28
|
+
const a = requestAnimationFrame(() => {
|
|
29
|
+
const C = e.getContext("2d");
|
|
30
|
+
C && (lt(C, s), m());
|
|
31
|
+
});
|
|
32
|
+
return () => cancelAnimationFrame(a);
|
|
33
|
+
}, t[0] = s, t[1] = m, t[2] = h, t[3] = r, t[4] = i, t[5] = k) : k = t[5];
|
|
34
|
+
let D;
|
|
35
|
+
t[6] !== s || t[7] !== m || t[8] !== o || t[9] !== h || t[10] !== r || t[11] !== i || t[12] !== n ? (D = [s, n, o, r, i, h, m], t[6] = s, t[7] = m, t[8] = o, t[9] = h, t[10] = r, t[11] = i, t[12] = n, t[13] = D) : D = t[13], ct(k, D);
|
|
36
|
+
let H;
|
|
37
|
+
t[14] !== u || t[15] !== f || t[16] !== l || t[17] !== d || t[18] !== c ? (H = (e, a) => {
|
|
38
|
+
u(P(e - l / 2, 0, Math.max(0, d - l)), P(a - f / 2, 0, Math.max(0, c - f)));
|
|
39
|
+
}, t[14] = u, t[15] = f, t[16] = l, t[17] = d, t[18] = c, t[19] = H) : H = t[19];
|
|
40
|
+
const F = H;
|
|
41
|
+
let I;
|
|
42
|
+
t[20] !== F || t[21] !== S || t[22] !== r || t[23] !== i ? (I = (e) => {
|
|
43
|
+
if (S) {
|
|
44
|
+
S();
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (r <= 0 || i <= 0)
|
|
48
|
+
return;
|
|
49
|
+
const a = e.currentTarget.getBoundingClientRect();
|
|
50
|
+
F((e.clientX - a.left) / r, (e.clientY - a.top) / i);
|
|
51
|
+
}, t[20] = F, t[21] = S, t[22] = r, t[23] = i, t[24] = I) : I = t[24];
|
|
52
|
+
const K = I, L = nt(null);
|
|
53
|
+
let E;
|
|
54
|
+
t[25] !== v || t[26] !== T ? (E = (e) => {
|
|
55
|
+
e.stopPropagation(), e.currentTarget.setPointerCapture(e.pointerId), L.current = {
|
|
56
|
+
x: e.clientX,
|
|
57
|
+
y: e.clientY,
|
|
58
|
+
left: v,
|
|
59
|
+
top: T
|
|
60
|
+
};
|
|
61
|
+
}, t[25] = v, t[26] = T, t[27] = E) : E = t[27];
|
|
62
|
+
const U = E;
|
|
63
|
+
let A;
|
|
64
|
+
t[28] !== u || t[29] !== r || t[30] !== i || t[31] !== f || t[32] !== l || t[33] !== d || t[34] !== c ? (A = (e) => {
|
|
65
|
+
const a = L.current;
|
|
66
|
+
!a || r <= 0 || i <= 0 || !e.currentTarget.hasPointerCapture(e.pointerId) || u(P(a.left + (e.clientX - a.x) / r, 0, Math.max(0, d - l)), P(a.top + (e.clientY - a.y) / i, 0, Math.max(0, c - f)));
|
|
67
|
+
}, t[28] = u, t[29] = r, t[30] = i, t[31] = f, t[32] = l, t[33] = d, t[34] = c, t[35] = A) : A = t[35];
|
|
68
|
+
const q = A;
|
|
69
|
+
let O;
|
|
70
|
+
t[36] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (O = (e) => {
|
|
71
|
+
e.currentTarget.releasePointerCapture(e.pointerId), L.current = null;
|
|
72
|
+
}, t[36] = O) : O = t[36];
|
|
73
|
+
const it = O;
|
|
74
|
+
let X;
|
|
75
|
+
t[37] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (X = () => {
|
|
76
|
+
L.current = null;
|
|
77
|
+
}, t[37] = X) : X = t[37];
|
|
78
|
+
const at = X, {
|
|
79
|
+
columns: Y,
|
|
80
|
+
rows: z
|
|
81
|
+
} = s.selectionMarks, B = s.data.length, {
|
|
82
|
+
numRows: N
|
|
83
|
+
} = s, tt = ht, W = P(v * r, 0, n), $ = P(T * i, 0, o), _ = Math.max(0, Math.min(l * r, n - W)), G = Math.max(0, Math.min(f * i, o - $));
|
|
46
84
|
let p;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
85
|
+
t[38] !== o || t[39] !== n ? (p = {
|
|
86
|
+
position: "relative",
|
|
87
|
+
width: n,
|
|
88
|
+
height: o
|
|
89
|
+
}, t[38] = o, t[39] = n, t[40] = p) : p = t[40];
|
|
90
|
+
const J = n * (window.devicePixelRatio || 1), Q = o * (window.devicePixelRatio || 1);
|
|
91
|
+
let x;
|
|
92
|
+
t[41] !== o || t[42] !== n ? (x = {
|
|
93
|
+
width: n,
|
|
94
|
+
height: o,
|
|
95
|
+
display: "block",
|
|
96
|
+
cursor: "pointer",
|
|
97
|
+
border: "1px solid #d5d5d5",
|
|
98
|
+
boxSizing: "border-box"
|
|
99
|
+
}, t[41] = o, t[42] = n, t[43] = x) : x = t[43];
|
|
100
|
+
let g;
|
|
101
|
+
t[44] !== K || t[45] !== J || t[46] !== Q || t[47] !== x ? (g = /* @__PURE__ */ y("canvas", { ref: Z, width: J, height: Q, style: x, onPointerDown: K }), t[44] = K, t[45] = J, t[46] = Q, t[47] = x, t[48] = g) : g = t[48];
|
|
102
|
+
let M;
|
|
103
|
+
t[49] !== G || t[50] !== W || t[51] !== $ || t[52] !== _ ? (M = {
|
|
104
|
+
position: "absolute",
|
|
105
|
+
left: W,
|
|
106
|
+
top: $,
|
|
107
|
+
width: _,
|
|
108
|
+
height: G,
|
|
109
|
+
border: "2px solid #0d0f98",
|
|
110
|
+
backgroundColor: "rgba(13, 15, 152, 0.15)",
|
|
111
|
+
cursor: "grab",
|
|
112
|
+
boxSizing: "border-box"
|
|
113
|
+
}, t[49] = G, t[50] = W, t[51] = $, t[52] = _, t[53] = M) : M = t[53];
|
|
114
|
+
let b;
|
|
115
|
+
t[54] !== U || t[55] !== q || t[56] !== M ? (b = /* @__PURE__ */ y("div", { onPointerDown: U, onPointerMove: q, onPointerUp: it, onLostPointerCapture: at, style: M }), t[54] = U, t[55] = q, t[56] = M, t[57] = b) : b = t[57];
|
|
116
|
+
let w;
|
|
117
|
+
t[58] !== Y || t[59] !== o || t[60] !== B || t[61] !== N || t[62] !== z || t[63] !== n ? (w = (Y.size > 0 || z.size > 0) && /* @__PURE__ */ y("svg", { width: n, height: o, style: {
|
|
118
|
+
position: "absolute",
|
|
119
|
+
inset: 0,
|
|
120
|
+
pointerEvents: "none"
|
|
121
|
+
}, "aria-hidden": !0, children: /* @__PURE__ */ et("g", { fill: dt, children: [
|
|
122
|
+
[...Y].map((e) => {
|
|
123
|
+
const [a, C] = tt(e, B, n);
|
|
124
|
+
return /* @__PURE__ */ y("rect", { x: a, y: 0, width: C, height: ot }, `c${e}`);
|
|
125
|
+
}),
|
|
126
|
+
[...z].map((e) => {
|
|
127
|
+
const [a, C] = tt(N - 1 - e, N, o);
|
|
128
|
+
return /* @__PURE__ */ y("rect", { x: 0, y: a, width: ot, height: C }, `r${e}`);
|
|
129
|
+
})
|
|
130
|
+
] }) }), t[58] = Y, t[59] = o, t[60] = B, t[61] = N, t[62] = z, t[63] = n, t[64] = w) : w = t[64];
|
|
131
|
+
let j;
|
|
132
|
+
return t[65] !== p || t[66] !== g || t[67] !== b || t[68] !== w ? (j = /* @__PURE__ */ et("div", { style: p, children: [
|
|
133
|
+
g,
|
|
134
|
+
b,
|
|
135
|
+
w
|
|
136
|
+
] }), t[65] = p, t[66] = g, t[67] = b, t[68] = w, t[69] = j) : j = t[69], j;
|
|
57
137
|
};
|
|
138
|
+
function ht(R, t, s) {
|
|
139
|
+
const d = R * s / t, c = s / t, l = Math.max(0, ut - c) / 2;
|
|
140
|
+
return [d - l, c + 2 * l];
|
|
141
|
+
}
|
|
58
142
|
export {
|
|
59
|
-
|
|
143
|
+
wt as default
|
|
60
144
|
};
|
|
61
145
|
//# sourceMappingURL=visualization.es115.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es115.js","sources":["../src/components/PhyloTree/ControlPanel.tsx"],"sourcesContent":["import { Add, Remove, SettingsBackupRestore, Timeline } from \"@mui/icons-material\";\nimport { Tooltip, IconButton } from \"@mui/material\";\nimport { ProvidedZoom } from \"@visx/zoom\";\n\nexport type ControlPanelProps = {\n scaleZoom: ProvidedZoom<SVGSVGElement>[\"scale\"]\n resetZoom: ProvidedZoom<SVGSVGElement>[\"reset\"]\n toggleBranchLength: () => void\n}\n\nexport const ControlPanel = ({scaleZoom, resetZoom, toggleBranchLength}: ControlPanelProps) => {\n return (\n <div\n style={{\n position: \"absolute\",\n margin: \"4px\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n background: \"rgba(255, 255, 255, 0.6)\",\n backdropFilter: \"blur(2px)\",\n WebkitBackdropFilter: \"blur(2px)\", // Safari support\n border: \"1px solid rgba(255, 255, 255, 0.3)\",\n boxShadow: \"0 2px 8px rgba(0, 0, 0, 0.1)\",\n }}\n >\n <Tooltip title=\"Zoom In\" placement=\"right\">\n <IconButton onClick={() => scaleZoom({ scaleX: 1.2, scaleY: 1.2 })}>\n <Add fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Zoom Out\" placement=\"right\">\n <IconButton onClick={() => scaleZoom({ scaleX: 1 / 1.2, scaleY: 1 / 1.2 })}>\n <Remove fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Reset Zoom\" placement=\"right\">\n <IconButton onClick={resetZoom}>\n <SettingsBackupRestore fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Toggle Evolutionary Distance\" placement=\"right\">\n <IconButton onClick={toggleBranchLength}>\n <Timeline fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n </div>\n );\n}"],"names":["ControlPanel","t0","$","_c","scaleZoom","resetZoom","toggleBranchLength","t1","Symbol","for","position","margin","display","flexDirection","alignItems","background","backdropFilter","WebkitBackdropFilter","border","boxShadow","t2","scaleX","scaleY","t3","Add","t4","jsx","Tooltip","IconButton","t5","t6","Remove","t7","t8","SettingsBackupRestore","t9","t10","Timeline","t11","t12","jsxs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"visualization.es115.js","sources":["../src/components/Heatmap/HeatmapMiniMap.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef } from \"react\";\nimport { useStableCallback } from \"../../hooks\";\nimport { drawHeatmapOverview, type CanvasCellParams } from \"./HeatmapCanvasCells\";\nimport { SELECTION_COLOR } from \"./heatmapSelection\";\n\nexport interface HeatmapMiniMapProps {\n canvasCellParams: CanvasCellParams;\n xMax: number;\n yMax: number;\n viewportWidth: number;\n viewportHeight: number;\n scrollLeft: number;\n scrollTop: number;\n width: number;\n height: number;\n onNavigate: (left: number, top: number) => void;\n onCanvasClick?: () => void;\n /** Fires after each draw, so the expanded popup can hide its spinner. */\n onReady?: () => void;\n /**\n * Skips redrawing while out of sight - the inline minimap under the expanded one - so a sweep\n * doesn't draw the whole grid twice. Redraws once lifted.\n */\n paused?: boolean;\n}\n\nconst clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max);\n\n/** How far a selection mark reaches in from the edge, and its narrowest width. */\nconst MARK_DEPTH = 5;\nconst MARK_MIN_WIDTH = 2;\n\nconst HeatmapMiniMap = ({\n canvasCellParams,\n xMax,\n yMax,\n viewportWidth,\n viewportHeight,\n scrollLeft,\n scrollTop,\n width,\n height,\n onNavigate,\n onCanvasClick,\n onReady,\n paused = false,\n}: HeatmapMiniMapProps) => {\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n const scaleX = xMax > 0 ? width / xMax : 0;\n const scaleY = yMax > 0 ? height / yMax : 0;\n\n // Stable, so an inline onReady doesn't re-run the draw on every parent render.\n const handleReady = useStableCallback(onReady);\n\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas || paused || scaleX <= 0 || scaleY <= 0) return;\n // A frame later, so the expanded popup paints before the whole-grid draw.\n const raf = requestAnimationFrame(() => {\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) return;\n drawHeatmapOverview(ctx, canvasCellParams);\n handleReady();\n });\n return () => cancelAnimationFrame(raf);\n }, [canvasCellParams, width, height, scaleX, scaleY, paused, handleReady]);\n\n const navigateCentered = useCallback(\n (contentX: number, contentY: number) => {\n onNavigate(\n clamp(contentX - viewportWidth / 2, 0, Math.max(0, xMax - viewportWidth)),\n clamp(contentY - viewportHeight / 2, 0, Math.max(0, yMax - viewportHeight))\n );\n },\n [onNavigate, viewportWidth, viewportHeight, xMax, yMax]\n );\n\n const handleCanvasPointerDown = useCallback(\n (event: React.PointerEvent<HTMLCanvasElement>) => {\n if (onCanvasClick) {\n onCanvasClick();\n return;\n }\n if (scaleX <= 0 || scaleY <= 0) return;\n const rect = event.currentTarget.getBoundingClientRect();\n navigateCentered((event.clientX - rect.left) / scaleX, (event.clientY - rect.top) / scaleY);\n },\n [onCanvasClick, navigateCentered, scaleX, scaleY]\n );\n\n /**\n * The pointer and scroll position when the rectangle was grabbed. Each move places it by the\n * pointer's distance from there, so it stays under the pointer; adding up movementX instead\n * drifted, as scrollLeft lags a frame and each step's rounding built up.\n */\n const grabRef = useRef<{ x: number; y: number; left: number; top: number } | null>(null);\n\n const handleRectPointerDown = useCallback(\n (event: React.PointerEvent<HTMLDivElement>) => {\n event.stopPropagation();\n event.currentTarget.setPointerCapture(event.pointerId);\n grabRef.current = { x: event.clientX, y: event.clientY, left: scrollLeft, top: scrollTop };\n },\n [scrollLeft, scrollTop]\n );\n\n const handleRectPointerMove = useCallback(\n (event: React.PointerEvent<HTMLDivElement>) => {\n const grab = grabRef.current;\n if (!grab || scaleX <= 0 || scaleY <= 0 || !event.currentTarget.hasPointerCapture(event.pointerId)) return;\n onNavigate(\n clamp(grab.left + (event.clientX - grab.x) / scaleX, 0, Math.max(0, xMax - viewportWidth)),\n clamp(grab.top + (event.clientY - grab.y) / scaleY, 0, Math.max(0, yMax - viewportHeight))\n );\n },\n [scaleX, scaleY, xMax, yMax, viewportWidth, viewportHeight, onNavigate]\n );\n\n const handleRectPointerUp = useCallback((event: React.PointerEvent<HTMLDivElement>) => {\n event.currentTarget.releasePointerCapture(event.pointerId);\n grabRef.current = null;\n }, []);\n\n // A capture can also end without a pointerup, e.g. when the browser cancels the gesture.\n const handleRectLostCapture = useCallback(() => {\n grabRef.current = null;\n }, []);\n\n const { columns, rows } = canvasCellParams.selectionMarks;\n const numColumns = canvasCellParams.data.length;\n const { numRows } = canvasCellParams;\n // Cell i's span along an edge `size` pixels long, widened to at least MARK_MIN_WIDTH.\n const markSpan = (i: number, cells: number, size: number) => {\n const from = (i * size) / cells;\n const run = size / cells;\n const extra = Math.max(0, MARK_MIN_WIDTH - run) / 2;\n return [from - extra, run + 2 * extra] as const;\n };\n\n const rectLeft = clamp(scrollLeft * scaleX, 0, width);\n const rectTop = clamp(scrollTop * scaleY, 0, height);\n const rectWidth = Math.max(0, Math.min(viewportWidth * scaleX, width - rectLeft));\n const rectHeight = Math.max(0, Math.min(viewportHeight * scaleY, height - rectTop));\n\n return (\n <div style={{ position: \"relative\", width, height }}>\n <canvas\n ref={canvasRef}\n width={width * (window.devicePixelRatio || 1)}\n height={height * (window.devicePixelRatio || 1)}\n style={{ width, height, display: \"block\", cursor: \"pointer\", border: \"1px solid #d5d5d5\", boxSizing: \"border-box\" }}\n onPointerDown={handleCanvasPointerDown}\n />\n <div\n onPointerDown={handleRectPointerDown}\n onPointerMove={handleRectPointerMove}\n onPointerUp={handleRectPointerUp}\n onLostPointerCapture={handleRectLostCapture}\n style={{\n position: \"absolute\",\n left: rectLeft,\n top: rectTop,\n width: rectWidth,\n height: rectHeight,\n border: \"2px solid #0d0f98\",\n backgroundColor: \"rgba(13, 15, 152, 0.15)\",\n cursor: \"grab\",\n boxSizing: \"border-box\",\n }}\n />\n {/*\n The selection's columns and rows, marked along the top and left edges since a column here\n can be under a pixel wide. Above the viewport rectangle so its border can't cover them.\n */}\n {(columns.size > 0 || rows.size > 0) && (\n <svg\n width={width}\n height={height}\n style={{ position: \"absolute\", inset: 0, pointerEvents: \"none\" }}\n aria-hidden\n >\n <g fill={SELECTION_COLOR}>\n {[...columns].map((column) => {\n const [x, w] = markSpan(column, numColumns, width);\n return <rect key={`c${column}`} x={x} y={0} width={w} height={MARK_DEPTH} />;\n })}\n {/* Row 0 is at the bottom. */}\n {[...rows].map((row) => {\n const [y, h] = markSpan(numRows - 1 - row, numRows, height);\n return <rect key={`r${row}`} x={0} y={y} width={MARK_DEPTH} height={h} />;\n })}\n </g>\n </svg>\n )}\n </div>\n );\n};\n\nexport default HeatmapMiniMap;\n"],"names":["clamp","value","min","max","Math","MARK_DEPTH","MARK_MIN_WIDTH","HeatmapMiniMap","t0","$","_c","canvasCellParams","xMax","yMax","viewportWidth","viewportHeight","scrollLeft","scrollTop","width","height","onNavigate","onCanvasClick","onReady","paused","t1","undefined","canvasRef","useRef","scaleX","scaleY","handleReady","useStableCallback","t2","canvas","current","raf","requestAnimationFrame","ctx","getContext","drawHeatmapOverview","cancelAnimationFrame","t3","useEffect","t4","contentX","contentY","navigateCentered","t5","event","rect","currentTarget","getBoundingClientRect","clientX","left","clientY","top","handleCanvasPointerDown","grabRef","t6","event_0","stopPropagation","setPointerCapture","pointerId","x","y","handleRectPointerDown","t7","event_1","grab","hasPointerCapture","handleRectPointerMove","t8","Symbol","for","event_2","releasePointerCapture","handleRectPointerUp","t9","handleRectLostCapture","columns","rows","selectionMarks","numColumns","data","length","numRows","markSpan","_temp","rectLeft","rectTop","rectWidth","rectHeight","t10","position","t11","window","devicePixelRatio","t12","t13","display","cursor","border","boxSizing","t14","jsx","t15","backgroundColor","t16","t17","size","inset","pointerEvents","jsxs","SELECTION_COLOR","map","column","w","row","h","t18","i","cells","from","run","extra"],"mappings":"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"}
|