@weng-lab/visualization 2.5.1 → 2.6.0-beta.1
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 +1 -1
- package/dist/src/components/Heatmap/Heatmap.d.ts.map +1 -1
- package/dist/src/components/Heatmap/HeatmapCanvasCells.d.ts +17 -13
- package/dist/src/components/Heatmap/HeatmapCanvasCells.d.ts.map +1 -1
- package/dist/src/components/Heatmap/HeatmapCell.d.ts +4 -11
- package/dist/src/components/Heatmap/HeatmapCell.d.ts.map +1 -1
- package/dist/src/components/Heatmap/HeatmapCells.d.ts +3 -3
- package/dist/src/components/Heatmap/HeatmapCells.d.ts.map +1 -1
- package/dist/src/components/Heatmap/HeatmapLegend.d.ts +4 -3
- package/dist/src/components/Heatmap/HeatmapLegend.d.ts.map +1 -1
- package/dist/src/components/Heatmap/HeatmapSelectionPointers.d.ts +15 -0
- package/dist/src/components/Heatmap/HeatmapSelectionPointers.d.ts.map +1 -0
- package/dist/src/components/Heatmap/HeatmapStaticSvg.d.ts +4 -5
- package/dist/src/components/Heatmap/HeatmapStaticSvg.d.ts.map +1 -1
- package/dist/src/components/Heatmap/heatmapAxisProps.d.ts +9 -0
- package/dist/src/components/Heatmap/heatmapAxisProps.d.ts.map +1 -1
- package/dist/src/components/Heatmap/heatmapCellAppearance.d.ts +7 -9
- package/dist/src/components/Heatmap/heatmapCellAppearance.d.ts.map +1 -1
- package/dist/src/components/Heatmap/heatmapLayout.d.ts +14 -2
- package/dist/src/components/Heatmap/heatmapLayout.d.ts.map +1 -1
- package/dist/src/components/Heatmap/heatmapSelection.d.ts +48 -0
- package/dist/src/components/Heatmap/heatmapSelection.d.ts.map +1 -0
- package/dist/src/components/Heatmap/hooks/useHeatmapCanvasGrid.d.ts +1 -2
- package/dist/src/components/Heatmap/hooks/useHeatmapCanvasGrid.d.ts.map +1 -1
- package/dist/src/components/Heatmap/hooks/useScrollToSelection.d.ts +1 -2
- package/dist/src/components/Heatmap/hooks/useScrollToSelection.d.ts.map +1 -1
- package/dist/src/components/Heatmap/scrollable/HeatmapMiniMap.d.ts +7 -3
- package/dist/src/components/Heatmap/scrollable/HeatmapMiniMap.d.ts.map +1 -1
- package/dist/src/components/Heatmap/scrollable/HeatmapMiniMapPopup.d.ts +6 -3
- package/dist/src/components/Heatmap/scrollable/HeatmapMiniMapPopup.d.ts.map +1 -1
- package/dist/src/components/Heatmap/scrollable/HeatmapScrollableGrid.d.ts +4 -3
- package/dist/src/components/Heatmap/scrollable/HeatmapScrollableGrid.d.ts.map +1 -1
- package/dist/src/components/Heatmap/scrollable/heatmapExport.d.ts.map +1 -1
- package/dist/src/components/Heatmap/types.d.ts +32 -10
- package/dist/src/components/Heatmap/types.d.ts.map +1 -1
- package/dist/src/components/ScatterPlot/ScatterPlotViewport.d.ts.map +1 -1
- package/dist/src/components/ScatterPlot/controls.d.ts.map +1 -1
- package/dist/src/components/ScatterPlot/helpers.d.ts +5 -0
- package/dist/src/components/ScatterPlot/helpers.d.ts.map +1 -1
- package/dist/src/components/ScatterPlot/minimap.d.ts.map +1 -1
- package/dist/visualization.es10.js +11 -11
- package/dist/visualization.es100.js +43 -142
- package/dist/visualization.es100.js.map +1 -1
- package/dist/visualization.es101.js +72 -143
- package/dist/visualization.es101.js.map +1 -1
- package/dist/visualization.es102.js +25 -5
- package/dist/visualization.es102.js.map +1 -1
- package/dist/visualization.es103.js +85 -5
- package/dist/visualization.es103.js.map +1 -1
- package/dist/visualization.es104.js +36 -5
- package/dist/visualization.es104.js.map +1 -1
- package/dist/visualization.es105.js +222 -32
- package/dist/visualization.es105.js.map +1 -1
- package/dist/visualization.es106.js +2 -45
- package/dist/visualization.es106.js.map +1 -1
- package/dist/visualization.es107.js +557 -76
- package/dist/visualization.es107.js.map +1 -1
- package/dist/visualization.es108.js +214 -25
- package/dist/visualization.es108.js.map +1 -1
- package/dist/visualization.es109.js +2 -85
- package/dist/visualization.es109.js.map +1 -1
- package/dist/visualization.es11.js +10 -10
- package/dist/visualization.es110.js +4798 -34
- package/dist/visualization.es110.js.map +1 -1
- package/dist/visualization.es111.js +25 -15
- package/dist/visualization.es111.js.map +1 -1
- package/dist/visualization.es112.js +43 -13
- package/dist/visualization.es112.js.map +1 -1
- package/dist/visualization.es113.js +142 -43
- package/dist/visualization.es113.js.map +1 -1
- package/dist/visualization.es114.js +146 -21
- package/dist/visualization.es114.js.map +1 -1
- package/dist/visualization.es115.js +58 -124
- package/dist/visualization.es115.js.map +1 -1
- package/dist/visualization.es116.js +31 -79
- package/dist/visualization.es116.js.map +1 -1
- package/dist/visualization.es117.js +18 -156
- package/dist/visualization.es117.js.map +1 -1
- package/dist/visualization.es118.js +13 -82
- package/dist/visualization.es118.js.map +1 -1
- package/dist/visualization.es119.js +25 -37
- package/dist/visualization.es119.js.map +1 -1
- package/dist/visualization.es120.js +15 -60
- package/dist/visualization.es120.js.map +1 -1
- package/dist/visualization.es121.js +15 -47
- package/dist/visualization.es121.js.map +1 -1
- package/dist/visualization.es124.js +55 -13
- package/dist/visualization.es124.js.map +1 -1
- package/dist/visualization.es125.js +24 -58
- package/dist/visualization.es125.js.map +1 -1
- package/dist/visualization.es126.js +83 -31
- package/dist/visualization.es126.js.map +1 -1
- package/dist/visualization.es127.js +223 -18
- package/dist/visualization.es127.js.map +1 -1
- package/dist/visualization.es128.js +18 -14
- package/dist/visualization.es128.js.map +1 -1
- package/dist/visualization.es129.js +103 -26
- package/dist/visualization.es129.js.map +1 -1
- package/dist/visualization.es13.js +2 -2
- package/dist/visualization.es130.js +172 -71
- package/dist/visualization.es130.js.map +1 -1
- package/dist/visualization.es131.js +81 -32
- package/dist/visualization.es131.js.map +1 -1
- package/dist/visualization.es132.js +36 -12
- package/dist/visualization.es132.js.map +1 -1
- package/dist/visualization.es133.js +56 -2
- package/dist/visualization.es133.js.map +1 -1
- package/dist/visualization.es134.js +47 -1606
- package/dist/visualization.es134.js.map +1 -1
- package/dist/visualization.es135.js +2 -4
- package/dist/visualization.es135.js.map +1 -1
- package/dist/visualization.es136.js +1605 -72
- package/dist/visualization.es136.js.map +1 -1
- package/dist/visualization.es137.js +18 -5
- package/dist/visualization.es137.js.map +1 -1
- package/dist/visualization.es138.js +82 -20
- package/dist/visualization.es138.js.map +1 -1
- package/dist/visualization.es139.js +5 -23
- package/dist/visualization.es139.js.map +1 -1
- package/dist/visualization.es14.js +7 -7
- package/dist/visualization.es140.js +87 -38
- package/dist/visualization.es140.js.map +1 -1
- package/dist/visualization.es141.js +12 -7
- package/dist/visualization.es141.js.map +1 -1
- package/dist/visualization.es142.js +4 -11
- package/dist/visualization.es142.js.map +1 -1
- package/dist/visualization.es143.js +12 -15
- package/dist/visualization.es143.js.map +1 -1
- package/dist/visualization.es144.js +6 -36
- package/dist/visualization.es144.js.map +1 -1
- package/dist/visualization.es145.js +13 -24
- package/dist/visualization.es145.js.map +1 -1
- package/dist/visualization.es146.js +4 -27
- package/dist/visualization.es146.js.map +1 -1
- package/dist/visualization.es147.js +7 -60
- package/dist/visualization.es147.js.map +1 -1
- package/dist/visualization.es148.js +60 -38
- package/dist/visualization.es148.js.map +1 -1
- package/dist/visualization.es149.js +37 -35
- package/dist/visualization.es149.js.map +1 -1
- package/dist/visualization.es150.js +36 -83
- package/dist/visualization.es150.js.map +1 -1
- package/dist/visualization.es151.js +82 -27
- package/dist/visualization.es151.js.map +1 -1
- package/dist/visualization.es152.js +27 -6
- package/dist/visualization.es152.js.map +1 -1
- package/dist/visualization.es153.js +3 -4
- package/dist/visualization.es153.js.map +1 -1
- package/dist/visualization.es154.js +71 -3
- package/dist/visualization.es154.js.map +1 -1
- package/dist/visualization.es155.js +15 -62
- package/dist/visualization.es155.js.map +1 -1
- package/dist/visualization.es156.js +12 -7
- package/dist/visualization.es156.js.map +1 -1
- package/dist/visualization.es157.js +5 -43
- package/dist/visualization.es157.js.map +1 -1
- package/dist/visualization.es158.js +8 -20
- package/dist/visualization.es158.js.map +1 -1
- package/dist/visualization.es159.js +15 -27
- package/dist/visualization.es159.js.map +1 -1
- package/dist/visualization.es16.js +8 -8
- package/dist/visualization.es160.js +11 -31
- package/dist/visualization.es160.js.map +1 -1
- package/dist/visualization.es161.js +5 -7
- package/dist/visualization.es161.js.map +1 -1
- package/dist/visualization.es162.js +11 -6
- 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 +2 -17
- package/dist/visualization.es164.js.map +1 -1
- package/dist/visualization.es165.js +10 -16
- package/dist/visualization.es165.js.map +1 -1
- package/dist/visualization.es166.js +29 -31
- package/dist/visualization.es166.js.map +1 -1
- package/dist/visualization.es167.js +39 -13
- package/dist/visualization.es167.js.map +1 -1
- package/dist/visualization.es168.js +47 -8
- package/dist/visualization.es168.js.map +1 -1
- package/dist/visualization.es169.js +3 -7
- package/dist/visualization.es169.js.map +1 -1
- package/dist/visualization.es170.js +3 -7
- package/dist/visualization.es170.js.map +1 -1
- package/dist/visualization.es171.js +5 -10
- 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 +10 -4
- package/dist/visualization.es173.js.map +1 -1
- package/dist/visualization.es174.js +3 -8
- package/dist/visualization.es174.js.map +1 -1
- package/dist/visualization.es175.js +17 -4
- package/dist/visualization.es175.js.map +1 -1
- package/dist/visualization.es176.js +17 -11
- package/dist/visualization.es176.js.map +1 -1
- package/dist/visualization.es177.js +36 -26
- package/dist/visualization.es177.js.map +1 -1
- package/dist/visualization.es178.js +2 -18
- package/dist/visualization.es178.js.map +1 -1
- package/dist/visualization.es179.js +2 -72
- package/dist/visualization.es179.js.map +1 -1
- package/dist/visualization.es18.js +39 -38
- package/dist/visualization.es18.js.map +1 -1
- package/dist/visualization.es180.js +4 -17
- package/dist/visualization.es180.js.map +1 -1
- package/dist/visualization.es181.js +14 -11
- package/dist/visualization.es181.js.map +1 -1
- package/dist/visualization.es182.js +3 -5
- package/dist/visualization.es182.js.map +1 -1
- package/dist/visualization.es183.js +7 -19
- package/dist/visualization.es183.js.map +1 -1
- package/dist/visualization.es184.js +3 -4
- package/dist/visualization.es184.js.map +1 -1
- package/dist/visualization.es185.js +6 -35
- package/dist/visualization.es185.js.map +1 -1
- package/dist/visualization.es186.js +4 -8
- package/dist/visualization.es186.js.map +1 -1
- package/dist/visualization.es187.js +63 -15
- package/dist/visualization.es187.js.map +1 -1
- package/dist/visualization.es188.js +7 -11
- package/dist/visualization.es188.js.map +1 -1
- package/dist/visualization.es189.js +42 -5
- package/dist/visualization.es189.js.map +1 -1
- package/dist/visualization.es19.js +1 -1
- package/dist/visualization.es190.js +9 -11
- package/dist/visualization.es190.js.map +1 -1
- package/dist/visualization.es191.js +6 -3
- package/dist/visualization.es191.js.map +1 -1
- package/dist/visualization.es192.js +8 -2
- package/dist/visualization.es192.js.map +1 -1
- package/dist/visualization.es193.js +10 -11
- package/dist/visualization.es193.js.map +1 -1
- package/dist/visualization.es194.js +6 -30
- package/dist/visualization.es194.js.map +1 -1
- package/dist/visualization.es195.js +6 -42
- package/dist/visualization.es195.js.map +1 -1
- package/dist/visualization.es196.js +5 -49
- package/dist/visualization.es196.js.map +1 -1
- package/dist/visualization.es197.js +15 -3
- package/dist/visualization.es197.js.map +1 -1
- package/dist/visualization.es198.js +6 -3
- package/dist/visualization.es198.js.map +1 -1
- package/dist/visualization.es199.js +3 -5
- package/dist/visualization.es199.js.map +1 -1
- package/dist/visualization.es2.js +8 -8
- package/dist/visualization.es200.js +6 -4
- package/dist/visualization.es200.js.map +1 -1
- package/dist/visualization.es201.js +6 -10
- package/dist/visualization.es201.js.map +1 -1
- package/dist/visualization.es202.js +9 -3
- package/dist/visualization.es202.js.map +1 -1
- package/dist/visualization.es203.js +30 -17
- package/dist/visualization.es203.js.map +1 -1
- package/dist/visualization.es204.js +6 -17
- package/dist/visualization.es204.js.map +1 -1
- package/dist/visualization.es205.js +6 -36
- package/dist/visualization.es205.js.map +1 -1
- package/dist/visualization.es206.js +4 -2
- package/dist/visualization.es206.js.map +1 -1
- package/dist/visualization.es207.js +17 -2
- package/dist/visualization.es207.js.map +1 -1
- package/dist/visualization.es208.js +17 -4
- package/dist/visualization.es208.js.map +1 -1
- package/dist/visualization.es209.js +32 -14
- package/dist/visualization.es209.js.map +1 -1
- package/dist/visualization.es21.js +61 -33
- package/dist/visualization.es21.js.map +1 -1
- package/dist/visualization.es210.js +17 -3
- package/dist/visualization.es210.js.map +1 -1
- package/dist/visualization.es211.js +11 -7
- package/dist/visualization.es211.js.map +1 -1
- package/dist/visualization.es212.js +7 -3
- package/dist/visualization.es212.js.map +1 -1
- package/dist/visualization.es213.js +6 -6
- package/dist/visualization.es213.js.map +1 -1
- package/dist/visualization.es214.js +10 -9
- package/dist/visualization.es214.js.map +1 -1
- package/dist/visualization.es215.js +4 -6
- package/dist/visualization.es215.js.map +1 -1
- package/dist/visualization.es216.js +4 -7
- package/dist/visualization.es216.js.map +1 -1
- package/dist/visualization.es217.js +8 -9
- package/dist/visualization.es217.js.map +1 -1
- package/dist/visualization.es218.js +4 -6
- package/dist/visualization.es218.js.map +1 -1
- package/dist/visualization.es219.js +11 -5
- package/dist/visualization.es219.js.map +1 -1
- package/dist/visualization.es22.js +64 -41
- package/dist/visualization.es22.js.map +1 -1
- package/dist/visualization.es220.js +26 -5
- package/dist/visualization.es220.js.map +1 -1
- package/dist/visualization.es221.js +3 -14
- package/dist/visualization.es221.js.map +1 -1
- package/dist/visualization.es222.js +5 -5
- package/dist/visualization.es222.js.map +1 -1
- package/dist/visualization.es223.js +32 -2
- package/dist/visualization.es223.js.map +1 -1
- package/dist/visualization.es224.js +15 -6
- package/dist/visualization.es224.js.map +1 -1
- package/dist/visualization.es225.js +7 -6
- package/dist/visualization.es225.js.map +1 -1
- package/dist/visualization.es226.js +11 -9
- package/dist/visualization.es226.js.map +1 -1
- package/dist/visualization.es227.js +32 -3
- package/dist/visualization.es227.js.map +1 -1
- package/dist/visualization.es228.js +113 -4
- package/dist/visualization.es228.js.map +1 -1
- package/dist/visualization.es229.js +17 -32
- package/dist/visualization.es229.js.map +1 -1
- package/dist/visualization.es23.js +113 -8
- package/dist/visualization.es23.js.map +1 -1
- package/dist/visualization.es230.js +3 -15
- package/dist/visualization.es230.js.map +1 -1
- package/dist/visualization.es231.js +35 -7
- package/dist/visualization.es231.js.map +1 -1
- package/dist/visualization.es232.js +18 -10
- package/dist/visualization.es232.js.map +1 -1
- package/dist/visualization.es233.js +27 -84
- package/dist/visualization.es233.js.map +1 -1
- package/dist/visualization.es234.js +69 -86
- package/dist/visualization.es234.js.map +1 -1
- package/dist/visualization.es235.js +22 -12
- package/dist/visualization.es235.js.map +1 -1
- package/dist/visualization.es236.js +22 -5
- package/dist/visualization.es236.js.map +1 -1
- package/dist/visualization.es237.js +38 -12
- package/dist/visualization.es237.js.map +1 -1
- package/dist/visualization.es238.js +8 -7
- package/dist/visualization.es238.js.map +1 -1
- package/dist/visualization.es239.js +12 -13
- package/dist/visualization.es239.js.map +1 -1
- package/dist/visualization.es24.js +146 -46
- package/dist/visualization.es24.js.map +1 -1
- package/dist/visualization.es240.js +18 -2
- package/dist/visualization.es240.js.map +1 -1
- package/dist/visualization.es241.js +35 -31
- package/dist/visualization.es241.js.map +1 -1
- package/dist/visualization.es242.js +22 -112
- package/dist/visualization.es242.js.map +1 -1
- package/dist/visualization.es243.js +27 -74
- package/dist/visualization.es243.js.map +1 -1
- package/dist/visualization.es244.js +75 -2
- package/dist/visualization.es244.js.map +1 -1
- package/dist/visualization.es245.js +2 -483
- package/dist/visualization.es245.js.map +1 -1
- package/dist/visualization.es246.js +483 -2
- package/dist/visualization.es246.js.map +1 -1
- package/dist/visualization.es247.js +2 -64
- package/dist/visualization.es247.js.map +1 -1
- package/dist/visualization.es248.js +120 -57
- package/dist/visualization.es248.js.map +1 -1
- package/dist/visualization.es249.js +60 -120
- package/dist/visualization.es249.js.map +1 -1
- package/dist/visualization.es25.js +7 -33
- package/dist/visualization.es25.js.map +1 -1
- package/dist/visualization.es250.js +61 -29
- package/dist/visualization.es250.js.map +1 -1
- package/dist/visualization.es251.js +2 -120
- package/dist/visualization.es251.js.map +1 -1
- package/dist/visualization.es252.js +34 -29
- package/dist/visualization.es252.js.map +1 -1
- package/dist/visualization.es253.js +2 -11
- package/dist/visualization.es253.js.map +1 -1
- package/dist/visualization.es254.js +23 -13
- package/dist/visualization.es254.js.map +1 -1
- package/dist/visualization.es255.js +53 -32
- package/dist/visualization.es255.js.map +1 -1
- package/dist/visualization.es256.js +19 -27
- package/dist/visualization.es256.js.map +1 -1
- package/dist/visualization.es257.js +3 -10
- package/dist/visualization.es257.js.map +1 -1
- package/dist/visualization.es258.js +3 -12
- package/dist/visualization.es258.js.map +1 -1
- package/dist/visualization.es259.js +3 -17
- package/dist/visualization.es259.js.map +1 -1
- package/dist/visualization.es26.js +7 -7
- package/dist/visualization.es26.js.map +1 -1
- package/dist/visualization.es260.js +3 -23
- package/dist/visualization.es260.js.map +1 -1
- package/dist/visualization.es261.js +3 -16
- package/dist/visualization.es261.js.map +1 -1
- package/dist/visualization.es262.js +3 -96
- package/dist/visualization.es262.js.map +1 -1
- package/dist/visualization.es263.js +3 -28
- package/dist/visualization.es263.js.map +1 -1
- package/dist/visualization.es264.js +6 -70
- package/dist/visualization.es264.js.map +1 -1
- package/dist/visualization.es265.js +46 -49
- package/dist/visualization.es265.js.map +1 -1
- package/dist/visualization.es266.js +3 -34
- package/dist/visualization.es266.js.map +1 -1
- package/dist/visualization.es267.js +6 -41
- package/dist/visualization.es267.js.map +1 -1
- package/dist/visualization.es268.js +4 -34
- package/dist/visualization.es268.js.map +1 -1
- package/dist/visualization.es269.js +4 -2
- package/dist/visualization.es269.js.map +1 -1
- package/dist/visualization.es27.js +47 -43
- package/dist/visualization.es27.js.map +1 -1
- package/dist/visualization.es270.js +5 -2
- package/dist/visualization.es270.js.map +1 -1
- package/dist/visualization.es271.js +3 -2
- package/dist/visualization.es271.js.map +1 -1
- package/dist/visualization.es272.js +3 -4
- package/dist/visualization.es272.js.map +1 -1
- package/dist/visualization.es273.js +11 -3
- package/dist/visualization.es273.js.map +1 -1
- package/dist/visualization.es274.js +36 -3
- package/dist/visualization.es274.js.map +1 -1
- package/dist/visualization.es275.js +260 -3
- package/dist/visualization.es275.js.map +1 -1
- package/dist/visualization.es276.js +59 -3
- package/dist/visualization.es276.js.map +1 -1
- package/dist/visualization.es277.js +5 -7
- package/dist/visualization.es277.js.map +1 -1
- package/dist/visualization.es278.js +50 -45
- package/dist/visualization.es278.js.map +1 -1
- package/dist/visualization.es279.js +31 -3
- package/dist/visualization.es279.js.map +1 -1
- package/dist/visualization.es28.js +20 -7
- package/dist/visualization.es28.js.map +1 -1
- package/dist/visualization.es280.js +32 -5
- package/dist/visualization.es280.js.map +1 -1
- package/dist/visualization.es281.js +12 -4
- package/dist/visualization.es281.js.map +1 -1
- package/dist/visualization.es282.js +7 -3
- package/dist/visualization.es282.js.map +1 -1
- package/dist/visualization.es283.js +139 -5
- package/dist/visualization.es283.js.map +1 -1
- package/dist/visualization.es284.js +5 -4
- package/dist/visualization.es284.js.map +1 -1
- package/dist/visualization.es285.js +21 -29
- package/dist/visualization.es285.js.map +1 -1
- package/dist/visualization.es286.js +34 -17
- package/dist/visualization.es286.js.map +1 -1
- package/dist/visualization.es287.js +31 -50
- package/dist/visualization.es287.js.map +1 -1
- package/dist/visualization.es288.js +14 -31
- package/dist/visualization.es288.js.map +1 -1
- package/dist/visualization.es289.js +18 -33
- package/dist/visualization.es289.js.map +1 -1
- package/dist/visualization.es29.js +5 -67
- package/dist/visualization.es29.js.map +1 -1
- package/dist/visualization.es290.js +9 -13
- package/dist/visualization.es290.js.map +1 -1
- package/dist/visualization.es291.js +109 -9
- package/dist/visualization.es291.js.map +1 -1
- package/dist/visualization.es292.js +12 -9
- package/dist/visualization.es292.js.map +1 -1
- package/dist/visualization.es293.js +141 -6
- package/dist/visualization.es293.js.map +1 -1
- package/dist/visualization.es294.js +5 -8
- package/dist/visualization.es294.js.map +1 -1
- package/dist/visualization.es295.js +70 -5
- package/dist/visualization.es295.js.map +1 -1
- package/dist/visualization.es296.js +35 -5
- package/dist/visualization.es296.js.map +1 -1
- package/dist/visualization.es297.js +19 -13
- package/dist/visualization.es297.js.map +1 -1
- package/dist/visualization.es298.js +3 -5
- package/dist/visualization.es298.js.map +1 -1
- package/dist/visualization.es299.js +24 -6
- package/dist/visualization.es299.js.map +1 -1
- package/dist/visualization.es3.js +12 -12
- package/dist/visualization.es30.js +33 -112
- package/dist/visualization.es30.js.map +1 -1
- package/dist/visualization.es300.js +30 -6
- package/dist/visualization.es300.js.map +1 -1
- package/dist/visualization.es301.js +2 -7
- package/dist/visualization.es301.js.map +1 -1
- package/dist/visualization.es302.js +2 -4
- package/dist/visualization.es302.js.map +1 -1
- package/dist/visualization.es303.js +5 -4
- package/dist/visualization.es303.js.map +1 -1
- package/dist/visualization.es304.js +14 -9
- package/dist/visualization.es304.js.map +1 -1
- package/dist/visualization.es305.js +32 -57
- package/dist/visualization.es305.js.map +1 -1
- package/dist/visualization.es306.js +27 -5
- package/dist/visualization.es306.js.map +1 -1
- package/dist/visualization.es307.js +10 -21
- package/dist/visualization.es307.js.map +1 -1
- package/dist/visualization.es308.js +6 -37
- package/dist/visualization.es308.js.map +1 -1
- package/dist/visualization.es309.js +13 -34
- package/dist/visualization.es309.js.map +1 -1
- package/dist/visualization.es31.js +33 -146
- package/dist/visualization.es31.js.map +1 -1
- package/dist/visualization.es310.js +11 -14
- package/dist/visualization.es310.js.map +1 -1
- package/dist/visualization.es311.js +2 -19
- package/dist/visualization.es311.js.map +1 -1
- package/dist/visualization.es312.js +3 -9
- package/dist/visualization.es312.js.map +1 -1
- package/dist/visualization.es313.js +2 -3
- package/dist/visualization.es313.js.map +1 -1
- package/dist/visualization.es314.js +102 -10
- package/dist/visualization.es314.js.map +1 -1
- package/dist/visualization.es315.js +4 -36
- package/dist/visualization.es315.js.map +1 -1
- package/dist/visualization.es316.js +3 -261
- package/dist/visualization.es316.js.map +1 -1
- package/dist/visualization.es317.js +18 -7
- package/dist/visualization.es317.js.map +1 -1
- package/dist/visualization.es318.js +5 -140
- package/dist/visualization.es318.js.map +1 -1
- package/dist/visualization.es319.js +14 -5
- package/dist/visualization.es319.js.map +1 -1
- package/dist/visualization.es32.js +68 -8
- package/dist/visualization.es32.js.map +1 -1
- package/dist/visualization.es320.js +4 -109
- package/dist/visualization.es320.js.map +1 -1
- package/dist/visualization.es321.js +27 -11
- package/dist/visualization.es321.js.map +1 -1
- package/dist/visualization.es322.js +6 -141
- package/dist/visualization.es322.js.map +1 -1
- package/dist/visualization.es323.js +2 -6
- package/dist/visualization.es323.js.map +1 -1
- package/dist/visualization.es324.js +20 -72
- package/dist/visualization.es324.js.map +1 -1
- package/dist/visualization.es325.js +21 -36
- package/dist/visualization.es325.js.map +1 -1
- package/dist/visualization.es326.js +5 -20
- package/dist/visualization.es326.js.map +1 -1
- package/dist/visualization.es327.js +7 -3
- package/dist/visualization.es327.js.map +1 -1
- package/dist/visualization.es328.js +18 -24
- package/dist/visualization.es328.js.map +1 -1
- package/dist/visualization.es329.js +44 -31
- package/dist/visualization.es329.js.map +1 -1
- package/dist/visualization.es33.js +267 -20
- package/dist/visualization.es33.js.map +1 -1
- package/dist/visualization.es330.js +7 -2
- package/dist/visualization.es330.js.map +1 -1
- package/dist/visualization.es331.js +20 -2
- package/dist/visualization.es331.js.map +1 -1
- package/dist/visualization.es332.js +53 -5
- package/dist/visualization.es332.js.map +1 -1
- package/dist/visualization.es333.js +27 -15
- package/dist/visualization.es333.js.map +1 -1
- package/dist/visualization.es334.js +11 -35
- package/dist/visualization.es334.js.map +1 -1
- package/dist/visualization.es335.js +17 -26
- package/dist/visualization.es335.js.map +1 -1
- package/dist/visualization.es336.js +11 -10
- package/dist/visualization.es336.js.map +1 -1
- package/dist/visualization.es337.js +4 -6
- package/dist/visualization.es337.js.map +1 -1
- package/dist/visualization.es338.js +4 -14
- package/dist/visualization.es338.js.map +1 -1
- package/dist/visualization.es339.js +4 -12
- package/dist/visualization.es339.js.map +1 -1
- package/dist/visualization.es34.js +141 -5
- package/dist/visualization.es34.js.map +1 -1
- package/dist/visualization.es340.js +176 -2
- package/dist/visualization.es340.js.map +1 -1
- package/dist/visualization.es341.js +40 -3
- package/dist/visualization.es341.js.map +1 -1
- package/dist/visualization.es342.js +6 -2
- package/dist/visualization.es342.js.map +1 -1
- package/dist/visualization.es343.js +3 -103
- package/dist/visualization.es343.js.map +1 -1
- package/dist/visualization.es344.js +2 -5
- package/dist/visualization.es344.js.map +1 -1
- package/dist/visualization.es345.js +30 -3
- package/dist/visualization.es345.js.map +1 -1
- package/dist/visualization.es346.js +8 -19
- package/dist/visualization.es346.js.map +1 -1
- package/dist/visualization.es347.js +10 -5
- package/dist/visualization.es347.js.map +1 -1
- package/dist/visualization.es348.js +3 -14
- package/dist/visualization.es348.js.map +1 -1
- package/dist/visualization.es349.js +65 -4
- package/dist/visualization.es349.js.map +1 -1
- package/dist/visualization.es35.js +26 -34
- package/dist/visualization.es35.js.map +1 -1
- package/dist/visualization.es350.js +7 -29
- package/dist/visualization.es350.js.map +1 -1
- package/dist/visualization.es351.js +4 -6
- package/dist/visualization.es351.js.map +1 -1
- package/dist/visualization.es352.js +14 -2
- package/dist/visualization.es352.js.map +1 -1
- package/dist/visualization.es353.js +35 -20
- package/dist/visualization.es353.js.map +1 -1
- package/dist/visualization.es354.js +5 -21
- package/dist/visualization.es354.js.map +1 -1
- package/dist/visualization.es355.js +9 -5
- package/dist/visualization.es355.js.map +1 -1
- package/dist/visualization.es356.js +2 -8
- package/dist/visualization.es356.js.map +1 -1
- package/dist/visualization.es357.js +5 -19
- package/dist/visualization.es357.js.map +1 -1
- package/dist/visualization.es358.js +2 -44
- package/dist/visualization.es358.js.map +1 -1
- package/dist/visualization.es359.js +10 -7
- package/dist/visualization.es359.js.map +1 -1
- package/dist/visualization.es36.js +20 -53
- package/dist/visualization.es36.js.map +1 -1
- package/dist/visualization.es360.js +9 -19
- package/dist/visualization.es360.js.map +1 -1
- package/dist/visualization.es361.js +13 -54
- package/dist/visualization.es361.js.map +1 -1
- package/dist/visualization.es362.js +2 -27
- package/dist/visualization.es362.js.map +1 -1
- package/dist/visualization.es363.js +9 -10
- package/dist/visualization.es363.js.map +1 -1
- package/dist/visualization.es364.js +7 -18
- package/dist/visualization.es364.js.map +1 -1
- package/dist/visualization.es365.js +5 -11
- package/dist/visualization.es365.js.map +1 -1
- package/dist/visualization.es366.js +24 -4
- package/dist/visualization.es366.js.map +1 -1
- package/dist/visualization.es367.js +19 -4
- package/dist/visualization.es367.js.map +1 -1
- package/dist/visualization.es368.js +40 -3
- package/dist/visualization.es368.js.map +1 -1
- package/dist/visualization.es369.js +3 -176
- package/dist/visualization.es369.js.map +1 -1
- package/dist/visualization.es37.js +18 -111
- package/dist/visualization.es37.js.map +1 -1
- package/dist/visualization.es370.js +8 -39
- package/dist/visualization.es370.js.map +1 -1
- package/dist/visualization.es371.js +8 -5
- package/dist/visualization.es371.js.map +1 -1
- package/dist/visualization.es372.js +35 -3
- package/dist/visualization.es372.js.map +1 -1
- package/dist/visualization.es373.js +10 -2
- package/dist/visualization.es373.js.map +1 -1
- package/dist/visualization.es374.js +32 -30
- package/dist/visualization.es374.js.map +1 -1
- package/dist/visualization.es375.js +5 -8
- package/dist/visualization.es375.js.map +1 -1
- package/dist/visualization.es376.js +2 -11
- package/dist/visualization.es376.js.map +1 -1
- package/dist/visualization.es377.js +15 -3
- package/dist/visualization.es377.js.map +1 -1
- package/dist/visualization.es378.js +24 -65
- package/dist/visualization.es378.js.map +1 -1
- package/dist/visualization.es379.js +2 -7
- package/dist/visualization.es379.js.map +1 -1
- package/dist/visualization.es38.js +20 -7
- package/dist/visualization.es38.js.map +1 -1
- package/dist/visualization.es380.js +62 -4
- package/dist/visualization.es380.js.map +1 -1
- package/dist/visualization.es381.js +2 -14
- package/dist/visualization.es381.js.map +1 -1
- package/dist/visualization.es382.js +2 -35
- package/dist/visualization.es382.js.map +1 -1
- package/dist/visualization.es383.js +5 -4
- package/dist/visualization.es383.js.map +1 -1
- package/dist/visualization.es384.js +36 -9
- package/dist/visualization.es384.js.map +1 -1
- package/dist/visualization.es385.js +21 -2
- package/dist/visualization.es385.js.map +1 -1
- package/dist/visualization.es386.js +4 -5
- package/dist/visualization.es386.js.map +1 -1
- package/dist/visualization.es387.js +5 -2
- package/dist/visualization.es387.js.map +1 -1
- package/dist/visualization.es388.js +4 -9
- package/dist/visualization.es388.js.map +1 -1
- package/dist/visualization.es389.js +48 -9
- package/dist/visualization.es389.js.map +1 -1
- package/dist/visualization.es39.js +69 -33
- package/dist/visualization.es39.js.map +1 -1
- package/dist/visualization.es390.js +26 -12
- package/dist/visualization.es390.js.map +1 -1
- package/dist/visualization.es391.js +17 -2
- package/dist/visualization.es391.js.map +1 -1
- package/dist/visualization.es392.js +10 -10
- package/dist/visualization.es392.js.map +1 -1
- package/dist/visualization.es393.js +19 -7
- package/dist/visualization.es393.js.map +1 -1
- package/dist/visualization.es394.js +14 -6
- package/dist/visualization.es394.js.map +1 -1
- package/dist/visualization.es395.js +3 -24
- package/dist/visualization.es395.js.map +1 -1
- package/dist/visualization.es396.js +13 -19
- package/dist/visualization.es396.js.map +1 -1
- package/dist/visualization.es397.js +46 -38
- package/dist/visualization.es397.js.map +1 -1
- package/dist/visualization.es398.js +6 -3
- package/dist/visualization.es398.js.map +1 -1
- package/dist/visualization.es399.js +12 -8
- package/dist/visualization.es399.js.map +1 -1
- package/dist/visualization.es4.js +6 -6
- package/dist/visualization.es40.js +76 -18697
- package/dist/visualization.es40.js.map +1 -1
- package/dist/visualization.es400.js +2 -9
- package/dist/visualization.es400.js.map +1 -1
- package/dist/visualization.es401.js +6 -35
- package/dist/visualization.es401.js.map +1 -1
- package/dist/visualization.es402.js +209 -9
- package/dist/visualization.es402.js.map +1 -1
- package/dist/visualization.es403.js +26 -31
- package/dist/visualization.es403.js.map +1 -1
- package/dist/visualization.es404.js +3 -4
- package/dist/visualization.es404.js.map +1 -1
- package/dist/visualization.es405.js +16 -2
- package/dist/visualization.es405.js.map +1 -1
- package/dist/visualization.es406.js +15 -16
- package/dist/visualization.es406.js.map +1 -1
- package/dist/visualization.es407.js +14 -24
- 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 +2 -63
- package/dist/visualization.es409.js.map +1 -1
- package/dist/visualization.es41.js +18702 -5
- package/dist/visualization.es41.js.map +1 -1
- package/dist/visualization.es410.js +2 -2
- package/dist/visualization.es410.js.map +1 -1
- package/dist/visualization.es411.js +5 -2
- package/dist/visualization.es411.js.map +1 -1
- package/dist/visualization.es412.js +2 -6
- package/dist/visualization.es412.js.map +1 -1
- package/dist/visualization.es413.js +25 -37
- package/dist/visualization.es413.js.map +1 -1
- package/dist/visualization.es414.js +21 -20
- package/dist/visualization.es414.js.map +1 -1
- package/dist/visualization.es415.js +9 -4
- package/dist/visualization.es415.js.map +1 -1
- package/dist/visualization.es416.js +68 -5
- package/dist/visualization.es416.js.map +1 -1
- package/dist/visualization.es417.js +6 -5
- package/dist/visualization.es417.js.map +1 -1
- package/dist/visualization.es418.js +28 -48
- package/dist/visualization.es418.js.map +1 -1
- package/dist/visualization.es419.js +9 -26
- package/dist/visualization.es419.js.map +1 -1
- package/dist/visualization.es42.js +4 -4
- package/dist/visualization.es420.js +6 -17
- package/dist/visualization.es420.js.map +1 -1
- package/dist/visualization.es421.js +2 -10
- package/dist/visualization.es421.js.map +1 -1
- package/dist/visualization.es422.js +4 -19
- package/dist/visualization.es422.js.map +1 -1
- package/dist/visualization.es423.js +26 -14
- package/dist/visualization.es423.js.map +1 -1
- package/dist/visualization.es424.js +10 -3
- package/dist/visualization.es424.js.map +1 -1
- package/dist/visualization.es425.js +26 -12
- package/dist/visualization.es425.js.map +1 -1
- package/dist/visualization.es426.js +9 -48
- package/dist/visualization.es426.js.map +1 -1
- package/dist/visualization.es427.js +10 -5
- package/dist/visualization.es427.js.map +1 -1
- package/dist/visualization.es428.js +2 -13
- package/dist/visualization.es428.js.map +1 -1
- package/dist/visualization.es429.js +16 -2
- package/dist/visualization.es429.js.map +1 -1
- package/dist/visualization.es43.js +5 -60
- package/dist/visualization.es43.js.map +1 -1
- package/dist/visualization.es430.js +29 -6
- package/dist/visualization.es430.js.map +1 -1
- package/dist/visualization.es431.js +26 -210
- package/dist/visualization.es431.js.map +1 -1
- package/dist/visualization.es432.js +2 -27
- package/dist/visualization.es432.js.map +1 -1
- package/dist/visualization.es433.js +8 -3
- package/dist/visualization.es433.js.map +1 -1
- package/dist/visualization.es434.js +13 -16
- package/dist/visualization.es434.js.map +1 -1
- package/dist/visualization.es435.js +23 -15
- package/dist/visualization.es435.js.map +1 -1
- package/dist/visualization.es436.js +13 -15
- package/dist/visualization.es436.js.map +1 -1
- package/dist/visualization.es437.js +3 -2
- package/dist/visualization.es437.js.map +1 -1
- package/dist/visualization.es438.js +2 -2
- package/dist/visualization.es438.js.map +1 -1
- package/dist/visualization.es439.js +18 -2
- package/dist/visualization.es439.js.map +1 -1
- package/dist/visualization.es44.js +58 -809
- package/dist/visualization.es44.js.map +1 -1
- package/dist/visualization.es440.js +4 -5
- package/dist/visualization.es440.js.map +1 -1
- package/dist/visualization.es441.js +12 -2
- package/dist/visualization.es441.js.map +1 -1
- package/dist/visualization.es442.js +11 -25
- package/dist/visualization.es442.js.map +1 -1
- package/dist/visualization.es443.js +6 -21
- package/dist/visualization.es443.js.map +1 -1
- package/dist/visualization.es444.js +18 -8
- package/dist/visualization.es444.js.map +1 -1
- package/dist/visualization.es445.js +23 -68
- package/dist/visualization.es445.js.map +1 -1
- package/dist/visualization.es446.js +12 -6
- package/dist/visualization.es446.js.map +1 -1
- package/dist/visualization.es447.js +51 -29
- package/dist/visualization.es447.js.map +1 -1
- package/dist/visualization.es448.js +17 -9
- package/dist/visualization.es448.js.map +1 -1
- package/dist/visualization.es449.js +36 -6
- package/dist/visualization.es449.js.map +1 -1
- package/dist/visualization.es45.js +814 -0
- package/dist/visualization.es45.js.map +1 -0
- package/dist/visualization.es450.js +23 -2
- package/dist/visualization.es450.js.map +1 -1
- package/dist/visualization.es451.js +31 -4
- package/dist/visualization.es451.js.map +1 -1
- package/dist/visualization.es452.js +3 -25
- package/dist/visualization.es452.js.map +1 -1
- package/dist/visualization.es453.js +18 -10
- package/dist/visualization.es453.js.map +1 -1
- package/dist/visualization.es454.js +13 -26
- package/dist/visualization.es454.js.map +1 -1
- package/dist/visualization.es455.js +10 -9
- package/dist/visualization.es455.js.map +1 -1
- package/dist/visualization.es456.js +29 -10
- package/dist/visualization.es456.js.map +1 -1
- package/dist/visualization.es457.js +6 -2
- package/dist/visualization.es457.js.map +1 -1
- package/dist/visualization.es458.js +8 -16
- package/dist/visualization.es458.js.map +1 -1
- package/dist/visualization.es459.js +2 -30
- package/dist/visualization.es459.js.map +1 -1
- package/dist/visualization.es460.js +17 -26
- package/dist/visualization.es460.js.map +1 -1
- package/dist/visualization.es461.js +9 -2
- package/dist/visualization.es461.js.map +1 -1
- package/dist/visualization.es462.js +9 -8
- package/dist/visualization.es462.js.map +1 -1
- package/dist/visualization.es463.js +615 -12
- package/dist/visualization.es463.js.map +1 -1
- package/dist/visualization.es464.js +50 -22
- package/dist/visualization.es464.js.map +1 -1
- package/dist/visualization.es465.js +13 -13
- package/dist/visualization.es465.js.map +1 -1
- package/dist/visualization.es466.js +11 -3
- package/dist/visualization.es466.js.map +1 -1
- package/dist/visualization.es467.js +23 -2
- package/dist/visualization.es467.js.map +1 -1
- package/dist/visualization.es468.js +33 -16
- package/dist/visualization.es468.js.map +1 -1
- package/dist/visualization.es469.js +12 -3
- package/dist/visualization.es469.js.map +1 -1
- package/dist/visualization.es47.js +129 -64
- package/dist/visualization.es47.js.map +1 -1
- package/dist/visualization.es470.js +18 -11
- package/dist/visualization.es470.js.map +1 -1
- package/dist/visualization.es471.js +26 -11
- package/dist/visualization.es471.js.map +1 -1
- package/dist/visualization.es472.js +26 -6
- package/dist/visualization.es472.js.map +1 -1
- package/dist/visualization.es473.js +42 -18
- package/dist/visualization.es473.js.map +1 -1
- package/dist/visualization.es474.js +19 -22
- package/dist/visualization.es474.js.map +1 -1
- package/dist/visualization.es475.js +40 -11
- package/dist/visualization.es475.js.map +1 -1
- package/dist/visualization.es476.js +55 -48
- package/dist/visualization.es476.js.map +1 -1
- package/dist/visualization.es477.js +3 -17
- package/dist/visualization.es477.js.map +1 -1
- package/dist/visualization.es478.js +3 -36
- package/dist/visualization.es478.js.map +1 -1
- package/dist/visualization.es479.js +7 -23
- package/dist/visualization.es479.js.map +1 -1
- package/dist/visualization.es48.js +35 -270
- package/dist/visualization.es48.js.map +1 -1
- package/dist/visualization.es480.js +15 -31
- package/dist/visualization.es480.js.map +1 -1
- package/dist/visualization.es481.js +2 -4
- package/dist/visualization.es481.js.map +1 -1
- package/dist/visualization.es482.js +2 -19
- package/dist/visualization.es482.js.map +1 -1
- package/dist/visualization.es483.js +2 -14
- package/dist/visualization.es483.js.map +1 -1
- package/dist/visualization.es484.js +7 -11
- package/dist/visualization.es484.js.map +1 -1
- package/dist/visualization.es485.js +32 -27
- package/dist/visualization.es485.js.map +1 -1
- package/dist/visualization.es486.js +4 -6
- package/dist/visualization.es486.js.map +1 -1
- package/dist/visualization.es487.js +3 -7
- package/dist/visualization.es487.js.map +1 -1
- package/dist/visualization.es488.js +7 -2
- package/dist/visualization.es488.js.map +1 -1
- package/dist/visualization.es489.js +11 -15
- package/dist/visualization.es489.js.map +1 -1
- package/dist/visualization.es49.js +34 -102
- package/dist/visualization.es49.js.map +1 -1
- package/dist/visualization.es490.js +2 -9
- package/dist/visualization.es490.js.map +1 -1
- package/dist/visualization.es491.js +3 -9
- package/dist/visualization.es491.js.map +1 -1
- package/dist/visualization.es492.js +3 -615
- package/dist/visualization.es492.js.map +1 -1
- package/dist/visualization.es493.js +9 -49
- package/dist/visualization.es493.js.map +1 -1
- package/dist/visualization.es494.js +5 -13
- package/dist/visualization.es494.js.map +1 -1
- package/dist/visualization.es495.js +33 -11
- package/dist/visualization.es495.js.map +1 -1
- package/dist/visualization.es496.js +29 -23
- package/dist/visualization.es496.js.map +1 -1
- package/dist/visualization.es497.js +117 -32
- package/dist/visualization.es497.js.map +1 -1
- package/dist/visualization.es498.js +29 -12
- package/dist/visualization.es498.js.map +1 -1
- package/dist/visualization.es499.js +10 -18
- package/dist/visualization.es499.js.map +1 -1
- package/dist/visualization.es5.js +77 -74
- package/dist/visualization.es5.js.map +1 -1
- package/dist/visualization.es50.js +11 -27
- package/dist/visualization.es50.js.map +1 -1
- package/dist/visualization.es500.js +13 -25
- package/dist/visualization.es500.js.map +1 -1
- package/dist/visualization.es501.js +29 -23
- package/dist/visualization.es501.js.map +1 -1
- package/dist/visualization.es502.js +26 -40
- package/dist/visualization.es502.js.map +1 -1
- package/dist/visualization.es503.js +10 -19
- package/dist/visualization.es503.js.map +1 -1
- package/dist/visualization.es504.js +12 -40
- package/dist/visualization.es504.js.map +1 -1
- package/dist/visualization.es505.js +16 -56
- package/dist/visualization.es505.js.map +1 -1
- package/dist/visualization.es506.js +23 -3
- package/dist/visualization.es506.js.map +1 -1
- package/dist/visualization.es507.js +17 -3
- package/dist/visualization.es507.js.map +1 -1
- package/dist/visualization.es508.js +97 -7
- package/dist/visualization.es508.js.map +1 -1
- package/dist/visualization.es509.js +27 -14
- package/dist/visualization.es509.js.map +1 -1
- package/dist/visualization.es51.js +54 -21
- package/dist/visualization.es51.js.map +1 -1
- package/dist/visualization.es510.js +72 -2
- package/dist/visualization.es510.js.map +1 -1
- package/dist/visualization.es511.js +52 -2
- package/dist/visualization.es511.js.map +1 -1
- package/dist/visualization.es512.js +35 -2
- package/dist/visualization.es512.js.map +1 -1
- package/dist/visualization.es513.js +39 -59
- package/dist/visualization.es513.js.map +1 -1
- package/dist/visualization.es514.js +60 -22
- package/dist/visualization.es514.js.map +1 -1
- package/dist/visualization.es515.js +237 -53
- package/dist/visualization.es515.js.map +1 -1
- package/dist/visualization.es516.js +993 -7
- package/dist/visualization.es516.js.map +1 -1
- package/dist/visualization.es517.js +29 -34
- package/dist/visualization.es517.js.map +1 -1
- package/dist/visualization.es518.js +9 -3
- package/dist/visualization.es518.js.map +1 -1
- package/dist/visualization.es519.js +9 -3
- package/dist/visualization.es519.js.map +1 -1
- package/dist/visualization.es52.js +44 -18
- package/dist/visualization.es52.js.map +1 -1
- package/dist/visualization.es520.js +6 -6
- package/dist/visualization.es520.js.map +1 -1
- package/dist/visualization.es521.js +8 -12
- package/dist/visualization.es521.js.map +1 -1
- package/dist/visualization.es522.js +7 -2
- package/dist/visualization.es522.js.map +1 -1
- package/dist/visualization.es523.js +5 -3
- package/dist/visualization.es523.js.map +1 -1
- package/dist/visualization.es524.js +14 -3
- package/dist/visualization.es524.js.map +1 -1
- package/dist/visualization.es525.js +5 -10
- package/dist/visualization.es525.js.map +1 -1
- package/dist/visualization.es526.js +6 -4
- package/dist/visualization.es526.js.map +1 -1
- package/dist/visualization.es527.js +6 -32
- package/dist/visualization.es527.js.map +1 -1
- package/dist/visualization.es528.js +6 -237
- package/dist/visualization.es528.js.map +1 -1
- package/dist/visualization.es529.js +3 -992
- package/dist/visualization.es529.js.map +1 -1
- package/dist/visualization.es53.js +29 -21
- package/dist/visualization.es53.js.map +1 -1
- package/dist/visualization.es530.js +4 -33
- package/dist/visualization.es530.js.map +1 -1
- package/dist/visualization.es531.js +9 -29
- package/dist/visualization.es531.js.map +1 -1
- package/dist/visualization.es532.js +33 -20
- package/dist/visualization.es532.js.map +1 -1
- package/dist/visualization.es533.js +29 -7
- package/dist/visualization.es533.js.map +1 -1
- package/dist/visualization.es534.js +33 -3
- package/dist/visualization.es534.js.map +1 -1
- package/dist/visualization.es535.js +25 -7
- package/dist/visualization.es535.js.map +1 -1
- package/dist/visualization.es536.js +45 -7
- package/dist/visualization.es536.js.map +1 -1
- package/dist/visualization.es537.js +9 -6
- package/dist/visualization.es537.js.map +1 -1
- package/dist/visualization.es538.js +15 -4
- package/dist/visualization.es538.js.map +1 -1
- package/dist/visualization.es539.js +16 -8
- package/dist/visualization.es539.js.map +1 -1
- package/dist/visualization.es54.js +64 -69
- package/dist/visualization.es54.js.map +1 -1
- package/dist/visualization.es540.js +16 -16
- package/dist/visualization.es540.js.map +1 -1
- package/dist/visualization.es541.js +24 -10
- package/dist/visualization.es541.js.map +1 -1
- package/dist/visualization.es542.js +5 -4
- package/dist/visualization.es542.js.map +1 -1
- package/dist/visualization.es543.js +10 -4
- package/dist/visualization.es543.js.map +1 -1
- package/dist/visualization.es544.js +13 -6
- package/dist/visualization.es544.js.map +1 -1
- package/dist/visualization.es545.js +8 -31
- package/dist/visualization.es545.js.map +1 -1
- package/dist/visualization.es546.js +8 -35
- package/dist/visualization.es546.js.map +1 -1
- package/dist/visualization.es547.js +19 -51
- package/dist/visualization.es547.js.map +1 -1
- package/dist/visualization.es548.js +61 -7
- package/dist/visualization.es548.js.map +1 -1
- package/dist/visualization.es549.js +28 -5
- package/dist/visualization.es549.js.map +1 -1
- package/dist/visualization.es55.js +43 -80
- package/dist/visualization.es55.js.map +1 -1
- package/dist/visualization.es550.js +5 -6
- package/dist/visualization.es550.js.map +1 -1
- package/dist/visualization.es551.js +3 -33
- package/dist/visualization.es551.js.map +1 -1
- package/dist/visualization.es552.js +2 -25
- package/dist/visualization.es552.js.map +1 -1
- package/dist/visualization.es553.js +280 -44
- package/dist/visualization.es553.js.map +1 -1
- package/dist/visualization.es554.js +2 -9
- package/dist/visualization.es554.js.map +1 -1
- package/dist/visualization.es555.js +128 -15
- package/dist/visualization.es555.js.map +1 -1
- package/dist/visualization.es556.js +19 -16
- package/dist/visualization.es556.js.map +1 -1
- package/dist/visualization.es557.js +4 -16
- package/dist/visualization.es557.js.map +1 -1
- package/dist/visualization.es558.js +4 -24
- package/dist/visualization.es558.js.map +1 -1
- package/dist/visualization.es559.js +15 -5
- package/dist/visualization.es559.js.map +1 -1
- package/dist/visualization.es56.js +61 -31
- package/dist/visualization.es56.js.map +1 -1
- package/dist/visualization.es560.js +3 -3
- package/dist/visualization.es560.js.map +1 -1
- package/dist/visualization.es561.js +9 -15
- package/dist/visualization.es561.js.map +1 -1
- package/dist/visualization.es562.js +4 -3
- package/dist/visualization.es562.js.map +1 -1
- package/dist/visualization.es563.js +5 -9
- package/dist/visualization.es563.js.map +1 -1
- package/dist/visualization.es564.js +9 -3
- package/dist/visualization.es564.js.map +1 -1
- package/dist/visualization.es565.js +7 -11
- package/dist/visualization.es565.js.map +1 -1
- package/dist/visualization.es566.js +4 -9
- package/dist/visualization.es566.js.map +1 -1
- package/dist/visualization.es567.js +3 -24
- package/dist/visualization.es567.js.map +1 -1
- package/dist/visualization.es568.js +4 -4
- package/dist/visualization.es568.js.map +1 -1
- package/dist/visualization.es569.js +11 -8
- package/dist/visualization.es569.js.map +1 -1
- package/dist/visualization.es57.js +3 -168
- package/dist/visualization.es57.js.map +1 -1
- package/dist/visualization.es570.js +9 -10
- package/dist/visualization.es570.js.map +1 -1
- package/dist/visualization.es571.js +30 -13
- package/dist/visualization.es571.js.map +1 -1
- package/dist/visualization.es572.js +25 -8
- package/dist/visualization.es572.js.map +1 -1
- package/dist/visualization.es573.js +52 -8
- package/dist/visualization.es573.js.map +1 -1
- package/dist/visualization.es574.js +3 -19
- package/dist/visualization.es574.js.map +1 -1
- package/dist/visualization.es575.js +8 -62
- package/dist/visualization.es575.js.map +1 -1
- package/dist/visualization.es576.js +21 -28
- package/dist/visualization.es576.js.map +1 -1
- package/dist/visualization.es577.js +8 -5
- package/dist/visualization.es577.js.map +1 -1
- package/dist/visualization.es578.js +6 -3
- package/dist/visualization.es578.js.map +1 -1
- package/dist/visualization.es579.js +6 -2
- package/dist/visualization.es579.js.map +1 -1
- package/dist/visualization.es58.js +41 -128
- package/dist/visualization.es58.js.map +1 -1
- package/dist/visualization.es580.js +7 -281
- package/dist/visualization.es580.js.map +1 -1
- package/dist/visualization.es581.js +16 -2
- package/dist/visualization.es581.js.map +1 -1
- package/dist/visualization.es582.js +4 -127
- package/dist/visualization.es582.js.map +1 -1
- package/dist/visualization.es583.js +6 -18
- package/dist/visualization.es583.js.map +1 -1
- package/dist/visualization.es584.js +34 -32
- package/dist/visualization.es584.js.map +1 -1
- package/dist/visualization.es585.js +7 -3
- package/dist/visualization.es585.js.map +1 -1
- package/dist/visualization.es586.js +32 -8
- package/dist/visualization.es586.js.map +1 -1
- package/dist/visualization.es587.js +9 -6
- package/dist/visualization.es587.js.map +1 -1
- package/dist/visualization.es588.js +8 -17
- package/dist/visualization.es588.js.map +1 -1
- package/dist/visualization.es589.js +18 -14
- package/dist/visualization.es589.js.map +1 -1
- package/dist/visualization.es59.js +4 -177
- package/dist/visualization.es59.js.map +1 -1
- package/dist/visualization.es590.js +7 -13
- package/dist/visualization.es590.js.map +1 -1
- package/dist/visualization.es591.js +7 -72
- package/dist/visualization.es591.js.map +1 -1
- package/dist/visualization.es592.js +10 -26
- package/dist/visualization.es592.js.map +1 -1
- package/dist/visualization.es593.js +72 -5
- package/dist/visualization.es593.js.map +1 -1
- package/dist/visualization.es594.js +28 -24
- package/dist/visualization.es594.js.map +1 -1
- package/dist/visualization.es595.js +5 -11
- package/dist/visualization.es595.js.map +1 -1
- package/dist/visualization.es596.js +25 -4
- package/dist/visualization.es596.js.map +1 -1
- package/dist/visualization.es597.js +11 -4
- package/dist/visualization.es597.js.map +1 -1
- package/dist/visualization.es598.js +4 -4
- package/dist/visualization.es598.js.map +1 -1
- package/dist/visualization.es599.js +5 -13
- package/dist/visualization.es599.js.map +1 -1
- package/dist/visualization.es6.js +16 -16
- package/dist/visualization.es60.js +281 -88
- package/dist/visualization.es60.js.map +1 -1
- package/dist/visualization.es600.js +4 -17
- package/dist/visualization.es600.js.map +1 -1
- package/dist/visualization.es601.js +12 -13
- package/dist/visualization.es601.js.map +1 -1
- package/dist/visualization.es602.js +17 -13
- package/dist/visualization.es602.js.map +1 -1
- package/dist/visualization.es603.js +12 -7
- package/dist/visualization.es603.js.map +1 -1
- package/dist/visualization.es604.js +13 -7
- package/dist/visualization.es604.js.map +1 -1
- package/dist/visualization.es605.js +8 -7
- package/dist/visualization.es605.js.map +1 -1
- package/dist/visualization.es606.js +2 -2
- package/dist/visualization.es607.js +3 -3
- package/dist/visualization.es608.js +2 -2
- package/dist/visualization.es61.js +17 -68
- package/dist/visualization.es61.js.map +1 -1
- package/dist/visualization.es612.js +4 -4
- package/dist/visualization.es613.js +4 -290
- package/dist/visualization.es613.js.map +1 -1
- package/dist/visualization.es614.js +8 -32
- package/dist/visualization.es614.js.map +1 -1
- package/dist/visualization.es615.js +6 -9
- package/dist/visualization.es615.js.map +1 -1
- package/dist/visualization.es616.js +17 -8
- package/dist/visualization.es616.js.map +1 -1
- package/dist/visualization.es617.js +14 -18
- package/dist/visualization.es617.js.map +1 -1
- package/dist/visualization.es618.js +32 -5
- package/dist/visualization.es618.js.map +1 -1
- package/dist/visualization.es619.js +290 -3
- package/dist/visualization.es619.js.map +1 -1
- package/dist/visualization.es62.js +54 -11
- package/dist/visualization.es62.js.map +1 -1
- package/dist/visualization.es620.js +3 -5
- package/dist/visualization.es620.js.map +1 -1
- package/dist/visualization.es621.js +11 -13
- package/dist/visualization.es621.js.map +1 -1
- package/dist/visualization.es622.js +3 -117
- package/dist/visualization.es622.js.map +1 -1
- package/dist/visualization.es623.js +5 -3
- package/dist/visualization.es623.js.map +1 -1
- package/dist/visualization.es624.js +5 -11
- package/dist/visualization.es624.js.map +1 -1
- package/dist/visualization.es625.js +13 -65
- package/dist/visualization.es625.js.map +1 -1
- package/dist/visualization.es626.js +117 -4
- package/dist/visualization.es626.js.map +1 -1
- package/dist/visualization.es627.js +64 -6
- package/dist/visualization.es627.js.map +1 -1
- package/dist/visualization.es628.js +3 -6
- package/dist/visualization.es628.js.map +1 -1
- package/dist/visualization.es629.js +7 -16
- package/dist/visualization.es629.js.map +1 -1
- package/dist/visualization.es63.js +109 -38
- package/dist/visualization.es63.js.map +1 -1
- package/dist/visualization.es630.js +8 -19
- package/dist/visualization.es630.js.map +1 -1
- package/dist/visualization.es631.js +16 -9
- package/dist/visualization.es631.js.map +1 -1
- package/dist/visualization.es632.js +19 -4
- package/dist/visualization.es632.js.map +1 -1
- package/dist/visualization.es633.js +9 -28
- package/dist/visualization.es633.js.map +1 -1
- package/dist/visualization.es634.js +4 -6
- package/dist/visualization.es634.js.map +1 -1
- package/dist/visualization.es635.js +28 -10
- package/dist/visualization.es635.js.map +1 -1
- package/dist/visualization.es636.js +6 -7
- package/dist/visualization.es636.js.map +1 -1
- package/dist/visualization.es637.js +9 -10
- package/dist/visualization.es637.js.map +1 -1
- package/dist/visualization.es638.js +5 -20
- package/dist/visualization.es638.js.map +1 -1
- package/dist/visualization.es639.js +12 -2
- package/dist/visualization.es639.js.map +1 -1
- package/dist/visualization.es64.js +7 -80
- package/dist/visualization.es64.js.map +1 -1
- package/dist/visualization.es640.js +18 -9
- package/dist/visualization.es640.js.map +1 -1
- package/dist/visualization.es641.js +2 -303
- package/dist/visualization.es641.js.map +1 -1
- package/dist/visualization.es642.js +9 -23
- package/dist/visualization.es642.js.map +1 -1
- package/dist/visualization.es643.js +286 -61
- package/dist/visualization.es643.js.map +1 -1
- package/dist/visualization.es644.js +24 -32
- package/dist/visualization.es644.js.map +1 -1
- package/dist/visualization.es645.js +76 -11
- package/dist/visualization.es645.js.map +1 -1
- package/dist/visualization.es646.js +34 -7
- package/dist/visualization.es646.js.map +1 -1
- package/dist/visualization.es647.js +11 -8
- package/dist/visualization.es647.js.map +1 -1
- package/dist/visualization.es648.js +8 -3
- package/dist/visualization.es648.js.map +1 -1
- package/dist/visualization.es649.js +13 -0
- package/dist/visualization.es649.js.map +1 -0
- package/dist/visualization.es65.js +33 -45
- package/dist/visualization.es65.js.map +1 -1
- package/dist/visualization.es650.js +6 -0
- package/dist/visualization.es650.js.map +1 -0
- package/dist/visualization.es66.js +51 -55
- package/dist/visualization.es66.js.map +1 -1
- package/dist/visualization.es67.js +54 -6
- package/dist/visualization.es67.js.map +1 -1
- package/dist/visualization.es68.js +42 -25
- package/dist/visualization.es68.js.map +1 -1
- package/dist/visualization.es69.js +5 -12
- package/dist/visualization.es69.js.map +1 -1
- package/dist/visualization.es7.js +11 -11
- package/dist/visualization.es70.js +4 -57
- package/dist/visualization.es70.js.map +1 -1
- package/dist/visualization.es71.js +17 -51
- package/dist/visualization.es71.js.map +1 -1
- package/dist/visualization.es72.js +4 -54
- package/dist/visualization.es72.js.map +1 -1
- package/dist/visualization.es73.js +26 -42
- package/dist/visualization.es73.js.map +1 -1
- package/dist/visualization.es74.js +30 -5
- package/dist/visualization.es74.js.map +1 -1
- package/dist/visualization.es75.js +7 -4
- package/dist/visualization.es75.js.map +1 -1
- package/dist/visualization.es76.js +8 -18
- package/dist/visualization.es76.js.map +1 -1
- package/dist/visualization.es77.js +69 -4
- package/dist/visualization.es77.js.map +1 -1
- package/dist/visualization.es78.js +10 -25
- package/dist/visualization.es78.js.map +1 -1
- package/dist/visualization.es79.js +39 -30
- package/dist/visualization.es79.js.map +1 -1
- package/dist/visualization.es8.js +11 -11
- package/dist/visualization.es80.js +78 -32
- package/dist/visualization.es80.js.map +1 -1
- package/dist/visualization.es81.js +46 -11
- package/dist/visualization.es81.js.map +1 -1
- package/dist/visualization.es82.js +52 -51
- package/dist/visualization.es82.js.map +1 -1
- package/dist/visualization.es83.js +7 -29
- package/dist/visualization.es83.js.map +1 -1
- package/dist/visualization.es84.js +25 -64
- package/dist/visualization.es84.js.map +1 -1
- package/dist/visualization.es85.js +12 -61
- package/dist/visualization.es85.js.map +1 -1
- package/dist/visualization.es86.js +57 -3
- package/dist/visualization.es86.js.map +1 -1
- package/dist/visualization.es87.js +36 -47
- package/dist/visualization.es87.js.map +1 -1
- package/dist/visualization.es88.js +193 -3
- package/dist/visualization.es88.js.map +1 -1
- package/dist/visualization.es89.js +141 -278
- package/dist/visualization.es89.js.map +1 -1
- package/dist/visualization.es9.js +1 -1
- package/dist/visualization.es90.js +188 -19
- package/dist/visualization.es90.js.map +1 -1
- package/dist/visualization.es91.js +118 -62
- package/dist/visualization.es91.js.map +1 -1
- package/dist/visualization.es92.js +12 -221
- package/dist/visualization.es92.js.map +1 -1
- package/dist/visualization.es93.js +74 -2
- package/dist/visualization.es93.js.map +1 -1
- package/dist/visualization.es94.js +32 -556
- package/dist/visualization.es94.js.map +1 -1
- package/dist/visualization.es95.js +12 -213
- package/dist/visualization.es95.js.map +1 -1
- package/dist/visualization.es96.js +5 -2
- package/dist/visualization.es96.js.map +1 -1
- package/dist/visualization.es97.js +5 -4800
- package/dist/visualization.es97.js.map +1 -1
- package/dist/visualization.es98.js +5 -25
- package/dist/visualization.es98.js.map +1 -1
- package/dist/visualization.es99.js +31 -44
- package/dist/visualization.es99.js.map +1 -1
- package/package.json +1 -1
- package/dist/visualization.es46.js +0 -134
- package/dist/visualization.es46.js.map +0 -1
|
@@ -1,61 +1,27 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
border: "1px solid rgba(255, 255, 255, 0.3)",
|
|
22
|
-
boxShadow: "0 2px 8px rgba(0, 0, 0, 0.1)"
|
|
23
|
-
}, e[0] = m) : m = e[0];
|
|
24
|
-
let o;
|
|
25
|
-
e[1] !== t ? (o = () => t({
|
|
26
|
-
scaleX: 1.2,
|
|
27
|
-
scaleY: 1.2
|
|
28
|
-
}), e[1] = t, e[2] = o) : o = e[2];
|
|
29
|
-
let a;
|
|
30
|
-
e[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ l(y, { fontSize: "small" }), e[3] = a) : a = e[3];
|
|
31
|
-
let i;
|
|
32
|
-
e[4] !== o ? (i = /* @__PURE__ */ l(b, { title: "Zoom In", placement: "right", children: /* @__PURE__ */ l(g, { onClick: o, children: a }) }), e[4] = o, e[5] = i) : i = e[5];
|
|
33
|
-
let r;
|
|
34
|
-
e[6] !== t ? (r = () => t({
|
|
35
|
-
scaleX: 0.8333333333333334,
|
|
36
|
-
scaleY: 0.8333333333333334
|
|
37
|
-
}), e[6] = t, e[7] = r) : r = e[7];
|
|
38
|
-
let f;
|
|
39
|
-
e[8] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (f = /* @__PURE__ */ l(C, { fontSize: "small" }), e[8] = f) : f = e[8];
|
|
40
|
-
let n;
|
|
41
|
-
e[9] !== r ? (n = /* @__PURE__ */ l(b, { title: "Zoom Out", placement: "right", children: /* @__PURE__ */ l(g, { onClick: r, children: f }) }), e[9] = r, e[10] = n) : n = e[10];
|
|
42
|
-
let h;
|
|
43
|
-
e[11] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (h = /* @__PURE__ */ l(Z, { fontSize: "small" }), e[11] = h) : h = e[11];
|
|
44
|
-
let c;
|
|
45
|
-
e[12] !== x ? (c = /* @__PURE__ */ l(b, { title: "Reset Zoom", placement: "right", children: /* @__PURE__ */ l(g, { onClick: x, children: h }) }), e[12] = x, e[13] = c) : c = e[13];
|
|
46
|
-
let p;
|
|
47
|
-
e[14] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (p = /* @__PURE__ */ l(z, { fontSize: "small" }), e[14] = p) : p = e[14];
|
|
48
|
-
let s;
|
|
49
|
-
e[15] !== S ? (s = /* @__PURE__ */ l(b, { title: "Toggle Evolutionary Distance", placement: "right", children: /* @__PURE__ */ l(g, { onClick: S, children: p }) }), e[15] = S, e[16] = s) : s = e[16];
|
|
50
|
-
let d;
|
|
51
|
-
return e[17] !== s || e[18] !== i || e[19] !== n || e[20] !== c ? (d = /* @__PURE__ */ _("div", { style: m, children: [
|
|
52
|
-
i,
|
|
53
|
-
n,
|
|
54
|
-
c,
|
|
55
|
-
s
|
|
56
|
-
] }), e[17] = s, e[18] = i, e[19] = n, e[20] = c, e[21] = d) : d = e[21], d;
|
|
57
|
-
};
|
|
1
|
+
import i from "./visualization.es26.js";
|
|
2
|
+
const u = 0.12, r = "none";
|
|
3
|
+
function o(e, l) {
|
|
4
|
+
const [n, a] = l;
|
|
5
|
+
return i({
|
|
6
|
+
range: e,
|
|
7
|
+
domain: e.map((c, t) => n + t * (a - n) / (e.length - 1)),
|
|
8
|
+
// Held at the end colors rather than extrapolated past them, which interpolates the RGB channels
|
|
9
|
+
// out of range into colors that aren't on the gradient at all.
|
|
10
|
+
clamp: !0
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
const p = (e, l) => !!l && e != null && (e < l[0] || e > l[1]);
|
|
14
|
+
function s(e, l, n = !1) {
|
|
15
|
+
const a = e == null;
|
|
16
|
+
return {
|
|
17
|
+
fill: a || l === void 0 ? r : l,
|
|
18
|
+
fillOpacity: a ? 0 : n ? u : 1
|
|
19
|
+
};
|
|
20
|
+
}
|
|
58
21
|
export {
|
|
59
|
-
|
|
22
|
+
u as DIMMED_OPACITY,
|
|
23
|
+
o as getHeatmapColorScale,
|
|
24
|
+
p as isOutsideRange,
|
|
25
|
+
s as resolveCellAppearance
|
|
60
26
|
};
|
|
61
27
|
//# sourceMappingURL=visualization.es125.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es125.js","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"visualization.es125.js","sources":["../src/components/Heatmap/heatmapCellAppearance.ts"],"sourcesContent":["import { scaleLinear } from \"@visx/scale\";\n\n/** A cell outside highlightRange: faint enough that the cells inside it carry the grid. */\nexport const DIMMED_OPACITY = 0.12;\nconst NULL_VALUE_COLOR = \"none\";\n\nexport function getHeatmapColorScale(colors: [string, string, ...string[]], domain: [number, number]) {\n const [minValue, maxValue] = domain;\n return scaleLinear<string>({\n range: colors,\n domain: colors.map((_, i) => minValue + (i * (maxValue - minValue)) / (colors.length - 1)),\n // Held at the end colors rather than extrapolated past them, which interpolates the RGB channels\n // out of range into colors that aren't on the gradient at all.\n clamp: true,\n });\n}\n\n/** Whether a count falls outside highlightRange, and so fades. Nothing fades without a range. */\nexport const isOutsideRange = (count: number | null | undefined, range: [number, number] | null | undefined) =>\n !!range && count != null && (count < range[0] || count > range[1]);\n\n/**\n * A cell's fill, shared by the SVG and canvas renderers so they can't drift apart. Selection isn't\n * part of it: selected cells are framed instead (see heatmapSelection.ts).\n */\nexport function resolveCellAppearance(\n count: number | null | undefined,\n color: string | undefined,\n isDimmed = false\n): { fill: string; fillOpacity: number } {\n const isNullValue = count == null;\n return {\n fill: isNullValue || color === undefined ? NULL_VALUE_COLOR : color,\n fillOpacity: isNullValue ? 0 : isDimmed ? DIMMED_OPACITY : 1,\n };\n}\n"],"names":["DIMMED_OPACITY","NULL_VALUE_COLOR","getHeatmapColorScale","colors","domain","minValue","maxValue","scaleLinear","range","map","_","i","length","clamp","isOutsideRange","count","resolveCellAppearance","color","isDimmed","isNullValue","fill","undefined","fillOpacity"],"mappings":";AAGO,MAAMA,IAAiB,MACxBC,IAAmB;AAElB,SAASC,EAAqBC,GAAuCC,GAA0B;AACpG,QAAM,CAACC,GAAUC,CAAQ,IAAIF;AAC7B,SAAOG,EAAoB;AAAA,IACzBC,OAAOL;AAAAA,IACPC,QAAQD,EAAOM,IAAI,CAACC,GAAGC,MAAMN,IAAYM,KAAKL,IAAWD,MAAcF,EAAOS,SAAS,EAAE;AAAA;AAAA;AAAA,IAGzFC,OAAO;AAAA,EAAA,CACR;AACH;AAGO,MAAMC,IAAiBA,CAACC,GAAkCP,MAC/D,CAAC,CAACA,KAASO,KAAS,SAASA,IAAQP,EAAM,CAAC,KAAKO,IAAQP,EAAM,CAAC;AAM3D,SAASQ,EACdD,GACAE,GACAC,IAAW,IAC4B;AACvC,QAAMC,IAAcJ,KAAS;AAC7B,SAAO;AAAA,IACLK,MAAMD,KAAeF,MAAUI,SAAYpB,IAAmBgB;AAAAA,IAC9DK,aAAaH,IAAc,IAAID,IAAWlB,IAAiB;AAAA,EAAA;AAE/D;"}
|
|
@@ -1,35 +1,87 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
};
|
|
23
|
-
c({
|
|
24
|
-
scaleX: 1.5,
|
|
25
|
-
scaleY: 1.5,
|
|
26
|
-
point: f
|
|
1
|
+
const d = "#1a1c1e", C = "#ffffff";
|
|
2
|
+
const x = (n) => `${n.row}-${n.column}`, y = (n) => {
|
|
3
|
+
const [f, r] = n.split("-").map(Number);
|
|
4
|
+
return {
|
|
5
|
+
row: f,
|
|
6
|
+
column: r
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
function* $(n, {
|
|
10
|
+
colStart: f,
|
|
11
|
+
colEnd: r,
|
|
12
|
+
rowStart: i,
|
|
13
|
+
rowEnd: H
|
|
14
|
+
}) {
|
|
15
|
+
if ((r - f + 1) * (H - i + 1) <= n.size) {
|
|
16
|
+
for (let t = f; t <= r; t++) for (let o = i; o <= H; o++) n.has(x({
|
|
17
|
+
row: o,
|
|
18
|
+
column: t
|
|
19
|
+
})) && (yield {
|
|
20
|
+
row: o,
|
|
21
|
+
column: t
|
|
27
22
|
});
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
for (const t of n) {
|
|
26
|
+
const o = y(t);
|
|
27
|
+
o.column >= f && o.column <= r && o.row >= i && o.row <= H && (yield o);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function v(n, f, r, i) {
|
|
31
|
+
const {
|
|
32
|
+
xScale: H,
|
|
33
|
+
cellYScale: t,
|
|
34
|
+
binWidth: o,
|
|
35
|
+
binHeight: E,
|
|
36
|
+
gap: e
|
|
37
|
+
} = r, c = (s, l) => n.has(x({
|
|
38
|
+
row: s,
|
|
39
|
+
column: l
|
|
40
|
+
})), u = [], R = [], _ = (s, l, A, a, M, m) => s.push({
|
|
41
|
+
x: A,
|
|
42
|
+
y: a,
|
|
43
|
+
width: M,
|
|
44
|
+
height: m,
|
|
45
|
+
fill: l
|
|
46
|
+
});
|
|
47
|
+
for (const {
|
|
48
|
+
row: s,
|
|
49
|
+
column: l
|
|
50
|
+
} of f) {
|
|
51
|
+
if (!c(s, l)) continue;
|
|
52
|
+
const A = H(l), a = A + o - e, M = t(s) + e, m = t(s) + E, I = A - 2 < 0 ? A + 2 : A, O = a + 2 > i.width ? a - 2 : a, T = M - 2 < 0 ? M + 2 : M, h = m + 2 > i.height ? m - 2 : m, w = c(s + 1, l), S = c(s - 1, l), F = c(s, l - 1), N = c(s, l + 1), D = (k) => k ? e : 2, W = (k) => k ? e : 0, p = [I - D(F), O - I + D(F) + D(N)], L = [T - D(w), h - T + D(w) + D(S)], g = [I - W(F), O - I + W(F) + W(N)], b = [T - W(w), h - T + W(w) + W(S)];
|
|
53
|
+
w || (_(u, d, p[0], T - 2, p[1], 2), _(R, C, g[0], T, g[1], 1)), S || (_(u, d, p[0], h, p[1], 2), _(R, C, g[0], h - 1, g[1], 1)), F || (_(u, d, I - 2, L[0], 2, L[1]), _(R, C, I, b[0], 1, b[1])), N || (_(u, d, O, L[0], 2, L[1]), _(R, C, O - 1, b[0], 1, b[1]));
|
|
54
|
+
}
|
|
55
|
+
return [...u, ...R];
|
|
56
|
+
}
|
|
57
|
+
const z = {
|
|
58
|
+
columns: /* @__PURE__ */ new Set(),
|
|
59
|
+
rows: /* @__PURE__ */ new Set()
|
|
60
|
+
};
|
|
61
|
+
function B(n, f, r) {
|
|
62
|
+
if (!n?.size) return z;
|
|
63
|
+
const i = [...n].map(y), H = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map();
|
|
64
|
+
for (const {
|
|
65
|
+
row: e,
|
|
66
|
+
column: c
|
|
67
|
+
} of i)
|
|
68
|
+
H.set(c, (H.get(c) ?? 0) + 1), t.set(e, (t.get(e) ?? 0) + 1);
|
|
69
|
+
const o = /* @__PURE__ */ new Set(), E = /* @__PURE__ */ new Set();
|
|
70
|
+
for (const {
|
|
71
|
+
row: e,
|
|
72
|
+
column: c
|
|
73
|
+
} of i)
|
|
74
|
+
(t.get(e) ?? 0) < f && o.add(c), (H.get(c) ?? 0) < r && E.add(e);
|
|
75
|
+
return {
|
|
76
|
+
columns: o,
|
|
77
|
+
rows: E
|
|
78
|
+
};
|
|
79
|
+
}
|
|
32
80
|
export {
|
|
33
|
-
|
|
81
|
+
d as SELECTION_COLOR,
|
|
82
|
+
x as cellKey,
|
|
83
|
+
$ as selectedCellsIn,
|
|
84
|
+
v as selectionFrame,
|
|
85
|
+
B as selectionMarks
|
|
34
86
|
};
|
|
35
87
|
//# sourceMappingURL=visualization.es126.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es126.js","sources":["../src/components/PhyloTree/ZoomSurface.tsx"],"sourcesContent":["import { localPoint } from \"@visx/event\";\nimport { memo } from \"react\";\n\ntype ZoomSurfaceProps = {\n dragStart: (event: React.TouchEvent | React.MouseEvent) => void;\n dragMove: (event: React.TouchEvent | React.MouseEvent) => void;\n dragEnd: () => void;\n scale: (args: { scaleX: number; scaleY: number; point?: { x: number; y: number } }) => void;\n isDragging: boolean;\n};\n\n\n/**\n * rect which catches and handles zoom events\n */\n\nexport const ZoomSurface = memo(\n ({ dragStart, dragMove, dragEnd, scale, isDragging }: ZoomSurfaceProps) => {\n return (\n <rect\n width=\"100%\"\n height=\"100%\"\n fill=\"transparent\"\n onTouchStart={dragStart}\n onTouchMove={dragMove}\n onTouchEnd={dragEnd}\n onMouseDown={dragStart}\n onMouseMove={dragMove}\n onMouseUp={dragEnd}\n onMouseLeave={() => {\n if (isDragging) dragEnd();\n }}\n onDoubleClick={(event) => {\n const point = localPoint(event) || { x: 0, y: 0 };\n scale({ scaleX: 1.5, scaleY: 1.5, point });\n }}\n />\n );\n }\n);"],"names":["ZoomSurface","memo","t0","$","_c","dragStart","dragMove","dragEnd","scale","isDragging","t1","t2","event","point","localPoint","x","y","scaleX","scaleY","t3","jsx"],"mappings":";;;;AAgBO,MAAMA,IAAcC,EACzBC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAAC;AAAA,IAAAC,WAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,YAAAA;AAAAA,EAAAA,IAAAP;AAAqE,MAAAQ;AAAA,EAAAP,EAAA,CAAA,MAAAI,KAAAJ,SAAAM,KAYlDC,IAAAA,MAAA;AACZ,IAAID,KAAYF,EAAAA;AAAAA,EAAU,GAC3BJ,OAAAI,GAAAJ,OAAAM,GAAAN,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAAA,MAAAQ;AAAA,EAAAR,SAAAK,KACcG,IAAAC,CAAAA,MAAA;AACb,UAAAC,IAAcC,EAAWF,CAAuB,KAAlC;AAAA,MAAAG,GAA0B;AAAA,MAACC,GAAK;AAAA,IAAA;AAC9CR,IAAAA,EAAM;AAAA,MAAAS,QAAU;AAAA,MAAGC,QAAU;AAAA,MAAGL,OAAAA;AAAAA,IAAAA,CAAS;AAAA,EAAC,GAC3CV,OAAAK,GAAAL,OAAAQ,KAAAA,IAAAR,EAAA,CAAA;AAAA,MAAAgB;AAAA,SAAAhB,EAAA,CAAA,MAAAI,KAAAJ,EAAA,CAAA,MAAAG,KAAAH,EAAA,CAAA,MAAAE,KAAAF,EAAA,CAAA,MAAAO,KAAAP,SAAAQ,KAhBHQ,IAAA,gBAAAC,EAAA,UACQ,OAAA,QACC,QAAA,QACF,MAAA,eACSf,cAAAA,GACDC,aAAAA,GACDC,YAAAA,GACCF,aAAAA,GACAC,aAAAA,GACFC,WAAAA,GACG,cAAAG,GAGC,eAAAC,EAAAA,CAGd,GACDR,OAAAI,GAAAJ,OAAAG,GAAAH,OAAAE,GAAAF,OAAAO,GAAAP,OAAAQ,GAAAR,QAAAgB,KAAAA,IAAAhB,EAAA,EAAA,GAjBFgB;AAiBE,CAGR;"}
|
|
1
|
+
{"version":3,"file":"visualization.es126.js","sources":["../src/components/Heatmap/heatmapSelection.ts"],"sourcesContent":["/**\n * How a selection shows: a frame around the selected cells, and marks on the axes and minimap for\n * the columns and rows holding them. Cells keep their own colors, so the rest of the grid can\n * still be read for what to select next.\n */\n\nimport type { HeatmapCellId } from \"./types\";\n\n/** The frame's dark line, and the white one just inside it that holds it against a dark cell. */\nexport const SELECTION_COLOR = \"#1a1c1e\";\nconst HALO_COLOR = \"#ffffff\";\n/** Laid outside the selected cells: at the default gap of 2 it fills the gap and covers no cell. */\nconst FRAME_WIDTH = 2;\nconst HALO_WIDTH = 1;\n\nexport type SelectionBand = { x: number; y: number; width: number; height: number; fill: string };\n\ntype FrameGeometry = {\n xScale: (column: number) => number;\n cellYScale: (row: number) => number;\n binWidth: number;\n binHeight: number;\n gap: number;\n};\n\ntype GridBounds = { width: number; height: number };\n\nexport const cellKey = (cell: HeatmapCellId) => `${cell.row}-${cell.column}`;\n\nconst parseKey = (key: string): HeatmapCellId => {\n const [row, column] = key.split(\"-\").map(Number);\n return { row, column };\n};\n\n/** The selected cells within a block, walking whichever of the block and the selection is smaller. */\nexport function* selectedCellsIn(\n selectedKeys: Set<string>,\n { colStart, colEnd, rowStart, rowEnd }: { colStart: number; colEnd: number; rowStart: number; rowEnd: number }\n): Generator<HeatmapCellId> {\n if ((colEnd - colStart + 1) * (rowEnd - rowStart + 1) <= selectedKeys.size) {\n for (let column = colStart; column <= colEnd; column++)\n for (let row = rowStart; row <= rowEnd; row++) if (selectedKeys.has(cellKey({ row, column }))) yield { row, column };\n return;\n }\n for (const key of selectedKeys) {\n const cell = parseKey(key);\n if (cell.column >= colStart && cell.column <= colEnd && cell.row >= rowStart && cell.row <= rowEnd) yield cell;\n }\n}\n\n/**\n * The frame around the selected cells among `cells`, as rectangles to fill in order: a dark band\n * outside each edge not shared with another selected cell, then a white line just inside it.\n * Adjacent selected cells share one frame, so a selected column is one tall box.\n */\nexport function selectionFrame(\n selectedKeys: Set<string>,\n cells: Iterable<HeatmapCellId>,\n geometry: FrameGeometry,\n bounds: GridBounds\n): SelectionBand[] {\n const { xScale, cellYScale, binWidth, binHeight, gap } = geometry;\n const isSelected = (row: number, column: number) => selectedKeys.has(cellKey({ row, column }));\n const dark: SelectionBand[] = [];\n const halo: SelectionBand[] = [];\n const band = (into: SelectionBand[], fill: string, x: number, y: number, width: number, height: number) =>\n into.push({ x, y, width, height, fill });\n\n for (const { row, column } of cells) {\n if (!isSelected(row, column)) continue;\n // The cell as drawn, with its gap to its right and above it (see getCellGeometry).\n const cellLeft = xScale(column);\n const cellRight = cellLeft + binWidth - gap;\n const cellTop = cellYScale(row) + gap;\n const cellBottom = cellYScale(row) + binHeight;\n // The cell, pulled in wherever the line outside it would fall past the grid's edge.\n const left = cellLeft - FRAME_WIDTH < 0 ? cellLeft + FRAME_WIDTH : cellLeft;\n const right = cellRight + FRAME_WIDTH > bounds.width ? cellRight - FRAME_WIDTH : cellRight;\n const top = cellTop - FRAME_WIDTH < 0 ? cellTop + FRAME_WIDTH : cellTop;\n const bottom = cellBottom + FRAME_WIDTH > bounds.height ? cellBottom - FRAME_WIDTH : cellBottom;\n // Row 0 is at the bottom of the grid, so the row above is row + 1.\n const above = isSelected(row + 1, column);\n const below = isSelected(row - 1, column);\n const before = isSelected(row, column - 1);\n const after = isSelected(row, column + 1);\n // How far an edge's line runs past the box: across the gap to a selected neighbor, or round\n // the corner where there is none.\n const reach = (selected: boolean) => (selected ? gap : FRAME_WIDTH);\n const bridge = (selected: boolean) => (selected ? gap : 0);\n const across = [left - reach(before), right - left + reach(before) + reach(after)] as const;\n const down = [top - reach(above), bottom - top + reach(above) + reach(below)] as const;\n const haloAcross = [left - bridge(before), right - left + bridge(before) + bridge(after)] as const;\n const haloDown = [top - bridge(above), bottom - top + bridge(above) + bridge(below)] as const;\n\n if (!above) {\n band(dark, SELECTION_COLOR, across[0], top - FRAME_WIDTH, across[1], FRAME_WIDTH);\n band(halo, HALO_COLOR, haloAcross[0], top, haloAcross[1], HALO_WIDTH);\n }\n if (!below) {\n band(dark, SELECTION_COLOR, across[0], bottom, across[1], FRAME_WIDTH);\n band(halo, HALO_COLOR, haloAcross[0], bottom - HALO_WIDTH, haloAcross[1], HALO_WIDTH);\n }\n if (!before) {\n band(dark, SELECTION_COLOR, left - FRAME_WIDTH, down[0], FRAME_WIDTH, down[1]);\n band(halo, HALO_COLOR, left, haloDown[0], HALO_WIDTH, haloDown[1]);\n }\n if (!after) {\n band(dark, SELECTION_COLOR, right, down[0], FRAME_WIDTH, down[1]);\n band(halo, HALO_COLOR, right - HALO_WIDTH, haloDown[0], HALO_WIDTH, haloDown[1]);\n }\n }\n return [...dark, ...halo];\n}\n\n/** The columns and rows the axes and minimap mark as holding the selection. */\nexport type SelectionMarks = { columns: Set<number>; rows: Set<number> };\n\nconst NO_SELECTION_MARKS: SelectionMarks = { columns: new Set(), rows: new Set() };\n\n/**\n * Which columns and rows to mark. A column is marked for a selected cell whose row isn't fully\n * selected, and a row for one whose column isn't: a whole selected column marks only its column,\n * and a single cell marks both.\n */\nexport function selectionMarks(selectedKeys: Set<string> | null, numColumns: number, numRows: number): SelectionMarks {\n if (!selectedKeys?.size) return NO_SELECTION_MARKS;\n const cells = [...selectedKeys].map(parseKey);\n const perColumn = new Map<number, number>();\n const perRow = new Map<number, number>();\n for (const { row, column } of cells) {\n perColumn.set(column, (perColumn.get(column) ?? 0) + 1);\n perRow.set(row, (perRow.get(row) ?? 0) + 1);\n }\n const columns = new Set<number>();\n const rows = new Set<number>();\n for (const { row, column } of cells) {\n if ((perRow.get(row) ?? 0) < numColumns) columns.add(column);\n if ((perColumn.get(column) ?? 0) < numRows) rows.add(row);\n }\n return { columns, rows };\n}\n"],"names":["SELECTION_COLOR","HALO_COLOR","cellKey","cell","row","column","parseKey","key","split","map","Number","selectedCellsIn","selectedKeys","colStart","colEnd","rowStart","rowEnd","size","has","selectionFrame","cells","geometry","bounds","xScale","cellYScale","binWidth","binHeight","gap","isSelected","dark","halo","band","into","fill","x","y","width","height","push","cellLeft","cellRight","cellTop","cellBottom","left","FRAME_WIDTH","right","top","bottom","above","below","before","after","reach","selected","bridge","across","down","haloAcross","haloDown","HALO_WIDTH","NO_SELECTION_MARKS","columns","Set","rows","selectionMarks","numColumns","numRows","perColumn","Map","perRow","set","get","add"],"mappings":"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"}
|
|
@@ -1,21 +1,226 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import { isOutsideRange as z, resolveCellAppearance as tt, DIMMED_OPACITY as nt } from "./visualization.es125.js";
|
|
2
|
+
import { selectionFrame as ot, selectedCellsIn as et } from "./visualization.es126.js";
|
|
3
|
+
const H = (t, n, o) => Math.min(Math.max(t, n), o);
|
|
4
|
+
function Q(t, n, o) {
|
|
5
|
+
const {
|
|
6
|
+
xScale: l,
|
|
7
|
+
cellYScale: i,
|
|
8
|
+
gap: c,
|
|
9
|
+
isRect: e,
|
|
10
|
+
binWidth: a,
|
|
11
|
+
binHeight: u
|
|
12
|
+
} = t;
|
|
13
|
+
if (e)
|
|
14
|
+
return {
|
|
15
|
+
isRect: !0,
|
|
16
|
+
x: l(n),
|
|
17
|
+
y: i(o) + c,
|
|
18
|
+
width: a - c,
|
|
19
|
+
height: u - c
|
|
20
|
+
};
|
|
21
|
+
const r = Math.min(a, u) / 2;
|
|
22
|
+
return {
|
|
23
|
+
isRect: !1,
|
|
24
|
+
cx: n * a + a / 2,
|
|
25
|
+
cy: i(o) + c + r,
|
|
26
|
+
r: r - c,
|
|
27
|
+
radius: r
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function ut(t, n, o, l, i, c) {
|
|
31
|
+
const {
|
|
32
|
+
data: e,
|
|
33
|
+
numRows: a,
|
|
34
|
+
binWidth: u,
|
|
35
|
+
binHeight: r,
|
|
36
|
+
yMax: h
|
|
37
|
+
} = t;
|
|
38
|
+
return {
|
|
39
|
+
colStart: H(Math.floor(n / u) - c, 0, Math.max(0, e.length - 1)),
|
|
40
|
+
colEnd: H(Math.ceil((n + l) / u) + c, 0, Math.max(0, e.length - 1)),
|
|
41
|
+
rowStart: H(Math.floor((h - (o + i)) / r) - c, 0, Math.max(0, a - 1)),
|
|
42
|
+
rowEnd: H(Math.floor((h - o) / r) + c, 0, Math.max(0, a - 1))
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function ht(t, n, o, l) {
|
|
46
|
+
const {
|
|
47
|
+
data: i,
|
|
48
|
+
colorScale: c,
|
|
49
|
+
selectedKeys: e,
|
|
50
|
+
highlightRange: a
|
|
51
|
+
} = n;
|
|
52
|
+
let u = null, r = -1;
|
|
53
|
+
for (let h = o.colStart; h <= o.colEnd; h++) {
|
|
54
|
+
const y = i[h];
|
|
55
|
+
if (y)
|
|
56
|
+
for (let g = o.rowStart; g <= o.rowEnd; g++) {
|
|
57
|
+
const b = y.rows[g];
|
|
58
|
+
if (!b) continue;
|
|
59
|
+
const d = b.count, f = d == null ? void 0 : c(d), p = z(d, a), {
|
|
60
|
+
fill: E,
|
|
61
|
+
fillOpacity: R
|
|
62
|
+
} = tt(d, f, p);
|
|
63
|
+
if (R <= 0) continue;
|
|
64
|
+
const s = Q(n, h, g);
|
|
65
|
+
R !== r && (t.globalAlpha = R, r = R), E !== u && (t.fillStyle = E, u = E);
|
|
66
|
+
const w = l !== null && l.row === g && l.column === h;
|
|
67
|
+
if (s.isRect) {
|
|
68
|
+
const x = Math.max(s.width, 0), m = Math.max(s.height, 0);
|
|
69
|
+
t.fillRect(s.x, s.y, x, m), w && (t.beginPath(), t.rect(s.x, s.y, x, m));
|
|
70
|
+
} else
|
|
71
|
+
t.beginPath(), t.arc(s.cx, s.cy, Math.max(s.r, 0), 0, Math.PI * 2), t.fill();
|
|
72
|
+
w && (t.globalAlpha = 1, r = 1, t.lineWidth = 2, t.strokeStyle = E, t.stroke());
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (t.globalAlpha = 1, e) {
|
|
76
|
+
const h = {
|
|
77
|
+
colStart: o.colStart - 1,
|
|
78
|
+
colEnd: o.colEnd + 1,
|
|
79
|
+
rowStart: o.rowStart - 1,
|
|
80
|
+
rowEnd: o.rowEnd + 1
|
|
81
|
+
}, y = {
|
|
82
|
+
width: i.length * n.binWidth,
|
|
83
|
+
height: n.yMax
|
|
84
|
+
};
|
|
85
|
+
for (const {
|
|
86
|
+
x: g,
|
|
87
|
+
y: b,
|
|
88
|
+
width: d,
|
|
89
|
+
height: f,
|
|
90
|
+
fill: p
|
|
91
|
+
} of ot(e, et(e, h), n, y))
|
|
92
|
+
t.fillStyle = p, t.fillRect(g, b, d, f);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
const V = 256;
|
|
96
|
+
let S = null;
|
|
97
|
+
function lt(t) {
|
|
98
|
+
if (S ??= document.createElement("canvas").getContext("2d", {
|
|
99
|
+
willReadFrequently: !0
|
|
100
|
+
}), !S) return [0, 0, 0];
|
|
101
|
+
S.clearRect(0, 0, 1, 1), S.fillStyle = "#000", S.fillStyle = t, S.fillRect(0, 0, 1, 1);
|
|
102
|
+
const [n, o, l] = S.getImageData(0, 0, 1, 1).data;
|
|
103
|
+
return [n, o, l];
|
|
104
|
+
}
|
|
105
|
+
const j = /* @__PURE__ */ new WeakMap(), J = /* @__PURE__ */ new WeakMap();
|
|
106
|
+
function ct(t) {
|
|
107
|
+
const n = j.get(t.colorScale);
|
|
108
|
+
if (n) return n;
|
|
109
|
+
const {
|
|
110
|
+
colorScale: o,
|
|
111
|
+
minValue: l,
|
|
112
|
+
maxValue: i
|
|
113
|
+
} = t, c = new Uint8ClampedArray(V * 3);
|
|
114
|
+
for (let e = 0; e < V; e++) {
|
|
115
|
+
const [a, u, r] = lt(o(l + (i - l) * e / (V - 1)) ?? "#000");
|
|
116
|
+
c.set([a, u, r], e * 3);
|
|
117
|
+
}
|
|
118
|
+
return j.set(t.colorScale, c), c;
|
|
119
|
+
}
|
|
120
|
+
function it(t, n) {
|
|
121
|
+
const o = J.get(t);
|
|
122
|
+
if (o && o.length === t.length * n) return o;
|
|
123
|
+
const l = new Float64Array(t.length * n).fill(NaN);
|
|
124
|
+
return t.forEach((i, c) => i.rows.forEach((e, a) => {
|
|
125
|
+
a < n && e.count != null && (l[c * n + a] = e.count);
|
|
126
|
+
})), J.set(t, l), l;
|
|
127
|
+
}
|
|
128
|
+
function at(t, n, o) {
|
|
129
|
+
const {
|
|
130
|
+
data: l,
|
|
131
|
+
numRows: i,
|
|
132
|
+
highlightRange: c,
|
|
133
|
+
minValue: e,
|
|
134
|
+
maxValue: a
|
|
135
|
+
} = t, u = l.length;
|
|
136
|
+
if (u === 0 || i === 0 || n < 1 || o < 1) return null;
|
|
137
|
+
const r = ct(t), h = it(l, i), y = a - e, [g, b] = c ?? [-1 / 0, 1 / 0], d = new ImageData(n, o), f = d.data, p = (s, w) => Array.from({
|
|
138
|
+
length: w
|
|
139
|
+
}, (x, m) => {
|
|
140
|
+
const A = Math.min(Math.floor(m * s / w), s - 1);
|
|
141
|
+
return [A, Math.max(A + 1, Math.floor((m + 1) * s / w))];
|
|
142
|
+
}), E = p(u, n), R = p(i, o);
|
|
143
|
+
for (let s = 0; s < o; s++) {
|
|
144
|
+
const [w, x] = R[s];
|
|
145
|
+
for (let m = 0; m < n; m++) {
|
|
146
|
+
const [A, Z] = E[m];
|
|
147
|
+
let T = 0, k = 0, _ = 0, v = 0, L = 0, N = 0, q = 0, B = 0, C = 0;
|
|
148
|
+
for (let F = A; F < Z; F++) {
|
|
149
|
+
const $ = F * i;
|
|
150
|
+
for (let O = w; O < x; O++) {
|
|
151
|
+
const X = $ + i - 1 - O;
|
|
152
|
+
L++;
|
|
153
|
+
const I = h[X];
|
|
154
|
+
if (I !== I) continue;
|
|
155
|
+
const P = y > 0 ? Math.round(Math.min(Math.max((I - e) / y, 0), 1) * (V - 1)) * 3 : 0, G = r[P], K = r[P + 1], U = r[P + 2], Y = I >= g && I <= b;
|
|
156
|
+
Y && c && (N += G, q += K, B += U, C++);
|
|
157
|
+
const W = Y ? 1 : nt;
|
|
158
|
+
T += G * W, k += K * W, _ += U * W, v += W;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
const M = (s * n + m) * 4;
|
|
162
|
+
C > 0 ? (f[M] = N / C, f[M + 1] = q / C, f[M + 2] = B / C, f[M + 3] = 255) : v > 0 && (f[M] = T / v, f[M + 1] = k / v, f[M + 2] = _ / v, f[M + 3] = v / L * 255);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
return d;
|
|
166
|
+
}
|
|
167
|
+
let D = null;
|
|
168
|
+
function ft(t, n) {
|
|
169
|
+
const {
|
|
170
|
+
width: o,
|
|
171
|
+
height: l
|
|
172
|
+
} = t.canvas;
|
|
173
|
+
t.setTransform(1, 0, 0, 1, 0, 0), t.clearRect(0, 0, o, l);
|
|
174
|
+
const i = Math.min(o, n.data.length), c = Math.min(l, n.numRows), e = at(n, i, c);
|
|
175
|
+
e && (i === o && c === l ? t.putImageData(e, 0, 0) : (D ??= document.createElement("canvas"), D.width = i, D.height = c, D.getContext("2d")?.putImageData(e, 0, 0), t.imageSmoothingEnabled = !1, t.drawImage(D, 0, 0, o, l)));
|
|
176
|
+
}
|
|
177
|
+
function mt(t, n, o) {
|
|
178
|
+
const {
|
|
179
|
+
data: l,
|
|
180
|
+
numRows: i,
|
|
181
|
+
binWidth: c,
|
|
182
|
+
binHeight: e,
|
|
183
|
+
yMax: a
|
|
184
|
+
} = t;
|
|
185
|
+
if (n < 0 || o < 0) return null;
|
|
186
|
+
const u = Math.floor(n / c), r = Math.floor((a - o) / e);
|
|
187
|
+
return u < 0 || u >= l.length || r < 0 || r >= i || !l[u]?.rows[r] ? null : {
|
|
188
|
+
row: r,
|
|
189
|
+
column: u
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
function gt(t, n) {
|
|
193
|
+
const o = t.data[n.column], l = o?.rows[n.row];
|
|
194
|
+
if (!o || !l) return null;
|
|
195
|
+
const i = l.count, c = i == null ? void 0 : t.colorScale(i), e = Q(t, n.column, n.row), a = {
|
|
196
|
+
bin: l,
|
|
197
|
+
row: n.row,
|
|
198
|
+
column: n.column,
|
|
199
|
+
datum: o,
|
|
200
|
+
gap: t.gap,
|
|
201
|
+
count: i,
|
|
202
|
+
color: c,
|
|
203
|
+
opacity: i == null ? void 0 : 1
|
|
204
|
+
};
|
|
205
|
+
return e.isRect ? {
|
|
206
|
+
...a,
|
|
207
|
+
x: e.x,
|
|
208
|
+
y: e.y,
|
|
209
|
+
width: e.width,
|
|
210
|
+
height: e.height
|
|
211
|
+
} : {
|
|
212
|
+
...a,
|
|
213
|
+
cx: e.cx,
|
|
214
|
+
cy: e.cy,
|
|
215
|
+
r: e.r,
|
|
216
|
+
radius: e.radius
|
|
217
|
+
};
|
|
218
|
+
}
|
|
18
219
|
export {
|
|
19
|
-
|
|
220
|
+
gt as buildBin,
|
|
221
|
+
ht as drawHeatmapCells,
|
|
222
|
+
ft as drawHeatmapOverview,
|
|
223
|
+
ut as getVisibleRange,
|
|
224
|
+
mt as hitTestCell
|
|
20
225
|
};
|
|
21
226
|
//# sourceMappingURL=visualization.es127.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es127.js","sources":["../src/components/PhyloTree/TreeLink.tsx"],"sourcesContent":["import { TreeNode } from \"./types\";\nimport { motion } from \"framer-motion\";\nimport { useBranchLengthTransition } from \"./PhyloTree\";\nimport { memo } from \"react\";\n\nexport type TreeLinkProps = {\n scaledLinkPath: TreeNode[\"scaledLinkPath\"]\n baseLinkPath: TreeNode[\"baseLinkPath\"]\n color: TreeNode[\"color\"]\n strokeWidth: TreeNode[\"linkStrokeWidth\"]\n useBranchLengths: boolean;\n};\n\n/**\n * Link from node to its parent\n */\nexport const TreeLink = memo(function TreeLink({\n scaledLinkPath,\n baseLinkPath,\n color,\n strokeWidth,\n useBranchLengths,\n}: TreeLinkProps) {\n return (\n <motion.path\n stroke={color}\n strokeWidth={strokeWidth}\n fill=\"none\"\n initial={false}\n strokeLinecap={\"round\"}\n strokeLinejoin={\"round\"}\n animate={{\n d: useBranchLengths ? scaledLinkPath : baseLinkPath,\n }}\n transition={{\n d: useBranchLengthTransition,\n }}\n />\n );\n})\n"],"names":["TreeLink","memo","scaledLinkPath","baseLinkPath","color","strokeWidth","useBranchLengths","jsx","motion","d","useBranchLengthTransition"],"mappings":";;;;AAgBO,MAAMA,IAAWC,EAAK,SAAkB;AAAA,EAC7CC,gBAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,aAAAA;AAAAA,EACAC,kBAAAA;AACa,GAAG;AAChB,SACE,gBAAAC,EAACC,EAAO,MAAP,EACC,QAAQJ,GACR,aAAAC,GACA,MAAK,QACL,SAAS,IACT,eAAe,SACf,gBAAgB,SAChB,SAAS;AAAA,IACPI,GAAGH,IAAmBJ,IAAiBC;AAAAA,EAAAA,GAEzC,YAAY;AAAA,IACVM,GAAGC;AAAAA,EAAAA,GACH;AAGR,CAAC;"}
|
|
1
|
+
{"version":3,"file":"visualization.es127.js","sources":["../src/components/Heatmap/HeatmapCanvasCells.ts"],"sourcesContent":["import type { ColumnDatum, HeatmapCellId } from \"./types\";\nimport type { AnyBin } from \"./HeatmapCells\";\nimport { DIMMED_OPACITY, isOutsideRange, resolveCellAppearance } from \"./heatmapCellAppearance\";\nimport { selectedCellsIn, selectionFrame, type SelectionMarks } from \"./heatmapSelection\";\n\n/** What the canvas renderers and hit-testing need to place and color cells as the SVG renderer does. */\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\nconst clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max);\n\n// Mirrors @visx/heatmap's HeatmapRect/HeatmapCircle geometry, so canvas cells land on the pixels SVG\n// cells would. A circle's x is centered in its cell, as HeatmapCell.tsx recomputes it.\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/**\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/** Paints the cells in `range` onto `ctx`, whose origin is already at content-space (0,0), and the selection's frame over them. */\nexport function drawHeatmapCells(\n ctx: CanvasRenderingContext2D,\n params: CanvasCellParams,\n range: CanvasDrawRange,\n hoveredCell: HeatmapCellId | null\n) {\n const { data, colorScale, selectedKeys, highlightRange } = params;\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 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 = getCellGeometry(params, col, row);\n if (fillOpacity !== lastAlpha) {\n ctx.globalAlpha = fillOpacity;\n lastAlpha = fillOpacity;\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 ctx.globalAlpha = 1;\n lastAlpha = 1;\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}\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 drawn as solid squares, without gaps, circles or the selection frame - the minimap marks the\n * 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","getVisibleRange","scrollLeft","scrollTop","viewportWidth","viewportHeight","overscan","data","numRows","yMax","colStart","floor","length","colEnd","ceil","rowStart","rowEnd","drawHeatmapCells","ctx","range","hoveredCell","colorScale","selectedKeys","highlightRange","lastFill","lastAlpha","columnDatum","rowDatum","rows","count","color","undefined","isDimmed","isOutsideRange","fill","fillOpacity","resolveCellAppearance","geometry","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","opacity","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,17 +1,21 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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.es126.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;
|
|
17
|
+
};
|
|
14
18
|
export {
|
|
15
|
-
|
|
19
|
+
u as default
|
|
16
20
|
};
|
|
17
21
|
//# sourceMappingURL=visualization.es128.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es128.js","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"visualization.es128.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;"}
|