@weng-lab/visualization 2.4.0-beta.7 → 2.4.0-beta.8
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/HeatmapCells.d.ts +5 -0
- package/dist/src/components/Heatmap/HeatmapCells.d.ts.map +1 -1
- package/dist/src/components/Heatmap/HeatmapStaticSvg.d.ts +33 -0
- package/dist/src/components/Heatmap/HeatmapStaticSvg.d.ts.map +1 -0
- package/dist/src/components/Heatmap/heatmapAxisProps.d.ts +37 -0
- package/dist/src/components/Heatmap/heatmapAxisProps.d.ts.map +1 -0
- package/dist/src/components/Heatmap/heatmapCellAppearance.d.ts +1 -1
- package/dist/src/components/Heatmap/heatmapCellAppearance.d.ts.map +1 -1
- package/dist/src/components/Heatmap/heatmapLayout.d.ts +71 -0
- package/dist/src/components/Heatmap/heatmapLayout.d.ts.map +1 -0
- package/dist/src/components/Heatmap/hooks/useHeatmapCanvasGrid.d.ts +31 -0
- package/dist/src/components/Heatmap/hooks/useHeatmapCanvasGrid.d.ts.map +1 -0
- package/dist/src/components/Heatmap/hooks/useScrollToSelection.d.ts +12 -0
- package/dist/src/components/Heatmap/hooks/useScrollToSelection.d.ts.map +1 -0
- package/dist/src/components/Heatmap/{HeatmapMiniMap.d.ts → scrollable/HeatmapMiniMap.d.ts} +3 -3
- package/dist/src/components/Heatmap/scrollable/HeatmapMiniMap.d.ts.map +1 -0
- package/dist/src/components/Heatmap/scrollable/HeatmapMiniMapPopup.d.ts +11 -0
- package/dist/src/components/Heatmap/scrollable/HeatmapMiniMapPopup.d.ts.map +1 -0
- package/dist/src/components/Heatmap/scrollable/HeatmapScrollableGrid.d.ts +28 -0
- package/dist/src/components/Heatmap/scrollable/HeatmapScrollableGrid.d.ts.map +1 -0
- package/dist/src/components/Heatmap/scrollable/heatmapExport.d.ts +30 -0
- package/dist/src/components/Heatmap/scrollable/heatmapExport.d.ts.map +1 -0
- package/dist/src/components/Heatmap/types.d.ts +4 -0
- package/dist/src/components/Heatmap/types.d.ts.map +1 -1
- package/dist/src/components/ScatterPlot/PlotZoom.d.ts +0 -12
- package/dist/src/components/ScatterPlot/PlotZoom.d.ts.map +1 -1
- package/dist/src/components/ScatterPlot/hooks/useCrosshair.d.ts.map +1 -1
- package/dist/src/components/ScatterPlot/hooks/useHoverTooltip.d.ts.map +1 -1
- package/dist/visualization.es10.js +11 -11
- package/dist/visualization.es100.js +99 -143
- package/dist/visualization.es100.js.map +1 -1
- package/dist/visualization.es101.js +129 -13
- package/dist/visualization.es101.js.map +1 -1
- package/dist/visualization.es102.js +83 -74
- package/dist/visualization.es102.js.map +1 -1
- package/dist/visualization.es103.js +36 -31
- package/dist/visualization.es103.js.map +1 -1
- package/dist/visualization.es104.js +47 -13
- package/dist/visualization.es104.js.map +1 -1
- package/dist/visualization.es105.js +58 -5
- package/dist/visualization.es105.js.map +1 -1
- package/dist/visualization.es106.js +32 -5
- package/dist/visualization.es106.js.map +1 -1
- package/dist/visualization.es107.js +18 -5
- package/dist/visualization.es107.js.map +1 -1
- package/dist/visualization.es108.js +14 -26
- package/dist/visualization.es108.js.map +1 -1
- package/dist/visualization.es109.js +26 -70
- package/dist/visualization.es109.js.map +1 -1
- package/dist/visualization.es11.js +10 -10
- package/dist/visualization.es110.js +222 -2
- package/dist/visualization.es110.js.map +1 -1
- package/dist/visualization.es111.js +2 -1606
- package/dist/visualization.es111.js.map +1 -1
- package/dist/visualization.es112.js +556 -3
- package/dist/visualization.es112.js.map +1 -1
- package/dist/visualization.es113.js +213 -14
- package/dist/visualization.es113.js.map +1 -1
- package/dist/visualization.es114.js +2 -15
- package/dist/visualization.es114.js.map +1 -1
- package/dist/visualization.es115.js +4799 -57
- package/dist/visualization.es115.js.map +1 -1
- package/dist/visualization.es116.js +24 -31
- package/dist/visualization.es116.js.map +1 -1
- package/dist/visualization.es117.js +45 -18
- package/dist/visualization.es117.js.map +1 -1
- package/dist/visualization.es118.js +144 -14
- package/dist/visualization.es118.js.map +1 -1
- package/dist/visualization.es119.js +147 -26
- package/dist/visualization.es119.js.map +1 -1
- package/dist/visualization.es12.js +2 -2
- package/dist/visualization.es120.js +32 -64
- package/dist/visualization.es120.js.map +1 -1
- package/dist/visualization.es121.js +44 -60
- package/dist/visualization.es121.js.map +1 -1
- package/dist/visualization.es122.js +73 -29
- package/dist/visualization.es122.js.map +1 -1
- package/dist/visualization.es123.js +23 -43
- package/dist/visualization.es123.js.map +1 -1
- package/dist/visualization.es124.js +80 -71
- package/dist/visualization.es124.js.map +1 -1
- package/dist/visualization.es125.js +36 -25
- package/dist/visualization.es125.js.map +1 -1
- package/dist/visualization.es126.js +13 -85
- package/dist/visualization.es126.js.map +1 -1
- package/dist/visualization.es127.js +74 -36
- package/dist/visualization.es127.js.map +1 -1
- package/dist/visualization.es128.js +33 -5
- package/dist/visualization.es128.js.map +1 -1
- package/dist/visualization.es129.js +12 -60
- package/dist/visualization.es129.js.map +1 -1
- package/dist/visualization.es13.js +7 -7
- package/dist/visualization.es130.js +16 -37
- package/dist/visualization.es130.js.map +1 -1
- package/dist/visualization.es131.js +61 -34
- package/dist/visualization.es131.js.map +1 -1
- package/dist/visualization.es132.js +7 -84
- package/dist/visualization.es132.js.map +1 -1
- package/dist/visualization.es133.js +5 -29
- package/dist/visualization.es133.js.map +1 -1
- package/dist/visualization.es134.js +42 -7
- package/dist/visualization.es134.js.map +1 -1
- package/dist/visualization.es135.js +30 -4
- package/dist/visualization.es135.js.map +1 -1
- package/dist/visualization.es136.js +6 -2
- package/dist/visualization.es136.js.map +1 -1
- package/dist/visualization.es137.js +6 -84
- package/dist/visualization.es137.js.map +1 -1
- package/dist/visualization.es138.js +3 -89
- package/dist/visualization.es138.js.map +1 -1
- package/dist/visualization.es139.js +16 -12
- package/dist/visualization.es139.js.map +1 -1
- package/dist/visualization.es140.js +16 -5
- package/dist/visualization.es140.js.map +1 -1
- package/dist/visualization.es141.js +32 -14
- package/dist/visualization.es141.js.map +1 -1
- package/dist/visualization.es142.js +17 -7
- package/dist/visualization.es142.js.map +1 -1
- package/dist/visualization.es143.js +10 -13
- package/dist/visualization.es143.js.map +1 -1
- package/dist/visualization.es144.js +6 -71
- package/dist/visualization.es144.js.map +1 -1
- package/dist/visualization.es145.js +6 -16
- package/dist/visualization.es145.js.map +1 -1
- package/dist/visualization.es146.js +10 -11
- package/dist/visualization.es146.js.map +1 -1
- package/dist/visualization.es147.js +5 -5
- package/dist/visualization.es147.js.map +1 -1
- package/dist/visualization.es148.js +5 -8
- package/dist/visualization.es148.js.map +1 -1
- package/dist/visualization.es149.js +8 -15
- package/dist/visualization.es149.js.map +1 -1
- package/dist/visualization.es15.js +8 -8
- package/dist/visualization.es150.js +5 -11
- package/dist/visualization.es150.js.map +1 -1
- package/dist/visualization.es151.js +12 -5
- package/dist/visualization.es151.js.map +1 -1
- package/dist/visualization.es152.js +26 -11
- package/dist/visualization.es152.js.map +1 -1
- package/dist/visualization.es153.js +60 -3
- package/dist/visualization.es153.js.map +1 -1
- package/dist/visualization.es154.js +39 -2
- package/dist/visualization.es154.js.map +1 -1
- package/dist/visualization.es155.js +37 -11
- package/dist/visualization.es155.js.map +1 -1
- package/dist/visualization.es156.js +82 -29
- package/dist/visualization.es156.js.map +1 -1
- package/dist/visualization.es157.js +26 -40
- package/dist/visualization.es157.js.map +1 -1
- package/dist/visualization.es158.js +6 -48
- package/dist/visualization.es158.js.map +1 -1
- package/dist/visualization.es159.js +5 -3
- package/dist/visualization.es159.js.map +1 -1
- package/dist/visualization.es160.js +4 -3
- package/dist/visualization.es160.js.map +1 -1
- package/dist/visualization.es161.js +19 -5
- package/dist/visualization.es161.js.map +1 -1
- package/dist/visualization.es162.js +27 -4
- package/dist/visualization.es162.js.map +1 -1
- package/dist/visualization.es163.js +2 -11
- package/dist/visualization.es163.js.map +1 -1
- package/dist/visualization.es164.js +1605 -3
- package/dist/visualization.es164.js.map +1 -1
- package/dist/visualization.es165.js +84 -17
- package/dist/visualization.es165.js.map +1 -1
- package/dist/visualization.es166.js +89 -18
- package/dist/visualization.es166.js.map +1 -1
- package/dist/visualization.es167.js +12 -36
- package/dist/visualization.es167.js.map +1 -1
- package/dist/visualization.es168.js +6 -2
- package/dist/visualization.es168.js.map +1 -1
- package/dist/visualization.es169.js +15 -2
- package/dist/visualization.es169.js.map +1 -1
- package/dist/visualization.es170.js +7 -4
- package/dist/visualization.es170.js.map +1 -1
- package/dist/visualization.es171.js +13 -14
- package/dist/visualization.es171.js.map +1 -1
- package/dist/visualization.es172.js +19 -3
- package/dist/visualization.es172.js.map +1 -1
- package/dist/visualization.es173.js +4 -7
- package/dist/visualization.es173.js.map +1 -1
- package/dist/visualization.es174.js +36 -3
- package/dist/visualization.es174.js.map +1 -1
- package/dist/visualization.es175.js +8 -7
- package/dist/visualization.es175.js.map +1 -1
- package/dist/visualization.es176.js +14 -17
- package/dist/visualization.es176.js.map +1 -1
- package/dist/visualization.es177.js +11 -4
- package/dist/visualization.es177.js.map +1 -1
- package/dist/visualization.es178.js +5 -35
- package/dist/visualization.es178.js.map +1 -1
- package/dist/visualization.es179.js +11 -74
- package/dist/visualization.es179.js.map +1 -1
- package/dist/visualization.es18.js +1 -1
- package/dist/visualization.es180.js +4 -2
- package/dist/visualization.es180.js.map +1 -1
- package/dist/visualization.es181.js +2 -483
- package/dist/visualization.es181.js.map +1 -1
- package/dist/visualization.es182.js +11 -2
- package/dist/visualization.es182.js.map +1 -1
- package/dist/visualization.es183.js +30 -30
- package/dist/visualization.es183.js.map +1 -1
- package/dist/visualization.es184.js +43 -2
- package/dist/visualization.es184.js.map +1 -1
- package/dist/visualization.es185.js +50 -29
- package/dist/visualization.es185.js.map +1 -1
- package/dist/visualization.es186.js +3 -120
- package/dist/visualization.es186.js.map +1 -1
- package/dist/visualization.es187.js +3 -30
- package/dist/visualization.es187.js.map +1 -1
- package/dist/visualization.es188.js +5 -10
- package/dist/visualization.es188.js.map +1 -1
- package/dist/visualization.es189.js +4 -13
- package/dist/visualization.es189.js.map +1 -1
- package/dist/visualization.es190.js +9 -31
- package/dist/visualization.es190.js.map +1 -1
- package/dist/visualization.es191.js +3 -28
- package/dist/visualization.es191.js.map +1 -1
- package/dist/visualization.es192.js +17 -10
- package/dist/visualization.es192.js.map +1 -1
- package/dist/visualization.es193.js +18 -12
- package/dist/visualization.es193.js.map +1 -1
- package/dist/visualization.es194.js +36 -17
- package/dist/visualization.es194.js.map +1 -1
- package/dist/visualization.es195.js +2 -24
- package/dist/visualization.es195.js.map +1 -1
- package/dist/visualization.es196.js +2 -17
- package/dist/visualization.es196.js.map +1 -1
- package/dist/visualization.es197.js +4 -97
- package/dist/visualization.es197.js.map +1 -1
- package/dist/visualization.es198.js +14 -28
- package/dist/visualization.es198.js.map +1 -1
- package/dist/visualization.es199.js +3 -72
- package/dist/visualization.es199.js.map +1 -1
- package/dist/visualization.es2.js +8 -8
- package/dist/visualization.es20.js +57 -18695
- package/dist/visualization.es20.js.map +1 -1
- package/dist/visualization.es200.js +7 -52
- package/dist/visualization.es200.js.map +1 -1
- package/dist/visualization.es201.js +3 -35
- package/dist/visualization.es201.js.map +1 -1
- package/dist/visualization.es202.js +6 -41
- package/dist/visualization.es202.js.map +1 -1
- package/dist/visualization.es203.js +72 -17
- package/dist/visualization.es203.js.map +1 -1
- package/dist/visualization.es204.js +22 -63
- package/dist/visualization.es204.js.map +1 -1
- package/dist/visualization.es205.js +23 -7
- package/dist/visualization.es205.js.map +1 -1
- package/dist/visualization.es206.js +40 -42
- package/dist/visualization.es206.js.map +1 -1
- package/dist/visualization.es207.js +7 -72
- package/dist/visualization.es207.js.map +1 -1
- package/dist/visualization.es208.js +10 -20
- package/dist/visualization.es208.js.map +1 -1
- package/dist/visualization.es209.js +14 -19
- package/dist/visualization.es209.js.map +1 -1
- package/dist/visualization.es21.js +11 -5
- package/dist/visualization.es21.js.map +1 -1
- package/dist/visualization.es210.js +33 -37
- package/dist/visualization.es210.js.map +1 -1
- package/dist/visualization.es211.js +24 -7
- package/dist/visualization.es211.js.map +1 -1
- package/dist/visualization.es212.js +25 -10
- package/dist/visualization.es212.js.map +1 -1
- package/dist/visualization.es213.js +70 -16
- package/dist/visualization.es213.js.map +1 -1
- package/dist/visualization.es214.js +16 -36
- package/dist/visualization.es214.js.map +1 -1
- package/dist/visualization.es215.js +11 -24
- package/dist/visualization.es215.js.map +1 -1
- package/dist/visualization.es216.js +5 -28
- package/dist/visualization.es216.js.map +1 -1
- package/dist/visualization.es217.js +8 -6
- package/dist/visualization.es217.js.map +1 -1
- package/dist/visualization.es218.js +6 -6
- package/dist/visualization.es218.js.map +1 -1
- package/dist/visualization.es219.js +7 -3
- package/dist/visualization.es219.js.map +1 -1
- package/dist/visualization.es22.js +55 -5
- package/dist/visualization.es22.js.map +1 -1
- package/dist/visualization.es220.js +9 -16
- package/dist/visualization.es220.js.map +1 -1
- package/dist/visualization.es221.js +6 -16
- package/dist/visualization.es221.js.map +1 -1
- package/dist/visualization.es222.js +6 -32
- package/dist/visualization.es222.js.map +1 -1
- package/dist/visualization.es223.js +5 -16
- package/dist/visualization.es223.js.map +1 -1
- package/dist/visualization.es224.js +14 -10
- package/dist/visualization.es224.js.map +1 -1
- package/dist/visualization.es225.js +5 -6
- package/dist/visualization.es225.js.map +1 -1
- package/dist/visualization.es226.js +3 -6
- package/dist/visualization.es226.js.map +1 -1
- package/dist/visualization.es227.js +6 -10
- package/dist/visualization.es227.js.map +1 -1
- package/dist/visualization.es228.js +6 -4
- package/dist/visualization.es228.js.map +1 -1
- package/dist/visualization.es229.js +9 -4
- package/dist/visualization.es229.js.map +1 -1
- package/dist/visualization.es23.js +43 -59
- package/dist/visualization.es23.js.map +1 -1
- package/dist/visualization.es230.js +32 -8
- package/dist/visualization.es230.js.map +1 -1
- package/dist/visualization.es231.js +114 -4
- package/dist/visualization.es231.js.map +1 -1
- package/dist/visualization.es232.js +3 -12
- package/dist/visualization.es232.js.map +1 -1
- package/dist/visualization.es233.js +5 -26
- package/dist/visualization.es233.js.map +1 -1
- package/dist/visualization.es234.js +33 -3
- package/dist/visualization.es234.js.map +1 -1
- package/dist/visualization.es235.js +15 -5
- package/dist/visualization.es235.js.map +1 -1
- package/dist/visualization.es236.js +6 -32
- package/dist/visualization.es236.js.map +1 -1
- package/dist/visualization.es237.js +11 -15
- package/dist/visualization.es237.js.map +1 -1
- package/dist/visualization.es238.js +3 -7
- package/dist/visualization.es238.js.map +1 -1
- package/dist/visualization.es239.js +74 -11
- package/dist/visualization.es239.js.map +1 -1
- package/dist/visualization.es24.js +33 -808
- package/dist/visualization.es24.js.map +1 -1
- package/dist/visualization.es240.js +2 -20
- package/dist/visualization.es240.js.map +1 -1
- package/dist/visualization.es241.js +482 -27
- package/dist/visualization.es241.js.map +1 -1
- package/dist/visualization.es242.js +2 -10
- package/dist/visualization.es242.js.map +1 -1
- package/dist/visualization.es243.js +63 -6
- package/dist/visualization.es243.js.map +1 -1
- package/dist/visualization.es244.js +60 -7
- package/dist/visualization.es244.js.map +1 -1
- package/dist/visualization.es245.js +123 -9
- package/dist/visualization.es245.js.map +1 -1
- package/dist/visualization.es246.js +115 -6
- package/dist/visualization.es246.js.map +1 -1
- package/dist/visualization.es247.js +34 -6
- package/dist/visualization.es247.js.map +1 -1
- package/dist/visualization.es248.js +2 -6
- package/dist/visualization.es248.js.map +1 -1
- package/dist/visualization.es249.js +2 -15
- package/dist/visualization.es249.js.map +1 -1
- package/dist/visualization.es25.js +11 -0
- package/dist/visualization.es25.js.map +1 -0
- package/dist/visualization.es250.js +3 -5
- package/dist/visualization.es250.js.map +1 -1
- package/dist/visualization.es251.js +3 -3
- package/dist/visualization.es251.js.map +1 -1
- package/dist/visualization.es252.js +3 -6
- package/dist/visualization.es252.js.map +1 -1
- package/dist/visualization.es253.js +3 -6
- package/dist/visualization.es253.js.map +1 -1
- package/dist/visualization.es254.js +2 -8
- package/dist/visualization.es254.js.map +1 -1
- package/dist/visualization.es255.js +3 -32
- package/dist/visualization.es255.js.map +1 -1
- package/dist/visualization.es256.js +3 -114
- package/dist/visualization.es256.js.map +1 -1
- package/dist/visualization.es257.js +7 -34
- package/dist/visualization.es257.js.map +1 -1
- package/dist/visualization.es258.js +49 -2
- package/dist/visualization.es258.js.map +1 -1
- package/dist/visualization.es259.js +3 -3
- package/dist/visualization.es259.js.map +1 -1
- package/dist/visualization.es26.js +8 -131
- package/dist/visualization.es26.js.map +1 -1
- package/dist/visualization.es260.js +6 -3
- package/dist/visualization.es260.js.map +1 -1
- package/dist/visualization.es261.js +4 -3
- package/dist/visualization.es261.js.map +1 -1
- package/dist/visualization.es262.js +3 -3
- package/dist/visualization.es262.js.map +1 -1
- package/dist/visualization.es263.js +6 -3
- package/dist/visualization.es263.js.map +1 -1
- package/dist/visualization.es264.js +4 -3
- package/dist/visualization.es264.js.map +1 -1
- package/dist/visualization.es265.js +29 -3
- package/dist/visualization.es265.js.map +1 -1
- package/dist/visualization.es266.js +19 -6
- package/dist/visualization.es266.js.map +1 -1
- package/dist/visualization.es267.js +23 -48
- package/dist/visualization.es267.js.map +1 -1
- package/dist/visualization.es268.js +53 -3
- package/dist/visualization.es268.js.map +1 -1
- package/dist/visualization.es269.js +9 -6
- package/dist/visualization.es269.js.map +1 -1
- package/dist/visualization.es27.js +67 -64
- package/dist/visualization.es27.js.map +1 -1
- package/dist/visualization.es270.js +9 -4
- package/dist/visualization.es270.js.map +1 -1
- package/dist/visualization.es271.js +6 -3
- package/dist/visualization.es271.js.map +1 -1
- package/dist/visualization.es272.js +8 -6
- package/dist/visualization.es272.js.map +1 -1
- package/dist/visualization.es273.js +6 -4
- package/dist/visualization.es273.js.map +1 -1
- package/dist/visualization.es274.js +5 -23
- package/dist/visualization.es274.js.map +1 -1
- package/dist/visualization.es275.js +14 -53
- package/dist/visualization.es275.js.map +1 -1
- package/dist/visualization.es276.js +5 -20
- package/dist/visualization.es276.js.map +1 -1
- package/dist/visualization.es277.js +6 -53
- package/dist/visualization.es277.js.map +1 -1
- package/dist/visualization.es278.js +6 -31
- package/dist/visualization.es278.js.map +1 -1
- package/dist/visualization.es279.js +6 -33
- package/dist/visualization.es279.js.map +1 -1
- package/dist/visualization.es28.js +44 -113
- package/dist/visualization.es28.js.map +1 -1
- package/dist/visualization.es280.js +3 -12
- package/dist/visualization.es280.js.map +1 -1
- package/dist/visualization.es281.js +5 -3
- package/dist/visualization.es281.js.map +1 -1
- package/dist/visualization.es282.js +9 -11
- package/dist/visualization.es282.js.map +1 -1
- package/dist/visualization.es283.js +3 -37
- package/dist/visualization.es283.js.map +1 -1
- package/dist/visualization.es284.js +10 -259
- package/dist/visualization.es284.js.map +1 -1
- package/dist/visualization.es285.js +35 -58
- package/dist/visualization.es285.js.map +1 -1
- package/dist/visualization.es286.js +260 -5
- package/dist/visualization.es286.js.map +1 -1
- package/dist/visualization.es287.js +59 -21
- package/dist/visualization.es287.js.map +1 -1
- package/dist/visualization.es288.js +5 -37
- package/dist/visualization.es288.js.map +1 -1
- package/dist/visualization.es289.js +5 -32
- package/dist/visualization.es289.js.map +1 -1
- package/dist/visualization.es29.js +11 -147
- package/dist/visualization.es29.js.map +1 -1
- package/dist/visualization.es290.js +140 -14
- package/dist/visualization.es290.js.map +1 -1
- package/dist/visualization.es291.js +6 -19
- package/dist/visualization.es291.js.map +1 -1
- package/dist/visualization.es292.js +22 -9
- package/dist/visualization.es292.js.map +1 -1
- package/dist/visualization.es293.js +35 -5
- package/dist/visualization.es293.js.map +1 -1
- package/dist/visualization.es294.js +29 -135
- package/dist/visualization.es294.js.map +1 -1
- package/dist/visualization.es295.js +15 -6
- package/dist/visualization.es295.js.map +1 -1
- package/dist/visualization.es296.js +18 -109
- package/dist/visualization.es296.js.map +1 -1
- package/dist/visualization.es297.js +7 -11
- package/dist/visualization.es297.js.map +1 -1
- package/dist/visualization.es298.js +88 -120
- package/dist/visualization.es298.js.map +1 -1
- package/dist/visualization.es299.js +12 -5
- package/dist/visualization.es299.js.map +1 -1
- package/dist/visualization.es3.js +12 -12
- package/dist/visualization.es30.js +54 -7
- package/dist/visualization.es30.js.map +1 -1
- package/dist/visualization.es300.js +131 -61
- package/dist/visualization.es300.js.map +1 -1
- package/dist/visualization.es301.js +5 -35
- package/dist/visualization.es301.js.map +1 -1
- package/dist/visualization.es302.js +70 -19
- package/dist/visualization.es302.js.map +1 -1
- package/dist/visualization.es303.js +35 -3
- package/dist/visualization.es303.js.map +1 -1
- package/dist/visualization.es304.js +20 -24
- package/dist/visualization.es304.js.map +1 -1
- package/dist/visualization.es305.js +3 -30
- package/dist/visualization.es305.js.map +1 -1
- package/dist/visualization.es306.js +25 -2
- package/dist/visualization.es306.js.map +1 -1
- package/dist/visualization.es307.js +31 -2
- package/dist/visualization.es307.js.map +1 -1
- package/dist/visualization.es308.js +2 -6
- package/dist/visualization.es308.js.map +1 -1
- package/dist/visualization.es309.js +2 -15
- package/dist/visualization.es309.js.map +1 -1
- package/dist/visualization.es31.js +147 -7
- package/dist/visualization.es31.js.map +1 -1
- package/dist/visualization.es310.js +5 -34
- package/dist/visualization.es310.js.map +1 -1
- package/dist/visualization.es311.js +13 -26
- package/dist/visualization.es311.js.map +1 -1
- package/dist/visualization.es312.js +34 -10
- package/dist/visualization.es312.js.map +1 -1
- package/dist/visualization.es313.js +27 -6
- package/dist/visualization.es313.js.map +1 -1
- package/dist/visualization.es314.js +10 -13
- package/dist/visualization.es314.js.map +1 -1
- package/dist/visualization.es315.js +7 -12
- package/dist/visualization.es315.js.map +1 -1
- package/dist/visualization.es316.js +14 -2
- package/dist/visualization.es316.js.map +1 -1
- package/dist/visualization.es317.js +12 -3
- package/dist/visualization.es317.js.map +1 -1
- package/dist/visualization.es318.js +2 -2
- package/dist/visualization.es318.js.map +1 -1
- package/dist/visualization.es319.js +3 -104
- package/dist/visualization.es319.js.map +1 -1
- package/dist/visualization.es32.js +110 -47
- package/dist/visualization.es32.js.map +1 -1
- package/dist/visualization.es320.js +2 -5
- package/dist/visualization.es320.js.map +1 -1
- package/dist/visualization.es321.js +104 -3
- package/dist/visualization.es321.js.map +1 -1
- package/dist/visualization.es322.js +4 -18
- package/dist/visualization.es322.js.map +1 -1
- package/dist/visualization.es323.js +3 -6
- package/dist/visualization.es323.js.map +1 -1
- package/dist/visualization.es324.js +18 -14
- package/dist/visualization.es324.js.map +1 -1
- package/dist/visualization.es325.js +5 -4
- package/dist/visualization.es325.js.map +1 -1
- package/dist/visualization.es326.js +13 -27
- package/dist/visualization.es326.js.map +1 -1
- package/dist/visualization.es327.js +4 -6
- package/dist/visualization.es327.js.map +1 -1
- package/dist/visualization.es328.js +29 -2
- package/dist/visualization.es328.js.map +1 -1
- package/dist/visualization.es329.js +7 -20
- package/dist/visualization.es329.js.map +1 -1
- package/dist/visualization.es33.js +7 -20
- package/dist/visualization.es33.js.map +1 -1
- package/dist/visualization.es330.js +2 -21
- package/dist/visualization.es330.js.map +1 -1
- package/dist/visualization.es331.js +20 -6
- package/dist/visualization.es331.js.map +1 -1
- package/dist/visualization.es332.js +21 -8
- package/dist/visualization.es332.js.map +1 -1
- package/dist/visualization.es333.js +5 -18
- package/dist/visualization.es333.js.map +1 -1
- package/dist/visualization.es334.js +7 -43
- package/dist/visualization.es334.js.map +1 -1
- package/dist/visualization.es335.js +19 -7
- package/dist/visualization.es335.js.map +1 -1
- package/dist/visualization.es336.js +43 -19
- package/dist/visualization.es336.js.map +1 -1
- package/dist/visualization.es337.js +7 -54
- package/dist/visualization.es337.js.map +1 -1
- package/dist/visualization.es338.js +19 -26
- package/dist/visualization.es338.js.map +1 -1
- package/dist/visualization.es339.js +54 -11
- package/dist/visualization.es339.js.map +1 -1
- package/dist/visualization.es34.js +21 -5
- package/dist/visualization.es34.js.map +1 -1
- package/dist/visualization.es340.js +25 -17
- package/dist/visualization.es340.js.map +1 -1
- package/dist/visualization.es341.js +11 -12
- package/dist/visualization.es341.js.map +1 -1
- package/dist/visualization.es342.js +18 -4
- package/dist/visualization.es342.js.map +1 -1
- package/dist/visualization.es343.js +12 -4
- package/dist/visualization.es343.js.map +1 -1
- package/dist/visualization.es344.js +4 -3
- package/dist/visualization.es344.js.map +1 -1
- package/dist/visualization.es345.js +4 -176
- package/dist/visualization.es345.js.map +1 -1
- package/dist/visualization.es346.js +3 -39
- package/dist/visualization.es346.js.map +1 -1
- package/dist/visualization.es347.js +175 -5
- package/dist/visualization.es347.js.map +1 -1
- package/dist/visualization.es348.js +39 -3
- package/dist/visualization.es348.js.map +1 -1
- package/dist/visualization.es349.js +6 -2
- package/dist/visualization.es349.js.map +1 -1
- package/dist/visualization.es35.js +12 -12
- package/dist/visualization.es35.js.map +1 -1
- package/dist/visualization.es350.js +4 -30
- package/dist/visualization.es350.js.map +1 -1
- package/dist/visualization.es351.js +2 -8
- package/dist/visualization.es351.js.map +1 -1
- package/dist/visualization.es352.js +30 -11
- package/dist/visualization.es352.js.map +1 -1
- package/dist/visualization.es353.js +8 -4
- package/dist/visualization.es353.js.map +1 -1
- package/dist/visualization.es354.js +10 -65
- package/dist/visualization.es354.js.map +1 -1
- package/dist/visualization.es355.js +4 -7
- package/dist/visualization.es355.js.map +1 -1
- package/dist/visualization.es356.js +65 -4
- package/dist/visualization.es356.js.map +1 -1
- package/dist/visualization.es357.js +7 -14
- package/dist/visualization.es357.js.map +1 -1
- package/dist/visualization.es358.js +4 -34
- package/dist/visualization.es358.js.map +1 -1
- package/dist/visualization.es359.js +13 -4
- package/dist/visualization.es359.js.map +1 -1
- package/dist/visualization.es36.js +51 -34
- package/dist/visualization.es36.js.map +1 -1
- package/dist/visualization.es360.js +34 -9
- package/dist/visualization.es360.js.map +1 -1
- package/dist/visualization.es361.js +5 -2
- package/dist/visualization.es361.js.map +1 -1
- package/dist/visualization.es362.js +10 -5
- package/dist/visualization.es362.js.map +1 -1
- package/dist/visualization.es363.js +2 -2
- package/dist/visualization.es363.js.map +1 -1
- package/dist/visualization.es364.js +5 -10
- package/dist/visualization.es364.js.map +1 -1
- package/dist/visualization.es365.js +2 -10
- package/dist/visualization.es365.js.map +1 -1
- package/dist/visualization.es366.js +10 -13
- package/dist/visualization.es366.js.map +1 -1
- package/dist/visualization.es367.js +10 -2
- package/dist/visualization.es367.js.map +1 -1
- package/dist/visualization.es368.js +13 -10
- package/dist/visualization.es368.js.map +1 -1
- package/dist/visualization.es369.js +2 -8
- package/dist/visualization.es369.js.map +1 -1
- package/dist/visualization.es37.js +54 -51
- package/dist/visualization.es37.js.map +1 -1
- package/dist/visualization.es370.js +10 -6
- package/dist/visualization.es370.js.map +1 -1
- package/dist/visualization.es371.js +7 -24
- package/dist/visualization.es371.js.map +1 -1
- package/dist/visualization.es372.js +6 -19
- package/dist/visualization.es372.js.map +1 -1
- package/dist/visualization.es373.js +20 -36
- package/dist/visualization.es373.js.map +1 -1
- package/dist/visualization.es374.js +19 -3
- package/dist/visualization.es374.js.map +1 -1
- package/dist/visualization.es375.js +40 -8
- package/dist/visualization.es375.js.map +1 -1
- package/dist/visualization.es376.js +3 -9
- package/dist/visualization.es376.js.map +1 -1
- package/dist/visualization.es377.js +8 -35
- package/dist/visualization.es377.js.map +1 -1
- package/dist/visualization.es378.js +8 -9
- package/dist/visualization.es378.js.map +1 -1
- package/dist/visualization.es379.js +32 -28
- package/dist/visualization.es379.js.map +1 -1
- package/dist/visualization.es38.js +42 -54
- package/dist/visualization.es38.js.map +1 -1
- package/dist/visualization.es380.js +9 -4
- package/dist/visualization.es380.js.map +1 -1
- package/dist/visualization.es381.js +32 -2
- package/dist/visualization.es381.js.map +1 -1
- package/dist/visualization.es382.js +4 -15
- package/dist/visualization.es382.js.map +1 -1
- package/dist/visualization.es383.js +2 -25
- package/dist/visualization.es383.js.map +1 -1
- package/dist/visualization.es384.js +16 -2
- package/dist/visualization.es384.js.map +1 -1
- package/dist/visualization.es385.js +22 -60
- package/dist/visualization.es385.js.map +1 -1
- package/dist/visualization.es386.js +2 -2
- package/dist/visualization.es386.js.map +1 -1
- package/dist/visualization.es387.js +63 -2
- package/dist/visualization.es387.js.map +1 -1
- package/dist/visualization.es388.js +2 -6
- package/dist/visualization.es388.js.map +1 -1
- package/dist/visualization.es389.js +2 -37
- package/dist/visualization.es389.js.map +1 -1
- package/dist/visualization.es39.js +5 -42
- package/dist/visualization.es39.js.map +1 -1
- package/dist/visualization.es390.js +5 -20
- package/dist/visualization.es390.js.map +1 -1
- package/dist/visualization.es391.js +36 -3
- package/dist/visualization.es391.js.map +1 -1
- package/dist/visualization.es392.js +20 -4
- package/dist/visualization.es392.js.map +1 -1
- package/dist/visualization.es393.js +3 -4
- package/dist/visualization.es393.js.map +1 -1
- package/dist/visualization.es394.js +4 -48
- package/dist/visualization.es394.js.map +1 -1
- package/dist/visualization.es395.js +4 -26
- package/dist/visualization.es395.js.map +1 -1
- package/dist/visualization.es396.js +46 -14
- package/dist/visualization.es396.js.map +1 -1
- package/dist/visualization.es397.js +26 -9
- package/dist/visualization.es397.js.map +1 -1
- package/dist/visualization.es398.js +15 -18
- package/dist/visualization.es398.js.map +1 -1
- package/dist/visualization.es399.js +9 -13
- package/dist/visualization.es399.js.map +1 -1
- package/dist/visualization.es4.js +6 -6
- package/dist/visualization.es40.js +4 -5
- package/dist/visualization.es40.js.map +1 -1
- package/dist/visualization.es400.js +19 -3
- package/dist/visualization.es400.js.map +1 -1
- package/dist/visualization.es401.js +13 -12
- package/dist/visualization.es401.js.map +1 -1
- package/dist/visualization.es402.js +3 -48
- package/dist/visualization.es402.js.map +1 -1
- package/dist/visualization.es403.js +13 -6
- package/dist/visualization.es403.js.map +1 -1
- package/dist/visualization.es404.js +48 -12
- package/dist/visualization.es404.js.map +1 -1
- package/dist/visualization.es405.js +6 -2
- package/dist/visualization.es405.js.map +1 -1
- package/dist/visualization.es406.js +12 -6
- package/dist/visualization.es406.js.map +1 -1
- package/dist/visualization.es407.js +2 -210
- package/dist/visualization.es407.js.map +1 -1
- package/dist/visualization.es408.js +6 -26
- package/dist/visualization.es408.js.map +1 -1
- package/dist/visualization.es409.js +209 -3
- package/dist/visualization.es409.js.map +1 -1
- package/dist/visualization.es41.js +18 -5
- package/dist/visualization.es41.js.map +1 -1
- package/dist/visualization.es410.js +27 -16
- package/dist/visualization.es410.js.map +1 -1
- package/dist/visualization.es411.js +4 -15
- package/dist/visualization.es411.js.map +1 -1
- package/dist/visualization.es412.js +15 -14
- package/dist/visualization.es412.js.map +1 -1
- package/dist/visualization.es413.js +15 -2
- package/dist/visualization.es413.js.map +1 -1
- package/dist/visualization.es414.js +15 -2
- package/dist/visualization.es414.js.map +1 -1
- package/dist/visualization.es415.js +2 -2
- package/dist/visualization.es415.js.map +1 -1
- package/dist/visualization.es416.js +2 -5
- package/dist/visualization.es416.js.map +1 -1
- package/dist/visualization.es417.js +2 -2
- package/dist/visualization.es417.js.map +1 -1
- package/dist/visualization.es418.js +5 -25
- package/dist/visualization.es418.js.map +1 -1
- package/dist/visualization.es419.js +2 -22
- package/dist/visualization.es419.js.map +1 -1
- package/dist/visualization.es42.js +5 -18
- package/dist/visualization.es42.js.map +1 -1
- package/dist/visualization.es420.js +25 -9
- package/dist/visualization.es420.js.map +1 -1
- package/dist/visualization.es421.js +21 -67
- package/dist/visualization.es421.js.map +1 -1
- package/dist/visualization.es422.js +8 -5
- package/dist/visualization.es422.js.map +1 -1
- package/dist/visualization.es423.js +67 -28
- package/dist/visualization.es423.js.map +1 -1
- package/dist/visualization.es424.js +6 -10
- package/dist/visualization.es424.js.map +1 -1
- package/dist/visualization.es425.js +29 -6
- package/dist/visualization.es425.js.map +1 -1
- package/dist/visualization.es426.js +10 -2
- package/dist/visualization.es426.js.map +1 -1
- package/dist/visualization.es427.js +6 -5
- package/dist/visualization.es427.js.map +1 -1
- package/dist/visualization.es428.js +2 -26
- package/dist/visualization.es428.js.map +1 -1
- package/dist/visualization.es429.js +4 -10
- package/dist/visualization.es429.js.map +1 -1
- package/dist/visualization.es43.js +26 -4
- package/dist/visualization.es43.js.map +1 -1
- package/dist/visualization.es430.js +23 -24
- package/dist/visualization.es430.js.map +1 -1
- package/dist/visualization.es431.js +10 -9
- package/dist/visualization.es431.js.map +1 -1
- package/dist/visualization.es432.js +26 -10
- package/dist/visualization.es432.js.map +1 -1
- package/dist/visualization.es433.js +10 -2
- package/dist/visualization.es433.js.map +1 -1
- package/dist/visualization.es434.js +11 -16
- package/dist/visualization.es434.js.map +1 -1
- package/dist/visualization.es435.js +2 -30
- package/dist/visualization.es435.js.map +1 -1
- package/dist/visualization.es436.js +16 -26
- package/dist/visualization.es436.js.map +1 -1
- package/dist/visualization.es437.js +30 -2
- package/dist/visualization.es437.js.map +1 -1
- package/dist/visualization.es438.js +26 -9
- package/dist/visualization.es438.js.map +1 -1
- package/dist/visualization.es439.js +2 -13
- package/dist/visualization.es439.js.map +1 -1
- package/dist/visualization.es44.js +28 -24
- package/dist/visualization.es44.js.map +1 -1
- package/dist/visualization.es440.js +8 -22
- package/dist/visualization.es440.js.map +1 -1
- package/dist/visualization.es441.js +12 -12
- package/dist/visualization.es441.js.map +1 -1
- package/dist/visualization.es442.js +23 -3
- package/dist/visualization.es442.js.map +1 -1
- package/dist/visualization.es443.js +13 -2
- package/dist/visualization.es443.js.map +1 -1
- package/dist/visualization.es444.js +3 -18
- package/dist/visualization.es444.js.map +1 -1
- package/dist/visualization.es445.js +2 -4
- package/dist/visualization.es445.js.map +1 -1
- package/dist/visualization.es446.js +17 -11
- package/dist/visualization.es446.js.map +1 -1
- package/dist/visualization.es447.js +4 -11
- package/dist/visualization.es447.js.map +1 -1
- package/dist/visualization.es448.js +11 -6
- package/dist/visualization.es448.js.map +1 -1
- package/dist/visualization.es449.js +11 -19
- package/dist/visualization.es449.js.map +1 -1
- package/dist/visualization.es45.js +5 -31
- package/dist/visualization.es45.js.map +1 -1
- package/dist/visualization.es450.js +6 -22
- package/dist/visualization.es450.js.map +1 -1
- package/dist/visualization.es451.js +19 -12
- package/dist/visualization.es451.js.map +1 -1
- package/dist/visualization.es452.js +22 -50
- package/dist/visualization.es452.js.map +1 -1
- package/dist/visualization.es453.js +9 -15
- package/dist/visualization.es453.js.map +1 -1
- package/dist/visualization.es454.js +50 -35
- package/dist/visualization.es454.js.map +1 -1
- package/dist/visualization.es455.js +14 -19
- package/dist/visualization.es455.js.map +1 -1
- package/dist/visualization.es456.js +28 -24
- package/dist/visualization.es456.js.map +1 -1
- package/dist/visualization.es457.js +22 -3
- package/dist/visualization.es457.js.map +1 -1
- package/dist/visualization.es458.js +32 -19
- package/dist/visualization.es458.js.map +1 -1
- package/dist/visualization.es459.js +4 -14
- package/dist/visualization.es459.js.map +1 -1
- package/dist/visualization.es46.js +32 -36
- package/dist/visualization.es46.js.map +1 -1
- package/dist/visualization.es460.js +18 -10
- package/dist/visualization.es460.js.map +1 -1
- package/dist/visualization.es461.js +13 -29
- package/dist/visualization.es461.js.map +1 -1
- package/dist/visualization.es462.js +11 -6
- package/dist/visualization.es462.js.map +1 -1
- package/dist/visualization.es463.js +29 -7
- package/dist/visualization.es463.js.map +1 -1
- package/dist/visualization.es464.js +6 -2
- package/dist/visualization.es464.js.map +1 -1
- package/dist/visualization.es465.js +7 -16
- package/dist/visualization.es465.js.map +1 -1
- package/dist/visualization.es466.js +2 -9
- package/dist/visualization.es466.js.map +1 -1
- package/dist/visualization.es467.js +16 -9
- package/dist/visualization.es467.js.map +1 -1
- package/dist/visualization.es468.js +7 -614
- package/dist/visualization.es468.js.map +1 -1
- package/dist/visualization.es469.js +9 -50
- package/dist/visualization.es469.js.map +1 -1
- package/dist/visualization.es47.js +168 -43
- package/dist/visualization.es47.js.map +1 -1
- package/dist/visualization.es470.js +616 -13
- package/dist/visualization.es470.js.map +1 -1
- package/dist/visualization.es471.js +51 -11
- package/dist/visualization.es471.js.map +1 -1
- package/dist/visualization.es472.js +12 -22
- package/dist/visualization.es472.js.map +1 -1
- package/dist/visualization.es473.js +11 -35
- package/dist/visualization.es473.js.map +1 -1
- package/dist/visualization.es474.js +23 -13
- package/dist/visualization.es474.js.map +1 -1
- package/dist/visualization.es475.js +33 -17
- package/dist/visualization.es475.js.map +1 -1
- package/dist/visualization.es476.js +12 -25
- package/dist/visualization.es476.js.map +1 -1
- package/dist/visualization.es477.js +13 -21
- package/dist/visualization.es477.js.map +1 -1
- package/dist/visualization.es478.js +18 -35
- package/dist/visualization.es478.js.map +1 -1
- package/dist/visualization.es479.js +22 -15
- package/dist/visualization.es479.js.map +1 -1
- package/dist/visualization.es48.js +63 -6
- package/dist/visualization.es48.js.map +1 -1
- package/dist/visualization.es480.js +31 -29
- package/dist/visualization.es480.js.map +1 -1
- package/dist/visualization.es481.js +15 -53
- package/dist/visualization.es481.js.map +1 -1
- package/dist/visualization.es482.js +40 -3
- package/dist/visualization.es482.js.map +1 -1
- package/dist/visualization.es483.js +58 -3
- package/dist/visualization.es483.js.map +1 -1
- package/dist/visualization.es484.js +4 -7
- package/dist/visualization.es484.js.map +1 -1
- package/dist/visualization.es485.js +3 -16
- package/dist/visualization.es485.js.map +1 -1
- package/dist/visualization.es486.js +7 -2
- package/dist/visualization.es486.js.map +1 -1
- package/dist/visualization.es487.js +16 -2
- package/dist/visualization.es487.js.map +1 -1
- package/dist/visualization.es488.js +2 -2
- package/dist/visualization.es488.js.map +1 -1
- package/dist/visualization.es489.js +2 -124
- package/dist/visualization.es489.js.map +1 -1
- package/dist/visualization.es49.js +174 -43
- package/dist/visualization.es49.js.map +1 -1
- package/dist/visualization.es490.js +2 -10
- package/dist/visualization.es490.js.map +1 -1
- package/dist/visualization.es491.js +53 -9
- package/dist/visualization.es491.js.map +1 -1
- package/dist/visualization.es492.js +31 -6
- package/dist/visualization.es492.js.map +1 -1
- package/dist/visualization.es493.js +33 -8
- package/dist/visualization.es493.js.map +1 -1
- package/dist/visualization.es494.js +12 -6
- package/dist/visualization.es494.js.map +1 -1
- package/dist/visualization.es495.js +7 -6
- package/dist/visualization.es495.js.map +1 -1
- package/dist/visualization.es496.js +33 -13
- package/dist/visualization.es496.js.map +1 -1
- package/dist/visualization.es497.js +3 -5
- package/dist/visualization.es497.js.map +1 -1
- package/dist/visualization.es498.js +3 -6
- package/dist/visualization.es498.js.map +1 -1
- package/dist/visualization.es499.js +6 -6
- package/dist/visualization.es499.js.map +1 -1
- package/dist/visualization.es5.js +113 -310
- package/dist/visualization.es5.js.map +1 -1
- package/dist/visualization.es50.js +74 -8
- package/dist/visualization.es50.js.map +1 -1
- package/dist/visualization.es500.js +12 -6
- package/dist/visualization.es500.js.map +1 -1
- package/dist/visualization.es501.js +2 -4
- package/dist/visualization.es501.js.map +1 -1
- package/dist/visualization.es502.js +3 -4
- package/dist/visualization.es502.js.map +1 -1
- package/dist/visualization.es503.js +3 -9
- package/dist/visualization.es503.js.map +1 -1
- package/dist/visualization.es504.js +9 -32
- package/dist/visualization.es504.js.map +1 -1
- package/dist/visualization.es505.js +25 -29
- package/dist/visualization.es505.js.map +1 -1
- package/dist/visualization.es506.js +4 -9
- package/dist/visualization.es506.js.map +1 -1
- package/dist/visualization.es507.js +30 -49
- package/dist/visualization.es507.js.map +1 -1
- package/dist/visualization.es508.js +237 -7
- package/dist/visualization.es508.js.map +1 -1
- package/dist/visualization.es509.js +992 -4
- package/dist/visualization.es509.js.map +1 -1
- package/dist/visualization.es51.js +46 -62
- package/dist/visualization.es51.js.map +1 -1
- package/dist/visualization.es510.js +61 -3
- package/dist/visualization.es510.js.map +1 -1
- package/dist/visualization.es511.js +29 -4
- package/dist/visualization.es511.js.map +1 -1
- package/dist/visualization.es512.js +120 -4
- package/dist/visualization.es512.js.map +1 -1
- package/dist/visualization.es513.js +29 -3
- package/dist/visualization.es513.js.map +1 -1
- package/dist/visualization.es514.js +10 -15
- package/dist/visualization.es514.js.map +1 -1
- package/dist/visualization.es515.js +13 -3
- package/dist/visualization.es515.js.map +1 -1
- package/dist/visualization.es516.js +31 -8
- package/dist/visualization.es516.js.map +1 -1
- package/dist/visualization.es517.js +27 -3
- package/dist/visualization.es517.js.map +1 -1
- package/dist/visualization.es518.js +10 -5
- package/dist/visualization.es518.js.map +1 -1
- package/dist/visualization.es519.js +11 -10
- package/dist/visualization.es519.js.map +1 -1
- package/dist/visualization.es52.js +34 -29
- package/dist/visualization.es52.js.map +1 -1
- package/dist/visualization.es520.js +17 -9
- package/dist/visualization.es520.js.map +1 -1
- package/dist/visualization.es521.js +23 -30
- package/dist/visualization.es521.js.map +1 -1
- package/dist/visualization.es522.js +15 -23
- package/dist/visualization.es522.js.map +1 -1
- package/dist/visualization.es523.js +96 -3
- package/dist/visualization.es523.js.map +1 -1
- package/dist/visualization.es524.js +27 -7
- package/dist/visualization.es524.js.map +1 -1
- package/dist/visualization.es525.js +71 -20
- package/dist/visualization.es525.js.map +1 -1
- package/dist/visualization.es526.js +51 -7
- package/dist/visualization.es526.js.map +1 -1
- package/dist/visualization.es527.js +34 -6
- package/dist/visualization.es527.js.map +1 -1
- package/dist/visualization.es528.js +41 -5
- package/dist/visualization.es528.js.map +1 -1
- package/dist/visualization.es529.js +33 -7
- package/dist/visualization.es529.js.map +1 -1
- package/dist/visualization.es53.js +7 -64
- package/dist/visualization.es53.js.map +1 -1
- package/dist/visualization.es530.js +25 -16
- package/dist/visualization.es530.js.map +1 -1
- package/dist/visualization.es531.js +45 -4
- package/dist/visualization.es531.js.map +1 -1
- package/dist/visualization.es532.js +9 -7
- package/dist/visualization.es532.js.map +1 -1
- package/dist/visualization.es533.js +15 -35
- package/dist/visualization.es533.js.map +1 -1
- package/dist/visualization.es534.js +16 -9
- package/dist/visualization.es534.js.map +1 -1
- package/dist/visualization.es535.js +16 -7
- package/dist/visualization.es535.js.map +1 -1
- package/dist/visualization.es536.js +24 -35
- package/dist/visualization.es536.js.map +1 -1
- package/dist/visualization.es537.js +4 -2
- package/dist/visualization.es537.js.map +1 -1
- package/dist/visualization.es538.js +33 -3
- package/dist/visualization.es538.js.map +1 -1
- package/dist/visualization.es539.js +29 -6
- package/dist/visualization.es539.js.map +1 -1
- package/dist/visualization.es54.js +7 -61
- package/dist/visualization.es54.js.map +1 -1
- package/dist/visualization.es540.js +10 -12
- package/dist/visualization.es540.js.map +1 -1
- package/dist/visualization.es541.js +14 -2
- package/dist/visualization.es541.js.map +1 -1
- package/dist/visualization.es542.js +8 -4
- package/dist/visualization.es542.js.map +1 -1
- package/dist/visualization.es543.js +8 -4
- package/dist/visualization.es543.js.map +1 -1
- package/dist/visualization.es544.js +19 -10
- package/dist/visualization.es544.js.map +1 -1
- package/dist/visualization.es545.js +60 -23
- package/dist/visualization.es545.js.map +1 -1
- package/dist/visualization.es546.js +28 -5
- package/dist/visualization.es546.js.map +1 -1
- package/dist/visualization.es547.js +5 -33
- package/dist/visualization.es547.js.map +1 -1
- package/dist/visualization.es548.js +3 -61
- package/dist/visualization.es548.js.map +1 -1
- package/dist/visualization.es549.js +2 -30
- package/dist/visualization.es549.js.map +1 -1
- package/dist/visualization.es55.js +34 -3
- package/dist/visualization.es55.js.map +1 -1
- package/dist/visualization.es550.js +17 -236
- package/dist/visualization.es550.js.map +1 -1
- package/dist/visualization.es551.js +258 -969
- package/dist/visualization.es551.js.map +1 -1
- package/dist/visualization.es552.js +2 -34
- package/dist/visualization.es552.js.map +1 -1
- package/dist/visualization.es553.js +128 -25
- package/dist/visualization.es553.js.map +1 -1
- package/dist/visualization.es554.js +3 -45
- package/dist/visualization.es554.js.map +1 -1
- package/dist/visualization.es555.js +4 -9
- package/dist/visualization.es555.js.map +1 -1
- package/dist/visualization.es556.js +16 -15
- 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 +10 -16
- package/dist/visualization.es558.js.map +1 -1
- package/dist/visualization.es559.js +5 -24
- package/dist/visualization.es559.js.map +1 -1
- package/dist/visualization.es56.js +34 -46
- package/dist/visualization.es56.js.map +1 -1
- package/dist/visualization.es560.js +4 -4
- package/dist/visualization.es560.js.map +1 -1
- package/dist/visualization.es561.js +9 -10
- package/dist/visualization.es561.js.map +1 -1
- package/dist/visualization.es562.js +7 -13
- package/dist/visualization.es562.js.map +1 -1
- package/dist/visualization.es563.js +5 -8
- package/dist/visualization.es563.js.map +1 -1
- package/dist/visualization.es564.js +4 -8
- package/dist/visualization.es564.js.map +1 -1
- package/dist/visualization.es565.js +4 -20
- package/dist/visualization.es565.js.map +1 -1
- package/dist/visualization.es566.js +10 -61
- package/dist/visualization.es566.js.map +1 -1
- package/dist/visualization.es567.js +10 -28
- package/dist/visualization.es567.js.map +1 -1
- package/dist/visualization.es568.js +31 -5
- package/dist/visualization.es568.js.map +1 -1
- package/dist/visualization.es569.js +24 -3
- package/dist/visualization.es569.js.map +1 -1
- package/dist/visualization.es57.js +29 -4
- package/dist/visualization.es57.js.map +1 -1
- package/dist/visualization.es570.js +52 -2
- package/dist/visualization.es570.js.map +1 -1
- package/dist/visualization.es571.js +3 -18
- package/dist/visualization.es571.js.map +1 -1
- package/dist/visualization.es572.js +7 -280
- package/dist/visualization.es572.js.map +1 -1
- package/dist/visualization.es573.js +21 -2
- package/dist/visualization.es573.js.map +1 -1
- package/dist/visualization.es574.js +7 -127
- package/dist/visualization.es574.js.map +1 -1
- package/dist/visualization.es575.js +6 -32
- package/dist/visualization.es575.js.map +1 -1
- package/dist/visualization.es576.js +5 -4
- package/dist/visualization.es576.js.map +1 -1
- package/dist/visualization.es577.js +7 -8
- package/dist/visualization.es577.js.map +1 -1
- package/dist/visualization.es578.js +15 -6
- package/dist/visualization.es578.js.map +1 -1
- package/dist/visualization.es579.js +4 -18
- package/dist/visualization.es579.js.map +1 -1
- package/dist/visualization.es58.js +64 -281
- package/dist/visualization.es58.js.map +1 -1
- package/dist/visualization.es580.js +6 -14
- package/dist/visualization.es580.js.map +1 -1
- package/dist/visualization.es581.js +34 -13
- package/dist/visualization.es581.js.map +1 -1
- package/dist/visualization.es582.js +8 -72
- package/dist/visualization.es582.js.map +1 -1
- package/dist/visualization.es583.js +9 -29
- package/dist/visualization.es583.js.map +1 -1
- package/dist/visualization.es584.js +9 -5
- package/dist/visualization.es584.js.map +1 -1
- package/dist/visualization.es585.js +17 -24
- package/dist/visualization.es585.js.map +1 -1
- package/dist/visualization.es586.js +7 -11
- package/dist/visualization.es586.js.map +1 -1
- package/dist/visualization.es587.js +7 -4
- package/dist/visualization.es587.js.map +1 -1
- package/dist/visualization.es588.js +32 -4
- package/dist/visualization.es588.js.map +1 -1
- package/dist/visualization.es589.js +13 -4
- package/dist/visualization.es589.js.map +1 -1
- package/dist/visualization.es59.js +61 -18
- package/dist/visualization.es59.js.map +1 -1
- package/dist/visualization.es590.js +72 -12
- package/dist/visualization.es590.js.map +1 -1
- package/dist/visualization.es591.js +28 -16
- package/dist/visualization.es591.js.map +1 -1
- package/dist/visualization.es592.js +5 -13
- package/dist/visualization.es592.js.map +1 -1
- package/dist/visualization.es593.js +25 -13
- package/dist/visualization.es593.js.map +1 -1
- package/dist/visualization.es594.js +11 -8
- package/dist/visualization.es594.js.map +1 -1
- package/dist/visualization.es595.js +4 -7
- package/dist/visualization.es595.js.map +1 -1
- package/dist/visualization.es596.js +4 -7
- package/dist/visualization.es596.js.map +1 -1
- package/dist/visualization.es597.js +4 -12
- package/dist/visualization.es597.js.map +1 -1
- package/dist/visualization.es598.js +13 -25
- package/dist/visualization.es598.js.map +1 -1
- package/dist/visualization.es599.js +17 -19
- package/dist/visualization.es599.js.map +1 -1
- package/dist/visualization.es6.js +15 -15
- package/dist/visualization.es60.js +3 -54
- package/dist/visualization.es60.js.map +1 -1
- package/dist/visualization.es600.js +14 -7
- package/dist/visualization.es600.js.map +1 -1
- package/dist/visualization.es601.js +14 -6
- package/dist/visualization.es601.js.map +1 -1
- package/dist/visualization.es602.js +8 -3
- package/dist/visualization.es602.js.map +1 -1
- package/dist/visualization.es603.js +12 -64
- package/dist/visualization.es603.js.map +1 -1
- package/dist/visualization.es604.js +24 -9
- package/dist/visualization.es604.js.map +1 -1
- package/dist/visualization.es605.js +19 -9
- package/dist/visualization.es605.js.map +1 -1
- package/dist/visualization.es606.js +7 -19
- package/dist/visualization.es606.js.map +1 -1
- package/dist/visualization.es607.js +6 -291
- package/dist/visualization.es607.js.map +1 -1
- package/dist/visualization.es608.js +3 -32
- package/dist/visualization.es608.js.map +1 -1
- package/dist/visualization.es609.js +63 -4
- package/dist/visualization.es609.js.map +1 -1
- package/dist/visualization.es61.js +46 -110
- package/dist/visualization.es61.js.map +1 -1
- package/dist/visualization.es610.js +32 -3
- package/dist/visualization.es610.js.map +1 -1
- package/dist/visualization.es611.js +4 -5
- package/dist/visualization.es611.js.map +1 -1
- package/dist/visualization.es612.js +8 -13
- package/dist/visualization.es612.js.map +1 -1
- package/dist/visualization.es613.js +5 -116
- package/dist/visualization.es613.js.map +1 -1
- package/dist/visualization.es614.js +18 -3
- package/dist/visualization.es614.js.map +1 -1
- package/dist/visualization.es615.js +14 -11
- package/dist/visualization.es615.js.map +1 -1
- package/dist/visualization.es616.js +289 -27
- package/dist/visualization.es616.js.map +1 -1
- package/dist/visualization.es617.js +4 -6
- package/dist/visualization.es617.js.map +1 -1
- package/dist/visualization.es618.js +10 -64
- package/dist/visualization.es618.js.map +1 -1
- package/dist/visualization.es619.js +3 -4
- package/dist/visualization.es619.js.map +1 -1
- package/dist/visualization.es62.js +3 -7
- package/dist/visualization.es62.js.map +1 -1
- package/dist/visualization.es620.js +4 -6
- package/dist/visualization.es620.js.map +1 -1
- package/dist/visualization.es621.js +4 -6
- package/dist/visualization.es621.js.map +1 -1
- package/dist/visualization.es622.js +13 -16
- package/dist/visualization.es622.js.map +1 -1
- package/dist/visualization.es623.js +118 -19
- package/dist/visualization.es623.js.map +1 -1
- package/dist/visualization.es624.js +65 -9
- package/dist/visualization.es624.js.map +1 -1
- package/dist/visualization.es625.js +2 -1
- package/dist/visualization.es625.js.map +1 -1
- package/dist/visualization.es626.js +6 -9
- package/dist/visualization.es626.js.map +1 -1
- package/dist/visualization.es627.js +6 -5
- package/dist/visualization.es627.js.map +1 -1
- package/dist/visualization.es628.js +16 -11
- package/dist/visualization.es628.js.map +1 -1
- package/dist/visualization.es629.js +19 -22
- package/dist/visualization.es629.js.map +1 -1
- package/dist/visualization.es63.js +278 -30
- package/dist/visualization.es63.js.map +1 -1
- package/dist/visualization.es630.js +10 -2
- package/dist/visualization.es630.js.map +1 -1
- package/dist/visualization.es631.js +3 -12
- package/dist/visualization.es631.js.map +1 -1
- package/dist/visualization.es632.js +27 -301
- package/dist/visualization.es632.js.map +1 -1
- package/dist/visualization.es633.js +6 -27
- package/dist/visualization.es633.js.map +1 -1
- package/dist/visualization.es634.js +10 -77
- package/dist/visualization.es634.js.map +1 -1
- package/dist/visualization.es635.js +6 -34
- package/dist/visualization.es635.js.map +1 -1
- package/dist/visualization.es636.js +11 -12
- package/dist/visualization.es636.js.map +1 -1
- package/dist/visualization.es637.js +21 -7
- package/dist/visualization.es637.js.map +1 -1
- package/dist/visualization.es638.js +2 -10
- package/dist/visualization.es638.js.map +1 -1
- package/dist/visualization.es639.js +13 -3
- package/dist/visualization.es639.js.map +1 -1
- package/dist/visualization.es64.js +17 -68
- package/dist/visualization.es64.js.map +1 -1
- package/dist/visualization.es640.js +306 -0
- package/dist/visualization.es640.js.map +1 -0
- package/dist/visualization.es641.js +30 -0
- package/dist/visualization.es641.js.map +1 -0
- package/dist/visualization.es642.js +81 -0
- package/dist/visualization.es642.js.map +1 -0
- package/dist/visualization.es643.js +38 -0
- package/dist/visualization.es643.js.map +1 -0
- package/dist/visualization.es644.js +16 -0
- package/dist/visualization.es644.js.map +1 -0
- package/dist/visualization.es645.js +11 -0
- package/dist/visualization.es645.js.map +1 -0
- package/dist/visualization.es646.js +13 -0
- package/dist/visualization.es646.js.map +1 -0
- package/dist/visualization.es647.js +6 -0
- package/dist/visualization.es647.js.map +1 -0
- package/dist/visualization.es65.js +18700 -10
- package/dist/visualization.es65.js.map +1 -1
- package/dist/visualization.es66.js +5 -58
- package/dist/visualization.es66.js.map +1 -1
- package/dist/visualization.es67.js +5 -47
- package/dist/visualization.es67.js.map +1 -1
- package/dist/visualization.es68.js +59 -44
- package/dist/visualization.es68.js.map +1 -1
- package/dist/visualization.es69.js +806 -16
- package/dist/visualization.es69.js.map +1 -1
- package/dist/visualization.es7.js +11 -11
- package/dist/visualization.es71.js +129 -96
- package/dist/visualization.es71.js.map +1 -1
- package/dist/visualization.es73.js +14 -14
- package/dist/visualization.es74.js +1 -1
- package/dist/visualization.es75.js +2 -3
- package/dist/visualization.es75.js.map +1 -1
- package/dist/visualization.es79.js +65 -61
- package/dist/visualization.es79.js.map +1 -1
- package/dist/visualization.es8.js +4 -4
- package/dist/visualization.es80.js +57 -55
- package/dist/visualization.es80.js.map +1 -1
- package/dist/visualization.es81.js +66 -10
- package/dist/visualization.es81.js.map +1 -1
- package/dist/visualization.es82.js +38 -33
- package/dist/visualization.es82.js.map +1 -1
- package/dist/visualization.es83.js +79 -53
- package/dist/visualization.es83.js.map +1 -1
- package/dist/visualization.es84.js +46 -40
- package/dist/visualization.es84.js.map +1 -1
- package/dist/visualization.es85.js +55 -80
- package/dist/visualization.es85.js.map +1 -1
- package/dist/visualization.es86.js +7 -46
- package/dist/visualization.es86.js.map +1 -1
- package/dist/visualization.es87.js +12 -55
- package/dist/visualization.es87.js.map +1 -1
- package/dist/visualization.es88.js +57 -6
- package/dist/visualization.es88.js.map +1 -1
- package/dist/visualization.es89.js +113 -13
- package/dist/visualization.es89.js.map +1 -1
- package/dist/visualization.es90.js +5 -58
- package/dist/visualization.es90.js.map +1 -1
- package/dist/visualization.es91.js +5 -222
- package/dist/visualization.es91.js.map +1 -1
- package/dist/visualization.es92.js +5 -2
- package/dist/visualization.es92.js.map +1 -1
- package/dist/visualization.es93.js +14 -556
- package/dist/visualization.es93.js.map +1 -1
- package/dist/visualization.es94.js +14 -213
- package/dist/visualization.es94.js.map +1 -1
- package/dist/visualization.es95.js +26 -2
- package/dist/visualization.es95.js.map +1 -1
- package/dist/visualization.es96.js +66 -4796
- package/dist/visualization.es96.js.map +1 -1
- package/dist/visualization.es97.js +45 -25
- package/dist/visualization.es97.js.map +1 -1
- package/dist/visualization.es98.js +18 -41
- package/dist/visualization.es98.js.map +1 -1
- package/dist/visualization.es99.js +58 -142
- package/dist/visualization.es99.js.map +1 -1
- package/package.json +1 -1
- package/dist/src/components/Heatmap/HeatmapMiniMap.d.ts.map +0 -1
- package/dist/visualization.es70.js +0 -119
- package/dist/visualization.es70.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es5.js","sources":["../src/components/Heatmap/Heatmap.tsx"],"sourcesContent":["import { scaleLinear } from \"@visx/scale\";\nimport type { HeatmapProps, ColumnDatum, HeatmapCellId } from \"./types\";\nimport { useImperativeHandle, useRef, useMemo, useCallback, useEffect, useState, useId } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { flushSync } from \"react-dom\";\nimport { downloadAsSVG, downloadSVGAsPNG, measureTextWidth } from \"../../utility\";\nimport { ResponsiveContainer, useResponsiveParentSize } from \"../../responsive\";\nimport { AxisLeft, AxisBottom } from \"@visx/axis\";\nimport HeatmapCells, { type AnyBin } from \"./HeatmapCells\";\nimport { heatmapCellStyles } from \"./HeatmapCell\";\nimport HeatmapLegend, { getHeatmapLegendWidth } from \"./HeatmapLegend\";\nimport { DEFAULT_DESELECTED_COLOR, cellKey, getHeatmapColorScale } from \"./heatmapCellAppearance\";\nimport { drawHeatmapCells, getVisibleRange, hitTestCell, buildBin, type CanvasCellParams } from \"./HeatmapCanvasCells\";\nimport HeatmapMiniMap from \"./HeatmapMiniMap\";\nimport { PlotTooltip, type PlotTooltipHandle } from \"../../tooltip\";\n\nconst SVG_NS = \"http://www.w3.org/2000/svg\";\nconst LEGEND_GAP = 16;\n// Extra breathing room between the tick labels and the axis title, beyond the space\n// reserved for the tick labels themselves.\nconst AXIS_LABEL_GAP = 12;\n// Space reserved for the axis title itself (the \"X-Axis Label\" / \"Y-Axis Label\" text), beyond\n// the tick labels. In scrollable mode this is carved out into its own always-visible pane so\n// the title can't be scrolled out of view - see yTitleWidth/xTitleHeight below.\nconst Y_AXIS_TITLE_SPACE = 40;\nconst X_AXIS_TITLE_SPACE = 70;\nconst TICK_FONT_SIZE = 12;\nconst TICK_FONT_FAMILY = \"sans-serif\";\n// Canvas's measureText and the browser's actual SVG text layout don't agree to the sub-pixel,\n// and the gap widens with string length - pad generously so long tick labels aren't clipped.\nconst TICK_LABEL_WIDTH_SAFETY_FACTOR = 1.15;\n// Extra rows/columns painted/rendered just beyond the visible viewport in scrollable mode, so a\n// cell or tick label is already there before it scrolls into view rather than popping in late.\nconst GRID_OVERSCAN_CELLS = 4;\nconst MINI_MAP_HEIGHT = 50;\nconst X_AXIS_OVERHANG_CLIP_HEIGHT = 10;\nconst getBins = (d: ColumnDatum) => d.rows;\n\n// Minimal scroll offset (along one axis) that brings [boxStart, boxEnd) fully into\n// [current, current+viewportSize) - unchanged if it's already fully visible, and aligned to\n// boxStart if the box itself is bigger than the viewport (can't fit all of it either way).\n// Mirrors Element.scrollIntoView({ block: \"nearest\" })'s semantics.\nfunction nearestScrollOffset(current: number, viewportSize: number, boxStart: number, boxEnd: number): number {\n if (boxEnd - boxStart > viewportSize) return boxStart;\n if (boxStart < current) return boxStart;\n if (boxEnd > current + viewportSize) return boxEnd - viewportSize;\n return current;\n}\n\nfunction maxOf<Datum>(data: Datum[], value: (d: Datum) => number | null): number {\n // Null counts are gaps in the data and don't participate in the max. reduce rather than\n // Math.max(...spread): returns 0 (not -Infinity) for empty/all-null input, with no\n // argument-count ceiling.\n return data.reduce((max, datum) => {\n const datumValue = value(datum);\n return datumValue == null ? max : Math.max(max, datumValue);\n }, 0);\n}\n\nconst Heatmap = ({\n data,\n onClick,\n ref,\n downloadFileName,\n colors,\n xLabel,\n yLabel,\n tooltipBody,\n margin,\n gap = 2,\n isRect = true,\n animationType,\n showLegend = true,\n width,\n height,\n xLabelOrientation = \"vertical\",\n selectedCells,\n deselectedColor,\n cellWidth,\n cellHeight,\n scrollToSelection,\n showMiniMap = false,\n}: HeatmapProps) => {\n const { parentRef, containerStyle, width: parentWidth, height: parentHeight } = useResponsiveParentSize({ width, height });\n const svgRef = useRef<SVGSVGElement | null>(null);\n const isScrollable = cellWidth != null && cellHeight != null;\n\n // Frozen-pane refs: only used when isScrollable. mainPaneRef is the only pane with a real\n // native scrollbar - the cell canvas and the row/column tick-label panes all track its scroll\n // position by reading it directly in handleGridScroll (rAF-throttled), rather than being\n // natively scrolled themselves: the canvas repaints imperatively (drawCanvas), and the tick\n // label SVGs are viewport-sized and shift via a transform driven by axisScrollPos state (see\n // below) - both cheaper than the pane actually scrolling 15,000px+ of real content.\n const mainPaneRef = useRef<HTMLDivElement | null>(null);\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n const legendSvgRef = useRef<SVGSVGElement | null>(null);\n const hoveredCellRef = useRef<HeatmapCellId | null>(null);\n const canvasTooltipRef = useRef<PlotTooltipHandle<AnyBin>>(null);\n const drawRafRef = useRef<number | null>(null);\n \n const previousSelectionKeysRef = useRef<Set<string>>(new Set());\n\n useEffect(() => () => {\n if (drawRafRef.current != null) cancelAnimationFrame(drawRafRef.current);\n }, []);\n\n const allColNames = useMemo(() => data.map((d) => d.columnName), [data]);\n const allRowNames = useMemo(() => data[0]?.rows.map((r) => r.rowName) ?? [], [data]);\n const maxValue = useMemo(() => maxOf(data, (d) => maxOf(getBins(d), (r) => r.count)), [data]);\n const numRows = useMemo(() => maxOf(data, (d) => getBins(d).length), [data]);\n\n // Measured (not estimated) pixel width of the longest label, so any label - short or long,\n // narrow or wide characters - gets exactly the room it needs rather than a per-character guess.\n const maxColNameWidth = useMemo(\n () => allColNames.reduce((m, name) => Math.max(m, measureTextWidth(name, TICK_FONT_SIZE, TICK_FONT_FAMILY)), 0) * TICK_LABEL_WIDTH_SAFETY_FACTOR,\n [allColNames]\n );\n const maxRowNameWidth = useMemo(\n () => allRowNames.reduce((m, name) => Math.max(m, measureTextWidth(name, TICK_FONT_SIZE, TICK_FONT_FAMILY)), 0) * TICK_LABEL_WIDTH_SAFETY_FACTOR,\n [allRowNames]\n );\n\n const xTickAngle = xLabelOrientation === \"horizontal\" ? 0 : xLabelOrientation === \"vertical\" ? -90 : xLabelOrientation === \"leftDiagonal\" ? -45 : 45;\n const xTickTextAnchor: \"middle\" | \"start\" | \"end\" = xLabelOrientation === \"horizontal\" ? \"middle\" : xLabelOrientation === \"rightDiagonal\" ? \"start\" : \"end\";\n const rotatedColNameSpace = maxColNameWidth;\n const colLabelHeight = xLabelOrientation === \"horizontal\" ? 12 : xLabelOrientation === \"vertical\" ? rotatedColNameSpace : rotatedColNameSpace * Math.SQRT1_2;\n\n const xTickLeftOverhangMax = xLabelOrientation === \"leftDiagonal\" ? colLabelHeight : 0;\n\n const colorsKey = colors.join(\"\\u0000\");\n const stableColors = useMemo(\n () => colorsKey.split(\"\\u0000\") as [string, string, ...string[]],\n [colorsKey]\n );\n\n const legendWidth = useMemo(() => getHeatmapLegendWidth(0, maxValue), [maxValue]);\n const defaultRight = showLegend ? legendWidth + LEGEND_GAP : 10;\n const defaultTop = 20;\n const labelBottomSpace = colLabelHeight + AXIS_LABEL_GAP + X_AXIS_TITLE_SPACE;\n const marg = margin ?? {\n top: defaultTop,\n left: maxRowNameWidth + AXIS_LABEL_GAP + Y_AXIS_TITLE_SPACE,\n right: defaultRight,\n bottom: labelBottomSpace + TICK_FONT_SIZE,\n };\n\n const miniMapSpace = isScrollable && showMiniMap ? MINI_MAP_HEIGHT : 0;\n const availableWidth = Math.max(0, parentWidth - marg.left - marg.right);\n const availableHeight = Math.max(0, parentHeight - marg.bottom - marg.top - miniMapSpace);\n\n const xMax = isScrollable ? data.length * (cellWidth as number) : availableWidth;\n const yMax = isScrollable ? numRows * (cellHeight as number) : availableHeight;\n const viewportWidth = isScrollable ? Math.min(xMax, availableWidth) : xMax;\n const viewportHeight = isScrollable ? Math.min(yMax, availableHeight) : yMax;\n\n const yTitleWidth = Y_AXIS_TITLE_SPACE;\n const yTickLabelWidth = Math.max(0, marg.left - yTitleWidth);\n const xTitleHeight = X_AXIS_TITLE_SPACE;\n const xTickLabelHeight = Math.max(0, marg.bottom - xTitleHeight);\n\n const binWidth = xMax / data.length;\n const binHeight = yMax / numRows;\n\n const xScale = useMemo(\n () => scaleLinear<number>({ domain: [0, data.length], range: [0, xMax] }),\n [data.length, xMax]\n );\n const yScale = useMemo(\n () => scaleLinear<number>({ domain: [0, numRows], range: [yMax, 0] }),\n [numRows, yMax]\n );\n const cellYScale = useCallback((row: number) => yScale(row + 1), [yScale]);\n\n const xTickValues = useMemo(() => data.map((_, i) => i + 0.5), [data]);\n const yTickValues = useMemo(() => data[0]?.rows.map((_, i) => i + 0.5) ?? [], [data]);\n\n const resolvedDeselectedColor = deselectedColor ?? DEFAULT_DESELECTED_COLOR;\n const colorScale = useMemo(\n () => getHeatmapColorScale(stableColors, maxValue),\n [stableColors, maxValue]\n );\n const selectedKeys = useMemo(\n () => (selectedCells?.length ? new Set(selectedCells.map(cellKey)) : null),\n [selectedCells]\n );\n\n // Everything the canvas draw loop and hit-testing need to place/color a cell. Only changes when\n // a prop that actually affects appearance/geometry changes - never on scroll or hover, so\n // drawCanvas (and, through it, handleGridScroll) keeps a stable identity across scroll events.\n const canvasCellParams: CanvasCellParams = useMemo(\n () => ({\n data, numRows, xScale, cellYScale, colorScale, gap, isRect, binWidth, binHeight,\n yMax, selectedKeys, deselectedColor: resolvedDeselectedColor,\n }),\n [data, numRows, xScale, cellYScale, colorScale, gap, isRect, binWidth, binHeight, yMax, selectedKeys, resolvedDeselectedColor]\n );\n\n // Imperative canvas paint - deliberately never routed through React state. Driven both by prop\n // changes (the effect below) and by native scroll events (handleGridScroll), and it's the\n // scroll case that matters: an earlier attempt at this drove the redraw through a React state\n // update on every scroll frame, which forced React to reconcile on every frame and made\n // scrolling *slower* than the plain (if huge) static SVG it replaced. Reading scroll position\n // directly off the DOM and painting immediately keeps scrolling itself entirely on the\n // browser's native, free compositor path - React is never involved.\n const drawCanvas = useCallback(() => {\n const canvas = canvasRef.current;\n const main = mainPaneRef.current;\n if (!canvas || !main) return;\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) return;\n const dpr = window.devicePixelRatio || 1;\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n ctx.clearRect(0, 0, viewportWidth, viewportHeight);\n const range = getVisibleRange(canvasCellParams, main.scrollLeft, main.scrollTop, viewportWidth, viewportHeight, GRID_OVERSCAN_CELLS);\n ctx.translate(-main.scrollLeft, -main.scrollTop);\n drawHeatmapCells(ctx, canvasCellParams, range, hoveredCellRef.current);\n }, [canvasCellParams, viewportWidth, viewportHeight]);\n\n useEffect(() => {\n if (isScrollable) drawCanvas();\n }, [isScrollable, drawCanvas]);\n\n const [axisScrollPos, setAxisScrollPos] = useState({ left: 0, top: 0 });\n const xTickClipId = useId();\n // Shrinks to 0 as soon as scrolling moves away from the start, so the reveal only ever applies\n // to column 0's genuine edge case (nothing real to its left) and doesn't linger over the y-axis\n // pane at other scroll positions, where a real, adjacent column - not empty space - would\n // otherwise show through.\n const xTickLeftOverhang = Math.max(0, xTickLeftOverhangMax - axisScrollPos.left);\n const axisVisibleRange = useMemo(\n () => getVisibleRange(canvasCellParams, axisScrollPos.left, axisScrollPos.top, viewportWidth, viewportHeight, GRID_OVERSCAN_CELLS),\n [canvasCellParams, axisScrollPos.left, axisScrollPos.top, viewportWidth, viewportHeight]\n );\n const visibleXTickValues = useMemo(\n () => xTickValues.slice(axisVisibleRange.colStart, axisVisibleRange.colEnd + 1),\n [xTickValues, axisVisibleRange.colStart, axisVisibleRange.colEnd]\n );\n const visibleYTickValues = useMemo(\n () => yTickValues.slice(axisVisibleRange.rowStart, axisVisibleRange.rowEnd + 1),\n [yTickValues, axisVisibleRange.rowStart, axisVisibleRange.rowEnd]\n );\n\n // Auto-scrolls to reveal newly-selected cells \n useEffect(() => {\n const previousKeys = previousSelectionKeysRef.current;\n const cells = selectedCells ?? [];\n const newCells = cells.filter((cell) => !previousKeys.has(cellKey(cell)));\n previousSelectionKeysRef.current = new Set(cells.map(cellKey));\n\n const main = mainPaneRef.current;\n if (!scrollToSelection || !isScrollable || !main || newCells.length === 0) return;\n\n let minCol = Infinity, maxCol = -Infinity, minRow = Infinity, maxRow = -Infinity;\n for (const cell of newCells) {\n if (cell.column < minCol) minCol = cell.column;\n if (cell.column > maxCol) maxCol = cell.column;\n if (cell.row < minRow) minRow = cell.row;\n if (cell.row > maxRow) maxRow = cell.row;\n }\n\n const boxLeft = minCol * binWidth;\n const boxRight = (maxCol + 1) * binWidth;\n const boxTop = yMax - (maxRow + 1) * binHeight;\n const boxBottom = yMax - minRow * binHeight;\n\n const targetLeft = nearestScrollOffset(main.scrollLeft, viewportWidth, boxLeft, boxRight);\n const targetTop = nearestScrollOffset(main.scrollTop, viewportHeight, boxTop, boxBottom);\n if (targetLeft !== main.scrollLeft || targetTop !== main.scrollTop) {\n main.scrollTo({ left: targetLeft, top: targetTop, behavior: \"smooth\" });\n }\n }, [selectedCells, scrollToSelection, isScrollable, binWidth, binHeight, yMax, viewportWidth, viewportHeight]);\n\n const handleGridScroll = useCallback(() => {\n const main = mainPaneRef.current;\n if (!main) return;\n if (drawRafRef.current != null) return;\n drawRafRef.current = requestAnimationFrame(() => {\n drawRafRef.current = null;\n drawCanvas();\n setAxisScrollPos({ left: main.scrollLeft, top: main.scrollTop });\n });\n }, [drawCanvas]);\n\n // Drives the minimap: scrollTo dispatches a native scroll event on mainPaneRef, which\n // handleGridScroll picks up the same way it would a manual scroll (repainting the canvas and\n // updating axisScrollPos, which also moves the minimap's own viewport rectangle).\n const handleMiniMapNavigate = useCallback((left: number, top: number) => {\n mainPaneRef.current?.scrollTo({ left, top });\n }, []);\n\n const handleCanvasMouseMove = useCallback((event: React.MouseEvent<HTMLCanvasElement>) => {\n const main = mainPaneRef.current;\n if (!main) return;\n const contentX = event.nativeEvent.offsetX + main.scrollLeft;\n const contentY = event.nativeEvent.offsetY + main.scrollTop;\n const cell = hitTestCell(canvasCellParams, contentX, contentY);\n // Matches the SVG path's heatmapCellStyles (`.visx-heatmap-cell { cursor: pointer }`):\n // pointer over any real cell - including a null-count one, which still hit-tests true here,\n // same as it still being a hit target there via `pointer-events: all` - not just where\n // onClick is wired up, so hover-only tooltips still get the affordance.\n event.currentTarget.style.cursor = cell ? \"pointer\" : \"default\";\n const prev = hoveredCellRef.current;\n if (prev?.row !== cell?.row || prev?.column !== cell?.column) {\n hoveredCellRef.current = cell;\n drawCanvas();\n }\n if (cell) {\n const bin = buildBin(canvasCellParams, cell);\n if (bin) canvasTooltipRef.current?.show(bin, event);\n } else {\n canvasTooltipRef.current?.hide();\n }\n }, [canvasCellParams, drawCanvas]);\n\n const handleCanvasMouseLeave = useCallback((event: React.MouseEvent<HTMLCanvasElement>) => {\n event.currentTarget.style.cursor = \"default\";\n if (hoveredCellRef.current) {\n hoveredCellRef.current = null;\n drawCanvas();\n }\n canvasTooltipRef.current?.hide();\n }, [drawCanvas]);\n\n const handleCanvasClick = useCallback((event: React.MouseEvent<HTMLCanvasElement>) => {\n const main = mainPaneRef.current;\n if (!main || !onClick) return;\n const contentX = event.nativeEvent.offsetX + main.scrollLeft;\n const contentY = event.nativeEvent.offsetY + main.scrollTop;\n const cell = hitTestCell(canvasCellParams, contentX, contentY);\n if (!cell) return;\n const bin = buildBin(canvasCellParams, cell);\n if (bin) onClick(bin);\n }, [canvasCellParams, onClick]);\n\n // Builds a standalone, off-DOM <svg> at full content size for export. Both the on-screen cell\n // layer (a canvas painting only the current scroll viewport) and the on-screen row/column axis\n // panes (SVGs now windowed to the visible tick range, see axisVisibleRange above) only ever\n // hold a slice of the full grid - neither can just be cloned for export without capturing an\n // incomplete/mispositioned snapshot. So all three (cells, row axis, column axis) are instead\n // rendered fresh here in one detached tree - synchronously, full grid, no windowing - purely to\n // snapshot into the export SVG below.\n const buildScrollableExportSVG = (): SVGSVGElement | null => {\n const exportSvg = document.createElementNS(SVG_NS, \"svg\") as SVGSVGElement;\n exportSvg.setAttribute(\"width\", String(marg.left + xMax + marg.right));\n exportSvg.setAttribute(\"height\", String(marg.top + yMax + marg.bottom));\n\n const appendClone = (source: SVGSVGElement, x: number, y: number) => {\n const group = document.createElementNS(SVG_NS, \"g\");\n group.setAttribute(\"transform\", `translate(${x},${y})`);\n source.childNodes.forEach((node) => group.appendChild(node.cloneNode(true)));\n exportSvg.appendChild(group);\n };\n\n let fullCells: SVGSVGElement | null = null;\n let fullRowAxis: SVGSVGElement | null = null;\n let fullColAxis: SVGSVGElement | null = null;\n const exportContainer = document.createElement(\"div\");\n const exportRoot = createRoot(exportContainer);\n flushSync(() => {\n exportRoot.render(\n <>\n <svg width={xMax} height={yMax} ref={(el) => { fullCells = el; }}>\n <HeatmapCells\n data={data}\n xScale={xScale}\n yScale={cellYScale}\n colors={stableColors}\n maxValue={maxValue}\n gap={gap}\n isRect={isRect}\n binWidth={binWidth}\n binHeight={binHeight}\n animationType={animationType}\n onClick={onClick}\n selectedCells={selectedCells}\n deselectedColor={deselectedColor}\n />\n </svg>\n <svg width={yTickLabelWidth} height={yMax} ref={(el) => { fullRowAxis = el; }}>\n <g transform={`translate(${yTickLabelWidth},0)`}>\n <AxisLeft\n scale={yScale}\n numTicks={numRows}\n tickValues={yTickValues}\n tickFormat={yAxisTickFormat}\n tickLabelProps={yAxisTickLabelProps}\n />\n </g>\n </svg>\n <svg width={xMax} height={xTickLabelHeight} ref={(el) => { fullColAxis = el; }}>\n <AxisBottom\n top={0}\n scale={xScale}\n numTicks={data.length}\n tickFormat={xAxisTickFormat}\n tickValues={xTickValues}\n tickLabelProps={xAxisTickLabelProps}\n />\n </svg>\n </>\n );\n });\n if (fullCells) appendClone(fullCells, marg.left, marg.top);\n if (fullRowAxis) appendClone(fullRowAxis, yTitleWidth, marg.top);\n if (fullColAxis) appendClone(fullColAxis, marg.left, marg.top + yMax);\n exportRoot.unmount();\n\n if (showLegend && legendSvgRef.current) {\n appendClone(legendSvgRef.current, marg.left + xMax + LEGEND_GAP, marg.top);\n }\n\n // The axis titles live in their own always-visible panes on screen (so scrolling can't\n // carry them out of view) rather than as visx's built-in centered-on-the-full-axis label,\n // so they're added here directly instead of being cloned from a live pane.\n const appendTitle = (text: string, x: number, y: number, rotate: boolean) => {\n const titleEl = document.createElementNS(SVG_NS, \"text\");\n titleEl.setAttribute(\"x\", String(x));\n titleEl.setAttribute(\"y\", String(y));\n if (rotate) titleEl.setAttribute(\"transform\", `rotate(-90, ${x}, ${y})`);\n titleEl.setAttribute(\"text-anchor\", \"middle\");\n titleEl.setAttribute(\"dominant-baseline\", \"middle\");\n titleEl.setAttribute(\"font-size\", \"14\");\n titleEl.setAttribute(\"font-family\", \"sans-serif\");\n titleEl.textContent = text;\n exportSvg.appendChild(titleEl);\n };\n if (yLabel) appendTitle(yLabel, yTitleWidth / 2, marg.top + yMax / 2, true);\n if (xLabel) appendTitle(xLabel, marg.left + xMax / 2, marg.top + yMax + xTickLabelHeight + xTitleHeight / 2, false);\n\n return exportSvg;\n };\n\n // downloadSVGAsPNG reads the element's layout box asynchronously (after its image loads), so\n // an off-DOM export node has to stay attached (off-screen) until onComplete fires. The\n // off-screen positioning goes on a wrapper div, never on the <svg> itself - that svg is what\n // gets serialized and downloaded, so any inline style set directly on it (e.g. `left:\n // -99999px`) would be baked into the exported file, rendering everything pushed off-canvas\n // and out of view - the exact \"blank image\" bug this replaced.\n const withOffscreenExportSVG = (run: (svg: SVGSVGElement, onDone: () => void) => void) => {\n const svg = buildScrollableExportSVG();\n if (!svg) return;\n const wrapper = document.createElement(\"div\");\n wrapper.style.position = \"absolute\";\n wrapper.style.top = \"0\";\n wrapper.style.left = \"-99999px\";\n wrapper.appendChild(svg);\n document.body.appendChild(wrapper);\n run(svg, () => {\n if (wrapper.parentNode) document.body.removeChild(wrapper);\n });\n };\n\n useImperativeHandle(ref, () => ({\n downloadSVG: () => {\n if (isScrollable) {\n withOffscreenExportSVG((svg, onDone) => {\n downloadAsSVG(svg, downloadFileName ?? \"heatmap.svg\");\n onDone();\n });\n } else if (svgRef.current) {\n downloadAsSVG(svgRef.current, downloadFileName ?? \"heatmap.svg\");\n }\n },\n downloadPNG: () => {\n if (isScrollable) {\n withOffscreenExportSVG((svg, onDone) => {\n downloadSVGAsPNG(svg, downloadFileName ?? \"heatmap.png\", undefined, onDone);\n });\n } else if (svgRef.current) {\n downloadSVGAsPNG(svgRef.current, downloadFileName ?? \"heatmap.png\");\n }\n },\n }));\n // No deps array: buildScrollableExportSVG (and the plain closures above) now render the cells\n // and both axes fresh on every export (see its comment), reading a long list of render-scoped\n // values - hand-maintaining an exhaustive deps list for that is exactly the kind of duplicated\n // upkeep this refactor was trying to reduce elsewhere, and risks a stale export if one is ever\n // missed. Recomputing this handle (two small closures) on every render is negligible cost.\n\n const xAxisTickFormat = (d: number | { valueOf(): number }) => allColNames[Math.floor(+d)] ?? \"\";\n const xAxisTickLabelProps = () => ({\n fontSize: 12,\n fontFamily: \"sans-serif\",\n textAnchor: xTickTextAnchor,\n angle: xTickAngle,\n dy: xLabelOrientation === \"horizontal\" ? \"0.71em\" : \"0.25em\",\n });\n const xAxisLabelProps = {\n fontSize: 14,\n fontFamily: \"sans-serif\",\n textAnchor: \"middle\" as const,\n dy: \"-0.5em\",\n };\n const yAxisTickFormat = (d: number | { valueOf(): number }) => allRowNames[Math.floor(+d)] ?? \"\";\n const yAxisTickLabelProps = () => ({\n fontSize: 12,\n fontFamily: \"sans-serif\",\n textAnchor: \"end\" as const,\n dx: \"-0.25em\",\n dy: \"0.25em\",\n });\n const yAxisLabelProps = {\n fontSize: 14,\n fontFamily: \"sans-serif\",\n textAnchor: \"middle\" as const,\n };\n\n return (\n <ResponsiveContainer parentRef={parentRef} containerStyle={containerStyle}>\n {!parentWidth || !parentHeight || data.length === 0 || numRows === 0 ? null : isScrollable ? (\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n {showMiniMap && (\n <div style={{ marginLeft: yTitleWidth + yTickLabelWidth }}>\n <HeatmapMiniMap\n canvasCellParams={canvasCellParams}\n xMax={xMax}\n yMax={yMax}\n viewportWidth={viewportWidth}\n viewportHeight={viewportHeight}\n scrollLeft={axisScrollPos.left}\n scrollTop={axisScrollPos.top}\n width={viewportWidth}\n height={MINI_MAP_HEIGHT}\n onNavigate={handleMiniMapNavigate}\n />\n </div>\n )}\n <div\n style={{\n display: \"grid\",\n gridTemplateColumns: showLegend\n ? `${yTitleWidth}px ${yTickLabelWidth}px ${viewportWidth}px ${LEGEND_GAP + legendWidth}px`\n : `${yTitleWidth}px ${yTickLabelWidth}px ${viewportWidth}px`,\n gridTemplateRows: `${marg.top}px ${viewportHeight}px ${xTickLabelHeight}px ${xTitleHeight}px`,\n }}\n >\n <div style={{ gridColumn: 1, gridRow: 2, width: yTitleWidth, height: viewportHeight, display: \"flex\", alignItems: \"center\", justifyContent: \"center\" }}>\n <svg width={yTitleWidth} height={viewportHeight}>\n <text\n x={yTitleWidth / 2}\n y={viewportHeight / 2}\n transform={`rotate(-90, ${yTitleWidth / 2}, ${viewportHeight / 2})`}\n textAnchor=\"middle\"\n dominantBaseline=\"middle\"\n fontSize={14}\n fontFamily=\"sans-serif\"\n >\n {yLabel ?? \"\"}\n </text>\n </svg>\n </div>\n <div style={{ gridColumn: 2, gridRow: 2, width: yTickLabelWidth, height: viewportHeight, overflow: \"hidden\" }}>\n <svg width={yTickLabelWidth} height={viewportHeight}>\n <g transform={`translate(${yTickLabelWidth},${-axisScrollPos.top})`}>\n <AxisLeft\n scale={yScale}\n numTicks={numRows}\n tickValues={visibleYTickValues}\n tickFormat={yAxisTickFormat}\n tickLabelProps={yAxisTickLabelProps}\n />\n </g>\n </svg>\n </div>\n <div\n ref={mainPaneRef}\n onScroll={handleGridScroll}\n style={{ gridColumn: 3, gridRow: 2, width: viewportWidth, height: viewportHeight, overflow: \"auto\", overscrollBehavior: \"contain\", position: \"relative\" }}\n >\n <div style={{ width: xMax, height: yMax, position: \"relative\" }}>\n <canvas\n ref={canvasRef}\n width={viewportWidth * (window.devicePixelRatio || 1)}\n height={viewportHeight * (window.devicePixelRatio || 1)}\n style={{\n width: viewportWidth,\n height: viewportHeight,\n position: \"sticky\",\n top: 0,\n left: 0,\n display: \"block\",\n cursor: \"default\",\n }}\n onMouseMove={handleCanvasMouseMove}\n onMouseLeave={handleCanvasMouseLeave}\n onClick={handleCanvasClick}\n />\n </div>\n </div>\n {tooltipBody && <PlotTooltip ref={canvasTooltipRef}>{tooltipBody}</PlotTooltip>}\n <div style={{ gridColumn: 3, gridRow: 3, width: viewportWidth, height: xTickLabelHeight, overflow: \"visible\" }}>\n <svg width={viewportWidth} height={xTickLabelHeight} style={{ overflow: \"visible\" }}>\n {xTickLeftOverhangMax > 0 && (\n <defs>\n <clipPath id={xTickClipId}>\n {/* The pane itself, always fully visible. */}\n <rect x={0} y={0} width={viewportWidth} height={xTickLabelHeight} />\n {/* The leftDiagonal overhang reach (shrinks to 0 as axisScrollPos.left grows\n - see xTickLeftOverhang) - full height except a thin strip at the top,\n where the axis's own tick-line stub would otherwise show through\n underneath the y-axis pane. Leaving that strip out of the clip hides just\n the stub; the label text, which sits lower, is unaffected. */}\n <rect\n x={-xTickLeftOverhang}\n y={X_AXIS_OVERHANG_CLIP_HEIGHT}\n width={xTickLeftOverhang}\n height={Math.max(0, xTickLabelHeight - X_AXIS_OVERHANG_CLIP_HEIGHT)}\n />\n </clipPath>\n </defs>\n )}\n <g clipPath={xTickLeftOverhangMax > 0 ? `url(#${xTickClipId})` : undefined}>\n <g transform={`translate(${-axisScrollPos.left},0)`}>\n <AxisBottom\n top={0}\n scale={xScale}\n numTicks={data.length}\n tickFormat={xAxisTickFormat}\n tickValues={visibleXTickValues}\n tickLabelProps={xAxisTickLabelProps}\n />\n </g>\n </g>\n </svg>\n </div>\n {/* X-axis title: fixed in place (not scroll-synced) so it's always visible, centered on\n the visible viewport rather than the full data range */}\n <div style={{ gridColumn: 3, gridRow: 4, width: viewportWidth, height: xTitleHeight, display: \"flex\", alignItems: \"center\", justifyContent: \"center\" }}>\n <svg width={viewportWidth} height={xTitleHeight}>\n <text\n x={viewportWidth / 2}\n y={xTitleHeight / 2}\n textAnchor=\"middle\"\n dominantBaseline=\"middle\"\n fontSize={14}\n fontFamily=\"sans-serif\"\n >\n {xLabel ?? \"\"}\n </text>\n </svg>\n </div>\n {showLegend && (\n <div style={{ gridColumn: 4, gridRow: 2, width: legendWidth, marginLeft: LEGEND_GAP, height: viewportHeight }}>\n <svg width={legendWidth} height={viewportHeight} ref={legendSvgRef} style={{ overflow: \"visible\" }}>\n <HeatmapLegend\n colors={stableColors}\n minValue={0}\n maxValue={maxValue}\n height={viewportHeight}\n />\n </svg>\n </div>\n )}\n </div>\n </div>\n ) : (\n <svg width={parentWidth} height={parentHeight} ref={svgRef}>\n {/* Inside the <svg> so cell hover styling survives the SVG/PNG download serialization */}\n <style>{heatmapCellStyles}</style>\n <g transform={`translate(${marg.left},${marg.top})`}>\n <HeatmapCells\n data={data}\n xScale={xScale}\n yScale={cellYScale}\n colors={stableColors}\n maxValue={maxValue}\n gap={gap}\n isRect={isRect}\n binWidth={binWidth}\n binHeight={binHeight}\n animationType={animationType}\n tooltipBody={tooltipBody}\n onClick={onClick}\n selectedCells={selectedCells}\n deselectedColor={deselectedColor}\n />\n <AxisBottom\n top={yMax}\n scale={xScale}\n numTicks={data.length}\n tickFormat={xAxisTickFormat}\n tickValues={xTickValues}\n tickLabelProps={xAxisTickLabelProps}\n label={xLabel ?? \"\"}\n labelOffset={colLabelHeight + AXIS_LABEL_GAP}\n labelProps={xAxisLabelProps}\n />\n <AxisLeft\n scale={yScale}\n numTicks={numRows}\n tickValues={yTickValues}\n tickFormat={yAxisTickFormat}\n tickLabelProps={yAxisTickLabelProps}\n label={yLabel ?? \"\"}\n labelOffset={maxRowNameWidth + AXIS_LABEL_GAP}\n labelProps={yAxisLabelProps}\n />\n {showLegend && (\n <g transform={`translate(${xMax + LEGEND_GAP}, 0)`}>\n <HeatmapLegend\n colors={stableColors}\n minValue={0}\n maxValue={maxValue}\n height={yMax}\n />\n </g>\n )}\n </g>\n </svg>\n )}\n </ResponsiveContainer>\n );\n};\n\nexport default Heatmap;\n"],"names":["SVG_NS","LEGEND_GAP","AXIS_LABEL_GAP","Y_AXIS_TITLE_SPACE","X_AXIS_TITLE_SPACE","TICK_FONT_SIZE","TICK_FONT_FAMILY","TICK_LABEL_WIDTH_SAFETY_FACTOR","GRID_OVERSCAN_CELLS","MINI_MAP_HEIGHT","X_AXIS_OVERHANG_CLIP_HEIGHT","getBins","d","rows","nearestScrollOffset","current","viewportSize","boxStart","boxEnd","maxOf","data","value","reduce","max","datum","datumValue","Math","Heatmap","onClick","ref","downloadFileName","colors","xLabel","yLabel","tooltipBody","margin","gap","isRect","animationType","showLegend","width","height","xLabelOrientation","selectedCells","deselectedColor","cellWidth","cellHeight","scrollToSelection","showMiniMap","parentRef","containerStyle","parentWidth","parentHeight","useResponsiveParentSize","svgRef","useRef","isScrollable","mainPaneRef","canvasRef","legendSvgRef","hoveredCellRef","canvasTooltipRef","drawRafRef","previousSelectionKeysRef","Set","useEffect","cancelAnimationFrame","allColNames","useMemo","map","columnName","allRowNames","r","rowName","maxValue","count","numRows","length","maxColNameWidth","m","name","measureTextWidth","maxRowNameWidth","xTickAngle","xTickTextAnchor","rotatedColNameSpace","colLabelHeight","SQRT1_2","xTickLeftOverhangMax","colorsKey","join","stableColors","split","legendWidth","getHeatmapLegendWidth","defaultRight","defaultTop","labelBottomSpace","marg","top","left","right","bottom","miniMapSpace","availableWidth","availableHeight","xMax","yMax","viewportWidth","min","viewportHeight","yTitleWidth","yTickLabelWidth","xTitleHeight","xTickLabelHeight","binWidth","binHeight","xScale","scaleLinear","domain","range","yScale","cellYScale","useCallback","row","xTickValues","_","i","yTickValues","resolvedDeselectedColor","DEFAULT_DESELECTED_COLOR","colorScale","getHeatmapColorScale","selectedKeys","cellKey","canvasCellParams","drawCanvas","canvas","main","ctx","getContext","dpr","window","devicePixelRatio","setTransform","clearRect","getVisibleRange","scrollLeft","scrollTop","translate","drawHeatmapCells","axisScrollPos","setAxisScrollPos","useState","xTickClipId","useId","xTickLeftOverhang","axisVisibleRange","visibleXTickValues","slice","colStart","colEnd","visibleYTickValues","rowStart","rowEnd","previousKeys","cells","newCells","filter","cell","has","minCol","Infinity","maxCol","minRow","maxRow","column","boxLeft","boxRight","boxTop","boxBottom","targetLeft","targetTop","scrollTo","behavior","handleGridScroll","requestAnimationFrame","handleMiniMapNavigate","handleCanvasMouseMove","event","contentX","nativeEvent","offsetX","contentY","offsetY","hitTestCell","currentTarget","style","cursor","prev","bin","buildBin","show","hide","handleCanvasMouseLeave","handleCanvasClick","buildScrollableExportSVG","exportSvg","document","createElementNS","setAttribute","String","appendClone","source","x","y","group","childNodes","forEach","node","appendChild","cloneNode","fullCells","fullRowAxis","fullColAxis","exportContainer","createElement","exportRoot","createRoot","flushSync","render","jsxs","Fragment","jsx","el","HeatmapCells","AxisLeft","yAxisTickFormat","yAxisTickLabelProps","AxisBottom","xAxisTickFormat","xAxisTickLabelProps","unmount","appendTitle","text","rotate","titleEl","textContent","withOffscreenExportSVG","run","svg","wrapper","position","body","parentNode","removeChild","useImperativeHandle","downloadSVG","onDone","downloadAsSVG","downloadPNG","downloadSVGAsPNG","undefined","floor","fontSize","fontFamily","textAnchor","angle","dy","xAxisLabelProps","dx","yAxisLabelProps","ResponsiveContainer","display","flexDirection","marginLeft","HeatmapMiniMap","gridTemplateColumns","gridTemplateRows","gridColumn","gridRow","alignItems","justifyContent","overflow","overscrollBehavior","PlotTooltip","HeatmapLegend","heatmapCellStyles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"visualization.es5.js","sources":["../src/components/Heatmap/Heatmap.tsx"],"sourcesContent":["import type { HeatmapProps } from \"./types\";\nimport { useImperativeHandle, useRef, useMemo } from \"react\";\nimport { downloadAsSVG, downloadSVGAsPNG } from \"../../utility\";\nimport { ResponsiveContainer, useResponsiveParentSize } from \"../../responsive\";\nimport { makeTickFormat, getXAxisTickLabelProps } from \"./heatmapAxisProps\";\nimport { useHeatmapLayout } from \"./heatmapLayout\";\nimport { withOffscreenExportSVG } from \"./scrollable/heatmapExport\";\nimport HeatmapScrollableGrid from \"./scrollable/HeatmapScrollableGrid\";\nimport HeatmapStaticSvg from \"./HeatmapStaticSvg\";\n\nconst Heatmap = ({\n data,\n onClick,\n ref,\n downloadFileName,\n colors,\n colorDomain,\n xLabel,\n yLabel,\n tooltipBody,\n margin,\n gap = 2,\n isRect = true,\n animationType,\n showLegend = true,\n width,\n height,\n xLabelOrientation = \"vertical\",\n selectedCells,\n deselectedColor,\n cellWidth,\n cellHeight,\n scrollToSelection,\n showMiniMap = false,\n}: HeatmapProps) => {\n const { parentRef, containerStyle, width: parentWidth, height: parentHeight } = useResponsiveParentSize({ width, height });\n const svgRef = useRef<SVGSVGElement | null>(null);\n const legendSvgRef = useRef<SVGSVGElement | null>(null);\n const isScrollable = cellWidth != null && cellHeight != null;\n\n const layout = useHeatmapLayout({\n data, colorDomain, colors, xLabelOrientation, margin, showLegend, isScrollable,\n cellWidth, cellHeight, parentWidth, parentHeight, showMiniMap, gap, isRect,\n selectedCells, deselectedColor,\n });\n const { allColNames, allRowNames, numRows } = layout;\n\n const xAxisTickFormat = useMemo(() => makeTickFormat(allColNames), [allColNames]);\n const yAxisTickFormat = useMemo(() => makeTickFormat(allRowNames), [allRowNames]);\n const xAxisTickLabelProps = useMemo(() => getXAxisTickLabelProps(xLabelOrientation), [xLabelOrientation]);\n\n const buildExportOptions = () => ({\n layout, data, gap, isRect, animationType, onClick, selectedCells, deselectedColor,\n xLabel, yLabel, showLegend, legendSvg: legendSvgRef.current,\n xAxisTickFormat, yAxisTickFormat, xAxisTickLabelProps,\n });\n\n useImperativeHandle(ref, () => ({\n downloadSVG: () => {\n if (isScrollable) {\n withOffscreenExportSVG(buildExportOptions(), (svg, onDone) => {\n downloadAsSVG(svg, downloadFileName ?? \"heatmap.svg\");\n onDone();\n });\n } else if (svgRef.current) {\n downloadAsSVG(svgRef.current, downloadFileName ?? \"heatmap.svg\");\n }\n },\n downloadPNG: () => {\n if (isScrollable) {\n withOffscreenExportSVG(buildExportOptions(), (svg, onDone) => {\n downloadSVGAsPNG(svg, downloadFileName ?? \"heatmap.png\", undefined, onDone);\n });\n } else if (svgRef.current) {\n downloadSVGAsPNG(svgRef.current, downloadFileName ?? \"heatmap.png\");\n }\n },\n }));\n // No deps array: buildScrollableExportSVG (and the plain closures above) now render the cells\n // and both axes fresh on every export (see its comment), reading a long list of render-scoped\n // values - hand-maintaining an exhaustive deps list for that is exactly the kind of duplicated\n // upkeep this refactor was trying to reduce elsewhere, and risks a stale export if one is ever\n // missed. Recomputing this handle (two small closures) on every render is negligible cost.\n\n return (\n <ResponsiveContainer parentRef={parentRef} containerStyle={containerStyle}>\n {!parentWidth || !parentHeight || data.length === 0 || numRows === 0 ? null : isScrollable ? (\n <HeatmapScrollableGrid\n legendSvgRef={legendSvgRef}\n layout={layout}\n data={data}\n showMiniMap={showMiniMap}\n showLegend={showLegend}\n xLabel={xLabel}\n yLabel={yLabel}\n tooltipBody={tooltipBody}\n onClick={onClick}\n selectedCells={selectedCells}\n scrollToSelection={scrollToSelection}\n xAxisTickFormat={xAxisTickFormat}\n yAxisTickFormat={yAxisTickFormat}\n xAxisTickLabelProps={xAxisTickLabelProps}\n />\n ) : (\n <HeatmapStaticSvg\n svgRef={svgRef}\n layout={layout}\n parentWidth={parentWidth}\n parentHeight={parentHeight}\n data={data}\n gap={gap}\n isRect={isRect}\n animationType={animationType}\n tooltipBody={tooltipBody}\n onClick={onClick}\n selectedCells={selectedCells}\n deselectedColor={deselectedColor}\n xLabel={xLabel}\n yLabel={yLabel}\n showLegend={showLegend}\n xAxisTickFormat={xAxisTickFormat}\n yAxisTickFormat={yAxisTickFormat}\n xAxisTickLabelProps={xAxisTickLabelProps}\n />\n )}\n </ResponsiveContainer>\n );\n};\n\nexport default Heatmap;\n"],"names":["Heatmap","t0","$","_c","data","onClick","ref","downloadFileName","colors","colorDomain","xLabel","yLabel","tooltipBody","margin","gap","t1","isRect","t2","animationType","showLegend","t3","width","height","xLabelOrientation","t4","selectedCells","deselectedColor","cellWidth","cellHeight","scrollToSelection","showMiniMap","t5","undefined","t6","parentRef","containerStyle","parentWidth","parentHeight","useResponsiveParentSize","svgRef","useRef","legendSvgRef","isScrollable","t7","layout","useHeatmapLayout","allColNames","allRowNames","numRows","t8","makeTickFormat","xAxisTickFormat","t9","yAxisTickFormat","t10","getXAxisTickLabelProps","xAxisTickLabelProps","t11","legendSvg","current","buildExportOptions","t12","downloadSVG","withOffscreenExportSVG","svg","onDone","downloadAsSVG","downloadPNG","svg_0","onDone_0","downloadSVGAsPNG","useImperativeHandle","t13","length","jsx","HeatmapScrollableGrid","HeatmapStaticSvg","t14","ResponsiveContainer"],"mappings":"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"}
|
|
@@ -1,11 +1,77 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
1
|
+
import { jsx as f, jsxs as D } from "react/jsx-runtime";
|
|
2
|
+
import { c as Q } from "react/compiler-runtime";
|
|
3
|
+
import U from "./visualization.es99.js";
|
|
4
|
+
import { heatmapCellStyles as Z } from "./visualization.es104.js";
|
|
5
|
+
import ee from "./visualization.es97.js";
|
|
6
|
+
import { xAxisLabelProps as te, yAxisLabelProps as le, yAxisTickLabelProps as oe } from "./visualization.es46.js";
|
|
7
|
+
import { AXIS_LABEL_GAP as I, LEGEND_GAP as se } from "./visualization.es47.js";
|
|
8
|
+
import ae from "./visualization.es52.js";
|
|
9
|
+
import ie from "./visualization.es56.js";
|
|
10
|
+
const ge = (X) => {
|
|
11
|
+
const e = Q(51), {
|
|
12
|
+
svgRef: b,
|
|
13
|
+
layout: Y,
|
|
14
|
+
parentWidth: g,
|
|
15
|
+
parentHeight: d,
|
|
16
|
+
data: t,
|
|
17
|
+
gap: k,
|
|
18
|
+
isRect: L,
|
|
19
|
+
animationType: y,
|
|
20
|
+
tooltipBody: u,
|
|
21
|
+
onClick: A,
|
|
22
|
+
selectedCells: P,
|
|
23
|
+
deselectedColor: S,
|
|
24
|
+
xLabel: q,
|
|
25
|
+
yLabel: z,
|
|
26
|
+
showLegend: T,
|
|
27
|
+
xAxisTickFormat: C,
|
|
28
|
+
yAxisTickFormat: H,
|
|
29
|
+
xAxisTickLabelProps: V
|
|
30
|
+
} = X, {
|
|
31
|
+
marg: O,
|
|
32
|
+
xMax: _,
|
|
33
|
+
yMax: l,
|
|
34
|
+
xScale: o,
|
|
35
|
+
yScale: w,
|
|
36
|
+
cellYScale: F,
|
|
37
|
+
stableColors: s,
|
|
38
|
+
minValue: a,
|
|
39
|
+
maxValue: i,
|
|
40
|
+
binWidth: R,
|
|
41
|
+
binHeight: $,
|
|
42
|
+
numRows: v,
|
|
43
|
+
xTickValues: B,
|
|
44
|
+
yTickValues: E,
|
|
45
|
+
colLabelHeight: J,
|
|
46
|
+
maxRowNameWidth: K
|
|
47
|
+
} = Y;
|
|
48
|
+
let x;
|
|
49
|
+
e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (x = /* @__PURE__ */ f("style", { children: Z }), e[0] = x) : x = e[0];
|
|
50
|
+
const G = `translate(${O.left},${O.top})`;
|
|
51
|
+
let r;
|
|
52
|
+
e[1] !== y || e[2] !== $ || e[3] !== R || e[4] !== F || e[5] !== t || e[6] !== S || e[7] !== k || e[8] !== L || e[9] !== i || e[10] !== a || e[11] !== A || e[12] !== P || e[13] !== s || e[14] !== u || e[15] !== o ? (r = /* @__PURE__ */ f(U, { data: t, xScale: o, yScale: F, colors: s, minValue: a, maxValue: i, gap: k, isRect: L, binWidth: R, binHeight: $, animationType: y, tooltipBody: u, onClick: A, selectedCells: P, deselectedColor: S }), e[1] = y, e[2] = $, e[3] = R, e[4] = F, e[5] = t, e[6] = S, e[7] = k, e[8] = L, e[9] = i, e[10] = a, e[11] = A, e[12] = P, e[13] = s, e[14] = u, e[15] = o, e[16] = r) : r = e[16];
|
|
53
|
+
const W = q ?? "", j = J + I;
|
|
54
|
+
let c;
|
|
55
|
+
e[17] !== t.length || e[18] !== W || e[19] !== j || e[20] !== C || e[21] !== V || e[22] !== o || e[23] !== B || e[24] !== l ? (c = /* @__PURE__ */ f(ae, { top: l, scale: o, numTicks: t.length, tickFormat: C, tickValues: B, tickLabelProps: V, label: W, labelOffset: j, labelProps: te }), e[17] = t.length, e[18] = W, e[19] = j, e[20] = C, e[21] = V, e[22] = o, e[23] = B, e[24] = l, e[25] = c) : c = e[25];
|
|
56
|
+
const M = z ?? "", N = K + I;
|
|
57
|
+
let m;
|
|
58
|
+
e[26] !== v || e[27] !== M || e[28] !== N || e[29] !== H || e[30] !== w || e[31] !== E ? (m = /* @__PURE__ */ f(ie, { scale: w, numTicks: v, tickValues: E, tickFormat: H, tickLabelProps: oe, label: M, labelOffset: N, labelProps: le }), e[26] = v, e[27] = M, e[28] = N, e[29] = H, e[30] = w, e[31] = E, e[32] = m) : m = e[32];
|
|
59
|
+
let n;
|
|
60
|
+
e[33] !== i || e[34] !== a || e[35] !== T || e[36] !== s || e[37] !== _ || e[38] !== l ? (n = T && /* @__PURE__ */ f("g", { transform: `translate(${_ + se}, 0)`, children: /* @__PURE__ */ f(ee, { colors: s, minValue: a, maxValue: i, height: l }) }), e[33] = i, e[34] = a, e[35] = T, e[36] = s, e[37] = _, e[38] = l, e[39] = n) : n = e[39];
|
|
61
|
+
let p;
|
|
62
|
+
e[40] !== n || e[41] !== G || e[42] !== r || e[43] !== c || e[44] !== m ? (p = /* @__PURE__ */ D("g", { transform: G, children: [
|
|
63
|
+
r,
|
|
64
|
+
c,
|
|
65
|
+
m,
|
|
66
|
+
n
|
|
67
|
+
] }), e[40] = n, e[41] = G, e[42] = r, e[43] = c, e[44] = m, e[45] = p) : p = e[45];
|
|
68
|
+
let h;
|
|
69
|
+
return e[46] !== d || e[47] !== g || e[48] !== b || e[49] !== p ? (h = /* @__PURE__ */ D("svg", { width: g, height: d, ref: b, children: [
|
|
70
|
+
x,
|
|
71
|
+
p
|
|
72
|
+
] }), e[46] = d, e[47] = g, e[48] = b, e[49] = p, e[50] = h) : h = e[50], h;
|
|
73
|
+
};
|
|
7
74
|
export {
|
|
8
|
-
|
|
9
|
-
n as updateOrdinalScale
|
|
75
|
+
ge as default
|
|
10
76
|
};
|
|
11
77
|
//# sourceMappingURL=visualization.es50.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es50.js","sources":["
|
|
1
|
+
{"version":3,"file":"visualization.es50.js","sources":["../src/components/Heatmap/HeatmapStaticSvg.tsx"],"sourcesContent":["import { type ReactElement, type RefObject } from \"react\";\nimport { AxisLeft, AxisBottom } from \"@visx/axis\";\nimport type { ColumnDatum, HeatmapCellId } from \"./types\";\nimport type { AnimationType } from \"../../utility\";\nimport type { AnyBin } from \"./HeatmapCells\";\nimport HeatmapCells from \"./HeatmapCells\";\nimport { heatmapCellStyles } from \"./HeatmapCell\";\nimport HeatmapLegend from \"./HeatmapLegend\";\nimport { xAxisLabelProps, yAxisTickLabelProps, yAxisLabelProps, type getXAxisTickLabelProps } from \"./heatmapAxisProps\";\nimport { LEGEND_GAP, AXIS_LABEL_GAP, type HeatmapLayout } from \"./heatmapLayout\";\n\nexport interface HeatmapStaticSvgProps {\n svgRef: RefObject<SVGSVGElement | null>;\n layout: HeatmapLayout;\n parentWidth: number;\n parentHeight: number;\n data: ColumnDatum[];\n gap: number;\n isRect: boolean;\n animationType?: AnimationType;\n tooltipBody?: (bin: AnyBin) => ReactElement;\n onClick?: (bin: AnyBin) => void;\n selectedCells?: HeatmapCellId[];\n deselectedColor?: string;\n xLabel?: string;\n yLabel?: string;\n showLegend: boolean;\n xAxisTickFormat: (d: number | { valueOf(): number }) => string;\n yAxisTickFormat: (d: number | { valueOf(): number }) => string;\n xAxisTickLabelProps: ReturnType<typeof getXAxisTickLabelProps>;\n}\n\nconst HeatmapStaticSvg = ({\n svgRef, layout, parentWidth, parentHeight, data, gap, isRect, animationType, tooltipBody,\n onClick, selectedCells, deselectedColor, xLabel, yLabel, showLegend,\n xAxisTickFormat, yAxisTickFormat, xAxisTickLabelProps,\n}: HeatmapStaticSvgProps) => {\n const {\n marg, xMax, yMax, xScale, yScale, cellYScale, stableColors, minValue, maxValue,\n binWidth, binHeight, numRows, xTickValues, yTickValues, colLabelHeight, maxRowNameWidth, legendWidth,\n } = layout;\n\n return (\n <svg width={parentWidth} height={parentHeight} ref={svgRef}>\n {/* Inside the <svg> so cell hover styling survives the SVG/PNG download serialization */}\n <style>{heatmapCellStyles}</style>\n <g transform={`translate(${marg.left},${marg.top})`}>\n <HeatmapCells\n data={data}\n xScale={xScale}\n yScale={cellYScale}\n colors={stableColors}\n minValue={minValue}\n maxValue={maxValue}\n gap={gap}\n isRect={isRect}\n binWidth={binWidth}\n binHeight={binHeight}\n animationType={animationType}\n tooltipBody={tooltipBody}\n onClick={onClick}\n selectedCells={selectedCells}\n deselectedColor={deselectedColor}\n />\n <AxisBottom\n top={yMax}\n scale={xScale}\n numTicks={data.length}\n tickFormat={xAxisTickFormat}\n tickValues={xTickValues}\n tickLabelProps={xAxisTickLabelProps}\n label={xLabel ?? \"\"}\n labelOffset={colLabelHeight + AXIS_LABEL_GAP}\n labelProps={xAxisLabelProps}\n />\n <AxisLeft\n scale={yScale}\n numTicks={numRows}\n tickValues={yTickValues}\n tickFormat={yAxisTickFormat}\n tickLabelProps={yAxisTickLabelProps}\n label={yLabel ?? \"\"}\n labelOffset={maxRowNameWidth + AXIS_LABEL_GAP}\n labelProps={yAxisLabelProps}\n />\n {showLegend && (\n <g transform={`translate(${xMax + LEGEND_GAP}, 0)`}>\n <HeatmapLegend\n colors={stableColors}\n minValue={minValue}\n maxValue={maxValue}\n height={yMax}\n />\n </g>\n )}\n </g>\n </svg>\n );\n};\n\nexport default HeatmapStaticSvg;\n"],"names":["HeatmapStaticSvg","t0","$","_c","svgRef","layout","parentWidth","parentHeight","data","gap","isRect","animationType","tooltipBody","onClick","selectedCells","deselectedColor","xLabel","yLabel","showLegend","xAxisTickFormat","yAxisTickFormat","xAxisTickLabelProps","marg","xMax","yMax","xScale","yScale","cellYScale","stableColors","minValue","maxValue","binWidth","binHeight","numRows","xTickValues","yTickValues","colLabelHeight","maxRowNameWidth","t1","Symbol","for","jsx","heatmapCellStyles","t2","left","top","t3","HeatmapCells","t4","t5","AXIS_LABEL_GAP","t6","length","AxisBottom","xAxisLabelProps","t7","t8","t9","AxisLeft","yAxisTickLabelProps","yAxisLabelProps","t10","LEGEND_GAP","HeatmapLegend","t11","jsxs","t12"],"mappings":"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"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
function
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
function d(l, t) {
|
|
2
|
+
let f, n;
|
|
3
|
+
if (t === void 0)
|
|
4
|
+
for (const e of l)
|
|
5
|
+
e != null && (f === void 0 ? e >= e && (f = n = e) : (f > e && (f = e), n < e && (n = e)));
|
|
6
|
+
else {
|
|
7
|
+
let e = -1;
|
|
8
|
+
for (let i of l)
|
|
9
|
+
(i = t(i, ++e, l)) != null && (f === void 0 ? i >= i && (f = n = i) : (f > i && (f = i), n < i && (n = i)));
|
|
10
|
+
}
|
|
11
|
+
return [f, n];
|
|
6
12
|
}
|
|
7
13
|
export {
|
|
8
|
-
|
|
14
|
+
d as default
|
|
9
15
|
};
|
|
10
16
|
//# sourceMappingURL=visualization.es500.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es500.js","sources":["../../../node_modules/.pnpm/d3-
|
|
1
|
+
{"version":3,"file":"visualization.es500.js","sources":["../../../node_modules/.pnpm/d3-array@3.2.1/node_modules/d3-array/src/extent.js"],"sourcesContent":["export default function extent(values, valueof) {\n let min;\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n return [min, max];\n}\n"],"names":["extent","values","valueof","min","max","value","index"],"mappings":"AAAe,SAASA,EAAOC,GAAQC,GAAS;AAC9C,MAAIC,GACAC;AACJ,MAAIF,MAAY;AACd,eAAWG,KAASJ;AAClB,MAAII,KAAS,SACPF,MAAQ,SACNE,KAASA,MAAOF,IAAMC,IAAMC,MAE5BF,IAAME,MAAOF,IAAME,IACnBD,IAAMC,MAAOD,IAAMC;AAAA,OAIxB;AACL,QAAIC,IAAQ;AACZ,aAASD,KAASJ;AAChB,OAAKI,IAAQH,EAAQG,GAAO,EAAEC,GAAOL,CAAM,MAAM,SAC3CE,MAAQ,SACNE,KAASA,MAAOF,IAAMC,IAAMC,MAE5BF,IAAME,MAAOF,IAAME,IACnBD,IAAMC,MAAOD,IAAMC;AAAA,EAI/B;AACA,SAAO,CAACF,GAAKC,CAAG;AAClB;","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es501.js","sources":["../../../node_modules/.pnpm/d3-
|
|
1
|
+
{"version":3,"file":"visualization.es501.js","sources":["../../../node_modules/.pnpm/d3-array@3.2.1/node_modules/d3-array/src/array.js"],"sourcesContent":["var array = Array.prototype;\n\nexport var slice = array.slice;\nexport var map = array.map;\n"],"names":["array","slice"],"mappings":"AAAA,IAAIA,IAAQ,MAAM,WAEPC,IAAQD,EAAM;","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es502.js","sources":["../../../node_modules/.pnpm/d3-
|
|
1
|
+
{"version":3,"file":"visualization.es502.js","sources":["../../../node_modules/.pnpm/d3-array@3.2.1/node_modules/d3-array/src/constant.js"],"sourcesContent":["export default function constant(x) {\n return () => x;\n}\n"],"names":["constant","x"],"mappings":"AAAe,SAASA,EAASC,GAAG;AAClC,SAAO,MAAMA;AACf;","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es503.js","sources":["../../../node_modules/.pnpm/d3-
|
|
1
|
+
{"version":3,"file":"visualization.es503.js","sources":["../../../node_modules/.pnpm/d3-array@3.2.1/node_modules/d3-array/src/identity.js"],"sourcesContent":["export default function identity(x) {\n return x;\n}\n"],"names":["identity","x"],"mappings":"AAAe,SAASA,EAASC,GAAG;AAClC,SAAOA;AACT;","x_google_ignoreList":[0]}
|
|
@@ -1,37 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
function
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
start: n[0],
|
|
10
|
-
end: n[1],
|
|
11
|
-
pre: e.slice(0, n[0]),
|
|
12
|
-
body: e.slice(n[0] + i.length, n[1]),
|
|
13
|
-
post: e.slice(n[1] + a.length)
|
|
14
|
-
};
|
|
1
|
+
import { tickIncrement as c } from "./visualization.es505.js";
|
|
2
|
+
function r(i, l, n) {
|
|
3
|
+
let f;
|
|
4
|
+
for (; ; ) {
|
|
5
|
+
const e = c(i, l, n);
|
|
6
|
+
if (e === f || e === 0 || !isFinite(e))
|
|
7
|
+
return [i, l];
|
|
8
|
+
e > 0 ? (i = Math.floor(i / e) * e, l = Math.ceil(l / e) * e) : e < 0 && (i = Math.ceil(i * e) / e, l = Math.floor(l * e) / e), f = e;
|
|
15
9
|
}
|
|
16
|
-
function d(i, a) {
|
|
17
|
-
var e = a.match(i);
|
|
18
|
-
return e ? e[0] : null;
|
|
19
|
-
}
|
|
20
|
-
g.range = o;
|
|
21
|
-
function o(i, a, e) {
|
|
22
|
-
var n, u, l, p, c, r = e.indexOf(i), f = e.indexOf(a, r + 1), t = r;
|
|
23
|
-
if (r >= 0 && f > 0) {
|
|
24
|
-
if (i === a)
|
|
25
|
-
return [r, f];
|
|
26
|
-
for (n = [], l = e.length; t >= 0 && !c; )
|
|
27
|
-
t == r ? (n.push(t), r = e.indexOf(i, t + 1)) : n.length == 1 ? c = [n.pop(), f] : (u = n.pop(), u < l && (l = u, p = f), f = e.indexOf(a, t + 1)), t = r < f && r >= 0 ? r : f;
|
|
28
|
-
n.length && (c = [l, p]);
|
|
29
|
-
}
|
|
30
|
-
return c;
|
|
31
|
-
}
|
|
32
|
-
return h;
|
|
33
10
|
}
|
|
34
11
|
export {
|
|
35
|
-
|
|
12
|
+
r as default
|
|
36
13
|
};
|
|
37
14
|
//# sourceMappingURL=visualization.es504.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es504.js","sources":["../../../node_modules/.pnpm/
|
|
1
|
+
{"version":3,"file":"visualization.es504.js","sources":["../../../node_modules/.pnpm/d3-array@3.2.1/node_modules/d3-array/src/nice.js"],"sourcesContent":["import {tickIncrement} from \"./ticks.js\";\n\nexport default function nice(start, stop, count) {\n let prestep;\n while (true) {\n const step = tickIncrement(start, stop, count);\n if (step === prestep || step === 0 || !isFinite(step)) {\n return [start, stop];\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n }\n prestep = step;\n }\n}\n"],"names":["nice","start","stop","count","prestep","step","tickIncrement"],"mappings":";AAEe,SAASA,EAAKC,GAAOC,GAAMC,GAAO;AAC/C,MAAIC;AACJ,aAAa;AACX,UAAMC,IAAOC,EAAcL,GAAOC,GAAMC,CAAK;AAC7C,QAAIE,MAASD,KAAWC,MAAS,KAAK,CAAC,SAASA,CAAI;AAClD,aAAO,CAACJ,GAAOC,CAAI;AACd,IAAIG,IAAO,KAChBJ,IAAQ,KAAK,MAAMA,IAAQI,CAAI,IAAIA,GACnCH,IAAO,KAAK,KAAKA,IAAOG,CAAI,IAAIA,KACvBA,IAAO,MAChBJ,IAAQ,KAAK,KAAKA,IAAQI,CAAI,IAAIA,GAClCH,IAAO,KAAK,MAAMA,IAAOG,CAAI,IAAIA,IAEnCD,IAAUC;AAAA,EACZ;AACF;","x_google_ignoreList":[0]}
|
|
@@ -1,33 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
if (r) return
|
|
5
|
-
r =
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
a
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (e.length > 1)
|
|
24
|
-
throw new f.Exception("Uncaught Syntax error");
|
|
25
|
-
return e[0].value > 1e15 ? "Infinity" : parseFloat(e[0].value.toFixed(15));
|
|
26
|
-
}, f.eval = function(a, e, u) {
|
|
27
|
-
return typeof e > "u" ? this.lex(a).toPostfix().postfixEval() : typeof u > "u" ? typeof e.length < "u" ? this.lex(a, e).toPostfix().postfixEval() : this.lex(a).toPostfix().postfixEval(e) : this.lex(a, e).toPostfix().postfixEval(u);
|
|
28
|
-
}, o = f, o;
|
|
1
|
+
var w = Math.sqrt(50), t = Math.sqrt(10), o = Math.sqrt(2);
|
|
2
|
+
function c(r, h, f) {
|
|
3
|
+
var n, e = -1, i, u, M;
|
|
4
|
+
if (h = +h, r = +r, f = +f, r === h && f > 0) return [r];
|
|
5
|
+
if ((n = h < r) && (i = r, r = h, h = i), (M = v(r, h, f)) === 0 || !isFinite(M)) return [];
|
|
6
|
+
if (M > 0) {
|
|
7
|
+
let a = Math.round(r / M), l = Math.round(h / M);
|
|
8
|
+
for (a * M < r && ++a, l * M > h && --l, u = new Array(i = l - a + 1); ++e < i; ) u[e] = (a + e) * M;
|
|
9
|
+
} else {
|
|
10
|
+
M = -M;
|
|
11
|
+
let a = Math.round(r * M), l = Math.round(h * M);
|
|
12
|
+
for (a / M < r && ++a, l / M > h && --l, u = new Array(i = l - a + 1); ++e < i; ) u[e] = (a + e) / M;
|
|
13
|
+
}
|
|
14
|
+
return n && u.reverse(), u;
|
|
15
|
+
}
|
|
16
|
+
function v(r, h, f) {
|
|
17
|
+
var n = (h - r) / Math.max(0, f), e = Math.floor(Math.log(n) / Math.LN10), i = n / Math.pow(10, e);
|
|
18
|
+
return e >= 0 ? (i >= w ? 10 : i >= t ? 5 : i >= o ? 2 : 1) * Math.pow(10, e) : -Math.pow(10, -e) / (i >= w ? 10 : i >= t ? 5 : i >= o ? 2 : 1);
|
|
19
|
+
}
|
|
20
|
+
function d(r, h, f) {
|
|
21
|
+
var n = Math.abs(h - r) / Math.max(0, f), e = Math.pow(10, Math.floor(Math.log(n) / Math.LN10)), i = n / e;
|
|
22
|
+
return i >= w ? e *= 10 : i >= t ? e *= 5 : i >= o && (e *= 2), h < r ? -e : e;
|
|
29
23
|
}
|
|
30
24
|
export {
|
|
31
|
-
|
|
25
|
+
c as default,
|
|
26
|
+
v as tickIncrement,
|
|
27
|
+
d as tickStep
|
|
32
28
|
};
|
|
33
29
|
//# sourceMappingURL=visualization.es505.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es505.js","sources":["../../../node_modules/.pnpm/
|
|
1
|
+
{"version":3,"file":"visualization.es505.js","sources":["../../../node_modules/.pnpm/d3-array@3.2.1/node_modules/d3-array/src/ticks.js"],"sourcesContent":["var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function ticks(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n let r0 = Math.round(start / step), r1 = Math.round(stop / step);\n if (r0 * step < start) ++r0;\n if (r1 * step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) * step;\n } else {\n step = -step;\n let r0 = Math.round(start * step), r1 = Math.round(stop * step);\n if (r0 / step < start) ++r0;\n if (r1 / step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n"],"names":["e10","e5","e2","ticks","start","stop","count","reverse","i","n","step","tickIncrement","r0","r1","power","error","tickStep","step0","step1"],"mappings":"AAAA,IAAIA,IAAM,KAAK,KAAK,EAAE,GAClBC,IAAK,KAAK,KAAK,EAAE,GACjBC,IAAK,KAAK,KAAK,CAAC;AAEL,SAASC,EAAMC,GAAOC,GAAMC,GAAO;AAChD,MAAIC,GACAC,IAAI,IACJC,GACAN,GACAO;AAGJ,MADAL,IAAO,CAACA,GAAMD,IAAQ,CAACA,GAAOE,IAAQ,CAACA,GACnCF,MAAUC,KAAQC,IAAQ,EAAG,QAAO,CAACF,CAAK;AAE9C,OADIG,IAAUF,IAAOD,OAAOK,IAAIL,GAAOA,IAAQC,GAAMA,IAAOI,KACvDC,IAAOC,EAAcP,GAAOC,GAAMC,CAAK,OAAO,KAAK,CAAC,SAASI,CAAI,EAAG,QAAO,CAAA;AAEhF,MAAIA,IAAO,GAAG;AACZ,QAAIE,IAAK,KAAK,MAAMR,IAAQM,CAAI,GAAGG,IAAK,KAAK,MAAMR,IAAOK,CAAI;AAI9D,SAHIE,IAAKF,IAAON,KAAO,EAAEQ,GACrBC,IAAKH,IAAOL,KAAM,EAAEQ,GACxBV,IAAQ,IAAI,MAAMM,IAAII,IAAKD,IAAK,CAAC,GAC1B,EAAEJ,IAAIC,IAAG,CAAAN,EAAMK,CAAC,KAAKI,IAAKJ,KAAKE;AAAA,EACxC,OAAO;AACL,IAAAA,IAAO,CAACA;AACR,QAAIE,IAAK,KAAK,MAAMR,IAAQM,CAAI,GAAGG,IAAK,KAAK,MAAMR,IAAOK,CAAI;AAI9D,SAHIE,IAAKF,IAAON,KAAO,EAAEQ,GACrBC,IAAKH,IAAOL,KAAM,EAAEQ,GACxBV,IAAQ,IAAI,MAAMM,IAAII,IAAKD,IAAK,CAAC,GAC1B,EAAEJ,IAAIC,IAAG,CAAAN,EAAMK,CAAC,KAAKI,IAAKJ,KAAKE;AAAA,EACxC;AAEA,SAAIH,KAASJ,EAAM,QAAO,GAEnBA;AACT;AAEO,SAASQ,EAAcP,GAAOC,GAAMC,GAAO;AAChD,MAAII,KAAQL,IAAOD,KAAS,KAAK,IAAI,GAAGE,CAAK,GACzCQ,IAAQ,KAAK,MAAM,KAAK,IAAIJ,CAAI,IAAI,KAAK,IAAI,GAC7CK,IAAQL,IAAO,KAAK,IAAI,IAAII,CAAK;AACrC,SAAOA,KAAS,KACTC,KAASf,IAAM,KAAKe,KAASd,IAAK,IAAIc,KAASb,IAAK,IAAI,KAAK,KAAK,IAAI,IAAIY,CAAK,IAChF,CAAC,KAAK,IAAI,IAAI,CAACA,CAAK,KAAKC,KAASf,IAAM,KAAKe,KAASd,IAAK,IAAIc,KAASb,IAAK,IAAI;AACzF;AAEO,SAASc,EAASZ,GAAOC,GAAMC,GAAO;AAC3C,MAAIW,IAAQ,KAAK,IAAIZ,IAAOD,CAAK,IAAI,KAAK,IAAI,GAAGE,CAAK,GAClDY,IAAQ,KAAK,IAAI,IAAI,KAAK,MAAM,KAAK,IAAID,CAAK,IAAI,KAAK,IAAI,CAAC,GAC5DF,IAAQE,IAAQC;AACpB,SAAIH,KAASf,IAAKkB,KAAS,KAClBH,KAASd,IAAIiB,KAAS,IACtBH,KAASb,MAAIgB,KAAS,IACxBb,IAAOD,IAAQ,CAACc,IAAQA;AACjC;","x_google_ignoreList":[0]}
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
if (t.toString() !== "[object Window]") {
|
|
5
|
-
var i = t.ownerDocument;
|
|
6
|
-
return i && i.defaultView || window;
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
1
|
+
import o from "./visualization.es499.js";
|
|
2
|
+
function e(t) {
|
|
3
|
+
return Math.ceil(Math.log(o(t)) / Math.LN2) + 1;
|
|
9
4
|
}
|
|
10
5
|
export {
|
|
11
|
-
|
|
6
|
+
e as default
|
|
12
7
|
};
|
|
13
8
|
//# sourceMappingURL=visualization.es506.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.es506.js","sources":["../../../node_modules/.pnpm
|
|
1
|
+
{"version":3,"file":"visualization.es506.js","sources":["../../../node_modules/.pnpm/d3-array@3.2.1/node_modules/d3-array/src/threshold/sturges.js"],"sourcesContent":["import count from \"../count.js\";\n\nexport default function thresholdSturges(values) {\n return Math.ceil(Math.log(count(values)) / Math.LN2) + 1;\n}\n"],"names":["thresholdSturges","values","count"],"mappings":";AAEe,SAASA,EAAiBC,GAAQ;AAC/C,SAAO,KAAK,KAAK,KAAK,IAAIC,EAAMD,CAAM,CAAC,IAAI,KAAK,GAAG,IAAI;AACzD;","x_google_ignoreList":[0]}
|